具有调试接口单元的risc处理器的制作方法

文档序号:6418941阅读:347来源:国知局
专利名称:具有调试接口单元的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·哈尔斯 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1