新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于TR600芯片的過程調(diào)用設(shè)計與硬件實現(xiàn)

基于TR600芯片的過程調(diào)用設(shè)計與硬件實現(xiàn)

作者: 時間:2010-04-21 來源:網(wǎng)絡(luò) 收藏

體系結(jié)構(gòu)采取2種方式:同層和換層。當一層寄存器子堆滿足主調(diào)和被調(diào)的寄存器資源使用時,采用同層調(diào)用;當換層調(diào)用時,被調(diào)過程位于主調(diào)過程的下一層寄存器子堆,主調(diào)過程和被調(diào)過程分別控制所在層的寄存器單元,主調(diào)過程將傳遞參數(shù)寫入窗口寄存器.被調(diào)過程則從窗口寄存器取入?yún)?shù),以當前寄存器子堆為存儲空間進行運算,并將需要傳遞的運算結(jié)果寫入窗口寄存器.返回主調(diào)過程。如果被調(diào)過程內(nèi)還含有調(diào)用.可以根據(jù)寄存器使用情況確定是同層調(diào)用還是換層調(diào)用,從而決定傳遞參數(shù)寫入局部通用寄存器或是窗口寄存器。多重過程調(diào)用同樣遵循這個過程。體系中采用的語音編解碼算法的過程調(diào)用最多涉及到17個子函數(shù)過程和5重嵌套調(diào)用,而重疊寄存器窗口技術(shù)都可以很好地解決這些問題。

2 存取算于對存儲體交叉訪問技術(shù)

存取算子對存儲體交叉訪問機制解決了存取算子訪問局部性與過程調(diào)用中參數(shù)傳遞的全局性之間的矛盾。由于在指令體系時,將Is存取算子成與SDRAM存儲體一一對應(yīng)的關(guān)系,這就使得存取算子只能固定訪問單塊存儲體。而對于過程調(diào)用,主調(diào)過程實參傳遞可來自于任意存儲體,被調(diào)過程的形參卻只能指向某一個存儲體.這就要求主調(diào)過程要將實參轉(zhuǎn)移到形參指定的存儲體內(nèi),才能正確執(zhí)行調(diào)用;而在數(shù)據(jù)轉(zhuǎn)移過程中,可能引起數(shù)據(jù)相關(guān),并且浪費數(shù)據(jù)轉(zhuǎn)移時間。本的解決方法是對LS存取算子做變換,使其能夠訪問所有存儲體,避免數(shù)據(jù)轉(zhuǎn)移,并稱其為存取算子對存儲體的交叉訪問。

為了在過程調(diào)用時使存取算子能夠訪問任意存儲體,使被調(diào)過程形參可以指向任意存儲體,采用在體系中添加段寄存器配置,標識存取算子訪問存儲體的信息的方法。因此用戶可以通過設(shè)置段寄存器的值來動態(tài)改變璐存取算子對SDRAM存儲體的訪問關(guān)系。在初始化狀態(tài),段寄存器中的值表示LS存取算子與存儲體訪問是一一對應(yīng)的,如圖2所示。在存儲體交叉訪問時,過程調(diào)用指令通過重置段寄存器值,改變存取算子與存儲體的對應(yīng)關(guān)系,并在執(zhí)行調(diào)用過程中保持不變,如圖3所示。段寄存器值由過程調(diào)用指令來動態(tài)配置,用戶在使用過程中調(diào)用指令時,要參照指令格式的要求,在具體指令域裝載段寄存器的配置信息。段寄存器值經(jīng)過譯碼器譯碼產(chǎn)生存儲體控制信息,再經(jīng)過邏輯運算產(chǎn)生每個存儲體的控制信號,包括:輸入輸出數(shù)據(jù)通路選擇信號以及存儲體的使能、讀寫、地址控制信號。

體系結(jié)構(gòu)中包含5塊獨立編址的SDRAM存儲體,指令體系提供5個LS存取控制算子,分別為LSl控制讀寫RAMl、LS2控制讀寫RAM2……LS5控制讀寫RAM5。相應(yīng)地,體系中提供5個3位段寄存器,標識過程調(diào)用時存取算子與存儲體的對應(yīng)關(guān)系??紤]到語音算法存在多重嵌套過程調(diào)用,每次過程調(diào)用時都可能發(fā)生存儲體交叉訪問的情況,因此設(shè)計了6層段寄存器陣列分別標?代表“或”操作識每次調(diào)用時存取算子與Rij表示第i層第j個段寄存器存儲體的對應(yīng)關(guān)系,如圖4所示。執(zhí)行過程調(diào)用指令時,段寄存器被重新配置,同時將過程調(diào)用的嵌套次數(shù)保存在層計數(shù)器。通過對層計數(shù)器輸出的譯碼,產(chǎn)生段寄存器的層控制信息,包括段寄存器使能和段寄存器輸出選擇控制。通過段寄存器陣列的變換,每個存取算子對存儲體訪問的控制轉(zhuǎn)換.再經(jīng)過段譯碼器譯碼及邏輯運算產(chǎn)生存儲體控制信號。例如,存儲體RAMI使能信號(RAM1_E)可由5個段譯碼器譯碼產(chǎn)生的RAMl控制信號做邏輯“或”運算產(chǎn)生,變換邏輯運算即可以產(chǎn)生存儲體的讀寫信號、地址控制信號和輸入輸出選擇控制信號(本文不做詳細論述)。

3 技術(shù)特點

(1)TR600體系結(jié)構(gòu)中重疊寄存器窗口技術(shù)采用可重組思想設(shè)計寄存器堆結(jié)構(gòu),提高了存儲靈活性,適應(yīng)了語音算法在過程調(diào)用中數(shù)據(jù)規(guī)格多樣性的特點;多層窗口寄存器結(jié)構(gòu)和寄存器堆局部可見的特點,解決了過程調(diào)用時的現(xiàn)場保護和參數(shù)傳遞問題,不需要設(shè)計現(xiàn)場保護參數(shù)的專用部件,減少了系統(tǒng)的時空開銷。

(2)存儲體交叉訪問機制采用段寄存器標識存取算子與存儲體的對應(yīng)關(guān)系,由過程調(diào)用指令配置段寄存器.避免了因為參數(shù)傳遞而進行的存儲體之間的數(shù)據(jù)轉(zhuǎn)移;同時提供了清晰易讀、編程靈活的指令界面,屏蔽了邏輯設(shè)計的復(fù)雜性,方便了用戶指令編程。但過程調(diào)用功能的與應(yīng)用環(huán)境及體系結(jié)構(gòu)是密不可分的,設(shè)計者應(yīng)依據(jù)具體情況調(diào)整方案,如窗口寄存器堆的分層數(shù)目及段寄存器的層數(shù),要根據(jù)具體算法中過程調(diào)用的最大嵌套層數(shù)而定,存取算子對存儲體的交叉訪問要依據(jù)體系結(jié)構(gòu)提供的指令界面而定等,因為這些設(shè)計都具有靈活性和多樣性。

本文論述的過程調(diào)用功能實現(xiàn)方法也可以為其他應(yīng)用設(shè)計借鑒,例如.在網(wǎng)絡(luò)體系結(jié)構(gòu)中,對多種通信協(xié)議的實現(xiàn)以及RPC遠程過程調(diào)用的實現(xiàn)都具有一定的參考價值。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉