DE2540975A1 - Multi-mikro-prozessor-einheit - Google Patents
Multi-mikro-prozessor-einheitInfo
- Publication number
- DE2540975A1 DE2540975A1 DE19752540975 DE2540975A DE2540975A1 DE 2540975 A1 DE2540975 A1 DE 2540975A1 DE 19752540975 DE19752540975 DE 19752540975 DE 2540975 A DE2540975 A DE 2540975A DE 2540975 A1 DE2540975 A1 DE 2540975A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- memory
- registers
- control
- data
- 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 92
- 238000012546 transfer Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 239000004065 semiconductor Substances 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000005669 field effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 239000002131 composite material Substances 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- DOTTUEYUTNVWMJ-KSTFQPQISA-N 2,2-dimethyl-3-[(3e,7e,11e,15e,19z)-3,7,12-trimethyl-16-prop-2-enylhenicosa-3,7,11,15,19-pentaenyl]oxirane Chemical compound C\C=C/CC\C(CC=C)=C/CC\C(C)=C\CC\C=C(/C)CC\C=C(/C)CCC1OC1(C)C DOTTUEYUTNVWMJ-KSTFQPQISA-N 0.000 description 1
- 241000170006 Bius Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 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/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
Description
BURROUGHS CORPORATION, eine Gesellschaft nach den Gesetzen des Staates Michigan, Burroughs Place Detroit,
Michigan 48232, V.St.A.
Multi-Mikro-Prozessor-Einheit
Die Erfindung betrifft ein Mikro-Programm-Mehrprozessor System, das insbesondere auf einem einzigen Halbleiterchip
untergebracht ist.
Fortschritte in der Technik der integrierten Schaltungen führten zu einem Anstieg der Anzahl der Transistorgatter
innerhalb eines Schaltungschips bis zu mehreren hunderten und gelegentlich sogar mehr als tausend derartigen Gattern.
Diese Entwicklungen ermöglichten Überlegungen anzustellen, einen gesamten Klein-Datenprozessor auf einem einzigen
IC-Chip unterzubringen. Dadurch ergeben sich Vorteile in der Serienfertigung, wenn einmal die Schaltungsmasken zur
Herstellung des Chips entwickelt worden sind. Der gesamte Prozessor kann dann sehr viel billiger automatisch hergestellt
werden, als wenn eine Anzahl derartiger Chips zur Schaffung des Prozessors erforderlich wären, wobei die Herstellung
sicherlich noch billiger ist gegenüber dem Fall, daß ein Prozessor aus einzelnen Einheiten zusammengesetzt
wird. Ein Beispiel eines Klein-Prozessors, der auf einem
HZ/gs
609823/0617
IC-Typ untergebracht ist, ist in der PatentanmeS.ffimg' ^ '
P 2 357 003.8 (B 253) beschrieben.
Kleinere Datenverarbeitungssysterne finden viele Anwendungsfälle, und zwar nicht nur zur Datenkonzentrierung, als
Prozeß-Überwacher und dergleichen, sondern auch in vielen Anwendungsfällen aus dem Bereich des Rechnungswesens,
Bürowesens und auch der Technik. In manchen Fällen sind die Datenverarbeitungs-Anforderungen· eines speziellen
Buchhaltungsproblems eine Mischung aus Aufgaben zur Bildung von Buchungen und Rechnungen sowie von Prozessen, die
größere Rechenfähigkeiten erfordern. Zur Anpassung an diese Situation sind hochwertige Terminals geschaffen worden,
die nicht nur im Zeitmultiplexbetrieb sich in einen großen Rechner teilen, sondern die auch gewisse spezielle Verarbeitungsroutinen
ausführen können. Terminal-Prozessoren können ebenfalls verschiedene Vor-Bearbeitungsaufgaben ausführen,
wie beispielsweise die Ausgabe, die Formatbildung der Daten, etc.
Ein spezielles Strukturkonzept, das eine größere Flexibilität
der Rechnerauslegung gestattete, insbesondere im Hinblick auf die Entwicklung von Minikomputern und Mikrokomputern,
besteht in der Mikroprogrammierung oder in der Verwendung von Mikrobefehlen zur Darstellung oder Interpretierung von
Makrobefehlen und Befehlen für Programmiersprachen. Ursprünglich wurden die Mikrobefehle als jene Gruppen von
Steuerbits angesehen, die zur Aktivierung verschiedener Gatter in einem Prozessor zur Ausführung von Datenübertragungen
von einem Register zu einem anderen sowie durch die Arithmetik-und
Logikeinheit des Prozessors erforderlich waren. Diese Bits wurden in einem kleinen Speicher in dem Prozessor
an Stellen gespeichert, die durch den Befehlscode eines Makrobefehls adiessiert werden konnten. In diesem Sinne stand
das Konzept der Mikroprogrammierung in dem Ersatz eines Makrobefehls-Dekoders durch einen Tabellenspeicher.
60 9823/0617 original inspected
254097b
Wie anfänglich definiert, war der Mikrobefehl eine Gruppe von nicht verpackten Bits, von denen jedes ein Steuersignal
repräsentierte, das zur Aktivierung eines Gatters benötigt wurde, wobei die Gruppe von Steuersignalen sämtliche
Gatter repräsentierten, deren Aktivierung zur Ausführung der Funktion während einer Taktzeit erforderlich waren,
und zwar entsprechend dem Befehlscode des Makrobefehls, der zur Adressierung des Mikro-befehlsspeichers verwendet
wurde. Wenn der Befehlscode des Makrobefehls zwei oder mehrere Taktzeiten benötigte, dann konnte der Befehlscode
durch einen Zähler weitergestellt werden, so daß auf eine Folge von Mikrobefehlen zugegriffen wurde.
Mit zunehmender Kompliziertheit des Mikroprogrammprozessors wurde die Länge des Mikrobefehls größer in Anpassung an die
erforderlichen externen Steuerbits. Das wiederum erforderte, daß die Mikrobefehlsspeicher in dem Prozessor größer zu
sein hatte und damit aufwendiger wurde. Zur Reduzierung der Größe des Mikrobefehlsspeichers in komplizierteren
Prozessoren wurden die Mikrobefehle codiert im Unterschied zu einer Reihe von nicht verpackten oder uncodierten Bits.
Das wiederum erforderte einen Mikrobefehlsdekoder, der weniger kompliziert als der Makrobefehlsdekoder war, der
von dem Mikrobefehlsspeicher ersetzt wurde. Somit sind tatsächlich zwei Arten von Mikrobefehlen vorhanden, weil
eine Art eine unverpackte Reihe von Bits und die andere Art eine Reihe von verpackten oder kodierten Bits enthält.
Das Mikroprogrammieren machte es möglich, daß der Datenprozessor auf einer sehr grundlegenden Stufe programmiert
werden konnte und gestattete auf diese Weise eine größere Flexibilität für die Verwirklichung oder Interpretation
vieler höherer Programmspachen. Jedoch war das ursprüngliche Konzept des Mikrogrammierens zur Vereinfachung des konstruktiven
Entwurfs und der Herstellung von Datenprozessoren geschaffen worden. Die Entwicklung von Datenprozessoren, spe-
609 82 3/GW-?
Ί tk I, ■-·, .,"j 7 L
zielle für Minikomputer und Mikroprozessoren, zielte darauf ab, den Prozessor in Form weniger oder, wie oben angedeutet,
selbst einem MOS-IC-Chip auszuführen, wobei der Prozessor Mikrobefehlsspeicher verwendet. Jedoch ist die
Größe des Datenprozessors im Bereich der Minikomputer noch durch die Anzahl der Transistorgatter begrenzt, die
auf dem MOS-IC-Chip placiert werden können. Daher müssen Komputer größerer Art noch immer eine gewisse Anzahl Extra-IC-Chips
verwenden, was natürlich zu einer Erhöhung der Herstellungskosten des Systems führt, da viele verschiedene
Chips entwickelt und hergestellt werden müssen. In einigen Systemen kann ein erhöhter Datendurchsatz erreicht werden,
wobei mehrere Klein-Prozessoren, jeder auf einem besonderen
Halbleiterehip, zu einem Mehrprogramm-Betrieb miteinander gekoppelt sind. Jedoch selbst dann erfordert die Datenübertragung
zwischen den Chips eine Anzahl von Extra-Cyklus-Zeiten und das sich ergebende System ist nicht so schnell,
als wenn ein Groß-Prozessor auf einem einzigen Chip hergestellt
werden könnte.
Der Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Datenverarbextungssystem zu schaffen, das auf
einem einzigen IC-Chip Platz findet und erhöhte Betriebsleistung bei geringeren Herstellungskosten bringt. Weiter
soll das erfindungsgemäße Datenverarbextungssystem mikroprogrammiert
sein, wobei mehrere Prozessoren sich in der Verwendung gemeinsamer Elemente des Systems teilen sollen.
Um mehr a2,s einen Prozessor auf einem einzigen MOS-IC-Chip
mit einer begrenzten Anzahl von Transistorgattern unterzubringen, befaßt sich die Erfindung mit mehreren Registergruppen,
von denen jede einen anderen Prozessor repräsentiert, wobei die Register sich in einer gemeinsamen Logikeinheit,
Steuereinheit, und Sammelleitungen teilen. Die Steuereinheit enthält einen Mikroprogrammspeicher, der mit den jeweiligen
Gruppen von Prozessor-Registern zusammenarbeitet und die Datenübertragung zwischen den einzelnen Registergruppen sowie
S 0 9 8 2 3 / 0 6-H
?. h 4 C -j 7 b
mit der Logikeinheit steuert. Derartige Datenübertragungen stehen unter Steuerung eines Taktes, wobei auf die jeweiligen
Prozessor-Registergruppen in sequentiellen Zeitabschnitten oder im Multiplex-Betrieb zugegriffen wird, und wobei die
jeweiligen Registergruppen durch den Takt sukzessiv aktiviert wurden.
Ein spezieller Vorteil der Erfindung mit mehreren gleichlaufenden Mikroprozessoren besteht darin, daß die Prozessoren
auf verschiedenen Pegeln miteinander frei in Kommunikation treten können. Ein Kommunikationspegel ist durch die Verbindungen
zwischen den Prozessoren in dem IC-Chip gegeben. Eine Kommunikation kann auch über den örtlichen Zwischen—
speicher (local scratch pad memory) erreicht werden, der mit den jeweiligen Prozessoren zusammenarbeitet; und schließlich
können die jeweiligen Prozessoren über den Hauptspeicher miteinander in Kommunikation treten. Ein weiterer Vorteil
ergibt sich dadurch, daß der gleiche Mikroprogrammspeicher für alle Prozessoren zur Verfügung steht.
Ein Merkmal der Erfindung besteht somit in einem Mehr-Mikroprogrammsystem
mit mehreren Register*rruppen, von denen jede einen eigenen Prozessor repräsentiert, sowie mit einer
gemeinsamen Logikeinheit, einem Mikroprogramm-Steuerspeicher, Sammelleitungen und Zwischenspeicher (scratch pad memory),
der für die jeweiligen Prozessor-Registergruppen zur Verfügung steht.
Merkmale, Vorteile und Anliegen der Erfindung gehen aus der nachfolgend wiedergegebenen Beschreibung noch deutlicher
hervor, wobei auf die beigefügten Zeichnungen Bezug genommen wird. Im einzelnen zeigen:
Fig. 1 die Darstellung eines Systems mit Mehrprozessoreinheiten gemäß der Erfindung;
Fig. 2 eine funktionale Darstellung der Einheiten
der Mehrprozessor-Einheit gemäß der Erfindung;
809823/0617 original inspected
2 b4,97 b
Fig. 3 ein schematisches Diagramm der Schnittstelle, die zu der Mehrprozessor-Einheit gemäß der
Erfindung fahren;
Fig4. 4a und 4b ins einzelne gehende, schematische
Schaltungsdiagramme der Erfindung;
Fig. 5a,5b und 5c jeweils die Organisation des A-
Zwischenspeichers und des B-Zwischenspeichers;
Fig. 6 ein schematisches Diagramm der arthimetischen
LogikeinheiL gemäß der Erfindung;
Fig. 7 ein schematisches Diagramm einer Gruppe von Schieberegistern;
Fig. 8 eine Tabelle mit Funktionen, die von den
verschiedenen, im Rahmen der Erfindung verwendeten Mikrobefehlen ausgeführt werden;
Fig. 9 ein schematisches Diagramm der Steuereinheit gemäß der Erfindung; und
Fig. 10 eine Gruppe von Kurvenzügen zur Erläuterung
des Zeitmultiplexbetriebes gemeinsamer Elemente mit den verschiedenen Prozessoren
gemäß der Erfindung.
Die Organisation des erfindungsgemäßen Systems zeigt Fig. 1,
gemäß welcher mehrere MOS-IC-Chips zu einer Konfiguration
zusammengekoppelt sind, die ein flexibles Mehrprogrammsystem ergibt. Das System gemäß Fig. 1 weist mehrere Miltiprozessor-Einheiten
(MPU) 11 auf, die mit einom Random Access-Speicher (RAM) 13 gekoppelt sind, der für das Speichern von Daten
und anderer Informationen vorgesehen ist. Jede MPU 11 ist
mikroprgramaiert und dazu mit einem zugehörigen Lesespeicher (ROM) 12 gekoppelt. Wie gemäß Fig. 1 kann eine Vielzahl von
Peripheriegeräten von dem System unter Steuerung der verschiedenen MPU1S betrieben werden, wobei zu diesen Geräten ein
Plattenspeicher 15, ein Drucker 16, eine Kathodenstrahl-Anzeigeeinheit
17, ein Kassettenantrieb 18 sowie eine Datenkommunikationseinheit 19 gehören können.
Vor Beschreibung der Einzelheiten der Schaltung der MPU wird zunächst
eine Beschreibung der funktioneilen Einheiten gegeben,
$0982 3/0617 original inspected
mit denen jeder Prozessor in dem Multiprozessor-System
während jener Zeitspanne arbeitet, während der einzelne Prozessor Zugriff zu den gemeinsamen Systemquellen besitzt.
Ein funktionales Diagramm des Prozessors mit seinen eigentümlichen und gemeinsamen Quellen zeigt Fig. 2. Die gemeinsamen
Hilfsmittel umfassen den B-Zwischenspeicher 31 und den A-Zwischenspeicher 32 (beide sind sogenannte scratch
pad memories), die arithmetische Logikeinheit (ALU) 33, die Steuerlogik 40 und das F-Register 41. Die Quellen, mit denen
jeder Prozessor individuell versorgt ist, umfassen ein X-Register 35, das Mikroprogramm-Zählerregister (PC) 36,
das Seitenregister (PR= page register) 37, das Vorseiten-Register (PPR= prepage register) 38, das I-Register 43, das
N-Register 44, das K-Register 34 und das Y-Register 42.
Die Register für den Prozessor werden jetzt im Zusammenhang mit Fig. 2 beschrieben. Damit diese speziellen Zwecken
zugewiesenen Register dem jeweiligen Prozessor gewidmet werden können, bestehen sie aus 4-Bit-Schieberegistern, so daß
unter den Prozessoren eine vierfache Zeitteilung möglich ist.
Das X-Register 35 ist ein ß-Bit-Befehlsregister und dient
dazu, die Mikrobefehle während dt r Befehlsdekodier- und Ausführzeit zu halten. Das PC-Register 36 ist ein 8-Bit-Mikroprogrammzählerregister.
Dieses Register hält die Adresse eines Bytes innerhalb einer Seite (byte within-page adress)
des nächsten Mikrobefehls, der ausgeführt werden soll. Das PR-Register 37 ist ein 4-Bit-Mikrobefehl-Zähler-Seitenregister
(microprogram counter page register). Dieses Register hält die Seitenadresse des nächst ei auszuführenden Mikrobefehls.
Das PPR-Register 38 ist ein 4-Bit-VorSeitenregister. Ein
Sprung (aus der Seite) erfordert zwei Befehle: Einen Befehl zum Laden des Seitenregisters und einen Sprungbefehl. Das
PPR-Register 38 dient dazu, die neue Seitenzahl zu halten, während der Sprungbefehl geholt wird. Der Inhalt des PPR-Register
s wird in das Pr-Register nur dann geladen, wenn der nächste Befehl ein Sprung ist. In allen anderen Fällen benimmt
ORIGINAL INSPECTED 609823/061?
I b 4 . :- 7 b
sich der Befehl zum Laden des Seitenregisters so, als
fände keine Operation statt. Damit bleibt eine bedingte Sprungoperation "aus der Seite" innerhalb der gleichen
Seite, wenn die Bedingung nicht erfüllt ist.
Das I-Register 43 ist ein 4-Bit-Register zum Adressieren
des A-Zwischenspeichers. Das N-Register 44 ist ein 2-Bit-Register zum Adressieren von vier Seiten in dem B-Zwischenregister.
Es wird in Verbindung mit einem Teil des Befehls verwendet, mit dem ein Register in dem B-Zwischenregister
adressiert wird. Dieses Register dient ebenfalls zum Laden des I-Registers 43.
Das K-Register 34 ist 1-Bit-Register, das nur während
der Addier-Befehle gesetzt oder gelöscht wird. Es kann
als ein Eingang für das ALU dienen und L.-mn durch einen Sprung-auf-Übertrag-Befehl (jump-on-carry instruction)
geprüft werden. Das Y-Register 4 2 ist ein 4-Bit-Maschinen-Status-Register.
Dies Register dient zum Speichern des Status jedes Prozessors während der Zeit, während der die
anderen drei Prozessoren Befehle ausführen. Dies ist notwendig, weil mehrere Befehe mehr als einen Takt zur Ausführung-
erfordern.
Es werden jetzt die gemeinsamen Elemente beschrieben. ALU-33 ist eine 4-Bit-Arithmetik-und Logik-Einheit, die binäre
Addition, eine bitweise logische AND, OR und EXLUSIVE OR-Operation ausführen kann. Jede Operation wird während eines
Taktzeitanteils ausgeführt, wobei Byte-Operationen zwei Durchgänge durch das ALU erfordern. Ein Zwischenspeicher
(scratch pad memory) 32 enthält 16 Register, von denen jedes 8 Bit breit ist, wobei die Register als Universalregister für spezielle Aufgaben verwendet werden können.
Die 16 Register sind in vier Seiten zu je vier Registern unterteilt. Wenn sie zur Erledigung spezieller Zwecke dienen,
6 0 9 8 2 3/0 6-H frb OFMa''NAL inspected
— Q —
werden die A-Register in Verbindr g rc it den B-Registern
benutzt. Die speziellen Zwecke, für die die Register verwendet werden können, werden weiter unten erläutert.
Der B-Zwischenspeicher 31 enthält 24 Register für je acht
Bits, oder kann als 48 Register zu je vier Bits betrachtet werden, wobei die Register als universelle Speicherregister,
oder in Verbindung mit dem A-Register 32 als z.b.V. (=zur besonderen Verwendung)-Register verwendet werden können.
Die Spezialaufgaben, für die diese Register verwendet werden
können, werden weiter unten erläutert."
Die Steuerlogik 4 0 umfaßt einen zusammengesetzten Lesespeicher und eine Steuerlogik, die die Operationen des
Systems auf dem Steuersignalpegel schritt-steuern. Das F-Register 41 ist ein einzelnes Flip-Flop, das als
Markierung (flag) beabsich igt ist. Es kann von einem Prozessor benutzt werden oder dazu dienen, eine Kommunikation
zwischen den Prozessoren zu ermöglichen.
Fig. 5A zeigt die Organisation der A-Register 32 und Fig.5B zeigt die Organisation der B-Register 31. Jeder Prozessor
kann auf jedes der 16 Α-Register oder der 24 B-Register zugreifen. Um jedoch zu verhindern, daß ein Prozessor Daten
eines anderen Prozessors zerstör4., ist es notwendig, die A- und B-Register so zu unterteilen, daß jeder Prozessor
seine eigene Gruppe zugewiesen erhält. Diese Unterteilung sollte ausgeführt werden, ehe jeder Prozessor mikroprogrammiert
wird.
Wie die Unterteilung tatsächlich stattfinden soll, das hängt von den Aufgaben ab, die jeder Prozessor ausführen soll.
Allgemein kann die Unterteilung der Zuweisung einer Seite pro Prozessor die Kodierung reduzieren, wenn die vier Prozessoren
ähnliche Aufgaben ausführen sollen. In Fällen, in denen ein oder zwei Prozessoren kompliziertere Aufgaben als
ORIGINAL INSPECTED
609823/061?
die anderen Prozessoren ausführen sollen, kann es erwünscht
sein, eine ungleichmäßige Unterteilung der Register für die komplizierteren Aufgaben zu schaffen. Dies gilt besonders
dann, wenn durch die Zuweisung mehr Zwisc.ienspeicherstellen (scratch pad locations) den Aufgaben und weniger Zugriffe
für den Random-Access-Speicher notwendig sind.
Der B-Zwischenspeicher besteht ähnlich wie der A-Zwischenspeicher
aus vior Seiten. Allgemein ist jedem Prozessor
eine Seite der B-Register zugewiesen. Die Seitennummer, die von einem Prozessor verwendet werden soll, wird in
seinem 2-Bit-N-Register gespeichert. Das Adressieren innerhalb einer Seite geschieht auf zwei Weisen: byte-weise und
ziffernweise. Byte-Adressen sind die geradzahligen Zahlen Null bis 14. Ziffernadressen sind die Zahlen Null bis 15.
Diese Adressen greifen auf die gleichen Daten zu: Byte Null ist das gleiche Register wie Ziffer Null und Eins; Byte Zwei
ist das gleiche Register wie die Ziffern Zwei und Drei; usw. Wie man aus Fig. 5B erkennt, besteht der Adressierraum für
den B-Zwischenspeicher aus 32 Bytes oder 64 Ziffern. Aus
zwei Gründen jedoch entspricht dies nicht der räumlichen Größe des B-Zwischenspeichers. Es ist nicht genügend Raum
auf dem IC-Chip für 32 Bytes vorhanden und Zwischen-Prozessor-Kommunikationen werden durch Teilen räumlicher Register verbessert.
Fig. 5B zeigt die Art und Weise, in welcher die Register geteilt d.h. gemeinsam betrieben werden. Wie dargestellt,
stellt jedes Rechteck unabhängig von seiner Größe ein räumliches 8-Bit-Regiöter dar.
Unter der Annahme, daß jede der vier Prozessoren einen anderen
Wert für N (B scratch pad page = B-Zwischenspeicher-Seite)
benutzt, dann ist klar, daß das Byte Null und 14 sämtlichen Prozessoren gemeinsam sind und daß eine Kopie des Byte Zwei-Registers
dem Prozessor Null und Eins gemeinsam ist und daß die andere Kopie dem Prozessor Zwei und Drei gemeinsam ist.
AL INSPECTED
609823/0817 ED
Durch diese gemeinschaftliche Aufteilung wird es möglich,
daß die Daten zwischen den Prozessoren laufen können, ohne daß eine Änderung in dem Wert von N erforderlich wäre.
Man bemerke, daß jeder Prozessor, weil er den Wert seines N-Registers ändern kann, mit den anderen Prozessoren durch
eines der A oder B-Registers i'i Kommunikation treten kann. Durch Verwendung der gemeinsamen Register (byte Null, Zwei
und 14) wird die Kommunikation ohne die Notwendigkeit verwirklicht, zeitweise die Einstellung von N zu ändern. Durch
die Unterteilung des B-Zwischenspeichers auf die Prozessoren
kann ein gemeinsames Register nur einem Prozessor zugewiesen werden, es sei denn, es werde für die Kommunikation verwendet.
Wie oben dargestellt, besteht einer der Vorteile der Erfindung darin, daß die ν ier Prozessoren sich in einer einzigen
Kopie von Mikrobefehlen teilen können, und zwar entweder Unterroutinen oder vollen Programmen, und daß sie gleichzeitig
laufen können. Dies wird dadurch erreicht, daß zunächst die verschiedenen Werte in die N-Register für
jeden der Prozessoren eingesetzt werden, und daß dann jeder Prozessor veranlaßt wird, in die gleiche Stelle in den Lesespeicher
zu springen. Auf diese Weise beschriebene Programme können jedoch keines der gemeinsamen B-Register verwenden.
Die speziellen Zwecke, für die die Elemente der A- und B-Zwischenspeicher
verwendet werden können, bestehen darin, 16 Bit-Random-Access-Speicheradressen, Mikroprogramm-Unterroutinen-Adressen
und Mikroprogramm-Lesespeicher-Adressen speichern. Die Elemente für beide Zwischenspeicher sind zu
diesem Zweck hintereinander verbunden. Beispielsweise können vier Seiten des Α-Zwischenspeichers und vier Seiten des B-Zwischenspeichers
zu einer Gruppe zusammengefaßt werden, ähnlich Seite Null von A mit Seite Null von B, Seite Eins
von A mit Seite Eins von B, usw. Die Seitengruppen sind in Fig. 5C nur für eine derartige Gruppe eingetragen, da
die anderen Seitengruppen auf gleiche Weise funktionieren.
ORIGINAL INSPECTED 609823/0817
2 5 L 'j 9 7 h
Wie in Fig. 5C gezeigt, hat jede Seitengruppe vier Random-Aceess-Speicher-Lese/Schreib-Adressen-Register.
Die ersten drei von diesen sind durch R/WO, R/W1, R/W2 angegeben und
enthalten die folgenden Register: B8, und AO, B10 und A1,
B12 und A2, so daß sich drei 60-Bit-Random-Access-Speicherregister
zum Lesen und Schreiben von Daten in bzw. aus dem Random-Access-Speicher ergeben. In jedem Fall ist das B-Byte
der höchststellige Teil der Adresse. Das vierte Adressenregister, mit R/W3 bezeichnet, hängt A3 mit allen Einsen
zusammen, so daß sich eine direkte Adressierseite in dem Random-Access-Speicher ergibt, nämlich die oberste Seite.
Die Mikroprogrammspeicher-(ROM) Adressen sind sämtlich
12 Bits lang und werden durch das aneinanderreihen eines 8-Bit-Registers mit den unteren vier Bits eines B-Registers
(eine geradzahlige Ziffer-Adresse) erhalten. Drei solcher ROM-Adressenregister sind in jedem Paar von A- und B-Seiten
enthalten. Eine davon hängt Ziffer B2 mit A1 zusammen und bildet das ROM-Adressenregister. Diese Kombination
dient zur Übersetzung von Daten. Eine Code-Tabelle wird in dem ROM gespeichert und die übersetzung wird einfach dadurch
ausgeführt, daß der Eingangscode in B2 und A1 eingesetzt wird und das ROM gelesen wird.
Die beiden anderen 12-Bit. ROM Adressen-Register dienen
zum Speichern der Rückkehradressen nach Ausführung eines Mikroprogramm-Unterroutinen-Sprungbefehls. Die Rückkehr-Seitenzahl
wird in der B-Ziffer und die Adresse innerhalb einer Seite wird in dem Α-Register in den Kombinationen
A2 zusammen mit B4 und A3 zusammen mit B6 gespeichert. Man sieht, daß die zwei Ebenen an Unterroutinen sehr zufriedenstellend
bedient werden können.
Eine Beschreibung der Schnittstellen zwischen der Multi-Prozessoreinheit
gemäß der Erfindung und der System-Peripherie, innerhalb welcher sie angesiedelt ist, wird jetzt
6D9823/0S4-7 £U
•ORIGINAL INSPECTED
2 b 4 : ■:■}. 7 b
im Bezug auf Fig. 3 mitgeteilt. Wie dargestellt, enthalten die verschiedenen Schnittstellen Daterisamn Ölleitungen 20
von 8-Bit-Breite, eine ivaressen-Sammelleituny 21 und verschiedene
Steuerleitungen. Man erinnere sich aus der Beschreibung des Systems in Fig. 2, daß eine 16-Bit-Adresse
zum Adressieren des Random-Access-Speichers 13 notwendig ist, während eine 12-Bit-Adresse zum Adressieren des
Lesespeichers 12 benötigt wird. Eine 4-Bit-Adresse wird für den Ein/Ausgangsdekoder 14a gebraucht, der seinerseits
ein Peripheriegerät entweder mittels der Ausgangslogik 14B oder der Eingangslogik 14C auswählt, je nachdem ob die
Datenübertragung zur Peripherie in Form einer Ausgangsübertragung oder einer Eingangsübertragung aufgerufen wurde.
Die Eingangsübertragung zur Daten~ammelleitung 20 geschieht durch Übertragungsgatter 28, wenn ein Ein/Ausgangssignal
von der Multiprozessor-Einheit übertragen wurde und ein Schreibsignal zur gleichen Zeit nicht vorhanden ist.
Die Übertragung von System-Befehl und von Daten aus dem*
Random-Access-Speicher 13 geschieht vermöge der Datensammelleitung 20, wenn kein Schreibsignal, sondern wenn ein Speichersignal
und eine 16-Bit-Adresse für den Random Access-Speicher
13 vorhanden ist. Eine Mikrobefehlsübertragung aus dem Lesespeicher
12 tritt auf, wenn kein Speichersignal vorhanden ist,
wenn kein Ein/Ausgangssignal vorhanden ist und wenn die 12-Bit-Adresse
dem Lesespeicher 12 zugeführt wurde.
Eine mehr ins einzelne gehende Beschreibung der Erfindung wird jetzt in Bezug auf Figuren 4A und 4B gegeben, die in der
angedeuteten Weise zusammengehören. Die Funktionseinheiten in den Figuren 4A und 4B wurden allgemein im Zusammenhang mit
Fig. 2 beschrieben. Man erinnere sich aus der dortigen Erläuterung, daß die Erfindung mehrere Registergruppen umfaßt,
von denen jede Gruppe für einen speziellen Prozessor eigentümlich und representativ ist, und daß die Erfindung
609823/0817 original inspected
2 5 4 J 9 7 5
außerdem gemeinsame Elemente umfaßt, die für die einzelnen
Registergruppen frei verfügbar sind, und zwar auf Zeit-Multiplex-Basis,
so daß zu einer vorgegebenen Taktzeit ein auf solche Weise gebildeter Prozessor imstande ist, eine
Funktion auszuführen.
In Fig. 4A umfaßt der B-Zwischenspeicher 31 24 Register,
jedes 8 Bits breit, während der A-Zwischenspeicher 32 16 Register von je 8 Bit Breite aufweist. ALU 33 ist eine
4-Bit arithmetische Logikeinheit, während das K-Register 34 ein 4-Bit-Register ist, auf das jeweils bitweise zugegriffen
wird. Man erinnere sich, daß das K-Register eines derjenigen Register ist, die jedem Prozessor eigentümlich
sind. Somit können bis zu 4 Übertrag-Bits in dem K-Register vorhanden sein und zwar je ein Bit für jeden Prozessor.
Das PR-Register 37 weist vier Register von je 4Bits auf. Man erinnere sich wieder, daß es für jeden Prozessor
ein eigenes PR-Register gibt.
Das Adressenregister 50 umfaßt 8 Register zu je 4 Bits, die
zur Übertragung der oberen 8 Bit-Adressen zum Random-Access-Speicher
verwendet werden. Der Grund für diese Organisation des Adressenregisters 50 besteht darin, daß die Datenpfade
zu und von dem Adressenregister 50 zwei Sammelleitungen umfassen, von denen jede 4 Bits Breit ist.
Das Register 54 ist ein 8-Bit-Register und führt Daten einem A-Zwischenspeicher 32 zu. Das N-Register 44 weist
vier Register zu je 2 Bits auf. Für jeden Prozessor in dem
System war ja ein eigenes 2-Bit N-Register vorgesehen.
In Fig. 4B enthalten das X-Register 35 und das PC-Register
36 jeweils vier Register zu je 8 Bits, wobei jedes Register einem eigenen Prozessor zugewiesen ist. In ähnlicher Weise
enthalten das I-Register 43 und das Y-Register 42 vier Register von je 4 Bits, wobei jedes Register einem eigenen
98 2 3/061? original inspected
254097b
Prozessor zugewiesen ist.
Das Herz der Steuerlogik 4 0 ist ein zusammengesetzter Lesespeicher,
der eine 51 mal 29 MOS Matrix sein kann, welche re-programmiert werden kann, um die Stouersignalgruppen
zu verändern, die ihrerseits zur Entschlüsslung der Mikrobefehle verwendet werden, die im X-Regis te .: 35 eines speziellen
Prozessors aus dem externen Lesespeicher 12 (vgl. Fig.3) empfangen werden. Das F-Regiyter 41 ist ein 1-Bit
Flip-Flop Register, das bereits im Zusammenhang mit Fi<j.2
erörtert wurde.
Man entnimmt weiter der Fig. 4B, daß die für die Speicherzugriffs-
und Ein- und Ausgabeoperationen-Signale direkt durch den zusammengesetzten Luaespeicher und den Status
des jeweiligen Y-Register.s 42 erzeugt werden, der den Zustand jedes Prozessors während der Zeit speichert, während
der die anderen Prozessoren in der Ausführung begriffen sind. Die Signale, die eine Funktion der arithmetischen Logikeinheit
und Datentransfers zwischen den Registern auslösen, werden ebenfalls direkt durch den zusammengesetzten Lesespeicher
erzeugt.
Fig. 6.ist ein schematisches Diagramm der arithmetischen
Logikeinheit (ALU) 33 aus Fig. 2 und 4A. Das ALU ist ein 4-Bit-Addierer, der die Funktionen AND, EXCLUSIVE, OR und
ADD ausführt. Wie in Fig. 6 dargestellt ist,wird das ALU aus 4 Studen gebildet, um die ALU-Ausgangssignale SO,S1,S2 und
S3 plus einem Übertragsignal KI zu erhalten. Jede Stufe wird durch eine eigene Gruppe von Spannungsquellfen VDD mit
elektrischer Energie versorgt. Die Eingangssignale zu dem ALU sind die Datengruppen aO,a1,a2,a3 sowie bO,b1,b2,b3
plus einem Anfangs-Übertragssignal KO. Die Steuersignale ALU1,
ALU2, und ALU3 werden aus der Steuerlogik 40 der Fig. 2 und 4B
aufgenommen. Das Steuersignal ALU3 läßt das ALU die AND Funktion ausführen. Das Steuersignal ALU2 läßt die ALU die
609823/0617 original inspected
EXCLUSIVE OR -Funktion aufführen. Das Steuersignal ALU3
läßt die ALU die EXCLUSIVE OR -Funktion mit dem Übertragsignal KO und das EXCLUSIVE OR -Produkt der Eingangssignale
a und b ausführen. Somit läßt eine Kombination der Steuersignale ALU2 und,ALU3 das ALU die ADD-Funktion an den jeweiligen
Eingangssignalen ausführen.
Es wurde bereits mitgeteilt, daß die jeweiligen Register aus Fig.2, 4A und 4B ^Bit-Schieberegister sind, um auf
diese Weise ein Vierfaches zeitliches Aufspalten oder einen Zeitmulxtplexbetrieb der gemeinsamen Elemente des Systems
zu ermöglichen, d.h. der A U 33, der Steuerlogik 40, usw. wie im Zusammenhang mit Fig. 2 erörtert wurde. Ein Beispiel eines
derartigen Schieberegisters zeigt Fig. 7, das ein schematisches Diagramm der Y-Register 42 sowie der K-Register 34
der Fig. 2,4A und 4B ist. Diese Register können als Schieberegister Y0,Y1,Y2 und Y3 (plus dem K-Schieberegister) betrachtet
werden, oder sie■}. 3nnen als vier Parallel-Register
YT0,YT1,YT3 und YT4 betrachtet werden, durch welche Daten synchron mit der zeitlichen Aufteilung der gemeinsamen Elemente
des Systems durch die vier das System bildenden Prozessoren hindurchgeschoben werden.
Jede ßitstelle des jeweiligen Registers wird aus zwei Zellen
gebildet, die durch Phasentaktsignale Q1,Q2 sequentiell getrieben
werden. Wie Fig. 7 zeigt, wird eine typische Zelle aus FET (Feld-Effekt-Transistor)-Gattern 42a und 42b sowie
Umkehrverstärker 4 2c und 42d gebildet, die selbst einzelne Transistoren in den IC-Chips sind. Während der Taktphase
Q1 wird das Gatter 42a des Registers YTO (sowie der Register YT1,YT2 und YT3) aktiviert und empfängt ein Eingangssignal
YTO. Während der Taktphase Q2, wird das Gatter 42b aktiviert
und empfängt ein Signal aus dem Gatter 42a, das dann frei ist, ein neues Eingangssignal während der nächsten Taktphase Q1
ORIGINAL INSPECTED
6Q98 23/0S4-?
zu erhalten.
Fig. 9 ist ein schematisches Diagramm der Steuer-Matrix
der Steuerlogik 40 aus Fig. 2 und 4B. Diese Matrix wird zum Dekodieren der jeweiligen Mikrobefehle verwendet, wenn
sie in dem X-Register 35 der Fig. 2 und 4B enthalten sind. Diese Matrix kann re-programmiert werden, indem die verschiedenen
Knoten der Matrix verbunden und gelöst werden, so daß sie einem Steuerspeicher äquivalent ist und durch
einen solchen ersetzt werden- könnte.
Die Beziehung zwischen den jeweiligen zu erzeugenden Steuersignalen
und den jeweiligen in dem X-Regrster während der
Ausführung enthaltenen Mikrobefehlen wird im einzelnen in Fig. 8 dargestellt. Die Ta eile in Fig. 8 wird im einzelnen
nicht erörtert; die dort enthaltenen Funktionen werden jedoch nachfolgend für jeden Mikrobefehl in der ßefehlsgruppe
erörtert. In der folgenden Beschreibung zeigen die alphabetischen Buchstaben in dem Mxkrobefehlscode an, daß diese
Bits nicht verwendet werden, sondern daß der Befehl ein entsprechendes Register adressiert, d.h. B zeigt, das B-Register
31 der Fig. 2 und 4A wird adressiert, C zeigt, daß ein Ausgangskanal verwendet wird. P repräsentiert eine Seite in dem
Zwischen- oder Hilfsspeicher, usw.
I1
Ziffern-Befehle
LDA Der Inhalt des Α-Speichers (adressiert durch das I-Register)
wird nach rechts um 4 Bits verschoben und die oberen vier Bits werden mit Inhalt des B-Speichers
(adressiert durch dasAneinanderhängen des N-Registers und der B-Befehlsbits) geladen.
B(N,XL) , A(I)0-^A(I)
Zeit: 1 Takt-Impuls
Code: 1 1 1 1 B B B B
Code: 1 1 1 1 B B B B
609823/0617
LDB Der, Inhalt des B-Speichers (adressiert durch das
Aneinanderreihen des N-Registers und der B-Befehlsbits) wird mit den oberen 4 Bits (die in dem A-Speicher
adressiert durch das IRegisters)enthalten sind, geladen .
Zeit: 1 Taktimpuls
Code: 1 0 11 B B B B
Code: 1 0 11 B B B B
ADD Der Inhalt des Α-Speichers (adressiert durch das I-Register),
obere 4 Bits, wird mit der Summe der oberen 4 Bits und dein Inhalt des B-Speichers
(adressiert durch die Aneinanderreihung des N-Regiters und der B-Befehlsbits) geladen.
B(N,XL) + A (I)0, A(I)L -*- A(I)
Zeit: 1 Taktimpuls
Code:'1 0 0 1 BBBB
Code:'1 0 0 1 BBBB
XOD Inhalt des Α-Speichers (adressiert durch das I-Register)
obere 4 Bits, wird mit dem EXCLUSIVE OR der gleichen 4 Bits und dem Inhalt des B-Spuichers
(adressiert durch die Aneinanderreihung des N-Registers und der B-Befehlsbits) geladen.
B(N,X1) φ A(I)0, A(I)1-J-A(I)
Zeit: 1 Taktimpuls
Code: 1 1 0 1 B B B B
Code: 1 1 0 1 B B B B
ORD Inhalt des Α-Speichers (adressiert durch das I-Register)
vier oberen Bits wird mit OR der gleichen 4 Bits und dem Inhalt des B-Speichers (adressiert
durch die Aneinanderreihung des N-Registers und der B-Befehlsbits) geladen.
B(N,X1) O A(I)0, A(I)L -^
Zeit: 1 Taktimpuls
Code: 1 1 0 0 B B B B
Code: 1 1 0 0 B B B B
809823/0617 OR1Q1nALINSPECTED
25 4 097
AND Der Inhalt des Α-Speichers (adressiert durch das I-Register) obere vier Bits wird mit dem AND der
gleichen 4 Bits und dem Inhalt des B-Speichers (adressiert durch die Aneinanderreihung des N-Registers
und der B-Befehlsbits) geladen.
Zeit: 1 Taktimpuls
Code: 1 1 1 0 B B B B
Code: 1 1 1 0 B B B B
INC Inhalt des B-Speichers (adressiert durch das Aneinanderreihen des N-Registers und der B-Befehlebits)
wird weitergestellt und das Ergebnis wird in den Α-Speicher gesetzt (adressiert durch das I-Register).
B (N7X3J + 1-^A(I)
Zeit: 2 Taktimpulse
Code: 1 0 1 0 B B B 0
Code: 1 0 1 0 B B B 0
ADC Der Inhalt des B-Speic hers (adressiert durch die Aneinanderreihung
des N-Registers und der B-Befehlsbits) wird zum Inhalt des Α-Speichers (adressiert durch das
I-Register) addiert.
B(N,XL) + A(I)-* A(I)
Zeit: 2 Taktimpulse
Code: 1 0 0 0 B B B 0
Zeit: 2 Taktimpulse
Code: 1 0 0 0 B B B 0
LCA Der Inhalt des Α-Speichers (adressiert durch das I-Register)
wird mit dem Inhalt des B-Speichers (adressiert durch die Aneinanderreihung des N-Registers
und der B-Befehlsbits) geladen.
B(N,XL)-* A(I)
Zeit: 1 Taktimpuls
Code: 1 0 1 0 B B B 1
Zeit: 1 Taktimpuls
Code: 1 0 1 0 B B B 1
ORIGINAL INSPECTED
609823/0617
LCB Der Inhalt des B-Speichers (adressiert durch die Aneinanderreihung
des N-Registers und der B-Befehlsbits) wird mit dem Inhalt des Α-Speichers (adressiert
durch das I-Reyister) geladen.
A(I) -^B(N,XL)
Zeit: 1 Taktimpuls
Code: 1 0 0 OBBB 1
Zeit: 1 Taktimpuls
Code: 1 0 0 OBBB 1
INA Der Inhalt des,Α-Speichers (adressiert durch die
Aneinanderreihung des N-Registers und der A-Befehlsbits) wird um eine Einheit weitergestellt.
A(N/XL) + 1 -*A(N,XL)
Zeit: 2 Taktimpulse
Code: 0 0 0 0 0 A A 1
LDR Der Inhalt des Α-Speichers (adressiert durch das I-Register)
wird nach rechts um 4 Bits verschoben und die obersten 4 Bits werden mit den R-Befehlesbits
geladen.
XL, A(I)0 —** A(I)
Zeit: 1 Takt
Code: 0 0 1 1 R R R R
ADR Der Inhalt des Α-Speichers (adressiert durch das I-Register) vier obersten Bits, wird mit der Summe
der gleichen 4 Bits und den R-Befehlsbits geladen.
XL + A(I)n, A(I)L -^ A(I)
Zeit: 1 Taktimpuls
Code: 0 0 0 1 R R R R
Code: 0 0 0 1 R R R R
IV. Ein/Ausqabe-Befehle
OUT Der Inhalt des Α-Speichers (adressiert durch das I-Register) und die C-Befehlsbits werden ausgegeben
809823/0S-*-? Cf* original inspected
-21-A(I) —P- OUT ; X -» OUT
JL·
Zeit: 2 Taktsignale
Code: 0 1 1 1 C C C C
Code: 0 1 1 1 C C C C
IN Der Inhalt des Α-Speichers (adressiert durch das I-Register) wird mit den Eingabedaten geladen. Die
C-Eefehlsbits werden ausgegeben.
IN—*A(I); X1. —>
OUT
Zeit: 2 Taktimpuls^
Code: 0 1 1 0 C C C 0
Zeit: 2 Taktimpuls^
Code: 0 1 1 0 C C C 0
SIO Der Inhalt des Α-Speichers (adressiert durch das I-Register) wird nach rechts um ein Bit verschoben
und das erste und das vierte Bit werd α ausgegeben und das oberste Bit wird aus dem Eingang geladen. Die
C-Befehlsbits werden ausgegeben. Wenn das N-Befehlsbit
eine Null ist, dann wird t ,.>r Prozess viermal
wiederholt.
A(I)1 j·* OUTPiJT ; X1-^OUT
Zeit: 1 oder 4 Taktimpulse
Code: 0 110 C C 1
Code: 0 110 C C 1
V_. Speicher-Befehle
RED Der Inhalt der Speicher A und B (adressiert durch das Aneinanderreihen des N-Registers und der A-Befehlsbits)
wird als Speicherartresse ausgegeben. Der Inhalt des Α-Speichers (adressiert durch das I-Register)
wird mit den Eingangs-Speicherdaten aus dem rAM geladen. Wenn die A-Bits 11 sind, dann werden die
obersten 8 Adressenbits sämtlich durch Einsen ersetzt.
, A /n,Xl^ —HP· A(I)
Zeit: 3 Taktimpulse
Code: 0 0 0 0 1 A A 1
Code: 0 0 0 0 1 A A 1
609823/061 7 ORIGINAL INSPECTED
254Ü97S
WRT Der Inhalt eier Speicher A und B (adressiert durch
das Aneinanderreihen des "!-Registers und der A-Befehlsbits) wird als Speicheradresse ausgegeben.
Der Inhalt des Α-Speichers (adressiert durch das I-Register) wird als Ausgangsspeicher Daten zum KAM ausgegeben.
Wenn die A-Bits 11 lauten, werden die obersten 8 Adressenbits sämtlich durch Einsen ersetzt.
A(I)-^ DATA |5(N,X ) , A(N,XL)]
Zeit: 3 Taktimpu se
Code: 00001AAO
Code: 00001AAO
TRN Der Inhalt des Α-Speichers (adressiert durch das I-Register) und des des B-Speichers (adressiert durch
das Aneinanderreihen des N-Registers und 0, 0, 1 Bits, werden als Speicheradresse ausgegeben, der Inhalt
des Α-Speichers (adressiert durch das I-Register) wird
mit dem Eingangsspeicher Daten aus dem ROM geladen.
DATA
Zeit: 3 Taktimpulse
Code: 0 10 10 0 1 1
JUP Der Inhalt des PR (Seiten-)Registers und das nächste
ROM-Byte werden in das PC (Programm-Zähler-)Register
geladen.
Zeit: 2 Taktimpulse
Code: 0 1 0 1 0 C 0 0
Code: 0 1 0 1 0 C 0 0
JUK Wenn K gleich Eins ist, dann tue das gleiche wie bei JUP.
Zeit: 2 Taktimpulse
Code: 0 10 10 0 0 1
Code: 0 10 10 0 0 1
JF Wenn die F-Markierung Eine eins ist, dann tue das glei che wie in JUP.
Zeit: 2 Taktimpulse
Code: 0 10 10 0 10
Code: 0 10 10 0 10
608823/0617 original inspected
254ÜJ75
JAR Wenn die AND der A-Befehlrbits und die oberen
4 Bits des Α-Speichers (adressiert durch das I-Register) nicht Null sind, dann tue das gleiche
wie in JUP.
Zeit: 2 Taktimpulse
Code: 0 1 0 0 A Λ Λ Α
JNO Wenn NO Eins ist, dann tue das gleiche wie in JUP.
Zeit: 2 Taktimpulse
Code: 0 1 0 0 0 0 0 0
Code: 0 1 0 0 0 0 0 0
CAL Der Inhalt des PR (Seiten-)Registers und des PC (Programm-Zähler-)Registers plus zwei wird in die
Speicher A und B (adressiert durch das Aneinanderreihen des N-Registers und der A-Befehlsbits) geladen.
Dann tue das gleiche wie unter JUP.
Zeit: 2 Taktimpulse
Code: 000000A 0
Code: 000000A 0
RET Lade das PR (Seiten-)Register und das PC (Programm-Zähler-)
Register mit dem Inhalt des A und des B Speichers (adressiert durch das Aneinanderreihen
des N-Registers und der A-Befehls-Bits). Zeit: 2 Taktimpulse
Code: 0 0 0 0 0 1 A 0
Code: 0 0 0 0 0 1 A 0
LPR Lade das PR (Seiten-)Register mit den P-Befehlsbits.
Wenn der nächste Befehl keinen Sprung ausführt, dann wird das Seitenregister auf seinen Ursprungswert
zurückgestellt.
Zeit: 1 Taktimpuls
Code: 0 0 1 0 P P P P.
ORIGINAL INSPECTED
609823/0617
LDI Lade das I-Register mit N1, NO and Ue I-Befehls-Bits.
Zeit: 1 Taktimpuls
Code: 0 1 0 1 1 0 I I
Code: 0 1 0 1 1 0 I I
CF Das Komplement des Zustands der F-Markierung-Zeit: 1 Taktimpuls
Code: 0 10 10 10 1
Code: 0 10 10 10 1
STR Lade den Α-Speicher (adressiert durch das I-Register) mit dem Inhalt von K (übertrag) , dem N-Register .und
dem I-Register.
Zeit: 1 Taktimpuls
Code: 0 10 10 110
Code: 0 10 10 110
LDN Lade das N-Register mit den N-Befehlsbius.
Zeit: 1 Taktimpuls
Code: 0 1 0 1 1 1 N ;sr
Code: 0 1 0 1 1 1 N ;sr
ADK Wenn der nächste Befehl ein ADD, ADR oder ADC ist,
wird der Inhalt des K (Übertrag-)Registers zu dem Ergebnis
zugezählt. Wenn der nächste Befehl ein LDR, LDA, LCA, XOD, ORD oder AND ist, dann wird der Inhalt des
K (Übertrag-)Registers ein EXCLUSIVE OR mit dem niedrigststelligen Bit sein. Wenn der nächste Befehl
ein INC oder INA ist, dann zählt er nur um eine Einheit weiter, wenn der Übertrag gleich Eins ist. Wenn der
nächste Befehl ein JAR ist, dann wird er die untersten 4 Bits prüfen. Wenn der nächste Befehl irgendetwas
anderes ist, dann wird ADK ignoriert.
Zeit: 1 Taktimpuls
Code: 0 10 10 111
MOD Die unteren 4 Bits des Α-Speichers (adressiert durch das I-Register) werden zu einer ODER-Verbindung mit
den untersten 4 Bits des nächsten Befehls vor seiner Ausführung verknüpft.
609823/0M-7
2 5 4 O 9 7
Zeit: 1 Taktimpuls * ^
Code: 0 1 0 1 0 1 00
Figur 7 zeigt eine Menge von Kurvenzügen zur Erläuterung der zeitlichen Beziehung zwischen den Taktzügen, die
jedem einzelnen Prozessor zugeordnet sind. Jedem Prozessor wird den gemeinsamen Elementen des Systems zu jedem Viertel
der Taktzeit Zugriff gewährt. Wenn ein spezieller Mikro-Befehl mehr als eine Taktzeit oder einen Zyklus benötigt,
dann wird die Vervollständigung dieses Befehls verzögert werden müssen, bis der entsprechende Prozessor erneut Zugriff
zu den gemeinsamen Elementen des Systems erhält.
Beim Starten des Systems gemäß Erfindung setzt die Steuerlogik 40 eine Startadresse in den Programmzähler 36 (siehe
Fig. 2) und in die Seitenregister 37. Die Seitenregister werden auf 0, 1,2 und 3 gesetzt für die Prozessoren 0,1,2
und 3. Die für die Prozessoren geschriebenen Mikroprogramme müssen an diesen Stellen beginnen. Keine anderen Register
werden voreingestellt, so daß es für den Programmierer notwendig ist, das N-Register 44, das I-Register 43, und
andere notwendigen Register anzustoßen. Da der Wert in Register 44 als Teil des Wertes für das I-Register 43 verwendet
wird, muß das N-Register zuerst angeschlossen werden.
EPILOG
Wie vorstehend beschrieben, stellt sich die Erfindung als Multiprozessor-Einheit dar,die auf einem einzigen MOS-IC-Chip
untergebracht ist. Dazu verwendet die Erfindung mehrere verschiedene Registergruppen (wobei jede Gruppe
einen anderen Prozessor repräsentiert) und gemeinsame Elemente, die den verschiedenen Registergruppen auf Zeit-Mulitplex-Basis
gemeinsam zur Verfügung stehen.
Die gemeinsamen Elemente umfassen zwei schnelle Hilfsspeicher
(scratch pad memories, Zwischenspeicher) und eine arithmetische
609823/0617 original inspected
2540375
Logikeinheit, wie auch eine Steuereinheit. Die Steuereinheit kann ein zusammengesetzter Lesespeicher in der
Form eines Matrix-Dekodierers sein, oder sie kann ein konventioneller Lesespeicher sein, bei welchem die Steuersignale
gespeichert sind und die Datenübertragung und arithmetischen Operationen auslösen. Somit benutzt die
Erfindung die horizontale Mikroprogrammierung, um einen gewöhnlich gebrauchten Ausdruck zu verwenden. Außerdem
ist die Steuereinheit einem Dekodierer für kodierte Mikrobefehle ähnlich, die aus einem Lesespeicher außerhalb
der erfindungsgemäßen Einheit gewonnen werden. In diesem Sinne ist die Erfindung geeignet, in Kombination
mit einer vertikalen und einer horizontalen Mikroprogrammierung verwendet zu werden, und zwar in dem
Sinne, wie-diese Ausdrücke üblicherweise definiert sind.
Die acht z.b.V.-Register, die jedem Mikroprozessor zugeteilt sind, bestehen aus 4-Bit-Schieberegistern,
so daß eine vierfache Zeitaufteilung unter den Prozessoren
ermöglicht wird. Auf diese Weise kann die erfindungsgemäße
Einheit unabhängig gleichlaufende Prozesse bearbeiten.
Einer der Vorteile, der mit den vier gleichlaufenden Mikroprozessoren
auf einem einzigen MOS-IC-Chip erreichbar ist, besteht darin, daß diese Prozessoren untereinander freie
Kommunikation auf drei verschiedenen Ebenen pflegen können: Durch die eingebaute Schaltung, durch die lokalen Hilfsspeicher
(scratch pad memories) sowie durch den Hauptspeicher. Weiter können die Mikroprogramme, die die verschiedenen
Prozessoren treiben, von sämtlichen Prozessoren gemeinsam benutzt werden.
Die Erfindung ist natürlich nicht auf Einzelheiten der beschriebenen Ausführungsformen beschränkt. Insgesamt
wurde also eine Multimikroprozessor-Einheit beschrieben, die auf einem einzigen MOS-IC-Chip realisiert werden kann
und mehrere Registergruppen umfaßt, wobei jede Register-
6 0982 3/0617 original inspected
gruppe einen eigenen Prozessor repräsentiert. Die Einheit weist ferner gemeinsame Elemente auf, die
von den verschiedenen Registergruppen auf Zeitmiltiplexer-Basis gemeinsam benutzt werden. Die gemeinsamen Elemente
umfassen zwei schnelle Hilfsspeicher, einen arithmetische
Logikeinheit, und eine Steuereinheit, die einen zusammengesetzten
Lesespeicher umfaßt, aus welchem Steuersignale zum Einleiten von Datentransfers und arithmetischen Operationen
geholt werden. Dieser Steuerspeicher wird als Dekodierer für verschlüsselte Mikrobefehle, die von außerhalb
bezüglich der Multiprozessor-Einheit geholt werden. In diesem Sinn arbeitet die vorliegende Erfindung sowohl
mit vertikaler wie auch mit horizontaler Mikroprogrammxerung gemäß üblicher Definition dieser Ausdrücke. Die verschiedenen
Gruppen zugewiesener Register werden aus 4-Bit-Schieberegistern gebildet, so daß sich eine vierfache
Zeitaufteilung unter den Prozessoren ermöglichen läßt.
609823/0617
Claims (18)
- A η s ρ r ü c h eγ. Einrichtung zur Bearbeitung von Daten, dadurch gekennzeichnet, daß mehrere Registergruppen vorgesehen sind, in denen Gruppen von Steuerdaten einschließlich Adressen und Befehlen, vorübergehend gespeichert werden können, wobei jede Gruppe von Steuerdaten einen anderen Prozess steuert.
- 2. Einrichtung nach Anspruch 1, gekennzeichnet durch mehrere zweite Register, in denen Daten vorübergehend gespeichert werden können; durch eine mit jeder Registergruppe verbundene Steuereinheit sowie durch eine ein Zeitmaß gebende Einrichtung, die mit den Registergruppen und mit der Steuereinheit gekoppelt ist, derart, daß nacheinander jede Gruppe von Steuerdaten für die Übertragung zu der Steuereinheit und den zweiten Registern übertragen werden kann.
- 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß einige Register zur sequentiellen übertragung der Steuerdatengruppen durch sie hindurch miteinander verbunden sind.
- 4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die miteinander verbundenen Register mehrere parallel geschaltete sequentielle Schieberegister sind.
- 5. Einrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, laß eine Logikeinheit mit wenigstens einem Register aus den Registergruppen verbunden ist; daß eine Steuereinheit mit der Logikeinheit zu deren Aktivierung bei Entschlüsseln eines Befehls verbunden ist;609823/06-HfaJ,und daß eine Adressiereinrichtung an die Register und die Logikeinheit derart angeschlossen ist, daß nacheinander jede Datengruppe zur übertragung zur Logikeinheit bestimmt werden kann.
- 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Steuereinheit einen Steuerspeicher zum Steuern von Steuersignalen in der Form horizontaler Mikrobefehle umfaßt.
- 7. Einrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der Steuerspeicher ein Lesespeicher ist.
- 8. Einrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der Steuerspeieher eine Halbleitermatrix ist.
- 9. Einrichtung nach einem der Ansprüche 6-8, dadurch gekennzeichnet, daß ein zweiter Speicher an den Steuerspeicher angeschlossen ist und daß der zweite Speicher vertikale Mikrobefehle zum Adressieren des Steuerspeichers speichert.
- 10. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß ein dritter Speicher an die Register angeschlossen ist und die zu bearbeitenden Daten speichert.
- 11. Einrichtung nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, daß der zweite Speicher ein Lesespeicher und der dritte Speicher ein Random-Access-Speicher ist.
- 12.Einrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die Registergruppen eine mit wenigstens einem der Register verbundene Logikeinheit sowie die Jiiit den Registern und der Logikeinheit verbundene Adressiereinrichtung auf einem Halbleiter-Chip untergebracht sind.609823/0617
- 13. Einrichtung nach Anspruch 12, dadurch gekennzeichnet, daß auf dem Halbleiter-Chip ferner ein Steuerspeicher untergebracht ist, der mit der Logikeinheit über den Registern verbunden ist und Steuersignale in Form horizontaler Mikrobefehle speichert.
- 14. Einrichtung nach einem der Ansprüche 12 oder 13, dadurch gekennzeichnet, daß der Halbleiter-Chip in MOS-Technik ausgeführt ist.
- 15. Einrichtung nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, daß die Register unipolare Feldeffekt-Transistoren sind.
- 16. Verfahren zur Bearbeitung von Daten in mehreren Registergruppen sowie mehreren zweiten Registern, einer Logikeinheit und einer Steuereinheit, dadurch gekennzeichnet, daß Gruppen von Steuerdaten einschließlich Adressenbefehle in den Registergruppen gespeichert werden, wobei jede Steuerdatengruppe einen anderen Prozess steuert; daß Datengruppen in dem zweiten Registern gespeichert werden; daß nacheinander eine Gruppe von Steuerdaten zurübertragung zur Steuereinheit und zu den Registergruppen bestimmt werden; und daß nacheinander Datengruppen zur übertragung von den zweiten Registern zur Logikeinheit bestimmt werden.
- 17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß jede Steuerdatengruppe von einem Register nacheinander zu einem anderen Register vor der Übertragung zur Steuereinheit weitergeleitet wird.
- 18. Verfahren nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß die Weiterleitung von einem Register zu anderen ein Verschieben einzelner Bits jeder Datengruppe aus seiner Bitstellung in einem Register in eine entsprechende Bitstellung in einem anderen Register umfaßt.609823/0617Le.e rs e i te
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/527,358 US3980992A (en) | 1974-11-26 | 1974-11-26 | Multi-microprocessing unit on a single semiconductor chip |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2540975A1 true DE2540975A1 (de) | 1976-08-12 |
DE2540975C2 DE2540975C2 (de) | 1985-09-12 |
Family
ID=24101148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2540975A Expired DE2540975C2 (de) | 1974-11-26 | 1975-09-13 | Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse |
Country Status (7)
Country | Link |
---|---|
US (1) | US3980992A (de) |
JP (1) | JPS5858705B2 (de) |
BE (1) | BE834070A (de) |
CA (1) | CA1045247A (de) |
DE (1) | DE2540975C2 (de) |
FR (1) | FR2293009A1 (de) |
GB (1) | GB1498145A (de) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371923A (en) * | 1970-12-28 | 1983-02-01 | Hyatt Gilbert P | Computer system architecture |
US4296930A (en) * | 1975-11-26 | 1981-10-27 | Bally Manufacturing Corporation | TV Game apparatus |
US4093982A (en) * | 1976-05-03 | 1978-06-06 | International Business Machines Corporation | Microprocessor system |
US4104720A (en) * | 1976-11-29 | 1978-08-01 | Data General Corporation | CPU/Parallel processor interface with microcode extension |
US4079455A (en) * | 1976-12-13 | 1978-03-14 | Rca Corporation | Microprocessor architecture |
US4174536A (en) * | 1977-01-21 | 1979-11-13 | Massachusetts Institute Of Technology | Digital communications controller with firmware control |
JPS53132245A (en) * | 1977-04-25 | 1978-11-17 | Hitachi Ltd | Subminiature computer |
US4199811A (en) * | 1977-09-02 | 1980-04-22 | Sperry Corporation | Microprogrammable computer utilizing concurrently operating processors |
US4475172A (en) * | 1978-05-30 | 1984-10-02 | Bally Manufacturing Corporation | Audio/visual home computer and game apparatus |
US4197579A (en) * | 1978-06-06 | 1980-04-08 | Xebec Systems Incorporated | Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner |
US4218741A (en) * | 1978-06-23 | 1980-08-19 | International Business Machines Corporation | Paging mechanism |
US4446533A (en) * | 1978-09-07 | 1984-05-01 | National Research Development Corporation | Stored program digital data processor |
US4244028A (en) * | 1979-03-08 | 1981-01-06 | National Semiconductor Corporation | Digital microprocessor having a time-shared adder |
US4471456A (en) * | 1980-04-14 | 1984-09-11 | Sperry Corporation | Multifunction network |
US4383296A (en) * | 1980-05-16 | 1983-05-10 | Apple Computer, Inc. | Computer with a memory system for remapping a memory having two memory output buses for high resolution display with scrolling of the displayed characters |
GB2077010B (en) * | 1980-06-02 | 1984-10-31 | Hitachi Ltd | Microprogramme control method and apparatus therefor |
JPS57753A (en) * | 1980-06-02 | 1982-01-05 | Hitachi Ltd | Microprogram controller |
US4446514A (en) * | 1980-12-17 | 1984-05-01 | Texas Instruments Incorporated | Multiple register digital processor system with shared and independent input and output interface |
DE3176869D1 (en) * | 1980-12-15 | 1988-10-13 | Texas Instruments Inc | Multiple digital processor system |
EP0077328A4 (de) * | 1981-04-27 | 1985-06-26 | Textron Inc | Vielfachleitung für mehrere hauptprozessoren. |
US4450525A (en) * | 1981-12-07 | 1984-05-22 | Ibm Corporation | Control unit for a functional processor |
JPS58207152A (ja) * | 1982-05-28 | 1983-12-02 | Nec Corp | パイプライン演算装置テスト方式 |
US6414368B1 (en) | 1982-11-26 | 2002-07-02 | Stmicroelectronics Limited | Microcomputer with high density RAM on single chip |
US5243698A (en) * | 1982-11-26 | 1993-09-07 | Inmos Limited | Microcomputer |
US4680698A (en) * | 1982-11-26 | 1987-07-14 | Inmos Limited | High density ROM in separate isolation well on single with chip |
JPS59223875A (ja) * | 1983-06-01 | 1984-12-15 | Nec Corp | 衛星搭載用デ−タ・ハンドリング・システム |
US4766533A (en) * | 1984-03-09 | 1988-08-23 | The United States Of America As Represented By The United States National Aeronautics And Space Administration | Nanosequencer digital logic controller |
US4761755A (en) * | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
JPS61110256A (ja) * | 1984-11-02 | 1986-05-28 | Hitachi Ltd | 複数の演算部を有するプロセツサ |
CA1253912A (en) * | 1984-11-08 | 1989-05-09 | Masao Hosaka | System for controlling image formation |
AU588865B2 (en) * | 1985-04-11 | 1989-09-28 | Honeywell Information Systems Inc. | Multiprocessors on a single semiconductor chip |
JPS61264470A (ja) * | 1985-05-03 | 1986-11-22 | アドバンスト・マイクロ・デイバイシズ・インコ−ポレ−テツド | モノリシツク集積回路装置 |
JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
JPS62295168A (ja) * | 1986-06-13 | 1987-12-22 | Canon Inc | 機器制御装置 |
US4829422A (en) * | 1987-04-02 | 1989-05-09 | Stellar Computer, Inc. | Control of multiple processors executing in parallel regions |
US5142677A (en) * | 1989-05-04 | 1992-08-25 | Texas Instruments Incorporated | Context switching devices, systems and methods |
US4939638A (en) * | 1988-02-23 | 1990-07-03 | Stellar Computer Inc. | Time sliced vector processing |
US5499376A (en) * | 1993-12-06 | 1996-03-12 | Cpu Technology, Inc. | High speed mask and logical combination operations for parallel processor units |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5974498A (en) * | 1996-09-24 | 1999-10-26 | Texas Instruments Incorporated | Loading page register with page value in branch instruction for as fast access to memory extension as in-page access |
US6150836A (en) * | 1997-06-13 | 2000-11-21 | Malleable Technologies, Inc. | Multilevel logic field programmable device |
US6006321A (en) | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6567839B1 (en) | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
DE19910451C2 (de) * | 1998-05-02 | 2003-08-14 | Ibm | Multiprozessor |
US6577316B2 (en) | 1998-07-17 | 2003-06-10 | 3Dlabs, Inc., Ltd | Wide instruction word graphics processor |
US6438569B1 (en) | 1999-09-20 | 2002-08-20 | Pmc-Sierra, Inc. | Sums of production datapath |
US20060161755A1 (en) * | 2005-01-20 | 2006-07-20 | Toshiba America Electronic Components | Systems and methods for evaluation and re-allocation of local memory space |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1449568A1 (de) * | 1962-07-03 | 1969-03-27 | Sperry Rand Corp | Datenverarbeitungssystem |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1215216A (en) * | 1968-05-17 | 1970-12-09 | Venner Ltd | Improvements relating to integrated circuit chips |
US3641511A (en) * | 1970-02-06 | 1972-02-08 | Westinghouse Electric Corp | Complementary mosfet integrated circuit memory |
US3758761A (en) * | 1971-08-17 | 1973-09-11 | Texas Instruments Inc | Self-interconnecting/self-repairable electronic systems on a slice |
US3757306A (en) * | 1971-08-31 | 1973-09-04 | Texas Instruments Inc | Computing systems cpu |
US3786436A (en) * | 1973-03-14 | 1974-01-15 | Gte Automatic Electric Lab Inc | Memory expansion arrangement in a central processor |
-
1974
- 1974-11-26 US US05/527,358 patent/US3980992A/en not_active Expired - Lifetime
-
1975
- 1975-08-20 FR FR7525780A patent/FR2293009A1/fr active Granted
- 1975-09-09 CA CA235,105A patent/CA1045247A/en not_active Expired
- 1975-09-11 GB GB37353/75A patent/GB1498145A/en not_active Expired
- 1975-09-13 DE DE2540975A patent/DE2540975C2/de not_active Expired
- 1975-09-30 JP JP50119333A patent/JPS5858705B2/ja not_active Expired
- 1975-10-01 BE BE160586A patent/BE834070A/xx not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1449568A1 (de) * | 1962-07-03 | 1969-03-27 | Sperry Rand Corp | Datenverarbeitungssystem |
Non-Patent Citations (1)
Title |
---|
IEEE Transactions on Computers, Vol. C-22, No. 2, Feb. 1973, S. 143-153 * |
Also Published As
Publication number | Publication date |
---|---|
US3980992A (en) | 1976-09-14 |
CA1045247A (en) | 1978-12-26 |
FR2293009A1 (fr) | 1976-06-25 |
GB1498145A (en) | 1978-01-18 |
JPS5858705B2 (ja) | 1983-12-27 |
DE2540975C2 (de) | 1985-09-12 |
JPS5162953A (de) | 1976-05-31 |
FR2293009B1 (de) | 1980-07-18 |
BE834070A (fr) | 1976-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2540975A1 (de) | Multi-mikro-prozessor-einheit | |
DE3853613T2 (de) | Mikrorechner mit flexiblen anwendungsspezifischen integrierten Schaltungen. | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2113890C2 (de) | Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen | |
DE3688824T2 (de) | Datenverarbeitungssystem. | |
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2748991A1 (de) | Einrichtung zur umsetzung von datenformaten | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
CH620779A5 (de) | ||
DE2505384A1 (de) | Steuerteil fuer eine elektronische datenverarbeitungsanlage | |
DE2115431A1 (de) | Universalmodul zum Verbinden von Einheiten in Patenverarbeitungsanlagen | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE2452214A1 (de) | Mikroprozessor mit unmittelbarer und indirekter adressierung | |
DE3689006T2 (de) | Mikroprogrammsteuersystem. | |
DE3856139T2 (de) | Mikroprozessor | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2548720C2 (de) | Mikroprogramm-Steuerwerk | |
DE2951040C2 (de) | ||
DE1806535B2 (de) | Seriell arbeitende digitale rechenanlage | |
DE68926597T2 (de) | Mikrorechner | |
DE2948442C2 (de) | Digitalrechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. |
|
8125 | Change of the main classification |
Ipc: G06F 9/46 |
|
8126 | Change of the secondary classification |
Ipc: G06F 15/16 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: SAMSUNG ELECTRONICS CO., LTD., SEOUL/SOUL, KR |
|
8328 | Change in the person/name/address of the agent |
Free format text: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. RABUS, W., DR.-ING. BRUEGGE, J., DIPL.-ING. KLINGHARDT, J., DIPL.-ING., PAT.-ANWAELTE, 2800 BREMEN |