基于TR600芯片的過(guò)程調(diào)用設(shè)計(jì)與硬件實(shí)現(xiàn)
發(fā)布時(shí)間:2008/5/26 0:00:00 訪問次數(shù):531
    
    
    來(lái)源:電子技術(shù)應(yīng)用 作者:北京科技大學(xué) 王沁 趙鳳海 江山剛
    
    摘 要:介紹了tr600語(yǔ)音編解碼芯片中過(guò)程調(diào)用的設(shè)計(jì)及實(shí)現(xiàn)方法,并與堆棧寄存器結(jié)構(gòu)實(shí)現(xiàn)方式做了簡(jiǎn)要的比較.重點(diǎn)闡述了重疊寄存器窗口技術(shù)和存取算子對(duì)存儲(chǔ)體交叉訪問技術(shù)的原理、技術(shù)特點(diǎn)及其在tr600芯片體系中的具體實(shí)現(xiàn)。
    關(guān)鍵詞:可重構(gòu)體系過(guò)程調(diào)用重疊寄存器窗口交叉訪問
    
    隨著大規(guī)模集成電路的不斷發(fā)展,軟硬件界面的劃分也發(fā)生了變化,vksi設(shè)計(jì)方法的改進(jìn)、ip技術(shù)的標(biāo)準(zhǔn)化以及系統(tǒng)在片(soc)設(shè)計(jì)的日漸成熟,為軟件功能邏輯硬件化實(shí)現(xiàn)提供了技術(shù)條件和實(shí)現(xiàn)手段。作為軟件程序設(shè)計(jì)的重要部分,過(guò)程調(diào)用功能使用頻度相當(dāng)高,尤其在結(jié)構(gòu)化設(shè)計(jì)中起到重要作用,因此,其硬件實(shí)現(xiàn)方法的優(yōu)劣對(duì)于軟件能否很好地移植到邏輯電路中起到了非常重要的作用。
    tr600語(yǔ)音編解碼芯片設(shè)計(jì)是基于melp、selp2(sine excitation linear prediction)等多種語(yǔ)音算法,采用可重構(gòu)體系結(jié)構(gòu)…和變長(zhǎng)指令技術(shù),實(shí)現(xiàn)了多種語(yǔ)音算法可在片配置的soc設(shè)計(jì)。這款語(yǔ)音芯片結(jié)合了邏輯電路的快速性和用戶指令編程靈活性的特點(diǎn),通過(guò)分析多種語(yǔ)音算法,并提取資源共集,建立了資源、運(yùn)算、網(wǎng)絡(luò)可重構(gòu)的邏輯電路,同時(shí)提取資源的可控節(jié)點(diǎn),形成用戶指令界面,以指令流形式控制邏輯電路,實(shí)現(xiàn)算法級(jí)應(yīng)用功能。過(guò)程調(diào)用功能就是以指令形式提供給使用者,并通過(guò)指令譯碼器控制邏輯電路動(dòng)作,實(shí)現(xiàn)具體功能。因此,過(guò)程調(diào)用功能的硬件實(shí)現(xiàn)效率和靈活度直接影響芯片整體的速度、規(guī)模以及用戶指令編程的復(fù)雜度。
    過(guò)程調(diào)用模型可簡(jiǎn)單描述為主調(diào)過(guò)程將被調(diào)過(guò)程置于某一位置,然后把控制權(quán)交給被調(diào)過(guò)程,執(zhí)行完畢,再取回控制權(quán),并返回運(yùn)行結(jié)果,主調(diào)過(guò)程繼續(xù)執(zhí)行。因此過(guò)程調(diào)用需要2個(gè)步驟:調(diào)用過(guò)程和返回過(guò)程。過(guò)程調(diào)用需要處理的信息有:程序計(jì)數(shù)器(pc)值的保存與恢復(fù)、現(xiàn)場(chǎng)保護(hù)和參數(shù)傳遞。過(guò)程調(diào)用是一種典型的后入先出堆棧寄存器結(jié)構(gòu),這種實(shí)現(xiàn)方式雖已相當(dāng)普遍,但也存在不足:(1)堆棧寄存器使用效率低,存儲(chǔ)時(shí)間和空間浪費(fèi)嚴(yán)重。因?yàn)閰?shù)傳遞的個(gè)數(shù)和規(guī)格因調(diào)用過(guò)程的不同會(huì)有所不同,而主調(diào)過(guò)程需要對(duì)所有可能被破壞的數(shù)據(jù)堆棧進(jìn)行保護(hù),而堆棧的寬度和深度會(huì)因滿足過(guò)程調(diào)用最壞情況而設(shè)計(jì)得最大,而且嵌套調(diào)用會(huì)增加堆棧寄存器的開銷。(2)堆棧寄存器結(jié)構(gòu)無(wú)法解決調(diào)用過(guò)程存取算子對(duì)存儲(chǔ)體交叉訪問的問題。為了給用戶指令編程提供一個(gè)清晰的指令界面,在指令體系設(shè)計(jì)時(shí),將ls存取算子設(shè)計(jì)成與sdram存儲(chǔ)體一一對(duì)應(yīng)的關(guān)系。單塊存儲(chǔ)體采用獨(dú)立編址。而對(duì)于過(guò)程調(diào)用,主調(diào)過(guò)程傳遞實(shí)參可來(lái)源于任意存儲(chǔ)體,被調(diào)過(guò)程的ls存取算子只能指向某一個(gè)存儲(chǔ)體,這就產(chǎn)生了過(guò)程調(diào)用中參數(shù)傳遞的全局性與存取算子訪問局部性之間的矛盾。
    為了解決堆棧寄存器結(jié)構(gòu)實(shí)現(xiàn)方式的不足,tr600語(yǔ)音編解碼芯片采用了重疊寄存器窗口技術(shù)和存取算子對(duì)存儲(chǔ)體的交叉訪問技術(shù)來(lái)實(shí)現(xiàn)過(guò)程調(diào)用功能。
    
    1 重疊寄存器窗口技術(shù)
    重疊寄存器窗口技術(shù)是一種寄存器堆設(shè)計(jì)方法,它將寄存器堆分成若干個(gè)寄存器子堆,相鄰寄存器子堆有重疊部分并共同可見,作為子堆之間信息交互的窗口,稱為窗口寄存器。寄存器子堆與其他子堆不重疊的部分只有自身可見,獨(dú)立于其他子堆,稱為局部通用寄存器。在外部控制電路作用下,同一時(shí)刻只有一個(gè)子堆對(duì)用戶是可見的.可以進(jìn)行讀寫操作。存儲(chǔ)于局部通用寄存器的數(shù)據(jù)不會(huì)影響相鄰子堆的操作,而存儲(chǔ)于窗口寄存器的數(shù)據(jù)可以被相鄰子堆直接使用。過(guò)程調(diào)用操作利用了局部通用寄存器的局部性和窗口寄存器的共用性的特點(diǎn).將過(guò)程調(diào)用中的相關(guān)數(shù)據(jù)存人局部通用寄存器,避免了數(shù)據(jù)相關(guān);將傳遞參數(shù)寫入窗口寄存器,可以供被調(diào)過(guò)程直接使用,避免了寄存器之間的數(shù)據(jù)轉(zhuǎn)移。因此,重疊寄存器窗口技術(shù)可以解決過(guò)程調(diào)用中的現(xiàn)場(chǎng)保護(hù)和參數(shù)傳遞的問題。
    tr600芯片體系結(jié)構(gòu)采用可重組思想設(shè)計(jì)了二組總線寄存器堆,每組寄存器堆有19個(gè)寄存器單元,每個(gè)單元由2組16位寄存器拼接而成,因此,單指令周期可以存取64位、32位、16位規(guī)格的數(shù)據(jù)。為了實(shí)現(xiàn)語(yǔ)音算法中多重嵌套過(guò)程調(diào)用,每組寄存器堆分為三層寄存器子堆.如圖1所示。每層最多可以使用9個(gè)寄存器單元,調(diào)用操作可以在寄存器子堆內(nèi)部,也可以在相鄰子堆之間完成?偩寄存器堆控制信號(hào)由過(guò)程調(diào)用指令和寄存器讀寫控制指令經(jīng)指令譯碼器譯碼產(chǎn)生。過(guò)程調(diào)用指令
    
    
    來(lái)源:電子技術(shù)應(yīng)用 作者:北京科技大學(xué) 王沁 趙鳳海 江山剛
    
    摘 要:介紹了tr600語(yǔ)音編解碼芯片中過(guò)程調(diào)用的設(shè)計(jì)及實(shí)現(xiàn)方法,并與堆棧寄存器結(jié)構(gòu)實(shí)現(xiàn)方式做了簡(jiǎn)要的比較.重點(diǎn)闡述了重疊寄存器窗口技術(shù)和存取算子對(duì)存儲(chǔ)體交叉訪問技術(shù)的原理、技術(shù)特點(diǎn)及其在tr600芯片體系中的具體實(shí)現(xiàn)。
    關(guān)鍵詞:可重構(gòu)體系過(guò)程調(diào)用重疊寄存器窗口交叉訪問
    
    隨著大規(guī)模集成電路的不斷發(fā)展,軟硬件界面的劃分也發(fā)生了變化,vksi設(shè)計(jì)方法的改進(jìn)、ip技術(shù)的標(biāo)準(zhǔn)化以及系統(tǒng)在片(soc)設(shè)計(jì)的日漸成熟,為軟件功能邏輯硬件化實(shí)現(xiàn)提供了技術(shù)條件和實(shí)現(xiàn)手段。作為軟件程序設(shè)計(jì)的重要部分,過(guò)程調(diào)用功能使用頻度相當(dāng)高,尤其在結(jié)構(gòu)化設(shè)計(jì)中起到重要作用,因此,其硬件實(shí)現(xiàn)方法的優(yōu)劣對(duì)于軟件能否很好地移植到邏輯電路中起到了非常重要的作用。
    tr600語(yǔ)音編解碼芯片設(shè)計(jì)是基于melp、selp2(sine excitation linear prediction)等多種語(yǔ)音算法,采用可重構(gòu)體系結(jié)構(gòu)…和變長(zhǎng)指令技術(shù),實(shí)現(xiàn)了多種語(yǔ)音算法可在片配置的soc設(shè)計(jì)。這款語(yǔ)音芯片結(jié)合了邏輯電路的快速性和用戶指令編程靈活性的特點(diǎn),通過(guò)分析多種語(yǔ)音算法,并提取資源共集,建立了資源、運(yùn)算、網(wǎng)絡(luò)可重構(gòu)的邏輯電路,同時(shí)提取資源的可控節(jié)點(diǎn),形成用戶指令界面,以指令流形式控制邏輯電路,實(shí)現(xiàn)算法級(jí)應(yīng)用功能。過(guò)程調(diào)用功能就是以指令形式提供給使用者,并通過(guò)指令譯碼器控制邏輯電路動(dòng)作,實(shí)現(xiàn)具體功能。因此,過(guò)程調(diào)用功能的硬件實(shí)現(xiàn)效率和靈活度直接影響芯片整體的速度、規(guī)模以及用戶指令編程的復(fù)雜度。
    過(guò)程調(diào)用模型可簡(jiǎn)單描述為主調(diào)過(guò)程將被調(diào)過(guò)程置于某一位置,然后把控制權(quán)交給被調(diào)過(guò)程,執(zhí)行完畢,再取回控制權(quán),并返回運(yùn)行結(jié)果,主調(diào)過(guò)程繼續(xù)執(zhí)行。因此過(guò)程調(diào)用需要2個(gè)步驟:調(diào)用過(guò)程和返回過(guò)程。過(guò)程調(diào)用需要處理的信息有:程序計(jì)數(shù)器(pc)值的保存與恢復(fù)、現(xiàn)場(chǎng)保護(hù)和參數(shù)傳遞。過(guò)程調(diào)用是一種典型的后入先出堆棧寄存器結(jié)構(gòu),這種實(shí)現(xiàn)方式雖已相當(dāng)普遍,但也存在不足:(1)堆棧寄存器使用效率低,存儲(chǔ)時(shí)間和空間浪費(fèi)嚴(yán)重。因?yàn)閰?shù)傳遞的個(gè)數(shù)和規(guī)格因調(diào)用過(guò)程的不同會(huì)有所不同,而主調(diào)過(guò)程需要對(duì)所有可能被破壞的數(shù)據(jù)堆棧進(jìn)行保護(hù),而堆棧的寬度和深度會(huì)因滿足過(guò)程調(diào)用最壞情況而設(shè)計(jì)得最大,而且嵌套調(diào)用會(huì)增加堆棧寄存器的開銷。(2)堆棧寄存器結(jié)構(gòu)無(wú)法解決調(diào)用過(guò)程存取算子對(duì)存儲(chǔ)體交叉訪問的問題。為了給用戶指令編程提供一個(gè)清晰的指令界面,在指令體系設(shè)計(jì)時(shí),將ls存取算子設(shè)計(jì)成與sdram存儲(chǔ)體一一對(duì)應(yīng)的關(guān)系。單塊存儲(chǔ)體采用獨(dú)立編址。而對(duì)于過(guò)程調(diào)用,主調(diào)過(guò)程傳遞實(shí)參可來(lái)源于任意存儲(chǔ)體,被調(diào)過(guò)程的ls存取算子只能指向某一個(gè)存儲(chǔ)體,這就產(chǎn)生了過(guò)程調(diào)用中參數(shù)傳遞的全局性與存取算子訪問局部性之間的矛盾。
    為了解決堆棧寄存器結(jié)構(gòu)實(shí)現(xiàn)方式的不足,tr600語(yǔ)音編解碼芯片采用了重疊寄存器窗口技術(shù)和存取算子對(duì)存儲(chǔ)體的交叉訪問技術(shù)來(lái)實(shí)現(xiàn)過(guò)程調(diào)用功能。
    
    1 重疊寄存器窗口技術(shù)
    重疊寄存器窗口技術(shù)是一種寄存器堆設(shè)計(jì)方法,它將寄存器堆分成若干個(gè)寄存器子堆,相鄰寄存器子堆有重疊部分并共同可見,作為子堆之間信息交互的窗口,稱為窗口寄存器。寄存器子堆與其他子堆不重疊的部分只有自身可見,獨(dú)立于其他子堆,稱為局部通用寄存器。在外部控制電路作用下,同一時(shí)刻只有一個(gè)子堆對(duì)用戶是可見的.可以進(jìn)行讀寫操作。存儲(chǔ)于局部通用寄存器的數(shù)據(jù)不會(huì)影響相鄰子堆的操作,而存儲(chǔ)于窗口寄存器的數(shù)據(jù)可以被相鄰子堆直接使用。過(guò)程調(diào)用操作利用了局部通用寄存器的局部性和窗口寄存器的共用性的特點(diǎn).將過(guò)程調(diào)用中的相關(guān)數(shù)據(jù)存人局部通用寄存器,避免了數(shù)據(jù)相關(guān);將傳遞參數(shù)寫入窗口寄存器,可以供被調(diào)過(guò)程直接使用,避免了寄存器之間的數(shù)據(jù)轉(zhuǎn)移。因此,重疊寄存器窗口技術(shù)可以解決過(guò)程調(diào)用中的現(xiàn)場(chǎng)保護(hù)和參數(shù)傳遞的問題。
    tr600芯片體系結(jié)構(gòu)采用可重組思想設(shè)計(jì)了二組總線寄存器堆,每組寄存器堆有19個(gè)寄存器單元,每個(gè)單元由2組16位寄存器拼接而成,因此,單指令周期可以存取64位、32位、16位規(guī)格的數(shù)據(jù)。為了實(shí)現(xiàn)語(yǔ)音算法中多重嵌套過(guò)程調(diào)用,每組寄存器堆分為三層寄存器子堆.如圖1所示。每層最多可以使用9個(gè)寄存器單元,調(diào)用操作可以在寄存器子堆內(nèi)部,也可以在相鄰子堆之間完成。總線寄存器堆控制信號(hào)由過(guò)程調(diào)用指令和寄存器讀寫控制指令經(jīng)指令譯碼器譯碼產(chǎn)生。過(guò)程調(diào)用指令
熱門點(diǎn)擊
- 新型固體LBCAST
- 多媒體PCI接口控制芯片SAA7146A及其
- 視頻解碼芯片CXA2075M
- SG6931功率因素校正晶片及在LCD-TV
- 適于語(yǔ)音處理的SDA80D51芯片及其數(shù)字錄
- CD-ROM格式數(shù)據(jù)的軟解碼模塊設(shè)計(jì)
- 用AC4830xC和TCM38C17實(shí)現(xiàn)四路
- 新型數(shù)字CCD相機(jī)及其圖像數(shù)據(jù)傳輸卡設(shè)計(jì)
- ADSP-TS201S芯片的功能和應(yīng)用
- 機(jī)載電視制導(dǎo)VGA/TV轉(zhuǎn)換器的設(shè)計(jì)與實(shí)現(xiàn)
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]