DE2837852A1 - Mikroprogrammierbarer rechner mit parallel arbeitenden prozessoren - Google Patents
Mikroprogrammierbarer rechner mit parallel arbeitenden prozessorenInfo
- Publication number
- DE2837852A1 DE2837852A1 DE19782837852 DE2837852A DE2837852A1 DE 2837852 A1 DE2837852 A1 DE 2837852A1 DE 19782837852 DE19782837852 DE 19782837852 DE 2837852 A DE2837852 A DE 2837852A DE 2837852 A1 DE2837852 A1 DE 2837852A1
- Authority
- DE
- Germany
- Prior art keywords
- control
- address
- memory
- function
- decision
- 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
- 230000015654 memory Effects 0.000 claims description 375
- 230000006870 function Effects 0.000 claims description 320
- 230000009471 action Effects 0.000 claims description 137
- 230000003068 static effect Effects 0.000 claims description 112
- 239000013598 vector Substances 0.000 claims description 92
- 238000003860 storage Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 27
- 238000010276 construction Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 19
- 230000003936 working memory Effects 0.000 claims description 18
- 238000012546 transfer Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000006073 displacement reaction Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 5
- 238000010168 coupling process Methods 0.000 claims 5
- 238000005859 coupling reaction Methods 0.000 claims 5
- 238000010586 diagram Methods 0.000 description 55
- 239000010432 diamond Substances 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000010606 normalization Methods 0.000 description 13
- 230000000295 complement effect Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 11
- 229910003460 diamond Inorganic materials 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 9
- 101001100204 Homo sapiens Ras-related protein Rab-40A-like Proteins 0.000 description 8
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 8
- 101150054327 RAR1 gene Proteins 0.000 description 8
- 102100038416 Ras-related protein Rab-40A-like Human genes 0.000 description 8
- 101100011885 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ERG12 gene Proteins 0.000 description 8
- 230000036961 partial effect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 101100236975 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GAL11 gene Proteins 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 4
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 235000012431 wafers Nutrition 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 101100046653 Arabidopsis thaliana TOR1L1 gene Proteins 0.000 description 1
- 101001061911 Homo sapiens Ras-related protein Rab-40A Proteins 0.000 description 1
- 229940124913 IPOL Drugs 0.000 description 1
- 101710102916 Ichor Proteins 0.000 description 1
- 102100029553 Ras-related protein Rab-40A Human genes 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000013601 eggs Nutrition 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005714 functional activity Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 108091063445 miR-13 stem-loop Proteins 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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
Description
SPERRY RAND CORPORATION, 1290 Avenue of the Americas,
New York, New York, 10019, U.S.A.
Mikroprograinmierbarer Rechner mit parallel/arbeitenden Prozessoren
Die Erfindung bezieht sich auf mikroprogrammierbare digitale
Rechner, insbesondere auf deren grundlegenden Aufbau.
Die Erfindung betrifft eine mikroprogrammierbare Zentraleinheit
für einen Rechner, der mindestens einen durch eine Vielzahl von Mikrooperationen ausführbaren Makrobefehl ausführen kann.
Der Aufbau derzeitiger Rechner ist primär so gestaltet, dass
eine Logik mit direkten Zugriff (random logic) verwendet wird, d.h. es sind zur Ausführung der verschiedenen geforderten Funktionen
spezielle logische Schaltkreise vorgesehen. Ein anderer Lösungsweg für die Rechnerkonstruktion ist der der Mikroprogrammierung,
bei der Makrobefehle aus dem Rechnerrepertoire über Mikrobefehlsroutinen ausgeführt werden, die in einem Rechner-Mikrosteuerspeicher
gespeichert sind. Generell, wobei alles übrige gleich ist, ermöglicht der Lösungsweg mit einer Logik mit
direkten Zugriff einen wesentlich schnelleren Rechner als die
mikroprogrammierte Konstruktion, jedoch gibt der mikroprogram» mierte Lösungsweg einen Rechner an, der kleiner und billiger
ist als ein Rechner, der unter Verwendung einer Logik mit direktem
Zugriff konstruiert ist. Dies liegt im wesentlichen daran, dass Rechner, die eine Mikroprogrammierung verwenden, weniger
Hardware benötigen, als die, die mit einer Logik mit direkten Zugriff konstruiert wurden. Zusätzlich eignet sich der mikroprogrammierte
Aufbau generell besser zur Verwendung von hochintegrierten Schaltkreisen (LSI, large scale integrated circuits)
als dies Rechner mit einer Logik mit direkten Zugriff tun, bei
909810/0956
denen generell eine Integration kleinen Massstabes (SSI, small
scale integration) und Integration mittleren Massstabes (MSI,
medium scale integration) verwendet wird. Bei einer vorgegebenen Funktionsweise sind LSI-Schaltkreise kleiner und billiger als
ihre SSI- und MSI-Gegenstücke.
Ein mikroprogr aminiert er Rechner ist dadurch flexibler als ein
Rechner, der unter Verwendung einer Logik mit direktem Zugriff aufgebaut ist, dass das Befehlsrepertoire der mikroprogrammierten
Maschine durch Ändern der gespeicherten Mikroroutinen, die zur Ausführung der Makroinstruktionen des Rechnerrepertoires verwendet
werden, bequem geändert werden kann. Eine Mikroprogranulierung wurde beim Stand der Technik dafür verwendet, einen
bestehenden Rechner zu emulieren (emulating). Generell wird der mikroprogrammierte Emulator für ähnliche Konstruktionstechnologien
wesentlich langsamer sein als die emulierte Maschine.
Unabhängig von den obigen Überlegungen gelangen Mikroprozessorchips
und -scheibchen zu weit verbreiterter Anwendung bei der Herstellung von langsamen Rechengeräten mit geringer Kapazität,
wie z.B. Taschenrechner und kleine Spezialrechner. Mikroprozessorchips
und -scheibchen weisen eine beträchtliche Zahl von Rechen- und Logikfunktionen auf einem einzelnen Chips für relativ
niedrige Kosten auf. Bisher wurden Mikroprozessoren bei der Herstellung von grossen Hochgeschwindigkeitsrechnern der Ausbaurahmenart
(main frame type), die relativ lange Daten= und Befehlsworte (generell bis 32 Bits oder grosser) haben,, nicht
generell verwendet, primär wegen der mit den Eingängen, Ausgängen
und Verbindungen des Mikroprozessorchips verbundenen Probleme bezüglich der Ausnutzung der Chip-Funktionsweise in der Umgebung
des Grossrechners (main frame computer)»
Im einzelnen wurden beim Stand der Technik mikroprogrammierte Rechner in Betracht gezogen, die eine horizontale Mikroprogrammierung
verwenden. Bei derartigen Rechnemist die arithmetische Logik-Einheit unter Verwendung einer Logik mit direktem Zugriff
aufgebaut entsprechend den benötigten diskreten Basissystem-
2837052
elementen des Rechners, wie z.B. einem Addierer, Gattern, Registern
oder ähnlichem. Jedes dieser Rechnersystemelemente wird generell von einem einzelnen Bit des horizontalen Mikrosteuerwortes
gesteuert.
Obwohl die gleiche Funktionsweise, die durch die arithmetische Logik-Einheit mit einer Logik mit direktem Zugriff des horizontal
mikroprogrammierten Rechners vorgesehen ist, durch heutige Mikroprozessorchips und -scheibchen erreicht werden kann, kann
bei Verwendung kommerzieller Mikroprozessorkomponenten ein Zugriff
zu den diskreten Systemelementen des Chips nicht erreicht werden, da diese Komponenten generell für sequentielle Ausführung
der verschiedenen Chipfunktionen konstruiert sind. Aus diesem Grunde wurden LSI-Mikroprozessorchips und -scheibchen, wie
oben erläutert, bisher nicht erfolgreich beim Entwurf von Grossrechnern eingesetzt.
Aufgabe der Erfindung ist es daher, einen Rechneraufbau anzugeben,
bei dem eine Mikroprogrammierung verwendet wird, um bei einem Hochgeschwindigkeitsgrossrechner mit hoher Kapazität eine
verringerte Grosse und geringere Kosten im Vergleich zu bekannten Einrichtungen zu erreichen.
Gegenstand der Erfindung ist es, beim Aufbau des Rechners vorzugsweise
LSI-Mikroprozessorkomponenten zu verwenden.
Weiterer Gegenstand der Erfindung ist es, einen Grossrechner zu
schaffen, der einen LSI-Aufbau mit wesentlich verbesserter
Kosteneffektivität und Leistung im Vergleich mit früheren Einrichtungen
verwendet.
Weiterer Gegenstand der vorliegenden Erfindung ist es, einen mikroprogrammierten Emulator eines Seriengrossrechners unter Verwendung
eines LSI-Aufbaues zu schaffen, der eine deutlich überlegene
Kosteneffektivität und Leistung in bezug auf die emulierte Maschine besitzt.
909810/0956
Die obige Aufgabe und die angegebenen Gegenstände der Erfindung
werden durch die im Patentanspruch 1 angegebenen Merkmale realisiert. Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung
sind den Unteransprüchen zu entnehmen.
Zusammengefasst wird die oben angegebene Aufgabe der Erfindung durch einen mikroprogrammierbaren Rechner gelöst β der ein
Repertoire von Makroinstruktionen besitzt, die jeweils aus einer Vielzahl von MikroOperationen zusammengesetzt sind,, Der Rechner
enthält einen Steuerspeicher znz Speicherung von Mikrobefehlsworten , die Mikroroutinen bilden„ sur Ausführung der die Makrobefehle
bildenden Mikrooperationeno Jedes Mikrobefehlswort umfaßt
eine Vielzahl von Steuerfeldern, wobei jedes Feld in der Lage ist,
eine Vielzahl von MikroOperationen zn steuern» Der Rechner enthält
eine Vielzahl von Prozessoren„ wobei jeder Prozessor in der
Lage ist» eine Vielzahl der MikroOperationen auszuführen. Die Prozessoren führen parallel bzw. verzahnt (concurrently) eine
entsprechende Vielzahl von MikroOperationen unter der Steuerung der entsprechenden Steuerfelder der Mikrobefehle anrechenbar auf
die auszuführenden Makrobefehle aus. Vorzugsweise sind die Prozessoren unter Verwendung von LSI-Mikroprozessorelementen ausgeführt.
Der Rechner gemäss der vorliegenden Erfindung kann folglich so angesehen
werden, dass er eine Vielzahl von Mikrobefehlsfolgen in Ausführung einer einzelnen Makrobefehlsfolge verzahnt (concurrently)
und gleichzeitig ausführt.
Der erfindungsgemässe Rechner verwendet einen Aufbau, bei dem
Makrobefehle des Computerrepertoires durch Mikrobefehlsroutinen, die in einem Steuerspeicher gespeichert sind, ausgeführt werden.
Der Rechner verwendet eine Vielzahl von lokalen Prozessoren, die konkurrierend arbeiten, um die Mikrobefehle einer Mikroroutine
im Namen eines einzelnen Makrobefehls gleichzeitig auszuführen. Vorzugsweise sind die lokalen Prozessoren unter Verwendung von
Mikroprozessor-LSI-Schaltkreisen aufgebaut.
909810/0956
Im folgenden wird die Erfindung anhand von Ausführungsbeispielen
im Zusammenhang mit den Figuren ausführlicher erläutert. Es
zeigt:
Fig. 1 eine Darstellung des Formates und der Felder eines
Makrobefehlswortes für den Sperry Univac-Rechner 1108?
Fig. 2 ein vereinfachtes schematisches Blockschaltbild des
Rechners gemäss der vorliegenden Erfindung;
Fig. 3 ein· Flussdiagramm der Struktur des bei dem Rechner gemäss
der vorliegenden Erfindung verwendeten Mikrocodes;
Fig. 4 eine Darstellung des Formates und der Felder der Mikrobefehlssteuerworte,
die bei dem Rechner der vorliegenden Erfindung verwendet werden;
Fig. 5 ein detailliertes Blockschaltbild des Rechners gemäss
der vorliegenden Erfindung;
Fig. 6 ein schematisches Blockschaltbild eines Mikroprozessorscheibchens,
das bei Realisierung der lokalen Prozessoren des Rechners nach Fig. 5 verwendet wird;
Fig. 7 ein Speicherdiagramm, das die Steuerworte für verzögerten Einsatz (DAC-Wörte), die in einem DAC-Tabellenspeicher
gespeichert sind, zeigt;
Fig. 8 ein schematisches Blockschaltbild der in dem Rechner
von Fig. 5 verwendeten tabellengetriebenen Steuerlogik (table driven control logic);
Fig. 9 ein Flussdiagramm, das den Steuerungsfluss eines Mikrobefehles
des Rechners der vorliegenden Erfindung darstellt;
Fig. 10 ein Zeitdiagramm, das die Zeiteinteilung der verschiedenen
Aktivitäten darstellt, die während eines Mikrozykluses des Rechners der vorliegenden Erfindung auftreten;
Fig. 11 ein Zeitdiagramm, das die während eines Mikrozyklus
des Rechners der vorliegenden Erfindung auftretenden Ereignisse darstellt,und zwar bezüglich einer dort verwendeten
Überlappung von Drei-Wege-Mikrobefehlen;
Fig. 12 ein Zeitdiagramm von drei aufeinanderfolgenden Mikrozyklen
des Rechners der vorliegenden Erfindung, das die
909810/0956
Überlappung der Drei-Wege-Mikrobefehle im Hinblick auf drei Zyklen darstellt?
Fig. 13 ein beispielhaftes Flussdiagramm, das drei aufeinanderfolgende
Mikrozyklen des Rechners der vorliegenden Erfindung insbesondere im Hinblick auf tatsächliche und
auf Phantom-Verzweigungen?
Fig. 14 ein Zeitdiagramm, das die während drei aufeinanderfolgender
Mikrozyklen des Rechners der vorliegenden Erfindung auftretenden detaillierten Aktivitäten darstellt,
insbesondere im Hinblick auf die Überlappung der Drei-Wege-Mikrobefehle;
„ GEIffiINSAM„
Fig. 15 ein Flussdiagramm, das den Mikrobefehl / darstellt;
Fig. 16a-c Flussdiagramme B die die Mikroroutine für die "Rufe
einzelnen Operanden direkt ab^-Makrorepertoireklassenbasis
(FETCH SINGLE OPERAND DIRECT) darstellen?
Fig. 17 ein Flussdiagramm, das die Mikroroutine für den Makrobefehl
"Addiere direkt zu A" (ADD TO A DIRECT) darstellt?
Figo 18a-d Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"Rufe einzelnen Operanden indirekt ab" (FETCH SINGLE OPERAND INDIRECT) darstellt;
Fig. 19a-f Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"Rufe einzelnen Operanden sofort ab" (FETCH SINGLE OPERAND IMMEDIATE) darstellt?
Fig. 20 ein Flussdiagrammj, das die Mikroroutine für den Makrobefehl
"Addiere sofort zu A" (ADD TO A IMMEDIATE) darstellt;
Fig. 21a-c Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"Springe auf grosser und dekrementiere"
(JUMP GREATER AND DECREMENT) darstellen?
Fig. 22a-c Flussdiagramme, die die Mikroroutine für den Makrobefehl "Springe auf grosser und dekrementierelJUMP
GREATER AND DECREMENT) darstellen?
Fig. 23a-c Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"Unbedingte Verzweigung" (UNCONDITIONAL BRANCH) darstellen?
909810/0956
Fig. 24a-g Flussdiagramme, die die Mikroroutine für den Makrobefehl
"Speichere den Ort und Springe" (STORE LOCATION AND JUMP) darstellen;
Fig. 25a-f Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"Speichere" (STORE) darstellen?
Fig. 26a-b Flussdiagramme, die die Mikroroutine für den Makrobefehl
"Speichere A" (STORE A) darstellen;
Fig. 27a-c Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"überspringe und bedingte Verzweigung" (SKIP AND CONDITINAL BRANCH) darstellen;
Fig. 28a-c Flussdiagramme, die die Mikroroutine für den Makrobefehl
"Teste nicht gleich" (TEST NOT EQUAL) darstellen;
Fig. 29a-c Flussdiagramme, die die Mikroroutine für die Makrorepertoireklassenbasis
"Schiebe" (SHIFT) darstellen;
Fig. 30a-b Flussdiagramme, die die Mikroroutine für den Makrobefehl
"Einzelne algebraische Verschiebung" (SINGLE SHIFT ALGEBRAIC) darstellen;
Fig. 31 ein schematisches Blockschaltbild, das Einzelheiten
der 36 Bit-Betriebsweise des lokalen Prozessors des Rechners von Fig. 5 darstellt;
Fig. 32 ein schematisches Blockschaltbild, das Einzelheiten der 2 χ 10-Bit-Betriebsweise des lokalen Prozessors des
Rechners von Fig. 5 darstellt;
Fig. 33 ein schematisches Schaltbild, das die Logik zum Kombinieren
der Anordnungen von Fig. 31 und 32 darstellt;
Fig. 34 ein schematisches Blockschaltbild, das Einzelheiten
des Makrobefehlsregisters und des Befehls- und Adressen-Registers des Rechners von Fig. 5 darstellt;
Fig. 35 ein schematisches Schaltbild, das die Logik zum Addressieren
der Befehlsstatustabelle des Rechners von Fig. darstellt;
Fig. 35a eine Speicherkarte der Befehlsstatustabelle;
Fig. 36 ein schematisches Blockschaltbild, das Einzelheiten des B-Sammelschienen-Eingangs-Multiplexers, der HochgeschwindigkeitsverSchiebeeinrichtungen,
des Schiebe/ Masken-Adressenspeichers und des Adressenmultiplexers
909810/0956
hierfür darstellt;
Fig. 36a eine Speicherkarte des Schiebe/Masken-Adressenspeichers;
Fig. 37 ein schematisches Blockschaltbild, das Einzelheiten des Adressenmultiplexers des lokalen Speichers des Rechners
von Fig. 5 darstellt?
Fig. 38 ein schematisches Blockschaltbild, das Einzelheiten der lokalen Speicher, der Komplementiereinrichtungen
und der A-Sammelschienen-Register des Rechners von Fig.
5 darstellt?
Fig. 39 ein schematisches Blockschaltbild, das Einzelheiten des
Schreib-Steuer-Schaltkreises, der bei den lokalen
Speichern des Rechners nach Fig» 5 verwendet wird, darstellt?
Fifo 40 ein schematisches Blockschaltbild, das Einzelheiten des
• Adressierungsmultiplexers und der Verriegelung für den Steuerspeieher des Rechners von Fig. 5 darstellt?
Fig. 41 ein schematisches Blockschaltbild, das Einzelheiten der Adressierungsverriegelung für die Speicher der verschobenen
Einsatzsteuerung des Rechners nach Fig. 5 darstellt?
Fig. 42 ein schematisches Blockschaltbild, das die Verriegelungen der verschobenen Einsatzsteuerung für den Rechner
von Fig. 5 darstellt;
Fig. 43 ein schematisches logisches Schaltbild, das Einzelheiten der Hauptspeicher-Interface-Steuerlogik für den
Rechner von Fig. 5 darstellt?
Fig. 44 ein schematisches Blockschaltbild, das Einzelheiten des Speicherdatenleseregisters des Rechners nach Flg. 5 darstellt?
Fig. 45 ein schematisches Blockschaltbild, das Einzelheiten des Register-Adressenregisters des Rechners nach Fig. 5 darstellt?
Fig. 46, die aus den Fig. 46a und 46b besteht, ein schematisches Blockschaltbild, das Einzelheiten des Adressierungsmultiplexers
des Mehrzweck-Registerstapels des Rechners
nach Fig. 5 darstellt;
Fig. 46c ein schematisches Blockschaltbild zum Erzwingen eines
909810/0956
"Null"-Ausgangssignals von dem allgemeinen Registerstapel
des Rechners nach Fig. 5 unter vorbestimmten
Umständen;
Fig. 47 ein schematisches Blockschaltbild, das Einzelheiten des
lokalen Speicheradressierungsregisters des Rechners von Fig. 5 darstellt;
Fig. 48 ein schematisches Blockschaltbild, das Einzelheiten des B-Sammelschienenselektors des Rechners von Fig. 5 darstellt;
Fig. 49 ein Diagramm, das die Zeiteinteilung für eine D-Sammelschienenzu
B-Sammelschienenübertragung in dem Rechner von Fig. 5 darstellt;
Fig. 50 ein schematisches Blockschaltbild, das Einzelheiten der Funktionsmultiplexer und Verriegelungen des lokalen
Prozessors des Rechners von Fig. 5 darstellt;
Fig. 51 ein schematisches Blockschaltbild, das Einzelheiten des
Äusgangssteuerfunktionsmultiplexers und der -Verriegelungen des lokalen Prozessors des Rechners von Fig. 5
darstellt;
Fig. 52 ein schematisches Blockschaltbild, das Einzelheiten der Stabilisierungs- und Steuersystemverriegelungen (SCS-latches)
für den Rechner von Fig. 5 darstellt;
Fig. 53 ein schematisches logisches Schaltbild, das Einzelheiten bezüglich des Setzens der Verriegelungen der statischen
Steuervariablen des Rechners von Fig. 5 darstellt;
Fig. 54 ein schematisches logisches Schaltbild, das Einzelheiten des B4-Sammelschienenmultiplexers des P4-lokalen
Prozessors des Rechners von Fig. 5 darstellt;
Fig. 55 ein schematisches logisches Schaltbild, das Einzelheiten des Ädressierungsmultiplexers für den lokalen
Speicher (LM4) des Rechners von Fig. 5 darstellt;
Fig. 56 ein schematisches Blockschaltbild, das Einzelheiten der Normalisierungs-Hilfseinrichtung (normalizer helper)
des Rechners von Fig. 5 darstellt;
Fig. 57 ein schematisches Blockschaltbild, das Einzelheiten des
Schiebesteuerregisters des Rechners von Fig. 5 darstellt und
909810/0956
Fig. 58 ein schematisches Blockschaltbild, das die Register
darstellt, die zur Einsparung von Steuerfeldern über einen Mikrozyklus des Rechners von Fig. 5 verwendet werden,
bei Ausführung einer drei-wege-mikroüberlappten Betriebsweise.
909810/0956
Wie oben erläutert wird durch die Erfindung ein grundsätzlich
neuer Rechneraufbau angegeben, der insbesondere für die Herstellung
von Grossrechnern (large scale main frame processors) geeignet ist. Die Erfindung kann bei der Konstruktion eines neuen
Grossrechners verwendet werden, der z.B. einen bei heutigen Rechnern noch nicht verwendeten Befehlssatz aufweist oder die
Erfindung kann auch dazu benutzt werden, einen heute kommerziell erhältlichen Rechner zu emulieren. Die dem Rechner in beiden
Fällen mitgegebenen Vorteile wurden oben grundsätzlich erläutert und werden weiter unten noch weiter erklärt. Zu Zwecken der Erläuterung
wird die Erfindung im einzelnen so beschrieben als sei sie zur Emulierung des SPERRY UNIVAC-Rechners 1108 angewandt»
Der Aufbau, die Charakteristiken und die Betriebsweise des SPERRY UNIVAC-Rechners 11O8 sind allgemein bekannt und gut
dokumentiert und werden im folgenden aus Gründen der strafferen Darstellung nicht mehr ausdrücklich erläutert. Es sei auf die
zahlreichen von der ÜNIVAC-Division der Sperry Rand Corporation
erhältlichen Handbücher verwiesen, die den Rechner detailliert beschreiben.
Der SPERRY ÜNIVAC-Rechner 1108 verwendet 36-Blt-Befehls- und
Daten- oder Operandenworte. Das Befehlswortformat ist in Fig. dargestellt, wobei die einzelnen Felder folgendes bedeuten:
f = Funktions- oder Operationscode j = Operanden-Qualifikationsbegriff, partielle
Steuerregisteradresse oder Untergruppenfunktionscode
a - A, X oder R Register; Kanal, Sprungschlüssel, Stopschlüssel, oder Modulnummer des Untergruppenfunktionscodes
; partielle Steuerregisteradresse
χ = Indexregister
h = Indexregistervergrosserung i = Indirekte Adressierung
u = Operandenadresse oder Operandenbasis.
Die verwendeten Ausdrücke und Nomenklatur haben hier den glei-
909810/0956
chen Begriffsinhalt wie bei dem SPERRY ÜNIVAC-Rechner 1108.
In Fig. 2 ist ein Schematisches Blockschaltbild des Rechners dargestellt, dessen Aufbau gemäss der vorliegenden Erfindung ausgeführt
wurde. Fig. 2 ist ein vereinfachtes Blockschaltbild insofern, als nur die Hauptkomponenten, die den Rechner bilden, dargestellt
sind» Der Rechner besteht aus einer Zentraleinheit (CPU) 10 und aus einem Hauptspeicher 11„ Der Hauptspeicher 11 besteht,
identisch wie bei dem Rechner 1108, aus zwei Speicherbänken, der
I-Bank und der D-Bank (die in der Zeichnung nicht im einzelnen dargestellt sind). Generell speichert die I-Bank Makrobefehlsworte
und stellt diese bereit und die in D~Bank stellt die Operandenvjorte bereit= Generell werden die Befehls= und Operandenworte
für Zwecke der Datenflussbeschreibung als Daten angesehen,, Wie oben beschrieben, haben die Befehlsworte das in Fig„
dargestellte Format.
Die Zentraleinheit 10 enthält ein Befehlsadressregister (IAR) 12
sur Adressierung des Hauptspeichers 11 zum Zwecke des Abrufens
der Makrobefehle hiervon. Die Zentraleinheit 10 enthält weiterhin ein Makrobefehlsregister (MIR) 13 zum Empfang der in Übereinstimmung
mit den in das Befehlsadressregister 12 eingefügten adressenabgerufenen Makrobefehle« Wie oben erläutert, haben die
in das Register 113 eingefügten Makrobefehlsworte das oben im
Zusammenhang mit Fig. 1 beschriebene Format. Die Makrobefehle werden primär von der I-Speicherbank abgerufen, können jedoch
auch von der D-Bank geliefert werden, wie durch die Datenflusslinien und in das Register 13 weisenden Pfeile angedeutet ist.
Die Zentraleinheit 10 enthält weiterhin ein Operandenadressregister
(OAR) 14, das die Adressen in dem Hauptspeicher 11 hält und
bereitstellt, an denen die Operanden abzuspeichern sind und von dem die Operanden abzurufen sind. Die Zentraleinheit 10 enthält
weiterhin ein Speicherdatenschreibregister (MDRW) 15, das die
Operanden für die Speicherung in dem Hauptspeicher 11 an den
durch das Operandenadressregister 14 vorgesehenen Adressen hält und bereitstellt. Wie durch die Datenflusslinien und Pfeile von
909810/0956
dem Register 15 zu dem Hauptspeicher 11 dargestellte kann der
Operand entweder in der Speicherbank D oder der Speicherbank I
in Übereinstimmung mit der zugeordneten Speicheradresse gespeichert
sein. Die Zentraleinheit 10 enthält weiterhin ein Speicherdatenleseregister (MDRR) 16, das zur Speicherung der
Operanden angewandt wird, die von den in dem Operandenadressregister
14 spezifizierten Adressen aus dem Hauptspeicher 11 ausgelesen sind.
Die Zentraleinheit 10 enthält weiterhin lokale Prozessoren 17, 18 und 19, von denen jeder A- und B-Eingangsanschlüsse sowie
einen D-Ausgangsanschluss aufweisen. Jeder der Prozessoren 17,
18 und 19 enthält einen internen Akkumulator,(der nachfolgend
beschrieben wird) und führt einen Vorrat zweiwertiger (diadic), binärer arithmetischer und logischer Funktionen der Werte an den
A- und B-Eingangsanschlüssen und der in dem Akkumulator gespeicherten Werte durch. Die Ergebnisse der Berechnungen werden
selektiv an den D-Ausgangsanschluss in einer nachfolgend beschriebenen
Weise bereitgestellt. Jeder der Prozessoren 17, 18 und 19 kann wahlweise so ausgebildet sein, dass er als zwei 20-Bit-Prozessoren
oder als ein 36-Bit-Prozessor arbeitet, wie durch den Hinweis "2 χ 20 oder 36" angedeutet. Wenn der Prozessor
in der 2 χ 20-Betriebsweise arbeitet, so werden Adressberechnungen
im Hinblick auf die 18-Bit-Adressen, die in dem
ÜNIVÄC-Rechner 1108 verwendet werden, entsprechend durchgeführt„
Wenn die Prozessoren für die 36-Bit-Betriebsweise ausgebildet sind, so werden sie primär für Berechnungen der in dem UNXVAC-Rechner
1108 verwendeten 36-Bit-Operanden benutzt.
Die B-Eingangsanschlüsse zu jedem der lokalen Prozessoren 17,
und 19 empfangen Daten von einer B-Sammelschiene 22 und die D-Ausgangsanschlüsse
der Prozessoren liefern ihre Ergebnisse auf
eine D-Sammelschiene 23. Die B- und D-Sammelschienen 22 und 23
haben jeweils einen Umfang von 40 Bits, wobei die B-Sammelschiene 40 Bits parallel zu den B-Eingangsanschlüssen der Prozessoren
17, 18 und 19 und deren D-Ausgangsanschlüsse 40 Bits parallel zu der D-Sammelschiene liefern. Die 40 entsprechenden Bits jedes
909810/0956
der Prozessoren 17, 18 und 19 werden, mit den 40 entsprechenden
Bits der D-Sammelschiene in herkömmlicher Phantom-ODER-Verknüpfung
(wired- or) verbunden. Folglich werden die D-Ausgangsanschlusswerte
von den Prozessoren 17, 18 und 19 individuell auf der D-Sammelschiene 23 plaziert zur Kommunikation der verschiedenen
Teile der Zentraleinheit 10, mit denen die D-Sammelschiene verbunden ist. Obwohl bei dem hier beschriebenen Ausrührungsbeispiel
nicht verwendet, können gleichzeitig vorliegende Werte von den D-Ausgangsanschlüssen der lokalen Prozessoren auf
der D-Sammelschiene kombiniert werden, um weitere Rechen-, Logik- und Steuer-Möglichkeiten zu schaffen.
Die lokalen Prozessoren 17, 18 und 19 haben ihnen zugeordnete
lokale Speicher 24, 25 bzw. 26, die zur Speicherung und Bereitstellung
interessierender Grossen für ihre zugeordneten lokalen ■ Prozessoren verwendet werden. Die lokalen Speicher 24, 25 und
können als Zwischenspeicher für Werte aus den zugeordneten Prozessoren und auch zur Speicherung von von dem Prozessor benötigten
Konstanten verwendeten werden» Beispielsweise enthält der lokale Speicher 24 bei einer Speicheradressberechnung die Adressierungskonstanten
(des UNIVAC-Rechners 1108) B3., LL1 und UL1,
während der lokale Speicher 25 die Konstanten B-, LL und UL
enthält, die zur Adressierung des Hauptspeichers und Überprüfung der Adressgrenzen in einer weiter unten beschriebenen Art und
Weise verwendet werden. Jeder der lokalen Speicher 24, 25 und 26 enthält eine Vielzahl von 40-Bitworten (beispielsweise 64 Worte
bei dem vorliegenden Ausführungsbeispiel). Die lokalen Speicher 24, 25 und 26 empfangen Daten von der D-Sarnmelschiene 23 „ die in
ihnen eingeschrieben werden und jeder der lokalen Speicher liefert 40-Bitdaten, die aus ihm zu dem 40-Bit-A-Eingangsanschluss
des zugeordneten lokalen Prozessors eingelesen werden„ Die Lese=
und Schreibsteuerung der lokalen Speicher 24, 25 und 26 wird
weiter unten detaillierter beschrieben.
Die Zentraleinheit 10 enthält weiterhin einen vierten lokalen Prozessor 27 und einen zugeordneten lokalen Speicher 28. Während
die lokalen Prozessoren 17, 18 und 19 steuerbar entweder in der
909810/0358
-«- 2837352
2 χ 20-Bitbetriebsweise oder der 36-Bitbetriebsweise betrieben
werden, hat der Prozessor 27 einen festen 2O-Bit grossen Aufbau. Dementsprechend ist der lokale Speicher 28 20-Bit gross und enthält
in dem vorliegenden Ausführungsbeispiel 16 Worte. Der Prczessor 27 besitzt A- und B-Eingangsanschlüsse und ebenfalls
einen D-Ausgangsanschluss, wobei der 20-Bit-Ausgangsanschluss
des lokalen Speichers 28 so verbunden ist, dass er Daten zu dem
A-Anschluss des Prozessors 27 liefert. Der lokale Prozessor 27 besitzt eine eigene Eingangs-Sammelschiene 29, die als B4 bezeichnet
ist, ebenso wie eine eigene Ausgangs-Sammelschiene 30, die als D4 bezeichnet ist. Die Sammelschienen 29 und 30 sind jeweils
20-Bits gross, wobei die Sammelschiene 29 einen parallelen 20-Bit-Eingang zu dem B-Eingangsanschluss des Prozessors 27 vorsieht
und die Sammelschiene 30 einen parallelen 20-Bit-Äusgang von dessen D-Ausgangsanschluss empfängt. Die D4-Sammelschiene 30
liefert ein Eingangssignal zu dem lokalen Speicher 28, um Daten darin einzuschreiben, die von dem Prozessor 27 verwendet werden
sollen. Die B4-Sammelschiene 29 empfängt als einen Eingang den Ausgang von dem Befehlsadressregister 12 und ist zusätzlich zum
Empfang der oben im Zusammenhang mit der Fig. 1 beschriebenen Feldinformation von dem Makrobefehlsregister 13 verschaltet.
Die D4-Sammelschiene 30 liefert einen Eingang zu einem Programmzähler 31, dessen Ausgang als ein Eingang an das Befehlsadressregister
12 angelegt ist. Der lokale Prozessor 27 mit seinem lokalen Speicher 28 in Verbindung mit dem Programmzähler 31,
das Befehlsadressregister 12 und das Makrobefehlsregister 13 werden
in der Zentraleinheit 10 primär dazu verwendet, die zur Steuerung des Abrufens der. Makrobefehle aus dem Hauptspeicher 11,
der das von der Zentraleinheit 10 durchzuführende Programm enthält,
benötigten Adressberechnungen durchzuführen. Der lokale Prozessor 27 führt diese und weitere Funktionen in einer nachfolgend
detaillierter zu beschreibenden Weise durch.
In Übereinstimmung mit den in den lokalen Prozessoren 17, 18 und 19 durchgeführten Berechnungen werden Befehls- und Operandenadressen
über die D-Sammelschiene 23 für das Befehlsadressregister 12 bzw. das Operandenadressregister 14 bereitgestellt. Die
909810/0956
Operanden werden ebenfalls über die D-Sammelschiene 23 dem Speicherdatenregister
15 zur Speicherung in den Hauptspeicher 11 zugeführt.
Die Zentraleinheit 10 enthält einen Mehrzweckregisterstapel
(general register stack (GRS)) 32, der einen Satz von Index- und Operandenregistern enthält, ähnlich denen, die in dem UNIVAC-Rechner
1108 verwendet werden. Der Mehrzweckregisterstapel 32 empfängt zur Speicherung in ihm Daten von der D-Sammelschiene 23«
Die in dem Mehrzweckregisterstapel 32 enthaltenen Register werden
unter anderem zur indexierten Adressierung verwendete Ein einzelnes Register des Stapels 32 wird mittels eines Register-Adress-Registers
(RAR) 33 adressiert,, Die Adressinformation wird in das Register-Adress-Register 33 von der D-Sammelschiene 23
und von der D4-Sammelschiene 30 eingegebene Der Mehrzweckregisterstapel
32 wird also von dem X-FeId aus dem Makrobefehlsregister 13 adressiert.
An die B-Sammelschiene 22 werden Daten über einen Eingangsmultiplexer
34 und eine Hochgeschwindigkeits-Datenverschiebeeinrichtung
35 angelegt. Die Eingänge zu dem Multiplexer 34 werden von der D-Sammelschiene 23, der D4-Sammelschiene 30, dem Mehrzweckregisterstapel
32, dem Speicherdatenregister 16 und dem U-FeId von dem Makrobefehlsregister 13 bereitgestellt. Der Multiplexer
34 wählt die an die Verschiebeeinrichtung 35 anzulegenden Eingänge aus, wobei die Verschiebeeinrichtung 35 wahlweise die
Daten für ihre übertragung auf die B-Sammelschiene verschiebt, in einer weiter unten zu beschreibenden Art und Weise.
Die Zentraleinheit 10 enthält weiterhin einen Steuerspeicher 36
zur Speicherung der Mikro-Code-Routinen, die zur Emulierung der Makroinstruktionen des UNIVAC-Rechners 1108 angewandt werden.
Die nachfolgend zu beschreibenden Befehlsworte werden adressiert und zu einem SteuerSpeicherregister 37 übertragen,
von dem die einzelnen Felder der Mikrobefehlsworte zu den Komponenten der Zentraleinheit 10 zur Steuerung deren Operationen geleitet
werden. Jeder der lokalen Prozessoren 17, 18, 19 und 27
909810/0956
wird durch ein einziges Feld in dem Steuerspeicher 36 gesteuert.
Diese Felder steuern nicht nur die durch sie auszuführenden arithmetischen und logischen Funktionen, wie z.B. Addieren,
logisches ODER etc., sondern auch, ob die Operanden der aktuelle
Wert auf der B-Sammelschiene 22, ein Wort von dem zugeordneten
lokalen Speicher 24, 25 oder 26, dem internen Akkumulator in dem lokalen Prozessor, oder eine Kombination aus zwei dieser Operandenquellen
sind, oder nicht. Die Steuerspeicherfelder steuern ebenfalls, ob die Inhalte des Akkumulators des lokalen Prozessors
auf die D-Sammelschiene 23 ausgegeben werden sollen oder nicht, und ob der Wert auf der D-Sammelschiene 23 in einen ausgewählten
lokalen Speicher geschrieben werden soll. Eine der Adressquellen zum Lesen und Schreiben des lokalen Speichers ist
durch die Felder in dem Steuerspeicher 36 vorgesehen.
Der Steuerspeicher 36 sieht ebenfalls Felder zum Gebrauch durch
jeden der lokalen Prozessoren 17, 18, 19 und 27 vor, um die bedingte Verwendung weiterer Felder zu steuern und um Kennzeichen
Bits (sogenannte flag-Bits) in Abhängigkeit von bestimmten Bedingungen zu setzen, die den Wert der errechneten logischen
Funktionen von ausgewählten logischen Variablen wie z.B. Vorzeichen Bits, Null-Erfassungs-Bits, anderen flag-Bits oder ähnlichem
anzeigen. Die Details der bedingten Steuerung der Zentraleinheit 10 werden weiter unten erläutert. Die Felder von dem
Steuerspeicher 36, die einzig für jeden der lokalen Prozessoren
17, 18,19 und 27 vorgesehen sind, werden der verständlicheren Terminologie wegen als lokale Steuerfelder bezeichnet. Jeder der
lokalen Prozessoren 17, 18, 19 und 27 benötigt ungefähr 50 Bits in dem Steuerspeicher 36, um deren lokale Steuerfelder vorzusehen»
Zusätzlich zu den lokalen Steuerfeldern sehen die in dem Steuerspeicher
36 gespeicherten Mikrobefehlsworte Felder vor, die zur Gesamtsteuerung der Zentraleinheit 10 verwendet werden« Diese
Felder werden der verständlicheren Terminologie wegen als globale Steuerfelder bezeichnet. Die globalen Steuerfelder steuern
solche Funktionen wie die Bereitstellung der Adressen des nach-*-
sten abzurufenden Mikrobefehles und ebenso die Bereitstellung
909810/0958
von Feldern zur Steuerung der bedingten Auswahl der nächsten Adresse, das Bereitstellen von Adressen zum Lesen und Schreiben
für den Mehrzweckregisterstapel 32, zum Steuern der Quelle des Wertes auf der B-Sammelschiene 22, zum Steuern der Verschiebeeinrichtung
35, zum bedingten Steuern der Bestimmung bzw. Zuordnung der errechneten Werte und zum Steuern der weiter unten
beschriebenen Entscheidungslogik. Der Steuerspeicher 36 benötigt über 100 Bits für die globalen Steuerfelder.
Folglich enthält ein Wort des Steuerspeichers 36 die zur Steuerung
jedes der lokalen Prozessoren 17, 18, 19 und 27 benötigten
Felder und zusätzlich die globalen Steuerfelder. Da jeder der
lokalen Prozessoren 17, 18, 19 und 27 mit einer einzigen Steuerinformation von dem Steuerspeicher 36, zu dem er konkurrierenden
Zugang mit den anderen lokalen Prozessoren hat, gesteuert wird und da die globalen Steuerfelder gleichzeitig für die Zentraleinheit
10 bereitgestellt werden, führt jeder der lokalen Prozessoren 17, 18, 19 und 27 simultan bzw. konkurrierend mit den
anderen lokalen Prozessoren und mit den globalen Funktionen der Zentraleinheit 10 eine Mikrooperation aus. Folglich führt die
Zentraleinheit 10 mehrfache Mikrobefehlsfolgen konkurrierend und gleichzeitig miteinander aus» Dieses nachfolgend detaillierter
beschriebene Konzept ist die Quintessenz des neuen Aufbaues der Zentraleinheit 10, bei der mehrfach-lokale ("Mikro")-Prozessoren
konkurrierend im Auftrag eines einzigen Makrobefehles (in dem Makrobefehlsregister 13) arbeiten, um eine wesentlich
vergrösserte Geschwindigkeit unerwarteter Grosse im Vergleich mit
der Geschwindigkeit„ mit der ein Makrobefehl mit einem einzigen
lokalen ("Mikro")-Prosessor ausgeführt würde, zu erzielen» Mit
einem einzigen lokalen Prozessor waren Geschwindigkeiten von ungefähr 200 000 Makrobefehlen pro Sekunde (0,2 MIPS) zu erreichen,
während mit dem neuen Aufbau der Zentraleinheit 10 unter Verwendung der vier lokalen Prozessoren 17, 18, 19 und 27 bis zn 1,5
MIPS (1 500 000 Makrobefehle pro Sekunde) zu erreichen sind«
Es sei darauf hingewiesen, dass, obwohl der Steuerspeicher 36 lokale
Steuerfelder für jeden der lokalen Prozessoren 17, 18, 19
und 27 vorsieht, jeder lokale Prozessor durch Informationen gesteuert werden könnte, die von seinem eigenen Steuerspeicher mit
seinen eigenen Adressierungseinrichtungen bereitgestellt werden. Allerdings könnte mit dieser Anordnung die koordinierte Betriebsweise
der Zentraleinheit 10 schwieriger zu erhalten sein, als bei der vorliegenden Anordnung, die den Steuerspeicher 36 verwendet.
Der Steuerspeicher 36 ist vorzugsweise als Direktzugriffsspeicher (RAM) ausgeführt, kann jedoch alternativ auch als
programmierbarer Nurlesespeicher (PROM) ausgeführt sein.
Der Steuerspeicher 36 enthält die Mikrobefehlsroutinen zum Emulieren
der Makrobefehle des ÜNIVAC-Rechners 1108, die in das
Makrobefehlsregister 13 abgerufen werden. Zum Zwecke der effizienten Mikroprogrammierung wird das Befehlsrepertoire des
ÜNIVAC-Rechners 1108 so verstanden, dass es aus Befehlen, die in
Klassenbasen gruppiert sind, besteht. Die verschiedenen verwendeten Klassenbasen sind:
Rufe einzelnen Operanden direkt ab (Fetch Single Operand Direct); Rufe einzelnen Operanden indirekt ab (Fetch Single Operand
Indirect) ·
Rufe einzeknen Operanden sofort ab (Fetch Single Operand immediate)
;
Springe grosser und dekrementierE(Jump Greater and Decrement);
Unbedingte Verzweigung (Unconditional Branch)· Speichern (Store);
überspringen (Skip); und
überspringen (Skip); und
Bedingte Verzweigung und Verschieben (Conditional Branch and Shift).
Im folgenden sei momentan auf Fig. 3 Bezug genommen, in der die Struktur der bei der Emulierung verwendeten Micro Software dargestellt
ist. Unabhängig von dem auszuführenden Makrobefehl ruft die Steuerung ein Mikrobefehlswort, das allen Routinen gemeinsam
ist, ab. Dies ist in der ersten Ebene des Strukturbildes der Fig. 3 dargestellt. In Übereinstimmung mit dem Makrooperationscode
(Felder f und j des in dem Register 13 gespeicherten Makrobefehlswortes) wird ein Sprung zu einer entsprechenden Klassen-
909810/0956
2837552
basismikroroutine vorgenommen, was durch die zweite Ebene des Strukturbildes der Fig. 3 gezeigt ist. Nachdem die Klassenbasisroutine
ausgeführt wurde, wird ein Sprung zu der spezifischen Mikroroutine für den einzelnen Makrobefehl durchgeführt, der wiederum
durch die Makrooperationscodefeider f, j des Makrobefehlsregisters 13 gesteuert wird. Die spezifischen Befehlsroutinen
sind in der dritten Ebene des Mikro-Software-Strukturbildes der Fig. 3 dargestellt. Wie in Fig. 3 dargestellt, geht die Steuerung
nach Ausführung der einzelnen Befehlsroutine zu dem Ort des Mikrobefehles "gemeinsam" zurück. In ähnlicher Weise, wenn
der nächste Makrobefehl noch nicht abgerufen wurde, geht die Routine nach Ausführung des Mikrobefehles "gemeinsam" in einer
Schleife zu "gemeinsam11 zurück, wie dargestellt, bis das Makrobefehlswort
bereit ist.
Zurück zu Fig. 2. Die Zentraleinheit 10 enthält eine Befehlszustandstabelle
38, die durch einen Nur-Lese-Speicher ausgeführt ist, um über einen Multiplexer 39 Befehlszustandsworte zu liefern,
um den Steuerspeicher 36 in Übereinstimmung mit dem Makrooperationscode
des auszuführenden Makrobefehles zu adressieren. Dementsprechend wird die Befehlszustandstabelle 38 von den f und
j Operationscodefeldern des Makrobefehlsregisters adressiert, dessen Makrooperationscodeinformation ebenfalls direkt über den
Multiplexer 39 zur Adressierung des Steuerspeichers 36 angelegt wird. Die Befehlszustandstabelle 38 ist 256 Worte lang und 10
Bits breit und liefert Adressinformation an den Steuerspeicher 36 über den Multiplexer 39 im Hinblick auf die Klassenbasis des
Makrobefehles. Die Befehlszustandstabelle 38 stellt weiterhin Signale für den lokalen Speicher 28 des lokalen Prozessors 27
bereit, um die richtige Basisadressen zum Lesen und Schreiben des Mehrzweckregisterstapels 32 zu liefern. Der Steuerspeicher 36
liefert ein Eingangssignal zu dem Multiplexer 39, um die Adresse des nächsten abzurufenden Mikrobefehles bereitzustellen, in Übereinstimmung
mit den Adressdaten, die von dem aktuellen Mikrobefehl bereitgestellt werden. Weitere Einzelheiten der Adressierung
des SteuerSpeichers 36 werden weiter unten beschrieben.
909810/0956
" 49 " 2837652
Die Zentraleinheit 10 enthält weiterhin eine Entscheidungslqgik
40, die 12 Entscheidungspunkte, die als DPO bis DP11 bezeichnet
sind, vorsieht. In einer weiter unten zu beschreibenden Art und Weise, liefert die Entscheidungslogik 40 die Entscheidungspunktsignale
in Übereinstimmung mit ausgewählten logischen Punktionen
aus ausgewählten Variablen. Die Entscheidungspunktsignale DPO bis DP11 liefern die überall in der Zentraleinheit 10 benötigte Entscheidungssteuerung.
Zusätzlich enthält die Zentraleinheit 10 Steuerschaltkreise 41, die die benötigten Steuersignale für die
verschiedenen Komponenten des Rechners liefern. Wie weiter unten
beschrieben werden wird, enthalten die Steuerschaltkreise 41 eine Tabelle für verschobene Einsatzsteuerung (deferred action control
table) sowie verschiedene Flags und weiter unten beschriebene Parameterverriegelungen.
Fig. 4 zeigt das Format der in dem Steuerspeicher 36 gespeicherten
Mikrobefehlsworte. Jedes Mikrobefehlswort enthält globale
Steuerfelder zur Gesamtsteuerung der Zentraleinheit 10. Die Anzahl der Bits in jedem Feld ist über dem Acronym für das Feld
angegeben. Zusätzlich enthält das Mikrobefehlswort drei Gruppen lokaler Steuerfelder für die drei lokalen Prozessoren 17, 18 und
19, die als P1, P2 bzw. P3 bezeichnet sind. Das Mikrobefehlswort enthält weiterhin eine Gruppe lokaler Steuerfelder zur Steuerung
des als P4 bezeichneten lokalen Prozessors 27» Der Steuerspeicher
36 liefert die Mikrobefehlsworte zu dem Steuerregister 37, von dem die Bits der verschiedenen Felder mit den Komponenten der
Zentraleinheit 10 in einer weiter unten detailliert beschriebenen Art und Weise verbunden werden.
Generell steuern die Steuerspeicherfeider die Komponenten der
Zentraleinheit 10 wie folgt:
JDS (JUMP DECISION SELECTOR) - Sprung-Entscheidunqs-Auswahl
Das JDS-FeId ordnet einen logischen Funktionsrechner (LFCi. logic
function computer) in der Entscheidungslogik 40 dem Entscheidungspunkt 0 (DPO) zu, der die nächste Mikrobefehlsadresse bestimmt. ·
909810/0956
NAT1, NAF (NEXT ADDRESS, TRUE, FALSE) - Nächste Adresse, richtig,
falsch
Diese Felder enthalten mögliche Adressen für den nächsten Mikrobefehl.
Die NAT-Adresse (nächste Adresse richtig) kann durch Vektoren in einer noch zu erläuternden Weise modifiziert werden
oder durch die globalen Steuerfelder VDSO und VDS1 (siehe unten).
Die Adresse NAT wird ausgewählt, wenn der Entscheidungspunkt 0 richtig ist und die Adresse NAF wird ausgewählt, wenn der Entscheidungspunkt
0 falsch ist.
XF (INDEX FUNCTION)- Indexfunktion
Das XF-FeId steuert den Vektorsprung, wenn die Adresse NAT durch
den Entscheidungspunkt 0 ausgewählt wurde. Die Beziehung zwischen dem Feld XF und dem Ausgang des Entscheidungspunktes 0 ist in der
nachfolgenden Tabelle 1 dargestellt.
VDSO (VECTOR DECISION SELECTOR 0) - Vektor-Entscheidunqsauswahl 0
Das VDSO-FeId ordnet einen Logikfunktionsrechner /Γη der Entscheidungslogik
40 dem Entscheidungspunkt 1 zu. Der Entscheidungspunkt 1 wird mit dem '.
ODER-verknüpft.
ODER-verknüpft.
1 wird mit dem letzten signifikanten Bit (2 ) der NAT-Adresse
VDS1 (VECTOR DECISION SELECTOR 1) - Vektor-Entscheidungsauswahl 1
Das VDSI-FeId ordnet einen LFC der Entscheidungslogik 40 dem Ent»
scheidungspunkt 2 zu. Der Entscheidungspunkt 2 wird mit dem vorletzten
signifikanten Bit (21) der NAT-Adresse ODER-verknüpft.
Mikrobefehlsabrufung
XF DPO Nächste Steuerspeieheradresse
XF DPO Nächste Steuerspeieheradresse
NAF
NAT
NAT ODER-verknüpft mit dem Klassenbasisvektor
NAT ODER-verknüpft mit dem Befehlsvektor
NAT ODER-verknüpft mit dem Unterbrechungsvektor
Wie oben im Zusammenhang mit FIg0 2 erläutert, wird der Klassen-
10/
XK | 0 |
00 | 1 |
01 | 1 |
10 | 1 |
11 | 1 |
basisvektor durch den auszuführenden Makrobefehl bestimmt und wird in Abhängigkeit von den Operationscodefeldern f und j in dem
Makrobefehlsregister 13 durch die Befehlszustandstabelle 38 bereitgestellt. Sein Wert hängt von der Klasse des Makrobefehles
ab. Der Befehlsvektor wird direkt durch die Operationscodefeider
f und j von dem Makrobefehlsregister 13 geliefert. Der Befehlsvektor bezeichnet die auszuführende präzise Aktion. Der Unterbrechungsvektor
wird in herkömmlicher Weise durch einen nicht-dargestellten Schaltkreis geliefert, der ünterbrechungsanforderungen
erfasst, wobei der Wert des Vektors von der Art der Unterbrechung abhängt. Es sei darauf hingewiesen, dass die Entscheidungspunkte
1 und 2 die Möglichkeit einer bedingten Vier-Wege-Vektor-Verzweigung
aufgrund jeglichen tatsächlichen Sprunges steuern, zusätzlich zu der Möglichkeit der durch das XF-FeId gesteuerten Vektorverzweigung.
Die in Tabelle 1 aufgeführten ODER-Funktionen werden in dem Multiplexer 39 in einer noch zu beschreibenden Weise durchgeführt.
BR (B-BUS INPUT SELECTION) - B-Sammelschieneneingangsauswahl
Das BR-FeId wählt aus, welche von zwei Quellen die Auswahldaten für den B-Sammelschieneneingangsmultiplexer 34 liefert. Die zwei
möglichen Quellen sind ein Hardware-2-Bit-Register (BRG genannt)
oder das Mikrobefehlsfeld BIS.
BIS (B-INPUT SELECT) - B-Eingangsauswahl
Das BIS-FeId wählt einen Dateneingang für den B-Sammelschieneneingangsmultiplexer
34 aus.
SFT (SHIFT CONTROL SOURCE) - Verschiebungssteuerungsquelle
Das SFT-FeId bestimmt die Datenquelle zur Steuerung der Verschiebeeinrichtung
35. Die Beziehung zwischen den Feldern BR, BIS und SFT gehorcht im Hinblick auf die Quelle der Daten, die an die B-Sammelschiene
32 angelegt werden, der nachfolgenden Tabelle 2.
909810/0956
0 | O | 1 | O |
O | O | 1 | 1 |
O | 1 | O | O |
O | 1 | O | 1 |
O | 1 | 1 | O |
Verschiebeeinrichtungssfceuerung und Eingangsauswahl
SFT BRG oder BIS Tätigkeit
0 0 0 0 MDRR -> B-Sammelschiene, kein Verschieben
0 0 0 1 D-Sammelschiene -£ B-Sammelschiene,
kein Verschieben
D. ·* B-Sammelschiene, kein Verschieben
GRS τ» B-Sammelschiene, kein Verschieben
MDDR ■* B-Sammelschiene, Schieben durch SCR D-Sammelschiene ■*■ B-Sammelschiene,
Verschieben durch SCR
D. ^ B-Sammelschiene, Verschieben durch SCR
0 1 11 GRS -^ B-Sammelschiene, Verschieben durch
SCR
10 0 0 MDRR ^ B-Sammelschiene, Schieben durch
j-Feld
10 11 GRS ·>
B-Sammelschiene, Schieben durch
j-Feld
11 0 0 u* ^ B-Sammelschiene
11 0 1 GRS ^ B-Sammelschiene
wobei der Ausdruck MDRR das Register 16 und der Ausdruck GRS den
Mehrzweckregisterstapel 32 der Fig. 2 bezeichnen. Das SCR (Shift
Control Register) ist ein Hardware-Register, das einen zur Steuerung
der Verschiebeeinrichtung verwendeten Wert enthält. In noch zu beschreibender Weise wählt das BR-FeId zwischen BRG und BIS
aus, um die B-Sammelschieneneingangsauswahl zu steuern. BRG ist
ein Signal, das später im Zusammenhang mit der Steuerung der verschobenen Tätigkeit (deferred action control) beschrieben wird.
Die Grossen u und GRS sind spezielle Eingänge zu der Verschiebeeinrichtung
35, die die u-Felddaten von dem Makrobefehlsregister
13 und die Daten von dem Mehrzweckregisterstapel 32 für die Adresserrechnungsarithmetik bei der 2 χ 20-Betriebswelse der lokalen
Prozessoren 17, 18 und 19 ausrichtet.
909810/0956
GRA (GRS READ ADDRESS SOURCE) - GRS Leseadressquelle
Das GRA-FeId bestimmt die Adressquelle für den Mehrzweckregisterstapel 32 beim Lesen.
Das GRA-FeId bestimmt die Adressquelle für den Mehrzweckregisterstapel 32 beim Lesen.
GWA (GRS WRITE ADDRESS SOURCE) - GRS Schreibadressquelle
Das GWA-FeId bestimmt die Adressquelle des Mehrzweckregisterstapels 32 beim Schreiben. Die folgende Tabelle 3 zeigt die Steuerfeldcodierung für diese Adressquellen»
Das GWA-FeId bestimmt die Adressquelle des Mehrzweckregisterstapels 32 beim Schreiben. Die folgende Tabelle 3 zeigt die Steuerfeldcodierung für diese Adressquellen»
Tabelle 3
GRS Adressquellensteuerung
GRS Adressquellensteuerung
GRA | Quelle der GRS-Adresse | 7 33 | |
oder | x-Feld des Mikrobefehlsregisters 13 | ||
GWA | RAR1 | (DEFERRED ACTION DECISION SELECTION) - Entscheidungsauswahl | |
00 | RAR2 | aufgeschobenen Einsatzes | |
01 | RAR3 | ||
10 | |||
11 | |||
DADS | |||
des | |||
Das DADS-FeId ordnet einen Logikfunktionsrechner der Entscheidungslogik
40 dem Entscheidungspunkt 11 zu, der zur Auswahl entweder der DACT oder der DACF Adresse der Steuerungstabelle des
aufgeschobenen Einsatzes, die in den Steuerschaltkreisen 41 enthalten ist, auswählt. Wenn der Entscheidungspunkt 11 richtig
(wahr) ist, wird das DACT-FeId als Adresse der Steuerungstabelle des aufgeschobenen Einsatzes ausgewählt und wenn er falsch (unwahr) ist, wird DACF ausgewählt.
aufgeschobenen Einsatzes, die in den Steuerschaltkreisen 41 enthalten ist, auswählt. Wenn der Entscheidungspunkt 11 richtig
(wahr) ist, wird das DACT-FeId als Adresse der Steuerungstabelle des aufgeschobenen Einsatzes ausgewählt und wenn er falsch (unwahr) ist, wird DACF ausgewählt.
PACT, DACF (DEFERRED ACTION CONTROL (TRUE, FALSE) - Steuerung
des aufgeschobenen Einsatzes (wahr,unwahr)
Diese globalen Steuerspeicherfelder liefern Adressen zu der
Steuerungstabelle des aufgeschobenen Einsatzes, wobei dessen
adressierter. Ausgang die aufgeschobene Weiterleitung von Daten und anderer aufgeschobener Aktionen steuert. Eine oder die andere dieser Adressen wird in Übereinstimmung mit dem Wert der aus-
Steuerungstabelle des aufgeschobenen Einsatzes, wobei dessen
adressierter. Ausgang die aufgeschobene Weiterleitung von Daten und anderer aufgeschobener Aktionen steuert. Eine oder die andere dieser Adressen wird in Übereinstimmung mit dem Wert der aus-
909810/0956
gewählten logischen Funktion (wahr oder nicht-wahr) von dem DADS-FeId
ausgewählt. Einzelheiten der Steuerung des aufgeschobenen Einsatzes der Zentraleinheit 10 werden weiter unten erläutert.
SVO - SV5 (STATIC VARIABLE SELECTION FIELDS (0-5) - Auswahlfelder
0-5 für statische Variable
Jedes der SVO - SV5-Felder wählt eine von 16 möglichen statischen
Steuervariablen als einen der Eingänge für zwei verschiedene Logikfunktionsrechner in einer weiter unten zu beschreibenden
Art und Weise hinsichtlich der Entscheidungssteuerlogik 40 aus. Folglich können durch jeden Mikrobefehl 6 statische Steuervariablen
ausgewählt werden.
DVO - DV5 (DYNAMIC VARIABLE SELECTION FIELDS (0-5) - Auswahlfelder
0-5 für dynamische Variable
Jedes der DVO - DV5-Felder wählt eine von 24 möglichen dynamischen
Steuervariablen als einen der Eingänge für zwei verschiedene Logikfunktionsrechner, die weiter unten beschrieben werden,
aus. Folglich können durch jeden Mikrobefehl 6 dynamische Steuervariable ausgewählt werden» Die in der Zentraleinheit 10 verwendeten
statischen und dynamischen Steuervariablen sind in der nachfolgenden Tabelle 4 aufgeführt, wobei die dort angegebenen
Variablen weiter unten erläutert werden.
Tabelle 4 Entscheidungs-Steuer-Variable
Statisch
Dynamisch (müssen durch gesetzt werden)
Kurzbezeichn.
Erläuterung
Kurzbezeichn.
Erläuterung
SC0-SC7
i
h
h
BRKPT
Setzbare Steuervariable
Ausgewählt durch das SCS-FeId in der lokalen
Steuerung und in Bedingung gesetzt aufgrund der DDS-Felder in der lokalen Steuerung
PSR übertragungsbezeichner
überlaufbezeichner
Geschützter Betrieb & Speichersicherung
Nur-Schreib-Speichersicherung
doppelte Genauigkeits-Bereichsun- terschreitung
Basisregister-Unterdrückung
Gleitkomma Kompatibilität
Indirektes Bit vom Makrobefehl
Inkrementierungs-Indexbit
vom Makrobefehl
1 wenn x-Feld = 000, 0 ansonsten
Programmunterbrechung ORDY
Unterbrechung IRDY
Vorzeichenbereich
D7 · i
D2 + (D2 · D3) « D2 +D2
jο (Bit niedriger Ordnung des j-Feldes)
SP1R SP1L SP2R SP2L SP3R SP 3L
SP1
SP2
SP 3
SP4
P1ZD
P2ZD
P3ZD
P4ZD Sign P1 rechte Hälfte, 2 χ 20
11 Ρ1 linke Hälfte, 2 χ 20
11 Ρ2 rechte Hälfte, 2 χ 20
Ρ2 linke Hälfte, 2 χ 20
" Ρ3 rechte Hälfte, 2 χ 20
" Ρ3 linke Hälfte, 2 χ 20
Ρ1, 36 Bit
η Ρ2, 36 Bit
Ρ3, 36 Bit
Ρ1 Null Erfassung,36 Bit
P2 η ι.
Ρ3 "
P4 - ··
η η ■ι η
Il Il
Operand bereit Befehl bereit
Anmerkung:
SE*(XH1VXH2VT1VT2VT3)
909810/0956
Statisch
Dynamisch (müssen durch 67 gesetzt werden)
Kurzbe- | Erläuterung | Kurzbe- | Erläuterung | Bereich linke Hälfte |
zeichn. | zeichn. | Programmkurzbezeichnungen | rechte " | |
OARBZY | OAR BELEGT (geladen | XH1 | Linkes Drittel | |
aber nicht abge | XH2 | Mittleres Drittel | ||
rufen) | Tt | Rechtes Drittel | ||
T.2 | Vorζeichenumkehr | |||
T3 | ||||
IVS |
LFCO - LFC5 (LOGICAL FUNCTION COMPUTER CONTROL FIELDS (0-5) -Steuerfelder (0-5) des logischen Funktionsrechners
Die Entscheidungslogik 40 enthält sechs Logikfunktionsrechner, von denen jeder 16 verschiedene Funktionen von vier Variablen
(2 dynamische und 2 statische) errechnen kann. Jedes der LFC-Felder wählt eine der 16 von dem zugeordneten Logikfunktionsrechner
zu berechnenden Funktionen aus.
PDS (PHANTOM BRANCH DECISION SELECTOR) - Phantomverzweigungsentscheidungsauswahl
Das PDS-Lokal-Steuerfeld für jeden der lokalen Prozessoren P1,
P2, P3 und P4 ordnet einen Logikfunktionsrechner in der Entscheidungslogik
40 den entsprechenden Phantomverzweigungsentscheidungspunkten DP3 - DP6 zu. Ist der Wert des Entscheidungspunktes wahr,
so wird das zugeordnete LPFT-FeId verwendet, andernfalls wird das LPFF-FeId benutzt.
LPFT1 LPFF (LOCAL PROCESSOR FUNCTION SPECIFICATION FIELDS (TRUE
OR FALSE) - Speziflkationsfelder der Funktion des lokalen Prozessors (wahr oder nicht wahr)
Die LPFT- und LPFF-Felder liefern die FunktionsSteuersignale für
äen lokalen Prozessor 17p 18 β 19 und 27. Während der Ausführung
eines Mikrobefehles j» der durch den Wert der durch das PDS=FeId
spezifizierten logischen Funktion bestimmt wird, wird nur eines
der beiden Felder für jeden Prozessor verwendet.
Die PBS-* LPFT- und LPFF-Felder geben^der Zentraleinheit IQ die
Möglichkeit zur Thantomverzweigung, wobei jeder der lokalen Prozessoren
17-, ISj 19 und 27 «ine der Funktionen ausführen Tcann,
-die durch die LPFT- und LPFF-Felder, die durch den zugeordneten
Entscheidungspunkt ausgewählt werden* spezifiziert sind, wobei der Entscheidungspunkt das Ergebnis einer von dem PDS-Feld ausgewählten
logischen Funktionsberechnung liefert. Die Fähigkeit
zur bedingten Thantomverzweigung besteht zusätzlich zur Fähigkeit der realen Verzweigung, die durch die oben erläuterten JDS-,
NAT- und NÄF-Felder vorgesehen ist. Die Fähigkeiten zur realen
und zur Phantomverzweigung der Zentraleinheit 10 wird welter unten detaillierter erläutert.
LMAS (LOCAL MEMORY ADDRESS SOURCE) - Adressquelle des lokalen
Speichers
Das den entsprechenden lokalen Prozessoren P1, P2, .P3 und P4
zugeordnete LMAS-FeId wählt die Adressen zum Lesen und Schreiben
der den lokalen Prozessoren zugeordneten Speicher 24, 25>
26 oder 28 aus. Die folgende Tabelle 5 führt die spezifische Codierung
des LMAS-Feldes auf, die den Adressquellen für die lokalen
Prozessoren 17, 18 und 19 zugeordnet ist.
Tabelle 5
Adressquelle des lokalen Speichers
Adressquelle des lokalen Speichers
für P1, P2, P3
LMAS Adressquelle
LMAS Adressquelle
00 LMA-FeId vom Steuarspeicher
01 LMAR (Local Memory Address Register)
Adressregister des lokalen Speichers 10 Verschiebungs/Masken-Speicher
wobei der LMAR- und der Verschiebungs/Masken-Speicher weiter unten
erläutert werden. Die folgende Tabelle 6 gibt die LMAS-Codierung
für den lokalen Prozessor 27 an.
909810/0956
-5B-
-Tabelle 6
Adressquelle des lokalen Speichers
Adressquelle des lokalen Speichers
für P4
LMAS Adressquelle
LMAS Adressquelle
0 -LMA-PeId -vom Steuerspeicher
1 06 verkettet mit GB-FeId von IST
wobei D6 der Steuerregisterauswahlindikator des ÜNIVAC-Rechners
1108 (Bit 33) des Prozessorzustandsregisters ist und dazu verwendet
wird, zu spezifizieren, welches der X, A oder ^-Register verwendet werden soll. Das GB-FeId der Beiehlszustandstabelle
(IST) 38 gibt die GRS-Basisadresse an, die die richtige Basisadresse zum Lesen und Schreiben des Mehrzweckregisterstapels
(GRS) 32 in einer noch zu beschreibenden Weise anzeigt.
LMA (LOCAL MEMORY ADDRESS) - Adresse des lokalen Speichers Das LMA-FeId für j-eden der lokalen Prozessoren P1, P2f P3 und
P4 enthält eine von möglichen Adressen, die durch das LMA-FeId zum Lesen oder Schreiben des Speichers des lokalen Prozessors
ausgewählt werden kann.
CC (CONFIGURATION CONTROL) - Ausbaustufensteuerung Das CC-FeId für die lokalen Prozessoren P1, P2 und P3 wählt
die arithmetische Ausbaustufe (configuration) der Prozessoren in Übereinstimmung damit aus, ob der Prozessor in der 2 χ 20
oder der 36-Bit (tsb)-Betriebsweise mit oder ohne Endübertragung (eac) (übertrag des Überlaufs in die niedere Stelle) arbeiten
wird. Die Steuerungscodierung der arithmetischen Ausbaustufe für das CC-FeId ist in der folgenden Tabelle 7 aufgelistet.
909810/0956
Tabelle 7
Ausbaustufensteuerung
Ausbaustufensteuerung
ec | Ausbaustufe | χ 2O eac |
OO | 2 | χ 20 eac |
01 | 2 | |
to | 36 | Verschiebungsende |
11 | 36 |
(C_N = mbs des P auf der rechten
Seitef
wobei Einzelheiten der verschiedenen arithmetischen Aufbaustufen weiter unten erläutert werden.
PDS (D-BüS DECISION SELECTOR) - D-Sämmelschienenentscheidungsselektor
Jeder der lokalen Prozessoren P1, P2f P3 und P4 besitzt ein zugeordnetes
DDS-FeId/ das einen logischen Funktionsrechner in der
Entscheidungslogik 40 den entsprechenden D-Sammelschienen-Entscheidungspunkten
DP7-DP10 zuordnet. Der Wert der ausgewählten logischen Funktion wird in Verbindung mit dem OUT-FeId verwendet,
um den Inhalt des Akkumulators in dem zugeordneten Prozessor für die Prozessoren 17, 18 und 19 auf die zugeordnete D-Sammelschiene
zu plazieren (die D-Sammelschiene 23 für die Prozessoren 17, 18
und 19). Der Wert der ausgewählten logischen Funktion wird ebenfalls für die Prozessoren 17, 18, 19 und 27 verwendet, in Verbindung
mit den WLM- und WLMA-Feldern zum bedingten Schreiben in den
zugeordneten lokalen Speicher und in Verbindung mit dem SCS-FeId zum bedingten Setzen der setzbaren statischen Steuervariablen
SCO-SC7.
OUT (ACCUMULATOR OUTPUT CONTROL) - Akkumulator-Ausgangssteuerung
Das OUT-FeId für die Prozessoren P1, P2 und P3 gibt den Prozessor-Akkumulator
auf die D-Sammelschiene 23 in Abhängigkeit von dem Wert des zugeordneten Entscheidungspunktes (DP) wie durch die
DDS-Auswahl, die in der folgenden Tabelle dargestellt ist„ bestimmt
wird.
909810/0956
Akkumulator-Ausgangs steuerung DP OUT Ausführung
χ 00 kein Ausgang auf die D-Sammelschiene
0 01 kein Ausgang
1 01 Akkumulator -£ D-Sammelschiene
0 10 Akkumulator ■} D-Sammel schiene
1 10 kein Ausgang
X 11 Akkumulator -} D-Sammelschiene
BBS (B4 BUS INPUT SELECTION) - B4-Sammelschienen-Eingangsauswahl
Das dem lokalen Prozessor P4 zugeordnete BBS-FeId wählt die Quelle der Werte aus, die auf die B4-Sammelschiene 29 in Übereinstimmung
mit der nachfolgenden Tabelle 9 plaziert werden, aus.
Tabelle 9 GRS Basisadresse GB (BASE TO BE USED) Zu verwendende Basis
00 A-Register
01 X-Register
10 R-Register
11 jlia, JtJ7J1 verkettet mit dem a-Feld
wenn BDS = ο setze jl'a auf B. und lies
die Basis von 18 0's aus dem lokalen Speicher von V.,
wenn BBS = 1 setze IAR auf B..
Die Eingänge zu Tabelle 9 werden weiter unten im Zusammenhang mit
der detaillierteren Erläuterung des P4-lokalen Prozessors 27 erläutert.
WLM (WRITE LOCAL MEMORY) - Lokalen Speiche/Schreiben
Das jedem lokalen Prozessor P1, P2, P3 und P4 zugeordnete WLM-FeId
steuert das Schreiben des zugeordneten lokalen Speichers 24, 25, 26 und 28 in Bedingung von dem Wert des entsprechenden
zugeordneten Entscheidungspunktes DP7 bis DP10, was durch das zugeordnete DDS-FeId in Übereinstimmung mit der folgenden Tabelle
10 bestimmt wird.
909810/0956
DP | WLM |
X | OO |
O | 01 |
1 | 01 |
O | 10 |
1 | 10 |
X | 11 |
Steuerung des Schreibens des lokalen Speichers Ausführung
nicht Schreiben des lokalen Speiehers nicht Schreiben
D-Sammelschiene ? lokaler Speicher (LM)
D-Sammelschiene ·* lokaler Speicher (LM)
nicht Schreiben
D-Sammelschiene -^ lokaler Speicher (LM)
D-Sammelschiene -^ lokaler Speicher (LM)
Die Daten für die Prozessoren P1, P2 und P3 v/erden von der D-Sammelschiene
23 genommen und die Adresse für das Schreiben wird von dem zugeordneten LMAS-FeId ausgewählt. Die Daten für den Prozessor
P4 werden von der D4-Sammelschiene 30 genommen und die Adresse zum Schreiben wird von dem zugeordneten LMAS-FeId ausgewählt.
WLMA (WRITE LOCAL MEMORY ADDRESS) - Schreibe die Adresse des lokalen Speichers
Das WLMA-FeId, das ausschliesslich dem P4-Prozessor 27 zugeordnet
ist, gibt die Adresse zum Schreiben in den mit diesem Prozessor zugeordneten Speicher 28 an. Die Anwendung und Verbindung des
V1JLMA-lokalen Steuerfeldes wird weiter unten in Verbindung mit dem
lokalen Prozessor 27 und dem zugeordneten lokalen Speicher 28 erläutert.
SCS (STATIC CONTROL VARIABLE SELECTOR) - Selektor der
statischen Steuervariablen
Das SCS-FeId für jeden lokalen Prozessor P1, P2, P3 und P4 wählt
eine der sieben setzbaren statischen Steuervariablen (SC1-SC7) zum Setzen aus, was durch den Wert des zugeordneten Entscheidungspunktes DP7-DP10, der durch die DDS-Auswahl bestimmt wird, bedingt
ist. Wenn der Wert des Entscheidungspunktes wahr ist, so wird die
statische Variable auf logisch EINS gesetztr andernfalls wird er
auf logisch NULL zurückgesetzt. Wenn keine statische Steuervariable zu verändern ist, wird SCO ausgewählt (SCS "= 00O) . Die
Werte für die statischen Steuervariablen SC1-SC7 werden in sieben
903810/0056
Verriegelungen der statischen Steuervariablen in den Steuerschaltkreisen
41 gespeichert, was nachfolgend zu beschreiben sein wird.
Im folgenden wird auf Fig. 5 Bezug genommen, bei der gleiche Bezugszeichen
auf gleiche Bauteile im Hinblick auf Fig. 2 hinweisen. Fig. 5 zeigt ein schematisches Blockschaltbild der Zentraleinheit
10 unter Darstellung weiterer Einzelheiten. Wie oben im Zusammenhang mit Fig. 2 erläutert, enthält der Speicher des UNIVAC-Rechners
1108 zwei Speichermodule oder -bänke, die als I-Bank und D-Bank
bezeichnet wurden. Diese Speichermodule können auch als MO und M1 bezeichnet werden, wobei Daten oder Befehle die von
diesen Modulen in Abhängigkeit von Anforderungssignalen R„ bzw.
R.. geliefert werden, als DQ bzw. D1 bezeichnet werden. Das Befehlsadressregister
12 empfängt eine 18-Bit-Speicheradresse entweder
von dem Progranunregister 31 oder von den Bits 21-38 von der
40-Bitweiten D-Sammelschiene 23. Die Adresse von dem Befehlsadressregister 12 wird zu dem Speichermodul M1 durch einen Multiplexer
50 hindurch oder zu dem Speichermodul MO durch einen Multiplexer 51 hindurch geliefert.
Das Operandenadressregister 14 erhält die 18-Bit-Operandenadressen
von den Bits 21 bis 38 der D-Sammelschiene 23 und liefert die Operandenadresse zu dem Speichermodul MO durch den Multiplexer 51
hindurch oder zu dem Speichermodul M1 durch den Multiplexer 50 hindurch. Das signifikanteste Bit von den Registern 12 und 14 werden
einem Logikscteltkreis 52 angelegt, der die Anforderungssignale
R_ und R1 für die entsprechenden Module M_ und M1 liefert, wobei
die Anforderungssignale zur Steuerung der Multiplexer 50 und 51 verwendet werden, so dass die Anforderung an den entsprechenden
Modul gerichtet ist und die hierfür vorgesehene Adresse in Übereinstimmung mit dem numerischen Wert der Anforderungsadresse ist.
Die Logik 52 erzeugt weiterhin Signale, die als DQ ■) MDR und
DQ ^ MIR bezeichnet sind, die an einen MDR-Multiplexer 53 bzw.
einen MIR-Muitiplexer 54 angelegt werden» Der Adressierschaltkreis
des Arbeitsspeichers für die Zentraleinheit 10 enthält auch ein Teilwortregister (PW) 55, das ein Viertel-Wort Bit QW von einem
(nicht dargestellten? Bestimmungsflip-flop in den Steuerschalt-
909810/0956
kreisen 41 empfängt und weiterhin die j-Feld-Bits von einem
Befehls- und Adressen -Register 56. Das Viertel-Wort und die j-Feldinformation wird neben der Operandenadresse von dem Operandenadressregister
14 an die Multiplexer 50 und 51 angelegt, um so den Arbeitsspeicher 11 in der Teilwortbetriebsweise zu adressieren.
Die hier verwendete Teilwortadressierung (einschliesslich der Teilwortbetriebsweise) ist im wesentlichen der bei dem
üNIVAC-Rechner 1108 verwendeten Adressierung identisch und wird der Kürze halber hier nicht detaillierter beschrieben. Allerdings
werden Einzelheiten des logischen Schaltkreises 52 nachfolgend beschrieben.
Kurz zusammengefasst überträgt die D-Sammelschiene 23 (im folgenden
auch mit D-Bus bezeichnet) die Operandenadresse in das Register 14, wenn ein Operand in dem Arbeitsspeicher abgespeichert
werden soll. In Übereinstimmung mit dem numerischen Wert der Adresse bestimmt die Logik 52 den Speichermodul, in den der
Operand einzuschreiben ist und liefert ein passendes Anforderungssignal entweder auf der Leitung R0 oder der Leitung R^. Die
adressierte Stelle in dem entsprechenden Modul empfängt dann den Operanden von dem Register 15 zum Abspeichern darin. Wenn ein
Operand aus dem Arbeitsspeicher abgerufen werden soll, so wird
die Operandenadresse in das Operandenadressregister 14 übertragen und die Logik 52 leitet wiederum diese Adresse zu dem entsprechenden
Speichermodul über die Multiplexer 50 und 51 und liefert gleichzeitig eine Anforderung zu diesem Modul über die Leitung
R0 oder R1. In Übereinstimmung mit dem Modul, von dem der Operand
benötigt wird, setzt der Logikschaltkreis 52 das DQ -^ MDR-Signal
entweder in den "v/ahr"- oder "nicht-wahr"-Zustand, wobei dieses
Signal den Multiplexer 53 steuert, dass er den Operanden von dem entsprechenden Modul akzeptiert.
Wenn ein Makrobefehl von dem Arbeitsspeicher abgerufen wird, so wird die Befehlsadresse in das Befehlsadressregister 12 übertragen
und über die Multiplexer 50 und 51 zu dem entsprechenden Speichermodul unter der Steuerung des Logikschaltkreises 52 geleitet.
In Übereinstimmung mit dem Speichermodul, von dem der
909810/0956
Makrobefehl abgerufen ist, setzt der Logikschaltkreis 52 das D0"^1 MIR-Signal entweder in den "wahr"- oder "nicht-wahr"-Zustand,
um den Multiplexer 54 zu steuern, dass er den Befehl von dem entsprechenden
Modul akzeptiert.
Jeder der Multiplexer 53 und 54 enthält zwei Eingangsmultiplexer,
die auf die Operanden- bzw. Befehlsworte von den beiden Speichermodulen ansprechen. Die Logik 52 liefert ein entsprechendes
Steuersignal an jeden der Multiplexer 53 und 54 in Übereinstimmung mit dem Modul, von dem das Wort angefordert wurde und in
Übereinstimmung damit, ob das Wort ein Operand oder ein Befehl war, wobei die Operanden zu dem MDRR-Register 16 und die Makrobefehle
zu dem MIR-Register 13 geleitet werden. Zwischen de»
Multiplexer 53 und das Register 16 ist ein Übertragungstor 57 und in gleicher Weise zwischen den Multiplexer 54 und das Register
13 ein Übertragungstor 58 dazwischengeschaltet„ Die Übertragungstore
57 und 58 werden durch ein Bestätigungssignal (ACK) von der Arbeitsspeicherelektronik des UNIVÄC-Rechners 1108 in Bereitschaft
gesetzt.
(staticize) In Abhängigkeit von einem Befehlsuberaanme-Signal / "STAT"
von einem STAT-Speicherflip-flop, das im Zusammenhang mit den
Steuerschaltkreisen 41 zu erläutern sein wird, werden die f, j
und a-Felder des in dem Registn- 13 gespeicherten Makrobefehles
zu den entsprechenden Feldern des Befehls- und Adressen-Registers 56 übertragen. Die f- und j-Felder von dem Register
bestimmen einen 8-Bit-Befehlsvektor, der in dem Multiplexer 39
mit dom NAT-FeId des flikrobefehles kombiniert wird, um den
Steuerspeicher 36 zu adressieren, einen Vektorsprung zu der
Steuerspeichermikroroutine vorzunehmen, um die Mikrobefehle zum
Emulieren des partiellen Makrobefehles, der angefordert war, zu liefern.
Die f- und j-Felder des Befehls- und AdressesRegisters 56
werden ebenfalls dazu verwendet, die Adressen in die Befehlszustandstabelle 38 zu liefern. In einer nachfolgend detaillierter
beschriebenen Weise, wird die 8-Bitadresse Ä--A« der Befehls-
9098 10/0956
zustandstabelle wie folgt geliefert. Wenn die f-Feld-Bits
F5F4F3 φ 7g, dann gilt:
A7 A6 A5 A4 A3 A2 A1 A0
0 J* F5 F4 F3 F2 F1 F0
wobei J = J3 .Λ J3
Wenn allerdings die f-Feld-Bits F5F4F3 = 7g, dann gilt:
h A6 A5 A4 A3
1 J3 J2
J0 F2 F1
Es sei darauf hingewiesen, dass das Adressfeld A- - AQ für die
Befehlszustandstabelle 38 den Vektor bildet, der dazu verwendet wird, den Befehlsvektorsprung zu ermöglichen. Die Befehlszustandstabelle
38 besteht aus einem programmierbaren Nur-Lese-Speicher mit einer Länge von 256 Worten und einer Breite von
10 Bits, der das nachfolgende Ausgangsfeldformat aufweist.
Ausgangsfeider der | CB | Befehlszustandstabelle | SL | MC |
2 4 | 1 1 2 | |||
FOS | ||||
GB |
wobei die Felder wie folgt definiert sind:
GB (GRS BASE ADDRESS) - GRS-Basisadresse
Das GB-FeId liefert die richtige Basisadresse an den lokalen Prozessor
27 zum Lesen und Schreiben des Mehrzweckregisterstapels (GRS) 32 in Übereinstimmung mit der obigen Tabelle 9, wobei die
A, X und R-Register in dem Mehrzweckregisterstapel 32 untergebracht
sind.
909810/0956
CB (CLASS BASE) - Klassenbasis
Der Klassenbasisvektor wird dann angewandt, wenn XF = 01 in Übereinstimmung
mit der nachfolgenden Tabelle 11:
Klassenbasisvektoren CB Klassenbasis
0000(CBO) Gemeinsam (hin gerichtet, wenn IRDY)
0011(CB3) Rufe einzelnen Operanden direkt ab
0100(CB4) Rufe einzelnen Operanden sofort ab
0101(CB5) Springe grosser und dekrementiere
0110(CB6) Unbedingte Verzweigung
011KCB7) Speichere
1011 (CB11) Überspringe und bedingte Verzweigung
1100(CB12) Verschiebe
FOS (FETCH NEXT INSTRUCTION ON STATICIZE) - Rufe nächsten Befehl
auf -Befehlsübernahme ab
Das FOS-FeId initiiert das Abrufen des nächsten Makrobefehles,
wenn das Be'fehlsubernahme(staticize)-Bit der Steuertabelle des
aufgeschobenen Einsatzes (deferred action control table) gesetzt ist.
SL (SHIFT LEFT) - Verschiebe nach links
Das SL-FeId der Befehlszustandstabelle steuert die Hochgeschwindigkeitsverschiebeeinrichtung
35 und veranlasst, dass Daten nach links verschoben werden, wenn SL = 1 und nach rechts, wenn
SL - 0.
MC (MASK CONTROL) - Maskensteuerung
Das MC-Feld liefert eine Information zum Maskieren eines verschobenen
Operanden in Übereinstimmung mit der nachfolgenden Tabelle 12.
10/0956
2837952
Maskensteuerung des verschobenen Operanden MC Maske
01 Lies Maske vom lokalen Speicher basierend auf
der Verschiebungsfortschreitung
10 Lies Komplement der Maske vom lokalen Speicher
basierend auf der Verschiebungsfortschreitung
11 Lies Maske vom lokalen Speicher basierend auf dem Komplement der Verschiebungsfortschreitung
je nach Vorzeichen des Operandenr
wobei die aufgelisteten Elemente und Tätigkeiten weiter unten beschrieben
werden.
Das Klassenbasisfeld der Befehlszustandstabelle 38 wird dem Multiplexer 39 angelegt, je nach Zustand des Befehlsvektors des
Befehls- und Adressen —Registers 56, des Unterbrechungsvektors,
der NAT- und NAF-Felder des Steuerspeichers und der Entscheidungspunkte
DP1 - DP2. Zusätzlich werden Steuereingänge DPO und XF an den Multiplexer 29 angelegt. Das Klassenbasisfeld des
Registers 38 wird mit der statischen Variablen IDi bei 59 kombiniert.
Die statische Variable ID1 ist die in Tabelle 4 gezeigte logische Kombination des Prozessorzustandsregisterdesignators D7
und des i-Feldes des Makrobefehlsregisters 13. Die Logik zur Ausführung
der statischen Variablen ID1 ist in den Steuerschaltkreisen 41 enthalten, wobei das Ergebnis bei 59 vorgesehen ist,
zur Kombination mit dem Klassenbasisvektor der Tabelle 38» Die 1-Bit-ID1-Variable wird mit dem 4-Bit-Klassenbasisvektor kombiniert,
um eine einzige Adresse zur indirekten Adressierung zu bilden. Das DPO-Signal wählt aus, welche von den beiden Adressen
NAT und NAF dazu benutzt wird, den nächsten Mikrobefehl abzurufen
und ein XF steuert den Vektorsprung, wenn UAT ausgewählt ist.
Die obige Tabelle 1 zeigt die verschiedenen Adresskombinationen,
die in dem Multiplexer 39 zusammengestellt werden, um die Adresse des nächsten Mikrobefehles in dem Steuerspeicher 36 vorzusehen.
Die Entscheidungspunkte 1 und 2 werden entsprechend mit den beiden letzten signifikanten Bits des NAT ODER-verknüpft, um
909810/0956
— fift —
einen Vier-Wege-Vektorsprung zu bilden. Die Adresse wird über
eine Adressverriegelung 60 zum Steuerspeicher 36 geliefert.
Die Eingänge zu dem B4-Bus 29 werden von dem Befehlsadressregister
12 und von zwei 2-Eingangsmultiplexern 61 und 62 geliefert.
Die B4-Bus-Bits 7-4 und 3-0 werden von den Multiplexern 61 bzw.
62 geliefert, während die B4-Bus-Bits 17-8 von den entsprechend bezifferten Bits des Registers 12 geliefert werden. Die Bits
7-4 aus dem Register 12 werden als ein Eingang an den Multiplexer 61 angelegt, der an seinem zweiten Eingang das 4-Bit-j-FeId
von dem Register 56 empfängt. Die Bits 3-0 des Registers 12 werden als ein Eingang an dem Multiplexer 62 angelegt, der das
4-Bit-a-Peld von dem Register 56 als seinen zweiten Eingang empfängt.
Das BBS-FeId des P4-Teiles des Mikrobefehlswortes (Fig. 4) liefert das Auswahlsignal für die Multiplexer 61 und 62,
das bestimmt, ob der B4-Bus die j- und a-Feldbits oder die Bits
von dem Befehlsadressregister 12 (Tabelle 9) empfängt.
Die 4-Bit-Adresse für den lokalen Speicher 28, der dem lokalen Prozessor 27 zugeordnet ist, wird von Multiplexern 63 und 64 und
vom Bit 3 des 4-Bit-LMA-Feldes des P4-Teiles des Mikrobefehles (Fig. 4) geliefert. Die Bits 0-1 der Adresse werden von dem
Multiplexer 63 geliefert, das Bit 2 von dem Multiplexer 64 und das Bit 3 von dem LMA-FeId. Einer der 2-Bit-Eingänge des Multiplexers
63 wird durch die Bits 0 und 1 des LMA-Feldes geliefert
und der andere Eingang hierzu wird durch das 2-Bit-GB-Feld der
Tabelle 38 geliefert. Die zwei Eingangssignale zu dem Multiplexer 64 werden von dem D6-Bit des Prozessorzustandsregisters und dem
Bit 2 des LMA-Feldes geliefert. Die Auswahlvorgänge für die
Multiplexer 63 und 64 geschehen in Übereinstimmung mit dem LMAS-FeId
des P4-Teiles des Mikrobefehlswortes. Folglich wählt LMAS
aus, ob die Adresse für den Speicher 28 durch das LMA-FeId des Steuerspeichers oder durch das D6-Bit, das mit dem GB-FeId verknüpft
ist g wie oben im Zusammenhaag mit Tabelle 6 erläutert,
geliefert wird.
Das WLMA-FeId wird ebenfalls dazu benutzt, die ädrssse für den
lokalen Speicher wie folgt zu liefern. Das LMA-Bi t 3, der Ausgang
des Multiplexers 64 und der Ausgang des Multiplexers 63
werden als Eingangssignale an die UND-Gatter 44, 45 und 46 angelegt,
deren Ausgänge verknüpft sind, um ein vier Bit-Eingangssignal für ODER-Gatter 47 zu bilden. Der Ausgang der ODER-Gatter . 47 liefert eine 4-Bitadresse an den lokalen Speicher 28.
Das oben erläuterte 4-Bit-WLMA-Adressenfeld wird über das UND-Gatter
48 als zweiter Eingang an die ODER-Gatter 47 angelegt. Folglich liefern die ODER-Gatter 47 das Adresseingangssignal an
den lokalen Speicher 28,und zwar entweder, wie oben erläutert, von den UND-Gattern 44 bis 46 oder von dem WLMA-Adressenfeld
des UND-Gatters 48. Ein Flip-Flop 49 (schreiben des lokalen Speichers 4) setzt entweder die UND-Gatter 44 bis 46 oder das
UND-Gatter 48 in Bereitschaft, um die geeignete Adresse zum
Schreiben in den lokalen Speicher 28 zu liefern. Das Flip-Flop 49 wird durch Zeitimpulse tQ und tg_ gesetzt bzw. zurückgesetzt.
Wie oben im Zusammenhang mit Fig. 2 erläutert, enthält die Zentraleinheit
10 den Eingangsmultiplexer 34 zur wahlweisen Weiterleitung der Operanden und Adressen durch die Verschiebeeinrichtung
35 zu dem B-Bus 22 für die Verarbeitung in den lokalen Prozessoren 17, 18 und 19. Der Multiplexer 34 empfängt Eingangssignale
von dem Mehrzweckregisterstapel 32, von dem D-Bus 23, dem Speicherdatenregister 16 und von dem D4-Bus 30. Die Auswahl
dieser Eingangssignale zur Übertragung des Ausgangs des Multiplexers 34 wird durch einen 2-Bit-Steuereingang des Multiplexers
65 bewirkt. Der Multiplexer 65 empfängt Eingänge von dem BIS-FeId des Mikrobefehles und von dem BRG-Register 66, das von dem
Steuerspeicher für den aufgeschobenen Einsatz (deferred action control memory) in einer nachstehend zu erläuternden Art und
Weise geladen wird. Die Eingänge zu dem Multiplexer 65 werden wahlweise unter der Steuerung des BR-Feldes der Mikrobefehle an
seinen Ausgang angelegt. Folglich kann die Auswahl der Quelle zum Anlegen des B4-Bus 22 entweder unter direkter Mikroprogrammsteuerung
oder als aufgeschobener Einsatz durchgeführt werden.
909810/0956
Der Ausgang des Multiplexers 34 wird als erster Eingang an die Hochgeschwindigkeitsverschiebeeinrichtung 35 angelegt, die durcli
die Multiplexer 67 und 68 schematisch dargestellt ist. Es sei darauf hingewiesen, dass der Multiplexer 34 36 parallele Bits
zu der Verschiebeeinrichtung 35 liefert. Jeder der Multiplexer 67 und 68 enthält 36 Multiplexersegmente (8 Eingänge auf einen
Ausgang), wobei die Ausgänge der Multiplexersegmente auf der Stufe 67 mit den Eingängen des Multiplexers auf der Stufe 68
verbunden werden um so gleichzeitig ein gesteuertes . Verschieben von O bis 36 Stellungen (zirkulär) zu bewirken, in dem Masse,
wie die Daten parallel durch die Verschiebeeinrichtung 35 fliessen.
Die Grosse der Verschiebung wird durch die 3-Bit-Auswahleingänge
zu den Multiplexerstufen 67 und 68 gesteuert, die gleichzeitig eine Eingangsauswahlsteuerung für jedes der Multiplexersegmente
in jeder Stufe liefern. Die Einzelheiten der Verbindungen und der Steuerung zur Durchführung der Verschiebung
wird nachfolgend beschrieben. Die Multiplexerstufe 68 empfängt das GRS*-Eingangssignal von dem Mehrzweckregisterstapel 32 sowie
einen ü -Eingang von dem ü-Feld des Makrobefehlsregisters 13. Diese Eingänge werden an den Multiplexer 68 angelegt und aufgelistet
zur Adressberechnung in den lokalen Prozessoren 17, 18 und 19. Der Multiplexer 67 empfängt zusätzlich ein Eingangssignal
von einem Schiebezählregister 69, um zu gestatten, dass der Schiebezählwert von den lokalen Prozessoren aufdatiert wird.
Die Eingänge zu der Verschiebeeinrichtung 35 von dem Schiebesteuerregister 69 sowie die als GRS* und U bezeichneten Eingänge
brauchen nicht einer generellen 1 bis 36 Bitverschiebung unterzogen zu werden, sind jedoch auf dem Verschiebeeinrichtungsausgang
für den B-Bus in einer festen Stellung ausgerichtet. Folglich können sie (und werden) in den Multiplexer 67 und 68
eher gebracht als in den Multiplexer 34, um die Hardware zu verringern.
Die Steuersignale für die Multiplexerstufen 67 und 68 werden von einem Verschiebungs/Masken-ädressen-PROM 70 (programmierbarer
Nur-Lesespeicher) geliefert. Der Speicher 70 enthält 128 12-Bitworte
2ur Steuerung der Grosse der von der Verschiebeeinrichtung
909810/0956
~ 7T ~ 2837S52
35 durchgeführten Verschiebung und ebenfalls zur Lieferung der Adressinformation für die Steuerung der Maskenbetriebsweise, die
von den lokalen Prozessoren 17, 18 und 19 durchgeführt wird. Die
Speichertabelle zur Durchführung der geforderten Operationen wird weiter unten dargestellt. Der Speicher 70 empfängt eine
7-Bitadresse von einem 4-Eingangsmultiplexer 71, in dem die Eingänge
selektiv mit dem Ausgang verbunden werden unter der Steuerung des SFT-Feldes des MikrosteuerSpeichers 36. Einer der Eingänge
zu dem durch die Legende "NICHT VERSCHIEBEN" bezeichneten Multiplexer liefert die O-Adresse an der ein Wort gespeichert
ist für den Speicher 70, dessen Bits die "NICHT VERSCHIEBEVERBINDUNGEN" in den Multiplexern 67 und 68 bewirken. Ein weiterer
Eingang des Multiplexers 71, der mit "NICHT VERSCHOBENE EINGÄNGE" bezeichnet ist, ist für einen kleinen Satz ausgewählter konstanter
Adressen vorgesehen, die für die "NICHT SCHIEBEEINGÄNGE", wie das obige U und GRS verwendet werden. Diese Einrichtung
wird zur Eingabe zusätzlicher Daten verwendet ohne die Notwendigkeit,
einen grösseren Eingangsmultiplexer 34 benutzen zu müssen. Stattdessen werden Reserveeingänge (spare inputs) in den
Multiplexern 67 und 68 verwendet. Hierdurch können Steuerworte in dem Speicher 70 gespeichert sein, um die Multiplexer 67 und
68 so zu steuern, dass sie geeignete Bits zu dem B-Bus 22 forderungsgemäss leiten.
Ein weiterer Eingang des Multiplexers 71 wird durch das Schiebezählregister
69 geliefert, der für den Makrobefehl "SCHIEBE" oder zur Normalisierung angewandt wird. Der vierte Eingang des
Multiplexers 71, der durch die Legende " per j" bezeichnet ist,
liefert das Viertel-Wort Bit (QW), das mit dem j-Feld des Makrobefehles
für die j-Feld-bestimmte Verschiebung verkettet ist.
Dieser Eingang des Multiplexers 71 wird durch einen Addierer 72 realisiert, der die Dezimalkonstante 36 zu dent j-Feld &us dem
durcn
Register 56 addiert,und / 73, wo das Viertel-Wort Bit
durch Verkettung den Einfluss hat, dass eine zusätzliche Dezimalkonstante von 64 zu dem Ergebnis addiert wird. Die durch die Elemente
72 und 73 ausgeführte Kombination ist in einer Weise und
aus Gründen vorgesehen, die im Zusammenhang mit dem UNXVAC=
909810/0956
ner 1108 ohne weiteres zu verstehen sind.
Das Schiebezählregister 6 9 ist ein 7-Bitregister, wobei das
signifikanteste Bit die Richtung der Verschiebung steuert und
die verbleibenden Bits die Anzahl der über die in dem Speicher 70 gespeicherten adressierten Worte verschobene Anzahl von Plätzen
steuert. Kenn der Makrobefehl "Verschiebe" durchgeführt wird, empfängt das Register 69 seine 6 letzten signifikanten Bits von
den Bits 25-20 aus dem D-Bus 23 und sein signifikantestes Bit von dem SL-FeId der Befehlszustandstabelle 38, wobei das SL-FeId
bei 74 vorhanden ist. Das durch die Befehlszustandstabelle 38
gelieferte SL-FeId enthält, wie oben erläutert, ein einzelnes Bit, das eine Linksverschiebung bestimmt, wenn es in dem Zustand
"1" ist, und eine Rechtsverschiebung, wenn es in dem Zustand "0" ist.
Das Schiebezählregister 69 wird ebenfalls verwendet, wenn eine
Normalisierung in Verbindung mit einem Normalisierungshilfsschaltkreis
(NH, normalizer helper circuit) 75 durchgeführt wird. Der Normalisierungshilfsschaltkreis 75 spricht auf die 36 Datenbits
des D-Bus 23 an und liefert einen 7 Digit-Zählinhalt an das
Register 69. Das signifikanteste Bit der 7 Ausgangsbits von der Normalisierungshilfseinrichtung 75 ist ständig auf 1 gesetzt,
um ausschliesslich Linksverschiebungen durchzuführen, wie sie
beim Normalisieren benötigt werden. Weitere Einzelheiten der Elemente 69, 74 und 75 werden weiter unten erläutert.
Wie oben im Zusammenhang mit Fig. 2 erläutert, enthält die Zentraleinheit
10 den Mehrzweckregisterstapel 32, der 128 36-Bitregister enthält. Die A, X und R-Register des UNIVAC-Rechners
1108 sind in dem Registerstapel 32 enthalten. Die Register des Stapels 32 werden durch eine 7-Bitadresse adressiert, die von
der ODER-Gattereinrichtung 76 geliefert werden. Wie oben erläutert, werden Daten in das adressierte Register von dem D-Bus
23 eingeschrieben und aus ihm auf den B-Bus-Eingangs-Multiplexer
34 und den Verschiebemultiplexer 68 eingelesen. Für den Mehrzweckregisterstapel 32 sind vier Adressquellen vorgesehen, von
909810/0956
denen drei durch die Rcgister-Adresn-Register 3) vorgesehen sind,
die aus den drei 7-Bit-Ilegistern RARI , RAR2 und RARJ zusammengesetzt
sind. Die vierte Adresse wird von dem X-FeId des Makiobefehlsregisters
1) geliefert, wobei das n6--riit hiermit bei 95 in
einer weiter unten zu beschreibenden Art und Weise verkettet ist.
Das D6-I$it ist eines der Dusignatorbits des IJNIVAC-Rechners 1108
von dem P£jR-Regi:iter wie c;ben erläutert und ist in der Zentraleinheit
10 durch ein separates Flip-Flop in den Stouerschaltkreisen
41 vorgesehen. Die vier Adressen werden aLs Eingange an
einen GRS~Leso--Adrassi«ul tiplexor 7 7 und einen GRiJ-ijchreib-fIuIb:l-_
plexer 78 angelegt. Die 'JKA- und (iWA-Feldnr des iU-.euurspeIchers
36 werden als Auswähle in-fange an ti Lo. Multiplexer 7/ bzw. ΊΆ gelegt.
Zusätzlich legt ein Schreib ~lU:i oitnchuEts-Fl l[»~Flop /'),
das auf die iieit signale (:_. und tr,. lnsprit:Iit (diesa Zeitsltjnaie
t) :>O
werden später erläutert), üteuetsignile in die Chlp-Berult-Klngänge
der Multiplexer 7/ und 7Π an, um die lieitsteuerung iriir die
GliS-fjchreib- und -Lese-üjOrationon zu 1
In einer woittu: unten an 1 fi.rlitciboiulfMi Weiüe arbeitet tiLn 'Zentraleinheit
IO mit einem K)ü Nanosokunden-fHkrozykLun, v/ohiu
Vif L tabt.ifi timpul'!^ al Le Io N-iuosnkuiulon gtilifiterl werden, viobr; i
diii Abta.c;tLi;ipul'se mit t I i:>
t,. boxrj ichnfit sind. Dalier iat an
<jün;5tig, dans /.ιιι·ι Zeitpunlit. L dan ik;lireil-b->reil..uLel Liings-l'l Ip-L'lop
71) gesotviL wird und .;nm " it.punkt t, . ^urii^'Kcjusetzt wird*
l'oLglLch ist: './.ihrantl der (.vrsht.n ITi) ft<>
ύν.α MLkrniykLusJO« del
Multiplexer /I! :5ihreLbL)C'rf!it und. v;«ihr*iiul dur zv/uiton 11311:te dei;
Mikrozyklu.··} IrA »!**r MuLt Lpl.f?::or 7/ Iciüberott. D^her v/Lrd, in
Ubureinstiiinnung mit den GH/v- und GWA-Fulclcrn den MikrobeJ'ehlr;-v/orteij,
υ Lno 111 * t /Ler ELn'jings:idi.i.!:;.c.>en v/ährend de;r; ernten HriLft«
der. IlikrovsykLiiiS'.'.i durcli dan GlJA FnLd ausgnv/ühLt und durch das
ODKR-GaLter 7f>
liindurch übiiEtragmi, um den Mnlir^weckragisLer stapel
Υ! zum iU hreiben au adressieren. Während der '.'.v/elten H'ilfte
des fllkrozyt .1 ii jes wird «Ine tlt.it; vier Kingang:iadreij.«jen dutch
das GHA-FüLd ausij'jv/ählt und über d.i-i ODE1H -Gattet 7ß iibert ragen,
um den Mehr.ζ\ή.ί·\ t ugisteti5t/ipol ]?, sum Lc-!son zu -'idresuLeriui, Das
RARI üiithäLt iil)l isthorweiö'.' JLe abüoluto Adrunue dos HtnjliiV.oiu,
das duL'c:li dis ι -.(>οLiI dea il:ikro)j''t--}\le:i bt'-iulchm-t ist, dtir.j;jtin
ORIGINAL
2037852
Wert generalL zu Beginn der Makrobefehlsemulierung durch den lokalen
Prozessor 2 7 errechnet wird. Das RARI-Register empfängt
diese Adresse von den sieben Letzten signifikanten Bita de« D4-Dus
JO. Das RAR2-Rogister wird üblicherweise dazu benutzt, tlie
Adresse von Λ l· I für eile Befehle mit doppelter ütulLeuzahl den
UillVAC-Rechnerr» I 108 zu enthalten und empfängt diese Adreuuu von
den hieben letzten iiigni tikanten ULtis dei; D-l-Hu« JO. Dajj Register
RAR3 enthält üblicherweise die GRiJ-Adreu.se, die von dein u-Feld
des Makrobefehle« geliefert wi.nl, der, in flbereLnütimiuung mit der
Adressierung den UHLVAC Rechners MOO der "verborgene" Speicher
("hidden" memory) Lüt. Miner der Lokalen Prozessoren 17, ItJ und
19 kann die<;e U«»rtM hnungcn durchführen, um die AdreiJislnfonnitton
an das; RAR J-Regl.stor zu liefern, die von clen rechten i>leben l)it:£· "~
der verbli(!l>enen U) WW ·λ dea 40 Ult-Urelten D-Uu« 2 3 ent.noinmen
ist. Dia viert R Adreisnqueile wird direkt von dem x-t'eld, dan mit
dem IHi-IJit·. vei kettet; i?jL, von dem flakrobefehlnrogloter Il gellt;-fort.
D6 be 5; ti nun L, üb dass x-Register in 11 fin Heniitvierzuüt-and
(user state) oiler dem AusiEdhrtingr-Jzustand (executive Jtalc·) ist,
und zv?ar in einer Ut'l.iu, die Jdentiuch der in dem UfIIVAC -Recliner
1If)O benutzten iüt. Aufgrund der durch den milVAC-Reohnf.r IK)O
gewühLten (iteu^en, k um dar; Ufi-Mit nur in einer nach! ol>i:.>nd zu
beschreibenden VA·lr;t; verkettet werden.
Die Adressierung fnr tlr>n "IeIu." ■ ..'kreg lutiorutapel J2 'iurdi obun
Im Zun.uiiiarMihang mit d>.!n I1 il/ellen 3 und ') grundsätz Lieh cm läutert,
auu denen zu enf-.uehiii>!u L131 , daKS die Ma=; 1 sadrerjnberGchnii'ifjon
durch den lokalen !'ro.:>>s:..;<)r ?/ j.n Abh ingijkelt von dria ΠΗ-17'ld
de;.«; I£5T~i;pc« ichor'j Jl durchgeführt, wc-tdon, v/obel die Lrgt t 11 iriue
an die Reg 1 cito* -hdt o.r.t- Uegiister )J «/(JÜnfrort wtirdon, i/i;; durch
die ClRA- uiil C,\h\ -Ι·'.· 1.Ί-r Ln den Makrobefehlen in dem f>toueri>p'iichijr
3(i angev/ifit'ii ./ird.
Ι/ίο obffii erJ.iul^rt·, enHiciLt die ^cntralei r.hei t ID lt;!;al.f· fr.oiuu;-iiorcm
17, IH ucd I'), dl«; alii Pl, P2 und P) ijfi/.elchnct κ lud, dto.
Ihnen zugeordnet.r« lol■ lie iipeicliet 21, Vi h:\t. ;.'.(>
aufwelri'.-n . Jfilot
der Lokalnn iip'-i'luM 1M, 2'J und >.U Ι.Λ b I l/orte linj und U) lilt:;
breit. Der lokale ;;p->i<:hüf M wild durch einen f>
Hit Mu 1 t ί.|Ίυκ«:ι.
:) f) ') Π I I) / Ü Ü 6 β
ORIGINAL
ORIGINAL
80 mit drei Eingängen adressiert, wobei die Eingänge durch das LMAS-FeId des lokalen Steuerfeldes, das dem Prozessor P1 zuge-
werden. und
ordnet ist, ausgewählt ,/das, wie oben im Zusammenhang mit Tabelle
5 erläutert, von dem Steuerspeicher 36 geliefert wird. Einer der Eingänge des Multiplexers 80 wird von dem LMA-FeId des lokalen
Steuerfeldes, das dem Prozessor P1 zugeordnet ist, geliefert, wodurch der lokale Speicher direkt unter der Mikroprogrammsteuerung
adressiert werden kann. Ein zweiter Eingang des Multiplexers 80 wird von dem Adressregister des lokalen Speichers
(LMAR) 81 geliefert, eier von den letzten sechs signifikanten
Bits des D-Bus 23 geladen wird, unter der Steuerung der Steuertabelle des aufgeschobenen Einsatzes in den Steuerschaltkreisen
41. Folglich kann der lokale Speichor 24, in einer weiter unten zu beschreibenden Weise, in Übereinstimmung mit dem aufgeschobenen
Einsatz adressiert werden. Der dritte Eingang des Multiplexers 80 wird von dem Schiebe/Masken-Adress-PROM 70 geliefert,
der die 36 Plätze in dem lokalen Speicher 24 adressiert, die zur Speicherung der bei den Berechnungen des lokalen Prozessors benötigten
Masken verwendet werden.
Die adressierten Worte des lokalen Speichers 24 werden durch eine
Komplementiereinrichtung 82 zu einem A-Verriegelungs-Register 83
geliefert, das gleichzeitig seine 40-Biteingänge an den A-Eingangsanschluss
des lokalen Prozessors 17 liefert. Die Komplementiereinrichtung 82 überträgt die adressierten Worte von dem lokalen
Speicher 24 zu dem A-Register 83 entweder in komplementierter oder nicht-komplementierter Form in Übereinstimmung mit den Eingängen
LMAS, MC und SE zu .ihm. Es sei darauf hingewiesen, dass
das Steuerfeld LMAS von dem Steuerspeicher 36, das Feld MC von der Befehlszustandstabelle 38 und das Feld SE von dem zugeordneten
Flip-Flop der statischen Variablen in den Steuerschaltkreisen 41, wie oben im Zusammenhang mit Tabelle 4 erläutert, geliefert
wird. Die detailliertere Steuerung der Komplementiereinrichtung 82 wird später erläutert. Die Verriegelungen, die durch das A-Register
83 vorgesehen sind, v/erden benötigt, da der A-Eingangsanschluss des lokalen Prozessors 17 nicht mit einer internen Verriegelung
ausgestattet ist. Der B-Eingang des lokalen Prozessors
909810/0956
COPY
COPY
17 dagegen weist keine externe Verriegelung auf. Die Steuerung
der selektiven Komplementierung der Komplementierungseinrichtung 82 wird primär zur Maskenextraktion aus dem lokalen Speicher 24
benützt, unter der Steuerung des Verschiebungs-Masken-Adress-PROM1S
70, so dass 36 Masken ebenso wie ihre Komplemente selektiv von dem lokalen Speicher 24 geliefert werden können, wie oben
im Zusammenhang mit den Tabellen 5 und 12 erläutert.
Die Steuerung der Eingangs-, Ausgangs-, Arithmetik- und Logikfunktionen
des lokalen Prozessors 17 wird durch 16 Funktionsbits S0-S15 durchgeführt. In weiter unten detaillierter zu beschreibender
Weise enthält der lokale Prozessor 17 ein anwendbares Repertoire von ungefähr 67 Funktionen, wobei der 16-Bitfunktionscode
die Funktionen auswählt, unter Anwendung einer Halb-Haupt-Bit-Annäherung
(semi-master-bitted approach). 14 der 16 Funktionsbits, nämlich Sn_^ ,- _ α K werden von einem Multiplexer 84 mit
zwei Eingängen über eine Funktionsverriegelung 85 geliefert. Die zwei Eingänge des Multiplexers 84 werden von dem Steuerspeicher
36 durch das LPFT- und LPFF-FeId des Teiles des Mikrosteuerwortes,
das dem lokalen Prozessor P1 zugeordnet ist, geliefert. Die Auswahl dieser FunktionsSteuerfelder wird durch den Selektionseingang
des Multiplexers 84 von dem Entscheidungspunkt 3 der Entscheidungslogik 40 geliefert. Folglich wird in Übereinstimmung
mit dem Zustand von DP3 die durch LPFT oder durch LPFF benannte Funktion von dem lokalen Prozessor 17 ausgeführt werden, in Übereinstimmung
mit der Steuereinrichtung für die Zentraleinheit 10, die weiter unten beschrieben wird.
Das Sg-Funktionsbit des lokalen Prozessors 17 steuert den Ausgang des Akkumulators des lokalen Prozessors zu dem D-Ausgangsanschluss.
Das Sg-Funktionsbit wird von einem Akkumulatorausgangssteuermultiplexer
86 über eine Sg-Funktionsverriegelung 87 geliefert. Die zwei Bits des OUT-Feldes des Teiles des dem Prozessor P1 zugeordneten
Mikrosteuerwortes werden den entsprechenden zwei Eingängen des Multiplexers 86 zugeführt, wobei die Auswahl zwischen
ihnen durch das Signal des Entscheidungspunktes 7 der Entscheidungslogik 40 ausgeführt wird. Die ausgeführte spezielle Ausgangs-
909810/0956
steuerung wurde oben im Zusammenhang mit Tabelle 8 angegeben.
Zur Klarstellung sei darauf hingewiesen, dass die Funktion des
lokalen Prozessors, die durch das S4-Funktionsbit gesteuert wird/
bei dem Betrieb der Zentraleinheit 10 nicht benutzt wird. Sie wird durch Anlegen eines permanenten "1"-Signales an
den St-Eingang ausser Funktion gesetzt. Die Komponenten 80 und
82-87 werden der Einfachheit halber im folgenden als Block 88 bezeichnet.
Dem lokalen Prozessor 18 und dem lokalen Speicher 25 ist ein
Block 88' und dem lokalen Prozessor 19 und dem lokalen Speicher 26 ein Block'88'' zugeordnet. Die Blöcke 88' und 88" sind dem
Block 88 identisch mit Ausnahme, dass die in geeigneter Weise zugeordneten
lokalen Steuerfelder von dem Steuerspeicher 36 an sie angelegt werden. Das Adressregister 81 des lokalen Speichers und
der Schiebe/Masken-Adress-PROM 70 liefern Eingänge an die Blöcke 88' und 88" aus Gründen, die denen oben im Zusammenhang mit dem
Block 88 erläuterten ähnlich sind.
Der lokale Prozessor 27 mit seinem zugeordneten lokalen Speicher
28 ist gegenüber dem Prozessor 17, 18 und 19 etwas unterschiedlich ausgebildet. Die Adressierung des lokalen Speichers 28
wurde oben im Zusammenhang mit den Blocks 63 und 64 erläutert.
Der lokale Prozessor 27 verwendet 16 Funktionsbits Sq-S15 in
ähnlicher Weise, wie im Zusammenhang mit dem Prozessor 17 erläutert.
Die Funktionsbits S-. _ c _ Q ,c werden von einem Funk-
VJ-j, D-/, y—id
tionsauswahlmultiplexer 89 über eine Funktionsverriegelung 90
parallel geliefert. Die beiden Eingänge des Multiplexers 89 werden
von dem Steuerspeicher 63 durch die Funktionsfeider des lokalen
Prozessors LPFT und LPFF des Teiles des Mikrosteuerwortes,
das dem P,-Prozessor zugeordnet ist, geliefert, wie oben im Zusammenhang
mit Fig. 4 erläutert. Die Auswahl zwischen LPFT und LPFF wird durch den Entscheidungspunkt 6 der Entscheidungslogik
40 durchgeführt. Der Obertragseingang (C1n, carry in input) des
Prozessors 27 wird als Funktionsbit behandelt und wird von einem der Funktionsbitausgänge des Multiplexers 89 geliefert. Der Sg-Eingang
ist permanent durch einen "1"-Eingang in Bereitschaft ge-
909810/0956
setzt, da der Prozessor 27 den eigenen D4-Bus 30 verwendet, zu dem er ausschliesslich Eingangssignale liefert. Der S.-Eingang
des Prozessors 27 ist ständig ausser Bereitschaft gesetzt auf eine Art und Weise und aus Gründen, die oben im Zusammenhang mit
dem Prozessor 17 erläutert wurden.
Jeder der lokalen Prozessoren 17, 18, 19 und 27 ist vorzugsweise aus LSI-Chips der Mikroprozessorvielfalt hergestellt. Insbesondere
wurde zur Realisierung der Motorola-4-Bitchip "ALU" 10 800 ausgewählt. Detailliertere Einzelheiten für diesen "ALU-Chipsind
aus der folgenden Veröffentlichung, die von Motorola Semiconductor Products, Inc. erhältlich ist, zu entnehmen:
"M10800-HIGH PERFORMANCE MECL LSI PROCESSOR FAMILY", 1976. Es sei darauf hingewiesen, dass die dort verwendete Terminologie,
nämlich, A-Bus, B-Bus und D-Bus mit der Motorola Terminologie A-Bus,
O-Bus und I-Bus übereinstimmt.
Fig. 6 zeigt ein schematisches Blockschaltbild des "ALU"-Chips
der zur Ausführung der lokalen Prozessoren 17, 18, 19 und 27
verwendet wird, wobei die Komponenten und Verbindungen, die bei der Zentraleinheit 10 verwendet werden, dargestellt sind. Der
Eingang von dem A-Register 83 (Fig. 5) zu dem Α-Eingang wird als ein Eingang an einem Multiplexer 100 angelegt, dessen Ausgang an
den "ALU"-Chip 101 des Chips sowie an ein Maskennl^iweric^oi^
Ein weiterer Eingang des Maskennetzwerkes 102 wird von einer B-Bus-Verriegelung
103, die zur Verriegelung der Werte von dem B-Bus 22 (Fig. 5) bei Beginn jedes Mikrozykluses verwendet wird,
geliefert. Der Ausgang des Maskennetzwerkes 102 sowie der Ausgang der Verriegelung 103 liefert Eingänge zu dem "ALUn-Block
101. Der "ALU"-Block 101 empfängt die 16 Funktionsauswahlbits S-S.|5,wie
oben erläutert, sowie ein Übertragseingangssignal. Der "ALU"-Block 101 liefert weiterhin Übertragserzeugungs(G)-,
übertragsweiterleitungs(P)-, sowie überlauf- und Übertragsausgangssignale.
Der Ausgang des "ALU"-Blocks 101 wird an eine 1-Bit-Verschiebeeinrichtung
104 gelegt, dessen Ausgang einem Mikroakkumulator
909810/0956
2837052
zugeführt wird (mit a bezeichnet), dessen Ausgang seinerseits den Wert des Ausgangs-D-Anschlusses des Prozessors liefert. Der
Ausgang des Akkumulators 105 wird weiterhin als ein Eingang an den A-Bus-Multiplexer 100 angelegt sowie an die B-Bus-Verriegelung
103 und den "ALU"-Block 101. Die Verschiebeeinrichtung 104 enthält einen bi-direktionalen Eingang für das letzte signifikante
Bit (LSB) sowie einen bi-direktionalen Eingang für das signifikanteste Bit (MSB) und liefert weiterhin einen NULL-Erfassung-Ausgang,
der als dynamische Variable in der Zentraleinheit 10 verwendet wird/ die eine Anzeige liefert, wenn alle
der durch die Verschiebeeinrichtung übertragenen Bits 0 sind.
Der in Fig. 6 dargestellte Chip liefert Boolesche logische Funktionen,
binäre arithmetische Funktionen und ein Satz von Datenleitfunktionen, wobei das Chip ein Repertoire von ungefähr 67
Funktionen aufweist. Wie oben erläutert, werden die Funktionen durch die Halb-Haupt-Bit-Eingänge Sq-S15 ausgewählt. Wie weiterhin
erläutert, kann der D-Ausgang durch das Funktionsbit S„ ausser
Betrieb gesetzt werden, wodurch ermöglicht wird, dass der Phantom-ODER-Verknüpfungsausgang (wire-0R) zu dem D-Bus 23 gelangt.
Das arithetmische Grundrepertoire besteht auss Addieren,
Subtrahieren, Komplementieren, um 1 Bit Verschieben und das logische Grundrepertoire besteht aus UND, ODER, EXKLUSIV ODER
und NICHT. Zusätzlich kann der Chip eine Bool'sche logische Funktion
auf die eine arithmetische Funktion folgt, in dem gleichen Mikrozyklus durchführen unter Verwendung des Maskennetzwerkes
102. Da die Verschiebeeinrichtung 104 zu einer 1-Bitverschiebung pro Zyklus gezwungen ist,·wird die externe Hochgeschwindigkeitsverschiebeeinrichtung
35, wie oben im Zusammenhang mit Fig. 2 und 5 erläutert, verwendet. Die Daten von dem B-Bus 22 werden in der
B-Bus-Verriegelung 103 zu Beginn jedes Mikrozykluses verriegelt und das Ergebnis der letzten Operation wird in dem Akkumulator
105 am Ende jedes Zykluses verriegelt. Da für den A-Anschluss des Chips keine interne Verriegelung vorgesehen ist, wird das
externe A-Register 83 zur Ermöglichung dieser Fähigkeit vorgesehen. Das komplette Repertoire des Chips sowie die Details seines
Aufbaues und seines Betriebes sind in der oben angegebenen
909810/0956
Motorola-Literafcurstelle beschrieben.
28378*2
Jeder der verwendeten Chips ist 4-Bits weit und parallel für den Datenfluss aufgeteilt. Der Chip ist auf die von den Prozessoren
17, 18 und 19 benötigten 40 Bits und die von dem Prozessor
27 benötigten 20 Bits durch parallele Verbindung der Schaltkreise erweitert. Insbesondere werden bei Realisierung der lokalen
Prozessoren 17, 18 und 19 10 Chips mit einer Weite von 4-Bits, wie in Fig. 6 dargestellt, verwendet, wobei die resultierenden
40-Bit .weiten A-, B- und D-Anschlüsse parallel mit dem 40-Bit weiten A-Busregister 83, dem B-Bus 22 bzw. dem D-Bus 23
verbunden sind. Der lokale Prozessor 27 ist aus 5 solcher Chips zusammengesetzt, wobei die resultierenden 20-Bit weiten A-, B-
und D-Anschlüsse parallel mit dem 20-Bit weiten Speicher 28, dem B^-Bus 29 bzw. dem D.-Bus 30 verbunden sind. Für jeden der
Prozessoren 17, 18, 19 und 27 werden die Funktionssteuerbits Sq-S15 parallel an alle Chips, die der Prozessor enthält, angelegt.
Die Verschiebeschaltkreise 104 für alle Chips in einem Prozessor sind bezüglich jedem anderen seriell verbunden, wobei
der MSB-Verschiebeeinrichtungsausgang eines Chips mit dem LSB des Chips nächsthöherer Ordnung verbunden ist. Die "NULL-Erfassungs"-Ausgänge
der in einem Prozessor enthaltenen Chips sind miteinander UND-verbunden, um die dynamische Variable "NULL-Erfassung"
für den Prozessor, wie oben im Zusammenhang mit Tabelle erläutert, zu liefern. Die Überlaufausgänge des signifikantesten
Chips von jedem der Prozessoren 17, 18, 19 und 27 liefert Eingänge zu der Entscheidungslogik 40 als Variable in die Entscheidungslogikschaltkreise,
die nachfolgend beschrieben werden.
Wie oben erläutert, können die 10 4-Bitchips, die in jedem der lokalen Prozessoren 17, 18 und 19 enthalten sind, in einer 36-Bitbetriebsweise
oder als 2 20 Bit-Prozessoren in der 2 χ 20-Bitbetriebsweise verbunden sind. Die Verbindungen der Leitungen
(G), (P), Ubertragseingang und Übertragsausgang mit dem Übertragsvorgriffs
schaltkreis (look ahead circuritry) wird nachfolgend im Zusammenhang mit der Aufbausteuerung der lokalen Prozessors
beschrieben. Eine Vorzeichenanzeige des errechneten 18-Bit-
909810/0956
oder des 36-Bit-Wertes ist in herkönunlicher Weise durch Verbindungen
mit den entsprechenden Vorzeichendigits des Akkumulators
vorgesehen.
Wie oben erläutert, liefern die DACT- und DACF-Felder des Mikrosteuerwortes
in dem Steuerspeicher 36 selektiv, in Übereinstimmung
mit dem Entscheidungspunkt 11, Adressen in die Steuertabeile
des aufgeschobenen Einsatzes in den Steuerschaltkreisen 41 zur
Steuerung der Durchführung der globalen aufgeschobenen Einsätze. In Fig. 7 ist die Steuertabelle 106 des aufgeschobenen Einsatzes
dargestellt. Die DAC-Tabelle 106 enthält einen Speicher zur Speicherung einer Vielzahl von Worten, die in Übereinstimmung mit
DACT und DACF adressiert sind, wobei deren Bits eine Haupt-Bit-Liste
(master bittet list) der durchzuführenden Aktionen liefert. Beispielsweise enthält der Speicher 106 24 Worte von jeweils 21
Bit, wobei jedes Bit eine einzelne Aktion steuert. Die Bitausgänge
aus dem Speicher 106 werden mit entsprechenden Steuerschaltkreisen verbunden zur Ausführung der bezeichneten Aktion
in Übereinstimmung mit den Zuständen der Bits. Beispielsweise steuert das Bit 0, das die Aktion P ^ IAR steuert, die übertragung
des Inhaltes des Programmzählers 31 in das Befehlsadressregister 12 durch Verbindung des Bit-O-Ausganges des Speichers
106 mit dem Abtastimpulseingang (strobe) des Registers 12. Folglich
wird, wenn ein Wort in dem Speicher 106 entweder an der
Adresse DACT oder der Adresse DACF selektiv unter der Steuerung
des DP 11 adressiert ist, die P ·* IAR-Übertragung stattfinden,
wenn das Bit 0 dieses Wortes auf 1 gesetzt ist, andernfalls nicht.
In ähnlicher Weise sind die anderen Bits des Speichers 106 mit den durch die einzelne aufgelistete Aktion bezeichneten Komponenten
verbunden, um die hierzu aufgeschobene Aktion zu steuern.
Einzelheiten der Steuerungsverbindungen werden später beschrieben.
Folglich bezeichnen die zwei Steuerspeicherfelder DACT und DACF
die einzelnen Auswahlen der aufgeschobenen Aktion für einen Mikrobefehl.
Die Tabelle 106 enthält ein Wort für jede Kombination der gewünschten aufgeschobenen Aktion. Einzelne aufgeschobene Aktionen
werden gleichzeitig auftreten, wenn verschiedene Bits in dem aus dem Speicher gelesenen Wort gesetzt sind. .
909810/0956
Die Auswahl, ob das Wort in dem Speicher 106, das durch das
DACT-FeId oder das, das durch das DACF-FeId adressiert ist, verwendet
wird, wird durch den Zustand von DP 11 gesteuert. Diese Auswahl wird durch Anwendung zweier identischer Speicher durchgeführt,
wobei einer durch DACT und der andere durch DACF adressiert ist, wobei die korrespondierenden Bits von dem Speicher an
der zu steuernden Einrichtung in Übereinstimmung mit DP 11 torgesteuert
werden. Beispielsweise werden die BRG-Bit-O-Bits von
den DACT- und DACF-Speichern mit der letzten signifikanten Stufe
des BRG-Registers 66 verbunden und das Bit von einem oder dem anderen Speicher wird unter der Steuerung von DP 11 in die se
Stufe geladen. Die Details für die selektive Steuerung der aufgeschobenen Aktion werden weiter unten beschrieben.
Viele der Kurzbezeichnungen, die die durchzuführende aufgeschobene
Aktion bezeichnen, beziehen sich auf Register und Verriegelungen, die oben im Zusammenhang mit Fig. 5 erläutert wurden.
Beispielsweise steuert die Grosse D -^ IAR das Plazieren des Wertes
auf dem D-Bus 23 in das Befehlsadressregister 12. Die "STORE OP"-Aktion steuert das Abspeichern des Operanden in dem
MDRW-Register 15 in den Arbeitsspeicher an der Adresse, in dem Operandenadressregister (OAR) 14. Der "FETCH NI"-Befehl bewirkt
ein Abrufen des nächsten Makrobefehles an der Adresse in dem IAR-Register 12 in das MIR-Register 13. Die "LOAD BRG-, BRG BIT 0-
und BRG BIT !"-Aktionen steuern das Laden des BRG-Registers 66 mit den Bits, die von den Bits 11 und 12 des Speichers 106 geliefert
werden. Die "STATICIZE"-Aktion setzt eine Verriegelung in den Steuerschaltkreisen 41, die als "STAT MEM" bezeichnet wird.
Der Ausgang der "STAT MEM"-Verriegelung liefert das "STAT"-Signal für das Befehls- und Adressen—Register 56. Es sei darauf hingewiesen,
dass die DO und D1-Bestimmungen sich auf die obigen im Zusammenhang mit Tabelle 4 erläuterten statischen Variablen beziehen
und dass die D ■* GRS (R)- und die D -} GRS (L)-Aktionen
beim Laden der rechten oder linken Seite des ausgewählten Registers des Mehrzweckregisterstapels 32 von dem D-Bus 23 verwendet
werden, wobei sich die linke Seite (L) auf die linken 20 Hauptbits des D-Bus 23 und die rechte Hälfte (R) auf dessen rechten
909810/0956
Hauptsbits bezieht.
Wie oben im Zusammenhang mit Fig. 4 erläutert, benötigt die Zentraleinheit 10 eine Vielzahl von Entscheidungen, die getroffen
werden müssen, um die bedingte Steuerung des Rechners zu ermöglichen. Die Entscheidungslogik 40 (Fig. 2 und 5) hat 12 Entscheidungspunkte
DP0-DP11 zur Ausführung der benötigten Steuerung in einer nachfolgend im Zusammenhang mit den Fig. 8 und 9 zu
beschreibenden Weise. Die Beziehungen zwischen den Entscheidungspunkten und den in Fig. 4 dargestellten MikroSteuerfeldern wurden
oben dargelegt, wo die binären Zustände der Entscheidungspunkte die Auswahl bestimmen. In der folgenden kurzen Darstellung wird
auf Fig. 9 Bezug genommen.
DPO steuert die tatsächliche Verzweigung durch Auswahl der Adresse NAT oder NAF in Übereinstimmung
mit dar durch JDS ausgewählten Funktion, wobei die Adresse NAT modifiziert sein kann, um einen
Vektorsprung im Hinblick auf die Klassenbasis, den Befehl und die Unterbrechungsvektoren unter
der Steuerung des XF-Feldes durchzuführen.
DP1 und DP2 sind mit den entsprechenden beiden letzten
signifikanten Bits der Adresse NAT ODER-verknüpft,
um eine bedingte 4-Wege-Vektorverzweigung durchzuführen. Die logischen Funktionen, die DPi
und DP2 liefern, werden durch die Felder VDSO bzw. VDS1 ausgewählt.
DP3 - DP6 wählen zwischen den LPFT- und LPFF-Funk-
tionssteuerfeldern für die entsprechenden Prozessoren
P1-P4 in Übereinstimmung mit den durch die
entsprechenden PDS-Felder ausgewählten logischen Funktionen. Diese Entscheidungspunkte steuern die
Phantomverzweigung der Zentraleinheit 10 in einer
909810/0956
weiter unten zu beschreibenden Weise.
DP7 - DP10 liefern die bedingte Steuerung für die
aufgeschobene Aktion für die entsprechenden lokalen Prozessoren P1, P2, P3 und P4 in Übereinstimmung
mit den durch die entsprechenden DDS-Felder ausgewählten logischen Funktionen. Diese
Entscheidungspunkte werden in Verbindung mit dem OUT-, WLM-, WLMA- und SCS-FeId verwendet, um die
Inhalte der Akkumulatoren der lokalen Prozessoren P1, P2 und P3 auf den D-Bus 23 bedingt zu plazieren,
in die lokalen Speicher 24, 25, 26 und 28 einzuschreiben und die statischen Steuervariablen
SC1-SC7, wie oben im Zusammenhang mit Tabelle 4 erläutert, zu setzen.
DP11 steuert die globale aufgeschobene Atkion durch
eine Wahl zwischen den DACT- und DACF-Adressen in der Steuertabelle der aufgeschobenen Aktion
von Fig. 7 in Übereinstimmung mit der von dem DADS-FeId ausgewählten logischen Funktion.
Wie ersichtlich, werden die oben angeführten Entscheidungen durch die binären Zustände der Entscheidungspunkte in Übereinstimmung
mit der ausgewählten logischen Funktion durchgeführt. Die Zentraleinheit
10 verwendet 24 statische Variable und 16 dynamische Variable, die wahlweise als Eingänge an die logischen Funktionen
angelegt werden, wobei die Variablen oben in Fig. 4 angegeben sind. Die statischen Variablen besitzen Werte, die vor dem Start
eines Mikrozyklus vorhanden sind und während mehrerer Mikrozyklen vorhanden sein können. Die dynamischen Variablen werden
während eines Mikrozyklus berechnet, etwa bei tg_ des 100 Nanosekundenzyklus,
wobei der Ergebnisentscheidungspunkt einen Wert bei ungefähr tg,- benötigt. Generell könnten die Logikfunktionen
für die Zentraleinheit 10 als Logik mit direkten Zugriff ausgeführt werden, wobei die benötigten Variablen hiermit fest verdrahtet
sind.
909810/0956
Um sowohl eine Flexibilität als auch die Wirtschaftlichkeit der
Hardware zu erreichen, werden die logischen Funktionen der Entscheidungslogik 40 dadurch berechnet, dass die Wahrheitstabellen
der Funktionen in Speichern gespeichert werden, die als Logik- . funktionsrechner bezeichnet sind, und durch Aufsuchen des richtigen
Einganges der Wahrheitstabelle durch Anlegen der Werte der Variablen als Eingänge an die Adressleitungen des Speichers. Der
Speicherausgang wird dann zu dem zugeordneten Entscheidüngspunkt
geleitet. Wird z.B. gewünscht, das "EXKLUSIV ODER" einer statischen
Variablen SVT und einer dynamischen Variablen DVt zu berechnen, wobei F = SVI'DVT + SVT*DV1, so lautet die Wahrheitstabelle für diese logische Funktion!
SVT | DV1 | F |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Diese Tabelle kann folglich in einem 4-Wort-zu-1-Bit-Speicher
gespeichert sein, so dass die Inhalte des Speichers sind:
ADRESSE INHALTE
0 | 0 |
0 | 1 |
1 | 0 |
1 | 1 |
0
1
1
0
1
1
0
Folglich ist, wenn die Variablen SV1 und DVI an die Adressleitungen
des Speichers angelegt sind, der Wert der Ausgangsleitung gleich dem Wert der Funktion F. In einem einzelnen Speicher sind
viele solche Wahrheitstabellen gespeichert, wobei die Adressleitungen
niedriger Ordnung mit den Steuervariablen und die Adressleitung höherer Ordnung mit den Steuerspeicherfeldern, die zur
Auswahl der zu errechnenden Funktion benutzt werden, verbunden
sind.
909810/0958
Da die statischen Variablen zu Beginn des Mikrozykluses erhältlich
sind und die dynamischen Variablen nur bis zum Ende des Mikrozyklus erhältlich sind, kann die Geschwindigkeit der Entscheidungslogik
40 durch Falten der Wahrheitstabelle für die logische Funktion in dem Speicher vergrössert werden, so dass
sie breiter ist als das oben beschriebene 1 Bit. Das Speicherwort kann dann in Abhängigkeit nur von den statischen Variablen
gelesen werden, wobei die Auswahl zwischen den Auslesebits des durch die statischen Variablen adressierten Wortes durch die
dynamischen Variablen ausgeführt wird. Folglich könnten die Speicherinhalte in dem obigen Beispiel wie folgt sein:
0 0 1
1 1 0
DV1 = "1" DV1 = "0"
Hierbei wird es als günstig beurteilt, dass das Lesen des Speichers
in Übereinstimmung mit den statischen Variablen 2 Informationsbits liefert und dass die dynamische Variable dazu verwendet
wird, auszuwählen, welches der beiden Bits das richtige ist. Dies erlaubt, dass der Speicher gelesen wird, bevor die dynamische
Variable erhältlich ist, wodurch sich das Speicherlesen mit der Errechnung der dynamischen Variablen überlappt, wodurch die Geschwindigkeit
des Entscheidungsnetzwerkes vergrössert wird.
Im folgenden wird auf Fig. 8, die aus den Fig. 8a-b zusammengesetzt
ist, Bezug genommen, in der die in der Zentraleinheit 10 verwendete Entscheidungslogik 40 dargestellt ist. Die überall in
der Maschine verwendeten 24 statischen Variablen sind so dargestellt, als seien sie in einem 24-BitPufferspeicher 110 gesammelt,
wobei jedes Bit den Momentanzustand der hierzu zugeordneten statischen Variablen liefert, in ähnlicher Weise sind die in der
Zentraleinheit 10 benutzten 16 dynamischen Variablen so darge-
909810/0958
stellt als seien sie in dem 16-Bitpufferspeicher 111 zusammengefasst.
Die 24 Ausgänge des Pufferspeichers 110 sind in 6 Gruppen
von jeweils 16 Ausgängen zusammengefasst und werden als Eingang
an sechs 1-aus-16-Multiplexern 112 angelegt, die als Selektoren
der statischen Variablen verwendet werden. Die Gruppen der 16
Eingänge der statischen Variablen zu jedem der Multiplexer 112
sind geordnet, wodurch jede statische Variable als Eingang zu mindestens einem der Multiplexer angelegt ist, wobei zur Bequemlichkeit
in Übereinstimmung mit der Verwendung der Variablen einige der Variablen an mehr als einen Multiplexer angelegt sind.
Die Auswahl-Bit-Eingänge zu den entsprechenden Multiplexern 112 werden von den Auswahlfeldern der statischen Variablen SVO - SV5
des Mikrobefehles geliefert. Folglich liefern die 4-Bit-Auswahlfelder
SVO - SV5 während jedes Mikrozykluses 6 statische Variable SVq - SV5, die aus den 24 statischen Variablen, die von dem
Pufferspeicher 110 geliefert werden, ausgewählt werden.
In ähnlicher Weise werden die 16 dynamischen Variablen aus dem Pufferspeicher 111 als Eingänge zu sechs 1-aus-16-Multiplexern
113 geliefert, die als Selektoren der dynamischen Variablen verwendet
werden. Die 4-Bit4uswahleingänge der Multiplexer 113 sind
entsprechend verschaltet, um die Auswahlfelder DVO - DV5 der dynamischen Variablen von dem Mikrobefehl zu empfangen. Folglich
wählen während jedes Mikrozykluses die Auswahlfelder der dynamischen
Variablen 6 dynamische Variablen DV-. - DV- aus den 16 von
dem Pufferspeicher 111 gelieferten dynamischen Variablen aus#zur
Anwendung als Eingänge zu den in der Maschine verwendeten logischen Funktionen.
Die Entseheidungslogik 40 enthält 6 Logikfunktionsrechner 114,
die als LFCO - LFC5 bezeichnet sind. Jeder der Logikfunktionsrechner
114 enthält einen 64-Wort-zu-4-Bit-Wortspeicher zum Speichern von 16 logischen Funktionen mit 4 Variablen, die aus
2 statischen und 2 dynamischen Variablen bestehen. Folglich benötigt die Adressierung jedes der Logikfunktionsrechner 114 einen
6-Bit-Adresseingang. Die 4 signifikantesten Adresseingänge werden zur Auswahl der einen benötigten von 16 gespeicherten Logikfunk-
909810/0956
tionen verwendet und diese 4 Adresseingänge zu den 6 Logikfunktionsrechner
LFCO - LCF5 werden von den entsprechenden Logikfunktionsrechnersteuerfeldern
LFCO - LFC5 des Mikrobefehles geliefert. Die von den Selektoren 112 der statischen Variablen
gelieferten statischen Variablen SV_ - SV5 werden, wie dargestellt,
mit den beiden letzten signifikanten Adresseingangsbits des Logikfunktionsrechners 114 verbunden, wobei der Ausgang jedes
der Selektoren 112 der statischen Variablen mit zwei verschiedenen Adresseingängen des Logikfunktionsrechners 114 zur besseren
Flexibilität verbunden ist« Folglich liefert jeder der Logikfunktionsrechner LFCO - LCF5 einen 4-Bit-iusgang, der das Ergebnis
des Anlegens der 2 ausgewählten statischen Variablen SV an die Logikfunktion, die durch das Logikfunktionsauswahlfeld LFC
ausgewählt wurde, darstellt. Jedes der Ausgangsbits aus den Logikfunktionsrechnern ist durch eine Legende mit 2 Ziffern bezeichnet,
wobei die erste Ziffer den einzelnen Logikfunktionsrechner und die zweite Ziffer die Bitzahl des Ausganges darstellt.
Bezugsnehmend auf Fig. 8 werden die Ausgänge der Logikfunktionsrechner
114 an 12 Entscheidungs- und Funktionswertselektoren
bis 126 (gezeigt in Fig. 8a) angelegt, die, in Abhängigkeit von ausgewählten Bits des Mikrosteuerwortes und der ausgewählten
dynamischen Variablen die entsprechenden Entscheidungspunkte DPO - DP11 liefern. Der Entscheidungs- und Funktionswertselektor
115 besteht aus einem Entscheidungsselektor 127, der aus vier 1-aus-4-Multiplexern besteht, die Eingangssignale von 4 der
Logikfunktionsrechner 114 erhalten. Die Eingänge der Multiplexer 127 werden gemeinsam durch das 2-Bit-JDS-Feld des Mikrosteuerwortes
ausgewählt. Wie durch die Legenden angezeigt, wird der entsprechende Eingang für jeden der Multiplexer 127 durch die
4 Ausgangsbit eines der Logikfunktionsrechner 114 geliefert. Der
Entscheidungsselektor 127 empfängt daher die Ausgänge von den Logikfunktionsrechnern LFCO - LFC3, wobei er die Auswahl zwischen
ihnen auf der Basis des wertes des JDS-Feldes trifft.
Die 4-Bits des ausgewählten Logikfunktionsrechners werden als
909810/0956
Eingänge zu einem Funktionswertselektor 128 angelegt, der aus
einem 1-aus~4-Multiplexer besteht, wobei dessen Ausgang den Entscheidungspunkt
0 liefert. Die Auswahl der 4 Eingänge des Multiplexers 128 wird von den dynamischen Variablen DVQ und DV. aus
den Selektoren 113 der dynamischen Variablen geliefert. Folglich
wird der Ausgang eines der Logikfunktionsrechner LFCO - LFC3 durch das JDS-FeId ausgewählt, dessen Logikfunktionsrechnerausgang in Übereinstimmung mit den ausgewählten statischen Variablen
geliefert wird und wobei der Endwert des Entscheidungspunktes 0 dann durch die ausgewählten dynamischen Variablen bestimmt ist.
Folglich liefert der Entscheidungs- und Funktionswertselektor 115
in Abhängigkeit von dem JDS-FeId den Wert des Entscheidungspunktes
0, der die tatsächliche Verzweigung der Zentraleinheit 10 steuert.
In gleicher Weise werden die Werte der übrigen Entscheidungspunkte
DP1 - DP11 unter der Steuerung der Mikrosteuerwortfeider bestimmt,
die durch die Legenden bezeichnet sind, um die obige im Zusammenhang
mit diesen Feldern und Entscheidungspunkten erläuterte Möglichkeit der Entscheidungssteuerung vorzusehen. Weitere Einzelheiten der Anwendung dieser Felder und Entscheidungspunkte werden
weiter unten erläutert.
Als Beispiel für den Betrieb der Entscheidungslogik 40 sei eine
Situation mit 2 statischen Variablen S und T und 2 dynamischen Variablen D und E betrachtet. Wenn die gewünschte Funktion
F= (S -V- T) A (D VE) ist und diese Funktion als dritte durch
LFC3 berechnete Funktion gespeichert ist, dann hätte der LFC3-programmierbare Nur-Lesespeicher folgende Inhalte:
909810/0956
Wortadresse | S | T |
LFC3 | 0 | 0 |
0011, | 0 | 1 |
0011, | 1 | 0 |
0011, | 1 | 1 |
0011, | ||
3. Funktion | ||
Inhalt
Bit 3
Bit
2
2
Bit
1
1
Bit 0
0 0 0 0
0
1
1
0
1
1
0
0
1
1
0
1
1
0
0 1 1 0
Die S und T-Bits sind die Adressbits niedriger Ordnung des Speichers.
Folglich, wenn S=1 und T=O, wird der Speicherausgang zu 0 111. Die D und Ε-Bits steuern dann, welcher Wert (1 oder 0)
an dem Entscheidungspunkt erhalten wird. Wenn entweder D oder E gleich 1 sind, dann wird eine 1 zu dem Entscheidungspunkt geleitet.
Sind D und E gleich 0, dann wird eine 0 zu dem Entscheidungspunkt geleitet. In der Tabelle sind 16 Zellen vorgesehen,
die mit den 16 Spalten einer herkömmlichen Darstellung einer Wahrheitstabelle mit 4 Eingangsvariablen und der gegebenen Funktion
übereinstimmen. Folglich ist es als günstig anzusehen, dass, während der Speicher in Übereinstimmung mit den Funktions- und
den statischen Variablen adressiert ist, die dynamischen Variablen für den abschliessenden Weiterleitungsprozess errechnet werden,
wenn das Wort aus dem Logikfunktionsrechner-PROM verfügbar ist.
Es sei darauf hingewiesen, dass weder eine binäre 1 noch eine binäre 0 als Variable in der Zentraleinheit 10 vorgesehen ist.
Allerdings können die Logikfunktionsrechner 114 so codiert sein,
dass "nicht wachsam"-Situationen ("don't care" situations) zugelassen sind, wenn weniger als 4 Variable bei der Errechnung einer
logischen Funktion verwendet werden. Beispielsweise!, wenn ge-
909810/0956
wünscht ist, die Punktion F=S A D zu errechnen, so kann der programmierbare
Nur-Lesespeicher zur Lieferung dieser Funktion wie folgt aufgebaut sein:
T | Bit | Inhalt | Bit Bit | I | |
Wortadresse | 0 | 3 | Bit | 1 0 | |
LFC S | 1 | 0 | 2 | 0 0 | |
0101 , 0 | 0 | 0 | 0 | 0 0 | |
0101 , 0 | 1 | 0 | 0 | 1 1 | |
0101, 1 | 0 | 0 | 1 1 | ||
0101, 1 \ .a |
0 | ||||
5. Funktion | D= 1 E=O |
||||
D=O ]
E=OJ |
|||||
Folglich ist die Funktion das 2 Eingangs-UND, wobei die Variablen
T und E ignoriert werden. Es sei darauf hingewiesen, dass die Entscheidungsselektoren für DP1 und DP2 (die errechneten
Vektorsprungbits) als einen Eingang eine logische 0 verfügbar
haben, um zu vermeiden, dass ein Logikfunktionsrechner zur Lieferung dieser primitiven jedoch allgemein verwendeten Funktion angewandt
wird. Die logische 0 wird auf einer Leitung 129 (Fig. 8a) zu dem 4. Eingang jedes der Entscheidungs- und Funktionswertselektoren
116 und 117 geliefert, die DP1 bzw. DP2 liefern.
Obwohl die Entscheidungslogik 40 so beschrieben wurde, dass zuerst
die Logikfunktion in Übereinstimmung mit den statischen Variablen ausgewählt wird und dann die Logikfunktionsausgangswerte
mittels der dynamischen Variablen weitergeleitet werden, so kann die Entscheidungslogik 40 alternativ auch so ausgeführt
sein, dass sowohl statische und dynamische Variable verwendet werden, die Adressierung des Logikfunktionsrechners durchzuführen,
und zwar unter Verwendung von 1 Bit weiten Proms. Die oben
909810/0956
beschriebene Anordnung wird jedoch aufgrund der ermöglichten Geschwindigkeit
svorteile bevorzugt.
Die Zentraleinheit 10 besitzt unter der Steuerung des im Zusammenhang
mit Fig. 4 dargestellten und beschriebenen Mikrobefehlsformates die Fähigkeit, drei verschiedene Arten von Entscheidungen
während jedes Mikrozykluses durchzuführen. Die Zentraleinheit 10 besitzt die Fähigkeit, tatsächliche Verzweigungen, Phantomverzweigungen
und bedingte aufgeschobene Aktionen durchzuführen.
Bei einer tatsächlichen Verzweigung wählt DPO, das durch JDS bestimmt ist, aus, ob entweder KAT oder NAF als Adresse des
nächsten Mikrobefehles abgerufen und ausgeführt wird. Wird NAF ausgewählt, so wird diese Adresse ohne Modifikation als Adresse
des Steuerspeichers 36 für den nächsten Zyklus verwendet. Wird NAT gewählt, so können ihre beiden Bits niederer Ordnung durch
DP1 und DP2 modifiziert werden, was durch VDSO bzw. VDS1 ausgewählt wird, um die Vektorsprünge durchzuführen. Zusätzlich kann
NAT mit einem Vektor modifiziert werden, der von dem Inhalt des XF-Feldes abhängt, wie oben im Zusammenhang mit Tabelle 1 erläutert.
Die Zentraleinheit 10 besitzt weiterhin die Fähigkeit, Phantomverzweigungen
durchzuführen, wobei DP3 - DP6 für die lokalen Prozessoren 17, 18, 19 und 27 entweder das LPFT- oder LPFF-FeId
auswählen, das dem lokalen Prozessor zugeordnet ist, um die Funktionsbits zur Steuerung dessen Betriebes zu liefern. Die DP3 DP6
Entscheidungen werden unter der Steuerung der zugeordneten PDS-Felder durchgeführt. Die Möglichkeit der Phantomverzweigung
eliminiert die Notwendigkeit, viele tatsächliche Verzweigungen, die andernfalls benötigt würden, durchzuführen. Aufgrund der beschriebenen
3-Wege-Mikrobefehlsüberlappung ist es wünschenswert,
tatsächliche Verzweigungen zu vermeiden. Die 3-Wege-Mikrobefehlsüberlappung
kann zu Leer-Mikrozyklen (wasted mcro cycles) führen,
909810/0956
wenn eine tatsächliche Verzweigung durchgeführt wird, da das Abrufen
des Mikrobefehles mit der Ausführung des Mikrobefehles überlappt ist. Folglich kann der ausgeführte Befehl eine Bedingung
errechnen, die anzeigt, dass eine Verzweigung durchgeführt werden sollte, wobei jedoch der nächste Mikrobefehl bereits abgerufen ist und ausgeführt werden muss. Die Fähigkeit zur Phantomverzweigung
erlaubt, dass zwei verschiedene Wege in einem Befehl codiert sind, woraus sich die Notwendigkeit, einen Befehl
zu überspringen, wenn eine tatsächliche Verzweigung vorgenommen wird, erübrigt. Folglich schafft die Phantomverzweigung die Möglichkeit,
eine von zwei möglichen Funktionen für jeden lokalen Prozessor auszuführen, während des Mikrozyklus n, basierend auf
den verhältnismässig spät aus dem Zyklus n-1 erhaltenen arithmetischen
Resultaten. Daher hat die Zentraleinheit 10 die Fähigkeit, eine Mikrobefehlssubroutine wirksam in Abhängigkeit von
einer Bedingung auszuführen, ohne dass eine tatsächliche Verzweigung mit dem dazugehörigen Zeitverlust erforderlich ist. Es
wird besonders geschätzt, dass die Möglichkeit zur Phantomverzweigung wesentlich zur Geschwindigkeit der Zentraleinheit 10
beiträgt, wodurch eine beachtliche Anzahl von Entscheidungsausführungen erhalten wird. ·
Die Zentraleinheit 10 besitzt weiterhin die Fähigkeit, aufgeschobene
Aktionen in Abhängigkeit von Bedingungen durchzuführen, aufgrund bedingter Steuerung der Weiterleitung der Daten, der
in der Maschine errechneten Variablen und Bedingungen sowie zu und von dem Hauptspeicher 11. Dieses Weiterleiten (routing) wird
als aufgeschobene Aktion (deferred action) bezeichnet, da es in dem Mikrozyklus auftritt, der auf den Zyklus folgt, in dem der
Mikrobefehl, in welchem er spezifiziert war, ausgeführt wurde. Wie oben beschrieben, sind lokale aufgeschobene Aktionen den
lokalen Prozessoren 17, 18, 19 und 27 zugeordnet, die durch das DDS-FeId gesteuert werden. Im einzelnen enthält die Steuerung
der lokalen aufgeschobenen Aktion das Plazieren des Inhaltes des Akkumulators eines ausgewählten lokalen Prozessors auf den D-Bus
23 unter der Steuerung des OüT-Feldes. Eine zusätzliche lokale
aufgeschobene Aktion umfasst das Schreiben des Wertes des D-Bus
909810/0956
23 in den lokalen Speicher eines speziellen lokalen Prozessors unter der Steuerung des WLM-Feldes. Eine weitere lokale aufgeschobene
Aktion enthält das Laden des errechneten Bedingungswertes, um die Entscheidung der aufgeschobenen Aktion für den
speziellen lokalen Prozessor durchzuführen für eines von sieben Flip-Flops der statischen Variablen in den Steuerkrsisen 41. Das
SCS-FeId spezifiziert die einzelne statische Variable, die, wie oben im Zusammenhang mit Fig. 4 erläutert, gesetzt werden soll.
Einige aufgeschobene Aktionen sind globaler Art. Diese Aktionen wurden oben im Zusammenhang mit Fig. 7 erläutert und stehen unter
der Steuerung des DADS-Feldes. Folglich wählt das DADS-FeId
(deferred action decision selector) die Aktion aus, die mit arithmetischen
Ergebnissen ausgeführt werden soll. Das DDS, das lokal ist, wählt einen von drei Prozessoren P1, P2 und P3 aus, eine
Quelle für den D-Bus 23 zu sein und DADS, das global ist, wählt eine Bestimmung aus, die zum Beispiel die verschiedenen in Fig. 5
dargestellten und oben im Zusammenhang mit dieser Figur erläuterten Register enthält.
Im folgenden wird auf Fig. 9 Bezug genommen, in der ein Flussdiagramm
dargestellt ist, das die Ausführung eines Mikrobefehles darstellt, wobei die einzelnen hierdurch gesteuerten Entscheidungen
abgebildet sind. Das Flussdiagramm der Fig. 9 stellt den Mikrobefehl dar, der während des Mikrozyklus η ausgeführt werden
soll.. Der Mikrobefehlseingangspunkt ist durch ein Oval 140 dargestellt,
der mit einem Entscheidungsrhombus 141 verbunden ist. Der Entscheidungsrhombus 141 stellt die Entscheidung dar, die durch
DPO in Übereinstimmung mit dem von dem JDS-FeId des Mikrobefehles ausgewählten Logikfunktionsrechners ausgeführt wird. Der Entscheidungsrhombus
141 wählt die Adresse des während des Zyklus η + 1 auszuführenden Mikrobefehles aus. Eine Verzweigung der DPO-Entscheidung
führt zu dem NAF-Adressenoval 142, während die andere
Verzweigung zu dem NAT-Adressenoval 143 führt. Wenn die
"NEIN"-Verzweigung des Entscheidungsrhombus 141 gewählt wird, so
wird das Adressenfeld NAF des Mikrobefehles als Adresse des nächsten Mikrobefehles ohne weitere Bedingung ausgewählt. Wird die
909810/0956
"JA"-Verzweigung des Entscheidungsrhoinbus 141 gewählt, so wird
das Adressenfeld NAT des Mikrobefehles als Adresse des nächsten Mikrobefehles ausgewählt, wobei das NAT-FeId durch DP1 und DP2
modifiziert werden kann in Übereinstimmung mit der durch die VDSO und VDS1-Felder ausgewählten logischen Funktionen, um eine
steuerbare 4-Wege-Verzweigung aus dem Oval 143 auszuwählen, wie oben erläutert wurde. Die Adresse NAT kann auch in Übereinstimmung
mit dem XF-FeId (in Fig. 9 nicht dargestellt) modifiziert werden, wie oben im Zusammenhang mit Tabelle 1 erläutert wurde.
Ein Weg aus dem Entscheidungsrhombus 141, der "immer" genommen wird, führt zu Auswahlrhomben 144 bis 147 der Phantomverzweigungsentscheidung.
Diese Rhomben stellen die Phantomverzweigungsentscheidungen dar, die für die lokalen Prozessoren P1, P2, P3
und P4 geliefert werden in Übereinstimmung mit den entsprechenden binären Entscheidungspunkten DP3 - DP6 unter der Steuerung
der Logikfunktionsrechner, die durch die entsprechenden PDS-Felder
des Mikrobefehles ausgewählt werden. Die "JA"- und "NEIN"-Verzweigungen aus jedem der Rhomben 144 - 147 führen zu zwei
Aktionsblöcken, die mit einfach bzw. zweifach gestrichenen Bezugszeichen entsprechend den Bezugszeichen des zugeordneten Entscheidungsrhombus
bezeichnet sind. Der Aktionsblock, der mit der "JA"-Verzweigung des Phantomverzweigungsauswahlselektors führt,
bezeichnet das LPFT-Funktionsfeld des Mikrobefehles und der Aktionsblock,
der der "NEIN"-Verzweigung zugeordnet ist, bezeichnet dessen "LPFF-Funktionsfeld. Folglich wird, in Übereinstimmung mit
der in den Rhomben 144 - 147 ausgeführten binären Entscheidung, der entsprechende zugeordnete lokale Prozessor P1 - P4 gesteuert,
um die durch das ausgewählte der LPFT- oder LPFF-Felder spezifizierte
Funktion auszuführen.
Das Mikrobefehlesflussdiagramm der Fig. 9 enthält weiterhin eine Linie zur Darstellung des Wertes auf dem B-Bus 22, wie durch die
Legende angedeutet, wobei dieser Wert an den B-Eingangsanschluss der lokalen Prozessoren P1, P2 und P3 angelegt ist.
Die Funktionsblöcke für jeden der lokalen Prozessoren P1 - P4
909810/0956
führen zu entsprechenden geschwungenen Klammern 148 - 151, die
die Ausgangssteuerung der bedingten aufgeschobenen Aktion enthalten. Die Entscheidungsklammern 148 - 151 steuern die Ausgabe und
das Weiterleiten von Daten aus den lokalen Prozessoren in Übereinstimmung mit den entsprechenden binären Entscheidungen an den
Entscheidungspunkten DP7 - DP1O unter der Steuerung der von den zugeordneten DDS-Feldern ausgewählten Logikfunktionsrechnern.
Die "JA"- und "NEIN"-Verzweigungen aus jeder der Entscheidungsklammern 148 - 151 führen zu zwei Blöcken der aufgeschobenen Aktion,
die mit einfach bzw. zweifach gestrichenen Bezugszeichen entsprechend den der Entscheidungsklammer zugeordneten Bezugszeichen. Die Entscheidungsklammern 148 - 151 und die zugeordneten
Aktionsblöcke steuern wahlweise die Ausgabe und das Weiterleiten von Daten aus den lokalen Prozessoren und können dazu verwendet
werden, den Ausgang des zugeordneten lokalen Prozessors P1 e P2
oder P3 zu dem D-Bus 23 in Bereitschaft zu setzen oder können bewirken, dass der dem lokalen Prozessor zugeordnete lokale Speicher
in Übereinstimmung mit dem Wert auf dem D-Bus 23 beschrieben wird. Die Entscheidungsklammern148 - 151 und die zugeordneten
Aktionsblöcke können auch dazu verwendet werden, eine der sieben Hardware-flags in den Steuerkreisen 41 zu setzen oder zu löschen,,
wobei die Flags später abgefragt werden können, um zu erlauben, dass Entscheidungen auf dem Ausgeben der einzelnen DDS-Entscheidung
basieren.
Das Mikrobefehlsflussbild enthält weiterhin eine Entscheidungsklammer
152, die die binäre Entscheidung DP11 darstellt, in Übereinstimmung
mit dem von dem DADS-FeId ausgewählten Logikfunktionsrechner. Die Entscheidung 152, die die Entscheidung der globalen
aufgeschobenen Aktion liefert, wählt die Aktion aus, die mit den arithmetischen Resultaten ausgeführt werden soll, in Übereinstimmung
mit den Aktionsblöcken 152' und 152'', die die Auswahl der
Adressen DACT und DACF für die Steuertabelle der aufgeschobenen Aktion darstellen, die oben im Zusammenhang mit Fig. 4 erläutert
wurde. Folglich sei darauf hingewiesen, dass DDS, das lokal ist, einen der drei Prozessoren P1, P2 und P3 in Übereinstimmung mit
den Entscheidungsklammern 148 - 150 auswählen kann, eine Quelle
909810/0956
2837851
für den D-Bus 23 zu sein, und das DADS-FeId, das global ist,
eine Bestimmung in Obereinstimmung mit der Entscheidungsklamraer
152 auswählt. Die Bestimmungen sind die verschiedenen in Fig. 5 dargestellten und oben erläuterten Register.
Obwohl die Entscheidungsklammern 148 - 152 der aufgeschobenen
Aktion in dem Flussdiagramm für den während des Mikrozyklus η
ausgeführten Mikrobefehl dargestellt sind, steuern die DDS- und DADS-Felder tatsächlich die Aktion, die mit den während des
Zyklus η - 1 erhaltenen Ergebnissen durchgeführt wird. Aus diesem
Grunde sind diese Entscheidungsklammern mit einem schraffierten Teil in dem Flussdiagramm dargestellt. Der Bequemlichkeit halber sind Entscheidungsklammern 148*'* - 152"·' vorgesehen,
um die bedingten Ausgangssteuerentscheidungen aus den Klammern
148 - 152 des vorhergehenden Mikrozykluses zu wiederholen.
Wie oben beschrieben, stellt das Flussdiagramm der Fig. 6 den
während des Zyklus η durchzuführenden Mikrobefehl dar. Es sei
darauf hingewiesen, dass am Ende des Zyklus η - 1 alle zwölf Entscheidungspunkte DPO - DP11 Werte vorliegen haben, so dass die
hierzu zugeordneten Entscheidungen ausgeführt werden können. Die Entscheidungen, die DPO - DP6 zugeordnet sind, werden während des
Mikrozyklus η ausgeführt und die Entscheidungen, die DP7 - DP11
zugeordnet sind, werden während des Mikrozyklus η + 1 durchgeführt. Folglich sind in den gesamten Entscheidungen drei Zyklen,
nämlich η - 1, η und η + 1 enthalten. Dies kann als Fähigkeit
zur drei-dimensionalen Entscheidung angesehen werden.
Im folgenden wird auf Fig. 10 Bezug genommen, in der ein Zeitdiagramm der simultanen und sequentiellen Operationen dargestellt
ist, die in der Zentraleinheit 10 während eines Mikrozyklus auftreten.
Die von den Legenden bezeichneten Zeitintervalle sind in Nanosekunden angegeben und folglich wird darauf hingewiesen, dass
die Zentraleinheit 10 mit einem 100 Nanosekunden Mikrozyklus arbeitet.
Wie durch die Legenden angedeutet, sind die Entscheidungspunkte DPO- DP11 zum Ende des vorhergehenden Mikrozyklus gültig
und werden durchgegeben und verriegelt zur Verwendung in dem lau-
909810/0956
fenden Mikrozyklus.
Um die Prozessorgeschwindigkeit wesentlich zu vergrössern, wurden die Zentraleinheit 10 und das in dem Steuerspeicher 36 gespeicherte
Mikrorepertoire entsprechend ausgebildet, wodurch die Ausführung der Mikrobefehle mit einer "Tiefe" von drei überlappt wurde.
Primär treten die drei nachfolgenden Aktivitäten in einem einzigen Mikrozyklus auf, jedoch im Hinblick auf drei verschiedene
Mikrobefehle.
1. Ausführen der aufgeschobenen Aktion für den
Mikrobefehl η - 1.
2. Ausführen der Funktionen des lokalen Prozessors für den Mikrobefehl n.
3. Lesen des Mikrobefehles η + 1 aus dem Steuerspeicher 36. Zusätzlich Ausführen der Entscheidung
für die aufgeschobene Aktion für den Mikrobefehl n.
Die relative Zeiteinteilung für diese Aktionen während eines Mikrozykluses
ist in Fig. 11 dargestellt.
In Fig. 12 sind drei aufeinanderfolgende Mikrozyklen dargestellt, die die funktioneile Überlappung der Zentraleinheit 10 zeigen. Es
sei darauf hingewiesen, dass während des Mikrozyklus 3 der Mikrobefehl η + 2 abgerufen wird, das Rechnen für den Mikrobefehl η +
auftritt und die von dem Mikrobefehl η erhaltenen Ergebnisse gespeichert werden. Obwohl die Makrobefehle nicht überlappt sind,
tritt ein Vorabrufen des nächsten Makrobefehles auf, wie oben im Zusammenhang mit der Steuertabelle der aufgeschobenen Aktion der
Fig. 7 beschrieben, bei der die Zeiteinteilung des "FETCH NI"-Bit das Vorabrufen steuert.
Es sei darauf hingewiesen, dass die überlappte Betriebsweise der Zentraleinheit 10 nicht durch überspringen von Zyklen herabgesetzt
90 3810/0956
wird, wenn bedingte Sprünge von Mikrobefehlen ausgeführt werden,
und zwar wegen des bedingten Abrufens des nächsten Mikrobefehles in einer tatsächlichen Verzweigung unter der Steuerung von DPO,
DP1 und DP2, aufgrund der phantomverzweigten bedingten Auswahl der richtigen Funktion, die durch die lokalen Prozessoren unter
der Steuerung von DP3 - DP6 ausgeführt werden sollen und aufgrund der in aufgeschobener Aktion vorgenommenen bedingten Speicherung
von Werten, die während des vorhergehenden Mikrozyklus unter Steuerung von DP7 - DP11 berechnet wurden. Folglich wird die
überlappte Ausführung (von Befehlen) mit einem minimalen Zeitnachteil aufgrund der bedingten Sprünge und Verzweigungen durchgeführt.
Jeder Mikrobefehl enthält die Adressinformation NAF und NAT der tatsächlichen Verzweigung, die Phantomverzweigungsfunktionswahlen
LPFT und LPFF sowie die oben erläuterten Felder der aufgeschobenen Aktion, so dass die Zentraleinheit kontinuierlich
tatsächliche Verzweigungen, Phantomverzweigungen und bedingte Verzweigungen
der aufgeschobenen Aktion in einem in Fig. 12 dargestellten, durchlaufenden Rhythmus ausführt, wodurch die Möglichkeit
übersprungener Zyklen vermindert wird.
Daher wird besonders geschätzt, dass die Phantomverzweigung dazu benützt werden kann, die Notwendigkeit tatsächlicher Sprünge zur
Ausführung zugeordneter Funktionen zu vermeiden und dass sie zusätzlich Zyklen spart. Die bedingte aufgeschobene Aktion vermeidet
ebenfalls Leerzyklen, wenn tatsächliche Sprünge ausgeführt werden, da sie erlaubt, dass ein Sprung zu irgendeinem Mikrobefehl
vorgenommen wird, ohne dass ein Leerzyklus benötigt wird, um auf das Abspeichern errechneter Variabler zu warten. Alle Entscheidungen,
die zu einer Aktion in dem Mikrozyklus η führen, werden am Ende des Mikrozyklus η - 1 getroffen, basierend auf der
Information in dem Mikrozyklus, der während des Mikrozyklus η aus dem Steuerspeicher 36 ausgelesen wurde. Die während des Mikrozyklus
η durchzuführende aufgeschobene Aktion wird in dem Mikrozyklus spezifiziert, der während des Mikrozyklus η - 2 aus dem
Steuerspeicher 36 ausgelesen und während des Mikrozyklus η - 1 ausgewertet wurde. Die relevanten Steuerspeicherfelder DACT, DACF,
OUT, WLM und SCS werden während des Zyklus η - 1 zur Verwendung
909810/0956
während des Zyklus η in einer weiter unten zu beschreibenden Weise aufbewahrt.
Fig. 13 zeigt ein Beispiel der Möglichkeit zur tatsächlichen Verzweigung
und zur Phantomverzweigung der Zentraleinheit 10. Die tatsächliche Verzweigung ist in einem ausgezogenen Rhombus dargestellt/
während die vier Phantomverzweigungen als gestrichelt ausgezogene Rhomben dargestellt sind. Die Phantomverzweigung wird
durch Lieferung des LPFT- und LPFF-Paares des ALU-Funktionsbitsatzes
in dem Steuerspeicher 36 für jeden lokalen Prozessor und durch Auswahl der richtigen Funktionsbits am Ende des Zyklus
η - 1 ausgeführt.
Fig. 14 zeigt weitere Zeiteinteilungseinzelheiten des Effektes der Drei-Wege-überlappung. Es werden die Haupttätigkeiten, die
von der Zentraleinheit 10 bei Ausführung eines Mikrobefehles η durchgeführt werden, über die drei Mikrozyklen der Figur verfolgt.
Es sei darauf hingewiesen, dass während der ersten Hälfte des Mikrozyklus 3 drei MikroOperationen gleichzeitig ausgeführt
werden: der Mikrobefehl η + 1 wird von dem Steuerspeicher 36 abgefragt;
es werden Berechnungen im Namen des Mikrobefehles η ausgeführt; und es wird eine aufgeschobene Aktion wie z.B. das
Speichern in GRS und LM im Namen des Mikrobefehles η - 1 durchgeführt. Diese gleichzeitige Befehlsausführung zeigt grundsätzlich
die Drei-Wege-Mikroüberlappung.
Es sei darauf hingewiesen, dass die SV-, DV- und LFC-Mikrobefehlsfeider
durch einen Mikrobefehl ersetzt werden. Obwohl diese Felder die Ergebnisabspeicherung für den Mikrobefehl η steuern,
sind die Bits selbst in dem Mikrobefehlsteuerspeicherwort enthalten, das dem Mikrobefehl η + 1 zugeordnet ist. Wie oben erläutert,
ist dies der Grund dafür, dass die DDS- und DADS-Felder auf dem Mikrobefehlsflussdiagramm der Fig. 9 gestrichelt dargestellt
wurden. Die SV-, DV- und LFC-Eelder wählen die statischen
Variablen, die dynamischen Variablen bzw. die Logikfunktionsrechner
aus, die zur Bestimmung der binären Werte jedes der Entscheidungspunkte DPO - DP11 verwendet werden. Die statischen
909810/0956
Variablen werden ausgewählt und die Speicher der Logikfunktionsrechner
werden gelesen, bevor die dynamischen Variablen verfügbar sind. Wie oben erläutert, minimiert dieses unterschiedliche
Behandeln der statischen und der dynamischen Variablen den Einfluss der Forschreitungszeit der Entscheidungslogik auf die
Zykluszeit. Ungefähr beim Zeitpunkt tgg haben alle Entscheidungspunkte DPO - DP11 ihren korrekten Wert erreicht und die nachfolgenden
Auswahlen treten auf. Der einzelne am Ende des Mikrozyklus
2 in Fig. 14 dargestellte Entseheidungspunkt bestimmt:
Logisches
Signal des
Entscheidungs- Mikrobefehls- Mikro-
Punktes | feld | befehl | Auswahl |
DPO | JDS | η + 2 | CS Adresse |
DPI | VDSO | η + 2 | CS Adresse, Bit 2° |
DP2 | VDS1 | η +2 | CS Adresse, Bit 21 |
DP3-DP6 | PDS | η + 1 | Funktionsbits zum ALU-Chip |
(LPFT gegen LPFF) | |||
DP7-DP10 | DDS | η | Ta —^ D-Bus |
/Schreibe LM | |||
j SCS Verriegelungsbit | |||
DP11 | DADS | η | DACT gegen DACF als ent |
sprechende DAC-Speicher- | |||
Adresse |
Aus obigem ist zu entnehmen, dass Fig. 5 eine spezifisch strukturierte
Maschine darstellt, die ein Mikrobefehlssteuerwort aufweist, das ein spezifisches Format hat, wie oben im Zusammenhang
mit Fig. 4 erläutert. Die spezifischen Felder des Mikrobefehlswortes werden aus dem Steuerregister 37 zu den einzelnen Komponenten
der Zentraleinheit 10, wie hier beschrieben, verbunden. Die Zentraleinheit 10 enthält einen Emulator, der in Abhängigkeit
von dem Steuerregister 37 arbeitet, wodurch die lokalen Prozessoren 17, 18, 19 und 27 simultan arbeiten in Abhängigkeit von
den spezifischen Feldern, wobei, wie oben erläutert, die drei» Wege-überlappte Betriebsweise vorliegt. Die einzelnen erläuterten
Operationen, wie tatsächliche Verzweigung, Phantomverzweigung,
909810/0956
aufgeschobenen bedingte Steuerung, Makrobefehlsabrufung und ähnliches
werden ebenfalls von din Steuerfeldern gesteuert, die aus
dem Steuerregister 37 stammen.
Ein spezifischer, in den Steuerspeicher 36 geladener Mikrocode bewirkt, dass spezifische Aktionen, wie die oben erläuterten,
auftreten, wobei der speziell gewünschte Makrobefehl in Übereinstimmung mit den in den Steuerspeicher 36 geladenen Mikroroutinen
emuliert wird«
Wie oben im Zusammenhang mit Figs 3 erläutert, ist die MikroSoftware
strukturiert, wodurch aufgrund eines gemeinsamen Mikrobefehles ein Sprung zu einer ausgewählten der Klassenbasismikroroutinen
ausgeführt wird und aufgrund der ausgewählten Klassenbasismikroroutine
ein Sprung zu der Mikroroutine für den speziellen Makrobefehl ausgeführt wird. Folglich ermöglicht diese
Struktur einen höheren Grad von Verschachtelung (sharing) des Mikrocodes unter den Klassen. Wie oben im Zusammenhang mit Tabelle
11 erläutert, sind die ausgeführten Klassenbasen: gemeinsam, Rufe einzelnen Operanden direkt ab, Rufe einzelnen Operanden sofort
ab, Springe grosser und dekrementiere, unbedingte Verzweigung,
Speichere, überspringe und bedingte Verzweigung und Verschieben. Diese Klassenbasen sind entsprechend mit CBO, CB3, CB4,
CB5, CB6, CB7, CB11 und CB12 bezeichnet, wobei die zugeordneten
binären Bezeichnungen wie in Tabelle 11 aufgeführt, sind.
Die Klassenbasis "gemeinsam" (CBO) ist streng genommen keine Makrobefehlsklassenbasis
sondern wird mit den anderen Klassenbasen durch die Befehlszustandstabelle 38 gesteuert» Zur Ausführung der
folgenden Makrobefehle,, deren Mikroroutinen von den Klassenbasismikroroutinen
eingegeben wurden, sind spezifische Mikroroutinen wie folgt vorgesehen?
Tabelle 13
Makrobefehl Klassenbasis
Addiere zu A direkt (AA) Rufe einzelnen Operanden direkt
ab (CB3)
Addiere. zu A indirekt (AA) Rufe einzelnen Operanden indirekt
ab (CB3i)
Addiere zu A sofort (AA) Rufe einzelnen Operanden sofort
ab (CB4)
Springe grosser und dekre- Springe grosser und dekrementiere
mentiere (JGD) (CB5)
Speichere den Ort und Springe Unbedingte Verzweigung (CB6)
Speichere A (SA) Speichere (CB7)
Prüfe ungleich (TNE) überspringe und bedingte Verzweigung
(CB11)
Einzelne Verschiebung alge- Verschiebe (CB12) braisch (SSA)
Fig. 15 zeigt ein Mikrobefehlsflussdiagramm für den Mikrobefehl "gemeinsam". Dieser Mikrobefehl wird als erster Mikrobefehl in
der Mikroroutine für jeden von der Zentraleinheit 10 emulierten Makrobefehl angesprungen und ausgeführt. Wie durch die Legende
angedeutet, ist der Mikrobefehl "gemeinsam" dem Mikrozyklus 1 der Emulierungsroutine für den einzelnen betroffenen Makrobefehl zugeordnet.
Allerdings werden aufgrund der Mikrobefehlsüberlappung alle in Fig. 15 dargestellten Operationen nicht tatsächlich im
ersten Mikrozyklus ausgeführt. Die Zeiteinteilung für die Durchführung der verschiedenen Operationen wurde oben im Zusammenhang
mit der in den Fig. 9 bis 14 dargestellten und im Zusammenhang
mit ihnen erläuterten Mikrobefehlsüberlappung diskutiert.
Im einzelnen sei angenommen, dass der in Fig. 15 gezeigte Mikrobefehl
"gemeinsam" während des Mikrozyklus 1, der in Fig. 12 definiert ist, aus dem Steuerspeicher gelesen wird. Der Mikrobefehl
"gemeinsam" wird einmalig mit dem Namen CBO bezeichnet, wie in dem mit 1SER. NO." (Serial Number) bezeichneten Kästchen von Fig.
15 gezeigt. Gegen Ende des Zyklus 1 von Fig. 12 wird der Wert, der
909810/0956
283T852
auf den B-Bus als einer der Eingänge zu P1, P2 und P3 plaziert
werden soll, abgerufen. Dieses Abrufen tritt während der Zeit auf,
die in Fig. 12 mit GRS LESEN bezeichnet wurde, obwohl im Falle des Mikrobefehles CBO die B-Buswerte nicht von dem GRS (Mehrzweckregisterstapel)
abgerufen werden, sondern von dem Makrobefehlsregister (MIR). Der einzelne anzulegende B-Buswert ist mit u
bezeichnet und besteht aus dem Wert u des u-Feldes des Makrobefehles,
wie in Fig. 1 gezeigt, wobei vier Nullen, die mit der linken Seite verkettet sind (die einen 20-Bitwert begründen) auf
die linke und rechte Hälfte des B-Bus plaziert werden, wie in dem mit B-Buswert bezeichneten Eingang von Fig. 15 dargestellt. Die
Auswahl des oben erläuterten B-Buswertes wird durch die BR-, SFT- und BIS-Felder des Mikrobefehles gesteuert. Um u auszuwählen,
muss der SFT-Wert gleich 11 und der BIS-Wert gleich 00 sein, wie
oben in Tabelle 2 gezeigt. Das BR Bit sollte auf 0 gesetzt sein, was anzeigt, dass das BIS-FeId anstelle des Registers BRG benutzt
wird.
Der während des Zyklus 2 als B-Eingang für P4 auf den B4-Bus zu plazierende Wert wird ebenfalls während des "GRS LESEN"-Teiles
des Zyklus 1 abgerufen. In diesem Falle muss das A-FeId von dem MIR auf den B4-Bus plaziert werden, was durch den linken der beiden
Funktionsblöcke des lokalen Prozessors für P4 bezeichnet ist. Die Auswahl des B4-Buswertes wird durch das BBS-FeId des lokalen
Steuerfeldes für P4 gesteuert zusammen mit dem GB-FeId aus der IST-Tabelle, wie in Fig. 9 dargestellt und oben erläutert.
Die jedem lokalen Prozessor an den A-Eingangsanschluss zu liefernden
Operanden werden von den mit diesen lokalen Prozessoren (P1, P2, P3 und P4) zugeordneten lokalen Speichern abgefragt. Der
einzelne abzufragende Wert ist in einem der Funktionsblöcke des lokalen Prozessors für jeden lokalen Prozessor bezeichnet, wie in
Fig. 15 gezeigt. Die Auswahl dieses Wertes wird ohne Bedingung bestimmt durch die Werte, die in den LMAS- und LMA-Mikrobefehlsfeidern
der lokalen Steuerung plaziert sind, wobei diese Mikrobefehlsfelder jedem lokalen Prozessor wie oben im Zusammenhang
mit Tabelle 5 erläutert zugeordnet sind. Folglich ist die Auswahl
909810/0956
283765-2
der Operanden als Eingänge zu jedem lokalen Prozessor invariant gegenüber der Tatsache, ob der Mikrobefehl codiert ist, jedoch
ist die aufgrund dieses Operanden durchgeführte Funktion in Abhängigkeit
von einer Bedingung ausgewählt, und zwar auf der Basis des dynamischen Zustandes gewisser Variabler, wenn der Befehl ausgeführt
wird, was oben erläutert wurde und als Fähigkeit zur "Phantomverzweigung" bezeichnet wurde. Der aufgrund des Mikrobefehles CBO aus dem lokalen Speicher P1 ausgelesene Wert ist ein
40 BifcJfert, der aus zwei Konstanten zusammengesetzt ist, deren
Bedeutung durch die Adressdefinition des Sperry Univac-Rechners
1108 bestimmt ist. Diese Konstanten sind die Arbeitsspeicher-Bank-Basis-Adresse
B1 und die negative Arbeitsspeicher-Bank-Auswahlkonstante
plus eins - (B + 1). Diese Konstanten werden in den lokalen Speicher von PI voreingeladen, so dass B3. in den
linken 20 Bits eines gewissen Wortes entsprechend positioniert ist und so dass - (B + 1) in den rechten 20 Bits des gleichen
Wortes positioniert ist. Folglich wird beim Lesen dieses Wortes aus dem lokalen Speicher von Pi der Wert B_ auf der linken Hälfte
des Α-Einganges (A_) plaziert werden und der Wert - (B + 1) auf
der rechten Hälfte (A ), was in dem Funktionsblock des lokalen Prozessors für P1 dargestellt ist.
In ähnlicher Weise wird der Eingangswert für den lokalen Prozessor
P2 von dem lokalen Speicher von P2 geliefert, so dass die Arbeitsspeicher-Daten-Bank-Basis-Adresse auf der linken Hälfte
des Α-Einganges und die Konstante -200o auf der rechten Hälfte
liegt. Der Α-Eingang für P3 hat die linke Hälfte auf einen Wert
gesetzt, der nur Einsen enthält (A, - (20) "1") und die rechte
Hälfte vollständig auf Nullen gesetzt. Der A-Eingangswert, der zu
P4 von dessen lokalen Speicher geliefert wird, ist die GRS-Adressenbasis, die durch das GB-FeId der IST-Tabelle bestimmt wird,
was durch das LMAS-Bit für P4 gesteuert wird, wie in der obigen
Tabelle 6 beschrieben.
Wie in Fig. 12 dargestellt, werden am Ende jedes Mikrozyklus
Entscheidungen durchgeführt, die auf den statischen und dynamischen
Variablen basieren. Die am Ende des Zyklus 1 von Fig. 12
909810/0956
aufgrund des Mikrobefehles CBO von Fig. 15 ausgeführten Entscheidungen
werden (in diesem Fall) nur bewirken, dass der nächste Mikrobefehl abgerufen und ausgeführt wird. Der "Sprungsteuerung
"-Teil von Fig. 15 beschreibt, wie der nächste Mikrobefehl zu bestimmen ist. Der Rhombus der Steuerung der tatsächlichen
Verzweigung (in Fig. 9 mit 14 bezeichnet),bezieht sich auf das JDS-FeId des Globalsteuerteiles des Mikrobefehles CBO. Die
Konstante "EINS" ist in diesem Rhombus in Fig. 15 dargestellt, um anzuzeigen, dass ein "JA" an den Ausgang des Entscheidungspunktes
DPO ohne sine Bedingung angelegt werden soll, was durch die Auswahl
des richtigen Logikfunktionsrechners gesteuert wird, um diesen Wert zu liefern, wie durch das JDS-FeId bestimmt wurde. Mindestens
einer der Logikfunktionsrechner, der Zugang zu DPO hat, enthält die Wahrheitstabelle, die aus nur Einsen besteht, um
ohne Bedingung zu erzwingen, dass DPO in den logischen "EINS"-Zustand gelangt.
Ein DPO-Wert von "EINS" bewirkt die Auswahl des NAT-Feldes des Mikrobefehles, der dazu verwendet werden soll, die Adresse für
den nächsten Befehl zu liefern (bzw. zumindest einen Teil davon). Die ovalen Kästchen an beiden Seiten des Sprungsteuerrhombus werden
dazu benützt, den möglichen nächsten Mikrobefehl zu bezeichnen, wobei die NAT-Adresse dem ovalen Kästchen "JA" und die NAF-Adresse
dem ovalen Kästchen "NEIN" zugeordnet ist. Im speziellen Beispiel des Mikrobefehles CBO von Fig. 15 wird das ovale Kästchen
"JA" stets ausgewählt und der Satz "VEKTOR ZUR KLASSE", der in dem ovalen Kästchen "JA" gezeigt ist, bedeutet, dass das oben
im Zusammenhang mit Tabelle 1 beschriebene XF-FeId den Wert 01 aufweist, was veranlasst, dass das NAT-Feid mit dem Klassenbasisvektor
ODER-verknüpft wird, wodurch ein Vektorsprung zu der Klassenbasis
durchgeführt wird, wie durch den Makrobefehl "op-code" (f - Feld von Fig. 1), der in dem MIR untergebracht ist, bestimmt
wird. Die Werte von DP1 und DP2 (gesteuert durch die Mikrobefehlsfelder
VDSO bzw. VDS1) werden so ausgewählt, dass sie logische Nullen sind, um so nicht zu behindern, dass die Klassenbasis
mit dem NAT-FeId ODER-verknüpft wird« Hieraus dürfte klar
sein, dass die vier Bits niederer Ordnung des NAT-Feldes logische
909810/09S6
Nullen sind, wenn ein Klassenbasis- (oder Befehls-) Vektorsprung stattfinden soll, so dass der Vektor tatsächlich einen 1-aus-16-Wegesprung
ausführt.
Weitere Entscheidungen, die normalerweise während des Zyklus 1 von Fig. 12 aufgrund des Mikrobefehles CBO ausgeführt würden,
sind die Auswahl der von den lokalen Prozessoren auszuführenden Funktionen, was durch die Auswahl des LPFT- oder LPFF-Feldes für
jeden der lokalen Prozessoren gesteuert wird. Im Falle des Mikrobefehles CBO zeigt das Fehlen jeglicher Information in den Bedingungsrhomben
von Fig.15 der lokalen Prozessoren an, dass die auszuführende Prozessorfunktion unabhängig von der Funktion ist,
die in dem Funktionsblock des lokalen Prozessors unter dem Rhombus bezeichnet ist. Aufgrund einer Konvention wird diese Funktion
in den mit "JA" bezeichneten Block eingeschrieben, obwohl sie ebenso unzweideutig in den mit "NEIN" bezeichneten Block eingeschrieben
werden könnte oder in beide Blöcke.
Es gibt zwei Möglichkeiten zur Codierung der Mikrobefehlsfelder, um diese unbedingte Auswahl der Funktion des lokalen Prozessors
auszuführen. Die erste und einfachste Möglichkeit besteht darin, sowohl das LPFT- als auch das LPFF-FeId des lokalen Prozessors
mit dem gleichen Funktionscode zu codieren. Dann ist der in dem Phantom-Entscheidungs-Selektor-Feld (PDS-Feld), das jedem Entscheidungsrhombus
des lokalen Prozessors zugeordnet ist, ein "nicht beachten". Die zweite Möglichkeit besteht darin, durch entsprechende
Codierung der PDS-Felder einen Logikfunktionsrechner auszuwählen. Dieser wird eine logische Funktion errechnen (die
durch richtige Benennung des LFC-Feldes für den Logikfunktionsrechner
ausgewählt wird), wobei der Wert der Logikfunktion bekannt ist (die Wahrheitstabelle enthält nur Einsen oder Nullen). Weiterhin
wird der Code der von dem lokalen Prozessor auszuführenden Funktion in das Funktionsfeld (WAHR oder NICHT WAHR), das dem bekannten
logische« Funktionswert (WAHR oder NICHT WAHR) zugeordnet ist, eingegeben. Schliesslich wird zugelassen, dass das Funktionsfeld des anderen lokalen Prozessors ein "NICHT BEACHTEN" enthält.
Beispielsweise werden, wenn in den Bedingungsrhomben des lokalen
909810/0956
- 108 - 2837&5Z
Prozessors "EINSEN" plaziert sind, die in den "JA"-Blöcken der
lokalen Prozessoren bezeichneten Funktionen ausgeführt.
Die im Namen von CBO während des zweiten Zyklus von Fig. 12 erscheinende
Haupttätigkeit ist die Errechnung der Funktionen durch die lokalen Prozessoren. Wie in Fig. 15 gezeigt, errechnet der
lokale Prozessor P1 die Funktion A + B, wobei sich A auf den Wert
an den A-Eingangsanschluss bezieht, B sich auf den Wert an den B-Eingangsanschluss (B-Bus) und "+" die binäre Additionsoperation
darstellt. Jeder lokale Prozessor P1, P2 und P3 kann, wie oben im
Zusammenhang mit Tabelle 7 erläutert, so gesteuert werden, dass er in vier Betriebsweisen hinsichtlich der Verschiebungen und
Überträge arbeitet. Der lokale Prozessor P1 soll, wie in Fig. 15
angegeben, in der "Zwei-mal-zwanzig"-Betriebsweise ohne Endübertrag (2 χ 20 eac) arbeiten, was durch das dem Prozessor P1 zugeordnete
CC-FeId bei dem Mikrobefehl CBO gesteuert wird. Unter der 11 Zwei-mal-zwanzig"-Betriebsweise ist zu verstehen, dass der übertrag
von der Bitposition 19 zu der Bitposition 20 unterbunden ist, wodurch ermöglicht wird, dass der lokale Prozessor arithmetische
Funktionen an seinen Operanden ausführt, als ob er aus zwei jeweils zwanzig Bits weiten Prozessoren anstelle eines einzelnen
36 Bitprozessors bestünde. Die Angabe des fehlenden Endübertrages (no-end around carry) bei der 2 χ 20-Betriebsweise ist so zu verstehen,
dass Überträge von der Bitposition 19 zu der Bitposition 0 (Endübertragung der rechten Hälfte von P1) und von der Bitposition
39 zu der Bitposition 20 (Endübertragung der linken Hälfte von P1) unterdrückt sind. Die Möglichkeit, diese Endübertragungen
zu unterdrücken wird zur Anpassung an gewisse Anomalien bei der Operandenadressberechnung benötigt, die bei der Definition des
Adressierungsalgorithmus des Sperry Univac-Rechners 1108 auftreten.
Der lokale Prozessor P2 führt ebenfalls die binäre Addition seiner
Α-Eingangs- und B-Eingangs-Operanden bei der zwei-mal-zwanzig-Betriebsweise
durch, ohne Endübertragungen. Der lokale Prozessor P3 führt die logische UND-Operation seiner beiden A und B Operanden
durch. Aufgrund einer Konvention soll der Prozessor in der 36 Bitbetriebsweise arbeiten, solange keine Konfigurationsanweisung
909810/0956
dafür in Fig. 15 gegeben ist. Es sei darauf hingewiesen, dass bei
der 36 Bitbetriebsweise und der 2 χ 20 Bitbetriebsweise für logische
Operationen identische Ergebnisse erhalten werden. Der lokale Prozessor P4 führt die Operation der binären Addition aus.
Dieser lokale Prozessor besitzt keine ihm zugeordnete Konfigurationssteuerung.
Folglich kann eine Endübertragung niemals verhindert werden und Berechnungen können nicht in zwei Hälften aufgeteilt
werden wie bei den Prozessoren P1, P2 und P3.
Gegen Ende des Mikrozyklus werden von den lokalen Prozessoren errechnete Werte in den jedem Prozessor zugeordneten Akkumulator
105 (Fig. 6) verriegelt. Am Ende des Zyklus 2 von Fig. 12, der auf Befehl des Mikrobefehles CBO von Fig. 15 ausgeführt wird, enthalten
die verschiedenen Akkumulatoren die folgenden Werte:
linke Hälfte von P<f u + B1
rechte Hälfte von P1 u - (B + 1)
linke Hälfte von P2 u + Bß
rechte Hälfte von P2 u - 200«
linke Hälfte von P3 u
rechte Hälfte von P3 Nullen
P4 A (Adresse des Operanden
a in dem Mehrzweckregisterstapel)
Die am Ende des Zyklus 2 auf Befehl des Mikrobefehles CBO ausgeführten
Entscheidungen beziehen sich auf die Steuerung des bedingten Ausganges und auf die Steuerung der aufgeschobenen Aktion.
Die Spezifizierung der auszuführenden Entscheidung (über die Mikrobefehlsfelder)
ist nicht in dem Mikrobefehl CBO enthalten, jedoch in dem während des Zyklus 2 abgerufenen Mikrobefehl. Die Schraffierung
dieser Entscheidungsklammern in Fig. 15 dient dazu, dies anzuzeigen. Alternativ hierzu könnte die Information des bedingten
Ausganges und der Entscheidung der aufgeschobenen Aktion in dem gleichen Mikrobefehl vorhanden sein, wie die weitere Information
(tatsächliche Verzweigung, Funktionen des lokalen Prozessors,
909810/0956
usw.), die oben erläutert wurden, wobei von dem Gesichtspunkt der
Emulierung des Makrobefehles äquivalente Resultate erhalten werden.
Die einzige bei dem Mikrobefehl CBO auszuführende Entscheidung für den bedingten Ausgang ist dem lokalen Prozessor P3 zugeordnet,
wie in Fig. 15 gezeigt. Die Entscheidung soll auf der logischen Funktion ÖT ODER (D7 UND T) basieren, wobei D7 und i die in Tabelle
4 definierten statischen Variablen sind. Um zu veranlassen, dass diese spezielle logische Funktion errechnet werden soll, wird
die Logikfunktionswahrheitstabelle für diese Funktion in einem speziellen Logikfunktionsrechner ausgewählt durch eines der LFC-Felder
in dem globalen Steuerteil des Mikrobefehles, wobei die beiden statischen Variablen mit den beiden SV-Feldern in der globalen
Steuerung ausgewählt werden, die so verdrahtet sind, dass sie den die Wahrheitstabelle enthaltenen Logikfunktionsrechner
betreiben (wie aus Fig. 8 bestimmt werden kann), und wobei der Ausgang dieses Logikfunktionsrechners mit dem Entscheidungspunkt
9 (P3 zugeordnet) verbunden wird, durch korrektes Setzen des im Prozessor P3 zugeordneten DDS-Feldes mit der binären Darstellung
der Zahl des ausgewählten Logikfunktionsrechners. Für solche lokale
Prozessoren, die keine bedingte Ausgangsentscheidung benötigen, ist die Spezifizierung des DDS-Feldes ein "nicht beachten".
Die in Fig. 15 bezeichnete Entscheidung der Steuerung der aufgeschobenen
Aktion ist in Wirklichkeit unabhängig von einer Bedingung. Um diese Bemerkung zu verstehen, sei daran erinnert, dass
der Mikrobefehl CBO auf sich selbst zurückspringen wird, bis der nächste auszuführende Makrobefehl abgerufen und übernommen wurde.
Folglich kann der während des Zyklus 2 der Fig„ 12 abgerufene
Mikrobefehl CBO selbst sein. Die Spezifizierung der Entscheidung der Steuerung der aufgeschobenen Aktion (DADS, deferred action
control decision) von Fig. 15 kann daher entweder von CBO kommen oder dem ersten Mikrobefehl irgendeiner der Klassenbasen <
> Wenn CBO tatsächlich auf sich selbst zurückspringt, so sollte die durch CBO durchgeführte Aktion den Inhalt irgendeines Makrozuötandsregisters
nicht verändern. Die unschraffierte geschwungene
909810/0956
Klammer für die Steuerung des bedingten Ausganges oben in Fig. 15
bezeichnet die Entscheidungsfunktion, die momentan in dem Mikrobefehl CBO spezifiziert ist. Im Falle der Steuerung der aufgeschobenen
Aktion sollte der an den Entscheidungspunkt 11 gelieferte
Wert unabhängig von einer Bedingung gleich "EINS" sein (in der
ung gleichen Weise wie für die Sprungsteuer/ in CBO spezifiziert).
Wenn CBO auf sich selbst zurückspringt, so wird die dem "^"-Abschnitt
von DP11 (DACT) zugeordnete aufgeschobene Aktion ausgeführt. Andernfalls (CBO-Vektorverzweigung zu einer anderen Klassenbasis)
wird-üe dem "ΝΕΙΝ''-Abschnitt von DP 11 (DACF) zugeordnete
aufgeschobene Aktion ausgeführt. Es sei darauf hingewiesen, dass alle Mikrobefehle zu denen CBO verzweigen kann (ausgenommen CBO selbst), die Spezifizierung "NULL" in der nichtschraffierten
geschwungenen Klammer der Steuerung des bedingten Ausganges, die DP 11 zugeordnet ist, haben muss. Weiterhin sei
darauf hingewiesen, dass in dem speziellen Fall von CBO die Spezifizierungen der nicht-schraffierten geschwungenen Klammern
der Steuerung des bedingten Ausganges, die DP 7, DP 8, DP 9 und DP 10 zugeordnet sind, ein "nicht beachten" sind.
Die tatsächlichen aufgeschobenen Aktionen, die aufgrund des Mikrobefehles
CBO ausgeführt werden können, sind in der untersten Zeile von Fig. 15 gezeigt. Diese Aktionen werden durch Felder gesteuert,
die in dem Mikrobefehl CBO spezifiziert sind und am Ende des Zyklus 1 von Fig. 12 verriegelt werden und in den Zyklus 3
übertragen werden, wo die am Ende des Zyklus 2 ausgewählten einzelnen Aktionen ausgeführt werden. Für die lokalen Prozessoren
P1f P2 und P3 sind keine AusgangsSteueraktionen durchzuführen.
Folglich sollten die OÜT-Mikrobefehlsfeider, die diesen lokalen
Prozessoren zugeordnet sind, den Wert 00 (Tabelle 8) haben, die WLM-Felder sollten ebenfalls den Wert 00 (Tabelle 10) haben und
die SCS-Felder sollten den Wert 000 haben (kann als statische Variable Null angesehen werden). Die dem Prozessor P3 zugeordneten
OUT- und WLM-Felder werden ebenfalls den Wert 00 haben, während das SCS-FeId als 001 spezifiziert sein sollte, um zu veranlassen,
dass die statische Variable SC1 in Übereinstimmung mit dem Entscheidungspunkt 9 geändert wird. Das DACT-FeId ist spezi-
909810/0956
fiziert, die Aktion D/"^ RAR1 zu veranlassen, so dass es den Wert
00111 (Fig. 7) haben muss, während das DACF-FeId den Wert 00001
haben muss, um die Aktion P-^ IAR und D.-3* RAR1 zu spezifizieren.
Die Aktion Dy* RAR1 bewirkt, dass der Ausgang von P4 (Operandenadresse
in GRS) in das GRS-Adressregister, das mit RARI bezeichnet
ist, geladen wird, während die Aktion P-^ IAR bewirkt, dass
der laufende Wert des Programmzählregisters (P) in das Befehlsadressregister geladen wird zur Vorbereitung zum Abfragen des
nächsten Befehles.
Wie in dem mit "ANMERKUNGEN" bezeichneten Teil von Fig. 15 gezeigt,
tritt ein Setzen der statischen Variablen SC1 auf den Wert 1 dann und nur dann auf, wenn eine "Basisadressierung" ("based adressing")
von dem momentan emulierten Makrobefehl verwendet werden sollte. Die "Basisadressierung11 ist für den Sperry Univac-Rechner 1108
in der Sperry Univac-Literatur veröffentlicht»
Der Mikrobefehl "gemeinsam" von Fig. 15 ist an einem vorbestimmten
Ort in dem Steuerspeicher 36 gespeichert und, wie oben im Zusammenhang mit Fig. 3 erläutert, kehrt dia Steuerung zu diesem
gemeinsamen Ort zurück, wenn der letzte Mikrobefehl einer Routine ausgeführt wurde. Wenn die Steuerung zu "gemeinsam" zurückkehrt,
so wird eventuell der nächste Mikrobefehl abgerufen worden sein und von dem Befehls- und Adressen -Register 56 (staticizer
register) werden Steuersignale zu der IST-Tabelle 38 und zu dem
Steuerspeichermultiplexer 39 geliefert, so dass der Klassenbasisvektor von IST 38 mit dem NAT-FeId des Mikrobefehles "gemeinsam"
verknüpft wird, wenn das XF-FeId des Mikrobefehles "gemeinsam" auf 01 und DPO auf 1 gesetzt ist (Tabelle 1), um einen Vektorsprung
zu dem ersten Mikrobefehl der zugeordneten Klassenbasismikroroutine
auszuführen.
In den Fig. 16a-c sind die Mikrobefehle dargestellt, die die Klassenbasis: rufe einzelnen Operanden direkt ab (CB3) enthalten.
Die Sprungsteuerung des Mikrobefehles "gemeinsam" (Fig. 15) veranlasst einen Sprung zu dem Mikrobefehl von Fig. 16a, wenn immer
der in das Makrobefehlsregister 13 abgerufene Makrobefehls aus
909810/0956
dieser Klassenbasis stammt. Die Sprungsteuerung für den Mikrobefehl
von Pig. 16a bewirkt einen Sprung zu dem Mikrobefehl von
Fig. 16b, wobei diese Sprungsteuerung ihrerseits den Sprung zu dem Mikrobefehl von Fig. 16c bewirkt, der der letzte Mikrobefehl
dieser Klassenbasis-Mikroroutine ist. Es sei darauf hingewiesen, dass die tatsächliche Verzweigung des Mikrobefehles von Fig. 16a
einen bedingten Sprung zu der Programmunterbrechungsroutine (breakpoint routine) steuert in Abhängigkeit von (nicht dargestellten)
Wartungsfeldschaltern. Wenn die Programmunterbrechung
nicht abgerufen wird, so wird der nächste Mikrobefehl (Fig. 16b)
für die Mikroroutine abgerufen.
Die von dem Mikrobefehl CB3+O errechneten Hauptfunktionen, die in
Fig. 16a dargestellt sind, beziehen sich auf das Errechnen der Operandenadresse, die von dem Arbeitsspeicher auf Befehl des
Makrobefehles der Einzeloperandenabrufklasse abgerufen werden. Der B-Bus enthält einen mit X* bezeichneten Wert (abgerufen von
GRS unter der verwendung des X-Feldes der Makrobefehle als eine
Adresse und der GRS* B-Buseingangsauswahl), der aus dem 18-Bit
X-FeId in dem Indexregister besteht, wobei dieser Wert auf beide
Hälften des B-Bus plaziert ist, wobei zwei Einsen links von jedem X -Wert angehängt sind, um Endüberträge in die 2O-Bithälften
des lokalen Prozessors zu erleichtern. Dieser Wert X*
wird zu dem vorhandenen Inhalt der Akkumulatoren des lokalen Prozessors
in P1, P2 und P3 addiert (errechnet durch den oben im Zusammenhang
mit Fig. 15 erläuterten Mikrobefehl CBO), Diese Berechnung
erzeugt drei mögliche Operandenadressen in den linken Hälften von PI, P2 und P3 und erzeugt die Werte SP1R (Vorzeichen
von P1 rechte Hälfte) und SP2R (Vorzeichen von P2 rechte Hälfte)
der dynamschinen Variablen aufgrund derer eine Entscheidung durchgeführt
werden kann, welche dieser drei Ärbeitsspeicheradressen verwendet werden sollen. Die linke Hälfte von P1 enthält die Befehlsbankadresse
(in der Sperry ünivac-Literatur als SI bezeichnet) , die linke Hälfte von P2 enthält die Datenbankadresse (SD)
und die linke Hälfte von P3 enthält die Nichtbasisadresse (nonbased
address) (u+X ), die dann.verwendet wird, wenn durch den
Makrobefehl eine absolute (Nicht-Basis)Adressierung angezeigt ist
909810/0956
oder wenn ein verborgener Speicher (hidden memory) verwendet werden
soll (angezeigt durch SP2R). Die bedingten Ausgangssteuerentscheidungen für CB3+O wählt effektiv die richtige zu verwendende
Operandenadresse aus, indem der Akkumulator nur desjenigen lokalen Prozessors, dessen Akkumulator diese Adresse auf dem D-Bus
enthält, torgesteuert wird, wobei die Steuerung der aufgeschobenen Aktion diese Adresse zu dem richtigen Adressregister weiterleitet
in Abhängigkeit davon, ob das Abrufen aus dem Arbeitsspeicher oder dem verborgenen Speicher geschehen soll.
Der Mikrobefehl CB3+1 von Fig. 16b bezieht sich in P1 und P2 auf
den ersten Schritt des Testens der Operandenadresse für den Arbeitsspeicher, die durch CB3+O erzeugt wurde (und noch in den
Akkumulatoren von P1 und P2 vorhanden istl,im Hinblick auf die
hierfür von dem System (LL1 oder LL ) definierten unteren Grenzen.
Der lokale Prozessor P3 inkrementiert den Indexwert(XM) mit dem
Inkrement (X-) von dem B-Bus, wenn die Inkrementierung in dem Makrobefehl (h-Bit auf "EINS" gesetzt) bezeichnet ist. Folglich
ist die Entscheidung des lokalen Prozessors für den lokalen Prozessor P3 in CB3+1 ein Ausführen einer "Phantomverzweigung".
Der Mikrobefehl CB3+2 beendet den Testvorgang der Speicheröperandenadresse
in P1 und P2, während P3 den GRS-Operanden (aus der Adresse A) in seinen Akkumulator einlädt,zur späteren Verknüpfung
mit dem aus dem Arbeitsspeicher abgerufenen Operanden.
Fig. 16c zeigt den letzten Mikrobefehl in der Klassenbasismikroroutine
"rufe einzelnen Operanden direkt ab". Das XF-FeId dieses Mikrobefehles wird auf 10 gesetzt, wobei DPO unabhängig von einer
Bedingung auf 1 gesetzt wird, wodurch ein Vektorsprung zu der Mikroroutine für den einzelnen Makrobefehl ausgeführt wird, der
durch Oder-Verknüpfung des Befehlsvektors aus dem Befehls- und Adressenregister 56 emuliert wird, wobei der Mikrobefehl der NAT-Adresse
von Fig. 16c so ist, wie oben im Zusammenhang mit Tabelle 1 beschrieben.
Wenn der Makrobefehlsoperationscode "ADDIERE ZU A DIREKT" in dem
909810/Q9S8
Befehls- und Adressregister 56 (Fig. 5) vorhanden ist, so wird ein Sprung zu dem Mikrobefehl "ADDIERE A" von Fig. 17 ausgeführt,
um die einzelnen Operationen durchzuführen, die zur Ausführung
des Makrobefehles "ADDIERE ZU A DIREKT" notwendig sind.
Die Sprungsteuerung von "ADDIERE A" muss bestimmen, ob der von
dem Arbeitsspeicher abgerufene Operand zum benötigten Zeitpunkt angekommen ist. Wenn der Operand nicht angekommen ist, so wird
der Mikrobefehl auf sich selbst zurückspringen, bis der Operand ankommt, wobei der "NEIN"-Sprungweg verwendet wird. Wenn der
Operand angekommen ist oder kein Operand aus dem Arbeitsspeicher benötigt wird, da der verborgene Speicher verwendet wurde, so
wird die Addition der Operanden in P3 ausgeführt und es wird ein 4-Wege-Vektorsprung vorgenommen, in Abhängigkeit davon, ob eine
Makrounterbrechung aufgetreten ist (Vektor zu INT), ob die Operandenadresse den Grenzentest nicht passieren konnte (Vektor zu
LIM), ob beide Ereignisse aufgetreten sind (Vektor zu LIM und IKT)
oder ob keines von beiden Ereignissen aufgetreten ist (Vektor zu CBO zum Starten eines anderen Makrobefehles). Die von P3 ausgeführte
Additionsoperation wird durch die Tatsache kompliziert, dass das j-Feld des Makrobefehles bestimmen kann, dass die Addition
nur mit einem bestimmten Feld des aus dem Speicher abgerufenen Operanden ausgeführt werden soll und dass dieses Feld
(sofern es durch die Verschiebeeinrichtung auf dem B-Bus richtig angeordnet ist) sich mit Vorzeichenbits nach links ausdehnen
kann oder nicht (abhängig von dem Vorzeichen des aus dem Arbeitsspeicher abgerufenen Operanden). Die Phantomverzweigungsentscheidung
für P3 führt zusammen mit dem Abrufschaltkreis des lokalen
Speichers, der die einzelne benötigte Maske als Funktion von j und SE abruft, die Addition ordnungsgemäss aus, wie in der
Dokumentation zum Ünivac-Rechner 1108 definiert.
Im Zusammenhang mit dem Emulieren des in den Fig. 15 bis 17 dargestellten
Makrobefehles "ADDIERE ZU A", werden im folgenden die
primären funktionalen Tätigkeiten dargestellt, die während jedes Mikrozykluses des "ADDIERE ZU A"-Befehles auftreten. Aufgrund der
oben erläuterten MikroÜberlappung treten die durch gestrichelte
909810/0956
Linien eingegrenzten Tätigkeiten nicht tatsächlich in dem bezeichneten
Zyklus auf, sondern werden durch einen Teil eines Zyklus ersetzt. Es sind fünf Mikrozyklen von jeweils 1OO Nanosekunden
vorgesehen, so dass ein "ADDIERE ZU Ä" (des ünivac-Rechners
1108) in 500 Nanosekunden vollständig ausgeführt werden
kann.
Dieser Zusammenhang ist in der nachfolgenden Tabelle erläutert.
Gemeinsam
"ADDIERE ZU A" Zyklus 1 Rufe nächsten Befehl ab
Rufe einzelnen
Operanden ab
Operanden ab
Addiere A
Zyklus 2
Zyklus 3
Zyklus 4
Zyklus 5
Addiere Basen zu u Erzeuge ABS. GRS-Adressen
Addiere Index zu (u + Basis) Wähle Adresse aus Rufe Operanden ab
Inkrementiere Index-Register Grenzentest beginnen
GRS zu Mikroakkuihulator P-Register aufdatieren Grenztest beenden ;
Addiere, wenn Operand verfügbar renzenfehler testen
Operanden speichern übertrag und überlauf setzen
In den Fig. 18a-d ist die Mikroroutine für die Klassenbasis
"rufe einzelnen Operanden indirekt ab!1 (CB3i) dargestellt. Von
dem Mikrobefehl "gemeinsam" von Fig. 15 wird ein Vektorsprung zu der indirekten Routine der Fig. 18a-d durchgeführt, wobei der
CBS-Klassenbasisvektor aus der Befehlszustandstabelle 38 mittels
der statischen Variablen ID1 modifiziert wird, die, wie oben erläutert, bei 59 in Fig. 5 vorhanden ist. Der letzte Mikrobefehl
der Klassenbasisroutine (Fig. 18d) liefert einen Vektorsprung in Abhängigkeit von dem Befehlsvektor von den Befehls- und
909810/0956
Adressenregister 56 entweder zu dem in Fig. 18a dargestellten
Mikrobefehl, dem in Fig. 15 dargestellten Mikrobefehl "gemeinsam" (wenn der neu abgerufene Befehl nicht bereit ist) oder zu der
Klassenbasis "rufe einzelnen Operanden ab", wenn in dem neu abgerufenen
Befehl kein indirekt angezeigt ist.
Die Fig. 19a-f stellen die Mikroroutine für die Klassenbasis
"rufe einzelnen Operanden sofort ab" (CB4), in der sechs Mikrobefehle
enthalten sind. In ähnlicher Weise wie oben beschrieben, wird der in Fig. 19a dargestellte Mikrobefehl von dem Mikrobefehl
"gemeinsam" von Fig. 15 gerichtet/und der Mikrobefehl von
Fig. 19f steuert einen Vektorsprung zu den speziellen Mikroroutinen
zum Emulieren der speziellen Makrobefehle in der Klassenbasis. Fig. 20 zeigt den Mikrobefehl "ADDIERE A SOFORT" zu dem
der Sprung gesteuert werden kann.
Im folgenden wird auf die Fig. 21a-c und 22a-c Bezug genommen.
Die Fig. 21a-c zeigen die drei Mikrobefehle, die die Klassenbasis
"grosser und dekrementieren" (CB5) enthält. Die Fig. 22a-c zeigen
die Mikroroutine zum Emulieren des Makrobefehles "SPRINGE GROSSER UND DEKREMENTIERE".
Im einzelnen ist, in bezug auf Fig. 21c, die Funktion in der geschwungenen
Entseheidungsklammer der Steuerung des bedingten Ausganges, der P2 zugeordnet ist, generell für jeden Makrobefehl
eines bedingten Sprunges verschieden.
Ebenso bezeichnet, im Hinblick auf Fig. 22a, der Eingang zu der
geschwungenen Entscheidungsklammer der Steuerung der aufgeschobenen
Aktion die drei möglichen nächsten Mikrobefehle, während Anmerkung 1 in dem mit "Anmerkungen" bezeichneten Block die logisches
Funktion bezeichnet, die durch das DADS-FeId jeder dieser
wird Befehle bezeichnet wird. Derselbe Hinweis/für den Mikrocode der
Fig. 22 bis 30 zu beachten sein.
Im folgenden wird auf die Fig. 23a-c und 24a-g Bezug genommen.
In den Fig. 23a-c ist die Mikroroutine für die Klassenbasis "unbe-
909810/0956
dingte Verzweigung" (CB6) dargestellt. Die Fig. 24a-g zeigen die Emulierung für den Makrobefehl "SPEICHERE DEN ORT UND SPRINGE"
(SLJ), zu dem ein Vektorsprung von der Klassenbasis "unbedingte Verzweigung" vorgenommen werden kann.
Bezugnehmend auf die Fig. 25a-f und 26a-b, ist in den Fig. 25a-f die Mikroroutine für die Klassenbasis "Speichern" (CB7) dargestellt
und in den Fig. 26a-b die Mikroroutine für die spezielle Emulierung des Makrobefehles "Speichere A" (SA).
Im folgenden wird auf die Fig. 27a-c und 28a-c Bezug genommen. Durch die Mikrobefehle der Fig. 27a-c ist die Mikroroutine für die
Klassenbasis "überspringe unbedingte Verzweigung" (CB11) dargestellt.
Durch die Mikrobefehle der Fig. 28a-c ist der Mikrocode für den speziellen Makrobefehl "teste ungleich" (TNE) dargestellt,
der im Hinblick auf diese Klassenbasis emuliert wird.
Bezugnehmend auf die Fig. 29a-c und die Fig. 30a und b ist durch
die Mikrobefehle der Fig. 29a-c die Mikroroutine für die Klassenbasis
"verschieben" (CB12) dargestellt und in den Fig. 30a und b
ist die Emulierung "EINZELNE VERSCHIEBUNG ALGEBRAISCH". (SSA), die
gerichtet ist, geleitet wird von der Klassenbasis "verschieben"/dargestellt.
Die Fig. 15-30 zeigen Mikrobefehlsflussdiagramme für den in dem
Steuerspeicher 36 zu speichernden Mikrocode, um die beschriebenen einzelnen Makrobefehlsemulierungen des Univac-Rechners 1108 zu
liefern. Der einzelne in den Steuerspeicher 36 einzuladende Code
ist leicht aus den Tabellen 1 bis 12 abzuleiten, wobei die Figuren
mit diesen zusammenhängen und der Beschreibungsteil hierzu
zugeordnet ist.
Wie oben im Zusammenhang mit den Fig„ 8 und 9 erläutert, liefern
die Logikfunktionsrechner der Fig. 8 die Entscheidungspunktwerte für die mit durchgezogenen Linien gezeichneten Rhomben, die ovalen
Sprungsteuerblöcke, die gestrichelt gezeichneten Rhomben und die geschwungenen Entscheidungsklammern (Fig. 9) der verschiedenen
in den Fig. 15-30 dargestellten Mikrobefehle. Die Entschei-
909810/0958
dungsblöcke der Mikrobefehlsflussdiagramme, die bestimmte logische
Funktionen der bestimmten Variablen aufweisen, werden in den Logikfunktionsrechnern der Fig. 8 realisiert. Beispielsweise ist
die Logikfunktion in der geschwungenen Entscheidungsklammer der unteren linken Seite der Fig. 16a, d.h.: SC1 UND SP1R und SP2R,
als gefaltete Wahrheitstabelle der oben im Zusammenhang mit Fig. 8 erläuterten Art in einem bestimmten der Logikfunktionsrechner
114 (Fig. 8) gespeichert. Die statische Variable SC1 wird aus dem Pufferspeicher 110 geliefert, was durch die SV-Felder des Mikrobefehles
ausgewählt wird und sie wird als Eingang der statischen Variablen an den entsprechenden Logikfunktionsrechner angelegt,
der durch die LFC-Felder des Mikrobefehles ausgewählt wird. In
ähnlicher Weise werden die dynamischen Variablen SP1R und SP2R von dem Pufferspeicher 111 geliefert, durch die DV-Felder des
Mikrobefehles ausgewählt und an den zugeordneten Funktionswertselektor von Fig. 8 angelegt.
Aus der vorhergehenden Beschreibung des Aufbaues der Zentraleinheit
10 und der Struktur ihrer Komponenten ist zu ersehen, dass die Zentraleinheit 10 in hervorragender Weise dazu geeignet ist,
unter Verwendung von LSI-Mikroprozessorchips oder -scheibchen hergestellt zu werden. Beispielsweise kann die in den lokalen Prozessoren
17, 18, 19 und 27 benötigte arithmetische und logische Funktionsweise durch eine Vielzahl von entsprechend verbundenen,
im Handel erhältlichen Mikroprozessorchips oder -scheibchen erzeugt werden. Zusätzlich eignet sich die korrekte Anordnung der
inikroprogrammierbaren Steuerung der Zentraleinheit 10 für einen
LSI-Aufbau.verglichen mit der herkömmlichen Konstruktion der Logik
mit direktem Zugriff.
Folglich ist es ein besonderer Vorteil, dass die Zentraleinheit
10 aufgrund der Realisierung mit LSI-Mikroprozessoren wesentlich
kleiner und billiger ist, als herkömmlich aufgebaute Rechner mit ähnlicher Leistung. Zusätzlich besitzt die Zentraleinheit 10 nicht
nur die oben beschriebenen Kosten- und Grössenvorteile in bezug auf bekannte Rechner, sondern übertrifft auch die Leistung der
bekannten Rechner hinsichtlich der mittleren störungsfreien Zeit,
909810/0956
- 12O -
der einfacheren Reparatuririöglichkeit und des Energieverbrauches.
Diese Vorteile basieren auf den folgenden Merkmalen: dem neuen Aufbau, der die Ausführung von mehrfachen Mikrobefehlsströmen
beim Emulieren eines einzelnen Makrobefehlsstromes erlaubt; der Drei-Wege-Mikro-Befehlsüberlappung mit tatsächlicher Verzweigung,
Phantomverzweigung und bedingter Verzweigung der aufgeschobenen Aktion;sowie der tabellenbetriebenen Steuerlogik.
Aufbausteuerung der lokalen Prozessoren 17, 18 und 19 (zwei mal
zwanzig-und 36 Bit-Betriebsarten)
Wie oben im Zusammenhang mit den Fig. 2 und 5 erläutert, enthält jeder der lokalen Prozessoren 17, 18 und 19 zehn 4-Bit-Mikroprozessorscheibchen,
wie oben im Zusammenhang mit Fig. 6 beschrieben. Jeder der lokalen Prozessoren 17, 18 und 19 ist so aufgebaut,
dass er entweder in einer 2 χ 20- oder einer 36-Bit-Betriebsweise
arbeitet, und zwar mit oder ohne einer Endübertragung in Übereinstimmung mit dem Aufbau des Steuer-CC-Feldes, wie oben im Zusammenhang
mit Fig. 4 beschrieben. Diese Anordnung wird verwendet, da der Arbeitsspeicher der Sperry Univac-Rechners 1108 36-Bit-Daten-
und Befehlsworte liefert und der Adressbereich des Sperry Univac-Rechners 1108 256 K Worte ist, was 18 Bitadressen erfordert.
Folglich ist es mit der Aufbausteuerung möglich, einen lokalen Prozessor zu verwenden, um 36 Bit-Datenberechnungen auszuführen
und in einem anderen Mikrozyklus 18 Bit-Adressberechnungen auszuführen. Folglich ist jeder der lokalen Prozessoren 17, 18
und 19 ein 40 Bit-Prozessor, wie oben beschrieben, wobei diese Grosse benötigt wird, da die lokalen Prozessoren aus 4 Bitchips
aufgebaut sind, wobei 5 solcher Chips benötigt werden, eine 18 Bitadresse
mit eigenem Zugriff zu Vorzeichen-, überlauf- und Übertrags-Indikatoren
zu errechnen, wie oben im Zusammenhang mit Fig. 6 erläutert. Die Aufbauten und Verbindungen für den 36 Bit- und
den 2 χ 20-BifcBetrieb werden separat beschrieben und danach wird
der für kombinierten Aufbau benötigte Schaltkreis beschrieben.
Fig. 31 zeigt den Aufbau der 36 BifeBetriebsweise. Wie oben im Zusammenhang
mit Fig. 6 erläutert, besteht jeder der lokalen Pro-
903810/0956
zessoren 17, 18 und 19 aus zehn 4-Bit-Mikroprozessorscheibchen. Die Scheibchen uPQ - uP~ sind mit den Bezugszeichen 160 - 169 bezeichnet.
Jedes der Mikroprozessorscheibchen 160 - 169 liefert Übertragserzeugungs- (G) und Übertragsweiterleitungs- (P)-Ausgänge,
wie oben im Zusammenhang mit Fig. 6 erläutert, und wie
durch die diesen Ausgängen zugeordneten,unter die Scheibchen gesetzten
Legenden bezeichnet ist. Um eine angemessene Rechengeschwindigkeit zu ermöglichen, werden in den lokalen Prozessoren
Übertragsvorgriffschips 170 - 176 verwendet anstelle von Schnellübertragsanordnungen.
Zusätzlich wird, in einer nachfolgend zu beschreibenden Weise ein Endübertrag verwendet, da die Daten des
Sperry Univac-Rechners 1108 in einer Komplementform dargestellt
werden und die in der Zentraleinheit 10 verwendeten Mikroprozessorscheibchen 160 - 169 Zweier-Komplementaddierer enthalten anstelle
von Einer-Komplemen^subtrahierenden Addierern, wie sie in
dem Sperry ünivac-Rechner 1108 verwendet werden. Wenn, wie in
Fig. 31 dargestellt, in der 36 Bit-Betriebsweise gearbeitet wird,
so sind die 36 Bit-Datenworte , die den A- und B-Eingangsanschlüssen
des lokalen Prozessors (Fig. 2, 5 und 6) zugeführt werden,
hinsichtlich des 40 Bit-Feldes rechtsbündig ausgerichtet, so dass nur die Scheibchen 160 - 168 bei dieser Betriebsweise verwendet
werden, wobei das ganz linke 4-Bife-Sbheibchen 169 nicht verwendet
wird.
Für jedes der Mikroprozessorscheibchen 160 - 169 ist der mit G
bezeichnete Ausgang die Gruppen-Übertragserzeugungsleitung für das Scheibchen und der P-Ausgang die Gruppen-übertragsfortschaltleitung
hierfür, wobei der rechts-gelegene Eingang für jedes
Scheibchen die oben im Zusammenhang mit Fig. 6 erläuterte und durch die Legende an dem Mikroprozessorscheibchen 160 bezeichnete
Übertragseingangsleitung C. ist. Betrachtet man irgendeines der
Scheibchen ^P1, das die Bits 21, 2i+1, 21+2 und 21+3 enthält, so
können die vier Eingangsbits eines Operanden als X„, X1, K.^
X- und die vier Eingangsbits des anderen Operanden mit YQ, Y^, Y„
und Y- bezeichnet werden. Folglich ist für irgendein Bit w die Fortschaltbedingung P für dieses Bit und G die Erzeugungsbedingung.
Dies kann in der Form einer Bool1sehen Gleichung wie
909810/0956
folgt ausgedrückt werden: P=X ζ+) Y und G = X . Y9.
Vy V/ W VV Vr **
Folglich können die Fortschalt- und Erzeugungssignale für das Chip wie folgt ausgedrückt werden:
P = P0 * P1 * P2 ' P3
G = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 GQ
Die Übertragsvorgriffsschaltkreise 170 - 176 sind von herkömmlicher
Bauweise und können bequem durch den Motorola-Vorgriffsübertragschip
MC1O179 ausgeführt sein, der vollständig in der von der Firma Motorola Semiconductor Products, Inc. erhältlichen Literaturstelle
"The Semiconductor Data Library", Serie A, Band 4, 1974, beschrieben ist.
Die Übertragsvorgriffschips 170 - 176 sind bezüglich der Mikroprozessorscheibchen
160 - 169 in einer in dieser Literaturstelle beschriebenen Weise verbunden. Jedes der ÜbertragsVorgriffschips
besitzt Eingänge für die Gruppen-Übertragserzeugungsleitung und die Gruppen-Übertragsfortschaltleitung von den vier Mikroprozessorscheibchen
sowie einen Übertragseingang C. . Jeder Übertragsvorgriff
schip liefert Gruppen-Fortschalt- und Gruppen-Erzeugungsindikatoren aus den Eingängen zu dem Chip sowie zwei Übertragsausgangsindikatoren
C o und C ... Beispielsweise empfängt
τντΛ n+4
der Übertragsvorgriffschip 170 die Gruppen-übertragserzeugungs-
und Gruppen-übertragsfortschaltsignale von den Mikroprozessoren 160 - 163, die mit G , PQ, G1, P1, G9, P2 und G3, P3 bezeichnet
sind.
Der Chip 170 liefert die Gruppen-Fortschalt- und Gruppen-Erzeugungsindikatoren
G bzw. P aus den Eingängen zu diesem Chip wie folgt: a a "
Ga = G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P 3 Pa = P0 * P1 · P2 * P3
Der C j UbertragsausgangsindiV.ator erzeugt ein Übertragsausgangssignal,
das auf dem Übertragseingangssignal C. und den Fortschalt-
909810/0956
und ErzeugungsSignalen aus den beiden letzten signifikanten Mikroprozessoren
160 und 161 wie folgt basiert:
Cn+2 = Cin P0 P1 + G0 P1 + G0
Der C . Übertragsausgangsindikator basiert auf C. und den Erzeugungs-
und Fortschalt-Leitungen aus allen Eingangsmikroprozessoren 160 - 163 wie folgt:
Cn+4 - Cin P0 P1 P2 P3 + G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P3 * Cin Pa + Ga ·
Mit dem Aufbau der 36 Bit-Betriebsweise für den lokalen Prozessor,
wie in Fig. 31 dargestellt, wird die maximale Geschwindigkeit erreicht,
da der Schaltkreis so aufgebaut ist, dass das C. -Signal für jedes Mikroprozessorscheibchen 160 - 169 von den Übertragsvorgriff schips 170 - 176 errechnet wird anstelle der Verwendung
eines Schnellübertrages von den vorhergehenden Mikroprozessorscheibchen, wobei die Übertragsvorgriffssignale wie dargestellt
geliefert werden. Beispielsweise liefert der Übertragsvorgriffschip 175 da& Übertragseingangssignal für das Mikroprozessorscheibchen
168 wie folgt:
Cin ( J1 V - Gc + Pc Ga + P8 Pc Pa
Das Endübertragssignal C. wird von dem Übertragsvorgriffschip
176 zu den C. -Eingängen zu dem Mikroprozessorscheibchen 160 und der Übertragsvorgriffschips 170, 171, 173 und 174 geliefert. Das
Endübertragssignal C. besitzt zwei Komponenten, wobei eine Komponente von dem Übertragsausgang aus dem Mikroprozessorscheibchen
168 beigetragen wird. Allerdings wird, anstelle dass auf den Übertragsausgang gewartet wird, der von dem Scheibchen zu bilden ist,
der Übertragsausgang aus G„ und Pß errechnet und die andere errechnete
Gruppe erzeugt sich und schaltet fort, was als Eingänge zu dem Chip 176 dargestellt ist. Ein Übertragsausgang aus dem
Mikroprozessorscheibchen 168 wird dann auftreten, wenn G0 eine
909810/0956
logische Eins oder wenn P„ eine logische Eins ist und wenn ein
Übertragseingang zu dem Scheibchen 168 von anderen Scheibchen vorhanden ist. Folglich wird ein Übertragseingang zu dem Scheibchen
168 vorhanden sein, wenn die Mikroprozessorscheibchen 164 167
einen übertrag erzeugen, oder wenn die Mikroprozessorscheibchen 1CO - 163 einen Übertrag erzeugen und die Scheibchen 164 167
diesen übertrag fortschalten. Mit anderen Worten wird entsprechend
G + P G ein Übertragseingang zu dem Scheibchen 168
C C el
vorhanden sein (der nicht durch den LJndübertrag gebildet ist)
und folglich wird ein Übertragsausgang des Scheibchens 168 entsprechend G0 + Pn (G +P G) vorhanden sein,
ο ο c c a
Die andere Komponente des Endübertrages resultiert aus einem negativen Hull (alles Einsen), die von den Mikroprozessorscheibchen
160 - 168 erzeugt wird. In diesem Falle wird ein Endübertragssignal
benötigt, um alle Einsen in nur Nullen umzuwandeln aus Gründen, die weiter unten erläutert v/erden. Da P = Pn .
P1 . Pj . P-i . P - P/j · Pr · Pf · P7 un^ das Fortschreitsignal
eines Mikroivrozessorscheibchcns dann und nur dann eine Eins ist,
xvenn das Ergebnis ohne einen Übertrag nur aus Einsen besteht, so
lautet die Bedingung für diesen Endübertrag: P .P . Pß.
Folglich wird das C. -Signal durch den Übertragsvorgriffschip
wie folgt erzeugt:
C * = Gn H P0 (G H P G ) + P P P„
in 8 8 c ca a c 8
Das C. wird mit. dnm l.i;L·—iJitjiial mit einer verdrahteten UND-Verknüpfung
177 aus v/o. it er unten erläuterten Gründen verknüpft.
Bei der ? χ 20 Betriebswoiso ist der lokale Prozessor mit 40 Bits
als zwei ZO-Bit-BOzessorf-n aufgebaut, die die gleiche Funktion
durchführen in Abhängigkeit von den LPFT- oder LPFF-Feldern, jedoch
mit unterschiedlichen Daten an den Λ- und B-Eingangsanschlüssen.
Bezugnehmend auf Fig. 32, in der gleiche Bezugszeichen gleiche Komponenten in bezug auf Fig. 31 bezeichnen, ist der linksgelegene
20 Bit-Prozessor so dargestellt, dass er aus den Mikro-
909010/0956
prozessorscheibchen 165 - 169 besteht. Die Übertragsvorgriffschips
180 bis 183 werden in einer Weise und aus Gründen verwendet, die den oben im Zusammenhang mit Fig. 31 erläuterten ähnlich sind
und sie sind den Übertragsvorgriffschips 170 - 176 identisch. Aus
Gründen, ähnlich denen, die oben im Zusammenhang mit der 36 Bit-Betriebsweise erläutert wurden, ist ein Endübertragssignal zu den
Übertragseingangsanschlüssen des Mikroprozessorscheibchens 165 ebenso vorgesehen, wie zu den Übertragsvorgriffschips 180 und 183.
Der Endübertrag für den linksgelegenen halben 20 Bifc$?rozessor
wird durch den Übertragsvorgriffschip 181 in Übereinstimmung mit Gg + P G. geliefert. Dieses Signal wird durch ein verdrahtetes
UND-Gatter 184 unter der Steuerung des eac-Signals, das noch zu
beschreiben ist, angelegt. Der Ausgang des Übertragsvorgriffschips
182 zu dem Übertragseingangsanschluss des Mikroprozessorscheibchens 169 wird wie folgt gebildet:
Cin < ? V * Gh + <G9 Ph + Gh Ph V eac
=Gh+ eac (G9 + P9 6h) Ph
Es sei darauf hingewiesen, dass der Ausdruck (Gg + Pq GrJ das
CEndübertrags si9nal ist, das von dem Cn+2 Übertragsausgangsindikator
aus dem Chip 181 geliefert wird.
Wenn der lokale Prozessor in der 2 χ 20 Betriebsweise arbeitet,
so wird der rechtsgelegene 20 Bitprozessor durch die Mikroprozessorscheibchen
160 - 164 und die Übertragsvorgriffschips 170 und 171 von Fig. 31 gebildet. In der 2 χ 20 Betriebsweise ist
das Signal tsb gleich Null und daher wird eine logische Null als Übertragseingang zu dem Mikroprozessorscheibchen 160 geliefert
sowie zu den Chips 170 und 171. Folglich arbeitet die rechte Hälfte jedes der lokalen Prozessoren 17, 18 und 19 (Fig. 2 und 5)
ohne einen Endübertrag.
Der Aufbau für die 36 Bit-Betriebsweise, die im Zusammenhang rait
Fig. 31 beschrieben wurde und der Aufbau für die 2 χ 20 Bit-Betriebsweise, die im Zusammenhang mit Fig. 32 beschrieben wurde,
wird unter Verwendung einer Anordnung gemäss Fig. 33 kombiniert,
909810/0956
2837952
wobei gleiche Bezugszeichen gleiche Komponenten bezüglich der
Fig. 31 und 32 bezeichnen. Wie oben im Zusammenhang mit Fig. 4 erläutert, liefert das CC-MikroSteuerfeld zwei Bits, die als tsb
(36 Bit-Betriebsweise) und eac (Endübertrag) bezeichnet wurden, die den Aufbau des lokalen Prozessors wie folgt steuern:
1 tsb Verwende 36 Bit-Aufbau, wenn das
Bit = 1 ist, andernfalls den 2 χ 20 Bit-Aufbau
2 eac Wenn in der 2 χ 20 Betriebsweise, so
führe einen Endübertrag auf der linken Hälfte aus, wenn eac = 1, andernfalls
bilde keinen Endübertrag
wie oben im Zusammenhang mit Tabelle 7 beschrieben.
Die Übertragseingangseingänge zu den Mikroprozessorscheibchen - 168, die in der 36 Bit-Betriebsweise durch die Anordnung von
Fig. 31 und in der 2 χ 20-Bit-Betriebsweise durch die Anordnung
der Fig. 32 gebildet werden, werden miteinander ODER-verknüpft,
um kombinierte Eingänge über oder Gatter 190 - 193 zu liefern. Die
entsprechenden Ausgänge aus den Übertragsvorgriffschips von Fig.
31 werden, wie durch die Legenden bezeichnet, durch verdrahtete UND-Gatter 194 - 197 hindurch geliefert, um einen Eingang für die
entsprechenden ODER-Gatter 190 - 193 zu liefern. Die Übertragsvorgriff ssignale von Fig.32 werden, wie durch die Legenden bezeichnet,
durch verdrahtete UND-Gatter 198 - 201 hindurch angelegt,
um den zweiten Eingang für die entsprechenden ODER-Gatter 190 - 193 zu liefern. Das tsb-Signal wird als zweiter Eingang an
jedes der UND-Gatter 194 - 197 und das inverse tsb-Signal als zweiter Eingang an die UND-Gatter 198 - 201 angelegt. Folglich
wird darauf hingewiesen, dass bei der 36 Bit-Betriebsweise das tsb-Signal die Gatter 194 - 197 in Bereitschaft setzt, während das
tsb-Signal die Gatter 198 - 201 ausser Bereitschaft setzt. Umgekehrt setzt bei der 2 χ 20 Betriebsweise das tsb-Signal die Gatter
198 - 201 in Bereitschaft, während das tsb-Signal die Gatter
194 - 197 ausser Bereitschaft setzt. Zusätzlich setzt das tsb-Signal/
wie oben im Zusammenhang mit Fig. 31 erläutert, das C.
in dem Schaltkreis bei der 36 Bit-Betriebsweise in Bereitschaft
und setzt C. in der 2 χ 20 Betriebsweise ausser Bereitschaft,,
in
In Fig. 32 setzt das eac-Signal den Endübertrag zu dem linksgelegenen
halben Prozessor in der 2 χ 20 Betriebsweise in Bereitschaft
zur Steuerung der arithmetischen Prozesse.
Jeder der lokalen Prozessoren 17, 18 und 19 umfasst die Aufbausteuerung
und den Übertragsvorgriffsschaltkreis, der oben im Zusammenhang mit den Fig. 31 - 33 erläutert"wurde. Der lokale
Prozessor 27 mit 20 Bits ist in Übereinstimraung mit dem Aufbau
der rechten Hälfte, die in Fig. 31 dargestellt ist, aufgebaut, wobei er Mikroprozessorscheibchen 160 - 164 und die Übertragsvorgriff schips 170 und 171 enthält, wobei Übertragseingänge zu
den Komponenten 160, 170 und 171 vorhanden sind, an die eine logische
Null angelegt ist.
Folglich wird darauf hingewiesen, dass jeder lokale Prozessor 17,
18 und 19 so aufgebaut sein kann, dass er als ein 36 Bite-Prozessor
oder als zwei unabhängige 20 Bife-Erozessoren arbeiten kann, wobei
der Schaltkreis von Fig. 34 die Trennung zwischen den Prozessorhälften
bewirkt, wenn in der 2 χ 20 Betriebsweise gearbeitet wird.
Da die Daten der; Sperry Ünivac-Rechners 1108, die zu den lokalen
Prozessoren 17, 18 und 19 geliefert werden, in einem Einerkomplement
format vorliegen iind da die zur Ausführung der lokalen ProzoHscren
verwende Lon JiLU-Seheibchen in ZwexorkpinpleTnentarithmetxk
aurqobiJdet sind, werden die beschriebenen Endübertragssignale
da^u verwendet, die richtigen arithmetischen Resultate zu liefern.
Z.B., wie. oben im Zusammenhang mit Fig. 32 erläutert, liefert das
j^dübertragssigna] G„ P, + G. P. P0 das.benötigte-Endübertrags-signal.
Im Zusammenhang mit Fig. 32 wird das benötigte Endübertragssignal für die Einerkomplementarithmetik von der
Gn + Pn (G + P G)-Komponente des C *-Signal geliefert. Die
\j o c vj ei xn
P_ P_ Pn Komponente von C. wird dazu verwendet, die Darstellung
a c ο xn.
der negativen liull mit nur Einsen zu unterdrücken.
90-9.810/0956
Bezüglich der im Zusammenhang mit den Fig. 31 - 33 beschriebenen Anordnungen der Aufbausteuerung und der Übertragsfortschaltung
sei darauf hingewiesen, dass eine Vielzahl anderer Konstruktionen in den lokalen Prozessoren der Zentraleinheit 10 verwendet
werden können, jedoch dass die beschriebene Konstruktion eine besonders schnelle ist.
Aus dem vorhergehenden ist zu entnehmen, dass die lokalen Prozessoren
17, 18 und 19 in der 36 Bit-Betriebsweise zur Berechnung von vollständigen Wortdaten verwendet werden, während in der
2 χ 20 Betriebsweise Berechnungen der 18 Bitadresse sehr effektiv durchgeführt werden. Der lokale Prozessor 27 mit 20 Bits wird
ebenfalls primär hinsichtlich Adressberechnungen verwendet. Der lokale Prozessor 27 kann auch dazu verwendet werden, das Makro-P-Register
31 zu inkrementieren, um eine 100 NanoSekunden-Zeitbasis
für indirekte Ketten und Ausführungsketten zu liefern und zur Errechnung der absoluten Adresse des Registers des Mehrzweckregisterstapels
32, das durch ein Feld des Makrobefehles bezeichnet
ist, was im Zusammenhang mit der Befehlszustandstabelle 38 erläutert wurde.
Detaillierte Logikschaltkreise
Fig. 34 zeigt Einzelheiten des Multiplexers 54, der UND-Gatter 58, des Makrobefehlsregisters 13 und des Befehls- und Adressregisters
(Fig. 5b). Das Makrobefehlsregister 13 besteht aus 36 D-Flip-Flop-Stapeln mit dualen Eingängen, die mit den in Fig. 1
dargestellten Makrobefehlsfeldern korrespondieren. Jeder Stapel des Registers 13 empfängt seine entsprechenden Bits von den beiden
Speicherbänken (D.. und Dn) , wobei die Auswahl zwischen ihnen
durch das D ^ MIR-Signal bewirkt wird, das an die A-Eingänge
aller Stapel des Registers angelegt wird. Die passend ausgewählten
Daten werden in das Register 13 mittels eines ACK-Signales eingetaktet, das an die Takteingänge der Stapel angelegt wird.
Folglich wird darauf hingewiesen, dass die Funktionen des Multiplexers 54 und des UND-Gatters 58, die in Fig. 5b als diskrete
Komponenten dargestellt wurden, durch die dargestellten Verbin-
909810/0956
— 1 ·? Q _
düngen zu den integrierten Schaltkreiskomponenten bequem ausgeführt
werden können.
Die Ausgänge von den a, j und f-Stapeln des Makrobefehlsregisters
13 werden an die entsprechenden Stapel des Befehls- und Adressregisters 56 angelegt, das aus 14 Einzeleingangs-D-Flip-Flops
besteht. Die a, j und f-Feldinformation wird zu dem Befehls- und Adressregister 56 mittels eines STAT-Signales übertragen, das an
die Takteingänge der Registerstapel angelegt wird. Die Ausgänge
aus den f- und j-Stapeln des Registers 56 werden an eine Logik
angelegt, die im Zusammenhang mit Fig. 35 zu beschreiben sein wird, um die Adresse in den Befehlszustandstabellenspeicher 38
zu liefern. Die j-Stapel des Registers 56 sind weiterhin mit dem
Addierer 72 (Fig. 5a) verbunden, aus Gründen, die oben im Zusammenhang mit der B-Bus-ELngangsauswahl erläutert wurden. Die j-
und a-Stapel des Registers 56 sind entsprechend mit den Multiplexern
61 und 62 (Fig. 5c) verbunden, um Daten zu dem B-Eingangsanschluss des lokalen Prozessors 27 zu liefern.
Fig. 35 zeigt einen Logikschaltkreis 205, der auf die Ausgänge
von dem Befehls- und Adressregister 56 anspricht, um den Adresseingang
zu der Befehlszustandstabelle 38 als auch den Befehlsvektör zu dem Multiplexer 39 zu liefern. Eine Logik 210 bildet
die Befehlszustandstabellenadresse sowie den Befehlsvektor in
Übereinstimmung mit der obigen Erläuterung der Fig. 5 im Zusammenhang
mit der Befehlszustandstabelle 38.
Wie oben erläutert, ist die Befehlszustandstabelle 38, die als
programmierbarer Nur-Lesespeicher ausgeführt ist, 256 Worte lang und 10 Bits breit und liefert die oben beschriebenen Felder GB,
CB, FOS, SL und MC, Die Befehlszustandstabelle 38 decodiert das
Befehlsformat des Sperry Univac-Rechners 1108 zu dessen wirksamer
Emulierung, wobei die Befehlszustandstabellenadresse durch die f- und j-Felder des emulierten Makrobefehles geliefert wird.
Die Speichertabelle von Fig. 35a zeigt die Zuordnung des Speichers
zu den Hauptteilmengen der Makrobefehle des Sperry Univac-Rechners 1108* Die Zahl in jedem Kästchen stellt die Anzahl von
909810/0956
Dezimalworten dar, die für jede Gruppe von Funktionscodes reserviert
ist, was durch die Legenden an der rechten Seite dargestellt ist. Makrobefehle, deren f-Feld kleiner ist als 70 (im Oktalsystem)
erscheinen an zwei Stellen; an einer Stelle, wenn ein Direktoperand abgerufen ist und an einer anderen Stelle, wenn ein
Direktoperand nicht abgerufen ist. Die Befehlszustandstabelle 38 enthält ein Wort für jeden Makrobefehl mit einem f-Feld, das
gleich oder grosser als 70 (oktal) ist.
Das GB-Ausgangsfeld (GRS Basisadresse) aus der Befehlszustandstabelle
38 wird zur Errechnung der absoluten Adresse der verschiedenen Arten von GRS-Registern verwendet, die durch die a-Feldcodierung
des Sperry ünivac-Rechners 1108 bezeichnet sind, d.h. X, A, R und EXEC gegenüber dem Anwendersatz (das D6 Bit in dem
Prozessorzustandswort). Die absolute Adresse des durch das X-FeId bezeichneten Registers wird durch die Verbindung des X-Feldteiles
aus dem Makrobefehlsregister 13 zu den GRS-Adressmultiplexern 77
und 78 erzeugt, wobei das D6 Bit bei 77 hiermit verkettet ist. Wie oben beschrieben, ist eine der Quellen für die Adresse zu dem
lokalen Speicher 28 (Fig. 5c) das GB-FeId aus der Befehlszustandstabelle
38, das mit dem D6 Bit und dem Bit 3 des LMA-Feldes des Mikrosteuerspeichers 36 verkettet ist. Die auf diese Weise abgeleitete
Speicheradresse liefert die Orte für die Basis des gewünschten Registersatzes. Wenn das LMA-Bit 3 auf Null gesetzt ist,
so kann das GB-FeId des in der Befehlszustandstabelle gepsicherten
Wortes so codiert sein, dass es das folgende Muster einnimmt:
Verwendung | D6 | GB | Adresse des lokalen Speichers |
Inhalt des lokalen Speichers |
LA | 0 | 00 | 0000 | 148 |
LX | 0 | 01 | 0001 | 0 |
LR | 0 | 10 | 0010 | 10O8 |
JGD | 0 | 11 | 0011 | 0 |
LA | 1 | 00 | 0100 | 1548 |
LX | 1 | 01 | 0101 | 14O8 |
LR | 1 | 10 | 0110 | 12O8 |
JGD | 1 | 11 | 0111 | 0 |
909310/0956
Zum gleichen Zeitpunkt, an dem die obige Adresse zu dem lokalen
Speicher 28 geliefert wird, wird das a-Feld aus dem Befehls- und Adressregister 56 des emulierten Makrobefehles zu dem B4-Bus für
den lokalen Prozessor 27 tormässig geleitet (BBS = 0). Der lokale Prozessor 27 addiert die an seinen A-Eingangsanschluss von
dem lokalen Speicher 28 gelieferte Basis mit den verbleibenden Rest (das a-Feld), wobei das Ergebnis die absolute Adresse des
gewünschten GRS-Registers ist. Das Ergebnis wird in dem Register-Adressregister
1 (RAR 1) gespeichert und dort für die Dauer der speziellen Emulierung gehalten. Diese Operationen werden unter
der Steuerung des Mikrobefehles "gemeinsam", wie oben im Zusammenhang
mit Fig. 15 erläutert, durchgeführt. Der lokale Prozessor
27 addiert dann die Konstante 1 zu seinem Mikroakkumulator,
um einen Zugriff zu dem zweiten Α-Register für doppelt lange Befehle zu ermöglichen, wobei dieser Wert in RAR 2 gespeichert
wird. Diese Operationen werdenvon dem ersten Mikrobefehl von einigen
der Klassenbasen gesteuert, was z.B. in Fig. 16a dargestellt und im Zusammenhang mit dieser Figur erläutert wurde.
Alternativ kann die Konstante 1 dadurch addiert werden, dass das geeignete Bit von LPFF oder LPFT aus dem Mikrosteuerspeicher 36
in den C. -Eingang des lokalen Prozessors 27 eingegeben wird.
Bei der Emulierung des Makrobefehles "SPRINGE GROSSER OND DEKRE-HENTIERE"
wird das mit dem A-Feld verknüpfte j-Feld zu dem B.Bus
29 (Tabelle 9) geleitet, wobei das zugeordnete Wort in dem Befehlszustandstabellenspeicher 38 das GB-FeId auf 11 gesetzt
hat und wobei BBS aus dem Mikrosteuerspeicher 36 gleich 0 ist.
Wie oben im Zusammenhang mit Tabelle 1-1 erläutert, liefert das Klassenbasisfeld (CB) aus dem Befehlszustandstabellenspeicher
eine weite Gruppierung der Arten von emulierten Makrobefehlen. Es sei darauf hingewiesen, dass die in Tabelle 1 dargestellten
acht Klassen (der Mikrobefehl "gemeinsam" ist keine echte Klasse) durch das i-Bit (indirektes Bit) des Makrobefehles zu 16 Klassen
verdoppelt werden. Es sei darauf hingewiesen, dass die Befehlszustandstabelle 38 (Fig. 35) aus im Handel erhältlichen PROM-Chips
(programmierbarer Nur-Lesespeicher) ausgeführt werden kann«,
909810/0956
283TtK
Ein "Befehl nicht bereit"-Signal CIRDY) kamt an die Ghipbereitschaftseingänge
(CE} an die Chips angelegt werden, so dass
der CB-Vektor eine enge Schleife bilden wirdt_ ä*h*.r CB wird als
Klassenbasis O geliefert. Das IRDY-Signal wird von der IRDY-Verriegelung
geliefert, die weiter unten im Zusammenhang: mit dem
FETCH Nl-Signal aus den DAC-Verriegelungen 250 von Fig. 42 erläutert
wird.
Das "Abruf-Bereitstellungs-Bit" (FOS, fetch on staticize) aus
der Befehlszustandstabelle 38 beginnt, wenn es auf 1 gesetzt ist, den nächsten Makrobefehl innerhalb einer Emuiierung so schnell
als möglich abzurufen. Das Bit wird auf 0 gesetzt, um ein Abrufen des nächsten Befehles aufgrund eines Sprungbefehles zu vermeiden,
wenn die Adresse des nächsten Befehles noch nicht errechnet wurde.
Für die Fälle, bei denen FOS = 1, ist eine herkömmliche Hardware
in den Steuerschaltkreisen 41 (Fig. 5a) enthalten, um die Anwesenheit
der 1 zu erfassen, wobei ein Flankendetektor verwendet wird, der von dem FOS-Bit in dem Befehlszustandstabellenspeicher
38 getrieben wird. Der Flankendetektor wird während der Zugriffszeit der Befehlszustandstabelle gesperrt, um eine falsche Erfassung
zu verhindern. Wenn FOS erfasst wurde, so überträgt die
Hardware P ^ IARO und ruft in Übereinstimmung mit der Adresse
in IARO den nächsten Befehl ab. Wenn FOS gleich 0 ist, so wird das FETCH NI-Bit 13 in der oben im Zusammenhang mit Fig. 7 erläuterten
DAC-Tabelle dazu verwendet, den Makrobefehl während eines bestimmten Mikrozyklus abzufragen, welcher Steuerpegel im
Einzelfalle bei der Emulierung des Sprungbefehles nützlich ist sowie in den oben im Zusammenhang mit dem FOS-Bit erläuterten
Fällen.
Das "Linksschiebe"-Bit (SL) aus dem Befehlszustandstabellenspeicher
38 wird für den Linksschiebe-Makrobefehl auf 1 gesetzt und wird als Bit höherer Ordnung zu dem Schiebesteuerregister 69
(Fig. 5a) auf eine D ^ SCR-Übertragung geliefert, was bei
dargestellt ist.
Das Maskensteuerfeld (MC) des Befehlszustandstabellenspeichers
.38:-"wird dazu verwendet, die Inversion der Masken, die in den lokalen Speichers 24, 25 und 26 (Fig. 5) enthalten sind, in Übereinstimmung
mit der obigen Tabelle12 zu steuern. Beispielsweise sei MC = 01 und die spezielle Maske sei -000777777777g, dann'wird
diese Maske auf den A-Bus des zugeordneten Prozessors geliefert.
Wenn allerdings MC = 10, so liefert der zwischen den lokalen Speicher und den A-Eingangsanschluss des lokalen Prozessors zwischengesghaltete
Komplementierer das Komplement der Maske an den A-Eingangsanschluss des Prozessors, wobei die komplementierte
Maske in dem vorliegenden Beispiel dann 777GOOOOOOOOg ist. Folglich
kann eine einzige Maske dazu verwendet werden, die linken meisten 1 Bits auszublenden (AND; logische Rechtsverschiebung)
oder die rechten meisten 1 Bits auszublenden (logisches Rechtsverschieben)
. Wenn MC = 11, so wird die Maske selektiv komplementiert
in Übereinstimmung mit dem Vorzeichen des Operanden, um, unter anderem, eine Vorzeichenerweiterung (sign extension) auf
einzelne Wortoperanden zu erzeugen.
Fig. 36 zeigt Einzelheiten des Multiplexers 71, des Verschiebungs/Masken-Adress-PROM'S
70, des B-BuSrELngangsmultiplexers
und der Hochgeschwindigkeitsverschiebeeinrichtung 35, die aus den Multiplexern 67 und 68 besteht. Der Multiplexer 34 enthält
36 4-ZU-1 Multiplexer, wobei die Eingangsauswahl durch die zwei Leitungen von dem Multiplexer 65 (Fig. 5b) ausgeführt wird. Die
36 Bits jedes der bezeichneten Eingänge, nämlich B-Bus, GRS, MDR
und D4 sind mit den Eingängen der entsprechenden 36 Multiplexern verbunden. Die Ausgänge 210 enthalten die 36 Ausgänge von den
36 entsprechenden Multiplexern, die den Multiplexer 34 enthalten.
Die Hochgeschwindigkeitsverschiebeeinrichtung 35 besteht aus zwei
Ebenen von Multiplexern 67 und 68, wobei jede Ebene 36 8-zu-1 Multiplexerchips, wie dargestellt, enthält. Der Multiplexer 67
enthält die Chips M2Q bis M235 und der Multiplexer 68 enthält
Chips M"3 bis M3,-. °ie Auswahleingänge 2U den Multiplexern
67 werden durch die drei Ausgangsleitungen 211 aus dem Speicher 70 geliefert und die Eingangsauswahl für den Multiplexer 68 wird
909810/0956
■"134-
durch die Leitungen 212 von dem Speicher 70 durchgeführt. Die
36 Ausgänge aus den Multiplexern 34 sind mit den Eingängen der
Multiplexer 67 verbunden, wodurch die 36 Eingangsbits zu den 36 Ausgängen der Multiplexer 67 übertragen werden, und zwar in Übereinstimmung
mit eier Eingangsauswahl, die durch die Leitungen 211
durchgeführt wird, um 0,1, 2, 3, 4 oder 5 Stellen nach rechts verschoben. In ähnlicher Weise werden die 36 Ausgänge aus den
Multiplexern 67 mit den Eingängen der Multiplexer 68 verbunden, wobei die Bits parallel zu den 36 Ausgängen der Multiplexer 68
übertragen werden,und zwar in Übereinstimmung mit der durch die Leitungen 212 durchgeführten Eingangsauswahl, um 0, 6, 12, 18,
24 oder 30 zusätzliche Stellen nach rechts verschoben. Die Verbindungen zwischen den Multiplexerebenen M1, M2 und M3 sind
so, dass eine zirkuläre Rechtsverschiebung der hierdurch übertragenen
Daten von den 0-35 Positionen gesteuert werden können mittels der Multiplexeradresseingänge 211 und 212. Der Effekt
einer zirkulären Linksverschiebung wird durch eine komplementäre
Rechtsverschiebung erreicht.
Die Verbindungen zwischen den Multiplexern 34, 37 und 68 zur Ausführung
der gesteuerten Hochgeschwindigkeitsparallelverschiebung sind generell bekannt, wobei in dem Sperry ünivac-Rechner 1108
eine ähnliche Anordnung verwendet wird. Jeder der 36 Ausgänge aus dem Multiplexer 34 ist mit sechs der Multiplexer 67 verbunden und
jeder der 36 Ausgänge von den Multiplexern 67 ist mit sechs der Multiplexer 68 verbunden, wodurch die oben beschriebenen gesteuerten
Verschiebungen durchgeführt werden.
Wie oben beschrieben, wird die Verschiebeeinrichtung 35 von dem 128 χ 12 PROM 70 gesteuert. Der 7 Bittres seingang für den PEpIl
70 wird in der oben beschriebenen Weise durch den Adressmulti=-
plexer 71 geliefert. Im einzelnen besteht der Multiplexer 71 aus sieben 4-zu-1 MultiplexersegmenteB* die auf die entsprechenden
Bits der Adressquellen ansprachen v wie erläutert. Die Multiplexereingangsauswahl
wird durch äas sv&i. BIt-SFT=FeId aus dem Mikro=
steuerspaicher 36 bewirkt» Die Auswahl wird zwischen zwei nicht
iß iff
verschobenen Eingängen GRS" und η durchgeführt mittels eines
909810/0956
UNB-Gattersr 2ΛΖ, das~ auf das BIS-FeId aus dent Mikro Steuer speicher
36 £n- Übereinstimmung mit der oben beschriebenen Tabelle Z atispricht.
Es sei darauf hingewiesen, dass der GRS -Speicher und
die u -Eingänge zur den Multiplexern 68 beispielsweise in öberein.-stimmung
mit den B-Fus-tferteil,die in den Fig. T5 und 16a dargestellt sindrr angeordnet sind, wobei die gezeigten Nullen und
Einsen an die" entsprechenden Multiplexersegmente des Multiplexers
68 angelegt werden. Beispielsweise werden für ρ Nullen an die
Bits 2 f 2 , 2 und 2 angelegt. Zusätzlich werden die sieben
Bits aus dem SCR-Register 69 (Fig. 5a) an Reserveeingänge der
sieben letzten signifikanten Multiplexersegmente 67 angelegt, zum Anlegen an die lokalen Prozessoren zur Modifikation darin.
Die Ädressaufteilung für das Verschiebungs/Masken-Ädress-Erom 70 ist in Fig. 36a dargestellt.
Der Speicher 70 hat also sechs Ausgänge 214, um Adressen zu den
Adressmultiplexern des lokalen Speichers zu liefern, wie z.B. zu dem Multiplexer 80 des lokalen Speichers 24. Die über die Leitungen
214 gelieferte Adresse kann dazu verwendet werden, Masken in den lokalen Speichern zu bezeichnen. Bei einem Verschieben
ist es öfters erforderlich, die Eingangsoperanden zu den lokalen Prozessoren 17, 18 und 19 zu maskieren. Z.B. wird ein Maskieren
zu einer j-Feldextraktion verwendet sowie für das Emulieren der logischen Verschiebebefehle. Folglich sind 36 Plätze in jedem
der lokalen Speicher 24, 25 und 26 für Masken reserviert, die für 0-35 Platzverschiebungen geeignet sind. Im Oktalsystem sind die
Masken wie folgt:
Maskennummer | Maskenwert |
0 | 777777777777 |
1 | 377777777777 |
2 | 177777777777 |
3 • |
077777777777 • · · |
• 35 |
• · · 000000000000 |
909810/0956
Die Masken können in den lokalen Speichern an irgendeiner Stelle und in irgendeiner Folge vorhanden sein. Allerdings müssen die
lokalen Speicher 24, 25 und 26 die gleiche Adresse für jede entsprechende Maske verwenden- Obwohl 36 Masken in dem Speicher gespeichert
sind, werden tatsächlich 72 Masken benötigt. Z.B. erfordert eine logische Rechtsverschiebung Null-Bits hoher Ordnung
für einen nachfolgenden UND-Eefehl in dem lokalen Speicher und eine logische Linksverschiebung erfordert Eins-Bits hoher Ordnung.
Die nachfolgend detaillierter zu beschreibenden Komplementiereinrichtung 82 (Fig. 5b) verdoppelt wirksam die Anzahl der Masken
unter der Steuerung des MikrosteuerSpeichers 36. Der Komplementierer
82 invertiert unabhängig von einer Bedingung die Richtung der Bits in der Maske oder bewirkt deren Inversion, so dass sie
in Übereinstimmung mit dem Vorzeichen der Eingangsvariablen SE (Tabelle 4) auftreten. Diese Fähigkeit wird zur Vorzeichenausdehnung
(sign extension) verwendet, wenn j = O3g, 04g, usw. ist.
Fig. 37 zeigt Einzelheiten des Multiplexers 80 (Fig. 5b), der die Adressen für den lokalen Speicher 24 liefert. Es sei darauf hingewiesen,
dass hiermit identische Multiplexer dazu verwendet werden, die Adressen für die lokalen Speicher 25 und 26 zu liefern.
Das 6-Bit LMA-FeId von dem Mikrosteuerspeicher 36 werden in sechs D-Flip-Flops 220 zum Zeitpunkt tg0 verriegelt. Die sechs verriegelten
LMA-Bits von den Flip-Flops 220, die LMAR-Adresse von dem Register 81 (Fig. 5a), sowie die sechs Bits von den Prom 70
(mit Verschiebe et bezeichnet) werden als Eingänge an sechs 3-aus-1 Multiplexer 221 gelegt, die die sechs Adressbits für den
lokalen Speicher 24 liefern. Die Adressauswahl wird durch das zwei-Bit-LMAS-FeId aus dem Mikrosteuerspeicher 36 über Verriegelungen
222 durchgeführt. Die Verriegelungen 222 werden zum Zeitpunkt
tg_ getaktet und zum Zeitpunkt t„ zurückgesetzt.
Fig. 38 zeigt Einzelheiten der Komponenten 24, 82 und 83 (Fig. 5b)
im Zusammenhang mit dem lokalen Prozessor P1. Es sei darauf hingewiesen,
dass ähnliche Einzelheiten bezüglich der lokalen Prozessoren P-2 und P-3 verwendet werden. Der lokale Speicher 24 enthält
ein .64-Wort-zu-64-Bit-RAM (Speicher mit direktem Zugriff,
909810/0956
random access memory), das durch die sechs Bits von dem Multiplexer
221 (Fig. 37) adressiert wird und die 40 BifcWbrte zum
Einschreiben aus dem D-Bus 23 empfängt. Das.Schreiben wird durch
ein SCHREIBE-LM-1-Signal gesteuert, das auf einer Leitung 223
von einem im Zusammenhang mit Fig. 39 zu beschreibenden Schaltkreis geliefert wird. Das aus dem Speicher 24 gelesene 40 Bitwort
wird an den Komplementierer 82 angelegt.
Der Komplementierer 82 enthält 40 Exklusiv- ODER-Gatter 224 mit
zwei Eingängen, wobrii ein Eingang durch die entsprechenden Datenbits
aus dem lokalen Speicher 24 und der andere Eingang durch ein Komplement LM1-Signal auf einer Leitung 225 getrieben wird.
Wenn das Signal auf der Leitung 225 eine logische Null ist, so wird das Wort unkomplementiert übertragen, und wenn das Signal
eine logische Eins ist, so wird das Einer-Komplement der Daten übertragen. Das Signal auf der Leitung 225 wird durch zwei UND-Gatter
226 und 227 und ein NOR-Gatter 228 wie folgt erzeugt:
/£mas = 10 Λ mc = 107 V /£mas = 10 A mc = 11 Λ seJ
Folglich wird aus der obigen Tabelle 5 darauf hingewiesen, dass die Daten nur dann komplementiert werden, wenn das LMAS-Mikrosteuerfeld
die Adresse von dem Prom 70 (Fig. 5a) als Adressquelle für den lokalen Speicher 24 auswählt. Eine selektive Komplementierung
wird durch die MC-Bits aus der Befehlszustandstabelle 38 (Fig. 5b) in Übereinstimmung mit Tabelle 12 durchgeführt und das
UND-Gatter 227 steuert die Komplementierung in Übereinstimmung mit der Vorzeichenausdehnungs-(SE)-Variablen im Hinblick auf das j-FeId,
das QW-Bit und die entsprechende unverschobene Bit-Position. Dieses Merkmal wird für die j-Feldvorzeichenausdehnung verwendet.
Die 40-Bit-Ausgänge aus den Exklusiv-ODER-Gattern 224 des Komplementierers
82 werden an das A-Register 83 (Fig. 5b) angelegt, das aus 40 D-Verriegelungen besteht, die zum Zeitpunkt tQ getaktet
werden.
Fig. 39 zeigt die Schaltkreise zur Erzeugung des "SCHREIBEN"-
909810/0956
Signal (vgl. Leitung 223 in Fig. 38) für die lokalen Speicher 24,
25, 26 und 28. Der Schaltkreis besteht aus vier D-Flip-Flops 230 mit dualem Eingang, die die "SCHREIBE LM"-Signale für die entsprechenden
lokalen Speichern liefern. Die beiden D-Eingänge zu den Flip-Flops 230 werden durch die zwei Bits der entsprechenden
WLM-Felder für die zugeordneten Prozessoren geliefert. Die Auswahl
zwischen den beiden D-Eingängen wird durch den zugeordneten Entscheidungspunkt DP 7 - DP 10 ausgeführt. Die Flip-Flops 230
werden zum Zeitpunkt tQ getaktet und zum Zeitpunkt t4Q zurückgesetzt.
Die entsprechenden WLM-Felder (Tabelle 10) steuern die Schreibfunktion wie folgt:
WLM1
WLMO
0 0 1 1
0 1 0 1
NOP (nicht schreiben) Schreibe, wenn DP = 1 Schreibe, wenn DP = 0 Schreibe
Im einzelnen wird das SCHREIBEN-Signal wie folgt erzeugt:
DP
WLM1
WLMO
0 | 0 | 0 |
0 | 0 | 1 |
0 | 1 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
"i | 1 | 1 |
SCHREIBEN
0-0-1-01- 0-
-NOP
-Schreibe, wenn
Schreibe
Schreibe, wenn DP = 0
Fig. 40 zeigt Einzelheiten des Multiplexers 39 und der Adressverriegelung
60, die die 10-Bit-Adresse für den Steuerspeicher 36 liefert.
Die Adressverriegelung 60 besteht aus 10 D-Verriegelungen mit dualem Eingang, um die entsprechenden 10 Adressbits zu liefern.
Wie oben im Zusammenhang mit Tabelle 1 erläutert, wird die Adresse NAF als Steuerspeicheradresse ausgewählt, wenn DPO gleich Null ist,
909810/0956
die Adresse NAT wird als Steuerspeicheradresse gewählt, wenn DPO gleich eins ist und wenn DPO gleich eins ist wird KAT in Abhängigkeit
von dem Klassenbasisvektor ausgewählt, der der Befehlsvektor oder Unterbrechungsvektor in Übereinstiimnung mit dem
XF-FeId ist. Zusätzlich werden DP1 bzw. DP2 mit den beiden letzten
signifikanten Bits der S.teuerspeicheradresse ODER-verknüpft,
wenn NAT ausgewählt wurde. Das DPO-Signal (Fig. 8a) wird an die
Α-Eingänge der Verriegelungen 60 angelegt, um die Adressauswahl
zu bewirken. Die Verriegelung 235 liefert das 2 Adressbit zu dem
Steuerspeicher 36. Das letzte signifikante Bit von NAF wird an den D1-Eingang der Verriegelung 235 angelegt und ausgewählt, wenn
DPO gleich Null ist. Die letzten signifikanten Bits des Befehlsvektors , des Klassenbasisvektors und des Unterbrechungsvektors
werden über entsprechende UND-Gatter 236, 237 und 238 angelegt, die zu einem ODER-Gatter 239 kombiniert sind, um den D -Eingang
der Verriegelung 235 zu erzeugen, wobei der Eingang ausgewählt wird, wenn DPO gleich eins ist. Die beiden Bits des XF-Feldes
werden an die UND-Gatter 236, 237 und 238 angelegt, um die Auswahl
der Vektoren durchzuführen, wie in der obigen Tabelle angegeben. Das letzte signifikante Bit von NAT wird als ein Eingang an das
ODER-Gatter 239 angelegt, wo es mit den Ausgängen der UND-Gatter 236, 237 und 238 kombiniert wird, um die Steuerfunktionen, die in
Tabelle 1 aufgeführt sind, auszuführen. DP1 wird ebenso als ein Eingang an das ODER-Gatter 239 als Teil des Mechanismus angelegt,
um den 4-Wege-Vektorsprung durchzuführen, der oben im Zusammenhang mit den MikroSteuerfeldern VDSO und VDS1 erläutert wurde.
Die Verriegelung 240 liefert das 21-Steuerspeicheradressbit und
empfängt Eingänge in einer Weise, die der oben im Zusammenhang mit dem 2 -Bit beschriebenen ähnlich ist, mit der Ausnahme, dass
das zweitletzte signifikante Bit von NAF, NAT, dem Befehlsvektor,
dem Klassenbasisvektor und dem Unterbrechungsvektor verwendet werden, wie im Zusammenhang mit DP2 gezeigt, wodurch der 4-Wege-Vektorsprungeingang
unter der Steuerung von VDS1 geliefert wird.
Das 2 -Adressbit wird durch eine ähnliche Logik erzeugt, mit Ausnahme,
dass das drittletzte signifikante Bit von den verschiedenen
909810/0956
Eingängen in ähnlicher Weise wie beschrieben verwendet wird. Es sei darauf hingewiesen, dass die DP1-und DP2-Eingänge nur mit den
beiden letzten signifikanten Bits verwendet werden und daher ähnliche Eingänge nicht in den Bits höherer Ordnung enthalten sind.
Der Klassenbasisvektor, der Befehlsvektor und der Unterbrechungsvektor
werden durch entsprechende 4-Bit-/ 8-Bit- und 5-Bit-Felder geliefert. Folglich werden die 4-Bits des Klassenbasisvektors
an die Steuerspeicheradressbits 3-0 angelegt, die 8-Bits des Befehlsvektors an die Steuerspeicheradressbits 7-0 und die 5-Unterbrechungsbits
an die SteuerSpeicheradressbits 4-0, wobei die
verwendete XF-Auswahllogik bei diesen Befehlen benötigt wurde.
Das signifikanteste Steuerspeicheradressbit 2 wird von einer
Verriegelung 241 geliefert, wobei die D1-und D -Eingänge durch
das signifikanteste Bit von NAF bzw. NAT geliefert wird. Alle Verriegelungen 60 werden zum Zeitpunkt t-. getaktet.
Fig. 41 zeigt Einzelheiten zur Adressierung der Steuertabelle der aufgeschobenen Aktion (DAC), die oben im Zusammenhang mit Fig.
erläutert wurde. Die 5 Bits des DACT-Feldes von dem Mikrosteuerspeicher
36 werden an die entsprechenden 5 Stapel des DACT-Adressregisters 245 angelegt, das aus 5 D-Verriegelungen besteht.
In ähnlicher Weise wird das DACF-Adressfeld von dem Mikrosteuerspeicher
36 an 5 Stapel des DACF-Adressregisters 24 6 angelegt. Die Register 245 und 246 werden zum Zeitpunkt tQ getaktet. Die
in dem Register 245 verriegelte 5 Bit-DACT-Adresse wird an die
Adresseingänge eines 32-Wort-zu-21-Bit-Prom 106Y und die in dem
Register 246 verriegelte 5 Bit-DACF-Adresse den Adresseingängen
eines 32-Wort-zu-21-Bit-Prom 106N angelegt. Es sei darauf hingewiesen,
dass die Prom's 106Y und 106N zusammen die DAC-Tabelle
enthalten, die in Fig. 7 dargestellt und unter Bezugnahme auf diese Figur erläutert wurde. Die Speicher 106Y und 106N sind jeweils
Duplikate des anderen, wobei jeder die 27 Worte von 21 Bits speichert, die in Fig. 7 dargestellt sind. Das 21 Bit-Wort, das
durch das DACT-FeId adressiert ist, wird an den Ausgang des Speichers
106Y geliefert und ist als DACY (ja)-Bit bezeichnet. In
909810/0956
ähnlicher Weise liefert der Speicher 106N die 21 DACN (nein)-Bits in Abhängigkeit von der DACF-Adresse. Folglich wird darauf
hingewiesen, dass in Abhängigkeit von den DACT- und DACF-Feldern in einem Mikrobefehlswort zwei entsprechende Worte von 21 Bits
jeweils von den Speichern 106Y und 106N geliefert werden. Die
Auswahl zwischen diesen DACY- und DACN-Bits in Übereinstimmung
mit DP11 zur Lieferung der Steuersignale der aufgeschobenen Aktion für die Zentraleinheit 10 wird im folgenden beschrieben.
hingewiesen, dass in Abhängigkeit von den DACT- und DACF-Feldern in einem Mikrobefehlswort zwei entsprechende Worte von 21 Bits
jeweils von den Speichern 106Y und 106N geliefert werden. Die
Auswahl zwischen diesen DACY- und DACN-Bits in Übereinstimmung
mit DP11 zur Lieferung der Steuersignale der aufgeschobenen Aktion für die Zentraleinheit 10 wird im folgenden beschrieben.
Fig. 42 zeigt Steuerverriegelungen 250 der aufgeschobenen Aktion zur Lieferung der Steuersignale der aufgeschobenen Aktion an die
Zentraleinheit 10. Die DAC-Verriegelungen 250 enthalten 21 D-Flip-Flops
mit dualem Eingang, entsprechend den 21 Bits des Steuerspeichers 106 der aufgeschobenen Aktion (Fig. 41 und Fig. 7).
Die D1- und D_-Eingänge der Verriegelungen 250 sind verbunden,
um die entsprechenden DACN- und DACY-Bits von den Speichern 106N bzw. 106Y von Fig. 41 zu empfangen. Die Α-Eingänge aller Verriegelungen 250 sind so verschaltet, dass sie das DP11-Signal (Fig. 8a) empfangen und die Verriegelungen werden zum Zeitpunkt tQ getaktet. Da der DACN-Speicher 106N (Fig. 41) durch das Mikrosteuerfeld DACF adressiert ist und der DACY-Speicher 106Y durch das
MikroSteuerfeld DACT adressiert ist, bestimmt DP11, ob die DACT- oder DACF-aufgeschobene Aktion durchgeführt wird. Die Ausgänge
aus den DAC-Verriegelungen 250 sind mit verschiedenen Punkten der Zentraleinheit verbunden, um die bezeichnete Aktion zu veranlassen. Das D ^GRS(R)-Flip-Flop liefert die Schreibsteuerung für
um die entsprechenden DACN- und DACY-Bits von den Speichern 106N bzw. 106Y von Fig. 41 zu empfangen. Die Α-Eingänge aller Verriegelungen 250 sind so verschaltet, dass sie das DP11-Signal (Fig. 8a) empfangen und die Verriegelungen werden zum Zeitpunkt tQ getaktet. Da der DACN-Speicher 106N (Fig. 41) durch das Mikrosteuerfeld DACF adressiert ist und der DACY-Speicher 106Y durch das
MikroSteuerfeld DACT adressiert ist, bestimmt DP11, ob die DACT- oder DACF-aufgeschobene Aktion durchgeführt wird. Die Ausgänge
aus den DAC-Verriegelungen 250 sind mit verschiedenen Punkten der Zentraleinheit verbunden, um die bezeichnete Aktion zu veranlassen. Das D ^GRS(R)-Flip-Flop liefert die Schreibsteuerung für
das Schreib-GRS-Flip-Flop 79, das oben im Zusammenhang mit Fig.
beschrieben wurde. Das Flip-Flop 79 wurde zum Zeitpunkt to gesetzt
in Übereinstimmung mit dem Zustand der D—■ ^GRS(R)-Verriegelung
und zum Zeitpunkt tgo zurückgesetzt. Folglich wird darauf hingewiesen, dass ein Schreiben in das GRS während der ersten
Hälfte eines Mikrozykluses verhindert werden kann, wenn kein
Schreiben gewünscht ist, da das "SCHREIBE GRS"-Flip-Flop 79 nicht gesetzt ist, wenn D ^GRS(R) gleich Null ist.
Schreiben gewünscht ist, da das "SCHREIBE GRS"-Flip-Flop 79 nicht gesetzt ist, wenn D ^GRS(R) gleich Null ist.
Wie oben erläutert, zeigt Fig. 7 die Speichertabelle für das DAC 106. Das Steuer-Prom 106 der aufgeschobenen Aktion ist Im wesent-
909810/0956
lichen eine Haupt-Bit-Liste (master-bitted list) von möglichen
Aktionen, die während des Zyklus η durchgeführt werden sollen, mit den während des Zyklus n-1 erhaltenen Ergebnissen. Wenn die
Tabelle anzeigt, dass die Quelle der D-Bus 23 ist, so bestimmen die OUT-Felder, welcher Akkumulator (P 1, P 2 oder P3) die Quelle
ist und der DAC-Tabelleneingang bestimmt das Ziel. Die meisten
der Eingänge von Fig. 7 bezeichnen ein Bestimmungsregister, das oben im Zusammenhang mit den Fig. 2 und 5 erläutert wurde und
benötigen keine weitere Erläuterung. Allerdings werden einige der Eingänge, die sich auf ein Interface des Arbeitsspeichers 11
beziehen, im folgenden erläutert.
Befehlsübernahme (staticize)
Der Verriegelungs-Befehlsspeicher (latch STAT MEM) (nicht dargestellt)
in den Steuerschaltkreisen 41, die das STAT-signal z.B.
zu dem Register 56 (Fig. 5b) liefern, wird in Abhängigkeit von dem Befehlsübernahme-Bit aus dem DAC gesetzt. Das Befehlsübernahme-Bit
aus dem DAC hat eine Lebensdauer von nur einem Mikrozyklus, während das STAT MEM für mehrere Zyklen gesetzt bleiben
kann. Wenn der Befehl übernommen wurde, wird das STAT MEM gelöscht.
Zuerst wird eine P ^ IARroder D ^- IAR-Übertragung, die in
diesem DAC-Eingang bezeichnet ist, durchgeführt. Der nächste
Makrobefehl wird dann in Übereinstimmung mit der Adresse in dem IAR abgerufen. Wenn der Befehl aus dem Arbeitsspeicher 11 empfangen
wurde, so wird er zu MIR übertragen. Wenn das STAT MEM gesetzt ist, so wird der Befehl aus dem MIR13 zu dem Befehls- und
Adressregister 56 übertragen. Wenn der Makrobefehl so ankommt, dass er von dem IST 38 decodiert werden kann (für den Klassenbas
isvektor sprung ) durch t des Zyklus n, so wird eine Verriegelung (nicht dargestellt) IRDY (Befehlbereit) in den Steuerschal tkreisen 41 durch tg_ des Zyklus n-1 gesetzt. Dies geschieht,
da dynamische Variable zur Weiterschaltung in der Entscheidungslogik 40 durch t,~ verfügbar sein müssen. Beim nächsten Auftreten
909810/0956
von FETCH NI oder FOS (FETCH ON STATICIZE) wird IRDY gelöscht. Der Makrobefehl wird nicht automatisch übernommen, um eine
Steuerung für indirekte Adressketten vorzusehen. Die f, j und a-Felder
werden von dem anfänglichen Makrobefehl zurückgehalten, während x, h, i und u ersetzt werden, wenn i = 1 in Übereinstimmung
mit den Programmsteuerflussdiagrammen der Fig. 15—30.
Wenn FETCH NI und FETCH OP in dem gleichen DAC-Eingang gleich
eins sind und beide Adressen in dem gleichen Speichermodul vorhanden
sind, dann hat ein Abrufen des Operanden eine Präzedenz vor dem Abrufen des Befehls in Übereinstimmung mit der in dem
Sperry ünivac-Rechner 1108 verwendeten Prozedur.
Zuerst wird eine D ^ OAR-übertragung, die in diesem DAC-Eingang bezeichnet ist, durchgeführt. Wenn diese übertragung stattfindet,
wird eine (nicht dargestellte) Verriegelung in den Steuerschaltkreisen 41, die mit OARBZY bezeichnet ist, gesetzt
und eine weitere (nicht dargestellte) Verriegelung, die mit ORDY
(Operand bereit) bezeichnet ist, gelöscht. Danach wird ein vollständiger Wortoperand in Übereinstimmung mit der Adresse in dem
OAR abgerufen. Die j-Feld-Operationen, die in den Mikroprogrammflussdiagrammen
der Fig.15 - 30 bezeichnet sind, werden durchgeführt. Wenn der Operand früh genug auftritt, um zu dem B-Bus 22
durch t_ des Zyklus η zu gelangen, so wird ORDY durch tg_ des
Zyklus n-1 gesetzt. Sobald der Arbeitsspeicher 11 anzeigt, dass
er mit der Benutzung der Adresse in dem OAR aufgehört hat, wird OARBZY gelöscht.
Zuerst wird eine D ^- MDRVi oder D ^ OAR-übertragung, die in
diesem DAC-Eingang bezeichnet ist, durchgeführt. Wenn eine
D ^OAR-übertragung durchgeführt wird, wird OARBZY gesetzt.
Der Speicher 11 wird befehligt, an der in dem OAR bezeichneten
Wortadresse und der in PW (Teilwort) bezeichneten Zeichenandresse
909810/0956
zu schreiben. Die Speicherung eines Operanden hat immer Präzedenz vor dem Abrufen eines Befehles, so dass die Folge "Speichern"
"Ausführen" toleriert wird, wobei beide Befehle sich auf die gleiche Adresse beziehen. Es sei darauf hingewiesen, dass "Speichere
den Operanden" die Bits der rechten Hälfte 17_Oo des MDRW au^
einen SLJ-Befehl hin speichern, selbst wenn der SLJ-Befehl nicht
üblicherweise als Speicherbefehl angesehen wird.
Wenn der Arbeitsspeicher 11 mit der Verwendung des Inhaltes des
OAR und des MDRW geendet hat, so wird die OARBZY-Verriegelung gelöscht. Der Zustand des OARBZY wird vor dem Laden des OAR oder
MDRW getestet, welches von beiden jeweils früher auftritt.
Die Zeitsteuerung für die DAC-Operationen ist in Fig. 14 dargestellt,
wo die beiden möglichen Adressfelder DACT und DACF während
des Zyklus 1 gelesen und am Ende dieses Zykluses verriegelt werden. Während des Zyklus 2 werden die beiden DAC-Speicher 106N
und 106Y (Fig. 41) gelesen. Ungefähr zum Zeitpunkt tqc. des Zyklus
2 wird eine Entscheidung getroffen, welche von beiden Adressen DACT oder DACF die richtige /idresse war. Die ausgewählten Bits
werden verriegelt, sofern nötig, und die bezeichnete Aktion wird während des Zyklus 3 ausgeführt (oder eingeleitet).
Fig. 43 zeigt Einzelheiten der Logik 52 (Fig. 5c). Wie oben erläutert,
liefert die Logik 52 in Abhängigkeit von den entsprechenden IAR17 und OAR1--Bits aus dem Befehlsadressregister 12
(IAR) und dem Operandenadressregister 14 (OAR) die Anforderung
0 (RO) und die Anforderung 1 (R1) sowie die DQ ^ MDR und
Dq ^ MIR-Signale, wie oben im Zusammenhang mit Fig. 5 erläutert.
Die Logik 52 spricht auch auf die "rufe Operanden ab"- und "FETCH NI"-Signale an, die von den entsprechenden Verriegelungen
der Fig. 42 geliefert werden. Die Logik 52 spricht zusätzlich auf die Quittungssignale ACKO und ACK1 an, die von der der
entsprechenden Datenbank des Arbeitsspeichers 11 zugeordneten Elektronik geliefert werden. Diese Signale werden zum Zeitpunkt
t._ geliefert und in den entsprechenden Flip-Flops 255 bzw. 256
verriegelt.
909810/0956
Fig. 44 zeigt Einzelheiten des Speicherdatenregisters (lesen)
16 sowie der zugeordneten Multiplexer 53 und UND-Gatter 57. Das Register 16 enthält 36 D-Verriegelungen mit dualem Eingang, die
die entsprechenden 36 Bits der aus dem Arbeitsspeicher gelesenen Datenworte des Sperry ünivac-Rechners 1108 aufnehmen. Die Funktion
des Multiplexers 53 (Fig. 5b) wird durch die D1 und DQ
Eingänge zu jeder Verriegelung durchgeführt, die auf die entsprechenden
korrespondierenden Bits aus den beiden Speichermodulen ansprechen. Die Auswahl zwischen den beiden Modulen MQ und M1
wird durch das DQ $■ MDR-Signal bewirkt, das an die A-Eingänge
von allen Verriegelungen des Registers 16 angelegt wird, wobei dieses Signal von dem Flip-Flop 257 der Fig. 43 geliefert wird.
Die MDRR-Verriegelungen werden von der Logik 261 getaktet, die
auf die oben im Zusammenhang mit Fig. 4.3 erläuterten Signale ACKO, ACK1, DO ^MDR und D1 ^MDR ansprechen. Der 36 Bitausgang
aus dem Register wird als ein Eingang zu dem Multiplexer 34 (Fig. 5b) geliefert.
Fig. 45 zeigt die den Mehrzweckregisterstapel (GRS) adressierenden
Register 33, die aus den Registern RAR1, RAR2 und RAR3 (Fig.
5a) bestehen. Jedes der Register RARI, RAR2 und RAR3 liefert eine 7-Bitadresse zu dem Mehrzweckregisterstapel 32 aus sieben D-Verriegelungen.
Das Register RAR1 spricht auf die Bits D - Dg aus
dem D4-BUS 30 an, wo die 7 Bits in das Register eingetaktet werden, durch das D4 —^ RAR1-Signal aus der Steuertabelle der aufgeschobenen
Aktion (Fig. 42). Das Register RAR2 spricht ebenfalls auf das Bit DQ - Ό, aus dem D4-Bus 30 an, wobei die Bits in das
Register durch das D. —^ RAR2-Signal (Fig. 42) eingetaktet werden.
Das Register RAR3 spricht auf die 7 rechts gelegenen Bits der 20 links gelegenen Bits des D-Bus 23 (D2n ~ D26^ an' wobei
diese Bits in das Register durch das D —^ RAR3-Signal (Fig. 42)
eingetaktet werden. Die in die Register verriegelten 7 Bitadressen werden den Multiplexern 77 und 78 zugeführt, wie oben beschrieben.
Fig. 46, die aus den Fig. 46a und 46b besteht, zeigt Einzelheiten
der Mehrzweckregisterstapel-Adressierungs-Multiplexer 77 und 78
909810/0956
sowie die ODER-Gatter 76 (Fig. 5a). Jeder der Multiplexer 77 und 78 besteht aus sieben 4-zu-1-MultiplexerSegmenten, die durch die
entsprechenden Bezugszeichen bezeichnet sind, wobei die Zahlen in den Klammern den Rang (order) des durch das Multiplexersegment
gelieferten Adressbits bezeichnet. Beispielsweise empfangen die Multiplexersegmente 77 (0) und 78 (0) als drei ihrer Eingänge das
Bit 0 von RAR1, RAR2 bzw. RAR3, wobei der vierte Eingang durch
das O-Bit des x-Feldes aus dem Makrobefehlsregister 13 geliefert
wird. Die Ausgänge aus den Multiplexersegmenten 77 (0) und 78 (0) v/erden in dem ODER-Gatter 76 (0) kombiniert, um das Adressbit 0
zu dem Mehrzweckregisterstapel 32 zu liefern. In gleicher Weise v/erden die Adressbits 1-3 durch ähnlich aufgebaute Multiplexersegmente
und ODER-Gatter geliefert. Der Aufbau für das Adressbit 3 ist dargestellt. Die Anordnungen für die Adressbits 4, 5 und 6
sind die gleichen wie für die Bits 0-3, mit der Ausnahme, dass der vierte Eingang zu den Multiplexersegmenten für das Bit 4
eine hart-verdrahtete "0" ist und der vierte Eingang zu den Multiplexersegmenten
für die Adressbits 5 und 6 durch das oben beschriebene D6-Signal geliefert wird. Wenn die x-Feldadressierung
ausgewählt ist, ist der Benutzersatz (user set) der Indexregister ausgewählt, wenn D6 = O^ und der Ausführungssatz des Indexregisters
ist ausgewählt, wenn D6 = 1. Die D6 und "O"-Eingänge zu den Multiplexersegmenten
für die Adressbits 4-6 addieren wirksam ein 140R, um diese Registerauswahl durchzuführen.
Die Eingangsauswahl der Multiplexersegmente wird von den GRA- und GWA-Felder aus dem Mikrosteuerspeicher 36 geliefert, wie oben im
Zusammenhang mit Fig. 5a und Tabelle 3 beschrieben. Das Schreiben des Mehrzweckregisterstapels 32 wird durch das Flip-Flop 79 in
einer im Zusammenhang mit den Fig. 5a und 42 beschriebenen Weise gesteuert.
Wenn der Mehrzweckregisterstapel 32 zum Lesen durch das Makrobefehls-x-Feld
(GRA = 00) adressiert ist und das Makrobefehls-x-FeId
gleich 0 ist, so ist es wünschenswert, einen Null-Indexwert
aus dem Mehrzweckregisterstapel 32 zu liefern. Fig. 46c zeigt die Logik um dieses auszuführen, wenn die bezeichneten Bedingungen
909810/0956
existieren. Ein UND-Gatter 265 legt über einen Inverter 266 ein
Signal an den Chip-Bereitstellungseingang des Mehrzweckregisterstapel-Speicherchips,
wobei das Chip ausser Bereitschaft gesetzt wird und wobei der gewünschte Ausgang mit nur Nullen geliefert
wird.
Fig. 47 zeigt Einzelheiten des Adressregisters 81 (LMAR, Fig. 5a).
Das LMAR 81 besteht aus sechs D-Verriegelungen, die auf die entsprechenden sechs letzten signifikanten Bits des D-Bus 23 ansprechen.
Die Verriegelungen werden über die Chip-Bereitstellungseingänge in Bereitschaft gesetzt, und z'./ar in Abhängigkeit
von dem oben im Zusammenhang mit Fig. 42 beschriebenen D —-^ LMAR-Signal
und zum Zeitpunkt t__ getaktet. Folglich werden, wenn
D -—^· LMAR vorhanden ist, die Adressbits aus dem D-Bus 23 in das
Register 81 zum Zeitpunkt t2Q eingetaktet.
Fig. 48 zeigt Einzelheiten der B-Bus-iuswahlkomponenten 65 und 66
(Fig. 5b). Das BRG-Register 66 besteht aus zwei D-Verriegelungen BRG BIT 1 und BRG BIT 0 mit zwei dualen Eingängen. Die D-Eingänge
zu dem BRG BIT 1-Flip-Flop werden durch das DACN-und DACY-Bit 12
aus der oben im Zusammenhang mit den Fig. 7 und 41 beschriebenen
Steuertabelle der aufgeschobenen Aktion geliefert. Die Auswahl zwischen den Bits wird durch das DP 11-Signal durchgeführt, das
an die Α-Eingänge der Verriegelungen angelegt ist. Die Verriegelungen
des Registers 66 werden als aufgeschobene Aktion in Bereitschaft gesetzt durch den Ausgang aus der oben im Zusammenhang
mit Fig. 42 erläuterten Lade-BRG-Verriegelung (LOAD BRG latch),
wobei das LOAD BRG-Signal an die Chip-Bereitstellungseingänge der BRG-Register-Verriegelungen angelegt ist. Die BRG BITS EINS
und NULL aus der Steuertabelle der aufgeschobenen Aktion, wie von DP 11 ausgewählt, werden in das Register 66 zum Zeitpunkt t~o
eingetaktet. Der Zwei-Bit-Ausgang aus dem BRG-Register 66 wird als ein Eingang an den Multiplexer 65 angelegt, der entweder die
beiden Bits aus dem BRG-Register 66 oder die beiden Bits aus dem BIS-FeId des Mikrobefehlsspeichers 36 auswählt in Übereinstimmung
mit dem BR-FeId aus dem Mikrosteuerspeicher. Die dargestellte
Logik liefert die ausgewählten zwei Bits, die als BSLR-O und
90 9810/0956
1 Δ fi —
BSLR-1 bezeichnet sind, zu dem Auswahleingang des Multiplexers
34, um so die B-Bus-Singangsquellenauswah.1 durchzuführen.
Wenn der Schaltkreis von Fig. 48 den D-Bus als Quelle für den B-Bus-Hngangsmultiplexer 34 auswählt, so wird ein Weg zur übertragung
von Daten aus dem D-Bus 23 zu dem B-Bus 22 eröffnet, wobei die Zeitsteuerung hierfür in Fig. 49 dargestellt ist. Wenn
ein Datenergebnis in dem Mikroakkumulator während des Zyklus 1 gespeichert ist, so leitet der zugeordnete Prozessor die Daten
in dem Akkumulator zu dem D-Bus 23 während des Zyklus 2 und die Information gelangt während der letzten Hälfte des Zyklus durch
die Verschiebeeinrichtung 35 hindurch. Die Daten sind dann auf dem B-Bus 22 verfügbar zur erneuten Berechnung während des
Zyklus 3.
Wie oben im Zusammenhang mit Fig. 5 erläutert, werden die Phantom-Verzweigungsfunktionen
für den lokalen Prozessor 17 durch den Multiplexer 84 und die Funktionsverriegelung 85 durchgeführt,
die die LPFT- oder LPFF-Felder zu dem lokalen Prozessor 17 liefern,
um dessen Funktion in Übereinstimmung mit DP3 zu steuern. Wenn das Logiksignal DP3 "wahr" ist, so wird das LPFT-FeId in
dem Steuerspeicher 36 während des nächsten Mikrozyklus ausgeführt. Andernfalls wird LPFF ausgeführt. Die Felder LPFF und LPFT (Fig.
4) enthalten jeweils 14 Bits, um die 14 Funktionsbits
.für den (durch die Legenden S3 5 _ Q-15 bezeichnet;/ Prozessor zu
liefern. Fig. 50 zeigt die zur Lieferung des SQ-Funktionsbits
zu dem lokalen Prozessor 17 verwendete D-Multiplexer/Verriegelung
mit dualem Eingang. Die D-Eingänge der Verriegelung sind so verbunden, dass sie das letzte signifikante Bit von LPFF und LPFT
empfangen, wobei die Auswahl dazwischen durch das an ihren A-Eingang angelegte DP3-Signal erfolgt. Die Verriegelung wird, wie
dargestellt, zum Zeitpunkt tQ getaktet. Es sei darauf hingewiesen,
dass für den lokalen Prozessor 17 dreizehn zusätzliche derartige Verriegelungen verwendet werden, um die bezeichneten Funktionsbits
zu liefern. Die 14 Verriegelungen, die die Multiplexer/ Verriegelung 84, 85 enthält, sind mit den entsprechenden Bits der,
LPFF- LPFT-Mikrosteuerfelder für den lokalen Prozessor P1 ver-
909810/0956
bunden, wobei das DP3-Signal mit den Α-Eingängen aller Verriegelungen
verbunden ist, und der to-Zeitsteuerimpuls an deren Takteingänge
angelegt wird.
Eine ähnliche Anordnung wird dazu verwendet, die Fähigkeit zur Phantom-Verzweigung für die Prozessoren 18, 19 und 27 zu schaffen,
mit der Ausnahme, dass die verwendeten LPFF- und LPFT-Felder
diejenigen sind, die den entsprechenden Prozessoren zugeordnet sind, wobei die Signale DP4, DP5 bzw. DP6 dazu verwendet werden,
die Verzweigungsentscheidungen zu bewirken. Es sei darauf hingewiesen, dass der S.-Funktionsbit-Eingang zu jedem der lokalen
Prozessoren mit einer logischen 1 verdrahtet ist, da der Eingang nicht verwendet wird. Die LPFT- und LPFF-Felder (Fig. 4) für den
Prozessor P4 haben 15 Bits, wobei das zusätzliche Bit mit dem C. -Eingang zu dem Prozessor verwendet wird, wodurch die Fähigkeit
des Addierens einer Konstanten +1 in Abhängigkeit einer Bedingung unter der Steuerung der LPFT- und LPFF-Mikrosteuerfunktionsfeider
für den Prozessor geschaffen wird.
Es sei darauf hingewiesen, dass der Multiplexer 84 und die Funktionsverriegelung
85 von Fig. 5b, die durch die D-Flip-Flops mit dualem Eingang von Fig. 50 ausgeführt sind, dazu verwendet werden,
die Drei-Wege-überlappungsoperation im Hinblick auf die
Überlappung der Mikrobefehlsabrufung des nächsten Mikrobefehles
zu schaffen, wobei die Errechnung der ausgewählten Funktion im Hinblick auf den vorher abgerufenen Mikrobefehl geschieht. Die
Funktionsverriegelung 85 liefert das ausgewählte Funktionsfeld
des vorher abgerufenen Mikrobefehles zu dem lokalen Prozessor 17 zur Ausführung durch ihn, wobei die Funktionsfelder von dem neu
abgerufenen Mikrobefehl aus dem Steuerregister 37 zu dem Multiplexer
84 von Fig. 5 angelegt werden. Diese neu abgerufenen Funktionsfelder
liegen an den Eingängen zu den FunktionsVerriegelungen,
die die Funktionsfelder des vorhergehenden Mikrobefehles
speichern und in die Verriegelung zu Beginn des nächsten Mikrozyklus eingetastet werden, um den lokalen Prozessor während desjenigen
Zyklus zu steuern, während dem der nächste Mikrobefehl wiederum abgerufen wird.
909810/0956
Fig. 51 zeigt die Anordnung zum Liefern des Sg-Funktionsfaits zu
jedem der lokalen Prozessoren 17, 18, 19 und 27. Der Multiplexer 86 und die Verriegelung 87 (Fig. 5b) ist durch eine D-Multiplexer/Verriegelung
mit dualem Eingang ausgeführt, wobei deren D1-
und Dn-Eingänge mit den zwei entsprechenden Bits des Mikrosteuerfeldes
OUT für den Prozessor P1 verbunden sind. Die Auswahl zwischen
den beiden Verriegelungseingängen wird durch das DP7-Signal durchgeführt. In ähnlicher Weise werden die Verriegelungen
270 und 271 verwendet, um das Sg-Bit zu den Prozessoren P2 und
P_ unter der Steuerung der DP8 bzw. DP9-Signale zu liefern. Die
12 3
Verriegelungen Sg , Sß und S„ werden zum Zeitpunkt tQ getaktet.
Verriegelungen Sg , Sß und S„ werden zum Zeitpunkt tQ getaktet.
Eine Leitung 272 liefert ein logisches 1-Signal zu dem Sg-Eingang
des Prozessors P4, da dieser Prozessor keinen Ausgangs-D-Bus benützt,
wie die Prozessoren P1, P2 und P3.
Das Sο-Funktionsbit liefert die Akkumulatorausgangssteuerung für
ο
die lokalen Prozessoren in Übereinstimmung mit der obigen Tabelle 8. Die einzelnen Werte für S0 in Übereinstimmung mit dem OUT-FeId
und dem zugeordneten DP-Signal sind wie folgt:
OUT1 | OUT0 | S8 = 0 |
0 | 0 | S8 = f (x) |
0 | 1 | S8 = fHÖ" |
1 | 0 | S8 = 1 |
1 | 1 | |
OUT.
OUT,
0 | 0 | 0 |
0 | 0 | 1 |
0' | 1 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
1 | 1 | 1 |
0-
0-1-1-
o-
1-
o-
1-
-S8 = 0
-S8 = f(x)
-S8 = FTxT
-S8 = 1
909810/0956
.283-7&52.
Wie oben im Zusammenhang mit Fig. 4 und Tabelle 4 erläutert,
wählt das jedem der lokalen Prozessoren zugeordnete SCS-FeId eine
von sieben setzbaren statischen Steuervariablen (SC1 - SC7) aus,
die in Übereinstimmung mit dem Wert des dem Prozessor zugeordneten Entscheidungspunktes (DP 7 - DP 10) zu setzen ist.
Fig. 52 zeigt die SCS-Verriegelungen zum Halten des jedem lokalen Prozessors zugeordneten drei Bit-SCS-Feldes. Beispielsweise
1 1 1 werden die drei Bits SCS', SCS1 , SCS2 des SCS-Feldes, das dem
lokalen Prozessor P1 zugeordnet ist, an die entsprechenden D-Eingänge
der D-Verriegelungen 275, 276 und 277 angelegt. Die drei Ausgänge aus den Verriegelungen 275, 276 und 277 werden einem
1-aus-8-Decodierer 278 zugeführt, der eine der 8 Ausgangsleitungen
in Übereinstimmung mit der setzbaren statischen Variablen, die von dem SCS-FeId ausgewählt wurde, mit Energie versorgt. Beispielsweise,
wenn das SCS-FeId die statische Variable SC1 auswählt,
so ist die SCS = 1-Leitung mit Energie versorgt. In ähnlicher
Weise werden die den lokalen Prozessoren P2, P3 und P4
zugeordneten SCS-Felder verriegelt und auf die 1-aus-8-Leitungen
decodiert. Es sei darauf hingewiesen, dass die SCS = O-Leitung
zum Setzen einer statischen Variablen nicht verwendet wird. Wenn das SCS-Mikrosteuerfeld = 000 ist, und die SCS = O-Leitung mit
Energie versorgt ist, so wird keine statische Steuervariable verändert.
Die SCS-Felder werden in die SCS-Verriegelungen zum Zeitpunkt tqo eingetaktet.
Fig. 53 zeigt die Logik zum Setzen der ausgewählten statischen
Steuervariablen (SC 1 - SC 7) für jeden der lokalen Prozessoren
(P1 - P4) in Übereinstimmung mit dem Wert des entsprechenden Entscheidungspunktes (DP 7 - DP 10). Die Werte der statischen Steuervariablen SC1 - SC7 werden in entsprechende R-S-Verriegelungen
280 gesetzt. Beispielsweise ist der Wert der statischen Steuervariablen SCI in die SC1-Verriegelungen durch die Verriegelungssetzlogik
281 und die Verriegelungsrücksetzlogik 282 gesetzt. Die
Verriegelung SC1 kann im Hinblick auf irgendeinen der lokalen Prozessoren in Übereinstimmung mit den zugeordneten DP 7 - DP 10-Signalen
gesetzt werden, was durch das SCS = 1-Signal (Fig. 52),
909810/0956
das dem einzelnen Prozessor zugeordnet ist, gesteuert wird. Eine ähnliche Logik fügt die Entscheidungspunktwerte in die verbleibenden
Verriegelungen SC2 - SC7 ein. Die Werte der statischen Steuervariablen werden durch die Logik hindurch und in die Verriegelungen
zum Zeitpunkt t eingetaktet.
Es wird darauf hingewiesen, dass die sieben Verriegelungen 280
der statischen Steuervariablen für die vier lokalen Prozessoren gemeinsam benutzt werden. Der oben im Zusammenhang mit den Fig.
15 bis 30 erläuterte Mikrocode ist derart, dass nicht gleichzeitig zwei lokale Prozessoren eine Änderung des Wertes der Verriegelung
der gleichen statischen Steuervariablen erfordern. Die in den Fig. 52 und 53 dargestellten Komponenten sind in den
Steuerschaltkreisen 41, die oben im Zusammenhang mit den Fig. 2 und 5 erläutert wurden, angeordnet.
Fig. 54 zeigt Einzelheiten des B4-Bus 29 sowie der Eingangsmultiplexer
61 und 62 hierzu (Fig, 5c). Die Multiplexer 61 und 62 sind durch UND-Gatter 285 und ODER-Gatter 286 ausgeführt, die durch
das BBS-FeId direkt und durch einen Inverter 287 gesteuert werden,
um entweder die a-und j-Bits oder die IAR-Bits aus dem Befehlsadressregister
12 wahlweise zu übertragen. Die Logik 285 und 286 liefert die Bits B0~B7 des B4~Bus· Die Bits Bg-B1- werden
direkt von dem Register 12 über Leitungen 288 geliefert.
Fig. 55 zeigt Einzelheiten der Logik 44-49 (Fig. 5c) und der Multiplexer 63 und 64. Die Multiplexer 63 und 64 bestehen aus
UND- und ODER-Gattern, die auf die GB-, D6-und LMA-Felder anspre-
zu liefern chen, um entweder die vier Bits des LMA oder das Bit 3 des LMA/
das mit D6 und GB unter der Steuerung des LMAS-Feldes verknüpft ist, das direkt und über einen Inverter 290 an die UND-Gatter
angelegt ist. Die 4 Bits, die von den Multiplexern 63 und 64
und der Leitung 291 geliefert werden, werden mit den vier Bits des WLMA-Feldes mehrfach ausgenutzt (multiplexed) durch die UND-
und ODER-Gatter 44-48 unter der Steuerung des "SCHREIBE LM4 11-Flip-Flops
49. Die 4 Bits von den ODER-Gattern 47 werden als Adresseingang an den lokalen Speicher 28 angelegt.
909810/0956
Fig. 56 zeigt Einzelheiten der Normalisierungshilfseinrichtung
(Normalizer Helper). Die Normalisierungshilfseinrichtung ist dazu
vorgesehen, die Geschwindigkeit des Normalisierungsvorganges für Gleitpunktbefehle zu vergrössern. Die Normalisierungshilfseinrichtung
legt die Position des linken einen Hauptbits in einem 36 Bifc-(peranden von dem D-Bus 23 fest und wandelt diese
Position in einen Zählwert um. Dieser Zählwert wird zu dem Verschiebungssteuernetzwerk
69 (Fig. 5a und 57) übertragen, so dass die entsprechende Verschiebung vorgesehen ist., um das linke
35
Hauptbit in die Bitposition 2 zu bewegen. Der Verschiebezählbetrag des Verschiebezählregisters 69 wird ebenfalls durch die Verschiebeeinrichtung 35 hindurch, wie oben beschrieben, an den B-Bus angelegt, so dass die lokalen Prozessoren die Charakteristik der Gleitpunktzahl entsprechend anordnen können, in Übereinstimmung mit der Anzahl der Verschiebungen, die gefordert wurde.
Hauptbit in die Bitposition 2 zu bewegen. Der Verschiebezählbetrag des Verschiebezählregisters 69 wird ebenfalls durch die Verschiebeeinrichtung 35 hindurch, wie oben beschrieben, an den B-Bus angelegt, so dass die lokalen Prozessoren die Charakteristik der Gleitpunktzahl entsprechend anordnen können, in Übereinstimmung mit der Anzahl der Verschiebungen, die gefordert wurde.
Die Normalisierungshilfseinrichtung enthält 5 Prioritäts-Chips
295, wobei die Ausgänge Q , Q1 und Q" einen Code liefern, der
lc^nn ζ ^ i c Ιίϊιρ °fc
die Position des links aussen gelegenen Einganges Dq-D-/(wob^i
D als der links aussen gelegene Eingang angesehen wird), der ein Eins-Bit hieran angelegt hat. Der Q,-Ausgang zeigt an, ob
einer der Eingänge D0 -D7 ein Eins-Bit hieran angelegt hat. Die
D-Bus-Bits DQ-D 5 werden an die entsprechenden Eingänge der Prioritäts-Chips
A-E angelegt, wobei die Eingänge D3-D7 des Prioritätschips
E nicht benützt werden. Es kann ein solches Prioritätschip
verwendet werden, das von der Firma Motorola Semiconductor Products im Handel erhältlich ist, wie z.B. der Prioritätscodierer
MC1O165, der in der oben angegebenen Literaturstelle "Data
Library" vollständig beschrieben ist.
Die entsprechenden Q3-Ausgänge von den Prioritätschips A-E v/erden
mit den entsprechenden D0-D4-Eingängen eines Prioritätschips F
verbunden. Die resultierenden Ausgänge Qo'Qq ^es Prioritätschips
F werden als Auswahleingänge eines S-zu-1-Multiplexerchips 296
verwendet. Die Q2-Ausgänge von den fünf Prioritätschips A-E sind
mit den entsprechenden fünf Eingängen des Multiplexers A verbun-
909810/0956
den. In ähnlicher Weise sind die Q -Ausgänge von den Prioritätschips A-E mit den Eingängen des Multiplexers B verbunden, wobei
die Q -Ausgänge des Prioritätschips mit den Eingängen des Multiplexers C verbunden sind. Folglich sei darauf hingc-viesen, dass
in Übereinstimmung mit dem Ausgang des Prioritätschips F der
Multiplexer 296 an seinen drei entsprechenden Ausgängen die drei Ausgänge Q2, Q1 und QQ eines der Prioritätschips A-E liefern
wird, das in Übereinstimmung mit dem Ausgangscode des Prioritätschips F ausgewählt wurde.
die Q -Ausgänge des Prioritätschips mit den Eingängen des Multiplexers C verbunden sind. Folglich sei darauf hingc-viesen, dass
in Übereinstimmung mit dem Ausgang des Prioritätschips F der
Multiplexer 296 an seinen drei entsprechenden Ausgängen die drei Ausgänge Q2, Q1 und QQ eines der Prioritätschips A-E liefern
wird, das in Übereinstimmung mit dem Ausgangscode des Prioritätschips F ausgewählt wurde.
Die Q2, Q1 und Q -Ausgänge des Prioritätschips F und die drei
Ausgänge der Multiplexer A-C liefern den sechs-Bit-iusgang NH5-NH der Normalisierungshilfseinrichtung, um durch das Schiebesteuerregister 69 hindurch die Adresse in das Verschiebungs-/Masken-Adress-Prom 70 zu liefern, zur Steuerung der benötigten Normalisierungsdatenverschiebung .
Ausgänge der Multiplexer A-C liefern den sechs-Bit-iusgang NH5-NH der Normalisierungshilfseinrichtung, um durch das Schiebesteuerregister 69 hindurch die Adresse in das Verschiebungs-/Masken-Adress-Prom 70 zu liefern, zur Steuerung der benötigten Normalisierungsdatenverschiebung .
Fig. 57 zeigt Einzelheiten des Verschiebungssteuerregisters 69
(Fig. 5a). Das Register 69 besteht aus sieben D-Verriegelungen
mit dualem Eingang, wobei die D.-Eingänge der Verriegelungen
SCR 0 - SCR 5 auf die entsprechenden D-Bus-Bits D30 - D5 ansprechen. Die D -Eingänge zu den Verriegelungen SCR0 - SCR-empfangen die entsprechenden NHQ - NHc-Ausgänge von Fig. 56. Der signifikanteste Stapel des Registers empfängt das SL-Signal und
eine hart-verdrahtete "Eins" an dessen entsprechenden D.. und DQ-Eingängen. Die Auswahl zwischen den D-Eingängen der Registerverriegelungen wird durch das D —^ SCR-Signal von dem oben beschriebenen Steuerschaltkreis der aufgeschobenen Aktion bewirkt. Es sei darauf hingewiesen, dass, wenn D —^ SCR aktiv ist, die D.-Eingänge zu den Verriegelungen ausgewählt sind/und^wenn das Signal
inaktiv ist, wobei zu diesem Zeitpunkt das NH —;> SCR-Signal
aktiv sein kann, die Do-Eingänge zu den Verriegelungen ausgewählt sind. Die Verriegelungen werden zum Zeitpunkt t,-o getaktet, wenn entweder das D —^ SCR oder das NH —^ SCR-Signal aktiv ist, was durch ein ODER-Gatter 300 und ein UND-Gatter 301 geliefert wird.
(Fig. 5a). Das Register 69 besteht aus sieben D-Verriegelungen
mit dualem Eingang, wobei die D.-Eingänge der Verriegelungen
SCR 0 - SCR 5 auf die entsprechenden D-Bus-Bits D30 - D5 ansprechen. Die D -Eingänge zu den Verriegelungen SCR0 - SCR-empfangen die entsprechenden NHQ - NHc-Ausgänge von Fig. 56. Der signifikanteste Stapel des Registers empfängt das SL-Signal und
eine hart-verdrahtete "Eins" an dessen entsprechenden D.. und DQ-Eingängen. Die Auswahl zwischen den D-Eingängen der Registerverriegelungen wird durch das D —^ SCR-Signal von dem oben beschriebenen Steuerschaltkreis der aufgeschobenen Aktion bewirkt. Es sei darauf hingewiesen, dass, wenn D —^ SCR aktiv ist, die D.-Eingänge zu den Verriegelungen ausgewählt sind/und^wenn das Signal
inaktiv ist, wobei zu diesem Zeitpunkt das NH —;> SCR-Signal
aktiv sein kann, die Do-Eingänge zu den Verriegelungen ausgewählt sind. Die Verriegelungen werden zum Zeitpunkt t,-o getaktet, wenn entweder das D —^ SCR oder das NH —^ SCR-Signal aktiv ist, was durch ein ODER-Gatter 300 und ein UND-Gatter 301 geliefert wird.
Das Register liefert die sieben Ausgangsbits SCR_ und SCR,- wie
υ ο
es für das Verschieben und die Normalisierungsfunktion erforder-
909810/0956
lieh ist.
Fig. 58 zeigt Register 310, die zum Zwischenspeichern der DACT,
DACF, OUT, WLM und SCS-Felder für einen Mikrozyklus verwendet
werden, wie oben im Zusammenhang mit der Drei-Wege-Überlappung beschrieben wurde. Die entsprechenden Felder aus dem Steuerspeicherregister 37 (Fig. 5) werden in das Register 310 zum Zeitpunkt t_. eines einzelnen Mikrozyklus eingetastet und danach in
die entsprechenden Verriegelungen zum Zeitpunkt tQ des nächsten
Mikrozyklus eingetastet. Folglich wird die geforderte Verzögerung um einen Mikrozyklus durchgeführt, um die oben beschriebene Drei-Wege-Überlappung
vorzusehen.
Aus der vorhergehenden Beschreibung und den Zeichnungen der
detaillierten Logik ist zu ersehen, dass der dargestellte Schaltkreis
leicht unter Verwendung von kommerziell erhältlichen LSI- und MSI-Komponenten aufgebaut werden kann, wodurch die oben angegebenen
wesentlichen Kosten- und Grössenvorteile erhalten werden. Im einzelnen sind die lokalen Prozessoren 17, 18, 19 und 27 in
der oben beschriebenen LSI-Technologie aufgebaut, wobei die Pheripherielogik
aus kommerziell erhältlicher kompatibler Logik besteht, wobei das Schwergewicht auf der Anwendung der verfügbaren
vier und acht Eingangsmultiplexerchips und verschiedenen PROMs und RAMs liegt.
Folglich wird besonders geschätzt, dass der Mikroprozessorchip eine komplette funktionelle Einheit ist, verglichen mit der bekannten
Logik mit direktem Zugriff (random logic). Der Mikroprozessorchip leidet allerdings unter dem Problem der Anschlussbegrenzung
(pin limitation), das oben diskutiert wurde, wenn man sich bemüht, den Chip in einer horizontal-mikroprogrammierten Umgebung
anzuwenden, in der die parallele Verwendung des Chips gefordert ist. Diese Verwendung ist durch eine Konstruktion mit Chips aus
kommerziell erhältlichen Mikroprozessorchips ausgeschlossen, die generell eine sequentielle Verwendung der Chips erfordert. Folglich
begrenzt das Anschlussbegrenzungsproblem der verfügbaren Mikroprozessorchips die Anwendung dieser Technologie auf kleine
909810/0956
und mittlere Prozessoren. Daher wird es besonders geschätzt, dass der oben beschriebene neue Aufbau des Rechners in erster Linie
die Anwendung der Mikroprozessortechnologie bei der Ausführung eines grossen Prozessors (large scale processor) erlaubt, wobei
ein überragendes Kostenverhältnis bei einem Grossrechner erzielt v/ird, wenn die Vorteile der Mikroprozessortechnologie der leichten
Erhältlichkeit, der geringen Kosten und der hohen Geschwindigkeit verwendet werden.
In Übereinstimmung mit dem oben beschriebenen Ausführungsbeispiel der Erfindung ist der Makrobefehlsfluss in vier Mikrobefehlsflüsse
aufgespalten, wobei jeder in einem entsprechenden separaten lokalen Prozessor ausgeführt wird. Es sei darauf hingewiesen,
dass diese Zahl nur beispielhaft ist und nicht begrenzend, wobei eine Aufteilung in andere Anzahlen einer Vielzahl von Mikrobefehls
strömen innerhalb des Erfindungsgedankens liegt. Obwohl die oben beschriebene Ausführungsform der Erfindung in Ausdrücken
eines langen Mikrobefehlswortes erläutert wurde, die globale Steuerfelder zusammen mit den lokalen Steuerfeldern für jeden
lokalen Prozessor enthalten, wird darauf hingewiesen, dass die lokalen Steuerfelder für jeden Prozessor in Kombination mit den
globalen Steuerfeldern so angesehen werden können, dass sie separate Mikrobefehle im Hinblick auf die durch die vier lokalen Prozessoren
strömenden Mikrobefehlsströme sind. Im Hinblick hierauf kann das Mikrobefehlswort in dem Steuerspeicher 36 als vier separate
Befehlsworte angesehen werden.
Der oben beschriebene erfindungsgemässe neue Aufbau wurde in der
Form einer Vielzahl von vertikal-mikroprogrammierten lokalen Prozessoren erklärt. Es sei darauf hingewiesen, dass die Erfindung
auch so ausgeführt werden kann, dass hörizontal-mikroprogrammierte
lokale Prozessoren verwendet werden, um die Vorteile, die dieses bringt, zu erzielen.
Allerdings kann diese Anordnung die Anwendung von kommerziell erhältlichen
Mikroprozessorchips schwieriger machen, als in dem oben beschriebenen bevorzugten Ausführungsbeispiel.
9Q9810/0956
Obwohl der grundlegend neue Aufbr-u unter Verwendung einer Vielzahl
von Mikrobefehlsströmen zum Emulieren eines einzelnen Makrobefehlsstromes,
wie oben beschrieben, die erläuterten ?/irklichen Vorteile bringt, sei darauf hingewiesen, dass die vorliegende
Erfindung eine Zentraleinheit schafft, die wesentliche Vorteile mit sich bringt, wie oben erläutert, wodurch eine Zentraleinheit
geschaffen wird, die beträchtlich ausserhalb der Grenzen liegt, die bei dem Aufbau eines heutigen Grossrechners zu beachten sind.
Folglich erlaubt die vorliegende Erfindung den Aufbau eines Grossrechners, bei dem eine Vielzahl von Mikroprozessoren verwendet
wird, wobei wesentliche Kostenvorteile gegenüber den bekannten Konstruktionslösungen erhalten werden.
Obwohl die vorliegende Erfindung in Ausdrücken eines Emulators
des Sperry Univac-Rechners 1108 beschrieben wurde, sei darauf
hingewiesen, dass die Erfindung generell auf die Konstruktion irgendeines Rechners anwendbar ist, insbesondere wenn es wünschenswert
ist, eine Vielzahl von Mikroprozessoren zu verwenden.
Alle in der Beschreibung erwähnten und den Figuren dargestellten technischen Einzelheiten sind für die Erfindung von Bedeutung.
909810/0956
Claims (1)
- Diplom IngenieureBfflENMNM^lUE """BROSE""BROSED-8023 MQnchen-Rullach, Wiener Str. 2; Tel. (089) 7 93 30 71; Telex 5212147 bros d; Cables: -Patentibus» MünchenSPERRY RMID CORPORATION, eine Gesellschaft nach den Gesetzen des Staates Delaware,1290 Avenue of the Americas, New York, New York, 10019, Ö.S.A.Ihr Zeichen n . „ „ _ ,_ n„ Tag: 30. AugUSt 1978Yourref.: Docket NO. RC-25,022 Date:PATENTANSPRÜCHE(1 J Mikroprogrammierbare Zentraleinheit für einen Rechner, dadurch gekennzeichnet, dass der Rechner in der Lage ist, mindestens einen Makrobefehl auszuführen, der durch eine Vielzahl von Mikrooperationen ausführbar ist, wobei ein Steuerspeicher zum Speichern mindestens einer Mikroroutine, die dem Makrobefehl entspricht, vorgesehen ist, wobei die Mikroroutine Mikrobefehlsworte enthält, die eine Vielzahl von Steuerfeldern aufweisen, wobei jedes Feld in der Lage ist, eine Vielzahl der Mikrooperationen zu steuern, und dass eine Vielzahl von Prozessoren vorgesehen ist, die mit dem Steuer= speicher gekoppelt sind, wobei jeder Prozessor in der Lage ist, eine Vielzahl dieser Mikrooperationen durchzuführen, wobei die Vielzahl der Prozessoren auf die entsprechenden Steuerfelder anspricht, um eine entsprechende Vielzahl dieser Mikrooperationen in Abhängigkeit von den entsprechenden Steuerfeldern gleichzeitig auszuführen, wodurch der Makrobefehl ausgeführt wird.2„ Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Rechner ein Repertoire von Makrobefehlen.aufweist? die durch eine Vielzahl von Mikrooperationen ausführbar sind909810/095S I2837952und dass der Steuerspeicher Einrichtungen zum Speichern einer Vielzahl von Mikroroutinen enthält, die den entsprechenden Makrobefehlen entsprechen, wobei jede Mikroroutine Mikrobefehlsworte enthält, die eine Vielzahl von Steuerfeldern aufweisen, wobei jedes Steuerfeld in der Lage ist, eine Vielzahl dieser Mikrooperationen zu steuern.3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass der Rechner einen Arbeitsspeicher enthält, zur Speicherung von Makrobefehlsworten, die < durch den Rechner auszuführenden Makrobefehlen entsprechen, wobei die Makrobefehlsworte einen Operationscodeteil enthalten, in Übereinstimmung mit dem auszuführenden Makrobefehl.4. Vorrichtung nach Anspruch 3„ dadurch gekennzeichnet, dass weiterhin ein Makrobefehlsregister vorgesehen ist, zum Empfang der Makrobefehlsworte, die aus dem Arbeitsspeicher abgerufen wurden, wobei das Makrobefehlsregister einen Abschnitt enthält, der dem Operationscodeteil zugeordnet ist, und dass Steuerspeicheradressierungseinrichtungen vorgesehen sind, die mit diesem Abschnitt des Makrobefehlsregisters gekoppelt sind, die dem Operationscodeteil entsprechen zur Adressierung des Steuerspeichers in Übereinstimmung mit dem Operationscodeteil des abgerufenen Makrobefehls, wodurch die Mikroroutine, die dem abgerufenen Makrobefehl entspricht;adressiert wird«5β Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass jeder Prozessor folgende Einrichtungen enthälts einen Prozessor mit ersten und zweiten Dateneingängen, einem Datenausgang und Steuereingängen, einem lokalen Speicher, der mit dem ersten Dateneingang verbunden ist, zur Speicherung von Daten und Lieferung von Daten an den ersten Dateneingang, wobei die Steuereingänge auf das entsprechende Steuerfeld ansprechen f um die hierdurch gesteuerten Mikrooperationen aus zuführen <,6ο Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass weiterhin folgende Einrichtungen vorgesehen sinds eine Ein-2837S52gangsdatensammelschiene (Bus), die mit den zweiten Eingängen der Prozessoren verbunden sind, um Daten dorthin zu liefern, und eine Ausgangsdatensammelschiene (Bus), die mit den Datenausgängen der Prozessoren verbunden ist, um Daten hieraus zu empfangen, wobei die Datenausgangssammelschiene mit den lokalen Speichern verbunden ist, um Daten dorthin zur Speicherung darin zu liefern, und wobei die Datenausgangssammelschiene mit der Dateneingangs sammelschiene verbunden ist, um Daten dorthin zu liefern.7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass weiterhin ein Makrobefehlsadressregister vorgesehen ist, das zwischen die Ausgangssammelschiene und den Arbeitsspeicher geschaltet ist, um Adressen von der Ausgangsdatenschiene zu empfangen, um den Arbeitsspeicher zu adressieren, Makrobefehle hieraus zu dem Makrobefehlsregister abzurufen.8. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass die Makrobefehlsworte FunktionsSteuerfelder enthalten, die den entsprechenden Prozessoren zugeordnet sind, wobei die Zentraleinheit Einrichtungen enthält, zum gleichzeitigen Koppeln der Funktionssteuerfelder an die Steuereingänge der entsprechenden Prozessoren, wodurch die Prozessoren die Mikrobefehle, die durch die Funktionssteuerfelder gesteuert werden, gleichzeitig ausführen.9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass die Mikroroutine Klassenbasisroutinen und Befehlsroutinen enthält, wobei jede Klassenbasisroutine Mikrooperationen entspricht, die gemeinsam für eine Vielzahl von Makrobefehlen ausgeführt werden und wobei jede Befehlsroutine Mikrooperationen entspricht, die für einen spezifischen Makrobefehl ausgeführt werden, und dass die Steuerspeicheradressierungseinrichtungen Einrichtungen enthalten, die mit dem Abschnitt des Makrobefehlsregisters verbunden sind, der dem Operationscodeteil entspricht, um Klassenbasisvektorsignale zur Adressierung des Steuerspeichers in Übereinstimmung mit der entsprechenden Klassenbasisroutine zu909810/0956liefern und um ein Befehlsvektorsignal zur Adressierung des Steuerspeichers in Übereinstimmung mit der entsprechenden Befehlsroutine zu liefern.10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass die Mikrobefehlsworte ein Steuerfeld für die nächste Adresse und ein Adressensteuerfeld enthält, wobei die Steuerspeicheradressierungseinrichtungen weiterhin Einrichtungen enthalten, die auf das Feld der nächsten Adresse, das Klassenbasisvektorsignal, das Befehlsvektorsignal und das Adressensteuerfeld ansprechen, um das Klassenbasisvektorsignal oder das Befehlsvektorsignal mit dem Steuerfeld der nächsten Adresse in Übereinstimmung mit dem Adressensteuerfeld zu kombinieren, wodurch der Steuerspeicher wahlweise in Übereinstimmung mit der entsprechenden Klassenbasisroutine bzw. der entsprechenden Befehlsroutine adressiert wird.11. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass der Arbeitsspeicher Speicherplätze aufweist, zur Speicherung und Lieferung von Operandenworten, wobei die Vorrichtung weiterhin folgendes enthält: ein erstes Operandenregister, das mit dem Arbeitsspeicher gekoppelt ist, um hieraus abgerufene Operandenworte zu empfangen, ein zweites Operandenregister, das zwischen die Ausgangsdatensammelschiene und den Arbeitsspeicher gekoppelt ist, zur Lieferung von Operanden aus der Ausgangsdatensammelschiene zur Speicherung in dem Arbeitsspeicher, und ein Operandenadressregister, das zwischen die Ausgangsdatensammelschiene und den Arbeitsspeicher gekoppelt ist, um Adressen aus der Ausgangsdatensammelschiene zu empfangen, zum Adressieren des Arbeitsspeichers zum Lesen von Operandenworten hieraus in das erste Operandenregister und zum Schreiben von Operandenworten hierein aus dem zweiten Operandenregister.12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass mindestens einige der Makrobefehlsworte einen Operandenadressteil enthalten, und dass das Makrobefehlsregister einen Abschnitt enthält, der dem Operandenadressteil zugeordnet ist.909810/095613. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass weiterhin Eingangsmultiplexer vorhanden sind, zur wahlweisen Kopplung der Ausgangsdatensanunelschiene, des Makrobefehlsregisters und des ersten Operandenregisters mit der Eingangsdatensammerschiene in Übereinstimmung mit den Mikrobefehlsworten»14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass der Abschnitt des Makrobefehlsregisters, der dem Operandenadressteil zugeordnet ist, durch den Eingangsmultiplexer hindurch mit der Eingangsdatensammelschiene gekoppelt ist.15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, dass die Eingangsmultiplexer folgendes enthalten: einen Eingangsmultiplexer und eine Verschiebeeinrichtung, die den Eingangsmultiplexer mit der Eingangsdatensammelschiene koppelt, um wahlweise Daten, die dort hindurch übertragen wurden, zu verschieben, wobei der Eingangsmultiplexer wahlweise die Ausgangsdatensammelschiene und das erste Operandenregister mit der Verschiebeeinrichtung koppelt, in Übereinstimmung mit den Mikrobefehlsworten.16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass der Abschnitt des Makrobefehlsregisters, der dem Operandenadressteil zugeordnet ist, über die Verschiebeeinrichtung mit der Eingangsdatensammelschiene gekoppelt ist.17. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass weiterhin ein Mehrzweckregisterstapel vorgesehen ist, der eine Vielzahl von Mehrzweckregistern enthält, die zwischen die Ausgangsdatensammelschiene und die Eingangsmultiplexer gekoppelt ist, um Daten aus der Datensammelschiene zu empfangen und die Daten zu den Elngangsmultiplexern zu liefern.18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, dass die Makrobefehlsworte einen Indexregisteradressteil enthalten, wobei das Makrobefehlsregister einen hierzu zugeordneten909810/0956Abschnitt aufweist, und dass die Vorrichtung weiterhin Adressiereinrichtungen für den Mehrzweckregisterstapel aufweist, die mit dem Mehrzweckregisterstapel verbunden sind, und zum Empfang von EingangsSignalen aus der Datensammelschiene und aus dem Abschnitt des Makrobefehlsregisters, der dem Indexregisteradressteil entspricht, gekoppelt sind, zur Auswahl eines der vielen Mehrzweckregister in Übereinstimmung mit dem Xndexregisteradressteil oder der Ausgangsdatensammelschiene wahlweise in Übereinstimmung mit den Mikrobefehlsworten.19. Vorrichtung nach Anspruch 18, dadurch gekennzeichnet, dass die Adressiereinrichtungen für den Mehrzweckregisterstapel Einrichtungen enthalten, zur wahlweisen Zuordnung des ausgewählten Mehrzweckregisters mit der Äusgangsdatensammelschiene zum Empfang von Daten hieraus oder mit den Eingangsmultiplexern zur Lieferung von Daten dorthin in Übereinstimmung mit den Mikrobefehl sworten.20. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass die Mikrobefehlsworte Adressenfelder für den lokalen Speicher enthalten und ein Adressquellensteuerfeld des lokalen Speichers, das jedem Prozessor entsprechend zugeordnet ist, wobei die Zentraleinheit weiterhin ein Adressregister für den lokalen Speicher enthält, das mit der Ausgangsdatensammelschiene gekoppelt ist, zum Empfang der Adressen des lokalen Speichers hieraus, und eine Adressiereinrichtung des lokalen Speichers, die jedem Prozessor entsprechend zugeordnet ist und auf das zugeordnete Adressenfeld des lokalen Speichers und das Adressquellensteuerfeld des lokalen Speichers anspricht und mit dem Adressregister des lokalen Speichers gekoppelt ist, zur Adressierung des zugeordneten lokalen Speichers in Übereinstimmung mit dem zugeordneten Adressenfeld des lokalen Speichers oder mit der aus dem Adressregister des lokalen Speichers gelieferten Adresse p wahlweise in Übereinstimmung mit dem Adressquellen-Steuerfeld des zugeordneten lokalen Speichersβ21p Vorrichtung nach Anspruch 19y dadurch gekennzeichnet,909810/09Üdass die Zentraleinheit weiterhin Prozessoren enthält, die einen weiteren Prozessor aufweisen, der erste und zweite Dateneingänge, einen Datenausgang und Steuereingänge aufweist und weiterhin einen lokalen Speicher, der mit dem ersten Dateneingang verbunden ist, um Daten zu speichern und Daten zu dem ersten Dateneingang zu liefern, wobei die Steuereingänge auf ein entsprechendes Steuerfeld des Mikrobefehlswortes ansprechen, zur Ausführung der dadurch gesteuerten Mikrooperationen.22. Vorrichtung nach Anspruch 21, dadurch gekennzeichnet, dass weiterhin folgende Einrichtungen vorgesehen sind: eine weitere Eingangsdatensammelschiene, die mit dem zweiten Eingang des weiteren Prozessors verbunden ist, zur Lieferung von Daten dorthin, und eine weitere Datenausgangssaitanelschiene, die mit dem Datenausgang des weiteren Prozessors verbunden ist, zum Empfang von Daten hieraus, wobei die weitere Ausgangsdatensamme1schiene mit dem weiteren lokalen Speicher verbunden ist, zur Lieferung von Daten dorthin zur Speicherung darin, und wobei die weitere Ausgangsdatensammelschiene mit der Eingangsdatensammelschiene zur Lieferung von Daten dorthin verbunden ist.23. Vorrichtung nach Anspruch 22, dadurch gekennzeichnet, dass die Steuerspeicheradressierungseinrichtung einen Befehlszustands speicher enthält, zur Lieferung des Klassenbasisvektorsignales und zur Lieferung eines Basisadressensignals für Basisadressberechnungen, wobei die Zentraleinheit eine weitere Adressiereinrichtung für den lokalen Speicher enthält, die auf das Basisadressignal anspricht, wobei das Adressfeld des lokalen Speichers dem weiteren Prozessor zugeordnet ist und das Adressquellensteuerfeld des lokalen Speichers dem weiteren Prozessor zugeordnet ist, zur Adressierung des weiteren lokalen Speichers in Übereinstimmung mit dem Adressfeld des lokalen Speichers oder mit dem ausgewählten Basisadressignal in über-" einstimmung mit dem Adressquellensteuerfeld des lokalen Speichers, wobei die Makrobefehlsworte einen Teil enthalten, der der Basisadresse in dem Rechner zugeordnet ist und das Makro-909810/0956befehlsregister einen hierzu zugeordneten Abschnitt aufweist, und wobei ein weiterer Eingangsmultiplexer vorgesehen istf der einen Ausgang zu der weiteren Eingangsdatensammelschiene liefert und als einen Eingang den Ausgang des Makrobefehlsadressregisters empfängt und wobei der Abschnitt des Makrobefehlsregisters der Basisadressierung entspricht, wobei die weiteren Eingangsmultiplexer wahlweise einen ihrer Eingänge mit der weiteren Eingangsdatenleitung koppeln, in Übereinstimmung mit den Mikrobefehlsworten, wobei die weitere Ausgangsdatensammelschiene mit den Adressierungseinrichtungen des Mehrzweckregisterstapels gekoppelt sind, wodurch der weitere Prozessor zur Ausführung der Basisadressierberechnungen gesteuert wird.24. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass jeder Prozessor aus einer Vielzahl von LSI-Schaltkreiskomponenten besteht.25. Vorrichtung nach Anspruch 24, dadurch gekennzeichnet, dass jeder Prozessor aus einer Vielzahl von Mikroprozessor-LSI-Komponenten besteht.26. Vorrichtung nach Anspruch 25, dadurch gekennzeichnet, dass jeder Prozessor aus einer Vielzahl von n-bit-ALü-Scheibchen besteht, die verbunden sind, um eine grössere Wortlänge zu liefern.27. Vorrichtung nach Anspruch 26, dadurch gekennzeichnet, dass jedes der n-bit-Scheibchen folgendes enthält: erste und zweite n-bit-Dateneingangsanschlüsse und einen n-bit-Datenausgangsanschluss, einen n-bit-ALü-Abschnitt, der auf die ersten und zweiten Eingangsanschlüsse anspricht, die arithmetische und logische Schaltkreise enthalten, wobei der ALU-Abschnitt weiterhin Funktionssteuereingänge aufweist, die auf das entsprechende FunktionsSteuerfeld des Mikrobefehlswortes anspricht, und einen η-bit-Akkumulator, der seine Eingänge von dem ALU-Abschnitt empfängt, und den n-bit-Ausgangsanschluss vorsieht.909810/095628. Mikroprogrammierbare Zentraleinheit für einen Rechner, dadurch gekennzeichnet, dass der Rechner eine Vielzahl von Makrobefehlen ausführen kann, die jeweils durch eine Vielzahl von MikroOperationen ausführbar ist, wobei der Rechner folgendes enthält; einen Steuerspeicher zur Speicherung einer Vielzahl von Mikroroutinen, die den entsprechenden Makrobefehlen entsprechen, wobei jede Mikroroutine Mikrobefehlsworte enthält, die eine Vielzahl von Steuerfeldern aufweisen, wobei jedes Feld in der Lage ist, eine Vielzahl der MikroOperationen zu steuern, eine Vielzahl von Prozessoren, die mit dem Steuerspeicher gekoppelt sind, wobei die Prozessoren in der Lage sind, eine Vielzahl der MikroOperationen auszuführen, wobei die Vielzahl von Prozessoren auf die entsprechenden Steuerfelder anspricht, um eine entsprechende Vielzahl der Mikrobefehle in Abhängigkeit von den entsprechenden Steuerfeldern gleichzeitig auszuführen, einen Arbeitsspeicher zur Speicherung der Makrobefehlsworte, die den durch den Rechner auszuführenden Makrobefehlen entsprechen, und ein Makrobefehlsregister, zum Empfang der Makrobefehlsworte, die zur Adressierung des SteuerSpeichers aus dem Arbeitsspeicher abgerufen wurden, wodurch ein durch das Makrobefehlsregister fliessender Makrobefehlsstrom ausgeführt wird, durch eine resultierende Vielzahl von Mikrobefehlsströmen, die durch die Vielzahl von entsprechenden Prozessoren fliessen.29. Vorrichtung nach Anspruch 28, dadurch gekennzeichnet, dass die Zentraleinheit in Mikrozyklen arbeitet, wobei jedes Mikrobefehlswort ein erstes und zweites Steuerfeld der nächsten Adresse und erste und zweite FunktionsSteuerfelder aufweist, wobei die Zentraleinheit weiterhin folgende Einrichtungen enthält: eine Entscheidungslogik zur Lieferung erster und zweiter Entscheidungssignale in Übereinstimmung mit dem Ergebnis von vorbestimmten Entscheidungen, und Abrufeinrichtungen, die auf daserste und zweite Steuerfeld der nächsten Adresse eines ersten Mikrobefehlswortes und auf das erste Entscheidungssignal ansprechen, um das erste oder zweite Steuerfeld der nächsten Adresse in Übereinstimmung mit dem ersten Entscheidungssignal auszuwählen und das nächste Befehlswort aus dem Steuerspeicher ab-909810/0956,zurufen, in Übereinstimmung mit dem Steuerfeld der nächsten Adresse, das durch das erste Entscheidungssignal ausgewählt wurde, wobei mindestens einer der Prozessoren auf das erste und zweite FunktionsSteuerfeld eines zweiten Mikrobefehlswortes und auf das zweite Entscheidungssignal anspricht, zur Auswahl des ersten oder zweiten Funktionssteuerfeldes in Übereinstimmung mit dem zweiten Entscheidungssignal und zum Durchführen der mit dem von dem zweiten Entseheidungssignal ausgewählten Funktionssteuerfeld übereinstimmenden MikroOperation, wobei die Prozessoren die erste Mikrooperation in dem gleichen Mikrozyklus ausführen, inüem die Abrufeinrichtungen das nächste Mikrobefehlswort abrufen.30. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet, dass die Abrufeinrichtungen Adressmultiplexer und Verriegelungseinrichtungen enthalten, die auf das erste und zweite Steuerfeld der nächsten Adresse des ersten Mikrobefehlswortes und auf das erste Entscheidungssignal ansprechen zur wahlweisen Verriegelung des ersten oder zweiten Steuerfeldes der nächsten Adresse in Übereinstimmung mit dem ersten Entscheidungssignal, um die Adresse zum Abrufen des nächsten Mikrobefehlswortes aus dem Steuerspeicher zu liefern.31. Vorrichtung nach Anspruch 28, dadurch gekennzeichnet, dass mindestens einer der Prozessoren Funktionsmuitiplexer und Verriegelungseinrichtungen enthält, die auf das erste und zweite Funktionssteuerfeld des zweiten Mikrobefehlswortes ansprechen und auf das zweite Entscheidungssignal zur wahlweisen Verriegelung des ersten oder zweiten Funktionssteuerfeldes in Übereinstimmung mit dem zweiten Entscheidungssignal zur Steuerung des einen Prozessors zur Ausführung der in Übereinstimmung mit dem ausgewählten Funktionssteuerfeld ausgewählten Mikrooperation.32. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet, dass jedes Mikrobefehlswort weiterhin ein erstes und ein zweites Steuerfeld einer aufgeschobenen Aktion enthält, wobei eine Entscheidungslogik Einrichtungen enthält, zur Lieferung eines909810/09562837652dritten Entscheidungssignales in Übereinstimmung mit den Ergebnissen von vorbestimmten Entscheidungen, und wobei die Vorrichtung weiterhin Einrichtungen für eine aufgeschobene Aktion enthält, die auf das erste und zweite Steuerfeld der aufgeschobenen Aktion eines dritten Mikrobefehlswortes und auf das dritte Entscheidungssignal ansprechen, zur Ausführung der aufgeschobenen Aktion, die mit dem durch das dritte Entscheidungsfeld ausgewählten Steuerfeld der aufgeschobenen Aktion übereinstimmt, wobei die Einrichtungen der aufgeschobenen Aktion die ausgewählte aufgeschobene Aktion in dem gleichen Mikrozyklus ausführen, in dem der eine Prozessor die ausgewählte Mikrooperation ausführt.33. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet, · dass der Rechner einen Arbeitsspeicher enthält, zur Steuerung von Makrobefehlsworten, die mit den durch den Rechner auszuführenden Makrobefehlen übereinstimmen, wobei die Makrobefehlsworte einen Operationscodeteil enthalten, in Übereinstimmung mit dem auszuführenden Makrobefehl.34. Vorrichtung nach Anspruch 33, dadurch gekennzeichnet, dass weiterhin ein Makrobefehlsregister vorgesehen ist, zum Empfang von Makrobefehlsworten, die aus dem Arbeitsspeicher abgerufen wurden, wobei das Makrobefehlsregister einen Abschnitt enthält, der dem Operationscodeteil zugeordnet ist, und dass weiterhin Steuerspeicheradressierungseinrichtungen vorhanden sind, die die Abrufeinrichtungen enthalten und mit dem Abschnitt des Makrobefehlsregisters gekoppelt sind, der dem Operationscodeteil entspricht, zur Adressierung des Steuerspeichers in Übereinstimmung mit dem Operationscodeteil des abgerufenen Makrobefehles, wodurch die Mikroroutine, die dem abgerufenen Makrobefehl entspricht, adressiert wird.35. Vorrichtung nach Anspruch 34, dadurch gekennzeichnet, dass die Mikroroutinen Klassenbasisroutinen und Befehlsroutinen enthalten, wobei jede Klassenbasisroutine MikroOperationen zugeordnet ist, die gemeinsam für eine Vielzahl von Makrobefehle durchgeführt werden und wobei jede Befehlsroutine Mikrooperatio-909810/0956nen zugeordnet ist, die für einen speziellen. Makrobefehl ausgeführt werden, und wobei die Steuerspeicheradressierungseinrichtungen Einrichtungen enthalten, die mit dem Abschnitt des Makrobefehlsregisters gekoppelt sind, der dem Operationscodeteil entspricht, zur Lieferung eines Klassenbasisvektorsignales zur Adressierung des Steuerspeichers in Obereinstimmung mit der entsprechenden Klassenbasisroutine und zur Lieferung eines Befehlsvektorsignals zur Adressierung des Steuerspeichers in Übereinstimmung mit der entsprechenden Befehlsroutine.36. Vorrichtung nach Anspruch 35, dadurch gekennzeichnet, dass jedes Mikrobefehlswort weiterhin ein Adressensteuerfeld enthält und dass die Steuerspeicheradressierungseinrichtungen weiterhin. Einrichtungen enthalten, die auf das erste Steuerfeld der nächsten Adresse, das Klassenbasisvektorsignal, das Befehlsvektorsignal und das Adressensteuerfeld ansprechen, zur wahlweisen Kombinierung des Klassenbasisvektorsignals oder des Befehlsvektorsignals mit dem ersten Steuerfeld der nächsten Adresse in Übereinstimmung mit dem Adressensteuerfeld, wodurch ein Vektoradressensignal geliefert wird, zur Adressierung des Steuerspeichers, wahlweise in Übereinstimmung mit der entsprechenden Klassenbasisroutine bzw. der entsprechenden Befehlsroutine, wenn das erste Entscheidungssignal das erste Steuerfeld der nächsten Adresse auswählt.37. Vorrichtung nach Anspruch 36, dadurch gekennzeichnet, dass die Abrufeinrichtungen Adressmultiplexer und Verriegelungseinrichtungen enthalten, die auf das Vektoradressignal, das zweite Steuerfeld der nächsten Adresse des ersten Mikrobefehlswortes und auf das erste Entscheidungssignal ansprechen, zur wahlweisen Verriegelung des Vektoradressignales oder des zweiten Steuerfeldes der nächsten Adresse in Übereinstimmung mit dem ersten Entscheidungssignal zur Lieferung der Adresse zum Abrufen des nächsten Mikrobefehlswortes aus dem Steuerspeicher.38. Vorrichtung nach Anspruch 31, dadurch gekennzeichnet, dass die Prozessoren folgendes enthalten: einen Prozessor mitersten und zweiten Dateneingängen, einem Datenausgang und Steuereingängen, die Funktionssteuereingänge und einen Ausgangssteuereingang zur Steuerung des Datenausganges enthalten, und einen lokalen Speicher, der mit dem ersten Dateneingang verbunden ist, zur Speicherung von Daten und zur Lieferung von Daten an den ersten Dateneingang, wobei die FunktionsSteuereingänge mit den Funktionsmultiplexern und den Verriegelungseinrichtungen gekoppelt sind, zur Durchführung der hierdurch ausgewählten Mikrooperation.39. Vorrichtung nach Anspruch 38, dadurch gekennzeichnet, dass weiterhin folgende Einrichtungen vorgesehen sind: eine Eingangsdatensammelschiene, die mit den zweiten Eingängen der Prozessoren zur Lieferung von Daten dorthin gekoppelt sind, und eine Aüsgangsdatensammelschiene, die mit den Datenausgängen der Prozessoren zum Empfang von Daten daraus gekoppelt sind, wobei die Aüsgangsdatensammelschiene mit dem lokalen Speicher gekoppelt ist, zur Lieferung von Daten dorthin zur Speicherung darin.40. Vorrichtung nach Anspruch 39, dadurch gekennzeichnet, dass jedes Mikrobefehlswort weiterhin erste und zweite Steuerfelder einer aufgeschobenen Aktion enthalten, wobei die Entscheidungslogik Einrichtungen enthalten, zur Lieferung eines dritten Entscheidungssignales in Obereinstimmung mit den Ergebnissen von vorbestimmten Entscheidungen, und wobei die Vorrichtung weiterhin Einrichtungen der aufgeschobenen Aktion enthält, die auf die ersten und zweiten Steuerfelder der aufgeschobenen Aktion eines dritten Mikrobefehlswortes und auf das dritte Entscheidungssignal ansprechen, zur Ausführung der aufgeschobenen Aktion entsprechend dem Steuerfeld der ausgewählten Aktion, das durch das dritte Entscheidungssignal ausgewählt wurde, wobei die"Einrichtungen der aufgeschobenen Aktion die ausgewählte aufgeschobene Aktion in dem gleichen Mikrozyklus durchführen, in dem der eine Prozessor die ausgewählte Mikrooperation durchführt.41. Vorrichtung nach Anspruch 40, dadurch gekennzeichnet, dass die Einrichtungen der aufgeschobenen Aktion einen Steuer-909810/0956speicher der aufgeschobenen Aktion enthalten, zur Speicherung einer Vielzahl von Steuerworten der aufgeschobenen Aktion, wobei deren Bits die entsprechenden einzelnen aufgeschobenen Aktionen steuern, und dass die ersten und zweiten Steuerfelder der aufgeschobenen Aktion entsprechende Adressen für den Steuerspeicher der aufgeschobenen Aktion enthalten, wobei das dritte Entscheidungssignal das Steuerwort der aufgeschobenen Aktion auswählt, das dem durch das dritte Entscheidungssignal ausgewählten Steuerfeld der aufgeschobenen Aktion entspricht.42. Vorrichtung nach Anspruch 41, dadurch gekennzeichnet, dass der Steuerspeicher der aufgeschobenen Aktion folgendes enthält: erste und zweite Steuerspeicher der aufgeschobenen Aktion, zur Speicherung des gleichen Steuerwortes der aufgeschobenen Aktion an der gleichen Adresse hinsichtlich des jeweils anderen, wobei die ersten und zweiten Steuerspeicher der aufgeschobenen Aktion durch die entsprechenden ersten und zweiten Steuerfelder der aufgeschobenen Aktion adressiert werden, und Multiplexer und Verriegelungseinrichtungen der aufgeschobenen Aktion, die auf die adressierten Steuerfelder der aufgeschobenen Aktion aus jedem der ersten und zweiten Steuerspeicher der aufgeschobenen Aktion und auf das dritte Entscheidungssignal ansprechen, zur Verriegelung eines ausgewählten der adressierten Steuerworte der aufgeschobenen Aktion in Übereinstimmung mit dem dritten Ents cheidungs s ignal.43. Vorrichtung nach Anspruch 40, dadurch gekennzeichnet, dass das Mikrobefehlswort weiterhin ein Prozessorausgangssteuerfeld enthält, wobei die Entscheidungslogik Einrichtungen enthält, zur Lieferung eines vierten Entscheidungssignales in Übereinstimmung mit den Ergebnissen einer vorbestimmten Entscheidung, und wobei die Einrichtungen der aufgeschobenen Aktion Prozessorausgangssteuereinrichtungen enthalten, die auf das Prozessorausgangssteuerfeld des dritten Mikrobefehlswortes und auf das vierte Entscheidungssignal ansprechen, zur Lieferung eines Signales an den Ausgangssteuereingang von mindestens einem der Prozessoren zur bedingten Kopplung des Datenausganges des Prozessors mit der909310/0956Ausgangsdatensammelschiene in Obereinstiiranung mit dem Prozessorausgangssteuerfeld und mit dem vierten Entscheidungssignal, wobei die Ausgangssteuerung als aufgeschobene Aktion in dem gleichen Mikrozyklus durchgeführt wird, in dem der eine Prozessor die ausgewählte MikroOperation durchführt.44. Vorrichtung nach Anspruch 40, dadurch gekennzeichnet, dass jedes Mikrobefehlswort weiterhin ein Schreibsteuerfeld des lokalen Speichers enthält, wobei die Entscheidungslogik Einrichtungen enthält, zur Lieferung eines vierten Entscheidungssignales in Übereinstimmung mit den Ergebnissen von vorbestimmten Entscheidungen, und wobei die Einrichtungen der aufgeschobenen Aktion Schreibsteuereinrichtungen des lokalen Speichers enthalten, die auf das Schreibsteuerfeld des lokalen Speichers des dritten Mikrobefehlswortes und auf das vierte Entscheidungssignal ansprechen, zur bedingten Steuerung des Schreibens von Daten in zumindest einen der lokalen Speicher aus der Ausgangsdatensammelschiene in Übereinstimmung mit dem Schreibsteuerfeld des lokalen Speichers und dem vierten Entscheidungssignal, wobei das Schreiben des lokalen Speichers als aufgeschobene Aktion in dem gleichen Mikrozyklus durchgeführt wird, in dem·der eine Prozessor die ausgewählte MikroOperation ausführt.45. Vorrichtung nach Anspruch 40, dadurch gekennzeichnet, dass die Zentraleinheit statische Steuervariable als Eingänge für vorbestimmte Entscheidungen verwendet und wobei jedes Mikrobefehlswort weiterhin ein Selektorfeld der statischen Steuervariablen enthält, wobei die Entscheidungslogik Einrichtungen enthält, zur Lieferung eines vierten Entscheidungssignales in Übereinstimmung mit den Ergebnissen von vorbestimmten Entscheidungen, und wobei die Einrichtungen der aufgeschobenen Aktion eine Vielzahl von Speichern der statischen Steuervariablen enthalten, die auf das Selektorfeld der statischen Steuervariablen des dritten Mikrobefehlswortes und auf das vierte Entscheidungssignal ansprechen, zur Steuerung des Zustandes des vierten Entscheidungssignales in einem der Speicher der statischen Steuer-909810/0956variablen, der in Übereinstimmung mit dem Selektorfeld der statischen Steuervariablen ausgewählt wurde, wobei die Speicherung der statischen Steuervariablen als aufgeschobene Aktion in dem gleichen Mikrozyklus ausgeführt wird, in dem der eine Mikroprozessor die ausgewählte Mikrooperation ausführt.46. Vorrichtung nach Anspruch 37 t dadurch gekennzeichnet, dass die Entscheidungslogik Einrichtungen enthält, zur Lieferung von zumindest einem weiteren Entscheidungssignal in Übereinstimmung mit den Ergebnissen von vorbestimmten Entscheidungen,, und wobei die Steuerspeicheradressiereinrichtungen Einrichtungen enthalten, die zumindest auf eines der Steuerfelder der nächsten Adresse und das weitere Entscheidungssignal ansprechen, zur Kombinierung des einen Steuerfeldes der nächsten Adresse mit dem weiteren Entscheidungssignal zur Lieferung einer Steuerspeicheradresse für einen Vektorsprung, wenn das erste Entscheidungssignal das eine Steuerfeld der nächsten Adresse auswählt.47. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet„ dass die ersten und zweiten Entscheidungssignale binäre Entscheidungssignale sind und dass die Entscheidungslogik eine Entscheidungssteuerlogik enthält, zur Lieferung der beiden ersten und zweiten binäre Entscheidungssignale in Abhängigkeit von einer Steuerfunktion der in dem Rechner verwendeten binären Steuervariablen, wobei die Entscheidungslogik folgendes enthält: Einrichtungen der Steuervariablen zur Lieferung einer Vielzahl von steuervariablen Signalen, die den binären Steuervariablen entsprechen, und Speicher, die auf die Steuervariablensignale ansprechen, zur Speicherung der Wahrheitstabelle der Steuerfunktion, wobei die Speicher durch die Steuervariablensignale adressiert werden, zur Lieferung des hiermit korrespondierenden Wahrheitstabelleneinganges, wodurch das binäre Steuersignal in Übereinstimmung mit der Steuerfunktion der binären Steuervariablen geliefert wird.909810/095648. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet„ dass die ersten und zweiten Entscheidungssignale binäre Entscheidungssignale sind, wobei der Rechner eine Vielzahl von binären Steuervariablen verwendet, wobei jedes Mikrobefehlswort ein Steuervariablenauswahlfeld und ein Funktionsauswählfeld enthält und die Entscheidungslogik eine EntscheidungsSteuerlogik enthält, zur Lieferung der beiden ersten und zweiten binären Entscheidungssignale in Abhängigkeit einer Steuerfunktion der aus deren Vielzahl ausgewählten binären Steuervariablen, wobei die Steuerfunktion aus einer Vielzahl von Steuerfunktion-an ausgewählt ist, und wobei die Entscheidungssteuerlogik folgende Einrichtungen enthält: Einrichtungen der Steuervariablen zur Lieferung einer Vielzahl von Steuervariablensignalen, die mit der Vielzahl von entsprechenden binären Steuervariablen übereinstimmen, Auswahleinrichtungen der Steuervariablen, die auf die Vielzahl der Steuervariablensignale und auf die Steuervariablenauswahlfeider ansprechen, zur Auswahl der Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den Steuervariablenauswahlfeidern, und Speicher, die auf die ausgewählten Steuervariablensignale und auf die Funktionsauswahlfelder ansprechen, zur Speicherung einer Vielzahl von Wahrheitstäbe11en, die mit der entsprechenden Vielzahl von Steuerfunktionen korrespondieren, wobei die Speicher durch die ausgewählten Steuervariablensignale und auf die Funktionsauswahlfelder ansprechen„ zur Lieferung des entsprechenden Wahrheitstabelleneinganges zu dem ausgewählten Steuervariablensignal aus der ausgewählten Wahrheitstabelle in Übereinstimmung mit den Funktionsauswahlfeldern, wodurch das binäre Entscheidungssignal in Übereinstimmung mit den ausgewählten Steuervariablensignalen und den Funktionsauswahlfeldern geliefert wird.49. Vorrichtung nach Anspruch 48, dadurch gekennzeichnet, dass der Rechner in Zyklen arbeitet, wobei eine Vielzahl von binären Steuervariablen eine Vielzahl von ersten binären Steuervariablen und eine Vielzahl von zweiten binären Steuervariablen enthalten, wobei die zweiten binären Steuervariablen in einem Zyklus verfügbar sind, der auf die Verfügbarkeit der ersten309810/095©binären Steuervariablen folgt, wobei die Einrichtungen der Steuervariablen Einrichtungen enthalten, zur Lieferung einer Vielzahl von ersten Steuervariablensignalen und einer Vielzahl von zweiten Steuervariablensignalen, die mit der Vielzahl der ersten binären Steuervariablen und der Vielzahl der zweiten binären Steuervariablen entsprechend korrespondieren, und wobei die Steuervariablenauswahlfeider erste Steuervariableauswahlfelder und zweite Steuervariablenauswahlfelder enthalten, wobei die Steuervariableneinrichtungen folgendes enthalten? erste Steuervariablenauswahleinrichtungen* die auf die Vielzahl der ersten Steuervariablensignale und die ersten Steuervariablen= auswahlfeider ansprechen, zur Auswahl der ersten Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den ersten Steuervariablenauswahlfeidern, und zweite Steuervariablenauswahleinrichtungen, die auf die Vielzahl der zweiten Steuervariablensignale und auf die zweiten Steuervariablenauswahlfeider ansprechen, zur Auswahl der zweiten Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den zweiten Steuervariablenauswahl feldern.50. Vorrichtung nach Anspruch 49 t dadurch gekennzeichnet, dass die Speicher folgendes enthaltens einen Speicher, der auf die ausgewählten ersten Steuervariablensignale und auf die Funktionsauswahlfelder ansprechen, zur Speicherung der Vielzahl von Wahrheits tabelle^ wobei der Speicher auf die ausgewählten ersten Steuervariablensignale und auf die Funktionsauswahlfelder anspricht, zur Adressierung einer Vielzahl von Wahrheitstabelleneingängen zu den ausgewählten Wahrheitstabellen, wobei die Eingänge den ausgewählten ersten binären Steuervariablen entsprechen und Funktionsauswahleinrichtungen„ die auf die adressierten Wahrheitstabelleneingänge und auf die ausgewählten zweiten Steuervariablensignale ansprechen, zur Auswahl einer der adressierten Wahrheitstabelleneingänge in Übereinstimmung mit den ausgewählten zweiten Steuervariablensignalen, wodurch das zweite binäre Entscheidungssignal in Übereinstimmung mit der ausgewählten Funktion der ausgewählten ersten und zweiten binären Steuervariablen geliefert wird.909 8 10/095851. Vorrichtung nach Anspruch 49, dadurch gekennzeichnet, dass die Funktionsauswahlfeider erste Funktionsauswahlfelder und ein zweites Funktionsauswahlfeld enthalten, wobei die Speicher folgendes enthalten: eine Vielzahl von Speichen^ die auf die ausgewählten ersten Steuervariablensignale und auf die ersten Funktionsauswahlfelder ansprechen, wobei jeder Speicher eine Vielzahl der Wahrheitstabellen speichert und jeder Speicher auf die ausgewählten ersten Steuervariablensignale und auf ein entsprechendes der ersten Funktionsauswahlfelder anspricht, zur Adressierung einer Vielzahl von Wahrheitstabelleneingängen in der Wahrheitstabelle, die durch das erste Funktionsauswahlfeld ausgewählt wurde, wobei die Eingänge den ausgewählten ersten binären Steuervariablen entsprechen, Speicherausgangsauswahleinrichtungen, die auf die adressierten Wahrheitstabelleneingänge aus jedem der Speicher und auf das zweite Funktionsauswahlfeld ansprechen, zur Auswahl der adressierten Wahrheitstabelleneingänge aus einem der Speicher, der in Übereinstimmung mit dem zweiten Funktionsauswahlfeld ausgewählt wurde, und Funktionswertauswahleinrichtungen, die auf die ausgewählten adressierten Wahrheitstabelleneingänge und auf die ausgewählten zweiten Steuervariablensignale ansprechen, zur Auswahl eines der ausgewählten adressierten Wahrheitstabelleneingänge in Übereinstimmung mit den ausgewählten zweiten Steuervariablen, wodurch das binäre Entscheidungssignal in Übereinstimmung mit der ausgewählten Funktion der ausgewählten ersten und zweiten binären Steuervariablen geliefert wird.52. Vorrichtung nach Anspruch 29, dadurch gekennzeichnet, dass die ersten und zweiten EntscheidungsSignale binäre Entscheidungssignale sind, wobei der Rechner in Mikrozyklen arbeitet und eine Vielzahl statischer Steuervariablen und eine Vielzahl dynamischer Steuervariablen benützt, wobei die dynamischen Steuervariablen in einem Mikrozyklus verfügbar sind, der auf die Verfügbarkeit der statischen Steuervariablen folgt, wobei-jedes Mikrobefehlswort eine Vielzahl von Auswahlfeldern der statischen Steuervariablen, eine Vielzahl von Auswahlfeldemder dynamischen Steuervariablen, eine Vielzahl von Auswahlfeldern der Logik-909810/0956- 2O -funktionsspeicher und mindestens ein Auswahlfeld des Logikfunktionsspeieherausganges enthält, und wobei die Entscheidungslogik eine Entscheidungssteuerlogik enthält, zur Lieferung des ersten und zweiten binären Steuersignals in Abhängigkeit einer ausgewählten Steuerfunktion der ausgewählten statischen und dynamischen Steuervariablen, wobei die Steuerfunktion aus einer Vielzahl von Steuerfunktionen ausgewählt ist, und wobei die Entscheidungssteuerlogik folgendes enthält; Einrichtungen der statischen Steuervariablen, zur Lieferung einer Vielzahl von statischen Steuervariablensignalen, die mit der entsprechenden Vielzahl der statischen Steuervariablen korrespondieren B Einrichtungen der dynamischen Steuervariablen, zur Lieferung einer Vielzahl dynamischer Steuervariablensignale, die mit der entsprechenden Vielzahl der dynamischen Steuervariablen korrespondieren t Äuswahleinrichtungen der statischen Steuervariabien„ die auf die statischen Steuervariablensignale und auf die statischen Steuervariablenauswahlfeider ansprechen, zur Auswahl der statischen Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den Auswahlfeldern der statischen Steuervariablen, Auswahleinrichtungen der dynamischen Steuervariablen, die auf die dynamischen Steuervariablensignale und auf die Auswahlfelder der dynamischen Steuervariablen ansprechen, zur Auswahl der dynamischen Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den Auswahlfeldern der dynamischen Steuervariablen, eine Vielzahl von Logikfunktionsspeichern, die auf die entsprechenden Logikfunk-dietionsauswahlfelder und auf/ausgewählten statischen Steuervariablensignale ansprechen, wobei jeder Speicher eine Vielzahl von Wahrheitstabellen aus einer Vielzahl der Steuerfunktionen speichert, wobei jeder Speicher auf das entsprechende Logikfunktionsauswahlfeld und auf die ausgewählten statischen Steuervariablensignale anspricht, zur Adressierung einer Vielzahl von Wahrheitstabelleneingängen in die Wahrheitstabelle, die durch das Logikfunktionsauswahlfeld adressiert ist, wobei die Eingänge mit den statischen Steuervariablensignalen korrespondieren, Speicherausgangsauswahleinrichtungen , die auf die entsprechenden adressierten Ausgänge aus den Logikfunktionsspeichern und auf das Logikfunktionsspeicherausgangsfeld ansprechen, zur Auswahl der adressierten Ausgänge909810/0956aus dem Logikfunktionsspeicher, der durch das Logikfunktions-Speicherausgangsauswahlfeld ausgewählt wurde, und Funktionswertauswahleinrichtungen, die auf die ausgewählten adressierten Logikfunktionsspeicherausgänge und auf die ausgewählten dynamischen Steuervariablensignale ansprechen, zur Auswahl eines der ausgewählten adressierten Logikfunktionsspeicherausgänge in Übereinstimmung mit den dynamischen Steuervariablensignalea,wodurch das binäre Entscheidungssignal in Übereinstimmung mit der ausgewählten Steuerfunktion der ausgewählten statischen und dynamischen Steuervariablen geliefert wird.53. Vorrichtung nach Anspruch 32, dadurch gekennzeichnet, dass die ersten, zweiten und dritten Entscheidungssignale binäre Entscheidungssignale sind, und die Entscheidungslogikeinrichtungen eine EntseheidungsSteuerlogik enthalten, zur Lieferung des ersten, zweiten und dritten binären Entscheidungssignales in Abhängigkeit einer Steuerfunktion der in dem Rechner verwendeten binären Steuervariablen, wobei die Entscheidungssteuerlogik folgendes enthält: Steuervariableneinrichtungen zur Lieferung einer Vielzahl von Steuervariablensignalen, die mit den binären Steuervariablen korrespondieren, und Speicher, die auf die Steuervariablensignale ansprechen, zur Speicherung der Wahrheitstabelle der Steuerfunktion, wobei die Speicher durch die Steuervariablensignale adressiert werden, zur Lieferung der Wahrheitstabelleneingänge, die hiermit korrespondieren, wodurch das binäre Entscheidungssignal in Übereinstimmung mit der Steuerfunktion der binären Steuervariablen geliefert wird.54. Vorrichtung nach Anspruch 32, dadurch gekennzeichnet, dass die ersten, zweiten und dritten Entscheidungssignale binäre Entscheidungssignale sind, wobei der Rechner eine Vielzahl binärer Steuervariablen verwendet, wobei jedes Mikrobefehlswort Steuervariablenauswahlfeider und Funktionsauswahlfelder enthält, und die Entscheidungslogikeinrichtungen eine Entscheidungssteuerlogik enthalten, zur Lieferung des erstenr- zweiten und dritten binären Entscheidungssignales in Abhängigkeit von einer Steuerfunktion der binären Steuervariablen, die aus deren Viel-909810/0956zahl ausgewählt, wurden, wobei die Steuerfunktion aus einer Viel= zahl von Steuerfunktionen ausgewählt wird, und wobei die Ent° scheidungssteuerlogik folgendes enthält; Steuervariableneinrichtungen zur Lieferung einer Vielzahl von Steuervariafelen-Signalen, die mit der Vielzahl der entsprechenden binären Steuervariablen korrespondieren, Steuervariablenauswahleinrichtungen, die auf die Vielzahl der Steuervariablensignale und auf die Steuervariablenauswahlfeider ansprechen, zur Auswahl von Steuervariablensignalen aus deren Vielzahl in Übereinstimmung mit den Steuervariablenauswahlfeidern, und Speicher t die auf die ausgewählten Steuervariablensignale und auf die Funktionsauswahlfelder ansprechen, zur Speicherung einer Vielzahl von Wahrheitstabellen, die mit der entsprechenden Vielzahl der Steuervunktionen korrespondieren, wobei die Speicher durch die ausgewählten Steuervariablensignale und die Funktionsauswahlfeider adressiert v/erden, zur Lieferung der Wahrheitstabelleneingänge, die mit den ausgewählten Steuervariablensignalen korrespondieren, wobei diese Steuervariablensignale aus der Wahrheitstabelle in Übereinstimmung mit den Funktionsauswahlfeldern ausgewählt sind, wodurch die binären Entscheidungssignale in Übereinstimmung mit den ausgewählten Steuervariablensignalen und den Funktionsauswahlfeldern geliefert werden»55ο Vorrichtung nach Anspruch 54, dadurch gekennzeichnet, dass die Rechner in Zyklen arbeitet, wobei die Vielzahl der binären Steuervariablen eine Vielzahl erster binärer Steuervariablen und eine Vielzahl zweiter binärer Steuervariablen enthalten, wobei die zweiten binären Steuervariablen in einem Zyklus verfügbar sind, der auf die Verfügbarkeit der ersten binären Steuervariablen folgt, wobei die Steuervariableneinrichtungen Einrichtungen enthalten, sur Lieferung einer Vielzahl entsprechender erster binärer Steuervariablen und einer Vielzahl zweiter binärer Steuervariablen, und wobei die Steuervariablen·» auswahlfelder erste Steuervariablenauswahlfelder und zweite Steuervariablenauswahlf eider enthalten, wobei die Stetaervariab=- lenauswahleinrichtungen folgendes enthalteng erste Steuervariablenauswahleinrichtungen, die auf die Vielzahl der ersten Steuer-903810/0956. 23 .variablensignale und die ersten Steuervariablenauswahlfelder ansprechen, zur Auswahl der ersten Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den ersten Steuervariablenauswahlfeidern, und zweite Steuervariablenauswahleinrichtungen, die auf die Vielzahl der zweiten Steuervariablensignale und auf die zweiten Steuervariablenauswahlfelder ansprechen, zur Auswahl der zweiten Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den zweiten Steuervariafalenauswahlfeldern.56. Vorrichtung nach Anspruch 55, dadurch gekennzeichnet, dass die Speicher folgendes enthalten: einen Speicher, der auf die ausgewählten ersten Steuervariablensignale und auf die Funktionsauswahlfelder anspricht, zur Speicherung der Vielzahl von Wahrheitstabellen, wobei der Speicher auf die ausgewählten ersten Steuervariablensignale und die Funktionsauswahlfelder anspricht, zur Adressierung einer Vielzahl von Wahrheitstabelleneingängen in die ausgewählte Wahrheitstabelle, wobei die Eingänge mit den ausgewählten ersten binären Steuervariablen korrespondieren, und Funktionswertauswahleinrichtungen, die auf die adressierten Wahrheitstabelleneingänge und die ausgewählten zweiten Steuervariablensignale ansprechen, zur Auswahl eines der ausgewählten Wahrheitstabelleneingänge in Übereinstimmung mit den ausgewählten zweiten Steuervariablensignalen, wodurch das binäre Entscheidungssignal in Übereinstimmung mit der ausgewählten Funktion der ausgewählten ersten und zweiten binären Steuervariablen geliefert wird.57. Vorrichtung nach Anspruch 55, dadurch gekennzeichnet, dass die Funktionsauswahlfelder erste Funktionsauswahlfelder und ein zweites Funktionsauswahlfeld enthalten, wobei der Speicher folgendes enthält: eine Vielzahl von Speichern, die auf die.ausgewählten ersten Steuervariablensignale und auf die ersten Funktionsauswahlfelder ansprechen, wobei jeder Speicher eine Vielzahl der Wahrheitstabellen speichert und jeder Speicher auf die ausgewählten ersten Steuervariablensignale und ein entsprechendes der ersten Funktionsauswahlfelder anspricht, zur Adressierung einer Vielzahl von Wahrheitstabelleneingängen in die Wahrheits-909810/0956tabelle, die durch das erste Funktionsauswahlfeld ausgewählt ist, wobei die Eingänge mit den ausgewählten ersten binären Steuervariablen korrespondieren, Speicherausgangsauswahleinrichtungen, die auf die adressierten Wahrheitstabelleneingänge aus jedem der Speicher und auf das zweite Funktionsauswahlfeld ansprechen, 2ur Auswahl der adressierten Wahrheitstabelleneingänge aus einexa der in Übereinstimmung mit dem zweiten Funktionsauswahlfeld ausga- !Wählten Speichern,, und Funktionswertauswahleinrichtungen? die auf die ausgewählten adressierten Wahrheitstabelleneingänge und auf die ausgewählten zweiten Steuervariablensignale ansprechen„ zur Auswahl .eines der aüsgexrählten adressierten Wahrheitstabel= leneingänge in Übereinstimmung mit den ausgepfählten sweiten binären Steuervariablen „ wodurch das binäre Entscheidungssignal in Übereinstimmung mit der ausgepfählten Funktion der ausgewähl= ten ersten und zweiten binären Steuervariablen geliefert wird.58. Vorrichtung nach Anspruch 32, dadurch gekennzeichnet, dass die ersten, zweiten und dritten Entscheidungssignale binäre Entscheidungssignale sind, wobei der Rechner in Mikrozyklen arbeitet und eine Vielzahl von statischen,Steuervariablen und eine Vielzahl von dynamischen Steuervariablen verwendet, wobei die dynamischen Steuervariablen in einem Mikrozyklus verfügbar sind, der auf die Verfügbarkeit der statischen Steuervariablen folgt, wobei jedes Mikrobefehlswort eine Vielzahl von statischen Steuervariablen*uswahlfeidern, eine Vielzahl von dynamischen Steuervariablenauswahlfeidern, eine Vielzahl von Logikfunktionsspeicherauswahlfeidern und zumindest ein Logikfunktionsspeicherausgangsauswahlfeld enthält und wobei die Entscheidungslogik Einrichtungen einer Entscheidungssteuerlogik enthalten, zur Lieferung des ersten, zweiten und dritten binären Entscheidungssignales in Übereinstimmung mit einer ausgewählten Steuerfunktion der ausgewählten statischen und dynamischen Steuervariablen, wobei die Steuerfunktion aus einer Vielzahl von Steuerfunktionen ausgewählt ist, wobei die Entscheidungssteuerlogik folgendes enthält: statische Steuervariableneinrichtungen zur Lieferung einer Vielzahl von statischen Steuervariablensignalen, die mit der entsprechenden Vielzahl der statischen Steuervariablen kor-909810/0956respondieren, dynamischen Steuervariableneinrichtungen zur Lieferung einer Vielzahl dynamischer Steuervariablensignale, die mit der Vielzahl der entsprechenden dynamischen Steuervariablen korrespondiert, statische Steuervariablenauswahleinrichtungen, die auf die statischen Steuervariablensignale und auf die statischen Steuervariablenauswahlfeider ansprechen, zur Auswahl der statischen Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den statischen Steuervariablenauswahlfeidern, dynamische Steuervariablenauswahleiririchtungen, die auf die dynamischen Steuervariablensignale und auf die dynamischen Steuervariablenauswahlfeider ansprechen, zur Auswahl der dynamischen Steuervariablensignale aus deren Vielzahl in Übereinstimmung mit den dynamischen Steuervariablenauswahlfeidern, eine Vielzahl von Logikfunktionsspeichern, d|.e auf die entsprechenden Logikfunktionsauswahlfeider und auf die ausgewählten statischen Steuervariablensignale ansprechen, wobei der Speicher eine Vielzahl von Wahrheitstabellen aus einer Vielzahl der Steuerfunktionen speichert, wobei der Speicher auf das entsprechende Logikfunktionsauswahlfeld und auf die ausgewählten statischen Steuervariablensignale anspricht, zur Adressierung einer Vielzahl von Wahrheitstabelleneingängen in die Wahrheitstabelle, die durch das Logikfunktionsauswahlfeld adressiert ist, wobei die Eingänge mit den statischen Steuervariablensignalen korrespondieren, Speicherausgangsauswahleinrichtungen, die auf die entsprechenden adressierten Ausgänge aus den Logikfunktionsspeichern und auf die Logikfunktionsspeicherausgangsauswahlfelder ansprechen, zur Auswahl der adressierten Ausgänge aus dem Logikfunktionsspeicher, der durch das Logikfunktionsspeicherausgangsauswahlfeld ausgewählt wurde, und Funktionswertauswahleinrichtungen, die auf die ausgewählten adressierten Logikfunktionsspeieherausgänge und auf die ausgewählten dynamischen Steuervariablensignale ansprechen, zur Auswahl eines der ausgewählten adressierten Logikfunktionsspeicherausgänge in Übereinstimmung mit den dynamischen Steuervariablen, wodurch das binäre Entscheidungssignal in Übereinstimmung mit der ausgewählten Steuerfunktion der ausgewählten statischen und dynamischen Steuervariablen geliefert wird.909810/095659. Vorrichtung nach Anspruch 28, dadurch gekennzeichnet β dass jedes Mikrobefehlswort ein Aufbausteuerfeld enthält und zumindest einer der Prozessoren einen Prozessor enthält, der auf das Aufbausteuerfeld anspricht, zum wahlweisen Aufbau des Prozessors entweder als ein Prozessor zur Verarbeitung von Worten einer ersten Anzahl von Bits, wodurch in einer ersten Betriebsweise gearbeitet wird, oder als eine Vielzahl von Prozessoren, zur gleichzeitigen Verarbeitung einer entsprechenden Vielzahl von Worten mit einer zweiten Anzahl von Bits, die kleiner als die erste Anzahl ist, wodurch in einer zweiten Betriebsart gearbeitet wird, wobei der Prozessor folgendes enthält s eine Vielzahl von Stapeln, die mit der entsprechenden ersten Anzahl von Bits korrespondiert, zur Ausführung von Operationen in bezug hierauf, und Aufbausteuereinrichtungen, die mit den Stapeln gekoppelt sind und auf das Aufbausteuerfeld ansprechen, zum wahlweisen Aufbauen der Stapel als einen Prozessor zur Verarbeitung von Worten der ersten Anzahl von Bits oder als eine Vielzahl von Prozessoren zur gleichzeitigen Verarbeitung einer entsprechenden Anzahl von Worten mit einer zweiten Anzahl von Bits in Übereinstimmung mit dem Aufbausteuerfeld.60. Vorrichtung nach Anspruch 59„ dadurch gekennzeichnet, dass die Vielzahl von Stapeln parallele Stapel enthalten, zur parallelen Verarbeitung der Worte der ersten Anzahl von Bits, wenn die Vorrichtung für die erste Betriebsweise aufgebaut ist und wobei die Stapel in einer Vielzahl von Gruppen der Stapel angeordnet sind, zur gleichzeitigen Verarbeitung der entsprechenden Vielzahl von Worten mit der zweiten Anzahl von Bits, wenn die Vorrichtung für die zweite Betriebsweise aufgebaut ist, und dass die Aufbausteuereinrichtungen Einrichtungen enthalten, zur Verbindung der Gruppen, wenn die Vorrichtung in der ersten Betriebsweise arbeitet und zur Trennung der Gruppen, wenn die Vorrichtung in der zweiten Betriebsweise arbeitet„61. Vorrichtung nach Anspruch 60, dadurch gekennzeichnet, dass die Stapel eine Vielzahl von n-Bit-Mikroprozessor-LSI-Chips enthält, wobei jeder Chip einen Übertragungseingang und909810/0956übertragsfortschalt- und Übertragserzeugungsausgänge aufweist, und dass die Vorrichtung Übertragsvorgriffschips enthält, die auf die übertragsfortschalt- und -erzeugungsausgänge aus den Mikrpprozessorchips anspricht, zur Lieferung von Eingängen zu dessen Übertragseingängen, wobei die Übertragsvorgriffschips angeordnet sind, zur Lieferung geeigneter Übertragssignale zu den Übertragseingängen der Mikroprozessorchips, in Übereinstimmung mit der Operation in der ersten und der zweiten Betriebsweise, und dass die Aufbausteuereinrichtungen Torsteuereinrichtungen enthalten, die auf das Aufbausteuerfeld ansprechen, zur wahlweisen Kopplung der Übertragsvorgriffschips mit den Übertragseingängen der Mikroprozessorchips, zum wahlweisen Aufbau der Vorrichtung in der ersten und zweiten Betriebsweise in Übereinstimmung mit dem Aufbausteuerfeld.62. Vorrichtung nach Anspruch 61, dadurch gekennzeichnet, dass die Torsteuereinrichtungen die Übertragseingänge zu den Mikroprozessorchips liefern, die zumindest eine der Gruppen der Stapel enthalten.63. Vorrichtung nach Anspruch 61, dadurch gekennzeichnet, dass weiterhin Endübertragseinrichtungen vorgesehen sind, zur Lieferung von Endübertragssignalen in bezug auf die Vielzahl von arithmetischen Stapeln, wenn die Vorrichtung für die erste Betriebsweise aufgebaut ist und im Hinblick auf zumindest eine der Gruppen der Stapel, wenn die Vorrichtung für die zweite Betriebsweise aufgebaut ist.64. Vorrichtung nach Anspruch 63, dadurch gekennzeichnet, dass jedes Mikrobefehlswort ein Endübertragssteuerfeld enthält, wobei die Endübsrtragseinrichtungen Einrichtungen enthalten, die auf das Endübertragssteuerfeld ansprechen, zur wahlweisen Lieferung des Endübertragssignals im Hinblick auf die Vorrichtung, die in den ersten und zweiten Betriebsweisen arbeitet, in Übereinstimmung mit dem Endübertragssteuerfeld.65. Vorrichtung nach Anspruch 60, dadurch gekennzeichnet,909810/0956dass der Rechner Operandenworte, die die erste Anzahl von Bits enthalten und Adressenfelder, die die zweite Anzahl von Bits enthalten, verwendet, wobei das Aufbausteuerfeld die Vorrichtung für die erste Betriebsweise aufbaut, wenn Berechnungen durchgeführt werden, wenn Operandenxiorte beteiligt sind und die Vor= richtung für die zweite Betriebsweise aufbauen, wenn Berechnungen durchgeführt werden, bei denen Adressenfelder beteiligt sind,66. Vorrichtung nach Anspruch 52, dadurch gekennzeichnet, dass die Speicherauswahleinrichtungen Eingänge enthalten, die auf einen konstanten Logikwert ansprechen, wobei die Eingänge durch das Logikfunktionsspeicherausgangsauswahlfeld auswählbar sindt zur Lieferung des konstanten Logikwertes als binäres Entscheidungssignal, wenn die Eingänge durch das Logikfunktionsspeicherausgangsauswahlfeld ausgewählt sind.67ο Vorrichtung nach Anspruch 52, dadurch gekennzeichnet, dass die Speicher LSI-integrierte Schaltkreise enthalteno909810/0956
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/830,303 US4199811A (en) | 1977-09-02 | 1977-09-02 | Microprogrammable computer utilizing concurrently operating processors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2837852A1 true DE2837852A1 (de) | 1979-03-08 |
DE2837852C2 DE2837852C2 (de) | 1985-10-03 |
Family
ID=25256708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2837852A Expired DE2837852C2 (de) | 1977-09-02 | 1978-08-30 | Prozessor zum gleichzeitigen Ermitteln und Bereitstellen zweier Adressen von Befehls- und/oder Datenwortregistern eines bereichsweise adressierbaren Hauptspeichers |
Country Status (7)
Country | Link |
---|---|
US (1) | US4199811A (de) |
JP (1) | JPS5496335A (de) |
CA (1) | CA1114955A (de) |
DE (1) | DE2837852C2 (de) |
FR (1) | FR2402251B1 (de) |
GB (1) | GB2005056B (de) |
IT (1) | IT1099022B (de) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
US4312034A (en) * | 1979-05-21 | 1982-01-19 | Motorola, Inc. | ALU and Condition code control unit for data processor |
US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4519031A (en) * | 1982-02-22 | 1985-05-21 | Texas Instruments Incorporated | Microcomputer with accumulator saturation upon overflow |
US4592005A (en) * | 1982-07-06 | 1986-05-27 | Sperry Corporation | Masked arithmetic logic unit |
US4514846A (en) * | 1982-09-21 | 1985-04-30 | Xerox Corporation | Control fault detection for machine recovery and diagnostics prior to malfunction |
US4550382A (en) * | 1982-09-21 | 1985-10-29 | Xerox Corporation | Filtered inputs |
US4870644A (en) * | 1982-09-21 | 1989-09-26 | Xerox Corporation | Control crash diagnostic strategy and RAM display |
JPS59132070A (ja) * | 1983-01-18 | 1984-07-30 | Mitsubishi Electric Corp | アレイ演算用デ−タ処理装置 |
US4720784A (en) * | 1983-10-18 | 1988-01-19 | Thiruvengadam Radhakrishnan | Multicomputer network |
CA1223969A (en) * | 1984-10-31 | 1987-07-07 | William M. Johnson | Microcode control of a parallel architecture microprocessor |
JPH0766329B2 (ja) * | 1985-06-14 | 1995-07-19 | 株式会社日立製作所 | 情報処理装置 |
US4748585A (en) * | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
US4833599A (en) * | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
US5179703A (en) * | 1987-11-17 | 1993-01-12 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
JPH02190930A (ja) * | 1988-12-29 | 1990-07-26 | Internatl Business Mach Corp <Ibm> | ソフトウエア命令実行装置 |
JP3206914B2 (ja) * | 1989-11-09 | 2001-09-10 | インターナショナル、ビジネス、マシーンズ、コーポレーション | 多重プロセッサ・システム |
US5210839A (en) * | 1990-12-21 | 1993-05-11 | Sun Microsystems, Inc. | Method and apparatus for providing a memory address from a computer instruction using a mask register |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5673427A (en) * | 1994-03-01 | 1997-09-30 | Intel Corporation | Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue |
US5630083A (en) * | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
US5566298A (en) * | 1994-03-01 | 1996-10-15 | Intel Corporation | Method for state recovery during assist and restart in a decoder having an alias mechanism |
US5600806A (en) * | 1994-03-01 | 1997-02-04 | Intel Corporation | Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer |
US5586277A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders |
US5559974A (en) * | 1994-03-01 | 1996-09-24 | Intel Corporation | Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation |
US5537629A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Decoder for single cycle decoding of single prefixes in variable length instructions |
US5758116A (en) * | 1994-09-30 | 1998-05-26 | Intel Corporation | Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions |
US5867701A (en) * | 1995-06-12 | 1999-02-02 | Intel Corporation | System for inserting a supplemental micro-operation flow into a macroinstruction-generated micro-operation flow |
US5815724A (en) * | 1996-03-29 | 1998-09-29 | Intel Corporation | Method and apparatus for controlling power consumption in a microprocessor |
US6996813B1 (en) | 2000-10-31 | 2006-02-07 | Sun Microsystems, Inc. | Frameworks for loading and execution of object-based programs |
US7020874B2 (en) * | 2001-03-26 | 2006-03-28 | Sun Microsystems, Inc. | Techniques for loading class files into virtual machines |
US7096466B2 (en) | 2001-03-26 | 2006-08-22 | Sun Microsystems, Inc. | Loading attribute for partial loading of class files into virtual machines |
US7543288B2 (en) | 2001-03-27 | 2009-06-02 | Sun Microsystems, Inc. | Reduced instruction set for Java virtual machines |
US6957428B2 (en) | 2001-03-27 | 2005-10-18 | Sun Microsystems, Inc. | Enhanced virtual machine instructions |
US7039904B2 (en) * | 2001-08-24 | 2006-05-02 | Sun Microsystems, Inc. | Frameworks for generation of Java macro instructions for storing values into local variables |
US7058934B2 (en) | 2001-08-24 | 2006-06-06 | Sun Microsystems, Inc. | Frameworks for generation of Java macro instructions for instantiating Java objects |
US7228533B2 (en) * | 2001-08-24 | 2007-06-05 | Sun Microsystems, Inc. | Frameworks for generation of Java macro instructions for performing programming loops |
US6988261B2 (en) * | 2001-08-24 | 2006-01-17 | Sun Microsystems, Inc. | Frameworks for generation of Java macro instructions in Java computing environments |
US6938241B1 (en) * | 2001-12-10 | 2005-08-30 | Lsi Logic Corporation | Compiler independent bit-field macros |
US7698539B1 (en) * | 2003-07-16 | 2010-04-13 | Banning John P | System and method of instruction modification |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1464570A (en) * | 1974-11-27 | 1977-02-16 | Ibm | Microprogramme control units |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3380025A (en) * | 1964-12-04 | 1968-04-23 | Ibm | Microprogrammed addressing control system for a digital computer |
US3421150A (en) * | 1966-08-26 | 1969-01-07 | Sperry Rand Corp | Multiprocessor interrupt directory |
US3470540A (en) * | 1967-04-24 | 1969-09-30 | Rca Corp | Multiprocessing computer system with special instruction sequencing |
US3593300A (en) * | 1967-11-13 | 1971-07-13 | Ibm | Arrangement for automatically selecting units for task executions in data processing systems |
US3641505A (en) * | 1969-06-25 | 1972-02-08 | Bell Telephone Labor Inc | Multiprocessor computer adapted for partitioning into a plurality of independently operating systems |
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
FR2136845B1 (de) * | 1971-05-07 | 1973-05-11 | Inf Cie Intern | |
US3760365A (en) * | 1971-12-30 | 1973-09-18 | Ibm | Multiprocessing computing system with task assignment at the instruction level |
JPS495544A (de) * | 1972-05-04 | 1974-01-18 | ||
US3916383A (en) * | 1973-02-20 | 1975-10-28 | Memorex Corp | Multi-processor data processing system |
JPS49113541A (de) * | 1973-02-26 | 1974-10-30 | ||
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
US3905023A (en) * | 1973-08-15 | 1975-09-09 | Burroughs Corp | Large scale multi-level information processing system employing improved failsaft techniques |
US3875391A (en) * | 1973-11-02 | 1975-04-01 | Raytheon Co | Pipeline signal processor |
FR2253435A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
JPS537336B2 (de) * | 1973-12-29 | 1978-03-16 | ||
US4123794A (en) * | 1974-02-15 | 1978-10-31 | Tokyo Shibaura Electric Co., Limited | Multi-computer system |
US3943494A (en) * | 1974-06-26 | 1976-03-09 | International Business Machines Corporation | Distributed execution processor |
US3980992A (en) * | 1974-11-26 | 1976-09-14 | Burroughs Corporation | Multi-microprocessing unit on a single semiconductor chip |
JPS51144142A (en) * | 1975-06-06 | 1976-12-10 | Hitachi Ltd | Information processing |
US4041461A (en) * | 1975-07-25 | 1977-08-09 | International Business Machines Corporation | Signal analyzer system |
US4075687A (en) * | 1976-03-01 | 1978-02-21 | Raytheon Company | Microprogram controlled digital computer |
US4071890A (en) * | 1976-11-29 | 1978-01-31 | Data General Corporation | CPU-Synchronous parallel data processor apparatus |
US4077060A (en) * | 1976-12-27 | 1978-02-28 | International Business Machines Corporation | Asymmetrical multiprocessor system |
-
1977
- 1977-09-02 US US05/830,303 patent/US4199811A/en not_active Expired - Lifetime
-
1978
- 1978-08-03 CA CA308,638A patent/CA1114955A/en not_active Expired
- 1978-08-30 DE DE2837852A patent/DE2837852C2/de not_active Expired
- 1978-08-30 FR FR7824987A patent/FR2402251B1/fr not_active Expired
- 1978-08-31 IT IT27237/78A patent/IT1099022B/it active
- 1978-09-01 JP JP10636378A patent/JPS5496335A/ja active Granted
- 1978-09-01 GB GB7835398A patent/GB2005056B/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1464570A (en) * | 1974-11-27 | 1977-02-16 | Ibm | Microprogramme control units |
Non-Patent Citations (1)
Title |
---|
S.S.Husson, Microprogramming Principles and Practices, Prentice Hall Inc. 1970, S.67-75 und 186-196 * |
Also Published As
Publication number | Publication date |
---|---|
DE2837852C2 (de) | 1985-10-03 |
US4199811A (en) | 1980-04-22 |
JPS5496335A (en) | 1979-07-30 |
CA1114955A (en) | 1981-12-22 |
IT7827237A0 (it) | 1978-08-31 |
JPS6311697B2 (de) | 1988-03-15 |
GB2005056B (en) | 1982-02-03 |
FR2402251A1 (fr) | 1979-03-30 |
FR2402251B1 (fr) | 1986-09-05 |
IT1099022B (it) | 1985-09-18 |
GB2005056A (en) | 1979-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2837852A1 (de) | Mikroprogrammierbarer rechner mit parallel arbeitenden prozessoren | |
DE2837872A1 (de) | Digitalrechner mit ueberlappender betriebsweise unter verwendung einer bedingten steuerung zur minimierung von zeitverlusten | |
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE2755273C2 (de) | ||
DE2716369C2 (de) | ||
DE2251876C3 (de) | Elektronische Datenverarbeitungsanlage | |
EP0048767B1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
DE2714805C2 (de) | ||
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE102019109847A1 (de) | Beschleunigung der matrixmultplikation dünnbesetzter matrizen unter verwendung einer spaltenfaltung und -verdichtung | |
CH623947A5 (de) | ||
DE2835095C2 (de) | Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2515696A1 (de) | Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher | |
DE2746505C2 (de) | ||
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2948668A1 (de) | Puffereinheit | |
DE2055716A1 (de) | Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme | |
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
OI | Miscellaneous see part 1 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |