DE1212748B - Datenverarbeitende Maschine mit Programmunterbrechung - Google Patents

Datenverarbeitende Maschine mit Programmunterbrechung

Info

Publication number
DE1212748B
DE1212748B DEJ22656A DEJ0022656A DE1212748B DE 1212748 B DE1212748 B DE 1212748B DE J22656 A DEJ22656 A DE J22656A DE J0022656 A DEJ0022656 A DE J0022656A DE 1212748 B DE1212748 B DE 1212748B
Authority
DE
Germany
Prior art keywords
command
trigger
signal
instruction
macro
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.)
Pending
Application number
DEJ22656A
Other languages
English (en)
Inventor
Eugene D Conroy
Robert Morris Meade
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1212748B publication Critical patent/DE1212748B/de
Pending 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/22Microcontrol or microprogram arrangements
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND DEUTSCHES #Ä PATENTAMT Int. α.:
G06f
AUSLEGESCHRIFT
Deutsche Kl.: 42 m -I4-'-^ ^
pm. si, ^
Nummer: 1212 748^ #
Aktenzeichen: J 22656IX c/42 m
Anmeldetag: 14. November 1962
Auslegetag: 17. März 1966
9. 3
Die Erfindung betrifft eine programmgesteuerte datenverarbeitende Maschine, in welcher, ausgelöst durch bestimmte Zustände der Maschine, die Ausführung der Makrobefehle unterbrochen wird und während dieser Unterbrechung aus wenigstens einem Mikrobefehl bestehende Unterprogramme ausgeführt werden.
Elektronische Datenverarbeitungssysteme bestehen gewöhnlich aus mehreren Einheiten, wie Speichern, Recheneinheiten, logischen Einheiten, Eingabe-Alisgabe-Einheiten usw. Die Operation jeder dieser Einheiten und der Datenfluß zwischen ihnen werden durch Steuerschaltungen gesteuert, die gewöhnlich zu einer zentralen Steuerung zusammengefaßt sind; diese betätigt Tore in den die Einheiten verbindenden Kabeln und leitet den selbständigen Betrieb derjenigen Einheiten ein, die eigene Steuerschaltungen haben.
Die zentrale Steuerung arbeitet nach einem Programm von im Speicher enthaltenen Befehlen. In einem typischen System erfolgt der Zugriff zu diesen Befehlen in einer Reihenfolge, die durch einen Befehlszähler bestimmt wird, der die Befehle einzeln zur Ausführung durch die zentrale Steuerung verfügbar macht. Wenn z. B. der Befehlszähler den Zugriff zu einem Addierbefehl ermöglicht, bewirkt die zentrale Steuerung die Übertragung von durch den Befehl bezeichneten Operanden aus dem Speicher zu den Eingängen der Recheneinheit. Wenn auf den Addierbefehl ein Speicherbefehl folgt, werden die Ergebnisse der Rechenoperationen durch die zentrale Steuerung aus der Recheneinheit zum Speicher übertragen. Normalerweise schreitet der Befehlszähler schrittweise durch das im Speicher stehende Programm von Befehlen der Reihe nach von einem Speicherort zu einem benachbarten Speicherort weiter.
Gelegentlich erfordern in dem System auftretende Zustände eine Änderung in der Reihenfolge, in der das Befehlsprogramm ausgeführt wird. Anstatt die obenerwähnten Addier- und Speicher-Befehle der Reihe nach auszuführen, kann es z. B. beim Abfühlen eines Überlaufzustandes in der Recheneinheit nötig sein, einen korrigierenden Schiebebefehl auszuführen und die Addieroperation zu wiederholen, bevor das Ergebnis gespeichert wird. Der Schiebebefehl ändert einen Operanden ab, um den Überlaufzustand zu beseitigen, damit nach der Wiederholung des Addierbefehls ein Ergebnis richtiger Länge erzielt wird. Beim Auftreten eines Überlaufs wird die Befehlsfolge Addieren, Schieben, Addieren, Speichern anstatt Addieren, Speichern.
Bei den bekannten Vorrichtungen, die zum Ändern Datenverarbeitende Maschine mit
Programmunterbrechung
Anmelder:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Württ.), Sindelfinger Str. 49
Als Erfinder benannt:
Robert Morris Meade, Wassaic, N. Y.;
Eugene D. Conroy, Poughkeepsie, N. Y.
(V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 16. November 1961
(152730)
der Befehlsfolge gegenüber der normalen Speicherprogrammfolge verwendet worden sind, handelte es sich um manuelle und automatische Einrichtungen. Bei der manuellen Programmunterbrechung ist es nötig, bedingte Verzweigbefehle in das Programm einzustreuen. Diese Verzweigbefehle bewirken den Übergang des Programms auf einen anderen Befehl, und zwar nicht in der normalen Reihenfolge, wenn eine bestimmte Bedingung erfüllt wird. So kann z. B. ein Verzweigbefehl zwischen den Addier- und den Speicherbefehl gesetzt werden, um eine Probe auf einen Überlaufzustand zu machen. Durch diesen Verzweigbefehl geht das Programm zum Speicherort eines Schiebebefehls über, und zwar nur dann, wenn der Überlaufzustand eintritt. Auf den Schiebebefehl kann ein zusätzlicher Addierbefehl nach Wunsch folgen, bevor die normale Reihenfolge wieder aufgenommen wird. Wenn der Überlaufzustand nicht eintritt, hat der Verzweigbefehl keine Wirkung, und auf ihn folgt in der normalen Reihenfolge der Speicherbefehl. Da der Programmierer nicht immer vorhersagen kann, wann ein bestimmter Zustand eintreten wird, müssen Verzweigbefehle im ganzen Programm an solchen Stellen eingestreut werden, wo der angegebene Zustand eintreten kann. Da Verzweigbefehle
609 538/328.
gewöhnlich nur einen bestimmten Zustand prüfen, muß weiterhin für jeden zu überwachenden Zustand ein eigener Verzweigbefehl vorgesehen werden.
Die automatische Programmunterbrechung ist insofern eine Verbesserung gegenüber der manuellen, als bei ihr nicht zahlreiche Verzweigbefehle im ganzen Programm eingestreut zu werden brauchen. Statt dessen erfolgt, wenn einer von beliebig vielen vorbestimmten Zuständen eintritt, ein automatischer Übergang auf einen Befehl oder auf ein Unterprogramm von Befehlen an einer nicht zur normalen Reihenfolge gehörenden Stelle im Programm. Wenn z.B. ein Überlaufzustand während der Ausführung eines Befehls auftritt, wird automatisch ein Schiebebefehl ausgeführt, nachdem der laufende Befehl ausgeführt ist. Das geschieht ohne Rücksicht darauf, ob der Befehl, währenddessen der Überlauf aufgetreten ist, ein Addierbefehl war oder nicht.
So ist auch schon eine Anordnung beschrieben worden, bei der ein Unterprogramm nur dann eingeleitet werden kann, wenn durch einen besonderen Mikrobefehl ein bestimmter Zustand der Maschine abgefragt wird. Je nachdem, welche Antwort (ja/nein) die Maschine auf die Abfrage gibt, wird das Unterprogramm ausgeführt oder der normale Programmablauf fortgesetzt.
Von Nachteil ist bei dieser Anordnung, daß besondere Abfragebefehle erforderlich sind, die fortwährend den Maschinenzustand abfragen. Da die Abfragebefehle und das Abwarten auf die Antworten mit Wartezeiten verbunden sind, während denen eine effektive Datenverarbeitung nicht möglich ist, ergibt sich eine relativ begrenzte Rechengeschwindigkeit.
Bei der manuellen Programmunterbrechung muß eine ganze Befehlsausführungszeit in Anspruch genommen werden, um gewünschte Zustände regulär abzufragen, bevor Korrekturbefehle außerhalb der normalen Befehlsfolge ausgeführt werden. Die Zustände müssen selbst dann einzeln und getrennt abgefragt werden, wenn sie nicht aufgetreten sind. Dieses unwirtschaftliche Verfahren wird in der automatischen Programmunterbrechung weitgehend gemildert, weil keine Verzweigbefehle nötig sind, uin die Befehlsfolge zu verändern. Alle Zustände werden gleichzeitig geprüft, und die Programmzeit wird nur dann unterbrochen, wenn ein Zustand auftritt. Bei der automatischen Programmunterbrechung ist es aber immer noch erforderlich, abzuwarten, bis der zur Zeit des Auftretens des betreffenden Zustandes gerade in Ausführung begriffene Befehl abgeschlossen ist. Würde durch einen Zustand die Befehlsfolge vor dem Abschluß des laufenden Befehls verändert, würde die von dem laufenden Befehl bearbeitete Information zerstört. Da es unmöglich ist, vorherzusagen, wann ein Zustand eintreten wird, würde durch Nichtausführen eines Befehls die Wirksamkeit des Programms beseitigt.
Wegen der für das Ausführen vieler Befehle benötigten langen Zeitdauer ist es unerwünscht, bis zum Abschluß eines Befehls zu warten, bevor die während des Befehls eintretenden Zustände wirksam werden können. Wenn z. B. ein Überlaufzustand während der Ausführung eines Multiplizierbefehls eintritt, kann durch einen einzigen Schiebebefehl verhindert werden, daß die ganze Multiplikationsoperation falsch ist. Da die für das Ausführen eines Multiplizierbefehls benötigte Zeitdauer ziemlich lang ist, ist es unzweckmäßig, auf den Abschluß eines Multiplizierbefehls zu warten, bevor die Korrektur vorgenommen wird. Befehle, die eine große Menge gleicher Operationen ausführen, werden Makrobefehle genannt, und diejenigen, die eine relativ kleine Anzahl -von einfachen Operationen ausführen, sind sogenannte Mikrobefehle. Beispiele für Makrobefehle sind Multiplizieren, Dividieren, Wurzelziehen usw., die jeder eine sich wiederholende Reihe von Operationen ausführen, wie z. B. Additionen, Stellenverschiebungen und Subtraktionen. Mikrobefehle sind z. B. Schieben, Zählen, Rückstellen usw. und andere einfache Operationen, für die nur wenige Schritte auszuführen sind. Operationen mittlerer Dauer (wie z. B. Addition) sind genaugenommen weder Makronoch Mikrobefehle. Da sie jedoch das Auftreten von Gruppen noch einfacherer Operationen bewirken, werden sie hier ebenfalls Makrobefehle genannt.
Bei den bekannten manuellen und automatischen Programmunterbrechungssystemen verursacht die Einrichtung, die den Übergang von einer normalen Befehlsausführungsreihenfolge auf eine andere Reihenfolge auslöst, ebenfalls eine Zeitverschwendung. Wenn z. B. ein Zustand, der eine Änderung in der Reihenfolge der Befehlsausführung erfordert, in einem der beiden Systeme abgefühlt wird, muß die Adresse des laufenden Befehls im Befehlszähler (oder der ihm entsprechenden Einheit) durch die Adresse des ersten aus der Reihenfolge herausfallenden Befehls ersetzt werden. Bei dem manuellen Programm-Unterbrechungssystem wird diese Adresse in dem Verzweigbefehl selbst angegeben, während im automatischen Programmunterbrechungssystem diese Adresse automatisch als Funktion von Zuständen bei deren Auftreten erzeugt wird. Wenn mehr als ein aus der Reihenfolge herausfallender Befehl auszuführen ist, wird der Befehlszähler für jeden Befehl um Eins weitergeschaltet. Die Ausführung eines oder mehrerer Befehle außerhalb der normalen Reihenfolge (des normalen Programms) wird hier als Ausführung eines Unterprogramms bezeichnet.
Der Inhalt des Befehlszählers muß gemerkt werden, damit die ursprüngliche Folge weiter ausgeführt werden kann, nachdem das Unterprogramm fertig ausgeführt ist. Dafür ist es gewöhnlich erforderlich, den Inhalt des Befehlszählers im Speicher zu speiehern, bevor die Adresse des ersten Befehls des neuen Unterprogramms in den Befehlszähler eingegeben wird. Ein wiederholter Zugriff zum Speicher führt zur Zeitverschwendung beim Übergang von einer Folge zur anderen: Erstens muß der gegenwärtige Inhalt des Befehlszählers in den Speicher übertragen werden; zweitens muß der erste Befehl des neuen Unterprogramms aus dem Speicher in den Befehlszähler übertragen werden, und drittens muß der erste außerhalb der normalen Reihenfolge liegende Befehl aus dem durch den Befehlszähler angegebenen Speicherort ausgelesen werden. Weitere Zeit wird nach Ausführung eines Unterprogramms für die Rückkehr zur normalen Operationsfolge verbraucht. Befehle, die ein Unterprogramm bilden, müssen, selbst wenn sie einfache Operationen angeben, vor der Ausführung wie jeder andere Befehl übersetzt werden. Die Übersetzung (Entschlüsselung) bezieht sich auf das Prüfen eines Befehls zum Zwecke der Feststellung, welche Operationen angegeben sind, und auf die Erzeugung entsprechender Signale, um die Ausführung der angegebenen Operationen einzuleiten. In den oben besprochenen bekannten Unter-
brechungssystemen ist die für die Übersetzung zugeteilte Zeit für alle Befehle etwa gleich.
Die Zustände, die eine Unterbrechung veranlassen, werden im manuellen Unterbrechungssystem durch einen Verzweigbefehl und im automatischen Unterbrechungssystem durch eine Schaltung und ein veränderbares Filter umfassende Kombination angezeigt. Im automatischen System kann ein Zustand einen Übergang zu einem außer der Reihenfolge liegenden Befehl nur dann bewirken, wenn das Filter anzeigt, daß dieser Zustand aktiv ist. In beiden Fällen kann ein Befehl die Zustände angeben, die, wenn sie während seiner Ausführung eintreten, zu einer Unterbrechung führen. Es ist z. B. möglich, daß ein während eines Addierbefehls eintretender Überlauf außer acht gelassen werden soll, während an einer anderen Stelle in dem Programm ein Überlauf während eines anderen Addierbefehls die Ausführung eines Schiebebefehls bewirken soll und an noch einer anderen Stelle ein anderer Zustand als ein Überlauf der die Unterbrechung bewirkende Faktor sein kann.
Für eine programmgesteuerte datenverarbeitende Maschine, in welcher, ausgelöst durch bestimmte Zu-' stände der Maschine, die Ausführung der Makrobefehle unterbrochen wird und während dieser Unterbrechungen aus wenigstens einem Mikrobefehl bestehende Unterprogramme ausgeführt werden, besteht die Erfindung darin, daß dem/den jeweils ein Unterprogramm bildenden Mikrobefehl(en) im Befehlsregister ein Auslösefeld zugeordnet ist, in dem ein dem Unterprogramm zugeordnetes Zeichen gespeichert ist, und daß die Zustände der Maschine, die die Ausführung eines Unterprogramms erfordern, codierte Signale auslösen, die einer Befehlssteuerung zugeführt werden, welche bei Übereinstimmung des codierten Signals mit dem Inhalt eines Auslösefeldes den Makrobefehl unterbricht und die Ausführung des/der dem ausgewählten Auslösefeld zugeordneten Mikrobefehls/Mikrobefehle bewirkt.
Eine sehr vorteilhafte Weiterbildung der programmgesteuerten datenverarbeitenden Maschine ist dadurch gekennzeichnet, daß das Unterprogramm aus einem Korrekturbefehl besteht.
Weitere günstige Resultate werden auch dadurch erzielt, daß eine Vorrangsteuerung vorgesehen ist, die beim gleichzeitigen Auftreten mehrerer Auslösesignale die Reihenfolge der Ausführung der ihnen zugeordneten Mikrobefehle festlegt.
Diese und weitere Merkmale und Vorteile der Erfindung gehen aus der nachstehenden genaueren Beschreibung des bevorzugten Ausführungsbeispiels der Erfindung hervor, das in den Zeichnungen veranschaulicht ist.
Diese Merkmale und Gegenstände werden bei der erfindungsgemäßen Anordnung durch die Verwendung zusammengesetzter Befehle realisiert, die sowohl normale Befehle (die Makrobefehle darstellen können oder auch nicht) als auch Gruppen von Mikrobefehlunterprogrammen umfassen können. Die Identität des Zustandes, der die Ausführung eines Unterprogramms von Mikrobefehlen bewirkt, ist jedem Unterprogramm in dem zusammengesetzten Befehl zugeordnet. Da jeder zusammengesetzte Befehl alle zugeordneten Abzweigbedingungen sowie Unterprogramme angibt, ist es möglich, die Ausführung des Makrobefehlsteils sofort zu unterbrechen, wenn ausgewählte Mikrobefehle auszuführen sind, und zwar an jeder beliebigen Stelle in der Ausführung des Makrobefehls und ohne zusätzlichen Zugriff zum Speicher.
Im bekannten Stand der Technik umfassen typische Befehle ein Operationsfeld, das den Typ des auszuführenden Befehls angibt, ein Adressenfeld, das den Speicherort der gemäß dem Operationsfeld zu bearbeitenden Daten im Speicher bezeichnet, und ein Kennzahlfeld zum Anzeigen bestimmter Sonderoperationen (z. B. Indexieren). Die erfindungsgemäße
ίο Anordnung benutzt einen Befehlsaufbau, der die normalen Operations-, Adressen- und Markierungsfelder, die einen sogenannten Makrobefehl bilden, enthält und dazu Operationsfeld- und Markierungsfeldteile einer Anzahl von gruppenweise angeordneten Mikrobefehlen. Jeder Gruppe von Mikrobefehlen ist ein Auslösefeld zugeordnet, das durch Verschlüsselung anzeigt, welche Maschinenzustände die Ausführung der betreffenden Mikrobefehlsgruppe bewirken.
ao Zusammengesetzte Befehle sind im Speicher gespeichert und werden als einzige Einheit durch einen Befehlszähler adressiert. Das Makrobefehls-Operationsfeld und die Mikrobefehls-Operationsfelder stehen daher beide zur Übersetzung (Entschlüsselung) zur Verfügung, obwohl es sein kann, daß die Mikrobefehle niemals ausgeführt werden. Falls ein Mikrobefehl ausgeführt werden soll, wird die Ausführung des Makrobefehls sofort unterbrochen und ein Mikrobefehl entschlüsselt. Da alle die Übersetzung des Mikrobefehls vorbereitenden Operationen ausgeführt worden sind, ist viel weniger Zeit nötig, um einen Mikrobefehl zur Ausführung zu bringen als einen Makrobefehl.
Der Operationscode eines Makrobefehls steuert normalerweise die Betätigung von Bedienungstoren innerhalb des Systems. Außerdem steuert er die Einleitung der Betätigung derjenigen selbständigen Einheiten, z. B. der Recheneinheiten, die eigene Torsteuerungen haben. Diese Tore und selbständigen Einheiten arbeiten nach dem Makrobefehl zu Zeitpunkten, die teilweise durch einen Taktgeber gesteuert werden. Beim Auftreten vorherbestimmter Zustände können Gruppen von Mikrobefehlen die Betätigung der Bedienungstore übernehmen. Vom Taktgeber abgeleitete Signale, die normalerweise die Tore betätigen und die selbständigen Einheiten während der Ausführung des Makrobefehls weiterschalten, werden am Übertragen oder Verändern jeglicher Daten außer unter Mikrobefehlssteuerung gehindert.
Die Taktsignale treten während der Unterbrechung der Ausführung des Makrobefehls weiterhin auf, aber ihre Funktion des zeitlichen Steuerns von Datenübertragungen ist unterbrochen, wodurch das System angehalten wird. Die Taktsignale können benutzt werden, um Berichtigungen gemäß den Mikrobefehlen vorzunehmen. Wenn die Ausführung des Makrobefehls wieder aufgenommen wird, bewirken die Taktsignale den Beginn der Ausführung von dem Punkt an, wo sie unterbrochen wurde.
Zum Beispiel wird während der Ausführung eines Multiplizierbefehls gewöhnlich ein Schieberegister mit einem Ausgangstor und einem Schiebeeingang verwendet. Es sei nun angenommen, daß das Ausgangstor beim Taktimpuls 2 und der Schiebeeingang beim Taktimpuls 3 betätigt wird, daß der Multiplizierbefehl beim Taktimpuls 2 vor der Betätigung des Ausgangstors unterbrochen wird und daß ein einziger Mikrobefehl Schieben auszuführen ist. Als
Ergebnis des Mikrobefehls erscheint ein Schiebeeingangssignal während des nächsten Taktimpulses, der normalerweise das Ausgangstor betätigt hätte, wenn er nicht daran gehindert worden wäre. Sind keine anderen Mikrobefehle auszuführen, wird die normale Operation am Unterbrechungspunkt wieder aufgenommen. Der Taktgeber ist so eingestellt, daß der nächste Taktimpuls das Ausgangstor betätigt, als ob es gar keine Unterbrechung der Ausführung gegeben hätte. Die Wirkung des Mikrobefehls hat darin bestanden, das Register um eine Stelle mehr als normal zu verschieben. Natürlich können auch andere Taktschaltungen verwendet werden. Zum Beispiel können zwei Taktgeber vorgesehen werden, einer für Makro- und einer für Mikrobefehle, wobei der erste immer dann gestoppt wird, wenn ein Makrobefehl unterbrochen werden soll.
Die erfindungsgemäße Anordnung gestattet es, durch mehrere in einem zusammengesetzten Befehl angegebene Zustände die Ausführung eines Makrobefehls zu unterbrechen und so die sofortige Ausführung von aus der Reihenfolge fallenden Mikrobefehlsunterprogfammen einzuleiten, die in dem zusammengesetzten Befehl in Verbindung mit dem unterbrechenden Zustand angegeben sind. Ein solches System ist als Verbesserung in Systemen geeignet, die die manuelle und automatische Programmunterbrechung verwenden und bei denen es nötig ist, Korrekturen als Folge von angezeigten Zuständen vorzunehmen. Jeder Befehl kann Zustände sowie bei Auftreten der Zustände vorzunehmende Korrekturen angeben. Die Figuren der Zeichnung stellen dar in
F i g. 1 a ein Blockbild der erfindungsgemäßen Anordnung,
Fig. Ib einen Teil eines als Beispiel angeführten Befehlsaufbaus, der von der in F i g. 1 a gezeigten Anordnung verwendet werden kann,
Fig. 2a, 2b, 2c, 2d, 2e, 2f, 2g, 2h, 2i und 2j, wenn sie gemäß Fig. 2k angeordnet werden, ein genaues logisches Diagramm einer Anordnung, die der inFig. Ia gezeigten ähnlich ist,
F i g. 3 einen Befehlsaufbau, der von der Anordnung nach Fig. 2a bis 2j verwendet werden kann,
Fig. 4a und 4b Impulsdiagramme, die Signale darstellen, wie sie in dem Ausführungsbeispiel von Fig. 2a bis 2j während einer als,Beispiel angegebenen Operation auftreten.
Allgemeine Beschreibung
In Fig. la ist ein die Erfindung enthaltendes Datenverarbeitungssystem in Blockform dargestellt. Dieses vereinfachte System besteht aus mehreren selbständig betätigbaren Einheiten, nämlich einem Speicher 1, einer Recheneinheit 7, einer Steuereinheit 3, einem Taktgeber 47, einer Makrobefehlseinheit 5 und einer Mikrobefehlseinheit 16. Diese Einheiten sind jede insofern selbständig, als sie ihre jeweilige Funktion nach deren Einleitung ohne externe Steuerungen ausführen, abgesehen von Taktsignalen, die an feststehenden Punkten in der Operation abgewartet werden. Der Steuersignalgenerator 3 liefert Steuersignale R zu Zeitpunkten, welche eine Funktion von Taktsignalen C sind, für die Betätigung von Datenübertragungstoren und für die Ingangsetzung der selbständigen Einheiten. Außerdem werden den selbständigen Einheiten Taktsignale C zugeführt.
In Fi g. Ib sind Programme von zusammengesetzten Befehlen, die jeder einen oder mehr Makrobefehle M-I und mehrere Mikrobefehlsgruppen μ-Ι (1-3) usw. umfassen, in dem Speicher 1 enthalten. Makro-
S befehle bestehen aus einem Adressenfeld und einem Operationsfeld. Jede Mikrobefehlsgruppe enthält ein Auslösefeld (s) und drei Operationsfelder. Wenn ein Tor 2 durch ein Steuersignal R aus dem Steuersignalgenerator 3 zu einem durch den Taktgeber 47 bestimmten Zeitpunkt betätigt wird, werden Signale, die den Makrobefehlsteil darstellen, aus dem Speicher 1 über die Entnahme-SammeUeitung 4 in die Makrobefehlseinheit 5 übertragen. Das Makrobefehls-Operationsfeld in der Makrobefehlseinheit 5 hat Makrokommandos auf Kabel 6 zum Ergebnis, die die Steuereinheit 3 gemäß Taktsignalen C betätigen und dadurch Operationen einleiten und überwachen, welche in bezug auf durch das Adressenfeld des Makrobefehls angezeigte Operanden ausgeführt werden. Die Operanden werden aus dem Speicher 1 unter der Steuerung von Steuersignalen R aus dem Steuersignalgenerator 3 erlangt, die den Speicher 1 in Gang setzen, das Tor 8 betätigen und die Recheneinheit 7 wirksam machen. Operanden werden vom Speicher 1 gelief ert, zur Recheneinheit 7 geschickt, von der Recheneinheit 7 verarbeitet, und die Ergebnisse werden auf Kabel 9 erzeugt. Das Tor 10 wird durch die Steuereinheit 3 betätigt, um die Ergebnisse im Speicher 1 über die Einschreib-Sammelleitung 11 zu spei- · ehern. Nachdem der Speicher 1 und die Recheneinheit 7 durch ein Steuersignal R ausgewählt worden sind, führen sie ihre Funktionen automatisch aus, bis gewählte Punkte erreicht sind. Nach Erreichen eines solchen Punktes setzt eine Einheit ihre Arbeit erst dann fort, wenn ein bestimmtes Taktsignal C auftritt.
Operanden können auch unter der Steuerung des
Steuersignalgenerators 3 und des Taktgebers 47 aus dem Speicher 1 oder aus der Recheneinheit 7 zu und aus weiteren an die Kabel 12 und 13 angeschlossenen Einheiten durch Betätigung der Tore 14 und 15 übertragen Werden. Bei diesen zusätzlichen Einheiten kann es sich um Eingabe-Ausgabe-Einheiten, andere Speicher usw. handeln.
Das System enthält eine Mikrobefehlseinheit 16, die die Mikrobefehlsteile der zusammengesetzten Befehle, die über die Entnahme-SammeUeitung 4 aus dem Speicher 1 entnommen werden, bei Betätigung des Tors 17 durch die Steuereinheit 3 empfängt. Die Mikrobefehlseinheit 16 erzeugt Mikrokommandos auf Kabel IH zur Betätigung des Steuersignalgenerators 3. Normalerweise werden die Mikrokommandos auf dem Kabel 18 nicht gleichzeitig mit der Erzeugung der Makrokommandos durch die Makrobefehlseinheit 5 auf Kabel 6 erzeugt, wenn nicht bestimmte Auslösesignale auf Kabel 19 abgefühlt werden. Die Erfindung kann jedoch mit einer Einrichtung versehen sein, die gleichzeitig sowohl Mikro- als auch Makrokommandos liefert, solange die Mikrokommandos nicht die Steuereinheit betätigen, um Steuersignalei? zu erzeugen, bis die näher bezeichneten Auslösesignale abgefuhlt werden.
Auslösesignale werden durch die Einheiten (z. B. die Makrobefehlseinheit 5 und den Speicher 1) des Systems erzeugt, wenn bestimmte Zustände auftreten, wie z. B. ein ungültiger Befehl. In Fig. Ib ist jeder Mikrobefehlsgruppe der einem Makrobefehl in einem zusammengesetzten Befehl zugeordneten Gruppen ein Auslösefelds zugeordnet, welches verschlüsselt
den Zustand angibt, der eine Unterbrechung der Ausführung des Makrobefehls bewirkt und die Ausführung der zugeordneten Mikrobefehlsgruppe einleitet. Wenn ein bestimmtes Auslösesignal, das dem Auslösefeld einer Mikrobefehlsgruppe entspricht, auf Kabel 19 abgefühlt wird, werden Mikrokommandos durch die Mikrobefehlseinheit 16 erzeugt (oder, wenn sie schon erzeugt worden sind, durch die Steuereinheit 3 wirksam gemacht). Ein Sperrsignal wird über die Leitungen 20 geschickt, um zu verhindern, daß das nächste Taktsignal C die selbständigen Einheiten über den gegenwärtigen Prüfpunkt hinaus weiterschaltet. Dadurch verlieren die Makrokommandos die Aufsicht über die Steuereinheit 3, und das System wird angehalten.
In Verbindung mit Fig. Ib sei z. B. angenommen, daß ein zusammengesetzter Befehl mit einem Multiplizier-Makrobefehlsteil aus dem Speicher 1 ausgelesen worden ist. Dieser Multiplizierbefehl enthält einen Operationsteil, der die Multiplizier-Operation angibt, und ein Adressenfeld, das den Speicherort von Operanden im Speicher 1 angibt. Dem Makrobefehl sind mehrere Mikrobefehlsgruppen zugeordnet, von denen zwei in Fig. Ib dargestellt sind. In diesem Beispielsfall sei angenommen, daß die der ersten Gruppe von drei Mikrobefehlen μ-Ι (1-3) zugeordneten Auslösefelder einen Überlauf in der Recheneinheit 7 kennzeichnen. Weiter sei angenommen, daß der erste Mikrobefehls-Operationscode eine Schiebekorrektur anzeigt. Die anderen Mikrobefehle können dieselben, andere oder keine Operationen angeben.
Zunächst werden die Tore 2 und 17 durch die Steuereinheit 3 zu vom Taktgeber 47 bestimmten Zeitpunkten betätigt, um den Makrobefehlsanteil des in Fig. Ib gezeigten zusammengesetzten Befehls zur Makrobefehlseinheit 5 zu übertragen. Die Mikrobefehls-Operations- und -Auslösefelder werden der Mikrobefehlseinheit 16 zugänglich gemacht. Der Steuersignalgenerator 3 liefert Steuersignale R gemäß den über Kabel 6 aus der Makrobefehlseinheit 5 kommenden Makrokommandos. Die Steuersignale R betätigen die Tore 8 und 10 und setzen den Speicher 1 und die Recheneinheit 7- in Gang, um Operanden aus dem Speicher 1 zur Recheneinheit 7 und Ergebnisse aus der Recheneinheit 7 zum Speicher 1 zu übertragen.
Es sei nun angenommen, daß die Ausführung des »Multiplizier«-Makrobefehls unter der Steuerung der Makrobefehlseinheit 5 nicht abgeschlossen ist, wenn ein Überlauf in der Recheneinheit 17 eintritt. Der Überlauf wird durch ein Signal am Auslöseeingang 19 der Mikrobefehlseinheit 16 angezeigt. Schaltungen in der Mikrobefehlseinheit 16 erkennen, daß dieser Auslösezustand durch ein den Mikrobefehlen des gegenwärtigen zusammengesetzten Befehls zugeordnetes Auslösefeld angegeben ist. Der Operationsteil μ-Ι (1) des ersten Mikrobefehls, der dem ersten Auslösefeld zugeordnet ist, bewirkt das Auftreten von Mikrokommandos auf dem Kabel 18 und von Sperrsignalen auf den Leitungen 20. Die Sperrsignale auf den Leitungen 20 blockieren die Wirkung der Taktsignale C auf den Speicher 1 und die Recheneinheit 7, wodurch die Speicherung der Ergebnisse und die Bildung weiterer Zwischenprodukte durch das nächste Taktsignal verhindert werden. Dies hat zur Wirkung, daß die Ausführung des Multiplizier-Makrobefehls unterbrochen wird.
Durch die Mikrokommandos werden Steuersignale R ausgelöst. Das nächste Taktsignal C bewirkt eine Akkumulatorverschiebung in der Recheneinheit gemäß einem Mikrokommando auf Kabel 18. Etwaige weitere dem Überlauf-Auslösezustand zugeordnete Mikrobefehle μ-Ι (2) und μ-Ι (3) werden dadurch ausgeführt, daß sie nachträglich wirksam gemacht werden, um Mikrokommandos zu erzeugen. Einige Mikrokommandos bewirken interne Berichtigungen
ίο in selbständigen Einheiten, andere betätigen Tore, die nicht durch den Makrobefehl »Multiplizieren« betätigt werden, wieder andere schalten normalerweise betätigte Tore ab usw. Nach Ausführung der drei Mikrobefehle, die darstellungsgemäß dem ersten Auslösefeld zugeordnet sind, wird die Ausführung des »Multiplizier«-Makrobef ehls am Unterbrechungspunkt wieder aufgenommen. Nach Abtrennung der Signale von den Sperrleitungen 20 können die Taktsignale C den Speicher 1 und die Recheneinheit 7
ao über den Punkt hinaus, wo die Ausführung unterbrochen worden ist, weiterschalten.
Nachfolgende Auslösezustände werden in derselben Weise wirksam gemacht. Wenn mehr als ein Auslösezustand gleichzeitig auftritt (wobei jeder ein Auslösezustand ist, für den Mikrobefehle vorgesehen sind), werden die Auslösezustände nacheinander in einer durch den Vorrang bestimmten Reihenfolge wirksam gemacht. Weiter ist es durch Einsetzen einer Adresse in die Position des Operationsfeldes des letzten Mikrobefehls möglich, zusätzliche Mikrobefehle aus dem Speicher zu erlangen und dadurch ein durch das Auftreten eines Auslösezustandes eingeleitetes Unterprogramm unbegrenzt zu verlängern. Durch dieses zusätzliche Merkmal wird jedoch die Geschwindigkeit, die durch die Verwendung nur der in dem zusammengesetzten Befehl enthaltenen Mikrobefehle erreicht wird, nicht voll ausgenutzt.
Genaue Beschreibung eines Ausführungsbeispiels
Die gemäß Fig. 2k angeordneten Fig. 2a bis 2j bilden ein logisches Diagramm des die Erfindung enthaltenden Datenverarbeitungssystems, das unter Bezugnahme auf Fig. la beschrieben worden ist.
Das Datenverarbeitungssystem, das die hier beschriebene Erfindung enthält, kann serienweise, parallel, binär oder binär-dezimal verschlüsselt arbeiten. Der gewählte Typ hat keinen Einfluß auf die Erfindung. Zur Veranschaulichung wird nun der Aufbau eines elektronischen Datenverarbeitungssystems beschrieben, bei welchem die Bits parallel und die Bytes in Serie verarbeitet werden. Ein Byte ist eine Gruppe von Bits, die als Einheit behandelt wird. Es sei jedoch darauf hingewiesen, daß jeder beliebige programmgesteuerte Rechenwert in Verbindung mit der Erfindung benutzt werden kann.
In den Fig. 2a bis 2j ist ein Datenverarbeitungssystem dargestellt, das in hohem Maße im Uberlappungsbetrieb arbeitet und das mit Hilfe eines leistungsfähigen Befehlssatzes und anderer logischer Aufbauverbesserungen einen sehr hohen Leistungspegel erreicht. Die hier beschriebene Erfindung berichtigt den Fluß von Informationen zwischen den verschiedenen Einheiten während der Ausführung eines Programms, wodurch es dem Programmierer erspart bleibt, sein Programm auf einen optimalen Stand zu bringen. Der für dieses System entwickelte Befehlssatz weist leistungsfähige Merkmale auf, und
609 538/328
zwar sind gewöhnlich sehr wenige Befehle nötig, um ein Programm niederzuschreiben. Das ist größtenteils der Fähigkeit der Einheiten des Systems zuzuschreiben, ihre Operationen unabhängig von externer Steuerung auszuführen, nachdem sie einmal in Gang gesetzt worden sind. Ein Befehl, der die Ausführung sehr vieler Operationen angibt, wird gewöhnlich als Makrobefehl bezeichnet.
Das System enthält einen Kernspeicher 21, mehrere Byteformer 22, 23 und 24 (Fig. 2i, 2j), einen statistischen Akkumulator SACC25 (Fig. 2j), einen Tabellenadressenvereiniger 26, eine Tabellenentnahmeeinheit27 (Fig. 2i), eine logische Einheit28, die Schalter 29 und einen statistischen Zähler SCTR103 (Fig. 2h). Die Informationen bewegen sich in den und aus dem Kernspeicher 21 über die Einschreib-Sammelleitung 31 und die Entnahme-Sammelleitung 32 an Speicherorten, die durch ein Speicheradreßregister SAR 33 angezeigt werden. Informationen, die den Kernspeicher 21 über die Entnahme-Sammelleitung 32 aus den durch SAR33 angegebenen Speicherorten verlassen, werden in einem Speicherpufferregister SPR 34 gespeichert. Im SPR 34 stehende Informationen, die einen zusammengesetzten Befehl darstellen, werden zum Befehlsregister 35 weitergeleitet. Im 5Pi? 34 enthaltene Informationen, die Daten darstellen, werden zu den P- und ß-Byteformern22 und 23 geschickt. Die P- und ß-Byteformer 22 und 23 empfangen außerdem Adreßinformationen aus dem Ausgang des Befehlsregisters 35.
Ein Makrobefehlsentschlüsseler 36 (F i g. 2 a) empfängt den Operationsteil eines Makrobefehls aus einem Addierer 37 über ein Ausführungsregister 28. Der Adressenteil des Makrobefehls wird über den Addierer 37 in den Befehlszähler 39 eingebracht.
Die Mikrobefehlsteile des zusammengesetzten Befehls, die ursprünglich zusammen mit dem Makrobefehl in das Befehlsregister 35 eingebracht worden sind, werden von der Mikrobefehlssteuerung 16 (F i g. 2 d) verwendet. Die Auslösefelder der Mikrobefehle werden einem Auslöseregister 41 zugeleitet, um mit sechzig (oder mehr) Auslösesignalen verglichen zu werden, die von Einheiten in dem System empfangen werden. Wenn durch Auslösefelder dargestellte Auslösesignale irgendwelchen durch empfangene Auslösesignale dargestellten Zuständen entsprechen, macht die Vorrangschaltung 42 die Auslösesignale je nach Vorrang wirksam. Der Mikrobefehlswähler 43 (Fig. 2e) wählt in Verbindung mit einem Folgering44 (Fig. 2c) Mikrobefehls-Operationsteile einzeln aus der Gruppe von Mikrobefehlen aus, die dem Auslösefeld zugeordnet sind, das von der Vorrangschaltung 42 Vorrang erhalten hat. Die ausgewählten Mikrobefehls-Operationsfelder werden einzeln aus dem Befehlsregister 35 zu dem Mikrobefehlsentschlüsseler 45 (Fig. 2e) übertragen. Auf diese Weise empfängt der Entschlüsseier 45 eine Folge von Mikrobefehls-Operationsteilen, wenn ein Auslösefeld (in einem zusammengesetzten Befehl im Befehlsregister 35) einem empfangenen Auslösesignal entspricht.
Die aus dem Makrobefehlsentschlüsseier 36 kommenden Makrokommandos und die aus dem Mikrobefehlsentschlüsseler 45 kommenden Mikrokommandos werden zum Steuersignalgenerator geleitet, wo in Verbindung mit einem Taktgeber 47 bestimmte Torbetätigungs- und Einheitsauswählsignale erzeugt werden. Signale aus dem Steuersignalgenerator 46
(s. Fig. 2f und 2g) betätigen sowohl die Eingänge der mit Bezeichnungen versehenen Tore in Fig. 2h bis 2 j als auch die »Wählen«-Eingänge der in diesen Figuren dargestellten selbständigen Einheiten. Weitere Tore, deren Eingänge mit einem / bezeichnet sind (Fig. 2a und 2b) werden durch die in Fig. 2b gezeigte Befehlssteuereinheit 48 betätigt.
Der Taktgeber 47 läuft ununterbrochen und sendet Taktimpulse CP in regelmäßigen Abständen ohne
ίο Rücksicht auf den Betriebszustand des Systems. Diese Taktimpulse werden von den Steuersignalgeneratoren 46 (Fig. 2g) und 48 (Fig. 2b) benutzt, um das System im Takt zu halten, und zwar als Funktion von Systemzuständen. Wahlweise kann natürlich auch ein Taktgeber verwendet werden, der von Systemzuständen abhängig ist.
Recheneinheit
ao Die in Fig. 2h, 2i und 2j gezeigte Recheneinheit soll nur als Beispiel dienen. Die von den P- und Q-Byteformern 22 und 23 empfangenen Daten und Adressen haben gewöhnlich eine 72 Bits umfassende parallele binäre Form. Die Adressen werden zuerst aus dem SPR 34 empfangen, und dann empfangen die Byteformer unabhängig Datenwörter aus dem Kernspeicher 21 entsprechend den Adressen (und anderen Informationen). Aus den parallelen Daten erzeugen die Byteformer eine Folge von 8-Bit-Bytes.
Die Byteformer SUP oder SUQ beginnen, Folgen von Bytes zu erzeugen, wenn sie durch SUP- oder St/g-Auswahlsignale ausgewählt werden. Speicherglieder 49 und 50 speichern Bytes, wie sie empfangen werden, wenn ihre Eingänge durch den zugeordneten Byteformer wirksam gemacht werden. Normalerweise werden die Eingänge bei jedem Eingangs-Taktimpuls aus dem Taktgeber 47 wirksam gemacht. Wenn eins oder mehr der Ausgangstore C, D, 1 oder 2 wirksam sind, werden einzelne Bytes aus den Speichergliedern über die Bytefilter 51 und 52 zu einer nachgeschalteten Einheit übertragen. Die von den SUP- und St/Q-Byteformern erzeugten Folgen können in mehrere Pfade geleitet werden, von denen einige durch Tore C, D, F, G, HK1 und 2 ausgewählt werden. Die Pfade können zu den Schaltern 29, der logischen Einheit 28, dem /i?S-Register usw. führen. Die von den Byteformern 22 und 23 erzeugten Datenfolgen sind also Operationen unterworfen, die durch diejenigen Einheiten, durch die eine Folge hindurchgeht, bestimmt werden.
Die SUP- und 5i7ß-Byteformer (die in »Zeitzone 1« liegen) können Signale erzeugen, die Fortschalten-2-(»anfangs der Zeitzone 2«)-Signale. bewirken, wenn den zugeordneten Speichergliedern Bytes zugeführt worden sind. Das Fortschalten-2-Signal schaltet einen M-Ring 149 im Steuersignalgenerator 46 weiter, wenn andere Einheiten in dem System bereit sind. Ein Sperreingangssignal / kann das Auftreten dieses Fortschaltensignals unterbrechen. Die SUP- und Süß-Byteformer senden außerdem die unten in Tabelle I aufgeführten Auslösesignale STIM, wenn näher bezeichnete Zustände eintreten.
Die Schalter 29 ordnen die SUP- und S[/g-Folgen aus der Tabellenentnahmeeinheit 27 und der logischen Einheit 28, die beide nachstehend erläutert werden. Es sind vier Schalter mit der Bezeichnung W, X, Y und Z vorhanden, von denen jeder ein einziges Speicherglied 101 über eines der Tore M, L, J und K
in der genannten Reihenfolge speist. Die selbständige Operation wird durch ein Mf/-Signal eingeleitet. Im allgemeinen arbeiten die vier Schaltereinheiten jede in derselben Weise. Ein »Einstell«-Byte kann für jede Einheit angezeigt werden. Wenn ein Folgenbyte und ein Einstellbyte einander gleichen, herrscht Anpassung. Als Ergebnis einer Anpassung können verschiedene Operationen ausgeführt werden, z. B. kann das angepaßte Byte entweder in die Folge eingefügt oder aus ihr herausgenommen werden. Die Schalter 29 werden durch ein M£/-Auswählsignal betätigt. Sie können ein Signal senden, das ein Fortschalten-3-Signal bewirkt, wenn kein Sperrsignal / aufgetreten ist. Auslösesignale können abgegeben werden.
Die logische Einheit 28 wird von den /51- und /52-Registern gespeist. In bezug auf die Operandbytes in diesen Registern kann jede beliebige von sechzehn logischen Verknüpfungs- oder sechzehn Rechenoperationen ausgeführt werden. Die Ergebnisse werden den Schaltern 29 oder den Speichergliedern 101 und 102 zugeleitet. Signale, die ein Fortschalten-3-Signal zur Folge haben können, werden gesendet, wenn kein Sperrsignal/ auftritt. Auslösesignale werden erzeugt. Die selbständige Operation wird durch ein L U-Auswähleingangssignal ausgelöst.
Die Tabellenentnahmeeinheit 27 und der Tabellenadressenvereiniger 26 (Fig. 2j) wirken zusammen bei der Ausführung eines Tabellensuchbefehls, der Bytefolgen unabhängig vom Betrieb des Systems steuern kann. Der Tabellenadressenvereiniger 26 enthält zunächst eine Tabellengrundadresse, zu der zwei Bytes aus der P-Folge (/STP-Register) im TAA-Addierer addiert werden, um eine wirksame Adresse zu bilden. Die wirksame Adresse wird zu SAR33 weitergeleitet, um den Zugriff zu dem den gewünschten Tabellenwert enthaltenden Datenwort zu ermöglichen. Das Datenwort wird von der Tabellenentnahmeeinheit 27 empfangen, die Bytes aus ihr auswählt und so die Erzeugung einer Folge von Bytes bewirkt. Diese Folge wird etwa ebenso wie die P- und ß-Folgen verwendet. Die Einheiten 26 und 27 werden zur selbständigen Operation durch TAA- und SZ7[/-Signale ausgewählt; jede kann Auslösesignale liefern. Die Tabellenentnahme-Einheit 27 kann zur Erzeugung eines Fortschalten-2-Signals beitragen, wenn kein Sperrsignal / auftritt.
Das statistische Akkumulatorregister 25 (Fig. 2j) enthält die Summe seines Inhalts und von Bytes entweder aus der logischen Einheit 28 oder aus der Tabellenentnahmeeinheit 27. Die in einem SACC-Addierer 110 gebildete Summe wird von dem Addierer 110 in ein Speicherglied 111 eingegeben, aus dem sie das statistische Akkumulatorregister entnimmt. Das statistische Akkumulatorregister wird umgangen, wenn die Tore 11 oder 12 nicht betätigt sind. Ausgangstore S, R und Q wählen .verschiedene 8-Bit-Bytes unter den drei Bytes aus, die in dem statistischen Akkumulatorregister 25 gespeichert sein können. Es können Auslösesignale gesendet werden.
Der statistische Zähler SCTR umfaßt ein SCTR-Register 103 (Fig. 2h) zum Speichern eines laufenden Zählerstandes und einen SCTÄ-Steuerzähler 30 zum schrittweisen Erhöhen oder Senken des laufenden Zählerstandes gemäß einem Signal am Eingang — 1. Wenn kein Signal am Eingang — 1 vorliegt, ist der Ausgang 105 des SCTÄ-Steuerzählers 30 der um Eins erhöhte Inhalt des SCTÄ-Steuerregisters 103; bei einem Signal am Eingang — 1 ist er gleich dem um Eins erniedrigten Inhalt. Der Inhalt des SCrii-Steuerregisters 103 steht stets dem SCTR-Steuerzähler 30 über Kabel 104 zur Verfügung. Der stufenweise erhöhte oder erniedrigte Wert wird jedoch nicht benutzt, um den Inhalt des SCTR-Steuerregisters 103 auf den laufenden Stand zu bringen, wenn das Tor SC nicht betätigt ist. Das Register 103 kann durch ein Signal am Rückstelleingang rückgestellt werden. Auslösesignale können abgegeben werden. Wenn z. B. der Ausgang 105 des SCTR-Steuerzählers 30 einen Zählerstand darstellt, der gleich einem durch den Inhalt des SCTÄ-Steuerbegrenzers 151 dargestellten Zählerstand ist, sendet der SCTÄ-Steuervergleicher 152 ein Auslösesignal Nr. 21.
Der .R-Byteformer 24 (Fig. 2j) empfängt eine
Folge von Bytes und bildet 72-Bit-Wörter zur Speicherung im Kernspeicher 21 als Ausgang der in Fig. 2h, 2i und 2j gezeigten Recheneinheit. Der i?-Byteformer 24 gibt Signale ab, die die Erzeugung eines Fortschalten-l-SignalsFSl bewirken können, falls kein Sperrimpuls / vorliegt. Es können auch Auslösesignale STIM abgegeben werden.
Die verschiedenen die Recheneinheit 7 bildenden Einheiten können unter Programmsteuerung in Folgen eingeschaltet oder aus Folgen herausgenommen werden. Jeder zusammengesetzte Befehl gibt die Betätigung einer bestimmten Gruppe von Toren an, die die Folge gemäß dem betreSenden zusammengesetzten Befehl steuern. Die von jeder Einheit ausgeführten Operationen sind hier nur insofern von Bedeutung, als sie zur Erläuterung der Wirkungsweise der Erfindung dienen, da jedes beliebige Rechengerät verwendet werden kann. Durch Mikrobefehle vorgenommene Berichtigungen können jedes beliebige Tor, jeden Rückstelleingang usw. beeinflussen. Da einige der selbständigen Einheiten nicht in allen Einzelheiten dargestellt sind, zeigen die Figuren nicht alle möglichen Punkte für die Abgabe von Auslöseimpulsen und Berichtigungen.
Fig. 4b zeigt die Signale, welche die Tore der Recheneinheit 7 betätigen, und zwar werden diese Torsignale vom Steuersignalgenerator 46 geliefert, der unten näher beschrieben wird. Hier braucht man nur zu wissen, daß normalerweise jedes von drei Fortschaltsignalen, die vom Taktgeber 47 abgeleitet werden, die Betätigung eines verschiedenen Satzes von Toren bewirkt. Die Tore sind in drei Zeitzonen unterteilt, die mit den Zahlen 1 bis 3 numeriert sind, und zwar wird jedes von ihnen geöffnet, wenn ein Taktimpuls CP aus dem Taktgeber 47 und ein Fortschaltimpuls aus einer selbständigen Einheit in der Recheneinheit 7 gleichzeitig vorliegen. Zum Beispiel gestattet gewöhnlich der erste Taktimpuls nach dem Auftreten eines Fortschaltsignals die Auswahl aller zur ersten Zeitzone gehörenden Tore. Fortschaltungen treten stets in aufeinanderfolgenden Reihen auf, obwohl die Anzahl der Taktimpulse zwischen den Fortschaltungen verschieden sein kann. Im allgemeinen genügen jedoch, wenn keine Auslösesignale auftreten, vier Taktimpulse für die Betätigung aller Tore. Beim Auftreten der richtigen Signale werden nicht alle einer Zeitzone zugeordneten Tore betätigt, denn die Betätigung jedes Tores ist von dem jeweils in Ausführung begriffenen Befehl abhängig. Die meisten Makrobefehle benötigen eine große Zahl von Taktimpulsen, um die Zeitzonen mehrere Male zu durchlaufen.
In Fi g. 4 b können alle Tore während der Periode betätigt werden, die von Taktimpulsen CP 6, CP 7 und CPIi abgegrenzt wird, wodurch die Erzeugung von Fortschaltsignalen 1 bis 3 in der genannten Reihenfolge bewirkt wird; es werden aber tatsächlich nicht alle Tore betätigt. Infolge des Auftretens eines Auslösesignals (Nr. 21) zwischen CP 7 und CP 8 wird die weitere Betätigung von Toren während der Ausführung des Makrobefehls bis CPIl unterbrochen.
Es sei nun wieder auf Fig. 2h, 2i und 2j eingegangen. Wie dort gezeigt ist, können folgende Tore in der ersten Zeitzone betätigt werden: A bis H, 1,2,3, SUP, SUQ und SUU. Das Auftreten von SUP-, SUQ- und S*7E/-Signalen bewirkt die selbständige Betätigung des P-Byteformers 22, des g-Byteformers 23 und der Tabellenentnahmeeinheit 27. Erst nach dem Auftreten eines Fortschalten-1-Signals erfolgt der Eintritt in die erste Zeitzone.
In der zweiten Zeitzone können folgende Tore betätigt werden: / bis N, 7, 8 und SC. Die Tore J, K, L und M können wahlweise betätigt werden, um einen der Ausgänge W, X, Y oder Z der Schalter 29 zum Speicherglied 101 zu übertragen. Der Ausgang der logischen Einheit 28 kann zu demselben Speicherglied 101 durch Betätigung des Tors N übertragen werden. Der Ausgang der logischen Einheit 18 wird durch Betätigung des Tors 8 zum Speicherglied 102 übertragen, welches auch so eingestellt werden kann, daß es den Inhalt des statistischen Zahler-.SCr.R-RegisterslO3 enthält, indem das Tor 7 betätigt wird. Der Eintritt in die zweite Zeitzone kann erst nach dem Auftreten eines Fortschalten-2-Signals erfolgen.
In der dritten Zeitzone können folgende Tore betätigt werden: T, 4, 5, 6, 9, 10, 11 oder 12. Obwohl das Tor gleichzeitig mit den Toren 9 und 10 betätigt werden kann, um das /SA-Register zu füllen, wirkt es auf Bytes ein, die mehrere Zeitzonen hinter den Bytes zurückliegen, welche von den Toren 9 und 10 weitergeleitet werden. Diese Verzögerung beruht auf dem längeren Weg (durch den statistischen Akkumulator 25), den die vom Tor T weitergeleiteten Bytes durchlaufen. Die Tore Q, R und S können ebenfalls in der dritten Zeitzone betätigt werden, um wahlweise den Inhalt des statischen Akkumulatorregisters 25 ganz oder teilweise zum Speicherglied 109 zu übertragen für die sofortige Eingabe in den &4CC-Addierer 110 und für die Übertragung zum /RS-Register.
Speicher
Gemäß Fig. 2a und 2b besteht der Speicher 1 aus einem Kernspeicher 21, einem Speicheradressenregister SAR 33, einem SpeicherpufEerregister SPR 34 und einem Befehlsregister 35. Welcher Kernspeicher 21 verwendet wird, ist hier nicht von Bedeutung; zur Veranschaulichung wird eine würfelförmige Anordnung von mit koinzidierenden Strömen abgefühlten Magnetkernen verwendet. Das SAR33 zeigt einen 64-Bit-Wort-Speieherort im Kernspeicher 21 an, und zwar kann dieser Speicherort entweder über die Einschreib-Sammelleitung 31 eingeschrieben oder über die Entnahme-Sammelleitung 32 in das SPR 34 übertragen werden. Das SPR34 speichert drei vollständige Speicherwörter, die aus 192 Bits bestehen, welche mit 0 bis 191 numeriert sind. Wenn diese Bits einen Befehl darstellen, werden sie in das Befehlsregister 35 eingebracht. Gewöhnlich werden acht Prüfbits erzeugt, um zusammen mit 64-Bit-Speicherwörtern übertragen zu werden.
Der Aufbau eines typischen zusammengesetzten Befehlswortes ist als Teil des Befehlsregisters 35 in Fig. 2a und 2b dargestellt. Der zusammengesetzte Befehl besteht aus einem Makrobefehl und fünfzehn Mikrobefehlen, die in fünf Gruppen eingeteilt sind: 1 bis 3, 4 bis 6, 7 bis 9,10 bis 12 und 13 bis 15. Der Makrobefehl umfaßt ein aus 19 Bits bestehendes Adressenfeld, ein aus 3 Bits bestehendes Operationsfeld OM und ein aus 9 Bits bestehendes Mar- kierungsfeld TM. Jede Gruppe von drei Mikrobefehlen ist einem aus 6 Bits bestehenden Auslösefeld SA, SB, SC, SD oder SE, einem aus 2 Bits bestehenden Markierungsfeld TA, TB, TC, TD oder TE und einem aus 24 Bits bestehenden Feld zum Aufnehmen der drei 8-Bit-Mikrobefehl-Operationsfelder zugeordnet. Jedes der fünf Auslösefelder und Markierungsfelder bezieht sich also auf eine Gruppe von drei Mikrobefehlen. Jedes 6-Bit-Auslösefeld kann jeden beliebigen von 128 Auslösezuständen
ao identifizieren, von denen sechzig als Beispiele in Tabelle I aufgeführt sind.
Tabelle I
25 Auslöse
signal
Nr.
Verursacht durch Auslöse
signal
Nr.
Verursacht
durch
Z
0 NOP 31 Y
1 FLlQ 32 MB = I
30 2 FLlQ 33 LB =1
3 FL3Q 34 KB = 0
4 NOP - 35 KB = 1
5 FLIP 36 LB =0
O Λ 6 FL2P 37 MB = O
35 7 FL3P 38 immer ein
8 SACC THR 39 EOLU
9 W 40 MG=I
10 Ύ 41 LG = 1
40 11 7 42 KG=O
12 Z 43 KG=I
13 W-X 44 LC? = 0
14 W-Y 45 MG=O
45 15 CC = O 46 immer ein
16 NOP 47 Anfang
17 FLlR 48 F-MB= 1
18 FL2R 49 F-LB =1
50 19 FL3R 50 F-KB =0
20 W 51 F-KB =1
21 SCTR = LIM 52 F-LB =0
22 X 53 F-MB = O
55 23 X oder Y 54 F
24 SCTR φ LIM -E0G 55 T-EOG
25 SACC<THR-E0G 56 MG= 1-EOG
26 SACC + bis - 57 LG = I-EOG
6o 27 F 58 KG = O-EOG
28 T-LB = 1 59 KG=I-EOG
29 T-KB = 1 60
30 T-MB= 1
Die Auslösesignalnummer gibt die Quelle des Auslösesignals an. Zum Beispiel ist in Fig. 2h das Auslösesignal Nr. 21 dargestellt. Welche Zustände tatsächlich dargestellt werden, steht zur freien Wahl.
17
Ϊ8
Jedes Mikrobefehl-Operationsfeld stellt durch
einen 8-Bit-Code eine von 512 Berichtigungen dar,
von denen fünfundsiebzig als Beispiele in Tabelle II
aufgeführt sind.'
Tabelle Π
Mikrobefehl
(Dezimalcode)
Bezeichnung der Korrektur NOP
1 SCTR um +1 fortschalten
2 ,F und G rückstellen
3 SACC rückstellen
4 SCTR rückstellen
5 SACC fortschalten
6 SCTR um -1 fortschalten
7 24 Bits von SACC nach R
8 Die sechzehn niedrigsten Bits von
9 5,4 CC nach R
Die acht niedrigsten Bits von SACC
10 nach .R
Addiere SCTR zu TBA
11 Die acht niedrigsten Bits von SCTR
12 nach R
16 Bits von SCTR nach R
13 A CR-Kippschaltungen für diese Byte
14 außer Betrieb setzen
L-Ausgangssignale für die Dauer der
15 Gruppe unterdrücken
^CR-Kippschaltungen für die Dauer
16 der Gruppe außer Betrieb setzen
Setze X in L
17 Setze MOD in L
18 Setze MOD in Ό
19 Setze Y in L
20 Setze Z in L
21 Setze W in L
22 P über diese Schwelle ausgeben
23 P über FLG 2-SchwelIe ausgeben
24 P über FLG 1-Schwelle ausgeben
25 Q über diese Schwelle ausgeben
26 Q über FLG 2-Schwelle ausgeben
27 Q über FLG 1-Schwelle ausgeben
28 Schalte nur P über diese Schwelle
29 Schalte nur P über FLG 2-Schwelle
30 Schalte nur P über FLG 1-Schwelle
31 Schalte nur Q über diese Schwelle
32 Schalte nur Q über FLG 2-Schwelle
33 Schalte nur Q über FLG 1-Schwelle
34 P-Adresse speichern
35 ß-Adresse speichern
36 Unterdrücke Byte nach besonderem
37 Byte von P
Unterdrücke besonderes Byteausgangs
38 signal von L
Unterdrücke besonderes Byte nach R
39 Unterdrücke Byte nach besonderem
40 Byte von Q
Mikrobefehl
(Dezimalcode)
Bezeichnung der Korrektur
41 Unterdrücke Byte nach besonderem
Byte von U
42 Wiederhole besonderes Byte Von P
43 Wiederhole besonderes Byte von Q
44 Wiederhole besonderes Byte von U
45 Überspringe Zwischenraum in R
46 Überspringe [/-Entnahme
47 Schalter unwirksam machen
48 R in nächste Stellung schalten
49 R in nächste Stellung über FL 2 fort
schalten
50 R in nächste Stellung über FL1 fort
schalten
51 R in nächste Stellung über FL 3 fort
schalten
52 R in diese Stellung rückstellen
53 R durch Stellung FL 2 rückstellen
54 R durch Stellung FL1 rückstellen
55 R durch Stellung FL3 rückstellen
56 P in nächste Stellung fortschalten
57 P in nächste Stellung über FL 2 fort
schalten
58 P in nächste Stellung über FL1 fort
schalten
59 P in nächste Stellung über FL 3 fort
schalten
60 P in diese Stellung rückstellen
61 P durch Stellung FL 2 rückstellen
62 P durch Stellung FLl rückstellen
63 P durch Stellung FL 3 rückstellen
64 Q in diese Stellung rückstellen
• 65 Q durch Stellung FL 2 rückstellen
66 Q durch Stellung FLl rückstellen
67 Q durch Stellung FL 3 rückstellen
68 Q in nächste Stellung fortschalten
69 Q in nächste Stellung über FL 2 fort
schalten
70 Q in nächste Stellung über FLl fort
schalten
71 Q in nächste Stellung über FL 3 fort
schalten
72 TBA — 1 in T-Adresse aufsuchen
73 Überspringe Entnahme von T-Adresse
74 T-Adresse zu TBA zurückstellen
75 Lösche T-Adresse
Die Korrekturnummern sind der Dezimalcode für die aus 8 Bits bestehenden, binär verschlüsselten Operationsfelder. Die ausgeführten Korrekturen sind willkürlich und abhängig von der Umgebung, in der die Erfindung benutzt wird.
Die Mikrobefehlseinheit
Die in Fig. 2c bis 2e gezeigte Mikrobefehlseinheitlö besteht aus einem Auslöseregister 41, einer Vorrangschaltung 42, einem Mikrobefehlswähler 43,
609 538/328
einer Folgeschaltung 44 und einem Mikrobefehlsentschlüsseier 45. Die Mikrobefehlseinheit 16 hat die Aufgabe, zu erkennen, wann ein Auslösesignal, das in einem im Befehlsregister 35 gespeicherten zusammengesetzten Befehl angezeigt ist, in dem System aufgetreten ist, und die dem Auslösesignal zugeordneten Mikrobefehle nacheinander wirksam zu machen.
Das Auslöseregister 41 empfängt Auslösesignale entsprechend den fünf Auslösefeldern in dem Befehlsregister 35 über einen 6-nach-60-Entschlüsseler 53. Den dreißig Eingängen des Entschlüsselers 53 werden fünf Felder zu je 6 Bits zugeführt, und zwar wird jedes Feld in einen l-aus-60-Bit-Code umgesetzt, der auf 300 Ausgangsleitungen übertragen wird. Das heißt jeder der sechzig Auslösezustände, die von einem Auslösefeld definiert werden können, wird durch ein anderes Signal auf einer der dem betreffenden Feld entsprechenden sechzig Ausgangsleitungen dargestellt. Sechzig Auslösesignale aus dem System gelangen über getrennte Leitungen in das Register 41. Jedes dieser sechzig Auslösesignale wird mit jedem der entschlüsselten Auslösefelder in Vergleichern CFA 54, CFB 55, CFC 56, CFD 57 und CFE 58 verglichen. Immer, wenn ein durch ein Auslösefeld dargestelltes Auslösesignal mit einem auf einer der sechzig Auslösesignal-Eingangsleitungen auftretenden Auslösesignal übereinstimmt, erzeugt der Vergleicher für das betreffende Feld ein Ausgangssignal. Da es möglich ist, daß mehr als ein Auslösezuständ vorliegt, kann es sein, daß mehr als ein Vergleicher ein Ausgangssignal erzeugt. Jedes Vergleicher-Ausgangssignal wird in einer entsprechenden bistabilen Kippstufe TA 59, TB 60, TC 61, TD 62 oder TE 63 gespeichert. Die Eins-Zustände der Kippstufen zeigen daher an, welche durch Auslösefelder im Befehlsregister 35 verschlüsselten Auslösezustände in dem System eingetreten sind.
Die Vorrangschaltung 42 macht einzelne dieser Auslösezustände nacheinander wirksam. Die Konstruktion der Vorrangschaltung ist ohne Belang, solange sie ihre Funktion ausführt, jeweils einen Eingang aus einer Anzahl von »besetzten« Eingängen auszuwählen. Der hier gezeigte, der aus vier Und-Schaltungen 64, 65, 66 und 67 besteht, erteilt den Vorrang der obersten in den Eins-Zustand geschalteten bistabilen Kippstufe. Wenn daher Auslösefelder SA und SC beide gleichzeitig auftretende Auslösezustände identifizieren, erhält der durch das Feld SA angegebene Auslösezuständ den Vorrang. Das geschieht dadurch, daß jedes Eins-Ausgangssignal einer bistabilen Kippstufe veranlaßt wird (durch Signale an den durch einen Halbkreis gekennzeichneten Sperreingängen), alle Und-Schaltungen unwirksam zu machen, die bistabilen Kippschaltungen mit niedrigerem Vorrang zugeordnet sind. Ein i23-Impuls, der in Verbindung mit der Folgeschaltung 44 noch erläutert wird; tritt auf, nachdem jeder ausgewählte Auslösezuständ vollständig wirksam gemacht worden ist. Durch dieses Signal wird die bistabile Kippschaltung in dem Auslöseregister 41 rückgestellt, die dem mit Vorrang versehenen Auslösefeld zugeordnet ist, so daß die Vorrangschaltung 42 dann den nächsten angezeigten Auslösezuständ wirksam machen kann. Die Ausführung dieser Operation wird von fünf Und-Schaltungen 68, 69, 70, 71 und 72 ermöglicht, und zwar tritt das Ausgangssignal jeder dieser Und-Schaltungen (von denen jede eine zugeordnete bistabile Kippstufe rückstellt), zur i?3-Zeit nur dann auf, wenn das entsprechende Auslösefeld den Vorrang hat. Nur einer der Ausgänge SA, SB, SC, SD und SE der Vorrangschaltung 42 weist jeweils ein Signal auf, welches diejenige Mikrobefehlsgruppe darstellt, die einem Auslösezuständ zugeordnet ist, welcher durch ein mit Vorrang versehenes Auslösefeld dargestellt wird. Wenn ein beliebiger Auslösezuständ den Vorrang erhalten hat, liefert die Oder-Schaltung 300 das Sperrsignal/, welches das Auftreten von Fortschaltsignalen in der Recheneinheit 7 unterbindet, den Betrieb der Tore durch die Befehls-Steuersignalgeneratoren 48 beeinflußt und den Mikroring 151 (Fig. 3 g) rückstellt.
Der unten erläuterte Mikrobefehlswähler leitet Mikrobefehle aus dem Befehlsregister 35 zumMikrobefehlsentschlüsseler 45. Welcher Mikrobefehl aus der Gruppe ausgewählt wird, wird durch Fortschalten der Folgeschaltung 44 (Fig. 2c) bestimmt.
ao Die Folgeschaltung 44 besteht aus vier bistabilen Kippschaltungen 72, 73, 74 und 75, die in bekannter Weise in Verbindung mit vier Dioden-Kondensator-Kombinationen zu einer Ringschaltung angeordnet sind. Ein Signal am Fortschalteingang 76, das durch das gleichzeitige Auftreten eines Taktimpulses CP aus dem Taktgeber 47 und eines Mikrokommandos aus dem Steuersignalgenerator 46 (gemäß einem Mikrobefehl) erzeugt wird, veranlaßt die bistabile Kippschaltung, die ein Eins-Ausgangssignal aufweist, auf ein Null-Ausgangssignal umzuschalten und die nächste Kippschaltung, ein Eins-Ausgangssignal zu erzeugen. Auf diese Weise liegt stets ein Signal auf einer der Ausgangsleitungen RO, Rl, R2 oder R3 vor. Das Signal wird der Reihe nach von RO bis R3 und wieder zu i?0 zurück fortgeschaltet, und zwar je einmal für je vier Signale am Eingang 76. Daher kann die Folgeschaltung 44 schneller (oder langsamer) als normale Befehle fortgeschaltet werden, wodurch die jedem Mikrobefehl zugeteilte Zeit der für seine Ausführung nötigen Zeit angepaßt wird.
Der Mikrobefehlswähler 43 besteht aus einer Matrix von in fünf Reihen zu je vier Spalten angeordneten zwanzig Und-Schaltungen 76 bis 95. Jede der fünf Reihen von Und-Schaltungen läßt eine andere Gruppe von drei Mikrobefehlen, die einem Auslösefeld zugeordnet' ist, durch. Je eine der Und-Schaltungen in jeder Reihe läßt das Markierungsfeld durch, das der von den anderen Und-Schaltungen in der betreffenden Reihe durchgelassenen Gruppe von Mikrobefehlen zugeordnet ist. So läßt z. B. die erste Reihe, die aus den Und-Schaltungen 76, 77, 78 und 79 besteht, die ersten drei Mikrobefehle Ou (1-3) und das zugeordnete Markierungsfeld TA durch. Der erste Befehl Ow(I) wird der Und-Schaltung 77 vom Befehlsregister 35 aus durch das Kabel 96 zugeleitet. Der'Operationsteil des zweiten Mikrobefehls Ou (2) wird vom Befehlsregister 35 der Und-Schaltung 78 über das Kabel 97 zugeführt. Der Operationsteil des dritten Mikrobefehls Ou (3) wird der Und-Schaltung 79 über das Kabel 98 zugeleitet. Das diesen drei Mikrobefehlen zugeordnete Markierungsfeld TA wird der Und-Schaltung 76 über das Kabel 99 zugeführt.
Die Eingangs-Operations- und Markierungsfelder
erscheinen an den Ausgängen der entsprechenden Und-Schaltungen ohne Veränderung, wenn Signale aus der Vorrangschaltung 42 und der Folgeschaltung 44 gleichzeitig an den Eingängen der Und-Schaltungen erscheinen. Da die Und-Schaltungen 77 bis 79
21 22
ausgewählt sind, werden die Operationsfelder dem Signal verbleibt auf einer der Leitungen bei Fort-
Mikrobefehlsentschlüsseler 45 über das Ausgangs- schaltung der Schaltung 44 nach R 3 und verändert
kabel 100 zugeleitet. sich zur nächsten R O-Zeit nur dann, wenn das Mar-
Es sei z. B. angenommen, daß das den ersten drei kierungsfeld der nächsten Gruppe von Mikrobefeh-Mikrobefehlen zugeordnete Auslösefeld SA einen 5 len eine andere Verschlüsselung aufweist. Das Mar-Auslösezustand beschreibt, der in der Maschine auf- kierungsfeld kann benutzt werden, um die Fortschaltgetreten ist und dem von der Vorrangschaltung 42 zeit der Vorrangschaltung 42 zu steuern. Zum BeiVorrang gegeben worden ist. Es erscheint ein Signal spiel gestatten es die Und-Schaltung 107 und die auf der Leitung S1^l, wodurch je ein Eingangssignal Oder-Schaltung 108 der Vorrangschaltung 42, immer an, jede der Und-Schaltungen 76, 77, 78 und 79 ge- ίο dann einen anderen Auslösezustand wirksam zu legt wird. Da die Folgeschaltung 44 ein Signal er- machen, wenn die Folgeschaltung 44 nach R 3 zeugt, das der Reihe nach zwischen den Leitungen weiterschaltet, falls das zugeordnete Markierungs- RO, Rl, R2 und R3 in der genannten Reihenfolge feld aus 00 besteht. Das einem Auslösezustand zuweitergeschaltet wird, werden die Und-Schaltungen geordnete Unterprogramm ist also auf drei Mikro-76, 77, 78 und 79 jeweils einzeln in derselben Reihen- 15 befehle begrenzt. Wenn das zugeordnete Markiefolge wirksam gemacht. Als erste wird die Und- rungsfeldlO lautet, wird ein Tor/l über die Oder-Schaltung 76 ausgewählt, wodurch das TVi-FeId aus Schaltung 110 wirksam gemacht, um den dritten dem dem Befehlsregister 35 in den TA -Entschlüsseier und Markierungsfeld zugeordneten Mikrobefehl zum Be- -Speicher 101 übertragen wird. Wenn einer der Ent- fehlszähler 39 weiterzuleiten. Die Vorrangschaltung schlüsseler 101, 102, 103, 104 oder 105 ein Mar- 20 68 wird nicht fortgeschaltet. In diesem Falle bezeichkierungsfeld TA, TB, TC, TD oder TE aus der zu- net der dritte Mikrobefehl einen Speicherort im geordneten Und-Schaltung 76, 80, 84, 88 oder 89 Kernspeicher 21, wo weitere Mikrobefehle zu finden empfängt, bewirkt er das Erscheinen eines Signals an sind. Die zusätzlichen Mikrobefehle treten an die einem der Entschlüsselerausgänge 00, 01, 10 oder 11. Stelle der jetzt im Befehlsregister 35 befindlichen. Diese Ausgänge können benutzt werden, um Mikro- 25 Auch das Markierungsfeld kann jetzt ausgewechselt befehls-Unterprogramme zu steuern, was noch im werden. Das einem Markierungsfeld 10 zugeordnete nächsten Absatz in Verbindung mit den Markierungs- Unterprogramm ist daher größenmäßig nicht auf die feldschaltungen 106 näher erläutert wird. Man kann drei zugeordneten Mikrobefehle beschränkt. Wenn nun wie folgt zusammenfassend sagen: Wenn die das Markierungsfeld 11 lautet, wird die Vorrang-Vorrangschaltung 42 Maschinen - Auslösezustände 30 schaltung 42 fortgeschaltet, wenn die Folgeschaltung wirksam macht, die durch in dem Zusammengesetz- 44 die Stellung R 3 erreicht, und zwar über die Undten Befehl enthaltene Auslösefelder identifiziert wer- Schaltung 109, und das Tor /1 wird über die Oderden, werden Reihen der Und-Schaltungen im Mikro- Schaltung 110 betätigt. Der letzte Mikrobefehl, der befehlswähler 43 nacheinander in der Reihenfolge gewöhnlich eine Adresse enthält, wird dem Bef ehlsdes Vorrangs durch Leitungen SA, SB, SC, SD und 35 zähler 34 zugeleitet, und das Unterprogramm, das SE wirksam gemacht. Für jede so ausgewählte Reihe dem die Bits 11 enthaltenden Markierungsfeld entkann die Folgeschaltung 44 die durch die Leitungen spricht, wird beendet. Auf diese Weise kann ein RO, Rl, R2 und R3 definierten Spalten von Und- Unterprogramm von Makrobefehlen (jeder mit semen Schaltungen auswählen. Nach jedem vom Steuer- eigenen zugeordneten Mikrobefehlen) das Programm signalgenerator 46 stammenden Schrittschaltsignal 4° unterbrechen. Infolgedessen ist die Anordnung iman der Folgeschaltung 44 wird eine andere Spalte stände, die im Stand der Technik bekannten autoausgewählt. In der ersten Reihe erfolgt die Auswahl matischen Programmunterbrechungs - Operationen in der Reihenfolge 76, 77, 78 und 79, wodurch die auszuführen. Das restliche Feld (01) kann jede belie-Felder TA Ou(I), Ou (2) und Ou(3) des Befehls- bige von mehreren Operationen kennzeichnen. Zum registers 35 in der genannten Reihenfolge ausgewählt 45 Beispiel kann die Ausführung eines Mikrobefehls von werden. Die Folgeschaltung 44 wird aber nicht not- dem logischen Verhältnis dieses Mikrobefehls zu wendigerweise in regelmäßigen Zeitabständen fort- einem anderen Mikrobefehl abhängig gemacht geschaltet, denn das ist vom Inhalt des Markierungs- werden.
feldes und des in Ausführung begriffenen Mikrobe- Der Mikrobefehlsentschlüsseler 45, der in Funkfehls abhängig. Zum Beispiel kann ein Mikrobefehl 5" tion und Aufbau dem Makrobefehlsentschlüsseier 36 am Ausgang der Und-Schaltung 77 für die Dauer in der Makrobefehlseinheit 5 gleicht, empfängt die von zwei Taktimpulsen und ein anderer Mikrobefehl Operationsteile des Mikrobefehls einzeln, wie sie ihm (im gleichen zusammengesetzten Befehl) am Aus- vom Mikrobefehlswähler 43 zugeführt werden. Aus gang der Und-Schaltung 79 für die Dauer nur eines jedem Mikrobefehl wird eine größere Zahl von Taktunpulses zur Verfügung stehen. 55 Mikrokommandos erzeugt, die in Verbindung mit
Den Markierungsfeldentschlüsseler- und -speicher- dem Taktgeber 47 Signale im Steuersignalgenerator 3
schaltungen 101, 102, 103, 104 und 105 sind Mar- zum Betätigen der Tore der Recheneinheit 7 er-
kierungsfeldschaltungen 106 zugeordnet. Die von zeugen.
diesen Schaltungen ausgeführten Funktionen sind nur Befehls-Steuersignalgenerator
als Beispiel beschrieben; jede andere gewünschte 60
Wirkungsweise ist ebenfalls möglich. Die durch das Wie aus Fig. 2b ersichtlich ist, dient der Befehlszwei Bits umfassende Markierungsfeld TA, TB, TC, Steuersignalgenerator 48 (Teil des Steuersignalgene- TD oder TE der von der Vorrangschaltung 42 aus- rators 3) zum Erzeugen von Signalen, welche Tore im gewählten Mikrobefehlsgruppe angegebene Markie- Speicher 1, in der Makrobefehlseinheit 5 und in der rung wird durch ein Signal auf einer der Leitungen ^5 Mikrobefehlseinheit 16 betätigen. Diese Signale wer-00, 01, 10 oder 11 dargestellt. Jedesmal, wenn die den mittels bekannter Schaltungen erzeugt, die durch Folgeschaltung 44 zu ÄO fortgeschaltet wird, er- Taktsignale CP aus dem Taktgeber 47 entsprechend scheinen Signale auf einer dieser vier Leitungen. Ein den Zuständen der Befehlseinheiten gesteuert werden,
23 24
wie es ein Sperrsignal 7 anzeigt (das auftritt, wenn dann indexiert werden, wie oben beschrieben, oder
die Vorrangschaltung 42 einem Auslösezustand Vor- direkt zum SAR 33 übertragen werden. Der Aufbau
rang gibt), und nach Wunsch entsprechend den Mar- des in das SPR34 eingegebenen Wortes bestimmt,
kierungsfeldern von Makrobefehlen. Die Betätigung ob der ganze zusammengesetzte Befehl im Befehls-
der Tore kann also davon abhängig gemacht werden, 5 register 35 ersetzt wird (Programmunterbrechung)
ob Makro- oder Mikrobefehle ausgeführt werden. oder ob nur eine Mikrobefehlsgruppe verändert wird.
Fig. 4a zeigt die Ausgangsimpulse der Steuer-
signaUeitungen die Tore unter der Steuerung des Steuersignalgenerator und Taktgeber
Taktgebers 47 betätigen. Bei Taktimpuls CPl wer- s & 5
den Tore72, 73, 74 und 711 betätigt, um den ge- 10 Wie aus Fig. 2f und 2g hervorgeht, empfängt der genwärtigen Inhalt des Befehlszählers 39 (die Grund- Steuersignalgenerator 46 (Teil des Steuersignalgeneadresse eines zusammengesetzten Befehls) zu in- rators3, der dem Befehls-Steuersignalgenerator 48 dexieren, indem sie ihn durch den Addierer 37 gleich- nicht zugeordnet ist) Makrokommandos und Mikrozeitig mit dem Eingang eines Vergrößerungsbetrages kommandos aus dem Makrobefehlsentschlüsseier 36 in den Addierer leiten. Die wirksame Adresse tritt 15 und dem Mikrobefehlsentschlüsseier 45. Diese Komwährend der nächsten Taktzeit CP 2 aus dem Addie- mandos erzeugen Signale für die Betätigung von rer heraus. Der Befehlszähler 39 wird zur Zeit CFl Toren in der Recheneinheit 7 unter der Steuerung um +1 fortgeschaltet, so daß zum Aufsuchen des des Taktgebers 47.
nächsten Befehls eine neue Grundadresse zur Ver- Der Taktgeber 47 sendet Taktimpulse CP zum
fügung steht. 20 Makroring 149 und zum Mikroring 151. Diese Ringe
Zur nächsten Taktimpulszeit CP 2 werden die verwenden jeder eine bekannte Schaltungsanordnung Tore76 und 712 wirksam gemacht und übertragen (ähnlich der oben beschriebenen Folgeschaltung 44), die neue wirksame Adresse in das SAR33. Der um Signale einzeln nacheinander auf mehreren Ausadressierte zusammengesetzte Befehl gelangt recht- gangsleitungen zu erzeugen. Das Ausgangssignal wird zeitig zur Verwendung zur Zeit CP3 in das SPR34. 25 von einer Leitung zu einer benachbarten Leitung für
Beim Taktimpuls CP3 überträgt das Tor 77 den jedes Fortschalt-Eingangssignal weitergeschaltet. Der
adressierten zusammengesetzten Befehl in das Be- Makroring 149 wird beim Auftreten eines Taktimpul-
fehlsregister 35. ses einen Schritt fortgeschaltet, wenn ein Fortschalt-
Beim Taktimpuls CP 4 leiten die Tore 7 4 und 713 signal aus der Fortschaltschaltung 200 an der Und-
den Makrobefehl zum Addierer 37 und das Aus- 30 Schaltung 150 vorliegt. Der Mikroring 151 wird beim
lösefeld des Mikrobefehls zum Auslöseregister 41 Auftreten eines Taktimpulses fortgeschaltet, wenn
weiter. ein Kommandosignal »Mikroring 151 fortschalten«
Beim Taktimpuls CP5 leiten die Tore 76, 78 und aus dem Mikrobefehlsentschlüsseier 45 an der Und-
und 79 das Adressenfeld des Makrobefehls zu den Schaltung 400 liegt. Der Mikroring 151 wird durch
Byteformern 22 und 23 der Recheneinheit 7, das 35 ein 7-Signal jedesmal dann rückgestellt, wenn ein
Operations- und das Markierungsfeld des Makro- anderer Auslösezustand von der Vorrangschaltung
befehls zum Ausführungsregister 38 und das Opera- mit Vorrang versehen wird.
tionsfeld dieses Befehls zum Makrobefehlsent- Im anfänglichen Zustand des Makroringes 149
schlüsseler 36 weiter. liegt ein Signal am Fortschalt-1-Ausgang. Ein Fort-
Nach dem Taktimpuls CP 5 werden die Signale 40 schalt-2-Signal wird erzeugt als Ergebnis von Signaaus dem Befehls-Steuersignalgenerator 48 auf die- len, die aus den Q- und P-Byteformern 22, 23, der jenigen beschränkt, die der Recheneinheit 7 Zugriff Tabellenentnahmeeinheit 27 und anderen Einheiten zum Kernspeicher 21 geben. Das Tor 710 wird in (Zeitzonen 2 und 3) empfangen werden. Ein einziges jedem zweiten Umlauf wirksam gemacht, um das Fortschaltsignal wird von der Fortschaltschaltung Einschreiben über die Sammelleitung 31 zu ermög- 45 200 geliefert, um den Makroring während des nächlichen, und das Tor 712 wird in jedem Umlauf be- sten Taktimpulses von Fortschalten 1 nach Forttätigt, um die Veränderung der Adressen im SAR33 schalten 2 weiterzuschalten. Das weitere Fortschalten für abwechselndes Lesen und Schreiben zu gestatten. erfolgt in entsprechender Weise. Wenn keine Fort-Der Steuersignalgenerator 46 betätigt zu diesem Zeit- schaltsignale aus der Recheneinheit 7 ankommen, punkt die in Fig. 2 h bis 2 j gezeigten Tore gemäß 50 erfolgt selbst beim weiteren Auftreten von Taktimpulden durch Makro- oder Mikrobefehle erforderlich sen keine Fortschaltung. Wenn die Ausführung von werdenden Operationen. Eine Ausnahme besteht, Mikrobefehlen infolge des Erkennens eines Auslösewenn ein Mikrobefehl eine Adresse enthält, die zum zustandes eingeleitet werden muß, sperrt ein Sperr-Befehlszähler 39 zu übertragen ist. signal 7 aus der Vorrangschaltung 42 über die Oder-Wenn ein Mikrobefehl mit dem Markierungsfeld 55 Schaltung 300 die Abgabe von Fortschaltsignalen 10 auftritt, muß die zugeordnete Mikrobefehlsgruppe durch die selbständigen Einheiten in der Rechenim Befehlsregister 35 durch eine neue Gruppe von einheit 7. Da der Makroring 149 ohne Fortschalt-Mikrobefehlen (und Markierungsfeldern) ersetzt wer- signale nicht weiterschalten kann, wird die Ausfühden, die aus dem Kernspeicher erlangt wird. Wenn rung des Makrobefehls an der gegenwärtigen Steldas Markierungsfeld 11 lautet, ist die Operation die 60 lung des Makroringes 149 unterbrochen,
gleiche, nur wird die Adresse des gegenwärtigen zu- Im anfänglichen Zustand des Mikroringes 151 ersammengesetzten Befehls im Kernspeicher 21 gespei- scheint ein Signal am 1-Ausgang. Jedesmal, wenn ein chert und ein ganz neues Unterprogramm von zusam- neuer Auslösezustand von der Vorrangschaltung 42 mengesetzten Befehlen begonnen. In beiden Fällen den Vorrang zugewiesen erhält, wird der Mikroring betätigt der Befehls-Steuersignalgenerator 48 die 65 151 durch ein Sperrsignal 7 aus der Oder-Schaltung Tore 72, 77 und 712 während der auf die Betäti- 300 zurückgestellt. Der Mikroring 151 wird nur dann gung des Tors 71 durch die-Markierungsfeldschal- von 1 nach 2 fortgeschaltet, wenn ein Taktimpuls rung 106 folgenden Taktzeiten. Die Adresse kann und ein Kommando »Ring 151 fortschalten« (aus
dem Mikrobefehlsentschlüsseler 45) gleichzeitig an den Eingängen der Und-Schaltung 400 vorliegen. Jeder Mikrobefehl kann also die Zahl von Taktimpulsen steuern, die für die Ausführung seiner Operationen zur Verfügung gestellt werden. Die meisten Mikrobefehle benötigen jedoch nicht mehr als einen Schritt.
Der Steuersignalgenerator 46 ist als Matrix von Und-Schaltungen angeordnet. Jede Und-Schaltung kann an eine Reihe von Zeitsteuersignalen entweder aus dem Makroring 149 oder aus dem Mikroring 151 (jeder an den Taktgeber 47 angeschlossen) sowie außerdem an eine Spalte von Kommandos aus dem Makrobefehlsentschlüsseier 36 oder aus dem Mikrobefehlsentschlüsseler 45 angeschlossen werden. Die Und-Schaltungen werden nicht notwendigerweise entweder an eine Reihe oder an eine Spalte angeschlossen, denn die Verdrahtung ist von den gewünschten Funktionen abhängig.
Gemäß Fig. 2f ist z.B. die Und-Schaltung 111 an die Kommandoleitung »F Wählen« und an den Ausgang »Fortschalten 2« des Makroringes 149 angeschlossen, so daß bei Vorliegen eines Signals auf der Kommandoleitung »P Wählen« zur Zeit »Fortschalten 1« die Und-Schaltung 111 ein Ausgangssignal erzeugt, das dem Einstelleingang einer bistabilen Kippschaltung 118 zugeführt wird. Das Eins-Ausgangssignal der bistabilen Kippschaltung 118 wird an den Eingang der Oder-Schaltung 119 gelegt und bewirkt, daß Signale zu den Toren SUP, I und C übertragen werden. Ebenso werden die Und-Schaltungen 112 und 113 zur Zeit »Fortschalten 1« durch ihre zugeordneten Kommandoleitungen »ö Wählen« bzw. »U Wählen« betätigt, um die bistabilen Kippschaltungen 120 und 121 einzustellen, wodurch die Oder-Schaltungen 122 und 123 veranlaßt werden, Ausgangssignale zu erzeugen, die die Tore SUQ, 2, D, SUU, 3 und E betätigen. Die Und-Schaltungen 114, 115, 116 und 117 werden zur Zeit »Fortschalten 2« betätigt und stellen die bistabilen Kippschaltungen 124, 125, 126 und 127 ein, wodurch die Tore K, L, M, 7 und SC über Oder-Schaltungen 128 129, 130, 131, 132 betätigt werden. Ein (durch einen Halbkreis gekennzeichnetes) Sperrsignal an der Und-Schaltung 115 veranschaulicht das Sperren eines Ausgangs unter Mikrobefehlssteuerung.
Die bistabilen Kippschaltungen haben nur den Zweck, im Bedarfsfall Tore für längere Zeit als für die Dauer eines Fortschaltsignals wirksam zu machen. Da die meisten Tore in der Recheneinheit 7 nur für die Dauer eines einzigen Fortschaltsignals betätigt werden, können die bistabilen Kippschaltungen entweder übergangen oder einen Taktimpuls nach ihrer Einstellung rückgestellt werden. Die bistabile Kippschaltung 125 veranschaulicht das Rückstellen durch ein Signal auf einer Leitung 403 unter der Steuerung von Mikrobefehlen.
Bis hierher sind nur die Und-Schaltungen beschrieben worden, die Makrobefehlen zugeordnet sind. Fig. 2g zeigt, daß jede der Und-Schaltungen in dem den Mikrokommandos vorbehaltenen Teil der Matrix mit einer einzigen Kommandoleitung und einem einzigen Ausgang des Mikroringes 151 verbunden ist. Durch das Vorhandensein von mehr als einer Und-Schaltung in jeder Spalte wird die Ausführung komplexerer Mikrobefehle über eine Folge von Taktimpulsen hinweg ermöglicht. Zum Beispiel kann ein Mikrobefehl das Erscheinen von Signalen auf zwei Mikrokommandoleitungen bewirken. Eine von ihnen (Block L) kann mit einer Und-Schaltung verbunden sein, die durch den 1-Ausgang des Mikroringes 151
, betätigt wird, und die andere (Γ-Kommando 500) kann mit einer Und-Schaltung verbunden sein, die zur 2-Zeit betätigt wird. Daher sind zwei Taktimpulse nötig, um die Mikrokommandos wirksam zu machen. Ein Taktimpuls CP stoppe den Mikroring 151 nur beim gleichzeitigen Auftreten eines Kommandos »Mikroring 151 stoppen« an der Und-Schaltung 400. Die Kommandoleitung »Mikroring 151 fortschalten« führt gewöhnlich kein Signal, da mehrere Umläufe umfassende Mikrobefehle ungewöhnlich sind (obwohl sie im Rahmen der Erfindung liegen).
Wenn ein Signal auf der Mikrokomrnandoleitung »Setzen in L« vorliegt, sendet die Und-Schaltung 137 ein Ausgangssignal, das die bistabile Kippschaltung 139 in den 1-Zustand bringt und so die Auswahl des
ao Tors L über die Oder-Schaltung 129 bewirkt. Ebenso wählt ein Signal auf der Mikrokommandoleitung M die Und-Schaltung 140 aus, wodurch die bistabile· Kippschaltung 142 in den 1-Zustand gebracht und das Tor M über die Oder-Schaltung 130 wirksam
as gemacht wird. Die Tore L und M werden also durch ein Mikrokommando betätigt, obwohl sie derzeit nicht durch Makrokommandos betätigt werden. Die Mikrokommandoleitung SCTR — 1 (Fortschaltrichtung des statistischen Zählers) betätigt die Und-Schaltung 143, um die bistabile Kippschaltung 144 in den 1-Zustand einzustellen, falls gleichzeitig das Mikrokommando »SCTR fortschalten« (Fortschaltzeit des statistischen Zählers) aufgetreten ist. Wenn der Mikrobefehl »SCTR fortschalten« nicht gleichzeitig aufgetreten ist, wird die bistabile Kippschaltung 144 über die Umkehrstufe 145 riickgestellt, um zu verhindern, daß sie einen Ausgangsimpuls erzeugt. Dies ist erforderlich, da das Fehlen eines Mikrokommandos »SCTR — 1« definiert wird als Mikrokommando »SCTR + 1«. Die Umkehrstufe 145 zerstört alte SCTR — 1-Kommandos, falls zur Zeit des Mikrokommandos »SCTR fortschalten« kein neues SCTR — 1-Kommando auftritt. Das Ausgangssignal der bistabilen Kippschaltung 144 wird an den — 1-Eingang des 5CTi?-Steuerzählers 30 (Fig. 2h) über eine nicht gezeigte Oder-Schaltung gelegt. Auf der Mikrokommandoleitung »SCTR fortschalten« auftretende Signale betätigen die Und-Schaltung 146, um die bistabile Kippschaltung 148 in den 1-Zustand einzustellen, und betätigen das Tor SC über die Oder-Schaltung 132.
Mikrokommandos können auch von Makrokommandos betätigte Tore abschalten, die infolge einer Nichtfortschaltung des Makroringes 149 im wirksamen Zustand »eingefroren« sind. Zum Beispiel veranlaßt der Mikrokommandoblock L die Und-Schaltung 401 zum Erzeugen eines Ausgangssignals zur 1-Zeit des Mikroringes 151, wodurch die bistabile Kippschaltung 402 eingestellt und die Und-Schaltung 115 über einen an Leitung 403 angeschlossenen Sperreingang blockiert werden. Die bistabile Kippschaltung 125 wird durch dieses selbe Signal rückgestellt, wodurch Tor L nicht ausgewählt wird. Sobald der Mikrokommandoblock L endet, nimmt die bistabile Kippschaltung 125 wieder den 1-Zustand ein, um das Tor L auszuwählen.
Das Vorstehende kann wie folgt zusammengefaßt werden: Sobald ein Auslösezustand den Vorrang er-
609 538/328
27 28
hält, wird ein Sperrsignal/ zur Recheneinheit7 ge- für die Ausführung des Befehls bereit zu machen, sendet und verhindert weitere Fortschaltimpulse für Im vorliegenden Beispiel tritt der Auslösezustand, den Makroring 149. Daher bleibt der derzeitige Zu- den das S/4-Feld bezeichnet, zwischen CP 7 und CP 8 stand aller durch Makrokommandos betätigten Tore ein. Der Makrobefehl im Befehlsregister 35 wird von unverändert. Die Mikrokommandos wählen dann 5 Zeit CP 6 ab ausgeführt. Daher sind schon zwei Fortzusätzliche Tore aus oder machen die derzeit aus- schaltsignale aufgetreten, wenn die Auslösenummer gewählten Tore unwirksam. Da Korrekturen durch 21 die Ausführung des Makrobefehls unterbricht Mikrokommandos Rückstelleingänge usw. beein- Während der Unterbrechung der Ausführung des flüssen, beziehen sich die in bezug auf Tore gemach- Makrobefehls werden drei Mikrobefehle zu den ten Aussagen auch auf diese. io Zeiten CP 9, CPlO und CPIl ausgeführt. Jeder dieser Mikrobefehle, die als Beispiele dienen, wird in
Wirkungsweise des im einzelnen beschriebenen Jner ™!f n Taktimpulszeit ausgeführt, obwohl für
Aijqführunsqheisniek ■ die Ausfuhrung anderer Mikrobefehle mehr als eine
Ausiuhrungsbeispieis Taktimpulszeit nötig sein können. Die Ausführung
Die Wirkungsweise der in Fig. 2a bis 2i be- 15 des Makrobefehls wird zur Taktimpulszeit 11 (Fort-
schriebenen erfindungsgemäßen Anordnung wird schalten 3) wieder aufgenommen und wird danach
nachstehend in Verbindung mit Fig. 3, 4 a und 4 b fortgesetzt bis zum Taktimpuls CP 90, vor dessen Zeit
beschrieben. ein Mikrobefehl mit einem Markierungsfeld 10 an-
F i g. 3 zeigt ein Aufbaubeispiel für eine Gruppe getroffen worden ist. Dieses Markierungsfeld bewirkt von drei Mikrobefehlen, die in einem im Befehls- ao die Übertragung eines der Mikrobefehle zum Befehlsregister 35 stehenden zusammengesetzten Befehl ent- zähler 39 als Adresse weiterer Mikrobefehle, die das halten sind. Der Inhalt des zugeordneten Makro- Mikrobefehls-Unteφrogramm fortsetzen, das dem befehls und der anderen Gruppen von Mikrobefehlen Auslösezustand, welcher dieses Unterprogramm einbraucht nicht erklärt zu werden, um die Wirkungs- geleitet hat, zugeordnet ist. Die neue Gruppe von weise der Erfindung zu erläutern. Es sei angenom- 25 Mikrobefehlen wird aus dem Kernspeicher 21 in den men, daß beim Auftreten des veranschaulichten Aus- dieser Gruppe von Mikrobefehlen zugewiesenen Teil lösesignals (SA = 21) gerade ein Makrobefehl aus- des Befehlsregisters 35 übertragen und danach dem geführt wird. Die Wirkungsweise des beschriebenen Mikrobefehlsentschlüsseler 45 durch den Mikro-Ausführungsbeispiels wird an Hand der Unter- befehlswähler 43 normalerweise zugeleitet,
brechung der Ausführung dieses Makrobefehls und 30 Während der Taktimpulse CPl bis CP 5 des Taktder Ausführung eines Unterprogramms von drei gebers 47 werden Signale von entsprechenden AusMikrobefehlen Ομ(ϊ) = N, Ομ(2) = Ν und Ομ(3) gangen des Befehls-Steuersignalgenerators48 abge- = 21) beim Auftreten eines im Auslösefeld SA näher geben, um Operationen auszuführen, die im wesentbezeichneten Auslöseimpulses (21) beschrieben. Das liehen den oben in Zusammenhang mit dem Befehls-Markierungsfeld (TA = 00 ist dem Auslösefeld SA 35 Steuersignalgenerator (Fig. 4a) beschriebenen glei- und den drei Mikrobefehlen O μ (1), Oμ (2) und chen. Zur Zeit CPl bewirkt die Betätigung des Tors Ομ(3) zugeordnet. 72, daß der Inhalt (eine Grundadresse) des Befehls-
Es sei angenommen, daß zunächst das SCTR- Zählers 39 ausgelesen wird. Der Addierer 37 braucht Register auf die Zahl Fünf eingestellt ist und die etwa eine Taktimpulszeit, um die wirksame Adresse ■SCTR-Steuerbegrenzung 151 die Zahl Sieben enthält. 40 des zusammengesetzten Befehls (teilweise in F i g. 3 Der SCri?-Vergleicher 152 vergleicht den Grenz- gezeigt) zu bilden. Zur Taktimpulszeit CP 2 geben wert und die Zahl (erhöhter oder erniedrigter Inhalt die vom Addierer 37 gelieferten Resultate den Speides Registers 103) im SCT-R-Steuerzähler 30. Wenn cherort des zusammengesetzten Befehls im Kernwährend der Ausführung des Makrobefehls der In- speicher 21 an. Zur Taktimpulszeit CP 3 wird das halt des SCTÄ-Registers um Eins (auf Sechs) erhöht 45 Tor 7 7 betätigt, um den zusammengesetzten Befehl worden ist, sendet daher der SCTÄ-Vergleicher 152 (der die oben in Verbindung mit F i g. 3 erläuterte danach die Auslösenummer 21. Da das &4-Feld die Gruppe von Mikrobefehlen enthält) zum Befehls-Nummer 21 angibt (s. Tabelle I), beginnt die Aus- register 35 zu übertragen. Zur Taktimpulszeit CP 4 führung der drei dem SA-Feld zugeordneten Mikro- überträgt das Tor/4 den ganzen Makrobefehl aus befehle beim Auftreten von Nr. 21. Aus Tabellen 50 dem Befehlsregister 35 in den Addierer 37, das Toi ist zu entnehmen, daß die Mikrobefehle die folgen- /3 überträgt die Mikrobefehl-Auslösefelder SA-SE den Korrekturen vornehmen: SCTR — 1, SCTR — 1 zum o-nach-öO-Entschlüsseler 53. Wie schon erläu- und »Setze K«. Da das zugeordnete Markierungsfeld tert, wird jedes der Mikrobefehl-Auslösefelder aus auf 00 steht, endet das Unterprogramm nach dem dem 6-Bit-5-Felder-Code in einen l-aus-60-Code dritten Mikrobefehl. Diese Mikrobefehle sind nur als 55 umgeschlüsselt, um in den Vergleichern 54 bis 58 Beispiele gewählt worden und sind nicht unbedingt mit den sechzig aus der Recheneinheit 7 kommenden die besten, die auf den betreffenden Auslösezustand Auslösesignalen verglichen zu werden. Es sei angeansprechen. nommen, daß zur Taktimpulszeit 4 keine durch Aus-
Fig. 4a und 4b zeigen eine Reihe von Takt- lösefeider dargestellten Auslösesignale aufgetreten
impulsen CPl bis CP 95, die vom Taktgeber 47 ge- 60 sind, so daß alle bistabilen Kippschaltungen 59 bis
liefert werden. Die Wirkung von CPl bis CP12 und 63 auf den Anfangszustand 0 eingestellt bleiben. Zur
CP 90 bis CP 95 auf den Speicher 1 und die Tore der Taktimpulszeit CP 5 überträgt das Tor/6 das Adres-
Makrobefehlseinheit 5 und von CP 6 bis CP13 auf senfeld des Makrobefehls aus dem Addierer 37 zu
die Tore der Recheneinheit 7 werden hier erläutert den P- und ß-Byteformern 22 und 23, das Tor/8
werden. Die ersten fünf Taktimpulse CPl bis CP 5 65 überträgt die Operations- und Markierungsfelder des
veranlassen die Betätigung des Befehls-Steuersignal- Makrobefehls aus dem Addierer 37 zum Ausfüh-
generators 48, um einen zusammengesetzten Befehl längsregister 38, und das Tor 79 überträgt dann das
in das Befehlsregister 35 einzugeben und das System Operationsfeld zum Makrobefehlsentschlüsseler 36.
29 30
Die Tore 7 8 und 19 können entweder zusammen begrenzung 151 wird mit dem Inhalt des Registers
betätigt werden, wie es F i g. 4 a zeigt, oder die Be- 103 nach einer weiteren Erhöhung (Inhalt = 7) im
tätigung des Tors/9 kann verzögert werden, bis der Vergleicher 152 verglichen. Daher wird zwischen den
Inhalt des Ausführungsregisters 38 vom Steuersignal- Taktimpulsen CP 7 und CP 8 ein Auslösesignal 21
generator 46 ausgenutzt werden kann. 5 geliefert. Der Zustand der logischen Einheit 28 und
Nach dem Auftreten des Taktimpulses CP 5 ist die der Schalter 29 (unter anderem) wird durch die Fort-Steuerung des zusammengesetzten Befehls abge- schaltschaltung 200 abgefühlt, um festzustellen, ob schlossen, und das System beginnt nun, den Makro- infolge des Auftretens des nächsten Taktimpulses befehl auszuführen, dessen Operationsfeld in den CP 8 der Makroring 109 zur Fortschalten-3-Stellung Makrobefehlsentschlüsseler 36 eingebracht worden io weiterschalten muß (Eintritt in Zeitzone 3). Während ist. Durch den im Befehlsregister 35 enthaltenen der Betätigung dieser vorstehend beschriebenen Tore Makrobefehl angegebene Makrokommandos er- befindet sich infolge der schrittweisen Fortschaltung scheinen im Steuersignalgenerator 46. des statistischen Zählers die Zahl 7 im SCTR-Zäfoler
Zur Taktimpulszeit CP 6 werden gemäß Fig. 4b 30, die gleich der Zahl 7 in der SCTIR-Steuerbegren-
die Tore A bis F, H, 1, 2, SUP, SUQ und SUU aus- j 5 zung 151 ist. Infolgedessen liefert der SCTR-Steuer-
gewählt infolge des Auftretens eines Fortschalten-1- vergleicher 152 einen Auslöseimpuls 21, bevor der
Ausgangssignals (Eintritt der Zeitzone 1) aus dem statistische Akkumulator eine Fortschalten-3-Anfor-
Makroring 149. Die Signale SUP, SUQ und SUU derung signalisieren kann.
wählen den P-Byteformer 22, den Ö-Byteformer 23 Das Auftreten des Auslösesignals 21, das dem
und die Tabellenentnahmeeinheit 27 in der genann- 20 &4-Feld im Befehlsregister 35 entspricht, bewirkt die
ten Reihenfolge aus. Die P- und Ö-Byteformer haben Erzeugung eines Ausgangssignals durch den Ver-
den Adressenteil des im Befehlsregister 35 stehenden gleicher CFA 54 im Auslöseregister 41, wodurch die
Makrobefehls empfangen und gewinnen nun (wäh- bistabile Kippschaltung TA 59 in den 1-Zustand ein-
rend der folgenden Taktimpulse) Zugriff zum Spei- gestellt wird. Die Vorrangschaltung 42 gibt ein Aus-
cher, um eine Anzahl von Speicherwörtern zu ent- 25 gangssignal auf Leitung SA ab, denn alle anderen
nehmen, aus denen Bytefolgen erzeugt werden. Jedes Ausgänge sind durch Sperreingangssignale an den
von einem Byteformer gelieferte Byte wird in züge- Und-Schaltungen 64, 65, 66, 67 gesperrt. Da die
ordnetes Speicherglied49, 50 bzw. 100 (Fig. 2i) Folgeschaltung44 zu Anfang so eingestellt worden
automatisch eingegeben. Infolge der Betätigung der ist, daß sie ein Signal auf die 7?0-Leitung gibt, ko-
Tore C, D und E wird ein Satz von Bytes von diesen 30 inzidieren RO- und &4-.Signale an der Und-Schaltung
Speichergliedern aus zu den ISC-, ISD- und ISE- 76 im Mikrobefehlswähler 43. Daher wird das TA-
Registern übertragen. Durch die Betätigung des Markierungsfeld (00) zum T^t-Entschlüsseler und
Tors B wird ein Byte aus dem dem Tabellenadressen- -Speicher 101 gesendet, und es erscheint ein Signal
vereiniger 26 zugeordneten Speicherglied in der glei- auf Leitung 00, das der Und-Schaltung 107 zugeführt
chen Weise zur Tabellenentnahmeeinheit 27 weiter- 35 wird. Als Ergebnis des von der Vorrangschalrung 42
geleitet. Die Tore 1 und 2 leiten Bytes aus dem erzeugten SA-Ausgangssignals liefert die Oder-Schal-
P-Byteformer 22 und dem Ö-Byteformer 23 weiter rung 200 ein Sperrsignal 7. Dieses Sperrsignal wird
zum 751-Register bzw. zum 752-Register. Das Tor A allen größeren Einheiten in dem System sowie dem
läßt den eventuellen vorherigen Inhalt des 752-Re- Mikroring 151 zugeführt, der dadurch rückgestellt
gisters (Fig. 2h), der automatisch in das zugeord- 40 wird. Das Auftreten eines Sperrsignals7 an der logi-
nete Speicherglied eingegeben worden ist, durch zu sehen Einheit 38 und an den Schaltern 29 verhindert
den ISLBA-Registern. Die Schalter 29 empfangen das normale Auftreten eines Fortschalten-3-Signals.
Bytes aus den P- und Q-Byteformern 22 und 23 und Der Makroring 149 schaltet nicht weiter, wodurch
der Tabellenentnahmeeinheit 27 ohne Betätigung die Recheneinheit 7 in ihrem gegenwärtigen Zustand
irgendwelcher Tore. Wenn die P- und Ö-Byteformer 45 gehalten und die Ausführung der Makrobefehle
22 und 23 und die Tabellenentnahmeeinheit 27 ihre unterbrochen wird.
Operationen beendet haben, erzeugen sie Signale, Beim Anstieg des Signals CP 8 erzeugt der Mikro-
deren Ergebnis ein Fortschalten-2-Signal ist, welches befehlsentschlüsseler ein Mikrokommandosignal
die Fortschaltschaltung 200 veranlaßt, ein Fortschal- »Folgeschaltung 44 fortschalten«, um diesen Ring
tensignal zur Und-Schaltung 150 zu senden. Beim 50 in die Stellung R1 weiterzuschalten und so die Und-
Auftreten des nächsten Taktimpulses CP 7 schaltet Schaltung 77 auszuwählen, die den Mikrobefehl
der Makroring 149 weiter zum Fortschalten-2-Zu- O μ (1) zum Mikrobefehlsentschlüsseler 45 überträgt,
stand (Eintritt in Zeitzone 2). Die so entstehenden Mikrokommandos werden wäh-
Zur Taktimpulszeit CP 7 sendet der Steuersignal- rend der Taktzeit CP 8 wirksam gemacht.
generator3 die Signale N, 7, 8 und SC. Infolge der 55 Zur Taktimpulszeit CP 8 bleibt der Mikroring 151 Betätigung eines der Tore /, K, L oder M wird ein auf Stufe 1 eingestellt. Da der erste Mikrobefehl 7 ausgewähltes Byte aus den Schaltern 29 in das Spei- »Fortschalten SCTR — 1« lautet, werden den Komcherglied 101 eingebracht. Im vorliegenden Beispiel mandoleitungen SCTR — 1 und 5CT7?-Fortschalten wird jetzt keines der Tore betätigt, und statt dessen Signale durch den Mikrobefehlsentschlüsseler 45 zuempfängt das Speicherglied 101 ein Byte aus der 60 geführt. Bei Koinzidenz von Signalen auf diesen Leilogischen Einheit 28 durch Betätigung des Tors N. tungen und der Leitung »Schritt 1« vom Mikroring Das Speicherglied 102 empfängt den Inhalt des 151 aus erscheinen Signale auf den Ausgangsleitungen SCTÄ-Steuerregisters 103 durch Betätigung des SC und — 1. Das Signal -1 wird dem SCTTt-Steuer-Tors 7. Das Signal SC öffnet das Tor SC, um den zähler 30 zugeleitet, und daher zeigt das Kabel 105 Inhalt 5 des SCTi?-Steuerregisters 103 durch den 65 den um Eins verringerten Inhalt des SCTi?-Registers 5CTi?-Steuerzähler 30 berichtigen zu lassen, der den 103 an, und dieser Betrag 5 wird in das SCTR-Steueigegenwärtigen Inhalt des SCZR-Steuerregisters plus 1 register 103 über das dem Tor SC zugeführte Signal (d. h. 6) enthält. Der Inhalt 7 der SCTR-Steuer- eingebracht. Auf diese Weise wird der Inhalt des
5CTi?-Steuerregisters 103 um Eins verringert. Der Abfall des Taktimpulses CP 8 erfolgt in Verbindung mit einem Mikrokommando »Folgeschaltung 44 fortschalten« aus dem Mikrobefehlsentschlüsseier 45, wodurch der Ring 44 in die Stellung R 2 fortgeschaltet wird. Die Und-Schaltung 78 wird ausgewählt, und daher wird der Mikrobefehl O μ (2) zum Mikrobefehlsentschlüsseler 45 gesendet. Die sich daraus ergebenden Mikrokommandos werden während der nächsten Taktimpulszeit CP 9 ausgeführt.
Zur Taktimpulszeit CP 9 schaltet der Mikroring
151 nicht über Schritt 1 hinaus weiter, da kein Mikrokommando »Mikroring 151 fortschalten« vorliegt. Der Inhalt »SCTR — 1 stoppen« des Mikrobefehls O μ (2) bewirkt das Auftreten der Mikrokommandos »SCTR fortschalten« und »SCTR -1«, und daher sendet der Steuersignalgenerator 46 Ausgangssignale SC und — 1 zum Tor SC und zum — 1-Eingang des SCTÄ-Zählers 30. Infolge der Betätigung des Tors SC wird der Inhalt 5 des SCZIR-Steuerregisters 103, der im SCT-R-Steuerzähler 30 um Eins (auf 4) verringert worden ist, auf den laufenden Stand 4 gebracht. Daher wird der Inhalt des SCTR-Steu&rregisters 103 wieder um Eins verringert. Der Abfall des Taktimpulses CP 9 in Verbindung mit einem Mikrokommando »Folgeschaltung 44 fortschalten« veranlaßt die Fortschaltung der Folgeschaltung 44 in die Stellung R 3, und die Und-Schaltung 19 wird ausgewählt. Der dritte Mikrobefehl O μ (3) wird zum Mikrobefehlsentschlüsseier 45 übertragen, der Mikrokommandos erzeugt, die während des nächsten Taktimpulses CPlO wirksam gemacht werden.
Zur Taktimpulszeit CFlO bleibt der Mikroring
152 in der Stellung Schritt 1, solange der Mikrobefehl Ομ(3) ausgeführt wird, der eine Speicherung aus dem Ausgang der Schalter 29 erfordert. Durch diese Operation wird das aus der logischen Einheit 28 empfangene Byte im Speicherglied 101 in das ISR-Register übertragen, und an seine Stelle tritt ein Byte aus den Schaltern 29. Durch das Mikrokommando »Setze in Verbindung mit einem Schritt-1-Signal wird die Und-Schaltung 133 ausgewählt, die über die Oder-Schaltung 128 das Ύοτ K öffnet und über die Oder-Schaltung 901 das Tor 9 betätigt. Durch das Tor K wird ein Byte aus den Schaltern 29 zum Speicherglied 101 übertragen. Das vorher von der logischen Einheit 28 in das Speicherglied 101 eingegebene Byte wird durch die Betätigung des Tors 9 in das /SR-Register übertragen. Auf diese Weise wird in einer Bytefolge Platz für ein zusätzliches Byte aus den Schaltern 29 geschaffen.
In den Markierungsfeldschaltungen 106 veranlaßt das Auftreten des i?3-Signals aus der Folgeschaltung 44 die Und-Schaltung 107 zum Erzeugen eines Ausgangssignals, das die Und-Sehaltung 68 wirksam macht und dadurch die bistabile Kippschaltung TA 59 rückstellt. Hierdurch wird eine andere bistabile Kippschaltung, wenn irgendeine durch ein Auslösesignal in den 1-Zustand gebracht wird, wirksam gemacht, um von der Vorrangschaltung 42 bedient zu werden. Da es im vorliegenden Beispiel angenommen wird, daß kein anderes Auslösefeld einen Auslösezustand beschreibt, der eingetreten ist, wird die Ausführung des unterbrochenen Makrobefehls wieder aufgenommen. Das wird ermöglicht durch das Fehlen von Ausgangssignalen auf allen Leitungen SA, SB, SC, SD oder SE, wodurch das Sperrsignal / aus der Oder-Schaltung 300 beendet und so der Makroring 149 in den Stand gesetzt wird, in den Fortschalten-3-Zustand (Eintritt in Zeitzone 3) zu Beginn des nächsten Taktimpulses CPIl weiterzuschalten.
Zur Taktimpulszeit CPIl werden die Tore 4, 5 und 10 betätigt, um Bytes zu den ISTP-, ISTQ- und /SS-Registern weiterzuleiten. Das während CPlO' in das /ÄÄ-Register eingegebene Byte wird vom R-Bytsformer 24 verarbeitet. Später eingegebene Bytes werden automatisch verarbeitet, um Folgen von Bytes
ίο in parallele Datenwörter umzuformen, die dann im Speicher gespeichert werden. Dieser Prozeß wird selbständig fortgesetzt. Während CPIl sendet der Ä-Byteformer 24 ein Fortschalten-1-Signal.
Zur Zeit CP12 erfolgt erneut der Eintritt in die Zeitzone 1, und die Verarbeitung des Makrobefehls wird fortgesetzt. Vor dem Taktimpuls CP 90 wird ein Auslösezustand erkannt, der dem betreffenden Auslösefeld einer Gruppe von Mikrobefehlen mit dem Markierungsfeld 10 entspricht. Der dritte Mikro-
ao befehl in der diesem Markierungsfeld zugeordneten Gruppe gibt eine Adresse im Kernspeicher 21 an, wo weitere Mikrobefehle für die Fortsetzung dieses Unterprogramms stehen. Wenn daher die Folgeschaltung 44 zum R 3-Zustand weiterschaltet, erzeugt die Und-Schaltung 109 in der Markierungsfeldschaltung 106 ein Ausgangssignal, das über die Oder-Schaltung 110 das Tor/l zur ZeitCO90 öffnet. Diejenige der Und-Schaltungen 83, 87, 91 und 95, die dem diese Adresse enthaltenden Mikrobefehl zugeordnet ist, wird betätigt, um die Adresse über das Tor/1 zum Befehlszähler 39 zu übertragen.
Zur Taktimpulszeit CP 91 wird das Tor/2 in Verbindung mit dem Tor/12 betätigt, um diese Adresse in das MAR 33 einzuführen. Diese Adresse wird aus dem MAR in den Kernspeicher 21 übertragen und bewirkt, daß eine neue Gruppe von Mikrobefehlen während des nächsten Taktimpulses CP 92 am-MBR 34 zur Verfugung steht.
Zur Taktimpulszeit CP 92 wird der Inhalt des MBR 34 zum Befehlsregister 35 durch die Betätigung des Tors/7 übertragen und tritt an die Stelle der Operationsteile der Mikrobefehlsgruppe und des Markierungsfeldes, das dem Mikrobefehl mit der Markierung 10 zugeordnet ist. Die Ausführung des Mikrobefehls-Unterprogramms wird jetzt während der Unterbrechung des Makrobefehls wie vorher fortgesetzt.

Claims (3)

Patentansprüche:
1. Programmgesteuerte datenverarbeitende Maschine, in welcher, ausgelöst durch bestimmte Zustände der Maschine, die Ausführung der Makrobefehle unterbrochen wird und während dieser Unterbrechungen aus wenigstens einem Mikrobefehl bestehende Unterprogramme ausgeführt werden, dadurch gekennzeichnet, daß dem/den jeweils ein Unterprogramm bildenden Mikrobefehl(en) [μ-Β (1-3)] im Befehlsregister (35) ein Auslösefeld (S) zugeordnet ist, in dem ein dem Unterprogramm zugeordnetes Zeichen gespeichert ist, und daß die Zustände der Maschine, die die Ausführung eines Unterprogramms erfordern, codierte Signale auslösen, die einer Befehlssteuerung (16) zugeführt werden, welche bei Übereinstimmung des codierten Signals mit dem Inhalt eines Auslösefeldes (S) den
Makrobefehl (OP) unterbricht und die Ausführung des/der dem ausgewählten Auslösefeld (S) zugeordneten Mikrobefehls/Mikrobefehle [μ-Β (1-3)] bewirkt.
2. Programmgesteuerte datenverarbeitende Maschine nach Anspruch 1, dadurch gekennzeichnet, daß das Unterprogramm aus einem Korrekturbefehl (z.B. Verschiebung beim Überlauf) besteht.
3. Programmgesteuerte datenverarbeitende Maschine nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Vorrangssteuerung vorgesehen ist, die beim gleichzeitigen Auftreten mehrerer Auslösesignale die Reihenfolge der Ausführung der ihnen zugeordneten Mikrobefehle festlegt.
In Betracht gezogene Druckschriften:
Elektronische Rundschau, 1955, S. 349 bis 353.
Hierzu 1 Blatt Zeichnungen
DEJ22656A 1961-11-16 1962-11-14 Datenverarbeitende Maschine mit Programmunterbrechung Pending DE1212748B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US152730A US3245044A (en) 1961-11-16 1961-11-16 Automatic program suspension system

Publications (1)

Publication Number Publication Date
DE1212748B true DE1212748B (de) 1966-03-17

Family

ID=22544165

Family Applications (1)

Application Number Title Priority Date Filing Date
DEJ22656A Pending DE1212748B (de) 1961-11-16 1962-11-14 Datenverarbeitende Maschine mit Programmunterbrechung

Country Status (3)

Country Link
US (1) US3245044A (de)
DE (1) DE1212748B (de)
GB (1) GB993879A (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
US3368205A (en) * 1965-04-14 1968-02-06 Gen Electric Control apparatus in a data processing system
GB1192371A (en) * 1966-06-02 1970-05-20 Automatic Telephone & Elect Improvements in or relating to Data Processing Devices
US3480917A (en) * 1967-06-01 1969-11-25 Bell Telephone Labor Inc Arrangement for transferring between program sequences in a data processor
US3573736A (en) * 1968-01-15 1971-04-06 Ibm Interruption and interlock arrangement
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines
US4338661A (en) * 1979-05-21 1982-07-06 Motorola, Inc. Conditional branch unit for microprogrammed data processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB803734A (en) * 1955-11-16 1958-10-29 Powers Samas Account Mach Ltd Improvements in or relating to programme apparatus for electronic computing machines
US3015441A (en) * 1957-09-04 1962-01-02 Ibm Indexing system for calculators
US3036773A (en) * 1957-12-26 1962-05-29 Ibm Indirect addressing in an electronic data processing machine
NL236961A (de) * 1958-03-10
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
US3245044A (en) 1966-04-05
GB993879A (de)

Similar Documents

Publication Publication Date Title
DE2417795C2 (de) Datenverarbeitungsanlage
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE2322674A1 (de) Mikroprogramm-steuereinrichtung
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2930441C2 (de) Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2248296A1 (de) Programmsteuereinrichtung
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE1774052B1 (de) Rechner
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE1499206B2 (de) Rechenanlage
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE1909477A1 (de) Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE1474351C3 (de) Datenspeicher
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE1119567B (de) Geraet zur Speicherung von Informationen
DE1285218B (de) Datenverarbeitungsanlage
DE2720842A1 (de) Daten-uebertragungssystem
DE2459476C3 (de)
DE1184122B (de) Addiervorrichtung