DE3121046A1 - Arithmetik-logikeinheit mit bit-manipulation - Google Patents

Arithmetik-logikeinheit mit bit-manipulation

Info

Publication number
DE3121046A1
DE3121046A1 DE3121046A DE3121046A DE3121046A1 DE 3121046 A1 DE3121046 A1 DE 3121046A1 DE 3121046 A DE3121046 A DE 3121046A DE 3121046 A DE3121046 A DE 3121046A DE 3121046 A1 DE3121046 A1 DE 3121046A1
Authority
DE
Germany
Prior art keywords
bit
word
destination
state
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.)
Granted
Application number
DE3121046A
Other languages
English (en)
Other versions
DE3121046C2 (de
Inventor
Ismail Ibrahim 07733 Holmdel N.J. Eldumiati
Michael Kent 08889 Whitehouse Station N.J. 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
Western Electric Co 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 Western Electric Co Inc filed Critical Western Electric Co 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

B LU M BAC H -WESER · BE-RiScN -K-RAMER ZWIRNER · HOFPMANEN:" : : :
PATENTANWÄLTE IN MÜNCHEN UND WIESBADEN
-4-
Palenlconsull Radeckestraßo 43 8000 Mündion 60 Telefon (089) 883603/883604 Telex 05-212313 Telegramme Palenlconsull Patentconsull Sonnenbergor Straße 43 6200 Wiesbaden Telefon (06121) 562943/561998 Telex 04-186237 Telegramme Patentee.!!;; J:
Western Electric Company Incorporated. ELDUMIATI,I.I. 2-2 New York N.Y. 10038, USA
Arithmetik-Logikeinheit zur Bit-Manipulation
Die Erfindung betrifft einen Digitalrechner zur Verarbeitung von Daten abhängig von gespeicherten Befehlen mit Mitteln zur Ausführung ^jedes Befehls in einem Befehlsintervall.
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 gewä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 Quellenwort 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-
München: R. Krantier Dipl.-Ing. - W. Weser Dipl.-Phys. Dr. rer. nat. · E. Hoffmann Dipl.-Ing. Wiesbaden: P. G. Blumbach Dipl.-Ing. · P. Bergen Prof. Dr. jur. Dipl.-Ing., Pat.-Ass., Pat.-Anw. bis 1979 · G. Zwirner Dipl.-Ing. Dipl.-W.-Ιησ.
Stimmungswort entweder gelöscht oder eingestellt. Andere Bits im Bestimmungswort bleiben unverändert. Diese Bitverschiebeoperation erfordert zwei oder mehrere Befehle, und daher sind zwei oder mehrere Befehlsintervalle zum Verschieben eines einzelnen Bits erforderlich.
Wenn demgemäß ein Programmierer ein Bit während eines einzigen Befehlsintervalls verschieben will, ergibt sich ein Problem, weil mehrere Befehle zur vollständigen Durchführung der Verschiebung benutzt werden. Das Verschieben eines Bits während eines einzigen Befehlsintervalls ist ein wertvolles Merkmal für einen Mikrocomputer, der für eine Steueranordnung ausgelegt ist, welche viele Operationen zur Manipulation von Bits ausführt.
Zur Lösung der sich daraus ergebenden Aufgabe geht die Erfindung aus von einem Digitalrechner der eingangs genannten Art und ist dadurch gekennzeichnet, daß der Rechner eine Einrichtung zur Ausführung einer Bitverschiebeoperation aufgrund eines entsprechenden Befehls aufweist und daß die Bitverschiebeoperation in einem Zeitabschnitt ausgeführt wird, der einem einzigen Befehlsintervall entspricht.
Nachfolgend wird die Erfindung anhand eines Ausführungsbeispiels in Verbindung mit den Zeichnungen beschrieben. Es zeigen:
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-Logikeinheitj
Fig. 6 ein Flußdiagramm-;
Fig. 7 die Logikschaltung einer Bitverschiebe-Steuer-
schaltung, eines Multiplexers und einer Auswahlschaltung;
Fig. 8 Logiktabellen für die Bitverschiebe-Steuerschaltung.
In Fig. 1 ist der Aufbau eines ditigalen Mikrocomputers mit einer Arithmetik-Logikeinheit (ALU) 20 dargestellt, die Eingangssignale von mehreren Schaltungen aufnimmt. Daten, die über einen Daten- und Steuerbus 25 aus einem Schreib-Lese-Speicher (RAM) 22, einem Festwertspeicher (ROM) 24 ader aus anderen Quellen geholt worden sind, werden zeitweilig in Datenregistern TA und TB als Eingangssignale der ALU gespeichert. 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 jeweils vier Bits, die der ALU zugeführt werden. Die Ausgangssignale der Register TA und TB sowie des gesteuerten Register-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 gemäß 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 eingeschaltet 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überhinaus ist die ALU 20 ähnlich wie bekannte ALU-Schaltungsanordnungen aufgebaut.
Entsprechend der Darstellung in Fig. 1 nehmen die gesteuerten Register-Decoder G und H Steuersignale GC bzw. HC auf. Diese Steuersignale hängen von einer Steuerfeldgruppe von Signalen SB, CB und Mb ab, die bestimmen, ob die Arithmetik-Logikeinheit eine normale Operation, eine Biteinstelloperation, eine Bitlöschoperation oder eine Bitschiebeoperation ausführt. Die Signale SB, ÜB" und Hb" werden von der Steuerschaltung 30 abhängig von Befehlen in einem Befehlsregister (IR) oder anderen Signalen erzeugt. Das Steuersignal HC ist außerdem eine Funktion eines invertierten Bitauswählsignals 15, das den Binärwert des gewählten, während einer Bitschiebeoperation zu verschiebenden Bits angibt. Das Signal BS 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 Bl> 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 Quellenw^ort festzulegen. Zwei mit N1 und NO bezeichnete Bits oder Signale definieren die beeinflußte Bitposition im Bestimmungswort. Die anderen beiden Bits S1 und SO definieren die Position des Bits, das aus dem Quellenwort
verschoben werden soll.
Bei jeder Biteinstell- oder Bitlöschoperation werden die beiden Bits N1 und NO in das Register TAB gegeben, um eine Bitposition im Bestimmungswort zu definieren. Eine Quellenwort-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 Diagramm stellt aber nur einen Teil eines größeren Zustandsdiagramms 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 Zustand weiterlaufend durch aufeinander folgende Zustände am unteren Rand des Diagramms. Die Zustände besitzen je eine zugeordnete Identifizierungsnummer in der oberen linken Ecke
-9-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ückkehrt. Im Zustand 0-3 wird ein einzelner Operationscode mit 4 Bits über den Bus 25 aus dem ROM 24 geholt und im Befehlsregister 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 Qperationscode 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 gezeigt) und im übergeordneten Teil (master) der Adressenzwischenspeicher abgelegt. Die Steuerschaltung 30 geht zum Zustand 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-Arithmetikeinheit weitergeschaltet und im Pr'ogrammzähler sowie im üborgeordneten Teil der Adressenzwischenspeicher 33 abgelegt. Die Steuerschaltung 30 geht zum Zustand 1-5 weiter.
Die Zustandsfolge wird auf den Zustand 1-5 gebracht, da dos erste Operationscodewort, das eine normale ALU-Operation m\- gibt, innerhalb der durch die Hexadezimalzahlen O und C definierten 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 Zustandsdiagramm 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 Quellenw^ort. Es kann zwar mehr als ein Zustand zur Bildung der Adressen erforderlich sein, der Zustand 1-E/F soll aber den gesamten Adressenbildungsvorgang darstellen. Es wird dann zum Zustand 3-9 weitergegangen.
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 dieses Wort direkt über einen Bus 36 in Fig. 1 an die Eingänge BO, B1, B2 und B3 der ALU sowie entsprechend bezeichnete Eingänge der Bitauswahlschaltung 34 gegeben. Einzelheiten der Bitauswahlschaltung 34 sind in Fig. 7 gezeigt. Während der normalen ALU-Operationen können die Eingänge BO bis B3 der ALU benutzt werden. Die entsprechenden Eingänge der Bitauswahlschaltung 34 werden jedoch nicht benutzt. Die Zustandsfolge 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 Bestimmungswortes in das Register TA wird dieses Wort direkt über einen Bus 37 in Fig. 1 an die Eingänge AO, 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-Decoder G eine Kombination von NAND-Gattern, die so geschaltet sind, daß sie nur 1-Werte erzeugen, wenn das Signal GC 0 ist, und einen und nur einen O-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 Ausgangssignale des gesteuerten Register-Decoders G sind 1-Werte, Da diese Ausgangssignale, die als Bitlösch-Signalgruppe GO, 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 Ausgangssignale dieser UND-Gatter nicht. Das gilt deswegen,weil die anderen Eingänge dieser UND-Gatter, beispielsweise AO, A1, A2 und A3»deren Ausgangssignale bestimmen, die als eine Gruppe von Eingangssignalen an je 4 Gattern der Ebene von ODER-Gattern 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 Steuersignal HC eine 1, und alle Ausgangssignale des Register-Decoders H sind auf O. Da diese Ausgangssignale HO, 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, beispielsweise die von der Ebene von UND-Gattern 40 kommenden Eingangssignale, bestimmen die Ausgangssignale der Ebene von ODER-Gattern 42 für normale ALU-Operationen.
Der Mikrocomputer ist jetzt zur Einschaltung der ALU vorbereitet, 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-Operation 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 eingeschrieben wird.
Die Folge geht dann zum Zustand 0-1 weiter, in dem die im Programmzähler gespeicherte Adresse zum übergeordneten Abschnitt 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-Operation 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 Register D/S und ein weiteres in das Register TAB gegeben werden. Das im Register TAB abgelegte Datenwort enthält ein Befehlsfeld mit Bits N1 und NO, die die Stellenzahl des in dem Bestimmungswort einzustellenden Bits angeben. Danach wird ira Zustand 1-E/F eine Adresse für das Bestimmungswort aus Adrecseninformationen gebildet, die im Augenblick im Register D/G abgespeichert sind. Die Anordnung durchläuft dann den Zustand 3-9,und das Bestimmungswort wird im Zustand 2-4 geholt und im Register TA gespeichert.
Der Mikroprozessor ist jetzt für die Biteinstelloperation vorbereitet,und die Arithmetik-Logikeinheit 20 wird eingeschaltet. Das Bestimmungswort im Register TA wird so positioniert, daß ein Bit in derjenigen Position, welche durch das Stellenfeld mit den Bits N1 und NO definiert ist, eingestellt wird, wenn es nicht bereits eine 1 ist.
Es werden entsprechend Steuersignale erzeugt und an die Bitschiebe-Steuerschaltung 45 in Fig. 1 und 7 angelegt. Steuersignale für die Biteinstelloperation sind in der zweiten Zeile der Tabelle I in Fig. 8 angegeben. Während der Biteinstelloperation ist das Biteinstell-Steuersignal SB eine 1 , wodurch sichergestellt wird, daß das von einem NOR-Gatter 91 erzeugte Steuersignal HC eine 0 ist. Das invertierte Bitlösch-Steuersignal ÜB und das invertierte Bitschiebesignal Hb" 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 GO, 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 Ausgangssignale 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 O ist, definiert der Binärwert des Stellenfeldes mit den Bits N1 und NO, 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 HO, H1, H2 und H3 um. In diesem Code ist eines und nur eines der 4 Signale HO, H1, H2, H3 eine 1, und die anderen 3 Signale sind für jeden·der Binärwerte 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 Register TA gespeicherte Wort und auf die Bitlösch-Signalgruppe des Register-Decoders G an. Bei der Biteinstelloperation beeinflußt der Inhalt des Registers 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 AO 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 nachfolgendem 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, 62, 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 Eingangssignal, das von dem zugeordneten UND-Gatter 61, 62, 63 bzw. 64 zugeführt wird. Die 3 O-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 Ausgangssignal 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 werdei als Eingangssignale 3ÜT, 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 Biteinsteiloperation 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 3ΪΙ sind. Die Ausgangssignale 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 nachfolgend als Exklusiv-ODER-Gatter bezeichnet werden. Das einzustellende Bit ist eine 1, die ihrem zugeordneten Exklusiv-ODER-Gatter zugeführt wird. Das andere Eingangssignal dieses Gatters ist eine O, da alle Signale AL, YO, Y1, Y2 und CIO den Wert 1 haben. Mit Eingangssignalen 1 und O erzeugt das Exklusiv-ODER-Gatter des im Bestimmungswort einzustellenden Bit ein Ausgangssignal 1 auf der entsprechenden Ader DBO, DB1, DB2 oder DB3 des Daten- und Steuerbus 25. Dadurch wird sichergestellt, daß das Bit in der gewählten Bitposition des Bestimmungswortes 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 gespeicherten Bits. Gleichzeitig wird die Adresse der Bestimmungsstelle 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. Anschliessend 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 Befehlsregister 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, NO 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 vorbereitet. Das Bestimmungswort im Register TA ist so positioniert, da£ ein Bit in der durch die Stellenfeldbits N1 und NO definierten Position gelöscht wird, wenn es nicht bereits eine 0 ist.
Es werden demgemäß Steuersignale erzeugt, und an die Bitverschiebe-Steuerschaltung 45 in Fig. 1 und 7 angelegt. Steuersignale für die Bitlöschoperation sind in der dritten Zeile der Tabelle I in Fig. 8 dargestellt. Während der Bitlöschoperation ist das invertierte Bitlösch-Steuersignal ÜB" 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 Bitlöschoperation auf 1 .
Da das Steuersignal HC für die Bitlöschoperation eine 1 ist, haben alle Signale der Biteinstell-Signalgruppe HO, H1, 112 und H3 von den NOR-Gattern des gesteuerten Register-Decoders H den Wert O, unabhängig davon, welches Bit in dem Bestimmungswort 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 beeinflussen diese Signale den Ausgang der Ebene von ODER-Gattern 42 in der ALU nicht.
Man beachte, daß - da deren Ausgangssignale Bitlöschoporationen nicht beeinflussen - der gesteuerte Register-Decoder H für einen Rechner nicht erforderlich ist, der nur Bitlöschoperationen ausführt. Ein solcher Rechner würde dann also weder Biteinsteil- 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 NO 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 GO, G1, G2 und G3 um. In diesem Code ist eines und nur eines der 4 Ausgangssignale GO, 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 NO 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-Signalgruppe 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 NO 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 Xi zusammen mit einem Eingangssignal Yi von einem NOR-Gatter 46 an das zugeordnete UND-Gatter 44 angelegt wird. Dieses Eingangssignal XT 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, YO, Y1, Y2 und CIO verursacht wird, die alle 1 sind. Da beide Eingangssignale des Exklusiv-ODER-Gatters 48 0 sind,
-21- ■- : "" "■
gibt das Gatter ein Ausgangssignal O auf die entsprechende Ader DBO, DB1, DB2 oder DB3 des Daten- und Steuerbus 25 in der im Bestimmungswort zu löschenden Bitposition. Dieses Ausgangssignal der ALU 20 ist 0, unabhängig davon, ob es in dera ursprünglich 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 Register 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 Bestimmungsstelle einzuschreiben. Die Steuerschaltung 30 geht dann zum Zustand 0-4 weiter, dem letzten Zustand zur Ausführung 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 Bitpositionen eines gewählten Quellenwortes zu irgendeiner gewählten Position einer Vielzahl von Bitpos,itionen eines gewählten Bestimmungswortes zu verschieben. Andere Bits des Bestimmungswortes werden nicht beeinflußt. Das Quellen- und das Bestimmungswort können die gleichen oder unterschiedliche Speicherstellen sein. Außerdem können die Bitpositionen des Quellen-
-22- '.-' : : '"'*: " -"'· : 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 O-Bit. Es folgen zwei Beispiele zur Erlä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 betrachtet. 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 Speicher geholt und im Befehlsregister 32 abgelegt. Die Steuerschaltung 30 geht vom Zustand 0-3 zum Zustand 0-4, wobei Adressenbetriebsart-Informationen über den Bus 25 zum Register D/S geholt und ein Flipflop M/D (nicht gezeigt) eingestellt wird, um anzuzeigen, daß der Befehl ein Doppel-rOperationscodebefehl 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 Qperationscoöe für den Bitverschiebebefehl findet vor Ausführung dieses Befehls statt. Unter Ansprechen auf Informationen, die vom ersten Operationscode zurückbehalten worden sind, sowie Informationen im zweiten Operationscode durchläuft die Steuerschaltung 30 den Zustand 0-4 zum Zustand 1-5 und holt Adresseninformationen in das Register D/S zur Auswahl von Quellen- und Bestimmungsadressen sowie Daten in das Register TAB zur Bestimmung der gewählten Bitposition. Das im Register TAB gespeicherte Wort beinhaltet Informationen, die die gewählte Bitposition des Quellenwortes und die gewählte Bitposition des Bestimmungswortes darstellen. Die beiden Bits S1 und SO 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 NO, 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 SO, also 01, die Bitposition Nr. 1 im Quellenwort und die Bits N1 und NO, also 10, die Bitposition Nr. 2 im Bestimmungswort. Die Steuerschaltung geht dann zum Zustand 1-E/F weiter.
Im Zustand 1-E/F werden die Quellen- und Bestimmungsadressen aus der im Register D/S gespeicherten Information gebildet.
Danach v/erden 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 beeinfluß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 SO werden über einen Multiplexer 50 als Steuersignale an die Bitauswahlschaltung 34 angelegt. Gleichzeitig wird das Wort L aus dem Register TB über den Bus 36 an die Eingänge BO, B1, B2 und B3 der Bitauswahlschaltung 34 angelegt, bei der es sich um eine 1-aus-4-Wählschaltung handelt. Die Bits S1 und SO bestimmen, welches Bit des Wortes L mit 4 Bits über die Auswahlschaltung 34 als invertiertes Bitauswählsignal Bl> 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 B"S> eine 0. Steuersignale für die Bitverschiebeoperation bei Verschiebung eines 1-Bit sind in der 5.Zeile der Tabelle I in Fig.8 dargestellt.
Die beiden anderen Bits N1 und NO im Register TAB bestimmen die Stelle oder Bitposition des gewählten Bestimmungsbit wie bei Biteinsteil- und Bitlöschbefehlen. Die Bits N1 und NO werden an die gesteuerten Register-Decoder G und H in der Bitverschiebe-Steuerschaltung 45 gegeben, um deren Ausgangssignalabhä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 NO 10.
Gemäß Fig. 1 und 7 erzeugt ein NOR-Gatter 90 mit Eingangssignalen BS* und W, die beide auf 0 oder L sind, ein Bitauswähl-Ausgangssignal OBS, das gleich 1 ist. Diese 1, die an das NOR-Gatter 9.1 gelangt, bewirkt, daß das Steuersignal HC gleich 0 ist. Gleichzeitig ist - da das invertierte Bitverschiebesignal ΈΒ 0 oder L ist - das Steuersignal GC am Ausgang des NAND-Gatters 92 gleich 1.
Wenn das Steuersignal GC gleich 1 ist und die Stellenfeldbits N1 und NO den Wert 10 haben, lautet die Bitlö'sch-Signalgruppe GO, 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 relevante Bit in der Bitposition Nr. 2 am Ausgang des Register-Decoders G eine 0. Diese 0 wird dem zugehörigen UND-Gatter 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, dieser Ebene gegeben, so daß die Ausgangssignale der drei UND-Gatter durch die jeweiligen Bits des im Register TA gespeicherten Bestimmungswortes bestimmt werden.
Da das Steuersignal HC gleich 0 ist und die Stellenfeldbits N1 und NO den Wert 01 haben, lautet die Biteinstell-Signalgruppe HO, 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 Register-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-Decoder 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 Yfortes ein. Eine Analyse der logischen Schaltung in der Arithmetik-Logikeinheit Alu 20 zeigt, daß das ODER-Gatter 42 zur Einstellung des Bits auf einer späteren logischen Ebene liegt als das UND-Gatter 62 zum Löschen des Bit. Im Ergebnis überdeckt die Einstellung des Bit das Löschen des Bit. Beim Beispiel 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 entsprechenden, im Register TA gespeicherten Bits nicht. Im Ergebnis ist das an den Datenbus gegebene Ausgangssignal der ALU 20 gleich 1111. Gleichzeitig werden die Bestimmungsadresse und das Schreibsignal an den Speicher 22 in Fig.1 gegeben, um das modifizierte Ausgangswort der ALU an der Bestimmungsstelle einzuschreiben. Die Steuerschaltung 30 geht dann zum
Zustand 0-1 weiter, dem Endzustand bei der Ausführung des Bitverschiebebefehls. Aus dem Zustand 0-1 geht die Schaltung 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 Bitposition des Bestimmungswortes während eines einzigen Befehlsintervalls verschoben worden, ohne den Zustand irgendeiner anderen Bitposition im Bestimmungswort zu beeinflussen. Wenn der Quellenort nicht auch der Bestimmungsort ist, beeinflußt die Schreiboperation den Inhalt des Quellenortes nicht.
Ein Beispiel für die Verschiebung eines 1-Bit an eine Bitposition, 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 O-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 Bitposition 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- ' eher gelesen wird, werden ein erster und ein zweiter Operationscode wie bei dem vorhergehenden Beispiel zum Befehlsregister übertragen. Außerdem werden die Stelle des aus dem Quellenwort zu verschiebenden Bit und die Stelle des im Bestimmungswort zu beeinflussenden Bit im Register TAB abgelegt.
Die Bits S1 und SO im Zustand 11 geben den Binärwert der Stelle 3 für das aus dem Quellenwort zu verschiebende Bit an. Die Stellenfeldbits N1 und NO im Zustand 10 geben den Binärwert der Stelle 2 für das im gewählten Bestimmungswort zu beeinflussende 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 Bestimmungswort 1110 und das Register TB das Quellenwort 0110 auf. Der Inhalt 0110 des Registers TB wird als Eingangssignal BO, B1, B2 bzw. B3 dem Bitwähler 34 in Fig. 6 zugeführt. Die Auswahl wird durch die Bits S1 und SO gesteuert, die dem Bitwähler 34 vom Register TAB über den 4:2-Multiplexer 50 zugeführt werden. Da die Bits S1 und SO den Wert 11 haben, wird das O-Bit in der Position 3 des Wortes 0110 gewählt. Der Wähler 34 invertiert die 0 unter Erzeugung des invertierten Bitauswahlsignals Β"3Γ, wobei sich eine 1 ergibt. Die Steuersignale für die Bitverschiebeoperation beim Verschieben eines O-Bit sind in der 4. Zeile der Tabelle I in Fig.8 dargestellt.
Zu diesem Zeitpunkt sind das invertierte Bitverschiebesignal MB 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 NO 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 der Tabelle III in Fig. 8 dargestellt. Es erscheint demgemäß 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 Bestimmungswort 1110 aus dem Register TA durch die ALU 20 verarbeitet. Die Bitposition Nr. 2 wird durch das O-Signal G3 aus dem gesteuerten Register-Decoder G gelöscht und bleibt gelöscht aufgrund der Biteinstell-Signalgruppe HO, H1, H2, H3 aus den) 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 gegeben. Gleichzeitig werden die Bestimmungsadresse und das Schreibsignal an den Speicher 22 angelegt, um das modifizierte Ausgangswort der ALU an der Bestimmungsstelle einzuschreiben. 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 beeinflussen.
Ein Beispiel für die Bewegung eines O-Bit aus dem Quellenwort an eine Bitposition, die gerade ein O-Bit an der Bestimmungsstelle speichert, ähnelt dem gerade beschriebenen Beispiel und wird daher nicht weiter erläutert.
Zusammengefaßt führt also ein Bitverschiebebefehl im wesentlichen sowohl eine Bitlöschoperation als auch eine Biteinstelloperation aus. Da die Biteinstelladern HO, H1, H2, H3 vom Register-Decoder H in Fig. 7 auf einer späteren Logikebene in der ALU 20 gemäß Fig. 2, 3 und 4 als die Adern GO, 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 O-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 Ausgangssignal erzeugt oder nicht, das das Löschen irgendeines Bit überdeckt, welchos durch das Ausgangssignal des gesteuerten Register-Decoders G durchgeführt wird.
Es ist demgemäß eine Arithmetik-Logikeinheit beschrieben worden, die so ausgelegt ist, daß in einem einzigen Befehlsintervall ein Bit gelöscht, eingestellt oder verschoben werden kann.
Leerseite

Claims (4)

  1. BLUMBACH · WESER · BSTRGHN KRA^E ZWIRNER · HOF£täANFN . -:
    PATENTANWÄLTE IN MÜNCHEN UND WIESBADEN
    Patentconsult Redeckestraße 43 8000 München 60 Telefon (089) 883603/883604 Tclox 05-212313 Telegramme Palenlc.onsuli Patentconsult Sonnenberger Straße 43 6200 Wiesbaden Telefon (06121) 5629-43/561998 Telex 04-186237 Telegramme Patenlconsull
    Western Electric Company Incorporated ELDUMIATI, I.I.2-2 222 Broadway, New York N.Y. 10038
    Vereinigte Staaten von Amerika
    Patentansprüche
    (T) Digitalrechner zur Verarbeitung von Daten, abhängig von gespeicherten Befehlen, mit Mitteln zur Ausführung jedes Befehls in einem Befehlsintervall,
    dadurch gekennzeichnet, daß der Rechner eine Einrichtung zur Ausführung einer Bitverschiebeoperation aufgrund eines entsprechenden Befehls aufweist,
    und daß die Bitverschiebeoperation in einem Zeitabschnitt ausgeführt wird, der einem einzigen Befehlsintervall entspricht.
  2. 2. Digitalrechner nach Anspruch 1,
    dadurch gekennzeichnet, daß der Rechner eine Einrichtung aufweist, um ein einzelnes Datenbit von einer gewählten Position einer Vielzahl von Bitpositionen in einar gewählten Quelle zu jeder gewählten Bitposition einer Vielzahl von Bitposi-
    München: R, Kramer Dipl.-Itig. · W. Wesor Dipl.-Phys. Dr. rer. nat. · E. Hoffmann Dipl.-Ing. Wiesbaden: P. G. Blumbach Dipl.-jng. · P. Borgen Prof. Dr. jur. Dipi.-Ing., Pai.-Ass., Pat. Anw. bis 1979 · G. Zwirner Dipl.-Inrj. Dipl.-Vi/ l.i>
    tionen in einer gewählten Bestimmungsstelle während des einzigen BefehlsIntervalls zu verschieben, ohne den Zustand irgendeines anderen Bit an der gewählten Bestimmungsstelle zu beeinflussen.
  3. 3. Digitalrechner nach Anspruch 2,
    dadurch gekennzeichnet, daß der Rechner folgende Bauteile aufweist:
    eine Schaltung (25, TAB, 34, 36, TB, 50) zur Auswahl eines vorbestimmten Bit aus der gewählten Quelle; eine Arithmetik-Logikeinheit (20), die so ausgelegt ist, daß sie in Abhängigkeit von Signalen von einer Steuerschaltung (30) und einem Befehlsregister (32) arbeitet und ein Datenwort von einem Eingang (TA, 37) zur gewählten Bestimmungsstelle verschiebt;
    eine erste gesteuerte Register-Decoderschaltung (TAB, G, 38, 92, GC), die in der Arithmetikr-Logikeinheit so angeschlossen ist, daß sie die vorgegebene Bitposition löscht, ohne den Zustand irgendeines anderen Bit in dem zur gewählten Bestimmungsstelle verschobenen Datenwort beeinflußt; und eine zweite gesteuerte Register-Decoderschaltung (TAB, H, 39» 91, HC, 30), die in der Arithrnetik-Logikeinheit so angeschlossen ist, daß sie selektiv die vorgegebene Bitposition einstellt, ohne den Zustand irgendeines anderen Bit in dem zur gewählten Bestimmungsstelle verschobenen Datenwort zu beeinflussen.
  4. 4. Digitalrechner nach Anspruch 3,
    dadurch gekennzeichnet, daß die Arithmetik-Logikeinheit (20) eine Ebene von UND-Gattern (40) und eine Ebene von ODER-Gattern (42) zur unveränderten Übertragung eines Bestimmungswortes von einem Register (TA) über die Ebenen von Gattern zu einem Datenbus (25) und einer Bestimmungsstelle (in 22) aufweist,
    daß der Rechner ferner folgende Bauteile aufweist: eine Schaltung (34, 36, TAB, 50) zur Auswahl eines Bit aus einem Quellenwort (aus TB und 22 oder 24); eine zweite Schaltung (45)> die unter Ansprechen auf das gewählte Bit (B"s), ein Steuerfeld von Bits (ÜB", SB, W) und ein Stellenfeld von Bits (N1, NO), die eine vorbestimmte Bitposition des Bestimmungswortes darstellen, eine Bitlösch-Signalgruppe (GO, G1, G2, G3) und eine Biteinstell-Signalgruppe (HO, H1, H2, H3) erzeugt; und 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, um den Zustand des Bit in der vorgegebenen Bitposition des Bestimmungsworts entsprechend dem Zustand des gewählten Bit aus dem Quellenwort zu ändern, ohne den Zustand irgendeines anderen Bit des Bestimmungswortes 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 true DE3121046A1 (de) 1982-03-11
DE3121046C2 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

Citations (1)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (1)

* 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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2714805C2 (de)
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2556661A1 (de) Steuerschaltung mit adressenerweiterung
DE2718110A1 (de) Datenverarbeitungseinheit
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE3043100C2 (de)
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE1197650B (de) Parallel-Addierer
DE3620982A1 (de) Ein-befehl, mehrfach-datenstrom (simd) computersystem
DE3121046A1 (de) Arithmetik-logikeinheit mit bit-manipulation
DE2064383C3 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE3116385C2 (de) Mikroprogramm-Steuerung
DE3501903A1 (de) Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung
DE3307194C2 (de)
DE3545937A1 (de) Mikroprozessor
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE2418921C2 (de) Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1499286A1 (de) Datenbearbeitungsanlage
DE2710436A1 (de) Datenverarbeitungseinrichtung

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