DE3107568A1 - Datenverarbeitungseinrichtung - Google Patents
DatenverarbeitungseinrichtungInfo
- Publication number
- DE3107568A1 DE3107568A1 DE3107568A DE3107568A DE3107568A1 DE 3107568 A1 DE3107568 A1 DE 3107568A1 DE 3107568 A DE3107568 A DE 3107568A DE 3107568 A DE3107568 A DE 3107568A DE 3107568 A1 DE3107568 A1 DE 3107568A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- program
- byte
- memory
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims description 122
- 230000015654 memory Effects 0.000 claims description 119
- 238000012546 transfer Methods 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 25
- 239000000872 buffer Substances 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 7
- 238000002360 preparation method Methods 0.000 claims description 2
- 230000006978 adaptation Effects 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000000605 extraction Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002028 premature Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101000795631 Homo sapiens Pre-rRNA-processing protein TSR2 homolog Proteins 0.000 description 1
- 102100031557 Pre-rRNA-processing protein TSR2 homolog Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
Die Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung und insbesondere auf eine Schnittstellenschaltung
zur Pufferung der Übertragung von Rechnerprogrammbefehlen
aus einem Speicher zu einem Befehlsprozessor.
Die Halbleiterindustrie hat in jüngster Zeit eine außergewöhnliche
technologische Entwicklung erlebt. Eine der bedeutensten wicklungen in der Halbleiterindustrie war die Massenproduktion
von hochkomplizierten Mikroprozessoren. Diese Mikroprozessoren erfüllen nahezu alle Funktionen, die von der Zentraleinheit
wesentlich größerer Rechenanlagen durchgeführt werden. Ein Mikroprozessor kann mit wenigen anderen integrierten Schaltungen
kombiniert werden, um ein leistungsstarkes jedoch kostengünstiges Mikrocomputersystem zu bilden, das leistungsmäßig
mit großen und kostenspiel igen, nur wenige Jahre vorher hergestellten Rechnersystemen konkurieren-kann.
Frühere Mikroprozessoren waren bezüglich der Informationsmenge beschränkt, die gleichzeitig parallel zu oder von
ihnen übertragen werden konnte. So waren beispielsweise die Adressen- und Datensammelleitungsbreiten gewöhnlich so begrenzt
daß nur 8 Bit (d. h. 1 Byte) gleichzeitig zwischen dem Mikro-
Z/ko. .
EPO COPY
IU /öbö
prozessor und anderen Komponenten des Mikrprechnersystems
gleichzeitig übertragen bzw. ausgetauscht werden konnten. j Diese Begrenzung der Sammeileitungs- bzw. Busbreite bildete
\ eine wesentliche Beschränkung der Möglichkeiten von Mikro-
! Prozessoren. Zürn Zeitpunkt der Einführung der ersten Mikro-1
Prozessoren auf dem Markt hatte ein typisches Großrechnersystem eine Zentraleinheit mit Sammelleitungsbreiten, die
in typischer Ausführung im Bereich von 2 bis 8 Bytes lagen.
Es wurden leistungsstarke und komplizierte Befehlsvorräte
j in der Mikroprozessortechnik entwickelt, welche Befehle
'■ einiger Längen, d. h. von einem bis drei Bytes enthielten.
j Multibyte-Befehle erfordern die Überführung einer geeigneten
! Anzahl von Bytes in Folge vom Programmspeicher. Der sequen- ·.
j tielle Abruf der einen Einzelbefehl bildenden Bytes ist
j sehr zeitaufwendig, wodurch die Befehlsausführungsgeschwindig-
j keit begrenzt wird. Ein Einzelbytebefehl erfordert nur einen
; einzigen Abruf vom Programmspeicher und kann daher innerhalb
i einer viel kürzeren Zeit abgewickelt werden. Um die Ge-
I schwindigkeit der Befehlsausführung zu erhöhen, wird ein
i Befehlsvorrat für einen Mikroprozessor so vorgesehen, daß
j die Einbytebefehle so häufig als möglich für die häufigsten
j Verarbeitungsfunktionen ausgeführt werden. Weniger häufige
j Verarbeitungsfunktionen werden dann den Befehlen größerer
[ Länge zugeordnet.
Derartige Befehlsvorratsauslegungen optimierten die
Architektur des Mikroprozessorsystems und kompensierten
die begrenzten Sammelleitungs- bzw. Busbreiten derartiger Bauelemente. Als Folge davon begann sich die Prozeßleistung
von Mikrocomputersystemen derjenigen größerer Rechnersysteme
mit wesentlichen größeren Sammelleitungsbreiten anzunähern.
Aufgrund der Popularität von Mikroprozessoren wurden in
weitem Umfang Programme für diese geschrieben. Von zahlreichen
Gesellschaften wurde viel Zeit und Geld für die Programme (software) von besonderen Mikroprozessoren auf- ·
gewandt. Die Benutzer von Mikroprozessoren mit einer EinByte-Sammelleitungsbreite
haben den Wunsch, eine Programmkompatibilität zwischen diesen früheren Generationen von
Mikroprozessoren und den späteren Generationen dieser Bauelemente zu erhalten. Aufgrund des Fortschritts in der Halbleitertechnologie
stehen inzwischen Mikroprozessoren mit· Sammelleitungsbreiten von 2 Bytes zur Verfügung. Es ist zu
erwarten,daß in naher Zukunft Mikroprozessoren mit Sammelleitungsbreiten
von 4 Bytes verfügbar sein werden. Trotzdem werden diese verbesserten Mikroprozessoren auf dem Markt
Widerstand begegnen, wenn sie nicht Programme ausführen können, die ursprünglich für Mikroprozessoren einer Busbreite
von einem Byte konzipiert wurden*
So wurde beispielsweise die Pascal-Rechnersprache in 1970 zur Verwendung hauptsächlich für Mikroprozessoren entwickelt
Pascal ist eine Sprache auf hohem Niveau, die typischer Weise "in "P-Code" übersetzt wird. Die Definition von Pascal
dessen P-Code wurde mehr oder weniger normiert. Dies macht es möglich, daß ein Pascal-Programm auf irgendeinem Rechner
ausgeführt werden kann, der P-Code ausführen kann oder ein Programm zu dessen Umformung bzw. Interpretation besitzt.
P-Code enthält Befehle von 1 bis 4 Bytes Länge. Wenn ein Rechnerprozessor P-Code ausführt, sei es übersetzend o.der
direkt, muß er es mit einem Byte pro Zeiteinheit verarbeiten. Wenn das Rechnersystem eine Sammelkanalbreite hat, die eine
Übertragung von jeweils mehr als einem Byte zwischen dem Programmspeicher und dem Prozessor gestattet, besteht eine
Schwierigkeit in der "Zergliederung" der gleichzeitig übertragenen Vielfachbytes in die Byte-Einheiten, welche die
P-Code-Befehle bilden.
EPO COPY
ο ι υ / ο b ö
Es ist unerwünscht, mehrere Bytes parallel zum Prozessor zu übertragen und danach alle Bytes bis auf das einzige gewünschte
Byte des P-Code abzulegen oder auszuschalten. Wenn dies geschehen würde, so würde der Vorteil einer größeren
Sammelkanalbreite, nämlich äie:kürzören<:Speicherzugriffe,
aufgehoben.
Der Erfindung liegt daher die Aufgabe zugrunde, in einer Datenverarbeitungseinrichtung eine digitale Logikschaltung
als Schnittstelle zwischen einem Prozessor mit einem Befehlsvorrat aus Befehlen eines Vielfachen einer ersten Größe und
einem Rechnersystem zur Verfügung zu stellen, dessen Systemsammei kanal bzw. Systembus Programmbefehlübertragungen bei
einer zweiten Größe von Befehlen gestattet. Dabei soll eine Befehlsabruflogik geschaffen werden, welche die aus einem
Programmspeicher abgerufenen Befehle puffert und sie nach Anforderung durch den Prozessor zur Verfügung stellt. Bei
einem Rechnersystem sollen die möglichen Befehlsmengen un- ; abhängig von der Busbreite zwischen dem Prozessor und dem
restlichen Teil*:des Rechnersystems sein.
■ Erfindungsgemäß wird zu diesem Zweck eine besondere digitale
Logikschaltung angegeben. Bestimmte ausgewählte Speicherplätze
eines Befehlsregisters werden mit Daten geladen, die vom Programmspeicher übertragen worden sind. Eine Steuerschaltung
bestimmt, welche Plätze im Befehlsregister von j.edem Teil des aus dem Programmspeicher abgerufenen Programms
belegt werden. Die Steuerschaltung bewirkt auch eine kontrollierte
Übertragung des Inhalts der anderen ausgewählten Teile des Befehlsregisters zu einem Prozessor, wenn eine
entsprechende Anforderung kommt.
Um die jeweilige Adresse im Speicher von dem abgerufenen Teil des Programms zu erhalten, ist ein· Befehlsadressenregister
vorgesehen. Dieses Register enthält die Adresse im Programm-
EPO CQ?Y
/3
speicher desjenigen Teils des Programms, der zuletzt abge-
erhönt rufen worden ist. Die Steuerschaltung/dieses Register wenn
nötig, um den nächsten Teil des Programms aus dem Programmspeicher
anzufordern. Mit der Steuerschaltung ist auch ein Übertragungszustandsregister gekoppelt. Dieses Register
gibt an, welche Teile der Daten im Befehlsregister als nächstes zum Prozessor zu Übertragen sind und ob zusätzliche
Programmdaten aus dem Speicher zur Eingabe in das Befehlsregister abgerufen werden sollen.
Im 'folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. In
der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild eines typischen Mikrocomputersystems,
bei dem ein Ausführungsbeispiel der Erfindung Verwendung findet;
Fig. 2 eine schematische Darstellung der von einem Pascal-Mikrocomputersys tem zur Verarbeitung
eines Programms durchgeführten Schritte;
Fig. 3A-3G schematisch die Übertragung aufeinanderfolgender Teile eines Programms aus dem Programmspeicher
zu einem Befehlsprozessor;
Fig. 4 ein elektronisches Schemaschaltbild einer bevorzugten Ausführungsform der Erfindung, bei der
die Sammelkanalbreite zum Speicher 2 -Bytes und die Sammelkanalbreite zum Befehlsprozessor 1 Byte
betragen; und
Fig. 5 ein Flußschaubild, das die Arbeitsweise der Schaltung gemäß Figur 4 in Verbindung mit
einem Mikrocomputersystem wie dasjenige gemäß Figur 1 veranschaulicht.
O I U / ODÖ
Figur 1 zeigt eine schematische Darstellung eines typischen Microcomputersystems,z. B. der Pascal Microengine
(Warennahme für einen von WESTERN DIGITAL CORP., Newport Beach, Kalifornien, USA, hergestellten Prozessor, der den
Pascal P-Code ausführt), in welchem die Erfindung verwendet wird. Das Microcomputersystem 101 hat einen Systemsammeikanal
im folgenden Systembus genannt, der Daten zwischen den verschiedenen Schaltungsmodulen überträgt. Der Systembus 102
ermöglicht die gleichzeitige Parallelübertragung von Information. Der Prozessor 103 enthält eine Befehlsverarbeitungslogik
105 und eine erfindungsgemäß ausgebildete Befehlsabruflogik 104. Die Befehlsverarbeitungslogik 105 wickelt
die zum Ausführen der Befehle des verarbeiteten besonderen Rechnerprogramms notwendigen Operationen .ab.
Die neue Befehlsabruflogik 104 kann zusammen mit einem Systembus
verwendet werden, der eine beliebige Anzahl, beispielsweise m, Datenbits parallel überträgt, und zusammen mit einer
Befehlsverarbeitungslogik 105, welche eine beliebige Anzahl, beispielsweise n, Programmdatenbits zur Übertragung anfordert.
Bei dem beschriebenen Ausführungsbeispiel überträgt der
Systembus 102 sechzehn Bits, d. h. zwei Bytes parallel, und die Befehlsverarbeitungslogik 105 fordert acht Bit (1 Byte)
Abschnitte der Programmdaten an. Die Befehlsabruflogik 104 puffert den Programmdatenfluß vom Programmspeicher 107 durch
den eine Breite von zwei Bytes habenden Systembus zur Befehlsverarbeitungslogik 105, die eine Breite von nur einem Byte hat.
Die auszuführenden P-Cpde-Befehle werden im Speicher 106 gespeichert.
Der Speicher 106 kann von der Konzeption in einen Programmspeicher 107 und einen Datenspeicher 108 unterteilt
sein, wenn auch der Speicher 106 nicht als physikalisch, in Programm- und Datenspeicher unterteilt angesehen werden sollte·
Der Speicher 106 ist über ein eine Schnittstelle bildendes Speichersteuergerät 129 mit dem Systembus 102 gekoppelt. Das
Speichersteuergerät 129 erhält Adressensignale, welche die
beiden über den Bus 102 adressierten besonderen Bytes im
Speicher 106 bezeichnen. Andere über den Bus 102 laufende Steuersignale geben an, ob die adressierten Bytes abzurufen
oder zu modifizieren sind.
Die Befehlsabruflogik· 104 behält die Adresse für den nächsten}
von der Befehlsverarbeitungslogik 105 zu verarbeitenden m-Bit-Abschnitt des Programms im Programmspeicher 107. Sie
leitet die entsprechende Adresse über den Systembus 102 zum Speichersteuergerät 129. Der entsprechende Abschnitt der
Programmdaten wird vom Speichersteuergerät 129 aus dem Programmspeicher 107 abgerufen und über den Bus 102 zur
Befehlsabruflogik 104 übertragen. Die Befehlsabruflogik 104 gibt dann den auszuführenden n-Bit-Abschnitt des Programms
an die Befehlsverarbeitungslogik 105.
Neben der Befehlsabruflogik 104 und der Befehlsverarbeitungslogik 105 enthält der beschriebene Prozessor 103 gemäß
Fig. 1 auch eine Zeitgabeschaltung 109, eine Unterbrecherlogik
HO und verschiedene programmzugreifbare Register 111.
Die Zeitgabeschaltung 109 erzeugt mehrphasige Taktsignale
zur Koordinierung der Aktivitäten des Mikrocomputersystems 101. Die Unterbrecherlogik 110 ermöglicht die Unterbrechung
durch ein externes Ereignis des ausgeführten Programms durch die Befehlsverarbeitungslogik 105. Die Unterbrecherlogik
110 erhält die Nachricht des Auftretens eines solchen externen Ereignisses über den Systembus 102 von verschiedenen
Peripheriesteuergeräten 112 ... 118.
Das beschriebene Mikrocomputersystem 101 weist zwei Serienübertragungssteuergeräte
112, 114 auf» Diese Steuergeräte 112,'114 setzen aus dem Systembus 102 in Parallel format
erhaltene Daten in ein Serienformat für die externen Geräte, z.B. eine Fernleitung 113 oder eine Operator-Eingabestation
15 um. Die Serienübertragungssteuergeräte 112, 114 setzen auch von diesen externen Geräten 113, 115 seriell empfangene Daten
J lU/bb'ö
in das Parallel format um, das zur Übertragung über den
Systembus 102' geeignet ist.
Das System 101 weist außerdem ein Parallelübertragungssteuergerät 116 auf. Das. Parallelübertragungssteuergerät 116 setzt
ausgewählte Daten, die über den Systembus 102 eingehen, in ein geeignetes ParallelUbertragungsformat für einen Drucker
117 oder ein anderes Gerät mit paralleler Schnittstelle um.
Ein Plattensteuergerät 118 ermöglicht den Anschluß einer Plattenspeichereinheit 119 an das System 101. Diese Speichereinheit
119 ermöglicht direkten Zugriff zu einer großen Menge von Daten.
Der Systembus 102 der oben erwähnten Pascal Microengine*
kann zwei Datenbytes gleichzeitig zwischen den verschiedenen angeschlossenen Moduln übertragen. Die Breite des System-*
bus, d. h. zwei Bytes, bietet beträchtliche Verbesserungen in der Geschwindigkeit gegenüber einem Computersystem mit
einem Systembus einer Breite von einem Byte. Trotzdem fordert die Befehlverarbeitungslogik 105 jeweils nur ein
Einzelbyte des P-Code-Programms aus der Befehlsabruflogik 104. Der Bus 120 zwischen der Befehlsverarbeitungslogik
105 und der Befehlsabruflogik 104 hat eine Breite von einem Byte.
Figur 2 zeigt den Informationsfluß von einer Programmiereranweisung
eines Pascal Programms bis zu deren Verarbeitung durch die Befehlsverarbeitungslogik 105. In der schematischen
Darstellung gemäß Fig. 2, in der die von einem Mikrocomputersystem 101 zur Ausführung eines Programms durchgeführten
Schritte gezeigt sind, ist zu Erläuterungszwecken angenommen, daß das System 101 in der Pascal-Sprache geschriebene Programmein
P-Code compiliert und den erzeugten P-Code direkt ausführt. Selbstverständlich ist der Erfindungsgedanke nicht
EPO cr**-*' '■ ■
auf die Verwendung des speziellen beschriebenen Computersystems sowie dieser Programmspräche beschränkt. ;
Zuerst entwickelt ein Programmierer Pascal Programm 201. Nach der Programmierung wird das Programm über die Dateneingabestation
115 in das MiJcrocömputersystem 101 eingegeben. Pascal
ist eine "high level" Sprache, d. h. sie wird nicht direkt von einem Rechner ausgeführt, sondern muß in den P-Code, den
standardisierten Befehlsvorrart für umgesetzte Pascal Programme, übersetzt werden. Dieser Übersetzungsvorgang aus dem Pascal
Programm 201 zum P-Code wird von einem zuvor beschriebenen Compilerprogramm durchgeführt. Die Übersetzung bzw. Compilierung
202 des Pascal Programms 201 führt zu einer Byte-Zeichenfolge 203 von P-Code-Befehlen.
Figur 2 zeigt, daß ein Teil des Pascal Programms 201 in die Befehle A bis G zerlegt' worden ist. Der Befehl A ist ein
3-Byte-P-Code-Befehl, wobei jedes Byte durch einen geeigneten
Index bezeichnet ist. In ähnlicher Weise ist der Befehl B 2 Bytes lang, und der Befehl C ist ein Byte lang.
Nachdem der Compiler diese P-Code-Bytefolge 203 gebildet hat,
wird sie im Programmspeicher 107 gespeichert. Zur Definition: Die Einheit der adressierbaren Speicherung des Programmspeichers
107 wird ein Wort von zwei Bytes, nämlich das höchste Byte (H) und das niedrigste Byte (L). Wie in Figur 2 gezeigt ist,
wird A1 im Wort Null, niedrigstes Byte gespeichert. Zusätzliche
Bytes der P-Code-Bytefolge 203 sind in 2-Byte-Wörtern
organisiert und werden in aufeinanderfolgenden Plätzen des Programmspeichers 107 gespeichert.
Wenn das Programm ausgeführt wird, so fordert die Befehlsabruflogik
104 über den Systembus 102 den Inhalt des besonderen Worts des Programmspeichers 107, das das nächste
Byte der auszuführenden P-Code-Bytefolge 203 enthält.
EPO COPY
JIU
Das Speichersteuergerät 129 überträgt das .adressierte Wort
über den Systembus 102 zur Befehlsabruflogik 104. Die Befehlsabruflogik 104 schickt dann über den Bus 120 das nächste auszuführende
Byte zur Befehlsverarbeitungslogik 105. Wie weiter oben erwähnt, überträgt der Bus 120 von der Befehlsabruflogik ·-
104 zur Befehlsverarbeitungslogik 105 nur ein einziges Byte parallel, während bei dem beschriebenen Ausführungsbeispiel
der Systembus 102 zwei Bytes parallel überträgt.
Figuren 3A - 3C zeigen den Fluß von Teilen der Programmbefehle ! . durch die in bevorzugter Ausführungsform schematisch dargestellte
Befehlsabruflogik 104, wobei der Systembus eine Breite von ■ 16 Bits und die Befehlsverarbeitungslogik 105 eine Busbreite
j von 8 Bits haben. Ein Befehlsregister 301 speichert ein Wort S des ausgeführten Programms. Dieses Register 301 ist unterteilt
in ein Unterregister 301H für hohe Bytes und ein Unterregister 301L für niedrige Bytes. Das Befehlsregister 301
[ ist mit einem Multiplexer 302 (MUX) gekoppelt. Eine Abrufsteuerlogik
303 spezifiziert dem MUX 302, ob das hohe Byte = oder das niedrige Byte aus dem Befehlsregister 301 zu einem
j Befehlsbyteregister 304 übertragen werden soll. Das Befehlsj byteregister 304 ist über den Bus 120 mit der Befehlsverj
arbeitungslogik 105 gekoppelt und liefert jeweils ein Einzelbyte des Programms zur Logik 105. Die Abrufsteuerlogik 303
Ubertraaunas—
j enthält ein . ^uätandsregister 305 ("TSR"). Das TSR 305 [ speichert Zustandskennzeichen, die von der Abrufsteuerlogik zur Steuerung des MUX 302 verv/endet werden. Bei dem beschriebenen Ausführungsbeispiel speichert das TSR 305 drei Datenbits, die als TSR 0, TSR 1 und TSR 2 bezeichnet werden.
j enthält ein . ^uätandsregister 305 ("TSR"). Das TSR 305 [ speichert Zustandskennzeichen, die von der Abrufsteuerlogik zur Steuerung des MUX 302 verv/endet werden. Bei dem beschriebenen Ausführungsbeispiel speichert das TSR 305 drei Datenbits, die als TSR 0, TSR 1 und TSR 2 bezeichnet werden.
Figuren 3A-C zeigen den Einfluß, den spezielle im TSR 305 des beschriebenen Ausführungsbeispiels gespeicherte Werte auf
die Steuerung der Übertragung des Programmbefehls vom Programmspeicher 107 über die Befehlsabruflogik 104 zur Befehls-
writ
Verarbeitungslogik 105 haben. Die AbrufSteuerlogik 303 setzt
die Werte im TSR 305 zurück, nachdem jedes Programmbyte zur Befehlsverarbeitungslogik übertragen worden ist. In den i
Figuren 3A-C sind die im TSR 305 nach der Übertragung eines Bytes zur Befehlsverarbeitungslogik 105 gespeicherten Werte
unter den Anfangswerten angegeben. In den Figuren 3A-C gibt eine Ό" an einem Speicherplatz des TSR 305 an, daß dort ein
0-Bit vorhanden sein sollte; eine "I11 gibt an, daß ein 1-Bit
vorhanden sein sollte, und ein "X" zeigt, daß entweder ein 0 oder 1 Bit vorhanden sein kann.
In Figur 3A enthält der TSR 305 anfangs den Wert "XOO".' Ein solcher Wert zeigt an, daß das Befehlsregister 301
einen Teil des Programms enthält, der als nächster zur Befehlsverarbeitungslogik 105 übertragen werden soll. Insbesondere
sollte das Η-Byte im Befehlsunterregister 301H an die Befehlsverarbeitungslogik 105 gegeben werden, wenn
ein das nächste Byte anforderndes Abrufsignal von aufgenommen wird. Daher steuert die Abrufsteuerlogik 303
bei Empfang des Abrufsbefehls den MUX 302 derart an, daß er den Inhalt des Η-Bytes des Befehlsregisters 301 zum
Befehlsbyteregisters 304 überträgt, wo er für die Befehlsverarbeitungslogik 105 verfügbar ist. Danach aktualisiert
die Abrufsteuerlogik 303 die Kennseichen im TSR 305 auf den Wert "010".
In Figur 3B hat das TSR 305 den Wert "XOl". Dieser Wert zeigt der Abrufsteuerlogik 303, daß das Befehlsregister 301 keinen
zur Befehlsverarbeitungslogik 105 au übertragenden Programmteil enthält. Demgemäß wird eine Speicherleseoperation von
der Abruf steuerlogik 30.3 ausgelöst, um die Übertragung eines Programmwortes aus dem Programmspeicher 107 zum Befehlsregister
301 su bewirken. Zusätzlich zeigen diese TSR-Werte an, daß nach der Aktualisierung des Befehlsregisters 301 mit dem neuen
Programmdatenwort das Η-Byte zum Befehlsbyteregister 304 übertragen
werden sollte. Die Abrufsteuerlogik 303 liefert ein
EPO CO1"
ο-1 υ / ο ο ö
geeignetes Steuersignal an den MUX 302, das diese Übertragung bewirkt. Die Abrufsteuerlogik 303 setzt danach die
Werte im TSR 305 auf 11OlO".
In Figur 3C hat das Übertragungszustandsregister (TSR) 305 den Wert "XlX". Dieser Wert zeigt der Abrufsteuerlogik 303
an, daß das Befehlsregister 301 den Teil des Programms nicht enthält, der als nächster zur Befehlsverarbeitungslogik
übertragen werden soll. Daher löst die Abrufsteuerlogik
eine Speicherleseoperation aus und bewirkt die Übertragung eines Worts des Programms aus dem Programmspeicher 107 zum
Befehlsregister 301. Danach gibt die Abrufsteuerlogik 303 ein Steuersignal an den MUX 302 und bewirkt die Übertragung
des Werts im L-Byte-Unterregister 301L zum Befehlsbyteregister
304. Nach Durchführung dieser Übertragung setzt die Abrufsteuerlogik 303 die Werte im Übertragungszustandsregister
305 auf "100".
Tabelle A zeigt die Hauptlogikentscheidungen und Registerwerte der Befehlsabruflogik 104 der Figur 3 während der
Übertragung der P-Code-Bytefolge 203 gemäß Fig. 2. Jede Zeile in Tabelle A entspricht einer einzelnen Abrufanforderung
von der Befehlsverarbeitungslogik 105. Zum Zwecke der Erläuterung sei angenommen, daß der 2-Byte-Befehl
B, der in den Wörtern 1 und 2 des Programmspeichers 107 gespeichert ist, eine Übertragung des Steuerbefehls ist,
der die Ausführung des Programms bewirkt, das an dem 2-Byte-Befehl F, gespeichert in den Wörtern 5 und 6 des Programmspeichers
107, fortgesetzt wird.
Es sei angenommen, daß das TSR 305 von anderen Teilen des Mikrocomputersystems 101 auf "XlO" ausgelöst worden is.t. Die
erste, von der Befehlsverarbeitungslogik 105 erzeugte Abrufanforderung
läßt die Abrufsteuerlogik 303 das TSR 305 überprüfen. Wie in Figur 3C angegeben ist, wird ein Wort
COPY J
TSR | ABRUF | |
PROZESSOR | INHALT | BEFEHLS |
ABRUF NR. | XlO | WORT |
1 | 100 | JA |
2 | 010 | NEIN |
3 | 100 | JA |
4 | 010 | NEIN |
5 | 101 | JA |
6 | MEIN | |
010
JA
BEFEHLS BEFEHLS WORT REGISTER ADRESSE INHALT
O A2A1
0 V4
G1F2
H (HOHES)
ODER
L (NIEDRIGES)
BYTE
BYTE
BEFEHLS
BYTE
BYTE
REGISTER
INHALT
INHALT
A3
■ B.
o"l U 7 b ö b
vom Programmspeicher 107 zum Befehlsregister 301 übertragen.
\ Es sei angenommen, daß Wort 0 des Programmspeichers 107 die
nächsten zwei ausführenden Bytes der P-Code-Bytefolge 203 enthält. Daher wird der Befehlsregisterinhalt auf ApA,- gesetzti
■ Wie in Figur 3C gezeigt ist, wird das L-Byte, nämlich A1,
zum Befehlsbyteregister 304 übertragen, wo es für die Befehlsverarbeitungslogik
105 zur Ausführung verfügbar ist.
! Das TSR-305 wird dann auf "100" gesetzt.
Bei Empfang der zweiten Abrufanforderung von der Befehlsverarbeitungslogik
105 wird das Η-Byte, nämlich Ap, des Befehls-
; registers 301 zum Befehlsbyteregister 304 übertragen. Das
TSR -305 wird danach auf "010" gesetzt.
In ähnlicher Weise bewirken die dritten und vierten Abrufanforderungen
von der Befehlsverarbeitungslogik 105 die Übertragung des Inhalts des Worts 1 aus dem Programmspeicher
zur Befehlsverarbeitungslogik 105 jeweils in Einzelbytes.
Die fünfte Abrufanforderung von der Befehlsverarbeitungslogik
105 bewirkt, daß das Wort 2 des Programmspeichers zum Befehlsregister 301 übertragen wird. Das L-Byte, enthaltend
Bp, des Befehlsregisters 301 wird zum Befehlsbyteregister 304 zur Verarbeitung durch die Befehlsverarbeitungslogik
105 übertragen.
Wie oben erwähnt, wird angenommen, daß der Befehl B einen Steuerungstransfer zum Befehl F bewirkt, der im Wort 5 des
Programmspeichers 107 gespeichert ist. Die Befehlsverarbeitungslogik 105 führt einen Transfer des Steuerbefehls
durch geeignete Einstellung des TSR 305 und der Befehlswortadresse aus, um die Programmausführung an der ge>wünschten
Stelle in der P-Code-Bytefolge 203 fortzu- setzen. Wie in Zeile·6 gezeigt ist, bewirkt die Befehlsverarbeitungslogik
105 den Steuerungstransfer durch Einstellen der Befehlswortadresse auf 5 und des TSR 305 auf
31 07.56
"101". Wie in Figur 3B angegeben ist, veranlaßt ein solcher Wert im TSR 305 die Abrufsteuerlogik 303 dazu, daß sie das
Auslesen eines Wortes aus dem Programmspeicher 107 anfordert. Daher wird Wort 5, das den Wert F1^E3 hat, im Befehlsregister
301 gespeichert. Der Inhalt des Η-Byte 301H des Befehlsregisters 301 wird danach zum Befehlsbyteregister 304 übertragen.
Zu beachten ist, daß der Inhalt des L-Byte des Befehlsregisters 301 nicht zum Befehlsbyteregister 304 übertragen
wird, da die Übertragung des Steuerbefehls anzeigt, daß die Programmausführung bei einem P-Code-Byte fortgesetzt
werden sollte, das im H-Byte eines Worts im Programmspeicher
107 gespeichert war.Wenn die P-Code-Bytefolge im Programmspeicher 107 gespeichert ist, bedingt die Möglichkeit
zur Adressierung irgendeines der P-Code—Bytes, daß
sich in einigen Fällen das zu übertragende P-Code-Byte im H (hohen) Byte eines Worts im Programmspeicher 107 befindet.
In diesem Falle wird, wie in Figur 3B und in der 6 Zeile der Tabelle A angegeben ist, nur eines der zwei zum Befehlsregister
301 übertragenen Bytes verwendet.
Die Verarbeitung der siebten Abrufanforderung von der Befehlsverarbeitungslogik
105 ist ähnlich der ersten, dritten und fünften Abrufanforderungen.
Figur 4 ist ein elektronisches Schemaschaltbild eines bevorzugten
Ausführungsbeispiels der neuen Befehlsabruflogik 104o Tabelle B gibt die Signalleitungssymbole im Schaltbild
gemäß Fig. 4 an. Das Ausführungsbeispiel gemäß Figur 4 ist zur Verwendung in einem Mikrocomputersystem 101, in
welchem der Systembus'102 sechzehn Bits parallel überträgt
und die Befehlsverarbeitungslogik 105 acht Bits des Daten-Programms
gleichzeitig anfordert.
Die Zeitgabeschaltung 109 erzeugt Vierphasen-Taktsignale.
ft
Während der ersten Phase ist das Signal CKl wahr, während der
EPO COPY
J Ί U / b b Ö
SYMBOL | FUNKTION |
CKl | Phase 1 der Zeitgabe |
CK2 | Phase 2 der Zeitgabe |
CK3 | Phase 3 der Zeitgabe |
CK4 | Phase 4 der Zeitgabe |
SF | Beginn Abruf |
IA | Befehlsadresse |
LIAR | Lade Befehlsadressenregister |
CIA | Laufende Befehlsadresse |
LMAR | Lade Speicheradressen register |
R | Lese aus Programmspeicher |
MBR | Speicher-Pufferregister |
IF ■ | Befehl-forciert |
FIRL | Forciere Befehlsregister ladung |
IBF | Befehls Byte - forciert |
MRC | Speicherauslesen beendet |
FIBR | Forciere Befehlsbyte register ladung |
NIB | Nächstes Befehlsbyte |
FD | Abruf ausgeführt |
TSRO | Übertragungszustands- register - Bit 0 |
TSRl | Übertragungszustands- register - Bit 1 |
TSR2 | Übertragungszustands- register - Bit 2 |
F | Abruf ausgeführt |
Cl | Soeicherlesebefehl und |
-Ausführung
Befehlsregister enthält nächstes Befehlsbyte
Zeitgabeschaltung Zeitgabeschaltung
Zeitgabeschaltung
Zeitgabeschaltung Befehlsverarbeitungslogik
BefehlsverarbeitungslogIk
Befehlsverarbeitungslogik
Befehlsabruflogik
Befehlsabruflogik
Befehlsabruflogik Speichersteuergerät
Befehlsverarbeitungslogik
BefehlsVerarbeitungslogik
BefehIsverarbeitungslogik
Speichersteuergerät Befehlsverarbeitungslogik
Befehlsabruflogik Befehlsabruflogik
Befehlsabruflogik
Befehlsabruflogik Befehlsabruflogik
Befehlsabruflogik Befehlsabruflogik
Befehlsabruflogik
Befehlsabruflogik
Befehlsabruflogik
EPO C0lDV
310756
zweiten Phase ist CK2 wahr, und ähnliches gilt für CK3 und CK4. Der Übersichtlichkeit halber sind die die Abrufsteuerlogik
303 enthaltenden Teile der Befehlsabruflogik 104 nicht
gezeigt, obwohl sie die verschiedenen Gatter und Register in Figur 4 mit Ausnahme der Register 301 und 304 und MUX
enthält.
Wenn die Befehlsverarbeitungslogik 105 das nächste Byte in Folge anfordert, erzeugt sie einen Start-Abrufimpuls auf der
SF-Signalleitung. SF bildet einen Eingang zu einer Verriegelungsschaltung
401. Die Verriegelungsschaltung wird über eine Signalleitung C4 rückgesetzt, wie weiter unten beschrieben
wird. Der Ausgang der Verriegelungsschaltung 401 bildet die
Signalleitung F. Wenn F wahr ist, bedeutet dies, daß ein Abruf eines Befehlsbytes für die Befehlsverarbeitungslogik
105 abläuft.
Das TSR 305 weist drei Verzögerungsflipflops 406, 407 und
aufο Ein Verzögerungsflipflop hält sein vorhergehendes Ausgangssignal
bis zur Beendigung eines Taktimpulses aufrecht, der ein neues Eingangssignal tastet. Ein derartiges Flipflop ist zweckmäßig, wenn nach dem Zustand seines Ausgangs
sein nächstes Eingangssignal bestimmt wird. Jedes der drei Versögerungsflipflops 406, 407 und 408 wird, von einem weiter
unten beschriebenen Signal C3 getaktet. Das Flipflop 408 hält den Wert von. Bit 0 des TSR 305 aufrecht und liefert
seinen Wert auf die Signalleitung TSR 0. Flipflops 407 und 406 führen dieselbe Funktion für die Bits 1 und 2 von TSR
305 durch»
Die Wirkung der drei Bits des TSR 305 wurde funktionell in den Figuren 3A bis C beschrieben. Bit 2 des TSR 305 nimmt
den Wert von Bit 1 während des vorhergehenden Abrufs eines Befehlsbytes an. TSR 2 wird von einer anderen Schaltung in
Pascal-Microengine* Mikrocomputersystem 101 benötigt» Bit 1 des TSR 305 bestimmt, ob das hohe Byte 301H (Byte 1=0) oder
EPO COf
J IU/öbö
das niedrige Byte 301L (Bit 1 = 1) des Befehlsregisters zum Befehlsbyteregister 304 für die Verwendung durch die Befehlsverarbeitungslogik
105 übertragen wird. Wenn Bit 1 des TSR 305 :Eins, d. h. wahr ist, so wird eine Speicherleseoperation
ausgeführt, um ein Wort aus dem Speicher 107 zum Befehlsregister 301 zu übertragen.
Wenn Bit 1 von TSR 305 Null ist, so bestimmt Bit 0 des TSR 305, ob-ein Wort aus dem Programmspeicher 107 zum Befehlsregister
301 übertragen werden soll. Wenn Bit 0 1 ist, so wird das Befehlsregister 301 vom Programmspeicher 107
aktualisiert.
Wie weiter unten genauer beschrieben werden wird, wird die
Signalleitung C3, die den Takteingang zu den Flipflops des Ubertragungszustandsregisters 305 bildet, nur während der
Endstufen einer Abrufoperation wahr. Es ist dieser Zeitpunkt, an dem TSR 305 aktualisiert wird.
Die Abrufsteuerlogik 303 weist eine Zustandssteuerlogik
450 auf, welche das TSR 305 bei Beendigung jeder Abrufanörderung durch,die Befehlsverarbeitungslogik 105 in Vorbereitung
für die nächste Abrufanforderung einstellt bzw. setzt. Die Zustandssteuerlogik 450 stellt sicher, daß das
TSR 305 die richtige Information enthält, um festzustellen, welcher Teil des Befehlsregisters 304 als nächster zur
Befehlsverarbeitungslogik 105 übertragen werden soll, und ob das Auslesen zusätzlicher Programmdaten aus dem Programmspeicher
107 erforderlich wird, wenn die nächste Abrufanforderung von der Befehlsverarbeitungslogik 105 eingeht.
Bei dem Ausführungsbeispiel gemäß Figur 4 arbeitet die Zustandssteuerlogik
450 wie folgt. Wenn die Befehlsverarbeitungslogik 105 eine Abrufanforderung auf die Signalleitung
SF gibt, so wird die Signalleitung F, d. h. der Ausgang der Verriegelungsschaltung 401 wahr. Der Ausgang eines Inverters
3107561
409 wird unwahr, wodurch das Flipflop 408 in den unwahren·
Zustand, d. h. auf Null gesetzt wird. Wenn kein Abruf verarbeitet wurde, so wird F unwahr, wodurch der Ausgang des
Inverters 409 wahr wird. In diesem Falle wird der laufende Zustand von TSR ..Q ." über ein UND-Gatter 410 zum Flipflop
408 zurückgeführt, wodurch der Wert von Bit ..0' des TSR 305 aufrechterhalten wird.
Ein Inverter 411 und ein UND-Gatter 412 führen eine ähnliche Funktion mit Bit 1 von TSR 305 durch. Wenn jedoch die Signalleitung
F wahr ist, so wird der anstehende Wert von Bit 1 des TSR 305 vom Inverter 414 invertiert und durch ein UND-Gatter
413 durchgelassen. Ein ODER-Gatter 415 kombiniert die Ausgangssignale der UND-Gatter 412 und 413 und überträgt sie
zum Flipflop 407 als neuen Wert für Bit 1 des TSR 305.
Der Inverter 416 und UND-Gatter 417 halten den Wert von Bit des TSR 305 für den Fall bei, daß eine Befehlsbyteanforderung
von der Befehlsverarbeitungslogik 105 nicht gegeben wurde, d. h. das F unwahr ist. Wenn dagegen F wahr ist, so lassen
ein UND-Gatter 418 und ein ODER-Gatter 419 den Wert von Bit des TSR 305 zum Flipflop 406 durch. Mit anderen Worten, Bit
des TSR 305 enthält den Wert von Bit 1 während der vorausgegangenen Abrufoperation.
In Figur 4 ist das Speichersteuergerät 129 mit der Befehlsabruflogik
104 über verschiedene Signalleitungen verbunden. Obwohl in Figur 4 nicht gezeigt,,sind die Signalleitungen
zwischen dem Speichersteuergerät 129 und der Befehlsabruflogik
104 normalerweise Teil des Systembus 102 des Mikrocomputersystems
101.
Das im Ausführungsbeispiel gezeigte Speichersteuergerät der Figur 4 hat ein Speicheradressregister 420 und ein
EPO COPY M
J I U y ö b ö
Speicherpufferregister 421. Bus CIA ist auf die Adresse des nächsten Worts im Programmspeicher 107 eingestellt, das
im Befehlsregister 301 gespeichert werden soll. Wenn die Signalleitung LMAR wahr ist, so verriegelt das Speichersteuergerät
129 den Inhalt des Bus CIA im Speicheradreßregister 420. Wenn die Signalleitung R wahr ist, so gibt sie
an, daß das auf dem Bus CIA vom Programmspeicher 107 spezifizierte Wort gelesen werden soll. Ein Signalbus MBR
überträgt den Inhalt des Speicherpufferregisters 421 von dem
Speichersteuergerät 129 zur Befehlsabruflogik 104. Eine Signalleitüng MRC wird vom Speichersteuergerät 129 angesteuert
und ist wahr, wenn das Speicherpufferregister 421 das von der im Speicheradreßregister 420 gespeicherten
Adresse bezeichnete Wort aus dem Programmspeicher 107 enthält. Wenn auch in Figur 4 nicht gezeigt, wird die Schnittstelle
zwischen dem Speichersteuergerät 129 und der Befehlsabruflogik 104 typischer Weise über die Systemsammelleitung
102 gebildet. Bus MBR überträgt im Ausführungsbeispiel gemäß Figur 4 parallel sechzehn Datenbits, d. h. zwei Bytes oder
ein Wort.
Ein Befehlsadreßregister 422 enthält die Adresse des Programmspeichers
107 für den nächsten Teil der aus dem Programmspeicher 107 abzurufenden Programmdaten. Das Ausgangssignal
des Befehlsadreßregisters 422 wird über den Signalbus CIA an das Speichersteuergerät 129 angelegt. Zusätzlich wird
das Ausgangssignal zu einem Addierer 423 geleitet. Dieser Addierer 423 erhöht den Wert im Befehlsadreßregister 422 und
liefert diesen als Null-Eingang zum Multiplexer 424. Wenn die Signalleitung F wahr ist, läßt der Inverter 425 den Multiplexer
424 seinen Null-Eingang an das Befehlsadreßregister 422 anlegen. Auf diese Weise wird der Wert im Befehlsadreßregister
422 erhöht, um einen sequentiellen Zugriff zum Programmspeicher 107 zu schaffen.
Für den Fall, daß ein Steuerungstransfer .durchgeführt
werden soll, wird der neue Wert für das Befehlsadreßregister 422 auf dem Signalbus IA als 1 Eingang an den
MUX 424 angelegt. Da keine Befehlsbytes während eines forcierten bzw. vorzeitigen Setzens des Befehlsadreßregisters
422 abgerufen werden, wird die Signalleitung F unwahr, was zur Folge hat, daß MUX 424 den 1 Eingang als
Eingang für das Befehlsadreßregister 422 auswählt. Dieses forcierte bzw. vorzeitige Setzen des Befehlsadreßregisters
wird dadurch eingeleitet, daß die Signalleitung LIAR wahr
gemacht wird. Der Signalbus IA und die Signalleitung LIAR
können von der Befehlsverarbeitungslogik 105 oder von anderen \
Schaltungsmodulen beispielsweise während der Systemauslösung ]
oder zum Einleiten der Verarbeitung eines Unterbrecherbefehls 1
gesteuert werden. ]
Die. Signalleitung 426, die den Ausgang des ODER-Gatters 425 ] bildet, wird unwahr, wenn eine Abrufanforderung von der f
Befehlsverarbeitungslogik 105 gegeben worden ist (d. h. j
Signalleitung F wahr ist) und entweder Bit 0 oder Bit 1 des TSR 305 wahr ist. Mit anderen Worten, die Signalleitung
426 wird wahr, wenn die Werte von Bit 0 und 1 des TSR 305 nicht so wie in Figur 3A sondern wie entweder in Figur 3B
oder 3C angegeben sind. Signalleitung 426 wird wahr, wenn I der nächstfolgende Teil der Programmdaten aus dem Programm- I
speicher 107 gelesen werden muß. Demgemäß sind Signallei- 'J
tungen R und LMAR mit der Signalleitung 426 gekoppelt. Zu- j sätzlich zeigt die Signalleitung 426 im Zustand "wahr" an,
daß der Addierer 423 den Wert des Befehlsadreßregisters 422
erhöhen soll. Wenn entweder die Signalleitung LIAR oder die Signalleitung 426 wahr ist, bewirkt das ODER-Gatter 427,
daß das Befehlsadreßregister 422 das Ausgangssignal von MUX 422 als neuen Wert für das Befehlsadreßregister 422 verriegelt·
Wie oben erwähnt, wird die Signalleitung MRC vom Speichersteuer-i
31O7568
gerät 129 angesteuert, wenn das Speicherpufferregister 421 das angeforderte Wort aus dem Programmspeicher 107 enthält.
Der Ausgang, Signalleitung Cl, des UND-Gatters 428 ist wahr, nachdem ein Befehl zur Ausleseoperation aus dem Programmspeicher
107 über die Signalleitung R eingegangen und ausgeführt worden ist, was durch den Zustand wahr auf der Signalleitung
MRC angezeigt wird.
Das Ausführungsbeispiel gemäß Figur 4 bewirkt ein forciertes bzw. vorzeitiges Laden des Befehlsregisters 301. Zu diesem
Zweck wird die Signalleitung FIRL auf wahr gesetzt und der im Befehlsregister 301 zu speichernde gewünschte Wert über
den Signalbus IF an den Multiplexer 429 angelegt. Wenn eine Abrufoperation abläuft, bewirkt der Inverter 430, daß MUX
429 den Inhalt des Signalbus MBR als Eingang zum Befehlsregister 301 anlegt. Wenn andererseits keine Abrufoperation
stattfindet und die Signalleitung FIRL auf einem Η-Wert ist, so gibt MUX 429 den Inhalt von Bus IF an das Befehlsregister
301. Das Befehlsregister 301 verriegelt den Inhalt seines Eingangs, wenn das ODER-Gatter 431 anzeigt, daß entweder
die Signalleitung·FIRL oder Cl auf einem Η-Wert ist.
Die .Signalleitung C2, der Ausgang des UND-Gatters 432,
ist wahr, wenn die Signalleitung F wahr, d. h. eine Abrufoperation abläuft, und der Ausgang des ODER-Gatters 433 wahr
ist. Der Ausgang des ODER-Gatters 433 ist wahr,
wenn entweder Cl wahr ist, d. h.. eine Ausleseoperation aus
dem Programmspeicher 107 angefordert und beendet worden ist, oder der invertierte Ausgang des ODER-Gatters 434 wahr
ist, d.h. Bits 0 und 1 des Übertragungszustandsregisters beide 0 sind. Im übrigen ist C2 wahr, wenn das Befehlsregister
301 das nächste, zur Befehlsverarbeitungslogik- 105 zu übertragende Befehlsbyte enthält. Der H-Byte-Teil 301H
des Befehlsregisters 301 wird als Null-Eingang an MUX 302 angelegt. Der L-Byte-Teil 301L wird als Eins-Eingang an MUX
302 angelegt. Die Eingänge 2 und 3 des MUX 302 werden vom
Signalbus IBF gesetzt. Der Signalbus IBF dient in Verbindung mit der Signalleitung FIBR zum Forcieren bzw. Beschleunigen
des Ladens des Befehlsbytesregister 304. Dies kann von verschiedenen
anderen Teilen der Schaltung des Prozessors 103 gewünscht werden, um einen bestimmten Befehl als nächsten
von der Befehlsverarbeitungslogik 105 ausgeführt zu haben.
MUX 302 legt eines seiner vier Eingangssignale an das Befehlsbyteregister
304, und zwar entsprechend dem an seinen Auswahl-0-und !-Eingängen anstehenden Steuersignalen. Der
Auswahleingang Ö wird vom Ausgang des UND-Gatters 435 bestimmt. Er ist nur dann wahr, wenn ein Abruf abgewickelt
wird (F wahr) und TSRl wahr ist. Mit anderen Worten, wenn die Signalleitung' F wahr ist, bestimmt der Wert von Bit 1
des TSR 305, ob der Wert im H-Byteteil 301H oder im L-Byteteil
301L des Befehlsregisters 301 vom MUX 302 zum Befehlsbyteregister 304 übertragen wird. Wenn die Signalleitung F
unwahr ist, bewirkt der Inverter 436, daß der Inhalt des Signalbus IBF vom MUX 302 an das Befehlsbyteregister 304
angelegt wird.
Das Befehlsbyteregister 304 wird vom Ausgang des ODER-Gatters 438 verriegelt, wenn die Signalleitung ■·' ·
FIBR wahr ist, was anzeigt, daß der Wert des Befehlsbyteregisters 304 forciert wird, oder wenn der Ausgang', die
Signalleitung C3, des UND-Gatters 437 wahr ist. Die Signalleitung
C3 ist wahr während der Phase 3 des Systemtaktzyklus (CK3 wahr), wenn C2 wahr ist. Wie zuvor erwähnt, wird
das Signal auf der Signalleitung C3 zum Takten der Flipflops 406 ... 408 verwendet, die das TSR 305 bilden. C3 ist wahr
während der Phase 3 des Systemtaktzyklus, wenn das Befehlsregister 301 das zum Befehlsbyteregister 304 zu übertragende
richtige Byte aus dem Programm enthält. Das Ausgangssignal des Instruktionsbyteregisters 304 wird über den Signalbus NIB als Teil des Bus 120 zur Befehlsverarbeitungslogik
105 übertragen.
EPO COPY"
JfU /bbö
Die Signalleitung C4, der Ausgang von UND-Gatter 439, wird während der Phase 4 des Systemtaktzyklus wahr, wenn C2 wahr
ist. Das Signal auf der Signalleitung C4 wird an die Befehls-Verarbeitungslogik 105 angelegt, um anzuzeigen, daß der Abruf
des nächsten Befehlsbytes beendet ist und der Bus NIB den richtigen nächsten Teil der Programmdaten enthält.
Figur 5 ist ein Computerflußdiagramm des Ausführungsbeispiels
der Befehlsabruflogik 104 gemäß Figur 4 bei deren Wechselwirkung mit anderen Teilen des Prozessors 103. Nach dem Einschalten
des Computersystems (501) wird die Systemauslösung (502) durchgeführt. Der Prozessor 103 muß sicherstellen,
daß sich ein Programm zur Ausführung im Programmspeicher 107 befindet, und verschiedene Register, einschließlich des
Befehlsadreßregisters-422 und TSR 305 auslösen. Danach muß
der Prozessor 103 feststellen, ob irgendwelche Unterbrechungen wirksam sind. (503). Wenn eine Unterbrechung wirksam ist,
wird eine Übertragung eines Steuerbefehls durchgeführt. (520). Um diese Bedingung zu erfüllen, stellt die Unterbrecherlogik
110 das Befehlsadreßregister 422 und TSR 305 so ein, daß das erste Wort des richtigen Unterbrecherprogramms als nächstes
von der Befehlsabruflogik 104 abgerufen.wird.
Danach oder wenn keine Unterbrecheroperation abläuft, ist die Befehlsverarbeitungslogik 105 bereit, um den nächsten Teil des
Programms zu verarbeiten. Die Befehlsverarbeitungslogik 105 ■gibt daher eine Abrufanforderung an die Befehlsabruflogik 104
(521). Die Befehlsanruflogik 104 prüft den Wert von Bit 1 des TSR 305 (504). Wenn er eine Eins ist, wird der Inhalt des
Befehlsädreßregisters 422 über den Bus CIA zum Speichersteuergerät
129 übertragen und ein Lesen des adressierten Speicherworts über die Signalleitung R angefordert. Nach^jdem der
adressierte Teil der Programmdaten in das Befehlsregister 301 übertragen ist, wird das L-Byte 301L des Befehlsregisters 301
zum Befehlsbytesregister 304 übertragen und der Befehlsver-
3107563 -33- :: ': -::
arbeitungslogik 105 zur Verfügung gestellt (506). Das TSR 305 ist dann wie im Block 504 angegeben, eingestellt.
Wenn die Befehlsverarbeitungslogik 105 feststellt, daß ein Steuerbefehl übertragen wird (509), stellt sie das
Befehlsadressenregister 422 und das TSR 305 geeignet ein, um die Befehlsabruflogik 104 zu veranlassen, bei
Erzeugung der nächsten Abrufanforderung das gewünschte Byte
im Programm der Befehlsverarbeitungslogik 105 zuzuführen. Wenn der ausführte Befehl, die Steuerung nicht zu einem ande-..
ren Teil des Programms überträgt, oder nachdem das Befehlsadreßregister und das TSR geeignet eingestellt wurden, um
den gewünschten Steuerungstransfer zu bewirken, stellt die Unterbrecherlogik 110 erneutrfest-, :o.b eine Unterbrechung
wirksam ist (502).
Zurückkommend auf den Entscheidungsblock 504: Wenn Bit 1 des TSR 305 Null ist, wird Bit 0 geprüft (511). Nur wenn
Bit 0 Eins ist, fordert die Befehlsabruflogik 104 das
entsprechende nächste Befehlswort aus dem Programmspeicher 107 an (512). Wie in Block 513 angegeben, wird dann das.
hohe Bit 301H des Befehlsregisters 301 zum Befehlsbyteregister 304 und zur Befehlsverarbeitungslogik 105 übertragen.
Das TSR 305 wird dann entsprechend der Angabe im Prozeßblock 514 eingestellt. Auf diese Weise führen von
der Befehlsverarbeitungslogik 105 erzeugte, aufeinanderfolgende Abrufanforderungen dazu, daß die Befehlsabruflogik
104 der "Befehlsverarbeitungslogik 105 aufeinanderfolgende Byteabschnitte des Programms zuführt.
Die beschriebene Befehlsabruflogik 104 behält alle Informationen,
die zum sequentiellen Übertragen der Programmbytes zur Befehlsverarbeitunglogik 105 erforderlich sind. Die
VerarbeitungsLogik 105 nimmt dabei die Teilung des Programms in getrennte Befehle nicht wahr. Durch Erzeugung der geeigneten
Zahl von Abrufanforderungen kann die Befehlsverarbeitungslogik 105 jedoch über ihren Bus 120 bei einer Ein-Byte-
IJ"
f. ■ - - ■ - ό I U / O D ö
Breite Befehle beliebiger Länge beziehen, und zwar unabhängig von der Art, in der die Befehle im Programmspeicher 107 gespeichert
wurden, und unabhängig von der Breite des Systembus 102, der die Befehle zur Befehlsabruflogik überträgt.
Im Rahmen des Erfindungsgedankens sind, wie dem Fachmann
klar ist, Änderungen und Abwandlungen möglich. So kann beispielsweise die neue Befehlsabruflogik gemäß Figur 4 geeignet
erweitert werden, um beliebig breite Systemsammeikanäle 102 zur Befehlsverarbeitungslogik zu puffern, wobei
letztere einen Sammelkanal oder Bus 120 einer beliebigen Breite haben kann. Wenn die Systembusbreite ein Vielfaches
der Busbreite zwischen der Befehlsabruflogik und der Befehlsverarbeitungslogik ist, kann das Befehlsregister in eine Vielzahl
von Unterregistern unterteilt sein, deren Inhalt über einen Multiplexer unter Steuerung der Abrufsteuerlogik selektiv
zur Befehlsverarbeitungslogik übertragen werden kann.
Claims (13)
- PATENTANWÄLTE ZENZ & HELBER · D 43OO ESSEN 1 · AM RUHRSJEjN 1 ·-TEi..;;(O2O1? 4Ϊ26 Seite -Sf~- ■ WWESTERN DIGITAL CORPORATIONPatentansprüc heIJ Datenverarbeitungseinrichtung zur Ausführung eines Pascal P-Code-Programms, wobei der P-Code Befehle von 1, 2, 3 und 4 Bytes Länge'enthält, mit einem Speicher zur Speicherung des Programms als Folge von Zwei-Byte-Wörtern unabhängig von der Länge jedes Einzelbefehls und einem Prozessor, dadurch gekennzeichnet , daß der Prozessor (103) die folgenden Schaltungen enthält:eine Befehlsverarbeitungslogik (105), die eine Abrufanforderung zur Gewinnung des nächsten Byte eines Befehls in der Programmfolge (203) und nach Eingang des ersten Byte eines P-Code-Befehls die zur Gewinnung des gesamten Befehls erforderlichen 0, 1, 2 oder 3 zusätzlichen Abrufanforderungen erzeugt,ein Befehlsregister (301) zur Speicherung eines aus dem Speicher (107) abgerufenen Zwei-Byte-Worts,ein Übertragungszustandsreglster (305) zur Speicherung' eines diejenigen Operationen bezeichnenden Zustandscodes, die zur Gewinnung und zur Übertragung des nächsten Byte in der Programmfolge zu der Befehlsverarbeitungslogik (105) erforderlich sind, undeine bei Empfang einer Abrufanforderung (SF - Fig. 4) aus der Befehlsverarbeitungslogik (105) wirksameO I U / ΌΌΟSteuerlogikschaltung (302, 303), die das nächste Wort in der Folge des Programms aus dem Speicher (107) abruft und es im Befehlsregister (301)
speichert, wenn der Zustandscode angibt, daß das Befehlsregister (301) das als nächstes zur Befehlsverarbeitungslogik zu übertragende Byte
nicht enthält, die ferner das nächste Byte in der Programmfolge nach Maßgabe des Zustandscodes vom Befehlsregister (301) zur Befehlsverarbeitungslogik (105) überträgt und die den für die Operationen
bei Empfang der nächsten Abrufanforderungjnaßgeblichen Zustandscode neu einstellt, so daß der
Prozessor (103) die Steuerung des Programmbefehlabrufs unabhängig von der Anzahl von Bytes inf jedem Befehl abwickelt. - 2. Datenverarbeitungseinrichtung nach Anspruch 1, da-: durch gekennzeichnet, daß das Befehlsregister (301) inj ein H-Byte-Unterregister (301H) und ein L-Byte-Unter-register (301L) unterteilt ist und daß das Übertragungs-j zustandsregister (305) so angeordnet ist, daß es alswenigstens einen Teil des Zustandscodes erste und zweite{ Zustandskennzeichen speichert, die gemeinsam angeben,! welche der drei folgenden Operationen zur Übertragungj des nächsten Byte in der Programmfolge (203) vom Befehlsregister (301) zur Befehlsverarbeitungslogik (105) durch-geführt werden soll:a) der Inhalt (H) des H-Byte-Unterregisters (301H)soll zur Befehlsverarbeitungslogik (105) übertragen werden,.b) das nächste Wort in der Programmfolge soll aus dem Speicher (107) abgerufen und im Befehlsregister (301) gespeichert werden und der aktualisierte Inhalt des H-Byte-Unterregisters soll zur Befehlsverarbeitungslogik (105) übertragen werden, oderc) das nächste Wort in der Programmfolge soll aus dem Speicher (107) abgerufen und im Befehlsregister (301) gespeichert werden, und der aktualisierte Inhalt des L-Byte-Unterregisters (301L) soll zur Befehlsverarbeitungslogik (105) übertragen werden.
- 3. Datenverarbeitungseinrichtung nach Anspruch 2, dadurch gekennzeichnet, daß das erste Zustandskennzeichen den Inhalt des H-Byte-Unterregisters (301H) oder des L-Byte-Unterregisters (301L) für die nächste Übertragung zur Befehlsverarbeitungslogik (105) bezeichnet.
- 4. Datenverarbeitungseinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ein Adreßregister (422) zur Speicherung der Speicheradresse des zuletzt zum Befehlsregister (301) übertragenen Programmworts und ein die im Adreßregister bei Empfang eines Schaltsignals gespeicherte Adresse erhöhender Addierer (423) vorgesehen sind und daß die Steuerlogikschaltung (303) so ausgebildet ist, daß sie das Schaltsignal erzeugt und den sich ergebenden Inhalt des Adreßregisters als Adresse für das nächste Programmwort an den Speicher (10 7) überträgt.
- 5. Datenverarbeitungseinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Steuerlogikschaltung (303) eine Zustandssteuerlogik (450 - Fig. 4) aufweist, die nach der Übertragung eines Programmbytes zur Befehlsverarbeitungslogik (105) den Zustandscode im Übertragungszustandsregister (305) in Vorbereitung auf die nächste Abrufanforderung wie folgt neu einstellt:'a) Übertragen des Inhalts des dem zuvor gerade zugegriffenen Unterregister entgegengesetzten Unterregisters, undb) Abruf des nächsten Programmworts und Speicherung desselben im Befehlsregister (301) vor der Über-"EPO COPYο ι υ / ο b ötragung eines Befehlsregisterinhalts zur Befehlsverarbeitungslogik (105), wenn der Inhalt des H-Byte-Unterregisters (301H) gerade übertragen worden ist.
- 6. Datenverarbeitungseinrichtung mit einem Bus zur Parallelübertragung von Datenwörtern mit zwei Bytes zwischen angeschlossenen Schaltungsmoduln, einer Speicheranordnung zum Abrufen des durch eine Adresse bezeichneten Programmworts und einer Befehlsverarbeitungslogik zur ! . Erzeugung eines ein Programmbyte zur Ausführung anfor-• dernden Abrufanforderungssignals, gekennzeichnet durcheine Befehlsabruflogik (104) mit einem mit dem Systembus j (102) gekoppelten Befehlsregister (301) zur Zwischen- " speicherung eines aus dem Speicher (106, 107) gewonnenen 5 Programmworts, einem Adreßregister (422) zur Speicherung I der aus dem Speicher für das Befehlsregister (301) abgerufenen Adresse des Programmworts, einem mit dem Befehls-I register (301) gekoppelten Multiplexer (302) zum Anlegen I des Inhalts eines ausgewählten Bytes des Befehlsregisters I an die Befehlsverarbeitungslogik (105) nach Maßgabe eines jj Auswahlsignals, einem Übertragungszustandsregxster (305) I zur Speicherung von Informationen, die angeben, welches \ im Befehlsregister (301) zwischengespeicherte Programm-ί byte bei der nächsten Abrufanforderung der Befehlsverari beitungslogik zu/letzterer übertragen werden soll, und \ mit einer Abruflogik (303), welche die folgenden Teil- : schaltungen enthält:; . a) eine Schaltung, die bei Empfang des Abrufsignalsvon der Befehlsverarbeitungslogik (105) die Information im Übertragungszustandsregister (305) prüft, um den als nächsten zur Befehlsverarbeitungslogik zu übertragenden Programmbyteabschnitt zu bestimmen,b) eine Schaltung zur Änderung des Inhalts des Befehlsregisters (301) zur Anpassung an dieEPO COPYSpeicheradresse des den als nächsten zur Befehlsverarbeitungslogik (105) zu übertragenden Byteabschnitt enthaltenden Programmworts, ferner zum Übertragen des Adreßregisterinhalts über den Systembus (102) zur Speicheranordnung für den Abruf des adressierten Programmworts und zum Übertragen des abgerufenen Programmworts, zum Befehlsregister,c) eine Schaltung zur Erzeugung des Auswahlsignals für den Multiplexer zur Auswahl des im Befehlsregister (301) zwischengespeicherten Programmbytes für die Übertragung zur Befehlsverarbeitungslogik nach Maßgabe des Übertragungszustandsregisters (305) undd) eine Schaltung zur Neueinstellung des Inhalts des Übertragungszustandsregisters (305) auf das als nächstes zur Befehlsverarbeitungslogik zu übertragende Programmbyte,so daß eine Folge von aufeinanderfolgend unterschiedlichen Bytes des Programms bei aufeinanderfolgenden Abrufsignalen von der Befehlsverarbeitungslogik an letztere anlegbar ist.
- 7. Datenverarbeitungseinrichtung zur Ausführung eines Pascal P-Code-Programms, wobei der P-Code Befehle einer Länge von 1,.2, 3 und 4 Bytes enthält, mit einem eine Folge von Zwei-By-te-Wörtern speichernden Speicher und einer Befehlsverarbeitungslogik (105), welche die Ausführung der Befehle durch die Datenverarbeitungseinrichtung steuert, dadurch gekennzeichnet, daß die Befehlsverarbeitungslogik (105) eine Einrichtung zur Erzeugung einer Abrufanforderung zur Gewinnung des ersten Byte eines Befehls in der Programmfolge und zur Erzeugung von 0, 1, 2 oder 3 zusätzlichen Abrufanforderungen für die Gewinnung des gesamten P-Code-Befehls nach Erhalt des ersten Bytes aufweist, daß ein Befehlsregister (301) zur■ ■_--■ oju /oböSpeicherung eines vom Speicher (107) abgerufenen Zwei-Byte-Worts vorgesehen ist, daß ein Übertragungszustandsregister (305) mit dem Befehlsregister (301) und dem Speicher (107) betriebsmäßig gekoppelt ist und den Abruf eines Worts aus dem Speicher, dessen Eingabe in das Befehlsregister (301) und das Anlegen eines bestimmten Bytes des in dem Befehlsregister zwischengespeicherten Worts an die Befehlsverarbeitungslogik (105) nach Maßgabe einer Gruppe von Zustandscodewerten selektiv steuert, und daß eine Steuerlogik (303, 450) mit dem Übertragungszustandsregister (305) gekoppelt und von einer Abrufanforderung (SF) aus der Befehlsverarbeitungslogik (105) abhängig gesteuert ist, um das Übertragungszustandsregister zur Durchführung der vom wirksamen Zustandscodewert bestimmten nächsten Operation und zum Einstellen des Zustandscodes auf einen neuen Wert veranlaßt, der in Abhängigkeit von der als nächste empfangenen Abrufanforderung das im Programm nachfolgende Befehlsbyte zur Befehlsverarbeitungslogik (105) übertragen läßt.
- 8. Datenverarbeitungseinrichtung nach Anspruch 7, dadurch gekennzeichnet, daß ein Befehlsadreßregister (422) zur Bezeichnung der Adresse des als nächstes aus dem Speicher (10 7) abzurufenden Zwei-Byte-Worts vorgesehen ist, wobei die Steuerlogik (303, 450) die bezeichnete Adresse in Abhängigkeit von der Ausführung von durch bestimmte Zustandscodewerte bezeichneten Operationen erhöht bzw. weiterschaltet.
- 9. Datenverarbeitungseinrichtung mit einer Speicheranordnung zur Speicherung von Programmdaten und zur Parallelübertragung von m-Bit-Abschnitten der Programmdaten, nach Maßgabe eines Adreßsignals bei Empfang eines Lesesignals und mit einem Befehlsprozessor, der ein Abrufsignal für parallel zu übertragende η £ m-Bitabschnitte der Programmdaten erzeugt, gekennzeichnet durch eine Abruflogik (104), aufweisend einen Adreßspeicher zur Speicherung einer dennächsten m-Bit-Programmdatenabschnitt in der Programmfolge bezeichnenden Programmadresse und zum Anlegen der Programmadresse als Adreßsignal an die Speicheranordnung, ein Befehlsregister (301), das die von der Speicheranordnung übertragenen m-Bit-Programmdatenabschnitte an ausgewählten Registerplätzen speichert und bei Empfang eines bestimmte Registerplätze bezeichnenden Ausgangssteuersignals den Inhalt der bezeichneten Registerplätze parallel zu dem Befehlsprozessor überträgt, ein Zustandsregister,das Informationen darüber enthält, ob oder welche Plätze des Befehlsregisters den n-Bit-Programmabschnitt enthalten, der als nächster zum Befehlsprozessor übertragen werden soll, und eine mit dem Zustandsregister, dem Befehlsregister und der Adreßspeicheranordnung verbundene Steuereinrichtung, die bei Empfang des Abrufsignals vomBefehlsprozessor das Zustandsregister prüft, um die den als nächsten zum Befehlsprozessor zu übertragenden, n-Bit-Programmdatenabschnitt speichernden Befehlsregisterplätze zu bestimmen, die ferner ein Lesesignal an die Speicheranordnung gibt, wenn nach der Information im Zustandsregister das Befehlsregister den nächsten n-Bit-Programmdatenabschnitt.nicht enthält, damit die Speicheranordnung den in Folge nächsten m-Bit-Programmdatenabschnitt zum Befehlsregister übertragen kann, und die das Ausgangs— steuersignal an das Befehlsregister legt, um die Parallelübertragung des in der Folge nächsten n-Bit-Programmdatenabschnitts zum'Befehlsprozessor zu bewirken.
- 10. Datenverarbeitungseinrichtung nach Anspruch 9, dadurch gekennzeichnet, daß das Befehlsregister ein Halteregister, das kn-Bits der Programmdaten enthält und in eine Folge von k, jeweils η-Bits deriProgrammdaten speichernden Unterregistern eingeteilt ist, und' einen ausgangsseitigen Multiplexer aufweist, dej^fnit den k-Unterregistern gekoppelt ist und das Ausgangssteuersignal zur Bezeichnung eines besonderen Unterregisters für die Übertragung seines Speicherinhalts zum Befehlsprozessor verwendet.COPY ÜOJU/ODö
- 11. Datenverarbeitungseinrichtung nach Anspruch 10, dadurch gekennzeichnet, daß m - kn ist und daß das Befehlsregister zusätzlich einen eingangsseitigen Multiplexer mit mehreren m-Bit-Eingängen aufweist, von denen ein erster Eingang mit der Speicheranordnung gekoppelt ist,, wobei der eingangsseitige Multiplexer eines seiner Eingangssignale nach Maßgabe eines Eingangs-Steuersignals an das Halteregister überträgt.
- 12. Datenverarbeitungseinrichtung nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß das Befehlsregister außerdem ein Pufferregister aufweist, das mit dem Ausgang des ausgangsseitigen Multiplexers und dem Befehlsregister gekoppelt ist und den Inhalt des bezeichneten Unterregisters für den Zugriff durch den Befehlsprozessor speichert.
- 13. Datenverarbeitungseinrichtung nach einem der An-Sprüche 9 bis 12, dadurch gekennzeichnet, daß die Adreßj speicheranordnung ein die Programmadresse speicherndes Adreßregister und einen mit diesem gekoppelten Addierer aufweist, welcher den Inhalt des Adreßregisters bei ι Empfang eines Schaltsignals erhöht, so daß die Programmadresse zu dem in der Folge nächsten m-Bit-Programmdatenabschnitt vorrückt.EPO CGPY
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/126,313 US4325118A (en) | 1980-03-03 | 1980-03-03 | Instruction fetch circuitry for computers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3107568A1 true DE3107568A1 (de) | 1982-03-25 |
Family
ID=22424135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3107568A Withdrawn DE3107568A1 (de) | 1980-03-03 | 1981-02-27 | Datenverarbeitungseinrichtung |
Country Status (6)
Country | Link |
---|---|
US (1) | US4325118A (de) |
JP (1) | JPS56137448A (de) |
DE (1) | DE3107568A1 (de) |
FR (1) | FR2477301A1 (de) |
GB (1) | GB2070825A (de) |
IT (1) | IT1138988B (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6037938B2 (ja) * | 1980-12-29 | 1985-08-29 | 富士通株式会社 | 情報処理装置 |
US4514804A (en) * | 1981-11-25 | 1985-04-30 | Nippon Electric Co., Ltd. | Information handling apparatus having a high speed instruction-executing function |
US4651276A (en) * | 1982-10-06 | 1987-03-17 | Mcdonnell Douglas Corporation | Computer read next instruction system |
US5117496A (en) * | 1988-05-23 | 1992-05-26 | Hewlett-Packard Company | Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands |
US5109332A (en) * | 1988-09-09 | 1992-04-28 | Compaq Computer Corporation | System for controlling the transferring of different widths of data using two different sets of address control and state information signals |
JPH03102483A (ja) * | 1989-09-18 | 1991-04-26 | Hitachi Ltd | 自動車用組込み形1チップマイコン、プログラム開発装置 |
US5278974A (en) * | 1989-12-04 | 1994-01-11 | Digital Equipment Corporation | Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths |
WO1993019416A1 (en) * | 1992-03-25 | 1993-09-30 | Zilog, Inc. | Fast instruction decoding in a pipeline processor |
JP3454294B2 (ja) * | 1994-06-20 | 2003-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプル・バス情報処理システム及びブリッジ回路 |
JP3634379B2 (ja) * | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
WO1997027537A2 (en) * | 1996-01-24 | 1997-07-31 | Sun Microsystems, Inc. | A processor for executing instruction sets received from a network or from a local memory |
US6643760B2 (en) * | 2001-04-30 | 2003-11-04 | Zilog, Inc. | Architecture to relax memory performance requirements |
US7558900B2 (en) * | 2004-09-27 | 2009-07-07 | Winbound Electronics Corporation | Serial flash semiconductor memory |
US7689735B2 (en) * | 2005-10-03 | 2010-03-30 | Arm Limited | Instruction stream control |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3228005A (en) * | 1960-12-30 | 1966-01-04 | Ibm | Apparatus for manipulating data on a byte basis |
US3490005A (en) | 1966-09-21 | 1970-01-13 | Ibm | Instruction handling unit for program loops |
NL149925C (de) | 1968-10-25 | 1976-06-15 | ||
US4109310A (en) * | 1973-08-06 | 1978-08-22 | Xerox Corporation | Variable field length addressing system having data byte interchange |
US3978456A (en) * | 1974-12-16 | 1976-08-31 | Bell Telephone Laboratories, Incorporated | Byte-by-byte type processor circuit |
DE2557787C2 (de) | 1975-12-22 | 1982-09-09 | Siemens AG, 1000 Berlin und 8000 München | Vorausladeeinrichtung zum mikroprogrammierten und verdeckten Bereitstellen von Maschinenbefehlen unterschiedlichen Formats in einem Prozessor eines datenverarbeitenden Systems |
US4099229A (en) * | 1977-02-14 | 1978-07-04 | The United States Of America As Represented By The Secretary Of The Navy | Variable architecture digital computer |
JPS54122042A (en) * | 1978-03-15 | 1979-09-21 | Toshiba Corp | Electronic computer |
US4236206A (en) * | 1978-10-25 | 1980-11-25 | Digital Equipment Corporation | Central processor unit for executing instructions of variable length |
-
1980
- 1980-03-03 US US06/126,313 patent/US4325118A/en not_active Expired - Lifetime
-
1981
- 1981-02-27 DE DE3107568A patent/DE3107568A1/de not_active Withdrawn
- 1981-03-02 GB GB8106538A patent/GB2070825A/en not_active Withdrawn
- 1981-03-03 FR FR8104228A patent/FR2477301A1/fr not_active Withdrawn
- 1981-03-03 JP JP3041081A patent/JPS56137448A/ja active Pending
- 1981-03-03 IT IT20093/81A patent/IT1138988B/it active
Also Published As
Publication number | Publication date |
---|---|
GB2070825A (en) | 1981-09-09 |
JPS56137448A (en) | 1981-10-27 |
IT1138988B (it) | 1986-09-17 |
IT8120093A0 (it) | 1981-03-03 |
US4325118A (en) | 1982-04-13 |
FR2477301A1 (fr) | 1981-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE3587591T2 (de) | Mikroprozessor für Forth-ähnliche Sprache. | |
DE3424962C2 (de) | ||
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE1956604A1 (de) | Datenverarbeitungsanlage mit einem Speichersystem | |
DE2145120A1 (de) | Digitales Datenverarbeitungsgerat | |
DE2630323A1 (de) | Datenspeichereinrichtung | |
DE3107568A1 (de) | Datenverarbeitungseinrichtung | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE3302922A1 (de) | Verfahren und vorrichtung fuer speichersteuerungen | |
DE1286789B (de) | Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher | |
DE2432608B2 (de) | Speicheranordnung für eine Datenverarbeitungseinrichtung | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE3043653A1 (de) | Datenverarbeitungsanlage | |
DE2739525C2 (de) | Rechner | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE2458525B2 (de) | Speicheranordnung mit Haupt- und Pufferspeicher | |
DE3506592C2 (de) | Aufzeichnungsgerät | |
DE102004012516A1 (de) | Computersystem zur elektronischen Datenverarbeitung | |
DE3587517T2 (de) | Paralleler Registertransfermechanismus für Reduktionsprozessor zur Durchführung von Programmen die als binäre Graphen gespeichert sind und die Anwendungssprachenkodes ohne Variablen verwenden. | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE68926915T2 (de) | Informationsverarbeitungsgerät und -methode | |
DE2349590A1 (de) | Vorrichtung zur datenverarbeitung | |
DE69807738T2 (de) | Verfahren und vorrichtung zur byteausrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 9/44 |
|
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
8140 | Disposal/non-payment of the annual fee for main application |