DE2719635A1 - Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage - Google Patents
Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlageInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 39
- 230000015654 memory Effects 0.000 claims description 301
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000000903 blocking effect Effects 0.000 claims description 5
- 238000006467 substitution reaction Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 22
- 238000000034 method Methods 0.000 description 13
- 230000003936 working memory Effects 0.000 description 12
- 230000006872 improvement Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101150018711 AASS gene Proteins 0.000 description 1
- 241000931365 Ampelodesmos mauritanicus Species 0.000 description 1
- 235000016299 Canarium odontophyllum Nutrition 0.000 description 1
- 244000001582 Canarium odontophyllum Species 0.000 description 1
- 108091092195 Intron Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 244000309466 calf Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction 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.
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-
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
J» 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
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.
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
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)
- PATENTANSPRÜCHEAnordnung 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. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Steuerwortspeicher (15) ein Festwertspeicher ist.
- 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. 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/0718ORI6INAL INSPECTED
- 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. 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. 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. 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. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß jeder der beiden Speicher für jeden der verschiedenen Makrobefehls-Operationscodes einen eigenen adressier-^976014 709849/0718baren Speicherplatz auf v/eist, wobei der Makrobefehls-Operationscode dem Adreßregister für die direkte Adressierung dieser Speicher unmittelbar zuführbar ist.
- 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. 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- jEN976014 709849/0719bestimmten 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. 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. 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. 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
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)
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)
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)
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 |
-
1976
- 1976-05-24 US US05/689,228 patent/US4173041A/en not_active Expired - Lifetime
-
1977
- 1977-04-20 GB GB16377/77A patent/GB1541756A/en not_active Expired
- 1977-04-22 FR FR7712661A patent/FR2353101A1/fr active Granted
- 1977-05-03 DE DE19772719635 patent/DE2719635A1/de not_active Withdrawn
- 1977-05-06 IT IT23258/77A patent/IT1115659B/it active
- 1977-05-10 JP JP5275377A patent/JPS52143726A/ja active Granted
Cited By (1)
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 |