DE3619036A1 - Verfahren zur steuerung von datenverarbeitenden einrichtungen - Google Patents

Verfahren zur steuerung von datenverarbeitenden einrichtungen

Info

Publication number
DE3619036A1
DE3619036A1 DE19863619036 DE3619036A DE3619036A1 DE 3619036 A1 DE3619036 A1 DE 3619036A1 DE 19863619036 DE19863619036 DE 19863619036 DE 3619036 A DE3619036 A DE 3619036A DE 3619036 A1 DE3619036 A1 DE 3619036A1
Authority
DE
Germany
Prior art keywords
instruction
data
unit
operands
addresses
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.)
Granted
Application number
DE19863619036
Other languages
English (en)
Other versions
DE3619036C2 (de
Inventor
Eligiusz Wajda
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.)
WAJDA ELIGIUSZ DIPL ING
Original Assignee
WAJDA ELIGIUSZ DIPL ING
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 WAJDA ELIGIUSZ DIPL ING filed Critical WAJDA ELIGIUSZ DIPL ING
Priority to DE19863619036 priority Critical patent/DE3619036A1/de
Publication of DE3619036A1 publication Critical patent/DE3619036A1/de
Application granted granted Critical
Publication of DE3619036C2 publication Critical patent/DE3619036C2/de
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

Das sogenannte von-Neumann-Operationsprinzip (sh. z. B. Z80 Microcomputer Data Book, MOSTEK Corporation 1981, S.III-5 bis III-76;), zeichnet sich dadurch aus, daß in einer Anweisung nur die Operanden oder ihre Adressen, die Operation und die Adresse des Ergebnisses der Operation festgelegt sind. Die Größe und Anzahl von Operanden, die Adresse der Folgeanweisung und die Anzahl Wiederholungen der Operation an den Operanden ist bei diesem Verfahren a priori festgesetzt und in der datenverarbeitenden Einrichtung fest verdrahtet. So verarbeiten die Anweisungen ausschließlich einfache Maschinenworte. Die Anzahl der Operanden ist meistens auf zwei begrenzt und die Anzahl der Wiederholungen der Operation an den Operanden mit eins festgesetzt. Beispiele für typische Anweisungen des von-Neumann-Operationsprinzips sind: lade ein Maschinenwort von der Speichereinrichtung in Register "X", speichere den Inhalt des Registers "X" in der Speichereinrichtung, addiere, vergleiche, subtrahiere Register "X" mit Register "Y". Dadurch ist die Mächtigkeit der Anweisungen bei diesem Verfahren sehr klein.
Eine gewisse Erweiterung dieses Operationsprinzips wird dadurch erreicht, daß Anweisungen vereinbart werden, die sich nicht nur auf einzelne Maschinenworte beziehen. Mit anderen Worten, die Anweisung trägt zusätzlich eine Information, die besagt, wie viele Maschinenworte in dieser Anweisung verarbeitet werden. Dabei handelt es sich um strikt vereinbarte Zahlen (z. B. ein, zwei, vier, acht Maschinenworte). Oft werden auch Anweisungen realisiert, die die danach folgende Anweisung n mal wiederholen. Diese Anweisungen steigern lediglich die Verarbeitungsleistung der datentransformierenden Einrichtung, verändern ihr Operationsprinzip aber nicht.
Ein anderes Verfahren zur Steuerung von datenverarbeitenden Einrichtungen, das unter dem Begriff Datenstruktur- Operationsprinzip bekannt ist, basiert auf der Erkenntnis, daß in der Datenverarbeitung oft mit bekannten Datenstrukturen wie z. B. Matrizen gearbeitet wird. Dieses Verfahren unterscheidet sich von dem von-Neumann-Operationsprinzip nur dadurch, daß sich die in den Anweisungen gemachten Angaben zu den Operanden und dem Ergebnis nicht auf Maschinenworte, sondern auf die vereinbarte Datenstruktur, z. B. Matrizen, beziehen. Die mit diesem Verfahren arbeitenden datentransformierenden Einrichtungen besitzen eine große Anzahl von Registern, die in Form von Vektoren organisiert, mehrere Maschinenworte speichern und mit einer Anweisung verarbeiten können.
Ein als Datenfluß-Prinzip bezeichnetes Verfahren zur Steuerung von datenverarbeitenden Einrichtungen ist durch Einführung von Regeln gekennzeichnet, die besagen, wann jeder bei Operanden an einer Operation teilnehmen darf. Bei diesem Verfahren wird vor der Durchführung jeder Operation eine Datenabhängigkeits- Analyse durchgeführt, d. h. es wird geprüft, ob die Operanden "aktiv" sind. Die dazu benötigte Information befindet sich in einem sogenannten Datenfluß- Graph, der in der Speichereinrichtung bewahrt wird. Der Aufbau und der Informationsinhalt der einzelnen Anweisungen entspricht dem des von-Neumann- oder des Datenstruktur-Operationsprinzips.
Die vorstehend beschriebenen Verfahren zur Steuerung von datenverarbeitenden Einrichtungen haben mehrere Nachteile. Das von-Neumann-Operationsprinzip ist zwar sehr einfach und flexibel, aber seine Eigenheit, in einer Anweisung einen neuen Wert nur an ein gegebenes Objekt binden zu können, beeinträchtigt stark den Datentransport durch die Mehrfach-Leitungsanordnung. Das Datenstruktur-Operationsprinzip vermindert zwar diesen Nachteil deutlich, ist aber an feste Datenstrukturen gebunden, die von vornherein definiert sein müssen. Das Datenfluß-Prinzip stellt, wenn an eine einzige Aufgabe fixiert, meistens eine optimale Lösung für eine datenverarbeitende Einrichtung dar. Es ist jedoch sehr umständlich, eine nach diesem Operationsprinzip agierende datenverarbeitende Einrichtung auf die Lösung einer von der anderen Aufgabe umzustellen. Dadurch wird dieses Verfahren meist in Spezialprozessoren angewendet.
Es ist Aufgabe der Erfindung, ein Verfahren zur Transformation von Daten anzugeben, durch das es möglich ist, bei hoher Flexibilität hinsichtlich Datenstrukturen und Aufgabenstellung auch den Datendurchsatz wesentlich zu erhöhen.
Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1 gelöst. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprüche.
Das erfindungsgemäße Verfahren dient der Steuerung von datenverarbeitenden Einrichtungen zwecks Transformation von Daten. Diese Daten sind in Form von Ziffern in Speichereinrichtungen abgelegt. Sie werden von den Speichereinrichtungen zu datentransformierenden Einrichtungen durch die Mehrfach-Leitungsanordnung übertragen, in den datentransformierenden Einrichtungen miteinander verknüpft und die Ergebnisse der an den Daten durchgeführten Operationen werden durch die Mehrfach-Leitungsanordnung zu den Speichereinrichtungen zurück übertragen und dort gespeichert. Welche Daten zu welchem Zeitpunkt und mit welchem Alogorithmus verarbeitet werden, wird dabei in Form von Anweisungen kodiert, die größere zusammengehörende Folgen (Programme) bilden und in einer oder mehreren Speichereinrichtungen abgelegt sind. Die datentransformierenden Einrichtungen entnehmen die Anweisungen aus den Speichereinrichtungen, indem sie die Speichereinrichtungen veranlassen, die Anweisungen durch die Mehrfach-Leitungsanodnung in ihre Richtung zu übertragen. Die von den datentransformierenden Einrichtungen empfangenen Anweisungen werden in der Steuereinrichtung der datentransformierenden Einrichtung entschlüsselt und die dadurch festgelegte Operation an den in der Anweisung definierten Daten durchgeführt.
Eine datenverarbeitende Einrichtung besteht aus einer oder mehreren Speichereinrichtungen aus einer oder mehreren datentransformierenden Einrichtungen, die miteinander durch eine oder ein System von Mehrfach- Leitungsanordnungen verbunden sind. Eine Speichereinrichtung besteht aus mehreren nacheinander gereihten Zellen, in denen Werte gespeichert werden, die als binäre Ziffer kodiert sind. Die Speichereinrichtung ist in der Lage, auf Anforderung den Inhalt einer Zelle durch die Mehrfach-Leitungsanordnung zu liefern. Welche der Zellen ausgelesen wird, entscheidet die durch die Mehrfach-Leitungsanordnung zugeführte Adresse der Speicherzelle. Ebenso kann eine Speichereinrichtung auf Anforderung ihr zugeführte Werte in Zellen speichern, deren Adresse bei der Einlieferung angegeben wurde. Eine datentransformierende Einrichtung besteht aus einer Kontrolleinrichtung und einer oder mehreren artihmetisch-logischen Einrichtungen (ALU). Die Kontrolleinrichtung besitzt die Motorik, die Anweisungen aus der Speichereinrichtung zu lesen, sie zu dekodieren und anhand der auf diese Weise gewonnenen Information die Aktivitäten der gesamten datenverarbeitenden Einrichtung zu steuern. Die arithmetisch-logische Einrichtung führt die arithmetisch-logischen Operationen mit den Operanden durch, die ihr von der Kontrolleinrichtung zugeführt werden.
Die mit der Erfindung verbundenen Vorteile bestehen insbesondere darin, daß es bei diesem Verfahren möglich ist, eine Operation mit einer einzigen Anweisung auf über die Speichereinrichtung frei verteilte Daten anzuwenden, die eine beliebige Struktur haben. Wesentliches Merkmal der Erfindung dabei ist, daß während der Anwendung der Operation an komplexen Datenstrukturen keine weiteren Anweisungen oder ihre Elemente aus der Speichereinrichtung gelesen und in der Kontrolleinrichtung interpretiert werden müssen. Die Mehrfach-Leitungsanordnung ist zu dieser Zeit für den Transport von Daten verfügbar. Eine neue Anweisung wird erst dann aus der Speichereinrichtung gelesen, wenn die in der verarbeitenden Anweisung definierte Operation auf alle in dieser Anweisung referierte Daten angewandt wurde. Damit die daraus resultierenden Vorteile voll genutzt werden, sollte die datentransformierende Einrichtung die Operanden-Adressen mit Hilfe eines freiprogrammierbaren Adressgenerators erzeugen, der parallel zu allen übrigen Komponenten der datentransformierenden Einrichtung arbeitet. Ferner sollte auf interne und in einer Anweisung ansprechbare Datenregister verzichtet werden.
Eine nach den erfindungsgemäßen Verfahren arbeitende Einrichtung wird im folgenden an Hand der Figuren beschrieben. Es zeigen:
Fig. 1 ein Übersichtsbild der Einrichtung,
Fig. 2 die Datenstromeinheit in der Einrichtung nach Fig. 1,
Fig. 3 die Bedingungseinheit in der Einrichtung nach Fig. 1,
Fig. 4 die Befehlseinheit in der Einrichtung nach Fig. 1,
Fig. 5 den Verarbeitungsprozessor in der Einrichtung nach Fig. 1,
Fig. 6 ein Zeitdiagramm zur Darstellung nach Fig. 1 und
Fig. 7 eine Darstellung der Ablaufsequenz eines Verarbeitungsschrittes bei dem erfindungsgemäßen Verfahren.
Wie Fig. 1 zeigt, kommuniziert die Speichereinheit M, die der Speicherung von Daten und Programmen dient, mit der Datenstromeinheit DSE und der Befehlseinheit BE durch das Schreib/Lese-Signal 3 und die Strobe-Signale 4 und 7 über die Mehrfach-Leitungsanordnungen 1, 2, 5, 6 Die Mehrfach-Leitungsanordnung 1 ist bidirektional und dient der Übertragung der Daten von und zur Speichereinrichtung. Die Mehrfach-Leistungsanordnung 2 ist unidirektional und überträgt die Adressen der zu schreibenden bzw. zu lesenden Daten. Das Schreib/Lese-Signal 3 ist unidirektional und veranlaßt, daß die Daten aus der Speichereinheit M ausgelesen oder in die Speichereinheit eingeschrieben werden. Das Strobe-Signal 4 ist bidirektional und signalisiert die Gültigkeit der auf der Mehrfach-Leitungsanordnung 2 anstehenden Adresse bzw. der auf der Mehrfach-Leitungsanordnung 1 anstehenden Daten.
Die Mehrfach-Leitungsanordnungen 5, 6 und das Strobesignal 7 dienen als Befehlstransportweg (sh. Fig. 6) und leiten die Anweisungen, die von der Speichereinheit M zu der Befehlseinheit BE übertragen werden. Die Mehrfach-Leitungsanordnung 6 ist unidirektional und dient zur Übertragung von Befehlsadressen. Das Strobe-Signal 7 ist unidirektional und kennzeichnet, wann sich ein gültiger Befehl auf der Mehrfach-Leitungsanordnung 5 bzw. eine gültige Adresse auf der Mehrfach-Leitungsanordnung 6 befindet.
Die Speichereinheit M verhält sich gegenüber der Datenstromeinheit DSE und der Befehlseinheit BE als "passive" Komponente, d. h. sie liest bzw. schreibt die Daten und/oder liest die Anweisungen nur auf Anforderung der Datenstromeinheit DSE bzw. der Befehlseinheit BE.
Das Lesen oder Schreiben von Daten wird von der Datenstromeinheit DSE veranlaßt. Die Befehlseinheit BE veranlaßt das Lesen von Anweisungen. Die Speichereinheit M besteht aus mehreren nacheinandergeordneten Speicherzellen, von denen jeder eine feste Adresse zugeordnet wird, und aus einer Speicherverwaltung MMU, die den gesamten Speicherraum verwaltet. Das Ansprechen einer Speicherzelle erfolgt durch die Angabe ihrer Adresse. Soll die Speicherzelle geschrieben werden, so ist die Angabe des zu schreibenden Wertes erforderlich.
Die Datenstromeinheit DSE erzeugt die Datenströme X, Y, Z, die über die Mehrfach-Leitungsanordnungen 16, 17, 18 übertragen werden und in dem Verarbeitungsprozessor VP transformiert werden (Fig. 1 und 2). Der gesamte Arbeitszyklus der Datenstromeinheit (Zeile 8 in Fig. 6) kann in zwei aufeinander folgende Zeitphasen unterteilt werden, nämlich die Programmierphase PPh und die Arbeitsphase APh. Die Datenstromeinheit DSE wird von der Befehlseinheit BE mit Hilfe des Strobe-Signals SS 8 in eine dieser beiden Zeitphasen versetzt.
Während der Arbeitsphase APh liest die Datenstromeinheit DSE sequentiell mit voreingestelltem Schritt Datenelemente aus der Speichereinheit M und parallelisiert sie zu den Datenströmen X, Y, die sie über die Mehrfach-Leitungsanordnung 16, 17 zu dem Verarbeitungsprozessor VP abgibt. Simultan dazu empfängt die Datenstromeinheit DSE den von dem Verarbeitungsprozessor VP ankommenden Datenstrom Z, der ihr über die Mehrfach-Leitungsanordnung 18 zugeführt wird, und speichert die einzelnen Elemente dieses Datenstromes in der Speichereinheit M.
Um eines der Elemente der Datenströme X, Y aus der Speichereinheit zu lesen, gibt die Datenstromeinheit DSE dem Schreib/Lese-Signal 3 den logischen Zustand "READ", legt die Adresse des gewünschten Datenelementes an die Mehrfach-Leitungsanordnung 2, aktiviert kurz das Strobesignal SS 4, das die Speichereinheit M zur Übernahme der Zustände der Mehrfach- Leitungsanordnung 2, des Schreib/Lese-Signals 3 und zur Durchführung der Leseoperation veranlaßt, und wenn das Strobe-Signal SS 4 von der Speichereinheit aktiviert wird, übernimmt die Datenstromeinheit DSE den auf der Mehrfach-Leistungsanordnung 1 anstehenden Wert, der dem zu lesenden Element der Datenströme X, Y entspricht (Fig. 6).
Beim Einschreiben eines Elements in die Speichereinheit des Datenstromes Z setzt die Datenstromeinheit DSE das Schreib/Lese-Signal 3 in den logischen Zustand "WRITE", legt die Adresse dieses Elements an die Mehrfach-Leitungsanordnung 2 und dessen Wert an die Mehrfach-Leitungsanordnung 1 an, und erzeugt anschließend das Strobe-Signal SS 4, das die Speichereinheit zur Übernahme der Werte von den Mehrfach- Leitungsanordnungen 1, 2 und des Schreib/Lese-Signals 3 und zur Durchführung der Schreiboperation veranlaßt.
Um die Elemente der Datenströme X, Y dem Verarbeitungsprozessor VP zu übergeben, legt die Datenstromeinheit DSE das Element des Datenstromes X an die Mehrfach-Leitungsanordnung 16 und das Element des Datenstromes Y an die Mehrfach-Leitungsanordnung 17 an und aktiviert das Strobe-Signal auf 19. Wenn das READY-Signal 20 aktiv wird, übernimmt die Datenstromeinheit DSE das auf der Mehrfach-Leitungsanordnung 18 anstehende Element des Datenstromes Z und speichert es in der Speichereinheit (Fig. 6). Während der Arbeitsphase der Datenstromeinheit DSE sind die Mehrfach-Leitungsanordnungen 9, 10 und das Strobe-Signal auf 11 inaktiv und werden von der Datenstromeinheit DSE nicht ausgewertet.
Die Mehrfach-Leitungsanordnungen 13, 14, 15 und das Strobe-Signal auf 12 dienen der Übertragung der Inhalte der internen Register der Datenstromeinheit DSE zu der Bedingungseinheit BDE. Das Strobe-Signal auf 12 wird von der Steuerung der Datenstromeinheit DSE erzeugt und signalisiert, wann die Bedingungseinheit BDE die Inhalte der Pointerregister von den Mehrfach-Leitungsanordnungen 13, 14, 15 übernehmen darf.
Während der Programmierphase empfängt die Datenstromeinheit DSE auf den Mehrfach-Leitungsanordnungen 9, 10 Werte, die von der Befehlseinheit BE ankommen und in ihre internen Register geladen werden (Fig. 6), wobei durch die Mehrfach-Leitungsanordnung 9 der Inhalt des Registers und durch die Mehrfach- Leitungsanordnung 10 die Adresse des Registers übertragen wird. Das Strobe-Signal auf 11 dient zur Synchronisation des Datenaustausches.
Die Datenstromeinheit DSE (Fig. 2) besteht aus drei Pointerregistern PA, PB, PC, drei Addierern AD 1, AD 2, AD 3, drei Konstantenregistern KA, KB, KC, einem Zwischenspeicher ZS für die Datenströme mit Adressdekoder ADC, einem Multiplexer MUX und einem Steuerwerk SW.
Die Pointerregister PA, PB, PC, enthalten die aktuellen Adressen der Elemente der Datenströme X, Y, Z, d. h. die Adressen der Elemente, auf die zugegriffen wird. Diese Adressen sind in Fig. 2 mit Ad a, Ad b und Ad c bezeichnet.
Die Addierer AD 1, AD 2, AD 3 und die Konstantenregister KA, KB, KC nehmen an der Errechnung der Folgeadressen der Elemente der Datenströme teil. Im Zwischenspeicher ZS für die Datenströme werden die Elemente der Datenströme X, Y, Z zwecks Synchronisierung der Speichereinheit M mit dem Verarbeitungsprozessor VP und Verkürzung der durchschnittlichen Zugriffszeiten zwischengespeichert. Der Adressdekoder ADC erkennt, ob die Adresse des Elementes der Datenströme, auf die zugegriffen wird, innerhalb des Zwischenspeichers ZS liegt. Ist dies der Fall, wird der Zugriff innerhalb des Zwischenspeichers ZS abgewickelt. Im anderen Fall wird das Element von der Speichereinheit M gelesen oder in die Speichereinheit M geschrieben.
Der Multiplexer MUX ermöglicht der Befehlseinheit BE, die Inhalte der Pointerregister PA, PB, PC und der Konstantenregister KA, KB, KC zu lesen oder sie zu verändern.
Das Steuerwerk SW der Datenstromeinheit DSE regelt den Arbeitsablauf der Datenstromeinheit DSE. Das Signal 8 kennzeichnet, ob die Datenstromeinheit DSE von der Befehlseinheit programmiert wird, oder ob sie die Erzeugung der Datenströme X, Y, Z durchführen soll. Während der Programmierphase aktiviert das Steuerwerk SW mi dem Signal S 9 den Multiplexer MUX und abhängig davon, welches der Register auf der Mehrfach-Leitungsanordnung 10 kodiert ist, erzeugt er eines der Signale S 3, S 5, S 7, um den durch die Mehrfach-Leitungsanordnung 9 ankommenden Wert in eines der Register PA, PB, PC zu übernehmen. Die anderen Signale, die in der Datenstromeinheit DSE erzeugt werden, bleiben in der Programmierphase inaktiv.
Während der Arbeitsphase führt das Steuerwerk SW der Datenstromeinheit DSE sukzessiv die Schritte der Kontrollsequenz durch, die die Datenströme X, Y, Z erzeugt. Die Schritte sind:
  • 1. Lesen des Folgeelements des Datenstromes X, dessen Adresse des Pointerregister PA enthält.
  • 2. Inkrementieren des Inhaltes des Pointerregisters PA um den Inhalt des Konstantenregisters KA.
  • 3. Überprüfen, ob der Verarbeitungsprozessor VP das Anstehen eines neuen Elementes des Datenstromes Z auf der Mehrfach-Leitungsanordnung 18 mit aktivem READY-Signal 20 signalisiert. Ist dies der Fall, wird das Element unter der Adresse gespeichert, die das Pointerregister PC enthält, und anschließend der Inhalt des Pointerregisters PC um den Inhalt des Konstantenregisters KC inkrementiert.
  • 4. Lesen des Folgelementes des Datenstromes Y, dessen Adresse das Pointerregister PB enthält.
  • 5. Inkrementieren des Inahltes des Pointerregisters PB um den Inhalt des Konstantenregisters KB.
  • 6. Durch Aktivieren des Strobe-Signals SS 3 wird dem Verarbeitungsprozessor VP signalisiert, daß auf den Mehrfach-Leitungsanordnungen 16, 17, Folgeelemente der Datenströme X, Y anstehen.
  • 7. Durchführen des Kontrollschrittes 3.
  • 8. Überprüfen, ob das START/STOP-Signal 8 immer noch aktiv ist, und wenn ja Wiederholen der Kontrollsequenzen 1 bis 8. Ist das Signal 8 nicht mehr aktiv, leitet das Steuerwerk SW die Programmierphase ein.
Das Steuerwerk SW der Datenstromeinheit DSE inkrementiert die Inhalte der Pointerregister PA, PB, PC um die Inhalte der Konstantenregister KA, KB, KC, indem es die Signale S 3 bis S 8 erzeugt, die die Addierer AD 1, AD 2, AD 3 aktivieren und die Übernahme der Additionsergebnisse der Inhalte der Pointerregister PA, PB, PC und der Inhalte der Konstantregister KA, KB, KC in die Pointerregister PA, PB, PC veranlassen. Zusätzlich erzeugt das Steuerwerk SW bei jeder Änderung der Inhalte der Pointerregister PA, PB, PC das Strobe-Signal auf 12, das der Bedingungseinheit BDE diese Änderung mitteilt. Um ein Element der Datenströme zu lesen bzw. zu schreiben, aktiviert das Steuerwerk die Signale S 0, S 1, die dem Adressdekoder ADC angeben, mit welchem Pointerregister, PA, PB, PC gearbeitet werden soll. Für die Pointerregister PA, PB wird automatisch die Leseoperation ausgeführt. Mit dem Pointerregister PC ist immer eine Schreiboperation verbunden.
Der Verarbeitungsprozessor VP transformiert die von der Datenstromeinheit DSE durch die Mehrfach-Leitungsanordnungen 16, 17 ankommenden Datenströme X, Y, und wenn die zur Zeit ausgeführte Transformation der Datenströme X, Y eine generische Transformation ist, erzeugt der Verarbeitungsprozessor VP den Datenstrom Z, den er durch die Mehrfach-Leitungsanordnung 18 zu der Datenstromeinheit DSE zurückleitet (Fig. 1 und 5). Der Verarbeitungsprozessor VP erkennt die Abholbereitschaft der auf den Mehrfach- Leitungsanordnungen anstehenden Elemente der Datenströme X, Y anhand des Strobe-Signals auf 19 (Fig. 6). Ebenso signalisiert der Verarbeitungsprozessor VP der Datenstromeinheit DSE die Abholbereitschaft der aufeinander folgenden Elemente des Datenstromes 7 mit Hilfe des READY-Signals 20 (Fig. 6).
Auf der Mehrfach-Leitungsanordnung 21 empfängt der Verarbeitungsprozessor VP den von der Befehlseinheit BE ankommenden Operationscode der Transformation, die mit den Elementen der Datenströme X, Y durchgeführt werden soll. Das Strobe-Signal auf 32 besagt, wann sich der Operationscode einer neuen Transformation auf der Mehrfach-Leitungsanordnung 21 befindet (Fig. 6).
Auf den Mehrfach-Leitungsanordnungen 22, 23, 24, 25 sendet der Verarbeitungsprozessor VP zu der Bedingungseinheit BDE entsprechend den Datenstrom X, den Datenstrom Y, den Datenstrom Z, und die mit den Elementoperationen des Verarbeitungsprozessors VP assoziierten Merker. Durch Aktivieren des Strobe- Signals auf 26 informiert der Verarbeitungsprozessor VP die Bedingungseinheit BDE, wann sich auf den Mehrfach-Leitungsanordnungen 22, 23, 24, 25 gültige Werte der Datenströme X, Y, Z und der Merker befinden.
Der Verarbeitungsprozessor VP (Fig. 5) besteht aus einem Arithmetikprozessor ARP 1 für Vektoroperationen, einem Arithmetikprozessor ARP 2 für Skalaroperationen, einem Vergleichsprozessor VGP, einer Kontrollogik CTL des Verarbeitungsprozessors VP, einem Operationsregister OPR, einem Merkerregister MKR und zwei Pufferregistern BU 1 und BU 2.
Der Arithmetikprozessor ARP 1 für Vektoroperationen führt arithmetische und/oder logische Operationen mit Datenströmen X, Y aus, deren Elemente Vektoren sind. Der Arithmetikprozessor ARP 2 für Skalaroperationen führt arithmetische und/oder logische Operationen mit Datenströmen X, Y aus, deren Elemente Skalare sind. Der Vergleichsprozessor VGP ermittelt die Ähnlichkeit der Datenströme X, Y. Es ist zu erkennen, daß für die kommerzielle Datenverarbeitung nur der Arithmetikprozessor ARP 2 für Skalaroperationen ausreichen würde. Die verbleibenden Prozessoren, der Arithmetikprozessor ARP 1 für Vektoroperationen und der Vergleichsprozessor VGP zielen auf Anwendungen technisch-wissenschaftlicher Berechnungen und der künstlichen Intelligenz. Das Operationsregister OPR speichert den Code der auszuführenden Operation.
Das Merkerregister MKR enthält Merker, die etwas über den Verlauf oder den Zustand der auszuführenden Operation aussagen (z. B. Zero, Overflow, Carry).
Die beiden Pufferregister BU 1 und BU 2 speichern zeitweilig die Elemente der Datenströme X, Y. Die Kontrollogik CTL des Verarbeitungsprozessors VP koordiniert die Arbeitsweisen der Arithmetikprozessoren ARP 1 und ARP 2 und des Vergleichsprozessors VPG. Erkennt die Kontrollogik CTL, daß das Strobe-Signal auf 32 aktiv wird, so erzeugt sie das Signal S 20, um den Code der Operation in das Operationsregister OPR zu übernehmen. Immer wenn das Strobe-Signal auf 19 aktiv wird, veranlaßt die Kontrollogik CTL einen der Prozessoren, die Operation mit den Elementen durchzuführen, die auf den Mehrfach-Leitungsanordnungen 16, 17 anstehen. Gleichzeitig werden die Elemente der Datenströme X, Y mit dem Signal S 21 in die Pufferregister BU 1, BU 2 übernommen. Welcher der Prozessoren aktiviert wird, hängt direkt von der Operation ab. Alle Vektoroperationen führt der Arithmetikprozessor ARP 1 für Vektoroperationen durch, die Skalaroperationen führt der Arithmetikprozessor ARP 2 für Skalaroperationen durch, und die Vergleichsoperationen führt der Vergleichsprozessor VGP durch. Wenn die ausgeführte Operation generisch war, erzeugt die Kontrollogik CTL des Verarbeitungsprozessors VP das READY-Signal 20, das der Datenstromeinheit DSE die Abholbereitschaft des Operationsergebnisses (Element des Datenstromes Z) mitteilt. Parallel dazu werden mit dem Signal S 19 die Merker in das Merkeregister MKR übernommen und mit dem Strobe-Signal auf 26 der Bedingungseinheit BDE mitgeteilt, daß auf den Mehrfach- Leitungsanordnungen 22, 23, 24, 25 neue Werte anstehen.
Die Bedingungseinheit BDE entscheidet darüber, wann die Ausführung der gerade zu verarbeitenden Anweisung beendet und die Ausführung einer neuen Anweisung begonnen werden soll (Fig. 1 u. 3). Die Entscheidung trifft die Bedingungseinheit BDE anhand einer Klausel, die ihr von der Befehlseinheit BE zugeführt wird. Die Klausel besteht aus Operanden, Vergleichsoperatoren und logischen Operatoren. Die Operanden können die Elemente der Datenströme X, Y, Z, die Inhalte der internen Register der datentransformierenden Einrichtung (z. B. Pointerregister PA, PB, PC, Merkerregister MKR) oder beliebige in der Klausel genannte Zahlen sein. Die Vergleichsoperatoren definieren die Relation zweier Operanden zueinander (z. B. gleich, ungleich, kleiner, größer, usw.). Der Einheit halber werden sie durch Symbole (z. B. =, ¢,≦ωτ,≦λτ repräsentiert. Ein Vergleichsoperator verbindet immer zwei Operanden, woraus ein logischer Operand entsteht (z. B. Pointer PA Pointer PC, Merkerregister MKR = 200). Der logische Operand nimmt den logischen Wert "TRUE" ein, wenn die Operanden das durch den Vergleichsoperator definierte Verhältnis zueinander erfüllen. Im anderen Fall nimmt der logische Operand den logischen Wert "FALSE" ein. Die logischen Operatoren verknüpfen die logischen Operanden miteinander und sagen etwas über die logische Verbindung der logischen Operanden aus (z. B. und, oder, aber nicht, nicht, usw.). Sie werden durch Symbole, wie AND, OR, EXOR, NOT repräsentiert (z. B. Pointer PA ¢ Pointer PB AND Pointer PC 3000 OR Merkerregister = 10).
Die Klausel wird der Bedingungseinheit BDE von der Befehlseinheit BE über die Mehrfach-Leitungsanordnungen 27, 28 zugefügt. Die Klauselelemente werden über die Mehrfach-Leitungsanordnung 27 geleitet. Die Adressen der internen Register der Bedingungseinheit BDE, in denen diese Klauselemente gespeichert werden sollen, werden über die Mehrfach-Leitungsanordnung 28 übertragen. Das Strobe-Signal SS 8 (31) wird in der Befehlseinheit BE erzeugt und gibt der Bedingungseinheit BDE an, wann sich auf den Mehrfach-Leitungsanordnungen 27, 28 gültige Werte befinden. Die Mehrfach-Leitungsanordnung 29 gibt das Ergebnis der Prüfung, die die Bedingungseinheit BDE der vorher geladenen Klausel entsprechend mit den durch die Mehrfach-Leitungsanordnungen 13, 14, 15, 22, 23, 24, 25 sukzessiv ankommenden Bedingungsoperanden durchführt, an die Befehlseinheit BE.
Mit Hilfe des Bedingungs-Signals 30 signalisiert die Bedingungseinheit BDE der Befehlseinheit BE, wann sich auf der Mehrfach-Leitungsanordnung 29 ein gültiger Wert befindet.
Die Bedingungseinheit BDE (Fig. 3) besteht aus einem Operatoren-Multiplexer OPMUX, fünf Vergleichern CP 1 bis CP 5, einer Booleschen Matrix BMX, einem Teilbedingungsregister TBR, vier Konstantenregistern KR 1, bis KR 4, drei Bedingungsregistern BRA, BRB, BRC und dem Steuerwerk SWB der Bedingungseinheit BDE. Der Operatoren-Multiplexer OPMUX schaltet anhand des Inhalts des Bedingungsregisters BRC die Operatoren, die ihm über die Mehrfach-Leitungsanordnungen 4, 5, 6, 7, 13, 14, 15, 22, 23, 24, 25 zugeführt werden, zu den Vergleichern CP 1 bis CP 5.
Die von dem Operatoren-Multiplexer OPMUX durchgeschalteten Operatoren werden zu den Vergleichern CP 1 bis CP 5 über die Leitungen OP 1 bis OP 10 übertragen.
Die Vergleicher CP 1 bis CP 5 vergleichen die ihnen zugeführten Operandenpaare und generieren Vergleichsergebnisse, die in Form von Signalen B 1 bis B 5 zu der Booleschen Matrix BMX und dem Teilbedingungsregister TBR zugeführt werden. Wie die einzelnen Operanden in den Vergleichern CP 1 bis CP 5 miteinander verglichen werden, entscheidet der Inahlt des Bedingungsregisters BRB, der den Vergleichern CP 1 bis CP 5 über die Mehrfach-Leitungsanordnung L 2 zugeführt wird.
Das Teilbedingungsregister TBR speichert das Ergebnis der Vergleiche, die in den Vergleichern CP 1 bis CP 5 durchgeführt werden.
Die Boolesche Matrix BMX verknüpft logisch die Signale B 1 bis B 5 miteinander, wobei die logischen Operatoren, die die Signale verknüpfen, durch den Inhalt des Bedingungsregisters BRC festgesetzt werden. Dabei entscheiden die Strobe-Signale auf 12 und auf 26 darüber, wann die Signale B 1 bis B 5 einen gültigen Wert besitzen, d. h. wann sie im Teilbedingungsregister TBR gespeichert und in der Booleschen Matrix BMX logisch verknüpft werden sollen.
Das Bedingungsregister BRA enthält Schlüssel der in der Klausel verwendeten Operanden. Das Bedingungsregister BRB enthält Vergleichsoperatoren, die in der Klausel verwendet werden. Das Bedingungsregister BRC enthält logische Operatoren, die in der Klausel verwendet werden.
Das Steuerwerk SWB der Bedingungseinheit koordiniert die Übergabe der Elemente der Klausel, die in der zu interpretierenden Anweisung definiert wurde. Die Elemente, d. h. die Operanden, die Vergleichsoperatoren und die logischen Operatoren werden der Bedingungseinheit BDE durch die Mehrfach-Leitungsanordnung 27 von der Befehlseinheit BE zugeführt. Das Steuerwerk SWB der Bedingungseinheit BDE erkennt, wenn das Strobe-Signal auf 31 aktiv wird, und erzeugt eines der Signale S 10 bis S 16, das den auf der Mehrfach-Leitungsanordnung 27 anstehenden Wert in das Register übernimmt, dessen Code die Mehrfach- Leitungsanordnung 28 überträgt. Dabei handelt es sich um eines der Bedingungsregister BDA, BDB, BDC, BRA, BRB, BRC oder der Konstantenregister KR 1, KR 2, KR 3, KR 4.
Die Befehlseinheit BE steuert und kontrolliert alle Komponenten des Rechners, nämlich die Speichereinheit M, die Datenstromeinheit DSE, den Verarbeitungsprozessor VP und die Bedingungseinheit BDE (Fig. 1 und 4). Die zur Steuerung der datenverarbeitenden Einrichtung notwendige Kontrollinformation entnimmt die Befehlseinheit BE den Anweisungen, die sie anhand des Programmzeigers aus der Speichereinheit M liest.
Eine Anweisung legt fest, daß eine Transformation der in der Speichereinheit M abgelegten Daten oder eines Teiles dieser Daten durchzuführen ist. Jede Anweisung besteht aus einer Folge von Bits, die, zu Maschinenworten zusammengefaßt, die Anfangsadressen der Operanden und des Ergebnisses, den Code der Operation, die mit den Operanden durchgeführt wird, die Inkrementkonstanten, die zur Ermittlung der Folgeoperanden verwendet werden, und die Klausel, die die Ausführung der Anweisung beendet, festlegen. Mit anderen Worten: eine Anweisung besteht aus einem Operationscode OP, der die Operanden (die Datenströme X, Y) verknüpft, einer Anzahl von Makrooperationen M 01 bis M 0 k, die die Inhalte interner Register der datentransformierenden Einrichtung manipulieren und der Klausel K.
OP   M 01   M 02   M 03   . . .   M 0 k   -K
Anweisung
Ferner kann die Ausführung dieser Makrooperationen von bestimmten Zuständen der datentransformierenden Einrichtung abhängig gemacht werden (z. B. wenn Merkeregister MKR = 10, dann setze Programmzeiger auf 2000). Es ist zu erkennen, daß mehrere Anweisungen nach Bedarf zusammengefaßt werden können, wenn die Bedingungseinheit BDE die Klausel und alle diese Anweisungen gleichzeitig aufnehmen kann.
Die Befehlseinheit BE nutzt die Mehrfach-Leitungsanordnungen 5, 6 und das Signal 7, um die Anweisungen von der Speichereinheit M anzufordern und sie zu übertragen. Zur Übertragung der Anweisungen wird die Mehrfach-Leitungsanordnung 5 verwendet. Die Adressen dieser Anweisungen sendet die Befehlseinheit BE zu der Speichereinheit M über die Mehrfach-Leitungsanordnung 6. Das bidirektionale Strobe-Signal SS 7 besagt, wann auf der Mehrfach-Leitungsanordnung 5 bzw. 6 gültige Werte anstehen.
Die Mehrfach-Leitungsanordnungen 9, 10 und die Signale 8, 11 koppeln die Befehlseinheit BE mit der Datenstromeinheit DSE. Mit dem Verarbeitungsprozessor kommuniziert die Befehlseinheit BE über die Mehrfach-Leitungsanordnung 21. Mit dem Strobe-Signal auf 32 informiert die Befehlseinheit BE den Verarbeitungsprozessor VP, wann die Mehrfach-Leitungsanordnung 21 einen gültigen Wert enthält. Die Mehrfach- Leitungsanordnungen 27, 28, 29 und die Signale 30, 31 verbinden die Befehlseinheit BE mit der Bedingungseinheit BDE.
Die Befehlseinheit BE (Fig. 4) besteht aus einem Programmzeigerregister PZR zwei Pufferregistern BUA und BUB, einem Arbeitsregister ABR der Befehlseinheit BE, einer arithmetisch-logischen Einheit ALU und zwei Eingangsmultiplexern LMUX und RMUX, dem Befehlsstapel BS und dem Steuerwerk SWC der Befehlseinheit. Der Programmzeiger PZR enthält die Adresse der Anweisung, die im nächsten Verarbeitungsschritt von der Speichereinheit M gelesen und ausgeführt wird.
Die Pufferregister BUA, BUB dienen als Zwischenspeicher für Werte, die zu der Datenstromeinheit DSE, dem Vearbeitungsprozessor VP und der Bedingungseinheit BDE übertragen werden. Der Befehlsstapel BS enthält die interpretierte Anweisung. Das Arbeitsregister ABR der Befehlseinheit BE und die arithmetisch-logische Einheit ALU nehmen an der Interpretation der Anweisung teil. Sie ermöglichen, die einzelnen Teile der Anweisung voneinander zu trennen und sie gemäß ihrer Bedeutung und Funktion auf die Datenstromeinheit DSE, den Verarbeitungsprozessor VP und die Bedingungseinheit BE zu verteilen.
Das Steuerwerk SWC der Befehlseinheit erzeugt eine Folge von Signalen, die folgende Kontrollsequenz bilden:
  • 1. Lesen der Anweisung aus der Speichereinheit M,
  • 2. Setzen des Programmzeigers PZR auf die Folgeanweisung,
  • 3. Interpretieren der Anweisung, d. h. die in der Anweisung enthaltenen Werte zielgemäß in die internen Register der Datenstromeinheit DSE, des Verarbeitungsprozessors VP und der Bedingungseinheit BDE zu übertragen (z. B. Pointer PA, PB, PC, Konstante KA, KB, KC, Bedingungsregister BRA, BRB, BRC, Operationsregister OPR usw.),
  • 4. Aktivieren des RUN/STOP-Signals 8 zum Start der Ausführung der Anweisung,
  • 5. Warten auf das Aktivwerden des Bedingungs-Signals 30, und wenn das Bedingungs-Signal 30 aktiv wird, Reaktivieren des RUN/STOP-Signals 8 und überprüfen des Bedingungsschlüssels, der auf der Mehrfach- Leitungsanordnung 29 ansteht, um entweder nach der Durchführung der in der Anweisung festgelegten Makrooperationen (Manipulation der datenverarbeitenden Einrichtung) die Ausführung der Anweisung vom Schritt 4 fortzusetzen oder die obige Kontrollsequenz zu wiederholen.
Um eine Anweisung aus der Speichereinheit M zu lesen, aktiviert das Steuerwerk SWC der Befehlseinheit BE das Strobe-Signal SS 7. Die Speichereinheit M leitet daraufhin über die Mehrfach-Leitungsanordnung 5 den Inhalt der Speicherzelle, deren Adresse auf der Mehrfach-Leitungsanordnung 6 steht. Anschließend aktiviert die Speichereinheit M das Strobe-Signal SS 7, um dem Steuerwerk SWC der Befehlseinheit BE mitzuteilen, daß die Mehrfach-Leitungsanordnung 5 die Anweisung enthält. Darauffolgend übernimmt das Steuerwerk SWC der Befehlseinheit BE die Anweisung mit Hilfe der Mehrfach-Leistungsanordnung L 20 in den Befehlsstapel BS. Wenn die Länge der Anweisung die Länge der Speicherzelle überschreitet, setzt das Steuerwerk SWC der Befehlseinheit BE den Programmzeiger PZR auf die nächste Speicherzelle und wiederholt den obigen Leseprozeß. So wird die ganze Anweisung in den Befehlsstapel BS eingelesen.
Um einen in der Anweisung festgelegten Wert in das interne Register der datentransformierenden Einrichtung zu übertragen, extrahiert das Steuerwerk SWC der Befehlseinheit BE den Code dieses Registers und den Wert aus der Anweisung und speichert sie in das Arbeitsregister ABR. So wird die ganze Anweisung zerlegt, d. h. alle in der Anweisung enthaltenden Makrooperationen werden entschlüsselt. Anschließend werden die extrahierten Werte in die internen Register der datentransformierenden Einrichtung über das Pufferregister BUB und die Mehrfach-Leitungsanordnungen 9, 21, 27 geladen. Die Adressen der Register werden über das Pufferregister BUA und die Mehrfach- Leitungsanordnungen 10, 28 geleitet. Welche der Mehrfach-Leitungsanordnungen 9, 10, 21, 27, 28 im konkreten Fall verwendet werden, entscheidet das Steuerwerk SWC der Befehlseinheit BE mit Hilfe der Mehrfach-Leitungsanordnungen L 18, L 19. Die Zieleinheit, in deren Register der Wert übertragen wird, bestimmt das Steuerwerk SWC der Befehlseinheit BE mit Hilfe der Strobe-Signale auf 11, 31 und 32.
Mit den Signalen S 17, S 18 werden die Werte von den Mehrfach-Leitungsanordnungen L 9, L 12 in die Pufferregister BUA, BUB übernommen. Durch die Mehrfach- Leitungsanordnung L 14 steuert das Steuerwerk SWC der Befehlseinheit BE die Multiplexer LMUX und RMUX der arithmetisch-logischen Einheit ALU. Die Mehrfach- Leitungsanordnung L 15 überträgt den Code der Operation, die die arithmetisch-logische Einheit ALU ausführen soll. Die Mehrfach-Leitungsanordnungen L 16, L 17 übertragen die Adressen der Arbeitsregister ABR der Befehlseinheit BE, in die von der Mehrfach-Leitungsanordnung L 12 aus geschrieben wird, oder deren Inhalte über die Mehrfach-Leitungsanordnungen L 8, L 9 zu der arithmetisch-logischen Einheit ALU bzw. zu dem Pufferregister BUA geführt werden.
Die Verarbeitung der in der Speichereinheit M abgelegten Daten führt die datenverarbeitende Einrichtung (der Rechner) auf der Basis der aus der Speichereinheit M gelesenen Anweisungen aus. Die Anweisungen bilden in der Speichereinheit M größere zusammengehörende Folgen (Programme). Die einzelnen Anweisungen werden vom Rechner, wenn die Anweisungen nichts anderes besagen, in aufsteigender Reihenfolge sequentiell interpretiert und durchgeführt, was bedeutet, daß die in diesen Anweisungen verschlüsselten Operationen auf die Daten angewendet werden. Die Interpretation und die Ausführung jeder Anweisung sind von der für diese Anweisung spezifischen Datenmanipulation abgesehen, gleich und werden rechnerintern folgendermaßen abgewickelt.
Nach dem "SYSTEM RESET" (z. B. Einschalten des Rechners) werden alle Register aller Rechnerkomponenten, d. h. der Befehlseinheit BE, der Datenstromeinheit DSE, des Verarbeitungsprozessors VP und der Bedingungseinheit BDE mit Hilfe eines systemweiten "RESET"- Signals in den Grundzustand versetzt und die Befehlseinheit BE aktiviert (Fig. 7). Die verbleibenden Komponenten des Rechners gehen dabei in den Wartezustand über, in dem sie Anweisungen über ihre baldigen Aktvitäten von der Befehlseinheit BE empfangen können. Die aktivierte Befehlseinheit BE holt zuerst von der Speichereinheit M eine neue Anweisung. Dies geschieht dadurch, daß die Befehlseinheit BE den Inhalt ihres Programmzeigerregisters PZR auf die Mehrfach-Leitungsanordnung 6 leitet und das Strobe-Signal SS 7 aktiviert (Fig. 6). Die Speichereinheit M antwortet darauf mit Anlegen des Inhaltes der angesprochenen Speicherzelle an die Mehrfach- Leitungsanordnung 5, deren Adresse dem über die Mehrfach-Leitungsanordnung 6 übertragenen Inhalt des Programmzeigerregisters PZR entspricht, also mit der Anweisung. Die Befehlseinheit BE speichert diese Anweisung im Befehlsstapel BS und beginnt ihre Interpretation. Die Interpretation der Anweisung besteht darin, daß die einzelnen Elemente der Anweisung entschlüsselt und zu den verbleibenden Rechnerkomponenten, der Datenstromeinheit DSE, dem Verarbeitungsprozessor VP, der Bedingungseinheit BDE übertragen werden. Der Übertragungsvorgang der gerade interpretierten Anweisung zu den verbleibenden Rechnerkomponenten wird im weiteren als Programmieren dieser Rechnerkomponenten bezeichnet.
So beginnt die Befehlseinheit BE zuerst mit der Entschlüsselung und der Übertragung der für die Datenstromeinheit DSE bestimmten Werte. Dies sind die neuen Inhalte der internen Datenpointer- und Konstantenregister der Datenstromeinheit DSE. Die Übertragung erfolgt in mehreren von der Anzahl der zu übertragenen Werte abhängigen Schritten. Bei jedem Schritt wird nur einer der Werte übertragen. Um einen der Werte zu der Datenstromeinheit DSE zu übertragen, legt ihn die BefehlseinheitBE an die Mehrfach- Leitungsanordnung 9 und die Adresse (Nummer) des Registers der Datenstromeinheit DSE an die Mehrfach- Leitungsanordnung 10 an und aktiviert das Strobe- Signal auf 11. Das Steuerwerk SW der Datenstromeinheit DSE erkennt, daß das Strobe-Signal auf 11 aktiv wurde, und lädt den an der Mehrfach-Leitungsanordnung 9 anstehenden Wert in den Platz des internen Registers der Datenstromeinheit DSE, dessen Adresse der Mehrfach-Leitungsanordnung 10 entnommen wurde.
Genauso werden die verbleibenden Rechnerkomponenten von der Befehlseinheit BE programmiert (Fig. 6). Dem Verarbeitungsprozessor VP wird bei seiner Programmierung die Art der in der gerade interpretierten Anweisung gewünschten Datentransformation, ausgelöst durch das Strobe-Signal auf 32, über die Mehrfach- Leitungsanordnung 21 mitgeteilt.
Bei der Programmierung der Bedingungseinheit BE werden an sie von der Befehlseinheit BE über die Mehrfach- Leitungsanordnungen 27, 28 die in der Klausel enthaltenen Bedingungsoperanden und Bedingungsoperatoren übertragen, die die Bedingungseinheit BE während der Ausführung der gerade interpretierten Anweisung ständig überprüfen soll.
Sobald die Anweisung von der Befehlseinheit BE vollständig interpretiert wurde, das heißt, daß alle Rechnerkomponenten von der Befehlseinheit BE anhand den in der Anweisung enthaltenen Parameter vollständig programmiert wurden, aktiviert die Befehlseinheit BE das START/STOP-Signal 8 und somit beginnt die Ausführungsphase der Anweisung. Das Aktivwerden des START/STOP-Signals 8 versetzt die Datenstromeinheit DSE in den aktiven Zustand, in dem sie den Datenfluß zwischen der Speichereinheit M und dem Verarbeitngsprozessor VP abwickelt (Fig. 6). Die aktive Datenstromeinheit DSE adressiert in aufsteigender bzw. abfallender Reihenfolge die in der Anweisung genannten Speicherzellen und übergibt die auf diesem Wege gewonnenen Werte dem Verarbeitungsprozessor VP. Die vom Verarbeitungsprozessor VP ankommenden Werte schreibt die Datenstromeinheit DSE in die in der Anweisung festgelegten Speicherzellen der Speichereinheit M zurück. Zur Adressierung der Eingangswerte, die sie in Form der Datenströme X, Y auf den Mehrfach-Leitungsanordnungen 16, 17 zum Verarbeitungsprozessor VP weiterleitet, verwendet die Datenstromeinheit DSE die internen Datenpointer-Register PA und PB (Fig. 2), und zur Adressierung der vom Verarbeitungsprozessor VP ankommenden und in die Speichereinheit M einzuschreibenden Werte, die den Datenstrom Z (MLA 18) bilden, verwendet die Datenstromeinheit DSE das Pointerregister PC. Gleichzeitig stellt die Datenstromeinheit DSE der Bedingungseinheit BE die Inhalte ihrer internen Register (der Pointerregister PA, PB, PC und der Konstantenregister KA, KB, KC) zur Verfügung, indem sie diese Inhalte über die Mehrfach-Leitungsanordnungen 13, 14, 15 zu der Bedingungseinheit BDE weiterleitet und mit Hilfe des Strobe-Signals SS 4 der Bedingungseinheit BDE angibt, wenn auf den Mehrfach-Leitungsanordnungen 13, 14, 15 gültige Werte anstehen.
Die Bedingungseinheit BDE empfängt die von der Datenstromeinheit DSE und dem Verarbeitungsprozessor VP ankommenden Werte, die den Inhalten der internen Register der Datenstromeinheit (Datenpointer PA, PB, PC), den Datenströmen X, Y, Z und den den Zustand des Verarbeitungsprozessors VP wiedergebenden Merker- Signalen (auf der MLA 25) entsprechen und prüft, ob diese Werte die in der Befehlseinheit BE geladene Klausel erfüllen. Stellt die Bedingungseinheit BDE fest, daß die an den Mehrfach-Leitungsanordnungen 13, 14, 15, 22, 23, 24, 25 anstehenden Werte die Klausel erfüllen, so aktiviert sie das Bedingungs- Signal 30. Über die Mehrfach-Leitungsanordnungen 29 leitet sie an die wartende Befehlseinheit BE den Bedingungsschlüssel weiter, anhand dessen der Befehlseinheit BE mitgeteilt wird, welche Teile der programmäßigen Bedingungen erfüllt wurden.
Das Aktivwerden des Bedingungs-Signals 30 beendet die Ausführungsphase der zu verarbeitenden Anweisung. Die Befehlseinheit BE reaktiviert das START- STOP-Signal 8, das direkt die Datenstromeinheit DSE und indirekt den Verarbeitungsprozessor VP und die Bedingungseinheit BDE zu Beginn der Arbeitsphase aktiviert hat, und beginnt das Lesen einer neuen Anweisung aus der Speichereinheit M, die Interpretation, und anschließend führt sie durch erneutes Aktivieren der Datenstromeinheit DSE, des Verarbeitungsprozessors VP und der Bedingungseinheit BDE diese Anweisung aus. (Fig. 6 und Fig. 7).
Im weiteren soll die Transformation von Daten in der datenverarbeitenden Einrichtung anhand von Programmbeispielen erläutert werden.
Die Anweisungen, die die datenverarbeitende Einrichtung ausführt, werden vom Programmierer in Form von Symbolen kodiert. Mit diesen Anweisungen wird die Lösung einer Aufgabe, eine Datentransformation, beschrieben. Die Programm-Symbole bilden die sog. Assemblersprache. Die Assemblersprache ist für jede datenverarbeitende Einrichtung spezifisch und hängt von dem Verarbeitungsprinzip ab, nach dem diese datenverarbeitende Einrichtung arbeitet. Die Assemblersprache der datenverarbeitenden Einrichtung wird folgendermaßen syntaktisch definiert:
Konstante : == ⟨Zahl⟩
Operand : == Pz : P 1 : P 2 : P 3 : (P 1) : (P 2-) : (P 3) : Z : C : V
Vergleichsoperator : == = : ¢ : ≦ωτ : ≦λτ :
Arithmetischer Operator : == + : - : × : /
Logischer Operator : == OR : AND : XOR : EXOR : NOT
Zuweisungsoperator : == ≦ωτ =
Ausführungsoperator : == =≦λτ
Operation : ==⟨Operand⟩⟨Arithmetischer Operator⟩ {⟨Operand⟩ : ⟨Konstante⟩}
Vergleichsoperation : == ⟨Operand⟩⟨Vergleichsoperator⟩ {⟨Operand⟩ : ⟨Konstante⟩}
EinfacherAusdruck : ==⟨Operation⟩ : ⟨Operand⟩⟨Zuweisungsoperator⟩-⟨Operation⟩
BedingterAusdruck : ==⟨Vergleichsoperation⟩⟨Ausführungsoperator⟩⟨EinfacherAusdruck⟩
Erweiterter Ausdruck : == ⟨Einfacher Ausdruck⟩ : ⟨EinfacherAusdruck⟩, ⟨Erweiterter Ausdruck⟩ : ⟨Bedingter Ausdruck⟩
Ausdruck : == ⟨Operation⟩ : ⟨Operand⟩⟨Zuweisungsoperator⟩ ⟨Operation⟩ : ⟨Anweisung⟩
KomplexerAusdruck : == ⟨Ausdruck⟩ : ⟨Ausdruck⟩, ⟨Komplexer Ausdruck⟩
Elementare Klausel : == ⟨Operand⟩⟨Vergleichsoperator⟩ ⟨Operand⟩
Ausführungsklausel : == ⟨ElementareKlausel⟩ : ⟨Elementare Klausel⟩ ⟨Logischer Operator⟩⟨Ausführungs-Klausel⟩
Befehl : == Repeat ⟨Erweiterter Ausdruck⟩ Until ⟨Ausführungsklausel⟩
Anweisung : == Repeat ⟨Komplexer Ausdruck⟩ Until ⟨Ausführungsklausel⟩
Programm : == {⟨Befehl⟩ : ⟨Anweisung⟩} : {⟨Befehl : ⟨Anweisung⟩}⟨Programm⟩
Semantisch sind die Operanden P 1, P 2, P 3 als Inhalte der internen Datenzugriffsregister der Datenstromeinheit DSE zu interpretieren (Fig. 2 Datenpointer PA, PB, PC). Die Operanden (P 1), (P 2), (P 3) bezeichnen die Datenelemente (ihre Werte), auf die die Operanden P 1, P 2, P 3 gerade zeigen. Die Operanden Z, C, V entsprechen konkreten Inhalten des Merkerregisters MKR des Verarbeitungsprozessors VP (Fig. 5) und geben den Zustand des Verarbeitungsprozessors VP wieder. Der Operand Pz entspricht dem Inhalt des Programmzeigerregister PZR der Befehlseinheit BE (Fig. 4). Die arithmetischen, logischen und Vergleichsoperatoren werden zur Bildung von logischen und arithmetischen Operationen herangezogen. Der ⟨Zuweisungsoperator⟩ bewirkt, daß das Ergebnis der rechts von diesem Operator stehenden ⟨Operation⟩ dem links stehenden ⟨Operanden⟩ zugewiesen wird.
Der ⟨Ausführungsoperator⟩ führt eine rechts von ihm stehende ⟨Operation⟩ oder einen ⟨Ausdruck⟩ aus in Abhängigkeit von dem Ergebnis einer links von diesem Operator stehenden ⟨Vergleichsoperation⟩.
Ein in einem Befehl zwischen den Metaworten Repeat und Until stehender ⟨Erweiterter Ausdruck⟩ oder ein ⟨komplexer Ausdruck⟩ einer Anweisung werden bei der Ausführung der Anweisung so lange wiederholt, bis die nach dem Metawort Until stehende ⟨Ausführungsklausel⟩ erfüllt wird. Hier ist zu beachten, daß die datenverarbeitene Einrichtung parallel arbeitet, was bedeutet, daß die rechts vom Metawort Until stehende Klausel gleichzeitig (parallel) mit der Ausführung der in dem ⟨Komplexen Ausdruck⟩ bzw. dem ⟨Erweiterten Ausdruck⟩ verschlüsselten Operationen überprüft wird. Es dürfen auch keine direkten Vergleiche der von den höheren Sprachen bekannten "Repeat . . . Until . . ." oder "While . . Do . ." Strukturen erfolgen.
Die Mächtigkeit dieser Assemblersprachen ist so groß, daß man mit einer einzigen Anweisung eine der bekannten Anweisungen "Repeat . . Until", "While . . Do . .", "Case . . Of . ." oder andere Programmstrukturen nachbilden kann.
Der Unterschied zwischen einer Anweisung und einem Befehl besteht darin, daß ein Befehl nicht teilbar ist, was bedeutet, daß er keine weiteren Befehle enthält. Dagegen besteht eine Anweisung aus mehreren nach innen verschachtelten Befehlen, wobei die zulässige Tiefe der Verschachtelung durch die Regel begrenzt ist, daß die Bedingungseinheit BDE die Ausführungsklausel aller verschachtelten Befehle gleichzeitig aufnehmen muß. Andere Unterschiede zwischen einem Befehl und einer Anweisung gibt es nicht.
Ein zwei Matrixen addierendes Programm kann in der obigen Assemblersprache folgendermaßen realisiert werden:
Repeat
P 1⟨=Matrix A, P 2⟨=Matrix B, P 3⟨=Ergebnis
Until True
Repeat
C⟨=0, Repeat
(P 3)⟨=(P 1)+(P 2)+C, P 1+1, P 2+1, P 3+1
Until P 1=P 1+Elementlänge
Until P 1=Matrix A+Elementanzahl×Elementlänge
Die erste Programmstruktur, ein Befehl, weist den internen Registern der Datenstromeinheit DSE, den Pointer PA, PB, die Anfangsadressen der zu addierenden Matrix und dem Pointer PC die Adresse, bei der das Ergebnis der Addition abgelegt werden soll, zu. Die zweite Programmstruktur führt die Addition der beiden Matrixen durch. Sie besteht aus zwei eingenesteten Befehlen, die zusammen eine Anweisung bilden und in einem einzigen Verarbeitungsschritt interpretiert und ausgeführt werden. Zuerst setzt die Anweisung den "C"-Merker im Merkerregister MKR des Verarbeitungsprozessors VP auf Null. Dann beginnt sie sukzessiv die Datenelemente zu addieren, die Ergebnisse abzuspeichern, die Pointerregister (Datenpointer PA, PB, PC) um eins zu erhöhen und zu überprüfen, ob das Pointerregister PA das Ende des Elementes oder der ganzen Matrix A erreicht hat. Wenn der Datenpointer PA das Ende des Elementes erreicht hat, wird der "C"-Merker erneut auf Null gesetzt und die Ausführung weitergeführt. Wenn der Datenpointer PA das Ende der Matrix A erreicht hat, wird die Anweisung beendet.
Das zweite Programmbeispiel sucht nach einem vorgegebenen Muster in einem aus Records bestehenden Bereich:
Repeat
P 1⟨=Blockanfang, P 2⟨=Musteranfang
Until True
Repeat
Repeat
(P 1)-(P 2), P 1+1, P 2+1
Until NOT(Z) OR P 1+Musterlänge
P 1⟨=P 1+Recordlänge,P 2⟨=Musteranfang, Z =⟩Pz = Gefunden
Until Z OR P 1=Recordsanzahl×Recordlänge
Der erste Befehl des Programms weist den Programm- Pointern P 1, P 2 den Blockanfang und den Musteranfang zu. Die diesem Befehl folgende Anweisung besteht aus zwei verschachtelten Befehlen. Der eingenestete Befehl vergleicht das vorgegebene Muster mit einem Teil des Records so lange, bis entweder die Ungleichheit zwischen dem Muster und dem Recordteil oder das Ende des Musters auftritt. Der äußere Befehl der Anweisung wiederholt die einzelnen Vergleichsversuche so lange, bis entweder das Ende des zu durchsuchenden Bereiches oder die Gleichheit zwischen dem Muster und dem Teil des Records auftritt. Bei erkannter Gleichheit wird zusätzlich der Programmzeiger PZR (Fig. 4) verändert und somit ein Sprung auf die Adresse "GEFUNDEN" ausgeführt.

Claims (3)

1. Verfahren zur Steuerung von datenverarbeitenden Einrichtungen zwecks Transformation von Daten, die in einer oder mehreren Speichereinrichtungen M abgelegt sind, und den der Transformation dieser Daten dienenden Prozessoren, über eine gemeinsame Mehrfach- Leitungsanordnung (Bus), zugeführt werden, wobei eine die Transformation steuernde Folge von Anweisungen aus einer der Speichereinrichtungen M gelesen wird, dadurch gekennzeichnet, daß in jeder die Datentransformation steuernden Anweisung die Adressen der ersten Operanden und des ersten Ergebnisses in der Speichereinrichtung M, Zahlen, die die Errechnung der Adressen der Folgeoperanden und der Folgeergebnisse ermöglichen, die auszuführende Operation und eine Klausel, die die Ausführungsdauer der Anweisung terminiert, frei definierbar sind, und daß zyklisch die Operanden an Hand der Anfangsadressen der Operanden, der Zahlen zur Ermittlung von Adressen der Folgeoperanden und der Anzahl der schon durchgeführten Wiederholungen der Operation an den Operanden, errechnet werden, daß diese Operanden gemäß der in der Anweisung definierten Operation transformiert werden, daß das Ergebnis der Transformation in die Speichereinrichtung M unter der Adresse eingeschrieben wird, die an Hand der Anfangsadresse der Ergebnisse, der Zahl zur Errechnung von Adressen, der Folgeergebnisse und der Anzahl der schon durchgeführten Wiederholungen der Operation an den Operanden errechnet wird, und daß die Erfüllung der in der Anweisung festgelegten Klausel überprüft wird, um entweder die Operation an Folgeoperanden zu wiederholen oder die Adresse der Folgeanweisung in der Speichereinheit M zu ermitteln, die Folgeanweisung aus der Speichereinrichtung M von der ermittelten Adresse zu entnehmen und sie wie vorstehend durchzuführen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Klausel als ein fester Teil der Anweisung definiert wird, derart, daß sie in Form einer Booleschen Gleichung besagt, wann die Ausführung der Folgeanweisung angegangen wird, und daß die Überprüfung der Klausel parallel zu den verbleibenden Aktivitäten der Hardware der datenverarbeitenden Einrichtung durchgeführt wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Adressen der Operanden und die Adressen der Ergebnisse der Datentransformation mit Hilfe von Zeigerregistern PA, PB, PC gewonnen werden, die bei jeder Wiederholung der in der Anweisung definierten Operation mit den in dieser Anweisung festgelegten Zahlen zur Gewinnung von Folgeadressen für die Operanden und Ergebnisse parallel zu den übrigen Funktionen der Tranformation inkrementiert oder dekrementiert werden.
DE19863619036 1986-06-06 1986-06-06 Verfahren zur steuerung von datenverarbeitenden einrichtungen Granted DE3619036A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19863619036 DE3619036A1 (de) 1986-06-06 1986-06-06 Verfahren zur steuerung von datenverarbeitenden einrichtungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19863619036 DE3619036A1 (de) 1986-06-06 1986-06-06 Verfahren zur steuerung von datenverarbeitenden einrichtungen

Publications (2)

Publication Number Publication Date
DE3619036A1 true DE3619036A1 (de) 1987-12-10
DE3619036C2 DE3619036C2 (de) 1991-08-22

Family

ID=6302408

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863619036 Granted DE3619036A1 (de) 1986-06-06 1986-06-06 Verfahren zur steuerung von datenverarbeitenden einrichtungen

Country Status (1)

Country Link
DE (1) DE3619036A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3003465A1 (de) * 1980-01-31 1981-08-06 Siemens AG, 1000 Berlin und 8000 München Einrichtung zur erzeugung von bedingungscodes in mikroprogrammgesteuerten universalrechnern
DE3507584A1 (de) * 1984-08-15 1986-02-27 Tektronix, Inc., Beaverton, Oreg. Adressenberechnungssystem fuer digitale verarbeitungseinrichtungen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3003465A1 (de) * 1980-01-31 1981-08-06 Siemens AG, 1000 Berlin und 8000 München Einrichtung zur erzeugung von bedingungscodes in mikroprogrammgesteuerten universalrechnern
DE3507584A1 (de) * 1984-08-15 1986-02-27 Tektronix, Inc., Beaverton, Oreg. Adressenberechnungssystem fuer digitale verarbeitungseinrichtungen

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE-B.: W. K. Giloi, Rechnerarchitektur, Springer-Verlag, 1981, S. 184-195 *
US-Datenbuch "Z 80 Microcomputer Data Book" Mostek Corp., 1981, S. III/5 bis III/76 *
US-Z.: "Computer", März 1986, S. 68-87 *

Also Published As

Publication number Publication date
DE3619036C2 (de) 1991-08-22

Similar Documents

Publication Publication Date Title
DE69637020T2 (de) Überpartitionierungssystem und-verfahren zum Erhöhen der Anzahl von Prüfpunkten in komponentenbasierten Parallelanwendungen
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE69429226T2 (de) Absendung von Befehlen an mehrere Verarbeitungseinheiten
DE3210816C2 (de)
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE3750935T2 (de) Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner.
DE3586603T2 (de) Datenprozessor fuer interpretierende und kompilierte sprache.
DE69029956T2 (de) Vorrichtung zur Parallelisierung von Programmen
DE68924380T2 (de) Vernichtung von Pipelineblasen in einem Rechnersystem.
DE69322538T2 (de) Methode und Prozessor zur Bearbeitung eines Programmes in Parallelbearbeitung
EP0048767B1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE68926043T2 (de) Mehrprozessor-Computersystem
DE69826404T2 (de) Datenverarbeitungssystem mit mehreren Prozessoren, die eine Registerbank gemeinsam benutzen
DE3689595T2 (de) Datenverarbeitungssystem.
DE2855106A1 (de) Einrichtung zur durchfuehrung von instruktionsverzweigungen
DE2411963B2 (de) Datenverarbeitungsanlage
DE1915818B2 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE19527031A1 (de) Verbesserte Vorrichtung zum Reduzieren von Verzögerungen aufgrund von Verzweigungen
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE3855524T2 (de) Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator
DE3586700T2 (de) Vorrichtung und verfahren zur datenverarbeitung.
DE69032172T2 (de) Anordnung und Verfahren zur Verarbeitung von Grafikdaten
DE69230118T2 (de) Prozessor mit hierarchischer Struktur
DE69032511T2 (de) Multiprozessor-Steuereinrichtung mit gemeinsamem Steuerungsspeicher
DE2548720A1 (de) Mikroprogramm-steuerwerk

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee