WO1999057638A1 - Risc-prozessor mit einer debug-schnittstelleneinheit - Google Patents

Risc-prozessor mit einer debug-schnittstelleneinheit Download PDF

Info

Publication number
WO1999057638A1
WO1999057638A1 PCT/DE1999/001252 DE9901252W WO9957638A1 WO 1999057638 A1 WO1999057638 A1 WO 1999057638A1 DE 9901252 W DE9901252 W DE 9901252W WO 9957638 A1 WO9957638 A1 WO 9957638A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
register
execute
risc processor
Prior art date
Application number
PCT/DE1999/001252
Other languages
English (en)
French (fr)
Inventor
Peter Haas
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to AT99929040T priority Critical patent/ATE231255T1/de
Priority to EP99929040A priority patent/EP1073958B1/de
Priority to US09/674,352 priority patent/US6766438B1/en
Priority to DE59904047T priority patent/DE59904047D1/de
Publication of WO1999057638A1 publication Critical patent/WO1999057638A1/de

Links

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

Definitions

  • a reduced instruction set computer is referred to below as a RISC processor.
  • the RISC processor is dimensioned for the lowest possible energy and space requirements and optimized for its respective purpose. In order to quickly find possible errors in complex processing procedures, it is helpful if the data processing procedures running within the RISC processor can be traced externally. However, in order to be able to understand the data processing procedures involved in troubleshooting, a large number of options for querying the register contents of the RISC processor are required.
  • Access to the data temporarily stored in the registers in the pipeline of the RISC processor is very difficult, however, since register contents have to be accessed at different points in the pipeline of the RISC processor during troubleshooting. Access to the register data stored in the pipeline of the RISC processor is also made much more difficult if the RISC processor is integrated in an ASIC module together with a program memory.
  • the invention has for its object to provide a RISC processor with a debug interface unit.
  • Register contents can be read in real time.
  • the invention has the advantage that the surface ei ⁇ nes RISC processor only to the area to be of a pin's ver ⁇ enlarges must, if the input and output interface I of the RISC processor is shared.
  • Advertising provided to an efficient troubleshooting has the advantage that with the ring to the outside out command data, address data and the collgehö ⁇ Profitability, destination and source data all necessary infor mation ⁇ the.
  • Figure 1 shows a structure of a RISC processor
  • Figure 2 shows a structure of a debug interface unit.
  • FIG. A structure of a RISC processor is shown schematically in FIG. This illustration shows the main components arranged in a pipeline of the RISC processor.
  • the components are, for example, a sequence controller SC, an instruction decoder ID, a register read unit RR, an execute unit E, a debug interface unit DI arranged, for example, in a data transfer unit DT, a register Write unit RW, an input and output unit I / O and a register file RF.
  • the sequence controller SC essentially supplies an address for reading the instruction code from an opcode memory OP for the instruction decoder ID.
  • the opcode memory OP is, for example, in an area of a memory 3 Steins ROM arranged.
  • CMD2 be from the instruction code at home struction decoder ID CMDO commands, CMD1, for which a ⁇ individual in the pipeline arranged units formed.
  • the command data CMDx are then forwarded from the instruction decoder ID to the left and right to the units RR, E, DT, DI, RW or SC arranged in the pipeline.
  • a command field is created for each of these units RR, E, DT, DI, RW or SC.
  • the execute unit E are all arithmetic and logi ⁇ 's commands, all addition and subtraction as well as all logic operations that executed.
  • a first bus system with an address bus between the program counter PCT and the opcode memory OP and a data bus between the opcode memory OP and the instruction decoder ID
  • a further bus system with an address bus and a data bus between the data transfer unit DT and the input and output unit I.
  • the command bus, each processing unit in the pipeline of the RISC processor is shown the address and data type of the current data (load, store or obcode).
  • the opcooe addresses transported on the address bus of the first bus system are temporarily stored in a first register REG1 of the register file RF in order to be passed on to the debug interface unit DI in the subsequent processing step via an unused data connection line become.
  • the free data connection path extends 4 via the register read unit RR to the first register SRC of the execute unit E.
  • a first and second multiplexer MU1, MU2 and the debug interface unit DI integrated in the data transfer unit DT are controlled in such a way that the opcode addresses buffered in the first register SRC of the execute unit E are controlled output by the second multiplexer MU2 and the result data temporarily stored in the second register ALU of the execution unit E are output at the first multiplexer MU1.
  • the debug interface unit DI who cached ⁇ the results data in a data register RD the opcode addresses in an address register RA and the command data in a command register RC.
  • the data temporarily stored in the registers RD, RC, RA are forwarded via connecting lines to an electrical unit arranged externally on the RISC processor, not explicitly shown here, for output on a display.
  • the command data are passed on to the read / write unit RW via a command data connection line and the result data via a data connection line for storage.
  • the source address from the second register ALU of the execute unit E and the load command CMD1 are forwarded to the data transfer unit DT.
  • the source data which were temporarily stored in the second register ALU of the execute unit E, are passed on the address bus to the input and output unit I and controlled by the 5 load interface command CMD1 forwarded via the second multiplexer MU2 of the debug interface unit DI to the address register RA of the debug interface unit DI.
  • the source data read in via the data bus between the input and output unit I and the data transfer unit DT are, controlled by the load command CMD1, via the first multiplexer MU1 of the debug interface unit DI to the data register RD of the debug interface unit DI headed.
  • the load command CMD1 in the command register RC, the source address in the address register RA and the source data in the data register RD are passed on to the external unit for output.
  • the command and source data are also forwarded to the register W ⁇ te-Emheit RW, which is arranged after the data transfer unit DT.
  • the store command CMD2 initiated by the program counter PCT in the sequence controller SC, is formed in the instruction decoder ID.
  • the store command CMD2 reads the target data from a second register REG2 in the register file RF.
  • the read target data are loaded into the first register SRC of the register read unit RR.
  • the target data arrive from a register SRC of the register read unit RR m and a register SRC of the execute unit E.
  • the store command CMD2 belonging to the target data is sent to the execute unit E via a separate command bus transfer.
  • the destination address formed in the execution unit E which was temporarily stored in a further register ALU of the execution unit E, is passed on to the data transfer unit DT in the next processing step with the contents of the register SRC and the store command CMD2.
  • the data transfer unit DT the data m of the debug interface unit DI are crossed out via the first and second multiplexer MU1, MU2.
  • the target data which were read out of the second register REG2 in the register file RF and were temporarily stored in the register SRC of the execute unit E, are transferred to the first multiplexer MU1 6-fitting store command CMD2 in the data register RD Zvi ⁇ temporarily stored.
  • the destination address that was temporarily stored in the register ALU Zvi ⁇ is applied also on the tiplexer the second Mul ⁇ MU2 store command CMD2 passed gister to the Adressre ⁇ RA and cached there.
  • the data temporarily stored in the registers RA, RC and RD are passed on for output to the external reading unit or to the register write unit RW following the data transfer unit DT.
  • FIG. 2 shows the debug interface unit DI integrated in the data transfer unit DT.
  • This debug interface unit DI is connected on the input side to the outputs of the registers SRC, ALU and CMD of the execute unit E and to a connecting line that forwards the clock.
  • the debug interface unit DI is connected to the register-write unit RW via the data line labeled LDAT and a command line labeled LCMD.
  • the debug interface unit DI is connected via an address line LADR, the data line LDAT and command line LCMD to a reading unit outside the pipeline. This reading unit makes it very easy for an operator to access data from processing processes within the RISC processor.
  • the opcode can then be added to the opcode addresses for an execute or jump command from a listing file.
  • the first and second multiplexers MU1, MU2 are arranged in the debug interface unit DI.
  • the multiplexers are controlled by command data CMDO, CMD1 and CMD2, which are present on the command line LCMD.
  • a first data line LSRC connects the output of the register SRC of the execution unit E to a second input 2 of the first multiplexer MU1, a first input 0 of the second multiplexer MU2 and the data bus DAT of the input / output unit I.
  • LALU line is a connection to a third input of the 0 th he ⁇ multiplexer MUL, a second input 1 of the second multiplexer MU2 and the address bus ADR, which leads to the input output unit I is prepared from the output of the register of the ALU Execute Unit E, .
  • the output of the first multiplexer MU1 is connected to the data register RD and the output of the second multiplexer MU2 is connected to the address register RA.
  • the command data CMDO, CMDL and CMD2 ⁇ time equal to the register data of the data register RD and address registers RA to the read-write unit RW abut, the command data is also latched in the command register RD.
  • the register data of the second register ALU of the execute unit E are forwarded to the data register RD via the first multiplexer MU1.
  • the data to be read in via the input / output unit I are passed on to the data register RD via the first multiplexer MUl and the data temporarily stored in the second register ALU of the execution unit E are passed on to the address register RA via the second multiplexer MU2 .
  • the data of the first register SRC in the execute unit E are forwarded to the subsequent register via the first multiplexer MU1 and the data from the second register ALU of the execute unit E via the second multiplexer MU2.

Abstract

Zu Debugzwecken werden die zwischen dem Sequenz-Controller und dem Instruction-Decoder auf einem Bussystem ausgetauschten Daten zusätzlich zwischengespeichert und über eine freie Busleitung an eine Schnittstelleneinheit weitergeleitet. In der Schnittstelleneinheit werden die an ihren Eingängen anliegenden Daten an definierte Ausgänge der Schnittstelleneinheit weitergeleitet.

Description

1 Beschreibung
RISC-Prozessor mit einer Debug-Schnittstelleneinheit
Vielschichtige Vermittlungsprozeduren und komplexe Datenpro¬ tokolle, insbesondere in Vermittlungsanlagen, werden von Prozessoren oder von Reduced Instruction Set Computern ausgeführt. Ein Reduced Instruction Set Computer wird nachfolgend als RISC-Prozessor bezeichnet. Der RISC-Prozessor wird für den geringstmöglichen Energie- und Platzbedarf dimensioniert und für seinen jeweiligen Verwendungszweck optimiert. Um mögliche Fehler bei komplexen Verarbeitungsprozeduren schnell aufzufinden, ist es hilfreich, wenn die innerhalb des RISC- Prozessors ablaufenden Datenverarbeitungsprozeduren extern nachvollziehbar sind. Um ablaufende Datenverarbeitungsprozeduren bei einer Fehlersuche nachvollziehen zu können, braucht man jedoch eine Vielzahl von Abfragemöglichkeiten zu den Re- gisterinhalten des RISC-Prozessors. Die Zugangsmöglichkeiten zu den in der Pipeline des RISC-Prozessors jeweils in den Re- gistern zwischengespeicherten Daten gestaltet sich jedoch sehr schwierig, da während einer Fehlersuche auf Registerinhalte an verschiedenen Stellen der Pipeline des RISC Prozessors zugegriffen werden muß. Die Zugriffsmöglichkeit zu den in der Pipeline des RISC-Prozessors abgespeicherten Regi- sterdaten werden zudem um ein Vielfaches erschwert, wenn der RISC-Prozessor zusammen mit einem Programmspeicher in einem ASIC-Baustein integriert ist.
Der Erfindung liegt die Aufgabe zugrunde, einen RISC- Prozessor mit einer Debug-Schnittstelleneinheit anzugeben.
Die Aufgabe wird durch die Merkmale der Patentansprüche 1 und 2 gelöst.
Die Erfindung bringt den Vorteil mit sich, daß die
Registerinhalte in Realtime mitgelesen werden können. 2 Die Erfindung bringt den Vorteil mit sich, daß die Fläche ei¬ nes RISC-Prozessors lediglich um die Fläche eines Pin' s ver¬ größert werden muß, wenn die Ein- und Ausgabeschnittstelle I des RISC-Prozessors mitbenutzt wird.
Die Erfindung bringt den Vorteil mit sich, daß mit den nach außen geführten Kommandodaten, Adressdaten und den dazugehö¬ rigen Ergebnis-, Ziel und Quelldaten alle notwendigen Infor¬ mationen zu einer effizienten Fehlersuche bereitgestellt wer- den.
Weitere Besonderheiten sind in den Unteransprüchen angegeben.
Die Schaltungsanordnung und das Verfahren werden aus der nachfolgenden näheren Erläuterung zu einem Ausführungsbei- spiel anhand von Zeichnungen ersichtlich.
Es zeigen:
Figur 1 einen Aufbau eines RISC-Prozessors und
Figur 2 einen Aufbau einer Debug-Schnittstelleneinheit.
In Figur 1 ist schematisch ein Aufbau eines RISC-Prozessors dargestellt. In dieser Darstellung sind die Wesentlichen, in einer Pipeline des RISC-Prozessors angeordneten Komponenten wiedergegeben. Die Komponenten sind zum Beispiel ein Se- quenzcontroller SC, ein Instruction-Decoder ID, eine Regi- ster-Read-Einheit RR, eine Execute-Einheit E, eine beispielsweise in einer Datentransfer-Einheit DT angeordneten Debug- Schnittstelleneinheit DI, eine Register-Write-Einheit RW, eine Eingabe- und Ausgabeeinheit I/O sowie ein Register-File RF.
Der Sequence-Controller SC liefert im Wesentlichen für den Instruction-Dekoder ID eine Adresse zum Auslesen eines Befehlscode aus einem Opcode-Speicher OP. Der Opcode-Speicher OP ist beispielsweise in einem Bereich eines Speicherbau- 3 Steins ROM angeordnet. Aus dem Befehlscode werden im In- struction-Decoder ID Kommandos CMDO, CMD1, CMD2 für die ein¬ zelnen in der Pipeline angeordneten Einheiten gebildet . Die Kommandodaten CMDx werden dann vom Instruction-Decoder ID nach links und rechts an die jeweils in der Pipeline angeordneten Einheiten RR, E, DT, DI, RW oder SC weitergeleitet. Für jede dieser Einheiten RR, E, DT, DI, RW oder SC wird dazu ein Kommandofeld erstellt. Nach rechts gehen z.B. Kommandofelder für die Register-Read-Einheit RR, für die Execute- Einheit E, für die Datentranfereinheit DT und für die Register-Write-Einheit RW, während nach links das Kommandofeld für direkte Sprungbefehle weitergereicht wird. Von der Regi¬ ster-Read-Einheit RR werden Kommandos CMDn aus dem Register- File RF gelesen und an die Execute-Einheit E weitergeleitet. In der Execute-Einheit E werden alle arithmetischen und logi¬ schen Befehle, d.h. alle Additions- und Subtraktionsbefehle sowie alle logischen Verknüpfungen ausgeführt.
Im beschriebenen RISC-Prozessor ist beispielsweise ein erstes Bussystem mit einem Adreßbus zwischen Programmcounter PCT und dem Opcode-Speicher OP und einem Datenbus zwischen dem Op- code-Speicher OP und dem Instruction-Decoder ID sowie ein weiteres Bussystem mit einem Adressbus und einem Datenbus zwischen der Datentransfereinheit DT und der Ein- und Ausga- beeinheit I angeordnet. Mit Hilfe eines weiteren Bussystems , dem Kommand-Bus wird jeder Verarbeitungseinheit in der Pipeline des RISC-Prozessors jeweils der Adress- und der Datentyp der aktuellen Daten (Load-, Store- oder Obcode) angezeigt.
Bei einem Execute- und Jump-Kommando CMDO werden die auf dem Adressenbus des ersten Bussystems transportierten Opcoöe- Adressen Daten in einem ersten Register REG1 des Registerfiles RF zwischengespeichert, um im nachfolgenden Verarbeitungsschritt über eine nicht belegte -Datenverbindungsleitung zur Debug-Schnittstelleneinheit DI weiter gereicht zu werden. Der freie Datenverbindungsweg erstreckt sich in diesem Fall 4 über die Register-Read-Einheit RR zum ersten Register SRC der Execute-Einheit E.
Zu den im ersten Register SRC der Execute-Einheit E zwischengespeicherten Opcode-Adressen und den in der Execute-Einheit E gebildeten Ergebnisdaten, die in einem zweiten Register ALU der Execute-Einheit E zwischengespeichert werden, werden zu¬ sätzlich noch das dazugehörige, im Instruction-Decoder ID gebildete Execute- und Jump-Kommando CMDO über die Pipeline des RISC-Prozessors an die in der Debug-Schnittstelleneinheit DI weitergeleitet. Gesteuert durch das Execute- oder Jump- Kommando CMDO wird ein erster und zweiter Multiplexer MU1, MU2 und die in der Datentransfereinheit DT integrierten Debug-Schnittstelleneinheit DI derart angesteuert, daß die im ersten Register SRC der Execute-Einheit E zwischengespeicher- ten Opcode-Adressen durch den zweiten Multiplexer MU2 ausgegeben und am ersten Multiplexer MU1 die im zweiten Register ALU der Execute-Einheit E zwischengespeicherten Ergebnisdaten ausgegeben werden. In der Debug-Schnittstelleneinheit DI wer¬ den die Ergebnisdaten in einem Datenregister RD, die Opcode- Adressen in einem Adressregister RA und die Kommandodaten in einem Kommandoregister RC zwischengespeichert. In der nachfolgenden Taktperiode werden die in den Registern RD, RC, RA zwischengespeicherten Daten über Anschlußleitungen zu einer extern an den RISC-Prozessor angeordneten, hier nicht expli- zit dargestellten elektrischen Einheit zur Ausgabe auf einem Display weitergeleitet. Die Kommandodaten werden über eine Kommandodatenverbindungsleitung sowie die Ergebnisdaten über eine Datenverbindungsleitung zur Abspeicherung an die Read- Write-Einheit RW weitergereicht.
Bei einem Load-Kommando Load CMD1 wird die Quelladresse aus dem zweiten Register ALU der Execute-Einheit E sowie das Load-Kommando CMD1 an die Datentransfereinheit DT weitergeleitet. In der Datentransfereinheit DT werden die Quelldaten, die im zweiten Register ALU der Execute-Einheit E zwischengespeichert waren, auf dem Adressbus zur Ein- und Ausgabeeinheit I gegeben sowie gesteuert durch das ebenfalls an der De- 5 bug-Schnittstellenemheit DI anliegende Load-Kommando CMD1 über den zweiten Multiplexer MU2 der Debug- Schmttstellenemheit DI zum Adressregister RA der Debug- Schnittstellenemheit DI weitergeleitet. Die über den Daten- bus zwischen der Ein- und Ausgabeeinheit I und der Daten- transferemheit DT eingelesenen Quelldaten werden, gesteuert durch das Load-Kommando CMD1, über den ersten Multiplexer MU1 der Debug-Schnittstelleneinheit DI weiter an das Datenregister RD der Debug-Schnittstelleneinheit DI geleitet. In der nachfolgenden Taktperiode wird das Load-Kommando CMD1 im Kommando-Register RC, die Quelladresse im Adressenregister RA sowie die Quelldaten im Datenregister RD zur Ausgabe an die externe Einheit weitergereicht. Die Kommando- und Quelldaten werden zudem an die der Datentransfereinheit DT nachgeordne- ten Register Wπte-Emheit RW weitergereicht.
Das Store-Kommando CMD2 wird, angestoßen durch den Programm- Counter PCT im Sequenz-Controller SC, m dem Instruction- Decoder ID gebildet. Durch das Store-Kommando CMD2 werden aus einem zweiten Register REG2 im Registerfile RF die Zieldaten ausgelesen. Die ausgelesenen Zieldaten werden m das erste Register SRC der Register-Read Einheit RR geladen. In der nächsten Taktperiode gelangen die Zieldaten aus einem Register SRC der Register-Read Einheit RR m ein Register SRC der Execute-Einheit E. Zeitgleich wird das zu den Zieldaten gehörende Store-Kommando CMD2 über einen eigenen Kommando-Bus an die Execute-Einheit E übertragen. Die m der Execute-Einheit E gebildete Zieladresse, die in einem weiteren Register ALU der Execute-Einheit E zwischengespeichert war, wird mit dem Inhalt des Registers SRC und dem Store-Kommando CMD2 im nächsten Verarbeitungsschritt an die Datentransfereinheit DT weitergereicht. In der Datentransfereinheit DT werden die Daten m der Debug-Schnittstelleneinheit DI über den ersten und zweiten Multiplexer MU1, MU2 ausgekreuzt. Die Zieldaten, die aus dem zweiten Register REG2 im Registerfile RF ausgelesen wurden und im Register SRC der Execute-Einheit E zwischengespeichert waren, werden durch das am ersten Multiplexer MU1 6 anliegende Store-Kommando CMD2 in dem Datenregister RD zwi¬ schengespeichert. Die Zieladresse, die im Register ALU zwi¬ schengespeichert war, wird ebenfalls über das am zweiten Mul¬ tiplexer MU2 anliegende Store-Kommando CMD2 an das Adressre¬ gister RA weitergereicht und dort zwischengespeichert. In der nächsten Taktperiode werden die in den Registern RA, RC und RD zwischengespeicherten Daten zur Ausgabe an die externe Leseeinheit oder zu der der Datentransfereinheit DT nachfolgenden Register-Write Einheit RW weitergeleitet.
In Figur 2 ist die in der Datentransfereinheit DT integrierte Debug-Schnittstelleneinheit DI dargestellt. Diese Debug- Schnittstelleneinheit DI ist eingangsseitig mit den Ausgängen der Register SRC, ALU und CMD der Execute-Einheit E sowie mit einer den Takt weiterleitenden Verbindungsleitung verbunden. Ausgangsseitig ist die Debug-Schnittstelleneinheit DI mit der Register-Write Einheit RW über die mit LDAT bezeichnete Datenleitung sowie eine mit LCMD bezeichnete Kommandoleitung verbunden. Die Debug-Schnittstelleneinheit DI ist über eine Adressleitung LADR, der Datenleitung LDAT sowie Kommandoleitung LCMD mit einer Leseeinheit außerhalb der Pipeline verbunden. Diese Leseeinheit ermöglicht es einem Betreiber auf einfachste Weise einen Zugang zu Daten von Verarbeitungsprozessen innerhalb des RISC-Prozessors.
In dieser Leseeinheit kann dann zu den Opcode-Adressen bei einem Execute- oder Jump-Kommando aus einer Listing-Datei der Opcode jeweils ergänzt- werden.
In der Debug-Schnittstelleneinheit DI ist der erste und zweite Multiplexer MUl, MU2 angeordnet. Gesteuert werden die Multiplexer durch Kommandodaten CMDO, CMD1 und CMD2, die auf der Kommandoleitung LCMD anliegen. Eine erste Datenleitung LSRC verbindet den Ausgang des Registers SRC der Execute-Einheit E mit einem zweiten Eingang 2 des ersten Multiplexers MUl, einem ersten Eingang 0 des zweiten Multiplexers MU2 und dem Datenbus DAT der Ein-Ausgabeeinheit I. Mit einer zweiten Daten- 7 leitung LALU wird vom Ausgang des Registers ALU der Execute- Einheit E eine Verbindung zu einem dritten Eingang 0 des er¬ sten Multiplexers MUl, einem zweiten Eingang 1 des zweiten Multiplexers MU2 und dem Adreßbus ADR, der zur Ein- Ausgabeeinheit I führt, hergestellt. Der Ausgang des ersten Multiplexers MUl ist mit dem Datenregister RD und der Ausgang des zweiten Multiplexers MU2 ist mit dem Adreßregister RA verbunden. Damit die Kommandodaten CMDO, CMDl und CMD2 zeit¬ gleich mit den Registerdaten des Datenregisters RD und Adreß- registers RA an der Read-Write Einheit RW anliegen, werden die Kommandodaten ebenso in dem Kommandoregister RD zwischengespeichert .
Liegt beispielsweise am Steuereingang des ersten und zweiten Multiplexers MUl, MU2 ein Execute- oder Jump-Kommando CMDO so werden die Registerdaten des zweiten Registers ALU der Execute-Einheit E über der ersten Multiplexer MUl an das Datenregister RD weitergeleitet.
Bei einem Load-Kommando CMDl werden die über die Ein-Ausgabe- Einheit I einzulesenden Daten über den ersten Multiplexer MUl an das Datenregister RD und die im zweiten Register ALU der Execute-Einheit E zwischengespeicherten Daten über den zweiten Multiplexer MU2 an das Adreßregister RA weitergereicht.
Bei einem Store-Kommando CMD2 werden die Daten des ersten Registers SRC in der Execute-Einheit E über den ersten Multiplexer MUl und die Daten aus dem zweiten Register ALU der Execute-Einheit E über den zweiten Multiplexer MU2 an das nachfolgende Register weitergeleitet.

Claims

Patentansprüche
1. Verfahren zum Mitlesen von Daten, die auf einem zwischen einem Sequenz-Controller (SC) und einem Instruction-Decoder (ID) in einem RISC-Prozessor angeordneten Bussystem ausgetauscht werden, d a d u r c h g e k e n n z e i c h n e t, daß pro Takteinheit die vom Sequenz-Controller (SC) abgegebenen Daten auch in einem ersten Register (REG1) , und die vom Instruction-Decoder (ID) abgegebene Daten auch in einem zweiten Register (REG2) eines Registerfiles (RF) des RISC- Prozessors zwischengespeichert werden, daß bei einem ersten Kommando (CMDO) des Instruction-Decoders (ID) die aus dem ersten Register (REG1) oder bei einem zwei- ten Kommando (CMD2) die in dem zweiten Register (REG2) zwischengespeicherten Daten ausgelesen und über eine zwischen dem Instruction-Decoder (ID) und einer Execute-Einheit (E) angeordneten Register-Read Einheit (RR) in einem Register (SRC) der Execute-Einheit (E) zwischengespeichert werden, daß die im Register (SRC) der Execute-Einheit (E) zwischengespeicherten Daten gleichzeitig mit den in der Execute-Einheit (E) ermittelten weiteren Daten sowie die zugehörigen Kommandos (CMDO, CMDl, CMD2) an eine der Execute-Einheit (E) nach- geordneten Datentransfereinheit (DT) gleichzeitig weiterge- leitet werden, und daß die der Datentransfereinheit (DT) zugeleiteten Daten pro Takteinheit jeweils definierten Datenausgängen der Datentransfereinheit (DT) zugeordnet werden.
9 2. Schaltungsanordnung zum Mitlesen von Daten die auf einem zwischen einem Sequenz-Controller (SC) und einem Instruction- Decoder (ID) in einem RISC-Prozessor angeordneten Bussystem ausgetauscht werden, d a d u r c h g e k e n n z e i c h n e t, daß ein erstes Register (REG1) zur Zwischenspeicherung der vom Sequenz-Controller (SC) abgegebenen Daten und ein zweites Register (REG2) zur Zwischenspeicherung der vom Instruction- Controller (ID) abgegebenen Daten vorgesehen ist, daß ein Register (SRC) in einer einer Register-Read Einheit (RR) nachgeordneten Execute-Einheit (E) des RISC-Prozessors zur Zwischenspeicherung der aus den ersten und zweiten Register (REG2) ausgelesenen Daten vorgesehen ist, und daß eine Schnittstelleneinheit (DI) in einer der Execute- Einheit nachgeordneten Datentransfereinheit (DT) zur Zuordnung der gleichzeitig an der Datentransfereinheit (DT) anliegenden Daten zu definierten Datenausgängen der Datentransfereinheit (DT) vorgesehen ist.
3. Schaltungsanordnung nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, daß in der Schnittstelleneinheit (DI) ein erster und zweiter Multiplexer (MUl, MU2 ) angeordnet ist, die nach Maßgabe von Kommandodaten (CMDO, CMDl, CMD2 ) die an dem ersten und zwei- ten Eingang der Datentransfereinheit (DT) anliegenden Daten aus Registern (SRC, ALU) der Execute-Einheit (E) weiterleiten.
4. Schaltungsanordnung nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, daß das erste und zweite Register (REG1, REG2) in einem Registerfile (RF) des RISC-Prozessors angeordnet ist.
PCT/DE1999/001252 1998-04-30 1999-04-28 Risc-prozessor mit einer debug-schnittstelleneinheit WO1999057638A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AT99929040T ATE231255T1 (de) 1998-04-30 1999-04-28 Risc-prozessor mit einer debug- schnittstelleneinheit
EP99929040A EP1073958B1 (de) 1998-04-30 1999-04-28 Risc-prozessor mit einer debug-schnittstelleneinheit
US09/674,352 US6766438B1 (en) 1998-04-30 1999-04-28 RISC processor with a debug interface unit
DE59904047T DE59904047D1 (de) 1998-04-30 1999-04-28 Risc-prozessor mit einer debug-schnittstelleneinheit

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO1999057638A1 true WO1999057638A1 (de) 1999-11-11

Family

ID=7866410

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1999/001252 WO1999057638A1 (de) 1998-04-30 1999-04-28 Risc-prozessor mit einer debug-schnittstelleneinheit

Country Status (6)

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

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564028A (en) * 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace

Family Cites Families (4)

* 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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564028A (en) * 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CIRCELLO J C ET AL: "A MECHANISM TO OUTPUT INTERNAL STATE INFORMATION DURING IDLE BUS CYCLES", MOTOROLA TECHNICAL DEVELOPMENTS, vol. 22, 1 June 1994 (1994-06-01), pages 24 - 26, XP000456705 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE68929483T2 (de) Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist.
EP1146432B1 (de) Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit
DE3424962C2 (de)
DE69636861T2 (de) Mikroprozessor mit Lade-/Speicheroperation zu/von mehreren Registern
DE19506435C2 (de) Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten
DE69133571T2 (de) Datenprozessor mit der Fähigkeit, zwei Befehle gleichzeitig auszuführen
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE112004001040B4 (de) Verfahren und Datenprozessor mit reduzierter Operationsunterbrechung auf Grund von Operanden-Abhängigkeiten
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE2533737C2 (de) Mikroprozessor mit aufteilbarer Adressenschiene
DE4134392C2 (de) Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung
DE3307194C2 (de)
DE4222275C2 (de) Parallelprozessor und Betriebsverfahren für diesen
EP1117037B1 (de) Datenverarbeitungsvorrichtung zum parallelen Verarbeiten von unabhängigen Prozessen (Threads)
DE2835110A1 (de) Schneller echtzeit-rechneremulator
WO1999057638A1 (de) Risc-prozessor mit einer debug-schnittstelleneinheit
DE60005830T2 (de) Verfahren und vorrichtung zum steuern eines sprungverzögerungsschlitzes in einem pipelineprozessor
DE10303053A1 (de) Registerumbenennung zum Reduzieren einer Umgehung und Erhöhen einer scheinbaren physischen Registergröße
DE60201511T2 (de) Verfahren, system und computerprogrammprodukt zum manipulieren eines anweisungsflusses in einer pipeline eines prozessors
EP1260905B1 (de) Programmgesteuerte Einheit
DE2846537C2 (de) Mikroprogrammierte Datenverarbeitungseinrichtung
DE3603240C2 (de)
DE19804146A1 (de) Befehlsausgabe mit geringer Latenzzeit in einem Datenverarbeitungssystem mit außer-der-Reihe-Befehlsausführung
DE19945940C2 (de) Verfahren und Vorrichtung zur Bearbeitung bedingter Sprungbefehle in einem Prozessor mit PIPELINE-Rechnerarchitektur
EP0108418B1 (de) Vorrichtung zur Mikroprogramm-Steuerung eines Informationstransfers und Verfahren zu ihrem Betrieb

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99805612.X

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1999929040

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09674352

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1999929040

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1999929040

Country of ref document: EP