DE29706548U1 - Prozessor - Google Patents
ProzessorInfo
- Publication number
- DE29706548U1 DE29706548U1 DE29706548U DE29706548U DE29706548U1 DE 29706548 U1 DE29706548 U1 DE 29706548U1 DE 29706548 U DE29706548 U DE 29706548U DE 29706548 U DE29706548 U DE 29706548U DE 29706548 U1 DE29706548 U1 DE 29706548U1
- Authority
- DE
- Germany
- Prior art keywords
- processor
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Exchange Systems With Centralized Control (AREA)
- Saccharide Compounds (AREA)
Description
GR 91 G 4418 DE
Beschreibung
Prozessor
Prozessor
Die Erfindung betrifft einen Prozessor, der Befehle nach einem Fließbandprinzip parallel bearbeitet, nach welchem die
Verarbeitung jeden Befehls mehrere Einzeloperationen umfaßt, von denen eine zu einer Mikroprogramm-Adressierung vorgesehen
ist, wobei das Mikroprogramm einen abzuarbeitenden Befehl durch eine Folge von Elementaroperationen verwirklicht und
Steuerinformationen zur Bestimmung der folgenden Mikroprogramm-Adresse
sowie Steuerinformationen für die folgenden Einzeloperationen umfaßt.
In der Druckschrift "Informatik - Ein Sachlexikon für Studium
und Praxis", 2. Auflage 1993, Seiten 527 und 529, ist ein Konzept zur Beschleunigung der Arbeitsgeschwindigkeit einer
Rechenanlage beschrieben. Dort ist vorgesehen, einen Befehl nach dem Fließbandprinzip (Pipeline-Verarbeitung) abzuarbeiten,
nach welchem die Verarbeitung eines Befehls mehrere Einzeloperationen umfaßt. Für jede dieser Einzeloperationen,
die Operationen "Holphase", "Decodierphase", "Erhöhen des Befehlszählregisters"
, "Laden der Operanden", "Ausführungsphase" und "Abspeichern des Ergebnisses", ist innerhalb eines
Steuerwerks eine Funktionseinheit vorgesehen, welche fließbandartig gleichzeitig an der Ausführung der Befehle arbeitet.
Aus dem Siemens-Katalog ST 54.1, Ausgabe 1996, Seiten 3/1 bis 3/10, sind mit Prozessoren versehene Zentralbaugruppen eines
Automatisierungsgerätes bekannt. Sind derartige Zentralbau-
•3R 97 G 4418 DE
gruppen mit einem nach dem Fließbandprinzip arbeitenden Prozessor zu versehen, müssen die unterschiedlichen Befehlsausführungszeiten
der Prozessoren dieser Zentralbaugruppen berücksichtigt werden. Dies bedeutet, daß für einen kompatiblen
Einsatz des nach dem Fließbandprinzip arbeitenden Prozessors in diesen Zentralbaugruppen in einer Zentralbaugruppe
die Befehlsausführungszeit dieses Prozessors unverändert
bleibt, in einer anderen Zentralbaugruppe dagegen die Befehlsausführungszeit des Prozessors verlängert werden muß.
Man kann in der Art und Weise vorgehen, die Betriebsfrequenz des nach dem Fließbandprinzip arbeitenden Prozessors an die
Betriebsfrequenz des Prozessors mit der kleinsten Betriebsfrequenz
anzupassen. Dadurch werden allerdings im Automatisierungsgerät auch die Befehlsausführungszeiten von Befehlen
verlängert, deren Befehlsausführungszeiten nicht verlängert werden dürfen.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, einen nach dem Fließbandprinzip arbeitenden Prozessor zu schaffen,
welcher für einen Einsatz in Prozessorsystemen mit variabler Befehlsausführungszeit geeignet ist.
Diese Aufgabe wird dadurch gelöst, daß dem Mikroprogramm durch Mittel ein NOP-Code (No-Operation-Code) zuführbar ist,
der bewirkt, daß für die Dauer mindestens eines Bearbeitungstaktes
die Steuerinformationen für die folgenden Einzeloperationen inaktiv geschaltet werden.
Vorteilhaft ist, daß die ursprüngliche Betriebsfrequenz des
Prozessors konstant bleibt, wodurch auch die Befehlsausfüh-
GR 97 G 4418 DE
rungszeiten für die übrigen Funktionen, &zgr;. &Bgr;. Funktionen in
Form eines Ebenenwechsels oder einer Interruptbearbeitung, erhalten bleiben. Ein derartiger Prozessor, der zum Einsatz
in Prozessorsystemen mit kurzen Befehlsausführungszeiten geeignet ist, ist auch in Systemen mit langen Befehlsausführungszeiten
einsetzbar, wodurch ein kompatibler Einsatz gewährleistet ist.
In einer Ausgestaltung der Erfindung gemäß den Merkmalen des Anspruchs 2 ist jedem Befehl, in einer weiteren Ausgestaltung
gemäß den Merkmalen des Anspruchs 3 einer Gruppe von Befehlen eine Anzahl NOP-Codes vorgebbar. Dadurch können die Befehlsausführungszeiten
des Prozessors flexibel gestaltet werden und sind an Anforderungen, z. B. an spezielle Anforderungen
in speicherprogrammierbaren Steuerungen, leicht anzupassen.
Die Erfindung wird insbesondere in speicherprogrammierbaren Steuerungen eingesetzt, die unterschiedliche Zentralbaugruppen
aufweisen, welche jeweils mit einem derartigen Prozessor versehen werden können.
Anhand der Zeichnung, in der Ausführungsbeispiele der Erfindung veranschaulicht sind, werden die Erfindung, deren Ausgestaltungen
sowie Vorteile näher erläutert.
Es zeigen:
Figur 1 ein Prinzipschaltbild einer Registerstruktur eines
Prozessors,
Figur 2 ein Schema einer an sich bekannten Fließbandverarbeitung,
Figur 2 ein Schema einer an sich bekannten Fließbandverarbeitung,
GR 97 G 4418 DE
Figur 3 ein Prinzipschaltbild einer Registerstruktur eines
weiteren Prozessors und
Figur 4 ein Schema einer weiteren Fließbandverarbeitung.
Figur 4 ein Schema einer weiteren Fließbandverarbeitung.
Zur Erläuterung der Erfindung wird zunächst auf Figur 2 verwiesen.
Die dargestellte Fließbandverarbeitung umfaßt sechs Verarbeitungsstufen mit jeweils einer von sechs Einzeloperationen
El, E2 ... E6, von denen die Einzeloperation El zum Einlesen eines Befehls, die Einzeloperation E2 zur Befehlsdecodierung,
die Einzeloperation E3 zur Mikroprogramm-Adressierung, die Einzeloperation E4 zur Operanden-Adreßberechnung,
die Einzeloperation E5 zum Operanden-Zugriff und/oder zur Befehlsausführung und die Einzeloperation E6 zur Ergebnisanzeige
und/oder -speicherung vorgesehen sind. Eine hier nicht dargestellte Prozessor-Befehlsverarbeitungseinheit
liest einen zu bearbeitenden Befehl Bl in einem Zeitintervall TO ein (Einzeloperation El), welchen die Befehlsverarbeitungseinheit
in einem Zeitintervall Tl decodiert (Einzeloperation E2). Gleichzeitig liest die Befehlsverarbeitungseinheit
einen Befehl B2 ein, welchen die Befehlsverarbeitungseinheit in einem Zeitintervall T2 decodiert. In diesem
Zeitintervall T2 adressiert die Prozessor-Befehlsverarbeitungseinheit parallel zur Befehlsdecodierung ein Mikroprogramm
(Einzeloperation E3), welches den Befehl Bl durch eine Folge von Elementaroperationen verwirklicht und Steuerinformationen
zur Bestimmung der folgenden Mikroprogramm-Adresse sowie Steuerinformationen der folgenden Einzeloperationen
umfaßt, und liest einen nächsten Befehl B3 ein. In einem Zeitintervall T3 liest die Befehlsverarbeitungseinheit
einen Befehl B4 ein, decodiert parallel dazu den Befehl B3,
GR 97 G 4418 DE
adressiert das Mikroprogramm zur Verwirklichung des Befehls
B2 und berechnet die Operanden (Einzeloperation E4) des Befehls Bl. Die fließbandartige Bearbeitung aller Befehle führt
in einem Zeitintervall T4 zur Ausführung des Befehls Bl (Einzeloperation E5) und in einem Zeitintervall T5 zum Anzeigen
und/oder Speichern des Befehlsergebnisses {Einzeloperation E6) des Befehls Bl, wobei in diesen Zeitintervallen
die Befehlsverarbeitungseinheit parallel dazu neue Befehle B5 und B6 einliest sowie die bereits eingelesenen Befehle den
beschriebenen Einzeloperationen unterwirft.
Im folgenden wird auf Figur 1 verwiesen, in der das Prinzipschaltbild
einer Registerstruktur eines an einen Systembus eines Automatisierungsgerätes angeschlossenen Prozessors 2
vereinfacht dargestellt ist. Bestandteile des Prozessors 2, wie z. B. Akkumulatoren, Integer- und Gleitpunktrechenwerk,
Taktgeber oder Busanschaltung, sind für die Erfindung ohne
Bedeutung und werden daher nicht erläutert. Der Prozessor 2 umfaßt sechs Pipeline-Verarbeitungseinheiten Pl ... P6, von
denen die Einheit Pl zur Verwirklichung der Einzeloperation El (Figur 2), die Einheit P2 zur Verwirklichung der Einzeloperation
E2 und die Einheiten P3 ... P6 zur Verwirklichung der Einzeloperation E3 ... E6 vorgesehen sind. Die Einheit P2
ist über einen FIFO-Speicher 3 an den Systembus 1 angeschlossen, in welchen die Einheit Pl aus einem externen Speicher
auszulesende Befehle Bl ... B6 (Figur 2) einschreibt, während die Einheit P2 einen gerade in dieser Einheit hinterlegten
Befehl Bl ... B6 decodiert. Die Pipeline-Verarbeitungseinheit P3 (gestrichelt dargestellt) umfaßt ein Mapping-ROM 5, einen
0 durch dieses Mapping-ROM 5 steuerbaren ersten Multiplexer Ml,
GR 97 G 4418 DE
eine dem ersten Multiplexer Ml vorgeschaltete Registergruppe 6, eine dem ersten Multiplexer Ml nachgeschaltete Steuereinheit
7, die einen zweiten Multiplexer M2 steuert, sowie ein Mikroprogramm-Adreßregister 8 und einen Mikroprogrammspeicher
9. Die Steuereinheit 7 ist mit einem Zähler versehen, dessen Zählerstand in Abhängigkeit der Anzahl von
"Wartetakten", die einem zu bearbeitenden Befehl zugeordnet ist, ladbar ist. Die Anzahl der Wartetakte ist in Register Rl
... R4 der Registergruppe 6 hinterlegbar und von dort über den Multiplexer Ml in den Zähler der Steuereinheit 7 übertragbar.
Es ist auch möglich, die Anzahl der Wartetakte direkt durch das Mapping-ROM 5 über eine hier nicht dargestellte
Leitung zwischen Mapping-ROM 5 und Steuereinheit 7 in diesen Zähler einzuschreiben. Ein Wartetakt kann dadurch bewirkt
werden, daß dem Mikroprogrammspeicher 9 ein NOP-Code, z. B. in Form einer NOP-Adresse, während eines Bearbeitungstaktes
zugeführt wird, was bedeutet, daß z. B. die Adressierung des Mikroprogrammspeichers 9 mit fünf NOP-Adressen in
Folge fünf Wartetakte umfaßt, wodurch in der Pipeline-Verarbeitungseinheit
P3 die Mikroprogramm-Adressierung eines diesen Wartetakten zugeordneten Befehls um fünf Bearbeitungstakte
verlängert wird. Die Steuereinheit 7 steuert den zweiten Multiplexer M2 derart, daß dieser während eines Bearbeitungstaktes
dem Mikroprogrammspeicher 9 entweder eine Mikroprogramm-Adresse
aus dem Mapping-ROM 5 über eine Leitung Ll oder eine NOP-Adresse zur Adressierung einer NOP-Zelle des
Mikroprogrammspeichers 9 über eine Leitung L2 zuführt. Für
den Fall, daß die Adresse zur Adressierung des Mikroprogrammspeichers 9 die NOP-Adresse ist, werden für die Dauer eines
Bearbeitungstaktes Steuerinformationen im Mikroprogramm-
GR 97 G 4418 DE
speicher 9, die für die Verwirklichung der Einzeloperationen
E4, E5, E6 in den Pipeline-Verarbeitungseinheiten P4, P5, P6 erforderlich sind, inaktiv geschaltet. Dadurch unterbleibt
die Bearbeitung der Einzeloperationen E4, E5, E6 für die Dauer eines Bearbeitungstakts.
Im folgenden wird die Funktions- und Wirkungsweise der Pipeline-Verarbeitungseinheit
P3 näher erläutert. Es ist angenommen, daß der Befehl Bl {Figur 2) zu verarbeiten
ist, dessen Befehlsausfuhrungszeit um zwei Wartetakte verlängert werden muß. Ferner ist angenommen, daß die diesem Befehl
Bl zugeordnete Anzahl wzwei" der Wartetakte im Register R2
hinterlegt ist. Zu Beginn der Einzeloperation E3 im Zeitintervall T2 (Figur 2) steuert das Mapping-ROM 5 den Multiplexer
Ml derart, daß der Inhalt des Registers R2 der Steuereinheit 7 aufgeschaltet und im Zähler der Steuereinheit 7
hinterlegt wird. Bei einem Zählerstand größer Null stellt die Steuereinheit 7 den Multiplexer M2 so ein, daß dieser Multiplexer
M2 eine NOP-Adresse über die Leitung L2 und über den Multiplexer M3 dem Mikroprogramm-Adreßregister 8 zuführt. Mit
dieser NOP-Adresse wird die NOP-Zelle des Mikroprogrammspeichers 9 adressiert, in welchem Steuercodes hinterlegt
sind, die einerseits verhindern, daß eine Folgeadresse zur Adressierung des Mikroprogramms im Mikroprogrammspeicher 9 in
das Mikroprogramm-Adreßregister 8 eingeschrieben wird und andererseits die Steuerinformationen für die folgenden
Einzeloperationen E4, E5, E6 der Pipeline-Verarbeitungseinheiten P4, P5, P6 inaktiv geschaltet werden. Die Folgeadresse
kann z. B. eine Sprung- oder eine Rücksprungadresse sein. Um zu verhindern, daß diese Folgeadresse über eine
GR 97 G 4418 DE
Adreßleitung Al in das Mikroprogramm-Adreßregister 8 eingeschrieben
wird, schaltet der in der NOP-Zelle hinterlegte Steuercode über die Steuerleitung Sl den Multiplexer M3 um,
wodurch die am Ausgang des Multiplexers M2 anliegende Adresse über den Multiplexer M3 dem Mikroprogramm-Adreßregister 8
übertragen wird. Während des Zeitintervalls T2 wird mit jedem Bearbeitungstakt der Zähler so lange dekrementiert, bis der
Zählerstand null ist. Im vorliegenden Beispiel ist der Zählerstand
nach zwei Bearbeitungstakten null, was bedeutet, daß die NOP-Adresse zweimal in das Mikroprogramm-Adreßregister
eingeschrieben und somit die Befehlsausführung in der Pipeline-Verarbeitungseinheit
P3 um zwei Wartetakte verlängert wird.
Im folgenden wird auf Figur 3 verwiesen, in der das Prinzipschaltbild
einer Registerstruktur eines weiteren Prozessors dargestellt ist. Die in den Figuren 1 und 2 dargestellten
gleichen Teile sind mit gleichen Bezugszeichen versehen. Im Unterschied zum Prozessor 2 nach Figur 1 weist ein Prozessor
2a Pipeline-Verarbeitungseinheiten P2a, P3a ... P6a auf, welche jeweils mit einer Gültigkeitsbit-Zelle Gz versehen
sind. Ferner umfaßt die Pipeline-Verarbeitungseinheit P3a anstatt dem zweiten Multiplexer M2 (Figur 1) ein UND-Verknüpfungsglied
10, dem einerseits die Pipeline-Verarbeitungseinheit P2a den Inhalt ihrer Gültigkeitsbit-Zelle Gz und
andererseits die Steuereinheit 7 ein Steuersignal zuführt. Die Gültigkeitsbit-Zelle Gz der Pipeline-Verarbeitungseinheit
P2a ist in bekannten Prozessoren gewöhnlich vorhanden. Liegt im Adreßregister 8a keine Gültigkeit vor (Gz = null), unter-0
bleibt ein "Mapping" auf den Befehl, der in der Pipeline-
GR 97 G 4418 DE
Verarbeitungseinheit P2a steht. Für den Fall, daß der Zählerstand
der Steuereinheit 7 gleich null ist, was darauf hinweist, daß keine Wartetakte einzufügen sind, aktiviert die
Steuereinheit 7 das Steuersignal, wodurch das Gültigkeitsbit der Gültigkeitsbit-Zelle Gz des Mikroprogramm-Adreßregisters
zugeführt wird. Dieses Gültigkeitsbit wird nach jedem Bearbeitungstakt in die Pipeline-Verarbeitungseinheiten P4a,
P5a, P6a weitergetaktet. Für den Fall, daß der Zählerstand ungleich null ist, deaktiviert die Steuerung 7 das Gültigkeitsbit,
was einem aktiven NOP-Code entspricht. Ist der Zählerstand z. B. gleich drei, sperrt das UND-Verknüpfungsglied
10 für die Dauer von drei Bearbeitungstakten. Das Gültigkeitsbit im Mikroprogramm-Adreßregister 8a der Pipeline-Verarbeitungseinheit
P3a und in den Pipeline-Verarbeitungseinheiten P4a, P5a, P6a bleibt jeweils für die Dauer von
drei Bearbeitungstakten inaktiv, was bewirkt, daß die Steuerinformationen
für die Einzeloperationen E4, E5, E6 für drei Bearbeitungstakte ebenfalls inaktiv sind.
Im folgenden wird auf Figur 4 verwiesen, in welcher das Schema einer weiteren Fließbandverarbeitung dargestellt ist.
Die in den Figuren 2 und 4 vorkommenden gleichen Teile sind mit gleichen Bezugszeichen versehen. Im Unterschied zu der in
Figur 2 beschriebenen Befehlsverarbeitung sind drei NOP-Codes hinzugefügt, wodurch sich eine vierfache Befehlsverarbeitungszeit
für die Befehle Bl, B2, ... ergibt, wobei davon ausgegangen wird, daß für jeden Befehl nur ein Takt in jeder
Pipeline-Verarbeitungseinheit erforderlich ist.
Claims (4)
1. Prozessor, der Befehle (Bl ... B6) nach einem Fließbandprinzip parallel bearbeitet, nach welchem die Verarbeitung
jeden Befehls (Bl ... B6) mehrere Einzeloperationen (El ...
E6) umfaßt, von denen eine zu einer Mikroprogramm-Adressierung
(E3) vorgesehen ist, wobei das Mikroprogramm einen abzuarbeitenden Befehl (Bl ... B6) durch eine Folge von Elementaroperationen
verwirklicht und Steuerinformationen zur Bestimmung der folgenden Mikroprogramm-Adresse sowie Steuerinformationen
für die folgenden Einzeloperationen (E4, E5, E6) umfaßt, dadurch gekennzeichnet,
daß dem Mikroprogramm durch Mittel ein NOP-Code zuführbar ist, der bewirkt, daß für die Dauer mindestens eines Bearbeitungstaktes
die Steuerinformationen für die folgenden Einzeloperationen
(E4, E5, E6) inaktiv geschaltet werden.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet,
daß jedem Befehl (Bl ... B6) eine Anzahl NOP-Codes vorgebbar ist.
3. Prozessor nach Anspruch 1, dadurch gekennzeichnet
, daß einer Gruppe von Befehlen (Bl ... B6) eine Anzahl NOP-Codes vorgebbar ist.
4. Speicherprogrammierbare Steuerung mit einem Prozessor nach einem der Ansprüche 1 bis 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE29706548U DE29706548U1 (de) | 1997-04-11 | 1997-04-11 | Prozessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE29706548U DE29706548U1 (de) | 1997-04-11 | 1997-04-11 | Prozessor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE29706548U1 true DE29706548U1 (de) | 1997-06-12 |
Family
ID=8038851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE29706548U Expired - Lifetime DE29706548U1 (de) | 1997-04-11 | 1997-04-11 | Prozessor |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE29706548U1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033342A1 (en) * | 1999-10-29 | 2001-05-10 | Oak Technology, Inc. | Digital signal processing circuit and method |
-
1997
- 1997-04-11 DE DE29706548U patent/DE29706548U1/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033342A1 (en) * | 1999-10-29 | 2001-05-10 | Oak Technology, Inc. | Digital signal processing circuit and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69721098D1 (de) | Entwicklungsgerät | |
DE69816523D1 (de) | Entwicklungsgerät | |
DE19810476B4 (de) | Laryngomaske | |
ATA93198A (de) | Fluoxetinpellets | |
DE69720097T2 (de) | Entwicklungsgerät | |
DE69715313D1 (de) | Entwicklungsgerät | |
DE69933515D1 (de) | Peripherieprozessor | |
NO980841L (no) | Lysbeskyttelsesmiddel | |
DE69925208D1 (de) | Entwicklungsgerät | |
DE69824055D1 (de) | Entwicklungsgerät | |
DE69819235D1 (de) | Entwicklungsgerät | |
DE69929754D1 (de) | Entwicklungsgerät | |
BR9801805A (pt) | Dioxacicloalcan-8-ona | |
ATA111897A (de) | Kimme | |
ATE236897T1 (de) | 3-benzylpiperidine | |
ATA112597A (de) | Snowboard - bindung | |
DE29706548U1 (de) | Prozessor | |
DE29701531U1 (de) | Säschar | |
ATA86797A (de) | Verschleissschuh | |
FI970365A0 (fi) | Skyddssystem foer processor | |
ATA46498A (de) | Kunststoffgleitbahn | |
SE9803390D0 (sv) | Processor II | |
ATE421585T1 (de) | Motlinhomologe | |
DE29703073U1 (de) | Kryoapplikator | |
DE29701530U1 (de) | Säschar |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R207 | Utility model specification |
Effective date: 19970724 |
|
R150 | Utility model maintained after payment of first maintenance fee after three years |
Effective date: 20000927 |
|
R157 | Lapse of ip right after 6 years |
Effective date: 20031031 |