-
-
Verarbeitungseinheit für Befehle, bestehend aus
-
Ausführungseinheit und Zusatzausführungseinheit Die Erfindung bezieht
sich auf eine Ausführungseinheit für Befehle mit einer Zusatzausführungseinheit,
durch die der Befehlsumfang erweiterbar ist.
-
Bei bekannten Ausführungseinheiten der obengenannten Art (IAPX 86/10)
die mit dem Coprozessor 8087 als Zusatzausführungseinheit verbunden sind, muß in
dem Anwenderprogramm auf die Wirkungsweise der einzelnen Einheiten untereinander
besonders Rücksicht genommen werden. Dies bedeutet für den programmierenden Anwender
eine intensive Berücksichtigung der spezifischen Eigenheiten jeder einzelnen Ausführungseinheit.
Der Erfindung liegt somit die Aufgabe zugrunde, dem Anwender die Programmierung
von aus Ausführungseinheit und Zusatzeinheit bestehenden Verarbeitungseinheiten
wesentlich zu erleichtern und dem Hersteller die Möglichkeit zu geben, die Verarbeitungseinheit
in beliebig viele optimierte Untereinheiten aufzuteilen. Dies wird auf einfache
Weise dadurch erreicht, daß in der Ausführungseinheit eine Vorrichtung vorgesehen
ist, die die Programmbearbeitung solange sperrt, bis eine Fertigmeldung der Zusatzeinheit
vorliegt. Beliebig viele Zusatzausführungseinheiten können mit der Ausführungseinheit
verbunden werden, ohne hierbei Programmänderungen bereits bestehender Programme
und der bestehenden Hardware vornehmen zu müssen, wenn dem Fertigmeldungsanschluß
mehrere Zusatzausführungseinheiten parallel geschaltet sind. Werden Zusatzausführungseinheiten
und Ausführungseinheiten mit parallel geschalteten Einzelschrittanschlüssen versehen,
so
kann der Anwender ohne Schwierigkeiten das von ihm eingegebene
Programm überprüfen, und zwar ohne erheblichen hardwaremäßigen Aufwand. Die erfindungsgemäße
Ausführungseinheit und das hiermit durchführbare Verfahren besitzt die Eigenschaft,
daß die Festlegung des Befehlssatzes nicht strikt mit dem Realisierungsprinzip gekoppelt
ist, so daß eine Erweiterung des Befehlssatzes ohne Modifizierung der bestehenden
Ausführungseinheit möglich ist. Eine weitere Leistungssteigerung läßt sich durch
Anfügen weiterer Zusatzausführungseinheiten wie Gleitpunktarithmetik oder den Anschluß
weiterer Ein-Ausgabe-Prozessoren als Zusatzausführungseinheit ermöglichen. Das Verfahren
definiert eine allgemeingültige Schnittstelle mit open-end-Charakter. Es ermöglicht
die wahlweise Kombination von Einzelprozessoren, welche die Kommunikationsschnittstelle
beherrschen. Damit lassen sich Rechnerkernsysteme aufbauen, die hinsichtlich des
Befehlssatzes und der Leistungsfähigkeit Flexibilität und Modularität gegenüber
dem Stand der Technik wesentliche Vorteile aufweisen, wobei sich die Wirkungsweise
dem Anwenderprogramm gegenüber wie die eines einzigen Prozessors darstellt. Koordinierungsbefehle
sind nicht mehr erforderlich. Der Befehlssatz kann offen bleiben. In sich konsistente
und vollständige Befehlsklassen können in Form isolierter Ausführungseinheiten getrennt
konzipiert werden. Kundenspezifische Schaltkreise mit den oben beschriebenen Eigenschaften
lassen z.B. eine Einbettung von HLL (Hig Lavel Language)-orientierten Befehlen hoher
Mächtigkeit in ein bestehendes LLL-(Low-Level-Language)-System in Form eines einzelnen
VLSI (Very Large Scale Integrated Circuit)-Schaltkreises zu.
-
Anhand der Zeichnung wird ein Ausführungsbeispiel gemäß der Erfindung
beschrieben.
-
Es zeigen:
Fig. 1 die Zusammenschaltung der Ausführungseinheit,
auch als Master-Einheit bezeichnet, im vorliegenden Fall der Programmflußprozessor
PFP mit den Zusatzausführungseinheiten und Fig. 2 den Programmablauf zwischen Ausführungseinheit
und 3 und Zusatzausführungseinheiten in Form einer Programml is te.
-
Die in der Fig. 1 dargestellte Ausführungseinheit oder Master-Einheit
PFP, der Boolesche Prozessor BOP und der Ein-Ausgabe-Prozessor EAP haben folgenden
Aufbau.
-
BOP PFP EAP REGISTER REGISTER REGISTER AKKU1 PZ EAZ AKKU2 BEFEHLSSATZ:
BEFEHLSSATZ: BEFEHLSSATZ: Opcode, Parameter Opcode, Parameter Opcode, Parameter
UND, NULL: SPA, DISTANZ: LAD, ADR: AKKU1: = PZ: = PZ+ EAZ:= ADR AKKU1 DISTANZ HOLE
EAZ AKKU2 ADRESSIEREN EINGANG ODR, NULL: SPB, DISTANZ: AKKU2:=AKKU1 AKKU1:= IF AKKU1
=1 AKKU1:= EA2-AKKU1 THEN ADRESSIERTES AKKU2 SPA, DISTANZ BIT FI STEUERWERK: STEUERWERK:
TRA, ADR IF RESET IF RESET EAZ:=ADR THEN THEN TRANSFERIERE AKKU1/2:=# PZ 1 = # AKKU1
NACH GOA: # 1 ELSE EAZ -ADRESSIERTEM ELSF PAR =1 AUSGANG und Opcode REMAT = UND/ODR
HOLE PZ- STEUERWERK: THEN GOB:=# ADRESSIEREN IF RESSET FÜHRE OPCODE THEN EAZ:=1
UND/ODR PZ: PZ+1 GOE:=1 AUS: OPC:=1 ELSF PAR =1 GOB:=1 HOLE PZ- Und OPCODE ADRESSIEREN
=LAD/TRA ELSE PARAMETER THEN GOE:=# WARTE AUF PZ:PZ+1 ROHRE NACHSTE OPC:=# LAD/TRA
PAR-FLANKE PAR:=1 AUS FI IF OPCODE = GOE:=1 FI SPA/SPB
VPA THEN
ROHRE ELSE SPA/SPB AUS WARTE AUF ELSE WARTE NACHSTE AUF GOS PAR-FLiNKE FI FI ENDREPEAT
F#I FI Die Ausführungseinheit ist mit 1 bezeichnet. Die beiden Zusatzausführungseinheiten
tragen die Bezugszeichen 2 und 3. Eine weitere, gestrichelt angedeutete Zusatzausführungseinheit
4 stellt einen Arithmetikprozessor AP dar, der in gleicher Weise wie die Zusatzausführungseinheiten
2, 3 mit der Ausführungseinheit 1 verbunden ist. Die Einheiten 1 bis 4 sind auf
der einen Seite über den Speicherbus 5 und auf der anderen Seite über die gemeinsame
Operation-Code-Leitung 6, die Parameterleitung 7, die Resetleitung 8, die Single-Step-Leitung
9 sowie die Fertigmeldungsleitung GO 10 miteinander verbunden. Wie die Fig. 1 zeigt,
führen die Fertigmeldungsleitungen GO in Richtung auf die Ausführungseinheit 1 hin.
Die Zusatzausführungseinheit 2 steht weiterhin mit dem Peripherie-Bus 11 und dem
Prozeßsignalformer 12 zur Ausführung des Programmes in Verbindung. Im dem Speicherbus
zugeordneten Programmspeicher 12 ist der Operation-Code und der Parameter angegeben.
Der links davon dargestellte Programmzähler trägt das Bezugszeichen 13.
-
Der Speicherbus 5 im Ausführungsbeispiel hat sechs Adress-Bits, acht
Daten-Bits, ein Lesesignal und ein Schreibsignal. Der Peripheriebus 11 hat vier
Adress-Bits, ein Daten-Bit und ein Lesesignal sowie ein Schreibsignal. Im Programmspeicher
sind 32 Worte enthalten, adressiert zwischen Hexa-Dezimal-Adresse ~ - 1E. Es handelt
sich hier um einen Nur-Lese-Speicher. Zu den Ausführungseinheiten 1 bis 4 ist folgendes
Register aufzuführen: AKKU 1/2 Bit-Register unter der Hexa-dezimalen Adresse 20/21
am Speicherbus lese- und schreibbar PZ Programmzähler 6 Bit adressiert am Datenbus
EAZ Ein-/Ausgabezähler 2 Bit adressiert am Peripheriebus
Die Kommunikationssignale:
Reset ist das übliche Rücksetzsignal; OPC wird aktiviert, wenn PFP Operation-Code
Lesen abgeschlossen hat; PAR wird aktiviert, wenn PFP Parameter Lesen abgeschlossen
hat; Single-Step ist, wie oben erwähnt, für Testzwecke zur Programmkontrolle günstig;
GOA, GOB und GOE wird von der jeweils aktivierten Zusatzausführungseinhiet während
der Befehlsausführung aktiviert und GOS stellt das Sammelsignal her. Zur Funktion
der Anordnung ist folgendes auszuführen: In der in Fig. 1 vorliegenden Konfiguration
agiert der PFP als Master in dem Sinne, daß er die Befehle aus dem Speicher holt
und im Falle der eigenen Inkompetenz für den aktuellen Befehl auf das OPEN-COLLEKTOR-GO-SIGNAL
der zuständigen, ausführenden Zusatzausführungseinheit wartet, um dann den nächsten
Befehl zu lesen.
-
Der EAP greift bei seinen Befehlsaktivitäten über den Speicherbus
lesend und schreibend auf das Register AKKU1 im BOP unter der Hexadezimaladresse
2#, sowie schreibend auf das Register AKKU2 unter der Adresse 21 zu. Die Leistungsfähigkeit
des Systems kann, wie in Fig. 1 angedeutet, z.B. durch Hinzufügen eines Arithmetikprozessors
erhöht werden, der einen erweiterten Befehlssatz im Verbund abarbeitet. Das homogene
äußere Erscheinungsbild - der Verbund der Ausführungseinheiten arbeitet wie eine
einzige - wird verdeutlicht, wenn man die in Fig. 1 aufgezeigte Einzelschritt-Funktion
aktiviert. Ein Impuls geeigneter Länge veranlaßt das System von Ausführungseinheiten
genau einen Befehl auszuführen und dann anzuhalten, wobei die Einzelschritt-Aktivierung
mit einer Signalleitung, die an jede Ausführungseinheit geführt, auskommt.
-
3 Patentansprüche 3 Figuren