DE3121046C2 - - Google Patents
Info
- Publication number
- DE3121046C2 DE3121046C2 DE3121046A DE3121046A DE3121046C2 DE 3121046 C2 DE3121046 C2 DE 3121046C2 DE 3121046 A DE3121046 A DE 3121046A DE 3121046 A DE3121046 A DE 3121046A DE 3121046 C2 DE3121046 C2 DE 3121046C2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- word
- state
- data word
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000004044 response Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- OFFWOVJBSQMVPI-RMLGOCCBSA-N Kaletra Chemical compound N1([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=2C=CC=CC=2)NC(=O)COC=2C(=CC=CC=2C)C)CC=2C=CC=CC=2)CCCNC1=O.N([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=1C=CC=CC=1)NC(=O)OCC=1SC=NC=1)CC=1C=CC=CC=1)C(=O)N(C)CC1=CSC(C(C)C)=N1 OFFWOVJBSQMVPI-RMLGOCCBSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer 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
Description
Die Erfindung betrifft einen Digitalrechner nach dem
Oberbegriff des Anspruchs 1. Ein solcher Rechner ist aus der
US-PS 39 82 229 bekannt.
Nach dem Stand der Technik sind Mikrocomputer zur Ausführung
von Bit-Manipulationen ausgelegt worden, beispielsweise das
Löschen eines gewählten Bits oder das Einstellen eines ge
wählten Bits in einem Wort. Außerdem kann beispielsweise ein
Bit von jeder beliebigen Bitposition in einem Quellenwort zu
irgendeiner Bitposition in einem Bestimmungswort verschoben
werden.
Während der Bitverschiebeoperation führt die Arithmetik-
Logikeinheit eine Prüfung für das gewählte Bit im Quellen
wort durch. Dieses Prüfverfahren beinhaltet die Erzeugung
einer Prüfmaske vor Durchführung der Prüfung. Abhängig vom
Ergebnis der Prüfung wird eine gewählte Bitposition im Be
stimmungswort entweder gelöscht oder eingestellt. Andere
Bits im Bestimmungswort bleiben unverändert. Diese Bitver
schiebeoperation erfordert zwei oder mehrere Befehle, und
daher sind zwei oder mehrere Befehlsintervalle zum Verschie
ben eines einzelnen Bits erforderlich.
Wenn demgemäß ein Programmierer ein Bit während eines ein
zigen Befehlsintervalls verschieben will, ergibt sich ein
Problem, weil mehrere Befehle zur vollständigen Durchfüh
rung der Verschiebung benutzt werden. Das Verschieben eines
Bits während eines einzigen Befehlsintervalls ist ein wert
volles Merkmal für einen Mikrocomputer, der für eine Steuer
anordnung ausgelegt ist, welche viele Operationen zur Manipu
lation von Bits ausführt.
Bei dem Digitalrechner nach der genannten US-PS 39 82 229 ist
eine Kombinationslogikeinheit vorgesehen, über die die
jeweiligen Datenwörter laufen. Anschließend werden die
Ergebnisse der dabei durchgeführten Operationen kombiniert. Es
sind also ebenfalls zwei oder mehrere Durchläufe und damit
Befehlsintervalle für Bitverschiebungen erforderlich.
Der Erfindung liegt die Aufgabe zugrunde, eine
Bitverschiebeoperation während eines einzigen
Befehlsintervalls unter Steuerung eines einzigen Befehls zu
ermöglichen. Die Lösung der Aufgabe ist im Patentanspruch 1
gekennzeichnet. Eine Weiterbildung der Erfindung ist
Gegenstand des Anspruchs 2.
Nachfolgend wird die Erfindung anhand eines Ausführungsbei
spiels in Verbindung mit den Zeichnungen beschrieben. Es
zeigt
Fig. 1 das Blockschaltbild einer Digitalrechneranordnung;
Fig. 2, 3 und 4, in der Anordnung nach Fig. 5, die auf
dem gleichen Blatt wie Fig. 2 angeordnet ist,
die Logikschaltung einer Arithmetik-Logikeinheit;
Fig. 6 ein Flußdiagramm;
Fig. 7 die Logikschaltung einer Bitverschiebe-Steuer
schaltung, eines Multiplexers und einer Auswahl
schaltung;
Fig. 8 Logiktabellen für die Bitverschiebe-Steuerschal
tung.
In Fig. 1 ist der Aufbau eines digitalen Mikrocomputers mit
einer Arithmetik-Logikeinheit (ALU) 20 dargestellt, die Ein
gangssignale von mehreren Schaltungen aufnimmt. Daten, die
über einen Daten- und Steuerbus 25 aus einem Schreib-Lese-
Speicher (RAM) 22, einem Festwertspeicher (ROM) 24 oder aus
anderen Quellen geholt worden sind, werden zeitweilig in
Datenregistern TA und TB als Eingangssignale der ALU gespei
chert. Decodierte Steuersignale aus dem ROM 24 werden über
den Bus 25, ein Register TAB und gesteuerte Register-Decoder
G und H Eingängen der ALU zugeführt. Die Datenregister TA, TB
und die gesteuerten Register-Decoder G und H speichern je
weils vier Bits, die der ALU zugeführt werden. Die Ausgangs
signale der Register TA und TB sowie des gesteuerten Regi
ster-Decoders G werden jeweils einer Ebene von UND-Gattern
in der ALU 20 entsprechend der Darstellung in den Fig. 2, 3
und 4 zugeführt. Die Ausgangssignale des gesteuerten Register-
Decoders H werden einer Ebene von ODER-Gattern in der ALU ge
mäß Fig. 2, 3 und 4 zugeführt. Wenn die Eingangssignale der
ALU in den entsprechenden Registern gespeichert sind und die
ALU zur Erzeugung einer Gruppe von Ausgangssignalen einge
schaltet ist, hängt diese Gruppe von Ausgangssignalen von
den Eingangswörtern in den Registern TA und TB zusammen mit
Steuersignalen ab, die von einer Steuerschaltung 30 und den
gesteuerten Register-Decodern G und H zugeführt werden.
Darüber hinaus ist die ALU 20 ähnlich wie bekannte ALU-
Schaltungsanordnungen aufgebaut.
Entsprechend der Darstellung in Fig. 1 nehmen die gesteuer
ten Register-Decoder G und H Steuersignale GC bzw. HC auf.
Diese Steuersignale hängen von einer Steuerfeldgruppe von
Signalen SB, und ab, die bestimmen, ob die Arithmetik-
Logikeinheit eine normale Operation, eine Biteinstellopera
tion, eine Bitlöschoperation oder eine Bitschiebeoperation
ausführt. Die Signale SB, und werden von der Steuerschal
tung 30 abhängig von Befehlen in einem Befehlsregister (IR) 32
oder anderen Signalen erzeugt. Das Steuersignal HC ist außer
dem eine Funktion eines invertierten Bitauswählsignals ,
das den Binärwert des gewählten, während einer Bitschiebe
operation zu verschiebenden Bits angibt. Das Signal wird
von einer Bitauswählschaltung 34 abhängig von der Prüfung des
zu verschiebenden Bits erzeugt. Wenn das gewählte Bit eine 1
ist, ist das Signal eine 0 und umgekehrt.
Für jede Bitschiebeoperation werden 4 Bits in das Register
TAB gegeben, um eine Bitposition im Bestimmungswort und eine
Bitposition im Quellenwort festzulegen. Zwei mit N1 und N0
bezeichnete Bits oder Signale definieren die beeinflußte Bit
position im Bestimmungswort. Die anderen beiden Bits S1 und
S0 definieren die Position des Bits, das aus dem Quellenwort
verschoben werden soll.
Bei jeder Biteinstell- oder Bitlöschoperation werden die
beiden Bits N1 und N0 in das Register TAB gegeben, um eine
Bitposition im Bestimmungswort zu definieren. Eine Quellen
wort-Information ist nicht erforderlich.
Während normaler ALU-Operationen, d. h. wenn die ALU keine
Biteinstell-, Bitlösch- oder Bitschiebeoperation ausführt,
haben Ausgangssignale der gesteuerten Register-Decoder G und
H keinen Einfluß auf das Ausgangssignal der ALU.
Das Fluß- oder Zustandsdiagramm in Fig. 6 zeigt Zustände,
die während der Operation der ALU 20 in Fig. 1 zusammen mit
den zugeordneten Schaltungen des Mikrocomputers auftreten.
Es sind zwar mehrere Zustände in Fig. 6 angegeben, das Dia
gramm stellt aber nur einen Teil eines größeren Zustandsdia
gramms dar. Der gezeigte Teil weist einen Abschnitt auf, der
die Betriebsweise des Mikrocomputers und der ALU bei gewissen
normalen Befehlen zusammen mit Bitlösch-, Biteinstell- und
Bitverschiebebefehlen angibt.
Jeder Befehl beinhaltet eine Folge von Zuständen, beginnend
oben im Diagramm und dann schrittweise mit jeweils einem Zu
stand weiterlaufend durch aufeinanderfolgende Zustände am
unteren Rand des Diagramms. Die Zustände besitzen je eine
zugeordnete Identifizierungsnummer in der oberen linken Ecke
des den Zustand darstellenden Rechtecks.
In Fig. 6 ist der oberste Zustand 0-3 der Anfangs- oder
Startzustand für alle Befehle. Der Zustand 0-1 am unteren
Ende des Diagramms ist der letzte oder Endzustand, von dem
aus die Zustandsfolge wieder zum Anfangszustand 0-3 zurück
kehrt. Im Zustand 0-3 wird ein einzelner Operationscode mit
4 Bits über den Bus 25 aus dem ROM 24 geholt und im Befehls
register 32 abgelegt, wobei bis zu 16 verschiedene Befehle
vorhanden sein können. Dies ist im Zustandsdiagramm durch
das Symbol → IR dargestellt. Normale Befehle werden durch
Hexadezimalziffern 0 bis 8 wiedergegeben. Nachdem der Opera
tionscode im Befehlsregister abgelegt ist und eine Adresse
im untergeordneten Teil (slave) von Adressenzwischenspeichern
33 durch eine Adressen-Arithmetikeinheit 35 weitergeschaltet
ist, wird die neue Adresse in einem Programmzähler (nicht ge
zeigt) und im übergeordneten Teil (master) der Adressenzwi
schenspeicher abgelegt. Die Steuerschaltung 30 geht zum Zu
stand 0-4 weiter.
Im Zustand 0-4 wird ein zweites Wort des Befehls aus dem ROM
24 in ein Register D/S geholt, wie durch den Ausdruck → DdSs
angegeben. Wiederum wird die Adresse im untergeordneten Teil
der Adressenzwischenspeicher 33 in der Adressen-Arithmetik
einheit weitergeschaltet und im Programmzähler sowie im über
geordneten Teil der Adressenzwischenspeicher 33 abgelegt.
Die Steuerschaltung 30 geht zum Zustand 1-5 weiter.
Zustandsfolge wird auf den Zustand 1-5 gebracht, da das
erste Operationscodewort, das eine normale ALU-Operation an
gibt, innerhalb der durch die Hexadezimalzahlen 0 und C de
finierten Grenzen liegt. Im Zustand 1-5 wird ein Datenwort
aus dem Speicher 22 oder 24 über den Daten- und Steuerbus 25
in das Register TAB geführt. Diese Operation ist im Zustands
diagramm durch das Symbol → TAB dargestellt. Die Schaltung
geht dann zum Zustand 1-E/F weiter.
Im Zustand 1-E/F bildet der Mikrocomputer Adressen für einen
Zugriff zum Bestimmungs- und zum Quellenwort. Es kann zwar
mehr als ein Zustand zur Bildung der Adressen erforderlich
sein, der Zustand 1-E/F soll aber den gesamten Adressenbil
dungsvorgang darstellen. Es wird dann zum Zustand 3-9 weiter
gegangen.
Im Zustand 3-9 wird ein Quellenwort aus dem Speicher 22 oder
24 in das Register TB geholt. Dies ist durch das Symbol → TB
dargestellt. Aufgrund der Speicherung des Quellenwortes im
Register TB wird diese Wort direkt über einen Bus 36 in Fig. 1
an die Eingänge B0, B1, B2 und B3 der ALU sowie entsprechend
bezeichnete Eingänge der Bitauswahlschaltung 34 gegeben. Ein
zelheiten der Bitauswahlschaltung 34 sind in Fig. 7 gezeigt.
Während der normalen ALU-Operationen können die Eingänge B0
bis B3 der ALU benutzt werden. Die entsprechenden Eingänge der
Bitauswahlschaltung 34 werden jedoch nicht benutzt. Die Zu
standsfolge geht dann zum Zustand 2-4 über.
Im Zustand 2-4 wird ein Bestimmungswort aus dem Speicher in
das Register TA geholt. Dies ist in Fig. 6 durch das Symbol
→ TA dargestellt. Aufgrund der Einspeicherung des Bestim
mungswortes in das Register TA wird dieses Wort direkt über
einen Bus 37 in Fig. 1 an die Eingänge A0, A1, A2 und A3
der ALU angelegt.
Es werden Steuersignale erzeugt und an eine Bitschiebe-
Steuerschaltung 45 in Fig. 1 und 7 angelegt. Entsprechend
der Darstellung in Fig. 7 ist der gesteuerte Register-Deco
der G eine Kombination von NAND-Gattern, die so geschaltet
sind, daß sie nur 1-Werte erzeugen, wenn das Signal GC 0 ist,
und nur einen 0-Wert, wenn das Signal GC 1 ist.
Der gesteuerte Register-Decoder H ist eine Kombination von
NOK-Gattern, die alle 0-Werte erzeugen, wenn das Signal HC
eine 1 ist, und nur eine einzige 1, wenn das Signal HC eine
0 ist.
Entsprechend der Darstellung in Fig. 8 sind die Zustände der
gesteuerten Register-Decoder G und H und der Steuersignale
GC und HC für alle normalen ALU-Operationen in der obersten
Zeile der Tabellen I, II und III angegeben. Für jede normale
ALU-Operation ist das Steuersignal GC eine 0, und alle Aus
gangssignale des gesteuerten Register-Decoders G sind 1-Werte.
Da diese Ausgangssignale, die als Bitlösch-Signalgruppe G0,
G1, G2 und G3 bezeichnet werden, alle 1-Werte haben, und di
rekt über entsprechend bezeichnete Adern in einem Bus 38 an
angegebene Eingänge der Ebene von UND-Gattern 40 in der ALU
20 gemäß Fig. 2, 3 und 4 angelegt werden, beeinflussen die
Ausgangssignale des gesteuerten Register-Decoders G die Aus
gangssignale dieser UND-Gatter nicht. Das gilt deswegen, weil
die anderen Eingänge dieser UND-Gatter, beispielsweise A0, A1,
A2 und A3, deren Ausgangssignale bestimmen, die als eine Gruppe
von Eingangssignalen an je 4 Gattern der Ebene von ODER-Gat
tern 42 in der ALU 20 gemäß Fig. 2, 3 und 4 für normale ALU-
Operationen angelegt werden.
Außerdem ist bei einer normalen ALU-Operation das Steuersig
nal HC eine 1, und alle Ausgangssignale des Register-Deco
ders H sind auf 0. Da diese Ausgangssignale H0, H1, H2 und
H3, die eine Biteinstell-Signalgruppe genannt werden, alle 0
sind und direkt über entsprechend bezeichnete Adern an weitere
Eingänge der Ebene von ODER-Gattern 42 in der ALU 20 gemäß
Fig. 2 und 3 angelegt werden, beeinflussen die Ausgangssignale
des Register-Decoders H die Ausgangssignale dieser ODER-Gatter
nicht. Weitere Eingangssignale der ODER-Gatter 42, beispiels
weise die von der Ebene von UND-Gattern 40 kommenden Eingangs
signale, bestimmen die Ausgangssignale der Ebene von ODER-
Gattern 42 für normale ALU-Operationen.
Der Mikrocomputer ist jetzt zur Einschaltung der ALU vorbe
reitet, und die Zustandsfolge geht zum Zustand 2-0 in Fig. 6
weiter. Im Zustand 2-0 wird die Arithmetik-Logikeinheit 20
eingeschaltet und führt die vorgeschriebene, normale ALU-Ope
ration aus. Wenn die Operation abgeschlossen ist, erzeugt die
ALU ein Bestimmungswort, das über den Daten- und Steuerbus 25
zur Bestimmungsstelle im RAM 32 übertragen und dort einge
schrieben wird.
Die Folge geht dann zum Zustand 0-1 weiter, in dem die im
Programmzähler gespeicherte Adresse zum übergeordneten Ab
schnitt der Adressenzwischenspeicher 33 in Fig. 1 übertragen
wird, wie das Symbol PC→M angibt. Als Ergebnis wird dann
zum Zustand 0-3 weitergegangen, nämlich dem Anfangszustand
für den nachfolgenden Befehl.
Es sei jetzt angenommen, daß statt einer normalen ALU-Opera
tion eine Biteinstelloperation ausgeführt wird. Für diese
Operation wird der entsprechende, durch die Hexadezimalzahl
9 dargestellte Operationscode im Zustand 0-3 über den Bus 25
aus dem ROM 24 geholt und im Befehlsregister 32 abgelegt. Die
Steuerschaltung 30 geht dann aus dem Zustand 0-3 über die
Zustände 0-4 und 1-5 weiter, wobei ein Datenwort in das Re
gister D/S und ein weiteres in das Register TAB gegeben wer
den. Das im Register TAB abgelegte Datenwort enthält ein Be
fehlsfeld mit Bits N1 und N0, die die Stellenzahl des in dem
Bestimmungswort einzustellenden Bits angeben. Danach wird im
Zustand 1-E/F eine Adresse für das Bestimmungswort aus Adres
seninformationen gebildet, die im Augenblick im Register D/S
abgespeichert sind. Die Anordnung durchläuft dann den Zustand
3-9, und das Bestimmungswort wird im Zustand 2-4 geholt und in
Register TA gespeichert.
Der Mikroprozessor ist jetzt für die Biteinstelloperation
vorbereitet, und die Arithmetik-Logikeinheit 20 wird einge
schaltet. Das Bestimmungswort im Register TA wird so posi
tioniert, daß ein Bit in derjenigen Position, welche durch
das Stellenfeld mit den Bits N1 und N0 definiert ist, ein
gestellt wird, wenn es nicht bereits eine 1 ist.
Es werden entsprechend Steuersignale erzeugt und an die Bit
schiebe-Steuerschaltung 45 in Fig. 1 und 7 angelegt. Steuer
signale für die Biteinstelloperation sind in der zweiten Zeile
der Tabelle I in Fig. 8 angegeben. Während der Biteinstell
operation ist das Biteinstell-Steuersignal SB eine 1, wo
durch sichergestellt wird, daß das von einem NOR-Gatter 91
erzeugte Steuersignal HC eine 0 ist. Das invertierte Bit
lösch-Steuersignal und das invertierte Bitschiebesignal
haben den Wert 1, wodurch sichergestellt wird, daß das von
einem NAND-Gatter 92 erzeugte Steuersignal GC eine 0 ist.
Daher sind bei der Biteinstelloperation beide Steuersignale
HC und GC 0.
Da das Steuersignal GC für die Biteinstelloperation 0 ist,
haben alle Signale der Bitlösch-Signalgruppe G0, G1, G2 und
G3 von den NAND-Gattern des gesteuerten Register-Decoders G
den Wert 1, unabhängig davon, welches Bit gewählt wird. Das
ist in der obersten Zeile in Tabelle III in Fig. 8 dargestellt.
Ähnlich wie bei der Bitlösch-Signalgruppe für normale ALU-
Operationen haben diese Signale keinen Einfluß auf die Aus
gangssignale der Ebene von UND-Gattern 40 in der ALU 20.
Man beachte, daß - da diese Ausgangssignale keinen Einfluß
auf Biteinstelloperationen haben - der gesteuerte Register-
Decoder G für einen Rechner nicht erforderlich ist, der nur
Biteinstelloperationen ausführt. Ein solcher Rechner führt
dann also weder Bitlösch- noch Bitverschiebeoperationen aus.
Da das Steuersignal HC für die Biteinstelloperation 0 ist,
definiert der Binärwert des Stellenfeldes mit den Bits N1 und
N0, welches Bit im Bestimmungswort einzustellen ist. Diese
Beziehung ist in den 4 unteren Zeilen der Tabelle II in Fig. 8
dargestellt. Die NOR-Gatter des gesteuerten Register-Decoders
H wandeln den zugeführten Binärwert in einen 1-aus-4-Code in
der Biteinstell-Signalgruppe H0, H1, H2 und H3 um. In diesem
Code ist eines und nur eines der 4 Signale H0, H1, H2, H3
eine 1, und die anderen 3 Signale sind für jeden der Binär
werte 0. Das einzustellende Bit, das durch den Binärcode des
Stellenfeldes mit den Bits N1 und N2 definiert wird, ist
dieses eine Bit.
Gemäß Fig. 2, 3 und 4 sprechen mehrere Gatter 61, 62, 63 und
64 der Ebene von UND-Gattern 40 in der ALU 20 auf das im Re
gister TA gespeicherte Wort und auf die Bitlösch-Signalgruppe
des Register-Decoders G an. Bei der Biteinstelloperation be
einflußt der Inhalt des Register TB den Ausgang der ALU
nicht. Da außerdem alle Signale der Bitlösch-Signalgruppe
den Wert 1 haben, erzeugen die Gatter 61, 62, 63 und 64 der
Ebene von UND-Gattern 40 Ausgangssignale, die durch deren
Eingangssignale aus dem Register TA bestimmt werden.
Da die Biteinstell-Signalgruppe aus dem Register-Decoder H
über den Bus 39 an die Ebene von ODER-Gattern 42 in der
ALU, die gemäß Fig. 2 und 3 durch ein NOR-Gate mit nachfol
gendem Inverter dargestellt werden und nachfolgend als ODER-
Gatter bezeichnet werden, angelegt sind, und zwar zusammen
mit dem Inhalt des Registers TA, der durch die Gatter 61, 62,
63, 64 in der Ebene von UND-Gattern 40 wiedergegeben wird,
stellt der einzige 1-Wert der Biteinstell-Signalgruppe sicher,
daß das Ausgangssignal desjenigen ODER-Gatters, an das der
1-Wert angelegt ist, eine 1 ist. Dies überdeckt jedes Ein
gangssignal, das von dem zugeordneten UND-Gatter 61, 62, 63
bzw. 64 zugeführt wird. Die 3 0-Werte in der Biteinstell-
Signalgruppe vom Register-Decoder H beeinflussen den Ausgang
ihrer zugeordneten ODER-Gatter nicht. Weitere UND-Gatter,
deren Ausgangssignale an die ODER-Gatter 42 angelegt sind,
sind für normale ALU-Operationen vorgesehen und erzeugen zu
diesem Zeitpunkt Ausgangssignale 0. Demgemäß ist das Ausgangs
signal der Ebene von ODER-Gattern 42 das Bestimmungswort vom
Register TA mit der Ausnahme, daß das gewählte Bit unabhängig
davon eine 1 ist, ob es bei der ursprünglichen Einspeicherung
in das Register TA eine 1 war oder nicht.
Die Ausgangssignale der Gatter auf der Ebene von ODER-Gattern
42 werden als Eingangssignale , wobei i eine
Zahl zwischen 0 und 3 ist, einer weiteren Ebene von UND-
Gattern 44 zusammen mit Eingangssignalen Yi von einer Ebene
von NOR-Gattern 46 zugeführt. Für die Biteinstelloperation
haben diese Eingangssignale Yi alle den Wert 1, wodurch die
UND-Gatter 44 veranlaßt werden, Ausgangssignale zu erzeugen,
die die gleichen wie die Eingangssignale sind. Die Aus
gangssignale der UND-Gatter 44 werden als Eingangssignale
Exklusiv-ODER-Gattern 48 zugeführt, die als Exklusiv-NOR-
Gatter gefolgt von einem Inverter dargestellt sind und nach
folgend als Exklusiv-ODER-Gatter bezeichnet werden. Das ein
zustellende Bit ist eine 1, die ihrem zugeordneten Exklusiv-
ODER-Gatter zugeführt wird. Das andere Eingangssignal dieses
Gatters ist eine 0, da alle Signale AL, Y0, Y1, Y2 und CI0
den Wert 1 haben. Mit Eingangssignalen 1 und 0 erzeugt das
Exklusiv-ODER-Gatter des im Bestimmungswort einzustellenden
Bit ein Ausgangssignal 1 auf der entsprechenden Ader DB0, DB1,
DB2 oder DB3 des Daten- und Steuerbus 25. Dadurch wird sicher
gestellt, daß das Bit in der gewählten Bitposition des Be
stimmungswortes unabhängig davon auf 1 eingestellt wird, ob
es bei Beginn der Biteinstelloperation eine 1 war oder nicht.
Der Rest der Datenbusadern entspricht den im Register TA ge
speicherten Bits. Gleichzeitig wird die Adresse der Bestim
mungsstelle und ein Schreibsignal an den Speicher 22 in
Fig. 1 gegeben, um das jetzt modifizierte Bestimmungswort
in die gewählte Bestimmungsstelle zu schreiben.
Die Steuerschaltung 30 geht dann zum Zustand 0-1 weiter, dem
Endzustand zur Ausführung des Biteinstellbefehls. Anschließend
läuft die Steuerschaltung zum Zustand 0-3 und beginnt
einen weiteren Befehl.
Bei der Bitlöschoperation wird der entsprechende numerische
Operationscode, dargestellt durch die Hexadezimalzahl A, im
Zustand 0-3 über den Bus 25 aus dem ROM 24 geholt und im Be
fehlsregister 32 abgelegt. Die Steuerschaltung 30 geht dann
aus dem Zustand 0-3 über die Zustände 0-4 und 1-5 weiter und
holt Adresseninformationen sowie die Stellenfeldbits N1, N0
zur Abspeicherung in den Registern D/S bzw. TAB. Nachfolgend
wird die Bestimmungsadresse im Zustand 1-E/F gebildet. Dann
wird der Zustand 3-9 durchlaufen, wonach im Zustand 2-4 das
Bestimmungswort geholt und im Register TA abgelegt wird.
Der Mikroprozessor ist jetzt für die Bitlöschoperation vorbe
reitet. Das Bestimmungswort im Register TA ist so positioniert,
daß ein Bit in der durch die Stellenfeldbits N1 und N0 defi
nierten Position gelöscht wird, wenn es nicht bereits eine 0
ist.
Es werden demgemäß Steuersignale erzeugt und an die Bitver
schiebe-Steuerschaltung 45 in Fig. 1 und 7 angelegt. Steuer
signale für die Bitlöschoperation sind in der dritten Zeile
der Tabelle I in Fig. 8 dargestellt. Während der Bitlösch
operation ist das invertierte Bitlösch-Steuersignal eine
0, wodurch sichergestellt wird, daß das vom NAND-Gatter 92
erzeugte Steuersignal GC eine 1 ist. Auch das Biteinstell-
Steuersignal SB ist eine 0, wodurch sichergestellt wird, daß
das vom NOR-Gatter 91 erzeugte Steuersignal HC eine 1 ist.
Im Ergebnis sind beide Steuersignale HC und GC für die Bit
löschoperation auf 1.
Da das Steuersignal HC für die Bitlöschoperation eine 1 ist,
haben alle Signale der Biteinstell-Signalgruppe H0, H1, H2
und H3 von den NOR-Gattern des gesteuerten Register-Decoders
H den Wert 0, unabhängig davon, welches Bit in dem Bestimmungs
wort ausgewählt worden ist. Das ist in der obersten Zeile der
Tabelle II in Fig. 8 gezeigt. Ähnlich wie bei den Signalen
der Biteinstell-Signalgruppe für normale ALU-Operationen be
einflussen diese Signale den Ausgang der Ebene von ODER-
Gattern 42 in der ALU nicht.
Man beachte, daß - da deren Ausgangssignale Bitlöschoperationen
nicht beeinflussen - der gesteuerte Register-Decoder H für
einen Rechner nicht erforderlich ist, der nur Bitlöschopera
tionen ausführt. Ein solcher Rechner würde dann also weder
Biteinstell- noch Bitverschiebeoperationen ausführen.
Da das Steuersignal GC für die Bitlöschoperation eine 1 ist,
bestimmt der Binärwert des Stellenfeldes mit den Bits N0 und
N1, welches Bit gelöscht werden soll. Diese Beziehung ist in
den 4 unteren Zeilen der Tabelle III in Fig. 8 angegeben. Die
NAND-Gatter des gesteuerten Register-Decoders G wandeln den
zugeführten Binärwert in einen 1-aus-4-Code der Bitlösch-
Signalgruppe G0, G1, G2 und G3 um. In diesem Code ist eines
und nur eines der 4 Ausgangssignale G0, G1, G2 und G3 eine 0,
und die anderen Signale haben den Wert 1 für jeden der
Binärwerte. Das durch das Stellenfeld der Bits N1 und N0
definierte, zu löschende Bit entspricht dem Ausgangssignal 0.
Entsprechend der Darstellung in den Fig. 2, 3, 4 sprechen mit
Ausnahme des zu löschenden Bits die Gatter 61, 62, 63 und 64
der Ebene von UND-Gattern 40 in der ALU auf das im Register
TA gespeicherte Wort an, da 3 Signale der Bitlösch-Signal
gruppe vom gesteuerten Register-Decoder G den Wert 1 haben.
Demgemäß erzeugen 3 von den UND-Gattern 61, 62, 63 und 64
Ausgangssignale, die den Eingangssignalen vom Register TA
entsprechen. Für die Bitlöschoperation beeinflußt der Inhalt
des Registers TB den Ausgang der ALU nicht. Das Ausgangssignal
desjenigen UND-Gatters, das dem gewählten, zu löschenden und
durch die Stellenfeldbits N1 und N0 definierten Bit zugeordnet
ist, entspricht dem Ausgangssignal 0 vom gesteuerten Register-
Decoder G.
Das Ausgangssignal des entsprechenden ODER-Gatters 42 ist
ebenfalls eine 0, die als Eingangssignal zusammen mit
einem Eingangssignal Yi von einem NOR-Gatter 46 an das zuge
ordnete UND-Gatter 44 angelegt wird. Dieses Eingangssignal
ist 0 und bewirkt, daß das UND-Gatter 44 ein Ausgangssignal 0
erzeugt. Dieses Ausgangssignal 0, das das zu löschende Bit
darstellt, wird dann an das Exklusiv-ODER-Gatter 48 gegeben,
und zwar zusammen mit einem Signal 0, das durch die Signale
AL, Y0, Y1, Y2 und CI0 verursacht wird, die alle 1 sind. Da
beide Eingangssignale des Exklusiv-ODER-Gatters 48 0 sind,
gibt das Gatter ein Ausgangssignal 0 auf die entsprechende
Ader DB0, DB1, DB2 oder DB3 des Daten- und Steuerbus 25 in
der im Bestimmungswort zu löschenden Bitposition. Dieses Aus
gangssignal der ALU 20 ist 0, unabhängig davon, ob es in dem
ursprünglichen im Register TA gespeicherten Wort 0 war. Dadurch
wird sichergestellt, daß das Bit in der gewählten Bitposition
des Bestimmungswortes auf 0 gelöscht wird, unabhängig davon,
ob es bei Beginn der Bitlöschoperation eine 0 war oder nicht.
Der Rest der Datenbusadern entspricht den Bits des im Regi
ster TA gespeicherten Wortes. Gleichzeitig werden die Adresse
und das Schreibsignal dem Speicher 22 in Fig. 1 zugeführt, um
das jetzt modifizierte Bestimmungswort in die gewählte Be
stimmungsstelle einzuschreiben. Die Steuerschaltung 30 geht
dann zum Zustand 0-1 weiter, dem letzten Zustand zur Ausführ
rung des Bitlöschbefehls. Anschließend läuft der Mikrocomputer
zum Zustand 0-3, um einen weiteren Befehl anzufangen.
Bei der Anordnung nach dem Blockschaltbild in Fig. 1 wird ein
einziges Befehlsintervall benutzt, um ein einzelnes Bit von
irgendeiner gewählten Position einer Vielzahl von Bitpositi
onen eines gewählten Quellenwortes zu irgendeiner gewählten
Position einer Vielzahl von Bitpositionen eines gewählten Be
stimmungswortes zu verschieben. Andere Bits des Bestimmungs
wortes werden nicht beeinflußt. Das Quellen- und das Bestim
mungswort können die gleichen oder unterschiedliche Speicher
stellen sein. Außerdem können die Bitpositionen des Quellen
und des Bestimmungswortes gleich oder verschieden sein.
Es gibt zwei besondere Arten der Schaltungsoperationen für
die Bitverschiebeoperation. Die erste Art der Operation
sieht die Verschiebung eines 1-Bit vor und die andere die
Verschiebung eines 0-Bit. Es folgen zwei Beispiele zur Er
läuterung dieser beiden Operationsarten.
Beim ersten Beispiel sei ein Befehl zur Verschiebung eines
Bit in der Bitposition Nr. 1 eines gewählten Quellenwortes
zur Bitposition Nr. 2 eines gewählten Bestimmungswortes be
trachtet. Es sei angenommen, daß das Wort L der gewählten
Quelle 0110 und das Wort M der gewählten Bestimmung 1011
ist. Demgemäß ist ein Bit 1 vom Wort L zu einer Bitposition
im Wort M zu verschieben, an der vorher ein Bit 0 vorhanden
war.
Im Zustand 0-3 einer Bitverschiebeoperation gemäß Fig. 6
wird ein erster, durch die Hexadezimalzahl D dargestellter
Operationscode über den Daten- und Steuerbus 25 aus dem Spei
cher geholt und im Befehlsregister 32 abgelegt. Die Steuer
schaltung 30 geht vom Zustand 0-3 zum Zustand 0-4, wobei
Adressenbetriebsart-Informationen über den Bus 25 zum Regi
ster D/S geholt und ein Flipflop M/D (nicht gezeigt) einge
stellt wird, um anzuzeigen, daß der Befehl ein Doppel-Opera
tionscodebefehl ist.
Da der Bitverschiebebefehl das Flipflop M/D eingestellt hat,
aber den Zustand 0-4 nur einmal durchlaufen hat, geht die
Steuerung des Mikrocomputers vom Zustand 0-4 zum Zustand 0-3
zurück, um einen zweiten Operationscode über den Bus 25 aus
dem Speicher 24 in das Befehlsregister 32 unter Ersatz des
ersten Operationscodewortes zu holen. Das Holen des zweiten,
durch die Hexadezimalzahl F dargestellten Operationscode für
den Bitverschiebebefehl findet vor Ausführung dieses Befehls
statt. Unter Ansprechen auf Informationen, die vom ersten
Operationscode zurückbehalten worden sind, sowie Informatio
nen im zweiten Operationscode durchläuft die Steuerschaltung
30 den Zustand 0-4 zum Zustand 1-5 und holt Adresseninforma
tionen in das Register D/S zur Auswahl von Quellen- und Be
stimmungsadressen sowie Daten in das Register TAB zur Bestim
mung der gewählten Bitposition. Das im Register TAB gespei
cherte Wort beinhaltet Informationen, die die gewählte Bit
position des Quellenwortes und die gewählte Bitposition des
Bestimmungswortes darstellen. Die beiden Bits S1 und S0 der
im Register TAB gespeicherten Bits geben die Stelle oder
Bitposition des gewählten Quellenbits an. Zwei weitere Bits,
nämlich die Stellenfeldbits N1 und N0, geben die Stelle oder
Bitposition des gewählten, zu löschenden oder einzustellenden
Bestimmungsbit an. Für das vorliegende Beispiel bezeichnen
die Bits S1 und S0, also 01, die Bitposition Nr. 1 im Quellen
wort und die Bits N1 und N0, also 10, die Bitposition Nr. 2
im Bestimmungswort. Die Steuerschaltung geht dann zum Zu
stand 1-E/F weiter.
Im Zustand 1-E/F werden die Quellen- und Bestimmungsadressen
aus der im Register D/S gespeicherten Information gebildet.
Danach werden in den Zuständen 3-9 und 2-4 das Quellen- und
Bestimmungswort L bzw. M aus dem Speicher geholt und in den
Registern TB bzw. TA gespeichert. Dieser Holvorgang beein
flußt die am Quellen- oder Bestimmungsort gespeicherten
Wörter nicht.
Zu diesem Zeitpunkt werden entsprechend der Darstellung in
Fig. 1 und 7 Steuersignale erzeugt und an die Bitverschiebe-
Steuerschaltung 45 angelegt. Die Bits S1 und S0 werden über
einen Multiplexer 50 als Steuersignale an die Bitauswahl
schaltung 34 angelegt. Gleichzeitig wird das Wort L aus dem
Register TB über den Bus 36 an die Eingänge B0, B1, B2 und B3
der Bitauswahlschaltung 34 angelegt, bei der es sich um eine
1-aus-4-Wählschaltung handelt. Die Bits S1 und S0 bestimmen,
welches Bit des Wortes L mit 4 Bits über die Auswahlschal
tung 34 als invertiertes Bitauswählsignal an deren Ausgang
gegeben wird. Da das gewählte Bit B1 in der Position Nr. 1
eine 1 ist, und da die Bitauswählschaltung 34 das gewählte
Bit invertiert, ist das invertierte Bitauswählsignal eine
0. Steuersignale für die Bitverschiebeoperation bei Verschie
bung eines 1-Bit sind in der 5. Zeile der Tabelle I in Fig. 8
dargestellt.
Die beiden anderen Bits N1 und N0 im Register TAB bestimmen
die Stelle oder Bitposition des gewählten Bestimmungsbit
wie bei Biteinstell- und Bitlöschbefehlen. Die Bits N1 und
N0 werden an die gesteuerten Register-Decoder G und H in der
Bitverschiebe-Steuerschaltung 45 gegeben, um deren Ausgangs
signal, abhängig vom Zustand der Steuersignale GC und HC, zu
bestimmen. Da die gewählte Bitposition im Bestimmungswort
die Bitposition Nr. 2 ist, lauten die Stellenfeldbits N1
und N0 10.
Gemäß Fig. 1 und 7 erzeugt ein NOR-Gatter 90 mit Eingangs
signalen und , die beide auf 0 oder L sind, ein Bit
auswähl-Ausgangssignal OBS, das gleich 1 ist. Diese 1, die
an das NOR-Gatter 91 gelangt, bewirkt, daß das Steuersignal
HC gleich 0 ist. Gleichzeitig ist - da das invertierte Bit
verschiebesignal 0 oder L ist - das Steuersignal GC am
Ausgang des NAND-Gatters 92 gleich 1.
Wenn das Steuersignal GC gleich 1 ist und die Stellenfeld
bits N1 und N0 den Wert 10 haben, lautet die Bitlösch-Signal
gruppe G0, G1, G2, G3 von den NAND-Gattern des gesteuerten
Register-Decoders G in Fig. 6 1011, wie in der vierten Zeile
der Tabelle III in Fig. 8 gezeigt. Demgemäß ist das rele
vante Bit in der Bitposition Nr. 2 am Ausgang des Register-
Decoders G eine 0. Diese 0 wird dem zugehörigen UND-Gatter 62
auf der Ebene der UND-Gatter 40 in der ALU 20 zugeführt. Die
drei 1-Werte werden an die restlichen UND-Gatter 61, 63, 64
dieser Ebene gegeben, so daß die Ausgangssignale der drei
UND-Gatter durch die jeweiligen Bits des im Register TA ge
speicherten Bestimmungswortes bestimmt werden.
Da das Steuersignal HC gleich 0 ist und die Stellenfeld
bits N1 und N0 den Wert 01 haben, lautet die Biteinstell-
Signalgruppe H0, H1, H2, H3 von den NOR-Gattern des ge
steuerten Register-Decoders H in Fig. 7 0100, wie in der
4. Zeile der Tabelle II angegeben. Demgemäß ist das relevante
Bit in der Bitposition Nr. 2 am Ausgang des gesteuerten Re
gister-Decoders H eine 1, die dem zugeordneten ODER-Gatter
42 in der ALU zugeführt wird. Der Mikrocomputer ist jetzt
dafür vorbereitet, daß die ALU 20 die Bitverschiebeoperation
ausführt. Die Steuerschaltung 30 geht zum Zustand 2-0 über
und schaltet die ALU 20 ein.
Aufgrund der Ausgangssignale der gesteuerten Register-Deco
der G und H löschen die ALU-Schaltungen 62 und 42 das Bit in
der Bitposition Nr. 2 und stellen das Bit in der Bitposition
Nr. 2 des im Augenblick im Register TA gespeicherten Wortes
ein. Eine Analyse der logischen Schaltung in der Arithmetik-
Logikeinheit ALU 20 zeigt, daß das ODER-Gatter 42 zur Ein
stellung des Bits auf einer späteren logischen Ebene liegt
als das UND-Gatter 62 zum Löschen des Bit. Im Ergebnis über
deckt die Einstellung des Bit das Löschen des Bit. Beim Bei
spiel wird das Bit in der Bitposition Nr. 2 durch den 0-Wert
des Signals G2 gelöscht und dann durch den 1-Wert des Signals
H2 eingestellt. Die Ausgangssignale anderer Bitpositionen des
gesteuerten Register-Decoders G und H beeinflussen die ent
sprechenden, im Register TA gespeicherten Bits nicht. Im Er
gebnis ist das an den Datenbus gegebene Ausgangssignal der
ALU 20 gleich 1111. Gleichzeitig werden die Bestimmungsadres
se und das Schreibsignal an den Speicher 22 in Fig. 1 gegeben,
um das modifizierte Ausgangswort der ALU an der Bestimmungs
stelle einzuschreiben. Die Steuerschaltung 30 geht dann zum
Zustand 0-1 weiter, dem Endzustand bei der Ausführung des
Bitverschiebefehls. Aus dem Zustand 0-1 geht die Schal
tung dann zum Zustand 0-3 über, dem ersten Zustand eines
weiteren Befehls. Demgemäß ist ein einzelnes Bit aus einer
gewählten Bitposition im Quellenwort an eine gewählte Bit
position des Bestimmungswortes während eines einzigen Be
fehlsintervalls verschoben worden, ohne den Zustand irgend
einer anderen Bitposition im Bestimmungswort zu beeinflussen.
Wenn der Quellenort nicht auch der Bestimmungsort ist, beein
flußt die Schreiboperation den Inhalt des Quellenwortes nicht.
Bei Beispiel für die Verschiebung eines 1-Bit an eine Bit
position, in der ein 1-Bit vorhanden ist, ähnelt dem obigen
Beispiel und wird daher nicht weiter erläutert.
Als zweites Beispiel für einen Bitverschiebebefehl soll die
Verschiebung eines 0-Bit aus dem Wort L an eine Bitposition
im Wort M beschrieben werden, an der eine 1 gespeichert war.
Bei diesem Beispiel sei die Verschiebung des Bit in der Bit
position Nr. 3 eines gewählten Wortes L mit dem Wert 0110 an
eine Bitposition Nr. 2 eines gewählten Wortes M mit dem Wert
1110 betrachtet. Wenn der Bitverschiebebefehl aus dem Spei
cher gelesen wird, werden ein erster und ein zweiter Opera
tionscode wie bei dem vorhergehenden Beispiel zum Befehlsre
gister übertragen. Außerdem werden die Stelle des aus dem
Quellenwort zu verschiebenden Bit und die Stelle des im Be
stimmungswort zu beeinflussenden Bit im Register TAB abgelegt.
Die Bits S1 und S0 im Zustand 11 geben den Binärwert der
Stelle 3 für das aus dem Quellenwort zu verschiebende Bit an.
Die Stellenfeldbits N1 und N0 im Zustand 10 geben den Binär
wert der Stelle 2 für das im gewählten Bestimmungswort zu be
einflussende Bit an.
Das Bestimmungs- und das Quellenwort M und L werden wieder in
den Registern TA bzw. TB gespeichert. Das Bestimmungs- und
das Quellenwort im Speicher werden bei dem Lesevorgang nicht
beeinflußt. Das Register TA nimmt demgemäß das Bestimmungs
wort 1110 und das Regsiter TB das Quellenwort 0110 auf. Der
Inhalt 0110 des Registers TB wird als Eingangssignal B0, B1,
B2 bzw. B3 dem Bitwähler 34 in Fig. 6 zugeführt. Die Auswahl
wird durch die Bits S1 und S0 gesteuert, die dem Bitwähler 34
vom Register TAB über den 4 : 2-Multiplexer 50 zugeführt werden.
Da die Bits S1 und S0 den Wert 11 haben, wird das 0-Bit in der
Position 3 des Wortes 0110 gewählt. Der Wähler 34 invertiert
die 0 unter Erzeugung des invertierten Bitauswahlsignals ,
wobei sich eine 1 ergibt. Die Steuersignale für die Bitver
schiebeoperation beim Verschieben eines 0-Bit sind in der 4. Zeile
der Tabelle I in Fig. 8 dargestellt.
Zu diesem Zeitpunkt sind das invertierte Bitverschiebesignal
und das Biteinstellsignals SB beide 0. Demgemäß ist das
vom NOR-Gatter 91 erzeugte Steuersignal HC eine 1, und die
Ausgangssignale der NOR-Gatter des Register-Decoders H in
Fig. 1 und 7 haben alle den Wert 0, wie in der obersten Zeile
in Tabelle II in Fig. 8 dargestellt. Außerdem ist, da es sich
um einen Bitverschiebebefehl handelt, das vom NAND-Gatter 92
erzeugte Steuersignal GC eine 1. Das Ausgangssignal der
NAND-Gatter des Register-Decoders G in Fig. 1 und 7 wird
durch die Stellenfeldbits N1 und N0 aus dem Register TAB
gesteuert. Deren Binärwert 10 bewirkt, daß das Ausgangssignal
des gesteuerten Register-Decoders G 1011 wird, wie in der 4.
Zeile des Tabelle III in Fig. 8 dargestellt. Es erscheint dem
gemäß an der zu beeinflussenden Bitstelle im Bestimmungswort
eine 0. Der Mikrocomputer ist jetzt darauf vorbereitet, daß
die ALU 20 die Bitverschiebeoperation ausführt.
Im Zustand 2-0 wird bei eingeschalteter ALU das Bestimmungs
wort 1110 aus dem Register TA durch die ALU 20 verarbeitet.
Die Bitposition Nr. 2 wird durch das 0-Signal G3 aus dem ge
steuerten Register-Decoder G gelöscht und bleibt gelöscht
aufgrund der Biteinstell-Signalgruppe H0, H1, H2, H3 aus dem
gesteuerten Register-Decoder H, deren Signale alle 0 sind.
Im Ergebnis ist das Ausgangssignal der ALU 20 gleich 1010,
und dieses Signal wird an den Daten- und Steuerbus 25 gege
ben. Gleichzeitig werden die Bestimmungsadresse und das
Schreibsignal an den Speicher 22 angelegt, um das modifi
zierte Ausgangswort der ALU an der Bestimmungsstelle einzu
schreiben. Wenn der Quellenort nicht auch der Bestimmungsort
ist, wird das Quellenwort nicht durch die Schreiboperation
beeinflußt.
Die Steuerschaltung 30 geht dann zum Zustand 0-1 weiter, dem
Endzustand zur Ausführung des Bitverschiebebefehls, und dann
zum Zustand 0-3, dem Anfangszustand eines nachfolgenden Be
fehls. Demgemäß ist ein einzelnes Bit aus einer gewählten
Bitposition im gewählten Quellenwort zu einer gewählten
Bitposition im gewählten Bestimmungswort während eines
einzigen Befehlsintervalls verschoben worden, ohne den
Zustand der anderen Bits an der Bestimmungsstelle zu be
einflussen.
Ein Beispiel für die Bewegung eines 0-Bit aus dem Quellen
wort an eine Bitposition, die gerade ein 0-Bit an der Bestim
mungsstelle speichert, ähnelt dem gerade beschriebenen Bei
spiel und wird daher nicht weiter erläutert.
Zusammengefaßt führt also ein Bitverschiebebefehl im wesent
lichen sowohl eine Bitlöschoperation als auch eine Bitein
stelloperation aus. Da die Biteinstelladern H0, H1, H2, H3
vom Register-Decoder H in Fig. 7 auf einer späteren Logik
ebene in der ALU 20 gemäß Fig. 2, 3 und 4 als die Adern G0,
G1, G2, G3 angeschlossen sind, entspricht die Gesamtoperation
der Ausführung zunächst der Bitlöschoperation und dann der
Biteinstelloperation, wenn ein Bit einzustellen ist.
Ein Ausgangssignal mit nur 0-Werten des gesteuerten Register-
Decoders H überdeckt das Löschen irgendeiner Bitposition in
der ALU 20 nicht. Beim Decodieren durch den Bitwähler 34 wird
bestimmt, ob der gesteuerte Register-Decoder H ein Ausgangs
signal erzeugt oder nicht, das das Löschen irgendeines Bit
überdeckt, welches durch das Ausgangssignal des gesteuerten
Register-Decoders G durchgeführt wird.
Claims (2)
1. Digitalrechner mit
einem Befehlsregister (32),
einer Datenspeichereinheit (22),
einer Arithmetik-Logikeinheit (20) und Schaltungen (25, 30, 32, 33, 35, TA, TB, 36, 37) zum Lesen von Daten aus gewählten Quellen-Speicherstellen der Dateneinheit (22), zur Verarbeitung der Datenwörter in der Arithmetik- Logikeinheit (20) unter Ansprechen auf Befehle im Befehlsregister (32) und zum Speichern der verarbeiteten Datenwörter an gewählten Bestimmungsspeicherstellen in der Datenspeichereinheit (22)
dadurch gekennzeichnet, daß
der Digitalrechner eine Einrichtung aufweist, die unter Ansprechen auf einen Bitverschiebebefehl ein einzelnes Bit während eines einzigen Befehlsintervalls von einer gewählten Bitposition in einem ersten Datenwort zu einer gewählten Bitposition in einem zweiten Datenwort verschiebt, ohne ein anderes Bit im zweiten Datenwort zu beeinflussen, und daß diese Einrichtung aufweist;
eine Schaltung (25, TAB, 34, 36, TB, 50, BS) zum Lesen des einzelnen Bit an der gewählten Bitposition im ersten Datenwort,
eine Schaltung (25, TA, 37) zum Anlegen des zweiten Datenwortes an die Arithmetik-Logikeinheit (20),
eine Löschschaltung (30, TAB, G, 38, 92, GC) in der Arithmetik-Logikeinheit (20) zum Löschen der gewählten Bitposition im zweiten Datenwort ohne den Zustand eines anderen Bit im zweiten Datenwort zu ändern, und Einstellschaltung (30, TAB, H, 39, 90, 91, HC) in der Arithmetik-Logikeinheit (20) zum Einstellen der gewählten Bitposition im zweiten Datenwort entsprechend dem einzelnen Bit aus dem ersten Datenwort (BS) ohne den Zustand eines anderen Bit im zweiten Datenwort zu verändern.
einem Befehlsregister (32),
einer Datenspeichereinheit (22),
einer Arithmetik-Logikeinheit (20) und Schaltungen (25, 30, 32, 33, 35, TA, TB, 36, 37) zum Lesen von Daten aus gewählten Quellen-Speicherstellen der Dateneinheit (22), zur Verarbeitung der Datenwörter in der Arithmetik- Logikeinheit (20) unter Ansprechen auf Befehle im Befehlsregister (32) und zum Speichern der verarbeiteten Datenwörter an gewählten Bestimmungsspeicherstellen in der Datenspeichereinheit (22)
dadurch gekennzeichnet, daß
der Digitalrechner eine Einrichtung aufweist, die unter Ansprechen auf einen Bitverschiebebefehl ein einzelnes Bit während eines einzigen Befehlsintervalls von einer gewählten Bitposition in einem ersten Datenwort zu einer gewählten Bitposition in einem zweiten Datenwort verschiebt, ohne ein anderes Bit im zweiten Datenwort zu beeinflussen, und daß diese Einrichtung aufweist;
eine Schaltung (25, TAB, 34, 36, TB, 50, BS) zum Lesen des einzelnen Bit an der gewählten Bitposition im ersten Datenwort,
eine Schaltung (25, TA, 37) zum Anlegen des zweiten Datenwortes an die Arithmetik-Logikeinheit (20),
eine Löschschaltung (30, TAB, G, 38, 92, GC) in der Arithmetik-Logikeinheit (20) zum Löschen der gewählten Bitposition im zweiten Datenwort ohne den Zustand eines anderen Bit im zweiten Datenwort zu ändern, und Einstellschaltung (30, TAB, H, 39, 90, 91, HC) in der Arithmetik-Logikeinheit (20) zum Einstellen der gewählten Bitposition im zweiten Datenwort entsprechend dem einzelnen Bit aus dem ersten Datenwort (BS) ohne den Zustand eines anderen Bit im zweiten Datenwort zu verändern.
2. Digitalrechner nach Anspruch 1,
dadurch gekennzeichnet,
daß die Arithmetik-Logikeinheit (20) eine Ebene von UND-Gattern (40) und eine Ebene von ODER- Gattern (42) im Übertragungsweg des zweiten Datenwortes aufweist,
daß die Löschschaltung eine Einrichtung zur Erzeugung einer Bitlöschgruppe von Signalen (B0, G1, G2, G3), ein Steuerfeld von Bits (CB, MB) und ein Stellenfeld von Bits (N1, N0) enthält,
daß die Einstellschaltung eine Einrichtung zur Erzeugung einer Biteinstell-Signalgruppe (H0, H1, H2, H3) unter Ansprechen auf ein Steuerfeld (MB, SB), das Stellenfeld von Bits (N0, N1) und das einzelne Bit aus dem ersten Datenwort (BS) aufweist, und
daß eine Einrichtung (38, 19) zum Anlegen der Bitlösch- Signalgruppe an die Ebene von UND-Gattern und der Biteinstell- Signalgruppe an die Ebene von ODER-Gattern aufweist, um den Zustand des Bit in der vorgegebenen Bitposition des zweiten Datenwortes entsprechend dem Zustand des einzelnen Bit aus dem ersten Datenwort zu ändern, ohne den Zustand eines anderen Bit im zweiten Datenwort zu beeinflussen.
daß die Arithmetik-Logikeinheit (20) eine Ebene von UND-Gattern (40) und eine Ebene von ODER- Gattern (42) im Übertragungsweg des zweiten Datenwortes aufweist,
daß die Löschschaltung eine Einrichtung zur Erzeugung einer Bitlöschgruppe von Signalen (B0, G1, G2, G3), ein Steuerfeld von Bits (CB, MB) und ein Stellenfeld von Bits (N1, N0) enthält,
daß die Einstellschaltung eine Einrichtung zur Erzeugung einer Biteinstell-Signalgruppe (H0, H1, H2, H3) unter Ansprechen auf ein Steuerfeld (MB, SB), das Stellenfeld von Bits (N0, N1) und das einzelne Bit aus dem ersten Datenwort (BS) aufweist, und
daß eine Einrichtung (38, 19) zum Anlegen der Bitlösch- Signalgruppe an die Ebene von UND-Gattern und der Biteinstell- Signalgruppe an die Ebene von ODER-Gattern aufweist, um den Zustand des Bit in der vorgegebenen Bitposition des zweiten Datenwortes entsprechend dem Zustand des einzelnen Bit aus dem ersten Datenwort zu ändern, ohne den Zustand eines anderen Bit im zweiten Datenwort zu beeinflussen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/155,317 US4525776A (en) | 1980-06-02 | 1980-06-02 | Arithmetic logic unit arranged for manipulating bits |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3121046A1 DE3121046A1 (de) | 1982-03-11 |
DE3121046C2 true DE3121046C2 (de) | 1992-03-05 |
Family
ID=22554951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3121046A Granted DE3121046A1 (de) | 1980-06-02 | 1981-05-27 | Arithmetik-logikeinheit mit bit-manipulation |
Country Status (6)
Country | Link |
---|---|
US (1) | US4525776A (de) |
JP (1) | JPS5794852A (de) |
DE (1) | DE3121046A1 (de) |
FR (1) | FR2483656B1 (de) |
GB (1) | GB2079502B (de) |
NL (1) | NL8102650A (de) |
Families Citing this family (11)
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 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3982229A (en) * | 1975-01-08 | 1976-09-21 | Bell Telephone Laboratories, Incorporated | Combinational logic arrangement |
US4212076A (en) * | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
US4194241A (en) * | 1977-07-08 | 1980-03-18 | Xerox Corporation | Bit manipulation circuitry in a microprocessor |
-
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
Also Published As
Publication number | Publication date |
---|---|
US4525776A (en) | 1985-06-25 |
JPH0447335B2 (de) | 1992-08-03 |
FR2483656B1 (fr) | 1987-06-26 |
NL8102650A (nl) | 1982-01-04 |
DE3121046A1 (de) | 1982-03-11 |
GB2079502A (en) | 1982-01-20 |
GB2079502B (en) | 1984-07-11 |
JPS5794852A (en) | 1982-06-12 |
FR2483656A1 (fr) | 1981-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE60006021T2 (de) | VLIW-Prozessor und Programmkomprimierungsgerät and -verfahren | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE2036729A1 (de) | Digital Datenverarbeiter | |
DE3043653C2 (de) | Datenverarbeitungsanlage | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE19524402C2 (de) | Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge | |
DE3121046C2 (de) | ||
DE3043100C2 (de) | ||
DE3620982A1 (de) | Ein-befehl, mehrfach-datenstrom (simd) computersystem | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
DE2935101C2 (de) | ||
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3307194A1 (de) | Datenverarbeitungsanlage | |
DE1499286B2 (de) | Datenbearbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: AT & T TECHNOLOGIES, INC., NEW YORK, N.Y., US |
|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |