-
-
Prozessoreinheit eines Rechners
-
Die Erfindung bezieht sich auf eine Prozessoreinheit eines Rechners,
die zur Ausführung von nicht zum eigenen Befehlsvorrat gehörenden Befehlen geeignet
ist und bei der jeder Befehl in einer Folge von Einzelschritten ausgeführt wird.
-
Die für einen bestimmten Rechner entwickelten Programme können auf
einem anderen Rechner nur dann laufen, wenn die beiden Rechner hinsichtlich ihrer
Befehle kompatibel sind.
-
Ist dies nicht der Fall, dann müssen z.B. Emulatoren zur Hilfe genommen
werden. Ein solcher Emulator gestattet es, auf einem Rechner Programme eines anderen
Rechnertyps auszuführen. Dabei ahmt der eingesetzte Rechner alle Eigenschaften des
anderen nach.
-
Technisch ist die Emulation einfach zu verwirklichen, wenn der zur
Emulation verwendete Rechner mit Mikrobefehlen, die über einen Festspeicher aufgerufen
werden, arbeitet.
-
Durch Erweiterung oder Abänderung dieses Festspeichers lassen sich
Kombinationen von Mikrobefehlen vorsehen, die in ihrer Ausführung den Befehlen des
zu emulierenden Programms entsprechen (Lexikon der Datenverarbeitung, 8 Auflage
1982, Verlag Moderne Industrie, München Stichwort Emulator).
-
Bisher wurden für die Emulation von Befehlen vorwiegend diskret aufgebaute
Schaltungen verwendet. Diese Lösung ist aufwendig. Eine andere Möglichkeit besteht
darin, hochintegrierte, kundenspezifische Bausteine zu entwickeln. Wegen der relativ
niedrigen Stückzahlen, die von diesen Bausteinen gefertigt werden, sind diese verhältnismäßig
teuer.
-
Außerdem mußten für jede neue Technologie Bausteine neu entwicklet
werden.
-
Die der Erfindung zugrundeliegende Aufgabe besteht darin, eine Prozessoreinheit
eines Rechners anzugeben, bei der handelsübliche Mikroprozessorbausteine verwendet
werden und die trotzdem nicht zu deren Befehlsvorrat gehörende Befehle ausführen
kann. Diese Aufgabe wird bei einer Prozessoreinheit der eingangs angegebenen Art
dadurch gelöst, daß mindestens zwei bipolare Mikroprozessoren vorgesehen sind, die
parallel zueinander betreibbar sind, daß den Mikroprozessoren ein gemeinsamer Mikroprogrammspeicher
zugeordnet ist, und daß in dem Mikroprogrammspeicher den Befehlen zugeordnete Mikroprogramme
aus Mikroprogrammworten abgespeichert sind, wobei die Mikroprogrammworte Mikrobefehle
enthalten, die die einzelnen Schritte bei der Ausführung eines Befehls den Mikroprozessoren
entsprechend deren Funktionsumfang zuordnen.
-
Die Mikroprozessoren können taktsynchron arbeiten. Die Mikrobefehle
für die Mikroprozessoren stehen in Mikroprogrammworten im Mikroprogrammspeicher.
Damit ergibt sich eine starre Kopplung zwischen den Mikroprozessoren, wodurch der
sonst notwendige Synchronisationsaufwand vermieden wird.
-
Zugriffskonflikte an einem gemeinsamen Speicher, z.B. Arbeitsspeicher
oder Zwischenspeicher,treten während der Bearbeitung nicht auf, da die Zugriffsrechte
bereits durch die Mikroprogrammierung festgelegt werden.
-
Die Mikroprozessoren können derart aufgebaut sein, daß der eine Datenworte
größerer Breite verarbeiten kann als der andere. Beispielsweise kann der erste Mikroprozessor
Datenworte von 32 bit Breite, der zweite Mikroprozessor Datenworte von 16 bit Breite
verarbeiten. Damit ergibt sich ein unterschiedlicher Funktionsumfang dieser Mikroprozessoren.
Bei der Ausführung eines Befehls, die schrittweise erfolgt, werden den beiden Mikroprozessoren
jeweils die Schritte zugeordnet, die sie entsprechend ihrem Funktions-
umfang
ausführen können, d.h. wenn in einem Schritt ein Datenwort von z.B. 32 bit Breite
verarbeitet werden muß, wird der erste Mikroprozessor dies tun, wenn dagegen in
einem Schritt nur ein Datenwort von 16 bit Breite oder weniger zu verarbeiten ist,
kann dies mit Hilfe des zweiten Mikroprozessors durchgeführt werden. Die einzelnen
Schritte werden also nach funktionellen Gesichtspunkten auf die beiden Mikroprozessoren
verteilt und weitgehend parallel abgearbeitet.
-
Um die Mikroprozessoren bei der Ausführung der Befehle weiter zu entlasten,
können zusätzliche Baueinheiten vorgesehen werden, die parallel zu den Mikroprozessoren
einzelne Schritte ausführen. So sind z.B. Vergleichsschaltungen vorgesehen, deren
Aufgabe darin besteht, bei der Bearbeitung von Operanden in dezimaler Darstellung,
die in den Mikroprozessoren erfolgt, Operanden mit falsch codierter Dezimalziffer
und ~ ein falsches Vorzeichen festzustellen. Damit entfällt eine sonst notwendige
und zeitaufwendige Überprüfung der Operanden in einem der Prozessoren.
-
Andere Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Anhand eines Ausführungsbeispiels, das in den Figuren dargestellt
ist, wird die Erfindung weiter erläutert.
-
Es zeigen Fig. 1 ein Blockschaltbild des Rechners, Fig. 2 ein Blockschaltbild
der Prozessoreinheit, Fig. 3 bis 8 die Realisierungen des einzelnen Blöcke des Blockschaltbildes
nach Fig. 2, Fig. 9 ein Ablaufdiagramm, in dem der Befehl1 Laden Wort' in einzelnen
Schritten dargestellt ist.
-
In Fig. 1 ist die Prozessoreinheit mit PE bezeichnet, die an einem
Systembus SB angeschlossen ist. An dem Systembus SB können weitere Einheiten, z.B.
ein Arbeitsspeicher ASP und ein oder mehrere Ein-Ausgabeeinheiten EOP angeschlossen
werden.
-
Die Prozessoreinheit PE besteht aus einem ersten bipolaren Mikroprozessor
Pl, einem zweiten bipolaren Mikroprozessor P2, einem Mikroprogrammspeicher MPS,
einem Sequencer SE und einem Zwischenspeicher SCP.
-
Im Ausführungsbeispiel enthält die Prozessoreinheit PE nur zwei bipolare
Mikroprozessoren. Es ist jedoch möglich, mehr als zwei Mikroprozessoren zu verwenden,
die dann alle an einem Mikroprogrammspeicher MPS angeschlossen sind.
-
Aus Fig. 2 ergibt sich der genauere Aufbau der Prozessoreinheit. Der
erste Mikroprozessor P1 ist mit einem ersten Bus Y32 verbunden, an dem auch ein
Register REG angeschlossen ist. Dieses Register REG ist weiterhin mit einem Datenbus
DB verbunden, der zum Systembus SB führt und von dort z.B. zum Arbeitsspeicher ASP.
-
Der erste Bus Y32 ist weiterhin mit einem Multiplexer MUX verbunden,
von dem ein zweiter Bus Y16 zum zweiten Mikroprozessor P2 führt. Der erste Bus Y32
ist weiterhin an eine erste Vergleichsschaltung VGL1 angeschlossen, an einen konstanten
Speicher K02 und einen Zuordnungsspeicher MAP.
-
Der zweite Bus Y16 ist weiterhin mit einer zweiten Vergleichsschaltung
VGL2 und einem Decoder DEC2 verbunden.
-
Die Mikroprozessoren P1 und P2 sind an einen Mikroprogrammspeicher
MPS angeschlossen, der mit Hilfe eines SequencersSE adressiert wird. Der Mikroprogrammspeicher
MPS
enthält die Mikroprogramme, die den einzelnen auszuführenden
Befehlen zugeordnet sind. Die einzelnen Mikroprogrammworte dieser Mikroprogramme
enthalten die Mikrobefehle, durch die die beiden Mikroprozessoren P1 und P2 gesteuert
werden. Mit dem Mikroprogrammspeicher MPS ist weiterhin ein Konstantenspeicher KOl
verbunden, der seinerseits an den ersten Mikroprozessor P1 angeschlossen ist.
-
Weiterhin ist der Mikroprogrammspeicher MPS mit einer Treiberschaltung
TR verbunden, die an einen Adressenbus AB angeschlossen ist. An dem Adressenbus
AB liegen weiterhin der zweite Decoder DEC 2 und ein erster Decoder DEC1, der mit
dem ersten Mikroprozessor P1 verbunden ist.
-
Der Datenbus DB und der Adressbus AB sind mit einem Zwischenspeicher
SCP verbunden und weiterhin mit dem Systembus SB. Zur Synchronisation des Arbeitsablaufs
ist eine Taktschaltung TK vorgesehen, von der Taktimpulse CP an die einzelnen Baueinheiten
geliefert werden.
-
Im Ausführungsbeispiel kann der erste Mikroprozessor Pl Datenworte
von 32 bit Breite verarbeiten, entsprechend breit ist auch der erste Bus Y32. Der
zweite Mikroprozessor P2 kann dagegen nur Datenworte mit 16 bit Breite verarbeiten,
entsprechend breit ist auch der zweite Bus Y16. Der zweite Mikroprozessor kann z.B.
als Single Chip Mikroprozessor ausgeführt sein, während der erste Mikroprozessor
Pl aus vier jeweils 4 bit breiten Mikroprozessor-Slices besteht. Als Mikroprozessor-Slices
für den Mikroprozessor P1 kann z.B. ein AM 29203 von Advanced Mikro Devices verwendet
werden, als Mikroprozessor P2 ein AM 29116 von Advanced Mikro Devices benutzt werden.
-
Das Zusammenwirken der einzelnen Baueinheiten der Prozessoreinheit
PE wird in Verbindung mit der Ausführung eines Befehles, der nicht zum Befehlsvorrat
der Mikro-
prozessoren P1 und P2 gehört, erläutert. Dieser Befehl
soll z.B. 1laden Wort' sein. Mit diesem Befehl wird ein Operand aus dem Arbeitsspeicher
ASP in den Zwischenspeicher SCP geladen. Aus Fig. 9 ergibt sich der Aufbau dieses
Befehls. Er hat 32 bit Breite und und besteht aus einem 0P Operationsoode, und Bestandteilen
R1, X2, B2, D2. Aus dem Bestandteil R1 wird die Adresse im Zwischenspeicher SCP
berechnet, an dem der-Operand abgespeichert wird. Aus den Bestandteilen X2, B2 und
D2 wird die Adresse des Operanden im Arbeitsspeicher ASP berechnet.
-
Wenn der Befehl 1Laden Wort' ausgeführt werden soll, muß nach Fig.
9 in einem ersten Schritt S1 überprüft werden, ob interrupt flags im Zwischenspeicher
SCP besetzt sind. Ist dies der Fall, dann liegt eine Unterbrechnung vor, die bearbeitet
werden muß. Dies geschieht im Schritt S2. Ist dies dagegen nicht der Fall, kann
in einem Schritt S3 die Befehlsadresse des im Arbeitsspeicher ASP stehenden Befehls
überprüft werden. Z.B. ist es möglich, festzustellen, ob die Befehlsadresse auf
Halbwortadresse liegt. Ist dies nicht der Fall, dann liegt ein Fehler vor und eine
Fehlerbehandlungsroutine wird eingeleit.(Schritt S12) Steht dagegen die Befehlsadresse
auf Halbwortadresse im Arbeitsspeicher dann wird im nächsten Schritt S4 der Befehl
geholt und im Schritt S5 dessen Operationscode OP decodiert. Im nächsten Schritt
S6 wird der Adresszähler mit der Adresse des nächst auszuführenden Befehls im Arbeitsspeicher
ASP geladen und z.B.
-
die Länge des Befehlswortes angegeben. Im Schritt S7 wird die Operandenadresse,
unter der der Operand im Arbeitsspeicher ASP abgespeichert ist, berechnet. Im Schritt
S8 wird überprüft, ob die Adresse des Operanden im Arbeitsspeicher ASP auf Wortgrenze
liegt, und wenn dies der Fall ist, im Schritt S9 der Operand aus dem Arbeitsspeicher
ASP geholt. Im Schritt S10 wird die Adresse des Zwischenspeichers SCP festgelegt,
unter der der Operand im Zwischenspeicher
SCP abzuspeichern ist.
Im Schritt S11 wird dann der Operand in den Zwischenspeicher SCP eingespeichert.
-
Damit ist die Ausführung des Befehls'Laden Wort#eendet.
-
Im folgenden wird ge>schildert,wie die einzelnen Schritte bei
der Ausführung des Befehls 1Laden Wort' in der Prozessoreinheit nach Fig. 2 ausgeführt
werden. Die Ausführung eines Befehls unterteilt sich dabei in zwei Abschnitte, die
Befehlsvorbereitung und die Befehlsdurchführung. Bei der Befehlsvorbereitung erzeugt
der Sequencer SE zunächst die Adresse des ersten Mikroprogrammwortes im Mikroprogrammspeicher
MPS, durch das den Mikroprozessoren P1 und P2 die zur Befehlsvorbereitung erforderlichen
Mikrobefehle zugeführt werden. Dabei ist das Mikroprogrammwort derart aufgebaut,
daß der Mikroprozessor P2 aus den Zwischenspeicher SCP ein 16 bit breites Datenwort
in seinen internen Akkumulator lädt. Die Adresse dieses Datenwortes wird durch das
Mikroprogramm festgelegt. Der Mikroprogrammspeicher MPS gibt über die Treiberschaltung
TR, den Adressbus AB die Adresse an das Zwischenregister SCP. Von dort wird das
Datenwort über den Datenbus DB dem Register REG zugeführt und gelangt dort über
den ersten Bus Y32, den Multiplexer MUX, den Y16 Bus zum Mikropro#essor P2. Der
Mikroprozessor P2 kann nun das Datenwort überprüfen, das die interrupt flagienthält.
Somit wär der erste Schritt S1 nach Fig. 9 vom Mikroprozessor P2 ausgeführt.
-
Während der Mikroprozessor P2 das Datenwort daraufhin überprüft, ob
interrupt flss gesetzt sind, legt der Mikroprozessor P1 die Adresse des nächsten
auszuführenden Befehls über den Decoder DEC1, den Adressbus AB an den Arbeitsspeicher
ASP. Der gelesene Befehl wird vom Arbeitsspeicher ASP in das Register REG übertragen.
Während dessen testet der Mikroprozessor P2, ob in dem Datenwort interrupt flts
gesetzt sind oder nicht. Ist ein interrupt flag gesetzt, wird in die Unterbrechungsroutine
des Mikro-
programms verzweigt.
-
Anschließend liest der Mikroprozessor P1 aus dem Register REG den
abzuarbeitenden Befehl in sein Befehlsregister ein. Gleichzeitig testet der Mikroprozessor
P2 das niederwertigste Bit der Befehlsadresse des gerade abzuarbeitenden Befehls.
Die niederwertigsten Bits der Befehlsadresse sind im Mikroprozessor P2 gespeichert.
Ist das niederwertigste Bit der Befehlsadresse logisch 1, dann ist die Befehlsadresse
ungerade und fehlerhaft und durch das Mikroprogramm wird in eine Fehlerbehandlungsroutine
verzweigt.
-
Sonst läuft die Ausführung des Befehls normal weiter. Da der Befehl
vom Register REG in den Mikroprozessor P1 übertragen worden ist, wurde der Operationscode
OP des Befehls dem Umwandlungsspeicher MAP zugeführt. Dieser erzeugt aus dem Operationscode
des Befehls eine Adresse für den Sequencer SE, der diesem die Ansteuerung des richtigen
Mikroprogramms im Mikroprogrammspe#icher MPS ermöglicht. Damit ist auch der Schritt
S5 des Ablaufdiagramms ausgeführt.
-
Der Mikroprozessor P1berechnet nunmehr die Adresse des nächsten Befehls.
Dazu erhöherz.B. die Adresse des gerade auszuführenden Befehls um die Länge des
Befehls und übergibt die neue Befehlsadresse an das Register REG über den ersten
Bus Y32. Dabei übernimmt der Mikroprozessor P2 parallel dazu die niederwertigen
16 bit der nächsten Befehlsadresse in seinen internen Speicher.
-
Durch den Mikroprogrammspeicher MPS wird über die Treiberschaltung
TR das Zwischenregister SCR adressiert, um unter dieser Adresse den Inhalt des Registers,
die Adresse des nächsten auszuführenden Befehls,im Zwischenspeicher SCP abspeichern
zu können. Der Mikroprozessor P1 rechnet gleichzeitig die Länge des gerade zu bearbeitenden
Befehls in Halbworten und gibt diese Länge an das Register REG aus.
-
Während der Inhalt des Registers REG, also die Länge des abzuarbeitenden
Befehls in Halbworten,in denZwischenspeicher SCP geschrieben wird, und zwar unter
der Adresse, die der Mikroprogrammspeicher MPS über die Treiberschaltung TR an den
Zwischenspeicher anlegt, entnimmt der Mikroprozessor P1 aus dem 4 bit breiten Befehl
die Registernummer B2 und bietet sie über den ersten BusY32, den Multiplexer MUX
und den zweiten Bus Y16 dem zweiten Mikroprozessor P2 an. Dieser übernimmt diese
Nummer auf den niederwertigen 16 bit in seinen internen Akkumulator.
-
Der Mikroprozessor Pl nimmt aus dem Befehl den Abschnitt D2 und speichert
diesen intern z.B. unter der symbolischen Adresse OPAD ab. Parallel dazu setzt der
zweite Mikroprozessor P2 die Registernummer B2 in die zugehörige Registeradresse
um.
-
Der Mikroprozessor P2 errechnet aus dieser Registeradresse und dem
Prozessorzustand, der im Zwischenspeicher SCP abgespeichert ist, die zugehörige
Adresse des Zwischenspeichers und adressiert diesen über den Decoder DEC und den
Adressbus AB. Der Inhalt des Zwischenspeichers SCP unter dieser Adresse wird in
das Register REG zwischengespeichert.
-
Der erste Mikroprozessor P1 übernimmt den Inhalt des Regilt'er REG
und addiert diesen zu dem Bestandteil D2 und speichert die Summe wiederum intern
ab. Wenn der Mikroprozessor P2 dagegen bei der Überprüfung des Bestandteils B2 des
Befehls festgestellt hätte, daß dieser gleich 0 ist, hätte er die Zwischenschritte
auslassen können und bei Befehlsausführung wäre mit dem ren worden.
-
In diesem entnimmt der Mikroprozessor P1 aus dem Befehl die Registernummer
X2 und bietet sie über den ersten Bus
Y32 den zweiten Mikroprozessor
P2 an. Dieser übernimmt die Nummer auf den höherwertigen 16 bit über den Multiplexer
MUX und den zweiten Bus Y16 in seinen internen Akkumulator. Ist X2 gleich 0, dann
können die nächsten Schritte übersprungen werden. Ist dies dagegen nicht der Fall,
dann setzt der Mikroprozessor P2 die Registernummer X2 in die zugehörige Registeradresse
um. Er errechnet weiterhin aus dieser Registeradresse und dem Prozessorzustand die
zugehörige Adresse im Zwischenspeicher SCP und adressiert diesen über denzweiten
Decoder DEC2. Der Inhalt des Zwischenspeichers SCP unter dieser Adresse wird in
dem Register REG zwischengespeichert.
-
Der erste Mikroprozessor-P1 übernimmt den Inhalt des Register REG
über den ersten Bus Y32 und addiert ihn zur Summe bestehend aus dem Bestandteil
D2 deS Befehls und des dem Bestandteil B2 zugeordneten Inhalts des Zwischenspeioher#C#inzu.
Die Summe wird wiederum im Mikroprozessor P1 intern abgespeichert. War dagegen X2
im Befehl gleich 0, dann sind die vorhergehenden Schritte nicht erforderlich gewesen
und die Prozessoreinheit konnte gleich mit dem nächsten Schritt weitergehen.
-
Der erste Mikroprozessor P1 bietet die mit Hilfe der Bestandteile
D2, B2 und X2 im Befehl errechnete Operandenadresse (entspricht Schritt S7 im Ablaufdiagramm)
über den ersten Bus Y32, den Multiplexer MUX und den zweiten,Bus Y16 dem zweiten
Mikroprozessor P2 an. Dieser übernimmt den niederwertigen Teil in seinen Akkumulator.
Der Mikroprozessor P2 überprüft die Operandenadresse daraufhin, ob sie zulässig
ist, ob also an der Wortgrenze liegt. Liegt die Adresse nicht an der Wortgrenze,
dann wird in eine Fehlerbehandlungsroutine verzweigt.(Schritt S13) Der Mikroprozessor
P2 führt somit Schritt S8 des Ablaufdiagramms durch.
-
Liegt die Adresse des Operanden im Arbeitsspeicher an der Wortgrenze,
dann adressiert der erste Mikroprozessor P1 mit der Operandenadresse über den Decoder
DEC1 den Arbeitsspeicher ASP. Das gelesene Datenwort wird im Register REG zwischengespeichert.
-
Der erste Mikroprozessor P1 entnimmt aus dem 4 byte breiten Befehl
die Registernummer R1 und bietet sie über den ersten Bus Y32 den zweiten Mikroprozessor
P2 an. Dieser übernimmt die Nummer auf den höherwertigen 16 bit über den Multi -plexer
MUX und den zweiten Bus Y16 in seinen internen Akkumulator. Der zweite Mikroprozessor
P2 setzt dann die Registernummer R1 in die zugehörige Registeradresse um und errechnet
aus dieser Registeradresse und dem Pr-ozessorzustand die zugehörige Adresse des
Zwischenspeichers SCP, unter der der Operand abgespeichert werden soll. Der Mikroprozessor
P2 adressiert über den zweiten Decoder DEC 2 den Zwischenspeicher SCP. Der Inhalt
des Registers REG wird dann unter dieser Adresse in den Zwischenspeicher SCP geschrieben.
Die Schritte S10 und S11 des Ablaufdiagramms nach Fig. 9 sind damit ebenfalls ausgeführt.
-
Damit ist das dem abzuarbeitenden Befehl zugeordnete Mikroprogramm
beendet und es kann der nächste Befehl ausgeführt werden. Dieser beginnt wiederum
mit der Befehlsvorbereitung, bei dem die oben geschilderten Schritte identisch wieder
ausgeführt werden. Zunächst wird also überprüft, ob die interrupt flags gesetzt
sind oder nicht, dann die Adresse des zu bearbeitenden Befehls vom Mikroprozessor
P1 an den Arbeitsspeicher ASP gegeben und vom Mikroprozessor P2 die Befehlsadresse
überprüft. Vom Mikroprozessor P1 wird der Befehl geholt und damit dem Sequencer
SE über den Umwandlungsspeicher MAP die Möglichkeit gegeben, das dem Operationscode
des Befehls zugeordnete Mikroprogramm im Mikroprogrammspeicher MPS zu adressieren.
-
Das dann folgende Mikroprogramm ist vom Operationscode des auszuführenden
Befehls abhängig.
-
Somit adressiert bei der Befehlsdurchführung zunächst der Sequencer
SE das entsprechende Mikroprogramm zur Befehlsvorbereitung im Mikroprogrammspeicher
MPS und dann anschließend das durch den Operationscode des auszuführenden Befehls
festgelegte Mikroprogramm im Mikroprogrammspeicher MPS.
-
Die Bearbeitung von Befehlen mit Operanden in dezimaler Darstellung
schließt immer die Überprüfung der Gültigkeit der einzelnen Ziffern und die des
Vorzeichens mit ein. Dazu werden die beiden Vergleichs schaltungen VGL1 und VGL2
verwendet. Die Operanden werden über den ersten Bus Y32 in den ersten Mikroprozessor-
Pl übertragen und sogleich mit den in der Vergleichsschaltung VGL1 gespeicherten
gültigen Ziffern verglichen. Ist eine der Ziffern ungültig, dann wird über die Steuerleitung
von der Vergleichseinrichtung VGL1 zum Sequencer SE dieser veranlaßt, in eine Fehlerbehandlungsroutine
zu verzweigen. Die Vorzeichen werden im zweiten Mikroprozessor P2 verarbeitet. Deren
Gültigkeit wird mit Hilfe der zweiten Vergleichseinrichtung VGL2 überprüft. Auch
diese gibt im Fehlerfall ein Signal an den Sequencer SE, der in eine Fehlerroutine
verzweigt.
-
Im Konstantenspeicher ~ K02, der an den ersten Bus Y32 angeschlossen
ist, können dem erstem Mikroprozessor P1 Konstanten zugeführt werden, die diesen
z.B. ermöglichen, festzustellen, ob ein Überlauf aufgetreten ist oder nicht.
-
Die Ausführung der einzelnen in Fig. 2 dargestellten Blöcke ist in
den Fig. 3 bis 8 gezeigt. Die Fig. 3 zeigt die Realisierung des ersten Mikroprozessors
Pl, der Vergleichseinrichtung VGL1, des ersten und zweiten Konstanten
s,peichers
K01 und K02. Der erste Mikroprozessor P1 ist aus bit slices BSL, z.B. der oben angegebenen
Art, aufgebaut. Weiterhin ist eine Anordnung AN zur Übertragsvorhersage vorgesehen.
Schließlich enthält der Prozessor P1 noch eine Zustandssteuereinheit ZS. Die Anordnungen
zur übertragungsvorhersage können z.B. Bausteine AM 2902, die Zustandssteuereinheit
ZS der Baustein AM 29014 von kdvanced Micro Vevices sein. Auf diese Bausteine sind
auch die Bezeichnungen in der Fig. 3 bezogen.
-
Die Constantenspeicher K01 und K02 bestehen aus PROM-bausteinen, wie
z.B.auA : Bausteinen AM 27319 von Qdvanced Micro Devices. Die Vergleichseinrichtung
VGL1 ist ebenfalls aus PROM-#bausteinen aufgebaut, z.B. aus den Bausteinen IM 5600
von Intersil.
-
Aus Fig. 14 ergibt sich der Aufbau des zweiten Mikroprozessors P2,
der zweiten Vergleichseinrichtung VGL2, des Multiplexers MUX, des Umwandlungsspeichers
MAP und des Registers REG. Dem bereits obengenannten Beispiel eines Bausteins für
den Prozessor P2 ist wiederum eine Zustandssteuereinheit ZS beigefügt. Die zweite
Vergleichseinrichtung VGL2 ist entsprechend der ersten Vergleichseinrichtung VGL1
aufgebaut. Der Multiplexer MUX besteht aus Treiberbausteinen, z.B. dem Baustein
74LS640. Zur Realisierung des Umwandlungsspeichers MAP werden PR°Mbausteine verwendet,
z.B. die Bausteine AM 27S29 von Advanced Micro Devices. Das Register REG besteht
schließlich aus Registerbausteinen, z.B. AM 2950 von Advanced Mikro Devices.
-
Fig. 5 zeigt die Zusammenschaltung des Sequencers SE mit dem Mikroprogrammspeicher
MPS. Der Sequencer SE kann z.B.
-
aus dem Sequencer-Baustein AM 2910, einem Multiplexer AM 2922 und
einem Register-Baustein 7148175 bestehen. Der Mikroprogrammspeicher MPS kann aus
PRO#bausteinen, z.B.
-
AM 27335 aufgebaut sein. Die vom Mikroprogrammspeicher MPS zu den
anderen Baueinheiten führenden Leitungen bzw. die zum Mikroprogrammspeicher MPS
von anderen Baueinheiten führenden Leitungen sind in Fig. 5 dargestellt und mit
den entsprechenden Baueinheiten bezeichnet.
-
Aus Fig. 6 ergibt sich der Aufbau der Treiberschaltung TR.
-
Diese kann aus Treiberbausteinen z.B. 74LS274 aufgebaut sein.
-
Aus Fig. 7 ergibt sich die Realisierung der Decoderschaltungen DEC1
und DEC2. Diese bestehen aus Treiberbausteinen, z.B. 74LS244 und jeweils einem PRO#baustein,
z.B. IM5600.
-
Aus Fig. 8 kann schließlich noch der Aufbau des Zwischenspeichers
SCP entnommen werden. Dieser besteht aus Registerbausteinen, z.B. PD 21149 von NEC
und Treiberbausteinen, z.B. 714LS2144, die mit dem Adressenbus AB verbunden sind
und anderen Treiberbausteinen, z.B. 714LS2145, die mit dem Datenbus DB verbunden
sind. In die Registerbausteine können Daten eingeschrieben bzw. entnommen werden.
Die Speicherstellen,in die Daten eingeschrieben bzw.
-
entnommen werden, werden durch die Adresse festgelegt, die auf dem
Adressenbus AB anliegt. Diese wird über die Treiberbausteine den einzelnen Registerbausteinen
zugeführt. Mit Hilfe eines PROMbausteines, z.B. des Bausteines IM 5603 von Intersil
wird festgelegt, ob Daten in den Zwischenspeicher eingeschrieben werden oder ausgelesen
werden.
-
12 Patentansprüche 9 Figuren
Leerseite