新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于TR600芯片的過程調用設計與硬件實現

基于TR600芯片的過程調用設計與硬件實現

作者: 時間:2010-04-21 來源:網絡 收藏

隨著大規(guī)模集成電路的不斷發(fā)展,軟界面的劃分也發(fā)生了變化,VKSI方法的改進、IP技術的標準化以及系統(tǒng)在片(SOC)的日漸成熟,為軟件功能邏輯提供了技術條件和手段。作為軟件程序的重要部分,功能使用頻度相當高,尤其在結構化設計中起到重要作用,因此,其方法的優(yōu)劣對于軟件能否很好地移植到邏輯電路中起到了非常重要的作用。

本文引用地址:http://butianyuan.cn/article/173368.htm

語音編解碼設計是MELP、SELP2(Sine Excitation Linear Prediction)等多種語音算法,采用可重構體系結構…和變長指令技術,實現了多種語音算法可在片配置的SOC設計。這款語音結合了邏輯電路的快速性和用戶指令編程靈活性的特點,通過分析多種語音算法,并提取資源共集,建立了資源、運算、網絡可重構的邏輯電路,同時提取資源的可控節(jié)點,形成用戶指令界面,以指令流形式控制邏輯電路,實現算法級應用功能。功能就是以指令形式提供給使用者,并通過指令譯碼器控制邏輯電路動作,實現具體功能。因此,功能的硬件實現效率和靈活度直接影響整體的速度、規(guī)模以及用戶指令編程的復雜度。

過程調用模型可簡單描述為主調過程將被調過程置于某一位置,然后把控制權交給被調過程,執(zhí)行完畢,再取回控制權,并返回運行結果,主調過程繼續(xù)執(zhí)行。因此過程調用需要2個步驟:調用過程和返回過程。過程調用需要處理的信息有:程序計數器(PC)值的保存與恢復、現場保護和參數傳遞。過程調用是一種典型的后入先出堆棧寄存器結構,這種實現方式雖已相當普遍,但也存在不足:(1)堆棧寄存器使用效率低,存儲時間和空間浪費嚴重。因為參數傳遞的個數和規(guī)格因調用過程的不同會有所不同,而主調過程需要對所有可能被破壞的數據堆棧進行保護,而堆棧的寬度和深度會因滿足過程調用最壞情況而設計得最大,而且嵌套調用會增加堆棧寄存器的開銷。(2)堆棧寄存器結構無法解決調用過程存取算子對存儲體交叉訪問的問題。為了給用戶指令編程提供一個清晰的指令界面,在指令體系設計時,將LS存取算子設計成與SDRAM存儲體一一對應的關系。單塊存儲體采用獨立編址。而對于過程調用,主調過程傳遞實參可來源于任意存儲體,被調過程的LS存取算子只能指向某一個存儲體,這就產生了過程調用中參數傳遞的全局性與存取算子訪問局部性之間的矛盾。

為了解決堆棧寄存器結構實現方式的不足,語音編解碼芯片采用了重疊寄存器窗口技術和存取算子對存儲體的交叉訪問技術來實現過程調用功能。
1 重疊寄存器窗口技術

重疊寄存器窗口技術是一種寄存器堆設計方法,它將寄存器堆分成若干個寄存器子堆,相鄰寄存器子堆有重疊部分并共同可見,作為子堆之間信息交互的窗口,稱為窗口寄存器。寄存器子堆與其他子堆不重疊的部分只有自身可見,獨立于其他子堆,稱為局部通用寄存器。在外部控制電路作用下,同一時刻只有一個子堆對用戶是可見的.可以進行讀寫操作。存儲于局部通用寄存器的數據不會影響相鄰子堆的操作,而存儲于窗口寄存器的數據可以被相鄰子堆直接使用。過程調用操作利用了局部通用寄存器的局部性和窗口寄存器的共用性的特點.將過程調用中的相關數據存人局部通用寄存器,避免了數據相關;將傳遞參數寫入窗口寄存器,可以供被調過程直接使用,避免了寄存器之間的數據轉移。因此,重疊寄存器窗口技術可以解決過程調用中的現場保護和參數傳遞的問題。

芯片體系結構采用可重組思想設計了二組總線寄存器堆,每組寄存器堆有19個寄存器單元,每個單元由2組16位寄存器拼接而成,因此,單指令周期可以存取64位、32位、16位規(guī)格的數據。為了實現語音算法中多重嵌套過程調用,每組寄存器堆分為三層寄存器子堆.如圖1所示。每層最多可以使用9個寄存器單元,調用操作可以在寄存器子堆內部,也可以在相鄰子堆之間完成??偩€寄存器堆控制信號由過程調用指令和寄存器讀寫控制指令經指令譯碼器譯碼產生。過程調用指令控制層計數器,產生層譯碼器使能,控制寄存器子堆換層操作。同時,控制輸出選通器選擇寄存器子堆輸出;寄存器讀指令產生當前子堆內寄存器單元輸出選擇信號,寄存器寫指令控制產生數據通路選擇和寄存器寫使能信號。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉