DE2404459A1 - Mehr-befehlsstrom-rechenanlage - Google Patents
Mehr-befehlsstrom-rechenanlageInfo
- 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
Links
- 230000015654 memory Effects 0.000 claims description 44
- 239000000872 buffer Substances 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 238000012432 intermediate storage Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000002401 inhibitory effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 108010014172 Factor V Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000414 obstructive effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction 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
/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
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
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
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.
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.
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.
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
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)
- PatentanspruchNach 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 vonBefehlspaketenbesteht, 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/0346Leerseite
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 |