DE1270305B - Mikroprogrammgesteuerte Datenverarbeitungsanlage - Google Patents

Mikroprogrammgesteuerte Datenverarbeitungsanlage

Info

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
Application number
DEP1270A
Other languages
English (en)
Inventor
Antony Peacock
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1270305B publication Critical patent/DE1270305B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction 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

BUNDESREPUBLIK DEUTSCHLAND
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
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
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.
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.
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)

Patentansprüche:
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.
Hierzu 1 Blatt Zeichnungen
809 559/222 5.68 © Bundesdruckerei Berlin
DEP1270A 1964-04-04 1965-04-02 Mikroprogrammgesteuerte Datenverarbeitungsanlage Pending DE1270305B (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
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