DE2404459C3 - Mehr-Befehlsstrom-Rechenanlage - Google Patents

Mehr-Befehlsstrom-Rechenanlage

Info

Publication number
DE2404459C3
DE2404459C3 DE19742404459 DE2404459A DE2404459C3 DE 2404459 C3 DE2404459 C3 DE 2404459C3 DE 19742404459 DE19742404459 DE 19742404459 DE 2404459 A DE2404459 A DE 2404459A DE 2404459 C3 DE2404459 C3 DE 2404459C3
Authority
DE
Germany
Prior art keywords
command
instruction
assembly line
stream
processing
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.)
Expired
Application number
DE19742404459
Other languages
English (en)
Other versions
DE2404459B2 (de
DE2404459A1 (de
Inventor
Gert Dr. 7750 Konstanz; Theissen Winfried Dr. 7760 Radolfzell Regenspurg
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.)
Oce Document Technologies GmbH
Original Assignee
Computer Gesellschaft Konstanz mbH
Filing date
Publication date
Application filed by Computer Gesellschaft Konstanz mbH filed Critical Computer Gesellschaft Konstanz mbH
Priority to DE19742404459 priority Critical patent/DE2404459C3/de
Priority to AT33475A priority patent/AT351847B/de
Priority to CH100875A priority patent/CH592340A5/xx
Priority to IT1964875A priority patent/IT1031180B/it
Priority to NL7500984A priority patent/NL7500984A/xx
Priority to FR7502747A priority patent/FR2260138B3/fr
Priority to GB397475A priority patent/GB1496083A/en
Priority to BE152936A priority patent/BE825048A/xx
Publication of DE2404459A1 publication Critical patent/DE2404459A1/de
Publication of DE2404459B2 publication Critical patent/DE2404459B2/de
Application granted granted Critical
Publication of DE2404459C3 publication Critical patent/DE2404459C3/de
Expired legal-status Critical Current

Links

Description

a) Sprungbefehle (der Folgebefehl nach einem Sprungbefehl ist nicht immer hinreichend zeitig verfügbar; es entsteht eine Belegungslücke),
b) Befehle mit mehrfachem Speicherzugriff,
c) Zentralspeicherzugriffe, falls sogenannte Scbnellzugriffsspeicher eine gewünschte Größe nicht enthalten,
d) verlängerte Zugriffszeiten zum Zentralspeicher wegen Verkehrshemmung vor dem Speicher,
e) Rückstau vor dem Rechenwerk wegen langer Ausführungszeiten bestimmter Befehle.
Die Auswirkung der hemmenden Ereignisse läßt sich auf unterschiedliche Weise mildern. Eine bekannte Möglichkeit beueht darin, die Belegungslücken durch lokale Speicher mit kurzer Zugriffszeit (Schnellzugriffsspeicher, Cache) für aktuelle Befehle und Operanden möglichst zu verkleinern, und den Rückstau vor dem Rechenwerk durch sehr schnelle Funktionseinheiten zu vermindern. Diese Möglichkeiten sind in der Zeitschrift »Elektronische Rechenanlagen«, 1968, S. 135 bis 140, an Hand der Beschreibung des IBM-Systems/360, Model! 85, von A. Ko 11 mar beschrieben.
Eine andere Möglichkeit besteht darin, Belegungslücken und Aufstau für einen Befehlsstrom zuzulas- sen, und das Befehls-Fließband für einen zweiten Befehlsstrom und eventuell für weitere Befehlsströme dadurch zu nutzen, daß eine Station des Befehls-Fließbandes in beliebiger Folge Befehle aus unterschiedlichen Befehlsströmen bearbeitet. Dabei müssen die Befehle allerdings eine Kennung mit sich führen, die anzeigt, zu welchem Befehlsstrom sie gehören. Eine solche Mehrstrom-Rechenarlage arbeitet aus der Sicht des Programmierers wb mehrere getrennte Prozessoren (Multiprocessing), jedoch ist der Aufwand nur geringfügig größer als im einfachen Prozessor.
Der Übergang von der Ein-Befehlsstrom-Rechenanlage zur Zwei-Befehlsstrom-Rechenanlage wurde bereits von F. H. Su mn er ir: dem Aufsatz »Hardware-Architecture and Computer Organization« angedeutet, der in den 1973 im Springer-Verlag erschienenen Berichten von der 2. GI-Jahrestugung in Karlsruhe 1972 auf den Seiten 22 bis 36 abgedruckt ist.
Für die Organisation der Umschaltung zwischen Befehlsströmen ist es; bekannt, in das Befehls-Fließband von jedem Befehlsstrom in zyklischer Folge je einen Befehl einzuspeisen. Bei s Befehlsströmen kann ein Befehlsstrom dann jeden i-ten Takt nutzen. Der
3 4
Ablauf für einen Strom wird s-fach gedehnt, und durch erreicht, daß das Befehls-FHeßband von einem
Wartezeiten wirken sich entsprechend geringer aus. Befehlsstrom auf einen anderen programmorientiert
Diese Methode wird im folgenden als »unbedingte umgeschaltet wird, d. h., es werden die Befehlspakete
Stromumschaltung« bezeichnet und wurde von als im allgemeinen unterschiedlich lange Befehls-
M. J. Flynn et al. in den 1970 von L. C. Hobbs 5 folgen mehrerer Programme in das Befehls-Fließband
herausgegebenen Berichten »Parallel processor eingebracht. Da es beim Aufruf eines Befehles wegen
system, technologies, and applications« (Spartan unterschiedlicher ZugrirTszeiten zum Zentralspeicher
Book) in dem Aufsatz »A multiple instruction iiream unterschiedliche Verzögerungen geben kann, ist dem
with shared resources« vorgeschlagen. Befehls-Fließband ein Zugriffspuffer vorgeschaltet,
Aus diesem bekannten Stand der Technik ergibt io der im Falle der Erfindung aus einer Mehrzahl von
sich zusammenfassend: Registersätzen besteht, wobei diese Mehrzahl der
Moderne Datenverarbeitungsanlagen erzielen ihre Anzahl der zu verarbeitenden Befehlsströme ent-
Verarbeitungsgeschwindigkeit weniger mit Hilfe spricht. Die L.änge jedes einzelnen Registersatzes
schneller Schalteinrichtungen als auf Grund struk- richtet sich nach der durchschnittlichen Länge der zu
tureller Merkmale, wie z. B. ein Befehls-Fließband 15 erwartenden Befehlspakete. Dadurch kann sicher-
oder eine Arbeitsspeicherhierarchie mit schnellen gestellt werden, daß dem Befehls-Fließband mit je-
Pufferspeichern (Caches) usw. Bei der Anwendung dem Maschinentakt ein Befehl zur Verfügung steht
des Fließbandprinzips wird die Bearbeitung der Be- und trotz unterschiedlicher Zugriffszeiten zum Zen-
fehle in verschiedene Phasen zerlegt, so daß eine grö- tralspeicher keine Verzögerungen in der Vorberei-
ßere Anzahl von Befehlen gleichzeitig bearbeitet wird. 20 tungsphase, d. h. dem Durchlauf durch das Befehls-
Auch wenn die Bearbeitungszeit eines Befehles meh- Fließband, auftreten.
rere Maschinenzyklen erfordert, wird in diesem Fall Wichtiger ist aber noch der Wartepuffer, der der
mit jedem Maschinenzyklus die Bearbeitung eines Verarbeitungseinheit vorgeschaltet ist. Auch konven-
Befehles abgeschlossen und damit der Befehlsdurch- tionclle Anlagen können zwischen dem Befehls-Fließ-
satz gesteigert. Die Bearbeitung einer Kette von Be- 25 band und der Verarbeitungseinheit einen Puffer als
fehlen wird in ihrer Kontinuität allerdings durch Zwischenglied enthalten, in dem Befehle zur Ausfüh-
verschiedene Verzögerungsursachen gestört, z. B. rung bereitgestellt werden. Hier aber bildet dieser
Warten auf die Entscheidung für bedingte Sprünge, Wartepuffer nicht einfach einen Zwischenspeicher für
Warten auf Speicherzugriffe, längere Belegung von auszuführende Befehle, sondern einen asynchron zu
Verarbeitungseinheiten. Abschwächen läßt sich dieser 3° der Arbeit der Verarbeitungseinheu duffüllbaren
Effekt durch das Prinzip der »Dezentralisierung«, das Wartepuffer, mit dem ein Stau von Befehlen vor der
durch Delegation von Teilaufgaben an spezielle Verarbeitungseinheit erreicht wird. Ein derartiger
Werke im Zentralprozessor realisiert wird. Stau von Befehlen verschiedener Befehlsströme vor
Die praktische Erfahrung zeigt nun, daß die Be- der Verarbeitungseinheit wird angestrebt, um Verlastung von Systemkomponenten in hohem Maße von 35 zögerungen in der Verarbeitung von Befehlsströmen der jeweiligen Programmstruktur abhängt und häufig aufzufangen und damit die Verarbeitungseinheit ein Programm eine spezifische Verzögerungsursache optimal auszulasten. Ohne diese Entflechtung von stark bevorzugt. Dies führt dazu, daß die Arbeits- zur Ausführung bereitgestellten Befehlen verschiedeleistung einer Komponente der Datenverarbeitungs- ner Befehlsströme im Wartepuffer könnte mit den anlage im wesentlichen den Gesamtdurchsatz des 4° übrigen Merkmalen der erfindungsgemäßen Lösung Systems bestimmt. Verarbeitet man dann statt eines zwar das Befehls-Fließband, den Strukturen der laufortlaufenden Programmes mehrere Programme fenden Programme angepaßt, im Mittel voll ausgleichzeitig, so werden die einzelnen Systemkompo- gelastet werden, jedoch würden sich dann die im nenten gleichmäßiger belastet, und der Durchsatz Befehls-Fließband aufgefangenen Verzögerungen wienimmt entsprechend zu. 45 der in der Verarbeitungseinheit auswirken.
Diese Tatsache ist bekannt, wurde aber bisher Zusammengefaßt ausgedrückt, ist damit also eine
nicht wirkungsvoll ausgenutzt. Bei bekannten Daten- programmorientierte, d. h. auf die Struktur der ge-
verarbeitungsanlagen und verschiedenen Denkansät- rade laufenden Programme gerade ausgerichtete Um-
zen in der Literatur werden nämlich diese Programme schaltung des Befehls-Fließbandes möglich. Durch
dpdurch gemischt, daß sie streng alternierend ab- 5° diese Maßnahme wird der bei den heutigen größeren
gelöst werden, ohne daß dabei auf die Programm- Datenverarbeitungsanlagen übliche, verhältnismäßig
struktur Rücksicht genommen wird. aufwendige schnelle Zwischenspeicher (Cache) zwi-
Die der Erfindung zugrunde liegende Aufgabe ist sehen dem Zentralprozessor und dem Arbeitsspeichel es daher, eine Mehr-Befehlsstrom-Rechenanlage der überflüssig. Ebenso ist der Einfluß der Verarbeitungseingangs genannten Art strukturell so auszubilden, 55 geschwindigkeit und die Zugriffszeit zum Zentralspei· daß mit ihr ein wesentlich höherer Wirkungsgrad er- eher auf den Befehlsdurchsatz weitgehend reduziert zielt wird, als mit einer nach dem Prinzip der »un- was für das sogenannte Preis-Leistungsverhältnis einei bedingten Stromumschaltung« arbeitenden Rechen- Anlage von entscheidender Bedeutung ist.
anlage. Dabei soll unter dem Wirkungsgrad die Zahl Dabei wird diese entscheidende Leistungsverbesse der pro Zeiteinheit ausgeführten Befehle verstanden 60 Hing durch einen verhältnismäßig geringen zusatz werden. liehen Aufwand in der Hardware erreicht, da nur di<
Bei einer Rechenanlage der eingangs genannten Registerkörper für s Befehlsströme s-fach aufgebau
Art wird diese Aufgabe erfindungsgemäß gelöst mit sein müssen. Im Gegensatz zu anderen bekannte!
den im Kennzeichen des Patentanspruches genannten Mehrstromanlagen sind dagegen alle anderen auf
Merkmalen. 65 wendigen Systemkomponenten, z. B. das Befehls
Diese Lösung berücksichtigt in starkem Maße Fließband und das Zubringer-Fließband nur einma
Unterschiede der Programmstrukturen und steigert so notwendig. Weiterhin ist die beim Anmeldungsgegen
wesentlich die Effektivität des Systems. Dies wird da- stand realisierte Betriebsweise nicht auf bestimmt!
Rechnerstrukturen beschränkt, da sie von anderen Vorbereiten des auszuführenden Zentralspeicher-Strukturmerkmalen, z. B. dem Aufbau der Rechen- Zugriffs,
werke, der Speicherschnittstelle oder der Arbeitstei- Prüfen, ob Speicherzugriff möglich, d. h. der
lung in den Fließbändern weitgehend unabhängig ist. auszuwählende Speichermodul ansteuerbar ist.
Zur näheren Erläuterung der Einzelheiten der Er- 5
findung werden im folgenden an Hand der Zeich- In den weiteren Stationen O4 ... b„ des Zubringernungen und Zeitdiagramme eine konventionelle Ein- Fließbandes wird ein Zentralspeicherzugriff von der Befehlsstrom-Rechenanlagc und ein Ausführungs- Übergabe eines Zugriffswunsches an den Zentralbeispiel einer erfindungsgemäßen Mehr-Befehlsslrom- speicher 3 bis zur Übernahme der angeforderten Rechenanlage für zwei Befehlsströme (s = 2) be- ίο Speicheroperanden in die Verarbeitungseinheit 2 schrieben. Dabei zeigt überwacht. Das für diesen Ablauf notwendige Zeit-F i g. 1 das Aufbauprinzip einer konventionellen intervall entspricht dabei der Zugriffszeit zt des Zen-Ein-Befehlsstrom-Rechenanlage, tralspeichers 3.
F i g. 2 das Aufbauprinzip einer gemäß der Erfin- In F i g. 1 sind zwei Quellen für Zugriffswünsche
dung aufgebauten Mehr-Befehlsstrom-Rechenanlage, 15 zum Zentralspeicher 3 vorgesehen und identisch sym-
F i g. 3 einfache Ablaufschemata für Befehlsdurch- bolisch dargestellt, die Station a4 des Befehls-Fließ-
sätze, die mit einer Ein-Befehlsstrom-Rechenanlage, bandes und ein Befehls-Nachschieber 4, der die Zu-
mit einer nach der Methode der »unbedingten Strom- lieferung von Befehlen für den Registerkörper 1
umschaltung« arbeitenden Zwei-Befehlsstrom-Re- steuert.
chenanlage und mit einer erfindungsgemäß aufgebau- 20 Der Bearbeitungsbeginn (Urstart) der Ein-Befehls-
ten Zwei-Befehlsstrom-Rechenanlage erreichbar sind, strom-Rechenanlage gemäß F i g. 1 erfolgt auf Grund
und eines vom Befehls-Nachschieber 4 initiierten Zentral-
Fig. 4a und 4b ein Ablaufdiagramm für zwei mit speicher-Zugriffs.
einer Zwei-Befehlsstrom-Rechenanlage gemäß der Im folgenden soll auf die mit der Ein-Befehlsslrom-Erfindung verarbeitete Befehlsströme unter Einbezie- 25 Rechenanlage erzielbare Leistung unter Berücksichhung der Belegungszeiten der Wartepuffer und der tigung bestimmter Verzögerungen bei der Befehlsarithmetisch-logischen Verarbeitungseinheit. bearbeitung eingegangen werden. Dabei wird zunächst An Hand von Fig. 1 wird zunächst das Aufbau- von einer idealisierten Befehlsverteilung innerhalb dei prinzip einer konventionellen Ein-Befahlsstrom- Befehlsströme ausgegangen, die dadurch charakteri-Rechenanlage beschrieben, um die Grundlagen zu er- 30 siert ist, daß keine Sprungbefehle auftreten und die läutern. Verarbeitungseinheit je Takt einen Befehl ausführt.
Das Kernstück bildet ein Befehls-Fließband mit In einem ersten, auch dann auftretenden Verzögefünf Stationen α, ... a5, in dem der Verarbeitungs- rungsmoment K1 fordert der Befehls-Nachschieber 4 prozeß eines einzelnen Befehls in Elemente zerlegt genau dann einen Befehl an, wenn im Registerkörist. Die Durchlaufzeit eines Befehls durch eine Fließ- 35 per 1 kein Befehl enthalten ist.
bandstation erfordert jeweils einen Takt (Maschinen- Bei einer Zugriffszeit zt des Zentralspeichers 3 zyklus). steht der gewünschte Befehl erst nach
Die Stationen o,... a. des Befehls-Fließbandes
haben z. B. jeweils eine der folgenden funktionellen t (V1) = 3 -t- zt Takten
Aufgaben: 40
zur Verfügung. Die additive Größe 3 entspricht dei
Bereitstellen eines Befehls aus einem η-stufigen Durchlaufzeit der Befehlsanforderung im Zubringer
Registerkörper 1, der die von einem Zentralspei- Fließband bh
eher 3 übernommenen Befehlsströme zwischen- Der Wirkungsgrad g der Rechenanlage, d. h. dei
speichert, 45 Durchsatz an Befehlen pro Takt, ist dann:
Befehlsdecodierung,
Bilden der Adressen für eventuelle Speicher- 1
Zugriffe, S (V J = ———.
Übergeben einer solchen Speicheradresse an ein i + zt
Zugriffswerk (ft(), 5°
Übergeben des Befehls an eine arithmetisch- In dem Spezialfall, daß im Registerkörper 1 jeweil;
logische Verarbeitungseinheit 2, die den Befehl ein sogenanntes Befehls-Doppelwort steht, d. h., dai
ausführt und dafür gegebenenfalls mehrere Takte jeweils zwei Befehle bereitstehen, läßt sich der Wir
benötigt. kungsgrad g theoretisch um den Faktor 2 verbessern
Versorgt wird das Befehls-FHeßband O1 und damit 2
letztlich auch die Verarbeitungseinheit 2 mit Spei- 8\vi) — -
cheroperanden über das Zubringerwerk bh das auch j -t- Zr
in der Verarbeitungseinheit 2 ermittelte Resultate an
den Zentralspeicher fibergibt und ebenfalls als Fließ- 60 Ein zweites Verzögerungsmoment V2 tritt bei Spei
band aufgebaut ist und daher als Zubringer-Fließ- cherzugriffen zur Ausführnng eines Befehls auf. Eil
band bezeichnet wird, aber gegebenenfalls auch als Befehl kann jedoch erst in der Station aA des Befehls
einfache Verzögerungslinie ausgebildet sem könnte. Fließbandes den ZugriSswnnsch an das Zubringer
to Zubringer-Fließband übernehmen die Stationen Fließband bt übergeben.
br bs «ad b% folgende Funktionen: 65 Nach Durchlaufen der fünften Station a. des Be
fehls-Fließbandes muß dann der erste Befehl eise
Adreßübersetzung, z. B. virtuelle in physikali- Befehlspaketes für die Zeitdauer von I + S Taktea
sehe Adresse des Zentralspeichers, vor der Verarbeitungseinheit 2 warten und erzeug
damit einen Rückstau auf dem Befehls-Fließband α,. Damit läßt sich nur ein Wirkungsgrad g (V.,) erreichen, der auf Grund von Überlappungen jedoch analytisch schwer zu erfassen ist.
Die beiden genannten Verzögerungsmomente Vx und V2 werden bekanntlich dadurch kompensiert, daß der Befehlsnachschieber 4 immer dann einen Zentralspeicher-Zugriff initiiert, wenn ein Platz im Registerkörper 1 frei geworden ist und daß zwischen der letzten Station ah des Befehls-Fließbandes und der Verarbeitungseinheit 2 ein m-stufiger Wartepuffer 5 vorgesehen ist, der die Wartezeiten entsprechend dem Verzögerungsmoment K2 überbrückt.
Mittels der genannten Maßnahmen läßt sich ein Wirkungsgrad
erreichen, und dies, obwohl im Wartepuffer 5 die Linie vom Registerkörper 1 zur Verarbeitungseinheit 2 um einen Takt verlängert wird.
Eine tatsächliche Befehlsverteilung z. B. mit Sprungbefehlen und sogenannten rechenintensiven Befehlen im zu verarbeitenden Befehlsstrom führt zu wesentlich komplexeren Abläufen und weiteren Verzögerungsmomenten.
Ein rechenintensiver Befehl führt beispielsweise zu einem Rückstau vor der Verarbeitungseinheit 2, der von der Wahrscheinlichkeit seines Auftretens und von der Verarbeitungszeit in der Verarbeitungseinheit 2 abhängt. Man kann die rechenintensiven Befehle in mehrere Klassen einteilen, die die spezifischen Eigenschaften der verschiedenden Befehle wiedergeben.
Bedingte und unbedingte Sprungbefehle haben eine relative Häufigkeit von etwa 30 0Zo in einem Befehlspaket und bedeuten gegebenenfalls eine Unterbrechung in der kontinuierlichen Befehlsabwicklung.
Die Sprungbefehle werden in der zweiten Station ö2 des Befehls-Fließbandes decodiert. Dies hat für das Befehls-Fließband at die Folge, daß ein bedingter Sprungbefehl nach dem Verlassen der ersten Station α, sechs Takte bis zu seiner Ausführung benötigt. Dabei ist eine Verweilzeit des Befehls in der Verarbeitungseinheit 2 von einer Taktzeit angenommen. Nach Ablauf der sechs Takte wird die dem Sprungbefehl zugehörige Zieladresse, die in der vierten Station at des Befehls-Fließbandes abgesplittet worden war, an das Zubringer-Fließband ft, übergeben. Nach Ablauf von (3 + zi) Takten steht der gewünschte Befehl zur Übernahme in das Befehls-Fließband α, an. Wenn dieser Befehl die erste Station c, des Befehls-Fließbandes verlassen hat, so ist die durch die Decodierung des Sprungbefehls entstandene Lücke m der kontinuierlichen Befehlsfolge wieder geschlossen.
Aus diesen Betrachtungen erkennt man, daß ein bedingter Sprungbefehl, der ausgeführt wird, zu einer Unterbrechung von 9 + zf Takten führt und daß ein bedingter Sprungbefehl, der nicht ausgeführt wird, zu einer Unterbrechung von sechs Takten führt. Betrachtet man noch den unbedingten Sprungbefehl, so ergibt sich auf Grand der Gleichzeitigkeit der Befehlsbearbeitungsvorgänge eine Unterbrechungsdauer von 6 ■+· zS Takten.
Um diese unbefriedigenden Wirkungsgrade zu erhöhen, wird vielfach der Zentralspeicher 3 hierarchisch gegliedert, d. h. Schneflzugriffsspeicher als oberste Hierarchiestufe verwendet. Diese dienen zur
Zwischenspeicherung von nach bestimmten Auswahl und Alterungsregeln ausgewählten Datenmengen de Zentralspeichers 3. Dabei kann z. B. je ein Schnell Zugriffsspeicher für Operanden und für Befehle vor gesehen sein. In diesem Fall muß die aus Zeitgründei am günstigsten liegende Station b2 des Zubringer Fließbandes i>, prüfen, ob ein mit einem Zugriffs wünsch angeforderter Speicheroperand im entspre chenden Schnellzugriffsspeicher vorhanden ist.
ίο Quantitativ wird der durch die Schnell-Zugriffs speicher erzielbare Zeitgewinn durch die Wahr scheinlichkeit bestimmt, mit der ein angeforderte) Speicheroperand im Schnell-Zugriffsspeicher vornan den ist. Wenn der Zeitaufwand für einen Zugriff zi einem Schnellzugriffsspeicher eine Taktzeit beträgt so bedeutet das einen Zeitgewinn von (1 + zt) Takter im Vergleich zu obigen Verhältnissen.
Nach dieser einleitenden, die allgemeinen Grundlagen erläuternden Beschreibung einer konventionellen, in Fig. 1 schematisch dargestellten Rechenanlage, soll im folgenden an Hand der F i g. 2 die Struktur einer gemäß der Erfindung ausgebildeter Rechenanlage im einzelnen erläutert werden.
Dafür sollen folgende Ausnahmen gelten:
1. Ein Befehlspaket als Teil eines Befehlsstrome! besteht aus / Einzelbefehlen.
2. Der erste Einzelbefehl benötigt einen Speicheroperanden aus dem Zentralspeicher 3.
3. Das Befehlspaket wird von einem bedingter Sprungbefehl abgeschlossen, der ausgeführt werden soll.
Die in F i g. 2 schematisch dargestellte Struktui einer Zwei-Befehlsstrom-Rechenanlage unterscheide!
sich von der an Hand Fig. 1 erläuterten Ein-Befehlsstrcm-Rechenanlage zunächst in offenkundige! Weise dadurch, daß entsprechend den zwei Befehlsströmen zwei M-stufige Registerkörper 11, 12 und zwei m-stufige Wartepuffer 51, 52 und zwei Befehisnachschieber 41, 42 vorgesehen sind. Die Stufenzahlen η und m der Registerkörper 11, 12 und Wartepuffer 51, 52 sind entsprechend der Zahl der erfahrungsgemäß in einem Befehlspaket vorhandenen Einzelbefehle gewählt.
Die in F i g. 2 schematisch dargestellte Struktur einer Zwei-Befehlsstrom-Rechenanlage läßt sich auf mehrere Befehlsströme ausdehnen. In diesem Fall ist gegebenenfalls vor den Registerkörpern 11, 12 eine Vorrangschaltung vorzusehen, die die zur Bearbeitung
anstehenden Befehlsströme ihrer Dringlichkeit entsprechend auf die Registerkörper verteilt.
Basierend auf der Erkenntnis, daß die bedingten Sprungbefehle die zeitaufwendigsten Verzögerungsmomente darstellen, wurde ein Konzept entwickelt, wie die durch einen Sprungbefehl bedingte Totzeil effektiv genutzt werden kann. Dies wird durch den Ansatz ermöglicht, daß zwei (bzw. mehr) unabhängige Befehlsströme quasi »gleichzeitig« in Bearbeitung genommen werden. Diese Gleichzeitigkeit ist derart charakterisiert, daß stets ein Befehlsstrom so lange bearbeitet wird, wie es ohne Totzeiten möglich ist und dann der zweite Befehlsstrom in Bearbeitung genommen wird, wobei jedoch a priori nicht festgelegt seh? soll, welcher Befehlsstrom zuerst in das Befdils-Fließband eingeschleust wird.
Zur Realisierung der Konzeption ist die erste Station λ, des Befehls-Füeßbandes Ober emen Schalter S, mit den Registerkörpern 11 bzw. 12 verbindbar,
709614/336
I*
äLV i «■-
und auf diese Weise wird jeweils ein Befehlspaket ein und desselben Befehlsstroms in das Befehls-Fließband eingeschleust. Wird ein Sprungbefehl decodiert, so wird dieser Schalter S1 umgeschaltet, und ein zur Bearbeitung anstehendes Befehlspaket eines alternativen Befehlsstroms wird von der ersten Station as des Befehls-Fließbandes aus dem angeschalteten Registerkörper 11 bzw. 12 extrahiert.
Hinsichtlich der Stationen des Befehls-Fließbandes at und des Zubringer-Fließbandes /?, muß Sorge dafür getragen werden, daß sie bestimmte, von den Befehlen mitgeführte Kennungs-Bits verarbeiten können.
Wie schon erwähnt, soll die Umschaltung von einem auf einen anderen Befehlsstrom dann erfolgen, wenn in der zweiten Station a.l des Befehls-Fließbandes ein Sprungbefehl entschlüsselt wurde. Damit wird auch eine Umschaltung des Schalters S1 und eine Löschung des Inhalts der ersten Station a, des Befehls-Fließbandes initiiert. Die in den weiteren Stationen des Befehls-Fließbandes α, anstehenden Befehle werden zum Wartepuffer 51 bzw. 52 und zur Verarbeitungseinheit 2 weitergeschoben. Der Ausgang der letzten Station as des Befehls-Fließbandes ist ebenfalls über einen Schalter S., mit den Wartepuffern 51, 52 verbindbar, wobei der Schalter S., vier Takte nach der Umschaltung des Schalters S] betätigt wird. Damit ist die Entflechtung der Befehlsstrome vor der Verarbeitungseinheit 2 gewährleistet. Ansonsten arbeitet die Zwei-Befehlsstrom-Rechenanlage gemäß F i g. 2 für jeweils ein und denselben Befehlsstrom analog wie die Ein-Befehlsstrom-Rechenanlage nach Fig. 1.
Die Unterschiede in der Effektivität der Rechenanlagen gemäß Fig. 1 und 2 sollen an Hand eines einfachen Abarbeitungsschemas zweier Befehlsströme gezeigt werden, wobei als Exclusivbefehle bedingte Sprungbefehle angenommen werden. Die zu vergleichenden Schemata sind in F i g. 3 dargestellt und zeigen die Befehlsdurchsätze für
Insgesamt ist eine Folge von 50 Takten aufge zeichnet, und es läßt sich für den Fall a) durch Aus zählen der ausgeführten Einzelbefehle und der Warte zeiten W ermitteln, daß j! = 24 Befehle ausgeführt werden und der Rest von ϋ = 26 Taktzeiten als Totzeit verstreicht.
Gemäß dem Abarbeitungsschema b) läßt sich die prinzipielle Funktion der Zwei-Befehlsstrom-Rechenanlage mit unbedingter Stromumschaltung erkennen.
ίο Starr alternierend werden takt- und befehlsweise die Befehlsströme A und B in das Befehls-Fließband eingeschleust. Mit dem siebenten Takt wird ein Sprungbefehl SA angenommen, und in den folgenden Wartezeiten W des Befehlsstromes A werden mit jedem
zweiten Takt Befehle des Befehlsstroms B bearbeitet. Durch Auszähler, der ausgeführten Befehle erhält man gegenüber der Ein-Befehlsstrom-Rechenanlage eine wesentliche Verbesserung. Im Verlaufe der 50 Takte werden ji = 34 Befehle ausgeführt. Die ver-
n die Totzeit der
in der Größenordnung überraschende Verbesdes Wirkungsgrades einer Zwei-Befehlsstromlanlage wird durch die alternierende Verarbeireicht Hi, i ?aketen beider Befehlsströme erdem Ri5h f Wir,d ZUnächst ein ßefehlspaket aus dem Befehlsstrom A abgearbeitet, und während der auf einen Sprungbefehl SA folgenden Wanezyklen W BefehTsnShhISPfket aUS dem Bef<*lsstrom BTn das
während de? ^ Tefrahiert· Bcim AuszähIen der wanrend der 50 Takte ausgeführten Befehle erhält
Su"? Ξ ilT'Ä _W« -η ft = 44 BefSif
a) eine Ein-Befehlsstrom-Rechenanlage,
b) eine Zwei-Befehlsstrom-Rechenanlage mit »unbedingter Stromumschaltung« und einem Wartepuffer für jeden Befehlsstrom,
c) eine Zwei-Befehlsstrom-Rechenanlage mit alternierender Verarbeitung von Befehlspaketen zweier Befehlsströme.
Als allgemeine Annahme wird zugrunde gelegt, daß zwei Befehlsströme A und B zu verarbeiten sind und die zu überbrückenden Wartezeiten zwischen zwei Befehlsfolgen eines Befehlsstromes sechs Taktzeiten entsprechen soll. Die beiden Befehlsströme umfassen nur zwei Befehlstypen, die Normalbefehle Nur sechs Taktzeken sind hinsichtHch~ der
nutzung als Totzeit zu betrachten
H A" "and der FiS-4, die aus dem sich
scierl Ab"aufaDnd "' ^T^ S°"en ^wasleaHstizu beale'itl? !''Τ6 fÜr ZWei in Befehlspaketen zu !»arbeitende Befehlsströme A und B erläutert werden Dabei soll insbesondere auf die ZeSbE und Belegungszeiten der Wartepuff«-Sl bzw « und ^X^^^^^^n werden' Der soll fünf Normalbefehle und einen Sprungbefehl umfassen (/ = 6); der *,„„,.*„,.,,., η S0l!,zwei Normalbefehl
1) Zugriffszeit zt = 5 Takte
2) 2 :
3)
Verarbeitungs-
Al A1, Ax, Ag,
S: B1, B2, B3, B4, B5,
55
die jeweils während einer Taktzeit eme Station des Befehls-Ftießbandes O1 belegen, und die bedingten 6» Sprungbefehle SA bzw. SB, die die Folge der Normalbefehle unterbrechen und hinter der zweiten Station des Befehls-Fließbandes eine Lacke von jeweils sechs Taktzeiien erzeugen, da sie üb allgemeinen anf die AbarbeitDag älterer Befehle warten müssen. Es wird 65 weiter aagenommea, daß die bedingten Sprangbefehle SA bzw. % stets airf den Anfang einer Folge von NormalbefeMen zurückführen.
SpaIten in Fig·4
des Befehls-FIießbandes·
Stationen
SSS55SSSS·*·8
h
/ bedeutet den Zugriff zum ersten Befehl nach dem Auftreten eines Sprungbefehls;
WPX charakterisiert die Belebung der Wartebzw. WPl puffer 51 bzw. 52 für die alternierenden Bcfehlspakete der Befehlsströme A undß;
VE bedeutet die Belegung der Verarbeitungseinheit 2 zur Befehlsausführung.
Taktweise nacheinander weiden zunächst die Befehle des ersten Befehlspakets des Befehlsstroms A in das Befehls-Fließband a, eingeschleust. Mit dem fünften Takt sind alle Stationen des Befehls-Fließbandes «, durch die fünf Normalbefehle des Befehlsstroms A belegt. Gleichzeitig wird das Zubringer-Fließband mit der Aufgabe betraut, einen zur Ausführung des Befehls A, notwendigen Operanden herbeizuschaffen. Diese Aktivität erfordert, wie durch die Symbolik A Φ angedeutet, insgesamt acht Takte (3 -4- zt = 8).
Mit dem sechsten Takt wird der Sprungbefehl SA in die erste Station des Befehls-Fließbandes und der Befehl A1 in den Wartepuffer 51 übertragen. Nach der Decodierung des Sprungbefehls SA in der Station a., des Befehls-Fließbandes a, mit dem siebenten Takt wird der Inhalt der Station α, gelöscht, und es entsteht eine Lücke zwischen den Befehlsströmen A und B. Mit dem achten Takt wird sodann der erste Befehl B1 aus dem anstehenden Befehlspaket des Befehlsstroms B in das Befehls-Fließband α, übernommen. Mit dem elften Takt steht nun der Befehl A1 zur Übergabe an die Verarbeitungseinheit 2 bereit. Da jedoch der angeforderte Operand erst mit dem zwölften Takt geliefert wird, bleibt der Befehl A1 noch für einen Takt im Wartepuffer Sl. Mit dem 13. Takt wird der Befehl A1 in die Verarbeitungseinheit 2 übernommen und während der folgenden zwei Takte
mit dem inzwischen herbeigeschafften Operanden verarbeitet. Inzwischen ist mit dem zwölften Takt aucl" ein Zugriff auf den Zentralspeicher 3 zur Herbeischaffung eines Operanden für den Befehl B1 gestartet worden.
Die Verarbeitungseinheit 2 ist während insgesann zwölf Takten vom Befehlspaket des Befehlsstroms A belegt, bis der letzte Befehl SA aus dem Wartepuffei 51 ausgelesen und in den folgenden zwei Takter
ίο auch verarbeitet ist. Der Wartepuffer 52 des Befehlsslroms B bleibt so lange mit den Befehlen des Befehlspakets des Befehlsstroms B gefüllt, bis die Verarbeilungseinheit 2 frei ist. Dann wird der Wartepuffer 52 sukzessive ausgelesen und die Befehle B1, B.
und SB abgearbeitet.
Nach Abarbeitung des Sprungbefehls SA des erster Befehlspakets des Befehlsstroms A kann auch eir neuer Befehl vom Zenlralspeicher 3 angefordert werden. Diese Befehls-Holphase ist symbolisch mit Ai dargestellt und dauert, auf Grund der Vereinbarung daß jeder angeforderte Befehl im Schnellzugriffsspeicher zur Verfügung steht, drei Takte. Somit kann mil dem 28. Takt wieder ein Befchlsstrom A in das Befehls-Fließband eingeschleust werden.
In Fig. 4 ist ein Ablaufschema für insgesamt 6C Takte dargestellt. In Analogie zu Fig. 3 ließe sicr ein Ablaufschema auch für den Fall der »Unbedingten Stromumschaltung« aufzeichnen. Dabei würder sich ebenfalls die an Hand der Fig. 3 ermittelter und erläuterten Unterschiede bezüglich der Wir kungsgrade ergeben.
Simulationsergebnisse mit technisch-wissenschaft liehen Programmen bestätigen die etwa 3O°/oige Ver besserung des Befehlsdurchsatzes der erfindungs gemäßen Struktur gegenüber der Zwei-Befehlsstrom Rechenanlage mit »Unbedingter Stromumschaltung« Gegenüber einer Ein-Befehlsstrom-Rechenanlage er höht sich der Befehlsdurchsatz um etwa 85 %.
Hierzu 4 Blatt Zeichnungen
k

Claims (1)

  1. Patentanspruch:
    Nach dem Fließbandprinzip arbeitende, mindestens aus einem zentralen Prozessor und einen Zehtralspeicher bestehende elektronische Mehr-Befehlsstrom-Rechenanlage, deren zentraler Prozessor ein zwischen mehrstufigen, als Wartepuffer vorgesehenen Registerkörpern zum Zwischenspeichern von Befehlen angeordnetes Befehls-Fließband, ein Zubringerwerk und eine arithmetisch-logische Verarbeitungseinheit umfaßt und wobei ein Befehlsstrom aus einer Mehrzahl von Befehlspaketen besteht, dadurch gekennzeichnet, daß der zentrale Prozessor eine der Anzahl s der Befehlsströme entsprechende Anzahl von mehrstufigen Registerkörpern (11, 12) zum Zwischenspeichern von aufeinanderfolgenden Befehlen je eines der zur Verarbeitung anstehenden Befehlsströme (A, B) aufweist, daß die erste Station (O1) des Befehls-Fließbandes in Abhängigkeit von einem ein Befehlspaket (A,, A1) in einem Befehlsstrom abschließenden, vorbestimmte Wartezeiten verursachenden Exclusivbefehl (SA, SB) auf einen anderen Registerkörper (11, 12) umschaltbar ist und somit ein Befehlspaket (A1, B1) eines anderen Befehlsstromes (A, BY) zur weiteren Abarbeitung übernimmt und daß zwecks Entflechtung der Befehlsströme vor der Verarbeitungseinheit (2) zwischen dieser und der letzten Station (a5) des Befehls-Fließbandes eine ebenfalls der Anzahl der Befehlsströme entsprechende Anzahl von mehrstufigen Wartepuffern (51, 52) vorgesehen ist, die die zwischen den Befehlspaketen ein und desselben Befehlsstromes (A bzw. B) auftretenden Wartezeiten überbrücken, wodurch die Verarbeitungseinheit (2) in der Zwischenzeit ein Befehlspaket eines anderen Befehlsstromes abzuarbeiten vermag.
    Die vorliegende Erfindung bezieht sich auf eine nach dem Fließbandprinzip arbeitende, mindestens aus einem zentralen Prozessor und einem Zentralspeicher bestehende elektronische Mehr-Befehlsstrom-Rechenanlage, deren zentraler Prozessor eine zwischen mehrstufigen, als Wartepuffer vorgesehenen Registerkörpern zum Zwischenspeichern von Befehlen angeordnetes Befehls-Fließband, ein Zubringerwerk und eine arithmetisch-logische Verarbeitungseinheit umfaßt und wobei ein Befehlsstrom aus einer Mehrzahl von Befehlspaketen besteht.
    Es ist z. B. aus dem in der Zeitschrift »Elektronische Rechenanlagen«, 1973, S. 60 bis 65 veröffentlichten Aufsatz von J. Swoboda, »Möglichkeiten der Beschleunigung e:ner Zentraleinheit durch strukturelle Maßnahmen«, bekannt, für Prozessoren höherer Leistung die Befehle zweckmäßigerweise in der Art eines Fließbandes zu bearbeiten. Für die einzelnen Bearbeitungsphasen, wie Befehl Holen, Decodieren, Adreßrechnung und Veranlassung für einen Operanden-Transport, sind eine oder mehrere Bearbeitungsstationen vorgesehen. Die Befehle durchlaufen taktweise die Kette dieser Bearbeitungsstationen, die auch als Befehls-Pipeline, d. h. als Befehls-Fließband, bezeichnet wird.
    An dieses Befehls-Fließband schließt sich ei Rechenwerk bzw. Ausführungswerk an, das ebei falls aus einzelnen autonomen Unterwerken ode Bearbeitungsstationen bestehen kann. Der Verkeh mit dem Zentralspeicher wird über ein autonome Speicherzugriffswerk, d. h. ein sogenanntes Zubringei werk, abgewickelt.
    Ein Prozessor mit den genannten Strukturmerk
    malen kann im Prinzip mit jedem Fließbandtakt di
    ίο Bearbeitung eines Befehls beginnen bzw. beenden Die maximale Leistung ist deshalb ein Befehl je Takt Hemmende Ereignisse verursachen jedoch Belegungs lücken oder einen Rückstau in dem Befehls-Fließ band, so daß sich eine wesentlich geringere realf Leistung einstellt. Solche hemmende Ereignisse sine z.B.:
DE19742404459 1974-01-31 1974-01-31 Mehr-Befehlsstrom-Rechenanlage Expired DE2404459C3 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19742404459 DE2404459C3 (de) 1974-01-31 Mehr-Befehlsstrom-Rechenanlage
AT33475A AT351847B (de) 1974-01-31 1975-01-17 Mehr-befehlsstromrechenanlage
IT1964875A IT1031180B (it) 1974-01-31 1975-01-28 Impianio calcolatore con flusso di istruzioni plurimo
NL7500984A NL7500984A (nl) 1974-01-31 1975-01-28 Rekeninrichting met een aantal instruktie- en.
CH100875A CH592340A5 (de) 1974-01-31 1975-01-28
FR7502747A FR2260138B3 (de) 1974-01-31 1975-01-29
GB397475A GB1496083A (en) 1974-01-31 1975-01-29 Computer systems
BE152936A BE825048A (fr) 1974-01-31 1975-01-31 Installation de calcul a courants multiples d'instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19742404459 DE2404459C3 (de) 1974-01-31 Mehr-Befehlsstrom-Rechenanlage

Publications (3)

Publication Number Publication Date
DE2404459A1 DE2404459A1 (de) 1975-08-14
DE2404459B2 DE2404459B2 (de) 1976-08-12
DE2404459C3 true DE2404459C3 (de) 1977-04-07

Family

ID=

Similar Documents

Publication Publication Date Title
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE3424962C2 (de)
EP0048767B1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE3400723C2 (de)
DE1966633B2 (de) Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers
DE2234867A1 (de) Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme
DE1803767A1 (de) Elektronisches Datenverarbeitungssystem
EP1599794B1 (de) Prozessor mit verschiedenartigen steuerwerken für gemeinsam genutzte ressourcen
EP3417373B1 (de) Verfahren und vorrichtung zum betreiben eines steuergeräts
DE19842254A1 (de) Datenverarbeitungsgerät
DE2533737A1 (de) Datenprozessor
DE2548720C2 (de) Mikroprogramm-Steuerwerk
EP1117037B1 (de) Datenverarbeitungsvorrichtung zum parallelen Verarbeiten von unabhängigen Prozessen (Threads)
DE102011007603A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Datenelementen mit minimaler Latenzzeit
DE1574877B1 (de) Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen
DE2404459C3 (de) Mehr-Befehlsstrom-Rechenanlage
DE102010028896A1 (de) Verfahren und Vorrichtung zum Zuweisen einer Mehrzahl von Teilaufgaben einer Aufgabe zu einer Mehrzahl von Recheneinheiten einer vorgegebenen Prozessorarchitektur
DE2404459B2 (de) Mehr-befehlsstrom-rechenanlage
AT501213B1 (de) Verfahren zum steuern der zyklischen zuführung von instruktionswörtern zu rechenelementen und datenverarbeitungseinrichtung mit einer solchen steuerung
DE2622140B2 (de) Einrichtung zur Steuerung manueller Operationen
DE60315264T2 (de) Durch timebox angesteuertes scheduling von softwarekomponenten in hard-echtzeitsystemen
DE2544071C3 (de) Mehrstufiges Arbeitsspeichersystem
DE102020127707A1 (de) Hochleistungs-synchronisierungsmechanismen zur koordinierung von operationen auf einem computersystem
EP3901780A1 (de) Digitale schaltanordnung und verfahren zur konfiguration zumindest einer konfigurierbaren hardwarekomponente