DE3121046A1 - Arithmetik-logikeinheit mit bit-manipulation - Google Patents
Arithmetik-logikeinheit mit bit-manipulationInfo
- 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
Links
- 230000004044 response Effects 0.000 claims description 2
- 101100286286 Dictyostelium discoideum ipi gene Proteins 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
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.
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.
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.
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)
- BLUMBACH · WESER · BSTRGHN KRA^E ZWIRNER · HOF£täANFN . -:PATENTANWÄLTE IN MÜNCHEN UND WIESBADENPatentconsult 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 PatenlconsullWestern Electric Company Incorporated ELDUMIATI, I.I.2-2 222 Broadway, New York N.Y. 10038
Vereinigte Staaten von AmerikaPatentansprü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. 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. 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. 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.
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)
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 |
US7031776B2 (en) * | 2001-06-29 | 2006-04-18 | Optobionics | Methods for improving damaged retinal cell function |
US20050033202A1 (en) * | 2001-06-29 | 2005-02-10 | Chow Alan Y. | Mechanically activated objects for treatment of degenerative retinal disease |
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)
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)
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 |
-
1980
- 1980-06-02 US US06/155,317 patent/US4525776A/en not_active Expired - Lifetime
-
1981
- 1981-05-27 DE DE3121046A patent/DE3121046A1/de active Granted
- 1981-05-27 GB GB8116107A patent/GB2079502B/en not_active Expired
- 1981-05-29 FR FR8110707A patent/FR2483656B1/fr not_active Expired
- 1981-06-01 NL NL8102650A patent/NL8102650A/nl not_active Application Discontinuation
- 1981-06-02 JP JP56083928A patent/JPS5794852A/ja active Granted
Patent Citations (1)
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 |
---|---|
GB2079502A (en) | 1982-01-20 |
GB2079502B (en) | 1984-07-11 |
FR2483656B1 (fr) | 1987-06-26 |
FR2483656A1 (fr) | 1981-12-04 |
US4525776A (en) | 1985-06-25 |
NL8102650A (nl) | 1982-01-04 |
JPH0447335B2 (de) | 1992-08-03 |
DE3121046C2 (de) | 1992-03-05 |
JPS5794852A (en) | 1982-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE3688824T2 (de) | Datenverarbeitungssystem. | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE3752280T2 (de) | Mustergenerator | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE3856139T2 (de) | Mikroprozessor | |
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 | |
DE2064383B2 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
DE3307194C2 (de) | ||
DE3545937A1 (de) | Mikroprozessor | |
DE3882425T2 (de) | Datenübertragungssteuerungsvorrichtung für Direktspeicherzugriff. | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2418921C2 (de) | Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage |
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 |