DE2039228A1 - Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage - Google Patents
Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer DatenverarbeitungsanlageInfo
- Publication number
- DE2039228A1 DE2039228A1 DE19702039228 DE2039228A DE2039228A1 DE 2039228 A1 DE2039228 A1 DE 2039228A1 DE 19702039228 DE19702039228 DE 19702039228 DE 2039228 A DE2039228 A DE 2039228A DE 2039228 A1 DE2039228 A1 DE 2039228A1
- Authority
- DE
- Germany
- Prior art keywords
- signals
- adder
- signal
- digit
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
- H03M7/12—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
BURROUGHS CORPORATION, eine Gesellschaft nach den Gesetzen
des Staates Michigan, 6071 Second Avenue, Detroit, Michigan (V. St. A.)
Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben
von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage
Die Erfindung befaßt sich mit Datenverarbeitungsanlagen, insbesondere mit Verfahren und Einrichtungen zum Stellenwertverschieben
binär codierter Octalsignale durch Dezimaldigits. Die Erfindung befaßt sich weiterhin mit Verfahren
und Einrichtungen zum Konvertieren von in einem Zahlsystem kodierten Signalen in Signale,die in einem anderen
Zahlsystem kodiert sind.
Datenverarbeitungsanlagen finden häufig dort Verwendung, wo die zu verarbeitenden Daten und die abschließend bearbeiteten
Daten dezimalzahlig kodiert sind; jedoch findet normalerweise die Verarbeitung der Daten in binär kodierter
Octalform statt. Daher müssen die Zahlen zwischen der binär kodierten octalen und der binär kodierten dezimalen
Signaldarstellung konvertiert werden· In bestimmten weiteren Anwendungsbereichen, beispielsweise im Bankwesen,
109809/1802
2033228
ist es geboten, daß die verarbeiteten Daten äußerst genau sind, wenn sie am· Ende dezimal dargestellt werden. So fordern
die Banken beispielsweise, daß ihre Ziffern auf den Pfennig genau sind. Die Banken würden den Verlust von Ziffern,
selbst wenn es sich nur um wenige Pfennige handelt, am Ende einer arbeitstäglichen Abrechnung niemals tolerieren.
Die Einhaltung dieser außerordentlichen Genauigkeit wird zum Problem, wenn mit Brüchen umgegangen werden muß. Das
ρ ist darauf zurückzuführen, daß ein Dezimalbruch nicht immer genau binär dargestellt werden kann. Die Datenrechner
sind demzufolge normalerweise so ausgelegt, daß sie alle Zahlen als binär kodierte ganze Zahlen bearbeiten. Normalerweise
ist keine Vorrichtung zum Umfang mit Brüchen vorgesehen.
Häufig ist es notwendig, eine binär kodierte Octalzahl in ihrem Stellenwert um eine oder mehrere dezimale Digits
nach links zu verschieben, um die Zahl von einem Bruch in eine ganze Zahl umzuwandeln. So kann es beispielsweise
notwendig sein, die Dezimalzahlen 12 und 1,2 zu addieren, wobei die beiden Zahlen in tatsächlich binär kodierter
' Octalform als 1 2 auftreten. Die 12 repräsentierende Zahl
muß in ihrem Stellenwert nach links verschoben werden, sodaß sie sich als 120 darstellt. Die Zahlen können dann
durch die arithmetische Einheit des Rechners addiert werden. Auf den Dezimalpunkt wird beim Programmieren geachtet.
Jedoch idt die Multiplikation mit der Dezimalen 10 nicht
nur eine Angelegenheit des Verschiebens der Zahlen nach links, da die Zahlen 12 und 1,2 tatsächlich im Rechner
in binär kodierten, octalen, ganzzahligen Signalen repräsentiert sind. Somit müssen die octalen Signalequivalente
der Dezimalen 12 mit der Octalen 1 2 (Dezimale 10)
109809/1802
multipliziert werden, um die dezimale Stellenwertverschiebung
nach links auszuführen.
Bislang wurde das vorerwähnte Steilenwertverschieben nach links durch Programmieren bewältigt. Das Programmierverfahren
ist jedoch langsam und braucht beträchtlichen Programmierraum, so daß sie schon von daher unerwünscht ist.
Weiterhin ist es notwendig, eine durch Signale dargestellte
Zahl nach rechts zu stellenwertverschieben. Während einer Stellenwertverschiebung nach rechts muß manchmal eine
binär kodierte Octalzahl in eine binär kodierte Dezimalzahl umgewandelt werden. Weiterhin ist es bei einer Stellenwertverschiebung
nach rechts manchmal notwendig, nur das hintere Stellenende der Signale in binär kodierte Dezimalzahlen
zu konvertieren und die oberen Stellen In octalkodierter
Form zu belassen. Weiterhin muß eine binär kodierte Octalzahl während einer Stellenwertverschiebung
nach rechts manchmal dezimal abgerundet werden. Beispielsweise kann es nötig sein, die Dezimalzahl 25.673 am dritten
Digit von rechts, das heißt an der Ziffer 6, zu runden. Jedoch ist die Zahl in der Maschine in binär kodierter
Octalform enthalten. Um die Zahl an der dritten Ziffer zu runden, ist es notwendig, dae hintere Stellenende der binär
kodierten Octalzahl in zwei binär kodierte Dezimaldigits umzuwandeln und dann eine Einheit zum Rest der
Zahl zu addieren, wenn die zweite Ziffer 5 oder größer ist. Somit wird die Zahl 25.673 (die tatsächlich in binär
kodierter Octalform dargestellt ist) nach rechts verschoben und umgewandelt, so daß die Ziffern 256 in binär kodierter
Octalform und die Ziffern 73 in binär kodierter Dezimalform repräsentiert sind. Da die 7 größer ist.als
die 5, wird eine 1 zu 256 (in binär kodierter Octalform) addiert und damit das Runden bewerkstelligt.
109809/1802
Man möchte also eine Einrichtung haben, die den geringer stellenwertigen Abschnitt einer binär kodierten Octalzahl
in dezimal oder die gesamte Zahl in octal verwandelt. Diese Einrichtung ist in bekannten Datenrechnern durch Programmierung
in der Weise getroffen worden, daß die zu konvertierende Zahl durch eine dezimale Zehnerpotenz dividiert
und der Rest als eine Dezimalziffer aufbewahrt wird. Zugleich mit dem Programmieren bediente man sich
großer Tabellen oder großer logischer Netzwerke. Jedoch sind die Programmierungs- und Tabellenversuche langsam
P im Betrieb und erfordern einen großen Programraierraum.
Das umfangreiche logische Netzwerk ist aufwendig.
Im Gegensatz dazu richtet sich die Erfindung auf ein neues Arbeitsverfahren in einer Datenverarbeitunsanlage sowie
auf eine neue Einrichtung, die die vorstehend ausgeführten Nachteile weitgehend eliminiert. Sehr viele erforderliche
Einzelteile in der Vorrichtung sind in den meisten Datenverarbeitungsanlagen bereits vorhandene Ausrüstungen.
Gemäß einem Aspekt der Erfindung wird vorgeschlagen, das Verschieben bzw. Stellenwertverschieben nach links oder
" rechts einer binär kodierten Octalzahl um eine Dezimalstelle in Abhängigkeit von einem Einzelstellen- bzw. Verschiebeoperator
und einem Stellenfaktor ausführen zu lassen, der die Anzahl der Dezimalstellenverschiebungen bezeichnet.
Eine demgemäße Ausführungsform der Erfindung umfaßt eine Datenverarbeitungsanlage zum Verschieben eines
binären Signales, das in einem ersten Zahlensystem kodiert ist, um Stellen, die in einem zweiten Zahlensystem kodiert
sind. Ein erstes Register speichert einen Operator, der eine Verschiebung angibt. Ein zweites Register speichert
ein Stellenfaktorsignal, das die Anzahl der erforderlichen Stellenverschiebungen angibt. Weiterhin ist eine Einrichtung
zur Lieferung eines zu verschiebenden binären Signa-
1 09809/ 1802
les getroffen, das in dem ersten Zahlensystem kodiert ist.
Eine weitere Einrichtung spricht auf den gespeicherten Verschiebeoperator und den gespeicherten Stellenfaktor an
und verschiebt das Binärsignal, das in dem ersten Zahlensystem kodiert ist, um die Anzahl von Stellen, in dem
zweiten Zahlensystem, die von dem gespeicherten Stellenfaktor bezeichnet wird. Un einer bevorzugten Ausführungsform ist das erste Zahlensystem octal und das zweite Zahlensystem
dezimal. Als Ergebnis dieser Art der Erfindung ergibt sich, daß die dezimale Verschiebung binär kodierter
octaler Signale sehr viel schneller bewerkstelligt wird und verlorener Programmraum eingespart wird.
Nach einer speziellen Ausführungsform der Erfindung wird
ein Verfahren zum Stellenwertverschieben nach rechts eines binär kodierten octalen Signales angegeben. Nach dem
Verfahren wird ein binär kodiertes, octales, ganzzahliges Signal in einen octal kodierten, significantesten Abschnitt
und einen aus binär kodierten Dezimalstellen zusammengesetzten, am wenigsten significanten Abschnitt verwandelt.
Die Anzahl der Dezimalstellen wird durch ein Stellenfaktorsignal angezeigt. Die einzelnen Verfahrensschritte umfassen das Durchzählen eines Zählers durch eine
vorbestimmte Reihe von Zuständen, wobei für jeden dieser
Zustände eine Reihe von octal kodierten Stellensignalen erzeugt wird, die ofatal (12""n) repräsentieren; dabei ist
η mindestens so groß wie die Maximalzahl an in dem Ergebnis gewünschten Dezimalstellen. Das erzeugte ganezahlige
Signal und jedes kodierte Stellensignal werden verknüpft, und es wird ein Bruchsignal erzeugt, das das Produkt aus
der Reihe von kodierten Stellensignalen und dem ganzzahligen
Signal repräsentiert. Das Bruchsignal und die Reihe davon abgeleiteter Produktsignale werden auf eine Multipliziereinrichtung
gegeben, die jedes mit 10 multipliziert und Produktsignale erzeugt; die Bruchsignale und
eine Gesamtheit von mindestens η-Ziffer I davon abgelei-
.109809/18 02
2033228
teter Produktsignale werden auf die Multipliziereinrichtung gegeben. Das signifikanteste, eine Dezimalstelle
repräsentierende Signal aus allen Produktsignalen in der Reihenfolge ihrer Bildung, und zwar mit abnehmender Signifikan«,
wird gespeichert. Die gespeicherten Dezimalstellensignale werden reihenweise,mit den signifikantesten
zuerst, auf einen Eingang eines Paralleladdierers mit zwei Eingängen gegeben, der eine Binäraddition in
octal kodierter Form ausführt. Die Anzahl der auf ihn gegebenen Dezimalstellensignale beträgt mindestens η minus
dem Wert des Stellenfaktorsignals. Die Addiererausgangssignale
werden zurück auf die beiden Eingänge des Addierers gegeben, bezüglich mindestens eines dieser Eingänge
in binärer Signifikanz verschoben, so daß die von dem Addierer gebildete effektive Summe das Produkt von zehn
mal den Addierer-Ausgangssignalen plus dem Stellensignal· ist, wodurch die entsprechenden Addierer-Ausgangssignale
gebildet werden. Eines der Stellensignale wird auf den Addierer jeweils gleichzeitig mit jedem anderen Addierer-Ausgangssignal
gegeben. Die Addierer-Ausgangssignale, nachdem alle derartigen Stellensignale eingegeben wurden,
repräsentieren den signifikantesten octalen Teil des umgewandelten Signales und die weiterhin gespeicherten dezimalen
Stellensignale repräsentieren den am wenigsten signifikanten Teil des umgewandelten Signals. Es wird weiterhin
eine Vorrichtung zur Ausführung des vorstehend beschriebenen Umwandlungsverfahrens vorgeschlagen.
In einer weiteren Ausführungsform der Erfindung findet die Kombination eines Zählers und eines Dekodierers Anwendung,
um eine Reihe von Stellensignalen zu erzeugen, die einen Bruch repräsentieren, was zur Umwandlung eines
ganzzahligen Signals in ein Bruchsignal dient. Diese Ausführungsform
umfaßt eine Datenverarbeitungsanlage zur Umwandlung eines ganzzahligen Signales in ein Bruchsignal
in einem vorbestimmten Zahlensystem. Es ist eine Sinrich-
109809/1802
tung zum Empfang eines umzuwandelnden, ganzzahligen Signales vorgesehen. Ein Zähler zählt durch eine Abfolge
von Zuständen, deren Zahl mindestens gleich derjenigen Minimalzahl von signifikanten Stellensignalen in diesem
Zahlensystem ist, die in den Bruchsignalen gewünscht wird. Beispielsweise ein Dekodierer spricht auf jeden Zustand
des Zählers an und erzeugt eine Reihe von kodierten Stellensignalen.
Die Reihe von kodierten Stellensignalen, die auf diese Weise erzeugt wurde, repräsentiert eine Bruchzahl, die zum Umwandeln des ganzzahligen Signals in ein
Bruchsignal dient. Es ist weiterhin eine Einrichtung ge- ^
troffen zur Verknüpfung der Reihe von Stellensignalen mit ™
dem ganzzahligen Signal, um Bruchsignale entsprechend de— rem Produkt zu erzeugen.
Gleichzeitig ergibt sich damit das Verfahren zur Umwand-'
lung eines ganzzahligen Signales unter Benutzung der vorstehend ausgeführten Einrichtung, welches Verfahren ebenfalls
ein Teilaspekt des Erfindungsgedankens darstellt. Die genannte Einrichtung ist insofern von besonderer Bedeutung,
als eiie die Notwendigkeit großer Register erübrigt, die die gesamten kodierten Stellensignale, die das
zur Umwandlung benutzte Bruchsignal repräsentieren, beinhalten. . ä
Unter einem anderen Aspekt des Erfindungsgedankens wird eine Datenverarbeitungsanlage vorgeschlagen, die in einem
ersten Zahlensystem kodierte Signale in in einem zweiten Zahlensystem kodierte Signale unter Verwendung eines Addierers
umwandlet. Dabei werden eine Reihe von binären Stellensignalen, die in einem ersten Zahlensystem kodiert
sind, in Binärsignale umgewandelt, die in einem zweiten Zahlensystem kodiert sind. Mindestens ein zweieingängiger
Paralleladdierer ist vorgesehen, der die Binäraddition in
dem zweiten Zahlensystem ausführt. Es ist weiterhin Einrichtung dafür getroffen, daß die Addierer-Ausgangssignale
109809/18 02
auf die Eingänge dieses Addierers zurückgegeben werden und bezüglich mindestens eines Addierers in der Weise in
Binärsignifikanz verschoben werden, daß die von dem Addierer gebildete effektive Summe das Produkt der Basis
des ersten Zahlsystem mal den eingegebenen Addiererausgangssignalen ist. Eine weitere Einrichtung gibt diese
Stellensignale mit den signifikantesten Stellen vorweg seriell auf einen Eingang"dieses Addierers, wodurch sie
durch Addition in der gebildeten effektiven Summe aufge-hen und wodurch entsprechende Addiererausgangssignale
gebildet werden; diese Stellensignal-Eingabevorrichtung arbeitet in der Weise, daß ein derartiges Stellensignal
im wesentlichen gleichzeitig mit jedem unterschiedlichen Addierer-Ausgangssignal eingegeben wird. Die Addierer-Ausgangssignale
entsprechen, nachdem alle derartigen Stellensignale addiert worden sind, den gewünschten Binärsi-^
gnalen, die in dem zweiten Zahlensystem kodiert sind.
Der Erfindungsgedanke umgreift ferner ein Umwandlungsverfahren für in einem ersten Zahlensystem kodierte Signale
in Signale, die in einem zweiten Zahlensystem kodiert sind, wobei ein Zweieingangsaddierer Verwendung findet.
Dieses Verfahren sowie die Vorrichtung zur Ausführung dieses Verfahrens bedienen sich Addiern und Registern,
die bereits in einer arithmetischen Einheit eines Datenrechners vorhanden sind, wobei die Umwandlungsgeschwindigkeit
gegenüber dem Stand der Technik vereinfacht und vergrößert wird.
In den beigefügten Zeichnungen wird die Erfindung an einem Ausführungsbeispiel beschrieben. Es zeigen:
Fig. 1 ein schematisches Biockdiagramm der Da
tenverarbeitungsanlage zur Umwandlung eines kodierten, ganzzahligen Signales in ein kodiertes Bruchsignal gemäß der
Lehre der Erfindung;
109809/18 0 2
Fig. IA die Organisation der Flip-rFlops in
den Registern aus den Fig. 1 und 3;
Fig. 2 die Zeitgeber- und Steuer-Flip-Flops, wie sie in der Datenverarbeitungsanlage
nach den Fig. 1 und 3 Verwendung finden;
Fig. 3 ein schematisches Blockdiagramm der
mit den Merkmalen der Erfindung ausgestatteten Datenverarbeit ngsanlage zur
Umwandlung kodierter Bruc »signale in kodierte Dezimalsignale sowie zur Umwandlung
von kodierten Deziaialsignalen in kodierte Octalsignale.
Die Schaltungen nach den Fig, I und 3 bilden ein einheitliches System, das
zum Zwecke der Darstellung auf die beiden Blätter verteilt wurde. So enthält
Fig. 3 Schaltungen, die auch in Fig. enthalten und demzufolge mit gleichen Bezugszeichen versehen sind;
Fig. 4 ein Flußdiagramm für die Sequenz der Arbeitsschritte der Datenverarbeitungsanlage
gemäß Fig. 1 zur Umwandlung eines kodierten ganzzahligen Signals in ein kodiertes
Bruchsignal,·
Fig. 5A ein Flußdiagramm für die Abfolge der Ar- - 5C beitsschritte der Datenverarbeitungsanlage
nach Fig. 3 zur Umwandlung eines Bruchsignals in ein dezimales, ganzzahliges Signal und zur Umwandlung eines dezimalen
ganzzahligen Signals in ein kodiertes octales Signal.
Die Fig. 4 und 5A - 5C erläutern die Ausführung eines Operators zur Stellenwertverschiebung nach rechts; und
Fig. 6 ein Flußdiegramm zur Erläuterung der Arbeitsschritte der Datenverarbeitungsanlage
nach Fig. 3 bei der Ausführung eines Operators zur Stellenwertverschiebung nach links,
Vor der Beschreibung eines in den Figuren dargestellten
Ausführungsbeispiels der Erfindung wird vorher kurz die verwendete Terminologie erläutert.
109809/1802
Um die Beschreibung der Erfindung zu vereinfachen und übersichtlich^ zu gestalten, wurde eine vereinfachte Notation
sowie eine festgelegte Terminologie gewählt. Die Fig. 1 und 3 sind tatsächlich ein zusammenhängendes System,
das jedoch aus Gründen der besseren Verständlichkeit der verschiedenen Phasen im Betrieb getrennt dargestellt
wurde. Bestimmte Teile sind sowohl in Fig. 1 wie auch in Fig. 3 wiedergegeben und mit den gleichen Bezugs-
^ zeichen versehen. So ist beispielsweise die Steuereinheit
10 in Fig. 1 und Fig. 3 enthalten.
In Fig. 1 und 3 sind die Ausgänge SO- S 17 der Steuereinheit
10 gezeigt. Davon sind in Fig. 1 nur S 0 und S 9 und in Fig. 3 S 10 und S 1.7 gezeigt; der Rest ist durch ·
gestrichelte Linien angedeutet. Die Abfolge, in der die Steuersignale an diesen Ausgängen auftreten, ist in den
Flußdiagrammen der Fig. 4-6 erläutert. Die Bezugszeichen für die Ausgänge sind neben den einzelnen Flußkästen in
den Fig. 4 - 6 zu sehen. Die Sequenz der Arbeitsschritte der Steuereinheit 10 wird aus der folgenden Beschreibung,
betreffend die Fig. 4-6, deutlich werden.
Die Steuereinheit 10 besitzt zusätzliche Ausgänge, die verschiedene
Operationen in dem System nach Fig. 1 steuern. Diese Ausgänge aus der Einheit 10 sind nicht besonders bezeichnet,
lediglich allgemein mit "andere Steuerausgänge" angegeben. Diese anderen Steuerausgänge gehören zu konventionellen
logischen Torschaltungen in der Steuereinheit 10,
die jedoch in den Fig. 1 und 3 nicht besonders dargestellt sind. Diese Ausgänge sind an den verschiedenen Eingängen
in den Fig. 1 und 3 in Klammern ( ) angegeben und in der Boole'sehen Schreibweise entsprechend der Verknüpfung von
logischen Signalen notiert, die zur Einleitung eines Signales an dem entsprechenden Ausgang notwendig sind. Die
109809/1802
Ausgänge, an denen ein Steuersignal auftreten muß, um
die Boole1sehen Gleichungen wahrzumachen, sind in den
Gleichungen verwendet worden. Ein "." bedeutet eine "UND"-Funktion, wohingegen ein "+" eine "ODEi^-Funktion
bezeichnet. Somit bedeutet (S4.CTR ί 0 + S5 . ΟΪ) einen
Ausgang aus der Steuereinheit 10 und gibt an, daß ein Steuersignal am Ausgang (S4 . CTR / 0 + S5 . 0T) auftritt,
wenn Steuersignale gleichzeitig auf jeden der Ausgänge S4 und CTR jt 0 bzw. S5 und "Ql gegeben werden.
In den Registern der Fig. 1 und 3 finden Flip-Flops Verwendung:als
Zeitgeber- und Steuerschaltungen gemäß Fig. 2. Das zur Bezeichnung der Flip-Flops verwendete Notationssystem soll kurz erklärt werden. Ein Flip-Flop wird durch
einen Buchstaben bzw. einen Buchstaben und ein Symbol mit nachfolgendem "F"bfezeichnet, das heißt beispielsweise QlF,
während die Ausgänge des Flip-Flops in gleicher Weise, jedoch ohne den Buchstaben F benannt werden. Ein mit Querstrich
versehenes Symbol, das fr .»ißt beispielsweise Ql bezeichnet
einen Ausgang, der ein Steuersignal erhält, wenn das entsprechende Flip-Flop, das heißt QlF im Zustand 0
steht bzw. ein "Ziffer 0"-Bit speichert. Ein ungestrichenes
Symbol, das heißt Ql, ,bezeichnet einen Ausgang, der ein Steuersignal empfängt, wenn das entsprechende Flip-Flop,
das heißt QlF in einem Zustand 1 steht bzw. ein "Ziffer 1"-Bit speichert.
Die die Zellen in jedem Register bildenden Flip-Flops sind mit ähnlichen Symbolen bezeichnet. Die Buchstabenbezeichnung
für ein Register mit nachfolgender Nummer einer Zelle dient zur Identifikation jedes Flip-Flops in
einem Register. Somit hat also das Y-Register die Flip-Flops YOF - Y41F sowie die entsprechenden Ausgänge Y0,
YO - Y41, Y4T .
10980971802
Die Flußdiagramme der Fig. 4-6 enthalten Symbole, die verschiedene Handlungen repräsentieren. Beispielsweise
zeigt das Symbol ^ eine Einstell- bzw. Speicherhandlung
an, so daß die Notation A < 0 (Fig. 4) bedeutet,
daß das Α-Register auf 0 gesetzt werden soll, während die
Notation A < Y (Fig. 4) meint, daß der Inhalt des Y-
Registers in das Α-Register übertragen wird. CTR-I (Fig. 4)
bedeutet, daß der Zähler um einen Zustand herunter zählt.
Eine Gruppe von Flip-Flops in einem Register wird durch fc das Symbol für ein Register bezeichnet; danach folgt eine
' Zahl, die dem höchst numerierten Flip-Flop in der Gruppe entspricht; danach folgt ein Ergebnissymbol (:; "colon");
danach die Anzahl von Flip-Flops in der Gruppe. So bedeutet beispielsweise A(38:39) f CC(41:39), daß der Inhalt
der neununddreißig Flip-Flops in dem CC-Register, beginnend mit dem Flip-Flop 41, in die neununddreißig Flip-Flops
im Α-Register, beginnend mit dem Flip-Flop 38, übertragen werden soll (vgl. Fig. 4).
In den Flußdiagrammen sind Kästen, die auf einer Ecke zu stehen scheinen. Diese Kästen zeigen an, daß die Bedingung
in dem Kasten vor dem Weitergang geprüft wird. So k zeigt beispielsweise der Kasten mit QlF = 1 in Fig. 4 an,
daß für den Fall, daß das QIF-Flip-Flop im Zustand "Ziffer
1" steht, der Weg nach links zu nehmen ist, 'während für den Fall, daß das QlF nicht im Zustand "Ziffer 1"
steht, der Weg nach rechts einzuschlagen ist.
Is.
OPERATOR ZUR STELLENWERTVERSCHIEBUNG NACH RECHTS
TjjEO RETISC HE ÜBE RLE: GUNGE N
Ein "Schieberechts"-Operator (Kurzbezeichnung für:
109809/1802
-2539228.
"Schiebestellenwert nach rechts"-Operator, englisch:
•'scale right operator") besitzt einen zugeordneten "Stellenfaktor"
(englisch: "scale factor"). Dieser Schieberechts-Operator gibt an, daß ein binär kodiertes octal
ganzzahliges Signal genommen und nach rechts um so viele Stellen verschoben werden soll, wie sie der Stellenfaktor
angibt. Der Stellenfaktor und damit das Stellenwertverschieben ist in Dezimalstellen gegeben. Weiterhin sollen nach
dem Stellenwertverschieben die Signale einen binär kodierten octal ganzzahligen Teil und einer binär kodierten dezimal
ganzzahligen Teil enthalten. Der binär kodierte dezimale Teil ist an dem wenigsten signifikanten Ende der
Signale und umfaßt eine solche Anzahl von Dezimalstellen, die von dem Stellenfaktor angegeben wird. Somit wird also
ein binär kodiertes octal ganzzahliges Signal um binär kodierte Dezimalstellen verschoben und ein Teil des Signales
in binär kodierte Dezimalsignale umgewandelt.
Die binär kodierten ganzzahligen Signale können von einfacher Genauigkeit sein und damit nur aus einem Wort bestehen;
sie können natürlich auch von doppelter Genauigkeit sein und zwei Wörter umfassen.
Der Schieberechts-Operator wird durch die erfindungsgemäße
Einrichtung in zwei Phasen ausgeführt, nämlich in der Phase I und der Phase II. Während der Phase I wird eine
octale ganze Zahl von einfacher Genauigkeit in einen octalen Bruch verwandelt. Um die apparative Auslegung zu vereinfachen,
wird die ganze Octalzahl von einfacher Genauigkeit in einen Octalbruch statt in die genaue Zahl, wie
sie vom Stellenfaktor gefordert wird, umgewandelt. Bei
Vorliegen eines ganzzahligen Signales von doppelter Genauigkeit wird ein Teil in einen Bruch umgewandelt.
109809/1802
Während der Phase II wird das octale Bruchsignal von einfacher Genauigkeit in binär kodierte Dezimalsignale in
ganzzahliger Form konvertiert. Weiterhin werden während der Phase II die signifikantesten Dezimalstellen, die in
octaler Form sein müssen, zurück in das binär kodierte Octalsystem konvertiert. Ein ähnliches Verfahren wird auf
die am wenigsten signifikante Hälfte einer Zahl von doppelter Genauigkeit angewandt.
Man betrachte ein einfaches Beispiel mit einem Stellenfaktor von 1 und der Dezimalzahl 123. Das Beispiel enthält
W nicht die tatsächliche Anzahl der benutzten Stellen, erläutert vielmehr die Sequenz der für die Umwandlung nötigen
Arbeitsschritte. Während der Phase I wird 123 in einen Bruch umgewandelt, indem mit einer zu einer negativen
Potenz erhobenen Zahl multipliziert wird. Es wird multi-· pliziert statt dividiert, da die Multiplikation sehr
viel schneller abläuft.
Zur weiteren Erklärung nehme man an, daß der Multiplikationsfaktor
1O~ (dezimal) ist. Nach der Phase I wird die ganze Zahl 123 (dezimal) χ 1O~ zu dem Bruch 0,123 (dezimal).
Man vergegenwärtige sich, daß diese Zahlen selbstverständlich in binär kodierter Octalform in der hier beschriebenen
Einrichtung vorliegen; lediglich aus Gründen des einfacheren Verständnisses ist die Erklärung in dezimalen
Stellen ausgeführt. Während der Phase II wird der binär kodierte octale Bruch in eine dezimale ganze Zahl
umgewandelt. Dies geschieht durch wiederholtes Multiplizieren des Bruches mit der Dezimalen 10 und Aufsammeln
der Übertragziffern. Dieses Verfahren ist in der lechnertechnik üblich. In dem genannten Beispiel werden also die
folgenden Stufen durchlaufen:
109809/1802
octal dezimall octal
χ 10 = 1,23
χ 10 17,T
χ 10= "Ϊ23"
χ 10 17,T
χ 10= "Ϊ23"
Damit wird eine binär kodierte Dezimalzahl erhalten. Die Einrichtung wandelt dann die Dezimalziffern in octale um,
mit Ausnahme derjenigen Anzahl von am wenigsten signifikanten Dezimalziffern, die von dem Stellenfaktor bezeich- j
net wird. Die Umwandlung geschieht durch Umwandeln zunächst der signifikantesten Dezimalziffern bis hin zu den am wenigsten
signifikanten Dezimalziffern.
Die Theorie, nach der die Dezimalziffern in octale umgewandelt werden, ist in dem Buch "Seminumerical Algorithms"
von Knuth veröffentlicht, bei Addisoh-Wesley, 1969, erläutert;
im Band II, Seite 280, wird ausgeführt, daß eine Zahl aus einer Darstellung mit 1er Grundzahl b in eine
Darstellung mit der Grundzahl B verwandelt werden kann, indem mit "b" unter Verwendung der Grundzahl '^"-Arithmetik
multipliziert wird. Der Autor des Buches "Seminumerical Algorithms" stellt fest: , - {
"Wenn u in der Darstellung mit der Grundzahl b die Form
(u ... u„urt)b hat, kann die Grundzahl B-Arithmetik zur
m IU
Berechnung des Polynoms üb + ... +u,.b+u0 = u in der Form
((... (üb + u „)b + ...)b + u„)b + u,-.verwendet werden."
m m—1 1 υ
Die Tabelle IV erläutert die Sequenz der Arbeitsschritte, wie sie hier zur Umwandlung der Dezimalziffern in octale
Form gemäß den vorstehend angegebenen mathematischen Beziehungen Verwendung findet. In der Tabelle IV stellt u
die signifikanteste Dezimalziffer dar und wird in octal kodierte Fon« umgewandelt· Die Dezimalziffern sind In dem
109809/1802
1-2-4-8- Binärcode codiert. Eine Dezimalziffer in dem 1— 2 - 4 - 8 - Code benötigt vier Binär-Bits, um diese
Dezimalziffer darzustellen. Zwei weitere Binärbits sind .am signifikantesten Ende von u hinzugefügt, und die Bits
werden in zwei octale Ziffern von je drei Binärbits eingeteilt. Beispielsweise wird die binärcodierte Dezimalziffer
0001 in binär codierter Octalform wie folgt ausgedrückt: 000 001. Die signifikanteste Octalziffer, ausgedrückt in
octaler Form, wird dann multipliziert mit dezimal 10, die die Basis b darstellt. Das Produkt wird dann zur nächst
k signifikanten Dezimalziffer u - Ziffer 1 addiert, und das Ergebnis stellt die signifikanteste und die nächst
signifikante Dezimalziffern in binär kodierter Octalform dar. Dieses Verfahren wird mal um mal wiederholt, das
heißt die Summe wird mit dem Basiswert dezimal 10 multipliziert und das Produkt zur nächsten Dezimalziffer ad-·
diert, bis die gewünschte Anzahl von Dezimalziffern in binär kodierte Octalform umgewandelt worden ist.
Man entnimmt der Tabelle IV sowie der vorstehenden Beschreibung, daß zwei Grundoperationen zur Umwandlung zwischen
dem Dezimal- und dem Octalcode notwendig sind. Zunächst ist es notwendig, die Basis b mit einem Wert zu
multiplizieren und das Produkt zur nächsten Ziffer in der umzuwandelnden Reihe hinzuzuzählen. Somit muß eine Multiplikation·
ausgeführt werden,und eine Dezimalziffer muß bei jeder Stufe der Umwandlung addiert werden, mit Ausnahme
des ersten Schrittes, wenn die Octalzahl willkürlich direkt von der signifikantesten Dezimalziffer genommen wird. Die
vorliegende Erfindung macht von diesen Erfordernissen Gebrauch und bedient sich eines zweieingängigen Paralleladdierers
für die Umwandlung, der nachfolgend genauer beschrieben wird.
Kehrt man noch einmal zum Beispiel zurück, dann war der
Stellenfaktor l,und die dezimalkodierten Ziffern 123
1 09809/1802
werden in octal zurückverwandelt, mit Ausnahme der am
wenigsten signifikanten Ziffer 3. Entsprechend dem vorstehend ausgeführten Verfahren ist b die Dezimale 10
bzw. die Binäre 1010, und die Umwandlung findet dann wie folgt statt (unter Verwendung der Sequenz der Verfahrensstufen aus Tabelle IV):
(1) (OQOOOl)
(2)
(3) (001010
(000001
Man sieht also, daß die Dezimalziffern 12 zurück binär octal kodiert sind, wobei nur eine Ziffer, nämlich Ziffer
3, in binär kodierter Dezimalform zurückbleibt.
Die zur Ausführung des Verfahrens hier beschriebene Einrichtung bearbeitet dreizehn Octalzahlen einfacher Genauigkeit
und sechsundzwanzig Octalzahlen doppelter Genauigkeit; die Maximalzahl von Dezimalziffern, die in einer
nach rechts stellenwertverschobenen Zahl benötigt werden,
— 12 ist 12. Dementsprechend wird in der Einrichtung 10 (dezimal)
mit der octalen ganzen Zahl (im Gegensatz zu 10" bei dem vorerwähnten Beispiel) multipliziert, um sie in
Bruchform umzuwandeln. 10 ist deshalb ausgewählt,worden,
weil sie die Basis der Zahl ist,, in die die ganze Zahl
durch wiederholtes Multiplizieren mit dezimal 10 umgewan-
109809/1802
203922a
delt werden soll. 12 ist deshalb als Potenz ausgewählt
worden, weil sie die Maximalzahl von erforderlichen Dezimalziffern darstellt. Tabelle III zeigt 10*"l2 in Bruchform,
jedoch dargestellt im octalen Zahlensystem. Der Bruch ist bis zu siebenundzwanzig signifikanten Octalzlffern
ausgeführt, um die notwendige Genauigkeit für eine Zahl von doppelter Genauigkeit aufrechtzuerhalten. Für
eine Zahl einfacher Genauigkeit werden nur die oberen 14 Ziffern benötigt, während die siebenundzwanzig Ziffern
für eine Zahl von doppelter Genauigkeit Verwendung finden. Dreizehn octale Ziffern wandeln genau in zwölf signifikante
Dezimalziffern um,und sechsundzwanzig octale Ziffern wandeln genau in vierundzwanzig signifikante Dezimal-
— 12
Ziffern um. Somit wird erfindungsgemäß 10 bis zur gleichen Zahl oder mehr octalen Ziffern ausgeführt, als es
Ziffern an octal kodierten Zahlen gibt, um die Genauigkeit1
zu erhalten. In dem hier beschriebenen Beispiel wurde 10
— 12
in dem Faktor 10 deshalb gewählt, weil nachfolgende Faktoren später benutzt werden, um den sich ergebenden Octalbruch in Dezimalziffern umzuwandeln. Somit wird der wahre Wert der ursprünglichen octalen ganzen Zahl bewahrt.
in dem Faktor 10 deshalb gewählt, weil nachfolgende Faktoren später benutzt werden, um den sich ergebenden Octalbruch in Dezimalziffern umzuwandeln. Somit wird der wahre Wert der ursprünglichen octalen ganzen Zahl bewahrt.
Um es noch genauer zu erklären, sind die in Tabelle III gezeigten signifikanten Ziffern tatsächlich erzeugt und werden
multipliziert mit den Zahlsignalen, die von einer einheitlichen Einrichtung, nämlich einem Zähler, einem Dekodierer
und einem Multiplizierer, umgewandelt werden, i·
Die Tabellen I und II erläutern die in der folgenden Beschreibung verwendete Terminologie. Sie zeigen die Namen
der anfänglichen ganzen Zahl, die umgewandelt werden soll, und diejenigen Namen, die zur Bezeichnung der Zwischen-
und Endzahlen verwendet werden, die während der Stellenwertverschiebung nach rechts erhalten werden. Tabelle I
109809/1802
gilt für eine Zahl von einfacher Genauigkeit, während Tabelle II für eine Zahl von doppelter Genauigkeit zuständig
ist. Eine Zahl von "einfacher Genauigkeit" ist ein Wort aus neununddreißig Bits (13 Octaden), während eine Zahl
von "doppelter Genauigkeit" zwei Wörter umfaßt, von denen jedes neununddreißig Bits enthllt.
Man entnimmt der Tabelle I, daß die anfängliche Zahl von einfacher Genauigkeit, die umgewandelt werden soll, dine
octale ganze Zahl mit dreizehn Octaden genannt wird und daß die letzte Zahl zwei Teile aufweist, die eine umgewandelte
octale ganze Zahl mit maximal dreizehn Octaden und eine umgewandelte dezimale ganze Zahl mit maximal zwölf
Dekaden genannt werden,
Aus Tabelle II entnimmt man, daß die anfängliche Zahl mit doppelter Genauigkeit, die umgewandelt werden soll, zwei
Teile umfaßt, die die obere octale ganze Zahl mit dreizehn Octaden und die untere octale ganze Zahl mit dreizehn Octaden
genannt werden und die den --ignifikantesten sowie den
am wenigsten signifikanten Teil der Zahl von doppelter Genauigkeit
bilden. Die letzte Zahl von doppelter Genauigkeit umfaßt drei Teile, die jeweils die umgewandelte obere
öctale ganze Zahl (13 Octaden), die1 umgewandelte untere
octale ganze Zahl (13 Octaden maximal) und die umgewandelte
untere dezimale ganze Zahl (maximal 12 Dekaden) heißen. Die umgewandelte dezimale ganze Zahl bei Vorliegen einer
Zahl von einfacher Genauigkeit, sowie die umgewandelte untere dezimale ganze Zahl bei Vorliegen einer Zahl von doppelter
Genauigkeit sind die letzten dezimal kodierten Teile der nach rechts stellenwertverschobenen Zahlen, während der
Rest der Zahlen die octal kodierten ganzzahligen Teile der nach rechts stellenwertverschobenen Zahlen bilden.
109809/1802
Somit sind die binär kodierten ganzzahligen Signale in dem Sinne nach rechts stellenwertverschoben, daß sie nach
rechts verschoben sind und einen oberen signifikanten binär kodierten octalen Teil sowie einen unteren signifikanten
binär kodierten Dezimalteil bilden. Die Zahl der binär kodierten Dezimalziffern in dem unteren signifikanten Abschnitt
wird durch den Stellenfaktor bestimmt.
B. PHASE I - UMWANDLUNG VON OCTALER GANZER ZAHL
fc
IN OCTALEN BRUCH
1. Kurze Beschreibung der Einrichtung
Der erste Schritt bei der Ausführung eines Schieberechts-Operators
besteht in der Umwandlung der octalen ganzen Zahl in einen octalen Bruch, wobei die äußerst schnelle Multiplikationstechnik,
wie oben beschrieben, eingesetzt wird, Wenn die octale ganze Zahl eine Zahl von einfacher Genauigkeit
ist, wird die octale ganze Zahl als Ganzes in einen Bruch umgewandelt. Wenn die octale ganze Zahl eine Zahl von
doppelter Genauigkeit ist, wird sie teilweise in einen Bruch konvertiert.
Fig. 1 zeigt in Form eines Blockdiagrammes die Verarbeitungseinrichtung
zur Umwandlung der octalen ganzen Zahlen in einen octalen Bruch. Die Organisation und der Betrieb
dieser erfindungsgemäßen Einrichtung nach Fig. 1 sind folgende:
Zunächst speichert eine Quelle 13 ein Schieberechtseperator-Signal
in ein Operatorregister 11 und ein Stellenfaktor-Signal in das Register 72. Eier Stellenfaktor bezeichnet
die Zahl an Dezimalziffern, die in dem Bruchteil der endgültig nach rechts stellenwertverschobenen Zahl erforderlich
sind.
109809/1802
Man betrachtet zunächst die Umwandlung einer octalen ganzen Zahl von einfacher Genauigkeit in einen octalen Bruch.
Die Quelle 13 speichert die octal ganzzahligen Signale von einfacher Genauigkeit in ein Y-Register 14» Die octale
ganze Zahl wird dann in das A-Register 16 übertragen.
Ein Zähler 22 wird entsprechend den vierzehn oberen 6ctalen
Ziffern aus Tabelle III in einen vorbestimmten Zustand
gesetzt. Der Zähler 22 zählt dann durch dreizehn zusätzliche Stufen, wodurch der Zähler vierzehn eigene Zustände annimmt,
ehe ör in den Zustand 0 übergeht. Zum Zwecke der Erläuterung
seien die Zählstände mit 14, 13, 12, ... 0 bezeichnet. Natürlich können auch andere Sequenzen von Zählzuständen
Verwendung finden, das heißt beispielweise der Graycode. Ein Dekodierer 24 spricht auf jeden anderen Zustand
des Zählers an und erzeugt die entsprechende Ziffer aus den vierzehn octalen Ziffern gemäß Tabelle III. Es werden
vierzehn octale Ziffern benutzt, die eine Octade an Genauigkeit mehr ergeben als die dreizehn Octaden in dem ganzzahligen
Signal, das umgewandelt wird, um sicherzustellen,
daß das Ergebnis auf dreizehn Octaden genau ist. Der erste Zustand des Zählers entspricht der am meisten signifikanten
Ziffer der oberen vierzehn Ziffern, das heißt der octalen Ziffer 5, während der Zustand 1 des Zählers 22 der
am meisten signifikanten octalen Ziffer 5 entspricht.
Somit liefert der Ausgang des Entschlüsselers 24 eine Reihe »on Ausgangssignalen, die der zu benutzenden Bruchzahl
entsprechen, um die ganzzahligen Signale in dem A-Register 16 umzuwandeln. Eine Multiplizierschaltung 16 multipliziert
die vom Dekodierer 24 gebildeten Ziffern mit dem ganzzahligen Signal in dem A-Register 16,und das Ergebnis (14 Octaden)
erscheint endlich an dem Ausgang 26a und wird im wesentlichen in das X-Register 18 eingeschrieben. Somit enthält
das X-Register die Octalbruchsignale.
109809/1802
Man betrachte nun die Umwandlung einer .Zahl von doppelter
Genauigkeit. Die Quelle 13 speichert ein unteres octal
[ ganzzahliges Signal (vgl. Tabelle II) in das Y-Register und das obere octal ganzzahlige Signal (Tabelle II) in
das B-Register 12. Das untere octal ganzzahlige Signal wird dann in das A-Register 16 übertragen (genau so wie
für eine Zahl mit einfacher Genauigkeit). Die in Fig. 1 gezeigte Einrichtung wandelt das untere octal ganzzahlige
Signal in dem A-Register 16 um,und das Ergebnis wird in das X-Register 18 eingespeichert (genau so wie für eine
Il Zahl mit einfacher Genauigkeit). Danach wird das obere octal
ganzzahlige Signal aus dem B-Register 12 in das A-Register 16 übertragen, und der Zähler 22 wird in den Zustand
27 gesetzt, der der am wenigsten signifikanten Ziffer aus den siebenundzwanzig Octalziffern aus Tabelle III
entspricht, die eine Octalziffer 7 ist. Der Zähler 22 '
zählt dann durch sechsundzwanzig zusätzliche Stufen, womit sich insgesamt siebenundzwanzig Zählzustände entsprechend
den siebenundzwanzig Ziffern gemäß Tabelle I von links nach rechts ergeben. Der Zähler geht dann in den
Zustand 0. Die letzten vierzehn Zählzustände (vor dem Zustand 0) sind die gleichen wie die vierzehn Zustände für
eine Zahl mit einfacher Genauigkeit. Wieder werden die
ψ Zählzustände als 27, 26, 25, ... 0 angenommen; jedoch können
sie auch in anderer Reihenfolge durchlaufen werden, je nach der Zählerart und dem Zählcode. Der Dekodierer 24
spricht auf jeden unterschiedlichen Zählzustand des Zählers 22 an und erzeugt die entsprechende Ziffer gemäß
Tabelle III. Somit sind die in Tabelle III angegebenen siebenundzwanzig Ziffern von rechts nach links, nacheinander
in Sequenz von der signifikantesten zur am wenigsten signifikanten Ziffer erzeugt und werden auf den Multiplizierer
26 gegeben. Der Multiplizierer 26 multipliziert die von dem Dekodierer 24 gebildeten Ziffern «it dem oberen
octal ganzzahligen Signal, das in dem A-Register 16 ge speichert ist. Das Ergebnis ist ein siebenundzwanzig-oc-
109809/180 2
talziffriges Signal. Die am meisten signifikanten dreizehn
Octalziffern werden in das Α-Register 16 eingespeichert als das obere Octalprodukt, und die am wenigsten
signifikanten vierzehn Octalziffern werden in das Y-Register 14 als der untere Octalbruch eingespeichert. Der
Addierer 30 addiert dann den Inhalt des Registers 14 zum Inhalt des X-Registers 18, das die vierzehn Octalziffern
aus dem vorherigen Produkt enthält, das mit der unteren octalen ganzen Zahl gebildet wurde. Die Summe ist der
untere Octalbruch (vgl. Tabelle II).
Ein wichtiger Teil der Einrichtung aus Fig. 1 zur Umwandlung des octal ganzzahligen Signales in octale Bruchsignale
sind der Zähler 22 und der Dekodierer 24. Diese Schaltungen erzeugen automatisch eine Reihe von Gctalziffersignalen,
die die Bruchzahl repräsentieren, die zur Umwandlung der ganzzahligen Signale in Bruchsignale dient.
2. DETAILLIERTE BESCHREIBUNG DER SCHALTUNG
Man betrachte nun die Einzelheiten der Einrichtung aus Fig. 1 zur Umwandlung einer octalen ganzen Zahl in einen
Octalbruch. Die Register 12, 14, 16, 18 sowie das CC-Register 20 (das in dem Multiplizierer 26 enthalten ist)
haben jeweils 42 Speicherzellen bzw. Flip-Flops. Jede Zelle dient zum Speichern eines binären Informationsbits. In
Fig. IA sind die .42 Speicherzellen in jenem Register dargestellt.
Die Speicherzellen sind zu 14 Octaden gruppiert, von denen jede drei Speicherzellen umfaßt. Die erste Octade
enthält die Zellen Nr. 0,1 und .2, während die vierzehnte Octade die Zellen 39, 40 und 41 umfaßt. Die drei Bits in jeder
Octade repräsentieren eine binär codierte Octalzahl.
Man betrachte jetzt die genaue Arbeitsweise der Schaltung
nach Fig. 1 unter Zuhilfenahme des Flußdiagramms aus Fig. 4. Zunächst speichert die Quelle 13 entweder eine ganze
109809/1802
Zahl von einfacher Genauigkeit aus dreizehn Octaden in das Y-Register 14, oder eine ganze Zahl von doppelter Genauigkeit
aus sechsundzwanzig Octaden in das B-Register 12 und das Y-Register 14. Außerdem speichert die Quelle 13 einen
Schieberechts-Operator in das Operatorenregister 11 und ein Stellenfaktor-Signal in das SF-Register 12. Dadurch
geht die Steuereinheit 10 aus dem Zustand 0 in den Zustand 1, in dem ein Steuersignal am SI—Ausgang gebildet wird.
Wenn man zunächst davon ausgeht, daß eine Zahl nur in einfächer
Genauigkeit von der Quelle 13 geliefert wurde und somit nur eine octale ganze Zahl (Tabelle I) in dem Y-Register
gespeichert ist, dann läßt das Steuersignal an dem Sl-Ausgang ein Tor 33 das octal ganzzahlige Signal aus
dem Y-Register 14 in das A-Register 16 speichern. Das Steuersignal bei Sl läßt eine Zähler-Steuerschaltung 34
den Zähler 22 in den Zustand 14 stellen, der der signifikantesten Ziffer aus den vierzehn Ziffern gemäß Tabelle III
entspricht. Die Steuereinheit IO geht aus dem Zustand 1 in den Zustand 0, wo sie eine Reihe von Signalen am Ausgang
S4 erzeugt, bis der Zähler 2 2 in den Zustand O zurückkehrt. Der Zähler 22 gibt ein Steuersignal am Ausgang CTR
ί 0, wenn er nicht im Zustand 0 steht. Somit sind jetzt
Steuersignale an den Ausgängen S4 und CTR ^ 0. Ein Steuersignal wird an dem Ausgang S4.CTR yk 0 der Steuereinheit
10 gebildet, wodurch der Dekodierer 24 den Zustand des Zählers 22 entschlüsselt und ein kodiertes Ausgangssignal
das die Octalziffer 5 repräsentiert, auf den Multiplizierer 26 gibt.
Der Multiplizierer 26 umfaßt eine Multiplizierschaltung 28, einen binären Paralleladdierer 30 sowie das CC-Register
20. Das CC-Register 20 ist ein üblicher Akkumulator, der die Summensignale, die von dem Addierer 30 gebildet
werden, speichert. Die Multiplizierschaltung 28 kann auf verschiedene, in der Rechnertechnik bekannte Weise aufge-
109809/1802
baut sein und liefert ein 42-Bit-Ausgangssignal entsprechend
dem Produkt der Octalziffersignale aus dem Dekodierer
24 mit der octalen ganzen Zahl in dem A-Register 16'. Das Steuersignal bei S4.CTR φ O läßt die Multiplizierschaltung
28 die Produktsignale auf den AA-Eingang des Addierers 30 geben. Der Addierer ist ein binärer Volladdierer
mit einem 42-Bit-Eingang und einem 42-Bit-plus-Übertrag-Ausgang.
Der Addierer 30 verknüpft die Signale an seinen beiden Eingängen und gibt die Summensignale auf
den Eingang des CC-Registers 20, wo sie automatisch gespeichert werden. Das Steuersignal bei S4.CTR Φ Ο läßt
weiterhin den Entschlüsseier 24 den neuen Zustand des Zählers 22 entschlüsseln und eine entsprechende Ziffer
auf die Multiplizierschaltung 28' geben.
Das neue Steuersignal bei S4 verursacht ein anderes Steuersignal bei S 4.CTR ^ 0, das den Dekodierer 24 die nächst
signifikante Ziffer 3 (entsprechend dem Zustand 13 des Zählers 22) auf die Multiplizierschaltung 28 geben läßt.
Die Multiplizierschaltung 28 multipliziert das octal ganzzahlige Signal in dem A-Register 16 mit dem neuen Octalziffersignal
aus dem Dekodierer 24 und liefert wiederum ein dem Produkt entsprechendes Signal an dem AA-Eingang
des Addierers 30. Das neue Steuersignal bei S4.CTR ^O
läßt den Inhalt des CC-Registers 20 um eine Octalziffer nach rechts oder zum niedrigeren Ende des CC-Registers 20
(durch eine nicht dargestellte Torschaltung) verschieben; es läßt weiterhin ein Tor 36 die am wenigsten signifikante
Octade, die aus dem CC-Register 20 hinausgeschoben wurde, in die dreizehnte Octade (Zellen Y 37 - Y 39) des Y-Registers
14 speichern; und läßt ein Tor 38 den Inhalt des CC-Registers 20 zurück zum BB-Eingang des Addierers
30 geben. Der Addierer 30 besitzt eine inhärente Verzöge-
109 809/1802
rung, so daß nach der Verschiebung des CC-Registers 20 der Addierer 30 die Signale an den Eing&hgen AA und BB
verknüpft und Sununensignale zurück auf das CC-Register
20 gibt, wo sie automatisch gespeichert werden.
Dieser Arbeitsablauf setzt sich für jedes unterschiedliche
Steuersignal bei S4 und jeden verschiedenen Zustand des Zählers 22 (und damit für jede verschiedene Ziffer aus
den vierzehn Ziffern in Tabelle III) fort, bis der Zähler 22 herab in den Zustand 0 gezählt hat. Dann wird ein Steuersignal
bei CTR = 0 am Zähler 22 gebildet, was die MuI-tiplizierschaltung 28 daran hindert, ein weiteres Produktsignal
zu bilden, weiterhin das CC-Register 20 am Verschieben hindert und schließlich das Tor 36 daran hindert,
eine weitere Octade in das Y-Register zu schieben.
Das CC-Register 20 enthält jetzt vierzehn Octalziffern,
die das Produkt der vierzehn in Tabelle III dargestellten Ziffern mit dem octal ganzzahligen im A-Register 16 enthaltenen
Signal darstellt. Weiterhin sind vierzehn Octalzif fern jetzt in dem Y—Register 14 enthalten; jedoch sind
diese Octalziffern nicht signifikant und bleiben unberücksichtigt.
Wenn der Zähler 22 den Zählzustand 0 erreicht hat, wird ein Steuersignal bei CTR = 0 gebildet,und das System
schlägt einen von zwei Wegen gemäß der Darstellung im Flußdiagramm der Fig. 4 ein. Ein Pfad gilt für QlF = 1
und der andere für QlF «= 0, die mit "JA" bzw. "NEIN" in
Fig. 4 bezeichnet sind. Anfänglich ist das QlF~Flip-Flop im Zustand 0, so daß dementsprechend der mit "NEIN" bezeichnete
Pfad eingeschlagen wird. Das Steuersignal bei CTR = 0 läßt die Steuereinheit in den Zustand 5 übergehen
und ein Steuersignal bei S5 bilden. Somit wird ein Steuersignal an dem S5.(Tl -Ausgang gebildet, das das Tor 38
den Ausgang aus dem CC-Register 20 zurück zu dem BB-Ein-
109809/1802
gang des Addierers 30 geben läßt und das ein Tor 40 ein Signal auf den AA-Eingang des Addierers 30 geben läßt,
das die Octalziffer 2 repräsentiert. Demzufolge addiert
der'Addierer 30 den Inhalt des CC-Registers 20 zur Octalen
2, und das Ergebnis wird zurück in das CC-Register 20 gespeichert.
Der Sinn der Addition der Octalen 2 zu dem in dem CC-Register
20 enthaltenen Ergebnis liegt darin, eine Korrektur an der Zahl vorzusehen, wodurch die Zahl größer wird,
so daß für den Fall, daß signifikante Ziffern in nachfolgenden Operationen weggeworfen werden, die sich ergebende
Zahl immer noch in der erforderlichen Anzahl von signifikanten Digits, das heißt dreizehn Octaldigits, korrekt,
in der am wenigsten signifikanten Ziffer jedoch geringfügig größer als notwendig ist. Die Steuereinheit 10 geht ■
dann in den Zustand 6, wodurch ein Steuersignal am S6-Ausgang gebildet wird.
Ein Steuersignal wird jetzt an dem S6.Ql-Ausgang gebildet,
wodurch ein Tor 42 den Inhalt des CC-Registers 20 in das X-Register 18 einspeichert und wodurch der Inhalt aus dem
A-Register 16 zu Ziffer 0 gelöscht wird.
Wie in Fig. 4 angedeutet, werden jetzt zwei verschiedene Pfade eingeschlagen, je nach dem Inhalt des B-Registers
12. Wenn das B-Register 12 leer ist.(was für eine Zahl von einfacher Genauigkeit der Fall ist), wird ein Steuersignal
an dem B = O—Ausgang des B-Registers 12 gebildet. Unter
diesen Umständen ist die Phase I jetzt abgeschlossen,und die Steuereinheit 10 geht in den Zustand 10, bei dem ein
Steuersignal an dem SlO-Ausgang gebildet wird.
Man nehme jetzt an, daß eine Zahl mit doppelter Genauigkeit von der Quelle 13 geliefert wurde und daß demzufolge eine
109809/1802
obere octale ganze Zahl in dem B-Register 12 gespeichert
ist. Die Verarbeitung der unteren octalen ganzen Zahl durch den Zustand 6 ist mit dem vorbeschriebenen Verfahren
für eine octale ganze Zahl einer Zahl von einfacher Genauigkeit identisch, so daß hier auf eine Wiederholung verzichtet
werden kann. Jedoch würde jetzt ein unterer Octalteilbruch in dem X-Register 18 gespeichert sein.
Es werde jetzt der weitere Arbeitsablauf für eiine Zahl
von doppelter Genauigkeit im Anschluß an den Zustand 6 b^~
trachtet. Jetzt ist eine Nicht-Null-Information in dem B-Register 12 enthalten, wodurch ein Steuersignal an dem
B / O-Ausgang auftritt. Dadurch schlägt die Steuereinheit
10 den mit "NEIN" bezeichneten Pfad in Fig. 4 ein und geht in den Zustand 7, bei dem ein Steuersignal an dem S7-Ausgang
gebildet wird.
Jetzt ist das Flip-Flop QlF immer noch in einem Zustand 0,
wodurch ein Steuersignal am cfl-Ausgang steht. Somit wird also ein Steuersignal an dem S7.Q1.B ^ 0 - Ausgang gebildet,
wodurch das Tor 44 den Inhalt des B-Registers 12 in
das A-Register 16 speichert (A^
B); wodurch weiterhin.
die Steuerung 34 den Zähler 22 in den Zustand 27 setzt
(CTR^ 27) entsprechend der signifikantesten Ziffer von
den siebenundzwanzig in Tabelle III dargestellten Ziffern; und wodurch schließlich das QIF-Flip-Flop (Fig. 2) in den
Zustand 1 gesetzt wird (OIF*:
1).
Die Steuereinheit 10 kehrt jetzt zurück zum Zustand 4, indem die Steuersignale wiederum sequenziell an dem S4- Ausgang
gebildet werden. Der Zähler 22 ist nicht im Zustand 0, somit wird ein Steuersignal an dem CTR-V 0-Ausgang gebildet.
Ein Steuersignal wird wiederum an dem S4.CTR ί 0-Ausgang
gebildet, wodurch die Multiplizierschaltung 28 ein Eingangssignal auf den AA-Eing&ng des Addierers 30 gibt,
das dem Produkt des von dem DekoÄierer 24 gebildeten Signa-
. 109809/1802
les mit dem Inhalt des Α-Registers 16 entspricht; weiterhin
wird der Inhalt des CC-Registers 20 um eine octale Ziffer (3 Bits) nach unten (vgl» Fig. 1) verschoben; weiterhin
wird das Tor 28 dazu veranlaßt, den verschobenen Inhalt des CC-Registers 20 zurück auf den BB-Eingang des
Addierers 30 zu geben; schließlich wird das Tor 36 veranlaßt, die aus dem CC-Register 20 hinausgeschobene Octalziffer
in die dreizehnte Octade des Y-Registers 14 zu geben; schließlich wird das Y-Register 14 um eine^Octade
(3 Bits) nach links verschoben, und es wird der Zähler dazu veranlaßt, um eine Zählstufe herabzuzählen. Diese Operation
wiederholt sich für jeden der restlichen sechsundzwanzig Stufen des Zählers 22. und jede der verbleibenden
sechsundzwanzig Ziffern (der siebenundzwanzig Ziffern), die in Tabelle III dargestellt sind, bis der Zähler. 22 den
Zustand 0 erreicht hat, zu welchem Zeitpunkt das Steuersignal vom CTR Φ O-Ausgang verschwindet und ein Steuersignal
wiederum an dem CTR = O-Ausgang auftritt.
Das CC-Register 20 und das Y-Register 14 enthalten jetzt
die siebenundzwanzig Ziffern, die das Produkt der sieben,-undzwanzig
Ziffern (Tabelle III) mit der oberen octalen ganzen Zahl bilden. Das CC-Register 20 weist vierzehn Octaden
auf, und das Y-Register 14 hat dreizehn Octaden.
Die Steuereinheit 10 geht wiederum vom Zustand 4 in den
Zustand 5 und läßt ein Steuersignal an dem Ausgang S5 . entstehen. Jetzt ist jedoch das QIF-Flip-Flop in dem Zustand
1, so daß der linke Pfad in Fig. 4 eingeschlagen wird. Ein Steuersignal wird'auf die Ausgänge Ql sowie S5
gegeben, somit wird ein Steuersignal an dem S5.Q1-Ausgang gebildet, wodurch ein Tor 44 die oberen neununddreißig
Speicherzellen, beginnend mit Zelle 41, in dem CC-Register 20 in die neununddreißig Zellen, beginnend mit Zelle 38
des A-Registers 16",überleitet (A(38:39)< CC (41:39)).
1 09809/1802
Das in dem CC-Register 20 enthaltene Ergebnis wird also in das A-Register 16 eingespeichert und drei Speicherzellen
oder eine Octade nach rechts verschoben. Somit haben wir jetzt dreizehn signifikante Informationsoctaden in
dem A-Register 16 gespeichert, und diese dreizehn Octaden bilden das obere Octalprodukt (vgl» Tabelle III). Das Steuersignal
bei S5.Q1 läßt weiterhin ein Tor 46 die am wenigsten
signifikante Octade (nämlich die Speicherzellen CCOF, CClF sowie CC2F) des CC-Registers 20 in die vierzehnte Octade
des Y-Registers einspeichern (Y(41:3X CC(O2:3).).
Das Y-Register 14 enthält jetzt vierzehn Octa-'an, die den
unteren octalen Teilbruch bilden (Tabelle II). Es ist lediglich teilweise der untere Octalbruch, da er noch zu dem
oberen octalen Teilbruch in dem X-»Register 18 addiert werden
muß. Die Steuereinheit geht dann in den Zustand 6.
Ein Steuersignal wird jetzt bei S6 sowie bei Ql gebildet.
Somit steht also ein Steuersignal an dem Ausgang S6.Q1. Das Steuersignal S6.Q1 läßt ein Tor 48 den Inhalt des X-Registers
18 auf den AA-Eingang des Addierers 3O geben und läßt ein Tor 50 den Inhalt des Y-Registers 14 auf den
BB-Eingang geben. Außerdem wird eine 1 zu dem Ergebnis -addiert, um eine Korrektur für diejenigen Bits zu liefern,
die später unberücksichtigt bleiben,und um sicherzustellen, daß nach dem Unberücksichtigtlassen von Bits die am wenigsten
signifikante Ziffer geringfügig größer ist. Dazu läßt das Steuersignal bei S6.Q1 ein ODER-Tor 51 ein Signal
auf den Übertrag-Eingang des Addierers 30 geben. Der Addierer 30 addiert automatisch die Eingänge zueinander,
und das Ergebnis wird in das CC-Registeir 20 eingespeichert.
Das CC-Register 20 enthält jetzt die vierzehn Octaden, die den tatsächlichen unteren Octalbruch bilden (vgl» Tabelle
II). Die Steuereinheit geht dann in den Zustand 7,
109809/180 2
Steuersignale werden jetzt bei S7 und Ql gebildet; somit entsteht also ein Steuersignal an dem S7.Q!-Ausgang, wodurch
das Tor 42 den Inhalt des CC-Registers 20 in das X-Register
18 speichert.
Das Bit 42 des CC-Registers 20 ist eine 1 nach der Addition durch den Addierer 30, wenn es einen Übertrag von
den niederstelligen vierzehn Octaden während der Addition durch den Addierer 30 gibt. Wenn es einen Übertrag gab,
dann muß der Übertrag.in den am meisten signifikanten Teil des Ergebnisses überführt werden, das jetzt in dem
A-Register 16 gespeichert ist. Dazu wird jetzt geprüft,
ob das Bit 42 in dem CC-Register 20 eine 1 ist. Wenn es eine 1 ist, wird ein Steuersignal an dem CC(42:1) = 1-Ausgang
gebildet. Man nehme an, daß kein Übertrag und kein Steuersignal an dem Ausgang CC(42:1) » 1-Ausgang gebildet
werden. Dann wird die Steuereinheit 10 vom Zustand 7 in den Zustand 10 übergehen ,und die Phase I beenden sowie
die Phase II der Stellenwertverschiebung nach rechts beginnen.
Man nehme nun an, daß ein Steuersignal an dem CC(42:1) = 1-Ausgang
gebildet wird und anzeigt, daß ein Übertrag auftrat. Unter diesen Umständen geht die Steuereinheit 10
von dem Zustand Ί in den Zustand 8, bei dem ein Steuersignal
an dem S8-Ausgang gebildet wird. Ein Steuersignal an dem S8-Ausgang läßt ein Tor 52 den Inhalt des A-Registers
16 auf den AA-Eingang des Addierers 30 geben und läßt das Tor 51 ein Signal auf den Übertrags-Eingang des
Addierers 30 geben. Im Ergebnis addiert der Addierer 30 eine 1 zur Zahl in dem Register 16, und das Ergebnis wird
in dem CC-Register 20 gespeichert. Die Steuereinheit 10 geht dann in den Zustand 9 über. Ein Steuersignal wird
dann am S9-Ausgang gebildet und läßt das Tor 44 das korrigierte
obere Octalprodukt in dem CC-Register 20 zurück in das A-Register 16 speichern. Auf den Zustand 9 folgt
109809/1802
der Zustand 10 der Steuereinheit 10, der die Phase I beendet und die Phase II einleitet.
Man bedenke, daß die Schaltung bzw. Einrichtung nach Fig. 1 eine Datenverarbeitungsvorrichtung darstellt, die ein
ganzzahliges Signal iri ein Bruchsignal umwandelt. Obwohl das gegebene Beispiel Zahlen aus dem Octalzahlensystem betrifft,
kann das gleiche Verfahren auf die Umwandlung von Zahlen in anderen Zahlsystemen Anwendung finden. Im Fall
k einer ganzen Zahl von einfacher Genauigkeit ist die Anzahl der Zustände vierzehn, einer mehr als die dreizehn Octalziffern
in der ursprüngelichen octalen ganzen Zahl. Für den Fall, daß die obere octale ganze Zahl eine Zahl von
doppelter Genauigkeit ist, beträgt die Anzahl der Zustände siebenundzwanzig, einen mehr als die sechsundzwanzig
Octalziffern in der ursprünglichen oberen octalen ganzen Zahl und unteren octalen ganzen Zahl. Somit ist die Anzahl
der Ziffernsignale, die von dem Zähler und dem Dekodierer
erzeugt werden, um 1 größer als die Anzahl der signifikanten Ziffern, die in der endgültigen Octalzahl erhalten
werden, gleichgültig, ob einfache oder doppelte Genauigkeit vorliegt.
Zusammengefaßt empfangen die Register A (16), B (12) und
Y (14) die ganzzahligen Signale, die umgewandelt werden sollen, und der Zähler 22 zählt durch eine Sequenz von
Stufen, die mindestens gleich der kleinsten Anzahl von signifikanten Ziffernsignalen ist, die in den Bruchsignalen
gewünscht werden. Der Dekodierer 24 spricht auf jeden Zustand des Zählers 22 an und liefert kodierte Ausgangssignale.
Die auf diese Weise erzeugten kodierten Ausgangssignale repräsentieren eine Bruchzahl zur Umwandlung des
ganzzahligen Signales in ein Bruchsignal. Die Ziffern sind in dem Zahlensystem der umzuwandelnden Signale. Allgemeingesprochen, können die Ziffern durch B~n repräsentiert wer-
1 09809/1802
~ 33 -
den. B ist die Grundzahl des Zahlensystems, in das das erhaltene
ganzzahlige Signal umgewandelt werden soll, η ist mindestens so groß wie die größte Zahl der erforderlichen
Ziffern in der endgültigen dezimalen ganzen Zahl, die nach Phase II erhalten wird. In der hier beschriebenen Ausführungsform
für die Umwandlung von octal zu dezimal ist B dezimal 10 (bzw. octal 12), während η dezimal 12 (bzw. octal
14) ist. Der Multiplizierer 26 multipliziert die kodierten Ausgangssignale mit den ganzzahligen Signalen und
erzeugt Bruchsignale, die dem Produkt entsprechen.
Das beschriebene Verfahren umfaßt ein Verfahren zur Umwandlung binär kodierter ganzzahliger Signale in binär
kodierte Bruchsignale in einem Zahlensystem einer Datenverarbeitungsanlage und umfaßt den Empfang der ganzzahligen
Signale, die umgewandelt werden sollen, aus der Quelle 13, die Einstellung des Zählers 22 auf einen Zustand,
der der Anzahl der signifikanten Ziffernsignale in dem Zahlensystem entsprechend den gewünschten Bruchsignalen
entspricht. Die Zustände des Zählers 22 werden'Von dem
Dekodierer 24 festgestellt, der eine Reihe von Ausgangssignalen erzeugt, die eine Bruchzahl repräsentieren, die
zur Umwandlung der ganzzahligen Signale in Bruchsignale erforderlich ist. Die ganzzahligen Signalen werden multipliziert
(durch den Multiplizierer 26) mit den Ausgangssignalen, wie sie erzeugt worden sind, und der Zähler 22
zählt durch eine vorbestimmte Reihe von Zuständen, bis ein Bezugszustand des Zählers 22 erreicht ist. Ein Bruchsignal
wird damit von dem Multiplizierer 26 erzeugt, das · eine Reihe von Ziffernsignalen umfaßt, die das Produkt der
Reihe von Ausgangssignalen mit den ganzzahligen Signalen repräsentieren.
Dem Fachmann ist unmittelbar klar, daß an der Einrichtung
aus Fig· 4 eine Anzahl von Variationen vorgenommen werden
können, ohne daß dabei von dem in den angefügten Ansprüchen
109809/1602
definierten Erfindungsgedanken abgewichen wird. So kann beispielsweise die ganze Zahl von doppelter Genauigkeit
in einen Bruch umgewandelt werden, statt daß nur der am wenigsten signifikante Teil umgewandelt wird. Jedoch würde
ein-größerer Addierer dazu nötig sein und weiterhin würden zwei Register erforderlich sein, um die Zwischenprodukte
aufzunehmen. Weiterhin können die von dem Dekodierer gebildeten Ziffern auf verschiedene Werte modifiziert
werden, je nach der besonderen Konstruktion des MuI-tiplizierers. Weiterhin kann das CC-Register 20 als Teil
des Addierers 30 betrachtet werden. Der Addierer 30 kann
eine Torschaltung sein oder auch eine Kombination von Registern mit Torschaltungen, alles Möglichkeiten, die in
der Rechnertechnik bekannt sind.
C. PHASE II - UMWANDLUNG DES OCTALBRUCHES
1. Kurze Beschreibung
Nach der Phase I wird in die Phase II eingetreten. Wie vorstehend unter den theoretischen Erwägungen ausgeführt,
wird der während der Phase I erhaltene Octalbruch in eine dezimale ganze Zahl umgewandelt und ein Teil der Ziffern
in der dezimalen ganzen Zahl wieder in das octale Zahlsystem zurückverwandelt. Die Anzahl an Dezimalziffern,
die verbleiben, wird durch den Stellenfaktor, der in dem
Stellenfaktorregister 72 enthalten ist, bezeichnet. Es gibt insgesamt zwölf Dezimalziffern.in der ursprünglichen
dezimalen ganzen Zahl, so daß die Anzahl der in das Octale zurückzuverwandelnden Dezimalziffern gleich ist 12 (dezimal)
minus dem Stellenfaktor.
Während der Phase II wird bei Vorliegen doppelter Genauigkeit das obere Octalprodukt und der untere Octalbruch (wie
109809/1802
er aus der Phase I erhalten wurde) durch die verschiedenen Stufen, wie sie in Tabelle II angezeigt sind, umgewandelt.
Die endgültigen Zahlen sind eine umgewandelte obere octale ganze Zahl plus einer umgewandelten unteren dezimalen ganzen
Zahl. Wie im Falle einfacher Genauigkeit, wird der untere Octalbruch in eine untere dezimale ganze Zahl und dann
ein Teil der Ziffern in der unteren dezimalen ganzen Zahl zurück ins Octale verwandelt, um die umgewandelte untere
octale ganze Zahl und die umgewandelte untere dezimale ganze Zahl zu bilden. Die Anzahl der dezimalen Ziffern, die
ins Octale zurückverwandelt werden sollen, ist wiederum 12
(dezimal) minus dem Stellenfaktor.
Man betrachte wieder den Arbeitsablauf der Phase II zur
Umwandlung eines Öctalbruches einfacher Präzision ins Dezimale. Der Octalbruch wird in einen Dezimalbruch dadurch
umgewandelt, daß das Octalbruchsignal wiederholt mit der Dezimalen 10 (Octalen 12) unter Verwendung der Einrichtung
aus Fig. 1 multipliziert wird Die oberen vier Bits des Signals, das sich aus jeder Multiplikation ergibt, repräsentieren
eine der dezimalen Ziffern des Dezimalbruchs. Der Addierer 30 ist ein binärer Volladdierer und arbeitet
in dem 1 - 2 — 4 - 8 - Zahlencode. Grundsätzlich wird die Multiplikation dadurch ausgeführt, daß der Octalbruch auf
beide Eingänge des Addierers 30 gegeben wird, jedoch verschoben um eine bestimmte Anzahl von binären Bits. Beispielsweise
bedeutet das Verschieben der Addierer-Eingangssignale um eine binäre Bit-Postion zu dem am meisten signifikanten
Ende im Ergebnis ein Multiplizieren der Zahl mit der Octalen 2; das Verschieben der Addierer-Eingangssignale
um zwei binäre Bits bedeutet im Ergebnis ein Multiplizieren der Zahl mit einer Octalen 4; ein Verschieben der
Addierer-Eingangssignale um drei binäre Bits ist äquivalent einer Multiplikation der Zahl mit der Octalen 10
(Dezimale- 8). Wenn also eine Zahl,um drei binäre Bits
verschoben, a"uf einen Eingang des Addierers und die gleiche
109809/1802
Zahl, um zwei binäre Bits verschoben, auf den anderen
Eingang des Addierers gegeben wird, ist die Summe gleich der Dezimalen 10 (Octalen 12) mal der Zahl. Dies ist,
kurz dargestellt, die dem Arbeitsablauf zugrundeliegende
Theorie, wobei die Dezimale IO (Octale 12) wiederholt mit den unteren Octalbruchsignalen multipliziert wird. Ein
ähnlicher Arbeitsablauf wird bei einer Zahl mit doppelter Genauigkeit eingenommen.
Eingang des Addierers gegeben wird, ist die Summe gleich der Dezimalen 10 (Octalen 12) mal der Zahl. Dies ist,
kurz dargestellt, die dem Arbeitsablauf zugrundeliegende
Theorie, wobei die Dezimale IO (Octale 12) wiederholt mit den unteren Octalbruchsignalen multipliziert wird. Ein
ähnlicher Arbeitsablauf wird bei einer Zahl mit doppelter Genauigkeit eingenommen.
Nach der Umwandlung eines Octalbruches von einfacher Genauigkeit in eine dezimale ganze Zahl wird die erste dezimale
Ziffer in eine octale nach einem neuartigen Verfahren und einer dazu geeigneten Einrichtung umgewandelt. Die Umwandlung
wird, kurz gesagt, dadurch ausgeführt, daß die
Ausgangssignale aus dem Addierer 30 zurück auf seine beiden Eingänge gegeben werden, und zwar binär signifikant
verschoben bezüglich der Addierer-Eingänge, so daß im Effekt vom Addierer zehnmal Addierer-Ausgangssignale gebildet werden. Gleichzeitig wird eine der umzuwandelnden Dezimalziffern auf die nicht benutzten Eingänge des Addierers 30 gegeben, wodurch die Ziffern zur gebildeten Summe addiert werden. Die Ziffern werden jeweils einzeln von
der signifikantesten zur am wenigsten signifikanten auf
den Addierer gegeben. Wenn alle nötigen (12 - Stellenfaktor) dezimalen Ziffern umgewandelt sind, ist die Summe am Ausgang des Addierers das octale Äquivalent dieser Dezimalziffern und bildet die "umgewandelte octale ganze Zahl" (vgl. Tabelle I).
Ausgangssignale aus dem Addierer 30 zurück auf seine beiden Eingänge gegeben werden, und zwar binär signifikant
verschoben bezüglich der Addierer-Eingänge, so daß im Effekt vom Addierer zehnmal Addierer-Ausgangssignale gebildet werden. Gleichzeitig wird eine der umzuwandelnden Dezimalziffern auf die nicht benutzten Eingänge des Addierers 30 gegeben, wodurch die Ziffern zur gebildeten Summe addiert werden. Die Ziffern werden jeweils einzeln von
der signifikantesten zur am wenigsten signifikanten auf
den Addierer gegeben. Wenn alle nötigen (12 - Stellenfaktor) dezimalen Ziffern umgewandelt sind, ist die Summe am Ausgang des Addierers das octale Äquivalent dieser Dezimalziffern und bildet die "umgewandelte octale ganze Zahl" (vgl. Tabelle I).
Die Dezimalziffern werden auf die nicht benutzten Eingänge des Addierers 30 durch eine spezielle Torschaltung 80
gegeben, die im einzelnen weiter unten erläutert wird.
gegeben, die im einzelnen weiter unten erläutert wird.
Ähnliche Arbeitsschritte sind für die Behandlung einer
Zahl von doppelter Genauigkeit nötig.
Zahl von doppelter Genauigkeit nötig.
1 09809/ 1802
2. Genaue Beschreibung
Man betrachte jetzt die Einzelheiten der Einrichtung nach Fig. 3 zur Umwandlung der octalen Bruchsignale in
dezimale ganzzahllge Signale. Die Fig. 5 enthält das Flußdiegramm, das die Sequenz der hier stattfindenden
Arbeitsschritte erläutert. Die Eingänge des Addierers 30 sind in Fig. 3 wiedergegeben. Es gibt insgesamt zweiundvierzig
Eingänge, numeriert von 0 bis 41, für jeden der Addierereingänge AA und BB. Weiterhin gibt es zweiundvierzig
Ausgänge plus einem Übertragsausgang, die sämtlich Eingänge für das CC-Register 20 sind.
Der Schieberechts-Operator war vorher in dem Operator-Register 11 gespeichert, und die Stellenfaktorsignale waren
in dem Register 72 gespeicherte im Fall einer Zahl mit einfacher Genauigkeit sind die Octalbruchsignale (Tabelle I) jetzt in dem X-Register 18 enthalten. Im Fall einer
Zahl mit doppelter Genauigkeit sind das obere Octalprodukt und der untere Octalbruch (vgl. Tabelle II) jetzt
in dem A-Register 16 bzw. in dem X-Register;18 gespeichert.
Man betrachtet zunächst die Einzelheiten zur Umwandlung eines Octalbruches von einfacher Genauigkeit (in dem X-Register
18) in dezimal ganzzahlige Signale. Wie bereits ausgeführt, wird diese Umwandlung grundsätzlich dadurch
erreicht, daß der Ausgang des Addierers auf seine beiden
Eingänge bezüglich der Binäreingänge des Addierers in binärer Signifikanz verschoben, gegeben wird. Die erste
Multiplikation mit 10 ist jedoch ein besonderer Fall. Das hat darin seine Ursache, daß der untere Octalbruch, der
jetzt in dem X-Register 18 gespeichert ist, vierzehn Octaden statt die erforderlichen dreizehn Octaden aufweist.
Somit werden im Effekt die Zahlsignale in dem X-Register 18 um drei Binärbits nach links verschoben. Das bedeutet,
109809/1802
daß der in dem X—Register 18 enthaltene untere Octalbruch
tatsächlich schon mit der Dezimalen 8 (Octalen 10) multipliziert worden ist.
Dieser Spezialfall wird durch die Torschaltungen 60 und 62 verarbeitet. Die Torschaltung 60 gibt die Ausgänge
XO > X41 aus dem X-Register 18 auf die Eingänge 0-41
des AA-Einganges des Addierers 30. Damit wird die Dezimale 10 (Octale 8) mal der Zahl in dem X-Register 18 auf den
Addierer 30 gegeben. Die Torschaltung 62 gibt die Ausgänge X2 - X41 aus dem X-Register 18 auf die Eingänge 0-39 des
BB-Addierereinganges. Man bemerke, daß das im Effekt eine Verschiebung der Zahl in dem X-Register 18 um zwei Bit-Positionen
nach rechts bedeutet. Da der Inhalt des X-Registers
18 im Effekt dezimal 8 mal dem Octalbruch ist, wird eine Dezimale 2 mal dem octalen Bruch auf den BB-Eingang
des Addierers gegeben. Die Summe von 8 mal dem octalen Bruch (am AA-Eingang) plus 2 mal dem Octalbruch (am BB-Eingang)
läßt zehnmal (octal 12) den Octalbruch durch den Addierer entstehen.
Im Betrieb bildet die Steuereinheit 10 ein Steuersignal an dem SlO-Ausgang. Dadurch schalten die Tore 60-0 bis
60-41 der Torschaltung 60 die Ausgänge XO bis X41 aus dem X-Register 18 auf die Eingänge 0 bis 41 des AA-Ad-
dierereinganges (AA ('41:42) f X(41:42))(vgl. Fig. 5A,
SlO); dadurch schalten die Tore 62-0 bis 62-39 der Torschaltung 62 die Ausgänge X2 bis X 41 aus dem X-Register
18 auf die Eingänge 0 bis 39 des BB-Addierereinganges (BB(39:4O){
X(41:40)). Der Addierer 30 addiert automatisch die beiden Eingänge zueinander, und das Ergebnis
wird automatisch in das CC-Register 20 gespeichert. In diesem CC-Register 20 sind jetzt dreiundvierzig Bits
(0 bis 42) gespeichert. Die oberen vier Bits (Bits 39 bis 42) sind die vier Überflußbits, die die signifikanteste
Dezimalziffer der dezimalen ganzen Zahl bilden. Di« rest-
109809/1802
lichen neununddreißig Bits in den Zellen COF bis C38F des CC-Registers 20 bilden die dreizehn Octaden des Produktes
aus der ersten (speziellen) Multiplikation. Das Steuersignal bei SlO sorgt weiterhin dafür, daß das Y-Register
14 auf 0 gelöscht wird (Y < 0) und weiterhin dafür,
daß die Zählersteuerung 68 den Zähler 22 auf den Zustand 11 setzt (CTRf 11). Es wird aus der folgenden Beschreibung
noch hervorgehen, daß 10 mit dem im CC-Register
20 enthaltenen Produkt einmal für jeden Zustand des Zählers 22 multipliziert wird, bis einschließlich Zustand 0 des
Zählers 22. Somit findet die Multiplikation 11 zusätzliche Male statt und liefert eine Gesamtsumme von zwölf 4-Bit-Dezimalziffern.
Die Ausgänge aus den Zellen CCOF bis CC38F in dem CC-Register
20 werden durch die Tofschaltungen 64 und 68 zu-' rück auf die AA-und BB-Eingänge des Addierers 30 gegeben.
Die Torschaltung 64 gibt die Bits aus dem CC-Register 20, um eine Bit—Position verschoben, auf den AA-Eingang des
Addierers 30. Die Torschaltung 66 gibt die gleichen Bits, verschoben um drei Bit-Stellen auf den BB-Eingang des Addierers
30. Es ist jetzt wohl deutlich geworden, daß dadurch der Addierer 30 ein Ausgangssignal bildet, das das
dezimal Zehn- (octal Zwölf-)fache des in den neununddreißig Bits des CC-Registers 20 enthaltenen Produktes ist.
Im weiteren Betrieb geht die Steuereinheit 10 automatisch vom Zustand 10 in den Zustand 11. Im Zustand 11 werden
wiederholt Steuersignale am Sll-Ausgang gebildet, bis die
Steuereinheit aus dem Zustand 11 herausgeht. Das erste Steuersignal bei SIl läßt ein Tor 70 die vier binären Bits
der Dezimalziffer in den Zellen CC39F bis CC42F des CC-Registers 20 in die unteren vier Zellen des Y-Registers 14
speichern (Y(3:4)< — CC(42:4)). Somit enthält das Y-Re-
gister 14 letzt die am meisten signifikante Ziffer der de-
109809/1802
zimalen ganzen Zahl. Das erste Steuersignal am Sll-Ausgang
läßt weiterhin die Tore 64-0 bis 64-39 der Torschaltung 64 dieAusgänge CCO bis CC38 aus dem CC-Register 20
auf die Eingänge 1 bis 39 des AA-Addierereinganges geben
(AA(39:38)< CC(38:39)) und läßt die Tore 66-0 bis
66-38 die Signale aus den Ausgängen CCO bis CC38 des CC-Registers 20 auf die Eingänge 3 bis 41 des BB-Addierer-
eingangs geben (BB(41:39){ CC(38:39)). Der Addierer
addiert automatisch die Eingänge zueinander und liefert einen Ausgang, der dem Produkt aus zehn und den neunund-
ψ dreißig in dem CC-Register 20 enthaltenen Bits entspricht.
Das CC-Register 20 speichert automatisch den Ausgang aus dem Addierer 30. Das CC-Register 20 enthält jetzt die zweite
Dezimalziffer in den Zellen 42 bis 39 und das zweite 39-Bit-Produkt in den Zellen 0 bis 38. Das Steuersignal
bei SIl läßt weiterhin die Zählersteuerung 68 den Zähler ' 22 um eine Stufe herunterzählen (CTR - 1), und zwar in den
Zustand 10. Während des ersten Sll-Steuersignales finden
noch weitere Aktionen statt, wie sie in Fig, 5A angezeigt sind, jedoch sind sie jetzt hier an dieser Stelle nicht
weiter wichtig.
Die Steuereinheit 10 bildet dann ein weiteres Steuersignal " an dem Ausgang SIl, wodurch die zweite bzw. nächst signi- fikante
Dezimalziffer aus den Zellen CC39F bis CC42F des CC-Registers 20 in die am wenigsten signifikanten vier
Zellen des Y-Registers 14 durch das Tor 700 weitergegeben wird. Das Steuersignal bei SIl läßt weiterhin eine Verschiebematrix
70 den Inhalt des Y-Registers 14 vier binäre Bits oder eine Dezimalziffer nach links verschieben
(Y(47:4)< Y(43:44)), so daß das Y-Register 14 jetzt
die ersten zwei Dezimalziffern nebeneinander enthält. Das
zweite Steuersignal bei SIl läßt weiterhin die Torschaltungen 64 und 66 wiederum das neununddreißig Bit umfassende
Produkt in dem CC-Register 20 zurück auf die entsprechenden Eingänge des Addierers 30 gelangen, wodurch ein
109809/1802
Produkt aus 10 mal diesem Produkt zurück in das CC-Register 20 gespeichert wird.
Die vorerwähnte Operation wird bei jedem Auftreten von SIl wiederholt, bis der Zähler 22 den Zustand 0 erreicht.
Wenn der Zähler 22 den Zustand 0 erreicht hat, sind zwölf Dezimalziffern (oder 48 Bits) in das Y-Register 14 eingespeichert
worden und bilden die dezimale ganze Zahl. Wenn der Zähler 22 in den Zustand 0 übergeht, wird ein Steuersignal
an dem CTR = O-Ausgang des Zählers 22 gebildet. Die veranlaßt die Steuereinheit 10, in den Zustand 13
überzugehen (Fig. 5B). Das letzte vom Addierer 30 gebildete Produkt, das in dem CC-Register 20 gespeichert ist, ist
redundant und wird während der nachfolgenden Operation nicht weiter beachtet. .
Man sollte noch bemerken, daß zwar die Dezimalziffern aus dem CC-Register 20 als direkt in das Y-Register .14.weiterbefördert
dargestellt worden sind, daß jedoch auch eine Pufferstufe zwischen den zwei Registern vorgesehen sein
kann, um zwei oder mehrere Ziffern vor der Übertragung in das Y-Register 14 zu sammeln. .
Das Q2F-Flip-Flop ist anfänglich im Zustand 0,und die Steuereinheit 10 befindet sich im Zustand 13, so daß der
mit "NEIN" bezeichnete Pfad von dem Q2F = 1-Kasten in
Fig. 5B aus eingeschlagen wird. Der Stellenfaktor, der in dem Stellenfaktorregister 72 gespeichert ist, bezeichnet
zusammen mit dem Operator in dem Register 11 die Anzahl von dezimalen Ziffern, die in der endgültig umgewandelten
dezimalen ganzen Zahl erforderlich sind, und diese Ziffern, werden in dem B-Register 12 gespeichert. Eine Übertragungsmatrix 74 steuert die Übertragung aus dem Y-Register 14.
in das B-Register 12 und läßt die Dezimalziffern in das .
B-Register 12 am linken Ende des Registers einsetzen,
(B(.47:4 (Stellenfaktor) f Y (4 (Stellenfaktor - 1):4
(Stellenfaktor))). Die Übertragungematrix 74 nimmt einen
109809/1802
Eingang aus dem Dekodierer 76 auf, der den Stellenfaktor
in dem Stellenfaktorregister 72 entschlüsselt und ein Steuersignal auf die Übertragungsmatrix 74 gibt, das dem
Betrag entspricht, um den die zwölf Dezimalziffern in dem
Y-Register 14 zu verschieben sind, wenn sie in das B-Register 12 gespeichert werden.
Man nehme nun an, daß der Stellenfaktor 5 beträgt. Nur die
niederstelligen fünf dezimalen Ziffern sollen in dem unteren Dezimalbruch sein,und der Rest von sieben Ziffern
soll in octale Form umgewandelt werden. Der Dekodierer 76 spricht auf das Stellenfaktorsignal 5 in dem Register
72 an und gibt ein Signal entsprechend 28 (7 Ziffern χ 4 Bits » 28 Bits) auf die Übertragungsmatrix 74 und zeigt
an, daß eine Verschiebung um 28 Bits erforderlich ist. Es werden Steuersignale an dem Sl3.(22~-Ausgang gebildet,
die die Übertragungsmatrix 74 veranlassen, die fünf in dem Y-Register 14 enthaltenen Ziffern in das B-Register
12 zu übertragen und sie achtundzwanzig Binär—Bits bzw. Flip-Flops zu verschieben, so daß die fünf Ziffern jetzt
am längsseitigen Ende des B-Registers 12 erscheinen.
Man sollte bemerken, daß die Übertragung der gewünschten Dezimalziffern aus dem Y-Register 14 in das B-Register
»dadurch vollzogen werden kann, daß die Ziffern in dem Y-Register 14 verschoben und dann direkt in das B—Register
12 übertragen werden. Es sind natürlich auch andere Verfahren zur Verschiebung und Übertragung dem Fachmann der
Rechnertechnik ohne weiteres geläufig. Weiterhin ist es klar, daß die Übertragung aus dem Y-Register 14 in das B-Register
12 auch an späteren Stellen im Arbeitsablauf stattfinden kann, je nach der Gesamtauslegung des Systems.
Bei einem Stellenfaktor verschieden von 12 (wie angenommen) geht die Steuereinheit 10 aus dem Zustand 13 in den Zustand
14. Wenn der Stellenfaktor 12 wäre, würde er die Steuerein-
109809/1802
heit 10 dazu veranlassen, aus dem Zustand 13 in den Zustand 0 überzugehen, wo der Betrieb beendet wäre.
Obgleich die bisherige Beschreibung für eine Zahl von einfacher Genauigkeit galt, würde eine entsprechende Beschreibung
für eine Zahl von doppelter Genauigkeit genau so aussehen - mit der Ausnahme, daß der untere Octalbruch verwendet
würde, statt des Octalbruches, und das Ergebnis in dem B-Register 12 wäre an dieser Stelle die partielle un-rtere
ganze Dezimalzahl.
Mit dem Betrieb für die einfache Genauigkeit während des
Zustandes 14 fortfahrend, ist zu bemerken, daß das Q2F-Flip-Flop noch immer im Zustand 0 steht; dementsprechend
werden Steuersignale an den Ausgängen S14 und "02*
gebildet. Ein Steuersignal wird dann an dem Ausgang S14."Q2~ gebildet. Ein Entschlüsseier 78 dekodiert die Stellenfaktörsignale
in dem Register 72 und gibt ein Steuersignal auf die Zählersteuerung 68, entsprechend der Differenz
zwischen 11 und dem Stellenfaktor (11 - Stellenfaktor)
Bei dem angenommenen Stellenfaktor 5 gibt demzufolge der Dekodierer 78 Signale entsprechend dem Wert 6 auf die Zählersteuerung
68. Das Steuersignal beim S14.Q2-Ausgang
läßt die Zählersteuerung 68 den Zähler 22 in den Zustand setzen, der dem Ausgangssignal des Dekodierers 78, das
heißt 6, entspricht. Außerdem läßt das Steuersignal bei S14.02" alle Flip-Flops in dem CC-Register 20 auf 0 löschen
und setzt das Q2F-Flip-Flop (Fig. 2) auf den Zustand 1. Zur Erklärung sei gesagt, daß das Q2F-Flip-Flop ein Zeitgeber-Flip-Flop
ist, das den Umstand berücksichtigt, daß der Zustand 11 ein zweitesmal eingenommen worden ist. Nach
dem Zustand 14 geht die Steuereinheit 10 automatisch in den Zustand 11, indem Steuersignale wiederum am Sll-Ausgang
gebildet werden.
Man bemerke, daß der Zustand des ZShlers 22 an diesem
109809/1802
Zeitpunkt die Anzahl der ersten Dezimalziffern bestimmt,
die zurück in den Octalcode umgewandelt werden sollen. Für jeden Zustand des Zählers einschließlich des Zustandes
0 wird eine Dezimalziffer umgewandelt, wenn der Zähler
auf den Zustand 0 hin während des Zustandes 11 zählt.
Erfindungsgemäß ist eine besondere Vorrichtung zusammen mit dem Addierer 30 vorgesehen, um gleichzeitig die Grundzahl
b (dezimal 10) mit einer Zahl zu multiplizieren und h, gleichzeitig in einer umzuwandelnden dezimalen Ziffer zu
addieren. Dieses Verfahren dient zur Umwandlung von dezimal in octal, wie das oben im Zusammenhang mit dem Buch
von Knuth beschrieben wurde. Dieses Verfahren ist ein wichtiges Merkmal der vorliegenden Erfindung.
Der Inhalt des CC-Registers 20 wird auf beide Eingänge
des Addierers 30 durch die Torschaltungen 64 und 66 zurückgekoppelt,
und zwar verschoben in binärer Signifikanz bezüglich der Addierereingänge, um zu erreichen, daß
die Dezimale 10 mit dem Inhalt des CC-Registers 20 multipliziert wird. Man wird bemerkt haben, daß mehrere Eingänge
des Addierers 30 unbenutzt bzw. wegen der Art der Ver-P Schiebung nicht angeschlossen blieben. Beispielsweise arbeitet
am BB-Eingang die Torschaltung 64 lediglich mit den Eingängen 1 bis 39 des AA-Einganges, und die Torschaltung
66 arbeitet lediglich mit den Eingängen 3 bis 41 des BB-Einganges. Außerdem ist der Übertrag-Eingang unbenutzt.
Erfindungsgemäß dienen diese unbenutzten Eingänge dazu,
die Dezimalzahl aus den Zellen Y44F - Y47F des Y-Registers 14 einzuaddieren. Die Binär-Bits der Dezimalzahl in den
Zellen Y44F - Y47F sind mit 1, 2, 4, 8 bewichtet, so daß sorgfältig darauf geachtet werden'muß, die gleiche Signifikanz
einzuhalten, wenn diese Zellen hinsichtlich ihres Inhalts auf den Addierer gegeben werden, so daß die Ziffer
109809/1802
in den Zellen Y44F - Y47F zu dem von dem Addierer 30 gebildeten
Ergebnis addiert wird. Dazu weist die Torschaltung 80 UND-Tore 1, 2, 4 und 8 auf, die den Bewichtungen
der Zellen Y44F - Y47F entsprechen. Das UND-Tor 1 aus der Torschaltung 8O gibt den Inhalt der Zelle Y44 auf den 0-Eingang
des Eingangs BB. In ähnlicher Weise wird der Inhalt der Zelle Y45 durch das Tor 2 der Torschaltung 80
in den 1-Eingang des BB-Eingang» gegeben, und schließlich
überführt das Tor 4 aus der Torschaltung 80 den Inhalt der Zelle Y46 in den 2-Eingang des Einganges BB des Addierers
30.
Dem Fachmann ist ohne weiteres klar, daß in dem binär kodierten dezimalen 8-, 4-, 2-, 1-Code für den Fall, daß
das 8-Bit eine 1 ist, dann die.2- und 4-Bits immer Nullen sind. Dieser Umstand wird vorteilhaft ausgenutzt, so daß
demzufolge die Torschaltung 80 zwei 8-Tore hat, die die Zelle Y47F mit dem 1-Eingang und dem 2-Eingang des Einganges
BB verbinden. Ein drittes 8-Tor aus der Torschaltung 80 koppelt die Zelle Y47F an den unbenutzten O-Eingang
des AA-Einganges, und ein viertes 8-Tor aus der Torschaltung 80 koppelt die Zelle Y47F an den Übertrageingang des
Addierers 30,
Somit sind die 1-, 2- und 4-Tore der Torschaltung 80 mit
den 0-, 1- und 2-Eingängen des Eingangs BB verbunden und liefern bewichtete Eingänge 1, 2 und 4 an den Addierer.
Die vier 8-Tore, die an den Übertrageingang, den O-Elngang
des Eingangs AA und den 1- und 2-Eingang von BB angeschlossen sind, haben die Bewichtungen 1, 1, 2 und 4.
Wenn demzufolge die 8-Tore aktiviert werden, wird eine Dezimale 8 zu dem von dem Addierer 30 gebildeten Ergebnis
addiert* Die Tabelle T zeigt die Zustände der Flip-Flop«
Y47 - Y 44, die entsprechenden Tore 80, die aktiviert sind, und die entsprechenden Werte, die zu dem von dem Ad-
109809/1802
dierer 30 gebildeten Resultat addiert werden.
Es wird somit deutlich, daß die Torschaltung 80 eine spezielle Torschaltung ist, die imstande 1st, eine Ziffer
aus Signalen aus dem Y-Register 14 auf den Addierer 30 gleichzeitig mit den Eingängen aus der Torschaltung 64
und 66 zu geben, so daß eine Multiplikation durch Verschiebung unter Verwendung der Tore 64 und 66 stattfindet, während
eine Ziffer aus dem Y-Register 14 gleichzeitig zu dem Produkt addiert wird.
Nach Kenntnis dieses Hintergrundes wird der Rest des tatsächlichen
Arbeitsablaufs erläutert. Das Y-Register 14 enthält die Ziffern der dezimalen ganzen Zahl. Der Zähler
22 wurde in einen Zustand gesetzt, der 11 minus dem Stellenfaktor entspricht. Weiterhin ist das Q2F-Flip-Flop in
einem Zustand 1. Die Steuereinheit 10 ist jetzt im Zustand 11 und beginnt mit der Ausbildung einer Reihe von
Steuersignalen am Ausgang SIl.
Das erste Steuersignal bei SIl läßt die Torschaltungen 64
und 66 den Inhalt des CC-Registers 20 zurück auf die angezeigten Eingänge des Addierers 30 koppeln. Jedoch enthält
ψ das CC-Register 20 jetzt alle Nullen, so daß demzufolge
Nullen auf den Addierer 30 gegeben werden. Das Steuersignal bei SIl läßt weiterhin die Torschaltung 80 die am meisten
signifikante Ziffer, die in den Flip-Flops Y47F Y44F des Y-Registers 14 enthalten ist, wie vorbeschrieben,
auf den Addierer 30 geben.(vgl. Fig. 5A; BB2 f wenn
Y47F oder Y45F, BB2f: wenn Y47F oder Y45F, BBO wenn Y44F,
AAO wenn Y47F, Übertrag f wenn Y47F). Da es keine anderen
Nicht-Null-Eingänge gibt, wird die signifikanteste Dezimalziffer in dem Y-Register 14 ungeändert in das CC-Register 20 eingespeichert.
109809/1802
Das Steuersignal bei SIl läßt weiterhin die Verschiebematrix
70 den Inhalt des Y-Registers 14 um eine Dezimalziffer
oder v,ier Binär-Bits nach links verschieben
(Y(47:44) < Y(43:44))t so daß die nächst signifikante
Ziffer jetzt in den Zellen Y44F - Y47F enthalten ist. Das Steuersignal bei SIl läßt weiterhin die Zählersteuerung
68 den Zähler 22 um eine Einheit weiter herunterzählen.
Somit enthält am Ende des ersten Steuersignals bei SIl
das CC-Register 20 das octale Äquivalent der signifikantesten Dezimalziffer, der Inhalt des Y-Registers 14 ist
verschoben, so daß die nächst signifikante Ziffer in den Zellen Y44F - Y47F enthalten ist, und der Zähler 22 hat
um einen Zustand herunter gezählt.
Das zweite Steuersignal bei SIl läßt den Inhalt des CC-Registers
20 wieder durch die Torschaltungen 64 und 66 auf die Eingänge des Addierers 30 geben, und zwar verschoben
in binärer Signifikanz bezüglich den Eingängen, so daß vom Addierer 30 das Produkt uus der Dezimalen 10 mit
dem Inhalt des CC-Registers 20 gebildet wird. Gleichzeitig gibt die Torschaltung 80 die nächst signifikante Ziffer
aus den Zellen Y47F - Y44F auf die unbenutzten Eingänge des Addierers 30, wodurch die nächst signigikante
dezimale Ziffer zu dem von dem Addierer gebildeten Produkt
addiert wird. Das CC-Register 20 speichert automatisch die Summe. Das zweite Steuersignal bei SIl läßt
weiterhin das Y-Register 14 um eine weitere Dezimalziffer bzw. vier Binär-Bits nach links verschieben und läßt die
Zählersteuerung 68 den Zähler 22 um eine weitere Stufe herabzählen.
Dieses Verfahren wiederholt sich für jedes Steuersignal bei S11 für jede Ziffer in dem Y-Register 14, die umgewandelt
werden soll, bis der Zähler 22 den Zustand 0 erreicht,
109809/1802
Das in dem CC-Register 20 enthaltene Ergebnis, nachdem der Zähler 22 den Zustand 0 erreicht hat, ist das octale
Äquivalent der binär kodierten Dezimalziffern, die umgewandelt worden sind.
Der O-Zustand des Zählers 22 läßt die Steuereinheit 10
aus dem Zustand 11 in den Zustand 13 übergehen. Jedoch ist jetzt das Q2F-Flip-Flop in einem 1-Zustand, so daß
jetzt dementsprechend der mit "JA" bezeichnete Pfad in Fig. 4B nach dem Kasten Q2F = 1 eingeschlagen wird. Es
P war angenommen worden, daß die umzuwandelnde Zahl eine
Zahl von einfacher Genauigkeit ist; demzufolge ist das QIF-Flip-Flop in einem Zustand 0, so daß der mit "NEIN"
bezeichnete Pfad nach dem Kasten QlF = 1 in Fig. 4B eingeschlagen
wird. Weiterhin ist das G3F-Flip-Flop in dem Zustand 0. Ein Steuersignal wird also jetzt an dem Ausgang
S13.Q2.Q3 gebildet, woraufhin ein Tor 81 die niederstellenwertigere
Octalzahl aus dem CC-Register 20 in das
A-Register 16 speichert (A(38:39)^ CC(38:39)). Somit
enthält jetzt das B-Register 12 die umgewandelte ganze Zahl, und das A-Register 16 enthält die umgewandelte octale
ganze Zahl. Die Steuereinheit 10 geht zurück zum Zu-
t stand 0, in dem ein neuer Operator erwartet wird.
Man nehme nun an, daß statt einer Zahl von einfacher Genauigkeit eine Zahl von doppelter Genauigkeit umgewandelt
werden soll. Die Beschreibung zur Umwandlung des unteren Octalbruches würde im wesentlichen identisch zu der vorstehenden
Beschreibung für den Octalbruch (einfache Genauigkeit) sein bis zu dem vorsteherden Eintritt in den
Zustand 13. Somit würde der untere Octalbruch in eine untere dezimale ganze Zahl umgewandelt und in das Y-Register
14 eingespeichert werden. Dann würde die untere dezimale ganze Zahl auf den Addierer über die Tore 80, 64
und 66 gegeben werden, das gleiche wie für eine dezimale
109809/18 02
ganze Zahl, und würde in der gleichen Weise in eine untere partielle octale ganze Zahl und eine untere dezimale
ganze Zahl umgewandelt werden. Die partielle untere octale ganze Zahl würde in dem CC-Register 20 gespeichert
werden, und die umgewandelte untere dezimale ganze Zahl würde in dem B-Register 12 gespeichert werden. Bei einer
Zahl mit doppelter Genauigkeit jedoch würde das OIF-Flip-Flop
in einem Zustand 1 sein, so daß der mit "JA" bezeichnete Pfad nach dem Zustand 13 von dem Kasten QlB' = 1 in
Fig. 4B eingeschlagen werden würde. Das obere Octalprodukt (Tabelle II) würde jetzt in dem A-Register 16 gespeichert
sein.
Man nehme an, daß die Steuereinheit jetzt in dem Zustand
13 steht. Das Q2F-Flip-Flop ist in einem 1-Zustand, und das Q3F-Flip-Flop ist in einem Zustand 0. Somit werden
Steuersignale an den Ausgängen S13, Ql, Q2 und C53~ gebildet.
Dementsprechend werden Steuersignale an den S13.Q1. 02.03"-, S13.Q2.Q3~- sowie S13.Q1.Q2-Ausgängen gebildet.
Dadurch wird eine Torschaltung 82 das obere Octalprodukt in dem A-Register 16 hinüber auf den AA-Eingang des Addierers
30 unverschoben übertragen (AA-Addierer ^
A(38:39)),und dann würde das obere Octalprodukt ungeändert
in dem CC-Register 20 gespeichert werden. Diese Steuersignale lassen weiterhin die in dem CC-Register 20 enthaltene
untere partielle octale ganze Zahl in das A-Register
16 speichern, und zwar über das Tor 80 (A(38:39) f
CC(38:3.9)); würde weiterhin das Y-Register auf 0 setzen
(Yf-
o); würde schließlich das X-Register 18 auf 0
setzen (X < 0); und würde das Q3F-Flip-Flop in den
Zustand 1 setzen (Q3F^ 1).
109809/1802
Das obere Octalprodukt wird jetzt multipliziert mit 10, insgesamt 12-Stellenfaktor mal, um es unter dem Gesichtspunkt
zu korrigieren, daß nur ein Teil der unteren Hälfte der Zahl in dezimale Zahl umgewandelt worden war. Die Anzahl
von Malen, in der die umgewandelte obere octale ganze Zahl mit der Dezimalen 10 multipliziert wird, wird durch
den Zähler 22 gezählt. Dazu gibt der Dekodierer 78 ein Signal auf die Zählersteuerung 68, das der Differenz zwischen
11 und dem Stellenfaktor entspricht; das Steuersignal
bei S13.Q1.Q2.O"3 läßt die Zählersteuerung 68 den
Zähler 22 in einen Zustand setzen, der dem Ausgang des Dekodierers 78 entspricht. Für den angenommenen Stellenfaktor
von 5 wird der Zähler 62 erneut in den Zustand 6 gesetzt.
Nach dem Zustand 13 geht die Steuereinheit 10 dann automatisch zurück in den Zustand 11, in dem Steuersignale
wiederholt - wie vorbeschrieben - bei SIl gebildet werden.
Jetzt enthält das Y-Register alle Nullen, und das obere Octalprodukt ist in CC-Register 20 enthalten. Somit wird
die Torschaltung 80 keinen Einfluß auf die Operation des Addierers 30 haben, da alle Nullen durch die Torschaltung
80 auf ihn gegeben werden. Im Ergebnis werden die Torschaltungen 64 und 66 den Addierer lediglich dazu veranlassen,
den Inhalt des CC-Registers mit 10 zu multiplizieren und in das CC-Register 20 wiederholt zurückzuspeichern, bis
der Zähler 22 auf 0 herabgezählt hat, wie es bereits oben beschrieben worden ist. Wenn der Zähler 22 endlich den
Zustand 0 erreicht, wird der Zustand 11 der Steuerung
12 beendet,und das obere Octalprodukt ist insgesamt mit 10 SF
(SF bedeutet Stellenfaktor) multipliziert worden.
Jedoch werden die Überflußziffern in den'Zellen CC39 - CC42
des CC-Registers 20 gespeichert sein und werden in dem
109809/1802
Y-Register 14 durch das Tor 70 akkumuliert sein, ähnlich wie es vorstehend beschrieben worden ist, als der untere
Octalbruch in Dezimalziffern umgewandelt wurde.
Nachdem der Zähler 22 den Zustand 0 erreicht hat, kehrt
die Steuereinheit 10 in den Zustand 13 zurück. Das Y-Register 14 enthält die obere dezimale ganze Zahl, das CC-Register
20 enthält dann die untere partielle octale ganze Zahl, und das B-Register 12 enthält die umgewandelte
untere dezimale ganze Zahl. Die in dem CC-Register 20 enthaltene untere partielle odtale ganze Zahl wird jetzt zu
der unteren partiellen octalen ganzen Zahl in dem A-Register 16 addiert, um die umgewandelte untere octale ganze
Zahl, wie sie in Zeile 5 in der Tabelle II zu sehen '
ist, zu erhalten. Dazu ist das QIF-Flip-Flop jetzt in einem
Zustand 1 (da die Zahl von doppelter Genauigkeit ist), und das Q2F-und das Q3F-Flip-Flop sind jeweils in den Zuständen 1. Dementsprechend wird der mit "JA" von dem Kasten
Q3F = 1 bezeichnetem Pfad gefolgt (Übergang von Fig. 5B zur Fig. 5C) und der vm QlF = 1 ausgehende, mit
"JA" bezeichnete Pfad in Fig. 5C wird eingeschlagen.
Es werden die Steuersignale an dem Ausgang S13.Q1.Q2
und an dem Ausgang S13.Q2.Q3 gebildet. Diese Steuersigna-Ie
lassen die Torschaltung 82 den Inhalt des A-Registers 16 zurück auf den AA-Eingang des Addierers 30 koppeln
(AA < A (38:39)), und zwar unverschoben, und lassen
die Torschaltung 84 den Ausgang des CC-Registers 20 zurück
auf den BB-Eingang des Addierers 30 ungeschoben koppeln (BB^ CC(38:39)). Der Addierer 30 zählt die Werte zusammen, und die Summe, nämlich die umgewandelte untere
octale ganze Zahl, wird in das CC-Register 20 gespeichert. Nach dem Zustand 13 geht die Steuereinheit 10
in den Zustand 14.
109809/1802
2039223
Es wird ein Steuersignal an dem S14-Ausgang gebildet. Die Flip-Flops QlF, Q2F und Q3F sind sämtlich in dem Zustand
!,und die Steuersignale werden an den Aiasgängen Ql,
Q2 und Q3 gebildet. Dementsprechend werden Steuersignale an S14.Q1.Q2.Q3 an.-S14.Ql.Q2 und an S14.Q1 gebildet. Diese
Steuersignale lassen das Tor 86 die stellenwertverschobene untere octale ganze Zahl aus dem CC-Register 20 in
das X-Register 18 speichern (X(39:4O){ CC(39:4O)); lassen
ferner das CC-Register 20 auf 0 löschen (CC* 0);
lassen ferner die Zählersteuerung 68 den Zähler 22 in einen Zustand setzen, der 11 minus dem Stellenfaktor entspricht
(CTRf ll-(Stellenfaktor)); und lassen das
QIF-Flip-Flop in den Zustand 0 setzen (QlFf 0). Somit
enthält das X-Register 18 jetzt die umgewandelte untere octale ganze Zahl. Der Zähler 2 2 wird auf den angezeigten
Zustand gesetzt, um die 11 minus Stellenfaktor Überflußziffern in dem Y-Register 14 zurück in octal zu
verwandeln. Nach dem Zustand 14 geht die Steuereinheit 10 in den Zustand 15 über.
Ein Steuersignal wird an dem Sl5-Ausgang gebildet. Ein Entschlüsseier 88 entschlüsselt den Stellenfak.tor, der
im Register 72 enthalten ist, und bildet einen Ausgang, der der Zahl von denjenigen Bit-Positionen in dem Y-Register
14 entspricht, die keine Überflußziffern speichern. Das Steuersignal bei S15 läßt die Verschiebematrix 70
die Überflußziffern über die Anzahl von Bit-Plätzen in dem Y-Register 14 verschieben, die von dem Dekodierer 88
angezeigt werden (Y(47:4(11-Stellenfaktor)) {
Y(4(ll-
Ste;ienfaktor)-l:4(ll-Stellenfaktor))). Im Ergebnis wer
den die Überflußziffern zum linken Ende des Y-Registers
14 verschoben.
Nach dem Zustand 15 geht die Steuereinheit 10 zurück zum Zustand 11, in dem erneut Steuersignale wiederholt an dem
1 09809/1802
Sll-Ausgang gebildet werden und dafür sorgen, daß der
Zähler herab auf den Zustand 0 zählt; für jedes Steuersignal bei SlI wird der Inhalt des CC-Registers 20 mit
IO multipliziert und eine Ziffer aus dem Y-Register 14
dazu durch den Addierer 30 addiert. Dies geschieht alles unter Verwendung der Torschaltungen 64, 66, die den Inhalt
des CC-Registers 20 bei seinem Aufgeben auf die Eingänge
des Addierers 30 verschieben, und unter Verwendung der Torschaltung 80, die die Ziffer aus den Zellen Y44F
- Y47F auf die unbenutzten Eingänge des Addierers 30 gibt. Somit ist - wie bereits oben beschrieben - wiederum eine
Multiplikation mit gleichzeitiger Addition durchgeführt worden. Nachdem der Zähler 22 den Zustand 0 erreicht hat,
wird ein Steuersignal an dem CTR = O-Ausgang gebildet,
woraufhin die Steuereinheit 10 zurück in den Zustand 13 geht. Am Ende von Zustand 13 enthält das CC-Register 20
die umgewandelte obere octale ganze Zahl (vgl. Zeile 6 von Tabelle II).
Jetzt ist das Ql-Flip-Flop im Zustand 0; dementsprechend
wird dem mit "NEIN" bezeichneten Weg in Fig. SC gefolgt. Die Q2F- und Q3F-Flip-Flops sind in einem Zustand 1. Dementsprechend
werden Steuersignale an den Ausgängen QlF, Q2F und Q3F gebildet. Ein Überfluß von nur einem Bit kann
erhalten worden sein von der stellenwertverschobenen unteren octalen ganzen Zahl. Wenn solch ein Überfluß stattfindet, würde die Zelle 39 in dem X-Register 18 ein 1-Bit
enthalten. Folglich muß der Überfluß in die obere octale
ganze Zahl in dem CC-Register 20 addiert werden· Dazu wird ein Steuersignal an den Ausgängen S13.^1.Q2.Q3 und
S13.Q2.Q3 gebildet, wodurch ein Tor 90 den Inhalt der Zelle
X39 afuf den Übertrag-Eingang des Addierers 30 gibt (Übertrag 4
X39), und wodurch die Torschaltung 84 den
109809/1802
Inhalt des CC-Registers 20 unverschoben auf den BB-Eingang gibt (BB-Addierer^ CC(38:39)). Im Ergebnis addiert
der Addierer 30 einen eventuell vorhandenen Überfluß, der in der Zelle X39 gespeichert ist, zur umgewandelten
oberen octalen ganzen Zahl in dem CC-Register 20, und das Ergebnis wird jetzt wieder zurück in das CC-Register
20 gespeichert. Nach dem Zustand 13 geht die Steuereinheit 10 automatisch in den Zustand 14 über.
h Im Zustand 14 wird ein Steuersignal an dem Ausgang
S14.oT.Q2.Q3 gebildet, wodurch das Tor 81 die umgewandelte
obere octale ganze Zahl aus dem CC-Register 20 in das A-Register 16 speichert.
Der umgewandelte untere Dezimalbruch ist jetzt in dem B-Register 12 enthalten, die umgewandelte untere octale ganze
Zahl ist jetzt in dem X-Register 18 enthalten^ und die stellenwertverschobene obere octale ganze Zahl ist jetzt
in dem A-Register 16 enthalten. Nach dem Zustand 14 geht die Steuereinheit IO in den Zustand 0 zurück, in dem der
Arbeitsablauf beendet wird.
P Es ist somit eine Einrichtung getroffen worden zur Umwandlung der in einem ersten Zahlensystem kodierten Signale
in Signale, die in einem zweiten Zahlensystem kodiert sind. Der Addierer 30 ist ein Paralleladdierer mit zwei Eingängen,
von denen jeder 0 bis m binär bewichtete Eingänge aufweist. Der Ausgang des Addierers 30 hat 0 - η binär bewichtete
Ausgänge. Die Torschaltungen 64 und 66 bilden eine Einrichtung, die die 0 - η Ausgänge über das CC-Register
20 auf die Eingänge χ - x+n eines der Addierereingänge sowie die Eingänge y - y+m des zweiten Addierereingangs
koppelt, wodurch das Produkt der ersten bzw. Dezi-
109809/1802
malzahlbasis (Dezimale 10) mit dem Ausgang des Addierers
30 gebildet wird. Eine Torschaltung 80 gibt gleichzeitig binär kodierte Dezimalziffersignale (die nicht umgewandelt
werden sollen) jeweils nacheinander aus dem Y—Register 14 auf diejenigen Eingänge des Addierers, die nicht
mit seinen Ausgängen verbunden sind, wodurch der Addierer Ausgangssignale bildet, die dem Produkt der ersten Zahlbasis (Dezimale 10) mit den Ausgangssignalen des Addierers
plus dem binär kodierten Dezimalziffersignal aus dem Y-Register
entsprechen.
Man betrachte jetzt das Verfahren und die Vorrichtung
zur Ausführung eines Schiebelinks-Operators. Einem Schiebelinks-Operator ist ein Stellenfaktor zugeordnet. Der
Schiebelinks-Operator gibt an, daß eine octale ganze Zahl um so viele dezimale Ziffern in ihrem Stellenwert nach
links verschoben werden soll, wie der Stellenfaktor angibt.
Dies wird im Effekt dadurch ausgeführt, daß die octale ganze Zahl mit 10 (sf » Stellenfaktor) multipliziert
wird. Wenn somit der Stellenfaktor 2 ist, wird die
ρ
ganze Zahl mit 10 multipliziert.
ganze Zahl mit 10 multipliziert.
Erfindungsgemäß wird der Verschiebelinks-Operator mit der gleichen Vorrichtung ausgeführt, die zur Ausführung des
Schieberechts-Operators verwendet wurde, mit Ausnahme einiger zusätzlicher Tore.
Man betrachte nun die Sequenz der Arbeitsschritte für die
Ausführung eines Schiebelinks-Operators anhand des Flußdiagrammes
der Fig. 6. Anfänglich werden alle Register und Flip-Flop dieses Systems auf 0 zurückgesetzt (mit Hilfe
nicht dargestellter Torschaltungen). Die Quelle 13 (Fig. 1) speichert einen Verschiebelinks-Operator in ein
10 9 8 0 9/1802
Operatorregister 11 ein sowie einen Stellenfaktor in das
Stellenfaktorregister 72 ein. Dadurch geht die Steuereinheit 10 vom Zustand 0 in den Zustand 16. Die Quelle 13
speichert weiterhin octal kodierte ganzzahlige Signale, die stellenwertverschoben werden sollen, in das B-Register
12.
Das Steuersignal am S16-Ausgang läßt eine Torschaltung mit den Toren 90-0 bis 90-38 die in dem B-Register 12
enthaltene ganze Zahl auf den BB-^ingang des Addierers
30 unverschoben gelangen (BB(38:39^
B); läßt weiter-
k hin das Y-Register 14 auf 0 Eschen (Y^ O); und läßt
" die Zählersteuerung 68 den Zähler 22 auf einen Zustand
setzen, der den in dem Register 72 enthaltenen Stellenfaktor entspricht (CTR < Stellenfaktor). Die Steuereinheit
10 geht dann automatisch in den Zustand 11, in dem Steuersignale seguentiell,wie vorbeschrieben, an dem SIl-Ausgang
gebildet werden. Da das Y-Register 14 Nullen enthält, wird die in dem CC-Register 20 enthaltene ganze
Zahl wiederholt mit 10 multipliziert, bis der Zähler 22 den Zustand 0 erreicht. Im Betrieb werden die Torschaltungen
66 und 64 verwandt, die die in dem CC-Register enthaltenen ganzzahligen Signale - wie vorstehend erklärtverschieben.
Wenn der Zähler endlich den Zustand 0 erreicht, fe enthält das CC-Register 20 eine untere octale ganze Zahl, und
das Y-Register 14 enthält 4-Bit-Überflüßziffern. Die
Anzahl von 4-Bit-Überflußziffern in dem Y-Register 14 ist
gleich dem Stellenfaktor.
Das QIF-Flip-Flop steht anfänglich in einem O-Zustand.
Wenn dementsprechend der Zähler 22 den Zustand 0 erreicht, geht die Steuereinheit dem mit "NEIN" bezeichneten Pfad
vom Block QlF = 1 aus entlang. Somit geht die Steuereinheit dann von dem Zustand 11 in den Zustand 17.
109809/ 1802
Das Steuersignal an dem Ausgang S17 läßt das Tor 86 das in dem CC-Register 20 enthaltene octale Ergebnis
in das X-Register 18 speichern (X(38:39)< CC(38:39));
läßt weiterhin die Verschiebematrix 70, die in dem Y-Register
14 enthaltenen Überflußziffern an das obere
Ende des Registers verschieben (Y(47:4(Stellenfaktor)^
Y(4(Stellenfaktor)-l:4(Stellenfaktor))); läßt das
QIF-Flip-Flop (Fig. 2) in den Zustand 1 setzen (QlF^ 1);
und läßt ferner die Zählersteuerung 68 den Zähler 22 zurück in den Zustand setzen, der dem Stellenfaktor im
Register 72 entspricht (CTR < Stellenfaktor). Nach
dem Zustand 17 geht die Steuereinheit 10 zurück in den Zustand 11.
Während des Zustandes 11 werden Steuersignale wiederum wiederholt an dem Sll-Slgnal erzeugt, bis der Zähler
herab zum Zustand 0 gezählt hat. Jedoch sind die Überfluß-Ziffern jetzt am oberen Ende des Y-Registers 14 enthalten
und werden durch das Tor 80 auf den BB-Eingang des Addierers 30 gegeben, wodurch sie zurück in die octal kodierte
Form verwandelt werden, und zwar auf die bereits oben im Zusammenhang mit dem Schieberechts-Operator beschriebene
Weise. Wenn der Zähler 22 den Zustand 0 erreicht, sind alle Ziffern umgewandelt und in dem CC-Register
enthalten. Jetzt wird der. Pfad eingeschlagen, der im Anschluß an den Kasten QlF = 1 mit "JA" bezeichnet
ist. Folglich geht die Steuereinheit 10 vom Zustand 11 in den Zustand 18.
Ein Steuersignal wird am Ausgang S18 der Steuereinheit
10 gebildet, wodurch ein Tor 81 die in dem CC-Register 20 enthaltene umgewandelte octale ganze Zahl in das A-Register
16 speichert. Die Steuereinheit 10 geht dann in den Zustand 0.
109 8 0 9/1802
2033228
Somit ist jetzt die untere Hälfte der nach links stellenwertverschobenen
octalen ganzen Zahl in dem X-Register 18 enthalten, während die obere Hälfte jetzt in dem A-Register
16 enthalten ist; damit ist der Arbeitsablauf abgeschlossen.
Damit ist deutlich geworden, daß der Schiebelinks- und Schieberechts-Operator relativ komplizierte Datenmanipulationen
erfordert und daß diese Operatoren unter Verwendung einer einheitlichen und außerordentlich wirkungsvol-
ψ len Torschaltung ausgeführt werden. Man sieht weiterhin,
daß der Zähler 22 nicht nur zur Bildung dezimaler Ziffern zur Umwandlung von octalen ganzen Zahlen in octale Brüche
verwendet wird, sondern daß er auch zur Steuerung der Anzahl an Signalen dient, die während des Zustandes 11 von
der Steuereinheit 10 gebildet werden. Bei dieser Einrichtung veranlassen die Steuersignale am Ausgang SIl nicht
nur die Multiplikation mit 10 unter Zuhilfenahme der verschiebenden Tore 64 und 66, sondern veranlassen, daß die
in dem Y-Register 14 enthaltenen Dezimalziffern zurück in die octale Form umgewandelt werden.
" ZUSAMMENFASSUNG
Es wird also eine Datenverarbeitungsanlage zur Verschiebung eines in einem ersten Zahlsystem kodierten Binärsignales
um Ziffern beschrieben, die in einem zweiten Zahlensystem kodiert sind. Ein erstes Register speichert einen
die Verschiebung bezeichnenden Operator. Ein zweites Register speichert ein Stellenfaktorsignal, das die Anzahl
der erforderlichen Ziffernverschiebungen bezeichnet. Die Datenverarbeitungsanlage spricht auf den gespeicherten
Verschiebeoperator und den gespeicherten Stellenfaktor an und verschiebt die Binärsignale, die in dem ersten Zahlensystem
kodiert sind, um eine solche Anzahl von in dem
109809/1802
Claims (46)
1. Verfahren zur Umwandlung eines binär kodierten Ganzzahlsignales
in ein binär kodiertes Bruchsignal in einem vorbestimmten Zahlensystem in einer Datenverarbeitungsanlage,
dadurch gekennzeichnet, daß ein Zähler (22) durch eine solche Anzahl von Zuständen bis zu einem Endzustand
zählt, die der Anzahl der in dem Bruchsignal gewünschten signifikanten Ziffernsignale in dem Zahlensystem entspricht;
daß in Abhängigkeit von den durchlaufenen Zählerzuständen eine Reihe von kodierten Ziffernsignalen erzeugt
wird, die diejenige Bruchzahl repräsentieren, die zur Umwandlung des Ganzzahl-Signales in ein Bruchsignal gewünscht
wird; und daß während des Zählens des Zählers das Ganzzahlsignal mit jedem kodierten Ziffernsignal verknüpft und das
Produkt aus der Reihe der kodierten Ziffernsignale mit dem Ganzzahlsignal gebildet wird.
2. Verfahren zur Umwandlung octal ganzzahliger Signale in octale Bruchsignale in einer Datenverarbeitungsanlage, insbesondere
nach Anspruch 1, dadurch gekennzeichnet, daß der Zähler in einen Zustand gesetzt wird, der der Anzahl der
in den Bruchsignalen gewünschten signifikanten octalen Ziffernsignalen entspricht; daß in Abhängigkeit von einer vorbestimmten
Reihe von Zählerzuständen eine Reihe von Ausgangssignalen erzeugt wird, die eine" Bruchzahl repräsentieren,
welche für die Umwandlung der octal ganzzahligen Signale in octale Bruchsignale erwünscht ist; daß die octal ganzzahligen
Signale mit den erzeugten octalen Ausgangssignalen multipliziert werden; daß der Zähler durch die vorbestimmte
Reihe seiner Zustände bis zu einem Endzustand während der Multiplikation durchzählt; und daß eine Reihe von octalen
Bruchziffernsignalen erzeugt wird, die das Produkt der Serie der Octal-Ausgangssignale und der octal ganzzahligen Signale
repräsentiert.
109809/1802
3. Verfahren zur Umwandlung einer Reihe von in einem ersten Zahlensystem codierten binären Ziffernsignale in
Signale, die in einem zweiten Zahlensystem codiert sind, in einer Datenverarbeitungsanlage mit mindestens einem
zwei-eingängigen Paralleladdierer, der die binäre Addition im zweiten Zahlensystem ausführt, insbesondere nach einem
der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß die Addierer-Ausgangssignale auf beide Eingänge des Addierers
bezüglich mindestens eines dieser Eingänge in bezug auf die binäre Signifikanz verschoben zurückgegeben werden
P derart, daß die von dem Addierer gebildete effektive Summe das Produkt aus der Grundzahl des ersten Zahlensystems
und den Addierer-Ausgangssignalen ist; daß die Ziffernsignale von den signifikantesten zu den am wenigsten
signifikanten auf einen Eingang des Addierers seriell gegeben werden; daß sie zur gebildeten effektiven Summe
addiert und entsprechende Addierer-Ausgangssignale gebildet werden, wobei jeweils ein Ziffernsignal gleichzeitig
mit einem anderen Addierer-Ausgangssignal auf den Addierer gegeben wird und die Addierer-Ausgangssignale nach
Addition aller Ziffernsignale den gewünschten, im zweiten Zahlensystem codierten binären Signalen entsprechen.
r
4. Verfahren zur Umwandlung einer Reihe von binär codierten
Dezimalziffersignalen in binär codierte Octalsignale nach Anspruch 3, dadurch gekennzeichnet, daß das signifikanteste
binär codierte Dezimalziffersignal auf einen Eingang des Addierers (30) gegeben wird und Addierer-Ausgangssignale
gebildet werden; daß diese Addierer-Ausgangssignale bezüglich mindestens eines des Addierereingangs
in binärer Signifikanz verschoben auf beide Addierereingänge gegeben werden derart, daß die vom Addierer
gebildete effektive Summe das Produkt aus zehn mal
109809/1802
2033228
den Addierer-Ausgangssignalen ist; und daß das nächst
signifikante Dezimalziffersignal gleichzeitig auf einen
Eingang des Addierers gegeben und zu der gebildeten effektiven Summe addiert wird, wodurch nächste Addierer-Ausgangssignale
gebildet werden; und daß dieser Schritt in der Reihenfolge abnehmender Signifikanz der dezimalen Ziffernsignale
wiederholt wird, wobei jeweils die vorher gebildeten Addierer-Ausgangssignale verwendet werden, derart,
daß die schließlich erzeugten Addierer-Ausgangssignale den gewünschten binär codierten Octalsignalen äquivalent
sind.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß ein Zähler (22) eine solche Anzahl von Zählstufen durchläuft,
die der Anzahl der umzuwandelnden Ziffernsignale entspricht, und daß der Zähler bei jedem Additionsschritt
um eine Stufe in Richtung auf seinen Endzustand weiter zählt.
6. Verfahren zur Umwandlung eines binär codierten octal ganzzahligen Signals in einen octal codierten signifikantesten
Abschnitt und einen weniger signifikanten Abschnitt, der aus binär codierten Dezimalziffern gebildet
ist, wobei die Anzahl der Dezimalziffern von einem Stellenfaktorsignal
angegeben wird, insbesondere nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß ein
Zähler durch eine vorbestimmte Reihe von Zuständen zählt; daß in Abhängigkeit von jedem dieser Zustände eine Reihe
von octal codierten Ziffernsignalen erzeugt wird, die
octal 12~n repräsentieren (wobei η mindestens so groß ist
wie die Maximalzahl der in dem Ergebnis gewünschten Dezimalziffern) ; daß das ganzzahlige Signal und jedes erzeugte
codierte Ziffernsignal verknüpft werden und ein Bruchsignal erzeugt wird, das das Produkt der Reihe von codierten
109 8 09/1802
Ziffernsignalen mit den ganzzahligen Signalen repräsentiert;
daß das Bruchsignal und eine Reihe davon abgeleiteter Produktsignale auf eine Multipliziereinrichtung
(26) gegeben wird, die jeweils mit zehn multipliziert und Produktsignale liefert; daß das Bruchsignal und eine
Gesamtheit von mindestens n-1 davon abgeleiteter Produktsignale auf die Multipliziereinrichtung gegeben werden;
daß die signifikantesten Signale, die eine Dezimalziffer repräsentieren, aus den Produktsignalen in der Reihenfolge
ihrer Bildung von den signifikantesten zu den weniger signifikanten gespeichert werden; daß die gespeicherten
^ Dezimalziffersignale von den signifikantesten zu dem we-
* niger signifikanten seriell auf einen Eingang eines zweieingängigen
Paralleladdierers (30) gegeben werden, der Binär-Additionen in octal codierter Form ausführt, wobei
die Anzahl der Dezimalziffersignale mindestens η minus dem Wert des Stellenfaktorsignals ist; daß die Addierer-Ausgangssignale
zurück auf beide Eingänge des Addierers gegeben werden, und zwar bezüglich mindestens eines dieser
Eingänge in binärer Signifikanz verschoben derart, daß die effektive von dem Addierer gebildete Summe das Produkt
von zehn mit den auf den Addierer gegebenen Addierer-Ausgangssignalen plus dem eingegebenen Ziffernsignal ist
und entsprechende Addierer-Ausgangssignale erzeugt werden, fc wobei ein derartiges Ziffernsignal jeweils gleichzeitig
mit jedem verschiedenen Addierer-Ausgangssignal eingegeben wird, und wobei nach Eingeben aller Ziffernsignale die
Addierer-Ausgangssignale den signifikantesten octalen Abschnitt des umgewandelten Signals und die verbleibenden
gespeicherten Dezimalziffersignale den am wenigsten signifikanten Abschnitt des umgewandelten Signals repräsentieren.
109809/1802
7. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß der Zähler (22) mindestens
so viele Zählzustände enthält, als in dem Bruchsignal gewünschte signifikante Ziffern vorhanden sind.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Verknüpfen ein Multiplizieren jedes codierten
Ziffernsignals mit dem Ganzzahlsignal umfaßt, und daß weiterhin ein Produktsignal für jedes codierte Ziffernsignal
gebildet wird, wobei die codierten Ziffernsignale ein Summensignal nach jedem Produktsignal bilden? daß
jedes Produktsignal relativ zum Summensignal um ein derartiges Ziffernsignal verschoben wird; und daß die Bildung
des Summensignals die Verknüpfung der verschobenen Signale umfaßt, wobei Ausgangssignale entsprechend deren Summe
gebildet werden.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Ganzzahlsignal ein weiteres Ganzzahlsignal enthält,
das den signifikantesten Abschnitt des ersten Ganzzahlsignals bildet; daß beim wiederholten Addieren bzw.
Multiplizieren die weiteren Ganzzahlsignale als das umzuwandelnde Ganzzahlsignal verwendet werden; daß der
Zähler auf einen Zustand gesetzt wird, der der Gesamtzahl der in dem Bruchsignal gewünschten signifikanten
Ziffernsignale in dem Zahlensystem entspricht, und zwar sowohl für das Ganzzahlsignal, wie für die weiteren ganzzahligen
Signale; daß der Zähler soviele Zählzustände aufweist, als in den Bruchsignalen sowohl für das Ganzzahlsignal
wie für die weiteren Ganzzahlsignale gewünschte signifikante Ziffern vorhanden sind, wodurch ein zweites,
Zwischenbruchsignal gebildet wird; und daß das aus der Umwandlung des Ganzzahlsignals gewonnene Bruchsignal mit
109809/18 02
dem zweiten, aus der Umwandlung des weiteren Ganzzahlsignals gewonnenen Bruchsignal verknüpft wird, um das
endgültige Bruchsignal zu erzeugen.
10. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der Zähler von seinem Anfangszustand eine solche Anzahl
von Zählzuständen durchläuft, die der Anzahl der umzuwandelnden Ziffernsignale entspricht; daß der Zähler
bei jedem auf den Addierer gegebenen Ziffernsignal um mindestens einen Zustand in Richtung auf seinen Endzu-
b stand weiterzählt und damit die Anzahl der auf den
Addierer gegebenen Ziffernsignale verfolgt und das Eingeben dieser Ziffernsignale auf den Addierer beendet,
wenn der Zähler seinen Endzustand erreicht hat.
11. Verfahren nach Anspruch 3 oder 10, dadurch gekennzeichnet, daß das erste Zahlensystem das dezimale und
das zweite Zahlensystem das octale System ist, und daß die Verschiebung so durchgeführt wird, daß sich das zehnfache
der eingegebenen Addierer-Ausgangssignale ergibt.
12. Verfahren nach Anspruch 3, 10 oder 11, dadurch gekennzeichnet,
daß die Addierer-Ausgangssignale mindestens
P ein Überlaufsignal umfassen, das nicht zu den Signalen
gehört, die auf den Eingang des Addierers rückgekoppelt werden; und daß das überlaufsignal in der Reihenfolge
seiner Bildung gespeichert wird.
13. Datenverarbeitungsanlage zur Umwandlung eines Ganzzahlsignals in ein Bruchsignal in einem vorbestimmten
Zahlensystem, insbesondere zur Ausführung eines Verfahrens nach einem der vorstehenden Ansprüche, gekennzeichnet
durch eine Aufnahmeeinrichtung (12, 14, 16 ...) für das
109809/1802
umzuwandelnde Ganzzahlsignal; durch einen Zähler, dessen Anzahl an Zählstufen mindestens gleich der minimalen Anzahl
an signifikanten, in den Bruchsignalen gewünschten Ziffernsignalen des Zahlensystems ist; durch eine Einrichtung
(24), die auf jeden Zählstand des Zählers anspricht und eine Reihe von cosierten Ziffernsignalen liefert;
sowie durch eine Verknüpfungseinrichtung (26 ...), die
die Reihe von codierten Ziffernsignalen mit dem Ganzzahlsignal verknüpft und Bruchsignale entsprechend deren
Produkt erzeugt.
14. Datenverarbeitungsanlage nach Anspruch 13, dadurch gekennzeichnet, daß die Verknüpfungseinrichtung einen
Addierer (30) umfaßt, der den Inhalt eines Registers (14.) mit den gebildeten Produktsignalen verknüpft und Teilprodukt-Signale
liefert; daß ein weiteres Register (20) die ersten gebildeten Produktsignale sowie die Teilprodukt-Signale
speichert; und daß eine Steuerung (10) für den Zähler und die Register vorgesehen ist.
15. Datenverarbeitungsanlage nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß die umzuwandelnden aufgenommenen
Ganzzahlsignale in an die Multipliziereinrichtung
(26) angeschlossene Register (16, ...) gespeichert sind.
16. Datenverarbeitungsanlage nach einem der Ansprüche bis 15, gekennzeichnet durch weitere Register, die an die
Einrichtung zur Erzeugung eines für das Produkt repräsentativen, codierten Ausgangssignals angeschlossen sind;
wobei die weiteren Register ein weiteres Ganzzahlsignal speichern, das den signifikantesten Abschnitt einer Verlängerung
der Ganzzahlsignale bildet; daß Register zum Zwischenspeichern der Bruchsignale vorgesehen sind, die
aus dem zuerst erwähnten Ganzzahlsignal umgewandelt worden
109809/ 1802
sind; daß eine Einstelleinrichtung für den Zähler diesen zum Zählen durch eine Folge von Zuständen veranlaßt,
wobei die Anzahl der Zustände mindestens gleich der Minimalzahl der signifikanten Ziffernsignale ist, die in
den Bruchsignalen für das erste Ganzzahlsignal und das weitere Ganzzahlsignal gewünscht werden; daß die Einrichtung,
die eine Reihe codierter Ziffernsignale erzeugt, für jeden Zählstand des Zählers ein Ziffernsignal erzeugt;
und daß die Verknüpfungseinrichtung die Bruchsignale aus den ersterwähnten Ganzzahlsignalen mit den Bruchsignalen
^ verknüpft, die aus den weiteren Ganzzahlsignalen gebil-™
det wurden, so daß sich das Bruchsignal ergibt.
17. Datenverarbeitungsanlage nach einem der Ansprüche bis 16, dadurch gekennzeichnet, daß die Verknüpfungseinrichtung
eine Einrichtung zur Erzeugung eines codierten Ausgangssignals umfaßt, das das Produkt jedes Ziffernsignals
mit dem Ganzzahlsignal repräsentiert; daß Akkumulator-Register vorgesehen sind; daß der Addierer die
Signale aus dem Multiplizierer (28) und den Inhalt des Akkumulator-Registers (20) verknüpft und die Ergebnis-Signale
in dem Akkumulator-Register erneut speichert; daß die Steuerung (10) das Akkumulator-Register (20) zu
fe einer Ziffernverschiebung seines Inhalts für jeden Zustand
des Zählers (22) veranlaßt; daß eine Torschaltung (38, 42, 48) das Register (20) an den Addierer (22) zurückkoppelt,
derart, daß der Addierer ein wahres Teilprodukt bildet, bis das letzte codierte Ausgangssignal
verknüpft ist und das endgültige Ergebnis-Bruchsignal gebildet wird.
18. Datenverarbeitungsanlage nach einem der Ansprüche bis 17, dadurch gekennzeichnet, daß Register (14) die aus
10980 9/1802
dem Akkumulator-Register (20) ausgeschobenen Ziffernsignale aufnehmen und die Umwandlung von Ganzzahlsignalen
größerer Länge ermöglichen.
19. Datenverarbeitungsanlage nach einem der Ansprüche 13 - 18, dadurch gekennzeichnet, daß die Einrichtung zur
Erzeugung codierter Ausgangssignale ein Decodierer (24) ist.
20. Datenverarbeitungsanlage nach einem der Ansprüche 13 - 19, dadurch gekennzeichnet, daß während jedes Zählzustandes
des Zählers ein Ziffernsignal und ein Addierer-Ausgangssignal auf den Addierer gegeben wird.
21. Datenverarbeitungsanlage nach einem der Ansprüche
13 - 20, dadurch gekennzeichnet, daß jeder Eingang (AA, BB) des Addierers mehrere Untereingänge (0 ... 41) sowie mehrere
Ausgänge aufweist, von denen jeder Untereingang zu einem Eingang und jeder Ausgang binärwertig bewichtet
ist; und daß einzelne Ausgänge an einzelne verschieden binär bewichtete Untereingänge mindestens eines Addierereingangs angeschlossen sind.
22. Datenverarbeitungsanlage nach Anspruch 21, dadurch gekennzeichnet, daß an mindestens einem Addierereingang
mehr Untereingänge als angeschlossene Ausgänge vorhanden sind, so daß mindestens ein Untereingang nicht mit den
Ausgängen in Verbindung steht; und daß jedes Ziffernsignal mindestens teilweise an den nicht angeschlossenen Untereingang
angelegt wird.
23. Datenverarbeitungsanlage nach Anspruch 21 oder 22,
dadurch gekennzeichnet, daß für beide Addierereingänge mehr Untereingänge vorhanden sind als an sie angeschlossene
109809/1802
Ausgänge, so daß mehrere Untereingänge nicht an die Ausgänge angeschlossen sind; und daß jedes Ziffernsignal
mindestens teilweise auf die nicht angeschlossenen Untereingänge gegeben wird.
24. Datenverarbeitungsanlage nach einem der Ansprüche
21 bis 23, dadurch gekennzeichnet, daß der Addierer einen Übertrag-Eingang aufweist, an den jedes Ziffernsignal mindestens
teilweise angelegt wird.
25. Datenverarbeitungsanlage nach einem der Ansprüche 13 bis 24, dadurch gekennzeichnet, daß jeder Addierereingang
(AA, BB) O bis m binär bewichtete Untereingänge sowie der Addierer O bis η binär bewichtete Ausgänge
aufweist; durch eine Kopplungseinrichtung (80, ...), die die 0 bis η Ausgänge an die Untereingänge χ bis χ + η
eines ersten der beiden Addierereingänge sowie an die Untereingänge y bis y + η des zweiten Addierereingangs
anschließt, wodurch das Produkt aus der Grundzahl des ersten Zahlensystems mit den Addierer-Ausgangssignalen
gebildet wird; und daß die umzuwandelnden binär codierten Ziffernsignale nacheinander an vorbestimmte, nicht an
die Ausgänge angeschlossene Untereingänge gelegt werden, wodurch der Addierer Ausgangssignale bildet, die dem Produkt
der Grundzahl des ersten Zahlensystems mal den Ausgangssignalen des Addierers plus dem eingegebenen Ziffernsignal
entsprechen.
26. Datenverarbeitungsanlage nach einem der Ansprüche 13 bis 25, dadurch gekennzeichnet, daß ein Akkumulator-Register
(20) die Ausgangssignale aus dem Addierer vor ihrer Kopplung auf die Untereingänge zwischenspeichert.
109809/1802
27. Datenverarbeitungsanlage nach einem der Ansprüche 13 bis 26, dadurch gekennzeichnet, daß der Addierer mindestens
einen zusätzlichen Ausgang aufweist, auf den Überlaufsignale gegeben werden; und daß ein Speicher die
vom Addierer gebildeten Überlaufsignale in der Reihenfolge ihrer Bildung speichert.
28. Datenverarbeitungsanlage nach einem der Ansprüche
13 bis 27, dadurch gekennzeichnet, daß die umzuwandelnden
Ziffernsignale in Registern (18 . . .-) gespeichert sind;
und daß für die Eingabe der Ziffernsignale aus den Registern in den Addierer Torschaltungen (60-0 ...) vorgesehen
sind.
29. Datenverarbeitungsanlage nach Anspruch 28, dadurch gekennzeichnet, daß die Ziffernsignale aus mehreren binär
cosierten Bits bestehen, und daß für die Kopplung des entsprechenden Bits auf einen der nicht angeschlossenen
Untereingänge mindestens ein Tor (62, 66, 84, 90, 80 ...) vorgesehen ist.
30. Datenverarbeitungsanlage nach einem der Ansprüche 13 bis 29, dadurch gekennzeichnet, daß die Tore und die
Kopplungseinrichtung mindestens einmal für jeden Zählstand des Zählers gleichzeitig aktiviert werden.
31. Datenverarbeitungsanlage nach einem der Ansprüche 13 bis 30 zur Umwandlung von binären dezimalziffrigen
Signalen in binäre octal decodierte Signale, dadurch gekennzeichnet, daß die 0 bis η Ausgänge des Addierers
an die Untereingänge 3 bis 3 + η des ersten Addierereingangs und an die Untereingänge 1 bis 1 + η des zweiten
Addierereingangs angeschlossen werden; daß ausgewählte
109809/1802
binär codierte Dezimalziffernsignale jeweils ziffernweise
auf den Übertrageingang und auf die Untereingänge O, 1 und 2 des ersten Addierereingangs und den Untereingang
O des zweiten Addierereingangs gegeben werden, wodurch der Addierer Ausgangssignale bildet, die das zehnfache
der Ausgangssignale des Addierers plus dem eingegebenen Ziffernsignal sind.
32. Datenverarbeitungsanlage zur Ausführung des Verfahrens nach Anspruch 6, gekennzeichnet durch eine Einrichtung,
die einen Zähler durch eine vorgegebene Reihe von Zuständen zählt; durch eine Einrichtung, die auf jeden der Zustände
anspricht und eine Reihe von octal codierten Ziffernsignalen erzeugt, die octal 12 n repräsentieren (wobei η mindestens
so groß wie die Maximalzahl der im Resultat gewünschten Dezimalziffer ist); durch eine Verknüpfungseinrichtung
für das Verknüpfen des Ganzzahlsignals und jedes erzeugten codierten Ziffernsignals sowie zur Erzeugung
eines Bruchsignals, das das Produkt der Reihe der codierten Ziffernsignale mit den Ganzzahlsignalen repräsentiert;
eine Einrichtung zum Eingeben des Bruchsignals sowie einer Reihe davon abgeleiteter Produktsignale auf eine Multipliziereinrichtung,
die mit zehn multipliziert und Produktsignale liefert, wobei das Bruchsignal und eine Gesamtheit
von mindestens n-1 davon abgeleiteten Produktsignalenauf die Multipliziereinrichtung gegeben werden; durch eine
Speichereinrichtung, die die signifikantesten Signale, die eine Dezimalziffer repräsentieren, aus jedem Produktsignal
in der Reihenfolge ihrer Bildung von den signifikantesten zu den weniger signifikanten speichert; durch
einen Zweieingangs-Paralleladdierer, der Binäraddition in octal codierter Form ausführt; durch eine Einrichtung
zum seriellen Eingeben der gespeicherten Dezimalziffersignale in der Reihenfolge absteigender Signifikanz auf
109809/ 1802
einen Addierereingang, wobei die Anzahl der Dezimalziffersignale, die seriell von der Eingabeeinrichtung eingegeben
werden, mindestens η minus dem Wert des Stellenfaktorsignals ist; durch eine Einrichtung zum Rückkoppeln der
Addierer-Ausgangssignale auf beide AddierereingängeT^fi
zwar bezüglich mindestens eines der Addierereingänge in binärer Signifikanz verschoben, derart, daß die von dem
Addierer gebildete effektive Summe das zehnfache der eingegebenen Addierer-Ausgangssignale plus dem eingegebenen
Ziffernsignal ist, wodurch der Addiererentsprechende_,--- '
Ausgängssignale bildet und wobei Λχύ Eingabeeinrichtung,
die die Addierejr^Au^gana.s§ignale eingibt, jeweils ein
derartigesZiffernsignal gleichzeitig mit einem anderen
Addierer-Ausgangssignal auf diesen gibt, derart, daß die Addierer-Ausgangssignale, nachdem alle Ziffernsignale
eingegeben worden sind, den signifikantesten Octalteil des umgewandelten Signals und die gespeichert verbleibenden
Dezimalziffersignale den am wenigsten signifikanten Teil des umgewandelten Signals repräsentieren.
33. Datenverarbeitungsanlage zur Verschiebung eines in
einem ersten Zahlensystem codierten Signals um in einem zweiten Zahlensystem codierte Ziffern insbesondere zur
Ausführung eines Verfahrens der Ansprüche 1 bis 12, gekennzeichnet durch ein erstes Register (11) zum Speichern
eines Operators, der eine Verschiebung bezeichnet; durch ein zweites Register (72) zum Einspeichern eines Stellenfaktorsignals,
das die Anzahl der benötigten Ziffernverschiebungen angibt; durch einen Zähler (22); durch eine
auf den gespeicherten Verschiebe-Operator ansprechende Einrichtung, die den Zähler durch eine Sequenz von Zähl
zuständen zählt, die dem Stellenfaktor entsprechen» durch
einen mindestens zwei-eingängigen Paralleladdierer (30); durch eine Einrichtung, die für jeden Zählzustand das
109809/16U2
Addierer-Ausgangssignal auf dessen beide Eingänge zurückkoppelt, und zwar bezüglich mindestens eines dieser Eingänge
in binärer Signifikanz verschoben, derart, daß die von dem Addierer gebildete effektive Summe das Produkt
aus der Grundzahl des zweiten Zahlensystems und den Addierer-Ausgangssignalen ist; durch eine auf den gespeicherten
Verschiebe-Operator ansprechende Einrichtung zum teilweisen Eingeben eines binär codierten Signals,
das verschoben werden soll, auf den Addierer, der ein Addierer-Ausgangssignal liefert; durch ein drittes Register
(20, 18, ...), das vorbestimmte Addierer-Ausgangssignale, die ein ÜberlaufZiffernsignal enthalten, speichert;
durch eine auf den gespeicherten Verechiebe-Operator ansprechende Einrichtung, die wahlweise in dem
dritten Register gespeicherte Ziffernsignale, und zwar Ziffer für Ziffer, bei jedem Zählstand des Zählers auf
einen Eingang des Addierers im wesentlichen gleichzeitig mit der Eingabe eines der Addierer-Ausgangssignale eingibt,
wodurch sie zur gebildeten Summe addiert werden.
34. Datenverarbeitungsanlage nach Anspruch 33, dadurch
gekennzeichnet, daß das erste Zahlensystem octal ist.
35. Datenverarbeitungsanlage nach Anspruch 34, dadurch gekennzeichnet, daß das zweite Zahlensystem dezimal ist.
36. Datenverarbeitungsanlage nach Anspruch 34, gekennzeichnet durch eine Steuerung (10), die die Einrichtung
zum Eingeben eines binär codierten, umzuwandelnden Signals zuerst und danach die Einrichtung zum wahlweisen Eingeben
der in dem dritten Register gespeicherten Ziffernsignale nachfolgend aktiviert.
109809/1802
37. Datenverarbeitungsanlage nach einem der Ansprüche
33 bis 36, dadurch gekennzeichnet, daß der Operator eine Linksverschiebung bezeichnet, und daß der Paralleladdierer
im ersten Zahlensystem arbeitet.
38. Datenverarbeitungsanlage nach einem der Ansprüche 33 bis 36, dadurch gekennzeichnet, daß der Verschiebe-Operator
eine Verschiebung nach rechts bezeichnet^_und__
daß die Anzahl der Zählerzustände gleich oder kleiner ist als die Gesamtzahl der in dem dritten Register gespeicherten
Ziffern, wodurch ein Signal gebildet wird, das teilweise in dem vorbestimmten Zahlensystem und teilweise
in dem Zahlensystem des zu verschiebenden binär codierten Signals vorliegt.
39. Datenverarbeitungsanlage zur Verschiebung eines in einem ersten Zahlensystem binär codierten Signals um
Ziffern, die in einem zweiten Zahlensystem codiert sind, insbesondere zur Ausführung eines Verfahrens nach den
Ansprüchen 1 bis 12, gekennzeichnet durch erste Register
(11) zum Speichern eines Verschiebe-Operaiors; durch
zweite Register (72) zum Speichern eines Stellenfaktorsignals, das die Anzahl der erforderlichen Ziffernverschiebungen
angibt; durch eine Einrichtung, die ein im ersten Zahlensystem codiertes Binärsignal erzeugt; durch
eine weitere Einrichtung, die auf den gespeicherten Verschiebe-Operator und den gespeicherten Stellenfaktor
anspricht und das in dem ersten Zahlensystem codierte Binärsignal um die Anzahl der in dem zweiten Zahlensystem
codierten, von dem gespeicherten Stellenfaktor bezeichneten Ziffern verschiebt.
40. Datenverarbeitungsanlage nach Anspruch 39, dadurch gekennzeichnet, daß die Verschiebeeinrichtung das in dem
109809/1802
- 80 -
ersten Zahlensystem codierte Binärsignal in ein Signal umwandelt, dessen weniger signifikanter Abschnitt die
Anzahl von Ziffern enthält, die von dem Stellenfaktor angegeben werden, wobei die Ziffern im zweiten Zahlensystem
codiert sind.
41. Datenverarbeitungsanlage nach Anspruch 39, dadurch gekennzeichnet, daß die Verschiebeeinrichtung das im
ersten Zahlensystem codierte Binärsignal nach links dadurch verschiebt, daß sie es mit der Grundzahl des zweiten
Zahlensystems multipliziert.
42. Datenverarbeitungsanlage nach einem der Ansprüche
13 bis 41, gekennzeichnet durch erste Tore, die die Addierer-Ausgangssignale
auf die Untereingänge der Addierereingänge koppeln; sowie durch zweite Tore, die die Ziffernsignale
seriell auf diejenigen Untereingänge mindestens eines Addierereingangs koppeln, die nicht an die Addiererausgänge
angeschlossen sind.
43. Datenverarbeitungsanlage nach Anspruch 42, gekennzeichnet durch eine Steuerung (10), die die ersten und
zweiten Tore aktiviert, so daß die Signale auf die Addierereingänge im wesentlichen gleichzeitig eingegeben
werden.
44. Datenverarbeitungsanlage nach Anspruch 42, dadurch gekennzeichnet, daß die Einrichtung zur Erzeugung binär
codierter Ziffernsignale einen Speicher umfaßt.
45. Datenverarbeitungsanlage nach Anspruch 44, gekennzeichnet
durch dritte Tore, die Signale von ausgewählten Addiererausgängen auf den Speicher koppeln.
109809/1802
46. Datenverarbeitungsanlage nach Anspruch 45, dadurch gekennzeichnet, daß Register zwischen die Addiererausgänge
und die ersten Tore geschaltet sind und umzuwandelnde Signale speichern; daß die ersten Tore mehrere Male aktiviert
werden und den Inhalt des Registers mehrere Male auf den Addierereingang gelangen lassen, wobei die jeweils
sich ergebenden Ergebnis-Signale in dem Register (20,18,...) gespeichert werden; daß die Aktiviereinrichtung weiterhin
die dritten Tore mehrere Male aktiviert, wodurch die Signale aus den ausgewählten Addiererausgängen in dem Speicher
gespeichert werden.
109809/1802
Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84826369A | 1969-08-07 | 1969-08-07 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2039228A1 true DE2039228A1 (de) | 1971-02-25 |
DE2039228B2 DE2039228B2 (de) | 1975-05-15 |
DE2039228C3 DE2039228C3 (de) | 1976-01-08 |
Family
ID=25302822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2039228A Expired DE2039228C3 (de) | 1969-08-07 | 1970-08-07 | Schaltungsanordnung in einer Datenverarbeitungsanlage zum Verschieben einer binär kodierten Oktalzahl um eine Anzahl von Dezimalstellen nach rechts |
Country Status (5)
Country | Link |
---|---|
US (1) | US3626167A (de) |
BE (1) | BE754349A (de) |
DE (1) | DE2039228C3 (de) |
FR (1) | FR2057047B1 (de) |
GB (1) | GB1316322A (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3689899A (en) * | 1971-06-07 | 1972-09-05 | Ibm | Run-length-limited variable-length coding with error propagation limitation |
US4553133A (en) * | 1982-09-14 | 1985-11-12 | Mobil Oil Corporation | Serial floating point formatter |
US4672360A (en) * | 1983-09-30 | 1987-06-09 | Honeywell Information Systems Inc. | Apparatus and method for converting a number in binary format to a decimal format |
US6591361B1 (en) | 1999-12-28 | 2003-07-08 | International Business Machines Corporation | Method and apparatus for converting data into different ordinal types |
US7990289B2 (en) * | 2007-07-12 | 2011-08-02 | Intellectual Ventures Fund 44 Llc | Combinatorial coding/decoding for electrical computers and digital data processing systems |
US8144037B2 (en) * | 2007-07-12 | 2012-03-27 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US7548176B2 (en) * | 2007-07-12 | 2009-06-16 | Donald Martin Monro | Data coding buffer for electrical computers and digital data processing systems |
US7671767B2 (en) * | 2007-07-12 | 2010-03-02 | Donald Martin Monro | LIFO radix coder for electrical computers and digital data processing systems |
US7545291B2 (en) * | 2007-07-12 | 2009-06-09 | Donald Martin Monro | FIFO radix coder for electrical computers and digital data processing systems |
US8055085B2 (en) * | 2007-07-12 | 2011-11-08 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
EP2040178B1 (de) * | 2007-09-20 | 2016-07-13 | Canon Kabushiki Kaisha | Dokumentenkodiervorrichtung, Dokumentenkodierverfahren und computerlesbares Speichermedium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2894686A (en) * | 1954-09-01 | 1959-07-14 | Thomas G Holmes | Binary coded decimal to binary number converter |
US3257547A (en) * | 1963-02-19 | 1966-06-21 | Cubic Corp | Fractional binary to binary-coded-decimal and binary-coded-decimal to whole number binary conversion devices |
US3524976A (en) * | 1965-04-21 | 1970-08-18 | Rca Corp | Binary coded decimal to binary conversion |
US3344261A (en) * | 1965-09-28 | 1967-09-26 | Division by preselected divisor |
-
0
- BE BE754349D patent/BE754349A/xx not_active IP Right Cessation
-
1969
- 1969-08-07 US US848263A patent/US3626167A/en not_active Expired - Lifetime
-
1970
- 1970-06-08 GB GB2771870A patent/GB1316322A/en not_active Expired
- 1970-08-07 FR FR7029347A patent/FR2057047B1/fr not_active Expired
- 1970-08-07 DE DE2039228A patent/DE2039228C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
BE754349A (fr) | 1971-01-18 |
GB1316322A (en) | 1973-05-09 |
DE2039228C3 (de) | 1976-01-08 |
FR2057047B1 (de) | 1977-04-15 |
US3626167A (en) | 1971-12-07 |
FR2057047A1 (de) | 1971-05-07 |
DE2039228B2 (de) | 1975-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2353421B2 (de) | Elektronischer rechner | |
DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
DE1549476B2 (de) | Anordnung zur ausfuehrung von divisionen | |
DE1236834B (de) | Rechengeraet | |
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE2814078A1 (de) | Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags | |
DE1549584A1 (de) | Datenverarbeiter zum Erhalt komplexer Fourierreihe-Koeffizienten | |
DE2039228A1 (de) | Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage | |
DE2034841C3 (de) | Matrixanordnung für Digital-Rechenanlage | |
DE2729912A1 (de) | Digitale signalverarbeitungsanordnung | |
DE2221693A1 (de) | Anordnung zur Ausfuehrung einer Multiplikation in einem Rechner | |
DE3303269C2 (de) | ||
DE1549508B2 (de) | Anordnung zur uebertragsberechnung mit kurzer signallaufzeit | |
DE3447634C2 (de) | ||
DE2732008A1 (de) | Einrichtung zur reduzierung von fibonacci-p-codes auf die minimalform | |
DE3201088C2 (de) | ||
DE1549395C3 (de) | Elektronischer Kleinrechner, insbesondere Tischrechner | |
DE1222290B (de) | Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten | |
DE2426253B2 (de) | Vorrichtung zum ziehen der quadratwurzel aus einer binaeren zahl | |
DE2952689C2 (de) | ||
DE2253746A1 (de) | Modul-signalprozessrechner | |
DE1965830A1 (de) | Digitaldatenverarbeitungseinrichtung | |
DE1524146C (de) | Divisionseinrichtung | |
DE1549461A1 (de) | Divisionseinrichtung | |
DE1524177C (de) | Multiplikationseinrichtung zur teilweise parallelen Multiplikation binärer Faktoren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8330 | Complete disclaimer |