DE2719635A1 - Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage - Google Patents

Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage

Info

Publication number
DE2719635A1
DE2719635A1 DE19772719635 DE2719635A DE2719635A1 DE 2719635 A1 DE2719635 A1 DE 2719635A1 DE 19772719635 DE19772719635 DE 19772719635 DE 2719635 A DE2719635 A DE 2719635A DE 2719635 A1 DE2719635 A1 DE 2719635A1
Authority
DE
Germany
Prior art keywords
memory
register
control
address
microword
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.)
Withdrawn
Application number
DE19772719635
Other languages
English (en)
Inventor
Thomas Joseph Dvorak
David James Lowdermilk
James Walter Plant
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 DE2719635A1 publication Critical patent/DE2719635A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Description

Böblingen, 25. April 1977 heb-pi
Anmelderin:
International Business Machines Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen:
Neuanmeldung
Aktenzeichen d. Anmelderin: EN 976 014
Vertreter:
Patentanwalt Dipl.-Ing. H. E. Böhmer 7030 Böblingen
Bezeichnung:
Anordnung für eine Erweiterung einer Mikroprogrammsteuerung einer Datenverarbeitungsanlage
709849/0718
Anordnung für eine Erweiterung einer Mikroprogrammsteuerung einer Datenverarbeitungsanlage
Die Erfindung betrifft eine Anordnung für eine Erweiterung einer Mikroprogrammsteuerung einer Datenverarbeitungsanlage, bei welcher die Anzahl der Steuerfunktionen im Datenfluß eines Prozessors in gleicher Weise erweitert werden kann, wie man dies beispielsweise dadurch erreichen könnte, daß man die Länge der im Steuerspeicher des Prozessors eingespeicherten Mikroworte erhöht, wobei tatsächlich dabei die Länge dieser Mikroworte nicht vergrößert wird.
Stand der Technik, der für die vorliegende Anmeldung von Interesse ist
Die nachstehend aufgeführten Veröffentlichungen stellen für die vorliegende Erfindung brauchbare Hintergrundinformation dar:
1) Die US-Patentschrift 3 391 394, der die Deutsche Patentschrift 1 499 722 entspricht, offenbart eine Mikroprogrammsteuerung für eine Datenverarbeitungsanlage.
2) Ein Aufsatz von D.C. Hitt und andere im IBM Technical Disclosure Bulletin vom August 1968, Seiten 274 und 275 mit dem Titel "Selecitve Chaniging of Data".
3) Die US-Patentschrift 3 544 969 vom 1. Dezember 197Ο, die eine sprachunabhängige Datenverarbeitungsanlage betrifft.
4) Die US-Patentschrift 3 560 933 vom 2. Februar 1971, die eine Mikroprogrammsteuerung betrifft.
5) Die Deutsche Patentanmeldung P 23 36 676 vom 19. Juli 1973, die eine Anordnung für eine Modifizierung von Mikroprogrammbefehlen offenbart.
6) Die US-Patentschrift 3 87 2 447 vom 18. März 1975, die eine Steuerung einer Datenverarbeitungsanlage unter Verwendung von Mikroprogrammierung und einer statisch/dynamischen Erweiterung der Steuerfunktionen über eine festverdrahtete logische Matrix beschreibt.
EN"6014 709949/071(1
7) Die US-Patentschrift 3 942 156 vom 2. März 1976, die eine
indirekte arithmetische Steuerung offenbart. L·) Die US-Patentschrift 3 953 833 vom 12. April 1976, die eine mikroprogrammierbare Datenverarbeitungsanlage beschreibt, bei der ein sekundäres Speicherelement mit Doppelfunktion verwendet wird.
Die vorliegende Erfindung betrifft digitale Datenverarbeitungs anlagen allgemein mit Steuerwerken, die durch in entsprechenden Speichern abgespeicherte Mikroprogramme gesteuert werden, wobei diese Speicher in den Datenverarbeitungsanlagen oder Prozessoren selbst liegen. Derartige Mikroprogramme bestehen aus Mikroworten, die in einer Aufeinanderfolge die verschiedenen Elementaroperationen innerhalb der Datenverarbeitungsanlage oder des Datenprozessors steuern.
Bekanntlich werden ständig Versuche unternommen, das Betriebsverhalten derartiger Prozessoren zu verbessern und die Kosten der Datenverarbeitung zu verringern. Unglücklicherweise sind die zur Lösung dieser Probleme zur Verfügung stehenden Verfahren häufig nicht miteinander verträglich. Im allgemeinen kann die Befehlsverarbeitung in einem Datenprozessor dadurch schneller gemacht werden, daß man weitere festverdrahtete Schaltungen benutzt. Dadurch erhöht sich jedoch der Aufwand. Man sucht daher im allgemeinen nach einem Kompromiß, durch den das Kosten/Leistungsverhältnis des Prozessors verbessert werden kann. ,
Diese Überlegungen sind insbesondere im Falle des Steuerwerkes in einem mikroprogrammierten Datenprozessor anwendbar. Insbesondere kann die Geschwindigkeit, mit der Befehle verarbeitet werden, im allgemeinen dadurch erhöht werden, daß man die j Länge und damit die Anzahl der Bits in den Mikroworten, die das Steuerwerk steuern, erhöht. Das ist darauf zurückzuführen,
EN 976 °14 709849/0718
daß mit einer größeren Anzahl von Bits in jedem Mikrowort eine größere Anzahl von Steuerwirkungen oder Elementaroperationen durchführbar wird. Dadurch wird jedoch der Aufwand beträchtlich heraufgesetzt, da mehr Steuerlsitungen, mehr Eingangs/Ausgangsanschlüsse an integrierte Schaltungen und mehr Steuerschaltungen erforderlich sind, um die erhöhte Anzahl von Steueroperationen darzustellen.
Andererseits läßt sich der Aufwand dadurch verringern, daß man die Bitlänge der Mikroworte herabsetzt. Das hat allerdings normalerweise zur Folge, daß die Verarbeitungsgeschwindigkeit für Befehle sinkt. Je geringer die Anzahl der Bits eines Mikrowortes ist, um so weniger unterschiedliche Elementaroperationen sind möglich. Dies wiederum bedeutet, daß die zur Verfügung stehenden Operationen wesentlich öfter benutzt werden müssen, will man das gleiche Ergebnis erzielen. Mit anderen Worten müssen für das gleiche Ergebnis eine größere Anzahl von Mikroworten und damit eine größere Anzahl von aufeinanderfolgenden Mikrowortzyklen eingesetzt werden. Dadurch wird aber die Geschwindigkeit der Befehlsverarbeitung und damit die Leistungsfähigkeit der Maschine verringert. In der Entwicklung von Datenprozessoren hat man sehr früh erkannt, wie wünschenswert bessere mikroprogrammierte Steuerwerke sind. ;Man hat da die verschiedenartigsten Vorschläge vorgebracht, wie man den dafür erforderlichen Schaltungsaufwand verringern, die Flexibilität der Steueroperationen erhöhen oder insgesamt das Steuerwerk so modifizieren kann, daß die Gasamtverarbeitungszeit für die Makrobefehle der Maschine verringert 'wird. Einige dieser Vorschläge haben sicherlich zu Verbes-,serungen geführt, andere jedoch nicht. Manche erzielen eine erhöhte Geschwindigkeit oder Felxibilität bei erhöhtem Aufwand.
Andere vereinfachen das Steuerwerk in einem Bereich und machen es in einem anderen Bereich nur komplizierter.
EB976014 709849/0718
Line Klasse von Vorschlägen wird durch die US-Patentschriften 3 544 969 und 3 942 156 sowie durch die Deutsche Patentanmeldung P 23 36 676 dargestellt. Durch diese Vorschläge soll die Anzahl voneinander getrennter Mikrowortfolgen oder Mikroroutinsn, uie im Steuerspeicher abgespeichert werden müssen, dadurch herabgesetzt werden, daß man eine oder mehrere sogenannter universeller Mikroroutinen schafft, deren jede in dar Lage ist, eine Anzahl verschiedener Maschinen-Makrobefehle auszuführen. Mit anderen Worten wird für eina Gruppe von Makromaschinenbefehlen, die sich nur geringfügig in Kleinigkeiten unterscheiden eine gemeinsame Mikroroutine vorgesehen. Zusätzliche Schaltungen stellen dann fest, welcher Makrobafehl zu verarbeiten ist und modifizieren dann eines oder mehrere Bits in den Mikroworten, die den geringfügigen Unterschieden zwischen den gruppierten oder zu Gruppen zusammengefaßten Makrobefehlen entsprechen. Diese Vorschläge haben den Vorteil, daß sie den für die gesamte Gruppe von Mikroroutinen erforderlichen Speicherraum verringern, haben jedoch den Nachteil zusätzlichen Schaltungsaufwands, um die, wenn auch geringfügigen unterschiede der Makrobefehle festzustellen. Diese Vorschläge tragen auch nicht zur Erhöhung der Verarbeitungsgeschwindigkeit bei, da die Anzahl der Bits in einem jeden Mikrowort, d.h., die oberste Grenze für die Anzahl voneinander unabhängiger Steueroperationsn die gleiche bleibt.
Dia oben erwähnte US-Patantschrift 3 872 474 beschreibt ein Verfahren, durch das angeblich eine Verringerung der Länge der einzelnen Mikroworte erzielbar ist, ohne daß dadurch die Anzahl der unabhängigen Steueroperationen wesentlich verringert wird. Dies wird durch eine festverdrahtet?? Folgeschaltung erreicht, uie längs eines die Mikroworte gespeichert haltenden SteuerSpeichers angeordnet ist, und durch <iie gleichen Mikrowortadreßbits angesteuert wird, die auch für die Adressierung des Steuerspeichers dienen. Wenn be-
l:n 976 O14 709649/0711
stimmte Mikroworte adressiert v/erden, aann wird die Folgeschaltung betätigt und liefert dann zusätzliche Steuersignale. Das sieht dann so aus, daß die Längs der Mikroworte verringert ist, und üamit die Größe des Steuerspeichers insgesamt, jedoch auf Kosten einer zusätzlichen relativ komplizierten festverdrahtaten Folgaschaltung. Dieses Verfahren ist auch nur von begrenzter Flexibilität, da die von der festverdrahteten Folgeschaltung gelieferten zusätzlichen Steuersignal=1 unmittelbar mit dem jeweiligen adressierten Mikrowort zusammanhängen.
In der oben erwähnten US-Patentschrift 3 953 333 sind bestimmte Schaltungen für eine Beschleunigung der Abrufoperationen für Makrobefehle offenbart, die Teil einer jeden durch den Prozessor durchgeführten Mikroroutine darstallen. Dies ist an sich wünschenswert, doch der dafür erforderliche zusätzliche Schaltungsaufwand ist etwas kompliziert und aufwendig. Noch wichtiger scheint dabei zu sein, daß das dort beschriebene Verfahren sich nur auf das Abrufen und nicht auf die Durchführung von Makrobefehlen bezieht. Die Verbesserung der Leistung ist daher etwas begrenzt.
Die US-Patentschriften 3 391 394 und 3 560 933 sowie das IBM TDB, August 1968, Seiten 274, 275 beschreiben v/eitere Vorschläge zur Modifizierung des üblichen Aufbaus eines niikroprogrammierten Steuerwerkes. Die US-Patentschrift 3 391 394 beschreibt dabei aen Einsatz zusätzlicher Schaltungen für die Modifizierung des in Mikroworten verwendeten Feldes für die nächste Adresse. Im IBM Technical Disclosure Bulletin, August 1968 ist auf den Seiten 274 und 275 eine Anordnung für eine selektive Modifizierung der Bits in Mikroworten angegeben, wenn diese in das Steuerregister eingespeichert werden. Die US-Patentschrift 3 560 933 beschreibt eine Anordnung zum adaptiven Decodieren von Mikroworten, bei welcher zunächst eine erste Gruppe von Bits in einem Mikro-
EN 976 °14 709649/071«
wort dazu benutzt wird, diejenigen elementaren Mikrooperationen auszuwählen, die durch eine zweite Gruppe von Bits in dem Mikrowort gesteuert werden sollen. Diese Vorschläge haben verschiedene Nachteile und Vorteile. Sie sind jedoch von begrenzter Anwendbarkeit und lösen nicht das Problem der Schaffung einer relativ preiswerten Anordnung, die sich in verschiedenen Arten von Prozessoren einsetzen läßt, um deren Preis/Leistungsverhältnis zu verbessern.
Dieser Stand der Technik ist der derzeit dem Anmelder bekannte Stand der Technik.
Zusammenfassung der Erfindung
Die der Erfindung zugrunde liegende Aufgabe, die sich mühelos aus den vorangegangenen Erklärungen ableiten läßt, besteht darin, eine neue und verbesserte Steueranordnung für eine mikroprogrammierte Datenverarbeitungsanlage zu schaffen, die deren Leistung bei nur geringfügiger Erhöhung der Kosten verbessert. Unter verbesserter Leistung soll dabei die schnellere Verarbeitung von Makrobefehlen in einer mikroprogrammierten Datenverarbeitungsanlage verstanden werden. Dies soll durch eine Anordnung zur Erweiterung der Mikrosteuerung erzielt werden, durch die sich bei Verwendung von Mikroworten einer vorgegebenen Länge in einem mikroprogrammierten Datenprozessor eine größere Anzahl unabhängiger Steuerfunktionen erzielen läßt. Dies soll insbesondere erzielt werden, ohne daß dabei die Länge der Mikroworte erhöht wird. Vor allen Dingen soll diese Mikrosteuererweiterung ermöglichen, mit Mikroworten einer gagebenen Länge eine größere Anzahl von Operationen durchzuführen, ohne dabei die Anzahl der Mikrowortzyklen oder Mikroroutinen zu erhöhen. Gleichzeitig soll dai.iit erreicht werden, die Mikroroutinen im Steuerspeicher wirksamer und flexibler abzuspeichern.
EU976Ü14 709849/071»
Zur Lösung dieser der Erfindung zugrundeliegende Aufgabe v/ird in einem mikroprogranimierten Dat»nprozessor für die. Verarbeitung von Makro-Maschinenbefehlen ein erster Speicher für die Abspeicherung von aus mehreren Bits bestehenden Mikroworten vorbsstimmter Länge für eine Steuerung des Datenflusses durch den Prozessor vorgesehen, wobei die Anzahl unterschiedlicher Steuerfunktionen, die durch unterschiedliche Codierung der Mikroworte darstellbar sind, durch die vorbestimmte Länge der Mikroworte begrenzt ist. Weiterhin ist ein zweiter Speicher für die Abspeicherung von aus mehreren Bit bestehenden Betriebssteuerworten oder Modusworten vorgesehen, mit deren Hilfe weitere Steuerfunktionen für den Datenfluß des Prozessors durchführbar sind. Für den zweiten Speicher ist außerdem ein Speicheradreßregister vorgesehen, das so aufgebaut ist, daß es für die zu verarbeitenden Makrobefehle der Maschine für unterschiedliche Operationscodes unterschiedliche Betriebssteuerworte ausliest. Ferner ist der Ausgang dieses zweiten Speichers unmittelbar mit dem Datenfluß des Prozessors gekoppelt und erhöht damit die Anzahl der Steuerfunktionen in gleicher Weise, wie dies beispielsweise durch Vergrößerung der Länge der Mikroworte in dem Primärspeicher erzielt werden könnte.
Für ein besseres Verständnis der Erfindung sei auf die nachfolgende Beschreibung in Verbindung mit den beigefügten
Zeichnungen verwiesen. Die unter Schutz zu stellenden Merkmale der Erfindung ergeben sich aus ebenfalls beigefügten Patentansprüchen.
In den Zeichnungen zeigt:
Fig. 1 ein Ausführungsbeispiel eines erfindungsgemäß aufgebauten Steuerwerks einer Datenverarbeitungsanlage ,
Fign. 2a u. 2b, den uatenfluß einer verbesserten Ausführungsnsbeneinanderform einer bestehenden Datenverarbeitungsan-
laye unter Verwendung des neuen Stauerwerks gemäß Fig. 1,
Fig. 3 ein Ablauffolgediagramm zur Darstellung der
bekannten Formate von Makrobefehlen der Maschine, die durch die Datenverarbeitungsanlage gemäß Fign. 2a und 2b verarbeitet werden können,
Fig. 4 eine vereinfachte Zeittafel zur Erläuterung
der Arbeitsweise der Datenverarbeitungsanlage gemäß Fign. 2a und 2b und
Fig. 5 Einzelheiten eines Teiles der Fig. 2a für die
Steuerung des Einspeichtrvorganges im Speicher-* adreßregister (SAR).
In Fig. 1 ist das Steuerwerk einer Datenverarbeitungsanlage gezeigt, in der die neuartige Steueranordnung gemäß der Erfindung eingesetzt ist. Dieses Steuerwerk enthält zunächst einen ersten Speicher relativ hoher Kapazität, der hier als Steuerspeicher 10 dargestellt ist und der eine große Anzahl unabhängig voneinander adressierbarer Mikroworte gespeichert enthält, die der Steuerung zahlreicher Steuerpunkte und funktionaler Elemente im Datenflußteil des Prozessors dienen. Der Steuerspeicher 10 enthält für jeden der verschiedenen Operationscodes (die manchmal auch als Op-Codes bezeichnet weraen) der Makro-Maschinenbefehle jeweils eine gesonderte : Folge von Mikroworten. Eine erste solche Folge ist in der j Zeichnung als Mikrocode für Befehl A, eine zweite solche Folge als Mikrocode für den Befehl B und sofort bezeichnet. Vorzugsweise enthält jede Folge alle für die Durchführung eines bestimmten Operationscodes eines Makrobefehls erforder-
EH976°14 709849/071«
lichen Mikroworta. Dadurch wird die ilikrocod ever zweigung kleingehalten, wodurch sich die Verarbeitungsgeschwindigkeit für Befehle erhöht. Diese unterschiedlichen Mikrowortfolgen für die verschiedenen Makro-Operationscodes sollen spätar häufig auch als Mikroroutinen bezeichnet werden. Im unteren Teil des Steuerspeichers sind noch verschiedene unterschiedliche Mikroroutinen abgespeichert, wie z.B. Unterbrechungsroutinen, Einfangroutinen und Fehlerprüfroutinen.
Wie man sieht, läßt sich die vorliegende Erfindung vorzugsweise in mikroprogrammierten Datenverarbeitungsanlagen vom Typ IBM System/370 einsetzen. Daher wird es beispielsweise von Zeit zu Zeit hilfreich sein, auf die Erfordernisse der Architektur und der funktionalen Eigenschaften dieser Prozessoren vom IBM System/370 hinzuweisen. Es sei jedoch darauf verwiesen, daß es viel iuehr Anwendungsmöglichkeiten für die vorliegende Erfindung gibt und daß die Bezugnahme auf das IBM System/370 nicht als Beschränkung der Erfindung aufgefaßt werden kann.
Berücksichtigt man dies, so kann man davon ausgehen, daß die Systemarchitektur des Systems/370 einen aus 8-Bit bestehenden Operationscode benutzt, durch den man insgesamt 256 mögliche verschiedene Operationscodewerte erhält. Bisher hat man 166 unterschiedliche Makrobefehle definiert und ihnen
entsprechende Operationscodewerte zugeteilt. Der Steuerspeicher 10 kann daher 166 verschiedene Mikroroutinen zur Durch-
führung von Makrobefehlen zusätzlich zu den verschiedenen internen Mikroroutinen sowie Mirkoroutinen für besondere Aufgaben enthalten. Jede zur Durchführung eines Makrobefehls 'bestimmte Mikroroutine kann in Abhängigkeit von dem betrachteten Operationscode zwischen einem Mikrowort und einhundert ;oder mehr Mikroworte enthalten. Die dafür erforderliche !Steuerspeicherkapazität schwankt dabei von einem Modell des Systems/370 zum nächsten und kann irgendwo zwischen 24 KiIo-
EN 976 014
709849/0711
byte bis 128 Kilobyte oder mehr liegen. In der Systemarchitektur des Systems/370 entspricht ein Byte 8 Bit (plus ein Paritätsprüfbit) .
Das Steuerwerk gemäß Fig. 1 enthält außerdem ein Steuerspeicheradreßregister 11 zum Auslesen der im Steuerspeicher 10 abgespeicherten Mikroworte. Dieses Steuerspeicheradreßregister ist mit einer Inkrementierschaltung 12 verbunden. Für jeden zu verarbeitenden Maschinen-Makrobefehl wird zunächst im Steuerspeicheradreßregister 11 die Speicheradresse des ersten Mikrowortes in der zur Durchführung des Befehls verwendeten Mikroroutine eingesetzt. Dieses Mikrowort wird dann aus dem Steuerspeicher 10 ausgelesen und in das Steuerregister 13 eingegeben. Die im Steuerspeicheradreßregister 11 liegende Adresse wird anschließend durch die Inkrementierschaltung 12 fortgeschrieben und damit gleich der Speicheradresse für das zweite Mikrowort der Mikroroutine gemacht und diese fortgeschriebene Adresse wird dann im Steuerspeicheradreßregister 11 eingespeichert. Nach Beendigung der Elementaroperation für das erste Mikrowort wird das zweite Mikrowort aus dem Steuerspeicher 10 ausgelesen und im Steuerregister 13 eingespeichert und steuert dann eine zweite Gruppe von elementaren Datenflußoperationen. Diese Adreßfortschreibung und das Auslesen aus dem Steuerspeicher wird anschließend für jedes der in der betrachteten Mikroroutine enthaltenen Mikroworte fortgesetzt. Das letzte in einer Mikroroutine enthaltene Mikrowort dient dem Abrufen eines Befehls und bewirkt den Abruf des nächsten Maschinen-Makrobefehls
und stellt diesen für die Durchführung durch die bestimmte ,Mikroroutine bereit.
t
Das Steuerwerk gemäß Fig. 1 enthält außerdem eine Decodier-I schaltung, die hier als Decodierer 14 dargestellt ist und am Ausgang des Steuerregisters 13 angeschlossen ist, das darin liegende Mikrowort decodiert und entsprechende Steuer-
709β49/071β
Signale an die verschiedenen Steuerpunkte und funktionale Elemente in dein üatenflußteil des Prozessors abgibt. Der Datenflußteil des Prozessors ist derjenige Teil, in dem die Daten zur Erzielung des gev/ünschten Ergebnisses manipuliert werden. Der Datenflußteil enthält dabei im allgemeinen eine arithmetische und logische Einheit (ALU), in der die verschiedenen mathematischen und logischen Operation?n durchgeführt werden, sowie verschiedene Register, in denen die zu bearbeitenden Operanden und der Ergebnisoperand zeitweis.-eingespeichert werden. Die arithmetische und logische Einheit und die Operandenregister sind Beispiele funktionaler Elemente. Die Steuerpunkte sind dabei im allgemeinen Steuertorschal tunyen, durch die der Datenfluß über Verbindungsleitungen, die die verschiedenen funktionalen Elemente miteinander verbinden, durchgeschaltet oder gesperrt werden kann. Die Ausgangsleitungen des Decodierers sind mit verschiedenen dieser Steuerpunkte und funktionalen Elemente verbunden und liefern diesen die Steuersignale, die die Steuertorschaltungen entsperren oder sperren, und bewirken, daß die funktionalen Elemente die gewünschten Operationen durchführen.
Die aus dem Steuerspeicher 10 kommenden Mikroworte haben eine codierte Struktur oder ein codiertes Format. Insbesondere ist jedes Mikrowort in verschiedene Steuerfelder unterteilt, wobei jedes dieser Steuerfelder in dem Mikrowort aus einer Gruppe von Bits besteht. Für eine Addieroperation kann beispielsweise ein Steuerfeld dazu benutzt werden, das den er- !sten Operanden enthaltende Register zu kennzeichnen, ein weiteres Steuerfeld mag dazu dienen, das den zweiten Operanden enthaltende Register zu kennzeichnen, und ein drittes j Steuerfeld kann dazu benutzt werden, der ALU die Art der : durchzuführenden Operation, in diesem Fall die Addition, mitzuteilen. Es sei beispielsweise angenommen, daß der erste
! I
'Operand in einem von 16 möglichen Registern liegt. In diesem j Fall würde das den ersten Operanden kennzeichnende Adreß-
EM976Ü'4 709849/0719
feld viar Bits enthalten, die derart codiert v/ären, daß ihr binärer Wert aer Adresse oder Kennzeichnungsziffer des gewünschten Registers entspräche. Der Decodierer 14 hätte dann eine Gruppe von 16 Ausgangsleitungen, die einzeln nach den Stauertorschaltungen führen, die den verschiedenen der 16 Register zugeordnet sind und die Verbindung mit der ALU stDuern. Für einen vorgegebenen Binärwert des aus vier Bit bestehenden Adreßfeldes des Mikrowortes würde eine bestimmte uer 16 Ausgangsleitungen des Decodierers betätigt werden und dan Anschluß des gewünschten Registers an die ALU herstellen. Da das Operandenadreßfeld codiert ist, läßt sich nicht sagen, daß ein vorgegebenes Bit in einem solchen Feld unmittelbar 1:1 einem bestimmten Steuerpunkt im Datenfluß zugeordnet ist. Statt dessen ist es der codierte Wert des Steuerfeldes als Ganzes, der einen bestimmten Steuerpunkt auswählt und der Codierer 14 liefert die notwendige Decodierung und Auswahl des richtigen Steuerpunktes. Die Verwendung von codierten Steuerfeldern hat den Vorzug, daß mit einer gagebenen Anzahl von Mikrowortbits eine große Anzahl von Steuerpunkten ansteuerbar ist. In dem gegebenen Beispiel kann man mit einem codierten 4-Bitadreßfeld insgesamt 16 verschiedene Steuerpunkte ansteuern.
Das Steuerwerk gemäß Fig. 1 enthält außerdem einen zweiten Speicher 15 geringer Kapazität, in dem eine Anzahl getrennt adressierbarer, aus mehreren Bits bestehender Betriebssteuerworte eingespeichert sind. Dieser zweite Speicher oder Betriebssteuerwortspeicher 15 ist vorzugsweise ein als integrierte Schaltung aufgebaute Festwertspeicher. Dieser ßetriebssteuerwortspeicher 15 hat für jeden der verschiedenen Maschinen-Makrobefehls-Operationscode je einen für sich adressierbaren Speicherplatz, der jeweils nur eines der Betriebsstauerworte enthält. Das bedeutet jedoch nicht, daß jedes Betriebssteuerwort ein Bitmuster aufweist, das
709849/0718
sich von allen anderen Betriebssteuerworten unterscheidet. Abhängig von den besonderen Umständen können Betriebssteuerworte für einen oder mehrere unterschiedliche OP-Codes das gleiche Bitmuster aufweisen. Außerdem kann in einigen Fällen das Batriebsstauerwort für einen bestiriimtp.n GP-Code ein Bitmuster aufv/eisen, das aus lauter Nullen besteht.
Ein derartiges aus lauter Nullen bestehendes Bitmustsr stellt den Fall dar, bei dam für den entsprechenden Makrobefshls-OP-Code keine Steuerfunktion durch das Betriebssteuerwort ausgelöst werden soll.
Der Einfachheit halber wird für geringsten Aufwand der Betriebssteutrwortspeicher 15 vorzugsweise durch die OP-Codes der Makrobefehle unmittelbar adressiert. Dies wird dadurch erreicht, daß man das OP-Coderegister 16 unmittelbar an der Adressierschaltung des Speichers 15 anschließt. Während des liefehlsabrufzyklus für einen Makrobefehl wird der Operationscode des zu verarbeitenden Makrobefehels im OP-Coderegister 16 geladen. Wegen dieser direkten Adressierung bedeutet dias, daß für einen 8-Bit-OP-Code im IBM System/370 der Betriebssteuerwortspeicher insgesamt 256 getrennt adressierbare Speicherplätze enthält.
Nachdem der OP-Code in das Register 16 eingespeichert ist, wird das adressierte Betriebssteusrwort aus dem Speicher ausgelesen und in das Betriebssteuerwortregister 17 eingespeichert. Dieses Betriebssteuerwortregister 17 weist eine Anzahl von Ausgangsleitungen auf, die mit weiteren Steuerpunkten des Datenflusses des Prozessors und/oder Funktionalelemten gekoppelt sind und zwar über diejenigen Steuerpunkte, und/oder Funktionalelemente hinaus, die ausschließlich durch die im Steuerspeicher 10 enthaltenden Mikroworte gesteuert werden. Normalerweise weist das Register 17 für jede Bitposi-Ition in dem Betriebssteuerwort eine Ausgangsleitung auf, doch !kann es vorkommen, daß in einem bestimmten Prozessor eine
en 976 014 709849/0718
oder mehrere Bitpositionen nicht benutzt sind, so daß die entsprechenden Ausgangsleitungen des Betriebssteuerwortregisters weggelassen werden können.
uie im Betriebssteuerwortspeicher 15 abgespeicherten Betriebssteuerworte weisen keine codiert^ Teilfeldstruktur auf und jede Ausgangsleitung des Registers 17 ist unmittelbar fest mit ihrem Steuerpunkt verbunden. Mit anderen Worten, es wird für das Ausgangssignal des Registers 17 kein Decodierer benötigt und es gibt eine 1 : 1 Zuordnung zwischen den Bitpositionen im Betriebssteuerwort und den Steuerpunkten im Datenflußteil des Prozessors.
Der Betriebssteuerwortspeicher 15 und das Register 17 liefern zusätzlich zu den durch die Mikroworte im Steuerspeicher 10 erzielbaren Steueroperationen oder Steuerfunktionen zusätzliche Steuerfunktionen. Dies wird ohne Erhöhung der Anzahl der zur Durchführung eines bestimmten Befehls erforderlichen Mikroworte und Mikrowortzyklen erreicht. Dies ist deshalb der Fall, weil die Steuerwortbit-Steuersignale aus dem Register während des Abrufens eines Befehls aufgerufen werden, während die gesamten, für die Durchführung des Befehls verwendeten Mikrowortzyklen zur Verfügung stehen. Tatsächlich trifft hier das Gegenteil der Erhöhung der Anzahl von Mikroworten zu. Für diejenigen OP-Codes, die diese Modusbits benutzen, werden die durch die Modusbits geschaffenen zusätzlichen Steuerfunktionen in dem meisten Fällen dazu verwendet, die Anzahl der zur Durchführung dieser Operationscodes erforderlichen Mikroworte und Mikrowortzyklen herabzusetzen. Somit ist also durch den Betriebssteuerwortspeicher 15 und das Register 17 eine Möglichkeit eröffnet, die Befehlsverarbeitungsgeschwindigkeit für eine große Anzahl von Maschinen-Makrobefehlen zu erhöhen.
EN 976 014
709849/0718
uas Steuerwerk gemäß Fig. 1 enthält außerdem einen weiteren Speicher 10 kleiner Kapazität, in dem eine Anzahl von Startadressen für verschiedene Folgen von im StGunrsp°ichcr 10 eingespeicherten Mikroworten abgespeichert sind. Dieser Speicher 18 ist vorzugsweise ebenfalls sin als int^-grirrt^ Schaltung aufgebauter Festwertspeicher. Dieser Startadressenspeicher 18 weist für jeden der verschiedenen Maschinen-Ilakrobefahls-Operationscodes öinen unabhängig adressiertaren Spcichsrplatz auf und wird vorzugsweise unmittelbar durch das üptrationscoderegister 16 mit dam operationscoue das Makrobefehls angesteuert. Iiu Falle eines im Systeia/370 verwendeten, aus 8 bit bestehenden Operationscodes würde der Startadreßspeicher 18 256 adrossierbare Mehrbit-Speichsrplätze enthalten. Die in jedem Speicherplatz in dem Speicher 18 enthaltene /Adresse ist dabei die Steuerspeicheradresse des ersten Mikrowortes einer Mikroroutine für die Durchführung desjenigen Operationscodes, der diesen Speicherplatz im Speicher 18 ansteuert. Der Speicherinhalt des durch den im Register 16 liegenden Operationscode in Speicher 18 angesteuerten Speicherplatzes wird während des bcfehlsaufrufzyklus für denjenigen OP-Code, der die Adressierung bewirkt, in das Register 19 eingespeichert. Gegen das Ende des Befehlsaufrufzyklus wird die im Register 19 liegende Adresse in das Speicheradreßregister 11 überführt und liefert damit die: Startadresse für die gewünschte iiikroroutine.
Die Verwendung eines Startadressenspeichers 18 ergibt einen !zusätzlichen Grad von Flexibilität, der dazu dienen kann, eine Verschwendung von Speicherplatz im Steuerspeicher 10 'zu verhindern. Wie bereits erwähnt, enthalten die Mikroroutinen für verschiedene Makro-OP-Codes unterschiedliche Anzahlen von Mikroworten. Einzelne Mikroroutinen enthalten nur wenige Mikroworte, während andere Mikroroutinen eine große Anzahl von Mikroworten enthalten. Zur Vereinfachung
976 °14 709649/071 β
- ve -
a?r ansteuerung odor Adressierung des Steuerspeichers ist ε.3 bei vi2lc.n Prozessoren üblich, die Startadresse einer iiikroroutin^. dadurch zu bilden, ciaß man die OP-Codebits zv/angswi.isf; in uiä Positionen höherer Ordnung im Speicheradreßrsgist^r einspeichert. Geht man so vor, dann beträgt der Abstand u=r einzelnen Startadrassen der Mikroroutinan voneinander einen festen batrag freiwählbarer Länge, der keinerlei faezishung zur Anzahl dar Iiikroworte aufweist, die in diesem festen Zwischenraum abgespeichert werden müssen. Dieser Zwischenraum i/süß dabai groß genug sein, daß diejenige Mikroroutine, aie die grüßte Anzahl von Mikroworten aufv/eist, darin untergebracht werden kann. D. h. jedoch, daß für kurze !likroroutinsn in dsm feststehenden Intervall unbenutzter Speicherplatz verbleibt. Dies ist selbstverständlich ein? Verschwendung von Speicherplatz. Die Verwendung des Startadressenspeichers 18 überwindet dieses Problem. Damit wird es möglich, di3 Startadrfissen genau mit dem Abstand voneinander sinzuspeichern, der der Anzahl der Mikroworte in den entsprechenden Mikroroutinen entspricht, so aaß im Steuerspeicher 10 nur wenig, wenn überhaupt Speicherplatz verschwendet ist.
Wie in Fig. 1 angedeutet, gibt es drei Arten von Adressen, dsren jede, falls erforderlich, im Steuerspeicheradreßregister 12 eingespeichert werden kann. Eine davon ist die durch den Speicher 18 gelieferte Mikroroutine-Startadresse. Eine weitere ist die von der Inkrenientierschaltung 12 gelieferte Folgeadresse. Diese Quelle für die nächstfolgende Adresse wird dazu benutzt, um im Verlauf einer gegebenen Mikroroutine von einem Mikrowort zum nächsten fortzuschreiten. Die dritte mögliche adresse ist eine Verzweigungsadrasse, die dann in das Steuerspeicheradreßregister eingespeichert werden kann, wenn im Steuerregister 13 ein eine Verzweigung kennzeichnendes Mikrowort eingespeichert ist. Ein eine Verzweigung bezeichnendes I4ikrov/ort bewirkt, daß der Decodierer 14 das
LN 976 Ο14
709849/0711
27Ί9635
Auftreten eines bestimmten Status oder oin".r Bedingung in d^re Prozessor überwacht. Wrnn ?in nolcher Status oder eine solch*" Csdinguny vorhanden ist, dann wird die V^rzwoigunrjaadrcns1* in das Adreßregister 11 eingesetzt, so daß dann ein anderes als tias nächstfolgende Mikrowort als nächstes Mikrowort in das Ste.uerrc:gi3tar 13 2ingv;si/i.ich.-rt v/ird. Diese Verzweigung kann nach ein^m anderen iiikrowort der gleichen Mikroroutin= oder in manchen Fällen nach iiner dar verschiedenen Hikroroutinan führen.
fc'ign. 2a und 2b, wtnn sie mit Fig. 2a links und Fig. 2b rechts nebeneinander gelegt v/erden, zeigen, wis uas neue Steu^rw<?rk gemäß Fig. 1 in einem verbesserten Ausführungsbeispiel 3in?r bestehenden hiikroprogrammierten Datenverarbeitungsanlage, eingesetzt werden kann. Der hierfür gewählte Prozessor ist di* Zentraleinheit des ILM System/37O Modell 135. Zur Lrleichtetung des Vergleichs werden in die Fign. 2a und 2b für die Taile des Steuerwerkes, die der Fig. 1 entsprechen, die gleichen Bezugszaichen verwendet, wie in Fig. 1. Das soll jedoch nicht bedeuten, daß die Erfindung auf diejenigen Steuerelemente beschränkt ist, die den Forderungen des Prozessors des Modells 135 entsprechen.
Wegen des großen Umfangs der über das Model 135 zur Verfügung stehenden Information soll die nachfolgende Beschreibung der bei einem solchen Prozessor verwendeten üblichen Tsile ziemlich kurzgehalten werden. Für weitere Informationen über Einzelheiten und Teile des Modells 135 sei auf folgende Veröffentlichungen der Firma IBM verwiesen: "IBM System/370 Modell 135 Functional Characteristics", Order-Nr. GA33-3OO5, sechste Ausgabe August 1974, "A Guide to the IBM System/370 Modell 135", Order-Nr. GC2O-1738, sechste Ausgabe vom Januar 1974 und "3135 Processing Unit Theory and Maintenance Manual", Order-Nr. SY33-OO32, sechste Ausgabe vom März 1975.
LN 976014 709849/0711
BAD ORIGINAL
Line genaue Beschreibung der Systemarchitektur vom System/ 370 nit den allgemeinen Arbeitsprinzipien ist in folgender Veröffentlichung d&r IbM zu finden: "IBM System/370 Principles of Operation", Order-Mr. GA22-7OOO, vierte Ausgabe Januar 1973. Diese Veröffentlichungen sind überall bei aer IBM erhältlich.
Fign. 2a und 2b zeigen den Datenfluß für einen verbesserten Prozessor des Modells 135. Eine der Verbesserungen besteht, wie bereits gezeigt, darin, daß das im Zusammenhang mit Fig. 1 beschriebene neue Steuerwerk benutzt wird. Weitere Verbesserungen, auf die im Laufe der Beschreibung noch hingewiesen wird, ergeben sich tatsächlich aus dem Einsatz des verbesserten Steuerwerks. Mit anderen Worten zeigen Fign. 2a und 2b v/eitere Verbesserungen, die in einen bereits bestehenden Prozessor des Modells 135 eingebaut werden können, da der Betri&bssteuerwortspeicher 15 und das Betriebssteuerwortregister 17 zusätzliche Steuermöglichkeiten schaffen, mit deren hilfe diese anderen Verbesserungen angesteuert werden können.
Die in Fign. 2a und 2b, die zusammengefaßt als Fig. 2 bezeichnet werden sollen, dargestellten Verbesserungen betreffen einen Primärspeicher 20 mit einem Hauptspeicher 20a und einem Steuerspeicher 20b. Beide Speicher werden durch ein gemeinsames Speicheradreßregister (SAR) 21 angesteuert. Der Prozessor der Fig. 2 enthält ferner eine arithmetische und logische Einheit (ALU) 22 zur Durchführung der üblichen arithmetischen und logischen Operationen mit Operanden, die im P-Register 23 und im Q-Register 24 liegen und die den beiden Eingängen der ALU 22 zugeführt werden. Das Ergebnis der arithmetischen oder logischen Operation wird dann in das S-Register 25 eingespeichert. Falls gewünscht, können die im P-Register 23 oder im Q-Register 24 liegenden Daten
LH 97G 014
7098 49/07 1 θ
ohne Veränderung durch ALU λ2 hindurchgeleitet und an das S-Register 25 abgegeben werden.
Der in Fig. 2 gezeigte Prozessor enthält ferner einen Arbeitsspeicher 26 mit einem /urbeitsspeicheradreßregister (WSAR) 27 und einem HilfsSpeicher 28, der über ein Hilfsspeicher-Adreßregister (ZvSAR) 29 adressierbar ist. Der Arbeitsspeiche.r 26 ist in 64 adressierbare Ilalbwortregister (2 Byte oder 16 Bit) unterteilt, aie vom dem Mikrocode bei der Durchführung verschiedener interner Operationen im Prozessor benutzt werden. Der hilfsspeicher 28 ist ebenfalls in 64 adressierbare HaIbwortspeicher unterteilt, doch werden, im Gegensatz zum Arbeitsspeicher 26, die Hehrzahl der Register des HilfsSpeichers für durch das flakroprogramm vorgeschriebene Zwecke benutzt, d.h. durch den Programmierer, der das Makroprogramm geschrieben hat. Die Register des Hilfsspeichers 28 sind zu Gruppen zusammengefaßt, die 16 Vollwort-Allzweckregister, 8 Vollwort-Gleitkommaregister und ö Vollwort-Arbeitsregister für den Prozessor umfassen.
Die Breite des Datenflusses in Fig. 2 ist 16 Bit oder 2 Byte.
Die Gesamtbreite der Datensammelleitungen ist in Wirklichkeit 18 Bit, da für jedes 8-Bit-Byte der Daten je ein Paritätsprüfbit vorgesehen ist, doch werden für eine vereinfachte Darstellung die Paritätsprüfbits nicht beachtet. '
'
Während der Durchführung eines Kundenprogramms oder eines Makroprogramms werden Daten aus dem Hauptspeicher 20a ausge- | lesen und in ein Ausgabe-Speicherdatenregister (SDR) 30 ein- j gegeben. Diesem Speicherdatenregister 30 werden die Daten ' dann, jeweils 2 Bytes, entnommen und dem Arbeitsspeicher 26 über eine Datensammelleitung 31 oder dem Hilfsspeicher 28 über 2 Byte Datensammelleitungen 31 und 32 zugeführt. Nachdem die richtigen Daten in dem Arbeitsspeicher 26 und/oder
709849/0718
dem Hilfsspeicher 23 eingespeichert sind, können sie durch die ALU 22 verarbeitet werden. Beispielsweise wird ein erster Operand aus dein hilfsspeicher 28 ausgelesen und in das Q-Register 24 eingespeichert, und ain zweiter Operand kann aus dem Arbeitsspeicher 26 ausgelesen und in das P-Register 23 singegeben werden. Die ALU 22 kann dann mit den beiden Operanden dia gewünschte arithmetische oder logische Operation durchführen und uas Ergebnis dieser Operation in das S-Register 25 eingeben. Das Ergebnis wird anschließend über eine 2 Byte-Datenleitung 23 an den Arbeitsspeicher 26 zurück übertragen, üas Ergebnis kann dann vom Arbeitsspeicher wieder über eine 2-Byte-üatenleitung 34 und ein Eingabespeicheraatenragister (SDR) 35 nach dem Hauptspeicher 20a zurück übertragen werden.
Ist die Länge der zu bearbeitenden Operanden größer als 2 Byta, dann wird das soeben beschriebene Verfahren in Schritten zu je 2 Byte fortgesetzt, bis die gewünschte Operation für die gesamte Länge des Operanden durchgeführt ist. So werdan beispielsweise die Operanden vom Ausgabe-Speicherdatenregistsr 3O jeweils mit 2 Byte an den Arbeitsspeicher 26 und den Hilfsspeicher 23 abgegeben. Die arithmetische oder logische Operation wird dann jeweils an 2 Byte durchgeführt, wobei jeweils 2 Byte des Resultats, sobald dieses zur Verfügung steht, in den Arbeitsspeicher 26 geladen werden. Nach Beendigung dar arithmetischen oder logischen Operation wird das Gesamtergebnis, jeweils mit 2 Byte, dem Eingabe-Speicherdatenregister 35 zugeleitet.
Vom außen kommende Daten werden dem in Fig. 2 gezeigten Prozessor über Eingabe/Ausgabe-(E/A)-Geräte 36 zugeleitet, die mit dem Prozessor über E/A-Kanäle 37 und eine Eingabedatenleitung 38 verbunden sind, die nach dem Arbeitsspeicher 26 führt. Umgekehrt werden Daten vom Prozessor an die E/AGeräte 36 über eine Ausgabeleitung 39 und E/A-Kanäle 37 ab-
EN 976 Ο14
7098ΑΘ/071Ι
gegeben, wobei die Ausgabeleitung 39 durch den /msgang des Arbeitsspeichers 26 angesteuert wird. Alle Datenübertragungen zwischen peripheren E/A-Geräten 36 und dem Prozessor laufen damit über den Arbeitsspeicher 26.
L»ie bisher besprochenen Funktionen und üatenleitungen 20 bis 39 sind in dem derzeit vorhandenen Prozessor des Modells 135 enthalten. Zu diesem Zeitpunkt erscheint es angebracht, kurz eine Reihe von Verbesserungen zu betrachten, die durch die zusätzlichen Steuerfunktionen des Betriebssteuerwortspeichers 15 ermöglicht werden. Dies betrifft zunächst einmal die Datensammelleitung 32, die zur Datenübertragung zwischen Hauptspeicher 20a und Hilfsspeicher 28 eingesetzt ist. Diese Datenleitung 32 steht derzeit im Modell 135 zur Verfügung. Wagen der durch die Länge der ilikroworte im Modell 135 beschränkten Steuermöglichkeit wird diese Datensammelleitung 32 jedoch nicht benutzt. Hit anderen Worten, im Modell 135 werden Daten nicht dem Hauptspeicher 20a entnommen und unmittelbar im HilfsSpeicher eingespeichert. Diese Daten werden stattdessen im Arbeitsspeicher 26 eingespeichert. Während eines nächstfolgenden Mikrowortzyklus wexden die Daten dann vom Arbeitsspeicher 26 über die ALU 22 und die Datenleitung 23 im HilfsSpeicher 28 eingespeichert. In dem nun zu beschreibenden Prozessor ist diese Beschränkung v/eggefallen, und die Daten können nunmehr unmittelbar vom Hauptspeicher 20a über die Datenleitung 32 in den Hilfsspeicher 28 überführt werden.
ι
Jedes der kleinen Kreissymbole, wie das Kreissymbol 40 in der Datenleitung 32, stellt eine Gruppe von Steuertorschaltungen dar, über die der Datenfluß längs der zugeordneten Datenlei-•tung freigegeben oder gesperrt werden kann. Jede Torschaljtungsgruppe enthält für jede in der Datensammelleitung bej findliche Einzelleitung eine Torschaltung. Diese Torschal-ιtungen werden gemeinsam in der Weise gesteuert, daß die Daitensammelleitung insgesamt freigegeben oder gesperrt wird.
EN 976 °14 709840/0718
Man sieht beispielsweise, daß die Steuertorschaltungen 40 für die Datensanunelleitung 32 durch das Modusbit 7 (MB7) gesteuert werden, das auf der Ausgangsleitung 7 des Steuerwortregisters 17 auftritt. Ein weiteres neues Merkmal besteht in einer zusätzlichen zwei Byte breiten Datensammelleitung 41, über die im Hilfsspeicher 28 liegende Daten unmittelbar in den Hauptspeicher 20a überführt werden können. Diese zusätzliche Datansamraelleitung wird durch die Steuertorschaltungen 42 freigegeben oder gesperrt, die wiederum durch das vom Betriebssteuerwortregister 17 kommende Modusbit 8 (MB8) gesteuert werden. In den heute existierenden Prozessoren des Modells 135 können Daten nicht unmittelbar vom Hilfsspeicher 28 nach dem Hauptspeicher 20a übertragen werden. Sie müssen vielmehr zunächst in den Arbeitsspeicher 26 überführt und von dort dann an den Hauptspeicher 20a übertragen werden.
Man erkennt sofort, daß sich diese zusätzlichen vorteilhaften Merkmale erst mit den zusätzlichen Steuerfunktionen erzielen lassen, durch die die Anzahl der Mikroworte herabgesetzt wird, die zur Bewegung von Daten vom Hilfsspeicher 28 nach dem Hauptspeicher 20a oder umgekehrt erforderlich sind.
Bevor das Steuerwerk im einzelnen betrachtet wird, kann es nützlich sein, das Format der Makrobefehle gemäß Fig. 3 und das vereinfachte Zeitdiagramm von Fig. 4 zu betrachten. Fig. 3 zeigt einige der Maschinenmakrobefehlsformate der Prozessoren des IBM System/370. Wie dort angedeutet, kann die Länge eines Makrobefehls zwischen einem und drei Halbworten schwanken, wobei ein Halblwort gleich 2 Byte oder 16 Bit ist. Das RR-Format ist das sogenannte Register-Registerformat, bei dem die beiden miteinander zu verknüpfenden Operanden entweder in den Allzweckregistern oder in den Gleitkommaregistern (innerhalb der Hilfsspeichers 28) in den mit R1 und R2 bezeichneten Feldern liegen. Die mit RX und RS bezeichneten
EKS?6014 70984970711
Makrobefehle sind Registerspeicherbefehl«s, bei denen ein Operand im Allzweckregister oder Gleitkommaregister (Hilfsspeicher 28) und der andere Operand im Hauptspeicher, in diesem Fall in Hauptspeicher 20a liegt.
Der Makrobefehl SS ist ein sogenannter Speicher-Speicherbefehl, bei dem beide Operanden im Hauptspeicher, in diesem Fall im Hauptspeicher 20a, liegen.
Es muß in diesem Zusammenhang darauf hingewiesen werden, daß unabhängig von der Art des Makrobefehls die acht höchstwertigen Bits immer den Operationscode darstellen, der die durchzuführende Makrooperation bestimmt. Der Operationscode kennzeichnet die verschiedenen Makrooperationen v/ie Addieren, Subtrahieren, UND-Verknüpfung, ODER-Verknüpfung, Vergleich, Laden, Speichern, übertragen, Verschieben nach links, Verschieben nach rechts, bedingte Verzweigung usw. Für einige dieser allgemeinen Operationen kann es unterschiedliche Operationscodewerte geben, die sich auf die unterschiedlichen i zu benutzenden Formate beziehen. Es gibt beispielsweise einen RR-Addier-OP-Code, einen RX-Addier-OP-Code und einen SS-AddieriOP-Code.
'Das durch die Datenverarbeitungsanlage zu verarbeitende Kun-Idenprogramm besteht aus Maschinen-Makrobefehlen und den durch !diese Makrobefehle zu bearbeitenden Daten. Zunächst werden diese Makrobefehle und Daten dem Prozessor über ein E/A-Gerät 36 zugeführt und zunächst im Hauptspeicher 20a (über den Arbeitsspeicher 26) eingespeichert. Danach werden die gewünschten Operationen in der Weise durchgeführt, daß die Makrobefehle einzelnen nacheinander aus dem Hauptspeicher 20a ausgelesen werden. Dieses Auslesen eines Makrobefehls heißt Befehlsabruf und wird in einem sogenannten Befehlsabrufzyklus oder I-Zyklus durchgeführt.
EN 976 °14 70984970718
- 34-
Dia Durchführuny eines jeden Makrobefehls wird durch eine Folge aus einem oder mehreren Mikrov.-orten gesteuert, die im Stauerspeicher 20b abgespeichert sind und die nacheinander aus dem Steuerspsicher ausgelesen und in das Steuerregister 13 eingespeichert werden. Eine typische Ablauffolge ist in einem vereinfachten Zeitdiagramm in Fig. 4 gezeigt. Wie dort angegeben, besteht die Mikroroutine für den Makrobefehl N aus drai aufeinanderfolgenden Mikroworten, wobei das letzte Mirkowort dem Abruf des nächsten Hakrobefehls h + 1 dient. Ein gegebenes Hikrowort wird in das Steuerregister 13 eingegeben und steuert den Decodierer 14. Das in diesem Mikrowort enthaltene Bitmustar bestimmt, welche der Ausgangsleitungen des Decodierers aktiviert werden. Für ein vorgegebenes Bitmuster eines Mikrowortes wird eine vorgegebene Gruppe von Ausgangsleitungan des Decodierers betätigt. Dabei werden jedoch nicht alle Ausgangsleitungan der ausgewählten Gruppe zur gleichen Zeit betätigt. Stattdessen werden einzelne dieser Ausgangsleitungen während verschiedener TaktimpulsintervalIe T1, T2, T3, usw. betätigt. Diese Taktimpulsintervalle werden durch einen Taktimpulsgenerator geliefert, der die Taktimpulse T1, T2, T3, usw. über getrennte Taktimpulslaitungen in zeitlicher Aufeinanderfolge an den Decodierer 14 abgibt. Somit steuert also jedes Mikrowort die Durchführung einer Reihe von Elementaroperationen, die während der verschiedenen Taktimpulsintervalle 'i'1, T2, T3, usw. durchgeführt werden. Während eines gegebenen Taktimpulsintervalls können normalerweise zwei, drei oder mehr einander nicht gegenseitig störende Elementaroperationen durchgeführt werden. Die für das Auftreten einer vollständigen Folge von Taktimpulsen T1, T2, ...TZ für ein einziges Mikrowort erforderliche Zeit wird als Mikrowortzyklus bezeichnet. Jeder Mikrowortzyklus besteht daher aus einer Folge von Taktimpusintervallen.
Die dsm Decodierer 14 zugeführten Statussignale stammen von verschiedenen Punkten im Datenfluß und werden hauptsächlich
LN 976 °14 7n4ft£A/n71l
bei Mikroworten mit bedingter Verzweigung eingesetzt. Wenn ein derartiges Verzweigungs-ilikrowort im Steuerregister 13 liegt und die durch dieses Verzweigungsv;ort abgefragte Statussignalleitung das Auftreten einer bestimmten Bedingung anzeigt, dann bewirkt der Decodierer 14, daß der Prozessor als das nächste Mikrowort ein außerhalb der Folge liegendes Mikrowort ausv/ählt.
Für die Erläuterung sollen das Steuerregister 13, der Decodierer 14 und der Taktimpulsgenerator 43 in Fig. 2, wenn nichts anderes angegeben ist, von gleichartigem Aufbau und gleichartiger Arbeitsweise sein, wie das Steuerregister, der Decodierer und dar Taktimpulsgenerator im Prozessor des Modells 135. Dabei wird insbesondere angenommen, daß jedes in das Steuerregister 13 eingespeicherte Mikrowort eine Länge von 16 Bit aufweist, wie dies auch beim Modell 135 der Fall ist.
Wie bereits in Fig. 4 angedeutet ist das letzte Mikrowort in einer Mikroroutine ein Lsfehlsabrufmikrowort zum Abrufen des nächsten Makrobefehls. Somit wird während der Verarbeitung des Makrobefehls N - 1 schließlich das letzte Mikrowort in der Mikroroutine erreicht, das zum Abrufen eines Befehls dient. Dieses Befehlsabruf-Mikrowort bewirkt, daß die Speicheradresse des nächsten Makrobefehls N in das Speicheradreßregister (SAR) 21 eingestellt wird. Diese Speicheradresse wird von einem Register im Arbeitsspeicher 26 erhalten, welches als Makrobefehlsadreßzähler dient, und über die Datenleitungen und 44 an das SAR 21 abgegeben.
Das erste Halbwort des Makrobefehls N wird dann aus dem Hauptspeicher 20a ausgelesen und nach dem SDR 30 übertragen. Dieses erste Halbwort wird dann in ein Befehlsregister im Arbeitsspeicher 26 eingespeichert, und der Makrobefehlsadreßzähler
j im Arbeitsspeicher 26 wird um zwei Zählstellen fortgeschaltet
(der Speicher 20 ist byteadressierbar, und ein Halbwort ent-
EN976 °14 709849/0718
hält zwei Byte). Dieses erste Halbwort des Makrobefehls wird außerdem in ein besonderes/ zwei Byte breites Register 45 eingespeichert.
Wenn der in dem ersten halbwort des Makrobefehls enthaltene Operationscode anzeigt, daß eine Makrooperation Register-Register durchgeführt werden soll, dann bewirkt das Befehlsabruf -Mikrowort, daß der durch das R2-Feld des Makrobefehls bestimmte Inhalt des Allzweckregisters vom Hilfsspeicher 28 nach einem vorbestimmten Register im Arbeitsspeicher 26 übertragen wird.
Wenn andererseits aer Operationscode anzeigt, daß der Makrobefehl ein Nicht-RR-Befehl ist, dann wird in diesem Fall das Befehlsabruf-Mikrowort bewirken, daß das zweite Halbwort des Makrobefehls abgerufen wird. Insbesondere wird dabei die Adresse des zweiten Halbwortes vom Makrobefehls-Adreßzähler im Arbeitsspeicher 26 erhalten und im SAR 21 eingespeichert. Das zweite Kalbwort wird dann ausgelesen und in das Speicherdatenregister 30 eingesetzt. Wie in Fig. 3 angedeutet, enthält dieses zweite Halbwort Daten, aus denen die Hauptspeicheradresse eines Operanden bestimmt werden kann. Insbesondere enthält dieses zweite Halbwort ein ein Basisregister kennzeichnendes Feld B und ein Adressenverschiebungsfeld D. Das Befehlsabrufmikrowort bewirkt, daß die effektive Hauptspeicheradresse (B + D) dadurch gebildet wird, daß das Verschiebungsfeld D zum Inhalt des angegebenen Basisregisters B hinzu addiert wird. Die sich daraus ergebende Hauptspeicheradresse wird in einem vorher zugeordneten Paar von Registern im Arbeitsspeicher 26 abgespeichert, welche als Operandenadreßzähler dienen. Außerdem wird der Zählerstand im Makro-Ibefehlsadreßzähler im Arbeitsspeicher 26 wiederum um 2 erhöht.
EN 976 °14 709849/07Ϊ«
Handelt es sich um einen Makrobefehl für eine übertragung von Speicher nach Speicher, dann wird während des Befehlsabrufzyklus (I-Abrufzyklus) das dritte Halbwort nicht abgerufen. Es wird vielmehr als einleitender Schritt in der Ausführungsphase eines solchen Speicher-Speicher-Makrobefehls abgerufen und abgearbeitet. Gegen das Ende des I-Abrufzyklus bewirkt das I-Abrufmikrowort, daß die Startadresse der Mikroroutine. für den Makrobefehl N in das Speicheradreßregister 21 eingesetzt wird. Diese Startadresse wird vom Startadreßspeicher
18 erhalten. Die richtige Startadresse wird durch den im Operationscodafeld im Register 45 eingespeicherten Operationscode ermittelt. Während eines früheren Teils des I-Z^brufzyklus wird die ausgewählte Anfangsadresse in das Register
19 eingespeichert. Dann wird zu einem geeigneten Zeitpunkt gegen Lnde des I-Abrufzyklus (TX in Fig. 4) diese Adresse in das SAR 21 eingespeichert und adressiert damit den Speicher 20. Der adressierte Speicherplatz liegt in diesem Fallrim Steuerspeicher 20b. Das so adressierte Anfangsmikrowort wird dann ausgelesen und in das Speicherdatenregister 30 eingegeben. Als letzter Schritt im I-Abrufmikrowortzylus wird das Startmikrowort in das Steuerregister 13 eingespeichert, das mit der Ausführung der Mikroroutine für den Makrobefehl N beginnt.
Wie man aus Fig. 4 erkennt, wird während der letzten Schritte in jedem Mikrowort der Mikroroutine des Makrobefehls N das nächste Mikrowort abgerufen. Wenn daher keine Verzweigung vorliegt, dann schreitet die Mikroroutine bis zu ihrem Ende von einem Mikrowort zum nächsten fort.
Zu diesem Zeitpunkt sollte darauf hingewiesen werden, woher die Speicheradresse für das nächste Mikrowort erhalten wird. Zu Beginn eines Mikrowortes liegt die Speicheradresse für dieses Mikrowort im SAR 21. Während der Abarbeitung eines
EN976014 709849/0718
llikrov/ortas kann es jedoch notwendig sein, Datan im Hauptspeicher 20a abzuspeichern oder Daten aus dem Hauptspeicher 2üa zu entneluuen. Zu diesem Zweck muß dann im Speicheradreßreyistar eins Lauptspaicharadresse eingesetzt werden. Wenn aali3.r der Zeitpunkt kommt, zu dem das nächste Mikrowort adressiert weraen muß, dann kann as sein, aaß die Adressa des laufenden riikrowortes nicht langer im Speicharadraßregistar 21 liegt.
c Schwierigkeit wird dadurch beseitigt, daß ein Pufferadrsßrcgistar (UAR) 46 verwendet wird, das längs des SAR 21 angeordnet wird und tatsächlich als ein Mikrowortadreßzähler wirkt. Wenn also eina tlikrowortadresse zunächst im SAR 21 eingespeichert wird, dann wird sie außerdem über Steuertorschaltungen 47 in das BAR 46 eingespeichert. Die Steuertorschaltungen 47 werden dann gesperrt und wenn das Mikrowort aus cic-m Speicher ausgelesen und in das Steuerregistar 13 eingespeichert worden ist, dann kann SAR 21 ungehindert Hauptspeicher adressen aufnehmen. Am Ende des Mikrowortss wird dip nächste Mikrowortadresse dadurch erhalten, daß man die Adresse im BAR 46 mit Hilfe dar Inkrementierschaltung 48 um 1 erhöht und die so um 1 erhöhte Adresse über die Gruppen von Steuertorschaltungan 49 und 50 in das SAR 21 überführt. Zu diesem Zeitpunkt wird die fortgeschriebene Adresse außerdem über Steuertorschaltungen 47 in das BAR 46 eingespeichert und dieser Vorgang kann bis zum Ende des laufenden Mikrowortes fortge· setzt werden.
Gsmäß einem weiteren verbesserten Merkmal des in Fig. 2 dar- ' gestellten Prozessors kann die Fortschreibung manchesmal verhindert und die gleiche Mikrowortadresse wieder an das SAR 21 abgegeben werden. Dies wird dadurch erreicht, daß die Steuartorschaltungen 49 gesperrt gehalten werden und daß man stattdessen die Steuertorschaltungen 51 entsperrt und damit \
EN 976 014
709849/0718
die gleiche Mikrowortadresse wiederum an das SAR 21 zurückführt. Einfach ausgedrückt heißt dies, daß ein gegebenes Mikrowort automatisch wiederholt werden kann. Wo dies angebracht ist, kann ein solches Mikrowort mehrmals hintereinander wiederholt werden. Dies wird noch im einzelnen besprochen.
Dia Adreßschaltung für den Hauptspeicher 20 enthält außerdem ein Zwangsadreßregister (FAR) 52, das parallel zu BAR 46 und Inkrementierschaltung 48 liegt. Mit dem FAR 52 ist eine automatische Wiederholung eines aus mehreren Mikroworten bestehenden Abschnittes einer gegebenen Mikroroutine möglich. Dies= automatische Wiederholung mehrerer Mikroworte stellt ein weiteres verbessertes Merkmal des in Fig. 2 gezeigten Prozessors dar und soll im einzelnen noch näher betrachtet werdf-.n. Kurz gesagt, wird beim Auftreten nines bestimmten Mikrowortes in einer gegebenen Mikroroutine die Speicheradresse für dieses Mikrowort über die Steuartorschaltungen 53 in das FAR 52 eingespeichert. Diese bestimmte Mikrowortadresse bleibt dann im FAR 52 eingespeichert, während die nächsten 2, 3 oder mehr folgenden Mikroworta verarbeit3t werden. Am Ende eines vorbestimmten folgenden ilikrowortes v/ird dann diess im F/^R 52 liegende Adresse über die Steuertorschaltungen 54 in das SAR 21 eingegeben und legt damit die nächste Mikrowortadross'i fast.
Da diese FAR-Adresse in Wirklichkeit die Adresse einrs früheren Mikrowortes ist, wird dadurch die Wiederholung der dazwischenliegenden Folge von Mikroworten bewirkt. Mit dem FAR 52 kann man eine automatische Wiederholung einer Unterroutine in einer gegebenen Mikroroutine durchführen.
Es sei nunmehr der Betriebssteuerwortspeicher 15 und die durch dessen Einsatz geschaffene Möglichkeit weiterer Steuerfunktiontn näher betrachtet, und es sei beispielsweise angenommen, daß jedes Betriebssteuerwort im Speicher 15 eine Länge von
EN 976 °14 709849/0718
27Ί9635 - ys -
16 Bit aufweist. Das Betriebssteuerwortregister 17 soll demnach aus 16 Bitstufen bestehen und 16 Ausgangsleitungen für Hodusbits aufweisen. Wie bereits angedeutet, hat jedes im Steuerspeicher 20 liegende Mikrowort eine Länge von 16 Bit. üiase Übereinstimmung zwischen der Länge eines Betriebssteuerwortes und der Länge eines Mikrowortes ist rein zufällig und hat keine eigene Bedeutung. Das Betriebssteuerwort könnte genausogut länger oder kürzer sein als das Mikrowort, je nachdem v/as in dem bestimmten Prozessor für Bedürfnisse vorhanden sind.
Die Ausgangsleitungen des Betriebssteuerregisters 17 verlaufen nach verschiedenen über die ganze Datenflußanlage in Fig. 2 verstreuten Steuerpunkten. Für eine vereinfachte Darstellung und für ein besseres Verständnis sind diese Leitungen nicht in den Zeichnungen vollständig dargestellt. Von diesen Leitungen ist vielmehr nur Anfang und Ende gezeigt, d.h. die Punkte, an denen sie mit dem Datenfluß in Verbindung stehen. Diese Enden sind jeweils mit MBO, MB1, MB2 usw. bezeichnet, wobei MB ein Modusbit und die Ziffer die fortlaufende Nummer des Modusbits bezeichnet. Beispielsweise bezeichnet MB8 das Modusbit 8, das auf der Ausgangsleitung Kr. 8 des Steuerwortregisters 17 auftritt. Ferner sei darauf hingewiesen, daß die Datenflußanschlüsse für einige der Hodusbits in der Zeichnung nicht dargestellt sind und daß diese Modusbits nur allgemein behandelt werden sollen. Es ist die Absicht, nur eine begrenzte Anzahl besonders wichtiger dieser Modusbits zu beschreiben.
Eine ähnliche Art der Beschreibung wird für die Ausgangsleitungen des Decodierers 14 benutzt. Die Buchstaben DB werden zusammen mit einer Ziffer zur Kennzeichnung desjenigen Punktes benutzt, an dem eine bestimmte Decodiererausgangsleitung im Datenfluß angeschlossen ist, wobei DB ein Decodierbit bezeichnet. Die in Verbindung mit der DB-Kennzeichnung be-
EN 976 014
709849/0718
nutzten Zahlen sollen dabei in keiner Beziehung zu de Zahlen stehen, die im Prozessor des Modells 135 benutzt werden können. Diese werden nur dazu verwendet, um darzulegen, daß verschiedene Ausgangsleitungen des Decodierers an verschiedenen Steuerpunkten angeschlossen sind. Es sei ferner darauf hingewiesen, daß an einigen als kleine Kreiso dargestellten Symbolen in Fig. 2 keine Bezeichnungen angebracht sind, die den Ursprung der diese Torschaltungen steuarnden Steuersignale angibt. In solchen Fällen soll dies bedeuten, daß eine derartige, nicht näher bezeichnete Steuertorschaltung durch eine der Ausgangsleitungen des Decodierers 14 angesteuert wird. Ferner sei darauf verwiesen, daß die Ausgangsleitungen 55, 56 und 57 des Decodierers 14 aus mehreren Leitungen bestehende Sammelleitungen und nicht Einzelleitungen sind. Die Ausgangsleitung 55 des Decodierers 14 liefert die Adressbits an das WSAR 27, die Ausgangssarnmelleitung 56 liefert die Steuerbits an die ALU 22 und die AusgangsSammelleitung 57 liefert die Adreßbits an das ASAR 29.
Jedes Betriebssteuerwort im Speicher 15 besteht aus 16 Bit und jedes dieser IlodusLits kann eine zusätzliche Gteuerfunktion in dem in Fig. 2 gezeigten Prozessor durchführen. Wenn ein bestimmtes Modusbit auftritt, dann wird die entsprechende Steuerfunktion durchgeführt, während dann, wenn disses Modusbit nicht vorhanden ist, tlie entsprechende Steuerfunktion nicht durchgeführt wird. In der folgenden Tabelle sind 16 verschiedene Modusbits und die Art ihrer Verwendung in dem in Fig. 2 dargestellten verbesserten Prozessor angeg2ben:
FN 97fl υ14
709S4 9/071B
5?
νί -
ilodusbit 1
MBO 2
MB1 3
MB2 4
MB 3 5
Mb 4
MB 5
MB6
MB 7
MB 8
MB 9
MB10
MB1
MB1
MB1
MB1
MB1
Funktion
Laden Register
Laden/Speichern Mehrfach
Übertragung
Einstellen Bedingungscode 0-1-2 Einstellen Bedingungscode 0-1-2-3 Sperren der Fortschreibung Mikrowort (BAR) Wiederholung (Wiederholung eines Teils der Mikroroutine)
Schreiben vom Hauptspeicher nach Hilfsspeicher Schreiben vom Hilfsspeicher nach Hauptspeicher Schreiben Byte (Schreiben aus den beiden Byte im Arbeitsspeicher nach Hauptspeicher) Benutzen des Gleitkommaregisters Lesen des HilfsSpeichers bei Adressierung durch das R2-Feld im Register 45
überprüfen des R2-FeIdes im Register 45 für Gleitkommaspezifikation
Prüfen des R1-Feldes im Register 45 für Gleitkommaspezifikation
Schreiben von Daten nach Hilfsspeicher mit Adressierung durch das RI-FeId des Registers 45 Sperren der übertragung des höherwertigen Byte nach dem Hilfsspeicher
Um die Beschreibung abzukürzen, werden einige dieser Modusbits und Funktionen nicht besprochen werden.
Das zunächst betrachtete Modusbit 7 wird der Steuerpunktlogik zugeleitet, wodurch die Steuerung der Steuertorschaltungen freigegeben wird, so daß vom Hauptspeicher 20a kommende Daten über die Datensammelleitung 32 in den Hilfsspeicher eingespeichert werden können. Ist MB7 vorhanden, dann werden die Steuertorschaltungen 4O aufgetastet und lassen die Daten
EN 976 O14
709849/0718
3<f 2719535
nach dem Hilfsspeicher 28 durch. Gleichzeitig sperrt MB7 die Steuertorschaltungen 61 und verhindert damit, daß die Daten in den Arbeitsspeicher 26 überführt werden. Dies ist deshalb erforderlich, weil die Taktgabe für die Steuertorschaltungen 40 aus dem gleichen Mikrowortformat abgeleitet wird, wie für die Schreiboperation von Hauptspeicher nach Arbeitsspeicher. Diese Taktgabe wird durch das Decodierbit DB 22 gesteuert, das zu dem Zeitpunkt des für eine Datenübertragung von Hauptspeicher nach Arbeitsspeicher verwendeten Mikrowortes auftritt, zu dem die Daten in den Arbeitsspeicher eingeschrieben werden sollen. Mit anderen Worten wird die im Modell 135 bestehende Mikrowortstruktur dazu benutzt, entweder einen neuen Schreibvorgang nach dem Hilfsspeicher 28 oder den bereits vorhandenen Schreibvorgang nach dem Arbeitsspeicher 26 durchzuführen. Wenn das Modusbit 7 auftritt, verläuft der Schreibvorgang nach dem Hilfsspeicher 28 und wenn das Modusbit 7 nicht vorhanden ist, verläuft der Schreibvorgang nach dem Arbeitsspeicher 26. Da das Modusbit 7 während der gesamten Dauer der Mikroroutine vorhanden ist, liefert das Decodierbit 22 das exakte Taktimpulsintervall, während dem der Schreibvorgang abläuft.
Die Verwendung des Modusbit 7 spart mindestens einen Mikrowortzyklus ein. Früher war es erforderlich, während eines Mikrowortzyklus einen Schreibvorgang vom Hauptspeicher zum Arbeitsspeicher und dann in einem zweiten Mikrowortzyklus einen Schreibvorgang vom Arbeitsspeicher zum Hilfsspeicher durchzuführen. Die Daten konnten früher nicht unmittelbar vom Hauptspeicher in den Hilfsspeicher überführt werden. Unter anderem ist das Modusbit 7 auch in Verbindung mit dem Makrobefehlen RX-Laden (L) und RS-Mehrfachladen (LM) brauchbar. Im letztgenannten Fall werden zusammen mit dem Modusbit 7 noch die Modusbits 1 und 5 benutzt. Auch in diesem Fall wird bei jedem Register, das geladen wird, ein Mikrowort eingespart .
EN 976 °14 7099Λ9/0718
271ΠΠ3Γ.
- 34 -
Das Modusbit 8 ergibt eine ähnliche Arbeitsweise für die Datenübertragung in Gegenrichtung, nämlich vom Hilfsspeicher 28 zum Hauptspeicher 20a. Zu diesem Zweck wird MB8 der Steuerpunktlogik 62 zugeführt und steuert damit die in der Datenübertragungsleitung 41 zwischen dem neuen Hilfsspeicher und dem Hauptspeicher liegenden Steuertorschaltungen. Tritt ein Mikrowort für Arbeitsspeicher nach Hauptspeicher auf und ist MB8 vorhanden, dann werden die bereits vorhandenen zwischen Arbeitsspeicher und Hauptspeicher liegenden Steuertorschaltungen 63 gesperrt, und die erneut hinzugekommenen zwischen Hilfsspeicher und Hauptspeicher liegenden Steuertorschaltungen werden aufgetastet, so daß die im Hilfsspeicher liegenden Daten unmittelbar in den Hauptspeicher 20a eingeschrieben werden können. Wenn das Modusbit 8 nicht vorhanden ist, sind die Torschaltungen 42 gesperrt und die Torschaltungen 63 betätigt, so daß die Daten wie bisher vom Arbeitsspeicher 26 nach dem Hauptspeicher 20a übertragen werden können.
Unter anderem ist das Modusbit 8 auch in Verbindung mit den Makrobefehlen RX-Speichern (ST) und RS-Mehrfachspeichern (STM) brauchbar. Im letztgenannten Fall werden zusammen mit dem Modusbit 8 die Modusbits 1 und 5 verwendet. Die Verwendung des Modusbit 8 spart mindestens einen Mikrozyklus für jedes gespeicherte Register ein.
Das Modusbit 0 dient dazu, bestimmte Makrobefehle zum Laden eines Registers, wie z.B. RR-Laden (LR) und RX-Laden-Adresse (LA), zu beschleunigen. Die Verwendung des Modusbit O macht es insbesondere möglich, daß das Laden des Registers während des I-Abrufzyklus selbst durchgeführt werden kann. Für den Lade (LR)-Befehl besteht die durchzuführende Operation beispielsweise in der Übertragung des durch das R2-Feld des Makrobefehls gekennzeichneten Inhalts des Allzweckregister nach dem durch das RI-FeId gekennzeichneten Allzweckregister.
EN 976 °14 709849/0718
-Civile bereits angedeutet bewirkt das I-Abrufmikrowort automatisch, daß der Inhalt des R2-Registers an den Arbeitsspeicher 26 abgegeben wird. Dies wird dadurch erreicht/ daß der R2-0perand aus dem Hilfsspeicher 28 ausgelesen, im Q-Register
24 eingespeichert, durch die ALU 22 hindurchgeleitet und in das S-Register 25 eingestellt und über die Datenleitung 33 nach dem Arbeitsspeicher überführt wird. Es gibt damit ein Zeitintervall, während dessen der R2-0perand im S-Register
25 liegt. Ist das Modusbit 0 vorhanden, dann wird während eines solchen Intervalls der R2-0perand außerdem in das durch R1 bezeichnete Register im Hilfsspeicher 28 über die Datenleitung 33 und Steuertorschaltungen 67 eingegeben. Mit anderen Worten wird der R2-0perand, wenn er durch das I-Abrufmikrowort in den Arbeitsspeicher 26 überführt wird, außerdem in den R1-Speicherplatz im Hilfsspeicher 28 eingeschrieben, wenn das Modusbit 0 vorhanden ist. Zu diesem Zweck wird MBO der Steuerpunktlogik 64 zugeleitet, die die Steuertorschaltungen 65 freigibt, so daß das RI-FeId im Register 45 die R1 -Adresse an das ASAR 29 abgeben kann. In Verbindung hiermit wird MBO außerdem an die Steuerpunktlogik 66 abgegeben und entsperrt damit die Steuertorschaltungen 67 und ermöglicht damit das gewünschte Einschreiben im Hilfsspeicher 28. Diese Elementaroperationen werden durch die Decodierbits 5 und 6 taktmäßig gesteuert, die während des I-Abrufzyklus auftreten. Somit ist das einzige für RR-Laden (LR)-Mikroroutine erforderliche Mikrowort das I-Abrufmikrowort, das für den Abruf des nächstfolgenden Makrobefehls benötigt wird.
Das Modusbit 1 wird in Verbindung mit den Makrobefehlen RS-Mehrfachspeichern (STM) und Mehrfachladen (LM) benutzt und entsperrt den R1-Abschnitt des Registers 45, das als Zähler für diejenigen Register dient, die geladen worden sind, und entsperrt außerdem den Ri-Teil, der an das ASAR 29 die Adresse des zu ladenden Allzweckregisters überträgt. Dies wird zum Teil dadurch erreicht, daß das Signal MB1 der Steuerpunkt-
EN976OU 709849/071«
logik 68 zugeleitet wird, die die Steuertorschaltung 69 steuert. Dadurch kann das RI-FeId im Register 45 durch eine Inkrement/Dekrementstufe 70 jedesmal dann fortgeschrieben werden, wenn eines der Mehrfachregister geladen wird. Das Signal MB1 wird außerdem der Steuerpunktlogik 64 zugeleitet und steuert damit die Steuertorschaltung 65, damit der Inhalt des R1-Feldes im Register 45 für eine Adressierung des bestimmten der mehrfachen zu ladenden Register an das ASAR 29 übertragen werden kann.
Die Ri/R2-Statuslogik 71 spricht auf das R1- und R2-Feld im Register 45 an und liefert auf verschiedenen Ausgangsleitungen Statussignale, die das Auftreten der Bedingungen R1 und R2, einzeln und auch in bezug aufeinander anzeigen. Unter anderem erzeugt die Statuslogik 71 auf einer ihrer Ausgangsleitungen (Ausgangsleitung 84) ein unverwechselbares Statussignal dann, wenn der Wert von R1 auf einen Wert größer als R2 erhöht wird. Auf diese Weise erfährt der Prozessor, daß das letzte der Mehrfachregister geladen worden ist. Die Verwendung dieses Statussignals wird anschließend in Verbindung mit einer Beschreibung des verbesserten Betriebsverhaltens des in Fig. 2 gezeigten Prozessors bei Makrobefehlen für Mehrfachspeichern und Mehrfachladen beschrieben.
Das Modusbit 2 wird in Verbindung mit bestimmten SS-Makrobefehlen benutzt und entsperrt die R1- und R2-Abschnitte des Registers 45, die in Kombination als singulärer Längszähler benutzt werden. Wie dies in dem SS-Format in Fig. 3 gezeigt ist, wird die ganze zu bearbeitende Folge von Daten (ausgedrückt in der Anzahl von Bytes) während des I-Abrufzyklus in den R1-R2-Teil des Registers 45 eingegeben. Anschließend werden aufeinanderfolgende Abschnitte der Daten bearbeitet, während gleichzeitig der R1-R2-Längszähler durch die Inkrement/Dekrementstufe 70 solange vermindert wird, bis die Statuslogik 71 auf einer ihrer Ausgangsleitungen (Ausgangs-
EN 976°14 709849/0718
leitung 91) ein Signal erzeugt, das dem Prozessor anzeigt, daß der letzte Abschnitt der Daten verarbeitet worden ist. Zur Durchführung dieser Zählfunktion wird das Modusbit 2 der Steuerpunktlogik 72 zugeleitet, die die Steuertorschaltungen 73 bei der Dekrementierung des R2-Feldes steuern. Das Ausgangssignal der Steuerpunktlogik 72 wird außerdem einem ODER-Glied 74 in der Steuerpunktlogik 68 zugeleitet und entsperrt die R1-Steuertorschaltungen 69, die damit gleichzeitig mit den R2-Steuertorschaltungen 73 arbeiten.
Das Modusbit 4 dient zur Freigabe eines automatischen, festverdrahteten, vierwertigen Bedingungscodes (O-1-2-3). Zu diesem Zweck wird MB4 Steuertorschaltungen 75 zugeleitet, die zwischen einem Codierer 76 für einen Bedingungscode und einem Bedingungscoderegister 77 liegen. Der Codierer 76 ist über Statusleitungen mit der ALU 22 verbunden, die für das am Ausgang der ALU 22 auftretende Resultat folgende Bedingungen anzeigen: Ergebnis 0, Ergebnis negativ, Ergebnis positiv und überlauf. Das Auftreten dieser unterschiedlichen Bedingungen bewirkt die Betätigung entsprechender, nach dem Codierer 76 verlaufenden Statusleitungen. Der Codierer 76 codiert die auf den vier Statusleitungen auftretenden Werte in einem 2-Bit-Bedingungscode, der bei Auftreten des Modusbit 4 in das 2-Bit-Bedingungscoderegister 77 eingegeben wird. Dieses Bedingungscoderegister ist Teil des Prozessors des Modells 135. Bisher wurde die Einstellung des Bedingungscoderegisters durch die Verwendung eines entsprechenden, in den Mikroroutinen für diejenigen Makrobefehle enthaltenen Mikrowortes erzielt, die eine Einstellung eines Bedingungscodes fördern. Dieses Verfahren wird bei einigen Makrobefehlen in dem in Fig. 2 gezeigten Prozessor immer noch verwendet. Für andere Makrobefehle wird jedoch dadurch Zeit eingespart, daß man das Modusbit 4 dazu benutzt, den Codierer 76 unmittelbar zur Einstellung des Bedingungscodes zu entsperren. Diese Einstellung wird während des I-Abrufmikro-
EN 976
709849/0718
wortzyklus vorgenommen, der am Ende der Mikroroutine für den Makrobefehl auftritt/ der dieses Merkmal verwendet.
Das Modusbit 11 wird zum Freigeben des R2-Feldes im Register 45 verwendet, das Adressenbits an das ASAR 29 abgibt. Dies wird dadurch erreicht, daß man MB11 der Steuerpunktlogik 78 zuleitet, die die Steuertorschaltungen 79 betätigt. In etwas ähnlicher Form wird das Modusbit 14 zur Freigabe des R1-Feldes im Register 45 zur Abgabe von Adreßbits an das ASAR 29 verwendet. Dies wird dadurch erzielt, daß MB14 der Steuerpunktlogik 64 für die Steuertorschaltungen 65 zugeführt wird. MB14 wird außerdem der Steuerpunktlogik 66 für die Steuertorschaltungen 67 zugeleitet und bewirkt damit, daß Daten in das Register im Hilfsspeicher 48 eingespeichert werden, welches durch das RI-FeId im Register 45 adressiert wird.
Die Modusbits 5 und 6 dienen der Steuerung einer besonderen Mikrowortadressierung, die dem Speicheradreßregister 21 zugeordnet ist. Insbesondere ist das Modusbit der Steuerung einer Sperrschaltung zugeordnet, die die Fortschreibung in der Inkrementierschaltung 48 verhindert, so daß ein gegebenes Mikrowort mehrmals wiederholt werden kann. Das Modusbit 6 dient andererseits der Steuerung der Wiederholung einer Subroutine und sperrt dabei nicht nur die Inkrementierwirkung sondern substituiert die im FAR 52 liegende Adresse für die normalerweise an das SAR 21 übertragene, inkrementierte Mikrowortadresse. Die Verwendung dieser beiden Modusbits ist am besten aus Fig. 5 zu erkennen, in der die zur Steuerung der Steuertorschaltungsgruppen 49, 51 und 54 in Fig. 2 veirwendete Schaltung in größerer Einzelheit dargestellt ist.
Gemäß Fig. 5 wird die nächste Mikrowortadresse gewöhnlich dadurch erhalten, daß man die in BAR 46 liegende derzeitige
m'976°14 709849/0710
- }fS -
Mikrowortadresse nimmt, in der Inkrementierschaltung 48 fortschreibt und die so fortgeschriebene Adresse über die Steuertorschaltungen 49 und 50 an das Speicheradreßregister SAR 21 abgibt. Diese normale Fortschreibung wird durch das Modusbit 5 gesperrt/ das stattdessen bewirkt, daß die derzeitige, im BAR 46 liegende Mikrowortadresse ohne Modifikation über die Steuertorschaltungen 50 und 51 an das SAR 21 abgegeben wird. Das bewirkt, daß das nächste Mikrowort eine Wiederholung des derzeitigen Mikroworts wird. Dieses Wiederholung wird dadurch erreicht, daß das Modusbit 5 über die UND-Glieder 8O und 81 den Steuertorschaltungen 51 zugeleitet wird und diese betätigt, wenn das Modusbit 5 vorhanden ist. Das Ausgangssignal des UND-Gliedes 80 wird gleichzeitig über das Negationsglied 82 und das UND-Glied 83 dann, wenn das Modusbit 5 vorhanden ist, zur Freigabe der Steuertorschaltungen 49 eingekoppelt. Die im BAR 46 liegende Adresse des derzeitigen Mikrowortes wird dann wieder dem SAR 21 zugeleitet, wenn der Decodierer 14 gegen Ende des laufenden Mikrowortzyklus die Steuertorschaltungen 50 entsperrt. Diese Wiederholung des gleichen Mikrowortes wird in dem in Fig. dargestellten Prozessor für die Makrobefehle Mehrfachspeichern (STM) und Mehrfachladen (LM) verwendet. Diese Wiederholung wird solange fortgesetzt, bis die R1/R2-Statuslogik 71 ein Signal (R1 größer R2) erzeugt, das anzeigt, daß das letzte der Mehrfachregister geladen ist. Dieses von der Statuslogik 71 kommende Signal wird über die Leitung 84 und das Negationsglied 85 dem UND-Glied zugeleitet und sperrt dieses, 'wenn bei Auftreten der Bedingung R1 größer R2 auf der Leitung 84 ein Signal auftritt. Das sperrt wiederum die der Umleitung dienenden Steuertorschaltungen 51 und betätigt die Inkrementier-Steuertorschaltungen 49, so daß das System aus diesem Wiederholungsmodus ausbrechen kann.
Das Modusbit 6 steuert die Wiederholung von mehreren aufeinanderfolgenden Mikroworten, wodurch ein aus mehreren Mikro-
EN 976 °14 709849/0718
worten bestehender Unterabschnitt einer Mikroroutine oder eines Mikroprogramms auf Wunsch beliebig oft wiederholt werden kann. Dieses Merkmal wird in Verbindung mit bestimmten Speicher-nach-Speicher-Makrobefehlen benutzt, bei denen die zu bearbeitenden und zu übertragenden Operanden bis zu 256 Byte lang sein können. Dieser Wiederholungsvorgang wird dadurch erzielt, daß man das Modusbit 6 und ein üecodierbit als Hauptspeicherschreibsignal auf der Decodierausgangsleitung 86 an ein UND-Glied 87 abgibt. Ist das Modusbit 6 vorhanden, dann bewirkt aas Auftreten des Hauptspeicher-Schreibsignals, daß eine Verriegelungsschaltung 88 eingestellt wird. Dadurch werden die Steuertorschaltungen 54 für FAR 52 freigegeben. Gleichzeitig wird das Ausgangssignal der Verriegelung sschaltung 88 durch ein Negationsglied 89 für eine Sperrung der UND-Glieder 81 und 83 invertiert. Dadurch werden die Steuertorschaltungen 49 und 51 gesperrt. Wenn daher der Decodierer die Steuertorschaltungen 50 gegen Ende des laufenden Mikrowortzyklus freigibt, wird der Inhalt von FAR 52 nach dem SAR 21 übertragen und liefert damit die nächste Mikrowortadresse. Diese Adresse ist jedoch die Adresse eines früheren Mikroworts der Mikroroutine und somit erhält man eine Wiederholung mit einem Neuanfang bei diesem früheren Mikrowort. Wenn dieses frühere Mikrowort in das Steuerregister 13 eingegeben wird, dann wird die Verriegelungsschaltung durch ein entsprechendes über die Decodierausgangsleitung 90 kommendes Signal "Einstellen Steuerregister" zurückgestellt.
Diese Wiederholung wird selbsttätig solange fortgesetzt, bis die Statuslogik 71 anzeigt, daß die Verarbeitung des Operanden oder der Operanden beendet ist. Wenn insbesondere der R1-R2-Längenzähler bis auf einen Zählerstand O oder kleiner fortgeschrieben ist, dann tritt auf einer Ausgangsleitung 91 der Statuslogik 71 ein Ausgangssignal auf, das durch ein Negatiionsglied 92 invertiert wird und das UND-Glied 87 sperrt. Dadurch wird verhindert, daß das nächste Hauptspei-
709849/0718
cherschreibsignal vom Decodierer 14 die Verriegelungsschaltung 88 einstellt. Dadurch kann das System aus dieser Wiederholungsroutine ausbrechen und den Rest der für diesen Makrobefehl vorgegebenen Mikroroutine beenden.
Liegt im Steuerspeicher 13 ein eine Verzweigung kennzeichnendes Mikrowort und bestimmt der Decodierer 14, daß eine Verzweigung vorgenommen werden soll, dann wird die normalerweise erfolgende übertragung der fortgeschriebenen BAR-Adresse nach dem SAR 21 gesperrt. Wenn insbesondere der Decodierer 14 feststellt, daß eine Verzweigung durchzuführen ist, dann tritt auf der Ausgangsleitung 93 des Decodierers ein Ausgangssignal auf, das die Verzweigungsadreß-Steuertorschaltungen 94 freigibt. Dieses auf der Ausgangsleitung 93 des Decodierers liegende Ausgangssignal wird außerdem in einem Negationsglied 95 invertiert und sperrt die UND-Glieder 81 und 83. Dadurch werden wiederum die Steuertorschaltungen 49 und 51 gesperrt. Wenn daher gegen Ende des eine Verzweigung bewirkenden Mikrowortzyklus die Steuertorschaltungen 50 entsperrt werden, dann ist es die Verzweigungsadresse, die über die Steuertorschaltungen 94 in das SAR 21 eingegeben wird, so daß das nächste zu adressierende Mikrowort durch diese Verzeigungsadresse adressiert wird.
Für eine bessere Darstellung, wie die Verwendung von Modusbits die Befehlsverarbeitungsgeschwindigkeit erhöht, soll die Durchführung einiger mehr oder weniger repräsentativer Befehle betrachtet werden. Zunächst soll als erstes Beispiel ein Makrobefehl für eine Register-Register-Addition (AR) betrachtet werden. Dieser Additions-Makrobefehl verwendet die Modusbits 4 und 14. Mit anderen Worten bewirkt der AR-Op-Code, daß der Betriebssteuerwortspeicher 15 im Betriebssteuerwortregister 17 ein Betriebssteuerwort einspeichert, bei dem die Modusbits 4 und 14 binär 1 sind, während die übrgen Modusbits auf binär 0 liegen. Man sieht, daß das Modusbit 14 die An-
04976014 709849/0718
zahl der für die Addition der Operanden und für die Speicherung der Ergebnisse erforderlichen Mikroworte verringert, während die Verwendung des Modusbit 4 die für die Einstellung des Bedingungscodes erforderliche Anzahl von Mikroworten herabsetzt.
Die durch den Befehl RR ADD durchzuführende Makrooperation besteht in der Addition des Inhalts des im R1-Instruktions~ feld (R1-Operand) definierten Registers zum Inhalt des durch das R2-Instruktionsfeld (R2-Operand) gekennzeichneten Registers und zur Eingabe des Ergebnisses dieser Addition in das durch das R1-Instruktionsfeld bezeichnete Register. Es ist außerdem erforderlich, das Bedingungscoderegister einzustellen.
In dem Prozessor des derzeitigen Modells 135 werden für die Addition von zwei Operanden und für die Eingabe des Resultats in das durch R1 gekennzeichnete Register zwei getrennte Mikroworte benötigt. Zu Beginn der Bearbeitungsphase liegt der Operand R2 im Arbeitsspeicher 26 (er wurde dort während des vorhergehenden I-Abrufmikrowortes eingespeichert), und der R1-Operand liegt im Hilfsspeicher 28. Während des ersten Mikrowortes wird der Operand R2 aus dem Arbeitsspeicher 26 ausgelesen und in das P-Register 23 eingelesen, während der Operand R1 aus dem Hilfsspeicher 28 ausgelesen und in das Q-Register 24 überführt wird. Der Inhalt der P- und Q-Register 23 und 24 wird dann in der ALU 22 zueinander addiert und in das S-Register 25 eingegeben. Das im S-Register 25 liegende Ergebnis wird dann über die Datensammelleitung 33 an den Arbeitsspeicher 26 abgegeben und an dem vorbestimmten Speicherplatz eingespeichert, aus dem der Operand R2 abgerufen wurde. Dann wird ein zweites Mikrowort für die übertragung des Ergebnisoperanden vom Arbeitsspeicher 26 nach dem R1-Operandenregister im Hilfsspeicher 28 benötigt. Dies wird dadurch erzielt, daß der Ergebnisoperand aus dem Arbeits·
EN976Ü14 709849/0718
speicher ausgelesen wird, in das P-Register eingegeben wird, dann die ALU 22 durchläuft und in das S-Register 25 eingespeichert wird, und dieses auf dem Weg zur Datensammelleitung 33 nach dem Hilfsspeicher 28 durchläuft und dann im Hilfsspeicher 28 eingespeichert wird.
Bei Verwendung des Modusbit 14 wird das zweite dieser Mikroworte beseitigt. Insbesondere macht es das Modusbit 14 möglich, daß das Ergebnis während des gleichen Mikrowortzyklus zu dem Zeitpunkt in den Hilfsspeicher eingeschrieben werden kann, zu dem das Ergebnis auch in den Arbeitsspeicher 26 überführt wird. Insbesondere wird das Modusbit 14 der Steuerpunktlogik 64 zugeleitet und entsperrt die Steuertorschaltungen 65 und liefert damit die richtige R1-Adresse an das ASAR 29. Gleichzeitig wird das Modusbit 14 der Steuerpunktlogik 66 zugeleitet und entsperrt die Steuertorschaltungen 67, die den Ergebnisoperanden im S-Register 25 zur gleichen Zeit, wie er nach dem Arbeitsspeicher 26 weitergeleitet wird, auch an den Hilfsspeicher 28 durchlassen. D.h., daß das Ergebnis unmittelbar an den Hilfsspeicher 28 zurückübertragen wird, so daß das zweite Mikrowort nicht langer benötigt wird.
Die Benutzung des Modusbit 4 im Makrobefehl RR ADD macht die automatische Einstellung des Bedingungscoderegisters 77 auf den durch den Codierer 76 erzeugten Wert des Bedingungscodes möglich, der über die Steuertorschaltungen 75 dem Bedingungscoderegister 77 zugeleitet wird. Dies wird während des I-Abrufmikroworts durchgeführt, das gegen Ende der Mikroroutine für den RR ADD Befehl auftritt. Durch diese rein schaltungsmäßige Einstellung des Bedingungscodes werden Verzweigungsmikroworte und die früher für diesen Zweck verwendeten I-Abrufmikroworte überflüssig. Insbesondere werden etwa 7 Mikrowort e nunmehr durch ein einziges I-Abrufmikrowort ersetzt.
Man erkennt mühelos aus der vorhergehenden Beschreibung, daß EN 976 014 Λ C <* 8«i <? ;'<? ?■ f (
die Verwendung der Modusbits 4 und 14 die Durchführung des Makrobefehls RK ADD beschleunigt. Außerdem werden, als weiterer Vorzug, weniger Mikroworte benötigt und damit natürlich auch weniger Speicherplatz im Steuerspeicher. Insbesondere werden etwa 9 Mikroworte durch 2 Mikroworte ersetzt.
Es soll nun als weiteres Beispiel der Fall eines RS-Formats eines Makrobefehls Mehrfachladen (LM) betrachtet werden, wobei ein solcher Makrobefehl die Modusbits 1,5 und 7 verwendet. Mit anderen Worten, das im Betriebssteuerwortregister 17 für diesen Fall eingespeicherte BetriebsSteuerwort weist in den Bitpositionen 1,5 und 7 eine logische 1 und in den übrigen Bitpositionen eine logische 0 auf. Der Zweck dieses Makrobefehls Mehrfachladen besteht darin, die Gruppe von Mehrzweckregistern in der Weise zu laden, daß zunächst das durch das RI-FeId des Befehls bestimmte Register geladen und am Schluß das durch das R3-Feld des Befehls bestimmte Register mit im Hauptspeicher liegenden Daten geladen wird, wobei die Hauptspeicheradresse durch den B2-D2-Teil des Befehls bestimmt ist. Mit anderen Worten können zwischen ein und 16 üatenworte aus dem Hauptspeicher 20a ausgelesen und in entsprechend gekennzeichnete Gruppen von Registern im Hilfsspeicher 28 eingespeichert werden.
Das Modusbit 7 wird der Steuerpunktlogik 16 zugeführt und entsperrt die Steuertorschaltungen 40, so daß die im Hauptspeicher 20a befindlichen Daten unmittelbar nach dem Hilfsspeicher 28 übertragen werden können. Das Modusbit 5 wird zur Steuerung der Steuertorschaltungen 49 und 51 benutzt und sperrt die normale Fortschreibung der Mikrowortadresse im BAR 46. Dies bewirkt eine automatische Wiederholung des Lesen-Hauptspeicher/Schreiben-Hilfsspeicher-Mikroworts. Dieses Mikrowort ist das gleiche, wie das zuvor benutzte Mikrowort Lesen-Hauptspeicher/Schreiben-Arbeitsspeicher, mit
EN 976 °14 709849/0718
- truer Ausnahme, daß im vorliegenden Fall wegen der Benutzung des Modusbits 7 der Schreibvorgang unmittelbar an den Hilfsspeicher und nicht an den Arbeitsspeicher geht.
Modusbit 1 dient der Freigabe des R1-Teils des Registers und arbeitet sowohl als Quelle für eine Adresse für den ASAR 29 und als ein Zähler, der angibt, wieviele Register noch zu laden sind. Mit anderen Worten, jedesmal dann, wenn ein Register im Hilfsspeicher 28 geladen ist, wird das R1-FeId im Register 45 durch die Inkrement/Dekrementschaltung 7O fortgeschrieben auf die Adresse des nächsten zu ladenden Registers. Wenn das letzte Register (das R2 gekennzeichnete Register) geladen ist, dann wird das RI-FeId im Register erneut fortgeschrieben. Dies bewirkt das Auftreten der Bedingung R1 größer R2, die durch die Statuslogik 71 erkannt wird, wodurch deren Ausgangsleitung angeschaltet wird. Dadurch werden wiederum die der Umleitung dienenden Steuertorschaltungen 51 gesperrt und die Inkrementiersteuertorschaltungen 49 werden freigegeben, so daß nunmehr wiederum die normale Fortschreibung der Mikrowortadresse durchgeführt werden kann. Dadurch kann das System aus dieser Wiederholung ausbrechen und die nächste nunmehr benutzte Mikrowortadresse ist die fortgeschriebene Adresse, die zur Adressierung des nächtfolgenden Mikrowortes benötigt wird, das in diesem Fall das I-Abrufmikrowort ist.
Zusätzlich zur beträchtlichen Beschleunigung in der Durchführung des Makrobefehls Mehrfachladen (LM) können durch die Verwendung der Modusbits 1, 5 und 7 fünf Mikroworte durch zwei Mikroworte ersetzt werden.
Betrachtet man ferner als Beispiel den Fall eines SS-Formats (MVC) Makrobefehls Übertragung, so sieht man, daß dieser Makrobefehl die Modusbits 2 und 6 verwendet. Der Zweck dieses
EN976014 709849/071«
Makrobefehls Übertragung (MVC) besteht darin, Daten von einem Ort im Hauptspeicher 20a nach einem anderen verschiedenen Ort im Hauptspeicher 20a zu übertragen. Die Länge der zu übertragenden Daten wird durch das Längenfeld in dem Befehl genau bestimmt und kann zwischen einem und 256 Byte betragen. Insbesondere wird die genau bestimmte Länge der Daten, beginnend an der durch den B2-D2-Teil des Befehls bestimmten Hauptspeicheradresse nach einem neuen Speicherplatz übertragen, dessen Ausgangspunkt an der durch den Bi-Di-Teil des Befehls bestimmten Hauptspeicheradresse liegt.
Selbstverständlich, wenn die Länge der zu übertragenden Daten sehr groß ist, können sie nicht alle auf einmal übertragen werden. Somit werden allgemein Daten abschnittsweise übertragen, bis der gesamte Datensatz übertragen ist. Außerdem erfolgt die übertragung über den Arbeitsspeicher 26. Mit anderen Worten wird jedes Datensegment aus dem Hauptspeicher 20a ausgelesen und während eines Mikrowortzyklus in den Arbeitsspeicher 26 eingegeben. Anschließend wird dieser Datensatz aus dem Arbeitsspeicher 26 ausgelesen und während eines weiteren Mikrowortzyklus wiederum in den Hauptspeicher 20a eingespeichert. Außerdem kann das Datensegment, bevor es wiederum in den Hauptspeicher 20a eingespeichert wird, manipuliert oder geprüft werden.
Das Modusbit 2 dient der Freigabe der R1- und !^-Abschnitte des Registers 45, die zusammen als ein einziger Zähler verwendet werden und dabei die Länge der Daten überwachen, die noch übertragen werden müssen. Insbesondere wird jedesmal dann, wenn ein Datensegment aus dem Hauptspeicher 20a ausgelesen und nach dem Arbeitsspeicher 26 übertragen wird, dieser R1-R2-Zähler durch die Inkrement/Dekrementschaltung 7O zur Verringerung der Längenzählung um den Betrag der Daten in diesem Datensegment vermindert.
LN 976 014
709849/0718
-Vl-
Das Modusbit 6 dient der automatischen Wiederholung des Teils der Mikroroutine, die zum Auslesen eines Datensegments aus dem Hauptspeicher und dessen übertragung nach dem Arbeitsspeicher dient, unter Durchführung entsprechender Manipulation oder Prüfung und zum Ausspeichern aus dem Datenspeicher 26 und erneuten Einschreiben in den Hauptspeicher 20a an einem neuen Speicherplatz. Insbesondere wird das erste bei dieser Lesen-Segment/Schreiben-Segment-Unterroutine benutzte Mikrowort in das FAR 52 eingespeichert. Diese Subroutine wird dann ein Mikrowort nach dem anderen abgearbeitet. Während des letzten Mikrowortes dieser Subroutine, in diesem Fall das Mikrowort "Schreiben von Arbeitsspeicher nach Hauptspeicher", bewirkt das auf der Modusbitleitung 6 liegende Modusbit die Einstellung der Verriegelungsschaltung 88 (Fig. 5) wodurch die FAR-Ausgangssteuertorschaltungen 54 freigegeben und die Umleitungs- und Inkrementiersteuertorschaltungen und 49 gesperrt werden. Damit liefert aber FAR 52 die nächste Mikrowortadresse. Dies wiederum bewirkt eine Rückkehr zum ersten Mikrowort in der Lese-Segment/Schreiben-Segment-Unterroutine. Wenn dieses erste Mikrowort der Subroutine in das Steuerregister 13 eingegeben wird, wird die Verriegelungsschaltung 88 (Fig. 5) zurückgestellt, so daß während der Mikroworte der Subroutine die normale FortSchreibung durchgeführt werden kann.
Diese automatische Wiederholung der Subroutine für "Lesen-Segment /Schreiben-Segment" wird solange fortgesetzt, bis die R1/R2-Statuslogik anzeigt, daß keine weiteren Datensegmente zu übertragen sind. Insbesondere erkennt die Statuslogik 71 dann, wenn der R1-R2 Längenzähler im Register 45 schließlich den Wert 0 oder kleiner erreicht hat, das Auftreten dieser Bedingung und liefert über Leitung 91 ein Signal, das diese Wiederholungsoperation beendet.
EN 976 O14
Aus diesen Beispielen, wie auch aus den zuvor gegebenen Beispielen, sieht man, daß die Mikrosteuererweiteruny durch den Betrie.bssteuerwortspeicher 15 und das Betriebssteuerwortregister 17 bawirkt, daß der in Fig. 2 dargestellte Prozessor ein wesentlich besseres Preis/Leistungsverhältnis aufweist als der Prozessor des bisherigen Modalls 135. Wie aus dem Vorhergehenden unschwer abzuleiten ist, ist diese Mikrosteuererwaiterung insbesondere bei der Verbesserung einer bereits bestehenden Zentraleinheit bei nur geringen zusätzlichen Kosten besonders nützlich, obgleich der Einsatz der Erfindung natürlich nicht auf dieses besondere Anwendungsgebiet beschränkt ist.
1J 7 f) ο 14
7 P <UU 9 / 0 7 1 P
L e e r s e i t e

Claims (14)

  1. PATENTANSPRÜCHE
    Anordnung für die Mikroprogrammsteuerung einer Datenverarbeitungsanlage über Makrobefehle mit einem Hauptspeicher, einem Steuerspeicher, einem beiden zugeordneten Speicheradreßregister, einer arithmetischen und logischen Einheit (ALU) mit P-Register, Q-Register und S-Register sowie mit weiteren Arbeitsspeichern und Speicheradreßregistern und einem Mikroprogrammspeicher, der die Makrobefehle für die Steuerung der verschiedenen Steuerpunkte und funktionalen Schaltungen des Prozessors enthält, dadurch gekennzeichnet, daß ein zusätzlicher Steuerwortspeicher (15) und ein damit verbundenes Steuerwortregister (17) für die Steuerung zusätzlicher Steuerpunkte und/oder funktionaler Schaltungen vorgesehen sind und daß dieser Steuerwortspeieher (15) durch den Operationscode eines Makrobefehls für die selektive Abgabe eines Steuerwortes an das Steuerwortregister (17) adressierbar ist.
  2. 2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Steuerwortspeicher (15) ein Festwertspeicher ist.
  3. 3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Steuerwortspeicher (15) für jeden der Makrobefehls- i Operationscodes einen gesondert adressierbaren Speicher-J platz aufweist, der durch den Operationscode direkt | adressierbar ist.
  4. 4. Anordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß das Steuerwortregister eine Anzahl von ; Ausgangsleitungen aufweist, die alle mit den zusätzlichen Steuerpunkten und/oder funktionalen Schaltungen j verbunden sind.
    01976014 709849/0718
    ORI6INAL INSPECTED
  5. 5. Anordnung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß ein weiterer zusätzlicher Speicher (18) geringer Kapazität vorgesehen ist, in dem die Startadressen für die unterschiedlichen Folgen von in dem Mikroprogrammspeicher (2Ob) abgespeicherten Makrobefehlen enthalten sind, und daß auf den Operationscode der Makrobefehle ansprechende Schaltungen für die Adressierung dieses Startadreßspeichers (18) vorgesehen sind, der dann eine ausgewählte Startadresse an das Speicheradreßregister (21) des Hauptspeichers (20; 20a, 20b) abgibt.
  6. 6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Mikroprogrammspeicher (20b) für jeden der verschiedenen Makrobefehls-Operationscodes eine gesonderte Folge von Mikrobefehlen enthält, daß der Startadreßspeicher (18) für jeden der Makrobefehls-Operationscodes einen unabhängig adressierbaren Speicherplatz aufweist und daß dabei die in diesem Speicherplatz liegende Start· adresse die Anfangsadresse der im Hauptspeicher liegenden Folge von Mikrobefehlen ist.
  7. 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß in nahezu allen Fällen jede im Hauptspeicher liegende gesonderte Folge von Mikrobefehlen alle für die Durchführung dieses Maschinenmakrobefehls benötigten Mikrobefehle enthält.
  8. 8. Anordnung nach Anspruch 7, dadurch gekennzeichnet, daß der erste und zweite zusätzliche Speicher, d.h. der Steuerwortspeicher und der Startadressenspeicher, als integrierte Schaltung aufgebaute Festwertspeicher sind.
  9. 9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß jeder der beiden Speicher für jeden der verschiedenen Makrobefehls-Operationscodes einen eigenen adressier-
    ^976014 709849/0718
    baren Speicherplatz auf v/eist, wobei der Makrobefehls-Operationscode dem Adreßregister für die direkte Adressierung dieser Speicher unmittelbar zuführbar ist.
  10. 10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß für das Auslesen von Mikrobefehlen aus dem Hauptspeicher (20) durch das Speicheradreßregister (21) ein Steuerregister (13) für die Aufnahme der vom Hauptspeicher kommenden Mikrobefehle vorgesehen ist, an welchem ein Decodierer (14) zur Decodierung der im Steuerregister (13) liegenden Mikrobefehle angeschlossen ist und entsprechende Steuersignale (DB) an die verschiedenen Steuerpunkte und/oder funktionalen Schaltungen des Prozessors abgibt, daß ferner der Ausgang des Startadreßspeichers (18) mit dem Speicheradreßregister (21) des Hauptspeichers (20) gekoppelt ist und daß damit in Abhängigkeit von einem Makrobefehls-Operationscode über die Adressierung des Startadreßspeichers (18) eine ausgewählte Startadresse an das Speicheradreßregister (21) abgegeben wird. !
  11. 11. Anordnung nach Anspruch 10, dadurch gekennzeichnet,
    daß eine Inkrementierstufe (48) für eine Fortschrei- |
    bung der im Speicheradreßregister (21) liegenden j Adresse eines Mikrobefehls vorgesehen ist, so daß ein sequentielles Auslesen aufeinanderfolgender Mikrobefehle aus dem Steuerregister (13) durchführbar ist, daß ferner eine Sperrschaltung (49) für die Inkrementierstufe (48) vorgesehen ist, wodurch ein gegebener Mikro- j befehl mehrfach wiederholbar ist, daß bei einer Anzahl von aus mehreren Bit bestehenden Steuerworten im Steuerwortspeicher (15) eine gegebene Bitposition (MB5) in jedem Steuerwort der Sperrschaltung (49) zugeordnet ist, und daß dabei dieses Bit in mindestens einem vor- j
    EN976014 709849/0719
    bestimmten Steuerwort den binären Wert 1 und in den anderen Steuerworten den binären Wert 0 aufweist, so daß die Inkrementierstufe bei Auftreten eines Operationscodes gesperrt wird, der das vorbestimmte Steuerwort auswählt, bei dem dieses Bit den binären Wert aufweist.
  12. 12. Anordnung nach Anspruch 11, dadurch gekennzeichnet, daß eine Zählschaltung (71) vorgesehen ist, die die Anzahl der Wiederholungen eines Mikrobefehls feststellt und bei einem vorbestimmten Zählerstand (R1 > R2) den Sperrzustand der Inkrementierstufe (48) aufhebt.
  13. 13. Anordnung nach einem oder mehreren der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß ein Pufferadreßregister (46) vorgesehen ist, in dem eine gerade im Speicheradreßregister (21) liegende bestimmte Mikrobefehlsadresse zusätzlich speicherbar ist, und daß ein bei Auftreten mindestens eines vorbestimmten Makrobefehlsoperationscodes und bei Verarbeitung eines auf einen gerade in dem Pufferadreßregister (46) mit seiner Adresse abgespeicherten Mikrobefehl folgenden Mikrobefehls aktive Wiederholungsschaltung (52, 53, 54) vorhanden ist, die bewirkt, daß die im Pufferadresspeicher liegende Adresse des Mikrobefehls an das Speicheradreßregister (21) für eine Wiederholung einer Teilfolge einer Mikrobefehlsfolge abgegeben wird.
  14. 14. Anordnung nach Anspruch 13, dadurch gekennzeichnet, daß eine Substitutionsschaltung vorgesehen ist, die bei Sperrung der Inkrementierstufe die übertragung der im Pufferadreßregister (46) liegenden Mikrobefehlsadresse an das Speicheradreßregister (21) bewirkt, wobei in mindestens einem bestimmten Steuerwort eine vorgegebene Bitposition (MB6) der Substitutionsschaltung zugeordnet ist.
    EN 976 O14 709Θ4&/07 18
DE19772719635 1976-05-24 1977-05-03 Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage Withdrawn DE2719635A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/689,228 US4173041A (en) 1976-05-24 1976-05-24 Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length

Publications (1)

Publication Number Publication Date
DE2719635A1 true DE2719635A1 (de) 1977-12-08

Family

ID=24767575

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772719635 Withdrawn DE2719635A1 (de) 1976-05-24 1977-05-03 Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US4173041A (de)
JP (1) JPS52143726A (de)
DE (1) DE2719635A1 (de)
FR (1) FR2353101A1 (de)
GB (1) GB1541756A (de)
IT (1) IT1115659B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138971A1 (de) * 1981-09-30 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Mikroprogrammiertr prozessor und verfahren zu seinembetrieb

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2747304C3 (de) * 1977-10-21 1981-03-26 IBM Deutschland GmbH, 70569 Stuttgart Einrichtung zur Mikrobefehlssteuerung
JPS55110347A (en) * 1979-02-16 1980-08-25 Toshiba Corp Microprogram control system
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
US4292674A (en) * 1979-07-27 1981-09-29 Sperry Corporation One word buffer memory system
JPS56152049A (en) * 1980-04-25 1981-11-25 Toshiba Corp Microprogram control system
US4931989A (en) * 1982-02-22 1990-06-05 International Business Machines Corporation Microword generation mechanism utilizing a separate programmable logic array for first microwords
US4685080A (en) * 1982-02-22 1987-08-04 International Business Machines Corp. Microword generation mechanism utilizing separate programmable logic arrays for first and second microwords
US4575794A (en) * 1982-02-22 1986-03-11 International Business Machines Corp. Clocking mechanism for multiple overlapped dynamic programmable logic arrays used in a digital control unit
EP0097725B1 (de) * 1982-06-08 1986-05-14 Ibm Deutschland Gmbh Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
US4504904A (en) * 1982-06-15 1985-03-12 International Business Machines Corporation Binary logic structure employing programmable logic arrays and useful in microword generation apparatus
US4928223A (en) * 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
US4613954A (en) * 1982-11-16 1986-09-23 Burroughs Corporation Block counter system to monitor data transfers
US4661901A (en) * 1982-12-23 1987-04-28 International Business Machines Corporation Microprocessor control system utilizing overlapped programmable logic arrays
NL8205076A (nl) * 1982-12-31 1984-07-16 Philips Nv Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
US4574344A (en) * 1983-09-29 1986-03-04 Tandem Computers Incorporated Entry control store for enhanced CPU pipeline performance
JPS62164133A (ja) * 1986-01-16 1987-07-20 Toshiba Corp マイクロプログラム制御装置
US4878174A (en) * 1987-11-03 1989-10-31 Lsi Logic Corporation Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5333287A (en) * 1988-12-21 1994-07-26 International Business Machines Corporation System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters
US5257358A (en) * 1989-04-18 1993-10-26 Nec Electronics, Inc. Method for counting the number of program instruction completed by a microprocessor
US5452425A (en) * 1989-10-13 1995-09-19 Texas Instruments Incorporated Sequential constant generator system for indicating the last data word by using the end of loop bit having opposite digital state than other data words
US7356809B1 (en) * 1991-03-01 2008-04-08 Intel Corporation Programmable interpretive virtual machine
US5896551A (en) * 1994-04-15 1999-04-20 Micron Technology, Inc. Initializing and reprogramming circuitry for state independent memory array burst operations control
US6175901B1 (en) * 1994-04-15 2001-01-16 Micron Technology, Inc. Method for initializing and reprogramming a control operation feature of a memory device
FR2731095B1 (fr) * 1995-02-23 1997-04-30 Dufal Frederic Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable a architecture du type pipeline, notamment un processeur de traitement d'images
FR2731094B1 (fr) * 1995-02-23 1997-04-30 Dufal Frederic Procede et dispositif de commande simultanee des etats de controle des unites d'execution d'un processeur programmable
US5701316A (en) * 1995-08-31 1997-12-23 Unisys Corporation Method for generating an internet protocol suite checksum in a single macro instruction
US6085314A (en) * 1996-03-18 2000-07-04 Advnced Micro Devices, Inc. Central processing unit including APX and DSP cores and including selectable APX and DSP execution modes
US5982697A (en) * 1996-12-02 1999-11-09 Micron Technology, Inc. Method for initializing and reprogramming a control operation feature of a memory device
US6038659A (en) * 1997-11-12 2000-03-14 International Business Machines Corporation Method for using read-only memory to generate controls for microprocessor
EP0955578A1 (de) * 1998-05-04 1999-11-10 International Business Machines Corporation Verfahren und Vorrichtung zur Durchführung einer Funktion, der ein Befehlskode zugewiesen ist
FR2812416B1 (fr) * 2000-07-28 2002-10-11 Suisse Electronique Microtech Procede de memorisation comprimee d'un programme
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7162621B2 (en) * 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
FR2867874A1 (fr) * 2004-03-22 2005-09-23 St Microelectronics Sa Dispositif et procede de gestion d'un jeu d'instructions d'un microprocesseur
US20190065199A1 (en) * 2017-08-31 2019-02-28 MIPS Tech, LLC Saving and restoring non-contiguous blocks of preserved registers
US10839802B2 (en) * 2018-12-14 2020-11-17 Motorola Mobility Llc Personalized phrase spotting during automatic speech recognition

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3422404A (en) * 1966-02-23 1969-01-14 David E Ferguson Apparatus and method for decoding operation codes in digital computers
GB1246130A (en) * 1967-12-14 1971-09-15 Olivetti & Co Spa Stored programme electronic computer
US3599176A (en) * 1968-01-02 1971-08-10 Ibm Microprogrammed data processing system utilizing improved storage addressing means
CH485277A (de) * 1968-01-25 1970-01-31 Siemens Ag Programmablaufsteuerwerk für eine Datenverarbeitungsanlage
GB1218406A (en) * 1968-07-04 1971-01-06 Ibm An electronic data processing system
BE757967A (fr) * 1969-10-25 1971-04-23 Philips Nv Memoire pour microprogramme
US3634883A (en) * 1969-11-12 1972-01-11 Honeywell Inc Microinstruction address modification and branch system
GB1426748A (en) * 1973-06-05 1976-03-03 Burroughs Corp Small micro-programme data processing system employing multi- syllable micro instructions
US3958221A (en) * 1973-06-07 1976-05-18 Bunker Ramo Corporation Method and apparatus for locating effective operand of an instruction
IT995721B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Apparato per l interpretazione di codici di funzione in calcolatori microprogrammati e per l indirizza mento indipendente di fasi inter pretative ed esecutive di micro programma
US4023895A (en) * 1974-10-25 1977-05-17 Xerox Corporation Electrostatographic apparatus
US3990054A (en) * 1974-11-05 1976-11-02 Honeywell Inc. Microprogram organization techniques
US4037202A (en) * 1975-04-21 1977-07-19 Raytheon Company Microprogram controlled digital processor having addressable flip/flop section
US4075687A (en) * 1976-03-01 1978-02-21 Raytheon Company Microprogram controlled digital computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138971A1 (de) * 1981-09-30 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Mikroprogrammiertr prozessor und verfahren zu seinembetrieb

Also Published As

Publication number Publication date
FR2353101B1 (de) 1978-10-20
GB1541756A (en) 1979-03-07
IT1115659B (it) 1986-02-03
JPS52143726A (en) 1977-11-30
JPS5433941B2 (de) 1979-10-24
FR2353101A1 (fr) 1977-12-23
US4173041A (en) 1979-10-30

Similar Documents

Publication Publication Date Title
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2746505C2 (de)
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2953861C2 (de)
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE2813128A1 (de) Mikroprogrammspeicher
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE2744359C2 (de)
DE1806535B2 (de) Seriell arbeitende digitale rechenanlage
DE3501903A1 (de) Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2418921C2 (de) Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE2710436C2 (de) Datenverarbeitungseinrichtung
DE2744252C2 (de)

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee