DE2626432C2 - Arithmetische Einheit für automatische Rechengeräte - Google Patents

Arithmetische Einheit für automatische Rechengeräte

Info

Publication number
DE2626432C2
DE2626432C2 DE2626432A DE2626432A DE2626432C2 DE 2626432 C2 DE2626432 C2 DE 2626432C2 DE 2626432 A DE2626432 A DE 2626432A DE 2626432 A DE2626432 A DE 2626432A DE 2626432 C2 DE2626432 C2 DE 2626432C2
Authority
DE
Germany
Prior art keywords
circuit
sign
bit
operand
operands
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
Application number
DE2626432A
Other languages
English (en)
Other versions
DE2626432A1 (de
Inventor
David Norman Endicott N.Y. Gooding
Everett Montague Endwell N.Y. Shimp
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2626432A1 publication Critical patent/DE2626432A1/de
Application granted granted Critical
Publication of DE2626432C2 publication Critical patent/DE2626432C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
    • G06F7/494Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Description

i7. Arithmetische Einheit nach einem der Ansprüche ! bis !6, dadurch gekennzeichnet, däö «nsteüe des Binäraddierers (20) ein Binärsubtrahierer tenutzt wird bei gleichzeitiger Umkehrung der Addition/Subtraktion-Operationssteuerung in der Vorzeichenverarbeitungsschaltung (40).
Die Erfindung betrifft eine arithmetische Einheit für automatische Rechengeräte zur Addition oder Subtraktion von binär oder binärdezimal verschlüsselten Operanden mit einem Paralleladdierer, dessen Operandeneingänge und dessen Resultatausgang über je eine Modifizierschaltung geführt sind, die auswählbare Teile der Operanden und des Resultats auf vorgegebene Werte einstellen.
In Datenverarbeitungsanlagen sind häufig Rechenoperationen mit Operanden auszuführen, die binärdezimal verschlüsselt sind. Die arithmetischen Einheiten solcher Anlagen sind deshalb zumeist als Dezimalrechenwerke ausgelegt, obwohl die Arbeitsgeschwindigkeit von Binärrechenwerken naturgemäß wesentlich höher ist. Erschwerend kommt hinzu, daß die in Datenverarbeitungsanlagen verwendeten Codesysteme zur Darstellung von alphanumerischen Daten und von einer Anzahl von Sonderzeichen geeignet sein müssen. Ein Beispiel für ein solches Codesystem ist der EBCDIC-Code. In einem derartigen Code verschlüsselte numerische Ziffern bilden eine Untermenge der insgesamt benutzten Zeichen. Ein Zeichen kann durch ein Byte dargestellt werden, das aus zwei Vier-Bit-Gruppen besteht, von denen jede eine Hexadezimalziffer mit einem der 16 Symbole 0,1 hjs 9 und A bis /"darstellt. Die 2* - 256 darstellbaren Zeichen können somit jeweils als zwei HexadezimalzifTcm beschrieben werden. In einem solchen Ziffernpaar wird die li.ike Hexadezimalziffer »Zone» genannt. Man bezeichnet daher derart verschlüsselte Dezisralziffern als Ziffern im Zonen-Dezimalformat. Für die eigentliche Zifferndarstellung ist der Zonencode redundant; er dient jedoch als Kategoriencode, um die numerischen Daten von den alphabetischen Daten und von den Sonderzeichen zu unterscheiden. Für die Zifferndarstellung nimmt daher der Zonencode jeweils einen festen Wert ein. Beim EBCDIC-Code ist dies der Hexadezimalwert F.
Herkömmliche Dezimalrechenwerke können Dezimalziffem im Zonen-Dezimalformat nicht verarbeiten. Um dies zu ermöglichen, sind die numerischen Daten umzuformen in das sogenannte gepackte Dezimalformat, in dem jede DezimalzifTer nur noch aus einer einzigen Vier-Bit-Gruppe besteht. Andererseits müssen die am Ausgang des Rechenwerkes erhaltenen Resultatwerte erneut zurückverwandelt werden in das Zonen-Dezimalformat, um mit den anderen Daten hinsichtlich Speicherung sowie Ein- und Ausgabe kompatibel zu sein. Diese Codeumsetzoperationen erfordern jedoch einen erheblichen Anteil Verarbeitungszeit und tragen damit entscheidend zu einer Verringerung der Arbeitsgeschwindigkeit der Dezimalrechenwerke bei.
Es ist bereits ein Rechenwerk bekannt, das in der Lage ist, sowoh! Operanden im gepackten Dezimalformat als auch Operanden im Zonen-Dezimalformat zu verarbeiten (DE-OS 23 35 661). Dieses Rechenwerk besteht aus einem Subtrahierwerk mit Borger-Vorausschau. Bei der Verarbeitung von Operanden im Zonen-Dezimaiformal wird die Borger-Vorausschauschaltung durch logische Schaltmittel so abgeändert, daß bei der Borger-Vorausschau die Bits der Zonenfelder umgangen werden und ein Borger-Ausgangssignal der höchsten Bitstelle als Borger-Ausgangssignal eines Bytes dient. Wenn z. B. mehrstellige, im Zonen-Dczimalformai vorliegende Operanden addiert oder subtrahiert werden sollen, werden die einzelnen Zonen-Ziffern in der aufsteigenden Ziffcrnstellcnfolgc durch aufeinanderfolgende Maschinenzyklen verarbeitet, wobei der Borger-Ausgang eines Maschinenzykius gespeichert und als Borger-Eingang des nächsten Maschinenzyklus benutzt wird. Hierbei vorhindert die Umgehung der Borger-Vorausschauschaltungcn der Zonenfclder, daß diese die Ergebnisse der Rechenoperationen verfälschen. Eine solche Arbeitsweise erfordert jedoch einen gewissen zusätzlichen Zeitaufwand. So sind zum Beispiel für die Schaltungen zur Umgehung der Zonenfelder zwei Logik-Stufen pro Byte notwendig.
Es ist bekannt, ein Addierwerk vorgegebener Wortlänge zur Addition von Operanden veränderlicher Feldlänge zu benutzen, indem dem Addierwerk aus den beiden Operandenregistern die zu addierenden Operandenleider unverändert zugeführt und alle außerhalb dieser Felder liegenden Teile des Wortes für den einen
Operandencingang durch Nullen und für den anderen Operandeneingang durch Einsen ersetzt werden (DE-AS 19 39 946). Das zu addierende Feld kann innerhalb der gesamten Wortlänge linksbündig, rechtsbündig oder /v> ischen den Wortlängengrenzen liegen, ohne daß die auszuführende Addition gestört wird. Dies wird auch dadurch sichergestellt, daß ausgangsseitig nur diejenigen Resultatsziffern weitergeleitet werden, die den zu s addierenden Feldern entsprechen. Di: Auswahl der zu addierenden Operandenfelder und des zugehörigen Resultatfeldes geschieht über logische Schaltungen, die durch den Inhalt eines Maskenregisters gesteuert werden. Dieses Verfahren ist lediglich für die Addition einheitlicher und homogener Felder bestimmt, wie z. B. für die Addition zweier Binarzahlen. Für die Verarbeitung von wahlweise in unterschiedlichen Formaten zuführbaren Operanden wäre das bekannte Verfahren nur mit erheblichem Programmierungsaufwand anwendbar, wodurch sich die Verknüpfungszeiten stark erhöhen.
Aufgabe der Erfindung ist es, eine arithmetische Einheil der eingangs genannten Art anzugeben, die eine schnelle Addition oder Subtraktion von Operanden gestattet, die sowohl binär als auch binärdezimal im Zonen-Dezimal-Format oder im gepackten Dezimallbrmat verschlüsselt sein können.
Die Maßnahmen zur Lösung dieser Aufgabe sind im Patentanspruch 1 gekennzeichnet. Verschiedene vortcilhafte Ausgestallungen und Weiterbildungen der Erfindung sind aus den Unleransprüchen ersichtlich.
Nachfolgend ist ein Ausfuhrungsbeispiel der Erfindung anhand von Zeichnungen beschrieben. Hs zeigt
Fig. 1 ein vereinfachtes Blockschaltbild eines Ausführungsbcispiels der arithmetischen Einheit gemäß der Erfindung,
Fig. 2 eine schematische Darstellung von Datenformaten für die Dezimalziffern, die mit der Einheit von Fig. 1 verarbeitet werden können,
F i g. 3 eine schematische Schaltung einer Steuereinheit zur Erzeugung von Steuersignalen für den Betrieb der arithmetischen Einheit von Fig. 1,
Fig. 4 ein Ausführungsbeispiel des Modifizierers 23 von Fig. I.
Fig. 5 ein Schaltbild von Torschaltungen, wie sie im Modifiziercr gemäß Fig. 4 Verwendung finden können, Fig. 6 eine Ausführungsform des Komplementierers/Modifizieres 33 von Fig. I,
Fig. 7 ein Schaltbild einer logischen Schallung, wie sie im Komplementierer/Modifizierer von F i g. 6 verwendet werden,
Fig. 8 ein Ausführungsbeispiel der Vorzeichenverarbeitungsschaltung von Fig. I,
Fig. 9 ein Schaltbild eines Minusvorzeichendetektors, wie er >n der Schaltung von Fig. 8 verwendet werden kann,
Fig. 10 ein Ausführungsbeispiel der Korrekturschaltung 50 von Fig. 1.
Fig. 11-13 verschiedene logische Schaltungen, wie sie in der Korrekturschaltung von Fig. IU verwendet werden können und
Fig. 14 ein Ausführungsbeispiel für den Komplementdetektor 65 von Fig. 1.
Die Schaltungsanordnung von F ig. 1 stellt eine arithmetische Einheit 10 dar zur Ausführung von Rechenoperationen mit mehrstelligen binärcodierten Dezimalzahlen, die entweder im Zonendezimalformat oder im gepackten Dezimalformat vorliegen. Die arithmetische Einheit 10 kann ferner binäre Rechenoperationen sowie andere übliche Datenverarbeitungsoperationen ausführen. Sie eignet sieh besonders als arithmetische und logische Einheit für leistungsfähige Mehrzweek-Datcnverarbeitungsanlagen.die fest verdrahte! odermikroprogrammiert sind. Zur Vereinfachung der Darstellung wird angenommen, daß die Funktionseinheiten und die diese verbindenden Sammelleitungen eine DatenfluBbreite von 4 Bytes (32 Bits) besitzen. Die Erfindung ist jedoch nicht auf eine derartige Datenflußbreite beschränkt, sondern mit Vorteil auch bei größeren Datenflußbreiten anwendbar.
Über Eingangssammelleitungen 11 und 12 werden der arithmetischen Einheit 10 Operanden im Zonen-Dezi-•»5 malformat oder im gepackten Dezimalformat oder im Binärformat zugeführt. Das in Fig. 2 bei 13 dargestellte Zonen-Dezimalformat besteht aus einer Folge von Wbinären Bits, die unterteilt ist in sich abwechselnde yV-Bit-Zonenfelder und /V-Bit-Ziffernfelder. Im dargestellten Ausführungsbeispiel ist M = 32 und N = 4. Die Zonenfelder sind mit 14 a, 14*, 14 rund 14 d bezeichnet und die Ziffernfelder mit ISo, 15 b, 15 c und iSd. Der Stellenwert der Ziffern steigt von rechts nach links; die werthöchste Ziffer steht links und die wertniedrigste rechts. Das mit 14 d bezeichnete Zonenfeld neben dem wertniedrigsten Ziffernfeld 15 d wird als Vorzeichenanzeigefeld benutzt. Die vier Bits in diesem Feld geben an, ob der dargestellte Operand positiv oder negativ ist. Jedes Byte der Zonen-Dezimalziffern besteht aus 8 binären Bits, wobei die vier werthohen Bits ein Zonenfeld und die vier wertniedrigen Bits ein Ziffernfeld bilden. Das Byte 0 umfaßt z. B. ein Zonenfeld 14 α und ein Ziffernfeld 15 a. Jedes 8 Bit große Byte des Zonen-Dezimalformats entspricht einem Zeichen im EBCDIC-Code, der von einer großen Anzahl bekannter Eingabe- und Ausgabeeinheiten benutzt, die Daten an eine Datenverarbeitungsanlage liefern oder von dort empfangen. Sofern es sich um numierische Daten handelt, stellt jedes vierstellige Ziffernfeld eine Dezimalziffer dar. Die in diesem Feld enthaltenen Bits sind binärdezimal mit den Gewichten 8-4-2-1 codiert. Dieser Code ist in der nachfolgenden Tabelle aufgeführt.
Tabelle I I)c/im;il/illOr Binärcodierte Dezimal/ifl'er
0 0000
1 0001
2 0010
3 0011
4 0100 °
5 0101
6 0110
7 Olli
8 1000
9 1001
Für numerische Daten hat der EBCDIC-Zonencode den Wert »111 1«, d. h., jedes der vier Bits im Zonenfeld
iiiit ucFi UiMaTwCTt ι.
Die zulässigen Vorzeichencodes im Feld 14t/ sind in der folgenden Tabelle II dargestellt.
Tabelle II Hex-Code Binärcode
Vorzeichen A 1010
+ B 1011
- C 1100
+ D 1101
- E 1110
+ F 1111
+
Mit diesen Zonen-, Zahlen- und Zeichencodes kann die positive Dezimalzahl +1975 im Zonen-Dezimalformat durch die nachstehende Folge von 32 binären Ziffern dargestellt werden: 35
11 π υυυι im iuui im Olli im uiui
worin der Anfangscode 1111 das positive Vorzeichen darstellt.
Für verschiedene Zwecke ist die Hexadezimaldarstellung mit der Basis 16 günstiger. Die Beziehung zwischen 40 Dezimalziffern und den entsprechenden Hcxadezimalziffcm sowie den vier Bits umfassenden Binärcodes der llcxadezimalziffern zeigt die nachstehende Tabelle III.
Tabelle III Dczimal/ilTer Hexadezimal- Binärcodiertc
/ilTer HexadezimalzilTcr
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 OUO
7 7 Olli
8 8 1000
9 9 1001
10 A 1010
II B 1011
12 C 1100
13 D 1101
14 E 1110
Ϊ5 F iill
50
M) 65
In dieser hexadezimalen Schreibweise kann die Dezimalzahl +1975 im Zonendezimairormat in der folgenden Weise dargestellt werden:
F\ F) Π Α 5
Worin das Hexadezimalzeichenfzur Bezeichnung des Zonenfeldcodes 1111 benutzt wird. Dasllexadezimalforntul ist leichter zu benutzen als die reine Binärdarslellung und wird hierin auch gelegentlich zur Wiedergabe von binären Bitfolgen verwendet. Wie der Vergleich der Tabellen I und 111 zeigt, sind die Binärcodes tür die Ziffern 0 bis 9 im Dezimalsystem und im Hexadezimalsystem identisch. Wie aus Tabelle 111 ersichtlich ist, benutzt das Hexadezimalsystem alle möglichen Kombinationen von Einsen und Nullen, die in einer Gruppe von vier Bits auftret :n können. Aus diesem Grund wird ein aus vier Bits bestehendes Feld auch manchmal als Hexadezimalfeld bezeichnet. Insbesondere werden im Sinne einer allgemeinen Identifizierung die acht Vier-Bit-Feld-Positionen in Fig. 2 als Hexadezimalfelder 0 bis 7 bezeichnet, wobei das Hexadezimalfeld 0 das werthöchste und das Hexadezimalfeld 7 das wertniedrigste Feld ist.
Das gepackte Dezimalformat für binärcodierte Dezimalziffern ist in F i g. 2 bei 16 dargestellt. Die Reihenfolge
der 32 binären Bits ist wiederum in acht Felder zu je vier Bits unterteilt. In diesem Falle ist jedoch jedes dieser
Felder ein Ziffernfeld mit Ausnahme des wertniedrigsten Feldes 7, das zur Vorzeichendarstellung dient. Jedes
der Felder benutzt die in Tabelle I angegebene Binärdezimalcodierung. Im Vorzeichenleld wird ein Binärcode gemäß Tabelle II verwendet.
Die Dezimalzahl +1975 hätte im gepackten Dezimalformat die folgende Form:
0000 0001 1001 Olli 0101 1100
worin der Code 1100 das positive Vorzeichen angibt. In Hexadezimaldarstellung wird dieser Ausdruck zu 01975 C.
Die vier rührenden Nullen im gepackten Dezimalformat entsprechen einer führenden Null in Hexadczimaldarstellung. Sie dienen dazu, die Gesamtzahl von Bits im dargestellten Ausdruck einer ganzen Zahl von Bytes anzupassen, da die Verarbeitungseinheiten üblicherweise eine Datenflußbreite entsprechend einer ganzen Anzahl von Bytes aufweisen.
In einer bekannten Datenverarbeitungseinheit werden die numerischen Daten von den Eingabegeräten im Zonen-Dezimalformat empfangen. Diese Daten werden daraufhin in das gepackte Dezimalformat umgesetzt, bevor mit ihnen Rechenoperationen ausgeführt werden. Diese Umsetzung geschieht dadurch, daß man die Zonenfelder entfernt und die relative Position des Vorzeichenfeldes verändert. Die sich ergebenden Ziffernfelder und das Vorzeichenfeld werden in der aus Fig. 2 ersichtlichen Art nebeneinandergesetzt. Nach Durchführung der gewünschten Rechenoperation wird die resultierende Zahl in das Zonen-Dezimalformal zurückverwandelt, in der sie zu einem Ausgabegerät übertragen wird. Im Gegensatz hierzu verarbeitet die in F i g. I dargestellte arithmetische Recheneinheit numerische Daten im Zonen-Dezimalformat, so daß diese nicht erst in das gepackte Dezimalformat umgesetzt werden müssen. Die arithmetische Einheit 10 kann jedoch auch numerische Daten verarbeiten, die im gepackten Dezimalformat oder in reiner Binärform vorliegen.
Die Einheit 10 von Fig. 1 weist eine binäre Rechenschaltung in Form eines Paralleladdierers 20 auf, der mit Übertragsvorausschaltungen zur Addition von zwei jeweils 32 Bits umfassenden binären ZiiTcrnfoigen versehen ist zur Erzeugung einer 32 Bits umfassenden AusgabezifTernfolge. welche die Summe der beiden Eingabebitfolgen darstellt. Der Addierer 20 besitzt keine besonderen Schaltungen zur Berücksichtigung der Eigenarten von Zonen-Dezimalzahlen. Die an die beiden Eingangsseiten angelegten Eingabebitfolgen werden so behandelt, als ob es sich um teine Binärzahlen handeln würde, und die resultierende Ausgabebitfolge stellt oie Summe der beiden Eingabebitfolgen als reine Binärzahl dar.
Die Einheit 10 umfaßt des weiteren eine erste Eingangsschaltung in Form einer Λ-Eingangsdatensammelleitung 11, eines A-Registers 21, einer Datensammelleitung 22, eines Modifizierers 23 und einer Datensammelleitung 24. Diese Teile bestehen jeweils aus 32 Leitungen bzw. Registerstufen zur Übertragung der 32 Bits umfassenden Eingabedatenfolge zum Α-Eingang des Addierers 20.
Der Modifizierer 23 gestattet vier Betriebsarten. Wenn die Recheneinheit 10 reine Binärzahlen verarbeitet, leitet der Modifizierer 23 diese unverändert zum Addierer20 weiter. Wenn die Einheit 16 Zonen-Dezimalzahlen verarbeitet, verändert der Modifizierer 23 in den Zonen- und Vorzeichenfeldern alle von Null verschiedenen Bits in Nullwerte. Die Bits in den ZifTernfeldern werden dagegen nicht verändert. Die sich ergebende Bitfolge wird dem Α-Eingang des Addierers 20 zugeführt.
Im Fall von numerischen Eingabedaten, die im gepackten Dezimalformat vorliegen, stellt der Modifizierer 23 die vier Bits im Vorzeichenfeld auf den Wert 0.
Die vierte Betriebsart ist für den Rekomplementierbetrieb vorgesehen, der dazu dient, die Resultatzahl vom Ausgang des Addierers 20 emeut umzusetzen. In diesem Fall bringt der Modifizierer 23 alle 32 Ausgangsbits auf den Wert 0, so daß der dem Addierer 20 zugeführte Wert 0 ist.
Die jeweilige Betriebsart des Modifizierers 23 wird durch externe Steuersignale eingestellt, die über Leitungen 26 bis 28 und 30 zugeführt werden. Ein Übertragungssteuersignal auf der Leitung 29 veranlaßt eine Übertragung des im Register 21 gespeicherten Operanden durch den Modifizierer 23 zum Addierer 20.
Die arithmetische Einheit 10 enthält ferner eine zweite Eingangsschaltung zum Empfang des zweiten Operanden und zu dessen Weiterleitung zum B-Eingang des Addierers 20. Diese Eingangsschaltung enthält eine B-Eingangsdatensammelleitung 12, ein B-Register 31, eine Datensammelleitung 32, einen Komplementierer und Modifizierer 33 und eine Datensammelleitung 34, die mit dem B-Eingang des Addierers 20 verbunden ist. Das Register 31 umfaßt wiederum 32 Registerstufen und die Sammelleitungen je 32 Adern mit Ausnahme der Sammelleitung 32. die 64 Adern aufweist, da vom Register 31 sowohl die echten ais auch die Kompiemenisignaie zum Modifizierer 33 übertragen werden. Der Modifizierer 33 führt vier Betriebsarten aus, nämlich:
1I) cine Vorbereitung der Dezimalzahlcn in den Zonen- und Vorzeichen-Feldern;
(2) eine Komplementierung von Binär- und Dezimalzahlen zur Auführung von Subtraktionen;
(3) eine »Plus sechs«-Funktion für die Addition von Dezimalzahlen und
(4) eine »Echt«-Funktion für die Addition von Binärzahlen.
Die Betriebsart (I) wird tür Operanden benutzt, die im Zonen-Dezimalformat vorliegen, und bringt alle Nüllbits in den Zonen-und Vorzcichcnfcldernaul den Wert 1, so daß diese Felder jeweils in Form von U 11-Werten dem Addierer 20 zugeführt werden. Wenn es sich um gepackte Dezimalzahlcn handelt, besteht die Vorbereitung darin, daLJ jedes Bit im Vorzeichenfeld auf 1 gesetzt wird.
Mit Hilfe der Komplementfunktion des Modifizierers 33 ist die arithmetische Einheit 10 in der Lage, Subtraktionen auszuführen. Dies geschieht durch Addition des Operanden vom Α-Eingang zum Komplement des Operanden vom B-Eingang. Wenn es sich um Binärzahlen handelt, liefert der Modifizierer 33 das Komplement des Operanden vom B-Register 31 zum Addierer 20. Dasselbe gilt für Dezimaloperanden, jedoch nur für deren Zahlenfeldteil. Die Zonen- und Vorzeichenfelder werden wie oben angegeben auf lauter Einsen eingestellt.
Die Funktion »Plus sechs« wird bei einer Addition mit Dezimalzahlen benutzt. Beim Addieren von Zahlen, die im Zonen-Dezimalformat oder im gepackten Dezimalformat vorliegen, erhöht der Modifizierer 33 den Zahlenwert in jedem Ziffernfeld um den Konstant wert 6, damit die richtigen Stellcnüberträge im Addierer 20 erfolgen Dies ist durch die Differenz der Basiswerte vom Dezimalsystem (Basis 10) und vom Hexadezimalsystem -; (Basis 16) erforderlich. Mit anderen Worten heißt dies, daß ein vier Bit großes Zah!?nf?!d fur flen Addierer 20 als '< HexadezimaiiifTer erscheint, während die Eingabedaten tatsächlich aus Dezimalziffern bestehen. Durch die
Addition det, Konstantwertes 6 zur Dezimalziffer einer gegebenen Wertstelle wird in der vier Bitstufen umfas- \ senden Ziffernstufe der Additionseinrichtung im Modifizierer 33 für diese ZifTemstelle ein Ziffemübertrag .': erzeugt, wenn die Summe der beiden Werte gleich oder größer 10 ist.
., Bei der Subtraktion von Dezimalzahlen braucht keine Addition von sechs zu erfolgen, weil die dann notwen-
■ dige Komplementierung den Unterschied der beiden Zahlensysteme bereits berücksichtigt, indem der Modifi-1 ■ zierer 33 für jedes vier Bit umfassende Ziffernfeld das Komplement zu 15 bilden, was für Dezimalzahlen der BiI- ^ dung des Neunerkomplements und der Addition des Wertes 6 entspricht.
: Bei der Addition von Binärzahlen wird die »Echt«-Funktion benutzt. In diesem Falle läßt der Modifizierer 33
.-■; den Operanden aus dem Register 31 unverändert zum Addierer 20 passieren. Bei der Subtraktion von Binärzah- 4. l^n bewirkt der Modifizierer 33, daß dem Addierer 20 das Komplement des Operanden zugeführt wird. Bei der J·, Addition von Operanden, die im Zonen-Dezimalformat vorliegen, veranlaßt der Modifizierer 33 eine Addition j.; des Wertes 6 zu jedem Ziffernfeld und stellt gleichzeitig die Bits in den Zonen/Vorzeichenfeldern auf 1. Beim i] Subtrahieren von Dezimalzahlen, die im Zonen-Dezimalformat vorliegen, komplementiert der Modifizierer 33 ;i den Inhalt der Ziffernfelder und stellt gleichzeitig die Bits in den Zonen/Vorzeichenfeldern auf 1. Beim Addicts ren von Operanden, die im gepackten Dezimalformat vorliegen, addiert der Modifizicrer 33 den Wert 6 zum fi Inhalt eines jeden Ziffernfeldes und stellt gleichzeitig die Bits im Vorzeichenfeld auf 1. Beim Subtrahieren von S Operanden, die im gepackten Dezimalformat vorliegen, komplementiert der Modifizierer 33 den Inhalt eines H jeden Ziffernfeldes und stellt gleichzeitig die Bits im Vorzeichenfeld auf 1.
f. Die jeweils im Modifizierer 33 auszuführende Operation wird durch externe Steuersignale bestimmt, d;e über
U Leitungen 26 bis 28 zugeführt werden. Ein Steuersignal auf Leitung 36 dient als Startsignal für die Operation, die I der Modifizierer33 mit den im Register31 enthaltenen Daten auszuführen hat. Bei Rechenoperationen mit Ope-5; randen, die im Zonen-Dezimalformat vorliegen, werden somit die Zonen/Vorzeichenfelder voibercitet. bevor I die Operanden dem Addierer 20 zugeführt werden, indem die Bits in diesen Feldern beim Operanden des Einig ganges A auf 0 und beim Operanden des Eingangs B auf 1 gesetzt werden. Diese Vorbereitung ermöglicht U.e fj richtige Weiterleitung von Stellenüberträgen durch die Zonenfelder während der Ausführung von Additionen ■j im Addierer 20. Demzufolge haben die Ziffernfelder in der Ausgabebitfolge des Addierers 20 dieselben Werte, I die sie auch hätten, wenn die Zonen/Vorzeichenfelder nicht vorhanden wären.
I Für Operanden, die im gepackten Dezimalformat vorliegen, ist die Vorbereitung der Vorzeichenfelder not-
y wendig, um externe Übertragseingangssignale über das Vorzeichenfeld während der Addition weiterleiten zu :| können.
H Die arithmetische Einheit 10 enthält weiterhin eine Schaltung zur Vorzeichenbehandlung, über die eine
I Steuerung der einzelnen Funktionen des Modifizierers 33 erfolgt, damit die richtige Rechenoperation aus-I geführt wird. Diese Schaltung besteht aus einer Vorzeichenverarbeitungsschaltung 40, die die Vorzeichenfelder 1 der Eingangsoperanden zugeführt erhält und auf Signale anspricht, die über eine Steuerleitung 41 zugeführt I werden. Die Schaltung 40 liefert ein Additions/Subtraktionssteuersigiul auf eine Ausgangsleitung 42, das dem a Modifizierer 33 zur wahlweisen Aus- und Einschaltung des Komplementiervorganges zugeführt wird. Dieses 1 Steuersignal wird »angeforderte Operation« genannt. Dieses Signal wird durch einen positiven Anzeigewert dar- £| gestellt, wenn eine Addition angefordert wird, und durch einen negativen Anzeigewert, wenn eine Subtraktion fs angefordert wird. Im dargestellten Ausfuhrungsbeispiel wird der positive Anzeigewert durch einen Nullpegel § und der negative Anzeigewert durch einen Eins-Pegel auf der Steuerleitung 41 verkörpert.
Das Vorzeichenfeld für den Operanden des Α-Eingangs wird der Schaltung 40 über eine achtadrige Sammelleitung 44 zugeführt, die vom Register 21 die vier Bits des Ziffernfeldes 6 und die vier Bits des Ziffernfeldes 7 empfängt Das Vorzeichenfeld für den Operanden im B-Eingang wird der Schaltung 40 über eine achtadrige Sammelleitung 45 zugeführt, die vom Register 31 die vier Bits des Ziffernfeldes 6 und die vier Bits des Ziffernfeldes 7 empfängt Nach der Darstellung der F i g. 2 befinden sich die Vorzeichen bei Operanden, die im Zonen-Dezimalformat vorliegen, in der Ziffernposition 6, und für Operanden, die im gepackten Dezi mal format voriiegen, in der Ziffernposition 7.
Die Schaltung 40 enthält eine Logik zur Erzeugung des gewünschten Additions/Subtraktionssteuersignals auf
der Ausgangsleiiung 42. die anhand der Tabelle IV ableitbar ist.
Tabelle IV
Angeforderte Vorzeichen Vorzeichen Ausgeführte
Operation des des Operation
Operanden A Operanden B
10
15
Die Pluszeichen und Minuszeichen in der linken Spalte mit der Überschrift »Angerorderte Operation« gelten
2ü für des externe Warnsignal auf dir SieusrleitüRg 41. Das eins Addition anfordernde Pluszeichen bezeichnet das
Auftreten eines Nullpegels auf der Steuerleitung 41, während das eine Subtraktion anfordernde Minuszeichen
das Auftreten eines Signalpegels 1 auf der gleichen Steuerleitung bezeichnet. Die äußerste rechte Spalte mit der
Überschrift »Ausgeführte Operation« bezeichnet den Zustand des durch das Additions/Subtraktions-Steuer-
signal auf der Ausgangsleitung 42 erzeugten Signals. Ein Pluszeichen in dieser Spalte bedeutet die Ausführung einer Addition und ein Minuszeichen die Ausführung einer Subtraktion.
Gemäß Tabelle IV steuert die Schaltung 40 den Modifizierer 33 in der Weise, daß die Einheit 10 die ihr zugeführten Operanden addiert, wenn keine der als Eingangsfaktoren vorliegenden Polaritäten negativ ist oder wenn eine gerade Zahl dieser Faktoren negativ ist. und daß die Einheit 10 die ihr zugeführten Operanden subtrahiert, wenn eine ungerade Zahf der drei Polaritätsfaktoren negativ ist.
Die Vorzeichenverarbeitungsschaltung 40 enthält eine separate Steuerschaltung zur Erzeugung eines Vorzeichensteuersignals auf einer zweiten Ausgangsleitung 46, die bei der Verarbeitung von Dezimalzahlen das Vorzeichenfeld des Resultatwerts auf die richtige Polarität einstellt.
Die Einheit 10 enthält des weiteren eine Resultat-Modifizierschaltung 50, die hierin auch Korrekturschaltung genannt wird. Diese Modifizierschaltung ist mit dem Ausgang des Addierers 20 gekoppelt und empfängt dessen Ausgabebitfolge. Die Schaltung 50 erzeugt eine binäre Ausgabefolge, in der die Bits in den Zonen-Vorzeichenfeldern die richtig codierten Werte einnehmen. Hierzu werden die Bits der Zonenfelder einer jeden Ziffernstelle auf 1 gesetzt. Zur gleichen Zeit werden die Bits im Vorzeichenfeld entsprechend dem Vorzeichensteuersignal auf der Leitung 46 eingestellt.
Bei der Verarbeitung von Operanden, die im gepackten Dezimalformat vorliegen, stellt die Schaltung 50 die Bits im Vorzeichenfeld entsprechend dem Signal auf der Sleucrleitung 46 ein. Die Einstellung erfolgt so, daß das Resultat-Vorzeichenfeid die gleiche Polarität anzeigt, wie das Vorzeichenfeld des A-Eingangsoperanden im Register 21.
Die vom Addierer 20 erzeugte Folge von 32 Resultatbits wird der Schaltung 50 über eine Sammelleitung 51 zugeführt. Die Ausgangswerte der Schaltung 50 werden über eine Sammelleitung 52 einem Z-Register 53 zugeführt, dessen Ausgang mit einer Sammelleitung 54 verbunden ist, die den Ausgang der arithmetischen Einheit 10 darstellt.
Bei der Verarbeitung von Operanden, die im gepackten Dezimalformat oder im Zonen-Dezimaiformat vorliegen, muß die Schaltung 50 manchmal die Ziffernwerte in einigen der Ziffernfelder durch Verminderung um der Konstantwert 6 korrigieren, um die im Modifiziere! 33 ausgeführte Plus-sechs-Operation wieder auszugleichen Ob eine solche Korrektur erforderlich ist, wird dadurch festgestellt, daß man am Ausgang des Addierers 20 der Zustand des Übertragsausgangssignals für die betreffende ZifTernstelle untersucht. Diese Übertragsausgangssi gnale werden der Schaltung 50 mittels der Übertragsausgangs-Slatusleitungen CO bis Γ7 zugeführt. CO ist die Übertragsausgangs-Statusleitung für das Ziffernfeld 0, Cl ist die Übertragsausgangs-Statusleitung für das Zif fernfeld 1 usw.
Wenn die Additionsoperation im Addierer 20 in einem hexadezimalen Ziffernfeld einen Übertrag anzeigt, is für das betreffende Ziffernfeld keine Korrektur erforderlich. Wenn andererseits ein solcher Übertrag nicht ange zeigt wird, muß das entsprechende Ziffernfeld um den Konstantwert 6 vermindert werden. Im dargestellten Aus führungsbeispiel erfolgt dies dadurch, daß man statt dessen den Ziffernwert um den Konstantwert 10 erhöht Man erhält auf diese Weise das richtige Ergebnis, weil 10 das Komplement von 6 zu 16 ist.
Für den Fall eines vier Bits umfassenden Feldes ist die Addition von 10 mathematisch dasselbe wie die Sub traktion von 6. Die Addition von 10 erfolgt innerhalb der Schaltung 50. und der dadurch erzeugte Übertragsaus gang wird nicht in das nächsthöhere ZifTernfeld übertragen; jedes hexadezimale Ziflcrnt'eld wird somit als sepu rate Einheit behandeil.
Nimmt man an. daß eine 32 Bits umfassende Ausgangsbitfolge an die Schaltung 50 angelegt wird und bctrach
h5 tet man z. B. das Ziffernfeld 5. so zeigt sich, daß in diesem Feld eine Veränderung nicht notwendig ist. wenn au der Statusleitung C5 ein Übertrag angezeigt wird. Wenn dies nicht der Fall ist, wird das Ziffernfeld 5 durch Min zuaddieren des Wertes 10 um den Wert 6 vermindert.
Bei der Verarbeitung von Operanden, die im Zonen-De/imulformat vorliegen, werden die Signale aul'dci
Staius'.eitungen CO, CX C4und C6 ignoriert. Im Falle einer Ausgabe der Resultate im gepackten Dezimalformat werden die Signale auf der Statusleitung Cl ignoriert.
Bei der Verarbeitung von binären Operanden wird die Schaltung 50 so eingestellt, daß sie die Resultatwerte nicht verändert. In diesem Falle werden die am Ausgang des Addierers 20 erscheinenden Binärziffem unverändert dem Ausgahcrcgislcr 53 zugeführt. s
Bis auf eine Ausnahme enthält dus Register 5Jjeweils das Resultat der in der Kinlicii tOausgclührten Rochen operation in seiner echten Darstellung. Die Ausnahme tritt auf, wenn es sich bei der Rechenoperation um eine Subtraktion handelt und der Operand im Register 31 größer ist als der Operand im Register 21. In diesem Falle enthält das Ausgaberegister 53 das Resultat in komplementärer Darstellung. Ein solches Resultat wird durch Rückkomplementierung in seine echte Form umgewandelt. Dies geschieht dadurch, daß der Inhalt des Registers 53 zum B-Eingang der Einheit 10 zurückgeleitet und in dieser Einheit von dem Wert 0 subtrahiert wird. Bei der Rekomplcmenticrung wird immer eine Subtraktion ausgeführt, ungeachtet des Vorzeichens der zu rekomplementierenden Zahl im Register 53. Das Resultat der Rekomplementierungsoperation ist stets dem Vorzeichen des zu rekomplementierenden Werts entgegengesetzt. Eine Ausgabezahl in Komplementform wird somit in ihre echte Form dadurch umgesetzt, daß man sie mit Hilfe der arithmetischen Einheit ltvon Null subtrahiert und ihr is Vorzeichen umkehrt.
Für die Rekomplementierung des Resultats aus dem Register 53enthält die Einheit lOeine Sammelleitung G \ Torschaltungen 62, und eine Sammelleitung 63, die mit dem Eingang des Registers 31 verbunden ist. Die Torschaltung 62 wird durch ein Steuersignal XFR ZS auf einer Leitung M für eine Übertragung des Inhalts des Registers 53 in das Register 31 geöffnet. Vom Register 31 wird der zu rekomplementierende Resultatwert durch den Modifizierer 33dem Binäraddierer 20zugeleitet. Der Modifizierer 33 behandelt den zu rekomplementierenden Wert genauso wie jede andere Dezimalzahl mit der Ausnahme, daß in jedem Falle eine Komplementbildung dieses Wertes erfolgt. Zur gleichen Zeit wird der Modifizierer 23 zur Abgabe einer Folge von binären Nullen an den Α-Eingang des Addierers 20 veranlaßt. Der Addierer 20addiert das Komplement des rückgeführten Resultatwertes zu diesen Nullen und liefert den neuen Resultatwert an die Korrekturschaltung 50, welche diesen Wert mit Ausnahme des Vorzeichenfeldes genauso behandelt wie andere Dezimalzahlen. Die Vorzeichenverarbeitungsschaltung 40liefert in diesem Fall an die Korrekturschaltung 50ein Vorzeichensteuersignal, um das Vcrzeichenfeld auf eine Polarität einzustellen, die dem Vorzeichen des rückgeführten Resultatwerts entgegengesetzt ist. Die von der Korrekturschaltung 50 nun dem Ausgaberegister 53 zuzuführende Zahl ist das gewünschte Ergebnis in der echten Darstellung.
Ob eine Rekomplementierung durchzuführen ist, wird durch eine Komplement-Detektorschaltung 65 bestimmt. Diese Schaltung stellt fest, ob der dem Register 53 zugeführte Resultatwert Komplementform hat. Dies geschieht durch Prüfung des Signalzustands der Statusleitung CO bei Durchführung einer dezimalen Subtraktion. Das Übertragsausgang-Statusssignal CO stellt den letzten Übertragsausgang für den Binäraddierer 20 dar. Es wird über eine Leitung 66 der Komplement-Detektorschaltung 65 zugeführt. Wenn bei einer dezimalen Subtraktion ein Statussignal CO = 1 vorliegt, handelt es sich bei dem an das Resultatregister 53 gelieferten Resultatwert um einen echten Wert, der einer Rekomplementierung nicht bedarf. Wenn dagegen bei einer dezimalen Subtraktion die Statusleitung CO keine Anzeige liefert (CO - 0), dann handelt es sich bei dem an das Register 53 abgegebenen Resultatwert um einen Komplementwert, der einer Rekomplementierung bedarf. Die Schaltung 65 liefert ein Anzeigesignal CD auf eine Ausgangsleitung 67.
Die zu verarbeitenden Operanden sind häufig größer als die Datenflußbreite der arithmetischen Einheit 10. Dies gilt ungeachtet dessen, ob die Datenflußbreite wie im dargestellten Beispiel vier Bytes beträgt oder einen größeren Wert hat, wie beispielsweise acht Bytes. In diesen Fällen der Verarbeitung großer Operanden ist mehr als ein Durchgang durch die Einheit 10 erforderlich, um die Rechenoperation abzuschließen. Wenn die Operanden beispielsweise doppelt so groß sind wie die Datenflußbreite der Einheit 10, werden die beiden wertniedrigen Hälften der Eingangsoperanden in einem ersten Durchgang durch die Einheit 1·gerührt und die beiden werthöheren Hälften in einem zweiten Durchgang verarbeitet. Während dieses zweiten Durchganges muß ein im ersten Durchgang gebildeter Ausgangsübertrag (Signal CO) als Eingangsübertrag C,„dem Addierer 20zugeführt werden.
Letzteres geschieht durch eine Verriegelungsschaltung 70, eine Leitung 71 und einen Schalter 72, dessen Aus- so gang mit der Übertragseingangsleitung 73 des Addierers 20 verbunden ist. Während des ersten Durchganges verbindet der Schalter 72 die Übertragseingangsleitung 73 mit der Addition/Subtraktion-Steuerleitung 42, um einen +1 -Übertrag zuzuführen, wenn eine Subtraktion ausgeführt wird. Dabei handelt es sich um den üblichen Eingangsübertrag, der notwendig ist, wenn einer der Operanden komplementiert wird. Während des zweiten Durchgangs verbindet der Schalter 73 statt dessen die Übertragseingangsleitung 73 mit der Ausgangsleitung 71 SS der Verriegelungsschaltung 70. Dadurch kann der Übertragsausgang CO des ersten Durchgangs als Übertragseingang für den zweiten Durchgang benutzt werden. Wenn ein dritter Durchgang erforderlich ist, ermöglicht dieselbe Schaltungsanordnung die Benutzung des Übertragsausgangs COaus dem zweiten Durchgang als Ubertragseingang für den dritten Durchgang. Die Verriegelungsschaltung 7i speichert den Ausgangsübertrag vom vorhergehenden Durchgang, so daß er zur Benutzung während des nachfolgenden Durchgangs zur Verfügung steht. Der Schalter 72 wird gesteuert durch das Zustandssignal des jeweils vorausgehenden Durchgangs auf der Steuerleitung 28.
Eine weitere Eigenheit, die während der Folgedurchgänge bei der Verarbeitung von Operanden großer Breite zu berücksichtigen ist, besteht in der Tatsache, daß die Vorzeichenfelder nur im niedrigsten Byte eines jeden Operanden vorliegen und somit nur während des ersten Durchgangs durch die Einheit 10 zur Verfugung stehen. Demzufolge muß die vom Addition/Subtraktion-Steuersignal eingeleitete Operation, die durch die Vorzeichenverarbeitungsschaltung 40 bestimmt wurde, zur Benutzung bei den nachfolgenden Durchgängen gespeichert werden. Dies geschieht durch eine Schaltung, die sich innerhalb der Schaltung 40 befindet und die später im
Detail beschrieben wird. Außerdem werden verschiedene weitere Änderungen im Operationsablaul" durch die Modifizierer 23 und 33 und durch die Korrekturschaltung 50 vorgenommen. Diese Änderungen tragen der Tatsache Rechnung, daß während der Folgedurchgänge keine Vorzeichenfelder zu behandeln sind. Die Operation dieser Schaltungseinheiten wird daher während der Folgedurchgänge so eingestellt, daß anstelle von Vorzeichenfeldern die reguläre Operation für ein Zonenfeld oder ein Ziffernfeld erfolgt.
Die Steuereinheit (Fig. 3)
Die Fig. 3 zeigt in schematicher Darstellung einen Teil einer Steuereinheit 80 zur Erzeugung der verscbiedenen Steuersignale, die der arithmetischen Einheit 10 von Fig. I zugeführt werden. Die Schaltung 80 enthält einen Satz von 11 binären Schaltern Sl bis 91, welche die Signalzustände der Steuerleitungen 26 bis 28,41,30,25, 35,55,29.3*und M steuern, Jede dieser Steuerleitungen ist entsprechend der Operation beschriftet, die das auf ihr auftretende Steuersignal auslöst. Die Steuerleitung 26 trägt die Beschriftung »Zone«, die besagt, daß der binäre Signalpegel 1 auf dieser Steuerleitung anzeigt, daß die zu verarbeitenden Operanden im Zonen-Dezimalformat vorliegen. Die als Beispiel angegebenen Stellingen der verschiedenen Schalter 81 bis 91 geben die Schalterpositionen für die Durchführungsanforderung einer Addition (Stellung des Schalters 84 entspricht der Operation »Addieren«) mit den vier wertniedrigen Bytes dar (Stellung des Schalters 83 zeigt den ersten Durchgang an) von zwei Operanden, die im Zonen-Dezimalformat vorliegen (Schalter 81 = Zone, Schalter 82 = dezimal). Die zutreffende Operation wird eingeleitet, wenn die Signale »Übertragen A« und »Übertragen B« (achalter 89 und 94) auftreten.
Die Senator 81 bis 91, die in F i g. 3 der Einfachheit halber als mechanische Schalter dargestellt sind, werden in I
der Praxis als schnelle elektronische Schalterausgeführt, in einer Datenverarbeitungsanlage mil Mikroprogram- ι
mierung werden diese Schalter durch einzelne Stufen des Steuerregisters verkörpert, dem die Mikroinstruktionen oder Steuerwörter aus dem Steuerspeicher einer solchen Anlage zugeführt werden.
Modifizierer 23 (Fig.4 und 5)
Die Fig. 4 zeigt den Aufbau des Modifizierers 23 von Fig. 1. Das Ausführungsbeispiei von Fig. 4 enthält einen Satz von vierstufigen Torschaltungen 100 bis 107, die den Bits der acht hexadezimalen Ziffernlelder im Register 21 zugeordnet sind. Diese Felder sind mit AO bis Al bezeichnet, während die Ziffernfelder des zugeordneten Addierereingangs mit 70 bis Jl bezeichnet sind. Sammelleitungen 22 α bis 22 Λ bilden die Datensammelleitung 22 von Fig. 1. Ebenso bilden Sammelleitungen 24a bis 24Λ die Datensammelleitung 24. Ein Beispiel fiir/ien Aufbai.-einerv^rstufigen Torschaltung, nämlich der Torschaltung 106, zeigt die Fig. S. Die Torschaltung 106 enthält vie- UND-Glieder 108 bis Ul, die an Bitleitungen CO - (73 angeschlossen sind, welche
)$ dem hexadezimalen Ziffernfeld i 6entsprechen. Die Ausgangsleitungen der UND-Glieder 108 bis 111 sind mit HObis HZ bezeichnet; diese Leitungen bilden das hexadezimale Ziffernfeld J 6, das dem Addierer20 zugeführt wird. Die UND-Glieder 108 bis 111 werden durch Steuerleitungen 112 und 113 betätigt. Wenn die Steuerleitung 113 das Binärsignal 1 führt und die Steuerleitung 112 ebenfalls auf 1 eingestellt wird, werden die Datenbits von den Leitungen CObis G3 unverändert auf die Leitungen HO bis //3 übertragen. Wenn die Sleuerleitung 113 auf 0 gesetzt wird, werden auch auf den Leitungen HO bis Hi Nullen erzeugt, da die UND-Glieoer 108 bis 111 zu dieser Zeit geschlossen sind.
Die übrigen Torschaltungen 100,102 und 104 sind ebenso aufgebaut wie die in Fig. S dargestellte Torschaltung 106. Das gleiche trifft auf die Torschaltungen t01,103 und 105 zu, wobei in den letzteren Torschaltungen jedoch die Steuerleitung 113 zur Erzeugung von Nullen auf den Ausgangsleitungen der Torschaltungen fehlt.
Die äußerste rechte Torschaltung 107 ist genauso gebaut wie die Torschaltung 106, jedoch ist in ihr die Steuerleitung zur Erzeugung von Nullen mit 114 bezeichnet, da sie von einem anderen Teil der Schaltung signalführend gemacht wird als die Leitung 113.
Wie die Fig.4 erkennen läßt, wird die Übertragungssteucrleitung 112 ihrerseits durch die Steuersignale »Übertragung A« und »Rekomplementierung« auf den Steuerleitungen 29 und 30 gesteuert. Die Steuerleitung 113 zur Erzeugung von Nullen wird durch die Signale »Zone« und »dezimal« auf den Steuerleitungen 26 und 27 gesteuert. Die weitere Steuerleitung 114 zur Erzeugung von Nullen wird durch die Signale »Zone«, »dezimal« und »erster Durchgang« auf den Steuerleitungen 26, 27 und 28 gesteuert.
Bei der Verarbeitung reiner Binärzahlen (dezimal = 0) bleiben die Steuerleitungen 113 und 114 auf dem Signalwert 1 eingestellt, und das Signal »Übertragung A« auf der Steuerleitung 29 sorgt für eine Übertragung der Datenbits A 0 bis A 7 zum Binäraddierer 20, ohne daß die Datenbits hierbei verändert werden. Dabei wird angenommen, daß das Rekomplementierungssignal auf Leitung 30 Null ist. In diesem Fall stellt das UND-Glied 115 die Steuerleitung 112 in den Signalzustand 1, wenn auch das Signal »Übertragen A« im Signalzustand 1 steht. Während einer Rekomplementierungsoperalion wird das Signal auf der Stuerleitung 30 entsprechend dem Wert 1 eingestellt. Durch ein Negationsglied 116 wird dieses Signal invertiert, wodurch das UND-Glied 115 abgeschaltet wird und alle Torschaltungen 100 bis 107 geschlossen werden. Damit werden alle Datenbit-Ausgangsleitungen JQ bis Jl auf 0 gestellt, was bei der Durchführung einer Rekomplementierungsoperalion notwendig ist. Bei der Verarbeitung von Operanden, die im Zonen-Dezimalformat vorliegen, ist sowohl das Signal »dezimal« als auch das Signal »Zone« im 1-Zustand. Hierdurch wird ein !-Signal am Ausgang des UND-Gliedes 117 erzeugt, das durch Invertierung im Negationsglied 118 die Steuerleitung 113 in den Nullzustand bringt. AIx
<i5 Folge hiervon werden die geradzahlig numerierten Torschaltungcn 100,102,104 und 106. welche den Zonen-Vorzeichenfeldern zugeordnet sind, geschlossen, so daß die Ausgangsbitleitungcn der hexadezimalen ZilTcrnl'elder 0, 2.4 und 6 alle auf ü gesetzt werden. Wenn somit eine Datenübertragung durch Kinstcllen des Signals »Übertrugen Λ« in den !-/usland eingeleitet worden ist, werden nur die hexadezimalen /ilTernlelder I. 1. 5 und 7
IO
unverändert dem Addierer 20 zugeführt. Während einer jeden derartigen Datenübertragung werden die Datenbits für die Zonenfelder und für das Vorzeichenfeld (Ziffernfelder 0,2,4 und 6) als Vorbereitung für die Additionsoperation auf 0 gesetzt. Zwischen dem ersten Durchgang und den Folgedurchgängen bei Operanden, die größer sind als vier Bytes, wird nicht unterschieden, weil das Vorzeichenfeld des ersten Durchganges bei den Folgedurchgängen jeweils zu einem Zonenfeld wird.
Bei der Verarbeitung von Operanden, die im gepackten Dezimalformat vorliegen, bleibt die Steuerleitung 113 im Signalzustand 1, da das Signal »Zone« der Steuerleitung 26 im Nullzustand ist. Das UND-Glied 117 wird somit geschlossen. Es erfolgt jedoch durch die Steuerleitung 114 eine Nullstellung über die Torschaltung 1CI7. Die Steuerleitung 114 wird nur dann in den Null-Signalzustand gebracht, wenn die Signale auf den Steuerleitungen 26,27, 28 die Signale »gepackt« (= »nicht Zone«), »dezimal« und »1. Durchgang« anzeigt Für jede andere Kombination dieser drei Signale wird die Steuerleitung 114 im 1-Zustand gehalten. Dies geschieht mit Hilfe des Negationsglieds 119, des UND-Glieds 120 und des Negationsglieds 121. Bei der Verarbeitung von Operanden, die im gepackten Dezimalformat vorliegen, werden somit alle Dätenbits unverändert dem Addierer 20 zugeführt. Lediglich die Bits des Ziffernfeldes 7, die das Vorzeichen darstellen, werden während des ersten Durchgangs auf 0 gesetzt. Letztere Operation entfällt jedoch bei den Folgedurchgängen, wenn Operanden zu verarbciten sind, die eine größere Bitzahl als der Datenfluß der arithmetischen Einheit 10 aufweisen, da irt diesem Falle nur das wertniedrigste Ziffernfeld ein Vorzeichen enthält.
Der Komplementierer/Modifizierer 33 (Fig. 6 und 7)
Ein Ausführungsbeispiel für den Aufbau der Schaltung 33 ist in F i g. 6 dargestellt. Die Schaltung enthält acht vierstufige logische Schaltungen 130 bis 137, von denen jede einem hexadezimalen Ziffernfeld des im Register 31 enthaltenen Operanden zugeordnet ist. Diese aus dem Register 31 zugeführten Ziffernfelder sind mit BO bis Bl bezeichnet, während die am Ausgang der logischen Schaltungen J30 bis 137 auftretenden, dem rechten Eingang des Addierers 20 zuzuführenden Ziffernfelder mit ATO bis Kl bezeichnet sind. Da die Schaltung 33 sowohl die echten als auch die komplementären Datenbits verarbeitet, laufen vom Register 31 für jede Bitposition zwei Ausgangsleitungen zur Schaltung 33, von denen die eine das Datenbit in echter Darstellung und die andere dessen Komplement führt. Somit enthalten die acht Sammelleitungen 32 α bis 32 Λ, welche die Dater.sammelldtung 32 von Fig. 1 bilden, jeweils einen Satz von acht Leitungen, vier für die echten Signale und vier für die komplementierten Signale. Jede der acht Sammelleitungen 34 a bis 347), welche die Datensammelleitung 34 von % Fig. 1 bilden, enthalten je einen Satz von vier Leitungen.
'i Den Schaltungsaufbau für die logischen Schaltungen 130 bis 137 zeigt die Fi g. 7 exemplarisch für die logische
l| Schaltung 136. Diese Schaltung enthält vier separate Stufen 140 bis 143, die auf ihren Ausgangsleitungen BU-i| signale Λ/0 bis M3 liefern, welche das hexadezimale Ziffernfeld K6 bilden. Die werthöchste Bitstufe 140 enthält
;| fünf UND-Glieder 144 bis 148 mit je zwei Eingängen. Diesen UND-Gliedern isl ein ODER-Glied 149 nachge-
% schaltet. Die zweite Bitstufe 141 enthält UND-Glieder 150 bis 153, denen ein ODER-Glied 154 nachgeschaltet
y isl. Die dritte Bitstufe 142 enthält drei UND-Glieder 155 bis 157, denen ein ODER-Glied 158 nachgeschaltet is;.
ψ Die wertnicirigste Bitstufe 143 enthält wiederum drei UND-Glieder 159 bis 161, deren Ausgänge an ein ODER-
Glied 162 angeschlossen sind. If Die verschiedenen UND-Glieder der Stufen NG bis 143 werden durch Leitungen 164 bis 167 gespeist. Wie die
'{ hei diesen Leitungen angegebenen Bezeichnungen zeigen, erfüllt die Schaltung 136 jeweils eine der folgenden
ψ Funktionen:
;. a) Unveränderte Datenübertragung,
;f b) Komplementdatenübertragung,
;·': c) Datenübertragung mit Addition des Konstantvverles »Plus sechs« zu den einzelnen Zillernwerlen und
■ d) Abgabe von vier I-Bits.
■;; Nur eine der Leitungen 164 bis 166 kann zu einem gegebenen Zeitpunkt auf den Signalwert I gesetzt werden,
■ während die beiden anderen jeweils den Signalzustand 0 einnehmen. Die vierte Steuerleitung sorgt für eine y\ übergeordnete Steuerung in der Form, daß sie bei der Funktion »Erzeugung von vier 1-Bits« die Operation der anderen drei Steuerleitungen neutralisiert und vier Einsen aaf u<:n Ausgangsleitungen MO bis Λ/3 erzwingt.
'■■ Wenn die Stcuerxitung 164 den Signalzustand I führt, werden die UND-Glieder 144.150.155 und 159 geöffnet
und die übrigen UND-Glieder abgeschaltet. Unter del Voraussetzung, daß zu diesem Zeitpunkt die Leitung 167 im Null-Zustand ist, werden die Bits ΛΌ bis /V3 in ihrer echten Form vom Register 31 den Leitungen Λ/0 bis Ml zugeführt.
Wenn die Leitung 165 im I-Zustand ist, werden die UND-Glieder 145.151. fc5* und 160 geöffnet und die übrigen UND-Glieder gespcjrt. Unterster Voraussetzung, daß die Leitung 167 im SignalzustandO ist. werden somit die Komplementwerte /VO bis Nl aus dem Register 31 den Leitungen WO bis Ml zugeführt.
Wenn die Stcuerlcitung 166 für die Funktion »ZilTemwcri Plus sechs« den Signalzustand 1 einnimmt, werden M) die UND-Glieder 146 bis 148,152,153,157 und 161 geöffnet und die übrigen UND-Glieder geschlossen. Nimmt man an, daß die Leitung 167 auf 0 steht, so wird durch die geöffneten UND-Glieder der Wert des hexadezimalen /illcrn leides B6 um den Faktor 6 erhöhl, vorausgesetzt, daß der ursprüngliche ZifTemwert im Bereich von 0 bis l) liegt. Die notwenoigc Logik zu Krhöhung des ZifTcrnwertes um 6 ist folgende:
Λ/θ = NO+ Nl + Nl (1)
Ml-Nl- Nl +Nl- Nl (2)
A/2-/V2 (3)
Α/3 - /V3 (4)
Hierbei handelt es sich um logische Ausdrücke, in denen das Pluszeichen die logische ODER-Funktion und der Punkt die logische UNO-Punktion bezeichnen. Der Querstrich über den Ausdrucken gibt an, daß es sich um das Komplement des betreffenden Ausdrucks handelt.
Die UND-Glieder 146 bis 148 führen zusammen mit dem ODER-Glied 149 die durch die Gleichung (1) ange-
gebenen Funktionen aus. Die UND-Glieder 152 und 153 und das ODER-Glied 154 der Stufe 141 übernehmen die durch die Gleichung (2) angegebene Logik. Das UND-Glied 157 und das ODER-Glied 158 der dritten Stufe führen die durch die Gleichung (2) angegebene Funktion aus. Das UND-Glied 161 und das ODER-Glied 162 der
Stufe 143 führen schließlich die Funktion gemäß Gleichung (4) aus.
Wenn die Steuerleitung 167 zur Erzeugung von 1-Bits den Signalzustand 1 einnimmt, wird jede der vier Aus-IS gangsleitungen AiO - A/3 auf 1 eingestellt, da der 1-Signalpegel der Leitung 167 direkt an jedes der ODER-Glieder 149,154,158 und 162 angelegt wird. Die durch die Steuerleitung 167 gelieferte binäre Eins hält somit die Ausgangsleitune dieser ODER-Glieder im Signalzustand 1, ungeachtet des Signalzustands auf den anderen Eingängen der ODER-Glieder.
Die Schaltungen 130,132 und 134 von F i g. 6 entsprechen in ihrem Aufbau der in F i g. 7 im Detail dargestellten Schaltung 136. Die übrigen Schaltungen 131,133 und 135 von Fig. 6 unterscheiden sich von der Schaltung 136 lediglich dadurch, daß die Steuerleitung 167 zur Erzeugung von 1-Bits wegfällt, da in den zugeordneten Feldern diese Funktion nicht benötigt wird. Die wertniedrigste Schaltung 137 entspricht der Schaltung 136 mit der Ausnahme, daß die Steuerleitung zur Erzeugung von 1-Bits von einer anderen Signalquelle gespeist wird und daher eine andere Bezeichnung, nämlich 168, trägt.
Die Steuerleitungen 164 bis 168 sind an die Ausgänge von UND-Gliedern 170 bis 174 angeschlossen. Diese UND-Glieder werden von den externen Steuerleitungen 26,27,28 36 und 42 direkt oder über zwischengeschaltete Negationsglieder 175 bis 178 gespeist.
Eine Datenübertragung vom Register 31 zum Addierer 20 wird durch ein Signal auf der Steuerleitung 36 eingeleitet. Diese Leitung ist mit jedem der UND-Glieder 170 bis 174 verbundenen Abhängigkeit vom Signalzustand der übrigen Eingänge dieser UND-Schaltungen wird daraufhin mindestens eine der Leitungen 164 bis 168 in den Signalzustand 1 gebracht.
Zur Ausführung einer binären Addition in der arithmetischen Einheit 10 wird die Dezimal-Steuerleitung27 in den Nullzustand gebracht. Damit werden die UND-Glieder 172 bis 174 geschlossen. Gleichzeitig befindet sich das Addition/Subtraktion-Steuersignal, das von der Vorzeichenverarbeitungsschaltung 40 auf der Leitung 42 erzeugt wird, im Null-Zustand, der eine Addition bezeichnet. Damit wird auch das UND-Glied 171 abgeschaltet. Das mit der Steuerleitung 164 verbundene UND-Glied 17Ö ist somit das einzige, das durch das Signa! »Übertragen B« aktiviert werden kann. Wenn dieses Signal erscheint, werden alle 32 Bits aus dem Register 31 unverändert in ihrer echten Darstellung zum Addierer 2· übertragen.
Bei einer binären Subtraktion werden die UND-Glieder 172 bis 174 wiederum durch den Signalpegel 0 auf der Steuerleitung 27 abgeschaltet. Das Addition/Subtraktion-Steuersignal auf Leitung 42 befindet sich jedoch jetzt auf dem eine Subtraktion anfordernden Signalpegel 1 und hält damit die UND-Schaltung 170 über das Negationsglied 178 geschlossen und öffnet gleichzeitig die UND-Schaltung 171. Wenn sich das Signal »Übertragen B« im 1-Zustand befindet, geben die zum Addierer 20 gelieferten Datenbits das Einerkomplement des im Register 31 stehenden Wertes an.
Bei der Addition oder Subtraktion von Operanden, die im Zonen-Dezimalformat vorliegen, befinden sich die Leitungen 26 und 27 im Signalzustand 1. Damit wird das UND-Glied 173 geöffnet und das UND-Glied 174 über das Negationsglied 175 geschlossen. Wenn also das Signal »Übertragung B« in den 1-Zustand übergeht, nimmt die Leitung 167 den gleichen Signalzustand ein und bewirkt, daß die Ausgangsleitungen der logischen Schaltungen 130,132, IM und 1361-Ausgangssignale liefern. Zur gleichen Zeit nehmen auch die Steuerleitungen 165 >ind 166 den Signalzustand 1 an, unabhängig davon, ob die auszuführende Operation eine Subtraktion oder eine Addition ist. Das UND-Glied 170 wird über das Negationsglied 177 geschlossen gehalten.
Wenn es sich bei einer ausführenden Subtraktion um eine Operation mit Zonen-Dezimalformat-Operanden handelt, befindet sich die Leitung 42 auf dem Einerpegel, und das UND-Glied 171 wird bei Erscheinen des Signals »Übertragen B« geöffnet, um auch die Komplementsteuerleitung 165 auf den Einerpegel zu setzen. Dadurch werden die ungeradzahligen logischen Schaltungen 131,133,135 und 137 wirksam, um die Komplementwerte des Operanden dem Addierer 20 zuzuführen.
Wenn andererseits die Operation mit Zonen-Dezimalformatoperanden eine Addition ist, liegt die Steuerleitung 42 auf dem Signalpegel 0. Dadurch wird das UND-Glied 171 geschlossen und das UND-Glied 172 über das Negationsglied 176 geöffnet. Das Signal »Übertragung B« kann nun die Plus-sechs-Steuerleitung 166 in den 1-Zustand setzen. Hierdurch wird die numerische Konstante 6 in den logischen Schaltungen 131,133,135 und 137 zum jeweiligen Ziffernwert addiert.
Bei der Verarbeitung von Operanden, die im gepackten Dezimalformat vorliegen, wird das Zonen-Anzeigesignal auf der Steuerleitung 26 in den Null-Zustand gebracht und damit das UND-Glied 173 gesperrt und das UND-Glied 174 für die Erzeugung von 1-Bits geöffnet unter der Voraussetzung, daß das Anzeigesigna! für den ersten Durchgang auf der Steuerleitung 28 im 1-Zustand steht. Dies bedeutet, daß im Falle von Operanden im gepackten Dezimalformat die Steuerleitung 118 anstelle der Steuerleitung 167 zur Erzeugung von Einsen benutzt wird. Wie aus F i g. 6 zu ersehen ist, läuft die Steuerleitung 168 lediglich zur wertniedrigsten logischen Schaltung 137. Wenn das Signal auf der Leitung 28 das Vorliegen des ersten Durchganges anzeigt, erzeugt die
Leitung 168 Einsen in den Bitstellen des Vorzeichenfeldes. Wenn nachfolgende Durchgünge notwendig sind, bleibt die Slcuerlcitung 168 während der Ausführung dieser Durchgänge im Null-Zustand.
l'ür eine Addition von Operanden im gcpucktcn Dezimalformat wird ferner das UND-Glied 172 geöfTnct, um die Stüucrleitung 166 in den I-Zustand zu bringen. Hierdurch wird im ersten Durchgang der Konstantwert 6 in jeder der 7 logischen Schaltungen 136 bis 136 zu dem dieser Schaltung zugerührten ZilVernwert addiert. Während der Folgedurchgänge erstreckt sich diese Addition auch auf den ZifTernwert, welcher der achten logischen Schaltung 137 zugeführt wird. Bei einer Substraktion von Operanden im gepackten Dezimalformat wird das UND-Glied 172 gesperrt und statt dessen das UND-Glied 171 wirksam. Hierdurch wird die Komplementsteuerleitung 165 in den I-Zustand gebracht, sofern das Signal »Übertragung B« vorliegt. Die logischen Schaltungen 130 bis 136 leiten daraufhin die Komplementoits aus dem Register 31 zum Eingang des Addierers 20. Während der Folgedurchgänge erstreckt sich diese Steuerung auch auf die achte logische Schaltung 137.
Die Vorzeichenverarbeitungsschaltung (Fig. 8 und 9)
Die Fig. 8 zeigt ein Ausführungsbeispiel für den Aufbau der Vorzeichenverarbeitungsschaltunn; 40 von is Fig. I. Die Schaltung besieht aus zwei Funktionsteilen. Ein erster Teil enthält die Schaltung, die auf die Vorzeichenfelder der Operanden in den Registern 21 und 31 und auf das externe Steuersignal »angeforderte Operation« auf der Steuerlcitung 41 anspricht, um ein Addition/Subiraktion-Sieucrsignai auf der Leitung 42 zu erzeugen, das den Schaltungen 33 und 65 zugeführt wird. Der zweite Teil enthält die Schaltungen, die auf das Vorzei chenfeld in wenigstens einem der beiden Operanden anspricht zur Erzeugung des Vorzeichensteuersignals auf der Leitung 46, das der Korrekturschaltung 50 zugeführt wird.
Wie aus der obigen Tabelle II zu ersehen ist, gibt es vier mögliche Pluscodes und zwei mögliche Minuscodes. Diese sechs Vorzeichencodes sind die gültigen Vorzeichencodes für Dezimaloperanden. Die Schaltungen zur Erzeugung des Addition-Subtraktion-Steuersignals in Fig. 8 umfassen eine erste und eine zweite Vorzeichendetektorschaltung 180 und 181 zur Erzeugung eines ersten und eines zweiten Polaritätsanzeigesignal auf Leitungen 182 und 183. Die Vorzeichendetektorschaltung 180 ist dem Register 21 zugeordnet und enthält einen Minus-Vorzeichendetektor 184, der mit den Bits der Ziffernposition 6 im Register 21 über Leitungen 44α bis 44 d verbunden ist. Die Schaltung 180 enthält ferner einen weiteren Minusvorzeichendetektor 185, der mit den Bits der Zifferroosition 7 im Register 21 über Leitung 44e- 44Λ verbunden ist. Die Leitungen 44β - 44 A bilden die Sammelleitung 44 von F i g. 1. Die Ausgänge der Detektoren 187 und 185 sind mit einem ODER-Glied IW verbunden, das Teil der Schaltung 180 ist.
Die zweite Vorzeichendetektorschaltung 181 ist dem Register 31 zugeordnet und enthält einen Minusvorzeichendetektor 187. der mit den Bits der Ziffernposition 6 im Register 31 über Leitungen 45α bis 45 d verbunden ist. Die Schaltung 181 enthält einen weiteren Minusvorzeichendetektor 188, der mit den Bits der Ziffernposition 7 im Register 31 über Leitungen 45 e bis 45 h verbunden ist. Die Leitungen 45 α bis 45 Λ bilden die Sammelleitung 45 von F i g. i. Die Ausgänge der Detektoren 187 und ISS sind an ein ODER-Glied !89 angeschlossen, das ebenfalls Teil der Schaltung 181 ist.
Den Aufbau des Minusvorzeichendeicktors 144 zeigt die Fig. 9. Der Minusvorzeiehendetektor !*4 enthält ein UND-Glied 190 und ein Negationsglied 191 zum Abtüten des Minusvorzeichencüdes 1011. Wenn dieser Vorzeichencode auftritt (Gl = 0), erzeugt das UND-Glied 190 auf seiner Ausgangsleitung 192 ein 1-Signal, sofern zur gleichen Zeit die Zonen-Steuerleitung 26 ebenfalls ein 1-Signal führt. Der Minusvorzeiehendetektor 184 umfaßt des weiteren ein UND-Glied 193 und ein Negationsglied 194 zum Abtasten des Minusvorzeichencodes 1101. Wenn dieser Code auftritt (Gl « 0), erzeugt das UND-Glied 193 auf seiner Ausgangsleitung 195 ein 1-Signal, sofern zur gleichen Zeit die Zonen-Steuerleitung U ebenfalls ein 1-Signal führt. Die Ausgangsleitungen 192 und 195 sind mit einem ODER-Glied 1S6 (Fig. 8) verbunden.
Die Minusvorzeichendetektoren 185,187 und 188 von Fig. 8 weisen den gleichen Aufbau wie der in Fig. 9 dargestellte Minusvorzeichendetektor 184 auf.
Wenn im Zonen-Dezimalformat vorliegende Operanden zu verarbeiten sind, befindet sich die Zonen-Steuerleitung 26 im 1-Signalzustand. Hierdurch werden die Minusvorzeichendetektoren 184 und 187 eingeschaltet, um das Vorzeichenfeld der beiden Operanden A und B abzutasten. G leichzeitig wird das Signal von Leitung 26 einer Negationsschaltung 196 zugeführt, die ein Null-Signal auf einer Leitung 197 erzeugt und damit die Minusvorzeichendetektoren 185 und 188 für die Ziffernpositionen 7 der beiden Operanden abschaltet. Wenn andererseits Operanden im gepackten Dezimalformat verarbeitet werden soll, führt die Steuerleitung 26 den Null-Signalzustand, so daß die Minusvorzeichendetektoren 184 und 187 abgeschaltet und die Minusvorzeichendetektoren 185 und 188 wirksam gemacht werden.
Auf der Ausgangsleitung 182 des ODER-Gliedes 186 erscheint ein Signal, das durch den Vorzeichencode des Operanden A im Register 21 bestimmt wird. Gleichzeitig erscheint auf der Ausgangsleitung 183 des ODER-Gliedes 189 ein Signal, das durch den Vorzeichencode des Operanden B im Register 31 bestimmt wird. In beiden Fällen stellt ein 1-Signalzustand ein Minusvorzeichen und ein Null-Signal zustand ein Pluszeichen dar. Das Wahlsignal »angeforderte Operation« auf der Steuerleitung 41 gibt zugleich an, ob eine Addition oder Subtraktion auszuführen ist Hierbei stellt ein 1-Signalzustand die Anforderung einer Subtraktion und ein Null-Signalzustand die Anforderung einer Addition dar.
Wenn z. B. eine Addition angefordert wird und der Operand A ein positives Vorzeichen aufweist, während der Operand B negativ ist, hat die arithmetische Einheit eine Subtraktion auszuführen, um das richtige Ergebnis zu bilden. Wenn umgekehrt eine Subtraktion angefordert wird und beide Operanden verschiedene Vorzeichen haben, muß die Einheit 10 eine Addition ausfuhren, um das richtige Resultat zu bilden. Die Bestimmung der tatsächlich auszuführenden Rechenoperation ist aus der obigen Tabelle IV ersichtlich.
Um die Logik der Tabelle IV zu realisieren, enthält die Schaltung 40 Schaltelemente, die auf die Polaritäts-
■''■' anzeigesignale der Leitungen 182 und 183 sowie auf das Signal von Leitung 41 ansprechen und die ein Additions-
i£ signal erzeugen, wenn gemäß Tabelle IV kein Eingang oder eine gerade ZaIiI von Eingängen negativ ist, und die
',!;; ein Subtraktionssignal erzeugen, wenn eine ungerade Zahl von Eingängen negativ ist. Diese Schallelemente
ti; bestehen aus Antivalenzgliedern 290und 201 zur antivalenten Verknüpfung der Signale von den Leitungen 41.
,π· 5 182 und 183 zur Erzeugung des Addition/Subtraktion-Steuersignals auf der Leitung 202, das den I-Zustand ein-
'|| nimmt, wenn die auszuführende Operation ein Subtraktion ist, und das den Niill-Zustand einnimmt, wenn die
y auszuführende Operation eine Addition ist.
ψ Die Antivalenzschaltung 299erzeugt ein 1-Ausgangssignal, wenn der eine oder der andere ihrer Eingänge ein
fcj 1-Signal empfangt, wenn also eine unf erade Anzahl von Eingängen signalführend ist. In ähnlicher Weise erzeugt
:| ίο das Antivalenzglied 201 ein 1-Ausgangssignal, wenn einer ihrer beiden Eingänge ein 1-Signal empfängt. Damit
:' ist sichergestellt, daß auf Leitung 292 nur dann ein 1-Signal auftritt, wenn eine ungerade Zahl der drei Eingangssignale in dem dem Minuszeichen von Tabelle IV zugeordneten 1-Signalzustand steht.
, Das Addition/Subtraktion-Steuersignal auf Leitung 202 wird über eine Schaltung 203auf die Ausgangsleitung
jfji 42der Schaltung 40 unter der Voraussetzung übertragen, daß die Steuersignale »Zone«, »dezimal«, »1. Durch-
$ 15 gang« und »Rekomplementierung« auf den Steuerleitungen 26, 27, 28 und 30 die entsprechenden Signalzu-
y stände einnehmen. Die Schaltung 203 enthält UND-Glieder 204, 205 und 206, deren Ausgänge mit einem
(f ODER-Glied 207 verbunden sind, an das die Leitung 42angeschlossen ist. Die UND-Glieder 204 bis 206 werden
■ " durch die Zustandsanzeigesignale »dezimal« und »1. Durchgang« auf den Leitungen 27 und 28 gesteuert. Diese
#' SUiiusaäicigcsigiiäic werden zunächst einer SoitendcCGuivrscriaitüng zugeführt, die uüs den Schaltelementen
f> 20 219bis 213besteht und die Eingangsleitungen 214,215und216der UND-Schaltungen 204 bis 206derart steuert,
■<:■ daß jeweils nur eine dieser drei Leitungen den 1-Signalzustand einnimmt. Wenn kein Dezimalzustand angezeigt
^ wird, liegt um Leitung 27 auf dem Signalpegel 0, wodurch auf der Leitung 214 ein I-Signal erzeugt wird. Hierin durch wird das UND-Glied 294 geöffnet, um das Signal »angeforderte Operation« von der Leitung 41 auf die
K Addition/Subtraktion-Steuerleitung 42 zu übertragen. Die UND-Glieder 205 und 206 sind zu dieser Zeit M 25 gesperrt. Hierdurch wird ermöglicht, die arithmetische Einheit 10 extern zu steuern, wenn keine Dezimalope-
r< randen zu verarbeiten sind.
- Wenn das Zustandssignal »dezimal« vorliegt und außerdem ein »1. Durchgang« angezeigt wird, nimmt die
Leitung 215den 1-Signalzustand an. Hierdurch wird das UND-Glied 205geöffnet und die UND-Glieder 204 und
296 gesperrt, wodurch das Signal von der Leitung 292 auf die Leitung 42 übertragen wird. Dies ist der Normalfall bei der Verarbeitung von Operanden im gepackten Dezimalformat sowie im Zonen-Dezimalformal. Bei Operanden, die eine größere Stellenzahl aufweisen als die arithmetische Einheit 19, sind die Vorzeichenfelder nur beim ersten Durchgang vorhanden. Die auszuführende Operation (Addition oder Subtraktion) muß jedoch auch während der nachfolgenden Durchgänge beibehalten werden. Die hierzu notwendige Speicherfunktion für den jeweiligen Operationszustand übernimmt eine Verriegelungsschaltung 217, die während des ersten Durchganges den SignaJzustand der Leitung 292 speichert und über ihre Ausgangsleitung 218 während der nachfolgenden Durchgänge der Schaltung 213zur Verfügung stellt. Die Leitung 218 ist mit dem UND-Glied 206 verbunden, das bei Foigsdurchgängen geöffast wird. Hierdurch wird das von der Vor/cichenabtastschaltung 180 und den EXCLUSl V-ODER-Schaltungen 290 und 291 gebildete Steuersignal des ersten Durchganges der Addilion/Subirsktion-Sisuerleitung 42 zugeführt.
Die Schaltung 203 hat noch eine weitere Funktion. Mit ihrer Hilfe kann die Leitung 42 auf die Steuerung einer Subtraktion eingestellt werden, wenn die arithmetische Einheit 10 eine Rekomplementierung auszufahren hat. Hierzu wird das Rekwnplementiemngssteuersignal auf der Leitung 39 direkt dem ODER-Glied 207 zugeführt. Bei einer Rekomplementierung ist die auszuführende Operation stets eine Subtraktion.
Die Vorzeichenverarbeitungsschaltung 49 enthält ferner eine Wahischaltung 220, die auf das Vorzeichenfeid as in einem der dezimalen Operanden anspricht und dafür sorgt, daß die Bits im Vorzeichenfeld des Resultats die richtigen Binärwer'e einnehmen. Diese Schaltung enthält UND-Glieder 221 und 222, denen ein ODER-Glied 223 nachgeschaltet ist. dessen Ausgang mit der Leitung 4i von Fig. 1 verbunden ist. Die Leitung 46 liefert ein Resultatvorzeichen-Steuersignal zur Korrekturschaltung 50.
Die Umschaltung zwischen dem Vorzeichen des Operanden A und dem Vorzeichen des Operanden B erfolgt durch das Rekomplementierungssignal auf der Leitung 30, das dem UND-Glied 222 direkt und dem UND-Glied 221 über eine Negationsschaltung 224 zugeführt wird. Während einer Rekomplementierung nimmt die Leitung 30 den 1-Signalzustand ein. Hierdurch wird das UND-Glied 222 geöffnet und das UND-Glied 221 gesperrt. Wenn keine Rekomplementierung auszuführen ist, nimmt die Leitung 30 den Null-Signalzustand ein, der das UND-Glied 221 öffnet und das UND-Glied 222 sperrt. Das UND-Glied 221 empfängt das Ausgangssignal der Schaltung 189, welche das Vorzeichen des Operanden A im Register 23 anzeigt Das UND-Glied 222 empfangt über eine Negationsschaltung 225 das Komplement des Ausgangssignals der Schaltung 181, die das Vorzeichen des Operanden B im Register 31 anzeigt. Während des normalen Betriebes (keine Rekomplementierung) entspricht somit das Vorzeichensteuersignal auf der Leitung 46 dem Vorzeichen des Operanden A im Register 21. Wenn dagegen eine Rekomplementierung erfolgt, wird der Signalzustand auf der Leitung 46 so eingestellt, daß er jeweils das entgegengesetzte Vorzeichen des Operanden anzeigt, der während der Rekomplementierung im Register 31 steht. Hierdurch wird das Vorzeichen der rekomplementierten Zahl umgekehrt.
Die Korrekturschaltung 50 (Fig. 10-13)
Die F ä g. 10 zeigt ein Ausführungsbsispie! der Korrekiurschaitung 5β von F i g, 1, die einen Satz von acht vierstufigen logischen Schaltungen 399 bis 3S7 zur einzelnen Verarbeitung der acht Ziffernfelder des am Ausgang des Addieren 20 auftretenden Resultats enthält. Die jeweils vier Bits umfassenden Ziffernfelder des Resultats sind mit RO bis Rl bezeichnet, während die von der Korrekturschaltung 59 erzeugten Ziffernfelder mit ZO bis
sind. Acht Summelicilungen 51 obis 51 /»mil je vier Adern bilden die DatcnsHinmelleitung 51 von I' ig I ! dementsprechend bilden Sammelleitungen 52 ο bis 52/; nut je vier Adern die I ):ilcnsanimc !leitung 52 Min 1'ιμ. I, ti ic mit dem I üngu ng des/ Kesslers 53 verbunden ist. Die lingiinyslcituM^cii ( Ό bis ί '7 sind nut den /ilVernrcld-Übcrtragsausgangslcitungen des Addierers 20 verbunden, wobei CO die Üburtragsausgangsleilung fur das hexadezimale ZilTernfeld 0, Cl die Übcrtragsausgangsleitung für das hexadezimale Ziffernfud 3, s usw., bezeichnet. Den Aufbau der logischen Schaltung 304 zeigt die F i g. 11, den der logischen Schallung 306 die Fig. 12 und den der logischen Schaltung 307 die Fig. 13. Das Steuersignal »1. Durchgang« auf Leitung 28 Und das Rcsultatvorzeichen-Steuersignal auf Leitung 46 werden nur zu den logischen Schaltungen 306 und 307 geleitet.
Die Schaltung von Fig. 11 enthält vier Bitstufen 310 bis 313, die auf ihren Ausgangsleitungen die Bitsignale to QObis Q3des Ziffernfeldes Z4erzeugen. Die Bitstufe 310, die dem höchsten Bitstellenwert zugeordnet ist, enthält UND-Glieder 313 und 315, denen ein ODER-Glied 316 nachgeschaltet ist. Die Bitstufe 311 enthält UND-Glieder 317, 318und 319, denen ein ODER-Glied 320nachgeschaltet ist. Die Bitstufe 312 enthält UND-Glieder 321 und 322, denen ein ODER-Glied 323 nachgeschaltet ist, und die wertniedrigste Bitstufe 313 wird lediglich durch ein ODER-Glied 324 gebildet. t<
Die UND-Glieder der Stufen 310bis 313 werden durch Signale auf Steuerleitungen 325,326 und 327 gesteuert. Es sind die drei folgenden Funktionen ausführbar:
a) echte oder unveränderte Datenübertragung,
b) ZifTernv/rrt +10,
c) Erzeugen von 1-Bits.
Die Leitung 325 öffnet die UND-Glieder 314, 317 und 321 und sperrt alle übrigen UND-Glieder. Unter der Annahme, daß die Leitung 327 im Nullzustand ist, werden die Bitsignale PQ bis P3 über die geöffneten UND-Schaltungen 314, 317 und 321 unverändert zu den Ausgangsleitungen QO bis Q3 übertragen. Wenn die +10-Steuerleitung 326 im 1-Signalzustand steht, werden die UND-Glieder 315, 318. 319 und 322 geöffnet und alle anderen UND-Glieder gesperrt. Die geöffneten UND-Glieder bewirken eine Erhöhung des Wertes der durch die Codierung der Bitsignale des Ziffernfeldes 4 dargestellten Zahl um den konstanten Faktor 10. Dies geschieht unter der Vorausssetzung, daß dieser Zahlenwert im hexadezimalen Wertebereich zwischen 6 und Fliegt. Die Verknüpfungslogik zur Ausführung dieser Werteerhöhung ist folgende: 3ü
QO = PO ■ Pl Pl_ (5)
Ql = Pl ■ Pl+ Pl ■ Pl (6)
Q2 = Pl (7)
Q3 = P3 (8)
Das UND-Glied 315 und das ODER-Glied 316 der Bitstufe 310 führen die logischen Verknüpfungen gemäß Gleichung (5) aus. Die UND-Glieder 318 und 319 und das ODER-Glied 320 in der Bitstufe 311 führen die Verknüpfungen nach Gleichung (6) aus. Das UND-Glied 322 und das ODER-Glied 323 der Bitstufe 312 führen die Verknüpfungen nach Gleichung (7) aus. Im letzteren Fall ist das Ausgangssignal Q2 das Einerkomplement des Eingabesignals PZ Das ODER-Glied 324 der Bitstufe 313 fuhrt die Logik gemäß Gleichung (8) aus. In diesem Fall entspricht das Ausgangssignal Q3 dem Eingangssignal P3.
Wenn die Steuerleitung 327 ein 1-Signal führt, wird damit auf jeder der vier Ausgangsleitungen QO bis QI direkt ein entsprechendes 1 -Signal erzeugt, da die Leitung 327 über die ODER-Glieder 316,320,323 und 324 mit den Ausgangsleitungen verbunden ist. Die Erzeugung von 1-Bits erfolgt ungeachtet des Signalzustandes auf den Steuerleitungen 325 und 326. Der 1-Signalzustand von der Steuerleitung 327 übersteuert jeden Null-Bitwert, der an den anderen Eingängen der ODER-Gliedern 316, 320, 323 und 324 anliegt.
Die Signale auf den Leitungen 325 bis 327 werden durch die verschiedenen Kombinationen der Zustandsanzeigesignale »Zone« und »dezimal« auf den Steuerleitungen 26 und 27 sowie durch das Übertragsausgangssignal für das Ziffernfeld 4 auf der Statusleitung C4 bestimmt. Die Schaltung zur entsprechenden Verknüpfung dieser Signale besteht aus UND-Gliedern 328 bis 330, einem ODER-Glied 331 und Negationsgliedern 332 und 333.
Sollen binäre Operanden durch die arithmetische Einheit 10 verarbeitet werden, befindet sich die Steuerleitung 27 im Null-Signalzustand. Damit werden die UND-Glieder 328 bis 330 gesperrt, und der Ausgang des Negationsgliedes 332 führt ein 1-Signal, das über das ODER-Glied 331 auf die Steuerleitung 325 übertragen wird. Dadurch können die Daten von den Eingangsbitleitungen PQ bisP3 unverändert auf die Ausgangsbitleitungen QO bis Q3 übertragen werden. Dasselbe geschieht in den anderen logischen Schaltungen 300 bis 3*3 und 3f5 bis 307. Die Korrekturschaltung 50 überträgt somit alle 32 Resultatbits unverändert zum Ausgaberegister 53, wenn binäre Operanden zu verarbeiten sind.
Wenn die arithmetische Einheit 10 Operanden im Zonen-Dezimalformat zu verarbeiten hat, befindet sich sowohl das Zustandsanzeigesignal »Zone« auf der Leitung 26 als auch das Zustandsanzeigesignal »dezimal« auf der Leitung 27 im 1-Zustand. Hierdurch erzeugt das UND-Glied 328 auf der Leitung 327 den für die Erzeugung von 1-Bits notwendigen 1-Signaipegel. Diese Operation ist bei der Verarbeitung von Operanden im Zonen-Dezimalformat notwendig, weil das hexadezimale Ziffernfeld 4 in diesem Fall ein Zonenfeld ist. Es wird somit der erforderliche Zonencode für das Zonenfeld erzeugt
Wenn die arithmetische Einheit 10 Operanden im gepackten Dezimalformat verarbeitet, bleibt die Steuerleitung 327 im Null-Signalzustand, und es werden entweder die Steuerleitung 325 oder die Steuerleitung 32* in den 1-Signalzustand gebracht, abhängig vom Übertragsausgangssignal der Ziffemposition 4. Wenn die Statusleitung CA durch ein 1-Signal das Vorliegen eines Übertrages anzeigt, dann bedarf die Resultatziffer des Ziffemfeides 4
keiner Änderung. In diesem Fall befinuen sich beide Eingänge des UND-Gliedes 330 im 1-Zustand, so daß die Steuerleiiung 324 ebenfalls den 1-Zustand einnimmt. Hierdurch werden in der oben erläuterten Weise die Signale von den Eingangsleitungen PQ bis Fi unverändert auf die Ausgangsleitungen QQ bis Q3 übertragen. Wenn andererseits die Statusleitung C4 das Fehlen eines Übertrages anzeigt, ist eine Korrektur des Ziffernwer-
S tes notwendig, -.n diesem Fall befinden sich beide Eingänge des UND-Gliedes 329 im 1 -Zustand, so daß die Leitung 326ebenfalls irs den 1 -Zustand übergeht. Dadurch wird der Ziffernwert durch Addition des Konstantwertes 10 korrigiert, was einer Subtraktion von 6 entspricht, wie oben erläutert wurde.
Die logischen Schaltungen 300 und 302 von Fig. 10 besitzen den gleichen Aufbau wie die in Fig. 11 dargestellte logische Schaltung 304. Anstelle der Statusleitung CA werden diesen Schaltungen jedoch die Statusleitungen O und Cl zugeführt. Die logischen Schaltungen 301,303 und 305 weisen ebenfalls einen entsprechenden Aufbau auf, jedoch sind bei diesen Schaltungen die Schaltelemente zur Erzeugung von 1 -Ausgangssignalen weggelassen, und statt dessen werden die entsprechenden Übertragsausgänge des Addierers 20 benutzt. Dies bedeutet mit anderen Worten, daß für die ungeradzahligen logischen Schaltungen 301,303 und 305 die Steuerleitung 24 das UND-Glied 328 und die Steuerleitung 327 entfallen, weil die Ziffernfelder 1,3 und S stets Zahlenfei-
IS der sind. Für die logischen Schaltungen 301,303 und 305 erfolgt somit die Auswahl zwischen echter und um 10 inkrementierter Übertragung von dezimalen Resultatwerten in Abhängigkeit vom Vorliegen oder Fehlen eines Übertragsausgangssignals für die jeweilige Resultatziffer.
Die logischen Schaltungen 306 und 307 weisen einen unterschiedlichen Aufbau auf, der nachfolgend anhand der Fig. 12 und 13 erläutert wird. Diese Schaltungen verarbeiten die Vorzeichenfelder des Resultats. In diesem Zusammenhang ist zu beachten, daß nur ausgewählte Codes der 6 möelichen Vorzeichencodes von Tabelle II für die Resultatwerte gültig sind. Für Resultatwerte im gepackten Dezimalformat und im Zonen-Dezimal Format ist der negative Vorzeichencode 1101 (Hexadezir^alcode D). Der positive Vorzeichencode für Resultate im Zonen-Dezimalformat ist 1111 (Hexadezimalcode F). Der positive Vorzeichencode für Resultate im gepackten Dezimalformat ist 1100 (Hexadezimalcode C). Die logischen Schaltungen 306 und 307 verarbeiten nur die vorgenannten Vorzeichencodes.
Für binäre Resultate und für Resultate im gepackten Dezimaiformat arbeitet die logische Schaltung 306 in der gleichen Weise, wie es oben für die logische Schaltung 304 anhand der F i g. 11 beschrieben wurde. Bei Resultaten im Zonen-Dezimal format gibt es zwei Möglichkeiten. Das ZifTernfeld 6 kann entweder ein dezimales Vorzeichenfeld sein, was jeweils während des ersten Operationsdurchganges der Fall ist, oder ein Zonenfeld sein, was jeweils während der Folgedurchgänge der Fall ist. Die verschiedenen möglichen Vorzeichencodes für die logische Schaltung 306 sind folgende:
1111= Zonencode,
1111= positiver Vorzeichencode,
1101 = negativer Vorzeichencode.
Der positive Vorzeichencode ist der gleiche wie der Zonencode. Der negative Vorzeichencode unterscheidet sich nur in der dritten Bitposition von den beiden letztgenannten Codes. Die logische Schaltung 306 kann daher genauso aufgebaut sein wie die logische Schaltung 304; jedoch muß eine Einrichtung vorhanden sein, um die dritte Bitposition in den Nullzustand zu bringen, wenn Resultate im Zonen-Dezimalformat während des ersten Durchganges zu verarbeiten sind und wenn ein negatives Vorzeichen vorliegt.
Aus Fig. 12 ist ersichtlich, daß sich der Aufbau der Schaltung 306 von dem Aufbau der Schaltung 304 in der Bitstufe 412 unterscheidet, welche die dritte Bitposition behandelt. Die Bitstufe 412 enthält UND-Glieder 421 und 422 sowie ein ODER-Glied 423. Diese entsprechen in ihrer Funktion den UND-Gliedern 321,322 und dem
4; ODER-Glied 323 von Fig. 11. Zusätzlich ist ein viertes UND-Glied 440 vorgesehen, das die Nullstellung beim Auftreten eines negativen Vorzeichens in einem im Zonen-Dezimalformat vorliegenden Resultat während des ersten Durchganges übernimmt. Dieses UND-Glied 440 wird durch das Resultatvorzeichen-Steuersignal auf Leitung 46 sowie durch das Zustandsanzeigesignal »I. Durchgang« auf der Steuerleitung 28 gesteuert. Diese beiden Signale werden an ein UND-Glied 441 angelegt, dessen Ausgang über ein Negationsglied 442 und eine Leitung 443 mit einem Eingang des UND-Gliedes 440 verbunden ist. Der andere Eingang des UND-Gliedes 440 ist an die Leitung 327 angeschlossen, welche die Nullenerzeugung in der oben in Verbindung mit Fig. 11 beschriebenen Weise steuert.
Das UND-Glied 441 und das Negationsglied 442 bewirken, daß die Leitung 443 nur dann einen Null-Signalzustand annimmt, wenn das Zustandsanzeigesignal »1. Durchgang« und zugleich ein negatives Vorzeichen vorlicgen. Das Auftreten eines Null-Signals auf der Leitung 443 sperrt das UND-Glied 440, wodurch dessen Ausgangsleitung Pl ebenfalls einen Null-Signalzustand einnimmt. Für jede andere Kombination der Signale auf den Leitungen 28,46 befindet sich die Leitung 443 im 1-Signalzustand, so daß das UND-Glied 440 geöffnet wird und das Einsen-Erzeugen-Steuersignal auf Leitung 327 wirksam werden kann. Ein weiteres Negationsglied 444 dient dazu, die UND-Glieder 421 und 422 zu sperren, wenn Resultate im Zonen-Dezimalformat zu verarbeiten sind.
Diese Abschaltung ist notwendig, um das Auftreten fehlerhafter !-Signale auf der Ausgangsleitung Pl zu verhindern, wenn das UND-Glied 440 ein Nullsignal erzeugt.
Die Operation der logischen Schaltung 307 von Fig. 13 entspricht der Operation der logischen Schaltungen 301,303 und 305 mit einer Ausnahme. Wenn Resultate im gepackten Dezimalformat verarbeitet werden und es sich um den ersten Durchgang handelt, muß die Schaltung 307 den entsprechenden Vorzeichencode auf ihren Ausgangsleitungen KO bis K3 erzeugen. Für jeden anderen Fall, nämlich bei binären Resultaten, bei Resultaten im Zonen-Dezimalformat und bei Folgedurchgängen für Resultate im gepackten Dezimalformat arbeitet die Schaltung 307 genauso wie die logischen Schaltungen 301, 303 und 305.
Die benötigten Vorzeichencodes für Resultate im gepackten Dezimalformat sind die folgenden:
1100 = positiver Vorzeichencode,
1101 = negativer Vorzeichencode.
Der einzige Unterschied zwischen den beiden Codes liegt in der vierten Bitposition. Um den korrekten Vorzeichencode zu erzeugen, reicht es somit aus, die Ausgänge der ersten beiden Bitstufen, welche die Ausgangssignale KO und Kl erzeugen, zur Annahme des 1-Signalzustandes zu veranlassenden Ausgang Vl der dritten Bitstufe auf 0 zu setzen und den Ausgang K3 der vierten Bitstufe entsprechend dem Wert des Resultatvorzeichen-Steuersignals auf Leitung 46 einzustellen.
Die Bitstufen 310 und 311 von Fig. 13 entsprechen den gleichnamigen Bitstufen von Fig. 11. Die Bitstufen 512 und 513 für die beiden wertniedrigen Bitpositionen sind jedoch abgeändert. Ebenso ist die logische Schaltung für die Bildung der Steuersignale für die Erzeugung von Einsen abgeändert. Die Schaltelemente zum Betrieb der Steuerleitungen 325 und 326 sind mit denen von Fig. 11 identisch.
Wenn ein Vorzeichencode für ein Resultat im gepackten Dezimalformat erzeugt werden soll, liegen das Zustandsanzeigesignal »dezimal« und das Zustandsanzeigesignal »1. Durchgang« vor, die ein UND-Glied 551 öffnen. Da zur gleichen Zeit die Leitung 26 für die Zustandsanzeige »Zone« ein Null-Signal führt, das über ein is Negationsglied 552 invertiert einem dritten Eingang des UND-Gliedes 551 zugeführt wird, erzeugt dieses.-rtf einer Leitung 550 ein 1-Signal, das eine Erzeugung von 1-Bits auf den Ausgangsleitungcn KO und Kl bewirkt. Das I-Signal von Leitung 550 wird über ein Negationsglied 553 zwei UND-Gliedern 521 und 522 in der Bitstufe 512 zugeführt, die damit abgeschaltet werden, so daß auf der Ausgangsbitleitung K2 eine binäre Null erzeugt wird.
In der Bitstufe 513 öffnet der 1 -Signalzustand auf der Steuerleitung 55« ein UND-Glied 554, während der zugehörige Null-Signalzustand am Ausgang des Negationsglieds 553 ein weiteres UND-Glied 555 sperrt. Das UND-Glied 554 empfängt zusätzlich das Resultatvorzeichen-Steuersignal von der Leitung 46. das damit unverändert aufdie Ausgangsleitung K3 übertragen wird. Wenn sich die Leitung 46 im 1-Signalzustand befindet, nimmtauch die Ausgangsleitung K3 den 1-Signalzustand an, der, wie oben erläutert, der gewünschte Signalpegel für den negativen Vorzeichencode ist. Wenn umgekehrt die Leitung 46 im Null-Signalzustand steht, nimmt auch die Ausgangsleitung K3 diesen Signalzustand an.
Die logische Schaltung 307 erzeugt somit den gewünschten Vorzeichencode von 1100 oder 1101 während eines ersten Durchganges bei der Bildung eines Resultats im gepackten Dezimalformat. Nimmt man an, daß ein anderer Zustand vorliegt, d. h., daß binäre Operanden oder Operanden im Zonen-Dezimalformat verarbeitet werden oder daß bei Operanden im gepackten Dezimalformat Folgedurchgänge notwendig sind, so ist wenigstens siner der Eingänge des UND-Glieds 551 im Null-Signalzustand. Damit geht die Steuerleitung 550 in den Null-Signulzustand über, indem keine Nullen auf den Ausgangsleitungen KO und Kl erzeugt werden. Über das Ncgationsglied 553 wird der Signalzustand der Steuerleitung 550 invertiert, so daß die UND-Glieder 521 und 522 der Bilslufc 512 geöffnet werden. Dadurch kann diese Bitslufe in der gleichen Weise arbeiten wie die entsprechende Bitstufe in den logischen Schaltungen 301,303 und 305 von Fig. 10. Das UND-Glied 521 dient unter Steuerung der Leitung 325 zur unveränderten Übertragung der echten Eingangssignale von der Leitung Ul und das UND-Glied 522 unter Steuerung der Leitung 326 zur Übertragung des Komplements der Eingangssignale von der Leitung Ul. In der vierten Bitstufe 513 sperrt das Null-Signal auf der Leitung 550 das UND-Glied 554, und das zugehörige !-Signa! am Ausgang des Negation.sg!ieds553 öffnet das UND-Glied 555. Hierdurch wird die ·» Bitstufe 513 wirksam zum unveränderten Übertragen der Eingangssignale auf der Leitung t/3 zur Leitung K3.
Der Komplementdetektor (Fig. 14)
Die Fig. 14 zeigt ein Ausluhrungsbeispiel Tür den Aufbau des Komplementdetektors 65 von F i g. 1. Wie oben bereits ausgeführt wurde, besteht die Anzeige dafür, daß ein vom Addierer 20 geliefertes Resultat in Komplementfurm vorliegt, darin, daß bei einer dezimalen Subtraktion eine Übertragsanzeige a\:f der Statusleitung CO fehlt (CO = 0).
Die Schaltung von Fig. 14 enthält ein UND-Glied 600 zum Empfang des Zustandsanzcigesignals »Dezimal« auf der Steuerleitung 27 sowie des Addition/Subtraktion-Steueroignals auf der Steuerleitung 42. Das Übertragsausgangssignal CO wird über die Leitung 66 und ein Negationsglied 601 Jem UND-Glied 600 zugeführt. Wenn damit am Ende einer dezimalen Subtraktion die Statusanzeige CO-O vorliegt, erzeugt das UND-Glied 600 ein I-Ausgangssignal. das einer Verriegclungsschaltung 602 zugeführt wird und dort zur gleichen Zeit gespeichert wird, wenn das Resultat dem Z-Register 53 zugeleitet wird. Sofern das UND-Glied 600 ein 1-Ausgangssignal liefert, so wird dieses in der Vcrriegelungsschaltung 602 gespeichert, um ein Anzeigesignal für das Vorliegen eines komplementären Resultats an eine Ausgangsleitung 67 abzugeben.
Sofern eine Rekomplementierung vorgenommen werden soll, wird das Komplementanzeigesignal auf der Leitung 67 dem Steuerten der Datenverarbeitungseinheit zugeführt, in der sich die arithmetische Einheit 10 befindet. Der Steuerteil der Datenverarbeitungseinheit ieitet daraufhin die erwünschte Rekomplementierung ein. Das Signal auf Leitung 67 kann ferner einen Leuchtanzeigeverstärker 603 betätigen, der eine Anzeigelampe 604 speist, um den Komplcmentzustand des Resultats optisch zur Anzeige zu bringen.
Erläuterung der Arbeitsweise der arithmetischen Einheit 10
Im folgenden werden einige typische Rechenbeispiele mit Operanden im Zonen-Dezimalformat zur ergänzenden Erläuterung der Arbeitsweise der arithmetischen Einheit 10 beschrieben. Es wird hierzu die folgende Addition von zwei Operanden im Zonen-Dczimalformat gewählt:
Operand A
Operand B
Fb /8
+ Fl F9
erwartetes Ergebnis Fi Fl
S Die hexadezimale Schreibweise (siehe Tabelle III oben) wird hier und in den folgenden Beispielen benutzt, um die Operation der Funktionseinheiten der arithmetischen Einheit 10 erläutern zu können. Hierbei wird der Zonencode »11! 1« für numerische Zeichen auch durch die Hexadezimalzahl /'dargestellt. Die Zeichen »fi< im obigtn Beispiel stellen somit die Zonenfelder in den beiden Operanden sowie im erwarteten Ergebnis dar. Das äußerste rechte F in jeder der Zahlen stellt das Vorzeichen dar. Der dem ^entsprechende Vorzeichencode 1111 gibt an, daß alle Zahlen positiv sind.
Im folgenden Beispiel wird die Subtraktion zweier Operanden im Zonen-Dezimalformat gezeigt: Operand A PS Fi Operand B -Fl F9
erwartetes Ergebnis Fi F9
In diesem Beispiel sind die beiden Operanden gleich den Operanden im vorausgehenden Additionsbeispiel. Durch die Operation der Schaltungen 23 und 33werden die Operanden so verändert, daß bei ihrer Addition im Binäraddiet^r 20 die SteUenüberträge zu den richtigen Zifferncodes weitergeleitet werden. Hierbei ist der
Unterschied zwischen den ZilTenifeidern und dem Vorzeichcnfeid besonders jlu beachten. Betrachtet man zunächst die Zifiernfelder, so ist ersichtlich, daß aufgrund der Zahlenbasis 10 die beiden zu addierenden Operanden in jeder ZifTernstelle einen Übertrag erzeugen, wenn die Resultatziffer größer als 9 ist. Eine binärcodierte Dezimalziffer besteht aus vier Bits. Eine solche Vier-Bit-Kombination bildet ein Hexadezimalsystem der Basis 16, so daß eine vier Bit umfassende binärcodierte Zahl praktisch eine HexadczimalziiTer ist. Wenn zwei solche
Ziffern zueinander addiert werden, erzeugen sie einen Übertrag in die nächsthöhere Stelle für alle Ergebnisse, die größer sind als 15 (Hexadezimalzahl F). Da der Unterschied in der Zahlenbasis eines solchen Systems gegenüber dem Dezimalsystem 6 beträgt, wird jedes über die Komplementierer/Modifizierer-Schaltung 33 ankommende binärcodierte Dezimalziffernfeld um den Faktor 6 erhöht, so daß bei der nachfolgenden binären Addition im Addierer 20 die Überträge zwischen den ZifTernfeldern den tatsächlichen Dezimalüberträgen enlsprechen.
Die Tabelle V zeigt a!'.e gültR-in Operandenziffern in der ursprünglichen Dezimalform, in ihrer entsprechenden Binärdarstellung sovie nach der Plus-sechs-Operation in der Schaltung 33.
Tabelle V
Eingang binäre Nach der Erhöhung binäre
Dc/.imal- Darstellung hexadezimale Darstellung
ZilTer 0000 Ziffer 1110
0 0001 6 Olli
1 0010 7 1000
2 0011 8 1001
3 0100 9 1010
4 0101 A 1011
5 0110 B 1100
6 Olli C 1101
7 1000 O UIO
8 1001 E MII
9 F
Wenn Überträge im Addierer 20 erzeugt werden, sollen diese den Wert des nächsthöheren ZifTcrnfcldes um den Betrag 1 erhöhen. Das nächsthöhere Feld im Zonen-Dezimalformat ist jedoch jeweils ein Zonenfeld. Daher muß jeder aus einem Ziffernfeld in ein Zonenfeld einlaufender Übertrag durch dieses Zoncnfeld in das nächsthöhere ZifTernfeld übertragen werden. Dies geschieht dadurch, daß alle Ziffernfeldbits des Operanden A den Binärwert 0 und alle Zonenfeldbits des Operanden B den Binärwert 1 erhalten. Während der Addition im Addierer 20 werden somit die in die Zonenfelder einlaufenden Überträge entsprechend der l'oigendcn Tabelle weitcrgeleitet:
Vorbereitetes Zoncnfeld im Operanden A 0000
Vorbereitete Zone im Operanden B 1111
Übertragscingang = 1 \_
Übertragsausgang 0000 Vorbereitete Zone im Operanden A 0000 Vorbereitete Zone im Operanden B llil Übertragseingang =0 0 Übertragsausgang = 0 1111
Im EBCDIC-Code haben die Zonenfelder der Operanden bereits den Code 1111. Man kann daher die Zonenfelder des Operanden B durch den Komplementierer/Modifizierer 33 unverändert übertragen. In diesem Fall muß natürlich sichergestellt sein, daß die Bits im Vorzeichenfeld durch die Schaltung 33 auf» Uli« gesetzt werden. Im oben beschriebenen Ausführungsbeispiel werden alle Zonenfeldbits und Vorzeichenfeldbits in den 1-Signalzustand gebracht, wenn ein Operand B durch die Schaltung 33 geführt wird, obwohl dies für die Zonenfeldbits eigentlich nicht notwendig ist. Die Operanden A und B des oben angegebenen Beispiels werden durch die Schaltungen 23 und 33 in der aus Tabelle VI ersichtlichen Art verändert.
Tabelle VI hexadezimal Veränderung
hexadezimal
binär OUO
Olli
0000
IUl
1000
1111
Eingang
Operand
Fd F8
Fl F9
0608
Π FF
0000
Uli
Operand A
Operand B
Der Ziffernwert eines jeden Ziffernfeldes im Operanden B wird um den Konstantwert 6 erhöht. Die dementsprechend veränderten Ziffernwerte sind in hexadezimaler und in binärer Darstellung auf der rechten Seite von Tabelle VI angegeben/Der Vollständigkeit halber sei erwähnt, daß c;e oben angegebenen Operanden jeweils nur die wertniedrigste Hälfte der Datenflußbreite des Addieren 20 einnehmen, da das hierin beschriebene Ausführungsbeispiel eine Datenflußbreite von 4 Bytes hat. Die werthöheren beiden Bytes werden somit Tür den linken Eingang 24 des Addierers entsprechend der Hexadezimalzahl 0000 eingestellt und für den rechten Eingang 34 entsprechend der Hexadezimalzahl Fd Fd.
Bei einer Subtraktion von Operanden im Zonen-Dezimalformat ist die Vorbereitung des Operanden A dieselbe wie im Fall einer Addition. Dies trifft auch zu fü; die Zonenfelder des Operanden B. Dagegen weicht die Vorbereitung der Ziffernfelder des Operanden B hiervon ab. Da im Binäraddierer 20 die Subtraktion aus Addition der Komplementwerte ausgeführt wird, sind die Ziffernfelder des Operanden B vor ihrer Zuführung zum Addierer 20 zu komplementieren. Die PIus-sechs-Erhöhang der Ziffemwerte erfolgt dabei durch Komplementierung der Ziffernfelder zur Basis 16 und nicht zur Basis 10, indem man einfach die binären Bits in den Ziffernfeldern komplementiert und eine Übertragseins der wertniedrigsten Stufe des Addierers 20 über die Übertragseingangsleitung 23 zuführt. Hierdurch wird in vorteilhafterweise ein binäres Zweierkomplement oder ein hexadezimales Sechzehnerkomplement erzeugt. Letzteres entspricht der Bildung des Zehnerkomplements und tfsr Addition \on 6. Somit ist die Addition von 6 in den Komplementierungsvorgang einbezogen.
Die Tabelle VII zeigt alle gültigen Eingabeoperanden und die zugehörigen hexadezimalen und binären Darsteiiungen nach der Kornplementierung In der Schaltung 33,
Für das oben angegebene Subtraktionsbeispiel werden somit die Operanden mit Hilfe der Schaltungen 25 und 33 in der aus Tabelle VIII ersichtlichen Art vorbereitet.
Tabelle VII binär Komplementierung 1111
Eingang 0000 hexadezimal binär 1110
dezimal 0001 F 1101
0 0010 E 1100
1 0011 D 1011
2 0100 C 1010
3 0101 B 1001
4 0110 Λ 1000
5 Olli 9 Olli
6 1000 8 0110
7 1001 7
8 6
9
Tabelle VIII hexadezimal hexadezimal Vorbereilei
binär
0110
1110
0000
IHI
1000
0110
Eingang
Operand
Fb Pi
R /9
0608
FEFb
0000
III!
Operand A
Operand B
Die im Addierer ausgeführte Rechenoperation zeigt die Tabelle IX für das oben angegebene Additionsbeispiel und die Tabelle X für das ober, angegebene Subtraktionsbeispiel.
Tabelle IX
IS Addicrerposition hexadezimal binär 0110
Olli
1110
I
CS = 0
0000
1111
0000
I
C6= 1
1000
1111
Olli
J
C7= 1
C. = 0
20 Eingang A
Eingang B
Ausgang
0608
Fl FF
FEX)I
Überträge
0000
Uli
1111
t
C4 = 0
25 Tabelle X
Addiererposition hexadezimal binär
Eingang A 0608 0000 0110 0000 1000
Eingänge FEFb 1111 1110 1111 0110
Ausgang 04 FF 0000 0100 IUI Uli C=I
i i l i
Überträge C4 = 1 CS = 1 C6 = 0 C7 = 0
35
Die Überträge C4, CS, C 6 und C7 bestimmen die Art der auszuführenden Korrekturoperation in der Schaltung 50. Für die Tabellen IX und X wird angenommen, daß die je zwei Bytes umfassenden Operanden rechtsbündig durch die arithmetische Einheit i0 geführt werden und somit in den beiden niedrigsten Bytcsiufen des Addierers 20 verarbeitet werden. Dessen ungeachtet müssen die Übertragsausgänge CO, Cl, C2und C3berücksichtigt werden.
Es sei zunächst die ResulUtkorrektur der ZifTernfelder betrachtet. Da die ZifTernfelder des Operanden B um den Faktor 6 erhöht worden sind, um entsprechende Ziflernfeldüberträge für die Basis 16 zu erhalten, ist eine Korrektur des Resultatziffernfeldes nicht erforderlich, wenn bei der Addition im Addierer 20 ein Ziffernfeldübertrag auftritt. Wenn dies jedoch nicht der Fall ist, muß der entsprechende Resultatziffernwert um den Konstantwert 6 reduziert werden, um die ursprüngliche Werterhöhung rückgängig zu machen. Beim vorliegenden Beispiel trifft dies für die zwei unbenutzten Ziffernfelder 1 und 3 sowie für die Ziifernfelder 5 und 7 zu. Die Tabelle XI gibt eine Übersicht über die Korrekturoperation für alle möglichen Resultatziffern des Addierers 20, ohne daß bei der Bildung dieser Resultatziffern ein Ziffernfeldausgangsübertrag erzeugt wird.
Tabelle XI
55
60
65
Resultatziffer Korrigierte Resullatziffer
hexa- binär dezimal binär
dezimal
6 OUO 0 0000
7 Olli 1 0001
8 1000 2 0010
9 1001 3 0011
A 1010 4 0100
B 1011 5 0101
C UOO 6 OUO
D HOl 7 Olli
E IUO 8 1000
F UU 9 !0Oi
4":
Für die Zonenfeldcr ist eine ähnliche Korrektur notwendig; diese hängt jedoch in entgegengesetzter Weise von den während der Addition erzeugten Übertragssignalen ab. Wenn kein Zonenfeld-Ausgangsübertrag erzeugt wird, besteht das Resultatzonenfeld aus lauter Einsen, und es ist keine Korrektur notwendig. Wenn andererseits ein Zonenfeld-Ausgangsübertrag erzeugt wird, besteht das Resultatzonenfeld aus lauter Nullen, die daraufhin in lauter Einsen umzuwandeln sind, um den korrekten Zonenfeldcode zu erzeugen.
Die Tabelle XII gibt einen Überblick über die verschiedener/Korrekturen der Zonenfelder und der Ziffernfeldei iiir die verschiedenen Übertragsausgänge einer jeden vier Bits umfassenden Bitgruppe.
Tabelle XII Erforderlich: Operation
Zonenfeld
ZifTernfeld
Bitgruppen
übertrag
keine
lauter Einsen erzeugen
Reduzierung der Resultatziffer
keine
0
1
Wie oben bereits erläutert wurde, sind die Ziffernfelder bei Bedarf durch Inkrementierung um den Konstantwert 10 (hexadezimal A) zu korrigieren anstelle einer Reduzierung um den Konstantwert 6. Diese Korrektur erfolgt durch Addition des Komplements von 6, ohne daß dabei eine Weiterleitung der erzeugten Überträge erfolgt, d. h. die Überträge werden ignoriert.
Wendet man die in der Tabelle XII dargestellten Korrekturen auf die oben angeführten Rechenbeispiele an, so erhält man für das Additionsbeispiel die in der Tabelle XIII gezeigten Ergebnisse und Tür das Subtraktionsbeispiel die in der Tabelle XIV gezeigten Ergebnisse. Diese Ergebnisse stellen die korrekten Resultatwerte dar, die den erwarteten Resultatwerten der Rechenbeispiele entsprechen.
Tabelle XIIl Hexadezimal Binär
Bitgruppenüberträge
3 0
Uli
+0000
0000
+ 1111
0 1 1
FEOl
+0A FO
1111 1111 UlO
IOiO
0000
1111
OUl
0000
Resultat am Ausgang von ZO
Korrekturwert
FZFl Hexadezimal Binär
Bitgruppenübertriige
C 1
1000 Uli Olli
Korrigiertes Resultat
Tabelle XIV
04 FF
+FOOA
1 0 0
F4F9 0100
0000
1111
0000
Uli
1010
Resultat am Ausgang von 20
Korrekturwert
0100 1111 1001
Korrigiertes Resultat
Aus der obigen Erläuterung des dargestellten Ausführungsbeispiels ist erkennbar, daß die Zonenfelder einfach dadurch korrigiert werden, daß für jedes Zonenfeldbit eine binäre Eins erzeugt wird. Dabei werden die Zonenfeld-Ausgangsüberträge des Addierers 20 ignoriert. Diese Ausführung weicht von der vorausgehend erläuterten Korrekturform ab, ist aber dieser im Ergebnis gleichwertig. Das die Zonenfeld-Ausgangsübertrige benutzende Korrekturverfahren eignet sich jedoch besser zur Erläuterung der angeführten Zahlenbeispiele, weshalb es auch für die nachfolgende Beschreibung weiterbenutzt werden soll.
Wie bei jeder Komplementrcchnung kann die arithmetische Einheit 10 auch eine Komplementform der Zonenfelder erzeugen. Dies geschieht beispielsweise bei einer Subtraktion jeweils dann, wenn der Operand B einen größeren numerischen Wert hat als der Operand A. Die Tabelle XV zeigt dieses Ergebnis für die obigen Operandenbeispiele, die jedoch zu diesem Zweck bezüglich der Operanden A und B vertauscht wurden.
Tabelle XV Hexadezimal Binär 0001 ill I (■'in 1001
F7F9 Uli 0110 HH 1000
Operand A Fb Fi 1111 0001 0000 1001
Operand B 0109 0000 1001 HH Olli 1
A modifiziert B Π 1111 0 1 1
B modifiziert 0011 0 1011 0000 0001
Bitgruppenüberträge raoi UU 1010 1111 0000
Addiererausgang +0AFO +0000 0101 1111 0001
Korrektur F5 F\ 1111 0100 1101 1001
Endgültiges Resultat FA D9 1111
Erwartetes Resultat
ii
I-P 1J
'κ Das erwartete Ergebnis ist der negative Wert 49. Das »Z> < in der dritten ZifTernposition bezeichnet das nega-
)=§ »«ve Vorzeichen. Des durch die arithmetische Einheit 10 erzeugte und an das Z-Register 53 gelieferte Resultat ist
;| jedoch das Zehnerkomplement von -49, nämlich +51. Die oben erläuterten Schaltungen zeigen an, daß die an
!·■; 20 das Z-Register «gelieferte Resultatzahl in Komplementform vorliegt. Diesgeschieht durch Anzeige eines NuII- $ Signals auf der Statusleitung CO, die den Übertragsausgang für den Addierer 20 als Ganzes darstellt. Für eine
^l dezimale Subtraktion ist somit das dem Register 53 zugeführte Resultat ein echter Wert, wenn ein 1-Signal auf
% dem Übertragsausgang CO vorliegt (CO - 1). In diesem Falle ist die Rechenoperation beendet. Wenn andereres seits der Übertragsausgang COim SignalzusUnd 0 bleibt, liegt das dem Register 53 zugeführie Resultat in Korn-
fe 35 plementform vor. Es kann dadurch in seine echte Darstellung umgesetzt werden, daß man dieses Resultat von ■ einem Operanden A subtrahiert, der aus lauter Nullen besteht, wobei man zusätzlich das Vorzeichen des dabei
erhaltenen Resultatwertes entgegengesetzt dem Vorzeichen des zu rekomplementierenden Wertes einstellt, d. h., entgegengesetzt zum Vorzeichen des Resultatwertes, der vom Null-Operand A zu subtrahieren ist. Die Rekomplementierungsoperation für das Beispiel von Tabelle XV zeigt die Tabelle XVl.
30
35
Tabelle XVI Hexadezimal Binär 0000 1111 C 0000
TOFO 1111 0101 IHl 0001
Operand A FS Fl 1111 0000 0000 0000
Operand B 0000 0000 1010 mi ΠΙΟ 1
A modifiziert FAFE 1111 0 0 0
B modifiziert 0000 0 1010 1111 1111
Bitgruppenüberträge FAFF HH 1010 πιο 1010
Addw/erausgang +OAEA +0000 0100 HOl 1001
Korrektur FA D9 IHl
Endgültiges Resultat fa m
Erwartetes Resultat
45
Am Ende der Rekomplementierungsoperation tritt erneut auf dem Übertragsausgang CO ein Null-Signal auf. Dies ist erwartungsgemäß stets der Fall und hat nicht die Bedeutung, daß eine weitere Rekomplementierung erforderlich ist.
so In den obigen Rechenbeispielen waren jeweils die Vorzeichen der Operanden A und B positiv. Dies wurde zum Zwecke der einfacheren Erläuterung angenommen. Wenn eine Addition auszuführen ist, bei der ein Operand positiv und der andere negativ ist, veranlaßt die Vorzeichenverarbeitungsschaltung 40 die arithmetische Einheit 10 zur Ausführung einer Subtraktion. Wenn umgekehrt eine Subtraktion angefordert ist und die Eingabeoperanden unterschiedliche Vorzeichen haben, veranlaßt die Schaltung 40 die arithmetische Einheit 10 zur
Ausführung einer Addition, um die richtigen Resultatwerte zu bilden.
Verschiedene Beispiele für die Vorzeichenverarbeitung zeigen die Tabellen XVlI bis XX. Die Tabellen XVII und XVIII gelten für Operanden im Zonen-Dezimalformat und die beiden übrigen Tabellen für Operanden im gepackten Dezimalformat.
ω Tabelle XVII
Vorzeichen Hexadezimal
65
Angeforderte Operation + Addition
Operand A + F6A%
Operand B - Fl D9
Ausgeführte Operation Subtraktion
Ergebnis + F4F9
Tabelle XVIII Vorzeichen Hexadezimal
Angeforderte Operation Subtraktion
Operand A - F6BB
Operand B + F\ C9
Ausgeführte Operation + Addition
Ergebnis FSDl
Tabelle XlX
Vorzeichen Hexadezimal Angeforderte Operation
Operand B
Ausgeführte Operation Ergebnis
Tabelle XX
Addition
684 £
193 E
Subtraktion
491 D
Vorzeichen Hexadezimal
Angerorderte Operation Subtraktion
Operand A + 684 F
Operand B 193 B
Ausgeführte Operation + Addition
Ergebnis + 877 C
Für die Operanden im Zonen-Dezimalformat gibt das vorletzte Symbol rechts den Vorzeichencode an. Für Operanden im gepackten Dezimalformat gibt das Symbol in der äußersten rechten Position den Vorzeichencode an. Diese Codes sind aus der Tabeüe !I ersichtlich. Das Resultat hat immer dasselbe Vorzeichen wie der dem Register 21 zugeführte Operand A. Der Vorzeichencode des Operanden A wird jedoch immer in den oben angegebenen Resultat-Vorzeichencode umgewandelt, ohne daß sich dabei an der Polarität c'es Vorzeichens etwas ändert.
Zur ergänzenden Erläuterung der Rekomplementierungsoperation, während der die arithmetische Einheit 10 immer eine Subtraktion ausführt ungeachtet des Vorzeichens der dabei zugeführten Operanden, zeigt die Tabelle XXI die Rekomplementierung fur ein Operandenpaar im Zonen-Dezimalformat und die Tabelle XXi} für ein Operandenpaar im gepackten Dezimalformat. Die Tabellen lassen erkennen, daß die Endergebnisse in beiden Beispielen das entgegengesetzte Vorzeichen aufweisen wie die Komplementergebnisse.
Tabelle XXI Vorzeichen Hexadezimal Angeforderte Operation
Operand A Operand B
Ausgeführte Operation Kompiementergebnis Rekomplementierungsoperation Endergebnis
Addition
Fl/49
F6/>8
Subtraktion
F5F1
Subtraktion
F4D9
Tabelle XXII
Vorzeichen Hexadezimal
+ Addition
-t- 193 £
- 684 B
- Subtraktion
+ 509 C
- Subtraktion
491D
Angeforderte Operation
Operand A
Operand B
Ausgeführte Operation
ίο Komplementergebnis
Rekomplementierungsoperation
Endergebnis
Die arithmetische Einheit 10 verbessert die Rechenkapazität einer Datenverarbeitungseinheit erheblich.
is WeQB ils Resultat einer dezimalen Rechenoperation unmittelbar in echter Form erhalten wird, ist die Geschwindigkeit für Dezimalrechnungen vergleichbar mit der von Binärrechnungen für Operanden gleicher Genauigkeit Wenn das Resultat zunächst in Komplementfcrm erhalten wird und danach zu rekomplementieren ist, ist die Rechengeschwindigkeit um einen Operationstakt langsamer.
Isa beschriebenen Ausfühningsbeispiel wird ein paralleler Binäraddierer mit Übertragsvorausschau als rechnende Einheit benutzt. Statt dessen kann natürlich auch eine andere Rechenschaltung, z. E. ein paralleler binärer Subtrahierer mit Borgervorausschau verwendet werden. In diesem Falle sind die Addition/Subtraktion-Steuerfunktionen umgekehrt. Für eine Addition ist der Operand B zu komplementieren, während er für eine Subtraktion nicht komplementiert wird. Die Übertragsausgangssignale sind in diesem Falle Borger-Ausgangssignale.
Die verschiedenen Schaltungsausführungen wurden anhand vor Schaltelementen in positiver Logik erläutert. Die Schaltungen können natürlich auch mit Schaltungselementen in negativer Logik oder in einer Mischung aus positiver und negativer Logik ausgeführt werden. Dabei können die oben erläuterten UND-Glieder, ODER-Glieder und Negationsglkder ganz oder teilweise durch NAND-Glieder, NOR-Glieder oder andere logische Schaltungen ersetzt werden.
- .
Hierzu 7 Blatt Zeichnungen

Claims (1)

  1. Patentansprüche:
    1. Arithmetische Einheit fur automatische Rechengeräte zur Addition oder Subtraktion von binär oder binärdezimal verschlüsselten Operanden mit einem Paralleladdierer, dessen Operandeneingänge und des-
    sen Resultatausgang über je eins Modifizierschaltung geführt sind, die auswählbare Teile der Operanden und des Resultats auf vorgegebene Werte einstellen, dadurch gekennzeichnet, daß zur wahlweisen Verarbeitung binärdezimaler Operanden im gepackten Dezimalformat oder im Zonen-Dezimalformat der Bitstellenbereich der Modifizierschaltungen (23,33,5·) von der niedrigsten zur höchsten Ziffernstelle in jV-Bit-Gruppen unterteilt ist, daß die /V-Bit-Gruppen Torschaltungen (108,112; 144,1*4; 314,325) aufweisen zur
    ίο unveränderten Übertragung der BiU bei Verarbeitung von binären Operanden und von Operanden im gepackten Dezimalformat, daß die zweite und von den folgenden jede übernächste JV-Bit-Gruppe eine bei der Verarbeitung von Operanden im Zonen-Dezimalformat durch Formatsteuersignale aktivierbare Voreinstellschaltung (z. B. 113; 149, 1§7; 31*. 327) enthält, die den Torschaltungen (108,112; 144,164; 314,325) der jeweils gleichen /V-Bit-Gruppe übergeordnet ist und diese durch Anlegen eines vorgegebenen Potentials an
    υ ihre Ausgangsleitungen unwirksam hält, daß wenigstens eine der beiden eingangsseitigen Modifizierschal tungenΊ&, 33; zusätzliche Schaltmittel (145 bis 14t, 151 bis 153, 156, 158, 1«, 165,166) aufweist,.die logische oder arithmetische Umformungen ausführen, um bei Subtraktion jeweils für einen der binären oder binärdezimal verschlüsselten Operanden dessen Komplementwert zu bilden und bei der Addition von binärdezimal verschlüsselten Operanden eine Korrekturaddition durchzuführen, und daß die Voreinstellschal-
    tung de>> zusätzlichen Schaltmitteln übergeordnet ist.
    2 ri rsiiirnei;Κηβ Einheit nach Anspruch I. dadurch gekennzeichnet, daß wenigstens eine dem Vorzeichen einesOperanden zugeordnete /V-Bit-Gruppe mit einer durch Formatsteuersignale einschaltbaren separaten Voreinstellschaltung (12·, 121,114; 174, IM) versehen ist, die den Torschaltungen der JV-Bit-Gruppen übergeordnet ist und diese unwirksam macht, indem sie den Ausgangsleitungen der Torschaltungen ein vorgege-
    benes Potential zufuhrt. .
    3. Arithmetische Einheit nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine der Operanden-Modifiziersdialtungen (33) Bit-fcomplement-Schaltungen (z. B. 145) enthält, d!s bei Ausführung von Subtraktionen von binären Operanden das binäre Komplement und bei der Ausführung von Subtraktionen binärdezimal verschlüsselter Operanden das hexadezimale Komplement der zugeführten Operanden auf den Ausgangsleitungen der /V-Bit-Gruppen erzeugen.
    4 Arithmetische Einheit nach einem der Ansprüche 1 bis 3. dadurch gekennzeichnet, daß eine der Modifizierschaltungen (33) für die Operanden für jede Λί-Bit-Gruppe eine Plus-sechs-Additionsschaltung (146 bis 148,151,153,157, /61) eifcnält, die über eine Steuerleitung (166) aktiviert wird, wenn eine Dezimaladdition auszuführen Ist.
    5 Arithmetische Einheit ..ach einem der Ansprüche I bis 4, dadurch gekennzeichnet, daß eine der Modifizierschaltungen (50) Tür das Resultat für jede JV-Bit-Gruppe eine logische Schaltung (315,318,319,322) zur Subtraktion von sechs vom ResultatzifTernwert der betreffenden /V-Bit-Gruppe enthält, und daß diese logische Schaltung über Übertragsstatusleitungen (CO, Cl bis C7) des Addierers (20) betätigt wird, wenn in der zugeordneten Ziffernstelle des Addierers kein Übertrag aufgetreten ist.
    6. Arithmetische Einheit nach Anspruch 5, dadurch gekennzeichnet, daß die logische Schaltung (315,318.
    319, 322) als übertragslose Plus-zehn-Additionsschaltung ausgebildet ist.
    7. Arithmetische Einheit nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die für jede zweite /V-Bit-Gruppe vorgesehenen Voreinsteilschaltungen (149, 167; 316, 327) sowohl den Bit-Komplement-Schaltungen (z. B. 145) als auch der Additionsschaltung bzw. Subtraktionsschaltung (146, 147, 148,
    152,153,157,161; 315.318,319,322) übergeordnet sind, indem sie unter Umgehung dieser Schaltungen den
    Ausgangsleitungen der betreffenden /V-Bit-Gruppen vorgegebene Bitwerte zuführen.
    8. Arithmetische Einheit nach einem der Ansprüche 1 bis 7. dadurch gekennzeichnet, daß in der Modifizierschaltung (33) des einen Operanden für eine das Vorzeichen darstellende Bit-Gruppe eine separate Voreinstellschaltung (174, 178) vorgesehen ist, die sowohl den Bit-Kompleiuentschaltungen (z. B. 145) als auch
    der Additionsschaltung (146,147,148,152,153,157,161) dieser Gruppe übergeordnet ist und unter Umgehung dieser Schaltungen den Ausgangsleitungen der Gruppe vorgegebene Bitwertc zufuhrt.
    ij 9. Arithmetische Einheit nach Anspruch 1 bis 8, dadurch gekennzeichnet, daß wahlweise eine der beiden
    Ij niedrigsten Bitgruppe zur Vorzeichendarstellung dient, von denen jede mit einer Voreinslellschallung (117,
    118,113; 120,121.114 und 173,167; 174,168) versehen ist, die durch die Formatsteuersignale betätigt wird.
    55 ιό Arithmetische Einheit nach einem der Ansprüche I bis 9, dadurch gekennzeichnet, daß die durch die
    ΐί Voreinsteilschaltungen (108,113; 149,173,167; 316,327; 120,121,114; 174,168; 117,118,113) erzeugten vor-
    '\ gegebenen Bitwerte in der einen Operanden-Modifizierschaltung (23) lauter Nullen und in der anderen Ope-
    ij randen-Modifizierschaltung (33) sowie in der Resultat-Modifizierschaltung (50) lauter Einsen sind.
    j 11. Arithmetische Einheit nach einem der Ansprüche 1 bis 10, gekennzeichnet durch eine Vorzeichen-
    60 Verarbeitungsschaltung (40), welche die beiden niedrigsten /V-Bit-Gruppen der beiden Operanden zugeführt
    erhält durch einen Vorzeichendetektor (184,185; 187; 188) für jede dieser Bitgruppen, von denen jeweils
    eine von einem Formatsteuersignal auswählbar ist, durch eine EXKLUSIV-ODER-SCHALTUNG (200), die an die Ausgänge der Vorzeichendetektoren angeschlossen ist. sowie durch eine weitere EXKLUSIV-ODER-SCHALTUNG (201). die das Ausgangssignal der ersten EXKLUSIV-ODER-SCHALTUNG (200) sowie ein externes Rechenart-Steuersignal zugeführt erhält und die ein Operationssteuersignal für die Modifizierschaltung (33) des einen Operanden erzeugt.
    12. Arithmetische Einheit nach Anspruch 11, dadurch gekennzeichnet, daß die Vorzeichendetektoren (184. 185; 187; 188) auf einen ein Minuszeichen darstellenden Code ansprechen.
    13. Arithmetische Einheit nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß die Ausgänge der Vorzeichendetektoren (147,185) des einen Operanden den Vorzeichen-Einstellschaltungcn(449,554) in den beiden wertniedrigsten /V-Bit-Gruppen der Resultats-Modifizierschaltung (50) zugeführt werden und daß diese Vorzeichen-Einstellschaltungen in Abhängigkeit von den Formatsteuersignalen auf den Aus- §§ gangsleitungen ein Resultatvorzeichen erzeugen, das dem Vorzeichen dieses Operanden entspricht. s
    ff 14. Arithmetische Einheit nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß die Vor-
    P zeichen-Voreinstellschaltungen (120, 121, 114; 174, 168) der Operanden-Modifizierschalrungen (23, 33)
    ?! sowie die Vorzeichen-Einstellschaltungen (440, 454) der Resultat-Modifizierschaltung (50) durch eine
    ff Steuerleitun* {28) gesperrt werden, die anzeigt, daß es sich um die Verarbeitung von Operandensegmenten
    ψ ohne Vorzeichen (Folgedurchgänge) handelt.
    §. 15. Arithmetische Einheit nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß die iV-Bit-
    iil Gruppen aus je vier Bits bestehen.
    ; 16. Arithmetische Einheit nach einem der Ansprüche 1 bis 15, gekennzeichnet durch eine Komplement-
    f; Resultatanzeigeschaltung (65), die bei einer Subtraktion wirksam wird und bei Vorliegen eines Komplement-
    ΐ Resultats ein Steuersignal zur Einleitung einer Rekomplementierungsoperation erzeugt, daß die Modifizier-
    £· schaltung (23) des einen Operanden eine bei einer Rekomplementierungsoperation betätigte Schaltung (116,
    r? 115) zum Nuilsetzen aller Bits dieses Operanden aufweist und daß die Vorzeichenverarbeitungsschaltung
    (40) eine Rekomplementierungsschaltung (30,207) aufweist, die im Rekomplementierungsfalle ein Subtraktionssteuersignal erzeugt und das Endresultatvorzeichen entgegengesetzt dem Komplementremltatvorzeichen einstellt.
DE2626432A 1975-06-17 1976-06-12 Arithmetische Einheit für automatische Rechengeräte Expired DE2626432C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/587,797 US4001570A (en) 1975-06-17 1975-06-17 Arithmetic unit for a digital data processor

Publications (2)

Publication Number Publication Date
DE2626432A1 DE2626432A1 (de) 1977-01-13
DE2626432C2 true DE2626432C2 (de) 1985-01-17

Family

ID=24351237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2626432A Expired DE2626432C2 (de) 1975-06-17 1976-06-12 Arithmetische Einheit für automatische Rechengeräte

Country Status (5)

Country Link
US (1) US4001570A (de)
JP (1) JPS5811652B2 (de)
DE (1) DE2626432C2 (de)
FR (1) FR2315122A1 (de)
GB (1) GB1512476A (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125867A (en) * 1976-10-27 1978-11-14 Texas Instruments Incorporated Electronic calculator or microprocessor having a hexadecimal/binary coded decimal arithmetic unit
JPS553064A (en) * 1978-06-22 1980-01-10 Fujitsu Ltd Binary/decimal adder device
CA1145054A (en) * 1979-01-02 1983-04-19 Honeywell Information Systems Inc. Data processing system with means to align operands
US4245328A (en) * 1979-01-03 1981-01-13 Honeywell Information Systems Inc. Binary coded decimal correction apparatus for use in an arithmetic unit of a data processing unit
DE3040931C1 (de) * 1980-10-30 1982-04-29 Siemens AG, 1000 Berlin und 8000 München Verfahren und Anordnung zur Verknuepfung von Operanden variabler Laenge in Datenverarbeitungsanlagen
JPS5827241A (ja) * 1981-08-12 1983-02-17 Hitachi Ltd 十進演算装置
DE3202757A1 (de) * 1982-01-28 1983-08-04 Jurij Egorovi&ccaron; Moskva &Ccaron;i&ccaron;erin Mikrocomputer-prozessor
JPS58219641A (ja) * 1982-06-14 1983-12-21 Mitsubishi Electric Corp マイクロコンピユ−タの演算装置
US4799181A (en) * 1986-09-30 1989-01-17 Honeywell Bull Inc. BCD arithmetic using binary arithmetic and logical operations
US4866656A (en) * 1986-12-05 1989-09-12 American Telephone And Telegraph Company, At&T Bell Laboratories High-speed binary and decimal arithmetic logic unit
US4805131A (en) * 1987-07-09 1989-02-14 Digital Equipment Corporation BCD adder circuit
GB2293469A (en) * 1994-09-22 1996-03-27 Secr Defence Error detection in arithmetic circuit.
US5752001A (en) * 1995-06-01 1998-05-12 Intel Corporation Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition
US5758336A (en) * 1996-05-30 1998-05-26 Matridigm Corp. Date format and date conversion procedure using a packed binary format
US5978809A (en) * 1997-01-27 1999-11-02 Bemer; Robert W. Method of solving millennium problems of some application programs
US6449610B1 (en) 1999-03-26 2002-09-10 International Business Machines Corporation Memory media and method of processing date data using pseudo zoned decimal format
US7299254B2 (en) 2003-11-24 2007-11-20 International Business Machines Corporation Binary coded decimal addition
US8612500B2 (en) * 2007-01-18 2013-12-17 International Business Machines Corporation Method and decimal arithmetic logic unit structure to generate a magnitude result of a mathematic
US9335993B2 (en) 2011-12-29 2016-05-10 International Business Machines Corporation Convert from zoned format to decimal floating point format
US9329861B2 (en) 2011-12-29 2016-05-03 International Business Machines Corporation Convert to zoned format from decimal floating point format
JP2013242700A (ja) 2012-05-21 2013-12-05 Internatl Business Mach Corp <Ibm> コード最適化方法、プログラム及びシステム
CN117743242A (zh) * 2023-11-22 2024-03-22 中金金融认证中心有限公司 一种低速cpu核间偶数末位电平补偿***和补偿方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3508037A (en) * 1967-01-30 1970-04-21 Sperry Rand Corp Decimal add/subtract circuitry
DE1915493C3 (de) * 1969-03-26 1975-09-04 Siemens Ag, 1000 Berlin Und 8000 Muenchen Schaltung für Multiplikation nach dem Prinzip der fortgesetzten, stellenversetzten Addition
US3752394A (en) * 1972-07-31 1973-08-14 Ibm Modular arithmetic and logic unit

Also Published As

Publication number Publication date
US4001570A (en) 1977-01-04
GB1512476A (en) 1978-06-01
JPS5811652B2 (ja) 1983-03-04
DE2626432A1 (de) 1977-01-13
FR2315122B1 (de) 1979-09-21
JPS52143A (en) 1977-01-05
FR2315122A1 (fr) 1977-01-14

Similar Documents

Publication Publication Date Title
DE2626432C2 (de) Arithmetische Einheit für automatische Rechengeräte
DE2616717C2 (de) Digitales Addierwerk
DE2712224C2 (de) Datenverarbeitungsanlage
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE1193996B (de) Schiebespeicher mit Steuervorrichtung
DE2230188C2 (de) Arithmetisch-logische Einheit für einen Digitalprozessor für variable Wortlängen
DE2063199A1 (de) Einrichtung zur Ausfuhrung logischer Funktionen
DE2405858A1 (de) Normalisierendes verschiebezaehlernetzwerk
DE3303269C2 (de)
DE1271433B (de) Adressiereinrichtung fuer einen Tabellenwertspeicher
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
EP0139207B1 (de) Schaltung zur CSD-Codierung einer im Zweierkomplement dargestellten, binären Zahl
DE2705989C2 (de) Schaltungsanordnung zum parallelen Addieren oder Subtrahieren von mindestens zwei Eingangszahlen
DE2000275A1 (de) Elektronischer Walzenschalter
DE2948340C2 (de) Informationsübertragungsanordnung für die Übertragung jeweils ausgewählter Informationseinheiten
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes
DE1774771A1 (de) Anordnung,um wechselweise eine Addition oder eine aus einer Anzahl logischer Funktionen zwischen den Inhalten einer Stelle zweier Binaerworte durchzufuehren
DE1549381B2 (de) Datenverarbeitungsanlage
DE1499227C3 (de) Schaltungsanordnung für arithmetische und logische Grundoperationen
DE1808159B2 (de) Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung
DE2737483C3 (de) Korrektur-Schaltungsanordnung für Additions- oder Substraktionsoperationen mit nicht-hexadezimalen Operanden in hexadezimalen Rechenwerken
DE2135607C2 (de) Schaltungsanordnung zur Inkrementierung oder Dekrementierung
DE3138948C2 (de) Schaltungsanordnung zur Erzeugung von Byte-Kennzeichenbits für die Verarbeitung von Speicheroperanden
DE1904365C3 (de) Verschiebeeinrichtung zur Verschiebung eines (N + 1) Bits aufweisenden Binärausdruckes um bis zu N-Stellen
DE2842349C2 (de) Digital-Analog-Umsetzer

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee