DE2404459A1 - Mehr-befehlsstrom-rechenanlage - Google Patents

Mehr-befehlsstrom-rechenanlage

Info

Publication number
DE2404459A1
DE2404459A1 DE19742404459 DE2404459A DE2404459A1 DE 2404459 A1 DE2404459 A1 DE 2404459A1 DE 19742404459 DE19742404459 DE 19742404459 DE 2404459 A DE2404459 A DE 2404459A DE 2404459 A1 DE2404459 A1 DE 2404459A1
Authority
DE
Germany
Prior art keywords
instruction
command
assembly line
stream
processing unit
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
DE19742404459
Other languages
English (en)
Other versions
DE2404459C3 (de
DE2404459B2 (de
Inventor
Gert Dr Ing Regensprug
Winfried Dr Theissen
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
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 Computer Gesellschaft Konstanz mbH filed Critical Computer Gesellschaft Konstanz mbH
Priority claimed from DE19742404459 external-priority patent/DE2404459C3/de
Priority to DE19742404459 priority Critical patent/DE2404459C3/de
Priority to AT33475A priority patent/AT351847B/de
Priority to CH100875A priority patent/CH592340A5/xx
Priority to NL7500984A priority patent/NL7500984A/xx
Priority to IT1964875A priority patent/IT1031180B/it
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
Publication of DE2404459C3 publication Critical patent/DE2404459C3/de
Application granted granted Critical
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/3802Instruction prefetching
    • 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/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

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

Description

TELEFÜNKEN COMPUTER GmbH, Konstanz
29. Januar 1974 PT-KN Za/ro
Mehr-Befehlsstrom-Rechenanlage
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, wobei der zentrale Prozessor das Befehls-Fließband, ein Zubringerwerk und eine arithmetisch-logische Verarbeitungseinheit umfaßt und ein Befehlsstrom aus einer Mehrzahl von Befehlspaketei besteht.
Es ist z.B.
/bus dem in der Zeitschrift "Elektronische Rechenanlagen" 1973t
S. 6O - 65 veröffentlichten Aufsatz von J. Swoboda "Möglichkeiten der Beschleunigung einer 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 Bearbeitüngsphasen
für einen Operanden-Transport wie Befehl Holen, Decodieren, Adreßrechnung und Veranlassung / sind eine oder mehrere Bearbeitungsstationen vorgesehen. Die Befehle durchlaufen taktweise die Kette dieser Bearbeitungsstationen, die auch als Befehls-Pipeline bezeichnet wird.
KN 73/41 509833/03AS /2
An diese Befehls-Pipeline schließt sich ein Rechenwerk bzw. Ausführungswerk an, das ebenfalls aus einzelnen autonomen Unterwerken oder Bearbeitungsstationen bestehen kann. Der Verkehr mit dem Zentralspeicher wird über ein autonomes Speicherzugriffswerk, dem oben genannten Zubringerwerk, abgewickelt.
Ein Prozessor mit den genannten Strukturmerkmalen kann im Prinzip mit jedem Fließbandtakt die Bearbeitung eines Befehls beginnen bzw. beenden. Die maximale Leistung ist deshalb ein Befehl je Takt. Hemmende Ereignisse verursachen jedoch Belegungslücken oder einen Rückstau in dem Bearbeitungsfließband, so daß sich eine wesentlich geringere reale Leistung einstellt. Solche hemmende Ereignisse sind z.B.
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 Schnellzugriffsspeicher eine gewünschte Größe nicht enthalten
d) verlängerte Zugriffszeiten auf den Zentralspeicher wegen Verkehrshemmung vor dem Speicher
e) Rückstau vor dem Rechenwerk wegen langer Ausführungszeiten bestimmter Befehle. - ' -
73Ai 509833/0346 /3
Die Auswirkung der hemmenden Ereignisse läßt sich auf unterschiedliche Weise mildern. Eine bekannte Möglichkeit besteht 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 - 1^0 anhand der Beschreibung des IBM-Systems/360 Modell 85 von A. Kollmar beschrieben.
Eine andere Möglichkeit besteht darin, Belegungslücken und Aufstau für einen Befehlsstrom zuzulassen, und das Bearbeitungsfließband für einen zweiten Befehlsstrom und evtl. für weitere Befehlsströme zu nutzen. Eine Bearbeitungsstation in dem Fließband kann in beliebiger Folge Befehle aus unterschiedlichen Befehlsströmen bearbeiten. Dabei müssen die Befehle eine Kennung mit sich führen, die anzeigt, zu welchem Befehlsstrom sie gehören. Eine solche Mehrstrom-Rechenanlage arbeitet aus der Sicht des Programmierers wie 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. Sumner angedeutet. Die entsprechende Veröffentlichung findet sich im
KN 73Al /4
509833/0346
Aufsatz "Hardware-Architecture and Computer Organization", der in den 1973 im Springer-Verlag erschienen Berichten von der 2. 6I-Jahrestagung in Karlsruhe 1972, auf den Seiten 22 abgedruckt ist.
Für die Organisation der Umschaltung zwischen Befehlsströmen ist es bekannt, daß in das Fließband zyklisch von jedem Strom je ein Befehl eingespeist wird. Bei s Strömen kann ein Strom jeden s-ten Takt nutzen. Der Ablauf für einen Strom wird s-fach gedehnt, und Wartezeiten wirken sich entsprechend geringer aus. Diese Methode wird im folgenden als "unbedingte Stromumschaltung" bezeichnet und wurde von M.J. Flynn et al» in den 1970 von L.C. Hobbs herausgegebenen Berichten Parallel processor system, technologies, and applications" (Sparta ' Book) in dem Aufsatz "A multiple instruction stream with shared resources" vorgeschlagen.
Die der Erfindung zugrunde liegende Aufgabe ist es, eine Mehr-Befehlsstrom-Rechenanlage der eingangs genannten Art strukturell so zu modifizieren, daß ein gegenüber einer nach dem Prinzip der "unbedingten Stromumschaltung" arbeitenden Anlage wesentlich erhöhter Wirkungsgrad erzielt wird, wobei unter Wirkungsgrad die Zahl der pro Zeiteinheit ausgeführten Befehle verstanden werden soll.
Die Lösung der der Erfindung zugrunde liegenden Aufgabe wird durch die gemeinsame Anwendung der im Patentanspruch 1 gekennzeichneten Merkmale erreicht.
509833/0346
KN 73Al /5
Die Einzelheiten der Erfindung werden im folgenden anhand der Zeichnungen und Zeitdiagramme näher erläutert. Das Ausführung sb ei spiel der erfindungsgemäßen Mehr-Befehlsstrom-Rechenanlage betrifft eine solche für zwei Befehlsströme (s = 2)
Fig. 1 zeigt das Aufbauprinzip einer konventionellen Ein-Befehlsstrom-Rechenanlage;
Fig. 2 zeigt das Aufbauprinzip einer gemäß der Erfindung aufgebauten Mehr-Befehlsstrom-Rechenanlage;
Fig. 3 zeigt einfache Ablauf-Schemata für die mit einer Ein-Befehlsstrom-Rechenanlage, mit einer nach der Methode der "unbedingten Stromumschaltung" arbeitenden Zwei-Befehlsstrom-Rechenanlage und mit einer gemäß der erfindungsgemäßen Konzeption arbeitenden Zwei-Befehlsstrom-Rechenanlage erreichbaren Befehlsdurchsätze;
Fig. 4 zeigt ein Ablauf-Diagramm für zwei mit einer Zwei-(a u. b)
Befehlsstrom-Rechenanlage gemäß der Erfindung verarbeitete Befehlsströme unter Einbeziehung der Belegungszeiten der Wartepuffer und der arithmetisch-logischen Verarbeitungseinheit.
In Fig. 1 ist das Aufbauprinzip einer konventionellen Ein-Bef ehlsstrom-Rechenanlage dargestellt, die im folgenden näher beschrieben wird.
KN 73/41 S09833/0346 /6
Das Kernstück der dargestellten Anlage bildet ein Befehls-Fließband, das aus fünf Stationen a. ... a_ besteht. In Analogie zu einem Fließband in der industriellen Massenfertigung wird durch die Aufgliederung in fünf Bearbeitungsstationen der Verarbeitungsprozeß eines einzelnen Befehls in Elemente zerlegt. Als weitere Voraussetzung wird im folgenden angenommen, daß die Durchlaufzeit eines Befehls durch eine Fließbandstation jeweils einen Takt (Maschinenzyklus) erfordert.
Die Stationen a. ... a. des Befehls-Fließbandes haben z.B. folgende funktioneile Aufgaben:
a- Extrahieren (Herausholen) eines Befehls aus einem η-stufigen Registerkörper 1, der die vom Zentralspeicher 3 übernommenen Befehlsströme zwischenspeichert ;
ao Decodieren (Entschlüsseln) des Befehls;
a. Bilden der Adressen für eventuelle Zentralspeicherzugriffe j
a. Übergabe der ggf. in der Station a„ gebildeten Adresse an das Zugriffswerk (b.) des Zentralspeichers\
a,. Übergabe des Befehls an die arithmetisch-logische Verarbeitungseinheit 2 zur Ausführung des Befehls.
KN 73Ai 5098 3 3/0346 /7
240A459
Erst die arithmetisch-logische Verarbeitungseinheit 2 bewirkt die durch den speziellen Code eines Befehlswortes vorgeschriebenen Manipulationen. Derartige Manipulationen sind beispielsweise Datentransporte zwischen d·» Speicher und dem
Prozessor
Zentral-/i>der zwischen gegebenenfalls mehreren vorhandenen
innerhalb des Prozessors speziellen Verarbeitungseinheiten/(z.B. können nebeneinander eine Festpunkt- und eine Gleitpunkt-Verarbeitungseinheit vorgesehen sein). Weitere Manipulationen sind die Umformung oder Verknüpfung von Daten und Adressen.
Die genannten Aktivitäten werden erst dann gestartet, wenn vom Zentralspeicher 3 die ggf. angeforderten Operanden zur Verarbeitungseinheit 2 übertragen worden sind.
Die Versorgung des Befehls-Fließbandes a. und damit letztlich auch der Verarbeitungseinheit 2 mit - Daten (Operanden), sowie die Übergabe von in der Verarbeitungseinheit 2 ermittelten Resultaten in den Zentralspeicher 3 wird über das Zubringerwerk b. durchgeführt. Dieses ist in Analogie zum Befehls-Fließband a. ebenfalls als Fließband aufgebaut. Das Zubringerwerk kann gegebenenfalls auch als einfache Verzögerungslinie ausgebildet sein. Entsprechend der Darstellung nach Fig. 1 weist das Befehls-Zubringer-Fließband folgende Stationen auf.:
b. Umsetzen einer eventuell im Befehlswort enthaltenen Pseudo-Adresse (virtuelle Adresse) in eine physikalische Adresse, also in eine echte Adresse des Zentralspeichers
509833/0346
KN 73Al ww /8
hg Organisation des auszuführenden Zentralspeicherzugriffs j
b« Prüfen, ob die vom Zentralspeicherzugriff betroffene Speichereinheit (Speichermodul) ansteuerbar ist.
In den weiteren Stationen des Zubringer-Fließbandes (Stationen b. ... b ) wird die Abwicklung und der Fortgang eines Zentralspeicherzugriffs überwacht. Diese Überwachung umfaßt den Ablauf eines Zugriffswunsches von seiner Übergabe an den Zentralspeicher 3 bis zur Übernahme der mittels des Zugriffswunsches angeforderten Daten in der Verarbeitungseinheit 2 und ist in der Druckschrift !.(Patentanmeldung P 23 38 933.5 vom 1.8.73) beschrieben. Hinsichtlich des Zeitablaufs wird im weiteren davon ausgegangen, daß das zwischen den Stationen b· ... b des Befehlszubringer-Fließbandes b. notwendige Zeitintervall der Zugriffszeit zt des Zentralspeichers entspricht.
Für die weitere Beschreibung werden zwei Quellen für Zugriffswünsche auf den Zentralspeicher 3 zugrundegelegt, die Station a. des Befehls-Fließbandes und ein Befehls-Nachschieber 4, der die Zulieferung von Befehlen für den Registerkörper 1 steuert. Zur Kennzeichnung der äquivalenten Wirkung der Station at des Befehls-Fließbandes und des Befehls-Nachschiebers 4 wurde beiden das gleiche Symbol O zugeordnet.
KN 73Ai 509833/0346 /9
Bezüglich der zeitlichen Verhältnisse gilt im allgemeinen die folgende Aussage:
l) ein durch eine Station des Befehls-Fließbandes a± geschleuster Befehl benötigt genau einen Takt
2) ein in die Verarbeitungseinheit 2 einfließender Befehl benötigt zu seiner Ausführung gegebenenfalls mehrere . Takte;
3) nach Beendigung des Aktiv-Zustandes der Station b des
Zubringer-Fließbandes wird der Speicher- _ Operand in ein Zielregi^ster der Verarbeitungseinheit 2 eingetragen.
Der Bearbeitungsbeginn (ürstart) der Ein-Befehlsstrom-Rechenanlage gemäß Fig. 1 erfolgt aufgrund eines vom Befehls-Nachschieber 4 initiierten Zentralspeicher-Zugriffs.
Im folgenden soll auf die mit der Ein-Befehlsstrom-Rechenanlage erzielbare Leistung unter Berücksichtigung bestimmter hemmender Ereignisse (Verzögerungen) eingegangen werden. Dabei wird
idealisierten
zunächst von einer / '< Befehlsverteilung innerhalb der
Befehlsströme ausgegangen und zunächst auf zwei hemmende
KN 73/41 /10
50 98 3 3/034 6 obkmnal
Ereignisse Bezug genommen, die auch dann wirksam sind, wenn keine Sprungbefehle vorkommen bzw. wenn Befehle auszuführen sind, die die Verarbeitungsexnhext langer als einen Takt
belegen.(Die idealisierte Befehlsverteilung sei dadurch charakterisiert, daß keine Sprungbefehle auftreten und die Verarbeitungseinheit je Takt einen Befehl ausführt.) Das erste zu betrachtende Verzögerungsmoment V' betrifft den Fall, daß der Befehls-Nachschieber k genau dann einen Befehl anfordert, wenn im Registerkörper 1 kein Befehl enthalten ist. Bei einer Zugriffszeit des Zentralspeichers 3 von zt steht der gewünschte Befehl nach
t (V1) = 3 + zt Takten
zur Verfügung.(Die additive Größe 3 entspricht der Durchlaufzeit der Befehlsanforderung im Zubringerwerk.)
Bezeichnet man mit g den Wirkungs-Grad der Rechenanlage, also den Durchsatz an Befehlen pro Takt, so läßt sich für obiges Beispiel ein Wirkungsgrad g (V^) ermitteln zu
g (V ) = —i-3+zt
Betrachtet man den Spezialfall, daß im Registerkörper 1 jeweils ein sogenanntes Befehls-Doppelwort steht, d.h. es stehen jeweils zwei Befehle zur Extraktion an, so läßt sich der Wirkungsgrad theoretisch um den Faktor 2 verbessern, d.h.
g (V ) = -i— .
1 3+zt
509833/0346
KN 73/41 /11
Das zweite Verzögerungsmoment V beruht darauf, daß beispielsweise die Verarbeitungseinheit 2 zur Ausführung eines Befehls einen Operanden aus dem Zentralspeicher 3 benötigt. Den Auftrag zur Beibringung des Operanden kann der Befehl selbst jedoch erst während seines Aufenthaltes in der Station a. des Befehls-Fließbandes an das Befehls-Zubringer-Fließband abgeben.
Nach Durchlaufen der fünften Station a_ des Befehls-Fließbandes
1. eines Befehlspakets muß der/Befehl/für die Zeitdauer von 1+zt Takten vor der Verarbeitungseinheit warten und erzeugt damit einen Rückstau auf dem Befehls-Fließband. Damit läßt sich nur ein Wirkungsgrad g (V0) erreichen, der aufgrund von Überlappungen jedoch analytisch schwer zu erfassen ist»
Die beiden genannten Verzögerungsmomente V und V lassen sich in bereits bekannter Weise dadurch kompensieren, daß einerseits der Befehlsnachschieber 4 immer dann einen Zentralspeicher-Zugriff induziert, wenn ein Platz im Registerkörper 1 frei geworden ist und daß andererseits zwischen der letzten Station a_ des Befehle-Fließbandes und der Verarbeitungseinheit 2 ein m-stufiger Wartepuffer 5 vorgesehen ist, der die Wartezeiten entsprechend dem Verzögerungsmoment V überbrückt. Die Anwendung von Wartepuffern 5 ist bereits aus. dem eingangs genannten Aufsatz von J. Swoboda bekannt.
Mittels der genannten Maßnahmen läßt sich ein Wirkungsgrad g (V..) = g (V„) = 1 erreichen, und dies, obwohl im Wartepuffer 5 die Linie vom Registerkörper 1 zur Verarbeitungs-
KN 73/41 509833/0346 /12
einheit 2 um einen Takt verlängert wird. _ \
man
Geht/von der bisher angenommenen idealen Befehlsverteilung ab, und bezieht z.B. Sprungbefehle und sogenannte rechenintensive Befehle mit in den zu verarbeitenden Befehlsstrom ein, so führt dies zu wesentlich komplexeren Abläufen und weiteren Verzögerungsmomenten.
Ein rechenintensiver Befehl führt beispielsweise zu einem Rückstau vor der Verarbeitungseinheit 2, der einerseits von der Wahrscheinlichkeit,mit der ein bestimmter Befehl auftritt, und andererseits von der Verarbeitungszeit in der Verarbeitungs einheit 2 abhängt. Dabei kann man die rechenintensiven Befehle in mehrere Klassen einteilen, die die spezifischen Eigenschaften der verschiedenen Befehle wiedergeben.
Sprungbefehle treten mit einer relativen Häufigkeit von ca. 30 auf und bedeuten gegebenenfalls eine Unterbrechung.in der kontinuierlichen Befehlsabwicklung. Man unterscheidet bekanntlich sogenannte Bedingte Sprungbefehle und Unbedingte Sprungbefehle. Bei den Bedingten Sprungbefehlen unterscheidet man weiter zwischen solchen, die ausgeführt werden und solchen, die nicht ausgeführt werden, je nachdem, ob die Bedingungen
KN 73Al /13
6098 33/0346 ™*Χ IN3PBCIH>
für den Sprungbefehl erfüllt sind oder nicht. ■
Die Sprungbefehle werden in der zweiten Station a2 des Befehls-Fließbandes identifiziert (decodiert). Dies hat für das Befehls-Fließband a. die Folge, daß ein bedingter Sprungbefehl nach dem Verlassen der ersten Station a^ 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 ai des Befehls-Fließbandes abgesplitte.t worden war, an das Zubringer-Fließband b. übergeben. Nach Ablauf von (3 + zt) Takten steht der gewünschte Befehl zur Übernahme in das Befehls-Fließband a. an. Wenn dieser Befehl die erste Station a. des Befehls-Fließbandes verlassen hat, so ist die durch die Decodierung des Sprungbefehls entstandene Lücke in der kontinuierlichen Befehlsfolge wieder geschlossen.
Aus diesen Betrachtungen erkennt man, daß ein bedingter Sprungbefehl, der ausgeführt wird, zu einer Unterbrechung von 9 + zt Takten führt und daß ein bedingter Sprungbefehl, der nicht ausgeführt wird, zu einer Unterbrechung von 6 Takten führt. Betrachtet man noch den unbedingten Sprungbefehl, so ergibt sich aufgrund der Gleichzeitigkeit der Befehlsbearbeitungsvorgänge eine Unterbrechungsdauer von 6 + zt Takten.
KN 73/^1 509833/0348 /ik
Für die weitere Beschreibung sollen folgende Annahmen gelten:
1) ein Befehlspaket besteht aus 1 Einzelbefehlen
2) der erste Einzelbefehl benötigt einen Operanden aus dem Zentralspeicher
3) das Befehlspaket wird von einem bedingten Sprungbefehl abgeschlossen, der ausgeführt werden soll.
Der Verarbeitungsablauf eines Befehlspakets gliedert sich somit in vier Teilabschnitte:
a) der erste Befehl eines zur Übernahme in das Befehls-Fließband a. anstehenden Befehlsstroms erreicht nach 6 Takten die Verarbeitungseinheit 2;
b) der vom ersten Befehl benötigte und angeforderte Operand steht nach weiteren 1 + zt Takten in der Verarbeitungseinheit zur Verfügung;
c) Die Verweilzeit eines Befehlspakets von 1 Befehlen
in der Verarbeitungseinheit 2, also die reine Rechenphase beträgt 1 · ν Takte, wobei ν die mittlere Bearbeitungszeit eines Befehls in der Verarbeitungseinheit 2 kennzeichnet ;
d) (3 + zt) Takte später wird ein neues Befehlswort (dieses Befehlswort ist das 1, Befehlswort des nächsten Befehlspakets) aus dem Zentralspeicher in den Registerkörper 1 übernommen, so daß im Anschluß daran ein neues Befehlspaket und damit gegebenenfalls ein neuer Befehlsstrom in das Befehls-Fließband a. einfließen kann*
KN 73/41 509833/0346 /15
Damit ergibt sich ein Zeitaufwand von insgesamt T = 10 + 1 · ν + 2'zt ,
womit sich für ein Befehlspaket mit 1 Einzelbefehlen ein Wirkungsgrad von
S = — =
T IO + Iv + 2» zt
ergibt.
Nimmt man die Zahlenwerte 1=4, ν = 2 und zt = 5 an, so ergibt sich ein Wirkungsgrad g Cf 0,l4.
Zur Erhöhung des Wirkungsgrades ist,wie bereits eingangs erwähnt, die Verwendung von Schnellzugriffsspeichern (cache) bekannt. Diese Speichereinheiten dienen zur Zwischenspeicherung von nach bestimmten Auswahl- und Alterungsregeln ausgewählten Datenmengen des Zentralspeichers 3» Dabei können z.B. ein Schnellzugriffsspeieher für Operanden und ein zweiter für Befehle vorgesehen sein. Überträgt man dieses Konzept der Schnellzugriffsspeicher in die in Figur 1 dargestellte Konzeption, so muß einer StationCund zwar aus Zeitgründen der am günstigsten gelegenen Station des Zubringer-Fließbandes b. die Aufgabe übertragen werden, zu prüfen, ob der mit einem Zugriffswunsch angeforderte Zentralspeicherinhalt im entsprechenden Schnellzugriffsspeicher
KN 73Al /16
509833/0346
vorhanden ist oder nicht. Ist der gewünschte Zentralspeicherinhalt vorhanden, so bedeutet dies, unter der Annahme, daß der Schnellzugriffsspeicher seine Informationen mit vernachlässigbarem Zeitaufwand an die Verarbeitungseinheit bzw. den Registerkörper übergibt einen Zeitgewinn von (l + zt) Takten. Der Zeitaufwand zur Abgabe einer aus einem Schnellzugriffsspeicher zu entnehmenden Information beträgt eine Taktzeit.
Quantitativ wird der durch die Schnell-Zugriffsspeicher erzielbare Zeitgewinn durch die Wahrscheinlichkeit bestimmt, mit der ein angeforderter Zentralspeicherinhalt im Schnell-Zugriff sspeicher vorhanden ist.
Ausgehend von dem bisher beschriebenen und in der Fig. 1 dargestellten Stand der Technik, sollen im folgenden anhand der Fig. 2 die der Erfindung zugrunde liegenden Strukturmerkmale erläutert werden.
Das in der Fig. 2 dargestellte Konzept betrifft eine Zwei-Befehlsstrom-Rechenanlage und unterscheidet sich von der Ein-Befehlsstrom-Rechenanlage in offenkundiger Weise dadurch, daß entsprechend der zur Verarbeitung vorgesehenen zwei Befehlsströme zwei η-stufige Registerkörper 11, 12 und zwei m-stüfige Wartepuffer 21, 22 vorgesehen sind. Gemäß den allgemeinen Randbedingungen sind ferner zwei Befehlsnachschieber 4l, k2 vorgesehen. Die Stufenzahlen η und m der Registerkörper 11, 12 und Wartepuffer 51, 52 sind der Zahl der in
KN 73/41 /I7
509833/0346
einem Befehlspaket vorhandenen Einzelbefehle entsprechend gewählt·
Die in.der Fig. 2 konzeptionell dargestellte Zwei-Befehlsstrom-Rechenanlage läßt sich auf mehrere Befehlsströme ausdehnen. In diesem speziellen Fall ist gegebenenfalls vor den Registerkörpern 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 Totzeit 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 gemäß der Erfindung derart charakterisiert, daß stets ein Befehlsstrom solange bearbeitet wird, wie es möglich ist, und dann der zweite Befehlsstrom in Bearbeitung genommen wird, wobei jedoch a priori nicht festgelegt sein sollT welcher Befehlsstrom zuerst in das Befehls-Fließband eingeschleust wird.
Zur Realisierung der erfindungsgemäßen Konzeption ist die erste Station a. des Befehls-Fließbandes über einen Schalter S. mit den Registerkörpern 11 bzw. 12 verbindbar und auf
KN 73/41 /18
509833/0346
24Ό4459
diese Weise wird jeweils eine Befehlsfolge ein und desselben Befehlsstroms in das Befehls-Fließband eingeschleust. Wird ein Sprungbefehl decodiert, so wird dieser Schalter S. umgeschaltet und ein zur Bearbeitung anstehender alternativer Befehlsstrom wird von der ersten Station a. des Befehls-Fließbandes aus dem angeschalteten Registerkörper extrahiert.
Hinsichtlich der Stationen des Befehls-Fließbandes a. und des Befehls-Zubringer-Fließbandes b. 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„.des Befehls-Fließbandes ein Sprungbefehl entschlüsselt wurde. Damit wird eine Umschaltung des Schalters S. und eine Löschung des Inhalts der ersten Station a. des Befehls-Fließbandes induziert. Die in den weiteren Stationen des Befehls-Fließbandes a. anstehenden Befehle werden zum Wartepuffer und zur Verarbeitungseinheit weitergeschoben· Der Ausgang der letzten Station a,- des Befehls-Fließbandes ist ebenfalls über einen Schalter S mit den Wartepuffern 51, verbindbar, wobei der Schalter S vier Takte nach der Umschaltung des Schalters S. betätigt wird. Damit ist die Entflechtung der Befehlsströme vor der Verarbeitungseinheit gewährleistet. Ansonsten arbeitet die Zwei-Befehlsstrom-Rechenanlage gemäß der Erfindung für jeweils ein und denselben
KN 73Al /19
509833/0346
Befehlsstrom analog wie die Ein-Befehlsstrom-Rechenanlage nach Pig. I.
Die Effektivität der gemäß Fig. 1 und Fig. 2 konzipierten Rechenanlagen soll anhand eines einfachen Abarbeitungsschemas zweier Befehlsströme gezeigt werden, wobei als Exclusivbefehle bedingte Sprungbefehle angenommen werden. Die zu vergleichenden Schemata sind in Fig. 3 dargestellt und zeigen die Befehlsdurchsätze für
a) eine Ein~Befehlsstrom-Rechenanlage;
b) eine Zwei-Befehlsstrom-Rechenanlage
mit "unbedingter Stroisiumsclsaltung" und einem Wartepuffer für jeden Befehlsstrom ξ
c) die in erfindungsgemäßer Weise konzipierte Zwei-Befehlsstrom-Rechenanlage.
Als allgemeine Annahme wird zugrunde gelegt, daß zwei Befehlsströme A und B zu verarbeiten sind und die zu über« brückenden Wartezeiten zwischen swei Befehlsfolgen eines Befehlsstromes sechs Taktzeiten entsprechen soll· Die beiden Befehlsströme umfassen nur zwei Befehlstypen, die Normalbefehle
A:| A. A A-
B:| B1 B2 Β, B4
13173/41 S09833/0346 /2°
24ΌΛ459
die jeweils während einer Taktzeit eine Station des Befehls-Fließbandes a. belegen, und die bedingten Sprungbefehle S bzw. Sg, die die Folge der Normalbefehle unterbrechen und hinter der zweiten Station des Befehls-Fließbandes eine Lücke von jeweils 6 Taktzeiten erzeugen, da sie im allgemeinen auf die Abarbeitung älterer Befehle warten müssen. Es wird weiter angenommen, daß die bedingten Sprungbefehle S. bzw. S„ stets auf den Anfang einer Folge von Normalbefehlen zurückführen.
Insgesamt ist eine Folge von 50 Takten aufgezeichnet und es läßt sich für den Fall a) durch Auszählung der ausgeführten Einzelbefehle und der Wartezeiten W ermitteln, daß ß = 24 Befehle ausgeführt werden und der Rest von ^ = 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 S. angenommen und in den folgenden Wartezeiten W des Befehlsstromes A werden mit jedem zweiten Takt Befehle des Befehlsstroms B bearbeitet. Durch Auszählen der ausgeführten Befehle erhält man gegenüber der Ein-Befehlsstrom-Rechenanlage eine wesentliche Verbesserung. Im Verlaufe der
KN 73/41 /21
509833/0346
24Ό4459
50 Takte werden ß = Jk Befehle ausgeführt. Die verbleibenden. 16 Takte charakterisieren die Totzeitvder Rechenanlage.
Eine in der Größenordnung überraschende Verbesserung des Wirkungsgrades einer Z-wei-Befehlsstrom-Rechenanlage wird durch Anwendung der erfindungsgemäßen Struktur erreicht. Hiernach wird zunächst der Befehlsstrom A abgearbeitet und während der auf einen Sprungbefehl S. folgenden Wartezyklen W wird der Befehlsstrom B in das Befehls-Fließband extrahiert. Beim Auszählen der während der 50 Takte ausgeführten Befehle erhält man einen numerischen Wert von ß = 44 Befehlen. Nur 6 Taktzeiten sind hinsichtlich der Zeitausnutzung als Totzeit zu betrachten.
Anhand der Fig. 4, die aus den sich ergänzenden Teilen 4a
etwas realistischere und 4b besteht, sollen / Ablauf-Diagramm*für zwei gemäß der Erfindung zu bearbeitende Befehlsströme A und B erläutert werden. Dabei soll insbesondere auf die Zeitabläufe und Belegungszeiten der Wartepuffer und der Vorarbeitungseinheit hingewiesen werden. Der Befehlsstrom A soll fünf Normalbefehle und einen abschließenden Sprungbefehl umfassen (1=6); der Befehlsstrom B soll zwei Normalbefehle und einen Sprungbefehl (1 = 3) aufweisen.(Dieses Beispiel ist also anders als das anhand von Fig. 3 beschriebene.)
Bezüglich allgemeiner Randbedingungen soll folgendes gelten:
KN 73/41 /22
509833/0346
1) Zugriffszeit zt = 5 Takte
2) Verweilzeit eines Befehls in der
Verarbeitungseinheit ν = 2 Takte
3) alle angeforderten Befehle mögen in einem Schnellzugriffsspeicher vorrätig sein.
Die einzelnen Spalten in Fig. 4 haben folgende Bedeutungen:
.. ... a- zeigen die Belegung der fünf Stationen des
Bafehls-Fließbandes
OP/Bf bedeutet Zugriffe zum Zentralspeicher, und zwar
OP um einen Operanden zu holen bzw. Bf um einen Befehl zu holen
(der vereinbarungsgemäß im Schnellzugriffsspeicher vorrätig ist).
0 bedeutet den Zugriff zum ersten Operanden
eines Befehlsstroms
I bedeutet den Zugriff zum ersten Befehl nach dem Auftreten eines Sprungbefehls
WPl charakterisiert die Belegung der Wartepuffer bzw. WP2
für die alternierenden Befehlsströme A und B
VE bedeutet die Belegung der Verarbeitungseinheit zwecks Ausführung c r zwei Befehlsströme.
73Ai 509833/0346 /23
Taktweise nacheinander werden zunächst die Befehle des Befehlsstroms A in das Befehls-Fließband 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 Befehls-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 0 angedeutet, insgesamt acht Takte (3 + zt » 8).
Mit dem sechsten Takt wird der Sprungbefehl SA in die erste Station des Befehls-Fließbandes und der Befehl A. in den Wartepuffer WPl übertragen. Durch die Decodierung des Sprungbefehls SA in der Station a„ des Befehls-Fließbandes mit dem siebenten Takt wird der Inhalt der Station a* gelöscht und es entsteht eine Lücke zwischen den Befehlsströmen A und B. Mit dem achten Takt wird sodann der erste Befehl B. des Befehlsstroms B in das Befehls-Fließband übernommen. Mit dem elften Takt steht nun der Befehl A1 zur Übergabe an die Yerarbeitungseinheit bereit. Da jedoch der angeforderte Operand erst mit dem zwölften Takt geliefert wird, bleibt der Befehl A. noch für einen Takt im Wartepuffer WPl. Mit dem 13. Takt wird der Befehl A1 in die Verarbeitungseinheit übernommen und während der folgenden zwei Takte mit dem inzwischen herbeigeschafften Operanden verarbeitet. Inzwischen, mit dem zwölften Takt, ist auch ein
KN 73Al /2k
509833/0346
- 2k -
Zugriff auf den Zentralspeicher zur HerbeiSchaffung eines Operanden für den Befehl B. gestartet worden.
Die Verknüpfungseinheit ist während insgesamt zwölf Takten vom Befehlsstrom A belegt, bis der letzte Befehl S. des Befehlsstroms A aus dem Wartepuffer ausgelesen und in den folgenden zwei Takten auch verarbeitet ist. Der Wartepuffer WP2 des Befehlsstroms B bleibt solange mit den Befehlen des Befehlsstroms B gefüllt, bis die Verarbeitungseinheit frei ist, Im Anschluß an die Verarbeitung des Befehlsstroms A wird sodann der Wartepuffer WP2 sukzessive ausgelesen und die Befehle B1, B und SB abgearbeitet.
Nach Abarbeitung des Sprungbefehls SA des Befehlsstroms A kann auch ein neuer Befehl vom Zentralspeicher angefordert werden. Diese Befehls-Holphase ist symbolisch mit AX dargestellt und dauert, aufgrund der Vereinbarung, daß jeder angeforderte Befehl im Schnellzugriffsspeicher zur Verfügung steht, drei Takte. Somit kann mit dem 28. Takt wieder ein Befehlsstrom A in das Befehls-Fließband eingeschleust werden.
In Fig. 4 ist ein Ablauf-Schema für insgesamt 60 Takte dargestellt. In Analogie zu Fig. 3 ließe sich ein Ablauf-Schema auch für den Fall der "Unbedingten Stromumschaltung" aufzeichnen. Dabei wurden sich ebenfalls die anhand der Fig* ermittelten und erläuterten Unterschiede bezüglich der Wirkungsgrade ergeben.
KN 73Al /25
509833/0346
Simulationsergebnisse mit technisch-wissenschaftlichen Programmen bestätigen die ca. 30 %±ge Verbesserung des Befehlsdurchsatzes der erfindungsgemäßen Struktur gegenüber der Zwei-Befehlsstrom-Rechenanlage mit "Unbedingter Stromumschal tung". Gegenüber einer Ein-Befehlsstrom-Rechenanlage erhöht sich der Befehlsdurchsatz um ca. 85 %·
73/41 /26
509833/0346

Claims (1)

  1. Patentanspruch
    Nach dem Fließbandprinzip arbeitende, mindestens aus einem zentralen Prozessor und einem Zentralspeicher bestehende elektronische Mehr-Befehlsstrom-Rechenanlage, deren zentraler Prozessor das Befehls-Fließband, ein Zubringerwerk und eine arithmetisch-logische Verarbeitungseinheit umfaßt und wobei ein Befehlsstrom aus einer Mehrzahl von
    Befehlspaketenbesteht, dadurch gekennzeichnet, daß der zentrale Prozessor eine der Anzahl s der Befehlsströme entsprechende Anzahl von η-stufigen Registerkörpern (ll, 12) zur Zwischenspeicherung und Weitergabe der zur Verarbeitung anstehenden Befehlsströme (A, B) aufweist, daß die erste Station (a.) des Befehls-Fließbandes in Abhängigkeit von einem ein Befehlspaket (A., B.) abschließenden( vorbestimmte Wartezeiten verursachenden Exclusivbefehl (S., S„) auf einen anderen Registerkörper (11, 12) umschaltbar ist und somit ein Befehlspaket (A. ,. B.) eines anderen Befehlsstromes (A, B) zur weiteren Abarbeitung übernimmt und daß zwecks Entflechtung der Befehlsströme vor der Verarbeitungseinheit (2) zwischen dieser und der letzten Station (a_) des Befehls-Fließbandes s m-stufige Wartepuffer (51, 52) vorgesehen sind, die die zwischen den Befehlspaketen ein und desselben Befehlsstroms (A bzw. B) auftretenden Wartezeiten überbrücken, wodurch die Verarbeitungseinheit (2) in der Zwischenzeit ein Befehlspaket eines anderen Befehlsstroms abzuarbeiten vermag.
    509833/0346
    Leerseite
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 true DE2404459A1 (de) 1975-08-14
DE2404459B2 DE2404459B2 (de) 1976-08-12
DE2404459C3 DE2404459C3 (de) 1977-04-07

Family

ID=

Also Published As

Publication number Publication date
FR2260138A1 (de) 1975-08-29
GB1496083A (en) 1977-12-21
NL7500984A (nl) 1975-08-04
FR2260138B3 (de) 1978-07-07
IT1031180B (it) 1979-04-30
CH592340A5 (de) 1977-10-31
ATA33475A (de) 1979-01-15
BE825048A (fr) 1975-07-31
AT351847B (de) 1979-08-10
DE2404459B2 (de) 1976-08-12

Similar Documents

Publication Publication Date Title
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE69833008T2 (de) Prozessor mit instruktionskodierung mittels eines schablonenfeldes
DE2704842C2 (de) Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE1200581B (de) Programmunterbrechungssystem fuer eine elektronische Rechenmaschine
DE3400723C2 (de)
DE4122385C2 (de) Verfahren und Vorrichtung zur Zuführung von Befehlen an die Verarbeitungseinheiten eines Parallelrechners
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE2533737A1 (de) Datenprozessor
DE2548720C2 (de) Mikroprogramm-Steuerwerk
DE3307194C2 (de)
EP2386949A1 (de) Verfahren und Vorrichtung zum zuweisen einer Mehrzahl von Teilaufgaben einer Aufgabe zu einer Mehrzahl von Recheneinheiten einer vorgegebenen Prozessorarchitektur
DE1574877B1 (de) Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2404459A1 (de) Mehr-befehlsstrom-rechenanlage
DE2704560C2 (de) Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE1957600C3 (de)
DE2404459C3 (de) Mehr-Befehlsstrom-Rechenanlage
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE1524211C3 (de) Datenverarbeitungsanlage
DE4416143A1 (de) Verfahren zum Entwerfen von Pipeline - Stufen in einem Computer-unterstützten Entwurfssystem
DE10228778A1 (de) Hardware-Verfahren zum Implementieren von atomischen Semaphoroperationen unter Verwendung von Codemakros
AT501213B1 (de) Verfahren zum steuern der zyklischen zuführung von instruktionswörtern zu rechenelementen und datenverarbeitungseinrichtung mit einer solchen steuerung
DE3603319C2 (de)

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