DE29706548U1 - Prozessor - Google Patents

Prozessor

Info

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
Application number
DE29706548U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE29706548U priority Critical patent/DE29706548U1/de
Publication of DE29706548U1 publication Critical patent/DE29706548U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation 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
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,
GR 97 G 4418 DE
Figur 3 ein Prinzipschaltbild einer Registerstruktur eines
weiteren Prozessors und
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)

GR 97 G 4418 DE Schutzansprüche
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.
DE29706548U 1997-04-11 1997-04-11 Prozessor Expired - Lifetime DE29706548U1 (de)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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