DE1774466B2 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE1774466B2
DE1774466B2 DE19681774466 DE1774466A DE1774466B2 DE 1774466 B2 DE1774466 B2 DE 1774466B2 DE 19681774466 DE19681774466 DE 19681774466 DE 1774466 A DE1774466 A DE 1774466A DE 1774466 B2 DE1774466 B2 DE 1774466B2
Authority
DE
Germany
Prior art keywords
data
memory
buffer memory
unit
commands
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
DE19681774466
Other languages
English (en)
Other versions
DE1774466A1 (de
DE1774466C3 (de
Inventor
Peter Michael London Melhar Smith
Original Assignee
English Electric Computers Ltd , London
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 English Electric Computers Ltd , London filed Critical English Electric Computers Ltd , London
Publication of DE1774466A1 publication Critical patent/DE1774466A1/de
Publication of DE1774466B2 publication Critical patent/DE1774466B2/de
Application granted granted Critical
Publication of DE1774466C3 publication Critical patent/DE1774466C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching

Landscapes

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

Description

rung 14 miteinander verbunden, die dafür sorgt, daß der Schnellspeicher 10 immer diejenigen Befehle enthält, welche am häufigsten verlangt werden.
Die Datenverarbeitungsanlage enthält außerdem einen Pufferspeicher in Form eines Befehlsregisters 16, in das Befehle aus den Speichern 10 und 12 eingegeben werden und aus dem der Rechner Befehle der Reihe nach erhält. Das Befehlsregister 16 enthält stets eine Reihe von Befehlen, die für den Rechner bereitstehen und vom Rechner der Reihe nach unmittelbar verwendet werden können, sobald sie benötigt werden. Verzögerungen, die sich dadurch ergeben könnten, daß der Rechner jeden Befehl direkt aus einem der beiden Speicher 10 oder 12 entnehmen muß, sind daher ausgeschlossen.
Das Befehlsregister 16 besteht aus mehreren Stufen 164 bis 16H, von denen jede einen Befehl enthält. Die Befehle werden aus dem Register 16 mit Hilfe eines Ausgabewerkes 18 entnommen, das mit der Stufe 16H verbunden ist. Bei jeder Entnahme eines Befehls aus der Stufe 16H rücken die verbleibenden Befehle im Register 16 in die nächste Stufe nach. Mit Hilfe eines Steuerwerkes 20, das mit der Stufe 16i? verbunden ist, werden Befehle aus den Speichern 10 und 12 in das Register 16 eingegeben.
Eine Ausgabeschaltung 22 steuert die Entnahme von Befehlen aus den Speichern 10 und 12 und überträgt die Befehle zum Steuerwerk 20, von wo aus sie in das Befehlsregister 16 eingespeist werden. Ist die Ausgabeschaltung 22 aktiviert, so sucht sie zunächst den Schnellspeicher 10 nach dem verlangten Befehl ab. Sie sucht nur dann im langsam arbeitenden Speicher 12 nach dem verlangten Befehl, wenn sie diesen im Schnellspeicher 10 nicht gefunden hat. Da die Datenübertragungsschaltung 14 dafür sorgt, daß der Schnellspeicher die am häufigsten verlangten Befehle enthält, kommt es nur relativ selten vor, daß die Ausgabeschaltung 22 den verlangten Befehl aus dem langsamen Speicher 12 holen muß. Auf diese Weise kann der verlangte Befehl gewöhnlich sehr rasch aus dem Schnellspeicher 10 beschafft werden, so daß mit dem Absuchen des langsam arbeitenden Speichers 12 verbundene Verzögerungen vermieden werden.
Befehle, welche die Ausgabeschaltung 22 aus dem Schnellspeicher 10 entnommen hat, werden über eine Leitung 24 zum Steuerwerk 20 (zwecks Eingabe, in die Stufe 16A) übertragen. Befehle, die die Ausgabeschaltung 22 aus dem langsamen Speicher 12 entnommen hat, werden über eine Leitung 26 zum Steuerwerk 20 (zwecks Eingabe in die Stufe 16A) übertragen. Das Steuerwerk 20 wird durch ein Vergleichswerk 28 gesteuert, welches auf die im Register 16 zu irgendeinem Zeitpunkt befindliche Anzahl von Befehlen anspricht. Das Vergleichswerk 28 ist ebenfalls mit den Leitungen 24 und 26 verbunden und stellt fest, ob der letzte von dem Steuerwerk 20 empfangene und in das Befehlsregister 16 eingegebene Befehl aus dem Schnellspeicher 10 oder aus dem langsam arbeitenden Speicher 12 stammt.
Nachstehend wird nun die Arbeitsweise der Datenverarbeitungsanlage nach F i g. 1 näher erläutert.
Wenn der Rechner den nächsten Befehl benötigt, wird über eine Leitung 32 ein geeignetes Signal zum Ausgabewerk 18 geschickt, das daraufhin den in der Stufe 16H des Registers befindlichen Befehl entnimmt und ihn über eine Leitung 34 zum Rechner Überträgt. Alle im Befehlsregister 16 befindlichen Befehle rücken dann in die nächste Stufe weiter, und das Vergleichswerk 28 stellt fest, daß sich im Register ein Befehl weniger als vorher befindet. Das Vergleichswerk 28 vergleicht die Anzahl der im Befehlsregister befindlichen Befehle mit einer von zwei vorgegebenen Zahlen Z und Y, wobei Z kleiner als Y ist. Stammte der letzte in das Befehlsregister 16 eingegebene Befehl aus dem Schnellspeicher 10 (d. h., er wurde über die Leitung 24 eingegeben), so
ίο vergleicht das Vergleichswerk 28 die Anzahl der im Register 16 befindlichen Befehle mit der Zahl X. Ist die Anzahl der Befehle kleiner als X, aktiviert das Vergleichswerk 28 das Steuerwerk 20 über ein über die Leitung 36 fließendes Signal. Das Steuerwerk 20 veranlaßt daraufhin über eine Leitung 37 die Ausgabeschaltung 22 dazu, den nächsten Befehl, welcher verlangt wird, wenn alle im Augenblick im Befehlsregister 16 befindlichen Befehle durch den Rechner ausgeführt worden sind, zu beschaffen. Die Ausgabe-
ao schaltung 22 sucht den Schnellspeicher 10 nach dem verlangten Befehl ab und, falls sie ihn dort findet, holt ihn heraus und überträgt ihn über die Leitung 24 zum Steuerwerk 20. Das Vergleichswerk 28 stellt die Zunahme um einen Befehl in der Anzahl der im Befehlsregister 16 befindlichen Befehle fest und vergleicht diese sich neu ergebende Anzahl wieder mit der Zahl Z. Ist die Anzahl der im Befehlsregister 16 jetzt befindlichen Befehle gleich oder größer als X, werden keine weiteren Befehle verlangt. Ist jedoch die Anzahl der im Befehlsregister 16 befindlichen Befehle immer noch kleiner als X, so wird das Steuerwerk 20 erneut durch das Vergleichswerk 28 aktiviert, die Ausgabeschaltung 22 sucht wieder nach dem nächsten Befehl und überträgt ihn in das Befehlsregister 16, und zwar entweder über die Leitung 24 oder die Leitung 26, je nachdem, ob der Befehl im Speicher 10 oder im Speicher 12 gespeichert war. Wurde dieser weitere Befehl über die Leitung 24 eingegeben (d. h., er wurde im Schnellspeicher 10 gefunden), dann vergleicht das Vergleichswerk 28 die sich neu ergebende Anzahl von Befehlen im Befehlsregister 16 mit der Zahl X und stellt fest, ob weitere Befehle angefordert werden müssen oder nicht.
Stammt jedoch der von der Ausgabeschaltung 22 entnommene Befehl aus dem langsam arbeitenden Speicher 12, dann vergleicht das Vergleichswerk 28 die neue im Befehlsregister 16 befindliche Anzahl von Befehlen mit der Zahl Y, welche größer als Z ist. Ist die Anzahl der im Befehlsregister 16 befindlichen Befehle kleiner als Y, dann wird die Ausgabeschaltung 22 erneut aktiviert und holt den nächsten Befehl aus dem Speicher 10 oder 12. Danach vergleicht das Vergleichswerk 28 die Anzahl der im Befehlsregister befindlichen Befehle wieder mit der Zahl Z oder Y, je nachdem, ob der zuletzt eingegebene Befehl aus dem Schnellspeicher 10 oder dem langsamen Speicher 12 stammte.
Auf diese Weise hängt die Anzahl der im Befehlsregister 16 befindlichen Befehle zu jedem beliebigen Zeitpunkt davon ab, ob der zuletzt eingegebene Befehl aus dem Schnellspeicher 10 oder dem langsam arbeitenden Speicher 12 geholt wurde. Wurde der letzte Befehl aus dem langsamen Speicher 12 geholt, dann befindet sich im Befehlsregister 16 eine größere Anzahl von Befehlen als für den Fall, daß der letzte Befehl aus dem Schnellspeicher 10 entnommen wurde. './-:■
Die Adressen der aus den Speichern 10 und 12 geholten Befehle können in der Ausgabeschaltung 22 erzeugt oder in die Ausgabeschaltung 22 eingegeben werden.
F i g. 2 zeigt eine abgewandelte Ausführungsform der in Fig. 1 gezeigten Datenverarbeitungsanlage, wobei auch Einzelheiten dargestellt sind. Auch die Ausführungsform nach Fig. 2 weist ein Befehlsregister auf, in das eine Reihe von Befehlen eingespeichert sind. Diese Befehle werden ebenfalls aus einem Schnellspeicher oder einem langsamen Speicher entnommen, so wie im Zusammenhäng mit Fig. 1 beschrieben. Die Anzahl der im Befehlsregister enthaltenen Befehle wird ebenfalls, so wie in Verbindung mit F i g. 1 erläutert, automatisch und in Abhängigkeit davon, ob der zuletzt eingegebene Befehl aus dem schnellen oder dem langsamen Speicher stammte, gesteuert.
Der schnell und der langsam arbeitende Speicher sind in Fig. 2 nicht dargestellt. Sollen in der in F i g. 2 gezeigten Vorrichtung Befehle in das Befehlsregister eingegeben werden, so wird ein Signal FTCH über eine Leitung 48 geschickt, worauf, wie im Zusammenhang mit Fig. 1 erläutert, die verlangten Befehle entweder aus dem schnellen oder aus dem langsamen Speicher geholt und über einen Kanal 50 weitergeleitet werden. Ein Kanal Sl liefert die Adressen der in das Befehlsregister einzuspeisenden Befehle. Kommen die Befehle aus dem schnell arbeitenden Speicher, so wird eine Leitung 52 erregt. Kommen andererseits die Befehle aus dem langsamen Speicher, so wird eine Leitung 54 erregt. Über die Leitungen 52 und 54 wird eine bistabile Schaltung 55 gesteuert, welche über eine Leitung 56 ein Signal SLW abgibt, wenn sie durch Erregung der Leitung 54 in den Zustand »1« gebracht wird. Das in F i g. 2 gezeigte Befehlsregister besteht aus drei Teilen A, B und C, wobei jeder Teil in vier Stufen unterteilt ist. Es sind nur die Stufen Ca, Cb, Cc und Cd für den Teil C dargestellt. Die Stufen für die Teile A und B sind nicht abgebildet. Der Teil C entspricht der Stufe 16H von Fig. 1, aus welcher der Rechner seine Befehle entnimmt. Die Teile A Und B entsprechen anderen Stufen des Registers 16. Der Rechner entnimmt die Befehle der Reihe nach aus den Stufen Ca, Cb, Cc und Cd, indem er über die Leitungen 57 bis 62 und in dieser Reihenfolge Signale FCa, FCb, FCc Und FCd schickt. Jeder entnommene Befehl fließt über einen Kanal 64 zum Rechner. Befehle werden aus den Registerteilen A, B und C zum nächsten Registerteil in Vierergruppen übertragen. Das heißt, es werden keine Befehle in einen Registerteil eingegeben, bis nicht alle Stufen dieses Registerteiles geleert worden sind. In den Registerteil C werden Befehle mit Hilfe eines ODER-Gatters 65 und über einen Kanal 66 eingespeist. Diese Befehle kommen aus dem Registerteil B, wenn ein Signal BTOC über die Leitung 67 zur Aktivierung eines UND-Gatters 68 geliefert wird. Andererseits kommen diese Befehle direkt über den Kanal 50, wenn ein Signal STOC über eine Leitung 69 zur Aktivierung eines UND-Gatters 70 geliefert wird. In den Registerteil B werden Befehle mit Hilfe eines ODER-Gätters 71 und eines Kanals 72 übertragen. Diese Befehle kommen aus dem Registerteil A, wenn ein Signal A TOB über eine Leitung 73 zur Aktivierung eines UND-Gatters 74 geliefert wird, und sie kommen direkt über den Kanal 50, wenn ein Signal STOB über eine Leitung 75 zur Aktivierung eines UND-Gatters 76 geschickt wird. In den Registerteil A werden Befehle über einen Kanal 77 und den Kanal 50 eingegeben, wenn ein Signal STOA über eine Leitung 78 zur Aktievierung eines UND-Gatters 79 geliefert wird. Die Übertragung von Befehlen aus einem Registerteil in den nächsten wird durch den Rechner gesteuert. Der Rechner liefert zu diesem Zweck ein Signal SHT über eine Leitung 8®, wenn der Registerteil C keine Befehle mehr enthält.
Jedem Teil A, B und C des Registers ist eine entsprechende bistabile Schaltung 82, 83 bzw. 84 zugeordnet. Jede dieser bistabilen Schaltungen ist so angeordnet, was noch beschrieben werden soll, daß sie in den Zustand »1« gesetzt wird, wenn die zugeordnete Register stufe Befehle enthält. Die bistabile Schaltung wird in den Zustand »0« gesetzt, wenn die zugeordnete Registerstufe keine Befehle enthält. Die bistabile Schaltung 82 gibt über eine Leitung 85 ein Signal DC ab, wenn sie sich im Zustand »1« befindet. Die Schaltung 82 gibt andererseits über eine Leitung 86 ein Signal TJC ab, wenn sie sich im Zustand »0« befindet. In gleicher Weise gibt die Schaltung 83 ein Signal DB über eine Leitung 87 ab, wenn sie sich im Zustand »1« befindet, und sie gibt ein Signal TJB über eine Leitung 88 ab, Wenn sie sich im Zustand »0« befindet. In gleicher Weise verhält es sich mit der bistabilen Schaltung 84, welche ein Signal DA über eine Leitung 89 liefert, wenn sie sich im Zustand»!« befindet, und welche ein Signal DA über eine Leitung 9© abgibt, wenn sie sich im Zustand »0« befindet. Die Leitungen 85, 87 und 89 sind mit entsprechenden UND-Gattern 92, 93 und 94 verbunden, denen außerdem die Signale SHT über die Leitung 8© zugeführt werden. Im Betrieb liefern die UND-Gatter 93 und 94 in entsprechender Weise die Signale BTOC und ATOB über die Leitungen 67 und 73.
Die bistabile Schaltung 82 wird durch ein ODER-Gatter 95 gesteuert. Das ÖDER-Gattef 95 wird über die Leitungen 67 und 69 erregt und erzeugt ein Ausgangssignal DC, mit dessen Hilfe die Schaltung 82 in den Zustand »1« geschaltet werden kann. Das Signal DC wird außerdem über einen Inverter 96 zu einem UND-Gatter 97 übertragen, welches ferner ein Eingangssignal über eine Leitung 98 vom UND-Gatter 92 erhält. Im Betrieb liefert das UND-Gatter 97 ein Signal D~C, durch das die Schaltung 82 in den Zustand »0« gesetzt wird.
Die bistabile Schältung 83 wird durch ein ODER-Gatter 98 gesteuert, welches über die Leitungen 73 und 75 erregt wird und ein Signal DB' liefert, durch das die Schaltung 83 in den Zustand »1« geschaltet wird. Das Signal DB' wird auch über einen Inverter 99 zu einem UND-Gatter 100 übertragen. Das UND-Gatter 100 erhält ferner ein Eingangssignal über eine Leitung 101 vom UND-Gatter 93 zugeführt. Tritt das UND-Gatter 100 in Tätigkeit, so liefert es ein Signal TJB', durch welches die Schältung 83 in den Zustand »0« gesetzt wird.
Die bistabile Schaltung 84 wird direkt über die Leitung 78 gesteuert, Wobei das Signal STOA die Schaltung 84 in den Zustand »1« setzt. Die Leitung 78 ist außerdem mit einem Inverter 102 verbunden, der ein Signal zu einem UND-Gatter 103 liefert. Das UND-Gatter 103 ist außerdem über die Leitung 73 mit dem UND-Gatter 94 verbunden. Tritt das UND-
Gatter 103 in Tätigkeit, so liefert es ein Signal DA', durch welches die Schaltung 84 in den Zustand »0« versetzt wird.
Die Signale FTCH auf der Leitung 48 werden mit Hilfe der logischen Schaltung 104 erzeugt. Die Schaltung 104 enthält ein ODER-Gatter 105, das mit der Leitung 48 verbunden ist und Eingangssignale von den UND-Gattern 106, 107, 108, 110 und 112 erhält. Diese UND-Gatter werden durch Signale Fl und F 2 gesteuert, die über die Leitungen 114 und 116 geliefert werden. Ferner werden die UND-Gatter durch Signale NA und YA gesteuert, die über die Leitungen 118 und 120 zugeführt werden. Die Leitungen 114 und 116 erhalten entsprechend die Ausgangssignale der UND-Gatter 122 und 124. Jedes dieser zuletzt genannten UND-Gatter erhält ein Eingangssignal von einem der entsprechenden ODER-Gatter 126 und 128. Das ODER-Gatter 126 ist so geschaltet, daß es die Signale FCc und FCd erhält. Das ODER-Gatter 128 ist so geschaltet, daß es die Signale FCb, FCc und FCd empfängt. Ferner erhält das UND-Gatter 122 die Signale DZ? über eine Leitung 130 zugeführt, welche mit der Leitung 88 verbunden ist. Das UND-Gatter 124 empfängt über die Leitungen 132 und 134 die Signale DZ und SLW. Die Leitungen 132 und 134 sind in entsprechender Weise mit den Leitungen 90 und 56 verbunden.
Die über die Leitungen 114 und 116 gelieferten Signale NA und YA werden von der logischen Schaltung 135 erzeugt. Es kann angenommen werden, daß die Datenverarbeitungsvorrichtung auf mehr als ein Signal FTCH zur gleichen Zeit ansprechen kann. Die logische Schaltung 135 stellt die Anzahl von Signalen FTCH fest, auf die die Vorrichtung zu irgendeinem beliebigen Zeitpunkt anspricht. Die Schaltung 135 enthält zwei bistabile Schaltungen 136 und 137. Befindet sich die bistabile Schaltung 136 im Zustand »1«, so liefert sie das Signal NA, wodurch angezeigt wird, daß die Datenverarbeitungsanlage nicht auf irgendein Signal FTCH anspricht. Befindet sich die bistabile Schaltung 137 im Zustand»!«, erzeugt sie das Signal YA, wodurch angezeigt wird, daß die Datenverarbeitungsanlage auf ein (und nur ein einziges) Signal FTCH anspricht. Ist weder das Signal AL4 noch das Signal YA vorhanden, so spricht die Vorrichtung auf mehr als ein Signal FTCH an. -^
Die logische Schaltung 135 wird durch Signale DTX und DTY gesteuert, die über Leitungen 138 und 139 ankommen. Das Signal DTX zeigt an, daß die Befehle auf dem Kanal 50 in der gleichen Reihenfolge ankommen, in der die entsprechenden Signale FTCH über die Leitung 48 geliefert wurden. Das Signal DTY gibt an, daß die Befehle nicht in dieser Reihenfolge ankommen. Außerdem wird durch die Erzeugung entweder eines Signals DTX oder eines Signals DTY angegeben, daß die Beschaffung des verlangten Befehls abgeschlossen worden ist.
Die Leitungen 138 und 139 sind über ein ODER-Gatter 140 mit den UND-Gattern 141 und 142 verbunden. Das UND-Gatter 142 erhält ein weiteres Eingangssignal YA über eine Leitung 143, wenn die Schaltung 137 sich im Zustand »0« befindet. Das UND-Gatter 142 setzt die Schaltung 137 über ein ODER-Gatter 144 in den Zustand »1«, wenn es in Tätigkeit tritt. Das UND-Gatter 141 erhält ein weiteres Eingangssignal über die Leitung 120 und setzt die Schaltung 136 in den Zustand»!«, wenn es in Tätigkeit tritt. Die Schaltung 136 wird durch die Signale FTCH aus dem ODER-Gatter 105 in den Zustand »0« gesetzt. Die Schaltung 137 wird über ein UND-Gatter 145, das mit dem Ausgang des
5 ODER-Gatters 105 und mit der Leitung 120 verbunden ist, in den Zustand »0« gesetzt. Ein weiteres UND-Gatter 146 ist über ein ODER-Gatter 144 mit der Schaltung 137 gekoppelt und bringt auf diese Weise die Schaltung 137 in den Zustand »1«.
ίο Die Signale DTX und DTY auf den Leitungen 138 und 139 werden auch zur Erzeugung der Signale STOC, STOB und STOA benutzt. Das Signal STOC wird daher von einem UND-Gatter 147 geliefert, dessen einer Eingang mit der Leitung 138 verbunden ist und dessen anderer Eingang das Signal Du zugeführt erhält. Das Signal STOB wird von einem ODER-Gatter 148 erzeugt, welches Eingangssignale von zwei UND-Gattern 150 und 152 erhält. Das UND-Gatter 150 empfängt die Signale DTX, DC und TJB, während das UND-Gatter 152 die Signale DTY, Du und D~B erhält. Das Signal STOA wird von einem ODER-Gatter 154 geliefert, welches Eingangssignale von den drei UND-Gattern 156, 158 und 160 erhält. Das UND-Gatter 156 empfängt die Signale DTX, DC und DB, das UND-Gatter 158 die Signale DTY, DC und D~E und das UND-Gatter 160 die Signale DTY, Du und DB.
Es soll nun die Arbeitsweise der in F i g. 2 gezeigten Datenverarbeitungsanlage beschrieben werden.
Die untenstehende Tabelle gibt die Bedingungen an, unter denen die verschiedenen in Fig. 2 vermerkten Signale erzeugt werden.
Während des Betriebes entnimmt der Rechner die Befehle der Reihe nach über den Kanal 64, indem er die Signale FCa, FCb, FCc und FCd in dieser Reihenfolge erzeugt. Ähnlich, wie in Verbindung mit F i g. 1 erläutert, werden die Signale FTCH in Abhängigkeit von der Anzahl der in den Registerteilen A, B und C befindlichen Befehle und in Abhängigkeit von der Herkunft des zuletzt eingegebenen Befehls erzeugt (durch die logische Schaltung 104). Stammte der zuletzt eingegebene Befehl aus dem schnell arbeitenden Speicher, so spricht die logische Schaltung 104 dann an, wenn zwei oder weniger Befehle sich im Befehlsregister befinden. Dieser Zustand ist gegeben, wenn eines der Signale FCc oder FCd erzeugt wird (dies zeigt an, daß die Stufen Ca und Cb des Registerteils C keine Befehle mehr enthalten) und wenn gleichzeitig der Registerteil B leer ist (d. h., die bistabile Schaltung 83 liefert ein Signal DZ? über die Leitung 88). Unter diesen Umständen erzeugt die logische Schaltung 104 ein Signal Fl. Stammte der zuletzt eingegebene Befehl hingegen aus dem langsam arbeitenden Speicher (d.h., die bistabile Schaltung55 liefert ein Signal SLW über die Leitung 56), dann spricht die logische Schaltung 104 an, wenn sieben oder weniger Befehle sich im Befehlsregister befinden. Dieser Zustand ist gegeben, wenn irgendeines der Signale FCb, FCc und FCb vorhanden ist (dies zeigt an, daß im Registerteil C nicht mehr als ein Befehl vorhanden ist) und wenn gleichzeitig der Registerteil A leer ist (d. h., die bistabile Schaltung 84 liefert über die Leitung 90 ein Signal DA). Unter diesen Umständen erzeugt die logische Schaltung 104 ein Signal F 2. Die Signale FTCH werden in Abhängigkeit von den Signalen Fl und F 2 und unter der Steuerung der logischen Schaltung 135 erzeugt. Die Erzeugung eines Signals FTCH
309 527/391
geschieht jedoch nicht schon dadurch automatisch, Weil ein Signal Fi öder Fl geliefert wird. Aus der Tabelle geht hervor, daß, wenn die Beschaffung eines Befehls gerade durchgeführt wird (so daß die bistabile Schaltung 137 über die Leitung 120 ein Signal YA liefert), beide Signale Fl und F 2 gleichzeitig vorhanden sein müssen, um ein Signal FTCH zu erzeugen. Wird gerade kein Befehl beschafft (so daß die bistabile Schaltung 136 ein Signal NA über die Leitung 118 schickt), so führt die Erzeugung irgendeines der Signale Fl oder F 2 zur Erzeugung eines Signals FtCH. Wird weder ein Signal NA noch ein Signal YA geliefert (was anzeigt, daß mehr als ein Befehl gerade beschafft Wird), so kann kein Signal FTCH erzeugt werden.
In gleicher Weise wie die Datenverarbeitungsanlage von Fig. 1 spricht auch die Datenverarbeitungsanlage von Fig. 2 auf jedes SignalFTCH in der Leitung 48 in der Weise an, daß Sie die verlangten Befehle aus dem Schnell arbeitenden Speicher holt, falls sie darin vorhanden sind. Ist dies nicht der Fall, so SUCht die Vorrichtung diese Befehle im -langsam arbeitenden Speicher. In jedem Fall werden diese Befehle dann über den Kanal So in das Befehlsregister übertragen. Gleichzeitig wird eines der Signale DtX öder DfY erzeugt, was auch in der Tabelle gezeigt ist.
Die auf dem Kanal 5Ö ankommenden Befehle Werden in die Registerteile Unter der !Steuerung durch die Signale StOA, STOB Und StOC eingegeben. Wie aus der Tabelle hervorgeht, werdet! diese Signale unter der Steuerung der Signale DTX und DTY erzeugt. Die Tabelle zeigt weiter, daß, wenn die Befehle auf dem Kanal SO in der richtigen Reihenfolge ankommen (d. h., das Signal DtX ist vorhanden), die Befehle vom Kanal 50 in den Registerteil *4 eingegeben Werden, wenn die Registerteile B und C Befehle enthalten, öder in den Registerteil £ eingegeben Werden, falls der Registerteil C Befehle enthält Uttd der Registerteil B leer ist, öder in den Registerteil C eingegeben Werden, falls der Teile leer ist. Kommen andererseits die Befehle über den Kanal 50 nicht in der richtigen Reihenfolge an (d.h., das SignalDfY ist vorhanden), dann werden die Befehle in den Registerteil A eingegeben, falls nur einer der Registerteile B und C Befehle enthält, oder sie werden in den ReglsterteilB eingespeist, falls beide RegiSterteile B und C leer sind.
Wenn der Rechner alle im Registerteil C befindlichen Befehle verwertet hat, liefert er ein Signal SHT über die Leitung 80, wodurch die Signale ATOB und A TOC erzeugt werden und der Registerteil A seine Befehle zum Registerteil B und der Registerteil B seine Befehle zum Registerteil C überträgt.
Das Signal DC auf der Leitung 85 kann über eine Leitung 162 zum Rechner fließen und anzeigen, daß
ίο der Registerteil C noch Befehle enthält und der Rechner weiterhin Befehle daraus entnehmen kann.
Tabelle
Signal
Erzeugt durch
AtOB
BfOC
SfOA
STOB StOC
DB' DE' DC
NA
WÄ YA
Ya
Fl
F2
FtCH
DA ■ SHt DB-SHt DC -DB -DtX + DC DE-DtY
+ W-DB-DtY DC -DS- DtX + W -W-DtY W-DfX
DA ■ STOA - ATOB ■ SHt AtOB + STOB
DB ■ (ATOB ■ STOß) ■ BtOC - SHT BfOC + StOC
YA ■ (DfX + DfY)
FTCH
NA ■ FfCH + Yl ■ (DtX + DfY)
YA ■FtCH
DZ
(FCc + FCd) (FCb + FCc + FCd) Dü-NA+m· (FCc + FCd) NA
+Έ1 ■ (FCb+FCc+FCd) SLW ■ NA +W-W- (FCc+FCd) - YA +W · (FCc+FCd) ■ DZ · (FCb+FCc +FCd)-SLW-YA
Die Unterschiede zwischen den Datenverarbeitungsanlagen von Fig. 1 und 2 liegen darin, daß in der Datenverarbeitungsanlage von Fig. i Befehle nur in die Stufe 16^4 des Befehlsregisters aus den Speichern eingegeben werden können, Während in der Datenverarbeitungsanlage von F i g. 2 Befehle aus den Speichern in irgendeinen der Registerteile übertragen werden können.
Hierzu 1 Blatt Zeichnungen

Claims (2)

1 2 nächst der Schnellspeicher nach einer aufgerufenen Patentansprüche: Dateneinheit abgefragt. Falls sich die aufgerufene Dateneinheit nicht im Schnellspeicher befindet, wird
1. Datenverarbeitungsanlage mit mehreren sie vom Hauptspeicher angefordert, der eine verSpeichern mit unterschiedlicher Zugriffszeit, in 5 hältnismäßig lange Zugriffszeit aufweist. Falls sich denen bestimmte Datenmengen in Form von also die angeforderte Dateneinheit nicht im Schnell-Dateneinheiten gespeichert sind und die mit speicher befindet, tritt bis zur Bereitstellung der aneinem zentralen Rechner über einen Puffer- geforderten Dateneinheit eine unerwünschte Verspeicher in Verbindung stehen, in den die aus zögerung und damit ein Leerlauf des zentralen Rechden Speichern abgerufenen Dateneinheiten ein- io ners auf.
gegeben werden, dadurch gekennzeich- Der Erfindung liegt nun die Aufgabe zugrunde, net, daß die Dateneingabe in den Pufferspeicher eine Datenverarbeitungsanlage der eingangs genann-(16) unter Steuerung durch ein Steuerwerk (20, ten Art derart auszugestalten, daß ein Leerlauf des 28) derart erfolgt, daß in dem Pufferspeicher je zentralen Rechners wegen zu langer Verzögerung nach Herkunft der zuletzt eingegebenen Daten- 15 bei der Bereitstellung von angeforderten Dateneinheit eine unterschiedliche, vorgegebene Anzahl einheiten möglichst vermieden wird,
von Dateneinheiten eingegeben wird. Gelöst wird diese Aufgabe erfindungsgemäß da-
2. Datenverarbeitungsanlage nach Anspruch 1, durch, daß die Dateneingabe in den Pufferspeicher bei der ein Schnellspeicher mit kurzer Zugriffs- unter Steuerung durch ein Steuerwerk derart erfolgt, zeit und ein Speicher mit längerer Zugriffszeit 20 daß in den Pufferspeicher je nach Herkunft der zuvorgesehen sind, dadurch gekennzeichnet, daß letzt eingegebenen Dateneinheit eine unterschieddas Steuerwerk ein Vergleichswerk (28) enthält, liehe, vorgegebene Anzahl von Dateneinheiten eindas entweder die Anzahl der im Pufferspeicher gegeben wird. Bei der Datenverarbeitungsanlage nach (16) befindlichen Dateneinheiten mit einer ersten der Erfindung hängt also die im Pufferspeicher bevorgegebenen Zahl vergleicht, wenn die zuletzt 25 findliche Anzahl von Dateneinheiten davon ab, von in den Pufferspeicher eingeführte Dateneinheit welchem Speicher die zuletzt eingegebene Datenvon dem Schnellspeicher (10) stammt, oder das einheit stammt. Insbesondere werden im Pufferdie Anzahl der im Pufferspeicher befindlichen speicher nur verhältnismäßig wenige Dateneinheiten Dateneinheiten mit einer vorgegebenen zweiten gespeichert, falls die zuletzt eingegebene Daten-Zahl vergleicht, die größer ist als die erste Zahl, 30 einheit aus einem Speicher mit einer verhältnismäßig wenn die zuletzt in den Pufferspeicher einge- kurzen Zugriffszeit stammt. Falls hingegen die zuführte Dateneinheit von dem Speicher (12) mit letzt in den Pufferspeicher eingegebene Dateneinheit längerer Zugriffszeit stammt und das Steuerwerk aus einem Speicher mit einer verhältnismäßig langen (20) die Eingabe von weiteren Dateneinheiten Zugriffszeit stammt, wird im Pufferspeicher eine in den Pufferspeicher nur dann bewirkt, falls 35 größere Anzahl von Dateneinheiten gespeichert. Es die Anzahl der im Pufferspeicher befindlichen hat sich nämlich in der Praxis herausgestellt, daß Dateneinheiten kleiner ist als die mit ihr ver- sehr wahrscheinlich aus dem Speicher, von dem die glichene erste oder zweite vorgegebene Zahl. zuletzt in den Pufferspeicher eingegebene Dateneinheit stammt, auch wiederum die nächstfolgende
40 Dateneinheit abgerufen wird. Bei der Datenverar-
beitungsanlage nach der Erfindung wird nun ein
Leerlauf des zentralen Rechners beträchtlich verringert, falls eine Folge von Dateneinheiten aus einem
Die Erfindung betrifft eine Datenverarbeitungs- Speicher mit langer Zugriffszeit angefordert wird, anlage mit mehreren Speichern mit unterschiedlicher 45 Gleichzeitig wird die Möglichkeit, daß eine zu große Zugriffszeit, in denen bestimmte Datenmengen in Anzahl von aus einem Speicher mit kurzer Zugriffs-Form von Dateneinheiten gespeichert sind und die zeit stammenden Informationseinheiten im Puffermit einem zentralen Rechner über einen Puffer- speicher gespeichert werden, verringert, so daß der speicher in Verbindung stehen, in den die aus den Pufferspeicher sehr schnell geleert werden kann, falls Speichern abgerufenen Dateneinheiten eingegeben 50 dies auf Grund eines Programmsprunges erforderwerden, lieh ist. In den Zeichnungen zeigt
Aus der USA.-Patentschrift 3 292 153 ist bereits Fig. 1 ein Blockschaltbild einer Ausführungsform
eine Datenverarbeitungsanlage der vorgenannten Art der Erfindung und
bekannt, bei der zwei Datenspeicher vorgesehen Fig. 2 ein Schaltbild einer abgewandelten Aussind, von denen der eine eine kurze und der andere 55 führungsform.
eine lange Zugrifiszeit aufweist. Die in Fig. 1 dargestellte Datenverarbeitungs-
Zur Erzielung einer möglichst ununterbrochenen anlage enthält einen Schnellspeicher 10, d. h. einen Ausnutzung des zentralen Rechners wurde bisher Speicher 10 mit kurzer Zugriffszeit und einen langeine möglichst kurze Zugriffszeit für wünschenswert samen Speicher 12 mit längerer Zugriffszeit. Die erachtet. So ist bereits eine Datenverarbeitungsanlage 60 Kapazität des langsamen Speichers 12 ist sehr viel bekannt, bei der die Daten normalerweise aus einem größer als die des Schnellspeichers 10. Der langsam Schnellspeicher abgerufen werden. Die in diesem arbeitende Speicher 12 kann beispielsweise ein Ma-Schnellspeicher gespeicherten Daten werden fort- gnetkernspeicher sein. Der Schnellspeicher 10 kann laufend überprüft, wobei nur selten benutzte Daten aus integrierten Schaltungen aufgebaut werden. Soaus dem Schnellspeicher entfernt werden. Eine der- 65 wohl der Schnellspeicher 10 als auch der langsam artige Datenverarbeitungsanlage ist beispielsweise arbeitende Speicher 12 speichern Befehle, die von in der USA.-Patentschrift 3 275 991 beschrieben. einem Rechner benötigt werden. Die beiden Speicher Bei der Anlage nach dieser Patentschrift wird zu- 10 und 12 sind über eine Datenübertragungsschal-
DE1774466A 1967-06-28 1968-06-27 Datenverarbeitungsanlage Expired DE1774466C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB29802/67A GB1199991A (en) 1967-06-28 1967-06-28 Improvements relating to Data Handling Arrangements

Publications (3)

Publication Number Publication Date
DE1774466A1 DE1774466A1 (de) 1972-02-24
DE1774466B2 true DE1774466B2 (de) 1973-07-05
DE1774466C3 DE1774466C3 (de) 1974-02-07

Family

ID=10297397

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1774466A Expired DE1774466C3 (de) 1967-06-28 1968-06-27 Datenverarbeitungsanlage

Country Status (4)

Country Link
US (1) US3535697A (de)
DE (1) DE1774466C3 (de)
FR (1) FR1576642A (de)
GB (1) GB1199991A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2351791A1 (de) * 1972-10-20 1974-04-25 Ibm Datenverarbeitungsanlage

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701107A (en) * 1970-10-01 1972-10-24 Rca Corp Computer with probability means to transfer pages from large memory to fast memory
US3699526A (en) * 1971-03-26 1972-10-17 Ibm Program selection based upon intrinsic characteristics of an instruction stream
JPH0218620A (ja) * 1988-07-07 1990-01-22 Toshiba Corp 情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3156897A (en) * 1960-12-01 1964-11-10 Ibm Data processing system with look ahead feature
US3292153A (en) * 1962-10-01 1966-12-13 Burroughs Corp Memory system
US3275991A (en) * 1962-12-03 1966-09-27 Bunker Ramo Memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2351791A1 (de) * 1972-10-20 1974-04-25 Ibm Datenverarbeitungsanlage

Also Published As

Publication number Publication date
DE1774466A1 (de) 1972-02-24
US3535697A (en) 1970-10-20
DE1774466C3 (de) 1974-02-07
FR1576642A (de) 1969-08-01
GB1199991A (en) 1970-07-22

Similar Documents

Publication Publication Date Title
DE3300261C2 (de)
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE4019135C2 (de) Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung
DE2457612C3 (de) Mikroprogrammier-Steuereinrichtung
EP1146432A2 (de) Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit
DE1303071B (de)
DE2036729A1 (de) Digital Datenverarbeiter
DE2003150C3 (de) Prioritätsschaltung
EP0134831A1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE3331433A1 (de) Vorrichtung zum einsetzen von komponenten mit variabler geschwindigkeit
DE2454613C2 (de) Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage
WO2017140504A1 (de) Verfahren und vorrichtung zum betreiben eines steuergeräts
DE69031361T2 (de) Taktsignalgeneratorsystem
DE1774466B2 (de) Datenverarbeitungsanlage
DE1285218B (de) Datenverarbeitungsanlage
DE1449774C3 (de) Speichereinrichtung mit kurzer Zugriffszeit
DE3009121C2 (de) Mikroprogramm-Steuereinrichtung
DE1499286B2 (de) Datenbearbeitungsanlage
DE2610428B2 (de)
EP0525214A1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung
DE2612316C3 (de) Anordnung zur Steuerung des Multiplexbetriebes zwischen mehreren Kanälen und einer zentralen Steuerschaltung eines Ein-/Ausgabewerkes in einem Datenverarbeitungssystem
EP0025511A2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE2523795B2 (de)
DE2606295B2 (de) Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors

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