CN1298518A - 具有调试接口单元的risc处理器 - Google Patents

具有调试接口单元的risc处理器 Download PDF

Info

Publication number
CN1298518A
CN1298518A CN99805612A CN99805612A CN1298518A CN 1298518 A CN1298518 A CN 1298518A CN 99805612 A CN99805612 A CN 99805612A CN 99805612 A CN99805612 A CN 99805612A CN 1298518 A CN1298518 A CN 1298518A
Authority
CN
China
Prior art keywords
data
register
unit
performance element
transfer unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN99805612A
Other languages
English (en)
Other versions
CN1131477C (zh
Inventor
P·哈尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN1298518A publication Critical patent/CN1298518A/zh
Application granted granted Critical
Publication of CN1131477C publication Critical patent/CN1131477C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware

Abstract

为达到调试目的,在顺序控制器和指令译码器之间的总线系统上进行交换的数据可附加地暂存起来,并通过空闲的总线线路转送到接口单元。在接口单元可将连接在其输入端的数据转送到接口单元的确定的输出端。

Description

具有调试接口单元的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都被转送到跟随其后的寄存器上。

Claims (4)

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)。
CN99805612A 1998-04-30 1999-04-28 具有调试接口单元的risc处理器 Expired - Fee Related CN1131477C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19819531A DE19819531C1 (de) 1998-04-30 1998-04-30 RISC-Prozessor mit einer Debug-Schnittstelleneinheit
DE19819531.1 1998-04-30

Publications (2)

Publication Number Publication Date
CN1298518A true CN1298518A (zh) 2001-06-06
CN1131477C CN1131477C (zh) 2003-12-17

Family

ID=7866410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99805612A Expired - Fee Related CN1131477C (zh) 1998-04-30 1999-04-28 具有调试接口单元的risc处理器

Country Status (6)

Country Link
US (1) US6766438B1 (zh)
EP (1) EP1073958B1 (zh)
CN (1) CN1131477C (zh)
AT (1) ATE231255T1 (zh)
DE (2) DE19819531C1 (zh)
WO (1) WO1999057638A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702839B2 (en) * 2005-04-12 2010-04-20 Nokia Corporation Memory interface for volatile and non-volatile memory devices
US8694970B2 (en) 2005-06-02 2014-04-08 Seagate Technology Llc Unified debug system with multiple user-configurable trace volumes and trace buffers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5564028A (en) * 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace
US5513363A (en) * 1994-08-22 1996-04-30 Hewlett-Packard Company Scalable register file organization for a computer architecture having multiple functional units or a large register file
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port

Also Published As

Publication number Publication date
CN1131477C (zh) 2003-12-17
EP1073958B1 (de) 2003-01-15
US6766438B1 (en) 2004-07-20
DE19819531C1 (de) 1999-12-02
WO1999057638A1 (de) 1999-11-11
DE59904047D1 (de) 2003-02-20
ATE231255T1 (de) 2003-02-15
EP1073958A1 (de) 2001-02-07

Similar Documents

Publication Publication Date Title
US4965718A (en) Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data
US6539500B1 (en) System and method for tracing
EP1582980B1 (en) Context switching method, device, program, recording medium, and central processing unit
US5375248A (en) Method for organizing state machine by selectively grouping status signals as inputs and classifying commands to be executed into performance sensitive and nonsensitive categories
US20150074352A1 (en) Multiprocessor Having Segmented Cache Memory
US20100095094A1 (en) Method for processing data
US5608867A (en) Debugging system using virtual storage means, a normal bus cycle and a debugging bus cycle
CN113127302B (zh) 一种板卡gpio的监控方法和装置
CN102934102A (zh) 多处理器系统、执行控制方法和执行控制程序
Hwang et al. Vector computer architecture and processing techniques
CA2423824A1 (en) Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
Miller et al. Configurable computers: A new class of general purpose machines
KR100288670B1 (ko) 데이터세그먼트처리방법및정보처리시스템
EP0592404A4 (en) METHOD AND DEVICE FOR INSERTING A LOCKING CACHE.
CN1131477C (zh) 具有调试接口单元的risc处理器
US4084229A (en) Control store system and method for storing selectively microinstructions and scratchpad information
US5872954A (en) Method of monitoring registers during emulation
CN111258950B (zh) 原子访存方法、存储介质、计算机设备、装置和系统
KR19990078149A (ko) 파이프라인형 멀티 프로세서 시스템
US5287522A (en) External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip
CN1153136C (zh) 执行来自多个指令源的指令的处理器和方法
David et al. Self-timed architecture of a reduced instruction set computer
Wu et al. Storage optimization by replacing some flip-flops with latches
US20110161977A1 (en) Method and device for data processing
US20140143509A1 (en) Method and device for data processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee