[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE2426874A1 - Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls - Google Patents

Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls

Info

Publication number
DE2426874A1
DE2426874A1 DE19742426874 DE2426874A DE2426874A1 DE 2426874 A1 DE2426874 A1 DE 2426874A1 DE 19742426874 DE19742426874 DE 19742426874 DE 2426874 A DE2426874 A DE 2426874A DE 2426874 A1 DE2426874 A1 DE 2426874A1
Authority
DE
Germany
Prior art keywords
address
microprogram
type
decoder
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19742426874
Other languages
English (en)
Inventor
Ronald Thomas Prodan
John Joseph Serra
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.)
Bunker Ramo Corp
Original Assignee
Bunker Ramo 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 Bunker Ramo Corp filed Critical Bunker Ramo Corp
Publication of DE2426874A1 publication Critical patent/DE2426874A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/261Microinstruction address formation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format

Landscapes

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

Description

Verfahren und Schaltungsanordnung zur Bestimmung der Adressenart eines Befehls
Die Erfindung bezieht sich auf ein Verfahren zur Bestimmung der Adressenart eines jeden Befehls in einer Mikroprogramm-Datenverarbeitungsanlage , wobei jeder Befehl einen Operationscode, einen die Adressenart angebenden Anhänger und einen Operanden umfaßt und die AdressenartbeStimmung "zum Aufsuchen des tatsächlichen Operanden des Befehls ausgenutzt wird, sowie auf eine Schaltungsanordnung zur Durchführung des Verfahrens.
Bei einer mikroprogrammierten Datenverarbeitungsanlage wird jeder Befehl durch Zugriff eines Unterprogramms aus Grundbefehlen durchgeführt , wobei jeder dieser Grundbefehle als Mikrobefehl bezeichnet wird. Ist die Folge von Mikrobefehlen für einen gegebenen Befehl beendet, so schaltet die Datenverarbeitungsanlage auf das nächste Unterprogramm weiter, d.h. greift zu einem Mikroprogramm, das den Zugriff zu einem ITächstbefehl veranlaßt. Die i'olge von Mikrobefehlen, die jedes Unterprogramm bildet, wird als Mikroprogramm bezeichnet, wobei ein getrenntes Mikroprogramm jedem Befehl zugeordnet ist.
409881/0910
Ein Befehl besteht gewöhnlich aus zwei Teilen, einem Operationscode und einer Operanden-Adresse. Bei einigen Anlagen kann jedoch der Operand und die Adresse auf verschiedene Weise dazu ausgenutzt werden, den tatsächlichen Operanden des Befehls in Abhängigkeit einer Adressenart des Befehls zu erhalten. Die Adressenart eines Befehls wird durch den Operationscode angegeben, gewöhnlich durch einen die Adressenart angebenden Anhänger, der aus den niedrigstwertigen Bits des Operationscodes gebildet ist. Die Anzahl der Bits, die für den Anhänger benutzt werden, hängt von der Anzahl der unterschiedlichen Adressenarten ab, die bei der Datenverarbeitungsanlage benutzt v/erden sollen. Bei einer Datenverarbeitungsanlage mit bis zu acht unterschiedlichen Adressenarten wird der Anhänger aus den drei niedrigstwertigen Bits des Operationscodes gebildet«.
Obwohl eine bestimmte Datenverarbeitungsanlage jede beliebige einer Vielzahl unterschiedlicher Adressenarten haben kann, wird nachfolgend eine Zusammenstellung der typischen Adressenarten in einer mikroprogrammierten Datenverarbeitungsanlage angegeben:
1. Direkte Art - ein aus zwei Worten bestehender Befehl, in dem das zweite Wort die niedrigstwertigen Bits der Adresse enthält, an der der tatsächliche Operand gespeichert ist, wobei die höchstwertigen Bits der Adresse die gegenwärtig in dem Programmzähler der Datenverarbeitungsanlage gespeicherte Sektoradresse angeben.
2. Direkte Art mit ITull-Sektor - das gleiche wie unter 1. mit der Ausnahme, daß die Adresse in dem zweiten Wort in dem UuIl-(ersten) -Sektor des Speichers ist.
3. Indirekte Art - das gleiche wie unter 1. mit der Ausnahme, daß die von der Adresse in dem zweiten Wort angegebene Speicherstelle anstelle des Operanden selbst eine Adresse enthält, wo der tat-
409881/0910
sächliche Operani gespeichert ist.
4. Indirekte Art mit Null-Sektor - das gleiche wie unter 3· der Ausnahme, daß die Adresse in dem zweiten Wort sich in dem. Hull-(ersten)-Sektor des Speichers findet.
5. Sofortige Art - ein.aus zwei Worten gebildeter Befehl, wobei das zweite Wort den tatsächlichen Operanden enthält.
6. Einzerwort-Art - dieses ist ein aus einem Wort bestehender Befehl, der keinen tatsächlichen Operanden hat, z.B. incrementiere den Akkumulator (increment accumulator).
7. Drei-Wort-Art - dieses ist ein aus drei Worten gebildeter Befehl, bei dem das zweite und dritte Wort die vollständige Operandenadresse enthalten, d.h., sowohl die Sektoradresse als auch die Adresse innerhalb des Sektors.
Bisher wurden mindestens vier verschiedene Verfahren zum Auffinden des tatsächlichen Operanden aus dem die Adressenart angebenden Anhänger und dem Bei"ehlsoperan en benutzt. Diese Verfahren sind:
1. Die Aufnahme der Adressenartphase des Zugriffs in die Ausführungsphase eines jeden Befehls. Dieses erfordert, daß ein Satz von Adressenart-Routinen für jedes Operationscode-Mikroprogramm vorgesehen wird, wobei in das Mikroprogramm bei Beginn der geeigneten Adressenart-Routine hineingegangen wird, die dem Mikroprogramm für den Operationscode des Befehls zugeordnet ist. Vom Ende einer jeden Adressenart-Routine gibt es eine Abzweigung in den Operationscodeteil des Mikroprogramms.
2. Aufbrechen eines Einzelbefehls in verschiedene Befehle, von denen jeder eine andere Adressenart darstellt. In diesem Fall
409881 /0910
_ Zj. —
gibt es ein getrenntes Mikroprogramm für jeden Operationscode bei jeder unterschiedlichen Adressenart, in der er benutzt werden kann. Hat z.B. eine Datenverarbeitungsanlage sieben Adressenarten, so sind auch für jeden Operationscode sieben Mikroprogramme gespeichert.
3· Das gleiche Verfahren wir unter 2. mit der Ausnahme, daß alle Adressenarten nicht für alle Befehle vorgesehen sind.
4-, Es wird eine zentrale Zugriffsroutine vorgesehen und die Bits des Anhängers geprüft, um die geeignete Adressenart zu erhalten.
Selbstverständlich hat jedes der vorstehend genannten Verfahren bestimmte Beschränkungen. Die Verfahren 1. und 2., besonders das Verfahren 2., erfordert eine erhebliche Vergrößerung des Mikroprogrammspeichers. Auch das Verfahren 3 erfordert eine Speichervergrößerung des Mikroprogrammspeichers und hat den weiteren Nachteil, daß die Flexibilität der Datenverarbeitungsanlage verschlechtert wird. Obwohl das Verfahren 4-. keine Vergrößerung des Mikroprogrammspeichers erforderlich macht und vollständige Flexibilität vorsieht, ergeben die aufeinanderfolgenden Prüfungen und Abzweigbefehle für bis zu 3 codierte Anhängerbits eine Anzahl von Mikroprogrammspeicherzyklen, die zur Wahl der geeigneten Adressenart für jeden Befehl erforderlich sind. Dadurch wird die Geschwindigkeit und die Kapazität der Datenverarbeitungsanlage erheblich vermindert.
Aufgabe der Erfindung ist es, ein Verfahren und eine Schaltungsanordnung für die Bestimmung der Adressenart und zur Auswahl des tatsächlichen Operanden zu schaffen, die keinen vergrößerten Mikroprogrammspeicher erfordern, alle Adressenarten für alle Befehle zulassen, wodurch sich eine vollständige Flexibilität der Datenverarbeitungsanlage ergibt, und die die Bestimmung einer
409881/0910
Adressenart während einer Zeitdauer durchführen, die nicht langer als für einen Mikroprograiambefehl ist*
Bei einem Verfahren der genannten Art ist diese Aufgabe gemäß der Erfindung dadurch gelöst, daß der den die Adressenart angebenden Anhänger enthaltende Teil eines auszuführenden Befehls an einen Befehlsdecoder gegeben wird, daß das Ausgangssignal des Decoders als Eintrittspunktadresse in einem Mikroprogramm-Speicher von Mikroprogramm-Mikrobefehlen benutzt wird, um das Auffinden des tatsächlichen Operanden für die vom Anhänger angegebene Adressenart zu steuern, daß das Ausgangssignal des Decoders in einem Mikroprogramm-Register für den Mikroprogramm-Speicher gespeichert wird und daß beginnend mit der gespeicherten Adresse die Mikroprogramm-Mikrobefehle ausgeführt werden, wobei der tatsächliche Operand durch Steuerung durch die Mikroprogramm-Mikrobefehle erhalten wird.
Gemäß einer Weiterbildung der Erfindung wird eine Schaltungsanordnung zur Durchführung des Verfahrens angegeben, die sich auszeichnet durch einen Mikroprogramm-Speicher, der Mikroprogramm-Mikrobefehle zum Steuern des Auffindens des !.wirksamen Operanden für einen Befehl in jeder der Adressenarten enthält, durch eine ein Mikroprogrammregister aufweisende Steuerschaltung zum Aufeinanderfolgenden Auslesen von Mikrobefehlen eines jeden Mikroprogramms, durch einen in Abhängigkeit eines die Adressenart angebenden Anhängers eines Befehls arbeitenden Decoder zur Erzeugung der Adresse eines Eintrittspunktes in dem Mikroprogrammspaicher, die zum Steuern des Auffindens des tatsächlichen Operanden für die vom Anhänger angegebene Adressenart ausgenutzt wird, durch eine auf jeden Befehl ansprechende und den Anhänger des Befehls an den Decoder gebende erste Schaltung und durch eine die aus dem Decoder aufgrund des Anhängers ausgelesene Adresse für den Eintrittspunkt an das Mikroprogrammregister gebende zweite Schaltung, wodurch die Ausführung der Mikroprogramm-Mikrobefehle für die angegebene
. 409881/0910
Adressenart beginnt, um das Auffinden des xdlrksamen Operanden zu steuern.
Bei einer bevorzugten Ausführungsform der Erfindung wird der Decoder auch zum Auffinden der Startadresse für das Operationscode-Mikroprogramm ausgenutzt, wobei der Operationscode an den Decoder gegeben wird, nachdem der die Adresse angebende Anhänger und die sich ergebende Startadresse in einem Zwischenregister gespeichert werden, bis die Ausführung des Adressenart-Mikroprogramms beendet ist.
Die Erfindung wird anhand eines in der Zeichnung dargestellten bevorzugten Ausführungsbeispiels näher erläutert. Im einzelnen zeigen:
1 ein schematisches Blockdiagramm der neuen Schaltungsanordnung,
2 ein die Arbeitsweise der Schaltungsanordnung angebendes Flußdiagramm und
Fig. 3 eine die Befehlsart schematisch angebende Darstellung.
In Fig. 1 ist ein Teil einer mikroprogrammxerten Datenverarbeitungsanlage dargestellt, der zur Bestimmung der Adressenart nach dem neuen Verfahren benutzt wird. Die Datenverarbeitungsanlage weist einen Hauptspeicher 10, in dem die auszuführenden Befehle zu speichern sind, und einen Mikroprogrammspeicher 12 auf. Ein zum Zugriff von Befehlen im Speicher 10 benutztes Mikroprogramm, das Zugriffs-Mikroprogramm, ist beginnend mit der Adresse Null im Speicher 12 gespeichert. Daran anschließend ist in Speicher 12 ein Adressenart-Mikroprogramm gespeichert. Das Adressenart-Mikroprogramm hat verschiedene Eintrittspunkte und verschiedene Abzweig-
409881/0910
oder Austrittspunkte, wobei ein'Eintrittspunkt in dem Adressenart-Mikroprogramm für jede Adressenart vorgesehen ist. Gewöhnlich ist ein getrennter Eintrittspunkt in das Adressenart-Mikroprogramm für gede Adressenart vorgesehen, obwohl in einigen Fällen die gleichen Eintrittspunkte für' zwei oder mehrere Adressenarten benutzt werden können. Der übrige Teil des Speichers 12 enthält verschiedene Durchführungsarten-Mikroprοgramme der Datenverarbeitungsanlage .
Wie zuvor angegeben, ist jedes Mikroprogramm aus einer Folge von Mikrobefehlen aufgebaut. Jeder aus dem Speicher 12 über Leitungen 13 ausgelesene Mikrobefehl wird an den Mikrobefehl-Decoder 14- gegeben. Wird angenommen, daß der Speicher 12 ein nur auslesefähiger Festkörperspeicher ist, so erscheinen die Ausgangssignale dauernd auf den Leitungen I3, solange ein Adressen-Eingangssignal an den Speicher gegeben wird. Der Decoder 14 erzeugt ausgewählte Steuersignale auf Leitungen 16 entsprechend den Bits oder der Bitzusammenstellung des Mikrobefehls. Für eine maximale Flexibilität steuert jede Leitung 16 eine besondere Funktion, wobei der Mikrobefehl decodiert wird, um zu bestimmen, wenn er eine besondere Funktion erfordert, worauf dann ein Signal auf der Leitung erscheint, wenn diese Funktion erforderlich ist. Bei dieser Arbeitsweise kann die an einem gegebenen Punkt des Mikroprogramms durchgeführte Funktion leicht geändert werden, indem lediglich der an diesem Punkt gespeicherte Mikrobefehl geändert wird. Bei einer anderen, jedoch weniger flexiblen Arbeitsweise decodiert der Decodierer 14 die Befehlsnummer, z.B. den ersten Befehl der Zugriffs-Eoutine, und die einem jeden Befehl entsprechenden Leitungen ,sind als Hardware an die verschiedenen Punkte der Schaltung sanordnung.geführt, an denen sie gebraucht werden. Fig. 1 zeigt beide Arbeitsweisen, indem verschiedene Steuerleitungen vorgesehen sind, und zeigt auch die Befehle, die das Erscheinen von Signalen auf den Leitungen bewirken. Da die Befehle und die zugehörigen
409881/0910
Oder-Glieder nur wahlweise vorzusehen sind und gewöhnlich bei der bevorzugten Ausführungsform der Schaltungsanordnung nicht benutzt werden, wurden diese Leitungen und Bauelemente gestrichelt dargestellt.
Der Zugriff zum Hauptspeicher 10 erfolgt unter Steuerung von einem Speicheradressenregister (SAR) 18, wobei die Adresseneingangssignale an den Speicher über ein Gatter 20 zugeführt werden, das von einem Steuersignal auf einer Leitung 16a vom Decoder 14 eingeschaltet wird. Zur weiteren Erläuterung der bevorzugten Ausführungsform der Schaltungsanordnung ist angegeben, daß das Steuersignal für den zweiten Befehl des Zugriff-Mikroprogramms (F2) und für einen ausgewählten X-Befehl einer Adressenart-Routine (AMX) erzeugt wird. Das Ausgangssignal vom Gatter 20 wird zusätzlich zum Zugriff zum Speicher 10 auch noch an eine Hauptleitung 22 gegeben. Signale auf der Hauptleitung 22 werden als Informationseingangssignale an eine Rechne reinheit 24- gegeben, deren Ausgangssignale an eine Ausgangs-Hauptleitung 26 gegeben xverden. Ein Add -Steuersignal kann an die Rechnereinheit24 über die Leitung 16^ gegeben werden. Bei dem bevorzugten Ausführungsbeispiel werden die Signale an die Leitung 16B während der Mikrobefehls-Zeiten ΙΊ und Έ2. gegeben.
Die Schaltungsanordnung umfaßt ein Programmzähler-Register (PCR) 28, dessen Ausgangssignal über ein Gatter 30 an die Hauptleitung 22 gegeben wird. Das Gatter 30 wird von einem Steuersignal auf der Leitung 160 durchgeschaltet. Bei dem bevorzugten Ausführungsbeispiel erscheint ein Signal auf der Leitung 16c zur Zeit 3Γ1.
Die Ausgangs-Hauptleitung 26 ist als Informationseingangsleitung mit Gattern 32, 34, 36 und 38 verbunden. Das Gatter 32 gibt die Signale auf der Hauptleitung 26 an das Register 18 und wird von einem Steuersignal auf der Leitung 16D durchgeschaltet. Bei der bevorzugten Ausführungsform erscheinen die Signale auf der Leitung 16D zu den Zeiten und P2. Das Gatter 34 gibt die Signale auf
409881/0910
der Hauptleitung 26 an ein Zwischenregister 40. Das Gatter 34 wird von einem Steuersignal auf einer Leitung 16E durchgeschaltet, wobei ein Signal auf dieser Leitung während des ersten Mikrobefehls des Adressenart-Mikroprogramms erscheint, der für jede Adressenart ausgeführt wird. Das Gatter 36 gibt die Signale auf der Hauptleitung 26 an einen Mikroprogramm-Zähler oder -Register 42. Das Gatter 36 wird von einem Steuersignal auf einer Leitung 16;p durchgeschaltet, \robei ein Signal auf dieser Leitung bei dem bevorzugten Ausführungsbeispiel zur Zeit C während des Mikrobefehls P3 oder während des letzten Mikrobefehls des Adressenart-Mikroprogramms erscheint, das für jede Adressenart ausgeführt wird. Die Taktzeit C ist die Zeit, bei der ein neuer Mikrobefehl am Ausgang des Speichers 12 erscheint. Das Gatter 38 gibt die Signale auf der Hauptleitung 26 an das Programmzähler-Register 28 und wird von einem Steuersignal auf einer Leitung 16 g· durchgeschaltet. Bei dem bevorzugten Ausführungsbeispiel erscheint ein Signal auf der Leitung 16g während der Zeiten von ΙΊ und Έ2.
Das Ausgangssignal des Zwischenregisters 40 wird durch ein Gatter 44 an die Hauptleitung 22 gegeben, das von einem Steuersignal auf eine Leitung 16E durchgeschaltet wird. Auf der Leitung 16H erscheint ein Signal zur Zeit des Mikrobefehls ]?3· Die Inhalte des Mikroprogramm-Registers 42 werden kontinuierlich ausgegeben, um den Mikroprogrämmspeicher 12 zu adressieren und eine Auslesung zu veranlassen. Das Mikroprogramm-Register 42 kann von einem Signal auf eine Leitung 161 zurückgesetzt und von einem Signal auf eine Leitung 16j ' weitergezählt werden. Bei einem bevorzugten Ausführungsbeispiel erscheint ein Signal auf der Leitung 16l während der Zeit C des letzten Mikrobefehls bei jeder Durchführung des Adressenarten-Programms und auch auf der Leitung 16j jeweils zur Zeit C.
409881/0910
Die aus dem Speicher ΊΟ ausgelesenen Befehle sind in einem Speicherdaten-Register 50 gespeichert. Der Aufbau eines "beispielsweisen Befehls, wie er im Speicher 10 gespeichert ist, ist in Fig. 3 gezeigt. Der Befehl enthält zwei Worte mit jeweils acht Bit, so daß der Gesamtbefehl sechzehn Bit hat. Die ersten fünf Bit des ersten Wortes enthalten den Operationscode und die nächsten drei Bits den die Adressenart angebenden Anhänger. Das zweite die letzten acht Bit des Befehls enthaltende Wort speichert den Befehlsoperan den. Die Ausgangsleitungen von den fünf Bitstellen des Speicherdaten-Registers 50, die den Operationscode enthalten, sind über einen Schalter 52 an einen Befehlsumformer oder -decoder 54- herkömmlicher Bauart geführt, während die Ausgangsleitungen von den drei Bits für den Anhäger des Speicherdaten-Registers 50 unmittelbar an den Umformer 54- geführt sind. Der Umformer 54· kann z.B. ein nur auszulesender Speicher sein. Der Schalter 52 wird von einem Steuersignal auf der Leitung 16C durchgeschaltet, wobei ein Signal auf dieser Leitung bei der bevorzugten Ausführungsform zur Zeit des letzten Mikrobefehls F3 erscheint. Die ersten acht Adressenpositionen in dem Umformer 54- enthalten die Eintrittpunktadressen für die verschiedenen Adressenarten im Adressenarten-Mikroprogramm im Speicher 12, während der übrige Umformer die Startadressen im Speicher 12 der Ausführungsarten-Mikroprogramme enthält. Der Umformer 54- wird von einem Steuersignal auf einer Leitung 16L durchgeschaltet, wobei ein Signal auf dieser Leitung bei der bevorzugten Ausführungsform zur Zeit F3 und AM1 auftritt. Die Ausgangssignale des Umformers 54- werden an die Ausgangs-Hauptleitung 26 gegeben.
Das in Fig. 2 gezeigte Flußdiagramm zeigt die verschiedenen Schritte, die zur Bestimmung der Adressenart und der zugehörigen Funktionen mit der in Fig. 1 gezeigten Schaltungsanordnung ausgeführt werden. Es wird angenommen, daß -zu Beginn alle Register
409881/0910
und Zähler mit Ausnahme des Programmzähler-Registers 28 auf Null gesetzt sind, während das Programmzähler-Register die Adresse des als nächster auszuführenden Befehls im Speicher Ί0 enthält. Die Nullsetzung des Mikroprogramm-Registers 42 bedeutet, daß das durchzuführende Mikroprogramm das Zugriffs-Mikroprogramm ist. Die Null-Adresse wird an den Mikroprogramm-Speicher 12 gegeben, wodurch der Mikrobefehl 11 ausgelesen und an den Mikrobefehls-Decoder 14 gegeben .wird.
Der Mikrobefehl S1I bewirkt im Decoder 14, daß ein Signal auf der Leitung 16C erscheint, wodurch das Gatter 30 durchgeschaltet wird, um den Programmzählerstand im Programmzähler-Register 28 über die Hauptleitung 22 an die Rechnereinheit 24 zu geben. Auf der Leitung 16B erscheint ebenfalls zu dieser Zeit ein Signal, wodurch die Adresse um eins weitergezählt wird und über die Hauptleitung 26 und die durchgeschalteten Gatter 32 und 38 an. das Speicheradressen-Register 18 und das Programmzähler-Register 28 gegeben werden. Die Adresse des nächsten zuzugreifenden Befehls wird auf diese Veise in das Speicheradressen-Register eingegeben und der Zählerstand des Programmzähler-Registers weitergezählt. Auf diese Veise wird der in Fig. 2 gezeigte Schritt 60 durchgeführt.
Bei der nächsten Taktzeit C erhält die Leitung 16J ein Signal, das das Mikroprogramm-Register 42 auf die Adresse des zweiten Zugriffs-Mikrobefehls (1*2) zählt. Der zweite Befehl der Zugriffs-Routine wird auf diese Weise in den Decoder 14 gelesen. Das Decodieren des Mikrobefehls 3?2 bewirkt ein Signal auf der Leitung 16A, das das Gatter 20 durchschaltet, um die Adresse des Speicheradressen-Registers 18 in den Hauptspeicher 10 zu überführen, wodurch der Befehl an der angegebenen Adresse in das Speicherdaten-Register 50 gelesen wird. Die Inhalte des Speicheradressen-Registers 18
409881/0 910
werden über die Hauptleitung 22 und die Rechnereinheit 24, an der die Adresse unter Steuerung eines Signales ADD-1 auf der Leitung 16B um eins erhöht wird, der Ausgangshauptleitung 26 zugeführt. Die um eins erhöhte Adresse auf der Ausgangshauptleitung 26 wird über die durchgeschalteten Gatter 32 und 38 an das Speicheradressen-Register 18 und das Programmzähler-Register 28 gegeben, um in diesen gespeichert zu werden. Die Adresse des zweiten Wortes des Befehls, das den Befehlsoperanden enthält, wird auf diese V/eise sowohl im Speicheradressen-Register und dem Programmzähler-Register gespeichert. Die in Fig. 2 als Schritt 62 angegebenen Operationen v/erden auf diese Weise durchgeführt.
Bei der nächsten Taktzeit C wird das Mikroprogramm-Register 42 erneut weitergezählt, wodurch der dritte Befehl der Zugriffs-Routine in den Mikrobefehl-Decoder 14 eingelesen wird. Unter Steuerung des Mikrobefehls FJ gelangt ein Steuersignal an die Leitung 16L, wodurch der Befehlsumformer 54 eingeschaltet wird. Da zu diesem Zeitpunkt der Schalter 52 jedoch nicht durchgeschaltet ist, gelangen nur die drei niedrigstwertigen Bits im Speicherdaten-Register 50, die den die Adressenart angebenden Anhänger enthalten, an den Umformer 5^· Durch Zuführung dieses Anhängers erzeugt der Umformer 54 ein Ausgangssignal, das die Adresse im Speicher 12 angibt, die den Eintrittspunkt für das Adressenarten-Mikroprogramm für die von dem Anhänger jeweils angegebene Adressenart ist. Die vom Umformer 54 ausgegebene Adresse wird über die Ausgangshauptleitung 26 an das Gatter 36 gegeben. Bei der nächsten Taktzeit C wird das Gatter 36 durchgeschaltet, um die Adresse für den Eintrittspunkt für das Adressenart-Mikroprogramm im Mikroprogramm-Register 42 zu speichern. Der Mikrobefehls-Decoder 14 ist so ausgebildet, daß ein Signal auf der Leitung Λ6Έ die Erzeugung eines Signals auf der Leitung 16J verhindert, um ein Weiterzählen der den Eintrittspunkt angebenden Adresse zu verhindern, die in dem Mikroprogramm-Register gespeichert ist. Andererseits kann das Mikroprogramm-Register ein Zähler sein,
409881/0910
bei dem ein Informationseingangssignal ein gleichzeitig erhaltenes Zähl-Eingangssignal überflügelt. Auf diese Weise werden die in Fig. 2 als Schritt 64 angegebenen Operationen durchgeführt.
Die Adresse für den Eintrittspunkt im Mikroprogramm-Register 42 bewirkt, daß der erste Mikrobefehl für die gewählte Adressenart im Adressenarten-Mikroprogramm an den Mikrobefehls-Decoder 14 gegeben wird. Die Abzweigung zum Adressenarten-Mikrobprogramm wird mit dem Schritt 66 auf diese Weise vorgenommen.
Während des ersten Mikrobefehls des - Adressenarten-Mikroprogramms für jede Adressenart erscheint ein Signal auf der Leitung 16K, das den Schalter 52 durchschaltet, um die fünf höchstwertigen, in dem Speicherdaten-Register 50 gespeicherten Bits, nämlich die Bits des Operationscode, an den Umformer 54 zu geben. Der Umformer 54 wird außerdem in diesem Zeitpunkt von einem Signal auf der Leitung 16L eingeschaltet. Dadurch wird die Adresse des ersten Mikrobefehls des erforderliehen, durchzuführenden Arten-Mikroprogramms in die Ausgangshauptleitung 26 ausgelesen. Das Decodieren des Mikrobefehls bewirkt außerdem, daß ein Signal auf der Leitung 16E erscheint, wodurch das Gatter 34 durchgeschaltet wird, um die Adresse auf der Ausgangshauptleitung 26 in das Zwischenregister 40 zu geben. Auf diese Weise werden die durch den Schritt 68. in Fig. 2 angegebenen Operationen durchgeführt.
Die übrigen Operationen, die unter Steuerung des'Adressenart-Mikroprogramms durchgeführt werden, ändern sich mit der Adressenart und die genaue Art dieser Opertionen bilden auch keinen Teil der vorliegenden Erfindung. Diese Operationen werden daher hier auch nicht im einzelnen beschrieben. Es ist jedoch darauf hinzuweisen, daß unter fast allen Umständen der zweite oder dritte Mikrobefehl des Adressen-Mikroprogramms, das ausgeführt wird, ein Signal auf. der Leitung 16A bewirken, wodurch das Gatter 20 durchgeschaltet wird,
409881 /0910
so daß das zweite Wort des Befehls, das den Operanden enthält, in das Speieherdaten-Register 50 ausgelesen wird. Auf diese Weise wird der in Fig. 2 Schritt 70 ausgeführt.
Der letzte Schritt des Adressenarten-Mikroprogramms, unabhängig von der Adressenart des Befehls, veranlaßt die Datenverarbeitungsanlage, auf ein geeignetes Ausführungsarten-Mikroprogramm übersugehen. Dieses wird, wie durch den Schritt 72 angegeben, durch Übergabe der Adresse im Zwischenregister 40 an das Mikroprogramm-Register 4-2 bewirkt.
Das Eingeben der Adresse für das Ausführungsarten-I-Iikroprogramm in den Programm-Zähler 4-2 bewirkt, daß der erste Mikrobefehl des Ausführungsarten-Mikroprogramms in den Mikrobefehls-Decoder 14 eingelesen wird. Die Mikrobefehle des Ausführungsarten-Mik©programms werden dann nacheinander ausgelesen und durchgeführt, bis der letzte Mikrobefehl des Mikroprogramms erreicht, ist, wie dieses durch den Schritt 74- angegeben ist. Zur Taktzeit C am Ende der Ausführung dieses Mikrobefehls, des Mikrobefehls EMN, erscheint ein Signal auf der Leitung 161, wodurch der Inhalt des Programmregisters 42 auf Hull zurückgesetzt wird, was im Schritt 76 stattfindet. Wie zuvor angegeben, enthält die Null-Adresse im Mikroprogrammspeieher 12 den ersten Mikrobefehl des Befehlszugriffs-Mikroprogramms. Auf diese Weise wird mit dem Schritt 78 ein Übergang zum Zugriffs-Mikroprogramm vorgenommen, wodurch die Operationen zum Schritt 60 zurückgeführt werden, um damit die unter Steuerung durch den Mikrobefehl F1 angegebenen Operationen durchzuführen.
Mit der neuen Schaltungsanordnung ist daher die Adressenart für einen Befehl in einer mikroprogrammierten Datenverarbeitungsanlage zu bestimmen, die auf einen bestimmten Eintrittspunkt in einem Mikroprogramm zur Durchführung der Adressenarten-Funktionen während der Zeit nur eines Mikroprogramm-Speicherbefehls übergeht, wobei nur ein einziges Mehrfach-Eintrittspunkt-Mikroprogramm für die Adressenarten-Funktionen und nur ein einzelnes Mikroprogramm für
409881/0910
jeden Ausführungs-Operationscode gespeichert werden muß. Schließlich bewirkt die Schaltungsanordnung eine vollständige Flexibilität, da jeder Befehl in allen Adressenarten durchgeführt werden kann.
In der vorstehenden Beschreibung wurden Einzelheiten für solche Punktionen, wie z.B. das Auslesen von Mikrobefehlen aus dem Mikroprogrammspeicher 12 und das Decodieren dieser Mikrobefehle in dem Decoder 14, nicht erläutert. Selbstverständlich können diese oder vergleichbare Funktionen der Schaltungsanordnung in gleicher V/eise durchgeführt werden, wie bereits bei herkömmlichen mikroprogrammierten Datenverarbeitungsanlagen, wie z.B. die speicherbare Steuereinheit der Bunker Eamo Market Decision System 7· Die Einzelheiten bei der Anwendung des neuen Verfahrens und auch der Schaltungsanordnung ändern sich mit der gerade benutzten, besonderen Datenverarbeitungsanlage. Wurde daher bei der bevorzugten Ausführungsform des Verfahrens ein Befehl mit zwei Worten benutzt, was erfordert, daß die Ausführungsart-Startadresse in einem Zwischenregister gespeichert wird, so daß der Operand in das Speieherdaten-Register eingegeben werden kann, kann selbstverständlich auch bei einem größeren Speicherdaten-Register und einem nur ein Wort aufweisenden Befehl die Decodierung des Operationscode auch am Ende anstatt bei Beginn des Adressenarten-Mikroprogramms durchgeführt werden, wodurch diese Adresse nicht zwischengespeichert werden muß. Ein getrenntes Adressenarten-Mikroprogramm für jede Adressenart kann ebenfalls bei einigen Anwendungen anstelle des einzelnen Mehrfach-Eintrittspunkt-Mikroprogramms benutzt werden, das zuvor beschrieben wurde. Diese und andere Änderungen und Modifikationen sowohl des Verfahrens als auch der neuen Schaltungsanordnung können vorgenommen werden, ohne daß der Erfindungsgedanke verlassen wird.
409881/0910

Claims (10)

  1. Patentansprüche
    (j\J Verfahren zur Bestimmung, der Adressenart eines jeden Befehls in einer Mikroprogramm-Datenverarbeitungsanlage, wobei jeder Befehl einen Operationscode, einen die Adressenart angebenden Anhänger und einen Operanden umfaßt und die AdressenartbeStimmung zum Aufsuchen des tatsächlichen Operanden des Befehls ausgenutzt wird, dadurch gekennzeichnet , daß der den die Adressenart angebenden Anhänger enthaltende Teil eines auszuführenden Befehls an einen Befehlsdecoder gegeben wird, daß das Ausgangssignal des Decoders als Eintrittspunktadresse in einem Mikroprogramm-Speicher von Mikroprogramm-Mikrobefehlen benutzt xvird, um das Auffinden des tatsächlichen Operanden für die vom Anhänger angegebene Adressenart zu steuern, daß das Ausgangssignal des Decoders in einem Mikroprogramm-Register für den Mikroprogramm-Speicher gespeichert wird und daß beginnend mit der gespeicherten Adresse die Mikroprogramm-Mikrobefehle ausgeführt werden, wobei der tatsächliche Operand durch Steuerung durch die Mikroprogramm-Mikrobefehle erhalten wird.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet , daß der den Operationscode enthaltende Teil des Befehls an den Befehlsdecoder gegeben wird, nachdem der den Anhänger enthaltende Teil des Befehls an diesen gegeben wurde, daß das Ausgangssignal des Decoders in Abhängigkeit der Zuführung des Operationscode an diesen die Startadresse in dem Mikroprogramm-Speicher zur Steuerung der Ausführung der von dem Operationscode angegebenen Operation ist und daß das die Startadresse angebende Ausgangssignal des Decoders in einem Zwischenspeicher gespeichert wird.
  3. 3· Verfahren nach Anspruch 2, dadurch gekennzeichnet , daß die in dem Zwischenspeicher gespeicherte Startadresse am Ende der Ausführung der Mikrobefehle des Mikroprogramms zur Steuerung
    409881/0910
    des Auffindens des tatsächlichen Operanden an das Mikroprogramm-Register übergeben wird.
  4. 4. Schaltungsanordnung zur Bestimmung der Adressenart eines Befehls in einer Mikroprogramm-Datenverarbeitungsanlage, wobei jeder Befehl einen Operationscode, einen die Adressenart angebenden Anhänger und einen Operanden umfaßt und die Adressenartbestimmung zum Aufsuchen des tatsächlichen Operanden des Befehls ausgenutzt wird, gekennzeichnet durch einen Mikroprogramm-Speicher (12), der Mikroprogramm-Mikrobefehle zum Steuern des Auffindens des wirksamen Operanden für einen Befehl in jeder der Adressenarten enthält, durch eine ein Mikroprogramm-Register (42) aufweisende Steuerschaltung (161, 16F, 36, 42) zum aufeinanderfolgenden Auslesen von Mikrobefehlen eines jeden Mikroprogramms, durch einen in Abhängigkeit eines die Adressenart angebenden Anhängers eines Befehls arbeitenden Decoder (14) zur Erzeugung der Adresse eines Eintrittspunktes in dem Mikroprogramm-Speicher, die zum Steuern des Auffindens des tatsächlichen Operanden für die vom Anhänger angegebene Adressenart ausgenutzt wird, durch eine auf jeden Befehl ansprechende und den Anhänger des Befehls an den Decoder gebende erste Schaltung (52) und durch eine die aus dem Decoder aufgrund des Anhängers ausgelesene Adresse für den Eintrittspunkt an das Mikroprogramm-Register gebende zweite Schaltung (54), wodurch die Ausführung der Mikroprogramm-Mikrobefehle für die angegebene Adressenart beginnt, um das Auffinden des wirksamen Operanden zu steuern.
  5. 5· Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet , daß die Mikroprogramm-Mikrobefehle ein Adressenart-Mikroprogramm mit einem bestimmten Eintrittspunkt für jede Adressenart bilden.
  6. 6. Schaltungsanordnung nach Anspruch 5, dadurch g e k e η η ζ e i ch η e t , daß ein getrennter Eintrittspunkt innerhalb jedes Adressenart-Mikroprogramms für jede der Adressenarten vorge-
    409881/0910
    sehen ist.
  7. 7. Schaltungsanordnung nach Anspruch 5 oder 6, dadurch gekennzeichnet , daß der Mikroprogramm-Speicher (12) auch ein Mikroprogramm für jeden Operationscode zur Steuerung der Ausführung des Befehls enthält, wobei der Decoder (54) auch in Abhängigkeit des Operationscodes eines Befehles zur Erzeugung einer Startadresse in dem Mikroprogramm-Speicher betätigbar ist, um die Ausführung der von dem Code angegebenen Operation zu steuern, und daß eine dritte Schaltung zum aufeinanderfolgenden Zuführen des die Adressenart angebenden Anhängers eines Befehls und des Operationscodes eines Befehls an den Decoder vorgesehen ist.
  8. 8. Schaltungsai Ordnung nach Anspruch 7i dadurch gekennzeichnet, daß ein Zwischenregister (40) und eine vierte Schaltung (34) zum Speichern der vom Decoder (54) ausgelesenen Startadresse für das Mikroprogramm in Abhängigkeit des Opertionscodes in dem Zwischenspeicher vorgesehen sind.
  9. 9. Schaltungsanordnung nach Anspruch 8, dadurch gekennzeichnet, daß eine fünfte Schaltung (44) vorgesehen ist, die bei der Ausführung des Mikroprogramms zur Steuerung der Ausführung der vom Operationscode eines Befehls angegebenen Operation betätigbar ist, um die "Übergabe der Startadresse für das Mikroprogramm vom Zwischenregister (40) zum Mikroprogramm-Register (42). zu beginnen.
  10. 10. Schaltungsanordnung nach einem Ansprüche 5 bis % dadurch gekennzeichnet , daß die dritte Schaltung (50, 52) zur Zuführung des die' Adressenart angebenden Anhängers des Befehls an den Decoder (54) einen Schalter (52) aufweist, der die Zuführung des Operationscodes an den Decoder sperrt, wenn der Anhänger an den Decoder gegeben wird.
    409881/0910
    ft .
    Leerseite
DE19742426874 1973-06-07 1974-06-04 Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls Withdrawn DE2426874A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/367,756 US3958221A (en) 1973-06-07 1973-06-07 Method and apparatus for locating effective operand of an instruction

Publications (1)

Publication Number Publication Date
DE2426874A1 true DE2426874A1 (de) 1975-01-02

Family

ID=23448471

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742426874 Withdrawn DE2426874A1 (de) 1973-06-07 1974-06-04 Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls

Country Status (9)

Country Link
US (1) US3958221A (de)
JP (1) JPS5023543A (de)
CA (1) CA1029472A (de)
DE (1) DE2426874A1 (de)
FR (1) FR2232798B3 (de)
GB (1) GB1434702A (de)
IL (1) IL44838A (de)
IT (1) IT1014826B (de)
SE (1) SE402991B (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1016854B (it) * 1974-08-21 1977-06-20 Olivetti & Co Spa Calcolatore elettronico di elabora zione dati
US4205372A (en) * 1974-09-25 1980-05-27 Data General Corporation Central processing unit employing microprogrammable control for use in a data processing system
JPS52119832A (en) * 1976-04-01 1977-10-07 Toshiba Corp Electroinc calculator of microprogram control system
US4173041A (en) * 1976-05-24 1979-10-30 International Business Machines Corporation Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length
US4323964A (en) * 1976-11-01 1982-04-06 Data General Corporation CPU Employing micro programmable control for use in a data processing system
US4161026A (en) * 1977-11-22 1979-07-10 Honeywell Information Systems Inc. Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes
US4307445A (en) * 1978-11-17 1981-12-22 Motorola, Inc. Microprogrammed control apparatus having a two-level control store for data processor
US4330823A (en) * 1978-12-06 1982-05-18 Data General Corporation High speed compact digital computer system with segmentally stored microinstructions
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
JPS5831232A (ja) * 1981-08-19 1983-02-23 Matsushita Electric Ind Co Ltd 輻射暖房装置
US4491908A (en) * 1981-12-01 1985-01-01 Honeywell Information Systems Inc. Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit
JP2554050B2 (ja) * 1986-02-26 1996-11-13 株式会社日立製作所 デ−タ処理方法
US5187782A (en) * 1986-02-26 1993-02-16 Hitachi, Ltd. Data processing system
GB2203572B (en) * 1987-03-24 1991-11-27 Insignia Solutions Limited Improvements in data processing means
US5123096A (en) * 1987-08-03 1992-06-16 Masahito Matuo Data processor with addressing mode decoding function
DE68927313T2 (de) * 1988-06-27 1997-05-07 Digital Equipment Corp Operandenspezifiererverarbeitung
JPH0769806B2 (ja) * 1988-10-14 1995-07-31 三菱電機株式会社 データ処理装置
US5542058A (en) * 1992-07-06 1996-07-30 Digital Equipment Corporation Pipelined computer with operand context queue to simplify context-dependent execution flow

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3302183A (en) * 1963-11-26 1967-01-31 Burroughs Corp Micro-program digital computer
US3422404A (en) * 1966-02-23 1969-01-14 David E Ferguson Apparatus and method for decoding operation codes in digital computers
US3657705A (en) * 1969-11-12 1972-04-18 Honeywell Inc Instruction translation control with extended address prefix decoding
BE758815A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information presentant des moyens pour la preparation dynamique d'adresses de memoire
US3599186A (en) * 1970-05-14 1971-08-10 Ibm Memory-centered computer system

Also Published As

Publication number Publication date
IL44838A (en) 1976-08-31
SE7407150L (de) 1974-12-09
FR2232798A1 (de) 1975-01-03
CA1029472A (en) 1978-04-11
JPS5023543A (de) 1975-03-13
IL44838A0 (en) 1974-07-31
GB1434702A (en) 1976-05-05
SE402991B (sv) 1978-07-24
US3958221A (en) 1976-05-18
IT1014826B (it) 1977-04-30
FR2232798B3 (de) 1977-04-08

Similar Documents

Publication Publication Date Title
DE2542740C2 (de) Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE3687724T2 (de) Digitalprozessorsteuerung.
DE2646162C3 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2426874A1 (de) Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls
DE2813128C2 (de) Steuereinrichtung für Mikroprogrammspeicher
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2542751C2 (de) Datenverarbeitungsanlage
DE3688824T2 (de) Datenverarbeitungssystem.
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE2715073C3 (de) Mikroprogrammierte Rechner-Steuervorrichtung
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2611892C2 (de) Mikroprogramm-Steueranordnung
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2714805A1 (de) Datenverarbeitungssystem
DE2446224A1 (de) Vorrichtung zum steuern des mikroprogramms im operationssystem einer digitalen datenverarbeitungsanlage
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2717658A1 (de) Anordnung zur ansteuerung eines mikroprogrammspeichers
DE2746505C2 (de)
DE2339636A1 (de) Programmsteuereinrichtung
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE3121742C2 (de) Mikroprogramm-Steuereinrichtung
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
DE3116385C2 (de) Mikroprogramm-Steuerung

Legal Events

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