DE3121046C2 - - Google Patents

Info

Publication number
DE3121046C2
DE3121046C2 DE3121046A DE3121046A DE3121046C2 DE 3121046 C2 DE3121046 C2 DE 3121046C2 DE 3121046 A DE3121046 A DE 3121046A DE 3121046 A DE3121046 A DE 3121046A DE 3121046 C2 DE3121046 C2 DE 3121046C2
Authority
DE
Germany
Prior art keywords
bit
word
state
data word
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3121046A
Other languages
English (en)
Other versions
DE3121046A1 (de
Inventor
Ismail Ibrahim Holmdel N.J. Us Eldumiati
Michael Kent Whitehouse Station N.J. Us Maul
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.)
AT&T Corp
Original Assignee
AT&T Technologies Inc
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 AT&T Technologies Inc filed Critical AT&T Technologies Inc
Publication of DE3121046A1 publication Critical patent/DE3121046A1/de
Application granted granted Critical
Publication of DE3121046C2 publication Critical patent/DE3121046C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions

Description

Die Erfindung betrifft einen Digitalrechner nach dem Oberbegriff des Anspruchs 1. Ein solcher Rechner ist aus der US-PS 39 82 229 bekannt.
Nach dem Stand der Technik sind Mikrocomputer zur Ausführung von Bit-Manipulationen ausgelegt worden, beispielsweise das Löschen eines gewählten Bits oder das Einstellen eines ge­ wählten Bits in einem Wort. Außerdem kann beispielsweise ein Bit von jeder beliebigen Bitposition in einem Quellenwort zu irgendeiner Bitposition in einem Bestimmungswort verschoben werden.
Während der Bitverschiebeoperation führt die Arithmetik- Logikeinheit eine Prüfung für das gewählte Bit im Quellen­ wort durch. Dieses Prüfverfahren beinhaltet die Erzeugung einer Prüfmaske vor Durchführung der Prüfung. Abhängig vom Ergebnis der Prüfung wird eine gewählte Bitposition im Be­ stimmungswort entweder gelöscht oder eingestellt. Andere Bits im Bestimmungswort bleiben unverändert. Diese Bitver­ schiebeoperation erfordert zwei oder mehrere Befehle, und daher sind zwei oder mehrere Befehlsintervalle zum Verschie­ ben eines einzelnen Bits erforderlich.
Wenn demgemäß ein Programmierer ein Bit während eines ein­ zigen Befehlsintervalls verschieben will, ergibt sich ein Problem, weil mehrere Befehle zur vollständigen Durchfüh­ rung der Verschiebung benutzt werden. Das Verschieben eines Bits während eines einzigen Befehlsintervalls ist ein wert­ volles Merkmal für einen Mikrocomputer, der für eine Steuer­ anordnung ausgelegt ist, welche viele Operationen zur Manipu­ lation von Bits ausführt.
Bei dem Digitalrechner nach der genannten US-PS 39 82 229 ist eine Kombinationslogikeinheit vorgesehen, über die die jeweiligen Datenwörter laufen. Anschließend werden die Ergebnisse der dabei durchgeführten Operationen kombiniert. Es sind also ebenfalls zwei oder mehrere Durchläufe und damit Befehlsintervalle für Bitverschiebungen erforderlich.
Der Erfindung liegt die Aufgabe zugrunde, eine Bitverschiebeoperation während eines einzigen Befehlsintervalls unter Steuerung eines einzigen Befehls zu ermöglichen. Die Lösung der Aufgabe ist im Patentanspruch 1 gekennzeichnet. Eine Weiterbildung der Erfindung ist Gegenstand des Anspruchs 2.
Nachfolgend wird die Erfindung anhand eines Ausführungsbei­ spiels in Verbindung mit den Zeichnungen beschrieben. Es zeigt
Fig. 1 das Blockschaltbild einer Digitalrechneranordnung;
Fig. 2, 3 und 4, in der Anordnung nach Fig. 5, die auf dem gleichen Blatt wie Fig. 2 angeordnet ist, die Logikschaltung einer Arithmetik-Logikeinheit;
Fig. 6 ein Flußdiagramm;
Fig. 7 die Logikschaltung einer Bitverschiebe-Steuer­ schaltung, eines Multiplexers und einer Auswahl­ schaltung;
Fig. 8 Logiktabellen für die Bitverschiebe-Steuerschal­ tung.
In Fig. 1 ist der Aufbau eines digitalen Mikrocomputers mit einer Arithmetik-Logikeinheit (ALU) 20 dargestellt, die Ein­ gangssignale von mehreren Schaltungen aufnimmt. Daten, die über einen Daten- und Steuerbus 25 aus einem Schreib-Lese- Speicher (RAM) 22, einem Festwertspeicher (ROM) 24 oder aus anderen Quellen geholt worden sind, werden zeitweilig in Datenregistern TA und TB als Eingangssignale der ALU gespei­ chert. Decodierte Steuersignale aus dem ROM 24 werden über den Bus 25, ein Register TAB und gesteuerte Register-Decoder G und H Eingängen der ALU zugeführt. Die Datenregister TA, TB und die gesteuerten Register-Decoder G und H speichern je­ weils vier Bits, die der ALU zugeführt werden. Die Ausgangs­ signale der Register TA und TB sowie des gesteuerten Regi­ ster-Decoders G werden jeweils einer Ebene von UND-Gattern in der ALU 20 entsprechend der Darstellung in den Fig. 2, 3 und 4 zugeführt. Die Ausgangssignale des gesteuerten Register- Decoders H werden einer Ebene von ODER-Gattern in der ALU ge­ mäß Fig. 2, 3 und 4 zugeführt. Wenn die Eingangssignale der ALU in den entsprechenden Registern gespeichert sind und die ALU zur Erzeugung einer Gruppe von Ausgangssignalen einge­ schaltet ist, hängt diese Gruppe von Ausgangssignalen von den Eingangswörtern in den Registern TA und TB zusammen mit Steuersignalen ab, die von einer Steuerschaltung 30 und den gesteuerten Register-Decodern G und H zugeführt werden. Darüber hinaus ist die ALU 20 ähnlich wie bekannte ALU- Schaltungsanordnungen aufgebaut.
Entsprechend der Darstellung in Fig. 1 nehmen die gesteuer­ ten Register-Decoder G und H Steuersignale GC bzw. HC auf. Diese Steuersignale hängen von einer Steuerfeldgruppe von Signalen SB, und ab, die bestimmen, ob die Arithmetik- Logikeinheit eine normale Operation, eine Biteinstellopera­ tion, eine Bitlöschoperation oder eine Bitschiebeoperation ausführt. Die Signale SB, und werden von der Steuerschal­ tung 30 abhängig von Befehlen in einem Befehlsregister (IR) 32 oder anderen Signalen erzeugt. Das Steuersignal HC ist außer­ dem eine Funktion eines invertierten Bitauswählsignals , das den Binärwert des gewählten, während einer Bitschiebe­ operation zu verschiebenden Bits angibt. Das Signal wird von einer Bitauswählschaltung 34 abhängig von der Prüfung des zu verschiebenden Bits erzeugt. Wenn das gewählte Bit eine 1 ist, ist das Signal eine 0 und umgekehrt.
Für jede Bitschiebeoperation werden 4 Bits in das Register TAB gegeben, um eine Bitposition im Bestimmungswort und eine Bitposition im Quellenwort festzulegen. Zwei mit N1 und N0 bezeichnete Bits oder Signale definieren die beeinflußte Bit­ position im Bestimmungswort. Die anderen beiden Bits S1 und S0 definieren die Position des Bits, das aus dem Quellenwort verschoben werden soll.
Bei jeder Biteinstell- oder Bitlöschoperation werden die beiden Bits N1 und N0 in das Register TAB gegeben, um eine Bitposition im Bestimmungswort zu definieren. Eine Quellen­ wort-Information ist nicht erforderlich.
Während normaler ALU-Operationen, d. h. wenn die ALU keine Biteinstell-, Bitlösch- oder Bitschiebeoperation ausführt, haben Ausgangssignale der gesteuerten Register-Decoder G und H keinen Einfluß auf das Ausgangssignal der ALU.
Normale ALU-Operation
Das Fluß- oder Zustandsdiagramm in Fig. 6 zeigt Zustände, die während der Operation der ALU 20 in Fig. 1 zusammen mit den zugeordneten Schaltungen des Mikrocomputers auftreten. Es sind zwar mehrere Zustände in Fig. 6 angegeben, das Dia­ gramm stellt aber nur einen Teil eines größeren Zustandsdia­ gramms dar. Der gezeigte Teil weist einen Abschnitt auf, der die Betriebsweise des Mikrocomputers und der ALU bei gewissen normalen Befehlen zusammen mit Bitlösch-, Biteinstell- und Bitverschiebebefehlen angibt.
Jeder Befehl beinhaltet eine Folge von Zuständen, beginnend oben im Diagramm und dann schrittweise mit jeweils einem Zu­ stand weiterlaufend durch aufeinanderfolgende Zustände am unteren Rand des Diagramms. Die Zustände besitzen je eine zugeordnete Identifizierungsnummer in der oberen linken Ecke des den Zustand darstellenden Rechtecks.
In Fig. 6 ist der oberste Zustand 0-3 der Anfangs- oder Startzustand für alle Befehle. Der Zustand 0-1 am unteren Ende des Diagramms ist der letzte oder Endzustand, von dem aus die Zustandsfolge wieder zum Anfangszustand 0-3 zurück­ kehrt. Im Zustand 0-3 wird ein einzelner Operationscode mit 4 Bits über den Bus 25 aus dem ROM 24 geholt und im Befehls­ register 32 abgelegt, wobei bis zu 16 verschiedene Befehle vorhanden sein können. Dies ist im Zustandsdiagramm durch das Symbol → IR dargestellt. Normale Befehle werden durch Hexadezimalziffern 0 bis 8 wiedergegeben. Nachdem der Opera­ tionscode im Befehlsregister abgelegt ist und eine Adresse im untergeordneten Teil (slave) von Adressenzwischenspeichern 33 durch eine Adressen-Arithmetikeinheit 35 weitergeschaltet ist, wird die neue Adresse in einem Programmzähler (nicht ge­ zeigt) und im übergeordneten Teil (master) der Adressenzwi­ schenspeicher abgelegt. Die Steuerschaltung 30 geht zum Zu­ stand 0-4 weiter.
Im Zustand 0-4 wird ein zweites Wort des Befehls aus dem ROM 24 in ein Register D/S geholt, wie durch den Ausdruck → DdSs angegeben. Wiederum wird die Adresse im untergeordneten Teil der Adressenzwischenspeicher 33 in der Adressen-Arithmetik­ einheit weitergeschaltet und im Programmzähler sowie im über­ geordneten Teil der Adressenzwischenspeicher 33 abgelegt. Die Steuerschaltung 30 geht zum Zustand 1-5 weiter.
Zustandsfolge wird auf den Zustand 1-5 gebracht, da das erste Operationscodewort, das eine normale ALU-Operation an­ gibt, innerhalb der durch die Hexadezimalzahlen 0 und C de­ finierten Grenzen liegt. Im Zustand 1-5 wird ein Datenwort aus dem Speicher 22 oder 24 über den Daten- und Steuerbus 25 in das Register TAB geführt. Diese Operation ist im Zustands­ diagramm durch das Symbol → TAB dargestellt. Die Schaltung geht dann zum Zustand 1-E/F weiter.
Im Zustand 1-E/F bildet der Mikrocomputer Adressen für einen Zugriff zum Bestimmungs- und zum Quellenwort. Es kann zwar mehr als ein Zustand zur Bildung der Adressen erforderlich sein, der Zustand 1-E/F soll aber den gesamten Adressenbil­ dungsvorgang darstellen. Es wird dann zum Zustand 3-9 weiter­ gegangen.
Im Zustand 3-9 wird ein Quellenwort aus dem Speicher 22 oder 24 in das Register TB geholt. Dies ist durch das Symbol → TB dargestellt. Aufgrund der Speicherung des Quellenwortes im Register TB wird diese Wort direkt über einen Bus 36 in Fig. 1 an die Eingänge B0, B1, B2 und B3 der ALU sowie entsprechend bezeichnete Eingänge der Bitauswahlschaltung 34 gegeben. Ein­ zelheiten der Bitauswahlschaltung 34 sind in Fig. 7 gezeigt. Während der normalen ALU-Operationen können die Eingänge B0 bis B3 der ALU benutzt werden. Die entsprechenden Eingänge der Bitauswahlschaltung 34 werden jedoch nicht benutzt. Die Zu­ standsfolge geht dann zum Zustand 2-4 über.
Im Zustand 2-4 wird ein Bestimmungswort aus dem Speicher in das Register TA geholt. Dies ist in Fig. 6 durch das Symbol → TA dargestellt. Aufgrund der Einspeicherung des Bestim­ mungswortes in das Register TA wird dieses Wort direkt über einen Bus 37 in Fig. 1 an die Eingänge A0, A1, A2 und A3 der ALU angelegt.
Es werden Steuersignale erzeugt und an eine Bitschiebe- Steuerschaltung 45 in Fig. 1 und 7 angelegt. Entsprechend der Darstellung in Fig. 7 ist der gesteuerte Register-Deco­ der G eine Kombination von NAND-Gattern, die so geschaltet sind, daß sie nur 1-Werte erzeugen, wenn das Signal GC 0 ist, und nur einen 0-Wert, wenn das Signal GC 1 ist. Der gesteuerte Register-Decoder H ist eine Kombination von NOK-Gattern, die alle 0-Werte erzeugen, wenn das Signal HC eine 1 ist, und nur eine einzige 1, wenn das Signal HC eine 0 ist.
Entsprechend der Darstellung in Fig. 8 sind die Zustände der gesteuerten Register-Decoder G und H und der Steuersignale GC und HC für alle normalen ALU-Operationen in der obersten Zeile der Tabellen I, II und III angegeben. Für jede normale ALU-Operation ist das Steuersignal GC eine 0, und alle Aus­ gangssignale des gesteuerten Register-Decoders G sind 1-Werte. Da diese Ausgangssignale, die als Bitlösch-Signalgruppe G0, G1, G2 und G3 bezeichnet werden, alle 1-Werte haben, und di­ rekt über entsprechend bezeichnete Adern in einem Bus 38 an angegebene Eingänge der Ebene von UND-Gattern 40 in der ALU 20 gemäß Fig. 2, 3 und 4 angelegt werden, beeinflussen die Ausgangssignale des gesteuerten Register-Decoders G die Aus­ gangssignale dieser UND-Gatter nicht. Das gilt deswegen, weil die anderen Eingänge dieser UND-Gatter, beispielsweise A0, A1, A2 und A3, deren Ausgangssignale bestimmen, die als eine Gruppe von Eingangssignalen an je 4 Gattern der Ebene von ODER-Gat­ tern 42 in der ALU 20 gemäß Fig. 2, 3 und 4 für normale ALU- Operationen angelegt werden.
Außerdem ist bei einer normalen ALU-Operation das Steuersig­ nal HC eine 1, und alle Ausgangssignale des Register-Deco­ ders H sind auf 0. Da diese Ausgangssignale H0, H1, H2 und H3, die eine Biteinstell-Signalgruppe genannt werden, alle 0 sind und direkt über entsprechend bezeichnete Adern an weitere Eingänge der Ebene von ODER-Gattern 42 in der ALU 20 gemäß Fig. 2 und 3 angelegt werden, beeinflussen die Ausgangssignale des Register-Decoders H die Ausgangssignale dieser ODER-Gatter nicht. Weitere Eingangssignale der ODER-Gatter 42, beispiels­ weise die von der Ebene von UND-Gattern 40 kommenden Eingangs­ signale, bestimmen die Ausgangssignale der Ebene von ODER- Gattern 42 für normale ALU-Operationen.
Der Mikrocomputer ist jetzt zur Einschaltung der ALU vorbe­ reitet, und die Zustandsfolge geht zum Zustand 2-0 in Fig. 6 weiter. Im Zustand 2-0 wird die Arithmetik-Logikeinheit 20 eingeschaltet und führt die vorgeschriebene, normale ALU-Ope­ ration aus. Wenn die Operation abgeschlossen ist, erzeugt die ALU ein Bestimmungswort, das über den Daten- und Steuerbus 25 zur Bestimmungsstelle im RAM 32 übertragen und dort einge­ schrieben wird.
Die Folge geht dann zum Zustand 0-1 weiter, in dem die im Programmzähler gespeicherte Adresse zum übergeordneten Ab­ schnitt der Adressenzwischenspeicher 33 in Fig. 1 übertragen wird, wie das Symbol PC→M angibt. Als Ergebnis wird dann zum Zustand 0-3 weitergegangen, nämlich dem Anfangszustand für den nachfolgenden Befehl.
Biteinstelloperation (Register-Decoder H)
Es sei jetzt angenommen, daß statt einer normalen ALU-Opera­ tion eine Biteinstelloperation ausgeführt wird. Für diese Operation wird der entsprechende, durch die Hexadezimalzahl 9 dargestellte Operationscode im Zustand 0-3 über den Bus 25 aus dem ROM 24 geholt und im Befehlsregister 32 abgelegt. Die Steuerschaltung 30 geht dann aus dem Zustand 0-3 über die Zustände 0-4 und 1-5 weiter, wobei ein Datenwort in das Re­ gister D/S und ein weiteres in das Register TAB gegeben wer­ den. Das im Register TAB abgelegte Datenwort enthält ein Be­ fehlsfeld mit Bits N1 und N0, die die Stellenzahl des in dem Bestimmungswort einzustellenden Bits angeben. Danach wird im Zustand 1-E/F eine Adresse für das Bestimmungswort aus Adres­ seninformationen gebildet, die im Augenblick im Register D/S abgespeichert sind. Die Anordnung durchläuft dann den Zustand 3-9, und das Bestimmungswort wird im Zustand 2-4 geholt und in Register TA gespeichert.
Der Mikroprozessor ist jetzt für die Biteinstelloperation vorbereitet, und die Arithmetik-Logikeinheit 20 wird einge­ schaltet. Das Bestimmungswort im Register TA wird so posi­ tioniert, daß ein Bit in derjenigen Position, welche durch das Stellenfeld mit den Bits N1 und N0 definiert ist, ein­ gestellt wird, wenn es nicht bereits eine 1 ist.
Es werden entsprechend Steuersignale erzeugt und an die Bit­ schiebe-Steuerschaltung 45 in Fig. 1 und 7 angelegt. Steuer­ signale für die Biteinstelloperation sind in der zweiten Zeile der Tabelle I in Fig. 8 angegeben. Während der Biteinstell­ operation ist das Biteinstell-Steuersignal SB eine 1, wo­ durch sichergestellt wird, daß das von einem NOR-Gatter 91 erzeugte Steuersignal HC eine 0 ist. Das invertierte Bit­ lösch-Steuersignal und das invertierte Bitschiebesignal haben den Wert 1, wodurch sichergestellt wird, daß das von einem NAND-Gatter 92 erzeugte Steuersignal GC eine 0 ist. Daher sind bei der Biteinstelloperation beide Steuersignale HC und GC 0.
Da das Steuersignal GC für die Biteinstelloperation 0 ist, haben alle Signale der Bitlösch-Signalgruppe G0, G1, G2 und G3 von den NAND-Gattern des gesteuerten Register-Decoders G den Wert 1, unabhängig davon, welches Bit gewählt wird. Das ist in der obersten Zeile in Tabelle III in Fig. 8 dargestellt. Ähnlich wie bei der Bitlösch-Signalgruppe für normale ALU- Operationen haben diese Signale keinen Einfluß auf die Aus­ gangssignale der Ebene von UND-Gattern 40 in der ALU 20.
Man beachte, daß - da diese Ausgangssignale keinen Einfluß auf Biteinstelloperationen haben - der gesteuerte Register- Decoder G für einen Rechner nicht erforderlich ist, der nur Biteinstelloperationen ausführt. Ein solcher Rechner führt dann also weder Bitlösch- noch Bitverschiebeoperationen aus.
Da das Steuersignal HC für die Biteinstelloperation 0 ist, definiert der Binärwert des Stellenfeldes mit den Bits N1 und N0, welches Bit im Bestimmungswort einzustellen ist. Diese Beziehung ist in den 4 unteren Zeilen der Tabelle II in Fig. 8 dargestellt. Die NOR-Gatter des gesteuerten Register-Decoders H wandeln den zugeführten Binärwert in einen 1-aus-4-Code in der Biteinstell-Signalgruppe H0, H1, H2 und H3 um. In diesem Code ist eines und nur eines der 4 Signale H0, H1, H2, H3 eine 1, und die anderen 3 Signale sind für jeden der Binär­ werte 0. Das einzustellende Bit, das durch den Binärcode des Stellenfeldes mit den Bits N1 und N2 definiert wird, ist dieses eine Bit.
Gemäß Fig. 2, 3 und 4 sprechen mehrere Gatter 61, 62, 63 und 64 der Ebene von UND-Gattern 40 in der ALU 20 auf das im Re­ gister TA gespeicherte Wort und auf die Bitlösch-Signalgruppe des Register-Decoders G an. Bei der Biteinstelloperation be­ einflußt der Inhalt des Register TB den Ausgang der ALU nicht. Da außerdem alle Signale der Bitlösch-Signalgruppe den Wert 1 haben, erzeugen die Gatter 61, 62, 63 und 64 der Ebene von UND-Gattern 40 Ausgangssignale, die durch deren Eingangssignale aus dem Register TA bestimmt werden.
Da die Biteinstell-Signalgruppe aus dem Register-Decoder H über den Bus 39 an die Ebene von ODER-Gattern 42 in der ALU, die gemäß Fig. 2 und 3 durch ein NOR-Gate mit nachfol­ gendem Inverter dargestellt werden und nachfolgend als ODER- Gatter bezeichnet werden, angelegt sind, und zwar zusammen mit dem Inhalt des Registers TA, der durch die Gatter 61, 62, 63, 64 in der Ebene von UND-Gattern 40 wiedergegeben wird, stellt der einzige 1-Wert der Biteinstell-Signalgruppe sicher, daß das Ausgangssignal desjenigen ODER-Gatters, an das der 1-Wert angelegt ist, eine 1 ist. Dies überdeckt jedes Ein­ gangssignal, das von dem zugeordneten UND-Gatter 61, 62, 63 bzw. 64 zugeführt wird. Die 3 0-Werte in der Biteinstell- Signalgruppe vom Register-Decoder H beeinflussen den Ausgang ihrer zugeordneten ODER-Gatter nicht. Weitere UND-Gatter, deren Ausgangssignale an die ODER-Gatter 42 angelegt sind, sind für normale ALU-Operationen vorgesehen und erzeugen zu diesem Zeitpunkt Ausgangssignale 0. Demgemäß ist das Ausgangs­ signal der Ebene von ODER-Gattern 42 das Bestimmungswort vom Register TA mit der Ausnahme, daß das gewählte Bit unabhängig davon eine 1 ist, ob es bei der ursprünglichen Einspeicherung in das Register TA eine 1 war oder nicht.
Die Ausgangssignale der Gatter auf der Ebene von ODER-Gattern 42 werden als Eingangssignale , wobei i eine Zahl zwischen 0 und 3 ist, einer weiteren Ebene von UND- Gattern 44 zusammen mit Eingangssignalen Yi von einer Ebene von NOR-Gattern 46 zugeführt. Für die Biteinstelloperation haben diese Eingangssignale Yi alle den Wert 1, wodurch die UND-Gatter 44 veranlaßt werden, Ausgangssignale zu erzeugen, die die gleichen wie die Eingangssignale sind. Die Aus­ gangssignale der UND-Gatter 44 werden als Eingangssignale Exklusiv-ODER-Gattern 48 zugeführt, die als Exklusiv-NOR- Gatter gefolgt von einem Inverter dargestellt sind und nach­ folgend als Exklusiv-ODER-Gatter bezeichnet werden. Das ein­ zustellende Bit ist eine 1, die ihrem zugeordneten Exklusiv- ODER-Gatter zugeführt wird. Das andere Eingangssignal dieses Gatters ist eine 0, da alle Signale AL, Y0, Y1, Y2 und CI0 den Wert 1 haben. Mit Eingangssignalen 1 und 0 erzeugt das Exklusiv-ODER-Gatter des im Bestimmungswort einzustellenden Bit ein Ausgangssignal 1 auf der entsprechenden Ader DB0, DB1, DB2 oder DB3 des Daten- und Steuerbus 25. Dadurch wird sicher­ gestellt, daß das Bit in der gewählten Bitposition des Be­ stimmungswortes unabhängig davon auf 1 eingestellt wird, ob es bei Beginn der Biteinstelloperation eine 1 war oder nicht. Der Rest der Datenbusadern entspricht den im Register TA ge­ speicherten Bits. Gleichzeitig wird die Adresse der Bestim­ mungsstelle und ein Schreibsignal an den Speicher 22 in Fig. 1 gegeben, um das jetzt modifizierte Bestimmungswort in die gewählte Bestimmungsstelle zu schreiben.
Die Steuerschaltung 30 geht dann zum Zustand 0-1 weiter, dem Endzustand zur Ausführung des Biteinstellbefehls. Anschließend läuft die Steuerschaltung zum Zustand 0-3 und beginnt einen weiteren Befehl.
Bitlöschoperation (Register-Decoder G)
Bei der Bitlöschoperation wird der entsprechende numerische Operationscode, dargestellt durch die Hexadezimalzahl A, im Zustand 0-3 über den Bus 25 aus dem ROM 24 geholt und im Be­ fehlsregister 32 abgelegt. Die Steuerschaltung 30 geht dann aus dem Zustand 0-3 über die Zustände 0-4 und 1-5 weiter und holt Adresseninformationen sowie die Stellenfeldbits N1, N0 zur Abspeicherung in den Registern D/S bzw. TAB. Nachfolgend wird die Bestimmungsadresse im Zustand 1-E/F gebildet. Dann wird der Zustand 3-9 durchlaufen, wonach im Zustand 2-4 das Bestimmungswort geholt und im Register TA abgelegt wird.
Der Mikroprozessor ist jetzt für die Bitlöschoperation vorbe­ reitet. Das Bestimmungswort im Register TA ist so positioniert, daß ein Bit in der durch die Stellenfeldbits N1 und N0 defi­ nierten Position gelöscht wird, wenn es nicht bereits eine 0 ist.
Es werden demgemäß Steuersignale erzeugt und an die Bitver­ schiebe-Steuerschaltung 45 in Fig. 1 und 7 angelegt. Steuer­ signale für die Bitlöschoperation sind in der dritten Zeile der Tabelle I in Fig. 8 dargestellt. Während der Bitlösch­ operation ist das invertierte Bitlösch-Steuersignal eine 0, wodurch sichergestellt wird, daß das vom NAND-Gatter 92 erzeugte Steuersignal GC eine 1 ist. Auch das Biteinstell- Steuersignal SB ist eine 0, wodurch sichergestellt wird, daß das vom NOR-Gatter 91 erzeugte Steuersignal HC eine 1 ist. Im Ergebnis sind beide Steuersignale HC und GC für die Bit­ löschoperation auf 1.
Da das Steuersignal HC für die Bitlöschoperation eine 1 ist, haben alle Signale der Biteinstell-Signalgruppe H0, H1, H2 und H3 von den NOR-Gattern des gesteuerten Register-Decoders H den Wert 0, unabhängig davon, welches Bit in dem Bestimmungs­ wort ausgewählt worden ist. Das ist in der obersten Zeile der Tabelle II in Fig. 8 gezeigt. Ähnlich wie bei den Signalen der Biteinstell-Signalgruppe für normale ALU-Operationen be­ einflussen diese Signale den Ausgang der Ebene von ODER- Gattern 42 in der ALU nicht.
Man beachte, daß - da deren Ausgangssignale Bitlöschoperationen nicht beeinflussen - der gesteuerte Register-Decoder H für einen Rechner nicht erforderlich ist, der nur Bitlöschopera­ tionen ausführt. Ein solcher Rechner würde dann also weder Biteinstell- noch Bitverschiebeoperationen ausführen.
Da das Steuersignal GC für die Bitlöschoperation eine 1 ist, bestimmt der Binärwert des Stellenfeldes mit den Bits N0 und N1, welches Bit gelöscht werden soll. Diese Beziehung ist in den 4 unteren Zeilen der Tabelle III in Fig. 8 angegeben. Die NAND-Gatter des gesteuerten Register-Decoders G wandeln den zugeführten Binärwert in einen 1-aus-4-Code der Bitlösch- Signalgruppe G0, G1, G2 und G3 um. In diesem Code ist eines und nur eines der 4 Ausgangssignale G0, G1, G2 und G3 eine 0, und die anderen Signale haben den Wert 1 für jeden der Binärwerte. Das durch das Stellenfeld der Bits N1 und N0 definierte, zu löschende Bit entspricht dem Ausgangssignal 0.
Entsprechend der Darstellung in den Fig. 2, 3, 4 sprechen mit Ausnahme des zu löschenden Bits die Gatter 61, 62, 63 und 64 der Ebene von UND-Gattern 40 in der ALU auf das im Register TA gespeicherte Wort an, da 3 Signale der Bitlösch-Signal­ gruppe vom gesteuerten Register-Decoder G den Wert 1 haben. Demgemäß erzeugen 3 von den UND-Gattern 61, 62, 63 und 64 Ausgangssignale, die den Eingangssignalen vom Register TA entsprechen. Für die Bitlöschoperation beeinflußt der Inhalt des Registers TB den Ausgang der ALU nicht. Das Ausgangssignal desjenigen UND-Gatters, das dem gewählten, zu löschenden und durch die Stellenfeldbits N1 und N0 definierten Bit zugeordnet ist, entspricht dem Ausgangssignal 0 vom gesteuerten Register- Decoder G.
Das Ausgangssignal des entsprechenden ODER-Gatters 42 ist ebenfalls eine 0, die als Eingangssignal zusammen mit einem Eingangssignal Yi von einem NOR-Gatter 46 an das zuge­ ordnete UND-Gatter 44 angelegt wird. Dieses Eingangssignal ist 0 und bewirkt, daß das UND-Gatter 44 ein Ausgangssignal 0 erzeugt. Dieses Ausgangssignal 0, das das zu löschende Bit darstellt, wird dann an das Exklusiv-ODER-Gatter 48 gegeben, und zwar zusammen mit einem Signal 0, das durch die Signale AL, Y0, Y1, Y2 und CI0 verursacht wird, die alle 1 sind. Da beide Eingangssignale des Exklusiv-ODER-Gatters 48 0 sind, gibt das Gatter ein Ausgangssignal 0 auf die entsprechende Ader DB0, DB1, DB2 oder DB3 des Daten- und Steuerbus 25 in der im Bestimmungswort zu löschenden Bitposition. Dieses Aus­ gangssignal der ALU 20 ist 0, unabhängig davon, ob es in dem ursprünglichen im Register TA gespeicherten Wort 0 war. Dadurch wird sichergestellt, daß das Bit in der gewählten Bitposition des Bestimmungswortes auf 0 gelöscht wird, unabhängig davon, ob es bei Beginn der Bitlöschoperation eine 0 war oder nicht. Der Rest der Datenbusadern entspricht den Bits des im Regi­ ster TA gespeicherten Wortes. Gleichzeitig werden die Adresse und das Schreibsignal dem Speicher 22 in Fig. 1 zugeführt, um das jetzt modifizierte Bestimmungswort in die gewählte Be­ stimmungsstelle einzuschreiben. Die Steuerschaltung 30 geht dann zum Zustand 0-1 weiter, dem letzten Zustand zur Ausführ­ rung des Bitlöschbefehls. Anschließend läuft der Mikrocomputer zum Zustand 0-3, um einen weiteren Befehl anzufangen.
Bitverschiebeoperation (Register-Decoder G und H)
Bei der Anordnung nach dem Blockschaltbild in Fig. 1 wird ein einziges Befehlsintervall benutzt, um ein einzelnes Bit von irgendeiner gewählten Position einer Vielzahl von Bitpositi­ onen eines gewählten Quellenwortes zu irgendeiner gewählten Position einer Vielzahl von Bitpositionen eines gewählten Be­ stimmungswortes zu verschieben. Andere Bits des Bestimmungs­ wortes werden nicht beeinflußt. Das Quellen- und das Bestim­ mungswort können die gleichen oder unterschiedliche Speicher­ stellen sein. Außerdem können die Bitpositionen des Quellen­ und des Bestimmungswortes gleich oder verschieden sein.
Es gibt zwei besondere Arten der Schaltungsoperationen für die Bitverschiebeoperation. Die erste Art der Operation sieht die Verschiebung eines 1-Bit vor und die andere die Verschiebung eines 0-Bit. Es folgen zwei Beispiele zur Er­ läuterung dieser beiden Operationsarten.
Beim ersten Beispiel sei ein Befehl zur Verschiebung eines Bit in der Bitposition Nr. 1 eines gewählten Quellenwortes zur Bitposition Nr. 2 eines gewählten Bestimmungswortes be­ trachtet. Es sei angenommen, daß das Wort L der gewählten Quelle 0110 und das Wort M der gewählten Bestimmung 1011 ist. Demgemäß ist ein Bit 1 vom Wort L zu einer Bitposition im Wort M zu verschieben, an der vorher ein Bit 0 vorhanden war.
Im Zustand 0-3 einer Bitverschiebeoperation gemäß Fig. 6 wird ein erster, durch die Hexadezimalzahl D dargestellter Operationscode über den Daten- und Steuerbus 25 aus dem Spei­ cher geholt und im Befehlsregister 32 abgelegt. Die Steuer­ schaltung 30 geht vom Zustand 0-3 zum Zustand 0-4, wobei Adressenbetriebsart-Informationen über den Bus 25 zum Regi­ ster D/S geholt und ein Flipflop M/D (nicht gezeigt) einge­ stellt wird, um anzuzeigen, daß der Befehl ein Doppel-Opera­ tionscodebefehl ist.
Da der Bitverschiebebefehl das Flipflop M/D eingestellt hat, aber den Zustand 0-4 nur einmal durchlaufen hat, geht die Steuerung des Mikrocomputers vom Zustand 0-4 zum Zustand 0-3 zurück, um einen zweiten Operationscode über den Bus 25 aus dem Speicher 24 in das Befehlsregister 32 unter Ersatz des ersten Operationscodewortes zu holen. Das Holen des zweiten, durch die Hexadezimalzahl F dargestellten Operationscode für den Bitverschiebebefehl findet vor Ausführung dieses Befehls statt. Unter Ansprechen auf Informationen, die vom ersten Operationscode zurückbehalten worden sind, sowie Informatio­ nen im zweiten Operationscode durchläuft die Steuerschaltung 30 den Zustand 0-4 zum Zustand 1-5 und holt Adresseninforma­ tionen in das Register D/S zur Auswahl von Quellen- und Be­ stimmungsadressen sowie Daten in das Register TAB zur Bestim­ mung der gewählten Bitposition. Das im Register TAB gespei­ cherte Wort beinhaltet Informationen, die die gewählte Bit­ position des Quellenwortes und die gewählte Bitposition des Bestimmungswortes darstellen. Die beiden Bits S1 und S0 der im Register TAB gespeicherten Bits geben die Stelle oder Bitposition des gewählten Quellenbits an. Zwei weitere Bits, nämlich die Stellenfeldbits N1 und N0, geben die Stelle oder Bitposition des gewählten, zu löschenden oder einzustellenden Bestimmungsbit an. Für das vorliegende Beispiel bezeichnen die Bits S1 und S0, also 01, die Bitposition Nr. 1 im Quellen­ wort und die Bits N1 und N0, also 10, die Bitposition Nr. 2 im Bestimmungswort. Die Steuerschaltung geht dann zum Zu­ stand 1-E/F weiter.
Im Zustand 1-E/F werden die Quellen- und Bestimmungsadressen aus der im Register D/S gespeicherten Information gebildet. Danach werden in den Zuständen 3-9 und 2-4 das Quellen- und Bestimmungswort L bzw. M aus dem Speicher geholt und in den Registern TB bzw. TA gespeichert. Dieser Holvorgang beein­ flußt die am Quellen- oder Bestimmungsort gespeicherten Wörter nicht.
Zu diesem Zeitpunkt werden entsprechend der Darstellung in Fig. 1 und 7 Steuersignale erzeugt und an die Bitverschiebe- Steuerschaltung 45 angelegt. Die Bits S1 und S0 werden über einen Multiplexer 50 als Steuersignale an die Bitauswahl­ schaltung 34 angelegt. Gleichzeitig wird das Wort L aus dem Register TB über den Bus 36 an die Eingänge B0, B1, B2 und B3 der Bitauswahlschaltung 34 angelegt, bei der es sich um eine 1-aus-4-Wählschaltung handelt. Die Bits S1 und S0 bestimmen, welches Bit des Wortes L mit 4 Bits über die Auswahlschal­ tung 34 als invertiertes Bitauswählsignal an deren Ausgang gegeben wird. Da das gewählte Bit B1 in der Position Nr. 1 eine 1 ist, und da die Bitauswählschaltung 34 das gewählte Bit invertiert, ist das invertierte Bitauswählsignal eine 0. Steuersignale für die Bitverschiebeoperation bei Verschie­ bung eines 1-Bit sind in der 5. Zeile der Tabelle I in Fig. 8 dargestellt.
Die beiden anderen Bits N1 und N0 im Register TAB bestimmen die Stelle oder Bitposition des gewählten Bestimmungsbit wie bei Biteinstell- und Bitlöschbefehlen. Die Bits N1 und N0 werden an die gesteuerten Register-Decoder G und H in der Bitverschiebe-Steuerschaltung 45 gegeben, um deren Ausgangs­ signal, abhängig vom Zustand der Steuersignale GC und HC, zu bestimmen. Da die gewählte Bitposition im Bestimmungswort die Bitposition Nr. 2 ist, lauten die Stellenfeldbits N1 und N0 10.
Gemäß Fig. 1 und 7 erzeugt ein NOR-Gatter 90 mit Eingangs­ signalen und , die beide auf 0 oder L sind, ein Bit­ auswähl-Ausgangssignal OBS, das gleich 1 ist. Diese 1, die an das NOR-Gatter 91 gelangt, bewirkt, daß das Steuersignal HC gleich 0 ist. Gleichzeitig ist - da das invertierte Bit­ verschiebesignal 0 oder L ist - das Steuersignal GC am Ausgang des NAND-Gatters 92 gleich 1.
Wenn das Steuersignal GC gleich 1 ist und die Stellenfeld­ bits N1 und N0 den Wert 10 haben, lautet die Bitlösch-Signal­ gruppe G0, G1, G2, G3 von den NAND-Gattern des gesteuerten Register-Decoders G in Fig. 6 1011, wie in der vierten Zeile der Tabelle III in Fig. 8 gezeigt. Demgemäß ist das rele­ vante Bit in der Bitposition Nr. 2 am Ausgang des Register- Decoders G eine 0. Diese 0 wird dem zugehörigen UND-Gatter 62 auf der Ebene der UND-Gatter 40 in der ALU 20 zugeführt. Die drei 1-Werte werden an die restlichen UND-Gatter 61, 63, 64 dieser Ebene gegeben, so daß die Ausgangssignale der drei UND-Gatter durch die jeweiligen Bits des im Register TA ge­ speicherten Bestimmungswortes bestimmt werden.
Da das Steuersignal HC gleich 0 ist und die Stellenfeld­ bits N1 und N0 den Wert 01 haben, lautet die Biteinstell- Signalgruppe H0, H1, H2, H3 von den NOR-Gattern des ge­ steuerten Register-Decoders H in Fig. 7 0100, wie in der 4. Zeile der Tabelle II angegeben. Demgemäß ist das relevante Bit in der Bitposition Nr. 2 am Ausgang des gesteuerten Re­ gister-Decoders H eine 1, die dem zugeordneten ODER-Gatter 42 in der ALU zugeführt wird. Der Mikrocomputer ist jetzt dafür vorbereitet, daß die ALU 20 die Bitverschiebeoperation ausführt. Die Steuerschaltung 30 geht zum Zustand 2-0 über und schaltet die ALU 20 ein.
Aufgrund der Ausgangssignale der gesteuerten Register-Deco­ der G und H löschen die ALU-Schaltungen 62 und 42 das Bit in der Bitposition Nr. 2 und stellen das Bit in der Bitposition Nr. 2 des im Augenblick im Register TA gespeicherten Wortes ein. Eine Analyse der logischen Schaltung in der Arithmetik- Logikeinheit ALU 20 zeigt, daß das ODER-Gatter 42 zur Ein­ stellung des Bits auf einer späteren logischen Ebene liegt als das UND-Gatter 62 zum Löschen des Bit. Im Ergebnis über­ deckt die Einstellung des Bit das Löschen des Bit. Beim Bei­ spiel wird das Bit in der Bitposition Nr. 2 durch den 0-Wert des Signals G2 gelöscht und dann durch den 1-Wert des Signals H2 eingestellt. Die Ausgangssignale anderer Bitpositionen des gesteuerten Register-Decoders G und H beeinflussen die ent­ sprechenden, im Register TA gespeicherten Bits nicht. Im Er­ gebnis ist das an den Datenbus gegebene Ausgangssignal der ALU 20 gleich 1111. Gleichzeitig werden die Bestimmungsadres­ se und das Schreibsignal an den Speicher 22 in Fig. 1 gegeben, um das modifizierte Ausgangswort der ALU an der Bestimmungs­ stelle einzuschreiben. Die Steuerschaltung 30 geht dann zum Zustand 0-1 weiter, dem Endzustand bei der Ausführung des Bitverschiebefehls. Aus dem Zustand 0-1 geht die Schal­ tung dann zum Zustand 0-3 über, dem ersten Zustand eines weiteren Befehls. Demgemäß ist ein einzelnes Bit aus einer gewählten Bitposition im Quellenwort an eine gewählte Bit­ position des Bestimmungswortes während eines einzigen Be­ fehlsintervalls verschoben worden, ohne den Zustand irgend­ einer anderen Bitposition im Bestimmungswort zu beeinflussen. Wenn der Quellenort nicht auch der Bestimmungsort ist, beein­ flußt die Schreiboperation den Inhalt des Quellenwortes nicht.
Bei Beispiel für die Verschiebung eines 1-Bit an eine Bit­ position, in der ein 1-Bit vorhanden ist, ähnelt dem obigen Beispiel und wird daher nicht weiter erläutert.
Als zweites Beispiel für einen Bitverschiebebefehl soll die Verschiebung eines 0-Bit aus dem Wort L an eine Bitposition im Wort M beschrieben werden, an der eine 1 gespeichert war. Bei diesem Beispiel sei die Verschiebung des Bit in der Bit­ position Nr. 3 eines gewählten Wortes L mit dem Wert 0110 an eine Bitposition Nr. 2 eines gewählten Wortes M mit dem Wert 1110 betrachtet. Wenn der Bitverschiebebefehl aus dem Spei­ cher gelesen wird, werden ein erster und ein zweiter Opera­ tionscode wie bei dem vorhergehenden Beispiel zum Befehlsre­ gister übertragen. Außerdem werden die Stelle des aus dem Quellenwort zu verschiebenden Bit und die Stelle des im Be­ stimmungswort zu beeinflussenden Bit im Register TAB abgelegt.
Die Bits S1 und S0 im Zustand 11 geben den Binärwert der Stelle 3 für das aus dem Quellenwort zu verschiebende Bit an. Die Stellenfeldbits N1 und N0 im Zustand 10 geben den Binär­ wert der Stelle 2 für das im gewählten Bestimmungswort zu be­ einflussende Bit an.
Das Bestimmungs- und das Quellenwort M und L werden wieder in den Registern TA bzw. TB gespeichert. Das Bestimmungs- und das Quellenwort im Speicher werden bei dem Lesevorgang nicht beeinflußt. Das Register TA nimmt demgemäß das Bestimmungs­ wort 1110 und das Regsiter TB das Quellenwort 0110 auf. Der Inhalt 0110 des Registers TB wird als Eingangssignal B0, B1, B2 bzw. B3 dem Bitwähler 34 in Fig. 6 zugeführt. Die Auswahl wird durch die Bits S1 und S0 gesteuert, die dem Bitwähler 34 vom Register TAB über den 4 : 2-Multiplexer 50 zugeführt werden. Da die Bits S1 und S0 den Wert 11 haben, wird das 0-Bit in der Position 3 des Wortes 0110 gewählt. Der Wähler 34 invertiert die 0 unter Erzeugung des invertierten Bitauswahlsignals , wobei sich eine 1 ergibt. Die Steuersignale für die Bitver­ schiebeoperation beim Verschieben eines 0-Bit sind in der 4. Zeile der Tabelle I in Fig. 8 dargestellt.
Zu diesem Zeitpunkt sind das invertierte Bitverschiebesignal und das Biteinstellsignals SB beide 0. Demgemäß ist das vom NOR-Gatter 91 erzeugte Steuersignal HC eine 1, und die Ausgangssignale der NOR-Gatter des Register-Decoders H in Fig. 1 und 7 haben alle den Wert 0, wie in der obersten Zeile in Tabelle II in Fig. 8 dargestellt. Außerdem ist, da es sich um einen Bitverschiebebefehl handelt, das vom NAND-Gatter 92 erzeugte Steuersignal GC eine 1. Das Ausgangssignal der NAND-Gatter des Register-Decoders G in Fig. 1 und 7 wird durch die Stellenfeldbits N1 und N0 aus dem Register TAB gesteuert. Deren Binärwert 10 bewirkt, daß das Ausgangssignal des gesteuerten Register-Decoders G 1011 wird, wie in der 4. Zeile des Tabelle III in Fig. 8 dargestellt. Es erscheint dem­ gemäß an der zu beeinflussenden Bitstelle im Bestimmungswort eine 0. Der Mikrocomputer ist jetzt darauf vorbereitet, daß die ALU 20 die Bitverschiebeoperation ausführt.
Im Zustand 2-0 wird bei eingeschalteter ALU das Bestimmungs­ wort 1110 aus dem Register TA durch die ALU 20 verarbeitet. Die Bitposition Nr. 2 wird durch das 0-Signal G3 aus dem ge­ steuerten Register-Decoder G gelöscht und bleibt gelöscht aufgrund der Biteinstell-Signalgruppe H0, H1, H2, H3 aus dem gesteuerten Register-Decoder H, deren Signale alle 0 sind. Im Ergebnis ist das Ausgangssignal der ALU 20 gleich 1010, und dieses Signal wird an den Daten- und Steuerbus 25 gege­ ben. Gleichzeitig werden die Bestimmungsadresse und das Schreibsignal an den Speicher 22 angelegt, um das modifi­ zierte Ausgangswort der ALU an der Bestimmungsstelle einzu­ schreiben. Wenn der Quellenort nicht auch der Bestimmungsort ist, wird das Quellenwort nicht durch die Schreiboperation beeinflußt.
Die Steuerschaltung 30 geht dann zum Zustand 0-1 weiter, dem Endzustand zur Ausführung des Bitverschiebebefehls, und dann zum Zustand 0-3, dem Anfangszustand eines nachfolgenden Be­ fehls. Demgemäß ist ein einzelnes Bit aus einer gewählten Bitposition im gewählten Quellenwort zu einer gewählten Bitposition im gewählten Bestimmungswort während eines einzigen Befehlsintervalls verschoben worden, ohne den Zustand der anderen Bits an der Bestimmungsstelle zu be­ einflussen.
Ein Beispiel für die Bewegung eines 0-Bit aus dem Quellen­ wort an eine Bitposition, die gerade ein 0-Bit an der Bestim­ mungsstelle speichert, ähnelt dem gerade beschriebenen Bei­ spiel und wird daher nicht weiter erläutert.
Zusammengefaßt führt also ein Bitverschiebebefehl im wesent­ lichen sowohl eine Bitlöschoperation als auch eine Bitein­ stelloperation aus. Da die Biteinstelladern H0, H1, H2, H3 vom Register-Decoder H in Fig. 7 auf einer späteren Logik­ ebene in der ALU 20 gemäß Fig. 2, 3 und 4 als die Adern G0, G1, G2, G3 angeschlossen sind, entspricht die Gesamtoperation der Ausführung zunächst der Bitlöschoperation und dann der Biteinstelloperation, wenn ein Bit einzustellen ist.
Ein Ausgangssignal mit nur 0-Werten des gesteuerten Register- Decoders H überdeckt das Löschen irgendeiner Bitposition in der ALU 20 nicht. Beim Decodieren durch den Bitwähler 34 wird bestimmt, ob der gesteuerte Register-Decoder H ein Ausgangs­ signal erzeugt oder nicht, das das Löschen irgendeines Bit überdeckt, welches durch das Ausgangssignal des gesteuerten Register-Decoders G durchgeführt wird.

Claims (2)

1. Digitalrechner mit
einem Befehlsregister (32),
einer Datenspeichereinheit (22),
einer Arithmetik-Logikeinheit (20) und Schaltungen (25, 30, 32, 33, 35, TA, TB, 36, 37) zum Lesen von Daten aus gewählten Quellen-Speicherstellen der Dateneinheit (22), zur Verarbeitung der Datenwörter in der Arithmetik- Logikeinheit (20) unter Ansprechen auf Befehle im Befehlsregister (32) und zum Speichern der verarbeiteten Datenwörter an gewählten Bestimmungsspeicherstellen in der Datenspeichereinheit (22)
dadurch gekennzeichnet, daß
der Digitalrechner eine Einrichtung aufweist, die unter Ansprechen auf einen Bitverschiebebefehl ein einzelnes Bit während eines einzigen Befehlsintervalls von einer gewählten Bitposition in einem ersten Datenwort zu einer gewählten Bitposition in einem zweiten Datenwort verschiebt, ohne ein anderes Bit im zweiten Datenwort zu beeinflussen, und daß diese Einrichtung aufweist;
eine Schaltung (25, TAB, 34, 36, TB, 50, BS) zum Lesen des einzelnen Bit an der gewählten Bitposition im ersten Datenwort,
eine Schaltung (25, TA, 37) zum Anlegen des zweiten Datenwortes an die Arithmetik-Logikeinheit (20),
eine Löschschaltung (30, TAB, G, 38, 92, GC) in der Arithmetik-Logikeinheit (20) zum Löschen der gewählten Bitposition im zweiten Datenwort ohne den Zustand eines anderen Bit im zweiten Datenwort zu ändern, und Einstellschaltung (30, TAB, H, 39, 90, 91, HC) in der Arithmetik-Logikeinheit (20) zum Einstellen der gewählten Bitposition im zweiten Datenwort entsprechend dem einzelnen Bit aus dem ersten Datenwort (BS) ohne den Zustand eines anderen Bit im zweiten Datenwort zu verändern.
2. Digitalrechner nach Anspruch 1, dadurch gekennzeichnet,
daß die Arithmetik-Logikeinheit (20) eine Ebene von UND-Gattern (40) und eine Ebene von ODER- Gattern (42) im Übertragungsweg des zweiten Datenwortes aufweist,
daß die Löschschaltung eine Einrichtung zur Erzeugung einer Bitlöschgruppe von Signalen (B0, G1, G2, G3), ein Steuerfeld von Bits (CB, MB) und ein Stellenfeld von Bits (N1, N0) enthält,
daß die Einstellschaltung eine Einrichtung zur Erzeugung einer Biteinstell-Signalgruppe (H0, H1, H2, H3) unter Ansprechen auf ein Steuerfeld (MB, SB), das Stellenfeld von Bits (N0, N1) und das einzelne Bit aus dem ersten Datenwort (BS) aufweist, und
daß eine Einrichtung (38, 19) zum Anlegen der Bitlösch- Signalgruppe an die Ebene von UND-Gattern und der Biteinstell- Signalgruppe an die Ebene von ODER-Gattern aufweist, um den Zustand des Bit in der vorgegebenen Bitposition des zweiten Datenwortes entsprechend dem Zustand des einzelnen Bit aus dem ersten Datenwort zu ändern, ohne den Zustand eines anderen Bit im zweiten Datenwort zu beeinflussen.
DE3121046A 1980-06-02 1981-05-27 Arithmetik-logikeinheit mit bit-manipulation Granted DE3121046A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/155,317 US4525776A (en) 1980-06-02 1980-06-02 Arithmetic logic unit arranged for manipulating bits

Publications (2)

Publication Number Publication Date
DE3121046A1 DE3121046A1 (de) 1982-03-11
DE3121046C2 true DE3121046C2 (de) 1992-03-05

Family

ID=22554951

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3121046A Granted DE3121046A1 (de) 1980-06-02 1981-05-27 Arithmetik-logikeinheit mit bit-manipulation

Country Status (6)

Country Link
US (1) US4525776A (de)
JP (1) JPS5794852A (de)
DE (1) DE3121046A1 (de)
FR (1) FR2483656B1 (de)
GB (1) GB2079502B (de)
NL (1) NL8102650A (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748580A (en) * 1985-08-30 1988-05-31 Advanced Micro Devices, Inc. Multi-precision fixed/floating-point processor
US4775952A (en) * 1986-05-29 1988-10-04 General Electric Company Parallel processing system apparatus
JP2565495B2 (ja) * 1986-08-27 1996-12-18 株式会社日立製作所 デ−タ処理システム
FR2656710A1 (fr) * 1989-12-29 1991-07-05 Radiotechnique Compelec Microcontroleur pour l'execution rapide d'un grand nombre d'operations decomposable en sequence d'operations de meme nature.
US5327571A (en) * 1990-04-03 1994-07-05 Advanced Micro Devices, Inc. Processor having decoder for decoding unmodified instruction set for addressing register to read or write in parallel or serially shift in from left or right
JPH06230960A (ja) * 1993-01-29 1994-08-19 Mitsubishi Electric Corp データ処理回路
JP2932963B2 (ja) * 1994-01-21 1999-08-09 モトローラ・インコーポレイテッド 効率的なビット移動能力を有するデータ・プロセッサとその方法
US6061783A (en) * 1996-11-13 2000-05-09 Nortel Networks Corporation Method and apparatus for manipulation of bit fields directly in a memory source
US20050033202A1 (en) * 2001-06-29 2005-02-10 Chow Alan Y. Mechanically activated objects for treatment of degenerative retinal disease
US7031776B2 (en) * 2001-06-29 2006-04-18 Optobionics Methods for improving damaged retinal cell function
US8275978B1 (en) * 2008-07-29 2012-09-25 Marvell International Ltd. Execution of conditional branch instruction specifying branch point operand to be stored in jump stack with branch destination for jumping to upon matching program counter value

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3982229A (en) * 1975-01-08 1976-09-21 Bell Telephone Laboratories, Incorporated Combinational logic arrangement
US4212076A (en) * 1976-09-24 1980-07-08 Giddings & Lewis, Inc. Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former
US4194241A (en) * 1977-07-08 1980-03-18 Xerox Corporation Bit manipulation circuitry in a microprocessor

Also Published As

Publication number Publication date
DE3121046A1 (de) 1982-03-11
GB2079502B (en) 1984-07-11
GB2079502A (en) 1982-01-20
JPS5794852A (en) 1982-06-12
FR2483656B1 (fr) 1987-06-26
NL8102650A (nl) 1982-01-04
US4525776A (en) 1985-06-25
FR2483656A1 (fr) 1981-12-04
JPH0447335B2 (de) 1992-08-03

Similar Documents

Publication Publication Date Title
DE2714805C2 (de)
DE2704842C2 (de) Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE60006021T2 (de) VLIW-Prozessor und Programmkomprimierungsgerät and -verfahren
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2718110A1 (de) Datenverarbeitungseinheit
DE2036729A1 (de) Digital Datenverarbeiter
DE3043653C2 (de) Datenverarbeitungsanlage
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE2145709A1 (de) Datenverarbeitungsanlage
DE19524402C2 (de) Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge
DE3121046C2 (de)
DE3043100C2 (de)
DE3620982A1 (de) Ein-befehl, mehrfach-datenstrom (simd) computersystem
DE2926322A1 (de) Speicher-subsystem
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE2935101C2 (de)
DE2702722C2 (de) Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE2245284A1 (de) Datenverarbeitungsanlage
DE3307194A1 (de) Datenverarbeitungsanlage
DE1499286B2 (de) Datenbearbeitungsanlage

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: AT & T TECHNOLOGIES, INC., NEW YORK, N.Y., US

8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee