本發明專利技術公開了一種基于超長指令字專用指令集處理器的匯編器設計方法,通過在匯編器中設計寄存器重命名和指令打包及調度的功能,實現匯編器的改進。本發明專利技術寄存器重命名在檢測到指令中的寫后寫沖突后,搜索一直處于空閑的寄存器替代指令中目的寄存器以消除寫后寫沖突;所述指令打包及調度設計同時執行,匯編器在打包指令的同時,檢測指令間的沖突,通過指令調度調整指令的執行順序消除指令沖突,指令打包及調度設計包括程序分段、段內指令打包及調度、段間指令沖突檢測及調整、跳轉指令標號匹配、跳轉指令沖突檢測及調整和跳轉指令標號重新匹配步驟。本發明專利技術提高了匯編器指令級并行性,極大地擴展了基于超長指令字的專用指令集處理器的應用領域。
【技術實現步驟摘要】
本專利技術屬于計算機微處理器
,更進一步涉及到微處理器匯編器中的一種基于超長指令字結構的專用指令集處理器匯編器的設計方法,該方法設計的匯編器不僅可以完成傳統匯編器的基本功能,還可以實現編譯器部分的寄存器重命名和指令調度,提高指令級并行性。
技術介紹
專用指令集處理器技術ASIP是在專用集成電路和現場可編程門陣列技術中發展出來的一種全新的電路設計技術。其核心思想是針對某一種類型的應用領域,開發出一套量身定做的專用的微處理器指令集以及實現該指令集的微處理器體系結構。采用專用指令集處理器技術具有以下優點:以現場可編程門陣列為實現載體,而現場可編程門陣列具有可實現的電路規模大、片內資源豐富及可重配置等特性,特別是采用現場可編程門陣列可以相對容易地在單個芯片中集成多個專用指令集處理器處理單元,以專用指令集處理器陣列結構形式實現完全并行的高速信號處理,提高信號處理速度;另外,專用指令集處理器是可編程的,即在專用指令集處理器的電路基礎上,算法通過軟件編程就可以實現,因此在不需要重新設計電路的情況下可以方便的實現許多其他信號處理算法,例如快速傅里葉變換FFT、有限脈沖響應FIR(Finite Impulse Response)、無限脈沖響應 IIR(Infinite ImpulseResponse)、矩陣求逆等等,給設計帶來了很大的方便性和靈活性。總之,專用指令集處理器系統既具有專用集成電路系統的性能優勢,又具有數字信號處理的可編程性能,設計靈活方便,具有很好的升級性和移植性,在數字信號處理領域有了廣泛的應用。通過權衡速度、功耗、成本、靈活性等多個方面的設計約束,設計者可以定制專用指令集處理器以達到最好的平衡點,從而適應嵌入式系統的需要。因而專用指令集處理器在嵌入式領域具有良好的應用前景。專用指令集處理器設計需要面對多種類型的應用定制最優的體系結構,應用多樣性和設計時效性是迫切需要解決的問題。超長指令字VLIW(Very Long Instruction Word)米用超長指令字控制的方法,利用指令級并行的概念形成的。所謂超長指令字,是把兩條或兩條以上可以并行執行的指令打包成一條較長的指令字,該過程一般是由編譯軟件完成。當這些指令字從程序存儲器中取出放到處理器中時,它們被分解成幾條簡單的指令,這些簡單的指令被分派到一些獨立的功能單元去執行。因此,多個功能單元并行工作,所有的功能單元共享共用一個寄存器文件。超長指令字VLIW處理器主要的優點是顯式并行指令控制EPIC (Explicit ParallelismInstruction Control) 0由處理器的超長指令字顯式表明并行操縱,不需要微處理器內部復雜的指令調度,從而簡化了微處理器的控制部件,降低了硬件復雜度。這樣,VLIW處理器就需要一個高效的編譯軟件,其采用指令調度來打包可以并行執行的指令。因此,如何設計一個高性能的編譯軟件是VLIW設計的難點所在。VLIW結構有效地開發指令級并行性(Instruction Level Parallelism, ILP),提高了處理器的性能。由于VLIW處理器具有面向數據流的處理和指令級并行性的優勢,能有效地減少數字信號處理的復雜性,無疑將成為媒體處理器設計領域的主流設計思想。目前面向超長指令字VLIW處理器的匯編器只是實現了將匯編語句翻譯為目標代碼(VLIW指令字的二進制代碼)的工作,解決指令沖突的方法只是通過增加空VLIW指令來實現;而提高指令級并行的方法和技術都是由編譯器實現的,這樣不僅要設計匯編器,還要設計對應的編譯器。對于專用指令集處理器ASIP,這不僅增加了設計人員的工作量,還增加了設計的實現周期。
技術實現思路
本專利技術的目的在于克服上述現有技術的不足,提出了一種能夠提高指令級并行的面向基于超長指令字的專用指令集處理器ASIP的匯編器。本專利技術的技術方案是,通過在匯編器中設計寄存器重命名和指令打包及調度的功能,實現匯編器的改進,提高指令級并行性,所述寄存器重命名是在檢測到指令中的寫后寫沖突之后,搜索空閑的寄存器替代指令中目的寄存器以消除寫后寫沖突,搜尋空閑的寄存器是通過建立、更新和檢測寄存器狀態表實現的;所述指令打包及調度設計同時執行,匯編器在打包指令的同時,檢測指令間的沖突,通過指令調度調整指令的執行順序消除指令沖突以提高打包效率,指令打包及調度設計包括程序分段、段內指令打包及調度、段間指令沖突檢測及調整、跳轉指令標號匹配、跳轉指令沖突檢測及調整和跳轉指令標號重新匹配。程序分段根據跳轉指令和目標標號分段,程序分段既保證跳轉指令前后指令的執行順序,又可以使段內的指令調度不再受跳轉指令的限制;段內指令打包及調度將各程序段中位置相近并且不存在沖突的指令打包成一條VLIff指令;如果打包過程中存在指令沖突,跳過該沖突的指令繼續搜索,找到與搜索到指令都不存在沖突的指令,將搜索到指令插入到當前位置并跟沖突之前的指令打包成一條VLIW指令;如果直到程序段結束也不存在沖突的指令,就在當前位置插入空“N0P “指令;段間指令沖突檢測及調整是檢測相鄰程序段首尾連接部分VLIW指令間的沖突,如果存在沖突,直接在段頭插入空(NOP) VLIW指令;跳轉指令標號匹配將跳轉指令和目標指令連接起來,以便生成跳轉指令的二進制代碼中的目標地址或偏移量,及檢測跳轉指令與目標指令的VLIW指令間沖突;跳轉指令沖突檢測及調整是檢測跳轉指令和目標指令是否存在VLIW指令間的沖突,如果存在沖突,直接在目標地址的指令前插入空(NOP) VLIW指令;跳轉指令標號重新匹配是在完成跳轉指令沖突檢測并調整之后,將跳轉指令和目標指令重新連接起來。本專利技術與現有技術相比具有以下優點:第一、本專利技術利用寄存器重命名消除指令中的寫后寫沖突,利用指令調度調整指令的執行順序以消除指令沖突,可以在匯編階段增加指令的并行度,提高指令級并行性。第二、在本專利技術的基礎上,可以采用普通RISC處理器編譯器的設計方法來進行基于超長指令字的專用指令集處理器的專用編譯器的設計,從而大大提高其設計效率,極大地擴展了基于超長指令字的專用指令集處理器的應用領域。第三、本專利技術運用專用指令集處理器ASIP中,對于某種特定的情況如快速傅里葉變換FFT、有限脈沖響應FIR濾波器,具有較強的針對性,可以更加有效的實現系統的功能。附圖說明圖1為本專利技術匯編器的寄存器重命名編程流程;圖2為本專利技術匯編器的指令打包及調度的整體流程;圖3為本專利技術匯編器的段內指令打包及調度的整體流程。具體實施例方式本專利技術的技術方案是,在匯編器處理過程中設計寄存器重命名和指令打包及調度。該匯編器設計是在匯編器完成了傳統的詞法分析、語法分析、語義分析、出錯處理之后,目標代碼生成之前加入了可以提高指令級并行性的寄存器重命名和指令打包及調度。下面結合附圖對本專利技術做進一步的詳細描述。實施例1:寄存器重命名流程參照圖1,實施寄存器重命名需要進行指令寫后寫沖突檢測,如果發現了指令中存在寫后寫沖突,查看是否存在空閑的寄存器并判斷該空閑寄存器在替換這些指令中存在沖突的寄存器期間是否都是空閑的,如果存在空閑的寄存器并且一直處于空閑狀態,就可以利用寄存器重命名來消除寫后寫沖突。某個寄存器從最后一次被調用到重新被賦值,這期間都是空閑的,可以被用來重命本文檔來自技高網...
【技術保護點】
一種基于超長指令字專用指令集處理器的匯編器設計方法,其特征在于,通過在匯編器中設計寄存器重命名和指令打包及調度的功能,實現匯編器的改進,提高指令級并行性,所述寄存器重命名是在檢測到指令中的寫后寫沖突之后,搜索一直處于空閑的寄存器替代指令中目的寄存器以消除寫后寫沖突;所述指令打包及調度設計同時執行,匯編器在打包指令的同時,檢測指令間的沖突,通過指令調度調整指令的執行順序消除指令沖突,指令打包及調度設計包括程序分段、段內指令打包及調度、段間指令沖突檢測及調整、跳轉指令標號匹配、跳轉指令沖突檢測及調整和跳轉指令標號重新匹配步驟;步驟1:所述的程序分段根據跳轉指令和目標標號分段,程序分段既保證跳轉指令前后指令的執行順序,又使段內的指令調度不再受跳轉指令的限制;步驟2:所述的段內指令打包及調度將各程序段中位置相近并且不存在沖突的指令打包成一條超長指令字“VLIW”指令;如果打包過程中存在指令沖突,跳過該沖突的指令繼續搜索,找到與搜索到指令都不存在沖突的指令,將搜索到指令插入到當前位置并跟沖突之前的指令打包成一條VLIW指令;如果直到程序段結束也不存在沖突的指令,就在當前位置插入空“NOP“指令;步驟3:所述的段間指令沖突檢測及調整是檢測相鄰程序段首尾連接部分VLIW指令間的沖突,如果存在沖突,直接在段頭插入空“NOP”VLIW指令;步驟4:所述的跳轉指令標號匹配是將跳轉指令和目標指令連接起來,以便生成跳轉指令的二進制代碼中的目標地址或偏移量,及檢測跳轉指令與目標指令的VLIW指令間沖突;步驟5:所述的跳轉指令沖突檢測及調整是檢測跳轉指令和目標指令是否存在VLIW指令間的沖突,如果存在沖突,直接在目標地址的指令前插入空“NOP“VLIW指令;步驟6:所述的跳轉指令標號重新匹配是在完成跳轉指令沖突檢測并調整之后,將跳轉指令和目標指令重新連接起來。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:張犁,宋云朋,李森,李甫,石光明,李欽鵬,
申請(專利權)人:西安電子科技大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。