[發明專利]非完全鎖步的VLIW處理器流水線控制方法有效
| 申請號: | 200910044747.6 | 申請日: | 2009-11-12 |
| 公開(公告)號: | CN101702118A | 公開(公告)日: | 2010-05-05 |
| 發明(設計)人: | 李勇;李振濤;陳書明;陳吉華;郭陽;萬江華;孫書為;劉蓬俠;劉宗林;魯建壯;余再祥;羅恒;吳虎成 | 申請(專利權)人: | 中國人民解放軍國防科學技術大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 國防科技大學專利服務中心 43202 | 代理人: | 郭敏 |
| 地址: | 410073 *** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 完全 vliw 處理器 流水線 控制 方法 | ||
1.一種非完全鎖步的VLIW處理器流水線控制方法,其特征在于包括以下步驟:
第一步,在傳統的VLIW處理器即超長指令字處理器基礎上增加一個指令緩沖器,并將流水線控制器改為非鎖步流水線控制器:
1.1增加指令緩沖器的方法是:將指令緩沖器與取指流水線、指令派發部件、非鎖步流水線控制器相連;取指流水線從指令Cache中取出VLIW指令包,將VLIW指令包送到指令緩沖器,指令派發部件從指令緩沖器取出VLIW指令包,并將指令包中的指令以執行包為單位發送到執行流水線;指令緩沖器中沒有指令包時向非鎖步流水線控制器發Empty信號;指令緩沖器被指令包填滿沒有空閑存儲空間時向非鎖步流水線控制器發Full信號;
1.2非鎖步流水線控制器的設計方法是:非鎖步流水線控制器由常規控制器和分支控制器組成,常規控制器和分支控制器的設計方法是:
將常規控制器與取指流水線、執行流水線、指令Cache、數據Cache、指令緩沖器以及分支控制器相連;常規控制器收到指令Cache阻塞信號時,向取指流水線和分支控制器發取指流水線暫停信號;收到數據Cache阻塞信號時,向執行流水線和分支控制器發執行流水線暫停信號;收到指令緩沖器的Full信號時,向取指流水線和分支控制器發取指流水線暫停信號;收到指令緩沖器的Empty信號時,向執行流水線和分支控制器發執行流水線暫停信號;
將分支控制器與取指流水線、執行流水線、指令緩沖器、指令譯碼器以及常規控制器相連;它從指令譯碼器接收分支轉移信號,從常規控制器接收取指流水線暫停信號和執行流水線暫停信號,根據分支轉移信號、取指?流水線暫停信號和執行流水線暫停信號向取指流水線發取指流水線分支暫停信號,向執行流水線發執行流水線分支暫停信號,并向指令緩沖器發Clear信號清除指令緩沖器中的指令;
分支控制器設計為由取指計數器、派發計數器和同步仲裁器組成:取指計數器和派發計數器都是標準的減一計數器;取指計數器與同步仲裁器、常規控制器和取指流水線相連,它被同步仲裁器預置一個初始值;取指計數器接收同步仲裁器發來的計數開始信號后啟動計數,它用取指流水線的時鐘信號作為計數時鐘,當未收到常規控制器發來的取指流水線暫停信號時每個時鐘周期做減一計數,取指計數器計數至零時停止計數,向同步仲裁器發取指計數結束信號;派發計數器與同步仲裁器、常規控制器和執行流水線相連,它被同步仲裁器預置一個初始值;派發計數器接收同步仲裁器發來的計數開始信號后啟動計數,它用執行流水線的時鐘信號作為計數時鐘,當未收到常規控制器發來的執行流水線暫停信號時每個時鐘周期做減一計數,派發計數器計數至零時停止計數,向同步仲裁器發派發計數結束信號;
同步仲裁器設計為一個狀態機,與指令譯碼器、取指計數器、派發計數器、取指流水線、執行流水線相連;同步仲裁器接收指令譯碼器發送的分支轉移信號,向取指計數器發計數開始信號,接收取指計數器發送的取指計數結束信號;向派發計數器發出計數開始信號,接收派發計數器發送的派發計數結束信號;向指令緩沖器發Clear清除信號,向取指流水線發送取指流水線分支暫停信號,向執行流水線發送執行流水線分支暫停信號;
第二步,采用非鎖步流水線控制器和指令緩沖器對流水線進行控制,控制方法如下:
(1)程序順序執行時,非鎖步流水線控制器利用常規控制器實現對流?水線的非鎖步方式的控制:如果指令Cache發生阻塞,常規控制器接收到指令Cache阻塞信號后,向取指流水線發取指流水線暫停信號暫停取指流水線;如果數據Cache發生阻塞,常規控制器接收到數據Cache阻塞信號后,向執行流水線發執行流水線暫停信號暫停執行流水線;當指令緩沖器中裝滿了指令,沒有空閑空間存儲VLIW指令時,指令緩沖器向常規控制器發Full信號,常規控制器收到Full信號后向取指流水線發取指流水線暫停信號暫停取指流水線;隨著指令派發部件不斷從指令緩沖中將指令派發到執行流水線,指令緩沖器又會有空閑空間,此時指令緩沖器取消Full信號,常規控制器取消取指流水線暫停信號,取指流水線恢復取指;當指令緩沖器中沒有VLIW指令時,指令緩沖器向非鎖步流水線控制器發Empty信號,常規控制器收到Empty信號時向執行流水線發執行流水線暫停信號暫停執行流水線;隨著取指流水線不斷從指令Cache取得指令放到指令緩沖器,指令緩沖器又會有VLIW指令,此時指令緩沖器取消Empty信號,常規控制器取消執行流水線暫停信號,執行流水線恢復執行。
(2)程序執行遇到分支轉移情況時,非鎖步流水線控制器從指令譯碼器接收分支轉移信號,非鎖步流水線控制器的分支控制器控制流水線運行并維持分支條件下VLIW的同步語義:分支控制器收到指令譯碼器發來的分支轉移信號時,同步仲裁器啟動取指計數器和派發計數器;取指流水線在未收到取指流水線暫停信號的情況下,每個時鐘周期取得一個指令包,它的時鐘信號驅動取指計數器進行減一計數,取指計數器計數至零時停止計數并向同步仲裁器發取指計數結束信號;執行流水線在未收到執行流水線暫停信號的情況下,每個時鐘周期執行一個執行包,它的時鐘信號驅動?派發計數器進行減一計數,派發計數器計數至零時停止計數并向同步仲裁器發派發計數結束信號;當同步仲裁器收到取指計數器取指計數結束信號時,向取指流水線發取指流水線分支暫停信號暫停取指流水線;當同步仲裁器收到派發計數器派發計數結束信號時,向執行流水線發執行流水線分支暫停信號暫停執行流水線;當同步仲裁器同時收到取指計數結束信號和派發計數結束信號時,向取指流水線發取指流水線分支暫停信號并向執行流水線發執行流水線分支暫停信號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科學技術大學,未經中國人民解放軍國防科學技術大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910044747.6/1.html,轉載請聲明來源鉆瓜專利網。





