DE2220329C3 - Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern - Google Patents

Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern

Info

Publication number
DE2220329C3
DE2220329C3 DE2220329A DE2220329A DE2220329C3 DE 2220329 C3 DE2220329 C3 DE 2220329C3 DE 2220329 A DE2220329 A DE 2220329A DE 2220329 A DE2220329 A DE 2220329A DE 2220329 C3 DE2220329 C3 DE 2220329C3
Authority
DE
Germany
Prior art keywords
register
registers
shift
storage
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2220329A
Other languages
English (en)
Other versions
DE2220329B2 (de
DE2220329A1 (de
Inventor
Angelo Ivrea Torino Subrizi
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.)
Telecom Italia SpA
Original Assignee
Ing C Olivetti and C SpA
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 Ing C Olivetti and C SpA filed Critical Ing C Olivetti and C SpA
Publication of DE2220329A1 publication Critical patent/DE2220329A1/de
Publication of DE2220329B2 publication Critical patent/DE2220329B2/de
Application granted granted Critical
Publication of DE2220329C3 publication Critical patent/DE2220329C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K13/00Conveying record carriers from one station to another, e.g. from stack to punching mechanism
    • G06K13/02Conveying record carriers from one station to another, e.g. from stack to punching mechanism the record carrier having longitudinal dimension comparable with transverse dimension, e.g. punched card
    • G06K13/06Guiding cards; Checking correct operation of card-conveying mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/08Methods or arrangements for sensing record carriers, e.g. for reading patterns by means detecting the change of an electrostatic or magnetic field, e.g. by detecting change of capacitance between electrodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Complex Calculations (AREA)
  • Calculators And Similar Devices (AREA)
  • Shift Register Type Memory (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

Die vorliegende Erfindung ist auf das Problem der Umsetzung einer Gleitkomma- in eine Festkomma-Schreibweise bei elektronischen Digitalrechnern und insbesondere auf das Problem der Trennung des Exponenten von der Mantisse zur Vorbereitung der Umsetzung gerichtet
Bekannte elektronische Rechner speichern die Zahlen üblicherweise in der Festkomma-Schreibweise, wodurch eine Ausgabevorrichtung (beispielsweise eine Anzeige oder ein Drucker) unmittelbar durch das die Zahl speichernde Register gesteuert werden kann. Die Verwendung einer solchen Schreibweise hat jedoch den Nachteil, daß Register großer Kapazität erforderlich sind.
Es sind weiter große elektronische Rechner bekannt, die die Zahlen in der Gleitkomma-Schreibweise speichern, wodurch die Kapazität der Register beträchtlich erhöht wird. Diese Rechner verwenden üblicherweise Register und Zentraleinheiten, die in der Lage sind, die beiden Teile der Zahl im wesentlichen gleichzeitig zu errechnen, selbst wenn die beiden Teile nicht homogen sind. Elektronische Rechner geringer Größe und Kapazität, wie die Tischrechner, sind jedoch nicht imstande, die beiden Teile der Zahl gleichzeitig zu errechnen.
Die von der vorliegenden Erfindung zu lösende technische Aufgabe besteht darin, das Rechnen mit Zahlen in Gleitkomma-Darstellung zu erleichtern.
Diese technische Aufgabe wird bei einer Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Reclinern mit einem Paar von Speicherregistern zum Speichern eines Paars von Operanden und mit einem Paar von Schieberegistern, die wahlweise mit den Speicherregistern verbindbar sind, erfindungsgemäß dadurch gelöst, daß die beiden Schieberegister mit dem Ausgang des ersten Speicherregisters seriell verbunden sind, das die Zahl anfangs in Gleitkomma-Schreibweise speichert, wobei das erste Schieheregister durch wahlweise betätigbare Verbindungsschaltungen mit dem Eingang jedes einzelnen der Speicherregister und das zweite Schieberegister durch eine weitere wahlweise betätigbare Verbindungsschaltung mit dem Eingang des ersten Speicherregisters verbunden ist, daß auf die Stelle des Dezimalkommas ansprechende Einrichtungen zum wahlweisen Betätigen der Verbindungsschaltungen vorgesehen sind, damit die Mantisse über die Schieberegister von neuem in das erste Speicherregister eingegeben wird, und daß der Exponent über das erste Schieberegister auf das zweite Speicherregister übertragen wird.
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Weitere Einzelheiten und Vorteile der Erfindung sind nachstehend anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher beschrieben. Es zeigen
Fig. la und Ib in Blockschemaform die Schaltungen einer Ausführungsform des Rechners nach der Erfindung,
F i g. 1 zeigt die Anordnung von Fig. 1 a und Ib,
F i g. 2 ein Blockdiagramm der Zeitsteuervorrichtung des Rechners nach F i g. 1 a und 1 b,
F i g. 3 ein Gesamtdiagramm einiger in dem Rechner
nach F i g. 1 a und 1 b auftretender Signale,
F i g. 4 eine Einzeldarstellung einer Anzahl von in dem Rechner nach Fig. la und Ib enthaltenen Einstellschaltungen,
F i g. 5a ein die Operationsfolge zum Ausführen des Normalisierungsbefehls veranschaulichendes Diagramm,
F i g. 5b ein die Operationsfolge zum Ausführen des Befehls zur Umschaltung auf Festkomma veranschaulichendes Diagramm,
Fig.6 die die Ausführung des Trennungsbefehls ermöglichenden Verbindungen.
Gemäß Fig. 1 bzw. la und Ib enthält der Rechner nach der Erfindung einen Speicher LDR mit magnetostriktiver Verzögerungsleitung, auf der beispielsweise sechzehn Register Pl, P2, P3, P 4, R, M, A, B, C, D, E C. E'und F'aufgezeichnet sind. Die Leitung LDR setzt sich aus einem einen Leseverstärker 13 speisenden Lesewandler 11 und einem von einem Schreibverstärker 17 gespeisten Schreibwandler 15 zusammen.
Die an der Leitung LDR auftretenden ersten sechzehn Binärsignale stellen jeweils das erste Bit der ersten Dezimalziffer der Register Pl, P2, P3, P4, R, M, A, B, C, D, E F, C, D', E' und F' dar, während die nächsten sechzehn Binärsignale jeweils das zweite Bit der ersten Dezimalziffer dieser Register darstellen.
Der Leseverstärker 13 speist einen Serien-Parallelumsetzer 19, der an sechzehn gesonderten Ausgangsleitungen LPl, LP 2, LP3, LP4, LR, LM, LA, LB, LC, LD, LE, LF, LC, LD', LE' und LF' sechzehn gleichzeitige Signale erzeugt, die die sechzehn in der gleichen Binärstelle der gleichen Dezimalziffer der sechzehn Register enthaltenen Bits darstellen.
Nachdem jede Gruppe aus sechzehn an den Ausgangsleitungen des Umsetzers 19 zugleich zugeführten Signalen verarbeitet worden ist, wird sie dem Parallel-Serienumsetzer 21 zugeführt.
Der Umsetzer 21 speist seinerseits den Schreibverstärker 17 mit den sechzehn auf ihre vorherige Reihenfolge zurückgebrachten und voneinander um eine halbe Mikrosekunde getrennten Signalen. Dadurch schreibt der Wandler 15 die Signale erneut durch den Betrieb des Rechners unverändert oder geändert in die Leitung LDR ein, wobei er bewirkt, daß sie ihre ursprüngliche wechselseitige Lage beibehalten.
Da der Speicher mit Verzögerungsleitung von zyklischer Natur ist, wird der Betrieb des Rechners in aufeinanderfolgende Speicherzyklen unterteilt, wobei jeder Zyklus 32 Zifferperioden von Cl bis C32 umfaßt und jede Zifferperiode in acht Bitperioden von TX bis Γ8 unterteilt ist.
Gemäß dem Diagramm nach F i g. 2 erzeugt ein Taktimpulsgenerator 23 an den Ausgängen der Leitungen TX bis Γ8 aufeinanderfolgende Taktimpulse von 8 Mikrosekunden, die je die entsprechenden Bitperioden angehen, wie es in dem Zeitsteuerdiagramm nach Fig.3 veranschaulicht ist. Der Ausgangsanschluß Tl ist während der gesamten ersten Bitperiode jeder der zweiunddreißig Zifferperioden aktiviert; entsprechend ist der Ausgang des Anschlusses Γ2 wührend der gesamten zweiten Periode jeder Zifferperiode aktiviert usw.
Der Generator 23 enthält einen Oszillator 25, der bei seinem Betrieb den Impulsverteiler 27 mit Impulsen speist, die die Frequenz der Impulse M 1 bis M 16 haben. Ein durch den Verteiler 27 gespeister Frequenzteiler 29 erzeugt die Taktimpulse TX bis Γ8.
lede Dezimalzifferstelle des Süeichers LDR kann eine Dezimalziffer oder einen Befehl enthalten. Die Register Pl bis P4 können nur zum Enthalten der Befehle eines Programms verwendet werden; jedes Register kann bis zu 31 Befehle enthalten. Die Register CD, EF, C. E'und F' können je benutzt werden zum Speichern von bis zu 31 Befehlen oder bis zu 30 Datenziffern. Demzufolge hat die Maschine eine Programmkapazität von 372 Befehlen. Das Register B kann nur zum Speichern von Daten benutzt werden. Beim Aufzeichnen von Programmbefehlen werden die Speicherregister in nachstehender Reihenfolge benutzt: PI1 P2, P3, P4, C, D', E', F', C, D, E F. Die Register M, A und R sind zum Speichern von Operanden und Operationsergebnissen benutzte Operationsregister.
Die Programmbefehle des Rechners nach der Erfindung können drei Formate haben. Das Grundformat eines Befehls ist ein Acht-Bit-Zeichen, bei welchem die letzten vier Bits einen der vierzehn möglichen Funktionscode darstellen, während die vier ersten Bits das Speicherregister darstellen, in weichem die Operation ablaufen soll.
Der Adressenteil des Befehls kann sich auf ein Feld beziehen, das mit dem ersten Bit oder mit dem sechzehnten Bit eines Registers beginnt je nachdem, ob dasselbe Register oder der unterteilte Teil adressiert ist. Aus diesem Grunde kann das Register in zwei Abschnitte unterteilt werden und zwei selbständige Informationsabschnitti; speichern.
Zu diesem ersten Grundformat gehören die arithmetischen Befehle und die zum Übertragen der Befehle für Druckzahlen auf den internen Drucker sowie eine Anzahl von Sprungbefehlen, in welchen die Adressen einen Erkennungscode für das Ende des Sprunges bestimmen.
In diesem ersten Format befinden sich außerdem Befehle zur Gleitkomma-Rechnung, die den normalerweise auf Festkomma-Basis arbeitenden Rechner in den Stand setzen, auf Gleitkomma-Basis mit numerischen Daten zu rechnen. Ein numerischer Gleitkomma-Datenwert wird mit Hilfe eines Koeffizienten, der größer als oder gleich 0,1 und kleiner als 1 ist, und mit Hilfe des entsprechenden Exponenten zur Grundzahl 10 dargestellt.
Die vorgesehenen Befehle erlauben die Umwandlung der numerischen Daten aus einer Darstellung in die andere. Diese Befehle sind folgende:
»Trennungsbefehl«:
Der Inhalt des Registers A wird geändert durch Übertragen seines integralen Teiles, d. h. Exponenten, in M, wobei nur der Dezimalteil, d. h. der Festkomma-Teil, in A belassen wird.
»Vereinigungsbefehl«:
Vereinigt in dem Register A den integralen Teil des im Register M enthaltenen Datenwertes mit dem Dezimalteil des in A enthaltenen Datenwertes.
»Befehl zum Übergang auf Festkomma«:
Verschiebt das Komma des Inhalts des Registers A um eine Stellenzahl, die gleich dem Wert des in dem Register Menthaltenen Datenwertes ist. Wenn der Inhalt von M positiv ist, wird die Stelle nach rechts und, wenn er negativ ist, nach links verschoben.
»Normalisierungsbefehl«:
Verschiebt das Komma des in A enthaltenen Datenwertes so, daß es der ersten kennzeichnenden Ziffer vorangeht; speichert in M die Schrittezahl, um die die Stelle verschoben worden ist, bei positivem Vorzeichen, wenn die Verschiebung nach
links, und bei negativem Vorzeichen, wenn sie nach rechts stattgefunden hat.
Die Befehle des zweiten Formats bestehen aus einem Ziffernpaar von je acht Bits BX bis BS, das in einem Paar einander benachbarter Dezimalzifferstellen des Speichers angeordnet ist.
Zu den Befehlen mit diesem Format gehört auch der zum Zuführen eines numerischen Datenwertes in externe Einheiten bei Formatsteuerung. Dieser Befehl ermöglicht das Ausgeben eines in dem Register A enthaltenen numerischen Datenwertes, wobei es möglich ist, zwischen jedem Paar aufeinanderfolgender Zeichen Interpunktions- oder Trennungszeichen oder Vorzeichen oder dergleichen einzufügen, um der Zahl besondere Formate zu geben.
Die ersten vier Bits B\ bis B 4 der ersten Ziffer enthalten die Adresse des Registers, aus welchem die Extraktion stattfindet, während die zweiten vier Bits B 5 bis BS den Funktionscode enthalten. Die zweite Ziffer wählt das besondere Ausgabegerät aus. Im einzelnen zeigt das erste Bit BX des zweiten Zeichens an, ob die anzugebende Information numerisch oder alphabetisch ist. Die nächsten beiden Bits B2 und B3 wählen das besondere Ausgabegerät aus, während das vierte Bit B4 anzeigt, ob es sich um einen Eingabe- oder Ausgabebefehl handelt.
Ein Befehl des dritten Formats besteht aus acht Bits BX bis BS, die gemeinsam einen Funktionscode anzeigen. Zum dritren Format gehören beispielsweise die die Übertragung zwischen vorbestimmten logischen Elementen, die Errechnung von Prozentsätzen, eine Anzahl von Sprungoperationen, das indirekte Adressieren und das Adressieren unterteilter Register steuernden Befehle.
Jede Dezimalziffer der Daten wird in dem Rechner mit Hilfe von vier Bits S5, und B 7, BS nach einem binären Dezimalcode dargestellt. In dem Speicher LDR mit Verzögerungsleitung werden diese vier Bits jeweils in den letzten vier Bitstellen T5, T6, TT, TS gespeichert, während die ersten vier Bitstellen zum Speichern der Markierungsbits benutzt werden. Die Bitstelle T4 wird benutzt zum Speichern eines Dezimalkomma-Bits B4, das für alle Ziffern einer Dezimalzahl mit Ausnahme der ersten Ziffer hinter dem Komma »0« ist. Die Bitstelle T3 wird benutzt zum Speichern eines Vorzeichen-Bits S3, das für alle Dezimalziffern einer positiven Zahl »0« und für alle Dezimalziffern einer negativen Zahl »1« ist.
Die Bitstelle 7~2 wird benutzt zum Speichern eines Ziffer-Erkennungsbits B 2, das bei jeder besetzten rif>7imal7iffpr<:ti»llp \\1t* iinrl hpi ipHpr linhpcptTt^n R gespeichertes Bit ßl/? = »l« wird benutzt, um zu Beginn jedes Speicherzyklus den Taktimpulsgenerator 23 anlaufen zu lassen. Ein in der 32. Dezimalzifferstelle C32 des Registers £ gespeichertes Bit B 1£T=»1« wird benutzt, um den Generator 23 anzuhalten. Ein in der η li;n Dezimalzifferstelle des Registers B gespeichertes Bit ßlß=»1« zeigt an, daß bei der Ausführung eines Programms der auszuführende nächste Befehl in der ntcn Dezimalstelle des benutzten besonderen Programmregisters gespeichert ist. Ein in der /rtcn Stelle des Registers M gespeichertes Bit S1M=»1« zeigt an, daß bei Eingabe einer Zahl über das Tastenpult in das Register Aidie eingegebene Dezimalziffer danach in der (n—\)-un Dezimalzifferstelle zu speichern ist; daß beim
ίο Ausdrucken einer in einem beliebigen Register gespeicherten Zahl die auszudruckende Ziffer die in der rr'·'" Dezimalzifferstelle dieses Registers gespeicherte Ziffer ist; daß beim Addieren von zwei Zahlen die in der /rlen Dezimalzifferstelle des Registers A gespeicherte Ziffer der Summe dann durch Hinzufügung einer darin eingegebenen Korrekturziffer zu korrigieren ist. Ein in der /r'en Dezimalstelle des Registers A gespeichertes Bit B X A = »1« zeigt an, daß die Ausführung des Hauptteiles eines Programms beim /rlen Befehl eines Speicherregisters unterbrochen worden ist, um die Ausführung eines Unterprogramms zu beginnen. Deshalb werden die Markierungsbits BXR, BXE benutzt, um in den verschiedenen Registern (Anfang bzw. Ende) feststehende Bezugsstellen darzustellen, während die Markie-
jo rungsbits BXA, BXBund BXMbewegliche Bezugsstellen in den Registern darstellen. Außerdem wird das Bit B XM während der Ausführung einer Addition benutzt, um in jeder Dezimalstelle die zu einer in dieser Dezimalstelle auszuführenden Operation gehörende Information zu speichern.
Der Rechner enthält außerdem zwei Addierschaltungen 34 und 35 mit je zwei Eingangsleitungen 36,38 bzw. 37,39 zur gleichzeitigen Aufnahme der zu addierenden Bits. Ein Summenbit wird jeweils an die Ausgangsleitungen 40 bzw. 41 angelegt.
Gemäß Fig. 1 enthält der Rechner einen Nur-Lese-Speicher ROM, der an die Steuer- und arithmetischen Einheiten ähnlich wie der Speicher mit Verzögerungsleitung angeschlossen ist, als dessen Erweiterung er angesehen werden kann. Der Speicher ROM enthält 512 Befehle, die eine Anhäufung von feststehenden Unterprogrammen bilden, auf die während der Ausführung des Hauptprogramms jederzeit wenn es notwendig sein sollte, ein Zugriff mit Hilfe von Sprungbefehlen erlangt werden kann.
Der Nur-Lese-Speicher (ROM) XS ist mit seinem
piopnpn AHrp«iprpr Ifi vprsphpn Dip im Snpirhpr
Dezimalzifferstelle (unbedeutende Null) »0« ist
Demzufolge erfordert die vollständige Darstellung einer Dezimalziffer in dem Speicher LDR sieben Bitstellen, und zwar die Steilen 7"2, Γ3, Γ4, 7"5, Γ6, Tl und TS einer gegebenen Dezimalzifferstelle. Die verbleibende Bitstelle TX wird benutzt zum Speichern eines Hilfsbits, dessen Bedeutung nicht unbedingt zu der in dieser Zifferstelle gespeicherten Dezimalziffer in Beziehung steht
In der nachfolgenden Beschreibung ist ein in einer binären Bitstelle a einer Dezimalzifferstelle eines Registers b gespeichertes Bit mit dem Symbol Bab bezeichnet während das beim Lesen des Bits an der Leitung LDR erhaltene Signal mit dem Symbol LBab bezeichnet ist
Ein in der ersten Dezimalzifferstelle C1 des Registers enthaltenen Zeichen werden als acht Bits nebeneinander aufgegeben und durch einen Parallel-Serien-Umsetzer 20 hintereinander angeordnet, der an seiner Ausgangsleitung beginnend mit dem unbedeutendsten Bit acht aufeinanderfolgende Signale erzeugt die das ausgegebene Zeichen darstellen.
Die Arbeitsweise des Umsetzers 20 wird durch die Impulse an den Leitungen Ti bis TS des Taktimpulsgenerators 23 zeitgesteuert so daß jedes dieser Signale an der Ausgangsleitung 22 für die Dauer von 8 Mikrosekunden, d. h. solange verbleibt wie jedes aus dem Serien-Parallelumsetzer 19 kommende Bit an der entsprechenden Ausgangsleitung verbleibt
Gemäß F i g. 1 enthält der Rechner weiter zwei
. Schieberegister KA und KB, die jeweils aus acht Binärstufen KAl-KAS bzw. KBi-KBS gebildet
sind. Bei Empfang eines Schiebeimpulses über die Anschlüsse 76 bzw. 77 werden die in den Stufen KA 2-KASbzw. KB 2- KBS gespeicherten Bits in die Stufen KA 1 - KA 7 bzw. KBi-KB 7 geschoben oder, wenn die Bits an den Eingangsleitungen 5 bis 12 vorhanden sind, werden sie jeweils in die Stufen KBi-KB 8 übertragen.
Die durch den Impulsverteiler 27 (F i g. 2) erzeugten Impulse Λ/4 werden als Schiebeimpulse für die Register KA und KB benutzt, die demzufolge während jeder ι ο Bitperiode einen Schiebeimpuls oder während jeder Zifferperiode acht Schiebeimpulse aufnehmen. Der Inhalt jeder Stufe jedes Registers bleibt von dem Impuls M4 jeder Bitperiode an bis zum Impuls M4 der nächsten Bitperiode unverändert. Das einer der Eingangsleitungen 78 oder 79 der Register KA und KB während einer besonderen Bitperiode zugeführte Bit ist an der Ausgangsleitung 80 oder 81 des betreffenden Registers acht Bitperioden oder eine Zifferperiode später verfügbar. Die Register KA und KB können demzufolge wie ein Abschnitt der Verzögerungsleitung mit einer einer Zifferperiode entsprechenden Länge arbeiten.
Indem ein Speicherregister und eines der Schieberegister KA und KB in geschlossener Schleife angeschlossen werden, während alle übrigen Register mit ihren Ausgängen an ihre jeweiligen Eingänge unmittelbar angeschlossen bleiben, wird das ausgewählte Register gegenüber den übrigen Registern effektiv um eine Zifferperiode verlängert. Dadurch wird bei jedem Speicherzyklus der Inhalt des ausgewählten Registers um eine Dezimalzifferstelle verschoben, d. h. gegenüber den anderen Registern um eine Zifferperiode verzögert.
Auf Grund der Fähigkeit der Register KA und KB, als Verzögerungsleitungen zu arbeiten, können sie nach v> dem auf Seite 198 des Buches »Arithmetic Operations in Digital Computers« von R. K. Richards, 1955, beschriebenen Verfahren auch als Zähler benutzt werden, wenn ihre Eingangsleitungen 78 und 79 und ihre Ausgangsleitungen 80 und 81 an die Ausgangsleitungen 40 bzw. 41 und die Eingangsleitungen 36 bzw. 37 der Addierschallungen 34 bzw. 35 angeschlossen werden. Während die letztgenannten Leitungen kein Signal erhalten, zählen die Zähler die aufeinanderfolgenden Zählimpulse, die zwei in den beiden Addierschaltungen 34 und 35 enthaltenen bistabilen Speichergeräten über die in der DE-OS 19 57 600 beschriebenen Zählsteuerschaltung 83 zugeführt werden.
Das Register KB kann als Pufferspeicher zum vorübergehenden Speichern einer Dezimalziffer be- so nutzt werden.
Schließlich arbeitet das Register KBbexm Übertragen von Daten oder Befehlen von dem Tastenpult 87 aus in den Speicher LDR als Parallel-Serienumsetzer.
Das Befehlsregister 89 umfaßt acht Binärstufen Ii-/8, die die acht Bits des sich in Ausführung befindenden Befehls enthalten. Das Register 89 überträgt seinen Inhalt in den Decoder 91, der den zwölf adressierbaren Speicherregistern bzw. den vorgenannten Befehlen entsprechende Ausgänge Yi bis Y 12; F 1.1 bis F 1.14; F2.1 bis FZn; F3.1 bis F3J7hat
Wenn ein Befehl des ersten Formats in dem Register 89 gespeichert wird, aktivieren die Ausgänge aus den Stufen /1—/4 in den Decoder 91 einen der Adressenausgänge Yi bis YIZ Dieser Ausgang wählt eines der es zwölf Speicherregister aus oder bestimmt sofern der Befehl ein Sprungbefehl ist einen der Sprungcode. Die Eingänge 15—IS bewirken, daß der Decoder 91 einen der Funktionsausgänge aktiviert.
Wenn der Befehl zum zweiten Format gehört, wird nur das erste Zeichen des Befehls in dem Register 89 gespeichert. Wenn der Befehl zur Informationsausgabe mit oder ohne Senkrechtformatsteuerung gespeichert wird, wird mit Hilfe der Bits ßl —54 einer der Ausgänge Yi bis K12 aktiviert, um das die zu übertragenden Daten enthaltende Speicherregister auszuwählen, während die Bits B5 — BS den betreffenden Funktionsausgang des Decoders 91 aktivieren.
Bei einem Befehl des dritten Formats wird einer der je einem besonderen Befehl entsprechenden Ausgänge F3.1 - F3.n des Decoders 91 aktiviert.
Die Ausgänge der Stufen Ii-14 und die Ausgangsleitungen der Stufen 15—IS können außerdem über die Torschaltung 93 bzw. 95 an die Eingangsleitungen der Stufen KB5—KBS des Registers KB angeschlossen werden zum Ausdrucken der Adresse und der Funktion, die in diesen Stufen gespeichert sind.
Die Torschaltungen 93 und 95 werden durch das UND der Signale TS, M4, A 3 und P18 und durch das Fehlen bzw. das Vorhandensein des Signals A 6 gesteuert.
Um nach Wahl die sechzehn Speicherregister, die Addierschaltungen 34 und 35, die Schieberegister KA und KB, das Befehlsregister 16 sowie die Eingabe- und Ausgabegeräte zum Steuern der Übertragung der Daten und Befehle in/aus den verschiedenen Teilen des Rechners zusammenzuschalten, ist ein Schaltkreis 97 vorgesehen. Der Schaltkreis 97 kann aus einer Diodenmatrix oder aus einer Matrix aus Transistor-NOR-Schaltungen oder aus ähnlichen Schalteinrichtungen ohne Speichereigenschaften bestehen. Die Auswahl des durch den Decoder 91 bestimmten Speicherregisters wird ebenfalls durch den Schaltkreis 97 ausgeführt.
Das Tastenpult 87 wird benutzt zum Eingeben der Daten und Befehle sowie zum Einleiten der verschiedenen Funktionen des Rechners. Es umfaßt einen aus zehn Zahlentasten 0—9 gebildeten numerischen Teil 101 zum Eingeben der Zahlen in das Speicherregister M über das Pufferregister KB. Bei einer bevorzugten Ausführungsform ist das Register M das einzige vom Zahlentastenfeld aus zugängliche Speicherregister. Das Tastenpult 87 umfaßt außerdem einen Adressenteil 103 mit Tasten, die je die Auswahl eines Registers des Speichers LDR mit Verzögerungsleitung bestimmen. Ein Funktionsteil 105 enthält die dem Funktionsteil eines der durch den Rechner ausführbaren Befehle entsprechenden Tasten.
Bei der dargestellten Ausführungsform der Erfindung steuern die drei Tastenfelder 101, 103 und 105 einen mechanischen Codierer, der aus Codeschienen besteht, die mit elektrischen Kontakten zusammenwirken, die den Zweck haben, an den vier Leitungen Hi, H2, H3 und H 4 Binärsignale zu erzeugen zum Darstellen der vier Bits einer in das Tastenfeld 101 eingegebenen Dezimalziffer, der vier Bits einer über das Tastenfeld 103 eingegebenen Adresse oder der vier Bits einer über das Tastenfeld 105 eingegebenen Funktion. Der Codierer aktiviert außerdem eine der Ausgangsleitungen Gl, G 2 und G 3, um anzuzeigen, welches der Tastenfelder 101,103 bzw. 105 benutzt worden ist
Eine Taste 107 für das negative algebraische Vorzeichen und eine Taste 109 für das Dezimalkomma erzeugen bei ihrem Niederdrücken an der Leitung SN bzw. Vein Binärsignal.
Der Rechner kann nach Wahl so voreingestellt werden, daß er nach drei Arten arbeitet d.h. »von Hand«, »automatisch« und »Programmeingabe«. Dies
ist von der Stellung abhängig, auf die der Dreiwegschalter 111 eingestellt worden ist, der Signale PM, PA bzw. /Perzeugt.
Bei automatischem Betrieb, bei welchem das vorher in den Speicher LDR eingegebene Programm ausgeführt wird, können das Adressentastenfeld 103 und das Funktionstastenfeld 105 nicht betätigt werden.
Der automatische Betrieb der Maschine setzt sich aus einer Folge von Phasen der Extraktion der Befehle und von Phasen der Ausführung der Befehle zusammen. Während einer Extraktionsphase wird ein Befehl aus einem Programmregister entnommen und dann über die Torschaltung 193 in das Register 89 übertragen, wie es in der DE-OS 14 99 245 beschrieben ist. Auf diese Phase folgt automatisch eine Ausführungsphase, in welcher der Rechner den gespeicherten Befehl ausführt. Auf diese Phase folgt automatisch eine Extraktionsphase für den nächsten Befehl, der entnommen und an der Stelle des vorgehenden gespeichert wird usw. Solange in dem Register 89 ein Befehl gespeichert ist, bleibt das durch den Adressenteil des Befehls angegebene Speicherregister fortwährend ausgewählt, und erzeugt der Decoder 91 fortwährend das dem Funktionsteil des Befehls entsprechende Funktionssignal.
Bei automatischem Betrieb kann auch das Zahlentastenfeld 101 normalerweise insofern nicht betätigt werden, als der Rechner nach vorher in den Speicher eingegebenen Daten arbeitet. Dieses Tastenfeld kann nur dann zur Eingabe von Daten in das Register M benutzt werden, wenn der Stopbefehl in dem Befehlsregister 89 gespeichert wird. Es ist klar, daß die Verwendung des Stopbefehls es ermöglicht, viel mehr Daten zu verarbeiten als der Speicher des Rechners enthalten kann.
Bei Handbetrieb können das Zahlentastenfeld 101 und das Adressentastenfeld 103 sowie das Funktionstastenfeld 105 betätigt werden. Bei dieser Betriebsart können das Adressentastenfeld 103 und das Funktionstastenfeld 105 durch den Bedienenden benutzt werden um zu bewirken, daß der Rechner eine Reihe von Operationen ähnlich einer beliebigen bei automatischem Betrieb ausgeführten Folge ausführt. Zu diesem Zweck gibt der Bedienende über das Tastenpult 87 eine Adresse und eine Funktion ein, die auf diese Weise über die Torschaltung il5 bzw. 117 in dem Register 89 in genau der gleichen Weise gespeichert werden, wie es bei einer Befehlsextraktionsphase bei automatischem Betrieb erfolgt. Die beiden Torschaltungen 115 und 117 werden durch das Signal gesteuert, das durch den Zustand der bistabilen Schaltung PO und die Signale G 2 bzw. C 3 erzeugt wird. Außerdem läuft durch Eingeben eines Befehls (Adresse und Funktion) über das Tastenpult automatisch eine Phase der Ausführung des Befehls zum Ausführen der eingegebenen Befehle in der der Ausführungsphase bei automatischem Betrieb ähnlichen Weise an. Nachdem die Befehlsausführungsphase beendet ist, hält der Rechner an und wartet auf eine durch den Bedienenden mit Hilfe des Tastenpultes 87 vorgenommene neue Eingabe.
Wenn keine Adressentaste niedergedrückt wird, wird automatisch das Register M adressiert Beim Eingeben einer der vier Grundoperationen mit Hilfe des Tastenpultes braucht der Bedinende das Adressentastenfeld nicht zu benutzen, sondern kann statt dessen die Eingabe einer Zahl über das Zahlentastenfeld vornehmen. In diesem Falle wird die gewählte Operation mit der eingegebenen Zahl ausgeführt Dadurch kann bei Handbetrieb jede Operation sowohl mit einer vorher über das Zahlentastenfeld 101 in das Register Meingegebenen Zahl als auch mit der in einem über das Adressentastenfeld 103 ausgewählten Speicherregister gespeicherten Zahl ausgeführt werden.
Bei automatischem Betrieb werden die in den Befehlen angegebenen Funktionen mit den vorher in den Speicher eingegebenen Daten ausgeführt. Vor Beginn der Ausführung des automatischen Programms kann der Bedienende die ursprünglichen Daten eingeben, indem er sie zunächst über das Zahlentastenfeld 101 in das Register M eingibt und sie dann in das gewünschte Register überträgt.
Das Tastenpult 87 enthält ein Dezimalziffer-Druckanzeigegerät 301. Dieses Gerät läßt sich auf 15 Stellungen
]5 einstellen, denen 15 durch das Anzeigegerät 301 in den Perioden Ti — T5 ausgesandten Binärcodes entsprechen. Diese Binärcodes zeigen die zwischen 0 und 15 liegende Anzahl der Dezimalziffern an, die bei der numerischen Datenausgabe für die Aufzeichnungs- oder Sichtgeräte in Betracht kommen.
Das Tastenpult 87 umfaßt außerdem ein Anzeigegerät 303 für zusätzliche Dezimalzahlen. Dieses Gerät ist auf 12 Stellungen einstellbar. 11 dieser 12 Stellungen entsprechen 11 durch das Anzeigegerät 303 in den Perioden Γ5— TB ausgesandten Binärcodes, die die zwischen 0 und 11 liegende Anzahl der Dezimalziffern angeben, die beim Rechnen zusätzlich zu den zum Drucken festgesetzten Dezimalzahlen in Betracht kommen. Diese Codes werden in den Schaltkreis 97 übertragen.
In der die Stellung FL genannten zwölften Stellung wird als Ausgang aus dem Anzeigegerät 303 der Binärcode 15 erzielt, der benutzt wird zum Stabilisieren der Gesamtzahl der Ziffern, die bei der Ausführung von Rechnungen auf der Basis mit feststehender Länge festgehalten werden. Die Rechnungen werden auf dieser Basis ausgeführt, wobei im ganzen für die Ergebnisse der Rechnung fünfzehn Ziffern erhalten bleiben und die überschüssigen Dezimalzahlen abgetrennt werden.
Das Zustandsregister 119 enthält eine Vielzahl von bistabilen Schaltungen, die in jeder Periode sich auf die momentanen Maschinenzustände beziehende Information enthalten, die in den verschiedenen Teilen des Rechners zum Steuern seines Betriebes benutzt wird.
Die das Zustandsregister 119 verlassenden Signale sind in F i g. 1 gemeinsam mit dem Bezugszeichen A bezeichnet
Gemäß dem Diagramm nach F i g. 1 enthält die Folgesteuereinheit 121 eine Gruppe aus zustandsanzeigenden bistabilen Schaltungen Pi-Pn, die einzeln betätigt werden. Der Rechner befindet sich beim Arbeiten in dem Zustand, der der aktivierten bistabilen Schaltung entspricht Beim Arbeiten geht der Rechner durch eine Folge von Zuständen und führt während jedes von ihnen gegebene Grundoperationen aus.
Die besondere Folge dieser Zustände wird durch eine logische Schaltung 123 bestimmt Auf der Basis des Stromzustandes des Rechners, des laufend in dem Register 89 gespeicherten und durch den Decoder 91 angegebenen Befehls sowie der durch das Zustandsregister 119 angegebenen augenblicklichen internen Zustände des Rechners bestimmt die logische Schaltung 123, welcher Zustand folgen soll und aktiviert entsprechend diesem Zustand den Ausgang 125. Danach erzeugt die Zustandswechselschaltung 127 einen Zustandswechsel-Zeitsteuerimpuls AfG, der die UND-Torschaltung 129 öffnet und die Aktivierung des
Ausganges 125 zum Aktivieren der bistabilen Schaltung Pi-Pn entsprechend dem nächsten Zustand ermöglicht.
Ein in einem Register enthaltener numerischer Datenwert kann bei zwischen seinen Ziffern zum Erhalten eines besser lesbaren Formats eingefügten Interpunktionssymbolen in eine periphere Einheit übertragen werden.
Der zum Erhalten einer solchen Informationsübertragung benutzte Befehl ist ein Befehl des zweiten Formats und besteht aus einem Ziffernpaar.
Der zu übertragende numerische Datenwert muß in das Register A eingegeben werden, wobei die einzufügenden Symbole in dem Register M in Übereinstimmung mit den Zeichenstellen des Registers A angeordnet werden müssen, die diesen Symbolen bei der Ausgabe vorangehen müssen, damit eine »Schneidemaske« (»editing mask«) entsteht.
Wenn bei der Ausführung eines Programms die erste Ziffer des Befehls in das Befehlsregister 89 eingegeben wird, werden die der Adresse und der Funktion entsprechenden Ausgänge des Decoders 91 aktiviert und das bistabile Element des Zustandsregisters 119 durch den Code des Zweizeichenbefehls auf »1« gestellt.
Dieses bistabile Element bestimmt die Extraktion des nächsten Befehls, der in das Schieberegister KB übernommen wird. Das erste Bit des zweiten Zeichens zeigt an, ob es sich um alphabetische oder numerische Zeichen handelt, das zweite und dritte Bit stellen die periphere Einheit fest, in die das Zeichen übertragen wird, und das vierte Bit zeigt an, ob es sich um Eingabeoder Ausgabevorgänge handelt. Die letzten vier Bits 35— B8 geben die maximale Zeichenzahl an, die übertragen werden kann.
Beim nächsten Zustand Pl wird der zweite Befehl an dem bistabilen Element N 7 des Zustandsregisters 119 entnommen und werden die Bits Bl und S3 in die Ausgabeeinheit an der Leitung N nach F i g. 1 übertragen. Die periphere Einheit hält das Auswählsignal gespeichert, bis eine nächste Auswahl erfolgt. Das an dem bistabilen Element entnommene Bit 04 des Zustandsregisters 119 bestimmt die Zustandsfolge der Informationseingabe, wenn es auf »1« gestellt ist, und die der Informationsausgabe, wenn es auf »0« gestellt ist
Dann geht der Rechner auf den Zustand P3 über, in welchem das Ausrichten des unbedeutendsten Zeichens des Registers M nach dem Komma des Registers A stattfindet Zum Erzielen dieses Ausrichtens verbindet der Schaltkreis 97 das Register M in einer Schleife mit dem Schieberegister KA, bis ein durch das bistabile Element Λ/3 des Zustandsregisters 119 (Fig. 4) erzeugtes Ausrichtende-Signal vorliegt. Das bistabile Element W3 wird auf »1« gestellt durch das UND des Kommabits aus dem Register A und des Ausgangssignals eines weiteren bistabilen Elements NA des Zustandsregisters tl9, das während der Übertragung der unbedeutendsten Ziffer aus dem Register M in das Schieberegister KA auf »1« gestellt wird
Diese Übertragung wird dadurch erkannt, daß in der μ Bitperiode Tl ein »1«-Bit der Ausgangsleitung LM aus dem Speicher LDR und in der Stelle KAI des Schieberegisters KA ein »O«-Bit vorhanden ist Das durch das bistabile Element N 3 erzeugte Signal bewirkt, daß der Schaltkreis 97 das Register M von dem Schieberegister KA trer.nL
Das Ausrichtende-Signal bewirkt außerdem den Übergang auf den Zustand PA. In diesem Zustand wird in das Bit ß IM des derr auszugebenden bedeutendsten Zeichen entsprechenden Zeichens des Registers M und in das Bit BiA des dem anzugebenden unbedeutendsten Zeichen entsprechenden Zeichens des Registers A eine »1« eingeschrieben.
Die Zeichenstellen, in die die Bits BiM und BiA eingeschrieben werden sollen, werden in folgender Weise ermittelt.
Die Anzahl der Dezimalziffern in den ausgebrachten numerischen Daten wird durch geeignetes Einstellen des Ausgabedezimalstellenanzeigers 303 bestimmt.
Die Zeichenstellen des Registers A werden ausgehend von dem Zeichen mit Dezimalkomma durch den aus dem in einer Schleife mit der Addierschaltung 36 verbundenen Schieberegister KA gebildeten Zähler gezählt. In dieser Phase PA erzeugt der Dezimaistelienanzeiger 301 einen Binärcode, der der Anzahl von eingegebenen Dezimalstellen entspricht, die in das Schieberegister KA eingegeben wird. Dann wird eine auf den Unterschied zwischen 32 und der eingegebenen Stellenzahl der bedeutenden Ziffern des Registers A ergänzte Zählung ausgeführt. Das Übertragbit des Zählers weist die Markierungsbit-Steuerschaltung 33 an, in die Stelle ßl des entsprechenden Zeichens des Registers A ein »1«-Bit einzuschreiben. Dieses Übertragsignal bestimmt außerdem den Anfang einer Zählung der bedeutenden Zeichenstellen des Registers M ausgehend von der Stelle, die dem Zeichen des Registers A entspricht, das das Bit B1 gleich »1« enthält. Die Zählung wird durch den auf dem in einer Schleife mit der Addierschaltung 35 verbundenen Schieberegister KB gebildeten Zähler ausgeführt.
Das Schieberegister KB enthält noch immer die anzugebende Zeichenzahl. Vor Beginn der Zahlen der Zeichenstellen des Registers M wird die Zahl vor Einleitung der Zählung durch die Addierschaltung 35 ergänzt, wobei die Zählung angehalten wird, wenn der Inhalt des Schieberegisters KB Null ist. Das Vorliegen dieser Bedingung bewirkt, daß die Markierungsbit-Steuerschaltung 33 in die Stelle B1 des entsprechenden Zeichens des Registers Meine »1« einschreibt
Der im zweiten Zeichen des Zweizeichen-Befehls enthaltene Befehl ist dadurch vollständig ausgeführt worden, so daß das Schieberegister KB jetzt verfügbar ist. Dann geht der Rechner auf den Zustand P12 über, in welchem das Register A durch den Schaltkreis 97 an das jetzt als Pufferregister zum Zuführen der Zeichen in externe Einheit benutzte Schieberegister KB angeschlossen ist
Die Aufgabe der Zeichen findet statt ausgehend von den bedeutendsten Ziffern, und zwar von dem Wiederauffinden des Bits B1 gleich »1« in dem Register M. Dieses Bit B iN leitet eine Zählung bis 32 der Stellen der Zeichen des Registers A ein und bewirkt das Löschen des Bits BlM des Registers M Der Übertrag aus dem Zähler bewirkt das Verbinden des Registers A mit dem Schieberegister KB mit Hilfe des Schaltkreises 97. Dieser Übertrag setzt außerdem ein bistabiles Element N3 des Zusatzregisters 119 auf »1«, wobei dieses bistabile Element für die Dauer einer Zeichenperiode in dieser Stellung verbleibt, im Verlaufe derer die Übertragung des an der Leitung LA ausgegebenen Zeichens in das Schieberegister KB erfolgt Da in jeder Ziffer zwei Bits als Markierungsbit bzw. Ziffererkennungsbit erforderlich sind, sind für den Code der alphanumerischen Zeichen nur sechs Bits verfügbar. Bei den numerischen Zeichen sind für den Code nur vier Bits verfügbar, da zwei weitere Bits für das Vorzeichenbit
und das Dezimalkomma-Bit erforderlich sind. Bei der hier beschriebenen Ausführungsform der Erfindung wurde der ISO-Code benutzt, bei welchem die ersten vier Bits des ISO-Code in den letzten vier Bitstellen einer Ziffer liegen. Bei den alphanumerischen Zeichen liegen außerdem das fünfte und sechste Bit des ISO-Code in der vierten bzw. dritten Bitstelle der Ziffer. L'm das richtige Codieren der numerischen Zeichen nach dem Sechs-Bit-ISO-Code bei der Aufgabe dieser durch das Vorhandensein des auf »1« gestellten bistabilen Elements N 7 angegebenen Zeichen wiederherzustellen, wird in die Stelle KB 3 und KB 4 des Schieberegisters KB ein Bit »1« eingeschrieben.
Der genannte Übertrag bewirkt außerdem das Einschreiben eines Bits B IAf gleich »1« in das nächste Zeichen von Af. Das Übertragen der nächsten Zeichen aus dem Register A in das Schieberegister KB erfolgi in entsprechender Weise. Die Symbole, die zwischen zwei Ziffern eines in dem Register A vorhandenen numerischen Datenwertes eingefügt werden können, sind alphanumerische Zeichen, die auf die Zeichen der zweiten und dritten Spalte des ISO-Code begrenzt sind. Entsprechend der Lage der Codebits in den vorstehend beschriebenen Bitstellen einer Ziffer ist das dritte Bit für diese Zeichen stets »1«.
Während dieser Zeichenübertragungsfolge wird ein bistabiles Element Λ/6 durch das Vorhandensein einer »1« in dem Bit S3Af auf »1« gestellt. Das Ausgangssignal aus diesem bistabilen Element Λ/6 bewirkt, daß der Schaltkreis 97 jede weitere Übertragung von Bits des an jo der Leitung LA ausgegebenen Zeichens unterbricht und das entsprechende aus Af ausgebrachte Zeichen dem Schieberegister KB zuführt. Dieses Zeichen wird ermittelt mit Hilfe einer Zählung der Impulse Tl bis auf 32, die durch das aus dem bistabilen Element Λ/6 J5 zugeführte Signal eingeleitet wird.
Am Ende der Übertragung des Zeichens aus dem Register Af, bei welchem ß3Af gleich »1« ist, in das Schieberegister KB wird die Übertragung der nächsten Zeichen aus dem Register A wieder aufgenommen. Die Zeichenübertragungsfolge endet, wenn ein Zeichen, bei welchem das Bit B \A gleich »1« ist, aus dem Register A in das Schieberegister KB übertragen wird. Auf diese Weise wird die Übertragung in das Pufferregister zum Zuführen der Zeichen aus dem Register A in eine periphere Einheit erzielt, bei welcher zwischen zwei aufeinanderfolgenden Zeichen ein Zeichen eingefügt werden kann, und zwar das in einer entsprechenden Stelle des Registers Af enthaltene Zeichen, das demzufolge zugleich der Ausgangsleitung aus dem Speicher LDR mit Verzögerungsleitung verfügbar ist.
Da zwischen Ziffern eines numerischen Datenwertes mit Hilfe des vorstehend beschriebenen Programmbefehls Interpunktionssymbole oder Zwischenräume eingefügt werden können, läßt sich das horizontale Format eines sich in Ausgabe befindenden numerischen Datenwertes steuern.
Gleitkomma-Rechenoperationen
Der Rechner nach der Erfindung kann so program- f>o miert werden, daß er Rechenoperationen mit in exponentieller Form dargestellten numerischen Daten, d. h. mit Hilfe eines Exponenten einer vorbestimmten Grundzahl und der entsprechenden Mantisse, ausführt. Die zur Ausführung dieser Rechenoperation notwendi- *>·> gen Befehle bilden Unterprogramme, die in dauerhafter Form in dem Nur-Lese-Speicher 18 gespeichert sind.
Da der Nur-Lese-Speicher 18 in dem Speicher LDR völlig gleichartiger Weise zugänglich ist, sind die Unterprogramme bei der Ausführung eines Hauptprogramms mit Hilfe der in der DE-OS 14 99 245 beschriebenen Sprungbefehle auffindbar.
Der weiter oben beschriebene »Normalisierungsbefehl« ist vorgesehen, um einen numerischen Datenwert aus Dezimaldarstellung in Exponentialdarstellung umzuwandeln, wobei dieser Befehl durch Operieren mit einer gegebenen Festkomma-Zahl es ermöglicht, die Exponenten und Mantissen in zwei gesonderten Registern zu erhalten.
Der Normalisierungsbefehl wird mit Hilfe der in F i g. 5a dargestellten Phasen ausgeführt
Anfänglich enthält das Register A einen numerischen Festkomma-Datenwert, während das Register Af leer ist.
In der ersten Phase der Ausführung dieses Normalisierungsbefehls wird ein Signal erzeugt, das bewirkt, daß die Schreibschaltung des Registers Af eine bedeutende Null mit einem Kommabit schreibt. Darauf werden die Inhalte des Registers A und des Registers M nach dem Komma ausgerichtet wie oben beschrieben.
Ein bistabiles Element Λ/7 des Zustandsregisters 119 wird durch das Kommabit des Registers A auf »1« und durch ein im Register A hinter dem Komma erscheinendes ι lögliches bedeutendes Ziffernbit auf »0<· zurückgestellt. Demzufolge wird das bistabile Element N 7 auf»1« gestellt, sofern die in A enthaltene gegebene Zahl weniger als eins ist, während es auf »0« gestellt wird, wenn dieser Datenwert größer als oder gleich eins ist. Ein bistabiles Element /V8des Zustandsregisters 119 wird auf »1« gestellt.
Wenn das UND der Ausgangssignale an den bistabilen Elementen N 7 und NS »1« ist, wird das Register A an das Schieberegister KA angeschlossen, und bei jeder Verschiebung des Registers A zieht die Addierschaltung 40 eine Eins in dem Register Af ab.
Diese Verschiebungen werden wiederholt, bis da; Komma des Registers M sich an der gleichen Zeichenstelle befindet wie die bedeutendste Ziffer de: Registers A. Dieser Zustand stellt ein bistabiles Element Λ/9 des Zustandsregisters 119 auf »1«, wobei dieses Element bewirkt, daß der Schaltkreis 97 das Register A von dem Schieberegister KB trennt, die Löschschaltung des Registers A das Kommabit löscht und die Schreibschaltung des Registers A das Kommabit in dieselbe Stelle einschreibt wie das Komma des Registers M.
Wenn dagegen das sich aus dem UND der bistabiler Elemente ergebende UND der Signale »<λ; ist, verbinde! der Schaltkreis 97 das Register Af mit dem Schieberegister KB, und für jede erfolgende Verschiebung addier die Addierschaltung 35 eine Eins in das Register A; hinzu.
Wenn das Komma des Registers Af die gleiche Zeichenstelle wie die bedeutendste Ziffer des Registers A erreicht, ist das bistabile Element Λ/9 noch auf »1< gestellt, und sein Ausgangssignal bewirkt, daß dei Schaltkreis 97 das Register Af von dem Schieberegistei KB trennt. In der vorstehend beschriebenen ähnlicher Weise wird das Komma des Registers A gelöscht und it die gleiche Stelle wie die des Registers Af erneu eingeschrieben.
Auf diese Weise ist jetzt der anfängliche in / enthaltene und in Festkomma-Form dargestellte nume rische Datenwert bei im Register Af enthaltenei Exponenten und im Register A enthaltener Mantisse ii Gleitkomma-Form dargestellt.
Um Speicherregister zu sparen, können diese beiden Daten mit Hilfe eines Vereinigungsbefehls in einem einzigen Register vereinigt werden.
Als erste Phase oder Stufe bewirkt dieser Befehl das Ausrichten der beiden numerischen Daten nach dem Komma. Dieses Ausrichten findet statt, wie es für die Operation des Zuführens von Daten in eine externe Einheit beschrieben ist Der einzige Unterschied besteht darin, daß das bistabile Element /V 4 statt durch die unbedeutendste Ziffer des Registers M nunmehr durch das Kommabit dieses Registers auf »1« gestellt wird. Nachdem das Aussichten erfolgt ist, wird durch das Kommabit des Registers A ein bistabiles Element M10 des Zustandsregisters 119 auf »1« gestellt Das Ausgangssignal aus dem bistabilen Element /VlO bewirkt, daß der Schaltkreis 97 die Leseschaltung des Registers M an die Schreibschaltung des Registers A anschließt. Au diese Weise enthält der integrale Teil der Ziffern des Registers A den Exponenten und der Dezimalziffernteil die Mantisse.
Umgekehrt kann ein in einem einzigen Register enthaltener numerischer Gleitkomma-Datenwert mit Hilfe des Trennungs- und des Befehls zum Übergang auf Festkomma in Festkomma-Darstellung umgewandelt werden. Vor Eingabe des Trennungsbefehls muß der umzuwandelnde numerische Datenwert zu allererst in das Register A übertragen werden. Dieser Trennungsbefehl wirkt auf das Register A ein, das bei Beginn der Ausführung dieses Trennungsbefehls an den Eingang des Schieberegisters KB angeschlossen ist Der Ausgang des Schieberegisters KB wird wie in F i g. 6 gezeigt an den Eingang des Schieberegisters KA und an die Torschaltungen Sl, S2 und 53 angeschlossen. Die Torschaltungen 51 und 52 sind einander parallelgeschaltet, wobei ihr Ausgang an den Eingang des Registers A angeschlossen ist Die Torschaltungen werden jeweils durch den negierten Signalausgang aus einem bistabilen Element /VIl des Zustandsregisters 119 und durch das von dem Generator 23 erzeugte Zeitsteuersignal TA gesteuert.
Der Ausgang der Torschaltung 53 ist an den Eingang des Registers M angeschlossen und wird durch den Ausgang eines bistabilen Elements /V12 des Zustandsregisters 119 gesteuert. Das bistabile Element /V12 wird auf »1« gestellt, wenn das Kommabit in der Stelle KB3 des Schieberegisters KB enthalten ist, während das bistabile Element /VIl auf »1« gestellt wird, wenn das Kommabit in der Stelle KB1 des Schieberegisters KB enthalten ist.
Der Ausgang aus dem Register KA wird über die durch das von dem bistabilen Element NU erzeugte Signal und durch das Zeitsteuer- bzw. Taktsignal 7*3 gesteuerte Torschaltung 54 an den Eingang des Registers A angelegt.
Am Anfang der Ausführung des Trennungsbefehls wird der Inhalt des Registers A in das Schieberegister KB übertragen und über die Torschaltung 51 erneut in das Register A eingeschrieben. Auf diese Weise werden alle Dezimalziffern in das Register A erneut eingeschrieben. Beim Übertragen der ersten Ziffer hinter ω dem Dezimaikomma in das Schieberegister KB wird die bistabile Schaltung N12 auf »1« gestellt und die Torschaltung 53 geöffnet Auf diese Weise wird der integrale Teil der Ziffern in das Register M übertragen. Bei einem gegebenen numerischen Datenwert in Gleitkomma-Darstellung können der integrale und der dezimale Teil der Ziffern unterschiedliche Vorzeichen haben, da sie den Exponenten bzw. die Mantisse darstellen. Wenn sie getrennt werden und die Mantisse in dem Register A zurückbleibt muß in dem Register A eine Ziffer »Null« mit Dezimalkomma erzeugt werden, wobei die Einerstelle das gleiche Vorzeichen ha* wie die übrigen Ziffern der Mantisse. Um diese Ziffer bei in der Stelle KBi des Schieberegisters KB vorhandenem Dezimalkomma zu erzeugen, wird das bistabile Element /VIl auf »1« gestellt und folglich die Torschaltung 51 geschlossen. Dadurch werden die ersten beiden Bits der ersten integralen Ziffer über die Torschaltung 51 erneut in das Register A eingeschrieben. In dem Zeitraum Γ3 ist die Torschaltung 54 geöffnet, so daß durch eine durch das Schieberegister KA herbeigeführte Verzögerung die Einerziffer des Registers A das gleiche Vorzeichenbit erhält wie das der höchstrangigen Dezimalziffer. Im Zeitraum Γ4 ist die Torschaltung 52 geöffnet, so daß das Dezimalkomma auch in die Einerziffer des Registers A eingeschrieben wird.
Auf diese Weise enthalten die Register A und M Zeichen, die sich auf Ziffern mit gleichem Vorzeichen und richtig mit Dezimalkomma versehen zusammensetzen.
Der numerische Datenwert läßt sich jetzt durch den Befehl zum Übergang auf Festkomma in die Festkomma-Form bringen. Dieser Befehl wird nach den in F i g. 5b veranschaulichten Phasen ausgeführt. Anfänglich ist ein numerischer Datenwert bei sich im Register M befindendem Exponenten und im Register A befindender Mantisse in Gleitkommaform dargestellt.
Das Vorzeichen des Registers Λ/wird in ein bistabiles Element N13 des Zustandsregisters 119 übernommen. Bei positivem Vorzeichen wird das bistabile Element /V13 des Zustandsregisters 119 auf »0« und bei negativem Vorzeichen auf »1« gestellt.
Wenn dieses bistabile Element /V13 auf »1« gestellt wird, wird das Register M an das Schieberegister KB angeschlossen, und bei jeder Verschiebung addiert die Addierschaltung 39 eine Eins in das Register M.
Wenn das bistabile Element /V13 auf Null gestellt wird, wird das Register A an das Schieberegister KB angeschlossen bei jeder Verschiebung und subtrahiert die Addierschaltung 40 eins Eins in dem Register M.
In beiden Fällen werden die Register A und M von den Schieberegistern KA bzw. KB getrennt, wenn der Inhalt des Registers MNuII ist.
Ähnlich wie beim Normalisierungsbefehl wird das Komma des Registers A gelöscht und in die gleiche Stelle wie die des Registers Merneut eingeschrieben.
Auf diese Weise stellt der endgültige Inhalt des Registers A den ursprünglich in Gleitkomma-Form gegebenen numerischen Datenwert in Festkomma-Form dar.
Hierzu 4 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern mit einem Paar von Speicherregistern (A, M) zum Speichern eines Paars von Operanden und mit einem Paar von Schieberegistern (KB, KA), die wahlweise mit den Speicherregistern (A, M) verbindbar sind, dadurch gekennzeichnet, daß die beiden Schieberegister (KB, KA) mit dem Ausgang des ersten Speicherregisters (A) seriell verbunden sind, das die Zahl anfangs in Gleitkomma-Schreibweise speichert, wobei das erste Schieberegister (KB) durch wahlweise betätigbare Verbindungsschaltungen (51, 52, 53) mit dem Eingang jedes einzelnen der Speicherregister (A, M) und das zweite Schieberegister (KA) durch eine weitere wahlweise betätigbare Verbindungsschaltung (SA) mit dem Eingang des ersten Speicherregisters (A) verbunden ist; daß auf die Stelle des Dezimalkommas ansprechende Einrichtungen (N 11, N12) zum wahlweisen Betätigen der Verbindungsschaltungen (51 bis 54) vorgesehen sind, damit die Mantisse über die Speicherregister (KB, KA) von neuem in das erste Speicherregister (A) eingegeben wird, und daß der Exponent über das erste Schieberregister (KB) auf das zweite Speicherregister (Ai1Jübertragen wird.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Kapazität jedes der Schieberegister (KB, KA) eine Zifferstelle beträgt und daß die Speicherregister (A, M) zur wiederumlaufenden (recirculating) Art gehören.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Verbindungsschaltungen erste und zweite Tore (5 1,52), die zwischen das erste Schieberegister (KB) und das erste Speicherregister (A) geschaltet sind und abwechselnd durch die ansprechenden Einrichtungen (NU,
N12) wirksam gemacht werden, um die Mantisse bzw. das Dezimalkomma auf das erste Speicherregister (A) zu übertragen; ein drittes Tor (53), das zwischen das erste Schieberegister (KB) und das zweite Speicherregister (M)geschaltet ist und durch die ansprechenden Einrichtungen (WIl, N12) konditioniert werden kann, um den Exponenten und das sachbezogene algebraische Vorzeichen auf das so zweite Speicherregister (M) zu übertragen, und ein viertes Tor (54) aufweisen, das zwischen das zweite Schieberegister (KA)und das erste Speicherregister (A) geschaltet ist und durch die ansprechenden Einrichtungen (NIl, Λ/12) konditioniert werden kann, um das algebraische Vorzeichen der Mantisse von neuem in das erste Speicherregister (A) einzugeben.
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß die ansprechenden Einrichtungen ein erstes Flipflop (NW), das mit den Torschaltungen verbunden ist und durch das Dezimalkomma in eine vorbestimmte Zelle (KB X) des ersten Schieberegisters KB) gesetzt werden kann, und ein zweites Flipflop (N 12) aufweisen, das mit der anderen Torschaltung (53) verbunden ist und durch das Dezimalkomma in eine zweite Zelle (KB 2) des ersten Schieberegisters (KB) mit einer vorbestimmten Zeitbeziehung mit Bezug auf das erste Flipflop (NH) gesetzt werden kann.
DE2220329A 1971-04-22 1972-04-21 Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern Expired DE2220329C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT6833671 1971-04-22

Publications (3)

Publication Number Publication Date
DE2220329A1 DE2220329A1 (de) 1972-10-26
DE2220329B2 DE2220329B2 (de) 1981-06-11
DE2220329C3 true DE2220329C3 (de) 1982-02-11

Family

ID=11309023

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2220329A Expired DE2220329C3 (de) 1971-04-22 1972-04-21 Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern

Country Status (6)

Country Link
CA (1) CA978653A (de)
CH (1) CH550438A (de)
DE (1) DE2220329C3 (de)
FR (1) FR2136620A5 (de)
GB (5) GB1388594A (de)
SU (1) SU568398A3 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4036430A (en) * 1976-05-13 1977-07-19 Ebco Industries, Ltd. Manually operable card reader
GB2142176A (en) * 1983-06-24 1985-01-09 Hawker Siddeley Revenue Contr Read and erase device
GB2241810A (en) * 1990-03-09 1991-09-11 Mars Inc Data card reader
US5619198A (en) * 1994-12-29 1997-04-08 Tektronix, Inc. Number format conversion apparatus for signal processing
US6263426B1 (en) 1998-04-30 2001-07-17 Intel Corporation Conversion from packed floating point data to packed 8-bit integer data in different architectural registers
US6266769B1 (en) 1998-04-30 2001-07-24 Intel Corporation Conversion between packed floating point data and packed 32-bit integer data in different architectural registers
DE10056047C1 (de) * 2000-11-11 2002-04-18 Bosch Gmbh Robert Verfahren und Rechenvorrichtung zur automatischen Wandlung eines arithmetischen Ausdrucks von Gleitkomma-Arithmetik in Festkomma-Arithmetik

Also Published As

Publication number Publication date
CH550438A (it) 1974-06-14
GB1388597A (en) 1975-03-26
GB1388595A (en) 1975-03-26
GB1388593A (en) 1975-03-26
GB1388594A (en) 1975-03-26
GB1388596A (en) 1975-03-26
FR2136620A5 (de) 1972-12-22
DE2220329B2 (de) 1981-06-11
DE2220329A1 (de) 1972-10-26
SU568398A3 (ru) 1977-08-05
CA978653A (en) 1975-11-25

Similar Documents

Publication Publication Date Title
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE1255356B (de) Steuervorrichtung fuer taktgesteuerte Rechenmaschinen
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE2220329C3 (de) Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern
DE1114050B (de) Elektronischer Gleitkomma-Rechner
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE2609698C2 (de) Elektronischer Rechner
DE1239124B (de) Vorrichtung zum Einspeichern einer Dezimalzahl in ein Register
DE1954475A1 (de) Zugriffsstelle einer Datenverarbeitungsanlage
DE1957600C3 (de)
DE1549455A1 (de) Rechenmaschine
DE1952175B2 (de) Steuerungsanordnung fuer die anzeige von datenzeichen in tabulierter form
DE1069910B (de) Kommandowerk mit Indexregister
DE1954908A1 (de) Elektronischer Rechner
DE1474017C3 (de) Datenverarbeitungsanlage
DE1103646B (de) Inkrement-Rechenmaschine
DE1549461C3 (de)
DE1774110C3 (de)
DE3501901A1 (de) Binaermultiplikation
DE1302516C2 (de) Verfahren und einrichtung fuer ein serie-serie-rechenwerk
DE1774038A1 (de) Elektronische Rechenanlage
DE2419836B2 (de) Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen

Legal Events

Date Code Title Description
OD Request for examination
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee