DE2846495C2 - Zentraleinheit - Google Patents

Zentraleinheit

Info

Publication number
DE2846495C2
DE2846495C2 DE2846495A DE2846495A DE2846495C2 DE 2846495 C2 DE2846495 C2 DE 2846495C2 DE 2846495 A DE2846495 A DE 2846495A DE 2846495 A DE2846495 A DE 2846495A DE 2846495 C2 DE2846495 C2 DE 2846495C2
Authority
DE
Germany
Prior art keywords
register
operand
information
command
byte
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.)
Expired - Lifetime
Application number
DE2846495A
Other languages
English (en)
Other versions
DE2846495A1 (de
Inventor
William D Strecker
Thomas N Hastings
Richard F Lary
David P Rodgers
Steven H Rothman
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE2846495A1 publication Critical patent/DE2846495A1/de
Application granted granted Critical
Publication of DE2846495C2 publication Critical patent/DE2846495C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

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)
  • Advance Control (AREA)

Description

Die Erfindung betrifft eine Zentraleinheit für die Verarbeitung von Operanden entsprechend Befehlen in einem Datenverarbeitungssystem, ent­ sprechend dem Oberbegriff des Patentanspruchs 1.
Eine Zentraleinheit dieser Art, welche die Anwendung einer Vielzahl von Adressierungsarten ermöglichen soll, ist beschrieben in einer Veröffent­ lichung von H. Katzan in "Computer Systems Organization and Programming", 1976, Science Research Associates, Inc., insbesondere Seiten 60 bis 62, sowie 128 bis 135.
Andere Datenverarbeitungssysteme vergleichbarer Art sind in verschiedenen US-Patentschriften der Anmelderin beschrieben. Und zwar in der US-PS 3 614 740, die ein Datenverarbeitungssystem mit Schaltungen betrifft, um zwischen Operationsprogrammen, Unterbrechungsprogrammen und Unterprogrammen zu übertragen; in der US-PS 3 614 741, die ein Datenverarbeitungssystem mit Befehlsadressen betrifft, die eines einer Anzahl Register mit dem Pro­ grammzähler identifiziert; in der US-PS 3 710 324, die ein Datenverarbeitungs­ system betrifft; in der US-PS 3 999 163, die einen Sekundärspeicher für ein Datenverarbeitungssystem betrifft.
Ein digitales Datenverarbeitungssystem weist drei Grundelemente auf, nämlich ein Speicherelement, ein Ein-Ausgabe-Element und eine Zentraleinheit. Das Speicherelement speichert Information am adressier­ baren Speicherstellen. Diese Information weist Daten und Befehle zum Verarbeiten der Daten auf. Die Zentraleinheit überträgt Information von dem Speicherelement und interpretiert die ankommende Information entweder als Daten oder als einen Befehl. Ein Befehl weist einen Operationskode auf, welcher in kodierter Form die von der Zentraleinheit durchzuführende Operation im einzelnen festlegt. Ein Befehl kann auch Information auf­ weisen, welche einen oder mehrere Operanden genau bestimmt. Diese In­ formation wird Operandenspezifikationsteil genannt.
Bei verschiedenen Datenverarbeitungssystemen wird eine Vielzahl von Verfahren verwendet, um eine Operandenadresse genau festzulegen. In der vorstehend erwähnten US-PS 3 614 741 ist ein Operandenspezifikationsteil mit einem Adressenregister und einem Modusdeskriptor beschrieben. Mittels des Modusdeskriptors kann der Programmierer die Stelle des Operanden, welcher in der nächsten Programmstelle in dem Speicherelement vorhanden sein kann, in einem Register festlegen, das durch die Registeradresse bezeich­ net ist, oder an einer Stelle, welche durch eine Adresse genau festgelegt ist, die mit Hilfe der in dem bezeichneten Register gespeicherten Information berechnet wird. In diesem speziellen Datenverarbeitungssystem ist es auch möglich, einen indizierten Adressiermodus zu schaffen. Dies wird durch Spezifizieren des Programmzählers als designiertes Register erreicht. Das System kann dann den Inhalt des Programmzählers als Basis­ adresse verwenden und das auf den Befehl folgende Wort wird als ein Indexwert interpretiert, welcher zu der Basisadresse hinzuaddiert wird, um entweder die Operandenadresse oder die Adresse der Operandenadresse zu erhalten.
Bei anderen Datenverarbeitungssystemen werden andere Adressier­ arten verwendet. Beispielsweise wird ein Befehl in einem bestimmten Format aufgebaut, um ein Feld für eine indizierte Adressierung zu erhalten. Dieses Feld legt dann genau ein Indexregister fest und verwendet einen vorbestimmten Fehlerwert, um ein indiziertes Adressieren zu verhindern. Je­ doch werden diese Befehle mehrmals verwendet, so daß das Spei­ chervolumen, das erforderlich ist, aber nicht für Befehle be­ nötigt wird, die keine indizierte Adressierung enthalten, ziem­ lich groß werden kann. In anderen Systemen kann ein spezifisches Registerfeld als dasjenige interpretiert werden, das ein Indexregister bezeichnet, wenn es einen vorbestimmten Wert oder vorbestimmte Werte enthält. Für andere Werte wird der Inhalt dieses Register­ felds auf irgendeine andere Weise interpretiert.
Andere bekannte Methoden für ein indiziertes Adressieren, weisen zwei Schwierigkeiten auf. Zum einen wird der Indexmodus normalerweise nur bei dem Ausschließen anderer Adressiermoden oder nur im Hinblick auf die Kosten angewendet, die beim Vergrößern der Befehlsgröße entstehen, um die Indexier­ steuerung wie vorstehend beschrieben, anzupassen. Wenn ferner eine indizierte Adressierung verwendet wird, um aufeinanderfol­ gende Datenworte zu erhalten, wird die Indizierung kompliziert, wenn die Datenworte selbst eine sich ändernde Größe aufweisen. Gewisse Verfahrensschritte müssen zum Skalieren der Anzahl in dem Indexregister vorgesehen werden, um diese unterschiedlichen Größen auszugleichen. In diesen herkömmlichen Datenverarbeitungs­ systemen wird diese Funktion dem Programmierer überlassen oder sie wird auf einfache Fälle beschränkt. Wenn der Pro­ grammierer die Funktion durchführen muß, wird die Arbeit des Programmierers noch komplizierter und die Größe des Gesamt­ programms nimmt zu.
Bei der eingangs erwähnten Zentraleinheit (H. Katzan) stehen die Basis- und Indexwerte in den Allzweckregistern der Zentraleinheit, die im Operandenteil des Befehls spezifiziert sind. Eine Erzeugung der Basisadresse und der indizierten Adresse findet nicht statt, da die ent­ sprechenden Werte bereits direkt in den angesprochenen Registern ent­ halten sind. Ferner werden nach der bekannten indizierten Adressierung die Adressiermodi durch den Operationscode spezifiziert, können aber nicht durch den Operandenteil selbst spezifiziert werden. Deshalb ist die Anwendungsvielfalt der bekannten indizierten Adressierung auf den vorgegebenen Prozessor-Befehlssatz eingeschränkt.
Bei den bekannten indizierten Adressierungsverfahren bestehen fol­ gende Schwierigkeiten: Zunächst bringt die herkömmliche indizierte Adressierung normalerweise den Ausschluß anderer Adressierungsarten mit sich, oder letzteres kann nur mit dem Preis der Vergrößerung des Befehls­ formats zur Steuerung der oben beschriebenen indizierten Adressierung er­ reicht werden. Wenn ferner die indizierte Adressierung dazu verwendet wird, in Tabellenform abgelegte Daten abzurufen, die jeweils unter­ schiedliche Längen aufweisen, wird die Anwendung der Indizierung kom­ pliziert. Zur Kompensation dieser unterschiedlichen Längen müssen spezielle Verfahrensschritte vorgesehen werden, die den Inhalt des Indexregisters skalieren. Die Erstellung derartiger Prozeduren bzw. Unterroutinen führt zu einer Erhöhung des Software-Aufwands.
Es ist Aufgabe der Erfindung, bei einer Zentraleinheit der eingangs genannten Art die Flexibilität in der Anwendung der indizierten Adressierung zu erhöhen.
Diese Aufgabe wird erfindungsgemäß durch den Gegenstand des Patentanspruchs 1 gelöst. Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
Eine derartige Zentraleinheit spricht auf Befehle an, die Operations­ codes und Operandenspezifikationsteile aufweist. Jeder Operanden­ spezifikationsteil hat wenigstens ein Datenbyte. Ein Anfangsdatenbyte in jedem Operandenspezifikationsteil bezeichnet einen Adressierungs­ modus. Entspricht der im ersten Byte bestimmte Adressierungsmodus dem Indexmodus, wird das durch das erste Byte designierte Register als Indexregister verwendet. Das nächste Byte im Operandenteil spezifiziert ein weiteres Register und einen weiteren Adressierungsmodus. Die Zen­ traleinheit generiert eine Adresse aufgrund der Information im zweiten und jedem nachfolgenden Byte des Operandenspezifikationsteils und kombiniert sie dann mit dem Inhalt des Indexregisters zur Erzeugung der indizierten Adresse. Indexgeneriereinrichtungen erzeugen den Index­ wert und Basisadreß-Generiereinrichtungen die Basisadresse entsprechend der in aufeinanderfolgenden Byteplätzen im Operandenspezifikationsteil enthaltenen Information. Die Funktionsweise der Basisadreß-Generier­ einrichtungen ist darauf gerichtet, die Inhalte der im Befehlsstrom dem Indexwert folgenden Byteplätze nacheinander zu decodieren.
Ein mit der Erfindung erzielter Vorteil besteht darin, daß die Länge des Befehls verändert werden kann zwecks Anpassung an indizierte Adressierung. Dadurch weist der Befehl die Indizier-Information nur dann auf, wenn sie benötigt ist.
Ein weiterer Vorteil besteht darin, daß der Indexwert automatisch entsprechend dem Datenformat skaliert werden kann. Insbesondere wird der Vorteil erzielt, daß die indizierte Adressierung mit weiteren Adressiermodi kombiniert werden kann.
Anhand der Zeichnung soll die Erfindung beispielsweise näher erläutert werden. Es zeigen:
Fig. 1 ein Blockschaltbild eines digitalen Datenverarbei­ tungssystems mit einer Zentraleinheit gemäß der Erfindung;
Fig. 2A bis 2D Datenarten, welche in Verbindung mit einer be­ stimmten Ausführungsform der Erfindung verwendet wer­ den;
Fig. 3 ein Blockschaltbild der Zentraleinheit in Fig. 1;
Fig. 4 das Format bzw. den Aufbau und die Organisation eines Befehls, der in der in Fig. 1 und 3 dargestellten Zen­ traleinheit verarbeitet werden kann;
Fig. 5 zusammen mit Fig. 5A bis 5C ein Blockschaltbild der in Fig. 3 dargestellten Datenwege;
Fig. 6A ein Blockschaltbild von in Fig. 3 dargestellten Befehls­ puffer- und Dekodierschaltungen;
Fig. 6B und 6C bestimmte Signale, welche von den in Fig. 6A dar­ gestellten Schaltungen übertragen werden;
Fig. 7 und 7A ein Ablaufdiagramm, das zum Verständnis der Arbeits­ weise der in Fig. 1 und 3 dargestellten, Zentral­ einheit verwendet wird;
Fig. 8A das Format eines spezifischen Befehls;
Fig. 8B bestimmte Information, welche von diesem Befehl er­ halten werden kann;
Fig. 8C1 bis 8C3 ein Ablaufdiagramm, das die Arbeitsweise der in Fig. 1 und 3 dargestellten Zentraleinheit entsprechend diesem Befehl festlegt;
Fig. 9A und 9B ein weiteres Format des in Fig. 8A dargestellten Befehls;
Fig. 9C1 und 9C2 ein Ablaufdiagramm, das die Arbeitsweise der in Fig. 1 und 3 dargestellten Zentraleinheit entsprechend diesem abgewandelten Befehl festlegt;
Fig. 10A und 10B das Format für Befehle, die in Abrufunterprogram­ men verwendbar sind, und
Fig. 10C-1 bis 10C-4 ein Ablaufdiagramm, das die Arbeitsweise der in Fig. 1 und 3 dargestellten, Zentral­ einheit entsprechend diesen Befehlen festlegt.
Fig. 1 zeigt die Grundelemente eines Datenverarbeitungs­ systems mit eine Zentraleinheit 10, im folgenden zentrale Recheneinheit genannt, Speichereinheiten 11 und Ein-/Ausgabeeinheiten 12. Eine synchrone Rückseitenverbindung (SBI) 14 verbindet die zentrale Recheneinheit 10, die Speichereinheiten 11 und die Ein-/Aus­ gabeeinheiten 12.
Die zentrale Recheneinheit 10 weist ein Bedienungspult 15, eine SBI-Kopplungs- und Speicherpufferschaltung 16, eine Adressen- Übertragungsschaltung 17, eine Befehlspufferschaltung 18 und eine Datenweg- und interne Registerschaltung 19 auf. Die SBI- Kopplungs- und Speicherpufferschaltung 16 schafft die notwendige Kopplungsschaltungsanordnung zum Übertragen von Information über die synchrone Rückseitenverbindung (SBI) 14 zu den Speicherein­ heiten 11 und den Ein-/Ausgabeeinheiten 12. Die Schaltung 16 erhält alle Daten von dem Speicher und alle Adressenübertragungen von der Pufferschaltung 17. Sie weist einen assoziativen Speicher oder einen Puffer auf. Jederzeit werden Daten in den Pufferspei­ cher in der Schaltung von der Datenweg- und internen Register­ schaltung 19 aus eingeschrieben; diese Daten werden auch an entsprechende Stellen in den Speichereinheiten 11 eingeschrieben.
Die besondere Ausführungsform der zentralen Recheneinheit 10 ar­ beitet mit virtuellen Adressen. Die Adressenübertragungs-Puffer­ schaltung 16 setzt die virtuellen Adressen in physikalische bzw. natürliche Adressen um, welche die Speicherpufferschaltung 16 be­ nutzt, entweder um festzulegen, ob die Daten von der entsprechen­ den Speicherstelle enthält, oder um eine Übertragung von der ent­ sprechenden tatsächlichen Speicherstelle in die Speichereinheiten 11 einzuleiten. Die Befehlspufferschaltung 18 weist, wie später noch beschrieben wird, Einrichtungen zum Speichern von Befehlen oder Teile davon auf, da sie entweder unmittelbar von dem Puffer­ speicher aus oder von der Speichereinheit 11 aufgefunden werden.
Das Bedienungspult 15 dient als Bedienungskopplungseinrichtung. Sie erlaubt der Bedienungsperson Daten zu prüfen und abzulegen, die Arbeitsweise der zentralen Recheneinheit 10 anzuhalten oder sie über eine Folge von Programmbefehlen fortzuschalten. Sie er­ möglicht auch einer Bedienungsperson, das System über ein Ur­ eingabeverfahren einzuleiten und verschiedene Diagnoseverfahren an dem ganzen Datenverarbeitungssystem durchzuführen.
In Fig. 1 weisen die Speichereinheiten 11 zwei Speichersteuerungen 20A und 20B auf. Jede Speichersteuerung ist mit einer Anzahl Speicher­ felder verbunden. Insbesondere ist die Speichersteuerung 20A mit Speicherfeldern 21A und die Speichersteuerung 20B mit Speicher­ feldern 21B verbunden.
Es sind mehrere Arten von Ein-/Ausgabeeinheiten 12 dargestellt. Eine Ein-/Ausgabe-Hauptleitungs-Anpassungseinrichtung 22 ver­ bindet verschiedene Ein-/Ausgabe(E/A)-Einrichtungen 23, bei­ spielsweise Fernschreiber, mit der Hauptleitung 14. Die Verbindung bzw. Zusammenschaltung, die Operation und Übertragung von Signalen zwischen der E/O-Hauptleitungs-Anpassungseinrichtung 22 und den E/A-Einrichtungen 23 ist in der US-PS 3 710 324 beschrieben.
Zwei weitere E/A-Einheiten 12 schaffen einen Sekundärspeicher für das Datenverarbeitungssystem. Sie weisen einen Sekundär­ speicher-Hauptleitungsadapter 24 und eine Anzahl Platteneinheiten 25 auf. Ferner ist ein Sekundärspeicher-Hauptleitungsadapter 26 und ein Bandlaufwerk 27 dargestellt. Die Verbindung der Se­ kundärspeicher-Hauptleitungsadapter 24 und 26 und der jeweiligen Platteneinheiten 25 und des Bandlaufwerks 27 ist in der eingangs erwähnten US-PS 3 999 163 beschrieben. Für die folgende Beschreibung ist es zweck­ mäßig, diese Wechselwirkungen kurz zusammenzufassen und be­ stimmte Begriffe einschließlich der Datenworte oder Gruppen genau festzulegen, welche die vorliegende Ausführungsform der Erfindung verarbeiten kann. Die grundsätzliche oder wichtigste Informationsgruppe ist ein Byte. Dies ist in Fig. 2A dargestellt und weist 8 Bits in der vorliegenden Ausführungsform der Erfin­ dung auf. Um die Länge zu vergrößern, ist die nächste Informations­ gruppe ein Wort, das in Fig. 2B dargestellt ist, und zwei Bytes aufweist. In Fig. 2C ist ein "Langwort" dargestellt, das zwei aufeinanderfolgende Worte oder vier aufeinanderfolgende Bytes aufweist. In Fig. 2D ist ein "Vierer-Wort" dargestellt, welches zwei aufeinanderfolgende "Langworte", d. h. vier aufeinanderfol­ gende Worte oder acht aufeinanderfolgende Bytes aufweist. Jede Informationsübertragung über das SBI 14 enthält ein Langwort.
Die SBI 14 weist ein Zeitmultiplex sowie Signalwege zum Über­ tragen von Information und Steuersignalen auf. In der vorlie­ genden Erfindung weist die Information Steuerinformationen und Daten auf. Steuerinformation ist die Intelligenz, die benutzt wird, um die Basis für die Datenverarbeitung zu steuern und zu schaffen, während Daten eine Programm erzeugte Information ist, welche Gegenstand der Verarbeitung selbst ist.
Jede Einheit, die mit der SBI verbindet, wird ein Verbindungs­ glied genannt. Das in Fig. 1 dargestellte System weist sechs Verbindungsglieder auf. Ein Verbindungsglied wird ferner anhand seiner Funktion während eines Informationsaustausches festgelegt.
Zumindest zwei SBI-Übertragungen bzw. -transaktionen sind erfor­ derlich, um Information zwischen zwei Verbindungsgliedern auszu­ tauschen. Während einer ersten Transaktion überträgt ein Verbin­ dungsglied, das als ein Befehle übertragendes Verbindungsglied dient, Befehls- und Adresseninformation an alle übrigen Verbin­ dungsglieder. Dieses Verbindungsglied wird ein übertragendes Verbindungsglied, da es die SBI 14 ansteuert, und ein Befehlsver­ bindungsglied genannt, da es die Befehls- und Adresseninformation übertragen hat. Während dieser Transaktion sind alle übrigen Ver­ bindungsglieder empfangende Verbindungsglieder. Jedoch spricht nur ein empfangenes Verbindungsglied auf die Adresseninformation an. Dieses Verbindungsglied ist ein Antwort-Verbindungsglied und es überträgt eine Empfangsbestätigung der Befehls- und Adressen­ information in einem fest vorgegebenen Intervall, nachdem das Befehlsverbindungsglied diese Information überträgt. Wenn infolge­ dessen die zentrale Recheneinheit 10 Daten aus der Speichersteuerung 20A auffinden muß, wird die zentrale Recheneinheit 10 ein Befehls­ verbindungsglied und überträgt einen Lesebefehl und eine Adresse, auf welche die Speichersteuerung 20A anfangs als ein empfangenes Verbindungsglied und dann als ein Antwortverbindungsglied an­ spricht.
Nach einigen Intervallen ist die Speichersteuerung 20A vorberei­ tet, um die aufgefundenen Daten an die zentrale Recheneinheit 10 abzugeben. Wie in den eingangs angeführten Patentanmeldungen beschrieben ist, sucht sie eine Steuerung der SBI 14. Wenn sie eine Steuerung erlangt, wird die Speichersteuerung 20A ein über­ tragendes Antwortverbindungsglied und überträgt die erforderlichen Daten an die SBI 14 für eine Übertragung an die zentrale Rechen­ einheit 10. Während dieser Übertragung ist die zentrale Rechen­ einheit 10 ein empfangenes Befehlsverbindungsglied.
Ähnliche Transaktionen werden für irgend einen Informationsaustausch zwischen zwei Verbindungsgliedern durchgeführt, obwohl die Speicher­ steuerungen normalerweise nur als Antwortverbindung für Glieder arbeiten und die zentrale Recheneinheit normalerweise nur, als ein Befehlsverbindungsglied arbeitet. Bei der Erfindung schließen übliche Informationsaustauschvorgänge die Übertragung von Befehlen, von Operanden-Spezifikationssymbolen und von verwandten Infor­ mationen sowie von Daten an die zentrale Recheneinheit 10 und die Übertragung von verarbeitenden Daten zurück an die Speicher­ einheit 11 ein.
Die SBI-Kopplungs- und Speicherpufferschaltung 16 weist, wie der Name bereits sagt, einen Puffer oder einen assoziativen Speicher auf. Für Informationsübertragungen an die zentrale Recheneinheit 10 wird der Pufferspeicher zuerst abgefragt, um festzulegen, ob er bereits die geforderte Information enthält. Wenn dies der Fall ist, ist kein Informationsaustausch mit der Speichereinheit 11 er­ forderlich. Wenn der Pufferspeicher keine Information enthält, leitet die SBI-Kopplungsschaltung eine Speicherleseoperation ein, die ein Vierfachwort enthält. Diese Information wird zusammen mit den physikalischen Adressen in dem Speicher für diese Information an den Pufferspeicher übertragen. Gleichzeitig wird die Informa­ tion der Befehlspufferschaltung 18, wenn ein Befehl zu über­ tragen ist, oder der Datenweg- und internen Registerschaltung 19 zugeführt, wenn eine andere Information zu übertragen ist. Wenn die zentrale Recheneinheit 10 Information zurück an die Speicher­ einheit 11 überträgt, überträgt sie die Information an den Puffer­ speicher. Die SBI-Kopplungs- und Speicherpufferschaltung 16 leitet dann die nötigen SBI-Transaktionen ein, um zuerst die erforderliche Befehls- und Adresseninformation und dann die Daten zu übertragen. Die Einzelheiten dieser Transaktionen sind in der US-Patentan­ meldung S.N. 845 415 beschrieben, und ein Verständnis dieser Einzelheiten ist zum Verständnis der Erfindung nicht erforderlich.
In Fig. 3 ist ein verallgemeinertes Blockschaltbild der zentralen Recheneinheit 10 dargestellt. Es weist das Bedienungspult 15, die SBI 14 und die anderen Schaltungen auf, welche die SBI-Kopplungs- und Speicherpufferschaltung 16, die Adressenübertragungs-Puffer­ schaltung 17 und die Befehlspufferschaltung 18 bilden. Insbesondere arbeitet die zentrale Recheneinheit 10 unter einer Zeitsteuerung eines Taktgenerators 10. Die spezielle Zeitsteuerung wird bei der Erörterung der entsprechenden Ablaufdiagramme verständlich. Die SBI-Kopplungs- und Speicherpufferschaltung 17 weist eine SBI- Steuerschaltung 31 auf, welche mit der SBI 14 und mit einer Haupt­ leitung 32 für physikalische Adressen, der PA-Leitung 32 verbunden ist. Die PA-Leitung 32 ist mit einer Datenpufferschaltung 33 und einem Umsetzpuffer 34 verbunden. Der Umsetzpuffer 34 setzt vir­ tuelle Adressen-(VA-)Information und andere Steuerinformation in eine physikalische Adresse um, welche gleichzeitig an die SBI- Steuerung 31 und den Datenpuffer 33 übertragen wird. Daten von dem Datenpuffer 33 oder von einer anderen Stelle an der SBI 14, welche über die SBI-Steuerung 31 läuft, wird über eine Speicher­ daten-(MD-)Leitung 35 an andere Elemente in der zentralen Rechen­ einheit 10 übertragen. Diese Einheiten weisen Datenwege 36 und eine Befehlspuffer- und Dekodierschaltung 37 auf.
Eine Mikroprogrammsteuer-(UPC-)Leitung 38 überträgt Signale von der Befehlspuffer- und Dekodierschaltung 37 an einen Programm­ steuerspeicher 40. Der Programmsteuerspeicher erzeugt dann ver­ schiedene Steuersignale auf einer CS-Leitung 41, und diese Leitung überträgt Signale an den Umsetzpuffer 34, die Datenwege 36, den Befehlspuffer und -dekodierer 37 und an eine (nicht programmierte) Sprünge-Unterbrechungen entscheidende Schaltung 42. Diese Schal­ tung und das Bedienungspult 15 stehen über eine Befehlsdaten- (ID-)Leitung 43 mit einem Mikrosortierer 44 in Verbindung, welcher die Operationsfolge entsprechend den in dem Programmsteuerspeicher 40 gespeicherten Mikrobefehlen steuert.
Der Mikrosortierer 44 stellt einen Auffindzustand her, um einen Befehl zu erhalten. Der Programmzählerstand, welcher die Anfangs­ adresse des nächsten aufzufindenden Befehls genau festlegt, läuft von den Datenwegen 36 über den Umsetzpuffer 34 zu der PA-Leitung 32. Wenn der Datenpuffer 33 gültige Informationen an einer Stelle enthält, die der genau festgelegten physikalischen Adresse ent­ spricht, überträgt er Daten über die MD-Leitung 35 an die Befehls­ puffer- und Dekodierschaltung 37. Wenn diese Schaltung 37 den Be­ fehl dekodiert, schafft der Mikrosortierer 34 andere Datenwege, über welche andere Information an den Umsetzpuffer 34 übertragen wird, um dadurch andere Daten an Register in den Datenwegen 36 entweder von dem Datenpuffer 33 oder nach einem Wiederauffinden von den Speichereinheiten 11 oder anderen Speichereinheiten in der SBI 14, von der SBI-Steuerung 31 zu übertragen. Wenn der Befehl Daten anfordert, die an eine tatsächlich adressierte Stelle zu übertragen sind, schafft der Mikrosortierer 44 die Datenwege, die erforderlich sind, um Signale an dem Umsetzpuffer 34 zu übertragen, um dadurch die physikalische Adresse zu bilden, und um die Daten gleichzeitig an den Datenpuffer 33 und die SBI-Steuerung 31 zu übertragen. Während jeder derartigen Übertragung leitet die SBI- Steuerung 31 einen Austausch mit der im einzelnen festgelegten Speicherstelle ein.
In Fig. 4 ist ein typischer Befehl dargestellt, der von der in Fig. 3 dargestellten, zentralen Recheneinheit verarbeitet werden kann. Der in Fig. 4 oben dargestellte Befehl weist einen Opera­ tionskode 50 auf, der als ein Längenbyte dargestellt ist. Aus der folgenden Erläuterung ist jedoch zu ersehen, daß die zentrale Recheneinheit 10 Mehrfachbyte-Operationskode verarbeiten kann. In diesem spezifischen Befehl folgen auf den Operationskode nach­ einander drei Operandenspezifikationsteile 51, 52 und 53, im folgenden Operanden-Spezifizierer genannt. Die Operanden-Spezifizierer 51 und 52 weisen jeweils ein Byte auf, während der Operanden-Spezifizierer 53 zwei Bytes aufweist. Der Aufbau eines Operanden-Spezifizierers mit einem einzigen Byte ist ebenfalls in Fig. 4 dargestellt. Er weist zwei Felder auf. Die höherwertigen Bits stellen ein Registerbetriebsfeld dar, und die niedrigerwertigen Bits bilden ein Registeradressen­ feld. Das Registeradressenfeld gibt ein ganz bestimmtes Register an, welches in der Datenwegschaltung 36 festgelegt ist, die in Fig. 3 und im einzelnen in Fig. 5 dargestellt ist. In dieser spe­ ziellen Ausführungsform weisen die Bytes acht Bits auf, so daß vier Bits für jedes der Registerbetriebs- und Registeradressenfelder verfügbar sind, damit eines von 16 Mehrzweckregistern durch einen Operanden-Spezifizierer adressiert werden kann.
Wenn die zwei höchstwertigen Bits des Registerbetriebsfelds 54 Nullen sind (Registermodus 0 bis 3) weist der Operanden-Spezi­ fizierer 51 den Operanden, d. h. ein Literal auf, das irgendeinen Datenwert bis zu sechs Bits aufweist, die Dezimalzahlen von 0 bis 63 darstellen.
Wenn das Register-Betriebs- bzw. Modusfeld 54 einen Dezimalwert von 4 enthält, wie in dem Registermodusfeld 54A für den Operanden- Spezifizierer 53 dargestellt ist, ist ein Indexmodus genau festge­ legt. Wenn das Registermodusfeld, beispielsweise das Registermodus­ feld 34A einen indexierten Adressiermodus festlegt, identifiziert das entsprechende Registerfeld 54A eines der Mehrzweckregister, das dann als ein Indexregister beim Verarbeiten des Operanden- Spezifizierers zu verwenden ist. Ein zweiter Operanden-Spezifi­ zierer ist in dem Befehl für eine indexierte Adressierung vorge­ sehen. Dieser zweite Operanden-Spezifizierer schafft eine Basis­ adresse, an welcher die Inhalte des bezeichneten Indexregisters addiert werden. Eine genauere Beschreibung der indexierten Adressierung wird später gegeben.
Wenn das Registermodusfeld 54 eine "5" enthält, ist eine Re­ gistermodusadressierung festgelegt. Bei dieser Betriebsart ent­ hält das durch das Registerfeld adressierte Mehrzweckregister den Operanden. Für jeden der Registermodus 6, 7 und 8 enthält das ge­ nau angegebene Register die Speicheradresse für den Operanden. Bei dem Modus 6 enthält das bezeichnete Register die Adresse des Operanden. Beim Registermodus 7 wird der Inhalt des bezeichneten Registers zuerst schrittweise zurückgezählt, bevor die Adresse festgestellt wird; bei dem Modus 8 wird der Inhalt des bezeich­ neten Registers schrittweise erhöht, nachdem das Register zum Bestimmen der Adresse verwendet worden ist. Der Registermodus 9 entspricht dem Registermodus 8, außer daß der Inhalt des be­ zeichneten Registers genau die Adresse in dem Speicher festlegt, an welcher die Operandenadresse und nicht der Operand selbst zu finden ist.
Die Betriebsarten 10 bis 15 sind alles Verschiebungsmodusarten. Bei der Verschiebung wird der Verschiebungswert, welcher ein Byte, ein Wort oder ein Langwort bei den Betriebsarten 10, 12 bzw. 14 aufweisen kann, zu dem Inhalt in dem bezeichneten Register addiert, um die Operandenadresse zu erhalten. Entsprechende Opera­ tionen kommen in den Betriebsarten 11, 13 und 15 vor, außer daß die Summe des Verschiebungswertes und der Registerinhalt eine Speicheradresse bestimmen, an welcher die Adresse des Operanden gefunden werden kann. In jeder der vorerwähnten Betriebsarten 8 bis 15 kann das Registerfeld 55 des Operanden-Spezifizierers eines der Mehrzweckregister bestimmen, welche den Programmzähler auf­ weisen.
In Fig. 5 zusammen mit Fig. 5A bis 5C und in Fig. 6A sind die Datenwege 36 und die Befehlspuffer und Dekodierschaltung 37 im einzelnen dargestellt. Es gibt grundsätzliche Betriebskenn­ daten dieser speziellen Ausführungsform, welche die Arbeitsweise der zentralen Recheneinheit 10 optimieren. Eine ins einzelne ge­ hende Kenntnis dieser Operationen ist zum Verständnis der Erfin­ dung nicht erforderlich, so daß sie nur kurz dargelegt werden. In Fig. 6A weist die Befehlspuffer- und Dekodierschaltung 37 einen Befehlspuffer 60 auf, welcher acht aufeinanderfolgende Bytes speichert. Übertragungen in den Befehlspuffer 60 werden entspre­ chend Signalen von einer Befehlspuffer-Steuerschaltung 61 durch­ geführt. Jede Bytestelle in dem Befehlspuffer 64 enthält eine Gültigkeitsbitstelle, welche anzeigt, ob die Daten in dem Rest dieser Bytestelle gültig sind (d. h. die Gültigkeitsbitstelle wird gelöscht, sobald das Byte nicht mehr länger benötigt wird). Wenn dies Gültigkeitsbit anzeigt, daß die Daten an einer bestimmten oder an mehreren Bytestellen nicht mehr länger gültig sind, gibt die Befehlspuffer-Steuerschaltung 61 ein IB REQ-Signal ab, das eine Übertragung zu dem Befehlspuffer 60 über die MD-Leitung 35 entweder von dem Datenpuffer 31 aus oder über die SBI-Steuerung 31 erfordert. Eine weitere Schaltung in der Befehlspuffer-Steuer­ schaltung 61 stellt die höchstwertige Bytestelle mit Hilfe von ungültigen Daten fest und schiebt höherwertige Bytes in diese Bytestellen. Während dieser Übertragungen werden die Daten aller höheren Bytes geändert.
Die Übertragungen über die MD-Leitung 35 sind Langworte (Fig. 2C), die über einen Multiplexer 62 laufen. Eine Verschiebeschaltung 63 ist auch dem Ausgang des Befehlspuffers 60 und dem Eingang des Multiplexers 62 zugeordnet, um die Datenbytes zu verschieben. In­ folgedessen führt die Befehlspuffer-Steuerschaltung 61 die ent­ sprechende Information den ausgewählten Bytestellen in dem Be­ fehlspuffer 60 zu. Tatsächlich füllt die Befehlspuffer-Steuer­ schaltung 61 dadurch fortlaufend den Befehlspuffer 60 mit gülti­ gen Daten.
Das Ansprechen der zentralen Recheneinheit 10 auf einen typi­ schen Befehl wird nunmehr beschrieben. Die Befehlspuffersteuerung 61 gibt ein Befehlspuffer-Anforderungssignal, ein IB REQ-Signal ab. Zu diesem Zeitpunkt wird der Inhalt eines Programmzählerregisters 64 in Fig. 5A, das eine virtuelle Adresse enthält, über einen B-Multiplexer (BMX) 65 in Fig. 5B und über eine arithme­ tische und logische Einheit (ALU) 66 sowohl an ein Sperrglied 67 in Fig. 5A für eine virtuelle Adresse (VA) als auch an Befehls­ pufferadressen-(IBA-)Sperrglied 68 übertragen. Das VA-Sperrglied 67 speichert die Befehlsadresse, um mit Hilfe der Schaltung in der Umsetzpufferschaltung 34 die physikalische Adresse zu schaffen. Das Befehlspufferadressen-Sperrglied 68 wird während der folgen­ den Informationsübertragung an den Befehlspuffer 60 (Fig. 6A) verwendet, wenn Information von diesem Puffer verwendet wird, und ungültig wird. Die vorstehend beschriebene Operation stellt den Schritt A1 in Fig. 7 dar. Beim Schritt A2 stellt die ankommende Information, welche auf der MD-Leitung 35 in Fig. 6A anliegt, den ganzen oder ein Teil des Befehles dar. Diese Information wird über den Multiplexer 62 entsprechend den Signalen von der Befehlspuffer-Steuerschaltung 61 und an den Befehlspuffer 60 über­ tragen. Zu diesem Zeitpunkt enthält die Byte 0-Stelle in dem Be­ fehlspuffer 60 eine Operationskodeinformation. In der vorliegenden Ausführungsform weist jeder Operationskode nur ein Byte auf. Je­ doch ist aus der folgenden Beschreibung zu ersehen, daß der Operationskode zwei oder mehr Bytes aufweisen könnte, und daß eine Schaltung, die der nachfolgend beschriebenen Schaltung zum Dekodieren von Operanden-Spezifizierern entspricht, derartige Mehrfachbyte-Operationskode dekodieren würde.
Wenn nur eine Byte-0-Stelle in dem Befehlsregister 60 den Opera­ tionskode enthält, enthält die Byte-1-Stelle den ganzen oder einen Teil eines ersten Operanden-Spezifizierers. Das Byte 0 wird in einem Byte-0-Sperrglied 70 gespeichert, das einen Aus­ führungsadressenspeicher 71 steuert. Der Inhalt der Byte 1-Stelle wird zusammen mit Ausgangssignalen von dem Ausführungsadressen­ speicher 71 an eine logische Spezifizierer-Dekodierschaltung 72 angelegt.
Der Ausführungsadressenspeicher 71 speichert eine Tabelle, welche Eingaben für jeden Befehl aufweist, der von der zentralen Rechen­ einheit 10 ausgeführt werden kann. Die Stelle einer ganz bestimm­ ten Eingabe in der Tabelle wird von den Operationskodesignalen von dem Byte-0-Sperrglied 70 und von Signalen von einem Ausfüh­ rungsstellenzähler 73 erhalten. Anfangs wird der Zähler 73 auf eine Bezugszahl (z. B. 0) eingestellt. Wenn jeder Operanden-Spezi­ fizierer dekodiert ist, wird der Zähler 73 weiter geschaltet, um eine neue Tabelleneingabe festzulegen. Jede Eingabe in die Tabelle kennzeichnet bestimmte Kenndaten des Operanden-Spezifi­ zierers, wie beispielsweise die Größe des erwarteten Datenworts und ob der Operanden-Spezifizierer eine Stelle identifiziert, von welcher oder an welche der Operand zu übertragen ist. Signale für jede ausgewählte Tabelleneingabe laufen zu der Spezifizierer- Dekodierlogik 72, um einen Teil der Startadresse zu steuern, die der Mikrosortierer 44 in Fig. 3 verwendet, um die Datenwege und eine Folge zum Dekodieren des Operanden-Spezifizierers zu schaffen. Über die UPC-Leitung 38 werden die Signale von der Spezifizierer- Dekodierlogik 72 an den Mikrosortierer 44 übertragen.
In Fig. 6B sind die Kenndaten des Operanden-Spezifizierers darge­ stellt, welche in einer ganz bestimmten Ausführungsform des Aus­ führungsadressenspeichers 71 gespeichert sind. Die zwei niedrig­ wertigen Bits von dem Speicher 73 legen die Art des Datenwortes fest, das enthalten ist und verlangt wird; normalerweise weist ein Datenwort entweder eine ganze Zahl oder eine Gleitkommazahl auf. Die nächsten zwei Bits in der Reihenfolge geben die Länge des Operanden wieder. Die folgenden zwei Bits legen die Operation fest, die vorzunehmen ist. Die letzten zwei Bits legen einen die Information betreffenden Zugriff fest. Wenn beispielsweise das Byte 0-Sperrglied 70 und der Zähler 73 eine Stelle kennzeichnen, welche die Binärzahl 01001000 enthält, bezeichnet der entsprechende Operanden-Spezifizierer eine Langwort-Ganzzahl, die aus dem Spei­ cher wieder aufzufinden ist. Wie vorstehend ausgeführt, gibt es eine Eingabe in den Durchführungsadressenspeicher 71 für jeden Operandenspezifizierer in jedem Befehl, den die zentrale Rechen­ heit 10 verarbeiten kann. Infolgedessen schafft der Operationskode für das Byte 0-Sperrglied 70 eine Basisadresse, und der Zähler 73 gibt Signale ab, die mit der Basisadresse zusammengefaßt werden, um nacheinander die Tabelleneingaben zu bestimmen, die jedem Operanden-Spezifizierer entsprechen.
Signale von dem Ausführungsadressenspeicher 71 und dem Operanden Spezifizierer an der Byte 1-Stelle in dem Befehlspuffer werden an die Spezifizierer-Dekodierlogik 72 übertragen, welche eine Start­ folgeadresse für jeden vorgegebenen Operanden-Spezifizierer ent­ sprechend diesen Signalen bestimmt. Die Startadresse für jeden vorgegebenen Mikrobefehl in der Folge weist höherwertige Bits, die von dem Befehl selbst abhängen, und niedrigerwertige Bits auf, die von der Art der Information in dem Operandenspezifizierer ab­ hängen. Typische niedrigerwertige Adressenbits sind in Fig. 6C dargestellt. Insbesondere wenn das Registermodusfeld des Operanden­ spezifizierers eine "vier" enthält, und das Registerfeld nicht den Programmzähler bezeichnet, sind die niedrigerwertigen Start­ adressenbits "1C" (in hexadezimaler Darstellung). Hierdurch wird dann die Stelle gesteuert, an welcher der Mikrosortierer 44 be­ ginnt, eine Folge auszuführen, die mit einem Mikrobefehl beginnt, der in dem Programmsteuerspeicher 40 (Fig. 3) an der Stelle fest­ gelegt ist, die durch die Startadresse bestimmt ist.
Bevor diese Information dekodiert wird, führt jedoch der Mikro­ sortierer 44 weitere Operationen durch. Bei dem Schritt A3 in Fig. 7 benutzt der Mikrosortierer 44 die Registerfeldstellen an der Bit 1-Stelle des Befehlspuffers 60, um an ein A-Sperrglied 75 in Fig. 5B den Inhalt eines Registers in dem Registerspeicher 76 zu übertragen, welcher dem Inhalt des Registerfelds entspricht.
Wenn das Registermodusfeld in dem Operanden-Spezifizierer einen der Modusarten 0 bis 3 festlegt, enthält der Operandenspezifi­ zierer den Operanden und wird dekodiert. Der Mikrosortierer 44 beginnt dann entweder den nächsten Operanden-Spezifizierer in dem Befehl zu verarbeiten oder führt den Befehl aus.
Wenn der Operanden-Spezifizierer nicht ein Literal aufweist, ver­ schiebt der Mikrosortierer von dem Schritt A3 zum Schritt A4. Bei diesem Schritt werden der Inhalt des Registers in dem Register­ speicher 80, der durch das Registerfeld der Information an der Byte 1-Stelle des Befehlspuffers 60 gekennzeichnet ist, an ein B-Sperrglied 81 übertragen. In dieser speziellen Ausführungsform werden die A- und B-Registerspeicher 76 und 80 als Nachbildungen voneinander erhalten und bilden alle Mehrzweckregister, die durch den Inhalt des Registerfeldes eines Operanden-Spezifizierers adressiert werden können. Für irgendeine Betriebsart, die nicht ein Literal-Modus ist, enthält das B-Sperrglied 81 eine Adresse. Infolgedessen schafft beim Schritt AS der Mikrosortierer 44 einen Datenweg über den B-Multiplexer 65 und die ALU-Einheit 66 und überträgt die Adresse an der Sperrglied 67 für virtuelle Adressen. Außerdem läuft diese Adresse ohne eine Änderung über eine Schie­ beschaltung 82, einen DF-Multiplexer 83 und einen Demultiplexer 84 zu einem D-Register 85. Diese Bits, die dem Exponententeil einer Gleitkommazahl entsprechend würden, werden gleichzeitig von der ALU-Einheit 32 an einen Exponentenabschnitt 86 der Daten­ wege 36 übertragen.
Bei dem Schritt A6 überträgt das System den Inhalt des Programm­ zählers 64 an ein Programmzähl-Sicherstellungsregister 90, um dadurch bestimmte Befehle freizugeben, die lange Verarbeitungs­ intervalle erfordern, die in dem Fall anhängig bzw. offen sind, wenn eine Unterbrechung vorkommt. Eine Schaltungsanordnung zum Fühlen von Unterbrechungsbedingungen und zum Steuern von Ablauf­ operationen wird dann freigegeben. Der Mikrosortierer 44 in Fig. 3 überträgt den Inhalt der Byte 2- bis 5-Stellen in dem Be­ fehlspuffer 60 über die ID-Leitung 43 und über einen Q-Multiplexer 91 an ein Q-Register 92. Diese Bytestellen enthalten Information, die potentielle Verschiebungswerte darstellt, wenn der Operanden- Spezifizierer einen der Verschiebungsmoden festlegt.
Beim Schritt A4 in Fig. 7A wird die Befehlspuffersteuerung 61 freigegeben, um Informationsübertragungen anzufordern, um fort­ laufend den Befehlspuffer 60 mit gültiger Information zu füllen. Wenn eine Anzahl Bytes in dem Befehlspuffer gelöscht werden kann, wird diese Löschoperation beim Schritt A9 durchgeführt und beim Schritt A10 wird der Programmzähler 64 schrittweise weitergeschal­ tet, um die Byteanzahl auszugleichen, die gelöscht worden ist. Diese Löschoperation und das Aktuallisieren des Programmzählers werden durchgeführt, wenn bereits wichtige Daten in dem Q-Register 92 vorhanden sind. Beim Schritt A11 legt die zentrale Rechenein­ heit 10 fest, ob der Operanden-Spezifizierer ein Literal enthält, Wenn dies der Fall ist, zweigt der Mikrosortierer 44 bei dem Schritt A12 ab, um das Literal in dem Q-Register 92 unterzubringen. Dann wird der nächste Operanden-Spezifizierer dekodiert, oder wenn alle Operanden-Spezifizierer dekodiert worden sind, verarbeitet die zentrale Recheneinheit 10 den oder die Operanden entsprechend dem Operationskode. Wenn der Operanden-Spezifizierer nicht ein Literal enthält, zweigt der Mikrosortierer 44 bei dem Schritt A13 ab, um die Operanden-Spezifizierer-Dekodieroperation zu beenden.
An dieser Stelle in der Folge erhält das A-Sperrglied 75 eine Informa­ tion, die den Registerbitstellen von der Byte 2-Stelle in dem Be­ fehlspuffer 60 (Fig. 6A) entspricht. Das B-Sperrglied 81, das Sperrglied 67 für virtuelle Adressen und das D-Register 85 enthal­ ten den Inhalt des Registers, das durch die Registerfeldbits an der Byte 1-Stelle des Befehlspuffers 60 ausgewählt wurde. Das Q- Register 92 enthält irgendwelche Befehlsstromdaten, die vorhanden sein können, während der Programmzähler 64 die Adresse des nächsten Operanden-Spezifizierers enthält. Weitere Operationen hängen von dem genau festgelegten, zu dekodierenden Befehl und von der Art des Operanden-Spezifiziers ab. Es gibt zahlreiche Möglichkeiten, wie die zentrale Recheneinheit die Operanden-Spezifizierer-Deko­ dieroperation beenden kann. Eine erschöpfende Beschreibung jeder Möglichkeit würde eine außerordentlich lange Beschreibung erfordern.
Jedoch kann die Arbeitsweise einer zentralen Recheneinheit 10 gemäß der Erfindung vollkommen verstanden werden, indem die Arbeitsweise dem zentralen Recheneinheit 10 anhand von einigen typischen Befehlen geprüft wird.
In Fig. 8A ist ein Befehl zum Addieren von Information an zwei Stellen und zum Einbringen der Summe an einer dritten Stelle dargestellt, ohne entweder die erste oder die zweite Speicher­ stelle zu beeinflussen, da dies in dem Pufferspeicher 60 er­ scheinen würde, nachdem der Befehl beim Schritt A2 in Fig. 7 aufgefunden worden ist. In Fig. 8B ist die Information wieder­ gegeben, die bei den Tabelleneingaben für den Operationskode gespeichert ist, der diesem Befehl, welcher "C1" ist, zugeordnet ist. Die Bedeutung der einzelnen Bitstellen, welche die Operan­ den-Spezifizierer-Information wiedergeben, ist in Fig. 6B dar­ gestellt.
Der erste Operanden-Spezifizierer ist "07". Wenn sich der Aus­ führungszähler 73 auf "00" befindet, enthält die entsprechende Tabelleneingabe in dem Ausführungsadressenspeicher 71 (Fig. 8B) die folgende Information: (1) Ein Spezifizierer ist ausgewählt worden (Bits 4 und 5); (2) der Operand ist eine ganze Zahl (Bits 0 und 1); (3) der Operand enthält 4 Bytes (Bits 2 und 3) und (4) der Operand ist aus dem Speicher auszulesen (Bits 6 und 7). Infolgedessen hat die Information, die von der Byte 1-Stelle in dem Pufferspeicher 60 an die Spezifizierer-Dekodier­ logik 72 übertragen wird, zur Folge, daß die Spezifizierer-Deko­ dierlogik 72 "00" als die niedrigerwertigen Bits in der Start­ adresse für den Mikrosortierer 44 erzeugt (siehe Fig. 6B). Nach der Folge in Fig. 7 schafft der Mikrosortierer 54 beim Schritt B1 in Fig. 8C die notwendigen Datenwegen, um dies Literal nämlich "7" von dem Q-Register 92 an das D-Register 85 über eine Datenjustierschiene 93 und den D-Multiplexer 84 zu über­ tragen. An dieser Stelle verschiebe die Befehlspuffersteuerung 61 die Bytes 2 bis 7 um eine Stelle nach rechts und schiebt den Ausführungsstellenzähler 73 auf "01" (Schritt B2). Aus der Tabelle in Fig. 8B ist zu ersehen, daß dadurch angezeigt wird, daß nun­ mehr die Information im Byte 1 ein Operanden-Spezifizierer für eine Langwort-Ganzzahl ist, die an die zentrale Recheneinheit 10 zu übertragen ist.
Nunmehr schaltet das System unmittelbar auf die Schritt in Fig. 7 zurück. Beim Schritt A11 wird der zweite Operanden-Spezifizierer bewertet. In Verbindung der nunmehr die verschiedenen Tabellen in Fig. 4, 6B, 6C und 8B geschaffene Information spricht der Mikrosortierer an, um die Datenwegfolge zu schaffen, die notwendig ist, um einen Operanden-Spezifizierer zu dekodieren, der eine Byteverschiebung zum Adressieren benutzt. Während dieser Dekodier­ folge erhalten das A-Sperrglied 75 und B-Sperrglied 81 den Inhalt des Registers R1 (Schritt B3). Das Q-Register erhält den Byte­ verschiebungswert "20" im Byte 3 in Schritt B4. Beim Schritt B5 gibt die ALU-Einheit 66 die Summe des Inhaltes B-Sperrglieds 81 ab, welches den Inhalt des bezeichneten Registers und den Inhalt des Q-Registers 92 enthält, welches den Verschiebungswert ent­ hält. Insbesondere der Inhalt des Q-Registers 92 läuft über den RA-Multiplexer 94 und einen A-Multiplexer 95 in den A-Eingang der ALU-Einheit 66, während der Inhalt des B-Sperrglieds 81 über den B-Multiplexer 65 in die ALU-Einheit 66 läuft. Die Summe dieser zwei Eingänge stellt die verschobene Adresse dar, welche dann an das Sperrglied 67 für virtuelle Adressen und auch zurück über die Schiebeschaltung 82, den DF-Multiplexer 83 und den Q-Multi­ plexer 94 an das Q-Register 82 übertragen wird. Beim Schritt B6 gibt der Mikrosortierer 44 die Befehlspuffersteuerung 61 frei, um den Inhalt des zweiten Operanden-Spezifizierers auf zulegen und um eine Forderung einzuleiten, den zweiten Operanden im Schritt B7 zu erhalten. Beim Schritt B8 überträgt der Mikrosortierer 44 den zweiten Operanden von der MD-Leitung über eine weitere Daten­ justierschiene 96 und den D-Multiplexer 84 an das D-Register 85, und der erste Operand wird an das Q-Register 92 übertragen.
Nunmehr schaltet der Mikrosortierer 44 den Durchführungsstellen­ zähler 73 (Schritt B9) zu der dritten Tabelleneingabe in Fig. 8B weiter, die eine Ausführung genau festlegt. Infolgedessen steuert der Mikrosortierer 44 die ALU-Einheit 66, so daß die arithmetische Summe der zwei Summanten erzeugt und die Summe dann und das D- Register 85 während des Schritts B10 überträgt.
Beim Schritt B11 schaltet der Mikrosortierer 44 den Zähler 73 auf "11", den in Fig. 8B wiedergegebenen Endzustand. Die Infor­ mation in der Tabelle zeigt an, daß der Operanden-Spezifizierer eine Adresse in dem Speicher bezeichnet, eine 4-Byte-Ganzezahl einzuschreiben ist. Der Wert C2 befindet sich an der Byte 1- Stelle des Befehlspuffers 60, und das "C" in dem Registermodus­ feld legt eine Wortverschiebungsadresse fest. Infolgedessen be­ nutzt der Mikrosortierer 44 die Schritte B12 bis B16, um die Speicheradresse zu berechnen, und um eine Übertragung der Summe an diese Speicherstelle einzuleiten. Wenn diese Schritte beendet sind, löscht der Mikrosortierer 44 den Zähler 73 beim Schritt B17 und kehrt zu den Schritten in Fig. 7 zurück, um dadurch die Übertragung und Dekodierung des nächsten Befehls einzuleiten.
Der dritte in Fig. 8A dargestellte Operanden-Spezifizierer legt eine Wortverschiebung fest. Wenn der Addierbefehl iterativ ver­ wendet wurde und wenn aufeinanderfolgende Summen in einem Stellen­ feld gespeichert werden sollen, kann ein Programmierer dies aus­ wählen, um die Wortverschiebung zu benutzen, aber auch um die Stellen zu indexieren. Eine derartige indexierte, verschobene Adresse kann mit Hilfe dieser zentralen Recheneinheit geschaffen werden. Der Programmierer würde den dritten Operanden-Spezifi­ zierer in Fig. 8A ändern, damit er als der Befehl in Fig. 9A anliegt. Dieser Befehl kennzeichnet das R7-Register als ein Indexregister.
Insbesondere die ursprüngliche Byte 4-Stelle in dem Befehlspuffer enthält "47", wenn die Befehlsdikodieroperation beginnt. Der Schritt C1 in Fig. 9C entspricht dem Schritt B11 in Fig. 8C. Beim Schritt C1 wird der Zähler 73 in Fig. 6A weiter geschaltet, um dadurch eine Schreiboperation mit einer Langwort-Ganzzahl anzuzeigen. Zu diesem Zeitpunkt enthalten das A-Sperrglied 75 und das B- Sperrglied 81 den Inhalt des Registers 7; das Q-Register 92 und das Sperrglied 67 für virtuelle Adressen enthalten die zweite Operanden- Adresse und das D-Register 85 enthält die Summe der Addition. Zum Zeitpunkt des Schrittes C1 belegt der dritte Operandenspezifizierer die Byte 2- bis Byte 5-Stellen in dem Befehlspuffer 60. Infolgedessen enthält das A-Sperrglied 65 den Inhalt des R7-Registers, weiches das bezeichnete Indexregister ist. Beim Stand C2 wird der Inhalt des A-Sperrglieds über den A-Multiplexer 65 wird die ALU-Einheit 66 an die Schiebeschaltung 82 übertragen.
Die Schiebeschaltung 82 verschiebt den Indexwert nach links an eine Stellenzahl, welche dem Längensignal von dem Ausführungs­ adressenspeicher 71 während des Schritts C3 entspricht. In diesem Fall ist ein Langwort enthalten, so daß das Längenfeld "10" enthält und der Index zwei Stellen verschoben wird, um dadurch wirksam den Indexwert mit 4 zu multiplizieren und die Größe des Langwort-Datenworts auszugleichen, das zu über­ tragen ist. Wenn ein Byte zu übertragen ist, kommt es zu keiner Verschiebung, so daß der Index wirksam mit 1 multipliziert wird, während wenn ein Vierfachwort zu übertragen ist, der Index­ registerinhalt dreimal nach links verschoben wird, um dadurch wirksam den Index mit 8 zu multiplizieren und die 8 Byte-Vier­ fachwortgröße auszugleichen. Infolgedessen normiert diese Opera­ tion den Indexwert auf die Größe des zu übertragenden Datenworts.
Nach dem Skalieren wird der Indexwert in einem C-Registerspeicher 97 an einer vorbestimmten Stelle gespeichert, welche als ein T7-Register während des Schrittes C4 spezifiziert wird. Auch der Inhalt der Byte 1-Stelle in dem Befehlspuffer 60 wird gelöscht, so daß der Wert "C" in die Byte 1-Stelle geschoben wird. Beim Schritt C5 wird der Inhalt der Bytestellen 2 bis 5, welche einen Verschiebungswert von "0140" aufweist, über die ID-Leitung 43 an das Q-Register 92 übertragen. In Abhängigkeit von dem Operations­ kode und dem zu verarbeitenden Operanden-Spezifizierer steuert dann die spezifizierer-Dekodierlogik 72 das Löschen der Byte­ stellen 1 bis 5 in dem Befehlspuffer beim Schritt C6 und schaltet dem Programmzähler um eine entsprechende Zahl beim Schritt C7 weiter. Während des Schritts C8 wird die Befehlspuffersteuerung 61 freigegeben, um Information von irgendeiner durch den Inhalt des Sperrglieds 67 für virtuelle Adressen gekennzeichneten Stelle aufzufinden. Beim Schritt C9 wird die arithmetische Summe in dem D-Register 85 zu dem Q-Register 92 befördert, und die Ver­ schiebungszahl "0140" wird von dem Q-Register 92 zu dem D-Register 85 befördert. Das B-Sperrglied 81 enthält den Inhalt des Registers 2, und dieser Wert wird über den B-Multiplexer 65 zu dem Eingang der ALU-Einheit 66 beim Schritt C10 befördert. Der Verschiebungs­ wert von dem Q-Register 92 wird zu dem A-Eingang befördert. Die Summe stellt die verschobene Adresse dar, und wird zurück an das D-Register 65 und an das Sperrglied 67 für virtuelle Adressen übertragen, obwohl sie nicht verwendet wird. Beim Schritt C11 werden die restlichen Byteteile des dritten Operanden-Spezifizierers gelöscht.
Nunmehr kommt es zu der Indexieroperation. Beim Schritt C12 wird der Inhalt des T7-Registers in dem Registerspeicher 97 an ein C-Sperrglied 98 übertragen. Dies ist der normierte Index, und während des Schritts C13 wird er über den B-Multiplexer 65 an den B-Eingang der ALU-Einheit 66 übertragen. Gleichzeitig wird die verschobene Adresse von dem D-Register 65 über den RA-Multi­ plexer 94 und den A-Multiplexer 95 an den A-Eingang der ALU- Einheit 66 übertragen. Die indexierte Adresse wird dann dadurch erzeugt, daß die Zahlen an den zwei Eingängen addiert und die Summe, welche die indexierte Adresse ist, an das D-Register 85 übertragen wird. Beim Schritt C14 wird diese Adresse zu dem Sperr­ glied 67 für virtuelle Adressen befördert. Der Operand befindet sich nunmehr in dem Q-Register 92. Der Mikro­ sortierer 44 befördert diese Summe von dem Q-Register 92 zurück zu dem D-Register 85. Beim Schritt C14 befördert dann der Mikro­ sortierer 44 den Operanden über eine andere Datenjustierschiene 96 auf die MD-Leitung 35, um sie zu der Speichereinheit 11 und dem Datenpuffer 33 an die Stelle zu übertragen, die durch den Inhalt des Sperrglieds 67 für virtuelle Adressen adressiert ist. Als letzter Schritt werden dann der Zähler 73 und die Byte 0- Stelle in dem Befehlspuffer 60 gelöscht. Hierdurch kann dann die Puffersteuerschaltung 61 die nächsten gültigen Daten in dem Be­ fehlspuffer 60 an die 0 und aufeinanderfolgende Bytestellen ver­ schieben.
Aus der vorstehenden Beschreibung ist zu ersehen, daß der In­ dexbetrieb nicht eine besondere und exclusive Betriebsart ist.
Er ist eine Verlängerung einer der verfügbaren Adressierarten zu diesem Bezugsspeicher (d. h. Betriebsart 6 bis 15) Diese Be­ triebsarten sind in Fig. 4 mit Sternen markiert. Der Indexier­ modus wird mit Hilfe eines einzigen Bytes durchgeführt, weiches das Indexregister genau angibt, und dies kann darin mit einer weiteren Verlängerung des Operanden-Spezifizierers zusammenge­ faßt werden, welcher von einen bis neun zusätzlichen Bytes auf­ weisen kann. In diesem Zusammenhang kann der Indexiermodus be­ trachtet werden, um ein Basisregister zu schaffen, welches eine physikalische Versetzung plus das Indexregister enthält, das die, logische Versetzung in einem Feld enthält. Die durch die Ver­ schiebeoperation geschaffene Skalierung gleicht automatisch die Datenwortgröße aus, so daß das Indexregister selbst eine logische Verschiebung eines Datenwortes ungeachtet der Größe dieses Datenwortes darstellt. Auch die Art der veränderlichen Länge der Operanden-Spezifizierer erhöht bzw. vergrößert den Indexiermodus, weil ein Befehl nur den Zwischenraum für eine In­ dexierinformation aufweist, wenn eine indizierte Adresse zu schaffen ist.
In Fig. 10A und 10B sind zwei verschiedene Unterprogramm-Auf­ rufbefehle dargestellt. Der Aufrufbefehl in Fig. 10A ist ein "CALLG"-Befehl und weist einen 1Byte-Operationskode "FA" auf, auf den in dieser Figur ein 1Byte-Operanden-Spezifizierer zum Festlegen einer Argumentliste, und ein Byte-Operanden-Spezifi­ zierer zum Festlegen einer Bestimmung, nämlich der ersten Stelle in dem auf zuruf enden Unterprogramm, festzulegen. In Fig. 10B ist ein "CALLS"-Aufrufbefehl mit einem Betriebskode "FB" dar­ gestellt. Der in Fig. 10A dargestellte CALLG-Befehl ruft ein Unterprogramm auf, wenn die Argumentenliste an verschiedenen Stellen in dem Speicher gespeichert ist, während der CALLS- Befehl in Fig. 10B ein Unterprogramm aufruft, wenn das Aufruf­ unterprogramm bereits die zu verwendende Argumentliste an einen Speicherstapel übertragen hat, der durch das R14-Mehrzweckre­ gister gekennzeichnet ist, das als Stapelhinweisregister arbeitet. Die Argumentliste enthält Eingabedaten und Werte, die von dem Unterprogramm verwendet werden, und Ausgangsadressen für die mittels des Unterprogramms geschaffenen Ausgangswerte.
In Fig. 10C-1 bewertet beim Schritt D1 die zentrale Rechenein­ heit 10 den ersten Operanden-Spezifizierer und überträgt die Argumentlisten-Adresse im Falle des in Fig. 10A dargestellten Befehls oder den Argumentzählstand im Fall des in Fig. 10B dar­ gestellten Befehls an das D-Register 85. Beim Schritt D2 werden der Inhalt des D-Registers 85 an das Q-Register 92 übertragen und das Bestimmungsfeld in dem Bestimmungs-Operanden-Spezifizie­ rer wird bewertet. Die sich ergebende Ausgangsadresse für das Unterprogramm wird zu dem D-Register 85 und zu dem Sperrglied 67 für virtuelle Adressen befördert. Entsprechend einer Er­ scheinungsform dieses Aufrufbefehls enthält die erste Stelle des Unterprogramms eine Unterprogramm-Maske, die folgendermaßen interpretiert wird. Bitstellen 0 bis 11 entsprechen unmittel­ bar Mehrzweckregistern R0 bis R11. Jede Bitstelle in der Unter­ programm-Maske kann in Abhängigkeit davon gesetzt oder gelöscht werden, ob der Inhalt des entsprechenden Mehrzweckregisters zu erhalten ist oder nicht. Der Inhalt eines Mehrzweckregisters ist offensichtlich zu erhalten, wenn das Unterprogramm dem In­ halt dieses Mehrzweckregisters ändert. Die übrigen Mehrzweck­ register R12 bis R15 werden entweder immer oder werden niemals erhalten bzw. hergestellt. Insbesondere das Register R12 stellt ein Argumenthinweisregister dar und wird immer erhalten. In ähnlicher Weise stellt das Register R13 ein Bildhinweisregister dar, und das Register R15 stellt ein Programmzählerregister dar; auch sie sind immer zu erhalten. Andererseits stellt das Register R14 das Stapelhinweisregister dar und ist niemals sicherzustellen. Infolgedessen können die vier höchstwertigen Bitstellen in der Unterprogramm-Maske für diese Zwecke verwendet werden.
In dem speziellen Ausführungsbeispiel sind die Bitstellen 12 und 13 immer 0, obwohl sie für andere Zwecke verwendet werden könnten. Andererseits schaffen die Bits 14 und 15 die Anfangs­ bedingungen der ganzzahligen und dezimalen Überlauffehleran­ zeige bei Eingabe in das Unterregister selbst.
In Fig. 10C-1 und beim Schritt D3 ist der Programmzähler 64 vorher weitergeschaltet worden, um dadurch den ersten Befehl zu identifizieren, der auf den Unterprogramm-Aufrufbefehl in dem Abruf-Unterprogramm folgt. Als nächstes wird das Q-Register 92 gelöscht und die Unterprogramm-Maske wird von dem D-Register 85 zu einem T2-Register in dem C-Registerspeicher 97 befördert. Bitstellen 12 und 13 in der Unterprogramm-Maske werden gesprüft, um festzulegen, wann sie einen Wert 0 haben. Wenn dies nicht der Fall ist, besteht eine Fehlerbedingung und es kommt zu ent­ sprechenden (nicht programmierten) Sprungbedingungen. Hierbei wird von dem Schritt D5 auf den Schritt D6 übergegangen, wobei die Unterprogramm-Maske an das C-Sperrglied 98 übertragen wird. Beim Schritt D7 wird eine Anzahl Einsen in der Unterprogramm- Maske gezählt, um die Anzahl von Mehrzweckregistern zu bilden, die gespeichert werden müssen, um den Zustand des Abruf-Unter­ programms zu bewahren. Der Schritt D8 stellt eine Verzweigung dar, bei welcher eine Operation bei dem Schritt übertragen wird, der entweder in Fig. 10C-2A für den in Fig. 10A dargestellten Aufrufbefehl oder in Fig. 10C-2B für den in Fig. 10B dargestellten Aufrufbefehl dargestellt ist.
Wenn der in Fig. 10A dargestellte CALLG-Befehl zu dekodieren ist, muß als nächstes der ganze Raum in dem Speicherstapel festgestellt werden, der von dem Zustand das Abrufprogramms belegt wird. Für diesen Befehl werden fünf zusätzliche Lang­ worte erhalten. Infolgedessen wird beim Schritt D9 diese Zahl zu der Anzahl Einsen in der Maske addiert, und die Summe wird dann in eine Anzahl Bytes umgesetzt und dann dazu verwendet, um zusammen mit dem Inhalt des Stapelhinweisregisters die letzte Stelle in dem Stapel festzulegen (Schritt D10). Wie vorher aufgezeigt, arbeitet die zentrale Recheneinheit 10 als virtuell adressiertes Gerät. Infolgedessen müssen die Schritte durchge­ führt werden, um sicherzustellen, daß ausreichend Platz in dem Speicherstapel vorhanden ist, der dem speziellen, durchzu­ führenden Programm zugeordnet ist, um alle Register, die erhalten werden, anzupassen. Während des Schritts D11 wird der Inhalt des Registers R14, des Stapelhinweisregisters an die A- und B- Sperrglieder 75 und 81 übertragen, und die zwei niedrigstwertigen Bits des Registers R14 werden an ein T4-Register in dem C-Re­ gisterspeicher 97 beim Schritt D12 übertragen.
Beim Schritt D12 wird der Speicherzeiger ausgerichtet, in dem die zwei niedrigstwertigen Bits in dem Register R14 durch Nullen ersetzt werden, um dadurch die Adresse in das Register zu zwin­ gen, um eine Langwortgrenze festzulegen. Wenn Übertragungen in die und von den Speichereinheiten 11 sowie die Pufferspeichereinheit an den Langwortgrenzen durchgeführt werden, stellt die­ ser Ausrichtvorgang sicher, daß jedes Register mit einer einzi­ gen Speicherübertragung erhalten werden kann, und verbessert die gesamte Leistungsfähigkeit des Befehls. Andererseits gibt es eine Möglichkeit, zwei Übertragungen durchzuführen, um je­ des Register zu erhalten, wodurch jedoch die Zeit stark erhöht wird, die zum Durchführen des Aufrufbefehls und der anschlie­ ßenden Befehle in dem Unterprogramm erforderlich ist, die nor­ malerweise ausgerichtet sind.
Nach einer Ausrichtung wird der ausgerichtete Inhalt des SP- Registers schrittweise zurückgeschaltet, um nacheinander eine Folge von leeren Langwortstellen in dem Speicher zu kennzeichnen. Beim Schritt D13 kann der Mikrosortierer 44 den Inhalt des Pro­ grammzählers 64 und dieser Mehrzweckregister, die ein der Unter­ programm-Maske genau festgelegt sind, an den Speicherstapel über­ fragen. Durch diesen Schritt wird die Stelle des Abrufprogramms, an welchem der auf den Aufrufbefehl folgende Befehl zu finden ist, und der Mehrzweckregister bewahrt und erhalten, die bei dem Unterprogramm benutzt werden. Nach der Beendigung des Schritts D13 ist der Zustand des Abruf Unterprogramms erhalten worden, so daß die zentrale Recheneinheit auf die in Fig. 10C-3 dargestellten Schritte übergeht.
In Fig. 10C-2B sind die Schritte dargestellt, wenn der in Fig. 10B dargestellte CALLS-Befehl zu dekodieren ist. Bei den Schritte D14 und D15 legt die zentrale Recheneinheit 10 wieder fest, ob ausreichend Raum in dem zugeordneten Speicherstapel zum Speichern der Information vorhanden ist. Die zwei niedrigstwertigen Bits des SP-Registers werden in ein T4-Register in dem C-Register­ speicher 97 beim Schritt D16 befördert. Beim Schritt D17 wird der Argumentzählstand von dem T3-Register in dem C-Registerspeicher 97 zu dem Q-Register 92 befördert. Zusätzlich wird eine CALLG/ CALLS-Fehleranzeige gesetzt. Diese Fehleranzeige wird anschlie­ ßend in dem Speicherstapel sichergestellt und wird später von dem Rückkehrbefehl verwendet, um das Wiederauffinden von Infor­ mation aus dem Speicherstapel zu steuern. Infolgedessen können die CALLG- und CALLS-Befehle verwendet werden, um ein Unterpro­ gramm austauschbar abzurufen. Das SP-Register wird schrittweise verringert, um die nächste verfügbare Stelle zu kennzeichnen, und der verringerte Inhalt wird dann in dem D-Register 85 ge­ speichert. Der Argumentzählstand in dem Q-Register 92 wird dann in dem Speicherstapel gespeichert, um dadurch die Argumentliste zu vervollständigen. Während des Schritts D18 wird der Inhalt des D-Registers abgewandelt, so daß das Register R14 oder das Stapelhinweisregister auf eine Langwortgrenze für die nächste verfügbare Stelle ausgerichtet ist. Beim Schritt D19 bewahrt der Mikrosortierer 44 den Abrufprogrammzustand, indem er den Programm­ zähler und die Mehrzweckregister erhält, die durch das Unterpro­ gramm in dem Speicherstapel verwendet werden, wenn beim Schritt D13 in Fig. 10C-2A mit der ausgerichteten Stelle in dem Speicher- Stapel begonnen wird.
In Fig. 10C-3 geht der Mikrosortierer 44 zu dem Schritt D20 über, nachdem die Übertragungen beendet sind, die durch den Schritt D13 in Fig. 10C-2A und durch den Schritt D19 in Fig. 10C-2B dargestellt sind. Insbesondere werden dann der Inhalt des Registers R13, das als das Bildhinweisregister arbeitet, an die nächste verfügbare Stelle in dem Speicherstapel über­ tragen. Hierauf folgt der Inhalt des Registers R12, das das Argumenthinweisregister darstellt. Beim Schritt D12 werden die Zustandsfehleranzeigen für das Abrufprogramm gelöscht. Als nächstes überträgt die zentrale Recheneinheit 10 die Startadresse für das Unterprogramm von dem T1-Register in dem C-Register- Speicher 97, an das Sperrglied 67 für virtuelle Adressen und an den Programmzähler 64 (Schritt D23). Dann beginnt die Befehls­ puffersteuerung 61 den ersten Befehl in dem Unterprogramm an den Befehlspuffer 60 zu übertragen. Der Mikrosortierer 44 bildet beim Schritt D24 ein Wort aus dem alten Prozessorzustandswort, der Unterprogramm-Maske, den Stapelausrichtbits und der CALLS/ CALLG-Fehleranzeige und hält dies Wort in dem Speicherstapel.
Beim Schritt D25 überträgt der Mikrosortierer 44 den Inhalt des Stapelhinweisregisters an das Register R13 als dem neuen Bild­ hinweisregister. Als nächstes wird dann das T-Bit gesetzt, das dem T-Bit in dem Abrufprogramm beim Schritt D26 entspricht, und beim Schritt D27 setzt der Mikrosortierer 44 die Dezimal- und Ganzzahlüberlauf-Fehleranzeigen entsprechend den zwei höchst­ wertigen Bits in der Unterprogramm-Maske; andere Fehleranzeigen, wie beispielsweise eine gleitende Unterlauffehleranzeige, kann ebenfalls gesteuert werden.
Beim Schritt D28 wird die Information an das Register R12 als dem neuen Argumenthinweisregister übertragen. Wenn der Befehl der in Fig. 10A dargestellte CALLG-Befehl ist, enthält diese Information die Adresse der ersten Stelle in der Argumentliste, welche ihrerseits den Argumentzählerstand enthält. Wenn der Be­ fehl der CALLS-Befehl in Fig. 10B ist, enthält diese Informa­ tion den Wert des Stapelzeigers, nachdem der Argumentzähloperand in den Speicherstapel befördert ist. Auf jeden Fall ist die nächste Operation beim Schritt D28 zu speichern, ein Nullwert für eine Zustandsverarbeitungsadresse ist in der nächsten ver­ fügbaren stelle des Speicherstapels gespeichert. Hierdurch wird eine Stelle im Speicherstapel für eine nachfolgende Zu­ standsverarbeitungsadresse zurückbehalten und auch angezeigt, daß anfangs keine Zustandsverarbeitungseinrichtung vorhanden ist.
Eine Zustandsverarbeitungseinrichtung ist ein zweites Unter­ programm, welches abgerufen werden kann, wenn irgendein unge­ wöhnlicher Zustand während der Durchführung des ersten Unter­ programms auftritt. Insbesondere wird ein Zustandsverarbeitungs- Unterprogramm verwendet, um das Datenverarbeitungssystem im Falle irgendeines Fehlers in einen bekannten Zustand zurück­ zubringen. Wenn beispielsweise ein Unterprogramm versucht hat, zu einer nicht existierenden Datei Zugriff zu erlangen, könnte ein Zustandsverarbeitungsunterprogramm abgerufen werden. In einem solchen Anwendungsfall würde das Unterprogramm die Aus­ gangsadresse für das Zustandsverarbeitungs-Unterprogramm an der zurückgehaltenen Stelle in dem Speicherstapel speichern.
Nach dem Schritt D28 kann die zentrale Recheneinheit beginnen, einen ersten Befehl in dem Unterprogramm zu verarbeiten, welches beim Schritt D22 die Befehlspuffersteuerung 61 aufzufinden begann. Die zwei Unterprogramm-Abrufbefehle sind sehr leistungsfähig. Wenn einer der Abrufbefehle beendet worden ist, ist alle Infor­ mation, die für eine Übertragung an ein und von einem Unterpro­ gramm erforderlich ist, entsprechend bewahrt worden. Insbesondere enthält der Speicherstapel den Abrufprogrammzähler und weitere Informationen, die den Zustand des Abrufprogramms erhält. Die Argumente können ohne weiteres mittels des Argumentenhinweises in dem Register R12 wieder aufgefunden werden, und die verschie­ denen Zustandsfehleranzeigen werden gesetzt, so daß die Umgebung für das Unterprogramm ebenfalls geschaffen ist.
Der letzte Befehl in dem Unterprogramm ist ein Rückkehrbefehl, welcher einen einzigen Operationskode aufweist; er hat keine Operanden-Spezifizierer. Entsprechend diesem Befehl wird der Inhalt des laufenden Bildhinweises in dem Register R13 abge­ ändert und zurück an das Register R14 übertragen, um den Boden des Plattenstapels anzuzeigen, welcher durch den vorherigen Abrufbefehl geschaffen wurden und damit der Mikrosortierer 44 unmittelbar zum Anfang der wichtigen Teile des Stapels laufen kann.
Der Inhalt der nächsten Stelle in der Speicherstelle weist (1) den Prozessorzustand für das Abrufprogramm, (2) die Unterprogramm- Maske, (3) die Anzeige, ob ein Unterprogramm durch den Befehl in Fig. 10A oder 10B abgerufen wurde, und (4) den während der Stapelausrichtung gespeicherten Zweibit-Wert auf. Die Unterprogramm- Maske wird geprüft, um zu bestimmen, ob Bitstellen 0 bis 11 null sind. Wenn dies der Fall ist, sind keine Register zum er­ neuten Speichern erforderlich, so daß es möglich ist, die er­ haltene Unterprogramm-Maske zu isolieren und die zwei höher­ wertigen Bits in der erhaltenen Unterprogramm-Maske zu prüfen, um dadurch die Dezimal- und Ganzzahl-Überlauffehler-Anzeigen wieder herzustellen. Wenn die Bits 0 bis 11 der Maske irgend­ welche Einsen enthalten, dann müssen diese Register wieder auf­ gefunden werden. Als nächstes wird der Stapelzeiger entsprechend den behaltenen Stapelausrichtsbits genau ausgerichtet. Die zen­ trale Recheneinheit prüft das Bit, welches den Abrufbefehl kenn­ zeichnet. Wenn der Befehl in Fig. 10A abgerufen worden ist, ist die Rückkehr beendet, so daß, der Mikrosortierer 44 beginnt, den nächsten Befehl in dem Abrufprogramm zu verarbeiten. Anderer­ seits ruft er den Argumentzählerstand von dem Speicherstapel ab, schaltet den Zählerstand um eins weiter, setzt diesen Zählerstand in eine Anzahl Bytes um, addiert die Bytezahl zu dem Inhalt des Speicherhinweisregisters und speichert diese Summe in dem Sperr­ glied 67 für virtuelle Adressen. Der wiederaufgefundene Programm­ zähler wird dann dazu verwendet, um die Befehlspuffersteuerung 61 freizugeben, um den nächsten Befehl aus dem Speicher wieder aufzufinden, welcher der Befehl ist, der auf den Abrufbefehl in dem Abrufprogramm folgt, um dadurch die Rückkehr von dem Abruf­ befehl in Fig. 10B zu beenden.
Es ist somit ein Datenverarbeitungssystem beschrieben, das eine zentrale Recheneinheit aufweist, die verschiedene Arten von Be­ fehlen dekodiert, die eine vorgegebene Länge haben. Bestimmte dieser Befehle enthalten einen oder mehrere Operanden-Spezifi­ zierer und jeder Operanden-Spezifizierer legt die Stelle eines Operanden fest. Gemäß der Erfindung spricht die zentrale Rechen­ einheit auf Unterprogramm-Abrufbefehle an, welche automatisch viele der Funktionen durchführen, die durch ausdrückliche Be­ fehle eingegeben werden müssen, die entweder in dem Abruf­ programm oder in dem Unterprogramm eingeschrieben sind. Wie ausgeführt, spricht die zentrale Recheneinheit auf jeden Befehl an, um den Zustand der zentralen Recheneinheit zu erhalten, während dieser das Abrufprogramm verarbeitet, und um die Umgebung für das Unterprogramm zu schaffen. Alle diese Operationen ver­ einfachen die Aufgabe eines Programmierers und vermindern die Anzahl von Befehlsstellen, welche irgendeinem Abrufprogramm oder Unterprogramm zugeordnet werden müssen.

Claims (9)

1. Zentraleinheit (10) für die Verarbeitung von Operanden entsprechend Befehlen in einem Datenverarbeitungssystem,
mit einer Speichereinrichtung (Fig. 1/11) für die Speicherung der Operanden und Befehle,
wobei mindestens ein Befehl einen Operationscode (Fig. 4/50) für die Spezifikation einer durchzuführenden Operation und einen oder mehrere Operandenspezifikationsteile (Fig. 4/ 51, 52, 53) für die Identifikation eines oder mehrerer Plätze in dem Datenverarbeitungssystem für einen oder mehrere Operanden aufweisen,
wobei die Operandenspezifikationsteile jeweils wenigstens ein Informationsbyte umfassen und in diesem für bestimmte Adressierungsarten ein Registerselektionsfeld (Fig. 4/55) enthalten.
mit einer Allzweckregistereinrichtung (Fig. 5B/76, 80) mit einer Mehrzahl von Allzweckregistern, von denen eines entsprechend dem Registerselektionsfeld (55) eines Operandenspezifikationsteils ausgewählt wird,
sowie mit einer Befehlsdecodiereinrichtung (Fig. 1/18), die auf einen Operandenspezifikationsteil anspricht, um eines der Allzweck­ register als Indexregister zu bestimmen,
dadurch gekennzeichnet,
daß die Operandenspezifikationsteile (51; 52, 53) weiter ein erstes Adressiermodusfeld (Fig. 4/54) enthalten, das eine aus einer Mehrzahl von Adressierungsoperationen, unter diesen eine indizierte Adressie­ rungsoperation angibt,
daß eine Indexwertgeneriereinrichtung (Fig. 5B/98) funktionell mit der Allzweckregistereinrichtung und mit der Befehlsdecodier­ einrichtung (18) verbunden ist, um einen Indexwert aus dem durch das Registerselektionsfeld eines Operandenspezifikationsteils bestimmte Allzweckregister dann zu generieren, wenn das durch den Inhalt des Adressiermodusfeldes des Operandenspezifikationsteils bestimmt wird,
daß eine Basisadresswertgeneriereinrichtung (Fig. 5B/75) funktionell mit der Allzweckregistereinrichtung und mit der Befehlsdecodiereinrichtung (18) verbunden ist, um einen Basisadreßwert zu erzeugen, durch Decodierung eines zweiten Adressiermodusfeldes, was die spezifizierte Adressierungsoperation anzeigt, wobei der Basisadreßwert gewonnen wird unter Benutzung der Information, die in einem oder mehreren aufeinanderfolgenden Byteplätzen enthalten ist, welche auf das zweite Adressiermodus­ feld folgen, und
daß eine indizierte Adreßgeneriereinrichtung (Fig. 5B/65, 66, 95; Fig. 5A/67) mit der Indexwertgeneriereinrichtung und Basisadreß­ wertgeneriereinrichtung verbunden ist, um eine indizierte Operanden­ adresse durch Kombination des Indexwerts und des Basisadreß­ werts zu erzeugen.
2. Zentraleinheit nach Anspruch 1, dadurch gekennzeichnet, daß eine Programmzählereinrichtung (64) für die Identifikation von Plätzen in der Speichereinrichtung für Operationscodes in aufeinanderfolgenden Befehlen vorgesehen ist, wobei wenigstens ein erstes Informationsbyte in jedem Operandenspezifikations­ teil die Zahl der Informationsbytes in jedem Operanden­ spezifikationsteil angibt, daß die Befehlsdecodiereinrichtung eine Befehlsempfangseinrichtung (60, 62, 63) umfaßt, die mit der Programmzählereinrichtung verbunden und an die Speicher­ einrichtung anschließbar ist, um im Normalbetrieb aufeinander­ folgende Informationsbytes aus der Speichereinrichtung sequentiell zu holen, daß eine Operationscode-Decodier­ einrichtung (71) mit der Befehlsempfangseinrichtung verbunden ist, um entsprechend dem Operationscode die Zahl der Operandenspezifikationsteile, die der Befehl enthält, zu ermitteln, und daß eine Operandenspezifikationsdecodier­ einrichtung (72, 73) mit der Befehlsempfangseinrichtung und der Operationscode-Decodiereinrichtung verbunden ist, um eine sequentielle Decodierung aufeinanderfolgender Bytes der dem Operationscode folgenden Information durchzuführen und einen Platz für jeden spezifizierten Operanden zu identifizieren, wobei die Operandenspezifikationsdecodier­ einrichtung auf die Informationsbytes anspricht, die die Anzahl der Informationsbytes im Operandenspezifikationsteil angeben und die jeden Operandenspezifizierer darstellen.
3. Zentraleinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Befehlsempfangseinrichtung eine Befehlspuffereinrichtung (60) für den Empfang aufeinanderfolgender Informations­ bytes aus einer vorbestimmten Anzahl von Speicherplätzen aufweist, beginnend bei dem durch die Programmzähler­ einrichtung spezifizierten Speicherplatz, und daß eine mit der Programmzählereinrichtung und der Befehlspuffer­ einrichtung verbundene Übertragungseinrichtung für die Informationsübertragung von der Speichereinrichtung zu der Befehlspuffereinrichtung vorgesehen ist, wobei die Programm­ zählereinrichtung den ersten Informationsbyteplatz des Operationscodes von jedem Operandenspezifikationsteil in jedem Befehl identifiziert.
4. Zentraleinheit nach Anspruch 3, dadurch gekennzeichnet, daß die Befehlspuffereinrichtung (60) miteinander verbundene Mehrfachbyte-Registereinrichtungen für die Speicherung einer vorbestimmten Anzahl aufeinanderfolgender Informationsbytes enthält, die von durch die Programmzählereinrichtung identifizierten Anfangsplätzen erhalten werden, daß eine Zwischenspeichereinrichtung (70) mit einer ersten Byteregister­ einrichtung zur Speicherung des Operationscodes verbunden ist, daß eine Schiebenetzwerkeinrichtung (63) mit dem Ausgang der Mehrfachbyte-Registereinrichtungen verbunden ist, daß eine Multiplexereinrichtung (62) einen der Ausgänge der Schiebe­ netzwerkeinrichtung und der Übertragungseinrichtung mit dem Eingang der Mehrfachbyte-Registereinrichtungen selektiv koppelt, und daß eine Befehlspuffer-Steuereinrichtung (61) mit den Mehrfachbyte-Registereinrichtungen, der Multiplexer­ einrichtung und der Übertragungseinrichtung verbunden ist, um Informationsübertragungen zu der Befehlspuffereinrichtung anzufordern.
5. Zentraleinheit nach Anspruch 2, dadurch gekennzeichnet, daß sie zur Verarbeitung von unterschiedlich vielen Informations­ bytes umfassenden Operanden und Operandenspezifikationsteilen ausgebildet ist, und daß die Indexwertgeneriereinrichtung (98) eine mit der Operandenspezifikationsdecodiereinrichtung verbundene Skaliereinrichtung für die Skalierung des Index­ wertes gemäß der Anzahl der Informationsbytes in dem Operanden aufweist.
6. Zentraleinheit nach Anspruch 5, dadurch gekennzeichnet, daß die Skaliereinrichtung eine Schiebeeinrichtung (82) zur Generierung skalierter Indexwerte entsprechend dem Indexwert von dem designierten Indexregister und der Anzahl Informationsbytes in dem entsprechenden Operanden aufweist, und daß eine Registereinrichtung (97) zur Speicherung des skalierten Indexwerts von der Schiebe­ einrichtung vorgesehen ist.
7. Zentraleinheit nach Anspruch 5, dadurch gekennzeichnet, daß ein eine indizierte Adressierung bestimmender Operationsspezifikationsteil in einem folgenden In­ formationsbyte in dem Befehl ein weiteres Registermodus­ feld und Registerselektionsfeld aufweist, und daß die Basisadreßwertgeneriereinrichtung erste und zweite Register­ speichereinrichtungen (81, 92) zur Generierung des Basis­ adreßwerts entsprechend den anderen Registermodus- und Registerselektionsfeldern und eine dritte Register­ einrichtung (95) zur Speicherung des Basisadreßwerts aufweist.
8. Zentraleinheit nach Anspruch 7, dadurch gekennzeichnet, daß eine mit den ersten, zweiten und dritten Registerspeicher­ einrichtungen verbundene arithmetische Einrichtung zur Generierung des Basisadreßwerts vorgesehen ist.
9. Zentraleinheit nach Anspruch 7, dadurch gekennzeichnet, daß die Indexwertgeneriereinrichtung eine arith­ metische Einrichtung (65, 66, 95) für das Kombinieren des Indexwerts mit dem Basisadreßwert aufweist, daß eine Adreßzwischenspeichereinrichtung (67) für die Speicherung der indizierten Adresse von der arithmetischen Einrichtung vorgesehen ist, und daß eine Datentransporteinrichtung zur Beförderung der indizierten Adresse zu der Adreßzwischenspeichereinrichtung mit der arithmetischen Einrichtung und der Adreßzwischenspeichereinrichtung verbunden ist.
DE2846495A 1977-10-25 1978-10-25 Zentraleinheit Expired - Lifetime DE2846495C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US84505177A 1977-10-25 1977-10-25

Publications (2)

Publication Number Publication Date
DE2846495A1 DE2846495A1 (de) 1979-05-10
DE2846495C2 true DE2846495C2 (de) 1993-10-21

Family

ID=25294279

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2846495A Expired - Lifetime DE2846495C2 (de) 1977-10-25 1978-10-25 Zentraleinheit

Country Status (6)

Country Link
US (1) US4241397A (de)
JP (1) JPS5931734B2 (de)
CA (1) CA1114518A (de)
DE (1) DE2846495C2 (de)
FR (1) FR2407520B1 (de)
GB (1) GB2007889B (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4419727A (en) * 1979-01-02 1983-12-06 Honeywell Information Systems Inc. Hardware for extending microprocessor addressing capability
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
USRE32493E (en) * 1980-05-19 1987-09-01 Hitachi, Ltd. Data processing unit with pipelined operands
US4499535A (en) * 1981-05-22 1985-02-12 Data General Corporation Digital computer system having descriptors for variable length addressing for a plurality of instruction dialects
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
US4428045A (en) 1981-09-11 1984-01-24 Data General Corporation Apparatus for specifying and resolving addresses of operands in a digital data processing system
US4450522A (en) * 1981-09-11 1984-05-22 Data General Corporation Apparatus for deriving addresses of data using displacements from base addresses which change only on call and return
US4503492A (en) * 1981-09-11 1985-03-05 Data General Corp. Apparatus and methods for deriving addresses of data using painters whose values remain unchanged during an execution of a procedure
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
DE3500377A1 (de) * 1984-01-16 1985-07-25 N.V. Philips' Gloeilampenfabrieken, Eindhoven Verfahren zur bearbeitung maschinencodierter befehlswoerter und datenprozessor durch durchfuehrung des verfahrens
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
EP0554917B1 (de) * 1987-06-05 1998-05-06 Mitsubishi Denki Kabushiki Kaisha Digitales Signalverarbeitungssystem in dem ein Prozessor unter Kontrolle eines Hosts auf zwei Befehlsspeicher zugreift
JP2609618B2 (ja) * 1987-08-13 1997-05-14 株式会社東芝 データ処理装置
JP2902402B2 (ja) * 1987-09-30 1999-06-07 三菱電機株式会社 データ処理装置
JPH0766324B2 (ja) * 1988-03-18 1995-07-19 三菱電機株式会社 データ処理装置
JPH0769806B2 (ja) * 1988-10-14 1995-07-31 三菱電機株式会社 データ処理装置
US5045992A (en) * 1988-10-19 1991-09-03 Hewlett-Packard Company Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type
WO1990008355A1 (en) * 1989-01-17 1990-07-26 Fujitsu Limited Microprocessor
US5167026A (en) * 1989-02-03 1992-11-24 Digital Equipment Corporation Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers
US5148528A (en) * 1989-02-03 1992-09-15 Digital Equipment Corporation Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length
US5142633A (en) * 1989-02-03 1992-08-25 Digital Equipment Corporation Preprocessing implied specifiers in a pipelined processor
US5179691A (en) * 1989-04-12 1993-01-12 Unisys Corporation N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M
DE69023196T2 (de) * 1989-08-14 1996-06-13 Ibm Implizite Prologargumente.
EP0415894B1 (de) * 1989-08-14 1995-11-15 International Business Machines Corporation Verbesserte Adressierung in "Prolog"
US5274820A (en) * 1989-08-14 1993-12-28 International Business Machines Corporation Method and system for eliminating operation codes from intermediate prolog instructions
US6038584A (en) * 1989-11-17 2000-03-14 Texas Instruments Incorporated Synchronized MIMD multi-processing system and method of operation
US5544337A (en) * 1989-12-29 1996-08-06 Cray Research, Inc. Vector processor having registers for control by vector resisters
US5623650A (en) * 1989-12-29 1997-04-22 Cray Research, Inc. Method of processing a sequence of conditional vector IF statements
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5442769A (en) * 1990-03-13 1995-08-15 At&T Corp. Processor having general registers with subdivisions addressable in instructions by register number and subdivision type
US5598547A (en) * 1990-06-11 1997-01-28 Cray Research, Inc. Vector processor having functional unit paths of differing pipeline lengths
US5305446A (en) 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
US5367648A (en) * 1991-02-20 1994-11-22 International Business Machines Corporation General purpose memory access scheme using register-indirect mode
US5371864A (en) * 1992-04-09 1994-12-06 International Business Machines Corporation Apparatus for concurrent multiple instruction decode in variable length instruction set computer
GB9412434D0 (en) * 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
JP2682469B2 (ja) * 1994-09-20 1997-11-26 日本電気株式会社 命令コード符号化方式
US6182202B1 (en) * 1997-10-31 2001-01-30 Oracle Corporation Generating computer instructions having operand offset length fields for defining the length of variable length operand offsets
US5958038A (en) * 1997-11-07 1999-09-28 S3 Incorporated Computer processor with two addressable memories and two stream registers and method of data streaming of ALU operation
US5890006A (en) * 1997-12-12 1999-03-30 Advanced Micro Devices, Inc. Apparatus for extracting instruction specific bytes from an instruction
US6061775A (en) * 1997-12-12 2000-05-09 Advanced Micro Devices, Inc. Apparatus and method for predicting a first microcode instruction of a cache line and using predecode instruction data to identify instruction boundaries and types
US6134650A (en) * 1997-12-12 2000-10-17 Advanced Micro Devices, Inc. Apparatus and method for predicting a first scanned instruction as microcode instruction prior to scanning predecode data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE635285A (de) * 1962-07-24
GB1054725A (de) * 1964-04-06
US3331056A (en) * 1964-07-15 1967-07-11 Honeywell Inc Variable width addressing arrangement
US3340513A (en) * 1964-08-28 1967-09-05 Gen Precision Inc Instruction and operand processing
US3461433A (en) * 1967-01-27 1969-08-12 Sperry Rand Corp Relative addressing system for memories
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
JPS4849351A (de) * 1971-04-13 1973-07-12
JPS5439979B2 (de) * 1972-08-01 1979-11-30
JPS5414902B2 (de) * 1972-10-31 1979-06-11
FR2230258A5 (de) * 1973-05-16 1974-12-13 Honeywell Bull Soc Ind

Also Published As

Publication number Publication date
US4241397A (en) 1980-12-23
FR2407520A1 (fr) 1979-05-25
JPS5931734B2 (ja) 1984-08-03
FR2407520B1 (fr) 1989-05-12
JPS5484944A (en) 1979-07-06
GB2007889A (en) 1979-05-23
DE2846495A1 (de) 1979-05-10
CA1114518A (en) 1981-12-15
GB2007889B (en) 1982-04-21

Similar Documents

Publication Publication Date Title
DE2846495C2 (de) Zentraleinheit
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE2714805C2 (de)
DE3210816C2 (de)
DE1901228C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2459975C2 (de)
DE3424962C2 (de)
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2719295A1 (de) Programmsteuerung
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung
DE2612037A1 (de) Prozessor
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE3900246C2 (de)
DE3043653A1 (de) Datenverarbeitungsanlage
DE2611975A1 (de) Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE2906685C2 (de)
DE2952163C2 (de) Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor
DE69825461T2 (de) Verfahren und gerät zum transferieren von daten zwischen einem registerstapel und einer speicherquelle
DE2846520C2 (de)
DE2846521C2 (de)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/355

D2 Grant after examination
8364 No opposition during term of opposition