DE2524046C2 - Elektronische Datenverarbeitungsanlage - Google Patents

Elektronische Datenverarbeitungsanlage

Info

Publication number
DE2524046C2
DE2524046C2 DE2524046A DE2524046A DE2524046C2 DE 2524046 C2 DE2524046 C2 DE 2524046C2 DE 2524046 A DE2524046 A DE 2524046A DE 2524046 A DE2524046 A DE 2524046A DE 2524046 C2 DE2524046 C2 DE 2524046C2
Authority
DE
Germany
Prior art keywords
register
memory
address
instruction
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
Application number
DE2524046A
Other languages
English (en)
Other versions
DE2524046A1 (de
Inventor
Arthur Wilbert Woodstock N.Y. Holmes jun.
Price Ward Wappinger Falls N.Y. Oman
Richard Charles Kingston N.Y. Paddock
Donald Walter Lake Katrine N.Y. Price
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2524046A1 publication Critical patent/DE2524046A1/de
Application granted granted Critical
Publication of DE2524046C2 publication Critical patent/DE2524046C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Description

Die Erfindung betrifft eine elektronische Datenverarbeitungsanlage mit einem Speicher für Befehle und Daten nach dem Oberbegriff des Anspruchs 1.
Sie bezieht sich insbesondere auf einen Prozessor, der aus einer Anzahl von Chips besteht, die elektronische Schaltungen mit höchster Integrationsdichte enthalten.
Seit man die Technologie der Hochintegrationstechnik (LSI) beherrscht, konnte in ständig steigendem Maße die Anzahl der integrierten Schaltungen auf einem Halbleiterchip vergrößert werden, während jedoch die Zahl der externen Verbindungen, die für die Signalübertragung von Chip zu Chip benötigt werden, bisher jedenfalls relativ konstant geblieben ist.
Prozessoren in LSI-Technik leiden deshalb unter dem Nachteil, daß aufgrund der Systemorganisation Chips mit einer größtmöglichen Anzahl von Schaltungen auf jedem Chip nicht mit der erforderlichen minimalen Anzahl von Signalein-/Ausgangsverbindungen zu jedem Chip verbunden werden können.
Die Probleme, die durch die LSI-Technologie in der Prozessorenorganisation entstanden sind, sind an sich bekannt, beispielsweise in einer Publikation von Abdul-Razzaq Habayeb in dem Aufsatz »System Decomposition, Partitioning and Integration For Microelectronics« beschrieben, der in den IEEE Transaction on Systetiis Science and Cybernetics, Band 4, Nr. 2, Juli 1968 auf den Seiten 164 bis 172 erschienen ist.
Außerdem ist in der US-PS 3462742 eine derartige Systemorganisation beschrieben, bei der ein Hauptspeicher über eine Sammelleitung mit zwei Subprozessoren derart verbunden ist, daß der eine Adressen an den Hauptspeicher liefert und Daten empfängt und der andere nur Daten mit dem Hauptspeicher austauscht.
Wenn die Zahl der logischen Schaltungen auf einem Chip um eine Größenordnung über die Dichte angehoben wird, die in der zuvor erwähnten Patentschrift in Betracht gezogen worden war, dann ist eine geringere Anzahl von Chips erforderlich, um einen Prozessor zu realisieren, wenn jede Schaltung auf den dichteren Chips wirkungsvoller verwendet werden kann. Die in der genannten Patentschrift beschriebene Systemorganisation beinhaltet selbst noch nicht eine wirkungsvolle Verwendung der Schaltungen, wenn ein Prozessor unter Verwendung von nur zwei oder drei LSI-Chips implementiert wird, da nach der Lehre dieses Patentes eine übergeordnete Steuereinheit erforderlich ist. Eine andere Systemorganisation, die bei oberflächlicher Betrachtung eine Ähnlichkeit zur vorliegenden Erfindung aufweist, ist in der US-PS 3537074 beschrieben. Die Struktur dieses Systems besteht aus einer Anzahl von Prozessoren, welche die gleiche Funktion bezüglich unterschiedlicher Daten in
ίο .Abhängigkeit vom gleichen Befehl durchführen. Diese Systemorganisation ist speziell dann wertvoll, wenn die zu verarbeitenden Daten in Matrizenform vorliegen und die gleiche funktionelle Operation auf jedes Element der Matrix angewendet werden soll,
is wie beispielsweise bei einer schnellen Fourier Transformation. Auch hier ist wieder ein übergeordnetes Steuerelement notwendig, obwohl alle Prozessoren jeweils eine identische Funktion ausführen.
Eine weitere Systemorganisation, die ebenfalls, oberflächlich betrachtet, der vorliegenden Erfindung ähnlich ist, ist die klassische Multiprozessororganisation, von der ein Beispiel in der US-PS 3470540 beschrieben ist. Die Organisation klassischer Multiprozessorsysteme unterscheidet sich von der vorliegen-
2s den Erfindung jedoch darin, daß bei einem Multiprozessorsystem jeder Prozessor eine andere funktionelle Operation bezüglich anderer Daten in Abhängigkeit von jeweils verschiedenen Befehlen ausführt. Eine besondere Organisationsform eines klassischen MuI-tiprozessorsysteros wird oft als »Fließband«-Verarbeitung bezeichnet, bei der eine Anzahl von Prozessoren jeweils die Resultate eines vorhergehenden Prozessors bearbeitet, wobei das ganze von Kommandos einer gemeinsamen Steuereinheit gesteuert wird. Die Systemorganisation eines Prozessors für »Fließbande-Verarbeitung ist ebenfalls mit Vorteil für die Bearbeitung matrizenförmiger Daten geeignet, wie bei der schon erwähnten schnellen Fourier Transformation, aber sie wird am besten dadurch realisiert, daß eine größere Anzahl integrierter Schaltungen verwendet wird, die von einer gemeinsamen Steuereinheit oder einem gemeinsamen Zeittaktgenerator gesteuert wird, der beispielsweise in der US-PS 3716343 beschrieben ist. .
Alle zuvor erwähnten bekannten Techniken erfordern eine gemeinsame oder zentrale Steuerschaltung, die mit jedem integrierten Halbleiterchip über Ein-/ Ausgangs-Signalwege miteinander verbunden werden müssen.
so Es ist daher die Aufgabe der Erfindung, die Schaltungsanordnung einer Datenverarbeitungsanlage, die mit integrierten Halbleiterchips höchster Integrationsdichte aufgebaut ist, so zu optimieren, daß eine größere Anzahl logischer Schaltkreise auf jedem LSI-
Chip verwendet werden kann.
Gelöst wird diese Aufgabe für eine elektronische Datenverarbeitungsanlage durch die in dem Hauptanspruch angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
Die mit den vorstehend angegebenen Mitteln gelöste Aufgabe der Erfindung hat eine Reihe von Vorteilen im Gefolge:
Zunächst ist es durch die vorgeschlagene Organisation möglich, eine kleinere Zahl von LSI-Chips zu verwenden, als es vorher möglich war, insbesondere, wenn die von der Datenverarbeitungsanlage durchzu-
führenden Funktionen eine größere Anzahl von Schaltkreisen erforderten, als auf den Chips unterzubringen war.
Außerdem können auf diese Weise die Kosten eines aus integrierten Schaltungen aufgebauten Prozessors mit Hilfe der vorgeschlagenen Systemorganisation reduziert werden, so daß Ein-/Ausgangssignalwege zwischen den LSI-Chips auf ein Minimum reduziert werden, was seinerseits wieder die Realisierung des Prozessors mit einer geringeren Anzahl von LSI-Chips gestattet.
Es ist also für die Erfindung wesentlich, und hieraus resultieren auch deren Vorteile, daß die Befehlsdecodierung und Steuerung dezentral auf jedem LSI-Chip erfolgt, wodurch die sonst notwendigen Ein-/Ausgabeverbindungen zwischen den Chips und einer zentralen Steuerung vermieden werden. Jeder LSI-Chip vermag deshalb als unabhängiger Subprozessor zu arbeiten, der die von jedem Befehl spezifizierten Funktionen decodiert und ausführt. Außerdem ist eine wesentlich ökonomischere Signalwegkonfiguration dadurch möglich, daß gleichzeitig der gleiche Befehl in jeden LSI-Chip geladen wird, wobei auch durch diese Ladung ein Synchronisationsstartp'unkt für die Ausführung des Befehls auf besonders ökonomische Weise gewonnen wird.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Figuren beschrieben. Es zeigen:
Fig. 1 das Blockschaltbild des Aufbaus eines Allzweckrechners aus mehreren Subprozessoren,
Fig. 2 das Blockschaltbild eines Subprozessors der ersten Art, der die Funktionen der Speicheradressen-Steuerung und Ladung für jede Instruktion in jeden der angeschlossenen Subprozessoren ausführt, und
Fig. 3 das Blockschaltbild eines Subprozessors der zweiten Art, der die Funktion arithmetischer und logischer Berechnungen, Berechnungen für Funktionsmodifizierungsbedingungen und die Steuerung des Informationsflusses zu und von den Ein-/Ausgabegeräten ausführt.
Wie Fig. 1 zeigt, enthält die in Fig. 1 dargestellte Datenverarbeitungsanordnung, deren Organisation der Erfindung zugrunde liegt, einen Speicher 11 in der Fcrm eines LSI-Chips (hochintegriertes Halbleiterplättchen), für die Speicherung sowohl von Befehlen, als auch Daten. Der Prozessor dieses Ausführungs-" beispieles arbeitet mit 16 Bits breiten Befehlen, so daß der Speicher in vorteilhafter Weise in Vielfachen von 8-Bit-Bytes organisiert ist. Der Speicher 11 enthält sowohl gerade als auch ungerade Bytes-Datenausgangsregister 13 und 15, die zwei Informationsbytes zur Verfügung stellen, wenn είπε gerade Adresse in Zusammenhang mit einem Leseeingangssignal ausgewählt wurde. Der Speicher 11 enthält ferner ein 1 Byte breites Dateneingangsregister 17, das ein Informationsbyte zeitweise zwischenspeichert, wenn es in eine gerade oder ungerade Speicherstelle übertragen wird, die von Signalen auf den Adreßsammelleitungen (ADDRL) 25 und (ADDRH) in Verbindung mit einem Schreib-Eingangssignal ausgewählt wird.
Um die Lese- und Schreibsignale sowie -die ADDRL- und ADDRH-Signale dem Speicher 11 zur Verfügung zu stellen, ist ein Subprozessor 21 für die Adressensteuerung vorgesehen, der über eine 1 Byte breite Informationssammelleitungs-Eingangsverbindung zur Eingangsdatensammelleitung (DBI) 43 für den Empfang von Befehlen und Adressen vom Speicher 11 und Adresseninformation von einem zweiten Subprozessor 31 für arithmetische und logische Aufgaben verfügt. Der Subprozessor 21, der im folgenden als Adressensteuereinheit bezeichnet werden soll, enthält einen Befehlszähler 107 und ein Speicheradressenregister 109, von denen jedes die beiden Informationsbytes zur Verfügung stellen kann, die über die Adressenleitungen 25 und 23 übertragen werden. Die Adressensteuereinheit 21 enthält ferner eine Befehlsdecodierungseinrichtung in der Form von Operationsdecodierungsschaltungen 103 und eine Ausführungsfolgesteuerung 105 für die Erzeugung eines Lese- oder Schreibsignals für den Speicher 11 in Verbindung mit der ausgewählten Adresse. Die Befehlsdecodierungseinrichtung stellt auch auf einer
is mit LOADIR bezeichneten Leitung ein Signal zur Verfugung, so daß ein Befehl, der in der Akkumulator (ACU) 21 geladen wird, gleichzeitig auch in die arithmetische und logische Einheit (ALU) 31 geladen wird. Der ACU 21 verfügt über eine Eingangsleitung,
μ die mit CMET bezeichnet ist und für den Empfang eines Funktionsmodifizierungssignals von der ALU 31, die ebenfalls ein Subprozessor ist, für die Modifizierung der Ausführungsfolge eines Befehls vorgesehen ist, der gerade ausgeführt wird und diese Ausführung von einem Signal abhängig ist, das über die genannte Leitung Oi£rempfangen wird. DasFunktionsmodifizierungssignal wird gewöhnlich das Ergebnis einer Bedingung sein, die von den Ergebnissen einer Rechnung erfüllt worden ist, die von den arithmetischen und logischen Entscheidungsschaltungen 207 der ALU 31 durchgeführt wurde, wie beispielsweise Ergebnis des Vergleichs: Gleich, Hoch oder Überlauf, Übertrag oder ein ähnliches Prüfergebnis.
Ferner ist zwischen der ALU 31 und dem ACU 21 eine Paritätsprüfsignal-Eingangsleitung PCHECK vorgesehen, die eine Angabe darüber liefert, daß die ALU 31 eine inkorrekte Parität ihrer Information auf der Dateneingangssammelleitung 43 oder an einigen anderen passenden Stellen festgestellt hat. Im Ausführungsbeispiel wird eine einfache ungerade Parität
. verwendet, für die die Schaltung für die Paritätserzeugung und -feststellung an sich bekannt sind. Jede der LSI-Schaltungen, wie z. B. Speicher 11, ACU 21, ALU 31 und die Steuereinheiten 51 und 55 für die Ein-/Ausgabegeräte, enthält Erzeugungsschaltungen für eine ungerade Parität an ihren Ausgangssammelleitungen und Paritätsprüfschaltungen an ihren Eingangssammelleitungs-Anschlüssen. Zur Implementierung der ungeraden Parität enthält jede 8-Bit-Byte
so breite Datensammelleitung eine neunte Signalleitung für die Übertragung der Paritätsinformation. Da die Paritätsschaltungen in weit verbreitetem Umfang bekannt sind, kann im Rahmen der Beschreibung dieses Ausführungsbeispieles auf deren Erläuterungen verziehtet werden.
Die Systemorganisation des Ausführungsbeispiels kann mit jeder beliebigen Logikfamilie realisiert werden. In jedem Falle sind jedoch einige Zertgabe- oder Taktsignale notwendig, um »Wettlauf«-Bedingungen
μ der logischen Schaltungen untereinander zu verhindern. Es ist daher vorteilhaft, den gleichen Oszillator 41 zu verwenden, dessen Ausgangssignale als zusätzliches Synchronisationssignal sowohl zu dem ACU 21 als zu der ALU 31 übertragen werden, zusätzlich zu dem LOADIR-Synchronisationssignal vom ACU 21 zur ALU 31. Der Oszillator 41 ist ein einfacher quarzgesteuerter Oszillator, der mehrere Ausgangssignale der gleichen Frequenz, jedoch mit unterschiedlicher
Phasenlage liefert, wobei die Phasenlagen der verschiedenen Ausgangssignale eine feste Beziehung zueinander aufweisen.
Das vorstehend beschriebene Ausführungsbeispiel ist mit dynamischen logischen Schaltungen realisiert. Dynamische logische Schaltungen haben eine vorhersagbare endliche Verzögerung, die als Zeitspanne zwischen dem Zeitpunkt des Anlegens des Eingangssignals bis zum Zeitpunkt der Verfügbarkeit des Ausgangssignals gemessen wird. Diese Schaltungen werden mit Vorteil in der ALU 31 verwendet, um auf ,; diese Weise ein Datenausgangsregister oder einen Akkumulator auf dem LSI-Chip dieser ALU 31 einzusparen. Die während eines Ausführungszyklus in die ALU 31 übertragene Information wird an der Informationsausgangsverbindung der Datenausgangssammeileitung DBO 45 während des nachfolgenden Ausführungszyklus zur Verfugung stehen, da die Verzögerungszeit eines Ausführungszyklus notwendig ist, um die Information durch die dynamisch logischen Schaltungen 207 der ALU 31 zu übertragen.
Wie Fig. 1 zeigt, ist der zweite Subprozessor, die arithmetische und logische Einheit ALU 31 zwischen der Informationseingangsdatensammelleitung DBI 43 und der Informationsausgangsdatensammelleitung DBO 45 angeschlossen, um arithmetische und logische Berechnungen bezüglich vom Speicher 11 herkommender Information oder vom ACU 21 her rührender Information durchzuführen. Die arithmetische und logische Einheit 31 enthält eine Einrichtung zur Befehlsdecodierung, mit deren Hilfe jeder Befehlsoperationscode decodiert wird. Sie enthält ferner eine Folgesteuerung für die Ausführung des Befehls, wozu sie Torsteuersignale für die Eingangs-UND/ODER/ Inverter-Logikschaltungen 47 erzeugt, die sequentiell die Adressensammelleitungen ADDRL 25, ADDRH 23, die Speicherausgangssammelleitungen 27 und 29 von den Speicherausgangsregistern 13 und 15 sowie die Datenausgangssammelleitung DBO 45 und die Ein-/Ausgangssammelleitung 49 auf die Dateneingangssammelleitung DBI 43, gesteuert durch einen Befehl, der gleichzeitig in der arithmetischen und logi-. sehen Einheit 31 und der Adressensteueremheit 21 ausgeführt wird, durchschalten.
Die UND/ODER/Inverter-Logikschaltungen 47 können auf einem anderen LSI-Chip oder auch verteilt an der Ausgangssammelleitung jedes an die Dateneingangssammelleitung DBI 43 angeschlossenen Chips realisiert sein. Wenn die UND/ODER/Inverter-Schaltungen 47, im folgenden kurz mit AOI bezeichnet, auf jedes Chip verteilt sind, dann müssen auch ihre Steuerleitungen zu diesen Chips hin geführt werden, wobei zu berücksichtigen ist, daß sie keine eigene Befehlsdecodierungseinrichtung besitzen, um ihre eigenen AOI-Steuersignale redundant auf dem Chip zu erzeugen. Wie Fig. 1 zeigt, sind die AOI-Schaltungen 47 auf einem getrennten Chip untergebracht. Die für die Steuerung dieses Chips erforderlichen drei Steuerleitungen 37 führen codierte Steuersignale in der Form von Binärzahlen eins bis sechs, um eine von sechs Eingangssammelleitungen mit der Dateneingangssammelleitung 43 zu verbinden. Die Binärwerte (oder Adressen) eins bis sechs verbinden die Sammelleitungen 23,25,27,29,45 und 49 jeweils mit der Dateneingangssammelleitung DBI 43.
Die Befehlsdecodierungseinrichtung der arithmetischen und logischen Einheit 31 ist auch mit einer Anzahl von Ein-/Ausgabeanschluß-Kennleitungen 35 für die Identifizierung des Informationsbitmusters in einem Bytes verbunden, das von der arithmetischen und logischen Einheit 31 als eine Ein-/Ausgabegeräteadresse, ein Ein-/Ausgabegerätekommando oder als
EhWAusgabegerätedaten auf die Datenausgangsleitung DBO 45 oder für die Identifizierung des BitmujSters eines Bytes, das von der Steuereinheit 51 oder 55 auf die Eingangssammelleitungen 49 von den Ein-/ Ausgabegeräten übertragen wird. Ferner führt auch
ίο eine Leitung 33 von den Steuereinheiten 51 oder 55 zur ALU 31, die zur Angabe der gültigen Parität der empfangenen Information dient.
Fig. 2 zeigt nun eine ausführlichere Darstellung der für die Realisierung der Funktionen innerhalb der
is Adressensteuereinheit 21 notwendigen logischen Schaltungen. Um eine Folge von Steuersignalen zur Verfügung zu stellen, die für die Steuerung des Speichers 11 in Abhängigkeit von einem Befehl erforderlich sind, ist ein Operationscoderegister 101 für die
μ Speicherung des Operationscodes OP vorgesehen, der einen Teil des Befehls darstellt. Das Operationscoderegister 101 verfügt über Dateneingänge, die mit der Dateneingangssammelleitung 43 und über einen Ladesteuereingang, der mit dem Ausgang eines seine Folge selbst steuernden Festwertspeichers (ROS) 105 verbunden sind. Ein Datenausgang von jeder Bitposition des Operationscoderegister 101 ist mit den Eingängen von Operationscode-Decodierungstoren 103 verbunden, die das binäre Bitmuster eines Operations-
M codes in mindestens eines einer Anzahl von Signalen auf den Sign»lleitungen decodiert, die mit dem Festwertspeicher 105 verbunden sind. Jede Signalleitung, die einen Eingang für den sich in seiner Folge selbst steuernden Festwertspeicher 105 bildet, aktiviert eine jeweils andere Ausführungsfolge bei der Ausführung der verschiedenen Operationscode. Dieser sich in seiner Arbeitsfolge selbst steuernde Festwertspeicher kann beispielsweise ein konventioneller Festwertspeicher oder Lese/Schreibspeicher sein, der über einen
■»ο Adressenzähler oder andere Folgesteuerungen verfügt, um die Vielzahl von sequentiellen Steuersignalen zu generieren, die am Ausgang eines solchen Speichers 105 erforderlich sind. Alternativ hierzu können auch konventionelle Taktgeber oder Zähler, in Verbindung mit einem logischen Entscheidungsbaum oder sequentiell gesteuerten Verriegelungsschaltungen, verwendet werden, um die Folgen der Steuerimpulse zu erzeugen, die von jedem Operationscode eines Befehls initiiert werden.
so Wie Fig. 3 zeigt, ist CMET für diese Decodierschaltung das Funktionsmodifizierungs-Eingangssignal. Es wird über die Decodierschaltung 103 zu einem Eingang mindestens einer Folge des Festwertspeichers 105 übertragen. Das Signal CMET stellt zusätzliche Ausgangssignale vom Festwertspeicher 105 zur Verfugung, um beispielsweise den Befehlszähler während einer bedingten Verzweigung od. dgl. zu laden. Der Festwertspeicher 105 hat mehrere Ausgangsleitungen, von denen einige mit LOADIR, Le-
* sen und Schreiben bezeichnet sind. Andere dieser Ausgangsleitungen sind nicht bekannt, stellen aber direkte Verbindungen zur Logik innerhalb des ACU 21 dar, die sie steuern, wie beispielsweise den Befehlszähler 107 sowie die Adressenausgangstore (AOI) 115
es und 117. Der Befehlszähler 107 hat beispielsweise drei Eingangsleitungen vom Festwertspeicher 105, von denen zwei für das Laden des Befehlszählers von der Dateneingangssammelleitung 43 mit zwei Bytes und die
andere für das Weiterschalten des Befehlszählers 107 auf die nächste sequentielle Befehlsadresse verwendet werden. Der Befehlszähler 107 besteht aus sechzehn Zählstufen, von denen acht über die Tore 115 mit der niedrigstelligen Adressensammelleitung (ADDRL) 25 und die übrigen acht über die Tore 117 mit der hochstelligen Adressensammelleitung (ADDRH) 23 verbunden sind.
In ähnlicher Weise verfügt das Speicheradressenregister 109 über zwei Ladeeingänge, die mit dem Ausgang des Festwertspeichers 105 verbunden sind. Sie (dienen zum Laden von Adressenbytes in das Speicheradressenregister 109 von der Dateneingangssammelleitung 42 aus, mit der Adresse eines Bereiches im Speicher, der Information enthält, die als Operand in einem Rechengang oder als eine Adresse für die Spei-
1UiIWi. «iiaiwuA^i uiig tu rrwiiuui n^xutll ivailll. l_scL& OUCl" cheradressenregister 109 ist ebenso wie der Befehlszähler 107 sechzehn Bit breit und verfügt daher über ein niedrigstelliges Byte, das über die Tore 115 auf die niedrigstellige Adressensammelleitung 25 und über ein hochstelliges Byte, das über die Tore 117 auf die hochstellige Adressensammelleitung 23 übertragen wird.
Die Register 111 und 113, welche die Operandenidentifizierfelder R1 und R2 eines Befehls speichern, haben in ähnlicher Weise Ladesteuereingänge, die mit dem Festwertspeicher 105 verbunden sind, so daß diese Register 111 und 113 mit den Registerfeldern eines Befehls auf der Dateneingangssammelleitung 43 geladen werden können. Im hier vorliegenden Ausführungsbeispiel verfugen die Rl-/R2-Register 111 und 113 jeweils über vier Bitstellen, die den niedrigsten Stellen der Speicheradresse zugeordnet sind. Wenn daher beispielsweise das niedrigststeilige 4-Bit-Muster des Registers 111 über die Adressenausgangstore 115 zusammen mit lauter binären Nullen in den höherstelligen Bitpositionen, gesteuert vom Festwertspeicher 105, übertragen werden, dann wird eine niedrigstellige Speicherposition ausgewählt, die einen Operanden enthält, der durch diesen Befehl spezifiziert ist.
Fig. 3 zeigt weiter eine ausführlichere Darstellung der logischen Schaltungen, die für die Durchführung der Subprozessorfunktionen der ALU 31 erforderlich sind. Ein hochstelliges Byteregister 201 dient zur Speicherung des Operationscodeteils eines Befehls, der von der ALU 31 ausgeführt werden soll. Das Register 102 speichert ferner ein Zähl- oder Maskenfeld eines Befehls. Der Operationscode im Register 201 wird von den Decodierschaltungen 203 decodiert, um eine oder mehrere Ausführangsfolgen innerhalb des Festwertspeichers in der gleichen Weise zu aktivieren, die zuvor im Zusammenhang mit Fig. 2 erläutert wurde. Die mit LOADIR bezeichnete Emgangsleitung zur Decodierschaltung 203 aktiviert in ähnlicher Weise eine zusätzliche Ablauffolge des Festwertspeichers 205, um die Ausführung eines gerade laufenden Befehls derart zu modifizieren, daß ein Teil des als nächsten auszuführenden Befehls in das Register 201 geladen wird. Das niedrigstellige Byte des Befehls wird im Register 229 gespeichert, so daß die ALU 31 entweder die geradzahlige Speicherausgangssammelleitung 27 oder die ungeradzahlige Speicherausgangssammelleitung 29 anschließen kann, was davon abhängig ist, ob R1 oder R 2 gerade oder ungerade ist. Ebenso wie bei der Operationscodeausführung des ACU 21 können die Decodierschaltungen 203 und der Festwertspeicher 205 durch einen Zähler und logische Tore so ersetzt werden, wie es bereite im Zusammenhang mit Fig. 2 erläutert wurde.
Wie in Fig. 1 und 3 weiter dargestellt ist, werden die Ausgangssignale des Festwertspeichers 205 auf die vorher erläuterten AOI ST-LTG-Leitungen 37 zu dem Tor 47 sowie die E/A-Kennzeichenleitung 35 für die Identifizierung der Bitmuster auf der Datenausgangssammelleitung 45 und auf der E-/A-Sammellei-
tung 49 übertragen. Zusätzlich zu diesen externen Steuerfunktionen werden die Ausgangssignale des Festwertspeichers 205 auch zu dem Porgrammstatuscode-Vergleicher 215, zu dem Bedingungscode-Ausgangstor 217, zu dem Bedingungscoderegister 213, zu
is dem Bedingungungscodierer 211, zu verschiedenen logischen Schaltungen des arithmetischen und logischen Entscheidungsblocks 207 sowie zu der. Ladesteuereingängen der Register 201, 209 und 229 übertragen. Um einen Operanden zu speichern, der zur
μ Durchführung arithmetischer oder logischer Rechnungen oder einer Entscheidung benutzt wird, ist ein Operandenregister in der Form des B-Registers 209 vorgesehen, dessen Dateneingänge mit der Dateneingangssammelleitung 43 für das Laden dieses Registers
verbunden sind. Diese Ladeoperation wird von dem Signal LOADBREG vom Festwertspeicher 205 gesteuert. Jede Bitposition des Datenausgangs des B-Registers 209 ist mit einem Eingang der Logikschaltung 219 für die Darstellung der Information als Echt-
wert oder als komplementärer Wert sowie mit entsprechenden Eingängen des Verschiebers und Rotierers 225 verbunden. Die Logik für den Echtwert oder Komplementärwert 219 besteht aus an sich bekannten UND- und ODER-Toren, die von zwei Ausgangssignalen des Festwertspeichers 205 gesteuert werden, um den Echtwert oder das Einerkomplement des im Register 209 gespeicherten Datenwortes zu erzeugen. Die Ausgänge der Logikschaltung 219 für den Echtoder Komplementärwert sind mit einer Schaltung 223 verbunden, die eine Kombination der logischen Funktionen UND/ODER/EXCLUSrV-ODER darstellt, sowie mit einem Übertragsgenerator 221. Die beiden zuletzt genannten Schaltungen 223 und 221 verfugen jeweils über einen zweiten Sammelleitungseingang, der mit der Dateneingangssammelleitung 43 verbunden ist, um logische Funktionen wie UND, ODER, EXCLUSIV-ODER und die Übertragserzeugung für die arithmetische Addition vorzunehmen. Die Schaltungen 223 und 221 haben jeweils eine Anzahl von
so Steuereingängen, die mit den Ausgängen des Festwertspeichers 205 verbunden sind, um jeweils die gewünschten obengenannten Funktionen auszuführen. Der Verschieber und Rotierer 225 verfügt ebenfalls über einen zweiten Datensammelleitungseingang, der mit einer Anzahl von Bitpositionen des Registers 201 verbunden ist, das einen Zählwert speichern kann, der in Verbindung mit einem Operationscode für Verschiebung und Rotieren verwendet wird. Der Zählwert gibt die Anzahl der Bitpositionen an, um die der Inhalt des Registers 209 zu verschieben oder zu rotieren ist. Der Verschieber und Rotierer 225 wird ebenfalls von zwei Steuerleitungen gesteuert, die vom Festwertspeicher 205 herangeführt werden, um eine Verschiebefunktion oder eine Rotierfunktion auszuführen. Die Tor/Exclusiv-ODER-Schaltung 227 ist ebenfalls eine mehrfach UND-ODER- und EXCLU-SIV-ODER-Torschaltung, deren Eingänge mit der Dateneingangssammelleitung 43, dem Übertragsge-
nerator 221, der UND/ODER/EXCLUSIV-ODER-Schaltung 223 sowie mit dem Verschieber und Rotierer 225 und einer Anzahl von Steuereingangsleitungen vom Festwertspeicher 2ÖS verbunden sind. Diese Struktur dient zur direkten Durchschaltung auf die Datenausgangssammelleitung 45 oder zur Durchführung von EXCLUSIV-ODER-Verknüpfungen der von den obenerwähnten Eingängen herrührenden Information. Der Übertragsgenerator 221 weist ebenfalls einen Eingang auf, der mit der Übertragsbitposition des Bedingungsregisters (C-REG) 213 verbunden ist, so daß der Übertrag einer vorhergehenden Addition in die arithmetische Addition höherstelliger Bytes einer Zahl in der Form von zwei oder mehr Bytes eingeführt werden kann. Die EXCLUSIV-ODER-Tore 223 und 227 führen in Kombination mit dem Übertragsgenerator 221 eine arithmetische Addition und wenn sie mit der Schaltung 219 für den Echt- oder Komplementärwert kombiniert wird, auch die Funktion der Subtraktion aus.
Um Signale bereitzustellen, die von der ALU 31 und dem ACU 21 für eine Modifizierung der Ausführung einer Anzahl von Befehlen verwendet werden können, Befehle, die beispielsweise das Verbleiben in einem Programm oder das Austreten aus einem Programm anordnen, sind die Programmstatuscode-Vergleichsschaltungen 215 vorgesehen, die den Inhalt des Bedingungsregisters 213 mit einem Teil des Inhalts des Registers 201, der beispielsweise eine Bitmaske enthalten kann, vergleicht. Der Inhalt des Bedingungsregisters 213 wird von dem Bedingungscodierer 211 empfangen, dessen Eingänge mit dem Verschieber und Rotierer 225, der Tor/EXCLUSIV-ODER-Schaltung 227 und dem Übertragsgenerator 221 verbunden sind. Der Bedingungscodierer 211 kann auf bekannte Weise so realisiert werden, daß er feststellen kann, ob die an seinen Eingängen anliegenden Signale positiv sind, Null, hohe Werte oder Uberlaufsbits darstellen oder einige andere Bedingungen erfüllen, die gewünschte spezielle Aktionen erforderlich machen, wie beispielsweise die Erzeugung eines Übertrags. Wenn eine dieser Bedingungen auftritt, wird sie von dem Bedingungscodierer 211 festgestellt, im Bedingungsregister 213 für den Vergleich mit den ■ Maskenbits gespeichert, die sich in dem Register 201 befinden, wobei dieser Vergleich von der Programmstatuts-Vergleichslogik 215 vorgenommen wird; oder
105-Ausgänge
LOADIR
Lade OP-REG.
Lade IC H
Lade IC L
Läse SAR H
Lade SAR L
Lade Rl
Lade R2
Schalte IC durch
Schalte SAR durch
Schalte Rl durch
Schalte R2 durch
Schalte IC weiter
Lies
Schreibe
es wird die Information auf die Datenausgangssammelleitung 45 über die Torschaltung 217 ausgegeben, wobei alles dieses von den aus dem Festwertspeicher 205 abgeleiteten Ausführungsfolgen gesteuert wird.
Das Ausgangssignal des Programmstatuscode-Vergleichers 215 ist das Funktionsmodifizierungssignal CMET, das auf die entsprechende Eingangsleitung zu dem ACU 21 für die Modifizierung der Ausführung eines Befehls im ACU 21 übertragen wird.
ίο Im folgenden wird die Arbeitsweise eines Ausführungsbeispiels der Erfindung näher erläutert. Obwohl das Format der folgenden Befehle, die als Beispiele zur Erläuterung der Arbeitsweise verwendet werden, sich auf einen vier Bit breiten Operationscode, ein
is- acht Bit breites Direktoperandenfeld, auf ein vier Bit breites Operandenadressenfeld und auf ein vier Bit breites Masken- oder Zählfeld bezieht, können auch andere Formate oder andere Registerkonfigurationen verwendet werden, als die in den Fig. 2 und 3 dargestellten.
Im folgenden wird jeder Ausführungsschritt, der für die sequentielle Ausführung der drei Befehle »addiere Register zu Register«, »speichere Register« und »springe bei Bedingung« mit Hilfe der Tabelle, die nur solche Festwertspeicherausgangssignale zeigt, die für diese Befehle notwendig sind, ausführlich erläutert. Ferner wird zur Erläuterung angenommen, daß der Speicher 11 ein relativ schneller Speicher ist und ein Datenbyte oder mehrere Bytes an seinen Ausgangsregistern innerhalb einer relativ kurzen Zeit nach dem Empfang einer Adresse zur Verfugung stellt. Durch diese Annahme wird die Erläuterung insofern vereinfacht, als daß Fließband-(pipe-lining-)Konzept (vgl. elektronische Rechenanlagen, 1973, Heft 2, Seite 60), das an sich in der Datenverarbeitungsanlage verwendet wird, von der Betrachtung ausgeschlossen bleibt. Außerdem ist auch der Einsatz eines sehr schnellen Speichers nicht unbedingt erforderlich, da die Anordnung auch ohne einen solchen schnellen Speicher arbeitsfähig ist. Um einen »addiere Register zu Register«-Befehl auszuführen, müssen die vier Bits des Operationscodes dieses Befehls gleichzeitig von den Decodierungstoren 103 und 203 decodiert werden, um die entsprechende Ausführungsfolge in den Festwertspeichern 105 und 205 zu aktivieren, die in der nachfolgenden Tabelle 1 dargestellt sind.
1 2 Ausführungszyklen 4 5 1 SPEICHERE 3 4 5 6 1 SPRINGE 3 4 5 6
0 0 3 0 0 0 0 1 ö 0 0 6 1 0 0
0 0 1 1 0 0 2 0 0 1 0 0 2 0 0 1 0
Tabelle 1 0 0 0 0 0 0 0 0 0 0 0 0 5 0 1 0 0
ADDIERE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1
0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
1 1 0 1 0 1 0 1 0 0 0 0 η ö ö
0 0 0 0 0 0 0 0 Λ
J.
0 0 0 0 η η 0. O
1 0 0
0 η
(Tabelle 1 Fortsetzung) O O 25 24 046 Ausführungszyklen 0 0 0 14 0 1 0 0 0 fs 0 1 1
13 O O 1 0 0 0 0 1 0 0 0 0 i
.1 O 1 1 0 0 SPEICHERE 0 0 1 0 0 0 0 0 f
205-Ausgänge O 1 ADDIERE : O 0 0 0 0 0 0 1 0 SPRINGE I
m
0 0 ι i
Lade I-REG H O 1 -* O 0 0 0 0 0 0 1 C 0 0 1 I
Lade I-REG L O 1 O 0 0 0 0 0 0 0 1 0 0 0 ο I
Lade B-REG O O O O 0 0 0 0 0 0 0 0 0 0 0 0 o'ü
Schalte »Echt« durch O O O O 0 0 0 0 0 0 0 0 0 0 0 0 Oi
XOR223 O 1 O O 0 0 0 0 0 0 0 1 0 0 0 0 0I
Übertrag O 1 O O 0 0 0 0 0 0 0 1 0 0 0 0 -•π Ρ
Übertrag ein O O O O 0 0 0 0 0 0 0 1 0 1 0 0 ο ΐ
Schalte DBI durch 1 1 O O 0 1 0 0 0 1 0 .1 1 0 1 1 ο I
XOR223 Übertr. 1 1 O O 0 1 0 1 0 1 0 0 0 1 0 1 ο I
CODIERER Übertr. O O O 1 1 0 1 0 0 0 1 0 1 0 1 0 0 i
CMETVergl. O 1 0 1 0 Ϊ
AOIl O O 0 1 1 '-
AOI 2 O 1 1
ACI 4 O 1 0
O 0 1
O 0
Die Ausgangssignale »Schalte R2 durch« und »Lies« des Festwertspeichers 165 im ersten Additionsbefehls-Ausführungszyklus bewirken, daß der Inhalt des R2-Registers 113 auf die Adressensammelleitung 25 für den niedrigstelligen Adressenteil als niedrigstellige Adreßbits des Registers zu dem Speicher 11 übertragen werden, der nun ausgelesen wird, um den ersten Operanden zu liefern. Beim vorliegenden Ausführungsbeispiel steuert der Festwertspeicher 105 die Tore 115 und 117, um lauter binäre Nullen in die zwölf höchststelligen Adressenbitpositions-Leitungen einzugeben, wodurch eine relativ niedrige Speicherstelle angesteuert wird. Der Inhalt des Speicherbereiches, der von dem im Register 113 gespeicherten Bitmuster adressiert wird, wird in das Speicherausgangsregister 13 und 15 eingelesen, abhängig davon, ob die ausgewählte Bytestelle ein gerades oder ungerades Byte betrifft. Das niedrigstellige Byte des Befehls, der die FeHer R1 und R2 einschließt, ist in dem Register229 (I REG L) für die ALU 31 verfügbar, wodurch der Decodierschaltung 203 gestattet ist, eine erste oder eine zweite Folge im Festwertspeicher 205 in Abhängigkeit davon auszuwählen, ob das R-FeId ein ungerades oder ein gerades Byte auswählt. Die AOI-Steuerleitungen 37 verbinden dann die Sammelleitung 27 oder 29 mit der Eingangssammelieitung 43, wobei dieses wiederum davon abhängt, ob eine gerade oder ungerade Speicherstelle im Speicher 11 ausgewählt wurde. Während des Aufführungszyklus 1 steuert die ALU 31 auch das B-Register 209, um das vom Speicher 11 über die Dateneingangssammelleitung 43 empfangene Byte zu laden. Während des Ausführungszyklus 2 werden die während des ersten Zyklus ausgeführten Schritte mit der Ausnahme wiederholt, daß der Inhalt des Registers 111 auf die niedrigstellige Adressensammelleitung 25 gegeben wird und die vom Speicher 11 empfangenen Daten nicht im B-Register 209 gespeichert, sondern direkt der Dateneingangssammelleitung 43, den EXCLUSIV-ODER-Schaltungen 223 und dem Übertragsgenerator 221 verfügbar gemacht werden, der eine Teilsumme und einen Übertrag, in Abhängigkeit von den Steuersignalen »Schalte echt durch«, »XOR223« und »Übertrag« des Festwertspeichers 205 erzeugt. Die Ausgangssignale der EXCLUSIV-ODER-Schaltungen 223 und des Übertragsgenerators 221 werden wieder mit Hilfe der EXCLUSIV-ODER-Schaltungen 227 kombiniert, wobsi dieses von dem Steuersignal »XOR223-Übertrag« des Festwertspeichers 205 gesteuert wird, um die Endsumme und den hochstelligen Übertrag, falls vorhanden, zu liefern, der von dem Übertragsgenerator 221 über den Bedingungscodierer 211 übertragen wird, wobei auch dieses von einem Steuersignal »Codiererübertrag« gesteuert wird, welches das Register 213 steuert, während das Ausgangssignal der EXCLUSIV-ODER-Schaltungen 227 auf der Datenausgangssammelleitung 25 verfügbar wird.
Da dieses Ausführungsbeispiel mit dynamischer Logik realisiert ist, dauert es einen Ausführungszyklus, bis die resultierende Summe auf der Datenausgangssammelleitung 45 erscheint. Während des nächsten Ausführungszyklus 3 wird der Inhalt des Registers wieder auf die Adressensammelleitung 25 für den niedrigstelligen Teil der Adresse übertragen, um die Speicherstelle für den zweiten Operanden auszuwählen, während die Schreibsteuerleitung zum Speicher 11 aktiviert wird, um den Inhalt des Registers 17 des Speichers 11 in die adressierte Speicherstelle zu übertragen. Der Festwertspeicher 105 erzeugt "auch das Steuersignal »LOADIR« (»Lade I-REG H«), um den Festwertspeicher 205 zu synchronisieren, damit er während des nächsten Zyklus einen Befehl lädt. Während des nächsten Ausführungszyklus 4 wird der Inhalt des Befehlszählers 107 auf die Adressensammelleitungen 25 und 23 übertragen, um den nächstfolgenden Befehl auszuwählen, der dann ausgeführt werden soll. Da die Befehle im vorliegenden Ausführungsbeispiel stets sechzehn Bits lang sind, werden sie stets von einer geraden Adresse adressiert, die sowohl eine gerade Speicherstelle, als auch die folgende ungerade Speicherstelle auswählt. Das Signal »Lies«, das zu dem Speicher 11 übertragen wird, bewirkt, daß der Inhalt der ausgewählten Speicherstellen in die Aus-
«o gangsregister 13 und 15 übertragen und das erste Byte des Befehls in das Operationsregister 101 und in das I REG H-Register 201 geladen wird. Während des fünften Ausführungszyklus wird das ungerade Byte des Befehls in die Rl und R2-Register 111 und 113
es übertragen, sowie in das B-Register 109 und das I REG L-Register 229. Da während des Zyklus 4 der gesamte Befehl aus den Registern 13 und 15 ausgelesen wurde, kann der Befehlszähler 107 während des
fünften Zyklus weitergeschaltet werden, so daß er auf den nächsten sequentiellen Befehl zeigt, der im vorliegenden Beispiel ein »Speichere«-Befehl ist.
_ Dei Befehl »Addiere Register zu Register mit Übertrag« wird fast mit den gleichen Ausführungsschritten ausgeführt, die im Zusammenhang mit der zuvor erläuterten Ausführung des Befehls »Addiere Register zu Register« beschrieben wurden. Die einzige Ausnahme hierbei besteht darin, daß das Übertragsbit von einem vorhergehenden Addierbefehl, das im Bedingungsregister 213 gespeichert ist, von diesem Register zu dem niedrigstelligen Biteingang des Übertragsgenerators 221 übertragen wird. Auf diese Weise kann eine sechzehnstellige Zahl zu einer anderen sechzehnstelligen Zahl mit Hilfe zweier sequentiell ausgeführter »Addiere Register zu Register«-Befehle addiert werden.
Der Befehl »Speichere Register in den Speicher« umfaßt einen vier Bit breiten Operationscode, der sich nun in den Registern 101 und 201 befindet, ein vier Bit breites Operandenidentifizierungsfeld Rl, das sich nun im Speicherregister 111 befindet und das die Registerraum-Speicherstelle des Registers identifiziert, dessen Inhalt im Speicher gespeichert werden soll sowie ein zweites vier Bit breites Operandenfeld R2, das sich nun in dem Register 113 befindet, das die Registerraum-Speicherstelle des Registers, angibt, das die Speicheradresse enthält, an der der Inhalt des ersten Registers gespeichert werden soll. Während des Zyklus 1 des »Speichere Register in den Speicher«-Befehls bewirken die Ausgangssignale des Festwertspeichers 105, daß die AOI-Tore 115 und 117 den Inhalt des Registers 113 auf die vier niedrigstelligen Ausgangsleitungen der Adressenleitung 25 übertragen, wobei lauter binäre Null-Bits auf die übrigen Leitungen der Adressensammelleitungen 25 und 23 gegeben werden, während sie gleichzeitig die Ladesteuerungseingänge zu dem Speicheradressenregister 109 aktivieren, so daß die Datenausgangssammelleitung 43 angeschlossen ist, um die hochstelligen Bitpositionen des Speicheradressenregisters 109 zu laden. Während dieses gleichen Ausführungszyklus 1 steuern die Ausgangssignale des Festwertspeichers 205 die AOF-Steuerleitungen 37, um die geradzahlige Speicherausgangssammelleitung 27 mit der Dateneingangssammelleitung 43 zu verbinden. Während des nachfolgenden Ausführungszyklus 2 steuern die Ausgangssignale des Festwertspeichers 105 einen zweiten Ladeeingang zu dem Speicheradressenregisler 109, um die niedrigstelligen Bitpositionen der Dateneingangssammelleitung 43 zu laden, wohingegen der Festwertspeicher 205 Ausgangssignale liefert, welche die AOI-Steuerleitungen 37 mit einem binären Vierercode lädt, um die ungerade Speicherausgangssammelleitung 29 mit der Dateneingangssammelleitung 43 zu verbinden. Während des dritten Ausführungszyklus steuern die Ausgangssignale des Festwertspeichers 105 die Übertragung des Inhaltes des Rl-Registers 111 in die niedrigstelligen Bitpositionen der Adressenleitung ADDRL 25 und bewirken wieder, daß lauter Null-Bits in den hochstelligen Bitpositionen erscheinen, während die Steuersignale des Festwertspeichers 205 die Steuerleitungen 37 des AOI aktivieren, um die gerade oder ungerade Speicherausgangssammelleitung 27 oder 29 zu verbinden, in Abhängigkeit davon, ob der Inhalt des Rl-Feldes in I-Register Z.229 eine gerade oder eine ungerade Zahl ist.
Die entsprechende Speichersammelleitung wird dann mit Hilfe «ier AOI-Tore 47 mit der Dateneingangssammelleitung 43 verbunden, während der Ausgang des Festwertspeichers 205 zur Toranordnung 227 aktiv ist, um ein Datenbyte, das gespeichert werden soll, von der Dateneingangssammelleitung 43 zu der Datenausgangssammelleitung 45 zu übertragen, ein Vorgang, der einen Ausführungszyklus in Anspruch nimmt. Während des vierten Ausführungszyklus öffnet der Festwertspeicher 105 die Tore 115 und 117, um den Inhalt des Speicheradressenregisters 109 auf die AdressensammeUeitungen 25 und 23 zu übertragen und er aktiviert den Ausgang »Schreiben« zu dem Speicher 11, um das Byte zu speichern, das durch die
is ALU 31 übertragen wird. Die Ausführungszyklen 5 und 6 zur Gewinnung des nächsten sequentiellen Befehls sind identisch mit den »Addierzyklen« 4 und 5, die zuvor erläutert wurden.
Der Befehl »Springe bei Bedingung« umfaßt ebenfalls ein vier Bit breites Operationscodefeld, ein vier Bit breites Maskenfeld und ein acht Bit breites Sofortdatenfeld. Ein Rückblick auf Tabelle 1 zeigt, daß der Festwertspeicher 105 den Inhalt des Befehlszählers 107 während des Zyklus 1 über die Adressenausgangstore 115 und 117 überträgt. Der Festwertspeicher 205 aktiviert die Signale »AOI 1«, »Schalte echt durch«, »XOR223«, »Übertrag« und »XOR223 Übertrag«, um das Sofortdatenfeld vom B-Register 209 zu dem niedrigstelligen Byte des Befehlszählers 107 zu addieren. Das hochstellige Ausgangs-Übertragsbit, falls eines vorhanden ist, wird im Bedingungsregister 213 über den Bedingungscodierer 211 gespeichert, und zwar mit Hilfe eines Signals »Codiererübertrag« vom Festwertspeicher 205.
Um die Inhalte der anderen Felder, wie beispielsweise Null, Überlauf, oder hoher Wert im Bedingungsregister 213 mit dem Maskenfeld im I-Register #201 zu vergleichen, aktiviert der Festwertspeicher 205 die Programmstatuscode-Vergleichsschaltungen 215, um das Signal CMET zu erzeugen, wenn in den Positionen des C-Registers 213 ein Bit gefunden wird, das den Bits in den entsprechenden Positionen des Maskenfeldes entspricht. Das CMET-Signal aktiviert eine zusätzliche Folge im Festwertspeicher 105, um die niedrigstelligen Stufen des Befehlszählers 107 mit der neuen Befehlsadresse während des nächsten Zyklus 2 zu laden, wenn die Summe auf der Datenausgangssammelleitung 45 verfügbar ist. Die Summe wird von der Datenausgangsleitung 45 über AOI 47 auf die Dateneingangssammelleitung mit Hilfe der Signale »AOI 1« und AOI 4 auf den AOI-Steuerleitungen 37 übertragen. Der Ausführungszyklus drei ist der gleiche wie Zyklus 1, mit den Ausnahmen, daß die Adressenausgangsleitung ADDRH dazu verwendet wird, daß hochstellige Adressenbyte heranzuführen, das zu Nullen addiert wird, da weder ein Signal »Schalte echt durch« noch ein Signal »Schalte Vergleicher durch« an der Schaltung 219 ak-
tiv ist; jedoch bewirken die Steuersignale »Übertrag ein« und »XOR223 Übertrag«, daß der Übertragsgenerator 221 und die Torschaltungen 227 das Übertragsbit von der vorhergehenden niedrigstelligen Byteaddition mit dem hochstelligen Byte, das von der
es Torschaltung 223 geliefert wird, kombiniert wird. Diese Summe wird wieder in die hochstelligen Positionen des Befehlszähler. 107 während des Zyklus 4 übertragen, wenn das Signal CMET empfangen wird.
17 18
Diese Übertragung erfolgt über AOI47 mit Hilfe der wird der Befehl, zu dem das Programm hinsprang geSignale »AOI1«, »AOI4« und »Lade IC Η«. Die laden, wenn die Bedingung für die Erzeugung des geZyklen 5 und 6 sind dia gleichen, wie die zuvor be- nannten Signals nicht erfüllt wurde, wird der urschriebenen Zyklen, die einen neuen Befehl heran- spränglich erhöhte Inhalt des Befehlszählers 107 zum fähren. Y/enn das Signal CMET erzeugt wurde, dann s Aufruf des nächsten sequentiellen Befehls verwendet.
Hierzu 3 Blatt Zeichnungen

Claims (9)

Patentansprüche:
1. Elektronische Datenverarbeitungsanlage mit einem Speicher für Daten und Befehle sowie men- j reren Subprozessoren, die über ein Sammelleitungssystem zum Austausch von Information derart miteinander verbunden sind, daß mindestens ein Subprozessor einer ersten Art Adressen zu dem Speicher überträgt und vom Speicher empfängt und mindestens ein weiterer Subprozessor einer zweiten Art Daten sowohl zu dem Speicher überträgt, als auch von diesem empfängt,gekennzeichnet durch folgende Merkmale:
a) die Subprozessoren der ersten und zweiten u Art (21 bzw. 31; Fig. 1) sind zeitlich miteinander synchronisiert und verfugen jeweils über eine Befehlsdecodierungseinrichtung (101; 103; Fig. 2 bzw. 201,203,229, Fig. 3) für die Decodierung eines gemeinsamen Be- a fehls sowie über eine Befehlsausführungseinrichtung zur gleichzeitigen und unabhängigen Ausführung eines Teils der von einem Befehl geforderten Funktionen;
b) die Subprozessoren der zweiten Art (31) wei- * sen eine Funktionsmodifizierungslogik (287, 211,213, 21S) auf, die von der zugeordneten Befehlsdecodierungseinrichtung angestoßen wird und eine Modifizierung des von einem Subprozessor der ersten Art (21) auszufüh- x renden Befehls bewirkt.
2. Elektronische Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß ein Subprozessor der ersten Art (21) ferner über ein Operationsregister (101) für die Speicherung des Operationscodes des jeweiligen Befehls über Ausgänge aus dem Operationsregister verfügt, die mit der Befehlsdecodieruhgseinrichtung verbunden sind, daß er weiterhin über einen Befehlszäh- « ler (107) verfügt, der einen Weiterschalteeingang und einen Ladeeingang aufweist, die mit den Ausgängen der Befehlsdecodierungseinrichtung verbunden sind, um den Befehlszähler (107) weiterzuschalten, wenn der nächste Befehl ausgeführt werden soll oder der über den Informationseingang geladen wird, wenn ein nicht sequentieller Befehl ausgeführt werden soll, daß er ferner über ein Speicheradressenregister (109) verfügt, dessen Eingang mit der Befehlsdecodierungseinrichtung verbunden ist, um das Speicheradressenregister (109) über den Informationseingang mit einer Speicheradresse der Speichereinrichtung (11) zu laden und daß er schließlich über Adressenausgangstore (115,117) verfügt, die den Befehlszähler (107) und das Speicheradressenregister (109) mit dem Adressenausgang (23, 25) eines Subprozessors der ersten Art verbinden (Fig. 2).
3. Elektronische Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß « ein Subprozessor der ersten Art (21) noch mindestens ein Register (111,113) aufweist, das über einen Ladeeingang verfügt, der mit der Befehlsdecodierungseinrichtung verbunden ist, zur Ladung des Registers vom Informationseingang her mit 6s Operandenidentifizierungsbits, die ein Teil des Befehls sind (Fig. 2).
4. Elektronische Datenverarbeitungsanlage
nach Anspruch 3, dadurch gekennzeichnet, daß das genannte Register (111,113) über einen Ausgang verfügt, der mit. den Adressenausgangstoren QL15) eines Subprozessors der ersten Art für die Übertragung des Inhalts dieses Registers zu dem genannten Adressenausgang (25) als ein Adressenidentifizierungsteil verbunden ist, der in Kombination mit einem vorgegebenen übrigen Teil der Adresse, die von dem genannten Adressenausgang (23) geliefert wird, eine einzige Speicherstelle in der Speichereinrichtung (11) spezifiziert, so daß weniger als eine vollständige Adresse in dem genannten Befehl enthalten sein muß (Fig. 2).
5. Elektronische Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß die Befehlsdecodierungseinrichtung aus einer Operationsdecodierschaltung (103) besteht, die mindestens eine von einer Anzahl von Signalleitungen in Abhängigkeit vom Operationscodeteil des Befehls erregt und daß ein Festwertspeicher (105) mit Eigenfolgesteuerung für die sequentielle Erzeugung einer Anzahl von Ausgangssignalen zur Steuerung des Befehlszählers (107), des Speicheradressenregisters (109) und der Adressenausgangstore (115.117) zur Ausführung des Befehls vorgesehen ist (Fig. 2).
6. Elektronische Datenverarbeitungsanlage nach Anspruch 5, dadurch gekennzeichnet, daß ein Funktionsmodifizierungs-Steuersignal (CMET) zur Operationsdecodierschaltung (103) zur Modifizierung der Folge der Steuersignale übertragen wird, die von dem Festwertspeicher (105) mit Eigenfolgesteuerung erzeugt werden (Fig. 2).
7. Elektronische Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß ein Subprozessor der zweiten Art (31) mit einem Subprozessor der ersten Art (21) durch den Empfang eines »Ladebefehl-Register«-Signals von dem Subprozessor der ersten Art zeitlich synchronisiert wird (Fig. 1).
8. Elektronische Datenverarbeitungsanlage . nach Anspruch 1, dadurch gekennzeichnet, daß
ein Subprozessor (31) der zweiten Art über folgende Einrichtungen verfügt:
ein Operationsregister (201) zur Speicherung ■ des Operationscodeteils eines Befehls, wobei ein Ausgang dieses Operationsregisters (201) mit einer Befehlsdecodierungseinrichtung (203) verbunden ist,
ein Operandenregister (209), dessen Ladeeingang mit den Ausgängen der zweiten Befehlsdecodierungseinrichtung (203) zum Laden des Operandenregisters (209) verbunden ist, und
arithmetische und logische Rechenschaltungen (223, 225, 227) mit einer Anzahl von Eingängen, die mit den Ausgängen der Befehlsdecodierungseinrichtung (203) zur Durchführung arithmetischer und logischer Entscheidungen verbunden sind, nachdem Daten von einem Eingang empfangen wurden, der mit dem Operandenregister (201) verbunden ist und außerdem Information von einem Eingang empfangen wurde, der mit einem Informationseingang des Subprozessors der zweiten Art verbunden ist, wobei der Ausgang der arithmetischen und logischen Rechenschaltung (223, 224,227) mit den Informationsausgängen (45) des
Subprozessors der zweiten Art verbunden sind (Fig. 3).
9. Elektronische Datenverarbeitungsanlage nach Anspruch 8, dadurch gekennzeichnet, daß die Funktionsmodifizierungslogik (207,211, 213, 215) über folgende Einrichtungen verfügt:
einen Bedingungscodierer (2Ü) zur Codierung einer Funktionsmodißzierungsbedingung, die von einem Ergebnis erkannt wird, das von den arithmetischen und logischen Rechenischaltungen abgegeben wird,
ein Bedingungsregister (213) zur Speicherung von Bedingungen, die von dem Bedingungscodierer (211) festgestellt wurden und
einen Vergleicher (215), der aus den Eingangssignalen" ein Funktionsrnodifizierungssignal (CMET) erzeugt (Fig. 3).
DE2524046A 1974-06-26 1975-05-30 Elektronische Datenverarbeitungsanlage Expired DE2524046C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/483,270 US3943494A (en) 1974-06-26 1974-06-26 Distributed execution processor

Publications (2)

Publication Number Publication Date
DE2524046A1 DE2524046A1 (de) 1976-01-15
DE2524046C2 true DE2524046C2 (de) 1982-10-28

Family

ID=23919415

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2524046A Expired DE2524046C2 (de) 1974-06-26 1975-05-30 Elektronische Datenverarbeitungsanlage

Country Status (7)

Country Link
US (1) US3943494A (de)
JP (1) JPS5314902B2 (de)
CA (1) CA1030268A (de)
DE (1) DE2524046C2 (de)
FR (1) FR2276640A1 (de)
GB (1) GB1493423A (de)
IT (1) IT1038111B (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7411989A (nl) * 1974-09-10 1976-03-12 Philips Nv Computersysteem met busstruktuur.
JPS5193138A (en) * 1975-02-12 1976-08-16 Johoshorisochini okeru kyotsujohono densohoshiki
US4001788A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Pathfinder microprogram control system
GB1540923A (en) * 1975-12-01 1979-02-21 Intel Corp Programmable single chip mos computer
US4648064A (en) * 1976-01-02 1987-03-03 Morley Richard E Parallel process controller
US4085448A (en) * 1976-10-04 1978-04-18 International Business Machines Corporation Data communication bus structure
US4167781A (en) * 1976-10-12 1979-09-11 Fairchild Camera And Instrument Corporation Microprocessor system having a single central processing unit shared by a plurality of subsystems each having a memory
US4247893A (en) * 1977-01-03 1981-01-27 Motorola, Inc. Memory interface device with processing capability
US4201889A (en) * 1978-03-17 1980-05-06 International Telephone And Telegraph Distributed control digital switching system
US4199811A (en) * 1977-09-02 1980-04-22 Sperry Corporation Microprogrammable computer utilizing concurrently operating processors
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
US4272829A (en) * 1977-12-29 1981-06-09 Ncr Corporation Reconfigurable register and logic circuitry device for selective connection to external buses
JPS55500197A (de) * 1978-04-21 1980-04-03
JPS55100129A (en) * 1979-01-26 1980-07-30 Osaka Gas Co Ltd Manufacture of multi-layered hose
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4574348A (en) * 1983-06-01 1986-03-04 The Boeing Company High speed digital signal processor architecture
EP0131658B1 (de) * 1983-07-08 1987-10-28 International Business Machines Corporation Synchronisationsvorrichtung für ein Multiprocessing-System
JPS60150159A (ja) * 1984-01-17 1985-08-07 Agency Of Ind Science & Technol 多重化処理方式
US4647818A (en) * 1984-04-16 1987-03-03 Sfe Technologies Nonthermionic hollow anode gas discharge electron beam source
US4740911A (en) * 1984-10-12 1988-04-26 Elxsi International Dynamically controlled interleaving
US4674036A (en) * 1984-11-23 1987-06-16 Gte Communication Systems Corporation Duplex controller synchronization circuit for processors which utilizes an address input
US5121488A (en) * 1986-06-12 1992-06-09 International Business Machines Corporation Sequence controller of an instruction processing unit for placing said unit in a ready, go, hold, or cancel state
US6035388A (en) * 1997-06-27 2000-03-07 Sandcraft, Inc. Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units
US7441106B2 (en) 2004-07-02 2008-10-21 Seagate Technology Llc Distributed processing in a multiple processing unit environment
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3370274A (en) * 1964-12-30 1968-02-20 Bell Telephone Labor Inc Data processor control utilizing tandem signal operations
US3462742A (en) * 1966-12-21 1969-08-19 Rca Corp Computer system adapted to be constructed of large integrated circuit arrays
US3470540A (en) * 1967-04-24 1969-09-30 Rca Corp Multiprocessing computer system with special instruction sequencing
US3537074A (en) * 1967-12-20 1970-10-27 Burroughs Corp Parallel operating array computer
FR1587572A (de) * 1968-10-25 1970-03-20
GB1312504A (en) * 1970-05-20 1973-04-04 Ibm Control unit for serial data storage apparatus
US3701113A (en) * 1971-08-13 1972-10-24 Digital Equipment Corp Analyzer for sequencer controller
US3786430A (en) * 1971-11-15 1974-01-15 Ibm Data processing system including a small auxiliary processor for overcoming the effects of faulty hardware
US3716843A (en) * 1971-12-08 1973-02-13 Sanders Associates Inc Modular signal processor
US3764995A (en) * 1971-12-21 1973-10-09 Prd Electronics Inc Programmable test systems
US3781823A (en) * 1972-07-28 1973-12-25 Bell Telephone Labor Inc Computer control unit capable of dynamically reinterpreting instructions

Also Published As

Publication number Publication date
FR2276640B1 (de) 1977-04-15
IT1038111B (it) 1979-11-20
CA1030268A (en) 1978-04-25
JPS513751A (de) 1976-01-13
FR2276640A1 (fr) 1976-01-23
DE2524046A1 (de) 1976-01-15
US3943494A (en) 1976-03-09
JPS5314902B2 (de) 1978-05-20
GB1493423A (en) 1977-11-30

Similar Documents

Publication Publication Date Title
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2755273C2 (de)
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2846117C2 (de) Datenprozessor
DE2714805C2 (de)
DE2756768A1 (de) Mikroprozessor-architektur
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2748991A1 (de) Einrichtung zur umsetzung von datenformaten
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2949375A1 (de) Gleitkommaprozessor
DE2532125C2 (de) Modularbaustein für Datenverarbeitungsanlagen
DE2533737A1 (de) Datenprozessor
DE69823302T2 (de) Verfahren und Vorrichtung zum Verschieben von Daten
DE2364865A1 (de) Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems
DE2830334C2 (de)
DE2349253C3 (de) Rechnersystem
DE2801853A1 (de) Integrierte digitale datenverarbeitungseinrichtung
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE2164718A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit
DE2644180C3 (de) Datenverarbeitungssystem
DE2952072A1 (de) Einrichtung zur verarbeitung binaer codierter dezimalzahlen
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee