DE1270305B - Mikroprogrammgesteuerte Datenverarbeitungsanlage - Google Patents
Mikroprogrammgesteuerte DatenverarbeitungsanlageInfo
- Publication number
- DE1270305B DE1270305B DEP1270A DE1270305A DE1270305B DE 1270305 B DE1270305 B DE 1270305B DE P1270 A DEP1270 A DE P1270A DE 1270305 A DE1270305 A DE 1270305A DE 1270305 B DE1270305 B DE 1270305B
- Authority
- DE
- Germany
- Prior art keywords
- microinstruction
- address
- microprogram
- data processing
- processing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. Cl.:
G06f
Deutsche Kl.: 42 m3- 9/00
Nummer: 1270 305
Aktenzeichen: P 12 70 305.8-53
Anmeldetag: 2. April 1965
Auslegetag: 12. Juni 1968
In mikroprogrammgesteuerten Datenverarbeitungsanlagen gibt es zwei Programmebenen oder zwei
Ebenen der Steuerung: das Makroprogramm und das Mikroprogramm. Während der Operation wird zunächst
von einem Makrobefehl ein Mikrobefehl im Festwertspeicher gekennzeichnet. Der aufgerufene
Mikrobefehl steuert die Anlage während eines Maschinenzyklus und ruft den jeweils folgenden Mikrobefehl
auf. Auf diese Weise werden Unterprogramme, die aus einer Folge von Mikrobefehlen bestehen,
ausgeführt. Die Aufeinanderfolge der Mikrobefehle hängt von verschiedenen Faktoren, wie z. B.
Maschinenbedingungen, die eine Verzweigung verursachen, ab. Die Mikroprogrammfolge wird im allgemeinen
fortgesetzt, bis schließlich ein Mikrobefehl einen weiteren Makrobefehl aufruft. Deshalb hat
man es bis jetzt nur notwendig gefunden, den ersten Mikrobefehl eines Unterprogramms auszuwählen,
um die Anlage zu steuern.
Zweck der vorliegenden Erfindung ist es, eine Verbindung zwischen dem Makroprogramm und dem
Mikroprogramm der Maschine dadurch herzustellen, daß andere als der erste Mikrobefehl eines Unterprogramms
vom Makroprogramm her beeinflußt werden.
Die Erfindung betrifft eine mikroprogrammgesteuerte Datenverarbeitungsanlage, in welcher die
Adresse des ersten auszuführenden Mikrobefehls einer einem Makrobefehl zugeordneten Mikrobefehlsfolge
aus dem Makrobefehl und die Adressen der folgenden Mikrobefehle aus den jeweils davorliegenden
Mikrobefehlen, gegebenenfalls nach Berücksichtigung zusätzlicher Bedingungen, abgeleitet
werden. Gekennzeichnet ist die Erfindung dadurch, daß vom Makrobefehl die Adressen auch anderer als
des ersten Mikrobefehls einer Mikrobefehlsfolge abgeleitet werden.
Gemäß einer vorteilhaften Weiterbildung der Erfindung wird aus dem übrigen den Operationscode
nicht umfassenden Teil des Makrobefehls eine weitere Mikrobefehlsadresse abgeleitet, die einen Mikrobefehl
oder eine diesem folgende Mikrobefehlsfolge auslöst, der (die) nach dem aus dem Operationsteil
des Makrobefehls abgeleiteten Mikrobefehl oder der diesem folgenden Mikrobefehlsfolge ausgeführt wird
(werden).
Ein vorteilhaftes Ausführungsbeispiel einer erfindungsgemäßen Datenverarbeitungsanlage enthält folgende
Teile: ein Befehlsregister zur Aufnahme eines Befehls, der aus einem Operationscode und einer
Information besteht, die direkt oder nach Umwandlung die Adresse eines gespeicherten Mikrobefehls
Mikroprogrammgesteuerte
Datenverarbeitungsanlage
Datenverarbeitungsanlage
Anmelder:
International Business Machines Corporation,
Armonk,N.Y. (V. St. A.)
Vertreter:
Dipl.-Ing. A. Bittighofer, Patentanwalt,
7030 Böblingen, Sindelfinger Str. 49
Als Erfinder benannt:
Antony Peacock, White Plains, N. Y. (V. St. A.)
Beanspruchte Priorität:
Großbritannien vom 4. April 1964 (13 981)
angibt; eine Schaltung, um aus dieser Information die Adresse des Mikrobefehls zu ermitteln; ein
Datenregister, in welchem diese Mikrobefehlsadresse gespeichert wird; eine Verbindung zwischen diesem
Datenregister und dem Adreßregister eines Festwertspeichers; einem Decoder zur Ermittlung einer
Mikrobefehlsadresse aus dem Operationscode und Mitteln, um diese Adresse in das Adreßregister des
Festwertspeichers zu bringen. Der aus dem Operationscode des Makrobefehls abgeleitete Mikrobefehl
steuert die Anlage so, daß die Adresse im Datenregister in das Adreßregister des Festwertspeichers
gebracht wird.
Eine Datenverarbeitungsanlage, in der die Erfindung angewendet wird, wird nachfolgend an Hand
eines Ausführungsbeispiels näher erläutert.
Fig. 1 zeigt ein Blockschaltbild einer solchen Anlage, und
Fig. 1 zeigt ein Blockschaltbild einer solchen Anlage, und
F i g. 2 zeigt das Format eines Makrobefehls, der zur Ableitung zweier Mikrobefehlsfolgen geeignet ist.
Die Datenverarbeitungsanlage gemäß F i g. 1 enthält fünf Sammelleitungen, die mit P-, Q-, i?-Speieher-
und /iLZs-Sammelleitung bezeichnet sind. Die
arithmetisch-logische Einheit (ALE) erhält Information aus den Registern P und Q, welche beide mit
den P- und Q-Sammelleitungen verbunden sind. Das Register A dient als Adreßregister für den Hauptspeicher
(HS), und das D-Register ist das Datenregister, in welchem die Information beim Einspeichern
in und beim Auslesen aus dem Haupt-
809 559/222
bewirkt. Zur gleichen Zeit werden die Daten in dem durch das Feld Bl des Makrobefehls definierten
Register zu den Daten in dem FeIdDl addiert, um die Adresse des Operanden für die durch den Befehl
5 definierte Operation zu ermitteln.
Bei der bekannten Mikroprogrammsteuerung beginnt eine Operation mit einem Mikrobefehl, der
durch den Operationscode definiert ist. Manchmal ist es jedoch erwünscht, ein Mikroprogramm auch
grammfolge benutzt werden, während der Operationsteil für alle Arten von Prüfbefehlen gleich sein
kann.
Prüfbefehle haben das gleiche Format wie der an Hand der F i g. 2 beschriebene Befehl; aber der Informationsinhalt
löst ein anderes Programm während der Eingabe eines Makrobefehls in das Befehlsregister
aus. Bei einem Prüfbefehl, wie er hier benutzt
steuert. Signale aus diesen bistabilen Kippschaltungen werden an verschiedene Stellen der Anlage gebracht
und dazu benutzt, die Schaltung, die eine unbeab-
speicher zwischengespeichert wird. Die Register B und C sind allgemeine Register.
Die Anlage wird durch einen Festwertspeicher (FS) gesteuert. Der Festwertspeicher hat ein Adreßregister,
das mit FSAR bezeichnet ist. Die Information, die aus einer durch das Adreßregister definierten
Adresse ausgelesen wird, wird in einer Gruppe von bistabilen Kippschaltungen BKl gespeichert.
Signale aus den bistabilen Kippschaltungen BKl
werden Torschaltungen zugeführt, welche die Wege io während seines Ablaufs vom Makrobefehl aus zu
der Steuersignale und der Datensignale in der Ma- beeinflussen.
schine steuern. Die Anlage hat ferner einen Orts- Zum Beispiel bei Prüfbefehlen wird der Adressenspeicher
OS, der ein Kernspeicher hoher Geschwin- teil nicht zur Kennzeichnung von Operanden benödigkeit
ist. Der Ortsspeicher wird durch ein Adreß- tigt, da bei diesen Operationen keine Operanden
register OSAR aufgerufen. An das Adreßregister 15 zugeführt werden. Der Adressenteil dieser Befehle
des Ortsspeichers OSAR ist ein Addierer angeschal- kann daher mit zur Kennzeichnung der Mikroprotet,
der in der Lage ist, 0, +1 und ± 2 zur vorhandenen Adresse zu addieren. Die Adressen für das
AdreßregisterOSAR kommen aus dem Register/,
aus einigen Bitstellen des Festwertspeichers, die Aus- 20
gabefeld genannt werden, oder werden manuell eingegeben. Das Ausgabefeld kann dazu benutzt werden, um die über das /-Register eingegebene Adresse
zu modifizieren.
AdreßregisterOSAR kommen aus dem Register/,
aus einigen Bitstellen des Festwertspeichers, die Aus- 20
gabefeld genannt werden, oder werden manuell eingegeben. Das Ausgabefeld kann dazu benutzt werden, um die über das /-Register eingegebene Adresse
zu modifizieren.
Der Betrieb der Maschine wird zusätzlich durch 25 wird, kennzeichnet der Operationscode nur, daß
eine Reihe von bistabilen Kippschaltungen BK2 ge- eines von verschiedenen Prüfprogrammen, ohne es
im einzelnen zu spezifizieren, auszuführen ist. Der Teil 12 enthält Daten, die dazu benutzt werden, um
bestimmte der bistabilen Kippschaltungen BK 2 einsichtigte Speicherausgabe verhindert, zu steuern, zu- 30 zustellen. Die Felder Bl und Dl enthalten Daten,
sätzliche Daten zur Adressierung des Hilfsspeichers aus welchen eine Festwertspeicheradresse ermittelt
HIS (der einen Teil des Hauptspeichers bildet) zu werden kann.
liefern, den Rechenzustand oder die Eingabe-Aus- Wenn ein Prüfbefehl aus dem Speicher in das
gabezustände zu verändern, Unterbrechungen zu D-Register (F i g. 1) gelesen wird, werden unter der
steuern, Fehler, die durch Fehlerprüfschaltungen er- 35 Steuerung einer Befehlseingabefolge die folgenden
mittelt werden, anzuzeigen und andere Steuerfunk- Operationen ausgeführt.
tionen auszuführen. a) Der Operationscode wird durch zwei Sechzehn-
Ein von der Datenverarbeitungsanlage benutzter wege-Verzweigungsoperationen decodiert. Dies wird
Befehl ist in Fig. 2 gezeigt. Ein solcher Befehl ent- dadurch erreicht, daß erst die vier ersten Bits gelesen
hält von links nach rechts gesehen einen Operations- 40 und in das Speicheradreßregister FSAR des Festcode,
der die durch die Maschine auszuführende wertspeichers eingegeben werden, so daß dieses Wort
Operation kennzeichnet (z.B. Addition, Übertragung, eine von sechzehn Adressen auswählen kann. Später
Multiplikation usw.), acht Datenbits (/2), vier Bits werden die anderen vier Bits als Festwertspeicheriß
1), die die Adresse eines Registers im Ortsspeicher adresse eingegeben. Diese Operation ergibt zusamkennzeichnen,
das eine Basisadresse enthält, und 45 men mit der Befehlseingabe-Programmfolge die
zwölf Datenbits (Dl), die zu der Basisadresse addiert Adresse eines Mikrobefehls, welcher die Summe des
werden, um die effektive Adresse eines Operanden
zu bilden. Diese effektive Adresse ist normalerweise
entweder eine Hauptspeicheradresse oder die Adresse
einer Information, die in einem anderen Datenträger, 50
wie z. B. einem Magnetband, gespeichert ist.
zu bilden. Diese effektive Adresse ist normalerweise
entweder eine Hauptspeicheradresse oder die Adresse
einer Information, die in einem anderen Datenträger, 50
wie z. B. einem Magnetband, gespeichert ist.
Unter der Steuerung einer Mikroprogrammfolge werden Befehle aus dem Speicher ausgelesen. Diese
Mikroprogrammfolge tritt normalerweise am Ende
eines Standardmikroprogramms auf, so daß, wenn 55 adressiert ist, wird dann über das i?-Register, die
eine Operation beendet ist, ein neuer Befehl vom i?-Sammelleitung, das B-Register und die P-Sammel-Speicher
ausgelesen wird, der die nächste Operation leitung in das P-Register gebracht. Zur gleichen Zeit
auslöst. Wenn ein Befehl ausgelesen und dem Re- wird der Inhalt des Dl-Feldes des Makrobefehls
gisterD zugeführt worden ist, wird der Operations- über die Q-Sammelleitung in das ß-Register gecode
decodiert und liefert damit die erste Festwert- 60 bracht. Die Inhalte der Register P und Q werden
Speicheradresse von einer Folge von Mikrobefehlen dann in der ALE addiert und die Summe dem B-Refür
das nachfolgend auszuführende Mikroprogramm. gister zugeführt.
Diese Decodierung kann durch zwei Sechzehnwege- c) Der Inhalt des Feldes Il wird über die ALE-
Verzweigungsoperationen ausgeführt werden, welche Sammelleitung zugeführt, um die mit YA und YB
in Übereinstimmung mit dem Wert der Daten im 65 bezeichneten bistabilen Kippschaltungen BK2 einzu-Operationscode
und verschiedenen Bedingungen in - stellen. Steuersignale aus diesen bistabilen Kippschalder
Maschine die Auswahl einer von 256 Mikro- tungen werden bei der nachfolgenden Prüfoperation
programmanfangsadressen aus dem Festwertspeicher benutzt.
Inhalts des durch das Bl-FeId des Makrobefehls
definierten Registers und der Daten in dem D 1-Feld
bildet.
b) Gleichzeitig mit den Verzweigungsoperationen werden die Adreßdaten im Bl-FeId des Makrobefehls
über das /-Register in das Adreßregister OSAR in den Ortsspeicher OS eingegeben. Der Inhalt
des Ortsspeicherplatzes, der durch diese Daten
d) Nachdem die Summe in das Z?-Register gebracht
wurde, folgt nun dem Befehlseingabemikroprogramm, das durch die obenerwähnten Verzweigungsoperationen
gesteuert wurde, ein Mikrobefehl, der den Inhalt des ß-Registers in das Festwertspeicheradreßregister
FSAR bringt und damit den Anfangsmikrobefehl des eigentlichen Prüfmikroprogramms
zur Verfügung stellt. Wie bereits oben erwähnt, kann dieser Mikrobefehl in irgendeiner
Adresse des Festwertspeichers FS enthalten sein. Er muß nicht der Anfangsbefehl einer Standardbefehlsfolge
sein.
Durch einen Zähler oder ein zusätzliches Register kann man es ermöglichen, daß eine Mikroprogrammfolge,
die mit einem Prüfbefehl ausgelöst wird, nach einer vorausbestimmten Anzahl von Mikrobefehlen
beendet wird. Wenn ein Zähler verwendet wird, so wird eine ausgewählte Zahl in diesen Zähler eingegeben,
wenn die Adresse des ersten Mikrobefehls einer Prüffolge in dem Festwertspeicher gebracht
wurde. Mit dem Lesen jedes Mikrobefehls wird der Zähler um den Wertl vermindert, bis der Zählerstand
Null erreicht wird. An dieser Stelle wird ein Befehlsausgabeprogramm für den nächsten Makrobefehl
eingeleitet. Wenn ein zusätzliches Register benutzt wird, wird eine weitere Festwertspeicheradresse
in dieses Register eingegeben, und diese Adresse wird bei jedem Mikrobefehlsschritt mit der
Adresse im Adreßregister des Festwertspeichers verglichen. Wenn die Inhalte beider Register die gleichen
sind, wird ein Befehlsausgabeprogramm eingeleitet.
Claims (6)
1. Mikroprogrammgesteuerte Datenverarbeitungsanlage, in welcher die Adresse des ersten
auszuführenden Mikrobefehls einer einem Makrobefehl zugeordneten Mikrobefehlsfolge aus
dem Makrobefehl und die Adressen der folgenden Mikrobefehle aus den jeweils davor liegenden
Mikrobefehlen, gegebenenfalls nach Berücksichtigung zusätzlicher Bedingungen, abgeleitet werden,
dadurch gekennzeichnet, daß vom Makrobefehl die Adressen auch anderer als des ersten Mikrobefehls einer Mikrobefehlsfolge abgeleitet
werden.
2. Mikroprogrammgesteuerte Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet,
daß aus dem übrigen nicht den Operationscode umfassenden Teil des Makrobefehls eine weitere Mikrobefehlsadresse abgeleitet wird,
die einen Mikrobefehl oder eine diesem folgende Mikrobefehlsfolge auslöst, die nach dem aus dem
Operationscode des Makrobefehls abgeleiteten Mikrobefehl oder der diesem folgenden Mikrobefehlsfolge
ausgeführt wird (werden).
3. Mikroprogrammgesteuerte Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die aus dem übrigen Teil des Makrobefehls abgeleitete Mikrobefehlsadresse bis
zu deren Aufrufen zwischengespeichert wird.
4. Mikroprogrammgesteuerte Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß der aus dem Operationscode abgeleitete Mikrobefehl oder der letzte
Mikrobefehl der diesem folgenden Mikrobefehlsfolge das Aufrufen des der zwischengespeicherten
Mikrobefehlsadresse zugeordneten Mikrobefehls steuert.
5. Mikroprogrammgesteuerte Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß der Adreßteil aus zwei Teilen besteht, wovon einer ein Register
kennzeichnet, das eine Adresse des die Mikrobefehle enthaltenden Festwertspeichers enthält,
daß der Inhalt des Registers und der Adressenteil des Befehls addiert werden und daß die
Summe die Mikrobefehlsadresse bildet.
6. Mikroprogrammgesteuerte Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet, daß der Makrobefehl weitere Bits, insbesondere zur Kennzeichnung
von Bedingungen benutzte Bits, enthält.
In Betracht gezogene Druckschriften:
McCradern, Weiss, Lee: »Programming Business Computers«, John Wiley & Sons, Inc., New York, 1959, S. 171 ff.
McCradern, Weiss, Lee: »Programming Business Computers«, John Wiley & Sons, Inc., New York, 1959, S. 171 ff.
Hierzu 1 Blatt Zeichnungen
809 559/222 5.68 © Bundesdruckerei Berlin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1398164A GB1038710A (en) | 1964-04-04 | 1964-04-04 | Data processing systems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1270305B true DE1270305B (de) | 1968-06-12 |
Family
ID=10032873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEP1270A Pending DE1270305B (de) | 1964-04-04 | 1965-04-02 | Mikroprogrammgesteuerte Datenverarbeitungsanlage |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE1270305B (de) |
FR (1) | FR1439980A (de) |
GB (1) | GB1038710A (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2714805A1 (de) * | 1976-04-07 | 1977-10-20 | Honeywell Inf Systems | Datenverarbeitungssystem |
DE2846537A1 (de) * | 1978-10-26 | 1980-05-08 | Standard Elektrik Lorenz Ag | Mikroprozessorsystem |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3603936A (en) * | 1969-12-08 | 1971-09-07 | Ibm | Microprogrammed data processing system |
GB2138182B (en) * | 1983-04-14 | 1986-09-24 | Standard Telephones Cables Ltd | Digital processor |
-
1964
- 1964-04-04 GB GB1398164A patent/GB1038710A/en not_active Expired
-
1965
- 1965-04-01 FR FR11497A patent/FR1439980A/fr not_active Expired
- 1965-04-02 DE DEP1270A patent/DE1270305B/de active Pending
Non-Patent Citations (1)
Title |
---|
None * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2714805A1 (de) * | 1976-04-07 | 1977-10-20 | Honeywell Inf Systems | Datenverarbeitungssystem |
DE2846537A1 (de) * | 1978-10-26 | 1980-05-08 | Standard Elektrik Lorenz Ag | Mikroprozessorsystem |
Also Published As
Publication number | Publication date |
---|---|
GB1038710A (en) | 1966-08-10 |
FR1439980A (fr) | 1966-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2113891C2 (de) | Datenverarbeitungsanlage | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2714805C2 (de) | ||
DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE3689595T2 (de) | Datenverarbeitungssystem. | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2411963B2 (de) | Datenverarbeitungsanlage | |
DE1250659B (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DE2055739A1 (de) | Datenverarbeitungssystem | |
DE1915818A1 (de) | Elektronisches Datenverarbeitungssystem | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2064383C3 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE1806535B2 (de) | Seriell arbeitende digitale rechenanlage | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2418921C2 (de) | Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage | |
DE2759120C2 (de) | ||
DE1270305B (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage | |
DE3344340C2 (de) | Datenverarbeitungsanordnung zum Durchführen von Mikrobefehlen | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2856768C2 (de) | Prioritäts-Vektor-Unterbrechungsvorrichtung | |
DE1267887B (de) | Fehlererkennungseinrichtung zur UEberwachung von Programmverzweigungen in datenverarbeitenden Maschinen |