專利名稱:具有調試接口單元的risc處理器的制作方法
多層轉接過程和復雜的數據控制,特別是在交換設備中,都由處理器或精簡指令集計算機實施。精簡指令集計算機在下面被稱為RISC-處理器。為達到最小可能的能量需求和存儲空間需求,而設計了RISC-處理器的規格并且使RISC-處理器對其每一個應用目的都達到最佳化。為在復雜的處理過程中,快速地查找可能出現的故障,在RISC-處理器內部運行的數據處理過程可于外部重復實現則是有益的。為在查找故障時,重復實現運行的數據處理過程,就需要對RISC-處理器的寄存器內容有多次查詢機會。對在RISC-處理器的流水線中的各暫存于寄存器內的數據的存取可能性變得確是很困難,因為在不同位置對寄存器內容進行故障搜索期間必須要對RISC-處理器的流水線進行存取。對此,當RISC-處理器與程序存儲器一起集成在一個ASIC-模塊時,對存儲在RISC-處理器流水線中的寄存器數據的存取可能性更難了許多倍。
本發明的任務在于提供一種具有調試接口單元的RISC處理器。
該任務由權利要求1和2的特征解決。
本發明的優點在于,可實時監測寄存器的內容。
本發明的優點在于,在共用RISC-處理器的輸入和輸出接口I時,RISC處理器的面積只需增大針頭大小的面積。
本發明的優點在于,利用向外引出的指令數據、地址數據和附屬于此的結果數據、目的數據和源數據,提供各種必要的信息進行有效的故障搜索。
其它特點在從屬權利要求中給出。
電路裝置和方法可從下面對圖中實施例的詳細說明中看出。
圖中示出
圖1為RISC處理器的結構和圖2為調試接口單元的結構。
圖1概略地示出了RISC處理器的結構。在該圖示中表明了RISC處理器流水線中配置的主要部件。這些部件例如是順序控制器SC、指令譯碼器ID、寄存器讀取單元RR、執行單元E、一個例如安裝在數據轉移單元DT中的調試接口單元DI、寄存器寫入單元RW、輸入和輸出單元I/O以及寄存器文件RF。
順序控制器SC主要為指令譯碼器ID提供一個從操作碼存儲器OP中讀出指令代碼的地址。例如,操作碼存儲器OP安裝在存儲器模塊ROM的一個區域內。在指令譯碼器ID中,從指令代碼里,構成用于安裝在流水線各單元的指令CMD0、CMD1、CMD2。然后,指令數據CMDx由指令譯碼器ID向左或向右轉送到各裝在流水線上的單元RR、E、DT、DI、RW或SC。就此,可為這些單元RR、E、DT、DI、RW或SC的每一個建立一個指令組。例如,指令組向右依次可以供寄存器讀取單元RR、執行單元E、數據轉移單元DT、和寄存器寫入單元RW使用,而指令組向左則轉到用于直接的轉移指令。由寄存器讀取單元RR讀出寄存器文件RF中的指令CMDn,并轉送到執行單元E上。在執行單元E中,執行各種算術的和邏輯的指令,也即各種加減指令以及各種邏輯組合。
例如,在所述RISC-處理器中,第一個總線系統設有一條在程序計數器PCT和操作碼存儲器OP之間的地址總線和一條在操作碼存儲器OP與指令譯碼器ID之間的數據總線,以及另一條總線系統設有在數據轉移單元DT和輸入與輸出單元I之間的一條地址總線和一條數據總線。借助另一條總線系統設有的指令總線,將當前數據(輸入碼、存儲碼和操作碼)的地址和數據類型均顯示給RISC-處理器的流水線的每一個處理單元。
按執行指令和轉移指令CMD0,在第一條總線系統的地址總線上傳送的操作碼地址數據,暫存在寄存器文件RF的第一個寄存器REG1上,以便在隨后的處理步驟中通過未被占用的數據連接線繼續傳送給調試接口單元DI。在這種情況下,空閑的數據連接路徑通過寄存器讀出單元RR延伸到執行單元E的第一個寄存器SRC上。
除暫存在執行單元E的第一個寄存器SRC的操作碼地址,和暫存在執行單元E的第二個寄存器ALU中的在執行單元E形成的結果數據外,還額外將附屬于此的在指令譯碼器ID中形成的執行和轉移指令CMD0,通過RISC-處理器的流水線,轉接到調試接口單元DI上。在執行指令或轉移指令CMD0的控制下,第一個和第二個多路復用器MU1、MU2和集成在數據轉移單元DT的調試接口單元如此進行選通,即暫存于執行單元E第一個寄存器SRC中的操作碼地址,通過第二個多路復用器MU2輸出,并且在第一個多路復用器MU1上,將暫存于執行單元E的第二個寄存器ALU的結果數據輸出。在調試接口單元DI中,結果數據暫存于數據寄存器RD中,操作碼地址暫存于地址寄存器RA中,指令數據暫存于指令寄存器RC中。在隨后的時鐘周期中,暫存于寄存器RD、RC、RA中的數據,通過連接線轉送到設置在RISC-處理器外部的,在這里未示出的電子單元上,以輸出在顯示器上。指令數據將通過指令數據連接線,以及結果數據通過數據連接線為了存儲都被轉交給讀寫單元RW。
按照裝入-指令CMD1,來自執行單元E的第二個寄存器ALU的源地址以及裝入-指令CMD1都轉送到數據轉移單元DT上。在數據轉移單元D1中,將暫存在執行單元E的第二個寄存器ALU的源數據在地址總線上傳送到輸入輸出單元I,以及受同樣連接在調試接口單元DI上的裝入指令CMD1的控制,通過調試接口單元DI的第二個多路復用器MU2轉送到調試接口單元DI的地址寄存器RA上。通過輸入輸出單元I和數據轉移單元DT之間的數據總線讀入的源數據,在裝入指令CMD1的控制下,經調試接口單元DI的第一個多路復用器MU1繼續傳送到調試接口單元DI的數據寄存器RD上。在隨后的時鐘周期中,指令寄存器RC中的裝入指令CMD1、地址寄存器RA中的源地址以及數據寄存器RD中的源數據都被輸出轉到外部單元。對此,指令數據和源數據進一步傳遞給串接于數據轉移單元DT之后的寄存器寫單元RW。
通過順序-控制器SC中的程序計數器PCT的觸發,存儲指令CMD2在指令譯碼器ID中形成。受存儲指令CMD2控制,從寄存器文件RF中的第二個寄存器REG2讀出目的數據。讀出的目的數據加載到寄存器讀單元RR的第一個寄存器SRC中。在下一個時鐘周期中,目的數據從寄存器讀單元RR的寄存器SRC傳遞到執行單元E的寄存器SRC中。同時,屬于目的數據的存儲指令CMD2通過自己的指令總線傳輸到執行單元E。在執行單元E中形成的曾暫存在執行單元E的另一個寄存器ALU內的目的地址,連同寄存器SRC的內容和存儲指令CMD2在下一個處理步驟中傳遞到數據轉移單元DT。在數據轉移單元DT中,調試接口單元DI的數據通過第一個和第二個多路復用器MU1、MU2進行了整理。從寄存器文件RF的第二個寄存器REG2讀出的和暫存在執行單元E的寄存器SRC內的目的數據,將通過連到第一個多路復用器MU1的存儲指令CMD2暫存在數據寄存器RD內。暫存在寄存器ALU內的目的地址同樣也通過連到第二個多路復用器MU2的存儲指令CMD2傳遞到地址寄存器RA,并且在那里暫存起來。在下一個時鐘脈沖周期中,暫存在寄存器RA、RC和RD內的數據,被轉送輸出到外部的讀單元或轉送到串接于數據轉移單元DT后面的寄存器寫單元RW上。
圖2示出了集成在數據轉移單元DT上的調試接口單元DI。這個調試-接口單元DI,在輸入端與執行單元E的寄存器SRC、ALU、CMD的輸出端,以及與轉送時鐘脈沖的連接線相連。調試接口單元DI,在輸出端通過標有LDAT的數據線,以及標有LCMD的指令線與寄存器寫單元RW相連。調試接口單元DI通過地址線LADR、數據線LDAT以及指令線LCMD與在流水線外部的讀單元相連。這個讀單元可使操作人員以最簡單的方式存取RISC-處理器內處理過程的數據。
然后,在這個讀單元中,按照執行指令或轉移指令,對操作碼地址還從報表文件中補充操作碼。
在調試接口單元DI中,配置了第一個和第二個多路復用器MU1、MU2。多路復用器受連接在指令線LCMD上的指令數據CMD0、CMD1、CMD2的控制。第一條數據線LSRC將執行單元E的寄存器SRC的輸出端與第一個多路復用器MU1的第二個輸入端2,第二個多路復用器MU2的第一個輸入端0和輸入輸出單元I的數據總線DAT連接。用第二條數據線LALU,從執行單元E的寄存器ALU的輸出端起,建立一條線路連到第一個多路復用器MU1的第三個輸入端O,連到第二個多路復用器MU2的第二個輸入端1和連到通往輸入輸出單元I的地址總線ADR。第一個多路復用器MU1的輸出端與數據寄存器RD相連和第二個多路復用器MU2的輸出端與地址寄存器RA相連。為了使指令數據CMD0、CMD1和CMD2同時與數據寄存器RD和地址寄存器RA的寄存器數據一起連到讀寫單元RW上,指令數據同樣暫存在指令寄存器RD內。
例如,若在第一個和第二個多路復用器MU1、MU2的控制輸入端設有一個執行指令或轉移指令CMD0,則執行單元E的第二個寄存器ALU的寄存器數據通過第一個多路復用器MU1轉送到數據寄存器RD上。
按照裝入指令CMD1,需要經輸入輸出單元I讀入的數據,將通過第一個多路復用器MU1轉送到數據寄存器RD上,暫存在執行單元E的第二個寄存器ALU中的數據通過第二個多路復用器MU2轉送到地址寄存器RA上。
按照存儲指令CMD2,將執行單元E中的第一個寄存器SRC的數據通過第一個多路復用器MUI,并且執行單元E中的第二個寄存器ALU的數據通過第二個多路復用器MU2都被轉送到跟隨其后的寄存器上。
權利要求
1.監測數據的方法,該數據在RISC處理器中的順序控制器(SC)和指令譯碼器(ID)之間設置的總線系統上進行交換,其特征在于,按照每個時鐘單位,由順序控缺器(SC)輸出的數據也暫存在RISC處理器的寄存器文件(RF)的第一個寄存器(REG1)中,并且由指令譯碼器(ID)輸出的數據也暫存在RISC處理器的寄存器文件(RF)的第二個寄存器(REG2)中,在運行指令譯碼器(ID)的第一個指令(CMD0)時,讀出來自第一個寄存器(REG1)暫存的數據,或者在運行第二個指令(CMD2)時,讀出暫存在第二個寄存器(REG2)中的數據,并且將其通過指令譯碼器(ID)和執行單元(E)之間設置的寄存器讀單元(RR)暫存在執行單元(E)的寄存器(SRC)內,暫存在執行單元(E)的寄存器(SRC)的數據,同時連同執行單元(E)中求得的其它數據,以及附屬的指令(CMD0、CMD1、CMD2)都同時轉送到設在執行單元(E)的下一級數據轉移單元(DT)上,并且傳遞到數據轉移單元(DT)的數據,按照每個時鐘單位,分別分配給數據轉移單元(DT)確定的數據輸出端。
2.監測數據的電路裝置,該數據在RISC處理器中的順序控制器(SC)和指令譯碼器(ID)之間設置的總線系統上進行交換,其特征在于,設有第一個寄存器(REG1)暫存由順序控制器(SC)輸出的數據,并且設有第二個寄存器(REG2)暫存由指令控制器(ID)輸出的數據,在RISC處理器中串接在寄存器讀單元(RR)之后的執行單元(E)中設有寄存器(SRC),暫存第一個和第二個寄存器(REG2)輸出的數據,和在串接在執行單元之后的數據轉移單元(DT)中設有接口單元(DI),以將同時連接到數據轉移單元(DT)的數據分配給數據轉移單元(DT)確定的數據輸出端。
3.根據權利要求2所述的電路裝置,其特征在于,在接口單元(DI)中,設置了第一個和第二個多路復用器(MU1、MU2),它們按照指令數據(CMD0、CMD1、CMD2)轉送從執行單元(E)的寄存器(SRC、ALU)中來的連接在數據轉移單元(DT)的第一和第二個輸入端的數據。
4.根據權利要求2所述的電路裝置,其特征在于,在RISC-處理器的寄存器文件(RF)中設置了第一個和第二個寄存器(REG1、REG2)。
全文摘要
為達到調試目的,在順序控制器和指令譯碼器之間的總線系統上進行交換的數據可附加地暫存起來,并通過空閑的總線線路轉送到接口單元。在接口單元可將連接在其輸入端的數據轉送到接口單元的確定的輸出端。
文檔編號G06F11/34GK1298518SQ99805612
公開日2001年6月6日 申請日期1999年4月28日 優先權日1998年4月30日
發明者P·哈爾斯 申請人:西門子公司