專利名稱:循環(huán)指令緩沖器的制作方法
技術領域:
本發(fā)明涉及循環(huán)指令緩沖器。具體地來說,本發(fā)明涉及的循環(huán)指令緩沖器可以將循環(huán)指令存入緩沖器,一次裝入,多次調(diào)用,直到退出循環(huán)。
在程序指令中,循環(huán)指令的使用相當頻繁。循環(huán)指令的使用,使程序來回跳轉,從而使CPU頻繁訪問存貯區(qū),從存貯區(qū)取指。這樣嚴重影響了CPU的訪存效率。在實際的應用中,人們需要一種部件來解決這一問題。
本發(fā)明的目的就是提供一種預先將循環(huán)體指令存貯起來,一次裝入,多次調(diào)用直到退出循環(huán)的循環(huán)指令緩沖器部件。
為實現(xiàn)上述目的,本發(fā)明提出了一種循環(huán)指令緩沖器部件,它包括包括輸入寄存器、主體存貯器、輸出寄存器和控制電路。其特征在于輸入寄存器接收來自基本指令隊列流出的指令;主體存貯器存貯由輸入寄存器傳來的指令;輸出寄存器將該緩沖器存貯的指令輸出,而且是該緩沖器的主體存貯器的輸出單元的映像寄存器;控制電路為輸入寄存器、主體存貯器、輸出寄存器三個模塊提供控制信號??刂齐娐放c輸入寄存器連,為輸入寄存器提供寄存器使能及復位信號。控制電路與主體存貯器相連,提供讀使能、寫使能、讀出地址、寫入地址等控制信號。控制電路與輸出寄存器相連,提供復位信號、使能信號及選擇信號。輸入寄存器與主體存貯器相連,為主體存貯器提供數(shù)據(jù)輸入,輸入寄存器和輸出寄存器相連,為輸出寄存器提供數(shù)據(jù)輸入,主體存貯器和輸出寄存器相連,為輸出寄存器提供數(shù)據(jù)輸入,當循環(huán)程序處于運行狀態(tài)時,每逢指令最后執(zhí)行周期,送出一條指令,當緩沖器處于滿載狀態(tài)時,按一進一出的平衡方式,彈出一條指令??刂齐娐凡糠职ㄈ糠謮喝胫羔樣嫈?shù)器、彈出指針計數(shù)器和控制邏輯器,控制邏輯器與壓入指針計數(shù)器和彈出指針計數(shù)器相連,產(chǎn)生運行狀態(tài)、緩沖滿狀態(tài)、對兩個計數(shù)器的使能、清零、裝載信號和對輸入寄存器和輸出寄存器的控制信號,壓入指針計數(shù)器為增量計數(shù),為主體存貯器提供壓入地址,彈出指針計數(shù)器為增量計數(shù),為主體存貯器提供彈出地址,彈出指針可以按要求任意設置,只要找到循環(huán)頭的地址,將此地址作為彈出指針值,即可順序輸出循環(huán)程序。
循環(huán)指令緩沖器的使用,可以大降低CPU訪問存貯區(qū)的頻率,從而提高CPU的訪存效率。
下面將參照附圖對本發(fā)明的優(yōu)選實施方案進行詳細的描述,從而本發(fā)明的優(yōu)點和特點將更加具體而顯。附圖中
圖1為循環(huán)指令緩沖器的總體結構框圖;圖2為控制電路的結構框圖。
圖1中,控制電路(1)與寄存器輸入(2)相連,為寄存器輸入提供輸入使能及復位信號,控制電路(1)與主體存貯器(3)相連,提供讀使能、寫使能、讀出地址、寫入地址等控制信號;控制電路(1)與輸出寄存器(4)相連,提供復位信號、使能信號及選擇信號,輸入寄存器(2)與主體存貯器(3)相連,為主體存貯器(3)提供數(shù)據(jù)輸入,輸入寄存器(2)和輸出寄存器(4)相連,為輸出寄存器(4)提供數(shù)據(jù)輸入,主體存貯器(3)和輸出寄存器(4)相連,為輸出寄存器(4)提供數(shù)據(jù)輸入。
圖2中,控制邏輯器(5)與壓入指針計數(shù)器(6)和彈出指針計數(shù)器(7)相連,為兩個計數(shù)器提供使能、清零、裝載信號,控制邏輯器(5)也產(chǎn)生對輸入寄存器(2)和輸出寄存器(4)的控制信號。
下面對各模塊詳細說明。
輸入寄存器(2)接收來自基本指令隊列的輸出指令BUFI,當輸入使能有效時鎖存BUFI為RBFI。當復位信號有效時對輸入寄存器清零。
主體存貯器(3)由雙端口存貯器構成。這種雙端口存貯器可以在一個端口寫入,在另一個端口可以同時讀出,但寫入地址和讀出地址不應相同。其寫入數(shù)據(jù)源為輸入寄存器(2)的輸出RBFI。當寫使能有效時,將數(shù)據(jù)RBFI按照控制電路(1)中壓入指針計數(shù)器(6)提供的地址FPIN寫入DPRAM。當讀使能RDN有效時,將數(shù)據(jù)從控制電路(1)彈出指針計數(shù)器(7)提供的地址FPOUT處讀出。
輸出寄存器(4)既是該緩沖器的輸出器件,同時也是該緩沖器的主體存貯器(3)的輸出單元(前端)的映像寄存器。它的輸入數(shù)據(jù)源有兩個,一般情況下讀自主體存貯器(3)的數(shù)據(jù);僅當指針差為1時,即緩沖器僅有一個數(shù)據(jù)時,若做壓入操作,則取輸入寄存器(2)的輸出,即將原輸入寄存器(2)中的數(shù)據(jù)移入輸出寄存器(4),同時也將其存入主體存貯器(3)。
控制電路(1)生成對以上三個模塊的控制信號。它包括三部分壓入指針計數(shù)器(6)、彈出指針計數(shù)器(7)和控制邏輯器(5)??刂七壿嬈?5)與壓入指針計數(shù)器(6)和彈出指針計數(shù)器(7)相連,產(chǎn)生運行狀態(tài)、緩沖滿狀態(tài)、對兩個計數(shù)器的使能、清零、裝載信號和對輸入寄存器(2)和輸出寄存器(4)的控制信號。壓入指針計數(shù)器(6)為增量計數(shù),為主體存貯器(3)提供壓入地址。彈出指針計數(shù)器(7)為增量計數(shù),為主體存貯器(3)提供彈出地址。彈出指針計數(shù)器(7)具有裝載功能,在循環(huán)運行狀態(tài)初始時裝載初值。當剛進入循環(huán)運行狀態(tài)時,裝入當前的壓入指針計數(shù)器(6)與偏移量(該偏移量由循換指令參數(shù)域直接提供)的和;當在循環(huán)運行狀態(tài)中又進入另一個循環(huán),裝入當前彈出指針計數(shù)器(7)與偏移量(該偏移量由循換指令參數(shù)域直接提供)的和。
控制邏輯器(5)產(chǎn)生壓入指針計數(shù)器(6)和彈出指針計數(shù)器(7)的使能、清零、裝載信號,循環(huán)指令緩沖器的運行狀態(tài)、緩沖滿狀態(tài)及對輸入寄存器(2)和輸出寄存器(4)的控制信號。
壓入指針計數(shù)器(6)是一個增量計數(shù)器,在不處于循環(huán)狀態(tài)時,循環(huán)指令緩沖器將執(zhí)行的指令存入,每存一條指令,該計數(shù)器完成加一操作。當處于循環(huán)狀態(tài)時,該計數(shù)器停止計數(shù)。
彈出指針計數(shù)器(7)是一個增量計數(shù),當循環(huán)程序處于運行狀態(tài)時,按照循環(huán)控制指令提供的偏移量裝載初值,然后每逢指令最后執(zhí)行周期,完成加1操作,在不處于循環(huán)狀態(tài)時,該計數(shù)器停止裝載及計數(shù)。
權利要求
1.一種循環(huán)指令緩沖器,它包括輸入寄存器(2)、主體存貯器(3)、輸出寄存器、控制電路(1)等部分,其特征在于控制邏輯電路(1)與輸入寄存器(2)相連,為輸入寄存器(2)提供輸入使能及復位信號;控制電路(1)與主體存貯器(3)相連,提供讀使能、寫使能、讀出地址、寫入地址控制信號;控制電路(1)與輸出寄存器(4)相連,提供復位信號、使能信號及選擇信號,輸入寄存器(2)與主體存貯器(3)相連,為主體存貯器(3)提供數(shù)據(jù)輸入,輸入寄存器(2)和輸出寄存器(4)相連,為輸出寄存器(4)提供數(shù)據(jù)輸入,主體存貯器(3)和輸出寄存器(4)相連,為輸出寄存器(4)提供數(shù)據(jù)輸入。
2.根據(jù)權利要求1所述的循環(huán)指令緩沖器件,其特征在于當循環(huán)程序處于運行狀態(tài)時,每逢指令最后執(zhí)行周期,送出一條指令,當緩沖器處于滿載狀態(tài)時,按一進一出的平衡方式,彈出一條指令。
3.根據(jù)權利要求1所述的循環(huán)指令緩沖器,其特征在于控制電路(1)包括三部分壓入指針計數(shù)器(6)、彈出指針計數(shù)器(7)和控制邏輯器(5),控制邏輯器(5)與壓入指針計數(shù)器(6)和彈出指針計數(shù)器(7)相連,產(chǎn)生運行狀態(tài)、緩沖滿狀態(tài)、對兩個計數(shù)器的使能、清零、裝載信號和對輸入寄存器(2)和輸出寄存器(4)的控制信號,壓入指針計數(shù)器(6)為增量計數(shù),為主體存貯器(3)提供壓入地址,彈出指針計數(shù)器(7)為增量計數(shù),為主體存貯器(3)提供彈出地址。
4.根據(jù)權利要求3的循環(huán)指令緩沖器,其特征在是彈出指針可以按要求任意設置,只要找到循環(huán)頭的地址,將此地址作為彈出指針值,即可順序輸出循環(huán)程序。
全文摘要
一種暫存循環(huán)體指令的部件,它包括輸入寄存器、主體存貯器、輸出寄存器、控制電路。輸入寄存器接收指令,主體存貯器存貯接收到的指令,輸出寄存器將指令輸出,控制邏輯建立本部件的運行狀態(tài)。這種部件是解決CPU訪存瓶頸的重要措施。
文檔編號G06F12/00GK1430149SQ0215965
公開日2003年7月16日 申請日期2002年12月30日 優(yōu)先權日2002年12月30日
發(fā)明者趙云琪, 王抗旱 申請人:趙云琪, 王抗旱