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 Datenverarbeitungsanlage

Info

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
Application number
DE19702039228
Other languages
English (en)
Other versions
DE2039228C3 (de
DE2039228B2 (de
Inventor
Knuth Donald Ervin
Hanson Lawrence George
Guck Leroy Robert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
N D GESETZEN D STAATES MICHIGA
Unisys Corp
Original Assignee
N D GESETZEN D STAATES MICHIGA
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by N D GESETZEN D STAATES MICHIGA, Burroughs Corp filed Critical N D GESETZEN D STAATES MICHIGA
Publication of DE2039228A1 publication Critical patent/DE2039228A1/de
Publication of DE2039228B2 publication Critical patent/DE2039228B2/de
Application granted granted Critical
Publication of DE2039228C3 publication Critical patent/DE2039228C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/02Conversion 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/12Conversion 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
TERMINOLOGIE
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"
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.
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,
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
IN DAS DEZIMALSYSTEM SOWIE KORREKTURZYKLUS
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.
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).
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.
Ähnliche Arbeitsschritte sind für die Behandlung einer
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.
II. SCHIEBELINKS-OPERATOR
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.
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)

203322a A N S P R Ü C HE
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
DE2039228A 1969-08-07 1970-08-07 Schaltungsanordnung in einer Datenverarbeitungsanlage zum Verschieben einer binär kodierten Oktalzahl um eine Anzahl von Dezimalstellen nach rechts Expired DE2039228C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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