DE1549474B2 - Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls - Google Patents

Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls

Info

Publication number
DE1549474B2
DE1549474B2 DE1549474A DE1549474A DE1549474B2 DE 1549474 B2 DE1549474 B2 DE 1549474B2 DE 1549474 A DE1549474 A DE 1549474A DE 1549474 A DE1549474 A DE 1549474A DE 1549474 B2 DE1549474 B2 DE 1549474B2
Authority
DE
Germany
Prior art keywords
execution
units
instruction
command
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE1549474A
Other languages
English (en)
Other versions
DE1549474C3 (de
DE1549474A1 (de
Inventor
David Wendell Anderson
Don Michael Powers
Robert Marco Staatsburg Tomasulo
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1549474A1 publication Critical patent/DE1549474A1/de
Publication of DE1549474B2 publication Critical patent/DE1549474B2/de
Application granted granted Critical
Publication of DE1549474C3 publication Critical patent/DE1549474C3/de
Expired 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

3 . 4 .
jede Klasse von Instruktionen ihren eigenen Satz struktionsfolgen zu steuern. Hierdurch wird folgen-
von Akkumulatoren. Diese Tatsache ermöglicht die des erreicht:
Unabhängigkeit zwischen getrennten Klassen von
Instruktionsfolgen, wie beispielsweise Festkomma 1. Parallele Ausführung innerhalb sequentieller
und Gleitkomma. Innerhalb einer einzelnen Klasse 5 Instruktionen.
ist nur ein Satz von Akkumulatoren vorhanden, 2. Nicht sequentielle Ausführung innerhalb von
welcher programmspezifizierte Folgen als unabhän- Instruktionen, die keine Dringlichkeitsbeziehun-
gige Operationen mit einschließt. gen aufweisen.
Für eine Anordnung in einer elektronischen digi- 3. Eine Unempfindlichkeit des Daten verarbeitungs-
talen Datenverarbeitungsanlage zur Ausführung eines io systems gegenüber Programmvariationen in den
ersten Befehls und gleichzeitigen Decodierung eines Instruktionsfolgen,
folgenden Befehls besteht die Erfindung darin, daß
zur Operandenverarbeitung im Zuge der Ausführung Zusammen mit dem . Kennzeichnungssystem verdes ersten Befehls über ein gemeinsames Sammel- wendet die Einrichtung ein System von Reservieleitungssystem eine Befehlsquelle, Ausführungs- 15 rungseinheiten RU, welche die Durchführung von einheiten für die Operandenverarbeitung und Arbeits- Wartezeiten für Operanden ermöglichen, die vom register für die Speicherung von Operanden mitein- Hauptspeicher oder von einer Ausführungseinheit, ander verbunden sind, daß ferner ein Kennungs- entsprechend der Vervollständigung einer Ausfühgenerator vorgesehen ist, der die für die Ausführung rung von früheren Instruktionen, erwartet werden, eines Befehls gemäß den Angaben in diesem Befehl 20 Während dieser Wartezeiten wird die Decodierung zusammengehörige Ausführungseinheit und das Ar- und teilweise Ausführung nachfolgender Instrukbeitsregister bzw. bei deren NichtVerfügbarkeit funk- tionen ohne ihre zugehörigen Operanden ermöglicht, tionsgleiche Einheiten auswählt, indem er für jeden Das Ausführungsbeispiel der Erfindung enthält Befehl die jeweilige Kennung der ausgewählten Ein- auch eine neue Technik für die Unterbrechung von heiten auf die Sammelleitung eingibt, über welche 25 Dringlichkeitsbeziehungen in einer Folge von Indiese Kennungen zu den einzelnen Einheiten über- struktionen, die zusätzlich zu der bekannten Techtragen und dort gespeichert werden, so daß durch nik der Unterbrechung einer Dringlichkeitsbeziehung dauernden Vergleich der Kennungen der genannten durch Programmierung des Instruktionsstromes verEinheiten mit den Kennungen auf der Sammel- wendet wird, um ein anderes Arbeitsregister als leitung bei Übereinstimmung der Kennungen die 30 Verbraucher von Instruktionen anzusteuern. Die Übertragung der Operanden von oder zu den ge- neue Technik bewirkt, daß eine beliebige Ladenannten Einheiten ausgelöst wird. Instruktion eine Dringlichkeitsbeziehung unterbricht,
Vorteilhafte Ausgestaltungen und Weiterbildungen selbst dann, wenn die Ladeinstruktion das gleiche
der Erfindung sind den Unteransprüchen zu ent- Verbraucherregister betrifft,
nehmen. 35 Dieses ist deshalb möglich, weil Kennzeichen-
Die Vorteile der Erfindung liegen darin, die Aus- Übertragungen die Ausführung aufeinanderfolgender
führung einer Instruktionsfolge in einem beliebigen Instruktionen ermöglichen, die sich auf das gleiche
Computer zu beschleunigen, welcher Mehrfachaus- Arbeitsregister beziehen. Ferner ermöglichen sie die
führungseinheiten und einen oder mehrere Akku- Umgehung nicht verfügbarer Arbeitsregister und ver-
mulatoren (per Programm adressierbare Arbeits- 40 wenden an deren Stelle ein mit Kennzeichen ver-
register) besitzt. Dadurch können Gleitkomma- sehenes Ersatzregister. Ferner wird außer der De-
instruktionen kontinuierlich mit der Geschwindigkeit Codierungszeit keine Ausführungszeit benötigt, wenn
von einer Instruktion je Maschinenzyklus decodiert Ladeinstruktionen in der Einrichtung ausgeführt
werden. werden.
Im folgenden wird ein Ausführungsbeispiel der 45 Die Einrichtung zur Befehlsverarbeitung ist in Erfindung an Hand der Zeichnungen näher beschrie- F i g. 1 dargestellt. Diese Figur zeigt ein Ausführungsben. Es zeigt system, welches mit einer gemeinsamen Daten-
F i g. 1 ein vereinfachtes Blockschaltbild einer Sammelleitung ausgerüstet ist. Die F i g. 2 und 3 zei-
Datenverarbeitungsanlage, in der die Erfindung gen Schaltungsvarianten dieses Systems. Die in Ma-
verwendet wird, 50 schinensprache codierten Instruktionen für fast alle
F i g. 2 und 3 Systemvarianten der Einrichtung mittleren und großen Datenverarbeitungssysteme ge-
nach F i g. 1, ben ein Arbeitsregister an, in welches Operanden-
F i g. 4 eine schematische Darstellung der Eingänge und Instruktionsergebnisse übertragen werden,
des Systems der gemeinsamen Datensammelleitung Diese Arbeitsregister sind in F i g. 1 mit Rs und in
und 55 den F i g. 2 und 3 mit FLR bezeichnet. Die Kenn-
Fig. 5 eine schematische Darstellung der zeit- Zeichnungsschaltungen, welche in dem System mit
liehen Bedingungen für die Übertragung des Sammel- der gemeinsamen Datensammelleitung (CDB) ver-
leitungskennzeichens. . wendet werden, bewirken, daß ein spezifiziertes Arbeitsregister für das Programm »verfugbar« erscheint,
Allgemeine Beschreibung 6o selbst dann, wenn es in Wirklichkeit nicht verfügbar ist. Die Bezeichnungen »nicht verfügbar« und
Ein Ausführungsbeispiel der Erfindung enthält »verfügbar« definieren das Vorhandensein oder
für die Übertragung von Daten aus dem Haupt- NichtVorhandensein eines Operanden in dem Re-
speicher zu den Operations-Ausführungseinheiten gister zu derjenigen Zeit, zu der die laufende In-
und für die entgegengesetzte Übertragungsrichtung 65 struktion in der Verarbeitungseinheit decodiert wird,
eine gemeinsame Datensammelleitung CDB, wobei Ein »nicht verfügbares« Register erwartet einen zu-
ein spezielles Kennzeichnungsschema verwendet künftigen Operanden, welcher zu ihm zu einer spä-
wird, um Dringlichkeitsprobleme innerhalb der In- teren Zeit übertragen wird, obwohl in der Einrich-
1 54U 4/4
5 6
tung dieses Registers den zukünftigen Operanden nie- übertragen, aber nicht geändert. Mit anderen Worten,
mais empfangen kann. das Kennzeichen in einem besetzten Arbeitsregister
Der in F i g. 1 mit / bezeichnete Block soll eine ist die Adresse der letzten Verarbeitungseinheit,
Quelle darstellen, die Instruktionsfolgen an verschie- welche ihr Ergebnis in dieses Register übertragen
dene Ausführungseinheiten CZ1 bis Un liefert, deren 5 will.
Ergebnisse in besonders angegebene Speicher- Jede Ausführungseinheit fordert nach Vervollstänelemente, wie beispielsweise die Arbeitsregister Rs, digung einer Operation einen Abschnitt auf der ge- oder in den Hauptspeicher der Anlage eingespeichert meinsamen Datensammelleitung an. Wenn einer Auswerden sollen. Die Ausführungseinheiten können führungseinheit ein solcher Abschnitt zugeteilt worden jede Untergruppe von Befehlen bearbeiten, d. h., daß ίο ist, dann überträgt sie ihr Ergebnis auf diese Sammelbeispielsweise U1 nur Additionen und beispielsweise leitung. Ferner überträgt sie über Steuerleitungen ihre Un nur Multiplizier- oder Dividieroperationen aus- eigene Adresse zu allen anderen Ausführungseinheiten führen kann. Darüber hinaus müssen die Ausfüh- und zu dem Arbeitsregister Rs, zu welchem ihr Errungseinheiten auch in der Lage sein, alle erforder- gebnis übertragen wird. Alle Ausführungseinheiten, liehen Operanden für eine gewisse Zeit festzuhalten. 15 die auf Operanden warten, vergleichen dieses Für die Übertragung ihrer Ergebnisse verwenden die Sammelleitungskennzeichen mit den Kennzeichen Ausführungseinheiten eine gemeinsame Daten- ihrer erwarteten Operanden. Bei der Übereinstimsammelleitung, welche zu allen Arbeitsregistern Rs mung des Kennzeichens einer Ausführungseinheit mit und zu allen Ausführungseinheiten U1 bis Un führt. dem Sammelleitungskennzeichen, wird die Informa-Das System enthält ferner Pufferspeicher, welche ao tion auf der gemeinsamen Datensammelleitung auf Daten aus dem Hauptspeicher (Puffer L) zwischen- diese Verarbeitungseinheit durchgeschaltet. Eine Verspeichert oder Daten zwischenspeichert (Puffer 5), arbeitungseinheit beginnt daher nur mit der Ausfühwelche in dem Hauptspeicher gespeichert werden rung, wenn sie alle benötigten Operanden empsollen. Jede Verarbeitungseinheit erfordert, je nach fangen hat.
Verwendungszweck, einen oder mehrere Operanden 25 Lade- und Speichereinheiten zeigen ein unterum ihre Funktion auszuführen. Die Operanden schiedliches Verhalten. Eine Ladeeinheit entnimmt werden entweder von einem Arbeitsregister Rs, dem niemals Daten von der Sammelleitung, und eine Hauptspeicher, den Puffern oder von allen diesen Speichereinheit überträgt niemals Daten auf diese übertragen. Für eine erleichterte Erklärung soll im Sammelleitung. Andererseits empfangen die Speicherfolgenden angenommen werden, daß für alle Opera- 30 einheiten Kennzeichen, wohingegen die Ladeeinheiten tionen, mit Ausnahme der Lade- und Speicher- dieses nicht tun. Die gemeinsame Datensammeloperationen alle Operanden (Datenursprung) von leitung CDB führt sowohl zu den Arbeitsregistern einem angegebenen Arbeitsregister Rs kommen und Rs als auch zu den Ausführungseinheiten U1 bis Un. daß alle Ergebnisse (Verbraucher) zu einem an- Wenn das Sammelleitungskennzeichen mit dem gegebenen Arbeitsregister Rs übertragen werden. Für 35 Kennzeichen des Arbeitsregisters Rs, welches sich Ladeoperationen wird ein einzelner Operand in nun auf der Datensammelleitung befindet, übereiner Ladeeinheit (beispielsweise in einem Speicher) einstimmt (d. h., der Abnehmer der Ausführungsin ein Arbeitsregister Rs übertragen. Für Speicher- einheit ist nun an die Datensammelleitung angeoperationen wird der Inhalt eines einzelnen Arbeits- schlossen), dann wird das Arbeitsregister Rs in den registers in einen Zwischenspeicher übertragen, von 40 Nichtbelegt-Zustand geschaltet, und sein Inhalt wird wo es dann weiter zum Hauptspeicher übertragen ebenfalls auf die Datensammelleitung gegeben. Es wird. ist hierbei zu beachten, daß es nur notwendig ist,
Wennn die Instruktionsquelle / auf eine Instruktion den Inhalt des Arbeitsregisters Rs zu verändern, trifft, dann prüft sie, ob eine Ausführungseinheit zur wenn die Ausführung in der letzten Ausführungs-Durchführung dieser bestimmten Instruktion verfüg- 45 einheit beendet ist. Alle Ausführungseinheiten, die bar ist. Sie bestimmt ferner, ob die erforderlichen sich zwischen der ersten und letzten befinden, emp-Arbeitsregister Rs belegt sind oder nicht. Unter der fangen die korrekten Daten von dem Arbeitsregister Annahme, daß alle Einheiten verfügbar sind, wird Rs über die gemeinsame Datensammelleitung CDB. der Inhalt der Arbeitsregister zu der ausgewählten Nimmt man nun an, daß die Einheit / eine Lade-Ausführungseinheit übertragen, welche daraufhin 50 Instruktion für ein als belegt gekennzeichnetes .Armit der Ausführung der Instruktion beginnt. Das- beitsregister feststellt, dann geht aus der vorhergehenjenige Arbeitsregister Rs, welches das Ergebnis dieser den Erläuterung hervor, daß zu der Ladeeinheit das Operation empfängt, wird als belegt gekennzeichnet Kennzeichen des Arbeitsregisters Rs übertragen wird und sein Kennzeichen so eingestellt, daß es der und daß das Kennzeichen entsprechend der Adresse Adresse der Ausführungseinheit entspricht, die dieses 55 der Ladeeinheit verändert wird. Daher , wird das Ergebnis ermittelt. Laden zu einer Folge. Diese Folge ist aber unnötig. Es sei nun angenommen, daß die nächste Instruk- Zur Vermeidung einer Folge muß nur das Kennzeichen tion, die von der Einheit/festgestellt wird, als ihren verändert werden. Ladeeinheiten haben deshalb Abnehmer das Arbeitsregister Rs einer früheren In- auch keine Wartezeiten. Ausgenommen sind Wartestruktion verwendet, die noch nicht vollständig aus- 60 zeiten auf die Speicherzuteilung für die Ausführung geführt ist. An Stelle einer Übertragung der Daten der Operation.
des Rs wird das Kennzeichen des Arbeitsregisters Rs Zusammenfassend kann festgestellt werden, daß übertragen und anschließend dieses Kennzeichen ge- die Instruktionsquelle / oder der Ursprung der Inändert. Das Kennzeichen entspricht dann der Adresse struktionen eine Ausführungseinheit für die Durchderjenigen Ausführungseinheit, welche diese Instruk- 65 führung der Operation auswählt. Sie überträgt zu tion ausführt. Wenn die laufende Instruktion ein be- der ausgewählten Ausführungseinheit entweder den setztes Arbeitsregister Rs als Ursprung verwendet, Inhalt des gewünschten Arbeitsregisters Rs, wenn dann wird das Kennzeichen, wie in dem Falle zuvor, dieses nicht besetzt ist, oder dessen Kennzeichen,
wenn das gewünschte Arbeitsregister besetzt ist. Es vierungseinheit, welcher von jeder Instruktion geschaltet femer das abnehmende Arbeitsregister Rs in fordert wird, zur Verfügung steht. Durch einen geden Belegtzustand und stellt das Kennzeichen auf eigneten Ausgleich zwischen den Zahlen von Reserdie Adresse der ausgewählten Ausführungseinheit U1 vierungseinheiten, Ausführungseinheiten und Ausfühein. Die Ausführungseinheiten IZ1-, welche Kenn- S rungszeit können Unterbrechungen wegen der Nichtzeichen erwarten, tasten die Sammelleitungskenn- Verfügbarkeit einer Reservierungseinheit vermieden zeichen ab und prüfen sie auf Übereinstimmung mit werden. Eine Instruktion kann je Maschinenzyklus dem in ihnen gespeicherten Kennzeichen. Wenn es kontinuierlich decodiert werden. Die Instruktionen sich um eine Ladeoperation handelt, erübrigt sich das können ferner parallel mit der Decodierung der fol-Warten. Das Arbeitsregister Rs wird nur von der io genden Instruktionen ausgeführt werden. Dadurch letzten Ausführungszeit (angepaßtes Kennzeichen) in ergibt sich dann die Geschwindigkeitsverbesserung, einer Folge auf den neuesten Stand gebracht und in Die gemeinsame Datensammelleitung CDB empden Nichtbelegt-Zustand eingestellt. fängt Eingangssignale von allen Registern und Είπα «-uV\. t> u -ι. heiten, die den Inhalt eines Arbeitsregisters Rs oder Ausführliche Beschreibung is FLR verändern können. Die in den Fig.2 und 3
Die Belegtanzeige eines jeden Arbeitsregisters be- dargestellten Eingänge der gemeinsamen Datenstimmt, ob der Dateninhalt des Registers verfügbar Sammelleitung sind in Fig. 4 als Einheiten darist oder ob das Kennzeichenfeld des Registers dea gestellt, die auf die gemeinsame Datensammelleitung Ursprung eines zukünftigen Operanden angibt. Im arbeiten.
letzteren Falle ist das Arbeitsregister der Verbraucher so Die Ausgänge der Datensammelleitung (Einheiten
einer Instruktion, welche dieses Register bezeichnet die Signale von der Datensammelleitung abnehmen)
und welche dieses Arbeitsregister mit einem Er- betreffen jedes Register, welches Daten von einem
gebnis beliefert. Arbeitsregister empfangen kann.
In der Einrichtung nach Fig. 1 wird die gemein- Die Ausgänge der DatensammelleitungCDB entsame Datensammelleitung (CDB) 196 für die Über- 25 halten die Verbraucher- und Ursprungsregister in tragung aller Operanden verwendet. Zu diesen Ope- allen Reservierungseinheiten, die Speicherdatenpuffer randen zählen die verfügbaren und die bezüglich des SDB und die Arbeitsregister. Mit Hilfe dieser Struktur Decodierungszeitpunktes jeder Instruktion zukünf- liefert die gemeinsame Datensammelleitung direkt tigen Operanden. In den Systemvarianten nach das Resultat der Ausführung jeder Instruktion an Fig.2 und 3 wird die gemeinsame Datensammel- 30 alle angeschlossenen Empfangsregister. Die Kennleitung 196 dagegen nur für die Übertragung zukünf- Zeicheneinstellungen in den entsprechenden Registern tiger Operanden verwendet. Eine spezielle FLR- bestimmen, welches Register Datensendungen auf der Sammelleitung 551 dient aber zur Übertragung der gemeinsamen Datensammelleitung empfängt. Die verfügbaren Operanden. Eine weitere spezielle Datensammelleitung stellt auch einen direkten VerSammelleitung FLB199 dient zur Übertragung von 35 bindungsweg von den Speicherpuffern L oder FLB Speicheroperanden (das sind Operanden, die von den zu den Arbeitsregistern Rs oder FLR und zu allen FLB-Pufferspeichern 185 vom Hauptspeicher emp- Einheiten dar, die einen Operanden von einem Arfangen werden). beitsregister ableiten können, so daß ein Register
Wenn die Ausführungszeit in einer Ausführungs- nach Speicher (RZ-)Ladeinstruktion ausgeführt wer-
einheit U1 (F i g. 1) mindestens zweimal so groß ist 40 den kann, ohne daß eine Ausführungseinheit dazu
wie die Decodierungszeit für jede Instruktion, dann notwendig wäre. In gleicher Weise stellt auch die
ermöglicht die Erfindung eine Verbesserung des Wir- Datensammelleitung einen direkten Verbindungsweg
kungsgrades der Schaltungen durch einen Anschluß von den Datenregistern und von allen Einheiten, die
von mehr als einer Reservierungseinheit RU1 für jede einen Operanden für ein Arbeitsregister bereitstellen
Ausführungseinheit AD oder MID (F i g. 3). Die 45 können, zu den Speicherdatenpuffern S oder SBB dar,
Kontinuität der Instruktionsdecodierung hängt nur so daß eine Speicherinstruktion durchgeführt werden
von der Verfügbarkeit einer bestimmten Reser- kann, ohne daß eine Ausführungseinheit dazu not-
vierungseinheit und nicht von der Verfügbarkeit einer wendig wäre.
bestimmten Verarbeitungseinheit ab. Die Reser- Einige der Steuerkreise, die für den Betrieb der vierungseinheiten müssen nicht mit einer speziellen 50 Datensammelleitung notwendig sind, umfassen ein Verarbeitungseinheit verbunden sein. In diesem Falle Kennzeichenzuteilungssystem, welches die die Versind allerdings zusätzliche Auswahlschaltungen, die bindungswegsteuerung der Operanden und Ergebnicht dargestellt sind, notwendig, um die ausgewählte nisse unterhalb der Arbeitsregister, der Reservierungs-Reservierungseinheit mit einer ausgewählten Aus- einheiten, der Ausführungseinheiten, der Speicherführungseinheit zu verbinden. In logischer Hinsicht 55 datenpuffer- und Datenpuffer vornehmen. Die Verkönnten in F i g. 3 alle fünf Reservierungseinheiten bindungswegsteuerung für einen bestimmten Ope- RU1 bis RU5 mit der Addierschaltung AD und der randen oder ein bestimmtes Ausführungsergebnis Multiplizier-Dividierschaltung MID verbunden sein. kann mehrmals in der Zeitspanne, die sich von der Die Anordnung in F i g. 3 ist jedoch so dargestellt, Zeit erstreckt, zu der der Operand oder das Ergebnis daß alle drei Reservierungseinheiten RU1 bis RUa 60 durch Decodierung seiner Instruktion angefordert ist, starr mit der Addierschaltung AD und die beiden bis zu der Zeit, zu der das Resultat oder der Operand Reservierungseinheiten RU4 und RU5 mit der Multi- verfügbar ist geändert werden.
pIizier-/Dividierschaltung MID verbunden sind. Bei In jeder der dargestellten Ausführungsformen werder Einrichtung nach der Erfindung kann jede Reser- den Kennzeichen für jede Instruktion am Anfang des vierungseinheit so behandelt werden, als wenn sie 65 Decodierungszyklus zugeteilt. In Fig. 2 überträgt selbst die Ausführungseinheit wäre, für welche sie eine Decoder-Kennzeichenzuteilungs-Sammelleitung ausgewählt ist. Der Decoder decodiert sequentielle DTAB die Kennzeichenzuteilungen zu den Kenninstruktionen so lange, bis der Typ von Reser- Zeichenregistern in FLR, RU und SDB.
9 10
Jede Eingangseinheit der gemeinsamen Daten- gleichseitig signalisierenden Eingangseinheiten diesammelleitung hat eine nur für sie repräsentative jenige bestimmt, welche als nächste ihr Sammel-Kennung. Jede Ausgangseinheit dieser gemeinsamen leitungskennzeichen und ihre Daten auf die Daten-Datensammelleitung ist mit einem Kennzeichen- Sammelleitung übertragen darf. Der Prioritätsrang register versehen, welches derartige codierte Ken- 5 für die Eingangseinheiten der Datensammelleitung nungen speichern kann. nach Fig. 3 ist in Fig. 4 dargestellt. Die Anforde-
Die grundlegende Arbeitsweise der Einrichtung rung für eine Priorität kann abgegeben werden, bevor
nach F i g. 1 wird im folgenden kurz erläutert: Bei die Daten für die Übertragung zur Verfügung stehen,
der Decodierung jeder Instruktion prüft ein nicht dar- sie muß aber spätestens während des Zyklus für die
gestellter Decoder den Besetzungszustand jedes an- io Datenübertragung verfügbar sein,
gegebenen Arbeitsregisters Rs. Wenn das Arbeits- Wenn die Decodierung einer beliebigen Instruktion
register nicht besetzt ist, dann wird sein Inhalt als (einschließlich arithmetischer Instruktionen) erfordert:
gültig angesehen und kann dann über die gemein- ...
same Datensammelleitung CDB zu der entsprechen- 1. eine Ausführungseinheit und
den Reservierungseinheit, zu dem Speicherdatenpuff er 15 2. ein nicht verfügbares Arbeitsregister als Ab-
oder einem anderen Arbeitsregister Rs übertragen nehmer,
werden. Zu welchem dieser genannten Abnehmer der
Inhalt dieses Arbeitsregisters nun übertragen wird, dann wird das alte Kennzeichen dieses bestimmten hängt von den Ausführungserfordernissen einer be- Arbeitsregisters als Abnehmer zu den Aufnehmerstimmten Instruktion ab. ao kennzeichenregistern der Reservierungseinheit in allen
Die Einrichtung nach Fig. 1 erlaubt einem spezi- nicht besetzten Reservierungseinheiten i? U übertragen fizierten Arbeitsregister Rs die Benutzung, je nach- an Stelle des Dateninhalts dieses Arbeitsregisters, dem, ob es verfügbar ist oder nicht. Der Decoder ver- Eine von diesen Reservierungseinheiten wird durch ändert das Kennzeichen des durch die Instruktion die Einschaltung ihres Besetztschalters ausgewählt, spezifizierten Arbeitsregisters entsprechend der co- 25 Daraufhin vergleichen alle belegten Reservierungsdierten Kennung der ausgewählten Ausführungs- einheften kontinuierlich ihre jeweiligen Kennzeichen einheit, wenn die Instruktion eine Ausführungseinheit mit jedem ausgesendeten Sammelleitungskennzeichen benötigt. Auf diese Weise bestimmt das letzte Kenn- auf der gemeinsamen Datensammelleitung. Wenn zeichen in einem Arbeitsregister die letzte Ausfüh- von einem Vergleicher einer beliebigen Reservierungsrungseinheit, die später dann das Resultat (RES1 ... 30 einheit eine Übereinstimmung festgestellt wird, dann RESn) ihrer Ausführung über die gemeinsame Daten- wird das betreffende Register der Reservierungseinheit Sammelleitung CDB zu diesem Arbeitsregister über- auf die gemeinsame Datensammelleitung CDB geträgt, schaltet. Eine Ausführungseinheit kann dann mit der
Das Kennzeichen eines beliebigen Arbeitsregisters Ausführung beginnen, nachdem eine Reservierungs- (Rs oder FLR), welches durch irgendeine Instruktion 35 einheit diese anzeigt, daß alle Operanden, die durch angegeben wird, bleibt hierbei unverändert. Das den Operationscode gefordert werden, von dieser System der gemeinsamen Datensammelleitung ge- Reservierungseinheit empfangen wurden. Durch diese stattet jeder seiner Eingangseinheiten, die einen Ope- Übertragungsweise der Abnehmerkennzeichen werranden zur Verfügung (oder nahezu zur Verfügung den alle Instruktionen, die versuchen, das gleiche hat) die Übertragung ihrer Kennung auf die gemein- 40 Arbeitsregister zu verwenden, in eine korrekte Folge same Datensammelleitung. Eine über die gemeinsame eingereiht, wohingegen andere Instruktionen in der Datensammelleitung übertragene Kennung wird als Instruktionsfolge, die dieses Register Rs nicht be-Sammelleitungskennung bezeichnet. Alle Ausgangs- nötigen, unabhängig und außerhalb einer sequeneinheiten der gemeinsamen Datensammelleitung wer- tiellen Reihenfolge ausgeführt,
den in den Besetztzustand eingestellt, um auf diese 45 Für die korrekte Folgebehandlung von Register Weise anzuzeigen, daß sie auf einen Operanden nach Speicher-(i?X-)Speicher und -Ladeinstruktionen warten. Sie vergleichen dabei jedes ausgesendete wird eine andere Technik verwendet. Während der Sammelleitungskennzeichen mit dem in ihnen selbst Decodierung einer .R.X'-Speicherinstruktion wird das gespeicherten Kennzeichen, wobei sie eine Vergleichs- Kennzeichen des spezifizierten Arbeitsregisters nicht schaltung verwenden. Das Ausgangssignal im Falle 50 auf den neuesten Stand gebracht, während ein nichtder Gleichheit beider Kennzeichen in jeder Ausgangs- belegter Speicher-Datenpuffer SDP ausgewählt wird, einheit der gemeinsamen Datensammelleitung öffnet damit sein Kennzeichen auf das existierende Kenndie Eingangstore zum Empfang der Daten, die un- zeichen des spezifizierten Arbeitsregisters eingestellt mittelbar nach der Aussendung der Sammelleitungs- wird. Der SDP schaltet daraufhin seine Daten von kennung über die gemeinsame Datensammelleitung 55 der gemeinsamen Datensammelleitung zu der entübertragen werden. Auf diese Weise wird erreicht, sprechenden Zeit ab.
daß nur diejenigen Ausgangseinheiten, die übertrage- Die Decodierung einer Speicher nach Register-(i?Z-)
nen Daten empfangen, die diese anfordern. F i g. 5 Ladeinstruktion stellt das Kennzeichen des spezifi-
zeigt die Zeitgabe für die Übertragung des Sammel- zierten Arbeitsregisters so ein, daß es der codierten
leitungskennzeichens und der Daten auf der gemein- 60 Kennung des Speicherpuffers (L oder FLB) ent-
samen Datensammelleitung CDB. spricht. Diese Kennung wird zugeteilt, um die Ope-
Da die Eingangseinheiten der gemeinsamen Daten- randen von dem Hauptspeicher zu empfangen.
Sammelleitung asynchron arbeiten, d.h. asynchron Die Decodierung einer Register nach Register-(7?/?-)
bezüglich der Zeit, zu der sie ein Sammelleitungs- Ladeinstruktion setzt das Kennzeichen des spezifi-
kennzeichen erzeugen, als Folge eines bereits fertig 65 zierten Arbeitsregisters so, daß dieses repräsentativ
in ihnen vorhandenen Operanden, ist für die gemein- für das angegebene Ursprungs-Arbeitsregister ist,
same Datensammelleitung CDB eine Prioritätsschal- wenn der Operand in diesem Ursprungs-Arbeits-
tung (nicht dargestellt) vorgesehen, welche von register nicht verfügbar ist.
Hierzu 4 Blatt Zeichnungen

Claims (3)

1 2 Bei großen Datenverarbeitungsanlagen besteht Patentansprüche: ganz allgemein die Notwendigkeit, die Durchführung arithmetischer Operationen zu beschleunigen,
1. Anordnung in einer elektronischen digitalen speziell jedoch Gleitkommaoperationen. Dieses ist Datenverarbeitungsanlage zur Ausführung eines 5 besonders angebracht, nachdem die Instruktionsersten Befehls und gleichzeitigen Decodierung einheit nach dem Auffüllen mit Instruktionen in der eines folgenden Befehls, dadurch gekenn- Lage ist, mit etwa einer Instruktion pro Zyklus zu zeichnet, daß zur Operandenverarbeitung im arbeiten und nachdem die Speicherzugriffszeit in beZuge der Ausführung des ersten Befehls über friedigender Weise durch den bekannten Stand der ein gemeinsames Sammelleitungssystem (CDB; io Technik mittels Pufferung und Überlappungsbetrieb Fig. 1) eine Befehlsquelle (/), Ausführungs- herabgedrückt wurde. Zwei weitere Probleme sind einheiten (U1... Un) für die Operandenverarbei- bei dem Versuch, eine Balance zu erzielen, zwischen tung und Arbeitsregister (Rs) für die Speiche- der Ausführung und der Ausgabe von Instruktionen rung von Operanden miteinander verbunden für die Ausführung zu beachten.
sind, daß ferner ein Kennungsgenerator vor- 15 Das erste Problem betrifft die Tatsache, daß indi-
gesehen ist, der die für die Ausführung eines viduelle Operationen nicht schnell genug sind, um
Befehls gemäß den Angaben in diesem Befehl einfache seriale Ausführung in den gegenwärtigen
zusammengehörige Ausführungseinheit und das Hochgeschwindigkeits-Allzweck-Digitalrechnern zu
Arbeitsregister bzw. bei deren NichtVerfügbarkeit gestatten.
funktionsgleiche Einheiten auswählt, indem er ao Das zweite Problem besteht darin, daß es un-
für jeden Befehl die jeweilige Kennung der aus- möglich ist, die schnellsten Ausführungszeiten zu
gewählten Einheiten auf die Sammelleitung ein- erzielen, wenn eine universelle Ausführungseinheit
gibt, über welche diese Kennungen zu den ein- verwendet wird.
zelnen Einheiten übertragen und dort gespeichert Dieses bedeutet mit anderen Worten, daß eine
werden, so daß durch dauernden Vergleich der 25 Schaltkreistechnik, die so ausgelegt ist, daß sie so-
Kennungen der genannten Einheiten mit den wohl Multiplikation als auch Addition ausführen
Kennungen auf der Sammelleitung bei Überein- kann, nicht so schnell zu arbeiten vermag als zwei
Stimmung der Kennungen die Übertragung der Einheiten, von denen jede nur die eine Art der
Operanden von oder zu den genannten Einheiten Instruktion ausführen kann,
ausgelöst wird. 30 Ein erster Schritt zur Umgehung dieser Schwierig-
2. Anordnung nach Anspruch 1, dadurch ge- keiten kann darin bestehen, die Ausführungsfunkkennzeichnet, daß die Befehlsquelle (/; F i g. 1) tion in zwei unabhängige Teile zu trennen, wie beizur Ausführungseinheit (CZ1... Un), wenn das spielsweise in einen Festkommaausführungsteil und ausgewählte Arbeitsregister (Rs) als besetzt ge- in einen Gleitkommaausführungsteil. Während diese kennzeichnet ist, wodurch angegeben wird, daß 35 Trennung eine gleichzeitige Ausführung zwischen der für die Befehlsausführung erforderliche Ope- diesen beiden Typen von Instruktionen ermöglicht, rand noch nicht in diesem Arbeitsregister ver- muß ein anderer Umstand in Betracht gezogen fügbar ist, nicht dessen Inhalt, sondern dessen werden.
Kennung überträgt und daß sie ferner das das Um einen Zuwachs an Verarbeitungsgeschwindig-Resultat (RES1 ... RESn) aufnehmende Arbeits- 40 keiten zu erreichen, muß das Programm eine innige register mit einem Belegtkennzeichen versieht Mischung von Festkomma- und Gleitkommainstruk- und seine Kennung auf die Kennung der züge- tionen enthalten. Es ist offensichtlich für den Proordneten Ausführungseinheit einstellt. grammierer nicht immer leicht, das Programm in
3. Anordnung nach Anspruch 1 und/oder 2, dieser Weise einzurichten, und viele der Programme, dadurch gekennzeichnet, daß zur unterbrechungs- 45 die für den Benutzer von größtem Interesse sind, freien Befehlsverarbeitung den Ausführungs- bestehen vielfach vollständig aus Gleitkommainstrukeinheiten (CZ1 ... CZn; Fig. 1) Reservierungs- tionen. Es ergibt sich hieraus die Aufgabe der Ereinheiten (RU1 ...RUn) zugeordnet sind, in findung, eine Methode und die zugehörigen schaldenen die Operanden, die vom Hauptspeicher tungstechnischen Anordnungen anzugeben, bei denen oder einer Ausführungseinheit für die Vervoll- 50 aufeinanderfolgende Befehle simultan verarbeitet ständigung der Ausführung eines früheren Be- werden. Die Aufgabe der Erfindung ist also die vorfehls übertragen werden und in denen die Ken- teilhafte gleichzeitige Ausführung eines ersten Benungen bis zum Freiwerden einer Ausführungs- fehls und die Decodierung eines folgenden Befehls, einheit zwischengespeichert werden, so daß diese in dem in besonders vorteilhafter Weise zwecks Be-Zwischenspeicherung und das Kennzeichnungs- 55 fehlsausführung zusammengehörende Einheiten aussystem eine Prioritätssteuerung zur Verteilung gewählt und die Operanden dazwischen übertragen von Operanden und Ergebnissen über die ge- werden. Es sind hierbei die wesentlichen Beziehunmeinsame Datensammelleitung (CDB) zwischen gen zwischen abhängigen Instruktionen innerhalb den Ausführungseinheiten und Arbeitsregistern einer Folge herzustellen, wobei die größtmögliche bilden. 60 Überlappung in der Ausführung von unabhängigen
Instruktionen in einer Folge ebenfalls ermöglicht
wird.
Mehrfachausführungseinheiten enthalten beispielsweise einen Addierer/Subtrahierer und einen Multi-Die Erfindung betrifft eine Anordnung in einer 65 plizierer/Dividierer. Es könnte erscheinen, daß die elektronischen digitalen Datenverarbeitungsanlage gleichzeitige Operation dieser beiden Einheiten sich zur Ausführung eines ersten Befehls und gleichzeiti- nicht wesentlich unterscheidet von der Festkommagen Decodierung eines folgenden Befehls. Gleitkomma-Überlappung. Im letzteren Falle hat
DE1549474A 1966-09-28 1967-08-04 Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls Expired DE1549474C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US58267566A 1966-09-28 1966-09-28

Publications (3)

Publication Number Publication Date
DE1549474A1 DE1549474A1 (de) 1971-01-21
DE1549474B2 true DE1549474B2 (de) 1974-10-24
DE1549474C3 DE1549474C3 (de) 1975-06-05

Family

ID=24330052

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1549474A Expired DE1549474C3 (de) 1966-09-28 1967-08-04 Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls

Country Status (4)

Country Link
US (1) US3462744A (de)
DE (1) DE1549474C3 (de)
FR (1) FR1538063A (de)
GB (1) GB1156249A (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699533A (en) * 1970-10-29 1972-10-17 Rca Corp Memory system including buffer memories
US3718912A (en) * 1970-12-22 1973-02-27 Ibm Instruction execution unit
US3938098A (en) * 1973-12-26 1976-02-10 Xerox Corporation Input/output connection arrangement for microprogrammable computer
US4004281A (en) * 1974-10-30 1977-01-18 Motorola, Inc. Microprocessor chip register bus structure
US4218740A (en) * 1974-10-30 1980-08-19 Motorola, Inc. Interface adaptor architecture
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4305124A (en) * 1978-06-09 1981-12-08 Ncr Corporation Pipelined computer
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4658350A (en) * 1981-08-12 1987-04-14 International Business Machines Corp. Extended addressing apparatus and method for direct storage access devices
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers
US4807115A (en) * 1983-10-07 1989-02-21 Cornell Research Foundation, Inc. Instruction issuing mechanism for processors with multiple functional units
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
US5655096A (en) * 1990-10-12 1997-08-05 Branigin; Michael H. Method and apparatus for dynamic scheduling of instructions to ensure sequentially coherent data in a processor employing out-of-order execution
US5481743A (en) * 1993-09-30 1996-01-02 Apple Computer, Inc. Minimal instruction set computer architecture and multiple instruction issue method
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US20030163643A1 (en) * 2002-02-22 2003-08-28 Riedlinger Reid James Bank conflict determination

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB792707A (en) * 1954-10-22 1958-04-02 Nat Res Dev Electronic digital computers
GB976499A (en) * 1960-03-16 1964-11-25 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3249921A (en) * 1961-12-29 1966-05-03 Ibm Associative memory ordered retrieval
US3292151A (en) * 1962-06-04 1966-12-13 Ibm Memory expansion
US3270324A (en) * 1963-01-07 1966-08-30 Ibm Means of address distribution
US3311887A (en) * 1963-04-12 1967-03-28 Ibm File memory system with key to address transformation apparatus
DE1181461B (de) * 1963-10-08 1964-11-12 Telefunken Patent Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
GB1051786A (de) * 1963-10-23 1900-01-01
US3309677A (en) * 1964-01-02 1967-03-14 Bunker Ramo Automatic information indexing
US3327294A (en) * 1964-03-09 1967-06-20 Gen Precision Inc Flag storage system
US3331056A (en) * 1964-07-15 1967-07-11 Honeywell Inc Variable width addressing arrangement

Also Published As

Publication number Publication date
DE1549474C3 (de) 1975-06-05
US3462744A (en) 1969-08-19
GB1156249A (en) 1969-06-25
FR1538063A (fr) 1968-08-30
DE1549474A1 (de) 1971-01-21

Similar Documents

Publication Publication Date Title
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE69305366T2 (de) System und verfahren zum kennzeichnen von befehlen zur steuerung der befehlsausführung
DE69833008T2 (de) Prozessor mit instruktionskodierung mittels eines schablonenfeldes
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2714805C2 (de)
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE1285220C2 (de) Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE4207158A1 (de) Speicher-zugriffssteuerung
DE1499206B2 (de) Rechenanlage
DE3852432T2 (de) Befehlssteuerungsvorrichtung für ein Computersystem.
DE2745204A1 (de) Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE2343501B2 (de) Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von EuWAusgabe-Programmen bestimmten Registern
CH632605A5 (en) Data-processing system with normal parallel provision and execution of machine instructions
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE1524211A1 (de) Datenverarbeitungsanlage
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE3542436A1 (de) Datenflussprozessorsystem

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee