DE2935857A1 - Verfahren und schaltungsanordnung zur durchfuehrung von additionen - Google Patents
Verfahren und schaltungsanordnung zur durchfuehrung von additionenInfo
- Publication number
- DE2935857A1 DE2935857A1 DE19792935857 DE2935857A DE2935857A1 DE 2935857 A1 DE2935857 A1 DE 2935857A1 DE 19792935857 DE19792935857 DE 19792935857 DE 2935857 A DE2935857 A DE 2935857A DE 2935857 A1 DE2935857 A1 DE 2935857A1
- Authority
- DE
- Germany
- Prior art keywords
- bits
- circuit
- group
- signal
- significant
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 10
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 2
- 230000000295 complement effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000007792 addition Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100165224 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) BCH1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/324—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
Telefon: (089)7 9150
Telegramm: monopolweber münchen
Telex: 05-2128
M 1197
Motorola Inc.
East Algonquin Road
Schaumburg, 111. 60196
USA
East Algonquin Road
Schaumburg, 111. 60196
USA
Verfahren und Schaltungsanordnung zur Durchführung von Additionen
030011/0922
Die Erfindung betrifft allgemein eine Addierschaltung und bezieht sich insbesondere auf eine derartige Addierschaltung,
welche in einer integrierten Schaltung eines Datenprozessors verwendbar ist.
Gegenwärtig werden Mikroprozessoren in einer großen Anzahl
von Anwendungefällen verwendet. Da die Arbeitsgeschwindigkeit von Mikroprozessoren zunimmt und da die Kosten solcher Einrichtungen
abnehmen, haben sich die Anwendungsmöglichkeiten weiter ausgebreitet. Normalerweise arbeiten Mikroprozessoren
mit einem Taktsignal, welches dsu dient, die verschiedenen
Operationen innerhalb des Mikroprozessors zu synchronisieren. Das Taktsignal legt periodische Prozessorzyklen fest, in
denen die internen Operationen abgewickelt werden. Der Mikroprozessor arbeitet unter der Steuerung eines Programms, welches
gespeichert ist und aus einer Vielzahl von einzelnen Befehlen besteht.Im allgemeinen sind mehrere Prozessorzyklen
erforderlich, um jeden Befehl aus dem Programmspeicher zu holen und diesen Befehl auszuführen. Gninäsätzlich kann die
Arbeitsgeschwindigkeit eines Mikroprozessors dadurch erhöht werden, daß eine verminderte Anzahl von Prozessorzyklen zur
Ausführung eines Befehls ausreichen.
Bekannte Mikroprozessoren arbeiten mit 8-Bit-Datenworten und mit 16-Bit-Adressenworten. Beispielsweise ist ein bekannter
Mikroprozessor dieser Art der von der Firma Motorola hergestellte
und vertriebene Mikroprozessor MC6800, der in der US-PS 4 030 079 beschrieben ist. Der Befehlsvorrat, für diesen
bekannten Mikroprozessor enthält auch Befehle, die mit einem Adressiermodas arbeiten, der als Indexadressierung oder als
indizierte Adressierung zu bezeichnen ist. Bei der Ausführung eines solchen Befehls wind ein 8-Bit-Operand, der im Programmspeicher
abgespeichert ist, zu dem Inhalt eines 16-Bit-Indexregisters
addiert, um die Adresse desjenigen Speicherplatzes zu erzeugen, an dem ein Operand gespeichert ist. Der bekannte
Mikroprozessor verwendet auch eine Art der Adressierung, welche
030011/0922
als relative Adressierung zu "bezeichnen ist. Ein Beispiel
für eine derartige Adressierung sind Verzweigungsbefehle, bei welchen die Adresse des nächsten Befehls, der ausgeführt
werden soll, dadurch ermittelt wird, daß ein 8-Bit-Operand im Zweierkomplement zu dem Inhalt eines 16-Bit-Programmzählers
addiert wird.
Bei dem bekannten Mikroprozessor, welcher eine 8-Bit-Arithmetik
-Logik-Einheit verwendet, werden Befehle, die die Addition
eines 8-Bit-Operanden zu einem 16-Bit-Operanden erfordern,
in der folgenden Weise ausgeführt: Während eines ersten Prozessorzyklus werden der 8-Bit-0perand und das Byte mit dem
geringsten Stellenwert des 16-Bit-Operanden am Eingang des 8-Bit-Arithmetik-Logik-Recheniferkes bereitgestellt, um das
Byte mit dem geringsten Stellenwert für das Ergebnis zu erzeugen. Bekanntlich umfaßt ein Byte 8Bits. Die von der
Arithmetik-Logik-Einheit, die auch als Rechenwerk zu bezeichnen ist, ausgeführte Operation kann ein Übertragausgangssignal
erzeugen, wenn der 8-Bit-Opeand eine positive Zahl ist,
oder es kann angezeigt werden, daß ein Leihen erforderlich ist, wenn der 8-Bit-Operand eine negative Zahl im Zweierkomplement
ist. In diesem Fall muß das Byte mit dem höchsten Stellenwert des 16-Bit-Operanden entsprechend inkrementiert
oder dekrementiert werden. Während eines Prozessorzyklus wird das Byte mit dem höchsten Stellenwert des 16-Bit-Operanden
in ein Inkrementier/Dekrementier-Netzwerk übertragen, welches das Byte mit dem höchsten Stellenwert des 16-Bit-Operanden
modifiziert, wenn während des ersten Prozessorzyklus ein Übertrag oder ein Leihen aufgetreten ist. Schließlich wird
während eines dritten Prozessorzyklus das Byte mit dem höchsten
Stellenwert des Ergebnisses stabilisiert und das 16-Bit-Ergebnis kann dann in den Programmspeicher übertragen
werden, um einen Operanden oder eine nächste Instruktion zu holen.
030011/0922
Für den Fachmann dürfte ersichtlich sein, daß eine Schaltung
und ein Verfahren zweckmäßig wären, um die Anzahl der Prozessorzyklen zu vermindern, die erforderlich sind, um die
oben beschriebene Addition eines 8-Bit-0peranden zu einem 16-Bit-Operanden durchzuführen. Auf diese Weise könnte die
Arbeitsgeschwindigkeit erhöht werden und es würde sich auf diese Weise eine erhebliche Verbesserung gegenüber dem Stand
der Technik ergeben.
Der Erfindung liegt die Aufgabe zugrunde, die Anzahl
der Prozessorzyklen bei einer Anordnung der eingangs näher genannten Art zu vermindern, um in einem Mikroprozessor eine
arithmetische Operation auszuführen.
Zur Lösung dieser Aufgabe dienen insbesondere die im Patentbegehren
niedergelegten Merkmale.
Gemäß einer besonders bevorzugten Ausführungsform der Erfindung ist vorgesehen, daß eine erste Schaltung vorgesehen
ist, um ein erstes digitales Signal ai liefern, welches eine erste vorgegebene Anzahl von Bits enthält, daß weiterhin
eine zweite Schaltung vorhanden ist, um ein zweites digitales Signal zu liefern, welches eine zweite vorgegebene Anzahl
von Bits aufweist, daß die zweite vorgegebene Anzahl größer ist als die erste vorgegebene Anzahl, daß das zweite digitale
Signal als eine Gruppe von Bits mit dem höchsten Stellenwert und als eine Gruppe von Bits mit dem geringsten Stellenwert
ausgebildet ist, daß die Gruppe mit dem geringsten Stellenwert eine erste vorgegebene Anzahl von Bits aufweist, daß die Gruppe
mit dem höchsten Stelänwert einem ersten Binärwert entspricht, daß weiterhin eine Arithmetikschaltung vorgesehen ist, die
einen ersten Eingang aufweist, der mit der ersten Schaltung
zur Aufnahme des ersten digitalen Signals verbunden ist, die weiterhin einen zweiten Eingang aufweist, der mit der zweiten
Schaltung zur Aufnahme der Gruppe von Bits mit dem gerinsten Stellenwert verbunden ist, daß die Arithmetikschaltung eine
arithmetische Operation bei den Bits ausführt, die von dem
030011/0922
ersten und dem zweiten Eingang empfangen werden, um ein Ergebnis
mit dem gerinsten Stellenwert zu liefern, welches eine feste vorgegebene Anzahl von Bits aufweist, daß die
Arithmetikschaltung weiterhin ein Übertragsignal liefert, um anzuzeigen, ob ein Übertragausgangssignal aus der Operation
herrührt, welche durch die Arithmetikschaltung ausgeführt wurde, daß weiterhin eine dritte Schaltung mit der zweiten
Schaltung verbunden ist, um eine Gruppe von Bits mit dem höchsten Stellenwert aufzunehmen und um eine inkrementierte
Gruppe von Bits zu liefern, wobei die inkrementierte Gruppe von Bits einem zweiten Binärwert entspricht, der um eins
größer ist als der serste Binärwert, daß weiterhin, eine vierte Schaltung mit der dritten Schaltung verbunden ist, um die
inkrementierte Grupe von Bits aufzunehmen, daß die vierte Schaltung mit der zweiten Schaltung verbunden ist, um die
Gruppe der Bits mit dem höchsten Stellenwert aufzunehmen, daß die vierte Schaltung auf das Übertragsignal anspricht, um
entweder die Gruppe der Bits mit dem höchsten Stellenwert oder die inkrementierte Gruppe von Bits auszuwählen und die ausgewählten
Bits als ein Ergebnis mit höchstem Stellenwert zu liefern.
Ein besonders bevorzugtes Verfahren zur Ausführung der Erfindung zeichnet sich dadurch aus, daß die Gruppe der Bits
mit dem höchsten Stellenwert modifiziert wird, so daß eine modifizierte Grupe von η Bits entsteht, daß bei dem Modifikationsschritt
ein weiterer Arbeiteschritt eingeschlossen ist, bei welchem in selektiver Weise die Gruppe der Bits
mit dem höchsten Stellenwert inkrementiert wird, so daß eine
inkrementierte Gruppe von Bits gebildet wird, und daß entweder die Gruppe von Bits mit dem höchsten Stellenwert oder
die Gruppe von midifizierten Bits ausgewählt wird, um ein Ergebnis von η Bits mit dem höchsten Stellenwert zu erreichen,
wobei die Auswahl eine Funktion des Übertragsignals ist.
030011/0922
Nach dem Grundgedanken der Erfindung werden vorab bereits Vorkehrungen getroffen, um einen erwartbaren Übertrag oder
ein erwartbares Leihen, wie es aus einer arithmetischen Opaation bei Operanden mit dem geringsten Stellenwert sich
ergeben kann, vorab gerätetechnisch praktisch vollständig vorzubereiten, während das Ergebnis erst erzeugt wird, daß
die Gesamtrechenzeit wesentlich vermindert wird.
030011/0922
Die Erfindung wird nachfolgend beispielsweise anhand der Zeichnung beschrieben; in dieser zeigen:
Fig. 1 ein Blockdiagramm, welches die Arbeitsregister,
eine Arithmetik-Logik-Einheit und interne digitale Datenschienen für einen Datenprozessor veranschaulicht,
Fig. 2 ein Zeitdiagramm, welches verschiedene Prozessortaktsignale
darstellt, die einen ersten und einen Zweiten Prozessorzyklus festlegen,
Fig. 3 ein Schaltschema, welches eine Registerzelle für das temporäre Register hoher Ordnung und eine Registerzelle
für das Indexregister hoher Ordnung sowie Leitungsverbindungen zu den internen Prozessorschienen
darstellt,
Fig. 4-A/
4B ein Logikdiagramm, welches einen Ein-Bit-Ausschnitt
durch ein Inkrementier/Dekrementier-Netzwerk hoher Ordnung und das Programmzählregister hoher Ordnung
veranschaulicht,
Fig. 5 ein Schaltschema, welches diejenige Schaltung darstellt,
die zur Pufferung eines Übertragsignals dient, welches ein Ausgangssignal der Arithmetik-Logik-Einheit
darstellt,
Fig. 6 ein Schaltschema, welches diejenige Schaltung darstellt, die zur Pufferung des Bits mit dem höchsten
Stellenwert oder des Vorzeichen-Bits dient, welches durch die Datenschiene übertragen wird, und
Fig. 7 ein Logikdiagramm, welches die Erzeugung verschiedener Steuersignale veranschaulicht, welche die Auswahl
030011/0922
-sr-
des Bytes mit dem höchsten Stellenwert für das Ergebnis einer arithmetischen Operation bestimmen.
Das Blockdiagramm der Figur 1 veranschaulicht eine Mehrzahl von internen Arbeitsregistern, eine Arithmetik-Logik-Einheit
und verschiedene interne Datenschienen oder Datenübertragungswege. Die internen Datenschienen werden dazu verwendet, digitale Information zwischen den intarnen Arbeitsregistern ebenso wie digitale Information zu und von anderen Teilen des
Prozessors zu übertragen. Eine erste Adressenschiene 2 geringer Ordnung hat ein Fassungsvermögen von acht Bits und ist mit
einem Schalter 3 verbunden, welcher im geschlossenen Zustand die Adressenschiene 2 mit einer zweiten Adressenschiene 4-geringer Ordnung in Reihe schaltet, die ebenfalls ein Fassungsvermögen von acht Bits aufweist. Eine erste Datenschiene 6
und eine zweite Datenschiene 8 haben jeweils ein Fassungsvermögen von acht Bits und werden dazu verwendet, Daten zwischen den Arbeitsregistern und der Eingabe/Ausgabeschaltung
zu übertragen. Eine Adressenschiene 10 hoher Ordnung hat ebenfalls ein Fassun ge vermögen von acht Bits, so daß die
Adressenschiene 10 und die Adressenschiene 2 dazu geeignet sind, das Byte hoher Ordnung und das Byte geringer Ordnung
eines 16-Bit-Adreseenwortes jeweils zu übertragen.
Ein 16-Bit-Inkrementier/Dekrementier-Netzwerk wird durch
den Block 12 in Verbindung mit dem Block 13 gebildet, um
jeweils das Byte hoher Ordnung und das Byte geringer Ordnung eines 16-Bit-Wortes zu inkrementieren. Ein 16-Bit-Programmzähler zur Speicherung der Adresse des nächsten auszuführenden Befehls wird durch das Register 14 hoher Ordnug und das Register 15 geringer Ordnung gebildet, wobei
jedes der Register acht Bits aufweist. Ein temporäres * 16-Bit-Register, welches zur temporären Datenspeicherung
verwendbar ist, wird durch das Register 16 hoher Ordnung und das Register 17 geringer Ordnung gebildet, wobei jedes
030011/0922
der Register ein Fassungsvermögen von acht Bits aufweist. Eine 16-Bit-Stapelanzeige wird durch das Register 18 hoher
Ordnung und das Register 19 geringer Ordnung gebildet, wobei jedas der Register ein Fassungsvermögen von acht Bits
aufweist. Die Stapelanzeige kann dazu verwendet werden, einen Teil des Speichers zu adressieren, welcher dazu dient,
Rücksprungadressen für Unterroutinen zu speichern, und auch dazu, die Inhalte der verschiedenen Register sicherzustellen,
wenn eine Prozessorunterbrechung stattfindet. Ein 16-Bit-Indexregister wird durch das Register 20 hoher Ordnung und das Register 21 geringer Ordnfung gebildet, wobei jedes dieser Register ein Fassungsvermögen von acht Bits aufweist. Ein
erster Akkumulator 22 ist aus einem Register mit einem Fassungsvermögen von acht Bits gebildet, und er umfaßt in
der bevorzugten Ausführungsform logische Verknüpfungsglieder, welche es ermöglichen, die Inhalte des Registers 22
um eine Bit-Position nach rechts zu verschieben. Ein zweiter Akkumulator 24 wird ebenfalls aus einem Register mit einem
Fassungsvermögen von acht Bits gebildet. Ein Korrekturblock 26 ist mit dem Akkumulator 24 verbunden und spricht auf
den Inhalt das Akkumulators 24 an, um einen 8-Bit-Korrekturfaktor zu erzeugen. Bei einer Addition zu dem Inhalt des
Akkumulators 24 ermöglicht der 8-Bit-Korrekturfaktor, daß
die Inhalte des Akkumulators 24 dezimal aus einem rein binären Format in ein BGD-Format geändert werden. Eine
Arithmetik-Logik-Einheit 28 hat einen ersten Eingang A, welcher in selektiver Weise entweder mit der Schiene 6
oder mit dem Ausgang des Korrekturblocks 26 verbunden werden kann. Ein zweiter Eingang B ist mit der Schiene 4 verbunden. Die Arithmetik-Logik-Einheit 28 hat eine Ausjmgsklemme E, welche in selektiver Weise entweder mit der Schiene
6 oder mit der Schiene 8 verbundin werden kann. Außerdem ist ein Konditionskoderegister 30 mit der Arithmetik-Logik-Einheit 28 verbunden, um verschiedene Konditionen oder Bedingungen aufzuzeichnen, welche durch eine Arithmetik-Logik
-Operation erzeugt werden, beispielsweise Übertrag-Leihen, -
030011/0922
Überlauf, Ergebnis gleich null, Ergebnis negativ, Unterbrechungsmaske und ein Haltübertrag von den letzten vier
Bits der Ergebnisses. Die Inhalte des Eonditionskoderegisters können geprüft werden, um verschiedene Verzweigungsbefehle
zu steuern.
In der Figur 2 sind Zeitsteuerwellenformen für Taktsignale 0O1» 0p 1^d 0^i für den ersten und den zweiten Prozessortaktzyklus dargestellt. Unter Hinweis auf die Figur 1 wird zur
weiteren Erläuterung der Erfindung angenommen, daß während der zwei vorangegangenen Taktzyklen ein Befehl dekodiert
wurde, der eine Indexadressierung anzeigt, und daß der 8-Bit-Versatz, der zu den Inhalten des Indexregister zu
addieren ist, aus dem Programmspeicher geholt wurde. Während des ersten Taktzyklus, der auf die zuvor erwähnten Taktzyklen
folgt, werden die Inhalte des Regsters 21 auf die Schiene
M- gebracht, und zwar nach dem Übergang des Taktsignals 02'
vom hohen zum tiefen Zustand. Die Schiene 4 überträgt die Inhalte des Registers 21 zu dem Eingang B der Arithmetik
-Logik—Einheit 28. Gleichzeitig wird das 8-Bit-Versatzwort,
welches vorher aus dem Programmspeicher geholt wurde, auf die Schiene 6 gebracht, um den Eingang A der Arithmetik-Logik-Einheit 28 anzuschließen. Zugleich werden die Inhalte
des Registers 20 auf die Schiene 10 gebracht, um das Byte hoher Ordnung des Indexregisters zu übertragen. Während
dieser Zeit wird die Schiene 10 auf das Register 16 und den Block 12 aktiviert. Nachdem das Taktsignal 02' von
dem tiefen auf den hohen Pegel umgeschaltet hat, werden die internen Schienen vorab auf einen hohen Pegel gebracht,
um die Datenübertragung während des nächsten Zyklus vorzubereiten. Während das Taktsignal 02' auf einem hohen Pegel ist, führt die Arithmetik-Logik-Einheit 28 die Addition
derjenigen Daten durch, welche über die Eingänge A und B eingeführt wurden, und bildet eine 8-Bit-Summe. Die Arithmetik
-Logik-Einheit 28 liefert auch ein Übertragausgangssignal
030011/0922
welches anzeigt, ob die Addition einen Übertrag ergeben hat. Während 0~' au^ einem hohen Pegel ist, erzeugt der Block
einen 8-Bit-Wert, der um eins größer ist als derjenige Wert, welcher von der Schiene 10 empfangen wurde.
Wenn das Taktsignal 0~' von einem hohen auf einen tiefen
Pegel umschaltet, beginnt der aweite Taktzyklus, und die durch die Arithmetik-Logik-Einheit 28 erzeugte 8-Bit-Summe
wird auf die Schiene 8 gebracht, welche mit der Ausgaigspufferschaltung
verbunden werden kann, um eLne Übertragung zu den acht Adresseneingängen mit dem geringsten Stellenwert
beim Programmspeicher zu ermöglichen. Während 0p1 im zweiten
Taktzyklus tief gelegt ist, aktiviert die lösche Schaltung,
welche auf das Übertragausgangssignal anspricht, welches durch die Arithmetik-Logik-Einheit 28 erzeugt wird,
auch entweder den Ausgang des Blockes 12 oder den Ausgang des Registers 16, und zwar auf die Schiene 10, um das Byte
hoher Ordnung derjenigen Adresse, welche mit der Ausgangspufferschaltung verbunden werden kann, zur Übertragung des
Bytes hoher Ordnung der Adresse an den Programmspeicher zu bringen. Wenn das Übertragausgangssignal, welches durch die
Arithmetik-Logik-Einheit 28 erzeugt wird, eine logische 11O"
ist, dann muß derjenige Wert, welcher in dem Byte mit dem höchsten Stellenwert des Indexregisters gespeichert ist, nicht
modifiziert werden, und der Inhalt des Registers 16 wird auf die Schiene 10 gebracht. Wenn jedoch das Übertragausgangssignal,
welches durch die Arithmetik-Logik-Einheit 28 erzeugt wird, eine logische "1" ist, dann sollte das Byte
mit dem höchsten Stellenwert des Indexregisters um eins größer sein, und der inkrementierte Wert, welcher durch den Block
12 erzeugt wird, wird auf die Schiene 10 gebracht. Somit werden nur zwei Prozessortaktzyklen benötigt, um die indizierte
Adresse zu erzeugen, während bei einer vergleichbaren herkömmlichen Anordnung zu diesem Zweck drei Taktzyklen erforderlich sind.
030011/0922
Bei dem obigen Beispiel, war das 8-Bit-Versatzsignal,
welches zum Indexregister zu addieren war, ein 8-Bit-Wert ohne Vorzeichen, so daß der Block 12 immer in der Weise ausgewählt wird, daß er im Inkrementier-Modus arbeitet. Eine relative Adressierung, welche für Verzweigungsbefehle verwendet wird, schließt jedoch ein 8-Bit-Versatzsignal im Zweierkomplement ein, welches entweder einen positiven oder einen negativen Versatz darstellen kann, um zu dem im Programmzähler gespeicherten Wert addiert zu werden. Bei dieser Art von Befehl kann der Block 12 ausgewählt
werden um entweder im Inkrementier-Modus uoder im Dekrementier -Modus zu arbeiten, wie es durch das Vorzeichen-Bit des Versatzwertes im Zweierkomplement bestimmt ist. Unter Hinweis auf die Figuren 1 und 2 sei angenommen, daß während der zwei vorangegangenen Taktzyklen ein Verzweigungsbefehl vom Prozessor dekodiert wurde und der 8-Bit-Versatzwert aus dem Programmspeicher geholt ist. Wenn das Taktsignal 02' von einem hohen auf einen tiefen Pegel umschaltet,
beginnt der erste Taktzyklus, und der Ausgang des Blockes 13, welcher anfänglich dem im Register 15 gespeicherten Wert gleicht, wird auf die Schiene 2 gebracht. Der Schalter 3 wird geschlossen, so daß dadurch die Schiene 2
mit der Schiene 4- verbunden wird, um das Ausgangssignal des Blockes 13 auf den Eingang B der Arithmetik-Logik-Einheit 28 zu bringen. Zugleich treibt' die Eingabeschaltung das 8-Bit-Versatζsignal im äeierkomplernent, welches von dem Programmspeicher erhalten wurde, auf die Schiene 6, zur Übertragung auf den Eingang A der Arithmetik-Logik-Einheit 28. Weiterhin wird zu dieser Zeit der Inhalt des Blockes 12 auf die Schiene 10 gebracht, und die Eingangssignale für den Block 12 und das Register 16 werden derart aktiviert, daß das Byte hoher Ordnung des Programmzählers aufgenommen wird, weil derjenige Wert, der zunächst vom Block 12 auegegeben wurde, dem im Register 14 gespeicherten Wert gleicht. Das Bit der Schiene 6 mit dem höchsten Stellenwert, welches dem VorzeicheaBit des Versatzwertes
welches zum Indexregister zu addieren war, ein 8-Bit-Wert ohne Vorzeichen, so daß der Block 12 immer in der Weise ausgewählt wird, daß er im Inkrementier-Modus arbeitet. Eine relative Adressierung, welche für Verzweigungsbefehle verwendet wird, schließt jedoch ein 8-Bit-Versatzsignal im Zweierkomplement ein, welches entweder einen positiven oder einen negativen Versatz darstellen kann, um zu dem im Programmzähler gespeicherten Wert addiert zu werden. Bei dieser Art von Befehl kann der Block 12 ausgewählt
werden um entweder im Inkrementier-Modus uoder im Dekrementier -Modus zu arbeiten, wie es durch das Vorzeichen-Bit des Versatzwertes im Zweierkomplement bestimmt ist. Unter Hinweis auf die Figuren 1 und 2 sei angenommen, daß während der zwei vorangegangenen Taktzyklen ein Verzweigungsbefehl vom Prozessor dekodiert wurde und der 8-Bit-Versatzwert aus dem Programmspeicher geholt ist. Wenn das Taktsignal 02' von einem hohen auf einen tiefen Pegel umschaltet,
beginnt der erste Taktzyklus, und der Ausgang des Blockes 13, welcher anfänglich dem im Register 15 gespeicherten Wert gleicht, wird auf die Schiene 2 gebracht. Der Schalter 3 wird geschlossen, so daß dadurch die Schiene 2
mit der Schiene 4- verbunden wird, um das Ausgangssignal des Blockes 13 auf den Eingang B der Arithmetik-Logik-Einheit 28 zu bringen. Zugleich treibt' die Eingabeschaltung das 8-Bit-Versatζsignal im äeierkomplernent, welches von dem Programmspeicher erhalten wurde, auf die Schiene 6, zur Übertragung auf den Eingang A der Arithmetik-Logik-Einheit 28. Weiterhin wird zu dieser Zeit der Inhalt des Blockes 12 auf die Schiene 10 gebracht, und die Eingangssignale für den Block 12 und das Register 16 werden derart aktiviert, daß das Byte hoher Ordnung des Programmzählers aufgenommen wird, weil derjenige Wert, der zunächst vom Block 12 auegegeben wurde, dem im Register 14 gespeicherten Wert gleicht. Das Bit der Schiene 6 mit dem höchsten Stellenwert, welches dem VorzeicheaBit des Versatzwertes
030011/0922
im Zweierkomplement entspricht, wM dazu verwendet, den
Arbeitsmodus für den Block 12 zu inkrementieren oder zu dekrementieren. Wenn das Vorzeichen-Bit eine logische 11O"
ist, daün ist der Versatzwert positiv und der Block 12 führt eine Inkrementierung durch. Wenn das Vorzeichen-Bit
eine logische "1" ist, dann ist der Versatzwert negativ und der Block 12 führt eine Dekrementierung durch.
Wenn das Taktsignal #2' während des ersten Taktzyklus auf
den hohen Pegel zurückkehrt, werden die internen Schienen vorab so präpariert, daß die Übertragung von Daten während
des zweiten Taktzyklus vorbereitet ist. Während dieser Zeit addiert die Arithmetik-Logik-Einheit 28 das Versatzsignal im Zweierkomplement zu dem Byte mit dem geringsten
Stellenwert der laufenden Adresse und erzeugt ein 8-Bit-Ergebnis. Sie Arithmetik-Logik-Einheit 28 erzeugt auch
während dieser Zeit das Übertragausgangssignal.
Wenn das Taktsignal 02' auf einen tiefen Pegel umschaltet,
beginnt der zweite Zyklus, und unter der Annahme, daß die Bedingungen für die Verzweigung erfüllt sind, wird der
Ausgang Σ der Arithmetik-Logik-Einheit 28 auf die Schiene 8 aktiviert, um die Ausgangspuff er schaltung zur Übertragung
des Bytes mit dem geringsten Stellaiwert der Verzweigungsadresse zum Programmspeicher zu übertragen. Um die Quelle
des Bytes mit dem höchsten Stellenwert der Verzweigungsadresse zu bestimmen, wird das Übertragausgai&signal, welches durch die Arithmetik-Logik-Einheit 28 erzeugt wurde,
durch ein exklusives ODER-Glied mit dem Vorzeichen-Bit des Versatzwerteβ in Zweierkomplement verknüpft, und zwar durch
eine Schaltung, die unten beschrieben wird. Venn diese logische Verknüpfung zu einer logischen "1" führt, dann
wird der inkrementierte oder dekrementierte Wert, welcher
durch den Block 12 erzeugt wurde, auf die Schiene 10 aktiviert; wenn jedoch bei der logischen Verknüpfung sich «ine logische
030011/0922
"O" ergibt, dann wird der im Register 16 gespeicherte Wert
auf die Schiene 10 aktiviert. Der jeweils ausgewählte Wert wird durch die Stoene 10 auf die Ausgangspufferschaltung gebracht,
und zwar zur Übertragung des Bytes hoher Ordnung der Verzweigungsadresse zum Programmspeicher.
In der Figur 3 sind ein Bit des Registers 16 und ein Bit des Registers 20 zusammen mit den internen Schienen dargestellt,
welchen diese Signale zugeführt werden. Im Hinblick auf das Register 16 wird ein erster Inverter 32 mit seinem Eingang
mit einem Eingangsknoten 33 verbunden. Der Ausgang des Inverters 32 wird mit dem Eingang des Inverters 34· verbunden,
und der Ausgang des Inverters 3^ wird mit dem Ausgangsknoten
35 verbunden. Ein Rückführ-Kopplungs-MOSFET 36 verbindet den
Ausgang des Inverters 34 mit dem Eingang des Inverters 33.
Das Gate des MOSFET 36 wird mit der positiven Versorgungsklemme verbunden, um eine positive Versorgungsspannung VDD
aufzunehmen. Somit bilden der Inverter 32, der Inverter 34-
und der Rückführ-MOSFET 36 eine Verriegelungsschaltung, um
ein Informationsbit zu speichern. Da ein MOSFET (Metall-Oxid-Siliciim-Feld-Effekt-Tran
si store) grundsätzlich bekant ist, bedarf der Aufbau und die Arbeitsweise eines derartigen
Bauelementes keiner weiteren Erläuterung. Es wird jedoch zusätzlich auf das Buch "Physics and Technology of Semiconductor
Devi»s" von A. S. Grove, John Wiley and Sons, Inc., 1967
hingewiesen, aus dem der Aufbau und die Arbeitsweise derartiger Transistoren hervorgehen.
Der Eingangeknoten 33 ist durch den MOSFET 38 mit einem der acht Leiter 6' der Datenschiene verbunden. Das Gate
des MOSFET 38 ist mit der Leitung 40 verbunden, welche das
Steuersignal überträgt, welches durch die Takt- und Dekodierschaltung erzeugt wurde, die in der Zeichnung nicht dargestellt
ist. Venn die Leitung 40 auf einem hohen Pegel ist, wird der MOSFET 38 aktiviert, und die Spannung am Eingangsknoten
030011/0922
33 wird dazu gebracht, daß sie der Spannung auf der Leitung
6' der Datenschiene enspricht. Da der MOSFET 38 eine wesentlich
geringere Impedanz hat als der Rückführ-MOSFET 36, wird
der Rückführ-MOSFET 36 durch den MOSFET 38 überspielt, wenn die Spannung am Eingangsknoten 33 aufgebaut wird, sobald
der MOSFET 38 aktiviert ist. In ähnlicher Weise verbindet der MOSFET 42 den Eingangsknoten 33 mit einer Leitung 10"
der 8-Bit-Schiene 10, und das Gate des MOSFET 42 wird mit der Leitung 44 verbunden, wenn ein hoher Pegel vorhanden ist,
so daß der Spannungspegel auf der Leitung 10' auf den Eingangsknoten
33 übertragen werden kann.
Der Ausgangsknoten 35 wird durch den MOSFET 46 mit der Leitung 61 verbunden, und der Ausgangsknoten 35 wird auch durch
den MOSFET 48 mit der Leitung 10' verbunden. Wenn eine Aktivierung
durch die Steuerleitungen 49 oder 50 erfolgt ist, bringt der MOSFET 46 oder der MOSFET 48 dieLeitung 6' oder
die Leitung 10' dazu, daß sie denjenigen logischen Zustand annimmt, welcher durch die Speicherschaltung 16 gespeichert
ist. Diejenige logische Schaltung, welche dazu verwendet wird, die Steuersignale zu erzeugen, weiche durch die Leitungen 49
und 50 übertragen werden, wird nachfolgend beschrieben.
Die Speicherschaltung für das Register 20, welches in der Figur 3 beschrieben wird, arbeiist in ähnlicher Weise. Der
Inverter 50', der Inverter 51 und der Rückführ-MOSFET 52
bilden wiederum eine Verriegelungsschaltung. Der MOSFET 53 bringt den im Register 20 gespeicherten logischen Zustand
auf den logischen Zustand der Leitung 6', wenn der MOSFET 53 durch das Steuersignal aktiviert wird, welches auf der Leitung
5^- vorhanden ist. Das Ausgangssignal der Speicherschaltung
20 kann durch den MOSFET 55 auf die Leitung 6', durch den MOSFET 56 auf die Leitung 8' oder durch den MOSFET 57
auf die Leitung 10' gebracht werden, der MOSFET 55, der
MOSFET 56 und der MOSFET 57 werden durch Steuersignale aktiviert, welche jeweils auf der Leitung 58, 59 bzw. 60 vorhanden
sind.
030011/0922
In der Figur 4A/4B ist ein Ein-Bit-Ausschnitt des Blockes
und des Registers 14 darges1eG.lt, einschließlich einer Leitung
6' der Schiene 6 und einer Leitung 10' der Schiene Der Eingang des Inverters 61 ist mit der Leitung 10' verbunden,
und der MOSFET 62 verbindet den Ausgang des Inverters 61 mit dem Knoten 63. Das Gate des MOSFET 62 ist mit der
Leitung 64 verbunden, welche dazu dient, eine Steuerspannung
zu führen, welche durch eine (nicht dargestellte) Logikschaltung erzeugt wird, und der MOSFET 62 wird aktiviert,
wenn der Spannungspegel auf der Leitung 64 auf einem hohen Pegel ist. Der Knoten 63 ist mit einem ersten Eingang eines
UND-Gliedes 64 verbunden und auch mit dem Eingang des Inverters 65. Ein zweiter Eingang des UND-Gliedes 64 ist mit der
Leitung 66 verbunden. Der Ausgang des Inverters 65 ist mit einem ersten Eingang eines UND-Gliedes 67 verbunden, und
der zweite Eingang des UND-Gliedes 67 ist mit der Leitung 68 verbunden. Die Logikschaltung, welche die Steuersignale
für die Leitung 66 und die Leitung 68 erzeugt, wird unten anhand der Figur 7 beschrieben. Die AusgangssignaIe der
UND-Glieder 64 und 67 werden von den zwei Eingängen des NOR-Gliedes 69 aufgenommen, so daß entweder das wahre Signal
oder dessen Komplement durch den Eingang des Inverters 61 aufgenommen und am Ausgang des NOR-Gliedes 69 ausgewählt
werden. Für den Fachmann ist ersichtlich, daß der Ausgang des logischen Verknüpfungsgliedes sich die Funktion
des exklusiven ODER des Signals DEC auf der Leitung 66 und der Daten auf der Leitung 10' ist. Im Inkrementier-Modus
wird das UND-Glied 67 aktiviert, während im Dekrementier
-Modus das UND-Glied 64 aktiviert ist. Das Ausgangssignal
des NOR-Gliedes 69 wird dem Eingang des Inverters ?0 zugeführt, und das Ausgangssignal des Inverters 70 wird dem Gate des
MOSFET 71 zugeführt.
030011/0922
Eine Klemme des MOSFET 71 ist mit einem Knoten 72 verbunden,
der wiederum mit einer Klemme eines zur Vorabaufladung dienenden MOSFET 73 verbunden ist. Der Knoten 72
ist auch mit einer Klemme eines (nicht dargestellten) MOSFET in der Stufe für das Bit mit der zweitletzten Wertigkeit
des Blockes 18 verbunden. Die andere Klemme des MOSFET 71
ist mit der Klemme eines (nicht dargestellten) MOSFET in der Stufe für die nächsthöhere Wertigkeit im Block 18 verbunden.
Somit bilden der MOSFET 71 und weitere MOSFET-EIemente
innerhalb der anderen Bit-Stufen des Blockes 18 einen in Reihe geschalteten Bad.
Das Gate des zur Vorabaufladung dienenden MOSFET 73 ist mit
einer Leitung 74 verbunden, und die dritte Klemme des MOSFET
73 ist mit der positiven Energieversorgungsklemme VDD verbunden.
Die Leitung 74 ist mit dem Taktsignal 0^ verbunden
(sithe Figur 2) und mit der Drain des MOSFET 75, dessen
Source mit der Masse verbunden ist und dessen Gate mit dem Taktsignal 02 verbunden ist. Wenn das Taktsignal 0* hochgelegt
wird, während das Taktsignal 0~ auf einem tiefen Pegel
ist, wird der MOSFET 75 abgeschaltet, und die Leitung 74 iet
auf einem hohen Pegel. Der MOSFET 73 wird dann aktiviert und verbindet den Knoten 72 mit der positiven Versorgungespannung.
In ähnlicher Weise werden entsprechende Knoten in anderen Bit-Stufen in dem Reihenpfad ebenfalls auf einen hohen Pegel
vorab aufgeladen.
Bei der Durchführung einer Inkrementierung oder einer
Dekrementierung wird ein Knoten, welcher dem Knoten 72 in der Stufe des Bits mit dem geringsten St el laiwert entspricht,
mit dem Massepotential verbunden, nachdem das Taktsignal 0^
hochgelegt ist und die zur Vorabaufladung dienenden MOSFET -Elemente abgeschaltet sind. Ein MOSFET-Element, welches den
MOSFET 71 in der Stufe des Bits mit dem geringsten Stellenwert entspricht, bringt das Massepotential über den Reihenpfad
zu der Stufe mit dem Bit des höchsten Stellenwertes,
vorausgesetzt, daß das Gate des entsprechenden MOSFET-Elementes
03001 1/Ü322
auf einem hohen Pegel liegt. Sobald eine Gate-Elektrode eines MOSFET-Elententes in der Reihenschaltung auf einem
tiefen Pegel liegt, wird die Ausbreitung des Massepotentials über den Reihenpfad beendet, und die nachfolgenden Knoten
bleiben auf dem vorab eingestellten hohen Pegel. Für den Fachmann ist ersichtlich, daß die oben beschriebene Schaltung eine Reihen-Obertia g-Schaltung ist oder eine Übertragschaltung mit geringer Welligkeit.
Der Knoten 72 ist auch mit einem ersten Eingang des NOR-Gliedes
76 und mit einem ersten Eingang des UND-Gliedes 77 verbunden. Der zweite Eingang des NOR-Gliedes 76 und der zweite
Eingang des UND-Gliedes 77 sind mit dem Ausgang des Inverters 65 verbunden, was dem logischen Zustand des Signals
entspricht, welches am Eingang des Inverters 61 aufgenommen wird. Das Ausgangssignal des NOR-Gliedes 76 wird dem ersten
Eingang des NOR-Gliedes 73 zugeführt, während der zweite Eingang des NOR-Gliedes 78 dem Ausgang des UND-Gliedes 77
zugeführt wird. Für den Fachmann ist ersichtlich, daß das Ausgangssignal des NOR-Gliedes 78 das Ergebnis der exklusiven
ODER-Terknüpfungefuktion der logischen Pegel ist, welche
durch den Knoten 72 und den Ausgang des Inverters 65 geliefert
werden.
Das Ausgangssignal des NOR-Gliedes 78 wird dem Eingang des
Inverters 80 durch die Reihenschaltung zugeführt, welche durch den MOSFET 81 und den MOSFET 82 gebildet ist. Das
Gate des MOSFET 81 wird durch das Taktsignal 0g1 gesteuert,
während das Gate des MOSFET 82 durch das Taktsignal 02 gesteuert wird. Gemäß der Darstellung in der Figur 2 ist 02'
auf einem hohen Pegel, während die zweite Hälfte dB ersten Taktzyklus abläuft, und schaltet auf einen tiefen Pegel um,
wenn der zweite Taktzyklus beginnt. In ähnlicher Weise schaltet das Taktsignal 0p auf einen tiefen Pegel um, kurz nach
dem Beginn des zweiten Taktzyklus, so daß das Ergebnis der Inkrementier-oder der Dekrementier-Operation, welches
030011/0922
2935557
während des ersten Taktzyklus gebildet ist, dynamisch
am Eingang des Inverter-Gate-Elementes 80 gespeichert wird,
zur Verwendung während des zweiten Taktzyklus. Der Ausgang des Inverter-Gate-Elementes ist mit einem Ausgangsknoten
83 verbunden, welcher dem Ausgang der speziellen Bit-Stufe für den Block 12 entspricht. Der Knoten 83 kann
mit der Leitung 6' durch den MOSFET 84 verbunden werden, dessen Gate mit der Leitung 85 verbunden ist. Der Ausgangsknoten
83 kann auch mit der Leitung 10' durch den MOSFET 86 verbunden werden, dessen Gate mit der Leitung
87 verbunden ist. Die Logikschaltung zur Erzeugung der Steuersignale, welche auf den Leitungen 85 und 87 vorhanden
sind, wird unten anhand der Figur 7 beschrieben. Der Ausgangsknoten 83 kann auch mit dem Eingangsknoten 88
durch den MOSFET 89 mit einer Bit-Stufe des Register 14 verbunden werden. Das Gate des MOSFET 89 ist mit der
Leitung 90 verbunden, die immer dann einen hohen Pegel
annimmt, wenn eine Übertragung vom Block 12 zum Register 14 erwünscht ist. Das Register 14 ist ehnlich aufgebaut
wie die Register 16 und 20, die oben anhand der Figur 3 bereits erläutert wurden, so daß dieses Register keiner
weiteren Beschreibung bedarf.
In der Figur 5 ist eine Pufferschaltung dargestellt, welche dazu dient, ein Steuersignal zu liefern, und zwar auf
der Basis des Übertragausgangssignals, welches durch die Arithmetik-Logik-Einheit 28 erzeugt wird. Unter Berücksichtigung
der Darstellung in der Figur 2 ist festzustellen, daß das Übertragausgangssignal von der Arithmetik-Logik-Einheit
28 während der zweiten Hälfe des ersten Taktzyklus erzeugt wird, wenn das Taktsignal 02' auf einem hohen Pegel
ist. Das Übertragausgangssignal wird durch eine Reihen-Übertrag-Schaltung innerhalb der Arithmetik-Logik-Einheit
28 erzeugt, welche ähnlich aufgebaut ist, wie diejenige Schaltung, die innerhalb des Blockes 12 angeordnet ist
und oben anahnd der Figur 4A/4B erläutert wurde. Das Über-
030011/0922
tragausgangssignal wird von dem Eingang des Inverters
92 aufgenommen, dessen Ausgang mit dem Eingang des Inverters
93 durch die in Reihe geschalteten MOSFET-Elemente
94 und 95 verbunden ist. Das Gate des MOSFET 9^ ist mit
dem Taktsignal 0p1 verbunden, während das Gate des MOSFET
95 ndt dem Taktsignal 0^ verbunden ist. Wenn der zweite
Taktzyklus beginnt, gät das Taktsignal 02* auf einen
tiefen Pegel, und der MOSFET 94 wird abgetrennt. In ähnlicher Weise wird kurz nach dem Beginn des zweiten
Taktzyklus das Taktsignal 02 auf einen tiefen Pegel gebracht,
und der MOSFET 95 wird abgetrennt. Dabei wird das Übertragausgangssignal, welches durch die Arithmetik
-Logik-Einheit 28 während des ersten Taktzyklus erzeugt wurde, dynamisch am Eingang des Inverters 93 gespeichert,
und zwar zur Verwendung während des zweiten Taktzyklus.
Der Ausgang des Inverters 93 ist mit dem Eingang des Inverters 96 und mit dem Gate des MOSFET 97 verbunden.
Die Source des MOSFET 97 ist mit der Masse verbunden, und die Drain des MOSFET 97 ist mit der Source des
MOSFET 98 vom Anreicherungstyp sowie mit der Source des
MOSFET 99 vom Verarmungstyp verbunden. Der Ausgang des Inverters 96 ist mit den Gateklemmen der MOSFET-Bauelemente
98 und 99 verbunden, während die Drainljlemmen
der MOSFET-Bauelemente 98 und 99 mit der psotiven Versorgungsklemme
Vjjjj verbunden sind. Die Leitung 116 ist
mit der Drain des MOSFET 97 für die Übernahme des Steuersignals B7C verbunden.
In der Figur 6 ist eine Pufferschaltung dargestellt, welche dazu dient, ein Steuersignal DB7 zu erzeugen, welches
dem Vorzeichen-Bit des Versatzwertes entpsricht, der während des ersten Taktzyklus der Arithmetik-Logik-Einheit
28 als Eingangssignal zugeführt wird. ,
Die Leitung 61', welche das Signal DB7 führt, ist die Leitung
für das Bit mit dem höchsten Stellenwert der Schiene
030011/Q922
Die Leitung 61' ist mit dem Eingang des Inverters 100
verbunden, dessen Ausgang mit dem Eingang des Inverters
101 über den MOSFET 102 verbunden ist. Das Gate de MOSFET
102 ist mit dem Taktsignal 0^ verbunden, welches auf
einem hohen Pegel ist, während die Datenschiene während des ersten Taktzyklus aktiviert ist, welches jedoch auf
einen tiefen Pegel umschaltet, bevor das Taktsjgial 0g
auf einen hohen Pegel ansteigt und vorab die interne Püreessorschiene beaufschlagt. Somit wird der Status der
Leitung 61' mit dem Signal DB? dynamisch am Eingang des
Inverters 101 gespeichert. Der Ausgang des Inverters 101 liefert ein Steuersignal D76, welches der Polarität des
Vorzeichen-Bits des Versatzwertes entspricht.
Die Figur 7 ist ein Logikdiagramm, welches die Logikschaltung darstellt, die zur Erzeugung der Steuersignale DEC
und DEC verwendet wird, welche den Block 12 steuern. Weiterhin ist die Logikschaltung dargestellt, die dazu dient,
diejenigen Steuersignale zu erzeugen, welche entweder das Ausgangssignal des Blockes 12 oder das Ausgangssignal des
Registers 16 auf die Schiene 10 bringen. Die Leitung 106 nimmt das Steuersignal D?6 auf, welches oben anhand der Figur
6 bereits erläutert wurde. Die Leitung 106 ist mit einem ersten Eingang eines NAND-Gliedes 105 verbunden. Die Leitng
10? führt ein Steuersignal BCHO, welches durch die (nicht dargestellte) Befehlsdekodierschaltung erzeugt
wird und welches einen hohen Pegel annimmt, sobald ein Verzweigungsbefehl von dem Datenprozessor aufgenommen wird.
Der MOSFET-108 verbindet die Leitung 107 mit einer zweiten
Klemme des NAND-Gliedes 105. Das Gate des MOSFET 108 ist
mit dem Taktsignal 02 verbunden, und der Status das Steuersignals
BCHO wird dynamisch in dem zweiten Eingang des NAND-Gliedes 105 gespeichert, und zwar kurz nach dem Beginn
des ersten Taktzyklus, wenn das Taktsignal 02 auf einen tiefen Pegel umschaltet. Der Ausgang des NAND-Gliedes
030011/0922
105 ist mit einem ersten Eingang eines NAND-Gliedes
verbunden. Der Ausgang des NAND-Gliedes 105 ist stets
eine logische "1", es sei denn, daß ein Verzweigungsbefehl ausgeführt wird, wobei dann der Ausgang des NAND-Gliedes
105 das Komplement des Steuersignals D76 darstellt.
Ein zweiter Eingang des NAND-Gliedes 110 ist mit der Leitung 111 verbunden, die ihrerseits mit der (nicht dargestellten) anderen Dekodierschaltung verbunden ist. Die
Leitung 111 ist auf einem logischen Pegel "1", sobald ein Verzweigungsbefehl ausgeführt wird, so daß der Status
des Steuersignals D?6 den Ausgang des NAND-Gliedes 110 steuert. Ein Steuersignal auf der Leitung IHkann dazu
verwendet werden, entweder den Inkrementier- oder den Dekrementier-Modus des Blockes 12 für andere Befehle als Verzweigungsbefehle auzuwählen. Beispielsweise kann die Leitung
auf einem logischen Pegel "0" sein, um den Dekrementier
-Modus auszuwählen, damit ein Dekrementier-Inflexregister
befehl ausgeführt werden kann. In alternativer Weise würde die Leitung 111 auf einem logischen Pegel "1" sein,
um den Inkrementier-Modus für den Block 12 während der Ausführung eines Inkrementier-Indexregisterbefehls auszuwählen.
Der Ausgang des NAND-Gliedes 110 ist mit dem Eingang eines
Inverters 112 durch einen MOSFET 113 verbunden. Das Gate des MOSPET 113 ist mit dem Taktsignal 0^ verbunden. Gemäß
der Darstellung in der Figur 2 schaltet das Taktsignal 0^ während der zweiten Hälfe des ersten Taktzyklus auf
einen tiefen logischen Pegel, so daß der Ausgangspegel des NAND-Gliedes 110 dynamisch am Eingang des Inverters
gespeichert wird, und dzwar nach dem Übergang des Taktsignals 0^ von einem hohen auf einen tiefen Pegel. Es sei
in Erinnerunggebracht, daß der Inkrementier- oder Dekrementier -Vorgang beginnt, nachdem das Taktsignal 0p hochgelegt wird
030011/0922
und die Inkrementier-Vorabaufladeelemente abgeschaltet sind.
Der Ausgang des Inverters 112 ist mit der Leitung 68 verbunden, um das Signal DEG zu liefern, und er ist auch mit
dem Eingang des Inverters 115 verbunden. Der Ausgang des Inverters 115 ist mit der Leitung 66 verbunden, um das
Signal DEC zu liefern. Unter der Annahme, daß ein Verzweigungsbefehl ausgeführt wird, und unter der weiteren Annahme,
daß der 8-Bit-Versatzwert eine positive Zahl ist, wird D76 eine logische "0" sein, und das Steuersignal DEC wird
ebenfalls eine logische "0" sein. Wenn Jedoch der Versatzwert
eine negative Zahl ist, dann wird D76 eine logische "1" sein, und das Steuersignal DEC wird ebenfalls eine logische
"1" sein, um den Dekrementier-Modus auszuwählen.
Die Leitung 116 nimmt das Steuersignal B7C auf, wie es oben anhand der Figur 5 beschrieben wurde. Die Leitungen 116 und
106 sind mit der Logikschaltung innerhalb des durch eine unterbrochene Linie dargestellten Blockes 11? verbunden,
welcher ein Ausgangssignal auf der Leitung 118 liefert. Für den Fachmann ist erkennbar, daß das Ausgangssignal
des Blockes 117 durch die logische Verknüpfung des exklusiven ODER der Steuersignale B7C und B76 entsteht. Die Leitung
ist mit einem ersten Eingang des UND-Gliedes 119 und mit dem Eingang des Inverters 120 verbunden, dessen Ausgang mit
einem ersten Eingang des UND-Gliedes 121 verbunden ist. Der zweite Eingang des UND-Gliedes 119 und der zweite Eingang
des UND-Gliedes 121 sind mit der Leitung 122 verbunden, welche ein Steuersignal PHC führt. Die Logikgleichung für das
Steuersignal BHC ist folgende:
BHC - BCHI · (BRANCH + BSR).
Gemäß der Darstellung in der Figur 2 ist das Steuersignal BCH1 während des zweiten Taktzyklus nur dann eine logische
"1", wenn das zuvor erwähnte Steuersignal BCHO eine logische
030011/0922
"1" während des ersten Taktzyklus ist, um anzuzeigen, daß durch den Datenprozessor ein Verzweigungsbefehl dekodiert
wurde. Das Steuersignal für die Verzweigung ist während des zweiten Taktzyklus eine logische "1", sobald die Bedingung
für die Verzweigung erfüllt ist. Wenn beispielsweise ein Befehl BEQ (Verzweigung, wenn gleich null) ausgeführt
wird und wenn eine Markierung im Koderegister anzeigt, daß das Ergebnis der letzten Operation der Arithmetik-Logik
-Einheit gleich null war, dann entspricht das Verzweigungssignal einer logischen "1". Das Steuersignal BSR ist eine
logische "1", sobald eine Verzweigung zu einer Unterroutine oder einem entsprechenden Befehl ausgeführt wird. Somit ist
das Steuersignal BHO währenddes zweiten Taktzyklus nur dann eine logische "1", wenn eine Verzweigung tatsächlich auftritt,
d. h. nur dann, wenn die Adresse des nächsten Befehls von derjenigen Adresse abweicht, die im Programmzähler
angegeben ist.
Die Leitung 116, welche das Steuersignal B7C führt, wird
auch dem Eingang des Inverters 135 und einem ersten Eingang
eines UND-Gliedes 136 zugeführt. Der Ausgang des Inverters
135 mit dem Signal B7C ist mit einem ersten Eingang
eines UND-Gliedes 137 verbunden. Der zweite Eingang des UND-Gliedes 136 und der zweite Eingang des UND-Gliedes 137
sind nit der Leitung 138 verbunden, welche das Steuersignal
DX1 führt, welches durch eine (nicht dargestellte) Befehlsdekodierschaltung erzeugt wird. Gemäß der Darstellung
in der Figur 2 ist das Steuersignal DX1 während des zweiten
Taktzyklus eine logische "1", sobald die Dekodierschaltung feststellt, daß ein Befehl ausgeführt wird, welcher eine
indizierte Adressierung verwendet.
Der Ausgang des logischen Verknürpfungsgliedes 119 und des logischen Verknüpfungsgliedes 136 sind jeweils mit
dem ersten bzw. dem zweiten Eingang des NOH-Gliedes 123
verbunden, welches einen dritten Eingang aufweist, der mit der Leitung 126 verbunden ist. In ähnlicher Weise sind
030011/0922
der Ausgang des logischen Verknüpfungsglied» 121 und der
Ausgang des logischen Verknüpfungsgliedess137 mit dem
ersten bzw. dem zweiten Eingang des NOR-Gliedes 124 verbunden, welches einen dritten Eingang hat, der mit der
Leitung 127 verbunden ist. Der Ausgang des logischen Verknüpfungsgliedes 123 ist mit einem ersten Eingang eines
NOR-Gliedes 128 durch den MOSFET 129 verbunden. In ähnlicher Weise ist der Ausgang des logischen Verknüpfungsgliedes
124 mit einem ersten Eingang eines NOR-Gliedes 130 durch den MOSFET 131 verbunden. Das Gate des MOSFET 129 und
das Gate des MOSFET 131 sind mit dem Taktsignal 0o verbunden. Der zweite Eingang des logischen Verknüpfungsgliedes 128 und der zweite Eingang des logischen Verknüpfungegliedes 130 sind mit dem Taktsignal 0~' verbunden. Der
Ausgang des logischen Verknüpfungsgliedes 128 wird mit der Leitung 8? verbunden, um in selektiver Weise den Ausgang des Blockes 12 mit der Schiene 10 zu verbinden, wie
es in der Figur 4 dargestellt ist. In ähnlicher Weise wird der Ausgang des logischen Verknüpfungsgliedes I30 mit
der Leitung 50 verbunden, um den Ausgang des Register
mit der Schiene 10 zu verbinden, wie es in der Figur 3 veranschaulicht ist.
Unter der Annahme, daß ein Verzweigungsbefehl ausgeführt wird und daß die Bedingungen für den Verzweigungsbefehl
erfüllt sind, j* auf der Leitung 122 eine logische "1"
vorbanden, und auf der Leitung 138 ist eine logisch· "0n
während des zweiten Taktzyklus vorhanden. Da kein Verzweigung sbefehl eine Indexadressierung verwendet, bzw.
eine indizierte Adressierung verwendet, ist zu dieser Zeit das Steuersignal DZ1 eine logische "0". Es sei auch angenommen, daß die Leitungen 126 und 127 auf einem logischen Pegel "0" sind, und zwar während der Ausführung eines
Verzweigungebefehls. Wenn das Steuersignal B7C ein·
logische "1" ist, wodurch angezeigt wird, daß ein Übertragausgangssignal während der Addition der Byte-Operanden
030011/0922
- Vr-
der nieddgen Ordnung erzeugt wurde, und wenn das Steuersignal D76 eine logische "0" ist, wodurch angezeigt ist,
daß das 8-Bit-Versatzsignal eine positive 3hl ist, dann
befindet sich die Leitung 118 auf einem logischen Pegel "1". In diesem Fall ist das logische Verknüpfungsglied
119 aktiviert, und das logische Verknüpfungsglied 121 ist abgeschaltet, so daß das Ausgangssignal des logischen Verknüpfung ag liedes 123 eine logische "0" ist und das Ausgangssignal des logischen Verknüpfungsgliedes 124 eine
logische "1" ist. Das Ausgangssignal ds logischen Verknüpfungsgliedes 123 wird dynamisch am ersten Eingang des
logischen Verknüpfungsgliedes 128 gespeichert, wenn das Taktsignal 0p auf einen logischen Pegel "0" umschaltet,
kurz nachdem der zweite Taktzyklus beginnt. In änlicher Weise wird der Pegel des logischen Ausganpsignals vom
logischen Verknüpfungsglied 124 dynamisch am ersten Eingang des logischen Verknüpfungsgliedes 130 gespeichert,
wenn das Taktsignal 02 auf einen tiefen Pegel umschaltet.
Unmittelbar vor dem Beginn des zweiten Taktzyklus ist das Taktsigial 02' auf einem logischen Pegel "1", wodurch die
Leitung 87 und die Leitung 50 auf einen tiefen Pegel gebracht wrden. Es sei in Erinnerung gebracht, daß während
dieser Zeit die Schiene 10 auf einen hohen Pegel vorab aufgeladen wird. Wenn der zweite Taktzyklus beginnt,
schaltet das Signal 02' auf einen tiefen Pegel um, so daß die logischen Verknüpfungsglieder 128 und 130 aktiviert werden. Bei dem Beispiel, in welchem B7C eine logische "1" und D76 eine logische "0" ist, schaltet die
Leitung 87 nun auf eine logische "1" um, um das Ausgangssignal des Blockes 12 auf die Schiene 10 zu bringen, während
die Leitung 50 auf einem logischen Pegel "0" bleibt.
Während der Ausführung eins Befehls, welcher eine indizierte
Adressierung verwendet, ist die Leitung 138 auf einem logischen Pegel "1", während die Leitung 122 auf einem logischen
Pegel "0" ist. Da kein Verzweigungsbefehl eine Indexadressierung oder eine indizierte Adressierung verwendet, ist zu die-
030011/0922
ser Zeit das Steuersignal BHC auf einem logischen Pegel "0M.
Es ist also angenommen, daß die Leitung 126 und die Leitung 127 auf einem logischen Pegel "0" sind. Unter Annahme, daß
das Steuersignal B7C auf einem logischen Pegel "1" ist,
wodurch angezeigt wird, daß ein Übertragausgangssignal von der Addition von Operanden niedriger Ordnung herrührt, ist das Ausgangssignal des logischen Verknüpfungsgliedes 123 auf einem logischen Pegel "0", während das Ausgangssignal des logischen Verknüpfungsgliedes 124- auf einem logischen Pegel "1" ist. Wenn der zweite Taktzyklus beginnt und das Signal 0p1 auf einen tiefen Pegel umschaltet, dann schaltet die Leitung 87 auf einen logischen Pegel "1" um, um
das Ausgangssignal des Blockesd12 auf die Schiene 10 zu
bringen, während die Leitung 50 auf einem logischen Pegel »Ό" bleibt.
wodurch angezeigt wird, daß ein Übertragausgangssignal von der Addition von Operanden niedriger Ordnung herrührt, ist das Ausgangssignal des logischen Verknüpfungsgliedes 123 auf einem logischen Pegel "0", während das Ausgangssignal des logischen Verknüpfungsgliedes 124- auf einem logischen Pegel "1" ist. Wenn der zweite Taktzyklus beginnt und das Signal 0p1 auf einen tiefen Pegel umschaltet, dann schaltet die Leitung 87 auf einen logischen Pegel "1" um, um
das Ausgangssignal des Blockesd12 auf die Schiene 10 zu
bringen, während die Leitung 50 auf einem logischen Pegel »Ό" bleibt.
Die Leitung 126 und die Leitung 127 werden mit der (nicht dargestellten) anderen Dekodierschaltung verbunden, um
den Block 12 und das Register 16 in die Lage iu versetzen, die Schiene 10 für solche anderen Befehle zu treiben, die keine indizierte oder relative Adressierung verwenden.
den Block 12 und das Register 16 in die Lage iu versetzen, die Schiene 10 für solche anderen Befehle zu treiben, die keine indizierte oder relative Adressierung verwenden.
030011/0922
Claims (12)
- Addierschaltung für einen Datenprozessor, dadurch gekennzeichnet , daß eine erste Schaltung (6) vorgesehen ist, um ein erstes digitales Signal zu liefern, welches eine erste vorgegebene Anzahl von Bits enthält, daß weiterhin eine zweite Schaltung (20, 21) vorhanden ist, um ein zweites digitales Signal zu liefern, welche eine zweite vorgegebene Anzahl von Bits aufweist, daß die zweite vorgegebene Anzahl größer ist als die erste vorgegebene Anzahl, daß das zweite digitale Signal als eine Gruppe von Bits mit dem höchsten Stellenwert und als eine Gruppe von Bits mit dem geringsten Stellenwert ausgebildet ist, daß die Gruppe mit dem geringsten Stellenwert eine erste vorgegebene Anzahl von Bits aufweist, daß die Gruppe mit dem höchsten Stellenwert einem ersten Binärwert entspricht, daß weiterhin eine Arithmetikschaltung (28) vorgesehen ist, die einen ersten Eingang (A) aufweist, der mit der ersten Schaltung zur Aufnahme des ersten digitalen Signals verbunden ist, die weiteren einen zweiten Eingang (B) aufweist, der mit der zweiten Schaltung zur Aufnahme der Grus« von Bits mit dem geringsten Stellenwert verbunden ist, daß die Arithmetikschaltung eine arithmetische Operation bei den Bits ausführt, die von dem ersten und dem zweiben Eingang empfangen werden, um ein Ergebnis (Σ) mit dem geringsten Stellenwert zu liefern, welches eine feste vorgegebene Anzahl von Bits aufweist, daß die Arithmetikschaltung weiterhin ein Ubertragsignal liefert, um anzuzeigen, ob ein Übertragausgangssignal aus der Operation herrührt, welche durch die Arithmetikschaltung ausgeführt wurde, daß weiterhin eine dritte Schaltung (12) mit der zweiten Schaltung verbunden ist, um eine Gruppe von Bits mit dem höchsten Stellenwert aufzunehmen und ujt eine inkrementierte Gruppe von Bits zu liefern, wobei die inkrementierte Grupe von Bits einem zweiten Binärwert entspricht, der um eins größer ist als der erste Binärwert, daß wei-030011/0922terhin eine vierte Schaltung (10, 16) mit der dritten Schaltung verbunden ist, um die inkrementierte Gruppe von Bits aufzunehmen, daß die vierte Schaltung mit der zweiten Schaltung verbunden ist, um die Gruppe der Bits mit dem höchsten Stellenwert aufzunehmen, daß die vierte Schaltung auf das Übertragsignal anspricht, um entweder die Gruppe der Bits mit dem höchsten Stellenwert oder die inkrementierte Gruppe von Bits auszuwählen und die ausgewählten Bits als ein Ergebnis mit höchstem Stellenwert zu liefern.
- 2. Schaltung nach Anspnch 1, dadurch gekennzeichnet, daß die zweite vorgegebene Anzahl gleich dem zweifachen Wert der ersten vorgegebenen Anzahl ist, so daß die Gruppe der Bits mit dem höchsten Stellenwert die erste vorgegebene Anzahl von Bits enthält.
- 3. Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Arithmetikschaltung (28) eine binäre Addierstufe aufweist, welche dazu geeignet ist, zwei Binärworte zu addieren, um das Ergebnis mit dem gerippten Stellenwert zu liefern, daß jedes der Binärworte die erste vorgegebene Anzahl von Bits enthält, daß die binäre Addierstufe auf dazu geeignet ist, das Übertragsignal als einen ersten logischen Pegel zu liefern, wenn eine Addition der zwei Binärworte ein Übertragausgangssignal liefert, während das Übertragsignal als ein zweiter logischer Pegel geliefert wird, wenn die Addition kein Übertragausgangssignal liefert.
- 4. Schaltung nach Anspruch 3, dadurch gekennzeichnet, daß die vierte Schaltung ein temporäres Register (16) und eine digitale Schiene (10) aufweist, daß das temporäre Register temporär die Gruppe von Bits mit dem höchsten Stellenwert speichert und daß die digitale Schiene mit dem temporären Registerund mit der dritten Schaltung (12) verbunden ist, um die ausgewählten Bits zu übertragen.030011/0922
- 5. Schaltung nach Anspruch 4, dadurch gekennzeichnet, daß die vierte Schaltung die Gruppe der Bits mit dem höchsten Stellenwert aus dem temporären Register auswählt und auf die digitale Schiene bringt, wenn das Übertragsignal sich auf dem zweiten logischen Pegel befindet, und die Gruppe der inkrementierten Bits aus der dritten Schaltung auswählt und auf die digitale Schiene bringt, wenn das Übertragsignal sich auf dem ersten logischen Pegel befindet.
- 6. Schaltung nach Anspruch 3» dadurch gekennzeichnet, daß das erste digitale Signal ein Polaritätssignal (DB7) aufweist, welches einen ersten und einen zweiten logischen Pegel hat, daß das Polaritätssignal af einem ersten logischen Pegel ist, wenn das erste digitale Signal positiv ist, und daB das Polaritätssignal auf dem zweiten logischen Pegel ist, wenn das erste digitale Signal negativ ist.
- 7. Schaltung nach Anspruch 6, dadurch gekennzeichnet, daß die dritte Schaltung (12) einen Steuereingang (106) aufweist, welcher dazu dient, das Polaritätssignal aufzunehmen, daß die dritte Schaltung die Gruppe der inkrementierten Bits liefert, wenn das Polaritätssignal auf einem ersten logischen Pegel ist, daß die ddtte Einrichtung derart ausgebildet ist, daß sie eine Gruppe von dekrementierten Bits liefert, wenn das Polaritätssignal auf dem zweiten logischen Pegel ist, und daß die Gruppe von dekrementierten Bits einem dritten Binärwert entspricht, der um eins kleiner ist als der erste Binärwert.
- 8. Schaltung nach Anspruch 7« dadurch gekennzeichnet, daß die vierte Schaltung eine logische Verknüpfungsschaltung (117) aufweist, welche auf das Übertragsignal anspricht und auf das Pdaritätssignal (D76) anspricht, um ein Auswahlsignal (118) zu liefern, welches einen ersten und einen zweiten logischen Pegel aufweist, daß die virte030011/0922Schaltung derart arbeitet, daß die Gruppe von Bits mit dem höchsten Stellenwert ausgewählt wird, wenn das Auswahlsignal auf dem ersten logischen Pegel ist, und daß die Schaltung derart arbeitet, daß die Gruppe von inkrementierten oder dekrementierten Bits ausgewählt wird, wenn das Auswahlsignal auf dem zweiten logischen Pegel ist.
- 9. Verfahren zum Addieren eines ersten Operanden, der m Bits aufweist, zu einem zweiten Operanden, der m + η Bits aufweist, die derart gruppiert sind, daß eine Gruppe von m Bits mit dem höchsten Stellenwert und eine Gruppe von η Bits mit dem geringsten Stellenwert vorhanden ist, wobei der erste Operand und die Gruppe mit dem geringsten Stellenwert addiert werden, um ein Ergebnis von m Bits mit geringstem Stellenwert zu erreichen, daß von der Addition ein Übertragsignal abgeleitet wird, welches anzeigt, ob während dee Additionsvorganges ein Übertragausgangssignal erzeugt wurde, dadurch gekennzeichnet , daß die Gruppe der Bits mit dem höchsten Stellenwert modifiziert wird, so daß eine modifizierte Gruppe von η Bits entsteht, daß bei dem Modifikationsschritt ein weiterer Arbeitsschritt eingeschlossen ist, bei welchem in selektiver Weise die Gruppe der Bits mit dem höchsten Stellenwert inkrementiert wird, so daß eine inkrementierte Gruppe von Bits gebildet wird, und daß entweder die Gruppe von Bits mit dem höchsten Stelinwert oder die Gruppe von modifizierten Bits ausgewählt wird, um ein Ergebnis von η Bits mit dem höchsten Stellenwert zu erreichen, wobei die Auwahl eine Funktion des Übertragsignals ist.
- 10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß die Gruppe der Bits mit dem höchsten Stellenwert temporär in einem Register abgespeichert -wird.030011/0922
- 11. Verfahren nach Anspruch 9> dadurch gekennzeichnet, daß der erste Operand ein Vorzeichen-Bit einschließt, um sowohl eine positive als auch eine negative Größe anzuzeigen, daß der Modifikationsschritt den Schritt der selektiven Dekrementierung der Gruppe der Bits mit dem höchsten Stellenert einschließt, um eine Gruppe von dekrementierten Bits zu bilden, und daß die Auwahl eines InkrementierSchrittes oder eines Dekrementierschrittes durch das Vorzeichen-Bit des ersten Operanden bestimmt wird.
- 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß der Auswahlschritt für die Gruppe von Bits mit dem höchsten Stellenwert oder der Gruppe von modifizierten Bits eine Funktion des Vorzeichen-Bits des ersten Operanden ist.030011/0922
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/939,724 US4203157A (en) | 1978-09-05 | 1978-09-05 | Carry anticipator circuit and method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2935857A1 true DE2935857A1 (de) | 1980-03-13 |
Family
ID=25473608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792935857 Withdrawn DE2935857A1 (de) | 1978-09-05 | 1979-09-05 | Verfahren und schaltungsanordnung zur durchfuehrung von additionen |
Country Status (6)
Country | Link |
---|---|
US (1) | US4203157A (de) |
JP (1) | JPS5537689A (de) |
DE (1) | DE2935857A1 (de) |
FR (1) | FR2435754A1 (de) |
GB (1) | GB2029613B (de) |
MY (1) | MY8600720A (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4360891A (en) * | 1980-04-14 | 1982-11-23 | Sperry Corporation | Address and data interface unit |
EP0044450B1 (de) * | 1980-07-10 | 1985-11-13 | International Computers Limited | Digitale Addierschaltung |
US4426680A (en) | 1980-12-24 | 1984-01-17 | Honeywell Information Systems Inc. | Data processor using read only memories for optimizing main memory access and identifying the starting position of an operand |
US4638449A (en) * | 1983-06-15 | 1987-01-20 | International Business Machines Corporation | Multiplier architecture |
JPS6149233A (ja) * | 1984-08-17 | 1986-03-11 | Nec Corp | 高速デジタル加減算回路 |
US4685078A (en) * | 1984-10-31 | 1987-08-04 | International Business Machines Corporation | Dual incrementor |
JPS61239327A (ja) * | 1985-04-16 | 1986-10-24 | Nec Corp | オ−バフロ−検出方式 |
JPH02259926A (ja) * | 1989-03-31 | 1990-10-22 | Hitachi Ltd | 加算制御方式 |
US5101370A (en) * | 1990-07-26 | 1992-03-31 | Unisys Corporation | Programmable digital accumulate and scale circuit |
US5418736A (en) * | 1994-03-11 | 1995-05-23 | Nexgen, Inc. | Optimized binary adders and comparators for inputs having different widths |
EP0730220A3 (de) * | 1995-03-03 | 1997-01-08 | Hal Computer Systems Inc | Verfahren und Vorrichtung zur schnellen Ausführung von Verzweigungsbefehlen |
DE10051284A1 (de) * | 2000-10-16 | 2002-04-25 | Systemonic Ag | Datenpfadanordnung |
US20030088602A1 (en) * | 2001-11-08 | 2003-05-08 | Koninklijke Philips Electronics N.V. | High-speed computation in arithmetic logic circuit |
GB2402757B (en) * | 2003-06-11 | 2005-11-02 | Advanced Risc Mach Ltd | Address offset generation within a data processing system |
US6930517B2 (en) * | 2003-09-26 | 2005-08-16 | Semiconductor Components Industries, L.L.C. | Differential transistor and method therefor |
US7629892B1 (en) * | 2006-12-12 | 2009-12-08 | Demott Charles E | Restraining device and method of use |
CN112416294B (zh) * | 2020-11-20 | 2022-09-16 | 安谋科技(中国)有限公司 | 处理器及其二进制累加方法和计算机可读介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3100835A (en) * | 1960-01-06 | 1963-08-13 | Ibm | Selecting adder |
US3100836A (en) * | 1960-02-24 | 1963-08-13 | Ibm | Add one adder |
US3316393A (en) * | 1965-03-25 | 1967-04-25 | Honeywell Inc | Conditional sum and/or carry adder |
JPS5061962A (de) * | 1973-09-29 | 1975-05-27 | ||
JPS54159831A (en) * | 1978-06-07 | 1979-12-18 | Fujitsu Ltd | Adder and subtractor for numbers different in data length using counter circuit |
-
1978
- 1978-09-05 US US05/939,724 patent/US4203157A/en not_active Expired - Lifetime
-
1979
- 1979-07-25 GB GB7925896A patent/GB2029613B/en not_active Expired
- 1979-08-21 JP JP10655579A patent/JPS5537689A/ja active Pending
- 1979-09-05 DE DE19792935857 patent/DE2935857A1/de not_active Withdrawn
- 1979-09-05 FR FR7922239A patent/FR2435754A1/fr active Granted
-
1986
- 1986-12-30 MY MY720/86A patent/MY8600720A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
GB2029613B (en) | 1983-05-05 |
GB2029613A (en) | 1980-03-19 |
MY8600720A (en) | 1986-12-31 |
FR2435754B1 (de) | 1983-08-26 |
FR2435754A1 (fr) | 1980-04-04 |
JPS5537689A (en) | 1980-03-15 |
US4203157A (en) | 1980-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2935857A1 (de) | Verfahren und schaltungsanordnung zur durchfuehrung von additionen | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE2542740C2 (de) | Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung | |
DE2755273C2 (de) | ||
EP0048767B1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE3424962C2 (de) | ||
DE2813128C2 (de) | Steuereinrichtung für Mikroprogrammspeicher | |
DE2756890C2 (de) | Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten | |
DE2935906C2 (de) | Mikroprozessor | |
DE2907181A1 (de) | Befehlssatz-modifizierregister fuer einen datenprozessor | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2234867A1 (de) | Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE3121742C2 (de) | Mikroprogramm-Steuereinrichtung | |
DE1197650B (de) | Parallel-Addierer | |
DE19618120B4 (de) | Parallelverarbeitungs-Divisionsschaltung | |
DE2725614C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE1223177B (de) | Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen | |
DE3428424A1 (de) | Verfahren und zentralprozessor fuer eine ablaufsteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |