DE3107568A1 - Datenverarbeitungseinrichtung - Google Patents

Datenverarbeitungseinrichtung

Info

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
Application number
DE3107568A
Other languages
English (en)
Inventor
Joseph Laguna Hills Calif. Devita
Brian Costa Mesa Calif. Pirzadeh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Corp
Original Assignee
Western Digital Corp
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 Western Digital Corp filed Critical Western Digital Corp
Publication of DE3107568A1 publication Critical patent/DE3107568A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction 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)
  • Devices For Executing Special Programs (AREA)
  • Executing Machine-Instructions (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.
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
TABELLE A
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
BEFEHLS
BYTE
REGISTER
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 Ö
TABELLE 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
GENERATION
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)

  1. PATENTANWÄLTE ZENZ & HELBER · D 43OO ESSEN 1 · AM RUHRSJEjN 1 ·-TEi..;;(O2O1? 4Ϊ26 Seite -Sf~- ■ W
    WESTERN DIGITAL CORPORATION
    Patentansprüc he
    IJ 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, und
    eine bei Empfang einer Abrufanforderung (SF - Fig. 4) aus der Befehlsverarbeitungslogik (105) wirksame
    O 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 in
    f jedem Befehl abwickelt.
  2. 2. Datenverarbeitungseinrichtung nach Anspruch 1, da-
    : durch gekennzeichnet, daß das Befehlsregister (301) in
    j 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 als
    wenigstens einen Teil des Zustandscodes erste und zweite
    { Zustandskennzeichen speichert, die gemeinsam angeben,
    ! welche der drei folgenden Operationen zur Übertragung
    j 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, oder
    c) 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. 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. 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. 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, und
    b) 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. 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 durch
    eine 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 Abrufsignals
    von 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 die
    EPO COPY
    Speicheradresse 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) und
    d) 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. 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. 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. 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 den
    nä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 vom
    Befehlsprozessor 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. 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. 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. 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. 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
DE3107568A 1980-03-03 1981-02-27 Datenverarbeitungseinrichtung Withdrawn DE3107568A1 (de)

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)

* Cited by examiner, † Cited by third party
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 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプル・バス情報処理システム及びブリッジ回路
KR100513138B1 (ko) * 1996-01-24 2005-09-07 선 마이크로시스템즈 인코퍼레이티드 네트워크 또는 로컬 메모리로부터 수신된 명령 세트를실행하는 프로세서 및 컴퓨터 시스템
JP3634379B2 (ja) * 1996-01-24 2005-03-30 サン・マイクロシステムズ・インコーポレイテッド スタックキャッシングのための方法及び装置
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)

* Cited by examiner, † Cited by third party
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
FR1536616A (fr) 1966-09-21 Ibm Système de traitement d'instructions avec des perfectionnements pour le branchementet les boucles du programme
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

Also Published As

Publication number Publication date
IT1138988B (it) 1986-09-17
IT8120093A0 (it) 1981-03-03
JPS56137448A (en) 1981-10-27
FR2477301A1 (fr) 1981-09-04
US4325118A (en) 1982-04-13
GB2070825A (en) 1981-09-09

Similar Documents

Publication Publication Date Title
DE2350884C2 (de) Adreßumsetzungseinheit
DE3587591T2 (de) Mikroprozessor für Forth-ähnliche Sprache.
DE3424962C2 (de)
DE2829668A1 (de) Kanaldatenpufferspeicher
DE2432608C3 (de) Speicheranordnung fur eine Datenverarbeitungseinrichtung
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
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
DE2747304C3 (de) Einrichtung zur Mikrobefehlssteuerung
DE2108157A1 (de) Datenverarbeitungsanlage mit über lagertem Speicherverkehr
DE2245284A1 (de) Datenverarbeitungsanlage
DE68926915T2 (de) Informationsverarbeitungsgerät und -methode

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