DE2230102A1 - Rechenwerk fuer variable wortlaengen - Google Patents
Rechenwerk fuer variable wortlaengenInfo
- Publication number
- DE2230102A1 DE2230102A1 DE2230102A DE2230102A DE2230102A1 DE 2230102 A1 DE2230102 A1 DE 2230102A1 DE 2230102 A DE2230102 A DE 2230102A DE 2230102 A DE2230102 A DE 2230102A DE 2230102 A1 DE2230102 A1 DE 2230102A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- bits
- memory
- section
- microinstruction
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
BURROUGHS CORPORATION, eine Gesellschaft nach den Gesetzen des Staates Michigan, Second Avenue at Burroughs,
DETROIT, Michigan 48232 (V.St.A.)
Rechenwerk für variable Wortlängen
Die Erfindung befaßt sich mit digitalen Rechenwerken, insbesondere mit der Verarbeitung von Operanden und Daten
von variabler Feldlänge.
Elektronische digitale Rechenwerke umfassen einen Funktionsgenerator
oder eine arithmetische Einheit, sowie Register und innere Leitungswege, einen Speicherleitungsweg
sowie eine Speicheradressiereinrichtung, die eine Übertragung digitaler Information von fester Breite ermöglichen.
Dabei bedeutet BREITE die Anzahl derjenigen Bits, die parallel übertragen werden können. Eine serielle Maschine,
Ln der die Bits sequentiell übertragen werden, besitzt somit eine Breite von einem Bit. Andere Maschinen
arbeiten zeichenseriell, wobei jedes Zeichen binär codiert ist und eine Breite hat, die durch die Anzahl von Bits pro
Zeichen bestimmt ist. Die meisten Hochgeschwindigkeits-Rechenwerke gehören jedoch zur Klasse der Parallel-Maschi-
209882/1031
nen, in denen die ein Wort ausmachenden Bits parallel übertragen werden. Einzelne Wörter können aus bis zu 64
Bits bestehen. Die Breite ist natürlich ein Kompromiß zwischen der Anzahl derjenigen Bits, die normalerweise
für die übertragung von Befehlen und Operanden notwendig sind, und dem größeren Kostenaufwand, der. mit der Zunahiite
von parallel übertragenen Bits verbunden ist.
Während bitserielle/zeichenserielle Maschinen die Möglichkeit eröffnen, die Feldlänge von Operanden und Befehlen
schnell und leicht zu verändern, wird die Arbeitsgeschwindigkeit derartiger Maschinen im wesentlichen durch
die relativ geringe Anzahl von Bits begrenzt, die pro Operation übertragen oder behandelt werden. Die Maschinen
mit größerer Wortweite können dadurch, daß eine Parallelübertragung der Operanden- und Befehlsbits möglich ist,
mit höheren Geschwindigkeiten betrieben werden; sie bieten jedoch beim Programmieren Schwierigkeiten, wenn Datenbehandlungen
erforderlich sind, die eine geringere oder größere Anzahl von Bits betreffen als diejenige Breite,
auf die die Maschine eingestellt ist. Wenn Operanden die normale Breite der Maschine überschreiten, sind Befehle
von doppelter Genauigkeit vorgesehen. MASKIER-Befehle können erforderlich werden, um mit einer geringeren Breite
bei bestimmten Operationen zu arbeiten. Der Programmierer hat also bei dem Entwurf der Software vieles zu berück'sichtigen,
wenn er Informationen von anderer als der "Maschinenbreite" zu behandeln wünscht.
Die Erfindung ist demgegenüber auf ein Rechenwerk gerichtet,
das dem Benutzer eine Maschine von variabler Breite anbietet, wobei der Programmierer größtmögliche Flexibilität in
der Verwendung von Operanden und Befehlen mit irgendeiner
0 9 8 8 2/1031
223G102
gewünschten Breie ohne Modifikation von Programmbefehlen
zur Verfügung hat. Wenn die Breite beispielsweise eines Operanden einmal angegeben ist, wird jeder Befehl von der
Maschine so ausgeführt, als entspräche die Maschinenbreite der angegebenen Operandenbreite. Es wird kein Befehl von
doppelter Genauigkeit oder ein spezieller Befehl zum Maskieren oder Ausrichten der Bits auf eine geringere als die
Maschinenbreite benötigt. Dies wird, kurz gesagt, dadurch erreicht, daß ein mikroprograiraniertes Rechenwerk mit einem
Hauptspeicher vorgesehen wird, der durch die Bitgrenze und die Länge der in einem Adressenregister gespeicherten
Information adressierbar ist. Obgleich irgendeine Operandenlänge bis zur maximalen Speicherkapazität des Speichers
von dem Inhalt des Adressenregisters bezeichnet werden kann, ist die Rechenwerk-Elektronik als eine Parallel-Maschine
mit Registern und Datenübertragungsleitungen von fester Breite ausgelegt. Die Ausführung eines speziellen
Programmbefehls geschieht unter Steuerung einer Folge von Mikrobefehlen, von denen der erste ein Vorgaberegister entweder
auf die Maschinenbreite oder auf diejenige Operandenbreite setzt, die von dem Adressenregister angegeben
wird, je nach dem, welcher Wert der kleinere ist. Der Befehl wird dann durch den Bestand an Mikrobefehlen in der
Folge so ausgeführt, als hätte die Maschine diejenige Breite, die von dem Inhalt des Vorgaberegisters angegeben wird.
Wenn die Operandenlänge größer als die Maschinenbreite ist, wird die von dem Adressenregister bezeichnete Bitgrenze
der Operandenlänge vergrößert oder verkleinert um den von dem Vorgaberegister bezeichneten Betrag, und die Mikrobefehls-Folge
wird so lange wiederholt, bis die von dem Vorgaberegister bezeichnete Breite auf Null reduziert ist, woraufhin
das Rechenwerk die Befehlsfolge verläßt und den nächsten Programmbefehl holt.
Die Erfindung wird nachstehend an einem Ausführungsbeispiel unter Bezugnahme auf die beigefügte Zeichnung- beschrieben.
Im einzelnen zeigen:
209882/1031
Fig. 1 ein Blockdiagramm eines mit den Merkmalen der Erfindung ausgestatteten
Rechenwerkes;
Fig. 2 das Format eines Daten-Descriptors;
Fig. 3 eine Tabelle der Mikrobefehle zur Steuerung des Rechenwerkes;
Fig. 4 und 5 verschiedene Bedingungen bestimmter Mikrobefehle aus Fig. 3; und
Fig. 6 ein schematisches Blockdiagramm eines Teils der Rechenwerk-Schaltung gemäß
Fig. 1.
Das Rechenwerk gemäß Flg. 1 arbeitet durch Ausführung von Mikrobefehlen, die eine Übertragung zwischen verschiedenen,
noch zu beschreibenden Registern und einer Speichereinheit angeben. Die Speichereinheit weist einen Hauptspeicher 10
sowie eine Speicher-Nahtstelle 11 auf, die die Datenübertragung zwischen dem Hauptspeicher und einer Datenübertraguns-Sammelleitung
steuert. Die Daten-Sammelleitung umfaßt 24 Parallel-Leitungen, die eine Parallelübertragung von bis
zu 24 Bits zwischen dem Hauptspeicher 10 einer arithmetischen und logischen Einheit 12 und mehreren Registern ermöglicht.
Diese Register umfassen ein X-Register 14 und ein Y-Register 16, die eine Speichermöglichkeit für zwei
auf die beiden Operanden-Eingänge der arithmetischen und logischen Einheit 12 gegebene Operanden darstellen. Weiterhin
sind drei Operations-Register vorgesehen, ein L-Register 18, ein T-Register 20 und ein CP-Register 22. Die Register
L und T sind allgemeinen Zwecken dienende Register, die zusammen mit den Registern X und Y entweder als Quelle oder
als Senke .für alle Lese/Schreibe-Operationen am Hauptspeicher lOdienen. Das L-Register und das T-Register sind adressierbar
als volle 24 Bitregister oder als sechs 4 Bitregister, bzeichnet durch die Buchstaben A bis F.
209882/1031
Das CP-Register 22 kann für die vorliegende Beschreibung als nur 8 Bits lang betrachtet werden und ist nur an die
8 niedrigstwertigen Bitleitungen der Daten-Sammelleitung angeschlossen. Das CP-Register ist funktionell
in drei Abschnitte gegliedert, die mit CPL von 5 Bits Länge, CPU von zwei Bits Länge und CYF von einem Bit Länge bezeichnet
sind. Die funktionelle Kennzeichnung dieser drei Abschnitte wird weiter unten beschrieben.
Der Hauptspeicher IO ist ein sogenannter "free field"-Speicher,
wie er beispielsweise in der gleichlaufenden deutschen Patentanmeldung P 22 mit der Bezeichnung
"Adressiereinrichtung für einen Speicher"(B208) von der gleichen Anmelderin beschrieben ist.
Die gesamte Adressierung geschieht durch ein Feld, in dem die den Beginn des Feldes maskierende Bitgrenze und die
Länge des Feldes von der Adresse bezeichnet sindtfährend
jedes Speicherzyklus' werden maximal 24 Bits in den Speicher oder aus ihm heraus übertragen.
Das Rechenwerk umfaßt weiterhin einen Feldbestimmungs-Abschnitt
für das Speichern von Descriptoren, die in dem Hauptspeicher IO Felder definieren. Der Feldbestimmungs-Abschnitt
umfaßt ein F-Register 24, das ein 48 Bit Register ist. Das F-Register ist in zwei 24 Bitabschnitte FA und FB
unterteilt. Der FB-Abschnitt hat seinerseits zwei weitere Abschnitte, nämlich einen FU-Abschnitt von 4 Bits und -einen
FL-Abschnitt von 20 Bits. Wie in Fig. 2 erläutert,enthält bei Anwesenheit eines Datendescriptors in dem F-Register
24 der FA-Abschnitt die Bitgrenzenadresse und der FL-Abschnitt speichert die Feldlänge eines Feldes in dem Speicher
(bis zu 2 Bits an Länge). Der FU-Abschnitt dient zur Bezeichnung der Einheitsgröße, z.B. des rein binären Codes
(1 Biteinheit), des BCD-Codes (4 Biteinheit) oder eines Bit Codes.
Dem F-Register 24 ist ein Zwischenspeicher (scratchpad memory) 26 zugeordnet, der beispielsweise bis zu sechzehn
48 Bitwörter speichern kann. Die sechzehn Wortstellen in dem Zwischenspeicher sind mit P bis 15 bezeichnet. Der
Zwischenspeicher ist funktionell in zwei Abschnitte gegliedert, den Abschnitt A und B, jeder von einer Breite von
24 Bits. Die beiden Abschnitte des Zwischenspeichers wie auch die Abschnitte des F-Registers 24 sind einzeln adressierbar
für Übertragungen über die Daten-Sammelleitung. Weiterhin können alle 48 Bits des F-Registers von irgendeiner
der 16 Wortstellen in dem Zwischenspeicher geladen werden, können in irgendeiner Stelle in dem Zwischenspeicher
gespeichert oder mit irgendeiner Stelle in dem Zwischenspeicher ausgetauscht werden.
Die Steuerung des Rechenwerkes geschieht durch Folgen
von Mikrobefehlen, die in einem M-Folge-Speicher 28 gespeichert sind. Die Mikrobefehle in der Folge werden jeweils
einzeln aus dem M-Folge-Speicher 28 in ein M-Register 30 übertragen. Die Mikrobefehle haben eine Länge von 16 Bits,
wobei die 16 Bits in dem M-Register auf eine Steuer-Sammelleitung gegeben werden, die zu der über das Rechenwerk verteilten
und zu den verschiedenen Registern, der arithmetischen und logischen Einheit 12, dem Zwischenspeicher 26 und
der Speichernahtstelle 11 zugeordneten Steuerlogik führt. Die Steuer-Sammelleitung weist 16 Leitungen für die Aufnahme
von 16 parallelen Steuerbits auf. Der M-Folge-Speicher 28 wird durch ein A-Register 32 adressiert. Das A-Register 32
enthält diejenige Anzahl von Bits, die zur Adressierung aller Zellen in dem M-Folge-Speicher 28 notwendig sind. Als
Beispiel sind 20 Bits gezeigt. Normalerweise wird das A-Register 32 um einen Schritt bei jedem Taktimpuls weitergestellt,
wodurch der mchste Mikrobefehl in der Folge von dem Speicher 28 in das Register 30 übertragen wird. Der gleiche
Taktimpuls, der die Übertragung des neuen Mikrobefehls
8 2/1031
in das M-Register 30 veranlaßt, bewirkt auch die Ausführung des laufenden Mikrobefehls in dem M-Register. Das A-Register
32 kann auf irgendeine neue Adresse von der Daten-Sammelleitung gesetzt werden, um eine Verzweigung in
eine andere Mikrobefehl-Folge in dem M-Folge-Register 28 zu ermöglichen. Ein Stapel-Speicher 34 ist zweckmäßig vorgesehen,
der als ein Rückstellstapel zum Speichern von Rückkehradressen arbeitet, um die Rückkehr zu einer bestimmten Mikrobefehlsfolge nach dem Aufruf eines Unterprogramms
von Mikrobefehlen zu ermöglichen.
Fig. 3 zeigt eine Teilliste von Mikrobefehlen, von denen jeder bei seiner Speicherung in dem M-Register 30 Steuersignale
über die Steuer-Sammelleitung zur Einleitung bestimmter Operationen abgibt. Jeder Mikrobefehl besteht aus
16 Bits. Ein Teil dieser Bits, irgendwo zwischen dem dritten und zwölften Bit, ist als Bezeichnung des speziellen
Mikrobefehls codiert. Die restlichen Bits bezeichnen spezielle Register, einzelne Abschnitte von Registern, verschiedene
Ausgangs-Funktionen der arithmetischen und logischen Einheit 12 und steuern verschiedene Modifikationen
der von dem speziellen Mikrobefehl gelieferten Steuerfunktion. So wird beispielsweise der erste Mikrobefehl aus Fig.
3 ein REGISTER MOVE-Befehl genannt und wird durch die Bits 0001 an den vier hoc hstwertigen Bitstellen des Mikrobefehls
bezeichnet. Die nächsten sechs Bits bezeichnen das Quellenregister (Ausgangs-Register),aus dem Daten ausgegeben
werden sollen, und die/restlichen 6 Bits bezeichnen das Senkenregister (Eingangs-Register), das Daten von der
Daten-Sammelleitung aufnehmen soll. Die Anzahl der über die
Daten-Sammelleitung übertragenen Bits ist nicht notwendigerweise gleich dem Inhalt eines vollen 24-Bit-Registers. Wie
oben bereits erwähnt, haben beispielsweise die Register L1T
sechs 4-Bit-Abschnitte, von denen jeder einzeln adressierbar
Ist, und zwar entweder als Quellenregister oder als
209832/1031
Senkenregister, in welchem Fall nur 4 Bits über die Daten-Sammelleitung
übertragen werden würden. Wenn weniger als ein ganzes Wort von 24 Bits über die Daten-Sammelleitung
übertragen wird, wird die entsprechende Anzahl der niedrigstwertigen Bitleitungen der Daten-Sammelleitung
benutzt. Wenn beispielsweise die vier Bits des Abschnittes LA des L-Registers 18 als Quelle bezeichnet sind und der
Abschnitt TF des T-Registers 20 als Senkenregister bezeichnet ist, würden die vier Bits über die vier niedrigstwertiger!
Leitungen der Daten-Sammelleitung von LA nach TF übertragen werden.
Die 16 den Mikrobefehl in dem M-Register 30 ausmachenden
Bits werden auf die Steuer-Sammelleitung gegeben, die die Bits an die Steuerlogik in jedem aktiven Element des Rechenwerkes
verteilt, wo die Bits zur Steuerung der geeigneten Tore decodiert werden und die angegebene Mikrooperation
bewirken. Es sollte weiterhin bemerkt werden, daß die arithmetische und logische Einheit 12 eine Anzahl von möglichen
Ausgangsbedingungen erzeugt, wie etwa eine Summe, eine Differenz, das Komplement von X, das Komplement von Y, sowie
verschiedene logische Funktionen, wie etwa X UND Y, X ODER Y, X EXCLUSIV ODER Y, etc., von denen jede als Quellenregister
in dem REGISTER MOVE-Mikrobefehl durch die Codierung der sechs die Quelle bezeichnenden Bits angegeben sein kann.
Die Operation der arithmetischen und logischen Einheit 12 wird im einzelnen in der gleichlaufenden Patentanmeldung
P 22 mit der Bezeichnung "Arithmetische Einheit
für varible Wortlängen" (B 205) der gleichen Anmelderin
beschrieben.
Der nächste Befehl in der Liste der Fig. 3 ist der SCRATCHPAD MOVE-Mikrobefehl. Dieser Mikrobefehl steuert Übertragungen
209832/ 1031
zwischen irgendeinem Register, das von den Bits 6 bis 11
angegeben ist, und irgendeiner der sechszehn Wortadressen
in dem Zwischenspeicher (Scratchpad memory), die durch die Bits O bis 3 bezeichnet ist. Wenn über die Daten-Sammelleitung
nur maximal 24 Bits übertragen werden können, bezeichnet das Bit 4 des SCRATCHPAD MOVE-Mikrobefehls, ob der Abschnitt
A oder der Abschnitt B des Zwischenspeichers (englisch: Scratchpad memory)an der übertragung beteiligt ist.
Das Bit 7 des SCRATCHPAD MOVE-Mikrobefehls gibt an, ob das
bezeichnete Register der Ausgang (Quelle) oder der Eingang (Senke) ist.
Der dritte Mikrobefehl der Teilliste aus Fig. 3 ist der READ/WRITE MEMORY-Mikrobefehl. Das Bit 11 gibt an, ob eine
Lese- oder Schreiboperation erforderlich ist. Die.Bits 6 und 7 geben das Register an, das die Quelle oder Senke für
die Speicheroperation ist. Es sind nur zwei Bits notwendig, da die Speicherübertragungen auf nur vier Register beschränkt
sind, nämlich das X-Register 14, das Y-Registerl6, das L-Register 18 und das T-Register 20. Die ersten fünf
Bits O bis 4 dienen zur Angabe der Bitzahl des zu übertragenden Wortes und können irgendeine Anzahl von Bits von O
bis 24 spezifizieren. Wenn von dem READ/WRITE MEMORY-Mikrobef ehl eine Breite O angegeben wird, wird die Zahl der übertragenen
Bits durch die fünf Bits in dem CPL-Abschnitt des CP-Registers 22 gesteuert, was im einzelnen noch weiter unten
genauer erläutert wird.
Da jede Speicherübertragungsoperation eine Adressierung des Hauptspeichers von dem F-Register 24 erfordert, kann es erwünscht
sein, die von dem Inhalt des FA-Abschnittes des Registers 24 bezeichnete Bitgrenzenadresse zu vergrößern oder
zu erniedrigen, und den FL-Abschnitt des F-Registers 24 zu vergrößern oder zu verkleinern. Diese Operationen werden von
2 Ü U L ',) 2/1031
den COUNT FA/FL-Bits 8,9 und IO des READ/WRITE MEMORY-Mikrobefehls
angegeben. Die Codierung dieser drei verschiedenen Bits ist in der Tabelle der Fig. 4 eingetragen. Der
Betrag, um den die FA und FL-Register vergrößert oder verkleinert werden, ist stets der gleiche wie die Anzahl der
bei der Speicheroperation übertragenen Bits. Dies wird entweder durch die fünf Bits in CPL oder durch die ersten fünf
Bits des READ/WRITE MEMORY-Mikrobefehls angegeben, wenn sie
nicht 0 sind.
Die Vergrößerungs- und Verkleinerungsfunktion wird durch eine im ganzen mit 36 bezeichnete Einstellschaltung gesteuert.
Diese Schaltung empfängt Steuerbits von dem M-Register 3O über die Steuer-Sammelleitung und wählt mit
Hilfe einer nicht dargestellten Torschaltung entweder die fünf Bits aus CPL oder die fünf Bits (LIT) aus dem in
dem M-Regiser 30 enthaltenen Mikrobefehl aus und gibt sie entweder auf einen oder auf beide Addierer 37 und 39. Die
zwei Addierer sind an die Registerabschnitte FA und FL angeschlossen. Die Addierer addieren oder subtrahieren von
dem Inhalt des FA und FL-Abschnittes den von CPL oder LIT bestimmten Betrag.
Der nächste Mikrobefehl aus der Liste in Fig. 3 ist der BRANCH-Mikrobefehl. Er wird bezeichnet durch 110 in den ersten
drei Bitstellen des Wortes in dem M-Register 30 und hat die Wirkung, daß die niedriastwerti ρπ υ
Bits des Mikrobefehls in dem M-Register 30 in die niedricrstwertiqen 13 Bitpositionen des A-Registers 33 übertragen
werden. Dadurch verzweigt sich der M-Folge-Speicher 28 zu einer neuen Stelle, beispielsweise kehrt er zurück zu
dem Anfang einer Folge von Mikrobefehlen oder springt in
eine andere Folge von Mikrobefehlen in dem M-Folge-Speicher 28.
Der nächste Mikrobefehl aus Fig. 3 ist der COUNT FA/FL-Mikrobefehl.
Die Bits 5, 6 und 7 sind die COUNT FA/FL-Schlüsselbits und liefern die gleiche Funktion wie in dem '
Befehl READ/WRITE MEMORY für die Vergrößerung oder Verkleinerung der Registerabschnitte FA und FL entsprechend den
Bedingungen, wie sie Tabelle Fig. 4 zeigt. Die ersten fünf Bits, wenn sie nicht gleich O sind, werden als Zeichen zur
Bestimmung des Betraqes benutzt, um welchen diese Register erhöht- oder erniedrigt werden sollen. Anderenfalls werden
die fünf Bits im CPL benutzt.
Noch ein weiterer Mikrobefehl in der Liste gemäß Fig. 3 ist der in EXCHANGE-Befehl. Er dient zum Austausch von 48
Bitwörtern zwischen den Zellen in dem Zwischenspeicher 26 und dem F-Register 24. Zwei Zwischenspeicherstellen werden
in dem Mikrobefehl bezeichnet, von denen eine die Quelle und eine die Senke in der Austauschoperation ist. Diese
Adressen können auf die gleiche Zelle in dem Zwischenspeicher weisen. Die Ausführung dieses Mikrobefehls läßt das
Bitwort in der durch die Quellenadresse bezeichnete Zelle in das F-Register 24 placieren und gleichzeitig das in
dem F-Register 24 gespeicherte Wort in die von der Senkenadresse bezeichnete Zelle einsetzen.
Der nächste Mikrobefehl in der Liste der Fig. 3 ist der BIAS genannte Mikrobefehl und wird durch die zwölf Bits
4 bis 15 bezeichnet. Die Funktion des BIAS-Befehls besteht
darin, die Abschnitte CPL und CPU des CP-Registers 22 mit Hilfe einer Auswahlschaltung (englisch: bias logic) 38 zu
setzen, die im einzelnen in Fig. 6 dargestellt ist. Die drei BIAS-Schlüsselbits werden, von der Auswahlschaltung 38
über die Steuer-Sammelleitung aus dem M-Register 30 empfangen
und auf einen Decodierer 40 gegeben, der einen von acht Ausgängen O bis 7 aktiviert. Diese entsprechen den acht Bedingungen,
wie sie in Fig. 5 für die BIAS-Varianten notiert sind.
209882/1031
28 0102
Bei der O-Bedingung des Decodiererausganges überträgt ein
Tor 42 den Einheitswert in dem Fü-Abschnitt des Registers 24 in den CPL-Abschnitt des Registers 22, wodurch der CPL-BIAS-Wert
so gesetzt wird, daß er der Einheitengröße entspricht, die von dem in dem F-Register gespeicherten
Descriptor bezeichnet ist. Wenn der Decodierer auf 1 gesetzt ist, wird CPL über ein Tor 4 4 durch den Ausgang einer
logischen Schaltung 46 gesetzt, die einen Ausgang liefert, der einem der beiden Eingänge entspricht, je nach dem, welcher
den kleineren Wert besitzt. Im Falle der logischen Schaltung 46 kommen die beiden Eingänge aus dem FL-Abschnitt
des F-Registers 24, das die Feldlänge des von dem Descriptor in dem F-Register adressierten Operanden bezeichnet,
sowie von dem binär codierten Ausgang einer Schaltung 48, die eine Konstante (K = 24) erzeugt, die der Maximalzahl
von Bits entspricht, die während einer Operation über die Daten-Sammelleitung übertragen werden kann. Die logische
Schaltung 46 weist einen Komparator 50 auf, der an die beiden Eingänge FL und K angeschlossen ist und einen der beiden
Ausgangssignale K <FL oder K > FL erzeugt. Diese Ausgänge werden auf die Tore 52 bzw. 54 gegeben, wodurch der
kleinere der beiden·Eingänge K und FL auf den Ausgang über
eine ODER-Schaltung 56 gelangt.
Wenn der Ausgang des Decodierers 40 auf 2 gesetzt ist, entsprechend
der dritten Variante der in der Tabelle der Fig. 5 aufgeführten Bedingungen, aktiviert er ein Tor 58, das
den Ausgang einer logischen Schaltung 60 auf den CPL-Abschnitt des CP-Registers 22 koppelt. Die logische Schaltung
60, die mit der logischen Schaltung 46 identisch ist, vergleicht den SL-Abschnitt der O-Adressenstelle des Zwischenspeichers
26 mit der Konstante K = 24 und bestimmt den kleineren Wert der beiden, wodurch CPL auf die kleinere Feldlänge
gesetzt wird, die von dem Descriptor in der ersten Zelle des Zwischenspeichers oder von der Konstanten 24 geliefert
wird.'
209 8 3 2/1031
Wenn der Decodierer 40 auf 3 gesetzt wird, blendet ein Tor 62 in ähnlicher Weise den Ausgang einer identischen logischen
Schaltung 6 4 auf CPL. Die zwei Eingänge der logischen Schaltung 6,4 werden von den Ausgängen der logischen Schaltungen
46 und 60 abgeleitet, wodurch sich ein Ausgang ergibt, der dem kleinsten Wert von K, FL, und SL entspricht. Ein Tor
blendet für den Fall, daß der Decodierer 40 auf fünf gesetzt ist, den Ausgang einer logischen Schaltung 68 auf CPL. Die
beiden Eingänge für die logische Schaltung 68 sind der Inhalt des CPL-Abschnittes des CP-Registers 22 und der Ausgang
der logischen Schaltung 46. Der Ausgang der logischen Schaltung 6 8 entspricht demnach dem kleinsten der drei Werte K,
FL und CPL. Ein Tor 70 koppelt in ähnlicher Weise den Ausgang einer logischen Schaltung 72 auf CPL, wenn der Decodierer
auf Ii gesetzt ist. Die Eingänge zur logischen Schaltung
72 werden von dem Ausgang der logischen Schaltung 64
und dem Ausgang der logischen Schaltung 6 8 abgeleitet. Der Ausgang der logischen Schaltung 72 entspricht demnach dem
kleinsten der Werte K, FL, SL, und CPL.
und dem Ausgang der logischen Schaltung 6 8 abgeleitet. Der Ausgang der logischen Schaltung 72 entspricht demnach dem
kleinsten der Werte K, FL, SL, und CPL.
Die Auswahlschaltung 38 gemäß Fig. 6 setzt weiterhin den CPU-Abschnitt
des CP-Registers 22 auf den in dem FU-Abschnitt des F-Registers 24 unter dem FU-Abschnitt der ersten Zelle des
Zwischenspeichers 26 gespeicherten Einheitswert. Dies wird durch zwei Tore 74 und 76 erreicht, die beziehentlich FU
und SU über eine ODER-Schaltung 78 auf den CPU-Abschnitt des CP-Registers 22 koppeln. SU wird nur dann benutzt, wenn die BIAS-Varianten anzeigen, daß eine BIAS-durch-SL-Operation
stattfinden soll. Somit wird der Ausgang 2 aus dem Decodierer 40 auf'das Tor 76 gegeben. Der gleiche Ausgang wird über eine Inverterstufe 80 auf das. Tor 74 gegeben, so daß
FU auf CPU bei allen anderen BIAS-Variantenbedingungen als zv/ei gegeben wird.
und SU über eine ODER-Schaltung 78 auf den CPU-Abschnitt des CP-Registers 22 koppeln. SU wird nur dann benutzt, wenn die BIAS-Varianten anzeigen, daß eine BIAS-durch-SL-Operation
stattfinden soll. Somit wird der Ausgang 2 aus dem Decodierer 40 auf'das Tor 76 gegeben. Der gleiche Ausgang wird über eine Inverterstufe 80 auf das. Tor 74 gegeben, so daß
FU auf CPU bei allen anderen BIAS-Variantenbedingungen als zv/ei gegeben wird.
209b32/1031
Ein weiteres Merkmal des BIAS-Mikrobefehls ist das TEST-Bit,
das an der O-Bitsteile des BIAS-Mikrobefehls steht
(Fig. 3). Wenn das TEST-Bit gesetzt ist, läßt es die fünf Bits, die zu dem CPL-Abschnitt des CP-Registers 22 gehen,
durch ein Tor 81 (Fig. 6) an eine Decodierschaltung 86 gehen, die ein Ausgangssignal abgibt, welches anzeigt, wann
CPL nicht gleich O ist (CPL ^ O). Die Funktion des TESTS
besteht darin, das Rechenwerk zum Überspringen des nächsten Mikrobefehls in der Folge zu veranlassen, wenn CPL nicht auf
Null gesetzt ist. Während der Ausführung des BIAS-Mikrobefehls in dem M-Register 30, wird dann, wenn der Ausgang der
Decodierschaltung 86 den Zustand CPL ^ 0 anzeigt, das M-Register 30 während des Holens des nächsten Mikrobefehls
insgesamt auf 0 gesetzt. Ein M-Register 30 mit sämtlichen Nullen wird als ein NoOP (no operation)-Zustand bezeichnet.
Das führt dazu, daß während des nächsten Taktimpulses keine Operation stattfindet, während der nächste Mikrobefehl in
der Folge von dem M-Folge-Speicher 28 geholt Wird. Das zwangsweise
auf Null setzen des M-Registers 30 wird von einer NoOP-Schaltung 88 bewirkt, die auf den CPL φ 0-Ausgang der Decodierschaltung
86 während des Holens des nächsten Mikrobefehls hin aktiviert wird.
Mit dieser Anordnung kann der nächste auf den BIAS-Mikrobefehl
folgende Mikrobefehl in der Programmfolge ein BRANCH-Befehl sein. Die Verzweigeoperation wird nur ausgeführt,
wenn CPL durch die BIAS-Operation auf Null gesetzt worden ist, anderenfalls wird die Verzweigeoperation durch einen
NoOP-Zustand ersetzt, und der nächste Mikrobefehl in der Folge nach dem BRANCH wird in das M-Register 30 geholt.
Zusätzlich zu dem oben beschriebenen READ/WRITE MEMORY-Mikrobefehl
benutzen andere Mikrobefehle den Inhalt des CPL-Abschnittes des CP-Registers 22 in der Weise, wie er
von dem BIAS-Mikrobefehl gesetzt worden ist, um die an der
2 0 9 C J 2 / 1 U 3 1
MikroOperation beteiligte Operandenbitzahl automatisch zu steuern. Eine derartige Operation ist SHIFT/ROTATE
T-Register. Dieser Mikrobefehl (Fig. 3) wird durch den Code 1010 in den höchsten vier Bitstellen bezeichnet. Der
Befehl läßt den T-Register-Inhalt während, der Übertragung
in ein Serlcenregister verschieben oder nach links zyklisch verschieberPer Befehl bezeichnet ein Senkenregister durch
die nächsten sechs Bits, die das T-Register selbst als eine Senke enthalten können. Das nächste Bit zeigt an, ob eine
Verschiebe- oder eine Rotier-Operation stattfinden soll. Die letzten fünf Bits bezeichnen die Anzahl der Bitpositionen.
Der Inhalt des T-Registers wird verschoben oder nach links rotiert bei der übertragung in das Senkenregister.
Wenn das Senkenregister ein anderes als das T-Register selbst ist, verbleibt der Inhalt des T-Registers ungeändert. Die
Linkszählung kann irgend ein Wert von 0 bis 23 sein. Ein Wert von O zeigt an, daß die Linkszählung von dem Inhalt
von CPL gesteuert werden soll. Somit wird die Linkszäh- . lung bei einer Verschiebe- oder R'otieroperation durch den
Wert von CPL bestimmt, der von dem oben diskutierten BIAS-Mikrobefehl
gesetzt worden ist. Die Verschiebe/Rotiere-Logik für das T-Register 20 ist bei 82 in Fig. 1 angedeutet.
Die Art und Weise, in der ein BIAS-Mikrobefehl beim Betrieb
des Rechenwerkes nach Fig. 1 benutzt wird, kann am besten bei Betrachtung eines speziellen Beispiels, etwa in Form
einer Addier-Operation, verstanden werden. Man betrachte den Fall, daß zwei. Operanden A und B addiert werden sollen
und daß die Summe die Operanden in dem Akkumulator ersetzen soll, d.h. der Löschen- und Addiere-Befehl bekannter Rechenwerke.
Da das erfindungsgemäße Rechenwerk mikroprograinmiert ist, sind die das Objektprogramm bildenden Befehle in dem
Hauptspeicher gespeichert. Jeder Befehl wird durch eine Folge von Mikrobefehlen ausgeführt, die in dem M-Speicher 28
gespeichert ist. In dem M-Speicher ist weiterhin eine Folge
2098 82/1031
von Mikrobefehlen gespeichert, die das Adressieren und Auslesen des nächsten Programmbefehls aus dem Hauptspeicher
mit Hilfe eines Descriptors in dem Zwischenspeicher steuern, und aus dem OP-Codeabschnitt des Befehls die
Anfangsadresse in dem M-Speicher für die Mikrobefehlsfolge
bestimmen, die diesen Befehl in dem Rechenwerk ausführt, und die in Abhängigkeit von den Adressen der von dem Befehl
gelieferten Operanden die Datendescriptoren in den Zwischenspeicher lädt. Dies alles wird ausgeführt von einer
mikroprogrammierten Hohl-lRoutine.
Bei der Ausführung eines ADDIERE-Befehls wird die Folge von Mikrobefehlen, die in Sequenz aus dem M-Folge-Speicher
28 in das M-Register 30 ausgelesen werden, das folgende umfassen:
START
BIAS - Mit FL & TEST
BRANCH - Gehe zu NEXT ROUTINE
READ/WRITE - Lies bis X,vergr.FA,verm.FL
EXCHANGE - S-O <r~ F F ^- S-O
READ/WRITE . - Lies bis Y
MOVE - 3inärsumme nach T
CARRY - CAF «-CYL
WRITE - Schreibe von ifverqr.FA, verm.FL
EXCHANGE - S-O ^r-F F «-S-0
BRANCH - Gehe zu START
Weiterhin wird vor der Ausführung des ADDIERE-Befehls während derHohlroutine ein Descriptor in dem F-Register 24 gespeichert,
der. die Anfangsadresse und die Feldlänge des Operanden A bezeichnet, während ein die Anfangsadresse und Feldlänge
des Operanden B bezeichnender Descriptor in der Adressenstelle 0 des Zwischenspeichers 26 steht. Die Descriptoren für die
Operanden A und B haben beispielsweise ein in Fig. 2 dargestelltes Format; Fig. 2 zeigt ein Daten-Descriptorwort in dem
F-Register 24.
2098 8 2/1031
Die Descraptoren können beispielsweise anzeigen/ daß der
Operand Α· an der Adressengrenzstelle 1000 (FA = 1000) beginnt, eine Feldlänge von 37 Bits (FL = 37) besitzt, und
daß die Einheitsgröße ein Binärbit ist (FU = O). Für den Operanden B, dessen Descriptor in der Nullstelle des Zwischenspeichers
26 gespeichert ist, kann die Bitgrenzadresse im Hauptspeicher beispielsweise bei 2000 beginnen (SA-1
= 2000), die Feldlänge 37 Bits betragen (SL = 27) und die Einheitsgröße kann wiederum ein Binärbit sein (SU = O).
Aus der Tabelle geht hervor, daß der erste Mikrobefehl ein BIAS-Befehl.ist, bei dem vermöge der Variante 1 (Fig.
5) FL mit 24 verglichen und der kleinere Wert in den CPL-Abschnitt des CP-Registers 22 in der im Zusammenhang mit
Fig. 6 beschriebenen Weise gespeichert wird. Das-CP-Register
22 ist somit mit den ersten fünf Bits, die CPL =24 anzeigen, gesetzt, da 24 zu Beginn kleiner als 37 Bits ist,
die durch FL und SL bezeichnet sind. Das Testbit des BIAS-Befehls ist anfänglich gesetzt und erfordert einen Test, um
zu bestimmen, ob CPL auf Null gesetzt ist. Da es auf 24 gesetzt ist, wird ein NoOP in das M-Register 30 anstelle des
nächsten Mikrobefehls gesetzt, der ein BRANCH-Befehl ist. Aufgrund des NoOP passiert während des nächsten Taktes überhaupt
nichts, so daß der nächste Mikrobefehl in der Folge in das M-Register 30 geholt wird.
Nach der vorstehenden Tabelle ist der nächste Mikrobefehl ein READ/WRITE-Mikrobefehl, der die 24 am wenigsten signifikanten
Bits des Operanden A in das X-Register 14 übertragen läßt, wobei die Bitgrenzenadresse in dem FA-Abschnitt des
F-Registers 24 und der Inhalt von CPL benutzt wird, um die Anzahl der zu übertragenden Bits, nämlich 24 Bits, zu bestimmen.
Der READ-Mikrobefehl gibt weiterhin an, daß FA um CPL
vergrößert und das FL um CPL vermindert werden soll. Man bemerke, daß die COUNT-Variante in dem READ-Mikrobefehl auf
2 Ü y b .J 2 1 1 0 3 1
Oll gesetzt ist, um das Vergrößern von FA und das Verkleinern
von FL entsprechend den COUNT-Varianten von Fig. 4 zu bezeichnen. Die fünf niedrigsten Bits des Mikrobefehls
entsprechend der Übertragungsbreite des READ-Befehls sind
auf Null gesetzt und zeigen an, daß die Anzahl der zu übertragenden Bits und das Vergrößern und Verkleinern von FA
und FL durch den Inhalt des CPL-Abschnittes des CP-Registers 22 gesteuert werden soll.
Der nächste Mikrobefehl in der Folge ist der EXCHANGE-Befehl,
der dafür sorgt, daß die Descriptoren in dem F-Register 24 und an der Adressenstelle O des Zwischenspeichers
26 ausgetauscht werden, wodurch der Descriptor des Operanden B in das F-Register 24 gesetzt wird. Daran anschliessend
folgt ein weiterer READ-Befehl, in dem das Senkenregister (Eingangsregister) als das Y-Register 16 bezeichnet
ist. Die COUNT^Variante ist auf Null gesetzt und zeigt an, daß weder ein Vergrößern noch ein Verkleinern während der
Ausführung des READ-Befehls stattfinden soll. Wiederum ist die Übertragungsbreite auf Null gesetzt, so daß der Inhalt
des CPL-Abschnittes des CP-Registers 22, wie er von dem BIAS-Befehl gesetzt worden ist, dazu benutzt wird, die Anzahl
der Bits, die von dem Hauptspeicher IO in das Y-Register
16 übertragen werden, zu steuern.
Mit den 24 niedrigstwertigen Bits des Operanden A in dem X-Register 14 und den 2 4 niedrigstwertxgen
Bits des Operanden B in dem Y-Register 16 bildet die arithmethische
und logische Einheit 12 einen Ausgang, der die Binärsumme der Operanden in den Registern X und Y ist. Die
Anzahl paralleler Bits aus dem Ausgang der arithmetischen und logischen Einheit 12 wird gesteuert durch den augenblicklichen
Wert CPL, nämlich 24. Die Art und Weise, in der die arithmetische und logische Einheit Ergebnisse variab-
2 0 9 8 3 2 I Ί Ü 3 1
ler Länge in Abhängigkeit von CPL liefert, ist in der
gleichlaufenden Patentanmeldung P 22 mit der
Bezeichnung "Arithmetische Einheit für variable Wortlängen" (B205) beschrieben.
Der nächste Mikrobefehl ist ein MOVE-Befehl, der die Binärsumme
am Ausgang der arithmetischen und logischen Einheit 12 über die Daten-Sammelleitung in das T-Register 20 überträgt.
Wie bereits ausgeführt im Zusammenhang mit dem in Fig. 3 enthaltenen MOVE-Befehl, können die verschiedenen
arithmetischen und logischen Ergebnisse, die von der arithmetischen und logischen Einheit 12 erzeugt werden, einzeln
als Quelle von dem MOVE-Befehl bezeichnet werden. In diesem Fall wählen die Quellenbits des in dem M-Register 30 vorhandenen
MOVE-Befehls, die über die Steuer-Sammelleitung auf die arithmetische und logische Einheit 12 gegeben sind,
als Ausgang der Einheit 12 die Binärsumme und geben sie "auf die Daten-Sammelleitung. Zur gleichen Zeit bezeichnet der
MOVE-Befehl" mit Hilfe der Steuer-Sammelleitung das T-Register
20 als Senkenregister (Eingangsregister), wodurch die Binärsumme der niedrigstwertigen 24 Bits der
Operanden A und B über die Daten-Sammelleitung in das T-Register 20 geladen werden. Wenn die arithmetische und logische
Einheit 12 als Ergebnis der Addition einen Übertrag erzeugt hat, dient er zum Setzen des Übertrags-Flip-Flops
in dem CP-Register 22 mit Hilfe des folgenden CARRY-Befehls.
Eine Übertraglogik 84 wählt das richtige Übertragbit (CYL = Binärübertrag; CYD = dezimaler Übertrag) aus dem Ausgang der
Einheit 12 in Abhängigkeit von dem CARRY-Mikrobefehl in dem M-Register 30 und speichert es in dem CYF-Abschnitt des
CP-Registers 22.
2 o y s ;s 2 /1 ο 31
Es schließt sich ein WRITE-Befehl an, der das T-Register
20 als Quellenregister (Ausgangsregister) und CPL als übertragungsbreite bezeichnet, und FA als Grenzadresse in
dem Hauptspeicher 10 benutzt. Da dies die gleiche Adresse ist wie diejenige, die zum Auslesen des Operanden B diente,
sieht man, daß die 24 niedrigstwertigen Bits der Summe der beiden Operanden an die Stelle der niedrigstwertigen
Bits des Operanden B in dem Hauptspeicher treten.
Zur gleichen Zeit wird die Bitgrenzadresse in FA durch CPL
vergrößert und die Feldlänge FL wird um CPL verkleinert, um auf die restlichen Bits des Operanden B in dem Hauptspeicher
10 zu zeigen. Wiederum läßt ein EXCHANGE-Befehl den Inhalt des F-Registers 24 mit dem Descriptor in der Adressenstelle
O des Zwischenspeichers 26 austauschen, wodurch der modifizierte Descriptor der verbleibenden Bits des
Operanden A in das F-Register 24 zurückgespeichert wird. Der folgende BRANCH-Mikrobefehl läßt das A-Register 32
auf die Anfangsadresse der ADDIERE-Mikrobefehlsfolge zurücksetzen,
so daß mit dem BIAS-Mikrobefehl begonnen wird.
Der BIAS-Mikrobefehl setzt bei erneuter Ausführung CPL auf
den kleineren der erniedrigten Werte von FL und 24. Da in dem gegebenen Beispiel, wonach die Operanden aus 37 Bits
bestehen, FL auf 13 (= 37-24) erniedrigt wurde, wird CPL jetzt auf 13 von dem BIAS-Mikrobefehl gesetzt. Da wiederum
CPL ungleich Null war, führt der Test dazu, daß der folgende BRANCH-Befehl durch NoOP ersetzt wird und die Mikrobefehlsfolge
weiter ausgeführt wird. Da CPL auf 13 statt auf 24 gesetzt ist, haben der READ/WRITE-Befehl und der MOVE-Befehl
die Übertragung von lediglich 13 Bits über die Daten-Sammelleitung zwischen dem Hauptspeicher 10 und den Registern
X und Y, zwischen der arithmetischen und logischen Ein-
2 υ y b :<
211 ο 3 τ
heit 12 und dem T-Register 20, sowie zwischen dem T-Register
20 und dem Hauptspeicher 10 zur Folge. Das Rechenwerk arbeitet also, als bestünde die Breite aus 13
parallelen Bits die 13 Bits, die die Binärsumme der Bits in den Registern X und Y plus den Übertragwert in
CYF repräsentieren, werden in den Hauptspeicher in dasjenige Feld des Operanden B zurückgespeichert, das sich
an die vorherigen 24 Bits anschließt,so daß jetzt 37 Bits in dem Hauptspeicher an der Stelle des Operanden B
gespeichert sind.
Wiederum^ wird das A-Register 32 auf die Anfarigsadresse
der Mikrobefehlsfolge in. dem M-Folge-Speicher zurückgesetzt,
jedoch ist jetzt FL gleich Null und daher wird CPL auf Null gesetzt. Dies wird von dem Test des BIAS-Mikrobefehls
festgestellt und daher wird der nächste Mikrobefehl in der Folge nicht übersprungen. Folglich läßt der nachfolgende
BRANCH-Befehl das A-Register 20 auf die Adresse der Hohlrouti n«= setzen und der nächste Befehl wird aus
dem Hauptspeicher geholt.
Während das obige Beispiel zeigt, in welcher Weise der BIAS-Befehl in Verbindung mit einer Folge von Mikrobefehlen
zur Ausführung eines ADDIERE-Befehls benutzt wird, kann der BIAS-Befehl auch am Anfang eines anderen Mikro-ünterprogramms
benutzt werden, das sich irgendwelchen Mikrobefehlen bedient, die mit dem CPL-Abschnitt des CP-Registers
22 arbeiten.
Wie aus der vorstehenden Beschreibung hervorgeht, ist CPL
implizit am MOVE-Befehl beteiligt, wo eine der möglichen Ausgangsfunktionen der arithmetischen und logischen Einheit
12 als eine Quelle bezeichnet werden, da CPL zur Steuerung der Anzahl von Bits am Ausgang der Einheit 12 benutzt wird.
Der Wert von CPL, wie er von dem BIAS-Befehl gesetzt wird, ist explizit beteiligt an dem READ/WRITE-Befehl, dem COUNT-
209882/103 1
FA/FL-Befehl und an dem SHIFT/ROTATE T-Register-Befehl,
venn die fünf niedrigstwertigen Bits dieser Befehle auf Null gesetzt sind, wie das oben in Verbindung
mit Fig. 3 beschrieben wurde. Der BIAS-Befehl kann mit
jedem Unterprogramm benutzt werden, das einen oder mehrere dieser Befehle verwendet.
Die Varianten-Bedingungen des BIAS-Befehls erlauben mehrere
Arten von Speicherzugriffoperationen. Die Varianten-Bedingung 1 (Fig. 5) ermöglicht es durch das Setzen von
CPL auf die von FU oder SU bezeichnete Einheitsgröße, daß eine Einheit, d.h. ein einzelnes Binärbit, eine BCE-4-Bit-7;ahl
oder ein BCD-8-Bitzeichen bei jeder Ausführung des folgenden READ/WRITE MEMORY-Befehls in oder aus dem Speicher
übertragen wird. Somit kann das Rechenwerk als bitserielle oder zeichenserielle Maschine betrieben werden. Die Varianten-Bedingungen
5 und 7 des BIAS-Befehls ermöglichen die Übertragung eines Operanden in oder aus dem Speicher in
Einheiten, die weniger als 24 Bits umfassen. In-dem beispielsweise
zu Beginn CPL auf acht und FL auf 40 gesetzt wird, werden unter Verwendung der Variante 5 jeweils 8
Bits des Operanden gleichzeitig übertragen, bis sämtliche 40 Bits des Operanden übertragen worden sind. Im Fall der
Variante 1 werden in dem gleichen Beispiel 24 Operandenbits und dann 16 Operandenbits übertragen.
Vorstehend wurde ein Rechenwerk beschrieben, das Programmbefehle an Operandenbeliebiger Länge ausführen kann. Der
BIAS-Befehl ermöglicht dadurch, daß der CPL-Abschnitt des Steuerregisters auf den kleineren Wert von der Breite der
Daten-Übertragunqsleitung in dem Rechenwerk und der verbleibenden
Operandenlänge gesetzt wird, dem Rechenwerk so zu arbeiten, als wäre die innere Breite geringer als die
Breite der Übertragungsleitungen innerhalb des Rechenwerkes.
2U υbΛ 2, 10 3 1
Wenn daher der Operand breiter ist als die Übertragungsleitungen innerhalb des Rechenwerks, kann der Operand
abschnittweise behandelt werden, wobei jeder Abschnitt der übertragungsbreite des Rechenwerks entspricht oder
innerhalb der dadurch gegebenen Grenzen verbleibt; dabei wird das Rechenwerk automatisch auf eine geringere effektive
Breite eingestellt, wenn der letzte verbleibende Operandenabschnitt kleiner als die Übertragungsbreite der
Maschine ist. Somit braucht der Benutzer bei der Aufstellung des Objektprogramms die Programmbefehle in keiner
Weise zu modifizieren, um sie verschiedenen Operandenlängen
anzupassen. In-dem der BIAS-Mikrobefehl am Anfang jeder
Mikrobefehlfolge zur Ausführung eines speziellen Befehls vorgesehen wird, paßt das Rechenwerk automatisch seine
innere Operation den jeweiligen Erfordernissen im Hinblick
auf eine spezielle Operandenlänge bei der Ausführung eines Programmbefehls an.
Es wurde ein mikroprogrammiertes, einem "free field"-Speicher zugeordnetes Rechenwerk beschrieben, in dem die Operanden
beliebiger Lange bezüglich der Bitzahl verarbeitet werden können. Der "free field"-Speicher wird von einem
Adressenregister adressiert, das auf die Grenze zwischen
zwei beliebigen, in dem Speicher gespeicherten Bits als Feldanfang zeigt und die Anzahl der Bits in dem Feld bis
zur maximalen Bitkapazität des Speichers angibt. Ein Steuerregister, als Vorgaberegister bezeichnet, bestimmt die
Anzahl der parallelen Bits, bis zur Maximalzahl der bei einem Speieherzyklus möglichen parallelen Bits, die bei
der Ausführung spezieller Mikrobefehle notwendig sind. Jede Mikrobefehlsfolge, die eine Behandlung von Operanden
vorsieht, beispielsweise eine arithmetische Operation oder eine Datenübertragung, umfaßt eine Vorgabeoperation, in der
das Vorgaberegister auf den kleineren Wert von der durch dias Ädressenregister bezeichneten Bitzahl und der Maximalan
während eines Speicher zyklus1 übertragenen Bits ge-
209832/ 1 031
setzt wird. Wenn das Vorgaberegister gesetzt ist, dient es zur Steuerung innerer Operationen innerhalb des Rechenwerks
und der Ubertragungsvorgänge zwischen dem Rechenwerk und dem Speicher, die gerade so ablaufen, als
wäre die Maschinenbreite geändert worden.
2 0 a fa· 32/1031
Claims (19)
1.'Mikroprograminierter Rechner, gekennzeichnet durch einen
adressierbaren Speicher (10) mit variabler Feldlänge zum Speichern binär kodierter Information; durch ein Adressenregister
(24), in dem eine eine Bitstelle in dem Speicher und eine Anzahl von Bits in dem Speicher bezeichnende
Adresse speicherbar ist; durch eine arithmetische Einheit (12) zur bitparallen Bearbeitung von Operanden variabler
Länge; durch ein Steuerregister (30) zur Steuerung eines von mehreren verschiedenen Betriebszuständen; durch ein
Vorgaberegister (22) zum Speichern der eine Anzahl von Bits bezeichnenden Informationsbearbextungsbreite, wobei
der Vorgaberegisterausgang an die arithmetische Einheit (12) zur Steuerung der Operandenbreite des Ausgangs der
arithmetischen Einheit angeschlossen ist; sowie durch eine auf eine erste Steuerbedingung (BIAS) des Steuerregisters
(30) ansprechende Auswahlschaltung (40,44,46) zum Vergleich der von dem Adressenregister (24) bezeichneten
Anzahl von Bits mit einer vorbestimmten Konstanten, die der Maximalzahl von' parallel in der arithmetischen
Einheit bearbeitbaren Bits entspricht, sowie zum Einstellen des Vorgaberegisters auf die kleinere der beiden möglichen
Zahlen.
2. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß die Übertragung einer Gruppe von Bits aus dem Speicher
in die arithmetische Einheit (12) von einem von dem Steuerregister (30) bezeichneten zweiten Betriebszustand abhängt
und daß die Übertragung aus dem Speicher (10) unter Berücksichtigung der in dem Adressenregister (24) gespeicherten
Bitstellenadresse auf eine solche Anzahl von parallelen Bits beschränkt wird, die von dem Vorgabere-
2 U y b 8 2 / 1 0 3 1
gister (22) angegeben ist.
3. Rechner nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Speichersteuerung (11) eine variable Anzahl von
Bits bis zu einer vorbestimmten Maximalzahl parallel aus gehend von Bitstellenadressen in dem oder aus dem Speicher
während eines Speicherzyklus' überträgt; daß der Adressenabschnitt des Adressenregisters (24) sowie das Vorgaberegister
(22) an die Speichersteuerung zur Anzeige der Bitadressenstelle und der Anzahl der Bits für einen
Speicherzyklus angeschlossen ist; daß in dem Adressenregister (24) eine Bitadresse und die Anzahl der Bits
in einem Feld in dem Speicher (10) gespeichert ist; daß in dem Vorgaberegister (22) die Anzahl der während eines
Speicherzyklus1 zu adressierenden Bits gespeichert ist;
daß eine Auswahlschaltung (40,44,46) auf ein erstes Steuersignal (BIAS)anspricht und in das Vorgaberegister (22)
die kleinere Zahl von der in dem Adressenregister gespeicherten Zahl und der der maximal parallel übertragbaren
Bitzahl entsprechenden Zahl setzt; und daß in Abhängigkeit von einem zweiten Steuersignal (READ/WRITE)
ein Speicherzyklus eingeleitet wird.
4. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß durch das zweite Steuersignal
der Inhalt des Adressenregisters um den Inhalt des Vorgaberegisters bei Abschluß des Speicherzyklus geändert
wird.
5. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß bei Abändern des Inhalts des
Adressenregisters entweder die Bitadresse und die Anzahl der Bits oder beide wahlweise erhöht oder erniedrigt werden
um einen Betrag, der von dem Inhalt des Vorgaberegisters angegeben wird.
209ÖJÜ/1031
6. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die arithmetische Einheit mit einer
an das Vorgaberegister angeschlossenen Steuerung ausgerüstet ist, um die Anzahl von parallelen Bits in dem von
der arithmetischen Einheit nach Ausführung arithmetischer und logischer Operationen gelieferten Ergebnis auf die
von dem Vorgaberegister angegebene Anzahl zu beschränken.
7. Rechner nach einem der vorstehenden Ansprüche, gekennzeichnet durch einen adressierbaren Speicher (10) sowie
eine Speicherzugriffseinrichtung (11) zur Einleitung einer Parallelübertragung von Bits in den oder aus den
Speicher, beginnend bei einer bezeichneten Bitstelle und eine bezeichnete Anzahl von Bits bis zu einer vorbestimmten
Maximalzahl von Bits umfassend, durch ein Adressenregister (24) zur Speicherung mindestens eines
kodierten Descriptorwortes, das in einem ersten Abschnitt (FA) eine Bitstelle für den Anfang eines Feldes in dem .
Speicher und in einem zweiten Abschnitt (FL) die Anzahl der die Feldlänge bildenden Bits bezeichnet; durch ein
Vorgaberegister (22) mit einem ersten Abschnitt (CPL) zur Bezeichnung einer Anzahl von bei der Ausführung
bestimmter Mikoroperationen zu verwendenden Bits; sowie durch eine Steuerung (38) zur Einstellung des ersten
Abschnittes des Vorgaberegisters auf eine vorbestimmte Zahl zur Steuerung der bei einer Speicherübertragung
durch die Zugriffseinrichtung (11) beteiligten Anzahl von Bits.
8. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß eine Steuerung für die arithmetische
Einheit auf den Inhalt des Vorgaberegisters anspricht und den Ausgang der arithmetischen Einheit so steuert,
daß die Anzahl der parallelen Bits der von dem Vorgaberegister bezeichneten Anzahl entspricht.
2 Ü y 8 i 2 / 1 ü 3 1
9. Rechner nach einem der vorstehenden Ansprüche, dadurch
gekennzeichnet, daß die Descriptorwörter einen dritten Abschnitt aufweisen, der einen von mehreren Einheitenarten,
in denen Daten kodiert werden können, bezeichnet, wobei verschiedene Arten mit einer verschiedenen
Anzahl von Bits kodiert sind; und daß die Steuereinric htung auf den dritten Abschnitt des Descriptorwortes
in dem Adressenregister (24) anspricht und den ersten Abschnitt des Vorgaberegisters auf eine Zahl
setzt, die der Bitzahl der von dem Descriptorwort bezeichneten Einheitenart entspricht, wodurch die Speicherzugriff
ssteuerung die Übertragung einer solchen Anzahl von Bits veranlaßt, die eine Einheit der bezeichneten
Einheitenart entspricht.
10. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Steuerung (38) den ersten
Abschnitt des Vorgaberegisters auf die kleinere Zahl von der in dem zweiten Abschnitt des Descriptorwortes
enthaltenden Zahl und .von der Konstanten, die der vorbestimmten festen Maximalzahl von übertragbaren Bits
entspricht, setzt.
11. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Steuerung den ersten Abschnitt
des Vorgaberegisters auf die kleinere Anzahl von der in dem zweiten Abschnitt (FL) des Descriptorwortes
gespeicherten Zahl und der in dem ersten Abschnitt des Vorgaberegisters gespeicherten Zahl sowie von der
Konstanten, die der vorbestimmten festen Maximalzahl von übertragbaren Bits entspricht,- setzt.
12. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Zahlenwerte des Inhalts
des ersten und zweiten Abschnittes des Descriptorwortes um einen Betrag geändert wird, der von der in dem ersten
Abschnitt des Vorgaberegisters gespeicherten Zahl bestimmt wird.
2 fj υ ': . . 1 P /
13. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß ein Mikrobefehlsspeicher (28)
eine Gruppe von Mikrobefehlen speichert und jeweils einen
Mikrobefehl in ein Mikrobefehls-Speicherregister (30)
überträgt; daß die Auswahlschaltung (40,44,46) auf einen ersten Mikrobefehl (BIAS) in dem Mikrobefehlsspeicherregister
(30) anspricht und daß die Steuerung (36) auf einen zweiten Mikrobefehl in dem Mikrobefehls-Speicherregister
zur Aktivierung der Speicherzugriffssteuerung (11) anspricht und den Inhalt des ersten Abschnittes
eines vorstimmten Descriptorwortes in dem Descriptorwortspeicher (24,26,36) sowie den Inhalt des ersten
Abschnittes des Vorgaberegisters■(22) auf den adressierbaren
Speicher (10) zur Steuerung der Bitadresse und der zu übertragenden Anzahl von Bits gibt.
14. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß in einer Schaltung (48)
eine kodierte Zahl erzeugt wird, die die Maximalzahl von parallel übertragbaren Bits bezeichnet; daß eine
Vergleichsschaltung (50) an einem Eingang die Konstante aus der Schaltung (48) aufnimmt und am anderen Eingang
den Inhalt des zweiten Abschnittes des vorbestimmten Descriptorwortes in dem Descriptorwortspeicher aufnimmt
und die kleinere Zahl von den auf ihre Eingänge gegebenen Zahlen auswählt; und daß bei Auftreten des ersten
Mikrobefehls (BIaS) in dem Mikrobefehls-Speicherregister der Ausgang der Vergleichsschaltung auf den ersten Abschnitt
des Vorgaberegisters gegeben wird.
15. Rechner nach Anspruch 14, dadurch gekennzeichnet, daß die Auswahlschaltung einen weiteren Eingang aufweist, der
an den ersten Abschnitt des Vorgaberegisters angeschlossen
2Üüii.J2/ 103 1
8AD
223D102
16. Rechner nach Anspruch 15, dadurch gekennzeichnet, daß die Auswahlschaltung mit einem weiteren Eingang an den
zweiten Abschnitt eines anderen Descriptorwortes in dem Descriptorwortspeicher angeschlossen ist.
17. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß einer von zwei verschiedenen
Mikrobefehlen in dem Mikrobefehlsspeicher ausgewählt wird,
je nachdem, ob der Inhalt des ersten Abschnittes des Vorgaberegisters Null ist oder nicht Null ist.
18. Rechner nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß in Abhängigkeit von dem zweiten
Mikrobefehl in dem Mikrobefehlsspeicherregister der Inhalt des ersten Abschnittes des vorbestimmten Datendescriptorwortes
um den Betrag abgeändert wird, der in dem ersten Abschnitt des Vorgaberegisters enthalten ist.
19. Rechner nach einem der vorstehenden Ansprüche, dadurch
gekennzeichnet, daß in Abhängigkeit von dem zweiten Mikrobefehl in dem Speicherregister der Inhalt des zweiten
Abschnittes des vorbestimmten Descriptorwortes um einen Betrag abgeändert wird, der dem Inhalt des ersten Abschnittes
des Vorgaberegisters entspricht.
5 ν , 103
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15729771A | 1971-06-28 | 1971-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2230102A1 true DE2230102A1 (de) | 1973-01-11 |
DE2230102C2 DE2230102C2 (de) | 1984-10-18 |
Family
ID=22563140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2230102A Expired DE2230102C2 (de) | 1971-06-28 | 1972-06-21 | Mikroprogrammierter Prozessor mit bitparalleler Datenübertragung |
Country Status (6)
Country | Link |
---|---|
US (1) | US3739352A (de) |
JP (1) | JPS5549336B1 (de) |
BE (1) | BE784859A (de) |
DE (1) | DE2230102C2 (de) |
FR (1) | FR2144307A5 (de) |
GB (6) | GB1390389A (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3858183A (en) * | 1972-10-30 | 1974-12-31 | Amdahl Corp | Data processing system and method therefor |
US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
US3997878A (en) * | 1973-07-27 | 1976-12-14 | Rockwell International Corporation | Serial data multiplexing apparatus |
US3873976A (en) * | 1973-07-30 | 1975-03-25 | Burroughs Corp | Memory access system |
US4109310A (en) * | 1973-08-06 | 1978-08-22 | Xerox Corporation | Variable field length addressing system having data byte interchange |
US3916388A (en) * | 1974-05-30 | 1975-10-28 | Ibm | Shifting apparatus for automatic data alignment |
US3990052A (en) * | 1974-09-25 | 1976-11-02 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
US4042972A (en) * | 1974-09-25 | 1977-08-16 | Data General Corporation | Microprogram data processing technique and apparatus |
US4004281A (en) * | 1974-10-30 | 1977-01-18 | Motorola, Inc. | Microprocessor chip register bus structure |
US3978456A (en) * | 1974-12-16 | 1976-08-31 | Bell Telephone Laboratories, Incorporated | Byte-by-byte type processor circuit |
US3969724A (en) * | 1975-04-04 | 1976-07-13 | The Warner & Swasey Company | Central processing unit for use in a microprocessor |
US4041471A (en) * | 1975-04-14 | 1977-08-09 | Scientific Micro Systems, Inc. | Data processing system including a plurality of programmed machines and particularly including a supervisor machine and an object machine |
JPS5217732A (en) * | 1975-07-31 | 1977-02-09 | Sharp Corp | Integrated circuit unit |
FR2337376A1 (fr) * | 1975-12-31 | 1977-07-29 | Honeywell Bull Soc Ind | Appareil permettant le transfert de blocs de donnees de longueur variable entre deux interfaces de largeur differente |
US4021655A (en) * | 1976-03-30 | 1977-05-03 | International Business Machines Corporation | Oversized data detection hardware for data processors which store data at variable length destinations |
US4047247A (en) * | 1976-04-07 | 1977-09-06 | Honeywell Information Systems Inc. | Address formation in a microprogrammed data processing system |
US4135242A (en) * | 1977-11-07 | 1979-01-16 | Ncr Corporation | Method and processor having bit-addressable scratch pad memory |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4250560A (en) * | 1978-01-16 | 1981-02-10 | Jurgen Dethloff | Text processing apparatus |
WO1979000959A1 (en) * | 1978-04-21 | 1979-11-15 | Ncr Co | A computer system having enhancement circuitry for memory accessing |
US4291370A (en) * | 1978-08-23 | 1981-09-22 | Westinghouse Electric Corp. | Core memory interface for coupling a processor to a memory having a differing word length |
US4315308A (en) * | 1978-12-21 | 1982-02-09 | Intel Corporation | Interface between a microprocessor chip and peripheral subsystems |
US4258419A (en) * | 1978-12-29 | 1981-03-24 | Bell Telephone Laboratories, Incorporated | Data processing apparatus providing variable operand width operation |
US4240144A (en) * | 1979-01-02 | 1980-12-16 | Honeywell Information Systems Inc. | Long operand alignment and merge operation |
GB2039104B (en) * | 1979-01-02 | 1983-09-01 | Honeywell Inf Systems | Data processing system |
US4309754A (en) * | 1979-07-30 | 1982-01-05 | International Business Machines Corp. | Data interface mechanism for interfacing bit-parallel data buses of different bit width |
US4467443A (en) * | 1979-07-30 | 1984-08-21 | Burroughs Corporation | Bit addressable variable length memory system |
US4346437A (en) * | 1979-08-31 | 1982-08-24 | Bell Telephone Laboratories, Incorporated | Microcomputer using a double opcode instruction |
US4388682A (en) * | 1979-09-04 | 1983-06-14 | Raytheon Company | Microprogrammable instruction translator |
DE3069538D1 (en) * | 1980-02-28 | 1984-12-06 | Intel Corp | Microprocessor interface control apparatus |
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 |
US4821184A (en) * | 1981-05-22 | 1989-04-11 | Data General Corporation | Universal addressing system for a digital data processing system |
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 |
US4667305A (en) * | 1982-06-30 | 1987-05-19 | International Business Machines Corporation | Circuits for accessing a variable width data bus with a variable width data field |
US4812971A (en) * | 1983-10-03 | 1989-03-14 | Digital Equipment Corporation | Central processing unit for a digital computer |
US4893235A (en) * | 1983-10-03 | 1990-01-09 | Digital Equipment Corporation | Central processing unit for a digital computer |
US4847759A (en) * | 1985-03-18 | 1989-07-11 | International Business Machines Corp. | Register selection mechanism and organization of an instruction prefetch buffer |
US5442770A (en) * | 1989-01-24 | 1995-08-15 | Nec Electronics, Inc. | Triple port cache memory |
US5319769A (en) * | 1989-09-11 | 1994-06-07 | Sharp Kabushiki Kaisha | Memory access circuit for handling data pockets including data having misaligned addresses and different widths |
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 |
US5465374A (en) * | 1993-01-12 | 1995-11-07 | International Business Machines Corporation | Processor for processing data string by byte-by-byte |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US9233508B2 (en) * | 2008-11-17 | 2016-01-12 | Hall Inc. | Rigging, rigging terminals, and methods of assembling rigging and rigging terminals for a sailboat |
US9977619B2 (en) | 2015-11-06 | 2018-05-22 | Vivante Corporation | Transfer descriptor for memory access commands |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3377620A (en) * | 1964-04-10 | 1968-04-09 | Mohawk Data Science Corp | Variable word length internally programmed information processing system |
US3331056A (en) * | 1964-07-15 | 1967-07-11 | Honeywell Inc | Variable width addressing arrangement |
US3510847A (en) * | 1967-09-25 | 1970-05-05 | Burroughs Corp | Address manipulation circuitry for a digital computer |
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 |
-
1971
- 1971-06-28 US US00157297A patent/US3739352A/en not_active Expired - Lifetime
-
1972
- 1972-06-13 JP JP5893272A patent/JPS5549336B1/ja active Pending
- 1972-06-14 GB GB2932274A patent/GB1390389A/en not_active Expired
- 1972-06-14 BE BE784859A patent/BE784859A/xx not_active IP Right Cessation
- 1972-06-14 GB GB2784172A patent/GB1390384A/en not_active Expired
- 1972-06-14 GB GB2932074A patent/GB1390387A/en not_active Expired
- 1972-06-14 GB GB2932174A patent/GB1390388A/en not_active Expired
- 1972-06-14 GB GB2931974A patent/GB1390386A/en not_active Expired
- 1972-06-14 GB GB2932374A patent/GB1390390A/en not_active Expired
- 1972-06-21 DE DE2230102A patent/DE2230102C2/de not_active Expired
- 1972-06-26 FR FR7222994A patent/FR2144307A5/fr not_active Expired
Non-Patent Citations (1)
Title |
---|
Siemens & Halske AG Datenverarbeitungs- anlage 3003, Befehlliste NV Bs 107/1, Mai 1963, S. 3 * |
Also Published As
Publication number | Publication date |
---|---|
US3739352A (en) | 1973-06-12 |
GB1390384A (en) | 1975-04-09 |
FR2144307A5 (de) | 1973-02-09 |
DE2230102C2 (de) | 1984-10-18 |
JPS5549336B1 (de) | 1980-12-11 |
GB1390388A (en) | 1975-04-09 |
GB1390386A (en) | 1975-04-09 |
GB1390389A (en) | 1975-04-09 |
BE784859A (fr) | 1972-10-02 |
GB1390390A (en) | 1975-04-09 |
GB1390387A (en) | 1975-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE3851746T2 (de) | Sprungvorhersage. | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE2411963C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE3688824T2 (de) | Datenverarbeitungssystem. | |
DE3751540T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung. | |
DE2630323B2 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik | |
DE3424962C2 (de) | ||
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE1499193B2 (de) | Speicher-adressierschaltung | |
DE2430127A1 (de) | Einrichtung zur steuerung des speicherzugriffs konkurrierender benutzer | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE3856139T2 (de) | Mikroprozessor | |
DE3900246C2 (de) | ||
DE69231237T2 (de) | Datenverarbeitungsvorrichtung | |
DE69032172T2 (de) | Anordnung und Verfahren zur Verarbeitung von Grafikdaten | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |