DE3779727T2 - Integrierte schaltung und verfahren fuer zahlenverarbeitung in einem modul mit automatischer taktsteuerung. - Google Patents
Integrierte schaltung und verfahren fuer zahlenverarbeitung in einem modul mit automatischer taktsteuerung.Info
- Publication number
- DE3779727T2 DE3779727T2 DE19873779727 DE3779727T DE3779727T2 DE 3779727 T2 DE3779727 T2 DE 3779727T2 DE 19873779727 DE19873779727 DE 19873779727 DE 3779727 T DE3779727 T DE 3779727T DE 3779727 T2 DE3779727 T2 DE 3779727T2
- Authority
- DE
- Germany
- Prior art keywords
- control unit
- operator
- traffic control
- input
- output
- 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 - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 58
- 238000000034 method Methods 0.000 title claims description 14
- 230000006870 function Effects 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000008054 signal transmission Effects 0.000 claims description 4
- 230000009849 deactivation Effects 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000012938 design process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000010200 validation analysis 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/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Semiconductor Integrated Circuits (AREA)
- Bus Control (AREA)
Description
- Die Erfindung betrifft eine integrierte Schaltung zur digitalen Datenverarbeitung, mit arithmetischen Operatoren, logischen Operatoren, Speicheroperatoren, Eingangs-/Ausgangsoperatoren, die alle von einem Taktgeber und von einer Steuereinheit, die Befehle eines Befehlsgenerators erhält und an die Operatoren Betriebskommandos übermittelt, gesteuert werden.
- Eine integrierte Schaltung dieser Art ist aus dem Artikel mit dem Titel "A single chip, highly integrated, user programmable microcomputer", D. STAMM, D. BUDDE und B.MORGAN, PHILADELPHIA 1977, IEEE International Solid State Circuit Conference (1977, S. 142) bekannt.
- In einer solchen integrierten Schaltung kann man allgemein zwei Teile unterscheiden: die Datenverarbeitungseinheit und die Steuereinheit. Die Datenverarbeitungseinheit wird aus mehreren Operatoren gebildet: arithmetischen Operatoren, logischen Operatoren, wie Register-, kombinatorischen Logikoperatoren (Maskierung, Erweiterung, Nullsetzung, Verschiebung), Eingangs-/Ausgangsoperatoren, usw. Jeder Operator wird durch seine Funktion und durch die von ihm zur Ausführung dieser Funktion benötigte Zeit definiert. Die Steuereinheit entschlüsselt die Befehle und sendet entsprechende Anweisungen an die Operatoren, die dann die gewünschte Operation pro Befehl ausführen. Die Verarbeitungseinheit und die Steuereinheit sind taktgesteuert.
- Zur Definition der Ablaufsteuerung muß die Maschinenzykluszeit definiert werden. Diese Maschinenzykluszeit entspricht dem pro Befehl erzeugten Mikrokommando, für das die vom Datensignal zur Durchquerung der zur Ausführung dieses Mikrokommandos notwendigen Operatoren benötigte Zeit maximal ist. Die Maschinenzykluszeit wird in eine feste Zahl von Phasen unterteilt, wobei die Dauer jeder Phase eine feste Zahl von halben Taktdauern ist. Jede Phase macht die von der Steuereinheit an einen gegebenen Operator gesendeten Kommandos gültig. Die Operatoren einer Verarbeitungskette sind also während der aufeinanderfolgenden Phasen des Maschinenzyklus aktiv. Eine solche integrierte Schaltung zur digitalen Datenverarbeitung weist jedoch Nachteile beim Austausch von Steuer- und Datensignalen auf. Dieser Austausch beruht tatsächlich auf einer allgemeinen Ablaufsteuerung der Kommandos. Alle Signale zur Ablaufsteuerung jedes der Operatoren werden in allgemeiner Weise außerhalb der Verarbeitungseinheit generiert. Dies vervielfacht die Zahl der zu generierenden Signale und erhöht die Komplexität der Verbindungen.
- Zugleich wird die Maschinenzykluszeit durch den Befehl bestimmt, der die längste Ausführungszeit benötigt, d.h. die längste Kette zu durchlaufen hat, selbst, wenn zahlreiche Befehle diese Zeit nicht benötigen.
- Außerdem ist für den Fall eines modularen Konzepts einer integrierten Schaltung für die digitale Datenverarbeitung die Optimierung der Ablaufsteuerung für jede entwickelte Schaltung spezifisch. In die entwickelte Schaltung einen Operator einzufügen, ist in einem so festen Rahmen sehr schwierig geworden und erfordert häufig eine Modifizierung dieser Ablaufsteuerungsschaltung.
- Bekannt ist auch die Patentschrift EP 0131 658, in der ein Sychnchronisationsmechanismus für ein Multiprozessorsystem beschrieben wird. Diese Patentschrift bezieht sich ausschließlich auf den Kommunikationsteil zwischen dem Steuerteil und den Prozessoren. Es handelt sich um ein Mikroprozessorsystem im klassischen Sinn des Begriffs, bei dem alle Prozessoren parallel mit einem gemeinsamen Bus verbunden sind, der n Leitungen enthält, von denen drei eine Synchronisation ermöglichen, indem sie die Prioritäten der Prozessoren verwalten, die mit Hilfe des Busses kommunizieren wollen. Die Steuerung der Ausführung der Aufgaben jedes Moduls im Inneren eines selben Prozessors wird nicht behandelt.
- Aufgabe der Erfindung ist es, diese verschiedenen Nachteile zu vermeiden, um eine größere Modularität der integrierten Schaltung zu ermöglichen, so daß die Entwurfszeit kürzer wird. Hierzu verwendet die Erfindung Module, die hinsichtlich der von ihnen ausgeführten Funktion und hinsichtlich der für sie notwendigen Ablaufsteuerung voranalysiert sind.
- Zur Lösung dieser Aufgabe ist die eingangs definierte Erfindung dadurch gekennzeichnet, daß die integrierte Schaltung mindestens einen Operator enthält, der mit einer Verkehrsleiteinheit versehen ist, die i Eingangssemaphore empfängt und j Ausgangssemaphore aussendet, mit i und j ungleich Null, wobei die Verkehrsleiteinheit von der Steuereinheit i Eingangssteuersignale und mindestens ein Ausgangssteuersignal für die Daten des Operators empfängt, und, nach Empfang mindestens eines von einer vorhergehenden Verkehrsleiteinheit stammenden, durch sein Eingangssteuersignal, ein Neuer-Befehl-Signal und ein Operator-Freigabesignal, die von der Steuereinheit ausgesendet wurden, gültig gemachten Eingangssemaphors, ihrem Operator an die Funktionsparameter des erwähnten Operators angepaßte Signale liefert, und die Verkehrsleiteinheit, um selbsttaktend arbeiten zu können, beim Abschluß der Verarbeitung durch den Operator die Ausgabe von Daten durch den Operator an mindestens einen folgenden Operator freigibt, indem sie mindestens einen von einem Ausgangssteuersignal gültig gemachten Ausgangssemaphor aussendet, wobei der Ausgangssemaphor nach mindestens einer folgenden Verkehrsleiteinheit übertragen wird, damit diese folgende Verkehrsleiteinheit ihren eigenen Operator zum Empfang der erwähnten Daten einstellt, wobei die erwähnte Verkehrsleiteinheit auch Mittel enthält zur Inversion des Logikzustands der bereits von ihren Eingangssteuersignalen gültig gemachten Eingangssemaphore, wenn der Operator keine Eingangsdaten mehr benötigt, um dies den betreffenden vorhergehenden Verkehrsleiteinheiten zu melden, und Mittel zum Empfang der gültig gemachten Ausgangssemaphore, deren Logikzustand von den darauffolgenden Verkehrsleiteinheiten invertiert ist, wobei die erwähnten Empfangsmittel zur Steuereinheit ein Ende-der-Ausführung-Signal zurücksenden, die Übertragung der Semaphore hintereinander bis zur letzten Verkehrsleiteinheit abläuft und die integrierte Schaltung aus jeweils dem Operator und seiner Verkehrsleiteinheit bestehende Module enthält, welche Module über ihre Operatoren Daten und über ihre Verkehrsleiteinheiten Semaphore austauschen, wodurch für jedes Modul eine selbsttaktende Ablaufsteuerung sichergestellt ist, wobei die Module und die Steuereinheit von dem Taktgeber und dem Befehlsgenerator gesteuert werden.
- Um die Mängel der früheren Lösungen zu beheben, bezieht sich die Erfindung auf eine neue Art des Protokolls und damit der Ablaufsteuerung. Die Verwendung von Phasen, die durch eine nicht zur Datenverarbeitungseinheit gehörende Ablaufsteuerungsschaltung erzeugt werden, wird vermieden. Jedem Operator wird eine Verkehrsleiteinheit zugeordnet, die aus ihm einen selbsttaktenden Operator macht.
- Die zu dem Operator gehörende Verkehrsleiteinheit leitet den Datenaustausch mit den Aufwärts- und Abwärtsoperatoren durch Anwendung eines Protokolls. Außerdem generiert die Verkehrsleiteinheit Taktsignale für den Operator, zu dem sie gehört. Daher hat jeder Operator eine lokale Ablaufsteuerung. Die Verkehrsleiteinheit tauscht auch Signale mit der Steuereinheit aus.
- Jedem mit den Operatoren verbundenem Datenbus wird hierzu eine zusätzliche Verbindung zugefügt, die die zugehörigen Verkehrsleiteinheiten mit diesen Operatoren verbindet. Der Logikzustand auf diesem Draht gibt der Verkehrsleiteinheit die Gültigkeit oder Ungültigkeit der Daten auf dem zugehörigen Bus an. Diese zusätzliche Verbindung wird als Semaphor bezeichnet.
- Die Operatoren können entsprechend ihrer internen Operatorfunktion unterschieden werden, je nachdem, ob sie eine interne Datenspeicherungsfunktion enthalten oder nicht. Die zu einem die gelieferten Daten speichernden Operator gehörende Verkehrsleiteinheit gibt ihre gültig gemachten Eingangssemaphore frei, sobald diese Speicherung stattgefunden hat. Falls keine Speicherung vorliegt, erfordert das Aufrechterhalten des Datensignals am Eingang das Aufrechterhalten des Eingangssemaphors, solange die von der Operatorverarbeitung ausgegebenen Daten nicht in einem anderen Operator der Verarbeitungskette gespeichert werden. Dies führt zu zwei Verkehrsleiteinheit-Arten, einer, die die gültig gemachten Eingangssemaphore während der Ausführung der Verarbeitung durch den zugehörigen operativen Teil freigibt, und einer anderen, die die Eingangssemaphore nur freigibt, wenn die gültig gemachten Ausgangssemaphore von den in der Verarbeitungskette folgenden Operatoren freigegeben worden sind.
- Eine andere Unterscheidung erfolgt nach der Zahl der Eingänge und Ausgänge: bestimmte Operatoren haben keinen Eingang, sondern nur Ausgänge, oder sie haben keinen Ausgang, sondern nur Eingänge. Der übrigbleibende häufigste Fall ist der eines Operators mit Eingängen und mit Ausgängen.
- Zur Behandlung der Ablaufsteuerung der Operatoren, die keine Datenausgänge aufweisen, enthält die integrierte Schaltung zur digitalen Datenverarbeitung außerdem mindestens einen Operator, der mit einer Verkehrsleiteinheit versehen ist, die Steuersignale von der Steuereinheit empfängt und, nach dem Empfang mindestens eines von einem Eingangssteuersignal, einem Neuer- Befehl-Signal und einem Operator-Freigabesignal, die von der Steuereinheit ausgesendet wurden, gültig gemachten Eingangssemaphors, ihrem Operator an Funktionsparameter des erwähnten Operators angepaßte Signale liefert, und die Verkehrsleiteinheit, um eine selbsttaktende Ablaufsteuerung sicherzustellen, beim Abschluß der Bearbeitung durch den Operator an die Steuereinheit ein Ende-der-Ausführung-Signal zurücksendet, wobei die Verkehrsleiteinheit auch Mittel enthält zur Inversion des Logikzustands der bereits von ihren Eingangssteuersignalen gültig gemachten Eingangssemaphore, wenn der Operator keine Eingangsdaten mehr benötigt, um dies den betreffenden vorhergehenden Verkehrsleiteinheiten zu melden.
- Zur Behandlung der Ablaufsteuerung der Operatoren, die keine Dateneingänge aufweisen, enthält die integrierte Schaltung zur digitalen Datenverarbeitung außerdem mindestens einen Operator, der mit einer Verkehrsleiteinheit versehen ist, die Steuersignale der Steuereinheit empfängt und die, nach dem Empfang eines Neuer-Befehl-Signals und eines Operator-Freigabesignals, die von der Steuereinheit ausgesendet wurden, ihrem Operator an Funktionsparameter des erwähnten Operators angepaßte Signale liefert, und die Verkehrsleiteinheit, um eine selbsttaktende Ablaufsteuerung sicherzustellen, am Abschluß der Verarbeitung durch den Operator die Ausgabe der Daten durch den Operator an mindestens einen folgenden Operator freigibt, und mindestens einen von einem Ausgangssteuersignal gültig gemachten Ausgangssemaphor aussendet, wobei der Ausgangssemaphor nach mindestens einer folgenden Verkehrsleiteinheit übertragen wird, damit diese folgende Verkehrsleiteinheit ihren eigenen Operator zum Empfang der erwähnten Daten einstellt, wobei die erwähnte Verkehrsleiteinheit auch Mittel zum Empfang der gültig gemachten Ausgangssemaphore, deren Logikzustand von den darauffolgenden Verkehrsleiteinheiten invertiert ist, enthält, wobei die erwähnten Empfangsmittel ein Ende-der-Ausführung- Signal an die Steuereinheit zurücksenden.
- Der Operator und seine Verkehrsleiteinheit werden bei verschiedenen Betriebsarten verwendet, wobei vier Fälle auftreten:
- - der Operator behandelt ein Eingangsdatensignal und liefert anschließend am Ausgang ein Datensignal (Beispiel: Register, Rechenwerk),
- - der Operator liefert nur am Ausgang ein Datensignal (Beispiel: RAM-Speicher beim Lesen, ROM-Speicher bei der Konstantentabelle),
- - der Operator behandelt nur ein Eingangsdatensignal (Beispiel: Laden eines Zählers, Schreiben in den RAM-Speicher),
- - ein Operator kann, auf Anforderung der Steuereinheit, weder eine Ausgangsnoch eine Eingangsoperation ausführen, sondern eine interne Operation (Beispiel: Aktivierung eines vorher geladenen Zählers).
- Das Betriebsprotokoll zwischen zwei aufeinanderfolgenden Modulen 1 und 2 (Verkehrsleiteinheit + Operator), die sich Daten zusenden, teilt sich in folgender Weise auf:
- - wenn der Operator 1 seine Daten verarbeitet hat, aktiviert die Verkehrsleiteinheit 1 ihren Ausgangssemaphor, der der Eingangssemaphor der Verkehrsleiteinheit 2 ist,
- - die Verkehrsleiteinheit 2 detektiert diese Aktivierung und beginnt Taktsignale an den Operator 2 zu senden,
- - der Operator 2 empfängt die von dem Operator 1 gesendeten Daten,
- - der Operator 2 verarbeitet die Daten im von seiner Verkehrsleiteinheit gelieferten Takt,
- - wenn der Operator 2 die Verarbeitung beendet hat, aktiviert die Verkehrsleiteinheit 2 ihren Ausgangssemaphor.
- Zwei Fälle treten auf:
- - wenn der Operator 2 ein Operator mit Speicherungsfunktion ist und wenn der Operator 2 die Daten gespeichert hat, deaktiviert die Verkehrsleiteinheit 2 ihren Eingangssemaphor,
- - wenn der Operator 2 keine Speicherungsfunktion hat, deaktiviert die Verkehrsleiteinheit 2 ihren Eingangssemaphor nur, wenn ihr eigener Ausgangssemaphor deaktiviert war.
- Daher wird die Erfindung dadurch gekennzeichnet, daß die Verkehrsleiteinheit i Eingangsfreigabeschaltkreise enthält, von denen jeder einen der i Eingangssemaphore und eines der i Eingangssteuersignale empfängt, sowie j Ausgangsfreigabeschaltkreise, von denen jeder eines der Ausgangssteuersignale sowie das Signal des Endes der Bearbeitung durch den Operator empfängt, und die jeweils einen der j Ausgangssemaphore liefern, wobei die Eingangsfreigabeschaltkreise einen Impulsgenerator ansteuern, der von dem Neuer-Befehl-Signal und dem Freigabesignal des Operators gesteuert wird, und die mit einem Schieberegister von k Stufen, das die an die Funktionsparameter des Operators angepaßten Signale sowie das Signal des Endes der Bearbeitung durch den Operator liefert, gekoppelt ist, und die die Ausgangsfreigabeschaltkreise aktiviert, damit diese ihre Ausgangssemaphore aussenden, wobei jeder der i Ausgangsfreigabeschaltkreise ein Mittel zur Inversion des Logikzustands ihres Eingangssemaphors enthält, welches Mittel für jeden ausgewählten Eingangsfreigabeschaltkreis betriebsfähig ist, wenn ein Signal zum Semaphorfreigeben erzeugt worden ist, wobei die Verkehrsleiteinheit auch einen weiteren Impulsgenerator enthält, der selbst von dem Signal des Endes der Bearbeitung durch den Operator und von allen Ausgangssemaphoren, die zuvor gültig gemacht wurden, nachdem sie von den folgenden Verkehrsleiteinheiten invertiert worden sind, angesteuert wird, wobei der andere Impulsgenerator das Ende-der-Ausführung-Signal an die Steuereinheit zurücksendet.
- Es ist auch möglich, daß jede Verkehrsleiteinheit mit der Steuereinheit mit Hilfe eines Semaphors einen Dialog führt. Hierzu empfängt jede Verkehrsleiteinheit von der Steuereinheit ihr Neuer-Befehl-Signal und sendet ihr Ende-der-Ausführung- Signal in Form eines Semaphors, dessen Logikzustand von der Verkehrsleiteinheit umgekehrt werden kann, um der Steuereinheit die Meldung vom Ende der Ausführung zu übermitteln.
- Die von der Verkehrsleiteinheit an ihren Operator gelieferten angepaßten Signale sind parametrisierbar, um sie an die eigenen Parameter jedes Operators anpassen zu können, und zwar Parameter, die die Funktion und Verarbeitungszeit jedes Operators definieren. Hierzu wird die Zahl der Stufen und die Zahl der Ausgänge des Schieberegisters durch die Funktion und die Verarbeitungszeit des Operators bestimmt.
- Während des Entwurfs der integrierten Schaltung zur digitalen Datenverarbeitung können die Operatoren und ihre Verkehrsleiteinheiten eine Bibliothek aus vorher festgelegten Modulen bilden, welche Module zur Bildung der genannten integrierten Schaltung zusammengesetzt werden können. Die in der Bibliothek enthaltenen Verkehrsleiteinheiten sind analog entworfen, aber es ist möglich, zum Zeitpunkt des Entwurfs bestimmte Eigenschaften an den Operator anzupassen, zu dem die Verkehrsleiteinheit gehört. So kann, je nachdem, ob der Operator die Datenspeicherungsfunktion hat oder nicht, die Verkehrsleiteinheit ihren Eingangssemaphor deaktivieren, entweder sobald der Operator keine Eingangsdaten mehr benötigt, oder wenn die gültig gemachten Ausgangssemaphore von den folgenden Verkehrsleiteinheiten deaktiviert worden sind. Diese Möglichkeit wird beim Entwurf der integrierten Schaltung geschaffen.
- Hierzu wird, wenn der Operator über interne Speicherung verfügt, das Signal zum Semaphorfreigeben, das auf die i Eingangsfreigabeschaltkreise wirkt, durch Gültigmachen des Endes der Ausführung durch den Operator erhalten, indem ein Eingang des Schieberegisters mit den Eingangsfreigabeschaltkreisen verbunden wird. Ebenso wird, wenn der Operator nicht über interne Speicherung verfügt, das Signal zum Semaphorfreigeben, das auf die i Eingangsfreigabeschaltkreise wirkt, durch Verbinden des Ausgangs des anderen Impulsgenerators mit den Eingangsfreigabeschaltkreisen erhalten, damit das Gültigmachen nur stattfinden kann, wenn die folgende Verkehrsleiteinheit den invertierten Semaphor zurückgesendet hat.
- Eine andere Möglichkeit, die Verkehrsleiteinheit parametrisierbar zu machen, ist das Anpassen der Taktung, die sie dem Operator auferlegt, indem diese Taktung an die von dem Operator während eines Befehls ausgeführte Aufgabe angepaßt wird. So benötigen eine auf die Daten angewandte Logikoperation UND, ODER oder eine arithmetische Operation (Addition mit Übertrag), die beide mit dem gleichen arithmetischen und logischen Operator ausgeführt werden, nicht die gleich Ausführungszeit. Daher kann die zeitlich parametrisierbare Verkehrsleiteinheit sich dieser Ausführungszeit dynamisch anpassen, weil sie über die von der Steuereinheit aus auszuführende Operationsart verfügt.
- Um die Verkehrsleiteinheit zeitlich parametrisierbar zu machen, liefert die Steuereinheit an den Operator ein Signal über die Operationsart, die die Verkehrsleiteinheit berücksichtigt, damit bei einer beliebigen Operation eines Operators die Zahl der betreffenden Stufen des Schieberegisters so parametrisiert ist, daß die für die Verarbeitung zugestandene Dauer möglichst dicht bei der von dem Operator für diese Operation benötigten Zeit liegt.
- In bestimmten Verarbeitungsketten der integrierten Schaltung treten Verarbeitungsschleifen dort auf, wo der Ausgang des letzten Operators mit dem Eingang des ersten Operators verbunden ist. Aber wenn die gesamte Verarbeitung von der Schleife ausgeführt worden ist, kann die Datenausgabe eines beliebigen Operators der Schleife mit Hilfe eines Auslesebusses schnell realisiert werden, ohne die unwirksam gewordenen Operatoren zu passieren. Hierzu wird in einer Kette von Operatoren der Ordnung n bis (n+p), mit n und p ganzzahlig und ungleich Null, der Operator der Ordnung n mit dem Operator der Ordnung (n+p) über einen Datenauslesebus gekoppelt.
- Die Erfindung ist auch durch ein Verfahren der Funktionsweise einer integrierten Schaltung zur digitalen Datenverarbeitung der eingangs definierten Art gekennzeichnet, wobei die erfindungsgemäße integrierte Schaltung mindestens einen mit einer Verkehrsleiteinheit versehenen Operator hat, wobei der Operator eine Speicherungsfunktion besitzt, und das Verfahren aus den folgenden Schritten besteht:
- a. Empfang mindestens eines Eingangssemaphors durch einen Eingangsfreigabeschaltkreis der Verkehrsleiteinheit, welcher Eingangssemaphor durch ein von der Steuereinheit ausgesendetes Eingangssteuersignal gültig gemacht ist, und Aktivierung eines Impulsgenerators der Verkehrsleiteinheit,
- b. Aussendung eines Impulses an den Eingang eines k-stufigen Schieberegisters durch den Impulsgenerator,
- c. Aussendung von an Parameter des Operators angepaßten Signalen durch das Schieberegister,
- d. Aussendung eines Signals der Fertigstellung der Bearbeitung durch den Operator an die Freigabeausgangsschaltkreise der Verkehrsleiteinheit durch das Schieberegister,
- e. Inversion des Logikzustandes des Eingangssemaphors, wenn der Operator keine Eingangsdaten mehr benötigt, um an die vorhergehende Verkehrsleiteinheit die Mitteilung, daß die Daten berücksichtigt worden sind, zu übermitteln,
- f. Aussendung mindestens eines Ausgangssemaphors an mindestens eine folgende Verkehrsleiteinheit durch die Verkehrsleiteinheit,
- g. Empfang der Daten des Operators durch den folgenden Operator,
- h. Sendung des Ende-der-Ausführung-Signals nach Inversion des Logikzustandes der gültig gemachten Ausgangssemaphore zur Steuereinheit.
- Ebenso ist die Erfindung auch durch ein Verfahren der Funktionsweise einer integrierten Schaltung zur digitalen Datenverarbeitung der eingangs definierten Art gekennzeichnet, wobei die erfindungsgemaße integrierte Schaltung mindestens einen mit einer Verkehrsleiteinheit versehenen Operator hat, wobei der Operator keine Speicherungsfunktion besitzt, und das Verfahren aus den folgenden Schritten besteht:
- a. Empfang mindestens eines Eingangssemaphors durch einen Eingangsfreigabeschaltkreis der Verkehrsleiteinheit, welcher Eingangssemaphor durch ein von der Steuereinheit ausgesendetes Eingangssteuersignal gültig gemacht ist, und Aktivierung eines Impulsgenerators der Verkehrsleiteinheit,
- b. Aussendung eines Impulses an den Eingang eines k-stufigen Schieberegisters durch den Impulsgenerator,
- c. Aussendung von an Parameter des Operators angepaßten Signalen durch das Schieberegister,
- d. Aussendung eines Signals der Beendigung der Bearbeitung durch den Operator an die Freigabeausgangsschaltkreise der Verkehrsleiteinheit durch das Schieberegister,
- e. Aussendung mindestens eines durch ein Ausgangssteuersignal gültig gemachten Ausgangssemaphors an mindestens eine folgende Verkehrsleiteinheit durch die Verkehrsleiteinheit,
- f. Empfang der Daten des Operators durch den folgenden Operator,
- g. Empfang des invertierten Ausgangssemaphors durch die folgende Verkehrsleiteinheit, entsprechend der Berücksichtigung der Daten durch den folgenden Operator, und Erzeugung eines Impulses zum Freigeben des Eingangssemaphors,
- h. Deaktivierung des Eingangssemaphors durch Inversion des Signals, um der vorangehenden Verkehrsleiteinheit das Ende der Bearbeitung zu melden,
- i. Sendung des Ende-der-Ausführung-Signals nach Inversion des Logikzustandes der gültig gemachten Ausgangssemaphore zur Steuereinheit.
- Die erfindungsgemaße integrierte Schaltung zur digitalen Datenverarbeitung (DD-IC) weist mehrere Vorteile auf.
- - Die Ablaufsteuerung der Operatoren geschieht nach dem neuen Ansatz lokal, für den gesamten DD-IC genügt ein einziger Takt. Die Zahl der den DD-IC durchlaufenden Ablaufsteuerungssignale wird auf die einzige Taktübertragung reduziert.
- - Die Leistungen des DD-IC sind verbessert, da es den festen Begriff des Maschinenzyklus nicht mehr gibt, da die Operatoren selbsttaktend sind, wobei die für die für die Datenverarbeitung notwendige Zeit in einer Kette selbsttaktender Operatoren nur von den Operatoren selbst abhängt. Diese Zeit ist gleich der Summe der von jedem durchquerten Operator geforderten Zeit. Ein Befehl benötigt also nur die für ihn wirklich erforderlichen Zeit.
- - Das modulare Konzept bei diesem Ansatz ist sehr einfach. Einer bereits entwickelten Schaltung kann problemlos ein selbsttaktender Operator hinzugefügt werden. Es ist nicht notwendig, die Ablaufsteuerung der Verarbeitungseinheit des DD-IC neu zu definieren. Dieser Ansatz bietet viel Flexibilität bei der Konzeption eines DD-IC.
- Die Modularität ermöglicht dank der Einfachheit der Verbindungen zwischen den Operatoren außerdem eine erweiterte Testbarkeit der Schaltungsgesamtheit. Es genügt, auf den charakteristischsten Semaphoren Testflecken hinzuzufügen, um die komplexesten Operatoren zu testen.
- Nicht-einschränkende Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. Es zeigen:
- Figur 1A und 1B ein Logikschaltbild bzw. ein Zeitdiagramm nach dem Stand der Technik;
- Figur 2 ein allgemeines Blockdiagramm eines erfindungsgemaßen Moduls;
- Figur 3 ein Blockdiagramm eines Moduls zwischen zwei Nachbarmodulen;
- Figur 4 ein detailliertes Blockdiagramm einer erfindungsgemäßen Verkehrsleiteinheit, die beim Entwurf fest parametrisierbar ist;
- Figur 5 ein detailliertes Blockdiagramm einer erfindungsgemäßen Verkehrsleiteinheit, die beim Entwurf dynamisch parametrisierbar ist;
- Figur 6 ein elektrisches Schaltbild der Steuerung des Logikzustands eines Eingangssemaphors;
- Figur 7A ein Logikschaltbild eines Beispiels für eine Modulkette, das verschiedene Eingangs- und Ausgangskonfigurationen zeigt;
- Figur 7B ein Zeitdiagramm der Figur 7A.
- Um den Text in allen Figuren zu vereinfachen, gibt eine mit einem Querstrich versehene Verbindung an, daß es sich um einen Datenbus mit mehreren Bits handelt. Folglich muß die betreffende Verbindung so oft wiederholt werden, wie Bits zu übertragen sind.
- Die Figuren 1A und 1B erläutern den einfachen Fall des Protokolls des Datenaustausches nach dem Stand der Technik.
- Die Steuereinheit 5 liefert einen aus den Kommandos C1, C2 C3 bestehenden Mikrobefehl an die drei Operatoren 1, 2, 3. Dieser Mikrobefehl wird von drei Phasen P1, P2, P3 gültig gemacht, damit die drei Operatoren ihre Operationen nacheinander ausführen. Die Eingangsdaten E gelangen in den ersten Operator, und die Ausgangsdaten S werden aus dem dritten Operator ausgelesen. Die Operatoren 1 und 3 benötigen jeder eine halbe Taktdauer zur Verarbeitung der Daten. Die Phasen P1 und P3, die die Busse der Betriebskommandos C1 und C3 gültig machen, sind ebenfalls eine halbe Taktdauer lang. Der Operator 2 dagegen benötigt eine volle Taktdauer, und folglich ist P2, die den Bus C2 gültig macht, eine Taktdauer lang. Die Maschinenzykluszeit ist hier gleich zwei Taktdauern.
- Diese drei Phasen treten in dem bereits erwähnen Dokument nach dem Stand der Technik auf. Sie werden den verschiedenen Einheiten zugeleitet, die die integrierte Schaltung bilden. Dies erfordert erhebliche Verbindungsarbeiten und belegt einen bedeutenden Teil der Oberfläche der integrierten Schaltung.
- Figur 2 zeigt das allgemeine Blockschaltbild eines erfindungsgemäßen Moduls. Das Modul 11 wird aus einer Verkehrsleiteinheit 12 und einem Operator 13 gebildet. Die Verkehrsleiteinheit 12 empfängt von der Steuereinheit 10 Eingangs- und Ausgangssteuersignale 14, ein Neuer-Befehl-Signal und ein Operatorfreigabesignal und überträgt an sie ein Ende-der-Ausführung-Signal 19. Ein Taktgeber 16 steuert die Funktionsweise der Verkehrsleiteinheit 12. Die Steuereinheit 10 empfängt an ihren Verbindungen 20 Befehle eines nicht abgebildeten Befehlsgenerators. Die Steuereinheit überträgt an den Operator 13 Betriebskommandos 15. Diese Betriebskommandos bilden die Arbeitssignale, um beispielsweise in einem arithmetischen und logischen Operator eine Addition, eine Verschiebung, eine Multiplikation usw. auszuführen. Die Verkehrsleiteinheit 12 empfängt i Eingangssemaphore SEi und überträgt j Ausgangssemaphore SSj. Die Verkehrsleiteinheit 12 liefert dem Operator 13 die von diesem benötigten Taktsignale 17. Der Operator 13 empfängt Eingangsdaten DEi in Form von i Mehrbit-Wörtern. Entsprechend liefert er Ausgangsdaten DSj in Form von j Mehrbit-Wörtern.
- Wenn der Operator 13 die Verwendung einer zeitlich dynamisch parametrisierbaren Verkehrsleiteinheit zugesteht, muß die Verkehrsleiteinheit 12 auch den dem Operator gesendeten Befehlstyp empfangen. Dies geschieht mit Hilfe der Verbindung 18, wodurch, bei der Übertragung des auszuführenden Befehlstyps an die Verkehrsleiteinheit, letztere die dem Operator zugeführte Taktgebung anpassen kann.
- Figur 3 zeigt ein Blockdiagramm eines Moduls zwischen zwei Nachbarmodulen. Die Verkehrsleiteinheit 12 tauscht mit der vorhergehenden Verkehrsleiteinheit 12a einen der i Semaphore SEi aus, während die anderen von anderen Verkehrsleiteinheiten stammen, wie SD in Figur 3, und tauscht mit der folgenden Verkehrsleiteinheit 12b einen der j Semaphore SSj aus. Ebenso empfängt der Operator 13 vom vorhergehenden Operator 13a einen der Datenbusse DEi und überträgt an den folgenden Operator 13b einen der Datenbusse DSj. Die anderen Datenbusse DEi stammen von anderen Operatoren, beispielsweise DD unter der Kontrolle des Semaphors SD.
- Die Verkehrsleiteinheit 12 empfängt von der Steuereinheit 10 die i Eingangssteuersignale CEi und die j Ausgangssteuersignale CSj. Diese Signale steuern die Eingangssemaphore SEj bzw. die Ausgangssemaphore SSj. Die Verkehrsleiteinheit 12 empfangt auch ein von der Steuereinheit stammendes Freigabesignal 21 des Operators und ein Neuer-Befehl-Signal 22. Die Verkehrsleiteinheit überträgt ein Ende- der-Ausführung-Signal 23 an die Steuereinheit. Das Neuer-Befehl-Signal 22 und das Ende-der-Ausführung-Signal 23 werden über einen Steuerschaltkreis 24 in Form eines Steuersemaphors 25 zu bzw. von der Steuereinheit 10 übertragen. In diesem Fall enthält die Steuereinheit Mittel zur Inversion des Logikzustandes des Steuersemaphors 25 sowie einen Impulsgenerator, und die Steuereinheit 10 enthält Mittel zum Empfang des invertierten Semaphors. Der Impulsgenerator generiert das Neuer-Befehl-Signal 22. Der Steuerschaltkreis 24 kann in der Verkehrsleiteinheit 12 aufgenommen sein.
- Figur 4 zeigt ein detailliertes Blockdiagramm einer beim Entwurf fest parametrisierbaren Verkehrsleiteinheit. Zur Vereinfachung enthält die abgebildete Verkehrsleiteinheit 12 nur zwei Eingangssemaphore und zwei Ausgangssemaphore.
- Der Eingangsfreigabeschaltkreis 31 empfängt den Semaphor SE1, das Eingangssteuersignal CE1 und ein Signal zum Semaphorfreigeben 33. Der Freigabeschaltkreis 31 aktiviert den Impulsgenerator 35 über ein Triggersignal 37. In gleicher Weise empfängt der Eingangsfreigabeschaltkreis 30 den Semaphor SE2, das Eingangssteuersignal CE2 und das Signal zum Semaphorfreigeben 33. Er aktiviert den Impulsgenerator 35 über das Triggersignal 34.
- Der Impulsgenerator 35 wird auch von dem Taktgeber 16, dem Neuer- Befehl-Signal 22 und dem Signal zum Semaphorfreigeben 21 angesteuert.
- Der Impulsgenerator sendet einen Impuls zum Schieberegister, das in dem Beispiel aus vier Stufen 36&sub1;, 36&sub2;, 36&sub3; 36&sub4; zusammengesetzt ist, die untereinander in bekannter Weise verbunden sind. Das Schieberegister liefert dem Operator die von diesem benötigten Taktsignale 17.
- Der Ausgangsfreigabeschaltkreis 41 empfängt das Ausgangssteuersignal CS&sub1; und das Ausgangssignal 39 des Schieberegisters und liefert den Semaphor SS&sub1;. Ebenso empfängt der Ausgangsfreigabeschaltkreis 40 das Ausgangssteuersignal CS&sub2; und das Ausgangssignal 39 des Schieberegisters und liefert den Semaphor SS&sub2;. Die beiden Semaphore SS&sub1; und SS&sub2; können einen weiteren Impulsgenerator 38 aktivieren, der auch das Ausgangssignal 39 des Schieberegisters und den Takt empfängt. Dieser weitere Impulsgenerator 38 sendet das Ende-der-Ausführung-Signal 23 aus.
- Je nachdem, ob der Operator eine Speicherungsfunktion besitzt oder nicht, kann das Signal zum Semaphorfreigeben 33 auf zwei verschiedenen Wegen ausgegeben werden. Dieser wird durch die Anfangsverdrahtung beim Schaltungsentwurf festgelegt.
- Zwei Fälle sind zu betrachten:
- - Wenn der Operator eine Datenspeicherungsfunktion besitzt, beispielsweise ein Register, einen Speicher, werden die Daten also in dem Operator gespeichert. Die Verarbeitungszeit, die der Operator benötigt, ist zuvor bekannt, und demzufolge kann der Semaphor nach einer vorher festgelegten Verzögerungszeit freigegeben werden. Diese feste Verzögerung wird durch Herstellung einer der Verbindungen 45&sub1;, 45&sub2;, 45&sub3; oder 45&sub4; erhalten. In diesem Fall befindet sich der Schalter 50 im Stand 46 und liefert so das Signal zum Semaphorfreigeben 33 an die Eingangsfreigabeschaltkreise 30 und 31. Die Daten am Eingang des Operators können also verändert werden und der vorhergehende Operator kann informiert werden, daß er frei ist, um einen neuen Befehl zu akzeptieren. Dies wird mittels der ausgewählten Eingangsschaltung 30 oder 31 der Verkehrsleiteinheit 12 erreicht, die den Logikzustand des mit der Verkehrsleiteinheit des vorhergehenden Operators l3a ausgetauschten Semaphors ändert.
- Wenn der Operator keine Datenspeicherungsfunktion besitzt, brauchen die Daten am Eingang nicht verändert zu werden, solange der folgende Operator 13b an seinem Eingang weiterhin gültige Daten benötigt. Der Empfang der deaktivierten Ausgangssemaphore SS&sub1;, SS&sub2; gibt die Eingangssemaphore SE&sub1;, SE&sub2; frei. Dies wird von dem anderen Impulsgenerator 38 gesteuert, der den Logikzustand der Semaphore zwischen der Verkehrsleiteinheit 12 und den folgenden Verkehrsleiteinheiten untersucht. Wenn der Logikzustand der gültig gemachten Semaphore invertiert ist, liefert der Impulsgenerator 38 einen Impuls, der zum Eingangsschaltkreis der Verkehrsleiteinheit übertragen wird. In diesem Fall befindet sich der Schalter 50 im Stand 47 und liefert das Signal zum Semaphorfreigeben an die Eingangsfreigabeschaltkreise 30 und 31. Dadurch kann der Zustand des mit der Verkehrsleiteinheit 12a des vorhergehenden Operators 13a ausgetauschten Semaphors geändert und die Steuereinheit informiert werden, daß der Operator 13 bereit ist, einen neuen Befehl zu akzeptieren.
- In dem Fall, daß ein Operator ein Speicherungselement enthält, ist es die Aufgabe des Impulsgenerators 38 der Steuereinheit die Verfügbarkeit des Operators mitzuteilen.
- Der Beginn der Ausführung einer Operation wird von der Steuereinheit festgesetzt, die die folgenden Kommandos ausgibt (Figuren 3 und 4):
- - Initialisierung des Beginns eines neuen Befehls über die Verbindung 22,
- - wenn der Operator an dieser Operation beteiligt ist, empfängt er also eine Freigabeinformation über die Verbindung 21,
- - wenn der Operator am Eingang mehrere Datenbusse umfaßt, teilt ihm die Steuereinheit mittels der Steuersignale CE&sub1; und CE&sub2; mit, welchem Bus die zu verarbeitenden Daten zu entnehmen sind,
- - wenn der Operator mit einem Ausgangsbus verbunden ist, der von mehreren folgenden Operatoren genutzt werden kann, gibt die Steuereinheit durch Wählen des Steuersignals CS&sub1; oder CS&sub2; an, welcher der folgende Operator ist.
- Der gewählte Schaltkreis untersucht jetzt den Logikzustand seines Semaphors. Der Logikzustand 1 zeigt der Eingangsschaltung beispielsweise an, daß die Daten gültig sind und verarbeitet werden können.
- Von diesem Moment an sendet der Impulsgenerator 35 einen Impuls aus, der die von dem Operator auszuführende Operation initialisiert. Je nach Dauer der Verarbeitung sind also zwei Fälle zu betrachten:
- - Wenn der Operator einfach ist, d.h. die Ausführungszeit kleiner oder gleich einer halben Haupttaktdauer ist, genügt also ein einziger Impuls, damit die Funktion ausgeführt wird. In diesem Fall enthält das Schieberegister nur eine einzige Zelle. Ein typisches Beispiel für diese Art Operator ist ein Verriegelungsregister.
- - Wenn der Operator komplexer ist oder eine längere Verarbeitungszeit erfordert, wird die Dauer der Ausführung der Operation in Schritten von je einer halben Haupttaktdauer so eingestellt, daß diese Dauer immer strikt über der Dauer der Ausführung der Operation liegt. Dies wird durch Veränderung der Anzahl der Zellen des Schieberegisters in einfacher Weise erreicht. Auf diese Weise kann beispielsweise die Zugriffszeit tacc eines internen Speichers am besten angenähert werden. Die Zahl der notwendigen Zellen wird durch die Beziehung
- n = 1 + tacc-tacc(modulo T/2) /(T/2)
- bestimmt.
- Bei einem Beispiel von vier Registern sind die Daten am Ausgang des Operators gültig, wenn der von dem Impulsgenerator 35 ausgesendete Impuls am Ausgang 36&sub4; des Schieberegisters erscheint. Dies wird dem folgenden Operator mittels der Semaphoren SS&sub1; und SS&sub2; angezeigt, beispielsweise über einen Logikzustand 1. Diese Auswahl wird von der Steuereinheit vorgenommen.
- Figur 5 zeigt ein detailliertes Blockdiagramm einer erfindungsgemäßen, beim Entwurf dynamisch parametrisierbaren Verkehrsleiteinheit. Gleiche Teile wie in Figur 4 haben die gleichen Bezugszeichen. Aber damit die Verkehrsleiteinheit 12 dynamisch parametrisierbar wird, enthält diese Verkehrsleiteinheit einen weiteren Schalter 51, der seine Kommandos von der Verbindung 52 erhält. Diese entnimmt den Betriebskommandos 15 dasjenige, das dem auszuführenden Befehlstyp entspricht. So können für einen Operator mit mehreren Funktionen bestimmte Aufgaben eine kurze Zeit benötigen und andere eine lange Zeit. Der Schalter 51 ermöglicht es so, das Ende-der-Ausführung-Signal des Operators, das auf der Verbindung 39 erscheint, an verschiedenen Ausgängen des Schieberegisters zu entnehmen. Dadurch kann dem Operator genau die Zeit gegeben werden, die er für die Ausführung jeder Operation benötigt.
- Es ist also möglich, die Ausführungszeit eines Operators je nach Art der Operation, die er auszuführen hat, zu optimieren. Es kann sich beispielsweise um ein Rechenwerk handeln, das nacheinander eine Lögikoperation, die nur eine Basiszeitdauer erfordert, und danach eine arithmetische Operation auszuführen hat, die mit der Laufzeit des Übertrags mehrere Basiszeitdauern benötigt. Diese Programmierung erlaubt es, nur die notwendige Zahl Basiszeitdauern zu verwenden.
- Im allgemeinen ist für jede Verkehrsleiteinheit die Zahl der Eingangsschaltkreise mit der Zahl der Datenwege, die mit dem Eingang des Operators verbunden sind, identisch. Ebenso ist die Zahl der Ausgangsschaltkreise mit der Zahl der Bestimmungen für die von dem Operator gelieferten Daten identisch. Schließlich ermöglicht die Zahl der Schieberegister, die Zeitdauer, in Form halber Haupttaktdauern, festzulegen, die dem Operator zur Ausführung der von ihm geforderten Funktion zugestanden wird.
- Das Prinzip des Protokolls pro Semaphor nutzt die beiden Logikzustände des Semaphors, je nachdem, ob der Austausch aus Richtung oder in Richtung der anderen Verkehrsleiteinheit stattfindet. Figur 6 gibt ein Beispiel für die Realisierung dieser Änderung des Logikzustands. Angenommen, das Eingangssteuersignal zum Semaphorfreigeben 33 habe den Logikzustand 0. Wenn das Signal CE&sub1; und der Eingangssemaphor SE&sub1; im Logikzustand 1 sind, hat das Triggersignal 37 den hohen Zustandspegel und das Protokoll läuft ab, wie zuvor beschrieben. Wenn das Signal zum Semaphorfreigeben 33 den Logikzustand 1 entsprechend dem beschriebenen Prozeß passiert, wird der Logikpegel des Semaphors SE&sub1; von dem MOS-Transistor 60 erniedrigt, wodurch an die vorhergehende Verkehrsleiteinheit die Mitteilung übertragen wird, daß der Operator keine Eingangsdaten mehr benötigt, und so die vorhergehende Verkehrsleiteinheit freigegeben wird.
- Figur 7 zeigt als sehr vereinfachtes Beispiel eine fiktive Datenverarbeitungskette, in der verschiedene Operatorarten dargestellt werden:
- - das Modul 70 ist ein ROM mit nur einem Datenausgangsbus,
- - die Module 71 und 75 sind Register mit je einem Dateneingangsbus und einem Datenausgangsbus,
- - das Modul 72 ist ein Rechenwerk mit zwei Eingangsbussen und einem Ausgangsbus,
- - das Modul 74 ist ein RAM mit einem Dateneingangsbus und einem Datenausgangsbus.
- Mit Hilfe der Steuersignale und der von der Steuereinheit gelieferten Betriebskommandos, führt die Schaltung beispielsweise die folgenden Operationen aus:
- - das Modul 70 (ROM) überträgt seine Daten zum Modul 71 (Register), das sie speichert,
- - das Modul 71 überträgt seine Daten, unter Beibehaltung der Daten an den Ausgängen, zum Modul 72 (Rechenwerk ohne Speicherung),
- - das Modul 74 überträgt seine Daten zum Modul 72,
- - das Modul 72 berechnet die Ergebnisse und überträgt sie zum Modul 75 (Register), das sie speichert, das Modul 72 überträgt auch die Ergebnisse zum Modul 73 (Zähler), das das Zurücksetzen des Semaphors auf Null in bezug auf das Modul 75 (Register) verzögert,
- - das Modul 75 (Register) bietet die Daten dem Modul 74 (RAM) an,
- - das Modul 73 (Zähler) gibt den Semaphor frei, wodurch Modul 72 die Semaphore 82 und 84 freigeben kann,
- - das Modul 74 (RAM) geht in den Schreibbetrieb über, speichert das Datensignal und gibt den Semaphor frei.
- Jede in der Figur 7A gegebene Darstellung der Module 70 bis 75 unterteilt sich in einen oberen Teil 12-0 bis 12-5, der die Verkehrsleiteinheit darstellt, und einen unteren, den Operator darstellenden Teil 13-0 bis 13-5.
- Das Zeitdiagramm dieses Beispiels ist in Figur 7B wiedergegeben, soweit es den Austausch der Semaphore 81 bis 86 für den Fall der gerade beschriebenen Funktionsweise betrifft.
Claims (15)
1. Integrierte Schaltung zur digitalen Datenverarbeitung, mit arithmetischen
Operatoren (13, 13a, 13b), logischen Operatoren, Speicheroperatoren, Eingangs-
/Ausgangsoperatoren, die alle von einem Taktgeber (16) und von einer Steuereinheit
(10), die Befehle (20) eines Befehlsgenerators erhält und an die Operatoren
Betriebskommandos (15) übermittelt, gesteuert werden, dadurch gekennzeichnet, daß die
integrierte Schaltung mindestens einen Operator (13, 13a, 13b) enthält, der mit einer
Verkehrsleiteinheit (12) versehen ist, die i Eingangssemaphore (SEi) empfängt und j
Ausgangssemaphore (SSj) aussendet, mit i und j ungleich Null, wobei die
Verkehrsleiteinheit von der Steuereinheit (10) i Eingangssteuersignale (14) und
mindestens ein Ausgangssteuersignal (14) für die Daten des Operators empfängt, und,
nach Empfang mindestens eines von einer vorhergehenden Verkehrsleiteinheit (12a)
stammenden, durch sein Eingangssteuersignal (CEi), ein Neuer-Befehl-Signal (22) und
ein Operator-Freigabesignal (21), die von der Steuereinheit ausgesendet wurden, gültig
gemachten Eingangssemaphors (SEi), ihrem Operator (13) an die Funktionsparameter
des erwähnten Operators angepaßte Signale (15) liefert, und die Verkehrsleiteinheit, um
selbsttaktend arbeiten zu können, beim Abschluß der Verarbeitung durch den Operator
(13) die Ausgabe von Daten durch den Operator an mindestens einen folgenden
Operator (13b) freigibt, indem sie mindestens einen von einem Ausgangssteuersignal
gültig gemachten Ausgangssemaphor (SSj) aussendet, wobei der Ausgangssemaphor
(SSj) nach mindestens einer folgenden Verkehrsleiteinheit (12b) übertragen wird, damit
diese folgende Verkehrsleiteinheit (12b) ihren eigenen Operator (13b) zum Empfang der
erwähnten Daten einstellt, wobei die erwähnte Verkehrsleiteinheit (12) auch Mittel (38)
enthält zur Inversion des Lögikzustandes der bereits von ihren Eingangssteuersignalen
gültig gemachten Eingangssemaphoren (SEi), wenn der Operator (13) keine
Eingangsdaten mehr benötigt, um dies den betreffenden vorhergehenden
Verkehrsleiteinheiten (12a) zu melden, und Mittel (30, 31) zum Empfang der gültig
gemachten Ausgangssemaphore, deren Logikzustand von den darauffolgenden
Verkehrsleiteinheiten (12b) invertiert ist (50, 46, 36, 38), wobei die erwähnten
Empfangsmittel zur Steuereinheit ein Ende-der-Ausführung-Signal (23) zurücksenden,
die Übertragung der Semaphore hintereinander bis zur letzten Verkehrsleiteinheit abläuft
und die integrierte Schaltung aus jeweils dem Operator (13) und seiner
Verkehrsleiteinheit (12) bestehende Module (11) enthält, welche Module über ihre
Operatoren Daten und über ihre Verkehrsleiteinheiten Semaphore austauschen, wodurch
für jedes Modul eine selbsttaktende Ablaufsteuerung sichergestellt ist, wobei die Module
und die Steuereinheit von dem Taktgeber und dem Befehlsgenerator gesteuert werden.
2. Integrierte Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß sie
außerdem mindestens einen Operator enthält, der mit einer Verkehrsleiteinheit versehen
ist, die Steuersignale von der Steuereinheit empfängt und, nach dem Empfang
mindestens eines von einem Eingangssteuersignal, einem Neuer-Befehl-Signal und einem
Operator-Freigabesignal, die von der Steuereinheit ausgesendet wurden, gültig
gemachten Eingangssemaphors, ihrem Operator an Funktionsparameter des erwähnten
Operators angepaßte Signale liefert, und die Verkehrsleiteinheit, um eine selbsttaktende
Ablaufsteuerung sicherzustellen, beim Abschluß der Bearbeitung durch den Operator an
die Steuereinheit ein Ende-der-Ausführung-Signal (23) zurücksendet, wobei die
Verkehrsleiteinheit auch Mittel (50, 33, 31, 30) enthält zur Inversion des
Logikzustandes der bereits von ihren Eingangssteuersignalen (CE&sub1;, CE&sub2;) gültig
gemachten Eingangssemaphoren, wenn der Operator (13) keine Eingangsdaten mehr
benötigt, um dies den betreffenden vorhergehenden Verkehrsleiteinheiten (12a) zu
melden.
3. Integrierte Schaltung nach einem der Ansprüche 1 oder 2, dadurch
gekennzeichnet, daß sie außerdem mindestens einen Operator enthält, der mit einer
Verkehrsleiteinheit versehen ist, die Steuersignale der Steuereinheit empfängt und die,
nach dem Empfang eines Neuer-Befehl-Signals und eines Operator-Freigabesignals, die
von der Steuereinheit ausgesendet wurden, ihrem Operator an Funktionsparameter des
erwähnten Operators angepaßte Signale liefert, und die Verkehrsleiteinheit, um eine
selbsttaktende Ablaufsteuerung sicherzustellen, am Abschluß der Verarbeitung durch
den Operator die Ausgabe der Daten durch den Operator an mindestens einen folgenden
Operator freigibt, und mindestens einen von einem Ausgangssteuersignal gültig
gemachten Ausgangssemaphor aussendet, wobei der Ausgangssemaphor nach mindestens
einer folgenden Verkehrsleiteinheit übertragen wird, damit diese folgende
Verkehrsleiteinheit ihren eigenen Operator zum Empfang der erwähnten Daten einstellt,
wobei die erwähnte Verkehrsleiteinheit auch Mittel zum Empfang der gültig gemachten
Ausgangssemaphore, deren Logikzustand von den darauffolgenden Verkehrsleiteinheiten
invertiert ist, enthält, wobei die erwähnten Empfangsmittel ein Ende-der-Ausführung-
Signal an die Steuereinheit zurücksenden.
4. Integrierte Schaltung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß die von der Verkehrsleiteinheit an ihren Operator gelieferten,
angepaßten Signale parametrierbar (51, 45&sub1; - 45&sub4;, 36&sub1; - 36&sub4;) sind, damit sie an die jedem
Operator eigenen Parameter angepaßt werden können, wobei diese Parameter die
Funktion und die Verarbeitungszeit für jeden Operator definieren.
5. Integrierte Schaltung nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß jede Verkehrsleiteinheit von der Steuereinheit ihr Neuer- Befehl-
Signal (22) empfängt und ihr Ende-der-Ausführung-Signal (23) in Form eines
Semaphors (25) aussendet, dessen Logikzustand durch die Verkehrsleiteinheit invertiert
werden kann, um der Steuereinheit (10) die Nachricht vom Ende der Ausführung zu
übermitteln.
6. Integrierte Schaltung nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß in einer Kette von Operatoren der Ordnung n bis (n+p), mit n und
p ganzzahlig und ungleich Null, der Operator der Ordnung n mit dem Operator der
Ordnung (n+p) über einen Datenauslesebus gekoppelt wird.
7. Integrierte Schaltung nach einem der Ansprüche 1 bis 6, dadurch
gekennzeichnet, daß die Verkehrsleiteinheit i Eingangsfreigabeschaltkreise (30, 31)
enthält, von denen jeder einen der i Eingangssemaphore (SE&sub1;, SE&sub2;) und eines der i
Eingangssteuersignale (CE&sub1;, CE&sub2;) empfängt, sowie j Ausgangsfreigabeschaltkreise (40,
41), von denen jeder eines der Ausgangssteuersignale (CS&sub1;, CS&sub2;) sowie das Signal des
Endes der Bearbeitung durch den Operator empfängt, und die jeweils einen der j
Ausgangssemaphore liefern, wobei die Eingangsfreigabeschaltkreise einen
Impulsgenerator (35) ansteuern, der von dem Neuer-Befehl-Signal (22) und dem
Freigabesignal des Operators gesteuert wird, und die mit einem Schieberegister (36&sub1; -
36&sub4;) von k Stufen, das die an die Funktionsparameter des Operators angepaßten Signale
sowie das Signal des Endes der Bearbeitung durch den Operator liefert, gekoppelt ist,
und die die Ausgangsfreigabeschaltkreise (40, 41) aktiviert, damit diese ihre
Ausgangssemaphore (SS&sub1;, SS&sub2;) aussenden, wobei jeder der i
Ausgangsfreigabeschaltkreise ein Mittel (30, 31, 33, 50) zur Inversion des
Logikzustandes ihres Eingangssemaphors enthält, welches Mittel für jeden ausgewählten
Eingangsfreigabeschaltkreis betriebsfähig ist, wenn ein Signal (33) zum
Semaphorfreigeben erzeugt worden ist, wobei die Verkehrsleiteinheit (12) auch einen
weiteren Impulsgenerator (38) enthält, der selbst von dem Signal des Endes der
Bearbeitung durch den Operator und von allen Ausgangssemaphoren, die zuvor gültig
gemacht wurden, nachdem sie von den folgenden Verkehrsleiteinheiten (12b) invertiert
worden sind, angesteuert wird, wobei der andere Impulsgenerator (38) das Ende-der-
Ausführung-Signal an die Steuereinheit (23) zurücksendet.
8. Integrierte Schaltung nach Anspruch 7, dadurch gekennzeichnet, daß,
wenn der Operator über eine interne Speicherung verfügt, das Signal zum Freigeben der
Semaphore, das auf die i Eingangsfreigabeschaltkreise wirkt, durch die Freigabe des
Endes der Bearbeitung durch den Operator erhalten wird, wobei ein Ausgang des
Schieberegisters mit den Eingangsfreigabeschaltkreisen gekoppelt wird.
9. Integrierte Schaltung nach Anspruch 7, dadurch gekennzeichnet, daß,
wenn der Operator nicht über eine interne Speicherung verfügt, das Signal zum
Freigeben der Semaphore, das auf die i Eingangsfreigabeschaltkreise wirkt, durch
Kopplung des Ausgangs des anderen Impulsgenerators mit den
Eingangsfreigabeschaltkreisen erhalten wird, damit die Freigabe nur stattfinden kann,
wenn die folgende Verkehrsleiteinheit den invertierten Semaphor zurückgesendet hat.
10. Integrierte Schaltung nach einem der Ansprüche 7 bis 9, dadurch
gekennzeichnet, daß die Anzahl der Stufen und die Anzahl der Ausgänge des
Schieberegisters durch die Funktion und die Bearbeitungszeit des Operators bestimmt
sind.
11. Integrierte Schaltung nach Anspruch 10, dadurch gekennzeichnet, daß die
Steuereinheit an die Verkehrsleiteinheit ein Operationstypsignal liefert, damit während
einer beliebigen Operation eines Operators die Zahl der betroffenen Stufen des
Schieberegisters parametriert wird, so daß die zulässige Dauer der Bearbeitung
möglichst gut der Zeit, die der Operator für diese Operation benötigt, angenähert wird.
12. Integrierte Schaltung nach einem der Ansprüche 5 bis 11, dadurch
gekennzeichnet, daß für jede Verkehrsleiteinheit das Neuer-Befehl-Signal und das Ende-
der-Ausführung-Signal taktgesteuert einen Impulsgenerator eines Steuerschaltkreises
antreiben, der einen Steuerungssemaphor aussendet, wobei der Steuerschaltkreis Mittel
zur Inversion des Logikzustandes des Semaphors und die Steuereinheit Mittel zum
Empfang des invertierten Semaphors besitzt.
13. Verfahren der Funktionsweise einer integrierten Schaltung zur digitalen
Datenverarbeitung, welche Schaltung arithmetische Operatoren, logische Operatoren,
Speicheroperatoren, Eingangs-/Ausgangsoperatoren enthält, die von einem Taktgeber
und von einer Steuereinheit, die Befehle eines Befehlsgenerators erhält und an die
Operatoren Betriebskommandos übermittelt, gesteuert werden, dadurch gekennzeichnet,
daß mindestens ein Operator mit einer Verkehrsleiteinheit versehen ist, wobei der
Operator eine Speicherungsfunktion besitzt, und das Verfahren aus den folgenden
Schritten besteht:
a. Empfang mindestens eines Eingangssemaphors (SEi) durch einen
Eingangsfreigabeschaltkreis (30, 31) der Verkehrsleiteinheit (12), welcher
Eingangssemaphor durch ein von der Steuereinheit (10) ausgesendetes
Eingangssteuersignal (CEi) gültig gemacht ist, und Aktivierung eines Impulsgenerators
(35) der Verkehrsleiteinheit,
b. Aussendung eines Impulses an den Eingang eines k-stufigen Schieberegisters
(36&sub1; - 36&sub4;) durch den Impulsgenerator (35),
c. Aussendung von an Parameter des Operators angepaßten Signalen (17) durch
das Schieberegister,
d. Aussendung eines Signals (39) der Fertigstellung der Bearbeitung durch den
Operator an mindestens einen Freigabeausgangsschaltkreis der Verkehrsleiteinheit (40,
41) durch das Schieberegister,
e. Inversion des Logikzustandes des Eingangssemaphors (SEi), wenn der Operator
keine Eingangsdaten (DEi) mehr benötigt, um an die vorhergehende Verkehrsleiteinheit
(12) die Mitteilung, daß die Daten berücksichtigt worden sind, zu übermitteln,
f. Aussendung mindestens eines Ausgangssemaphors (SSi) an mindestens eine
folgende Verkehrsleiteinheit (12b) durch die Verkehrsleiteinheit,
g. Empfang der Daten (DSj) des Operators (13) durch den folgenden Operator,
h. Sendung des Ende-der-Ausführung-Signals (23) nach Inversion des
Logikzustandes der gültig gemachten Ausgangssemaphore zur Steuereinheit (10).
14. Verfahren der Funktionsweise einer integrierten Schaltung zur digitalen
Datenverarbeitung, welche Schaltung arithmetische Operatoren, logische Operatoren,
Speicheroperatoren, Eingangs-/Ausgangsoperatoren enthält, die von einem Taktgeber
und von einer Steuereinheit, die Befehle eines Befehlsgenerators erhält und an die
Operatoren Betriebskommandos übermittelt, gesteuert werden, dadurch gekennzeichnet,
daß mindestens ein Operator mit einer Verkehrsleiteinheit versehen ist, wobei der
Operator keine Speicherungsfunktion besitzt und das Verfahren aus den folgenden
Schritten besteht:
a. Empfang mindestens eines Eingangssemaphors (SEi) durch einen
Eingangsfreigabeschaltkreis (30, 31) der Verkehrsleiteinheit (12), welcher
Eingangssemaphor durch ein von der Steuereinheit (10) ausgesendetes
Eingangssteuersignal (CEi) gültig gemacht ist, und Aktivierung eines Impulsgenerators
(35) der Verkehrsleiteinheit,
b. Aussendung eines Impulses an den Eingang eines k-stufigen Schieberegisters
(36&sub1; - 36&sub4;) durch den Impulsgenerator (35),
c. Aussendung von an Parameter des Operators angepaßten Signalen (17) durch
das Schieberegister,
d. Aussendung eines Signals (39) der Beendigung der Bearbeitung durch den
Operator an mindestens einen Freigabeausgangsschaltkreis der Verkehrsleiteinheit (40,
41) durch das Schieberegister,
e. Aussendung mindestens eines Ausgangssemaphors (SSi) an mindestens eine
folgende Verkehrsleiteinheit (12) durch die Verkehrsleiteinheit,
f. Empfang der Daten (DSj) des Operators (13) durch den folgenden Operator,
g. Empfang des invertierten Ausgangssemaphors durch die folgende
Verkehrsleiteinheit, entsprechend der Berücksichtigung der Daten durch den folgenden
Operator, und Erzeugung eines Impulses (33) zum Freigeben des Eingangssemaphors,
h. Deaktivierung des Eingangssemaphors durch Inversion des Signals, um der
vorangehenden Verkehrsleiteinheit das Ende der Bearbeitung zu melden,
i. Sendung des Ende-der-Ausführung-Signals (23) nach Inversion des
Logikzustandes der gültig gemachten Ausgangssemaphore zur Steuereinheit (10).
15. Verfahren nach einem der Ansprüche 13 oder 14, dadurch
gekennzeichnet, daß es, um das erhaltene Ergebnis am Ende einer Schleifenbearbeitung,
unter Benutzung mehrerer aus jeweils einem Operator und einer Verkehrsleiteinheit
gebildeten Module, auszulesen, einen Schritt zum Auslesen des Ergebnisses aus einem
der Module der Schleife mittels eines parallelen Auslesebusses enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8615852A FR2606902B1 (fr) | 1986-11-14 | 1986-11-14 | Circuit integre et procede de traitement numerique a module autocadence |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3779727D1 DE3779727D1 (de) | 1992-07-16 |
DE3779727T2 true DE3779727T2 (de) | 1993-01-21 |
Family
ID=9340811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873779727 Expired - Fee Related DE3779727T2 (de) | 1986-11-14 | 1987-11-11 | Integrierte schaltung und verfahren fuer zahlenverarbeitung in einem modul mit automatischer taktsteuerung. |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0269167B1 (de) |
JP (1) | JPS63170738A (de) |
DE (1) | DE3779727T2 (de) |
FR (1) | FR2606902B1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2631470A1 (fr) * | 1988-05-11 | 1989-11-17 | Labo Electronique Physique | Unite de controle d'un circuit integre de traitement de donnees |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0131658B1 (de) * | 1983-07-08 | 1987-10-28 | International Business Machines Corporation | Synchronisationsvorrichtung für ein Multiprocessing-System |
-
1986
- 1986-11-14 FR FR8615852A patent/FR2606902B1/fr not_active Expired
-
1987
- 1987-11-11 EP EP19870202188 patent/EP0269167B1/de not_active Expired - Lifetime
- 1987-11-11 DE DE19873779727 patent/DE3779727T2/de not_active Expired - Fee Related
- 1987-11-14 JP JP28649587A patent/JPS63170738A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPS63170738A (ja) | 1988-07-14 |
EP0269167B1 (de) | 1992-06-10 |
EP0269167A1 (de) | 1988-06-01 |
FR2606902B1 (fr) | 1989-02-03 |
FR2606902A1 (fr) | 1988-05-20 |
DE3779727D1 (de) | 1992-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3300261C2 (de) | ||
DE3914265C2 (de) | ||
DE2819571C2 (de) | ||
DE3638572C2 (de) | ||
EP1329816A2 (de) | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) | |
CH630735A5 (de) | Steuereinrichtung mit einem mikroprozessor. | |
DE3314917A1 (de) | Multimicroprozessor-system | |
DE3535436C2 (de) | ||
DE3241376A1 (de) | Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger | |
DE2015971A1 (de) | Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden | |
DE3400464A1 (de) | Datenuebertragungssystem | |
DE2911909C2 (de) | Digitales Datenverarbeitungsgerät | |
DE3587446T2 (de) | Signalverarbeitungsprozessor und hierarchische Multiverarbeitungstruktur mit mindestens einem solchen Prozessor. | |
DE69428953T2 (de) | Prioritätskodierer | |
DE4005042A1 (de) | Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit | |
DE3486073T2 (de) | Vektorverarbeitungsgeraet. | |
DE2252182A1 (de) | Schnittstellenmultiplexer | |
DE1524181B2 (de) | Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage | |
DE60221515T2 (de) | Speichersystem für schleifenbeschleunigung nach wunsch | |
DE4406258A1 (de) | Informationsverarbeitungsvorrichtung | |
DE2720842A1 (de) | Daten-uebertragungssystem | |
DE3779727T2 (de) | Integrierte schaltung und verfahren fuer zahlenverarbeitung in einem modul mit automatischer taktsteuerung. | |
DE68910179T2 (de) | Steuerungseinheit in einer integrierten Datenverarbeitungsschaltung. | |
DE2846686B1 (de) | Programmierbares Schaltwerk | |
DE68906224T2 (de) | Zentrale datenverarbeitungseinheit fuer ein datenverarbeitungssystem. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL |
|
8339 | Ceased/non-payment of the annual fee |