DE1499201B2 - Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung - Google Patents

Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung

Info

Publication number
DE1499201B2
DE1499201B2 DE19651499201 DE1499201A DE1499201B2 DE 1499201 B2 DE1499201 B2 DE 1499201B2 DE 19651499201 DE19651499201 DE 19651499201 DE 1499201 A DE1499201 A DE 1499201A DE 1499201 B2 DE1499201 B2 DE 1499201B2
Authority
DE
Germany
Prior art keywords
field
character
register
characters
pattern
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.)
Pending
Application number
DE19651499201
Other languages
English (en)
Other versions
DE1499201A1 (de
Inventor
Gene Myron Saratoge Calif Johnson Jacob Raymond Calingaert Peter Case Richard Paul Poughkeepsie Boehm Elaine Mane Wappingers Falls Hanf WiI ham Porter Endicott Perkins jun Char les Bertram Endwell Collins Arthur Frederick Greene Jack Ellis Magdall Al bert Allan Rood Amdhal
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1499201A1 publication Critical patent/DE1499201A1/de
Publication of DE1499201B2 publication Critical patent/DE1499201B2/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • 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
    • 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/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • 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/30094Condition code generation, e.g. Carry, Zero flag
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3856Operand swapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Executing Machine-Instructions (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Debugging And Monitoring (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)

Description

Die Erfindung betrifft eine Schaltungsanordnung zur Umwandlung von Informationen in Bytedarstellung, die in gepackter Form vorliegen, unter Benutzung eines in einem Speicher oder Register vorhandenen Musterfelds in eine ungepackte Form.
In Datenverarbeitungsanlagen werden die Ergebnisse oft als Rohdaten dicht gepackt gespeichert, um eine optimale Ausnutzung der Speicher zu erreichen. Für die Ausgabe, z. B. zum Drucken, müssen diese Daten aufbereitet werden. Aufbereitung bedeutet Umwandlung in eine übersichtliche und gut erkennbare Form, z. B. durch Einsetzen von Dezimalpunkten, arithmetischen Vorzeichen oder Währungssym- · bolen, durch Trennen verschiedener Zahlen mittels Leerstellen oder Füllzeichen, durch Kennzeichnung von Summen mit einem Stern, durch Unterdrückung führender Nullen usw.
Es sind Rechenanlagen bekannt, in denen für die Aufbereitung von Daten zur Ausgabe ein Steuerwort im Zusammenhang mit den Rohdaten yerwendet wird. Dabei gibt das Steuerwort die gewünschte Ausgabeform an und enthält z. B. Dezimalpunkte sowie Leerstellen zum Einsetzen der auszugebenden Zeichen. In einem ersten Durchgang werden Steuerwort und auszugebendes Datenwort miteinander gemischt, indem, beginnend bei den Stellen niedriger Ordnung und fortlaufend zu den Stellen höherer Ordnung, die Zeichen beider Wörter eines nach dem andern verarbeitet werden. Um die Aufbereitung zu vervollständigen, z. B. um führende Nullen zu unterdrücken oder um an Leerstellen Schutzzeichen einzusetzen, muß das Ergebniswort in weiteren Durchgängen in der Aüfbereitungseinrichtung behandelt werden. ■
Die Notwendigkeit mehrerer Durchgänge ist ein Nachteil, und es ist deshalb erwünscht, die Datenaufbereitung in einem einzigen Durchgang zu ermöglichen und dabei noch weitere Vorteile zu gewinnen. Auch in der französischen Patentschrift 1 278 635 ist eine Schaltungsanordnung zur Aufbereitung von Daten, insbesondere-,zur Datenausgabe, in Datenver- . arbeitungseinrichtungen beschrieben. Hier werden von einer besonderen Vorrichtung die. für den Druck bestimmten Daten beim Ausgeben automatisch entsprechend einem gewünschten Druckbild geordnet. Jedoch zeigt diese Patentschrift keine gepackte Informationsdarstellung; in Byteform. Auch stehen bei dieser Anordnung' die. vorher aufbereiteten Daten nicht unmittelbar im" Zusammenhang mit den nachfolgend aufzubereifenden Daten, weshalb keine Signifikanz-Merkbits;,erzeugt und zwischengespeichert werden. Eine Umwandlung von Daten in gepackter Bytedarstellung' in eine ungepackte; Bytedarstellung ist deshalb mit der Anordnung nach der französischen " Patentschrift nicht rnpglich. , · .
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Schaltungsanordnung zur Aufbereitung von Informationen in Bytedarstellung in gepackter Form und ungepackter Form zu schaffen, damit eine "Verarbeitung von gepackten Bytes mit ungepackten Bytes möglich ist, ohne daß der Programmierer die verschiedenen Formen der Datendarstellung zu beachten braucht.
Die erfindungsgemäße Lösung der Aufgabe besteht darin, daß dem das Musterfeld enthaltende Register und dem das Datenfeld enthaltende Register ein weiteres Register zugeordnet ist, das in Abhängigkeit von einer vorhergehenden Umwandlung, dem Vorzeichen und sonstigen Markierungsbits des Datenfeldes einstellbar ist und zusammen mit dem Inhalt des Musterfeldes die Umwandlung eines im Datenfeld stehenden Bytes steuert und daß das Datenfeldregister nur so viele Stellen enthält, wie vom Musterfeldregister ansteuerbar sind.
Der technische Fortschritt dieser Maßnahme besteht darin, daß durch die Erzeugung und Zwischenspeicherung der signifikanten Bits auch in Abhängigkeit von dem bereits vorher umgewandelten Byte überhaupt erst eine byteweise Umwandlung von einer Form in die andere möglich ist,' da unter anderem das Vorzeichen und die durch die Umwandlungsoperation des vorhergehenden Bytes erzeugten.Signifikanzbits bei der nachfolgenden Byteumwandlung berücksichtigt werden können.
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Ausführungsbeispiele der Erfindung werden nun an Hand der Zeichnungen näher beschrieben. Es zeigt F i g. 1 Datenanordnungen,
F i g. 2 eine Tabelle für Regeln von Aufbereitungsoperationen, ·,■■·'·■ ;·
F i g. 3 eine Schaltungsanordnung für die Datenaufbereitung,
F i g. 4 ein Ablaufdiagramm für Aufbereitungsoperationen. :
Allgemeine Beschreibung
Die Anordnung der Datendarstellung im Speicher oder in den Registern zeigt Fig. 1.
Im allgemeinen werden die Daten in Bytes unterteilt, wobei jedes Byte acht Bits umfaßt (Fig. 1 a). Ein Byte kann ein alphanumerisches Zeichen oder zwei Dezimalziffern darstellen. Da vier Bits zur Verschlüsselung von Dezimalziffern ausreichen, kann jedes Byte in zwei Vier-Bit-Gruppen für zwei Dezimalziffern aufgeteilt werden. Diese Darstellung wird die gepackte Form genannt (Fig. 1 b). Das zu einer Zahl gehörende Vorzeichen steht immer in den rechten (niedrigen) vier Bits des letzten Bytes dieser Zahl. Zur Vereinfachung der Schaltkreise und zur Erleichterung der Arbeit ist. es manchmal notwendig, daß die hohen vier Bits und die niedrigen vier Bits eines Bytes ihre Plätze tauschen. Dieser Vorgang wird als »Kreuzen« bezeichnet. Fig. Ic zeigt die Datendarstellung in ungepackter Form, bei der jedes Byte vier Zonenbits als hohe und vier numerische Bits als niedrige vier Bits enthält. Alphabetische und Sonderzeichen können auf diese Art dargestellt werden. Um numerische Ziffern in gepackter Form gleichzeitig mit alphanumerischen ZeicKen verarbeiten zu können, müssen sie erst in der Weise umgewandelt werden, daß die Ziffern eines Bytes in gepackter Form auf die niedrigen'vier Bits zweier Bytes in ungepackter Form verteilt werden. In diesen Fällen muß ein Präfix »1111« in die hohen vier Bits der Bytes eingesetzt werden.,
Ein Beispiel für die Umwandlung von der gepackten Form in die ungepackte Form wird in dieser Beschreibung später gegeben. Fig. Id zeigt die Anordnung des Ausgabebefehls. Jeder Befehl besteht aus 48 Bits: ein Byte für den Operationsteil, ein Byte zur Angabe der Länge des Musterfeldes, und zweimal zwei Bytes für die ersten Adressen des Musterfeldes und des Datenfeldes.
Aufbereitungsoperation
Es sei angenommen, daß die aufzubereitenden Daten im Speicher in sogenannten »Datenfeldern« enthalten seien, während die gewünschte Form des Ergebnisses in »Musterfeldern« angegeben ist.
Das Musterfeld hat die ungepackte Form und kann alle gebräuchlichen Zeichen enthalten. Drei Sonderzeichen werden als Steuerzeichen benutzt.
Das Datenfeld hat die gepackte Form und darf nur iq gültige Ziffern oder Vorzeichen enthalten.
Die im Datenfeld enthaltenen Daten werden unter der Steuerung des Musterfeldes aufbereitet und dabei von der gepackten in die ungepackte Form umgewandelt. Das Ergebnisfeld nimmt schließlich die Stelle des Musterfeldes ein. Die Aufbereitung schließt ein: Einsetzen von Vorzeichen und Interpunktionszeichen, Unterdrückung oder Erhaltung führender Nullen. Sie erleichert auch die spätere Unterdrückung von Feldern, die nur Nullen enthalten, durch das Programm. Mehrere Zahlen können in einer Operation aufbereitet werden, und es kann auch alphanumerischer Text mit numerischer Information kombiniert werden.
Beide Operanden werden von links nach rechts verarbeitet, und zwar immer jeweils ein Zeichen. Das Datenfeld darf nicht mehr oder weniger Zeichen enthalten, als von dem Musterfeld vorgeschrieben wird. Welches Zeichen jeweils im Ergebnisfeld gespeichert werden soll, wird bestimmt durch das Zeichen vom Datenfeld, durch das Musterfeldzeichen, und durch den Zustand eines bistabilen Elementes, das »Signifikanzmerker« genannt wird. Einer der folgenden drei Vorgänge kann eintreten:
1. das Zeichen aus dem Datenfeld wird an Stelle des Musterfeldzeichens gespeichert,
2. das Musterfeldzeichen bleibt unverändert,
3. ein Füllzeichen wird gespeichert.
Der Signifikanzmerker wird dazu benutzt, einen dieser Vorgänge auszuwählen. Zeichen des Datenfeldes werden durch'Füllzeichen ersetzt, wenn Nullen-Unterdrückung oder -Protektion erwünscht wird. Ziffern, die auf jeden Fall im Ergebnis gespeichert werden sollen, seien sie null oder nicht, werden signifikant genannt. Musterfeldzeichen, die signifikanzabhängig oder vorzeichenabhängig sind, werden ersetzt oder bleiben erhalten, wie z. B. Interpunktionszeichen oder Kreditzeichen. Der Signifikanzmerker wird schließlich auch dazu benutzt, das Vorzeichen der Datenfeldzahl zu speichern.
Der Signifikanzmerker wird am Anfang der Operation in den Null- oder Pluszustand gesetzt, und sein Zustand wird später durch Zeichen des Datenfeldes und des Musterfeldes verändert.
- Drei Musterfeldzeichen haben bei der Aufbereitungsoperation besondere Bedeutung. Es sind dies:
a) Das Ziffernauswählzeichen:' r
b) Das Signifikanzbeginnzeichen: (
c) Das Feldtrennzeichen: )
Diese drei Steuerzeichen werden entweder durch ein Datenfeldzeichen oder durch ein Füllzeichen ersetzt. Das Ziffernauswählzeichen »'« bewirkt, daß entweder ein Datenfeldzeichen oder das Füllzeichen im Ergebnisfeld eingesetzt wird. Das Signifikanzbeginnzeichen »(« hat die gleiche Funktion, bewirkt aber außerdem, daß die folgenden Ziffern als signifi-
35 kant behandelt werden. Das Feldtrennzeichen »)« kennzeichnet das Ende einzelner Zahlen, wenn ein Datenfeld mehrere Zahlen enthält, die in einer einzigen Operation aufbereitet werden. Dieses Steuerzeichen wird durch das Füllzeichen ersetzt. Der Signir fikanzmerker wird auf null gesetzt, und die Prüfung, ob die gerade behandelte Zahl vollständig null ist, wird von neuem begonnen, ohne Rücksicht auf das bisherige Ergebnis dieser Prüfung.
Alle übrigen Musterfeldzeichen werden in der' üblichen Weise behandelt, d. h., wenn der Signifikanzmerker auf »1« steht, bleibt das Musterfeldzeichen unverändert; wenn der Signifikanzmerker auf null steht, wird das Musterfeldzeichen' durch das Füllzeichen ersetzt. ■'..'.
Wenn das Musterfeldzeichen ein Ziffernauswähl·- zeichen oder ein Signifikanzbeginnzeichen ist, wird das nächste Datenfeldzeichen untersucht. Das Datenfeldzeichen ersetzt das Musterfeldzeichen, wenn der Signifikanzmerker auf »1« steht oder wenn es selbst nicht null ist. Falls eine von null verschiedene Ziffer eingesetzt wird, während der Signifikanzmerker auf null steht, wird der Signifikanzmerker auf »1« gesetzt, um dadurch anzuzeigen, daß die folgenden Ziffern bedeutsame Ziffern sind. Wenn der Signifikanzmerker auf null steht und gleichzeitig die Datenfeldziffer auch null ist, wird das Füllzeichen an Stelle des Musterfeldzeichens eingesetzt. Wenn ein Datenfeldzeichen in das Ergebnis eingesetzt wird, wird es von der gepackten in die ungepackte Form umgewandelt. Dabei wird in den Zonenteilen, d. h. in die hohen vier Bits, die Ziffernfolge 1111 eingesetzt.
Die Datenfeldzeichen werden während einer Aufbereitungsoperation nur einmal untersucht. Sie werden in Paaren, d. h. jeweils acht Bits, aus dem Datenfeld entnommen. Zuerst werden die linken vier Bits untersucht, während die rechten vier Bits verfügbar bleiben, bis das nächste Musterfeldzeichen eine Ziffernprüfung vorschreibt. Jedoch wird unmittelbar nach der Untersuchung der linken vier Bits festgestellt, ob die rechten vier Bits ein Vorzeichen darstellen. Falls ein Pluszeichen vorliegt, wird der Signifikanzmerker auf null gesetzt. Falls ein Minuszeichen vorliegt, bleibt er unverändert. Wenn die rechten vier Bits ein Vorzeichen darstellen, werden sie nicht mehr als Ziffffer behandelt, und ein neues Zeichen wird aus dem Speicher entnommen und gilt dann als die nächste Ziffer. Ein Pluszeichen setzt den Signifikanzmerker auch dann auf null, wenn er unmittelbar zuvor durch eine von Null verschiedene Ziffer oder durch das Signifikanzbeginnzeichen auf »1« gesetzt wurde. ■
Das Füllzeichen wird im Laufe der Ausgabeoperation aus dem Musterfeld entnommen und in einem Register separat gespeichert. Das erste Zeichen des Musterfeldes wird als Füllzeichen benutzt. Dieses erste Zeichen wird unverändert ins Ergebnisfeld übernommen.
Um die Unterdrückung von Zahlen zu ermöglichen, die vollständig Null sind, werden Zustandsmerker benutzt, die anzeigen, ob die zuletzt ausgegebene Zahl vollständig Null war und welche Vorzeichen sie hatte. Wenn eine Zahl vollständig Null war, wird diese Tatsache am Ende der Aufbereitungsoperätion in einem der Zustandsmerker gespeichert.
Wenn ein Datenfeld, das mehrere Zahlen enthält, in einer Aufbereitungsoperation behandelt wird, so gibt der Zustandsmerker nur Aufschluß über die
Zahl, die nach dem letzten Feldzeichen behandelt wurde.
Die Tabelle in F i g. 2 gibt Aufschluß über Einzelheiten der Aufbereitungsoperation. Die Spalte ganz links enthält die Musterfeldzeichen und ihre Benennung. Die nächste Spalte gibt an, ob ein Datenfeldzeichen untersucht wird oder nicht. Die nächsten Spalten enthalten Angaben über den Zustand des Signifikanzmerkers und über den Wert des gerade behandelten Datenfeldzeichens. Von ihnen hängt das Ergebnis ab. Die sechste Spalte gibt an, welches Zeichen in das Ergebnisfeld eingesetzt wird, und die siebte Spalte zeigt, wann der Zustandtrigger 57 auf »1« oder »0« gesetzt wird.
, Grundsätzlich ist das Datenfeld kürzer als das Musterfeld, da jedes Byte des Datenfelds zwei Ziffern oder eine Ziffer und ein Vorzeichen enthält. Wenn mit einem einzigen Befehl mehrere Zahlen aufbereitet werden, gilt die Nullanzeige nur für das letzte Teilfeld.
Aufbereitungsoperation mit Adressenspeicherung
Diese Operation hat die gleiche Wirkung wie die einfache Aufbereitungsoperation, jedoch wird zusatzlieh die Adresse eines Bytes im allgemeinen Register 1 gespeichert.
Das Datenfeld wird unter Steuerung des Musterfeldes aufbereitet, und die Adresse der ersten bedeutsamen Ziffer im Ergebnis wird im allgemeinen Register gespeichert. Auch hier tritt das Ergebnisfeld an die Stelle des Musterfeldes.
Die genannte Adresse wird immer dann gespeichert, wenn eine von Null verschiedene Ziffer in das Ergebnisfeld eingesetzt wird, während der Signifikanzmerker im Nullzustand oder Pluszustand ist. Die Adresse wird nicht gespeichert, wenn die Signifikanz zwangsweise herbeigeführt wird durch ein Signifikanzbeginnzeichen aus dem Musterfeld.
Die Aufbereitungsoperation mit Adressenspeicherung erleichtert das Einsetzen gleitender Währungssymbole durch das Programm. Die Zeichenadresse, welche gespeichert wird, ist um eine Einheit größer als die Adresse, an der das gleitende Währungssymbol eingesetzt werden müßte.
Da die genannte Adresse nicht gespeichert wird, Wenn die Signifikanz zwangsweise herbeigeführt wird, muß in diesem Falle die gewünschte Adresse vor Ausführung des Befehls im Register 1 gespeichert werden.
Wenn durch einen Befehl ein Datenfeld mit mehreren Zahlen aufbereitet wird, wird nacheinander die Adresse der ersten bedeutsamen Ziffer jeder Zahl gespeichert. Nur die letzte dieser Adressen steht nach Ausführung des Befehls zur Verfügung.
Zum besseren Verständnis der oben gegebenen Erläuterungen werden nachstehend einige Beispiele aufgeführt.
DATENFELD
Beispiel 1
02305-00045 +
MUSTERFELD
Benutztes
Datenfeld-Zeichen
ERGEBNIS:
ADRESSENSPEICHERUNG:
0 2 3
b b 2 3
A
0 5- 0 0 0 4 5 +
05CRbbbb*45
Regel-Nr.: 9 3 2 4 8 1 1 8 7 3 3 6 8 1 1
Zyklus Nr.: 1 2 3 4 5 6 7 - 8 9 10 11 12 13 14 15
Ergebnis im Druck:
23.05 CR *45
ZUSTANDS-MERKER-EINSTELLUNGEN (Beispiel 0 0 0/1 1 TH 1 1) 1 1 1/0 0 0 0 0 0/1 1
52 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
53 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0
S4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
55 0 0 1 0 0 i 0 0 0 0 1 0 0 1 0
S6 0 0 0/1 1 1 1 1 1 1/0 0 0 0/1 1 1 1/0
57 (VORZEICH.)
Zyklus Nr.
9 10 11 12 13 14 15
7 * 0', 2 1 499 20 7 1 1 2 6 + 8 b CR
O r t 0 0
* V 0 : 0 1 1 1 * *
DATENFELD * 2 Beispiel 2 7 4 2 6
MUSTERFELD A 5 C
SIGNIFIKANZ-
MERKER
1 1
ERGEBNIS 5 .1 4
ADRESSEN-
SPEICHERUNG
5
DATENFELD
MUSTERFELD
SIGNIFIKANZ-MERKER
ERGEBNIS
Beispiel 3
. 0 0 0 0 0 7 5-
b ' ',''(.'■' ■ b CR 00 0 0 00 0 1 1 11 1
b ■ bb b b b b 7 5 b":'CR
Ausführliche Beschreibung
Die Aufbereitungsoperationen werden im folgenden an Hand von Fig. 3 ausführlicher beschrieben.
Das in F i g. 4 (4 a, 4 b und 4 c) dargestellte Ablaufdiagramm zeigt den Zusammenhang der Teiloperationen und Verzweigungen einer vollständigen Aufbereitungsoperation und erleichtert die Verfolgung der nachfolgenden Beschreibung. '
ALU 10 (Fig. 3) ist eine Verarbeitungseinheit, mit der arithmetische und logische Operationen ausgeführt werden können. Mit dieser Einheit kann auch festgestellt werden, ob verarbeitete Bitkombinationen überhaupt gültige Ziffern darstellen und ob bestimmte Zeichen oder Bedingungen vorliegen. Dies wird dadurch erreicht, daß von den zu prüfenden Daten festgelegte Größen abgezogen werden, die in bestimmten Speicherplätzen zur Verfügung stehen.
Die Datenübertragung in die Einheit ALU 10 erfolgt über die Sammelleitung A14 oder Sammelleitung B15 durch zwei Pufferregister .A (12) bzw. B (13). Von der Einheit ALU werden die Daten zu den anderen Einheiten über die Sammelleitung Z16 übertragen. Der Ablauf von Datenübertragungen, Prüfvorgängen usw. wird von einer Steuerung 11 dirigiert.
Die Einrichtung enthält eine Anzahl weiterer Register, die alle eine Kapazität von acht Bits haben. Diese Register haben folgende Aufgäben:
Register G (20): Operandenregister
Register D (21):
Register T (22):
Register U (23),
Register V (24):
Register/(25):
Register / (26):
Register M (27),
Register N (28):
Datenzwischenregister
Hilfsregister
Adressenregister für Datenfeld
Adressenregister für Musterfeld
Adressenregister für den Haupt-' speicher ■ '
Register R (17):
Register L (18):
Register S (19):
Pufferregister füf den Speicher
Längenregister, speichert die
Länge des Musterfeldes
Zustandsregister, enthält acht
voneinander unabhängige
Merker zur Speicherung
bestimmter Bedingungen. Eine
genauere Beschreibung folgt
weiter unten
60 Die drei letztgenannten Paare von Registern werden immer zusammenhängend als Sechzehn-Bit-Adressenregister benutzt.
Der Speicher 29 ist ein Magnetkernspeicher. Speicherplätze, deren Adresse im Speicherregister M, N (27, 28) enthalten sind, werden mit Hilfe eines Entschlüßlers 31 ausgewählt. Ein kleiner Teil 29 des Speichers 30 enthält eine Anzahl allgemeiner Re-; gister, z.B. Bl, BI und 1. Die Datenübertragung aus dem Speicher und in den Speicher erfolgt immer über das Register R (17) über die Leitungen 32 und 33. Die Regeneration von Daten, die gerade aus dem Speicher ausgelesen wurden, erfolgt ebenfalls durch Wiedereinschreibung vom Register R durch die Lei-: tung 32. Daten, die in den Adressenregistern /, / (25, 26) oder U, V (24, 25) enthalten sind, werden zum Adressenregister M, N (27, 28) über die Sammelleitung M (44) bzw. Sammelleitung N (45) übertragen.
Das Zustandsregister 19 enthält acht voreinander unabhängige Merker, in denen verschiedene Bedim gungen gespeichert werden, die sich während der Aufbereitungsoperation ändern. Jeder dieser Merker kann zwei verschiedene Zustände annehmen, die als »0« bzw. »1« bezeichnet werden. Sie können durch Steuersignale in jeden dieser beiden Zustände gesetzt werden.
ίο
Die Merker zeigen folgende Bedingungen an:
Merker 50 (34):
Merker 51 (35):
Merker 52 (36):
Merker 53 (37):
Merker 54 (38):
Merker 55 (39):
Merker 56 (40):
Merker 57 (41):
Art der Operation, die ausgeführt wird
0 = Aufbereitung / 1 = ,Aufbereitung und Adressenspeicherung
nicht benutzt ·
Vorhandensein einer signifikanten Ziffer
0 — Feld enthält nur Nullen 11 = Feld enthält von Null verschiedene Ziffer -
Art des zweiten Zeichens des gerade behandelten Zeichenpaares aus dem Datenfeld 0 = Ziffer / 1 = Vorzeichen ,- ■ , ■
Wert der gerade verarbeiteten Datenfeldziffer
0 = nicht Null / 1 = Null "■ .. , . .:.;..'.. \. ' ,';
Art des Vorzeichens, falls ein solches in dem gerade verarbeiteten Datenfeldzeichenpaar vorhanden ist
0 = nicht minus / 1 == minus
gerade verarbeitete Ziffer aus dem Datenfeldzeichenpaar /,
0 = erste Ziffer / 1 = zweite Ziffer
Signifikanzzustand
0 = nicht signifikant / 1 = signifikant ......
Zu Beginn einer Aufbereitungsoperation wird der AufbereitungsbefehT dem Speicher entnommen und sein Inhalt auf Register verteilt. Die Anordnung des Aufbereitungsbefehls ist in Fig. Id angegeben. Er umfaßt achtundvierzig Bits: der Operationsteil OP mit acht Bits bezeichnet die auszuführende Operation (»Aufbereitung« oder »Aufbereitung mit Adressenspeicherung«). Die folgenden acht Bits sind mit L bezeichnet und geben die Länge des Musterfeldes im Speicher an. Bl (vier Bits) und Dl (acht Bits) bezeichnen die Adresse des ersten Zeichens des Musterfeldes im Speicher. In entsprechender Weise bezeichnen B 2 und Ό 2 die Adresse des ersten Zeichenpaares des Datenfeldes im Speicher. Die zwei tatsächlichen Adressen werden erhalten, indem man Dl {oder D 2) zu dem Inhalt des Registers im Speicherteil 30 addiert, der durch die Adresse Bl (oder B 2) bezeichnet ist. Es sei angenommen, daß im Speicher ein Musterfeld mit den Zeichen
und ein Datenfeld mit den Ziffern und Vorzeichen »01372-00045+«
45
gespeichert sind, so wie es im Beispiel 1 weiter oben angegeben ist. Die Zustände der Merker während der " im folgenden beschriebenen Operation körinen deshalb der Tabelle für das Beispiel 1 weiter oben entnommen werden. Die Länge des Musteffeldes be-r trägt 15 (»CR« zählt als ein Zeichen). Das erste Musterfeldzeichen, das auch als Füllzeichen benutzt wird, ist eine Leerstelle. Es wird mit b bezeichnet.
Operationsbeginn
Die,mit dem Aufbereitungsbefehl gegebenen Daten werden wie folgt verteilt: OP ins Register G (20), L ins Register L (18), Musterfeldadresse ins Register /, / (25, 26) und Datenfeldadresse ins Register U, V (23,24).
Entsprechend der Operationsangabe, die im Rer gisterG(20) enthalten ist, wird der Merker 50 (34) ' auf null gesetzt, wenn, es sich um. eine »Aufbereitungsoperation« handelt, oder er wird auf »1« gesetzt, wenn es sich um eine »Aufbereitungsoperation mit Adressenspeicherung« handelt. Die anderen Zustandsmerker 51 bis 57 (35 bis 41) werden als Anfangsbedingung auf null gesetzt.
Erstes Musterfeldzeichen Pl
(Kein Datenfeldzeichen benutzt; Regel 9)
Die Adresse des ersten Musterfeldzeichens Pl wird vom Register/,/ (25, 26) ins Adressenregister M, N (27, 28) übertragen. Das Zeichen Pl wird aus dem Speicher 29 ausgelesen und im Register R (17) gespeichert. Da das erste Musterfeldzeichen (ein Leerzeichen) später als. Füllzeichen benützt werden soll, wird es. ebenfalls ins Hilfsregister T (22) übertragen.
' Nun wird eine Prüfung vorgenommen, ob das im Register R (17) enthaltene Zeichen Pl ein Steuerzeichen ist. Da in allen Steuerzeichen die niedrigen vier Bits gleich llOl sind, kann dies dadurch geschehen, daß man von Pl die Kombination 000Ö1101 im ALUlO abzieht und das Ergebnis in den niedrigen vier Bits prüft. Falls dort das Ergebnis null· ist, liegt ein Steuerzeichen vor. Da hier jedoch angenommen war, daß Pl das Füllzeichen ist, liegt also kein Steuerzeichen vor. In diesem Falle ist der nächste Schritt eine Prüfung, ob der Signifikanzmerker. eingeschaltet ist (57 = I)- ..Da der Signifikanzzustand noch null ist, wird im nächsten Schritt das Musterfeldzeichen Pl vom Register T (22) jn den Speicherplatz eingelesen, d^r durch die Adresse im Register/, / (25, 26) angegeben ist. Das heißt, das erste, Musterfeldzeichen, weiches dass Füllzeicheh ist, wird' an seinem alten Platz wieder eingeschrieben. Damit hat man das erste Zeichen des Ergebnisfeldes erhalten.
Zweites, Musterfeldzeicheri P 2 ''
(Das erste Datenfeldzeichen wird benutzt; Regel 3)
Die Adresse im; Register/,/ (25, 26) wird'erhöht durch AddierurigV einer Eins, um damit die Adresse des zweiten .Musterfeldzeicheri.P2 zu erhalten. Die Größe L, \Velche im Register L (18) enthalten ist, wird um eine Einheit vermindert und nimmt damit
den: Wert »1.4« an. Nun wird eine. Prüfung vorge^ nommen, ob L = O ist, um hierdurch festzustellen, ob das Ende des Musterfeldes schon erreicht wurde. Da L = 0, wird das nächste Musterfeldzeichen P 2 (') aus dem Speicherplatz ausgelesen, der durch die Adresse im Register/,/ (25, 26) angegeben ist. Es wird im Register G (20) zur späteren Verwendung gespeichert. Der nächste Schritt ist eine Prüfung, ob P 2 ein Steuerzeichen ist, wie dies bereits für Pl beschrieben wurde. Da es sich hier um ein Steuerzeichen handelt, wird ein weiterer Test gemacht, um festzustellen, ob P2 ein- Feldtrennzeichen ist: oder nicht. Die Steuerzeichen. unterscheiden sich, nur im dritten und vierten Bit. Deshalb kann die Prüfung, welche Art von Steuerzeichen vorliegt, in ähnlicher Weise vorgenommen werden wie die Prüfung, ob überhaupt ein Steuerzeichen vorliegt.
Da die Datenfeldzeichen im Speicher in gepackter Form enthalten sind, werden sie in Paaren ausgelesen, und es muß ein Anzeichen dafür vorliegen, ob gerade die erste oder die zweite Ziffer eines Ziffernpaares aus dem Datenfeld verarbeitet wird. Diese Informä- ß tion enthält der Merker 5 6 (40). Im nächsten Schritt wird nun 56 abgefragt. Da noch kein Datenfeldzeichen, ausgelesen wurde, wird als nächstes eine erste Ziffer verarbeitet, und die entsprechenden Schritte werden eingeleitet.
Das erste Paar von Datenfeldzeichen D11 und D12 wird aus dem Speicherplatz ausgelesen, der durch die Adresse im Registnr U, V (23, 24) angegeben ist, und in das Register D (21) übertragen. Diese beiden Zeichen sind »0« und »2«. Dann wird im ALU 10 eine Prüfung gemacht, ob die erste Datenfeldziffer gleich null ist. Der Merker 54 (38) wird auf eins gesetzt, da die erste Datenfeldziffer tatsächlich gleich null ist.
In den folgenden Schritten wird der Merker 56 (40) auf eins gesetzt, so daß in dem Zyklus für das nächste Musterfeldzeichen.die zweite Datenfeldziffer verarbeitet wird. Außerdem wird die Datenfeldadresse im Register!/, V (23, 24) durch Addition um eine Einheit erhöht, so daß, wenn die beiden ersten Datenfeldziffern gebraucht worden sind, das nächstfolgende J) Paar von Datenfeldziffern aus dem Speicher ausgelesen werden kann. . -
Falls im Datenfeld ein Vorzeichen enthalten ist, muß es immer das zweite Zeichen in einem Datenfeldzeichenpaar sein (niedrige vier Bits). Deshalb muß, sobald das erste Datenfeldzeichen eines Paares benutzt wird, eine Prüfung gemacht werden, ob das nächste Zeichen ein Vorzeichen sein wird, und ob es ein Plus- oder Minuszeichen ist, damit es nicht etwa als Ziffer verarbeitet wird und damit gewisse Operationen, die beim Auftreten eines Vorzeichens erforderlich sind, eingeleitet werden können. ;;: :- : Diese Prüfung wird durch Subtraktionen .vorgenommen, wie es in ähnlicherWeise schon weiter oben beschrieben wurde. Falls das zweite Patenfeldzeichen ein Vorzeichen ist, wird der Merker.5 3 (37) auf eins gesetzt,' und falls; es ein Minuszeichen ist, wird, der Merker 5 5 (39) auch auf eins gesetzt./. Da angenommen _ wurde, daß das nächste Datenfeldzeichen eine »2« ist, bleiben beide.Merker im Nullzustand.
Nun wird wieder eine Prüfung vorgenommen,...ob die gerade behandelte Patenfeldziffer gleich null ist, in dem der Merker 54 (38) befragt wird.
Der- Merker 54 = 1 und .zeigt damit an, daß die Patenfeldziffer null ist,, und deshalb ist der nächste Schritt eine Prüfung zur Feststellung, ob der Signifikanzzustand = 1 ist. Der Signifikanz-Merker 57 (41) wird abgefragt, und da er null ist, wird das im Register T (22) enthaltene Füllzeichen in den Speicherplatz, eingeschrieben, der durch die Adresse von Pl im Register7, / (25, 26) angegeben ist. Auf diese Weise wird das zweite Musterfeldzeichen auch durch das Füllzeichen (Leerstelle) ersetzt. : ;
. In den folgenden Schritten werden noch Prüfungen
ίο vorgenommen, ob' das Musterfeldzeichen P2 ein Signifikanzbeginnzeichen war öder ob das nächste Datenfeldzeichen D12 ein Vorzeichen ist und, falls ja, ob es ein Minuszeichen ist. Diese Prüfungen sind nötig, um einige der Zustandsmerker entsprechend den gegenwärtigen Bedingungen für den nächsten Zyklus einzustellen.'
Im vorliegenden Falle wird der Zustand keines Merkers verändert. · :
Drittes Musterfeldzeichen P 3 (Das zweite Datenfeldzeichen wird benutzt; Regel 2)
Die Adresse im Register /, / (25, 26) wird um eins erhöht, um auf diese Weise die Adresse des dritten MüsterfeldzeichensP3 zu erhalten. Der Inhalt des Registers L (18) wird wieder erniedrigt, so daß sich L = 13 ergibt. Die Zustandsmerker 53 (37), 54 (38) und 55 (39) werden alle auf null gesetzt; Dann wird eine Prüfung vorgenommen, ob das Ende des Musterfeldes bereits erreicht wurde (L = 0). Da L = 13, wird das nächste Musterfeldzeichen P 3 (')-aüs dem Speicher gelesen und in das. Register G (20) in der gleichen Weise übertragen, wie es für P 2 beschrieben wurde. Auch die nächsten Schritte sind die gleichen, wie es für P 2 erklärt wurde,1 bis der Merker S 6 (40) abgefragt wird, ob die zweite Patenfeldziffer gerade verarbeitet wird. Da dies der Fall istj erfolgen jetzt die nachfolgenden Teiloperationen, die charakteristisch für die Verarbeitung einer zweiten Patenfeldziffer sind: der Inhalt des Registers D (21) wird mit Hilfe der Einheit ALUlO gekreuzt, d. h.,· die hohen vier Bits werden durch die niedrigen vier Bits ersetzt, und umgekehrt. Das entspricht: einer ,Vertauschung der Plätze des ersten und zweiten Qatenfeldzeichens D11 und D12 im Register D (21), wodurch die Steuerung aller Operationen und Übertragungen, denen das gerade behandelte Zeichen unterzogen werden soll, wesentlich vereinfacht wird. ■
In der Einheit ALU 10 wird eine Prüfung vorgenommen, ob die zweite Patenfeldziffer D12 = 0 ist. Da sie den Wert »2« hat, bleibt der Zustandsmerker 54 (38) unverändert im Nullzustand. Der Merker 56 (40) wird auf null gesetzt, so: daß das sechste Datertfeldzeichen, das verarbeitet wird, das erste Zeichen von dem nächsteh Zeichenpaar ist, das aus dem Speicher entnommen wird. Durch Befragung des Merkers 54 (38) wird festgestellt, ob die verarbeitete Datenfeldziffer = 0 ist. Pa-sie nicht gleich null ist, wird der Merker 5 2 (36) auf eiris gesetzt, so daß bei
6ö einer späteren Prüfung festgestellt werden kann, daß in dem vorliegenden Feld eine signifikante Ziffer vorlag. Dieser Vorgang ist erforderlich, um später eine Zähl, die vollständig null ist, unterdrücken zu körinen.
■;. Im nächsten Schritt wird durch Befragung des Zustandsmerkers 57 (41) festgestellt, ob der Signifikanzzustand eins ist.' Dies ist bei der Verarbeitung einer signifikanten Patenfeldziffer- notwendig,-·' weil der
Signifikanzmerker, wenn er noch im Nullzustand war, später auf eins gesetzt werden muß. , Da der Signifikanzzustand im vorliegenden Falle noch null ist,, wird im folgenden Schritt eine Prüfung gemacht, um festzustellen, ob die ausgeführte Operation »Aufbereitung mit Adressenspeicherung« ist. Falls ja, wird die Adresse des Musterfeldzeichens, die im Register/,/ (25, 26) enthalten ist, in das allgemeine Register 1 des Registerteils 30 des Speichers übertragen. Dies ist die Adresse der ersten signifikanten Ziffer, die im Ergebnisfeld erscheinen wird. Ein: Währungszeichen oder ein anderes Zeichen kann später in der Stelle, die direkt neben der ersten signifikanten Ziffer liegt, eingesetzt werden, wenn man diese Adresse um eine Einheit vermindert.
Anschließend wird mit dem Signifikanzmerker 57 (41) der Signifikanzzustand auf »1« gesetzt (sowohl in der Operation »Aufbereitung« als auch in der Operation »Aufbereitung mit Adressenspeicherung«). Es werden also nach dem Auftreten der ersten Datenfeldziffer, die nicht null ist, alle folgenden Datenfeldziffern als signifikant behandelt, bis der Zustandsmerker57 durch ein Musterfeldzeichen wieder auf null gesetzt wird. ■ , . . .. . Schließlich wird die eben verarbeitete Datenfeldziffer in den.Speicherplatz eingeschrieben, der durch die Adresse von P 3 angegeben wird, die im Register I, J (25, 26) enthalten ist. Da das Zeichen/) 12 in den hohen vier Bits des Registers/) (21) steht, wird ein Kreuzen und eine Übertragung ins Register R (17) durch die Einheit ALU10 vorgenommen. Jetzt steht die Datenfeldziffer D12 in den niedrigen vier Bits des Registers R (17), und in die hohen vier Bits wird die Gruppe »1111« eingesetzt (Präfix der numerischen Zeichen in der ungepackten Form). Danach kann die zweite Datenfeldziffer in ungepackter Form in den Speicher übertragen werden. Die dritte Ergebnisziffer ist nun gleich der zweiten Datenfeldziffer, d. h. gleich »2«. Die letzten Schritte dieses Zyklus sind die gleichen, wie es oben für P 2 beschrieben wurde. ■■■■.·■
Viertes Musterfeldzeichen P 4 (Das dritte Datenfeldzeichen wird benutzt; Regel 4)
Die Adresse des Musterfeldzeichens im Register /, / (25, 26) wird wiederum erhöht, um die Adresse von P4 zu erhalten.· Der Inhalt des Registers L (18) wird vermindert, so daß L gleich »12« wird. Eine Prüfung, ob das Ende des Musterfeldes erreicht ist, hat ein negatives Ergebnis, und deshalb wird das nächste Musterfeldzeichen P 4, das ein Signifikanzbeginnzeichen ist, aus dem Speicher gelesen und in das Register G (20) übertragen.
Die nächsten Schritte sind die gleichen wie für P 2 und P 3, bis die Prüfung vorgenommen wird, ob jetzt die zweite Ziffer eines Ziffernpaares vom Datenfeld verarbeitet wird. Dies ist nicht der Fall (S 6■— 0). Deshalb erfolgen jetzt die Teiloperationen zur Verarbeitung der ersten Ziffer eines Datenfeldziffernpaares, wie es unter P 2 beschrieben wurde. Das zweite Ziffernpaar aus dem Datenfeld, d. h. D 21 und D 22, welche die dritte und die vierte Ziffer des Datenfeldes darstellen, wird jetzt aus dem Speicherplatz ausgelesen, der durch die Adresse im Register Ü, V (23, 24) gegeben ist. Diese beiden Ziffern haben die Werte »3« und »0« und werden in das Register/) (21) übertragen. Die Ziffer/)21 wird auf- »0« ge^ prüft, und da sie »3« ist, wird der Merker 54 (38) im Nullzustand gelassen. Die nächsten Schritte sind wieder die gleichen, wie es in dem Zyklus für P2 beschrieben wurde (Erhöhung der Datenfeldadresse, Prüfung auf Vorzeichen). Die sich anschließenden weiteren Prüfungen ergeben, daß die gerade verarbeitete Datenfeldziffer nicht null ist und daß der Signifikanzzustand schon bereits »1« ist. Dementsprechend wird im nächsten Schritt die dritte Daten-
iö feldziffer D 21 in den Speicherplatz eingesetzt, den die Adresse von P 4 angibt, die jetzt im Register /, / (25, 26) steht. Die vierte Stelle im Ergebnis enthält also jetzt eine »3«. Die abschließenden Prüfungen haben keinen Einfluß auf die Zustandsmerker, da bereits 57 = 1 und da im Register/) (21) kein Vorzeichen vorliegt.
Fünftes Musterfeldzeichen P 5 zo (Kein Datenfeldzeichen wird benutzt; Regel 8)
Die Musterfeldadresse wird wieder erhöht und der L-Wert um eine Einheit vermindert, so daß jetzt L = Il. Die Merker 53 (37), 54 (38) und 55 (39) werden auf null gesetzt. Der L-Wert zeigt an, daß das Musterfeld noch nicht verbraucht ist, und das nächste Musterfeldzeichen P 5, ein Dezimalpunkt, wird vom Speicher in das Register G (20) übertragen. Eine Prüfung schließt sich an, um festzustellen, ob das jetzt verarbeitete Musterfeldzeichen ein Steuerzeichen ist. Das Ergebnis ist negativ, und die nächste Prüfung stellt durch Befragung des Merkers 57 (41) fest, ob die Signifikanz schon auf »1« steht. Da Merker 57=1, wird das Musterfeldzeichen P5 in seine alte Stelle im Speicher wieder eingeschrieben.
Auf diese Weise wird der im Musterfeld enthaltene Dezimalpunkt in die fünfte Stelle des Ergebnisfeldes übernommen.
Sechstes Musterfeldzeichen P 6 (Das vierte Datenfeldzeichen wird benutzt; Regel 1)
Die ersten Schritte in diesem Zyklus sind die gleichen, wie sie für P 3 weiter oben beschrieben wurden, bis zu dem Zeitpunkt, wo das Kreuzen der beiden Datenfeldziffern/)21 und D22 im Register/) (21) durchgeführt wird. Danach wird D 22, die vierte Datenfeldziffer, daraufhin untersucht, ob sie null ist. Falls ja, wird der Merker 54 (38) auf »1« gesetzt. Der Merker 56 (40) wird auf »0« gesetzt als Vorbereitung für die Verarbeitung der nächsten Datenfeldziffer, welche die erste eines Paares sein wird.
In nachfolgenden Prüfungen wird festgestellt, ob Z)22 = »0« ist und welches der Signifikanzzustand ist. Danach wird die vierte Datenfeldziffer D 22 in dem Platz der Musterfeldziffer P 5 eingeschrieben. Die Umwandlungsoperation in die ungepackte Form ist die gleiche, wie es im Zyklus für P 2 beschrieben wurde. Das Ergebnisfeld enthält jetzt die Ziffer »0« an seiner fünften Stelle. Die abschließenden weiteren Prüfungen bleiben ohne Auswirkung wie in den vorhergehenden Zyklen.
Siebtes Musterfeldzeichen P 7
g. (Das fünfte und sechste Datenfeldzeichen werden benutzt; Regel 1)
Die Musterfeldadresse im Register/,/ (25, 26) wird wieder erhöht, und der L-Wert wird um eine
Einheit vermindert. Das Ende des Musterfeldes ist noch nicht erreicht, und darum wird ein weiteres Musterfeldzeichen (P 5), welches ein Ziffernauswählzeichen ist, aus dem Speicher in das Register G (20) gegeben. Die darauffolgenden Prüfungen, mit denen festgestellt werden soll, um welchen Typ es sich bei dem Musterfeldzeichen handelt, führen zu dem Unterzyklus von Teiloperationen, die für die jeweils erste Ziffer aus einem Ziffernpaar des Datenfeldes ausgeführt werden. Ein neues Zeichenpaar, welches das fünfte und sechste Datenfeldzeichen D 31 und D 32 enthält, wird vom Speicher in das Register D (21) übertragen. Diese beiden Zeichen sind eine »5« und ein Minuszeichen. Der Merker 54 (38) wird im Nullzustand gelassen, weil D 32 nicht null ist. Der Merker 56 (40) wird auf »1« gesetzt. Danach wird die Datenfeldadresse um eine Einheit erhöht, wie dies üblich ist, wenn ein Datenfeldzeichen verarbeitet wird, welches das erste eines Paares ist. In der anschließenden Prüfung wird festgestellt, daß das nächste Datenfeldzeichen ein Minuszeichen ist, und deshalb werden die Merker 53 (37) und 55 (39) auf »1« gesetzt. Da die Datenfeldziffer D 31, die jetzt verarbeitet wird, nicht gleich null ist und da der Signifikanzzustand »1« ist, führen die nächsten beiden Prüfungen zur Einschreibung des Datenfeldzeichens an Stelle des siebten Musterfeldzeichens im Speicher. Also nimmt das siebte Ergebniszeichen den Wert »5« an.
Danach wird durch Befragung des Merkers 53 (37) festgestellt, ob das folgende Datenfeldzeichen D 32 ein Vorzeichen ist. Das ist der Fall, und deshalb wird der Merker 5 6 (40) auf null zurückgestellt. Dies ist deshalb erforderlich, weil ein Vorzeichen nur bestimmte Schaltvorgänge auslöst, aber nicht selbst im Ergebnisfeld gespeichert wird. Falls nun vom nächsten Musterfeldzeichen ein weiteres Datenfeldzeichen angefordert wird, muß dieses vom nächsten Zeichenpaar des Datenfeldes im Speicher entnommen werden. Danach wird geprüft, ob ein Minuszeichen vorliegt. Die Antwort ist ja, und der Signifikanzmerker 57 (41) wird im »1 «-Zustand gelassen. Dies führt im nächsten Zyklus zur Speicherung eines Nachrichtenzeichens, z. B. eines Kreditzeichens, falls ein solches im Musterfeld vorhanden ist.
Achtes Musterfeldzeichen P 8
(Es wird kein Datenfeldzeichen benutzt; Regel 8)
Die ersten Schritte sind die gleichen wie in allen vorausgehenden Zyklen. Das Musterfeldzeichen P 8, welches jetzt aus dem Speicher gelesen wird, ist ein »CR«-Zeichen. Die Prüfungen, ob ein Steuerzeichen vorliegt (nein) und ob der Signifikanzzustand »1« ist (ja), führen zu der Entscheidung, daß das Musterfeldzeichen P 8 in seinen Platz im Speicher wieder eingeschrieben wird, so daß das achte Ergebniszeichen ein »CR«-Zeichen ist. Hierdurch wird angezeigt, daß die vorhergehende negative Zahl negativ ist.
60
Neuntes Musterfeldzeichen P9 : · ■ Es wird kein Datenfeldzeichen verwendet; Regel 7)
Nach Erhöhung der Musterfeldadresse im 7, /-Register (25, 26), Verminderung des Registers L (18), Rückstellen der Merker 53 (37), 54 (38) und 55 (39) auf null und nach der Prüfung, ob das Ende des Musterfeldes erreicht ist (negatives Ergebnis), wird das nächste Muslerfeldzeichen P 9 ausgelesen, welches ein Feldtrennzeichen ist. Die folgenden Prüfungen ergeben, daß ein Feldtrennzeichen vorliegt, und daraufhin werden die Merker 53 (36) und 57 (41) auf null zurückgestellt. Dies geschieht deshalb, weil mit dem nächsten Zeichen ein neues Teilfeld (eine neue Zahl) beginnt, welches eine eigene Signifikanzeinstellung hat und eine eigene Prüfung, ob nur Nullen in diesem Teilfeld vorliegen. Im folgenden Schritt wird das Füllzeichen, welches im Register T (22) gespeichert ist, an Stelle von P 9 eingesetzt, dessen Adresse im Register I, J (25, 26) enthalten ist. Also wird das Ergebnisfeld an Stelle des Feldtrennzeichens eine Leerstelle enthalten.
Zehntes Musterfeldzeichen PlO
(Das siebente Datenzeichen wird benutzt; Regel 3)
Alle Schritte sind die gleichen, wie es im Zyklus für P 2 beschrieben wurde. Das jetzt ausgelesene Datenfeldzeichenpaar enthält D 41 und D 42. Dies sind die siebente und die achte Ziffer aus dem Datenfeld. Das zehnte Zeichen im Ergebnisfeld wird eine Leerstelle (Füllzeichen).
Elftes Musterfeldzeichen Pll
(Das achte Datenfeldzeichen wird benutzt; Regel 3)
Alle Schritte sind die gleichen, wie es im vorhergehenden Zyklus für P10 beschrieben wurde, mit der Ausnahme, daß nun das zweite Zeichen aus einem Datenfeldzeichenpaar benutzt wird (D 42). Das elfte Zeichen im Ergebnisfeld wird eine Leerstelle (Füllzeichen).
Zwölftes Musterfeldzeichen P12
(Das neunte Datenfeldzeichen wird benutzt; Regelö)
Die Adresse im Register /, / (25, 26) wird wieder erhöht, um die Adresse des zwölften Musterfeldzeichens im Speicher zu erhalten. Der Inhalt des Registers L (18) wird vermindert, und das Ergebnis ist L = 4. Die Zustandsmerker 53 (37), 54 (38) und 55 (39) werden auf null zurückgestellt. Es wird geprüft, ob der Inhalt des Registers L (18) gleich null ist. Dies ist nicht der Fall, und das nächste Musterfeldzeichen P12 wird aus dem Speicher gelesen und in. das Register G (20) übertragen. Es ist ein Signifikanzbeginnzeichen. Dies wird durch die beiden nächsten Prüfungen festgestellt, und die anschließende Prüfung durch Befragung von 56 (40), welches gleich null ist, ergibt, daß als nächstes Datenfeldzeichen das erste Zeichen aus dem nächsten Zeichenpaar benutzt werden muß. Die beiden Zeichen D 51 und D 52 mit den Werten »0« und »4« werden aus dem Datenfeld im Speicher ausgelesen und ins Register D (21) übertragen. Ihre Adresse enthält das Register U, V (23, 24). Die nächste Prüfung ergibt, daß D 51 null ist, und der Merker 54 (38) wird dementsprechend auf »1« gesetzt. Außerdem wird der Merker 56 (40) auf »1« gesetzt als Vorbereitung für das nächste Datenfeldzeichen, das benutzt werden soll. Dann wird die Datenfeldadresse noch einmal erhöht, um dadurch die Adresse des letzten Datenfeldzeichenpaares zu erhalten. Eine anschließende Prüfung des Zeichens D 52, das als nächstes benutzt werden wird, ergibt, daß es sich nicht um ein Vorzeichen handelt. Merker
53(37) und 55(39) verbleiben deshalb im Nullzustand.
Danach wird der Merker 54 (38) abgefragt, um festzustellen, ob die gerade verarbeitete Datenfeldziffer gleich null ist. Dies ist der Fall, und da die nächste Prüfung außerdem ergibt, daß der Signifikanzzustand gleich null ist (57 = 0), wird das Füllzeichen, das im Register T (22) gespeichert ist, an Stelle des Musterfeldzeichens P12 im Speicher eingesetzt. Auf diese Weise wird das zwölfte Zeichen im Ergebnisfeld eine Leerstelle. Danach wird festgestellt, ob das eben verarbeitete Musterfeldzeichen, weiches im Register G (20) gespeichert ist, ein Signifikanzbeginnzeichen ist. Dies ist der Fall, und deshalb wird der Signifikanzmerker 57 (41) auf »1« gesetzt, so daß von da an alle Datenfeldzeichen als signifikant behandelt werden, und jedes Musterfeldzeichen, das nicht ein Steuerzeichen ist, wird in das Ergebnisfeld eingesetzt.
In den abschließenden Prüfungen dieses Zyklus soll festgestellt werden, ob als nächstes Datenfeldzeichen ein Vorzeichen vorhanden ist. Da das nächste Datenfeldzeichen aber eine »4« ist, haben diese Prüfungen keine Auswirkung.
Dreizehntes Musterfeldzeichen P13
Stelle des Musterfeldes steht jetzt im Speicher das Ergebnisfeld. Es enthält die Daten des Datenfeldes in aufbereiteter Form. Sein Inhalt ist »bb23.05CRbbb*45«. Falls die ausgeführte Operation »Aufbereitung mit Adressenspeicherung« war, ist jetzt die Adresse der ersten signifikanten Ziffer im allgemeinen Register 1 im Speicher enthalten und kann später dazu benutzt werden, ein Währungszeichen neben der ersten signifikanten Ziffer einzusetzen.
ίο Zwei wichtige Bedingungen des Ergebnisfeldes (oder mindestens des letzten Wertes im Ergebnisfeld, falls es ein Mehrwertfeld ist) sind am Ende der Aufbereitungsoperation in zwei Merkern des Zustandsregisters gespeichert:
Merker 52 (36) zeigt an, ob ein Feld vorhanden war, das nur Nullen enthielt und deshalb beim Drukken unterdrückt werden kann.
Merker 57 (41) gibt das arithmetische Vorzeichen des aufbereiteten Ergebnisses an, d. h., ob es sich um eine positive oder negative Zahl handelt.
Diese beiden Bedingungen, welche zusammen angeben, ob das Ergebnis größer als null, null oder kleiner als null ist, werden in ein Bedingungsregister im Speicher übertragen, so daß das Programm der Datenverarbeitungsanlage später davon Gebrauch machen kann.
(Es wird kein Datenfeldzeichen benutzt; Regel 8)
Alle Schritte sind die gleichen wie im Zyklus P 5. Als dreizehntes Zeichen wird im Ergebnisfeld ein Stern (*) eingesetzt.
Vierzehntes Musterfeldzeichen P14
(Das zehnte Datenfeldzeichen wird benutzt; Regel 1)
Die Schritte in diesem Zyklus sind ähnlich denen im Zyklus für P 6. Als vierzehntes Zeichen wird im Ergebnisfeld die Ziffer »4« eingesetzt.
Fünfzehntes Musterfeldzeichen P15
(Das elfte und zwölfte Datenfeldzeichen werden
benutzt; Regel 1)
Hier sind die Schritte ähnlich, wie es im Zyklus für Pl beschrieben wurde. Diesmal wird das sechste (letzte) Datenfeldzeichenpaar benutzt, welches D 51 und D 52 enthält. Die einzige Ausnahme gegenüber dem Zyklus Pl ist, daß der Merker 55 (39) nicht auf »1« gesetzt wird, sondern im Nullzustand bleibt, weil das letzte Datenfeldzeichen ein Pluszeichen ist. Dies führt dazu, daß am Ende des Zyklus der Signifikanzmerker 57 (41) auf null· zurückgestellt wird.
Zum Schluß wird die Musterfeldadresse wiederum erhöht. Der Inhalt des Registers L (18) wird vermindert, und das Ergebnis ist L = 0. Die anschließende Prüfung ergibt, daß L = O, und zeigt damit an, daß das Ende des Musterfeldes erreicht ist.
Damit ist die Aufbereitungsoperation beendet. An

Claims (3)

Patentansprüche:
1. Schaltungsanordnung zur Umwandlung von Informationen in Bytedarstellung, die in gepackter Form vorliegen, unter Benutzung eines in einem Speicher oder Register vorhandenen Musterfeldes in ungepackter Form, dadurch gekennzeichnet, daß dem das Musterfeld enthaltende Register (18) und dem das Datenfeld enthaltende Register (21) ein weiteres Register (19) zugeordnet ist, das in Abhängigkeit von einer vorhergehenden Umwandlung, dem Vorzeichen und sonstigen Markierungsbits des Datenfeldes einstellbar ist und zusammen mit dem Inhalt des Musterfeldes die Umwandlung eines im Datenfeld stehenden Bytes steuert und daß das Datenfeldregister (21) nur so viele Stellen enthält, wie vom Musterfeldregister (18) ansteuerbar sind.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß das im Register (18) enthaltene Musterfeld anfänglich an einem bestimmten Platz ein Füllzeichen enthält und daß dieses Füllzeichen zur weiteren Verwendung in einem Register (22) gespeichert wird.
3. Schaltungsanordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß in Abhängigkeit von den im Musterfeld des Registers (18) enthaltenen Zeichen und vom Zustand der Stellen des Registers (19) jedes beliebige Zeichen des Musterfeldes durch Füllzeichen ersetzt werden kann.
Hierzu 2 Blatt Zeichnungen
DE19651499201 1964-04-06 1965-03-26 Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung Pending DE1499201B2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US357372A US3400371A (en) 1964-04-06 1964-04-06 Data processing system

Publications (2)

Publication Number Publication Date
DE1499201A1 DE1499201A1 (de) 1970-10-22
DE1499201B2 true DE1499201B2 (de) 1971-01-21

Family

ID=23405304

Family Applications (6)

Application Number Title Priority Date Filing Date
DENDAT1250659D Pending DE1250659B (de) 1964-04-06 Mikroprogrammgesteuerte Datenverarbeitungsanlage
DEJ27677A Pending DE1246289B (de) 1964-04-06 1965-03-11 Bedingungsregister fuer eine programmgesteuerte Datenverarbeitungsanlage
DE19651303416D Pending DE1303416B (de) 1964-04-06 1965-03-19
DE19651499200 Pending DE1499200B2 (de) 1964-04-06 1965-03-20 Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE19651499201 Pending DE1499201B2 (de) 1964-04-06 1965-03-26 Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung
DEJ27790A Pending DE1237363B (de) 1964-04-06 1965-03-27 Arithmetisch-Logische-Einheit

Family Applications Before (4)

Application Number Title Priority Date Filing Date
DENDAT1250659D Pending DE1250659B (de) 1964-04-06 Mikroprogrammgesteuerte Datenverarbeitungsanlage
DEJ27677A Pending DE1246289B (de) 1964-04-06 1965-03-11 Bedingungsregister fuer eine programmgesteuerte Datenverarbeitungsanlage
DE19651303416D Pending DE1303416B (de) 1964-04-06 1965-03-19
DE19651499200 Pending DE1499200B2 (de) 1964-04-06 1965-03-20 Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DEJ27790A Pending DE1237363B (de) 1964-04-06 1965-03-27 Arithmetisch-Logische-Einheit

Country Status (12)

Country Link
US (1) US3400371A (de)
AT (4) AT264162B (de)
BE (5) BE662151A (de)
CH (6) CH418011A (de)
DE (6) DE1246289B (de)
ES (3) ES311385A1 (de)
FI (1) FI46568C (de)
GB (7) GB1061361A (de)
IL (1) IL23159A (de)
NL (5) NL6504273A (de)
NO (1) NO117054B (de)
SE (3) SE311445B (de)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB768767A (en) * 1954-05-20 1957-02-20 Univ Kingston Method and apparatus for density control
US3388239A (en) * 1965-12-02 1968-06-11 Litton Systems Inc Adder
DE1524158B1 (de) * 1966-06-03 1970-08-06 Ibm Addier-Subtrahier-Schaltung für kodierte Dezimalzahlen insbesondere solche in Byte-Darstellung
DE1549531A1 (de) * 1966-08-16 1971-04-01 Scient Data Systems Inc Digitale Rechenanlage
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
US3544969A (en) * 1967-11-27 1970-12-01 Standard Computer Corp Language independent computer
US3568163A (en) * 1968-10-07 1971-03-02 Hewlett Packard Co Incremental display circuit
US3577189A (en) * 1969-01-15 1971-05-04 Ibm Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays
US4558411A (en) * 1969-05-19 1985-12-10 Burroughs Corp. Polymorphic programmable units employing plural levels of sub-instruction sets
US3701972A (en) * 1969-12-16 1972-10-31 Computer Retrieval Systems Inc Data processing system
US3761893A (en) * 1970-07-02 1973-09-25 Modicon Corp Digital computer
US3740722A (en) * 1970-07-02 1973-06-19 Modicon Corp Digital computer
GB1349950A (en) * 1971-12-21 1974-04-10 Ibm Microprogramme control system
US3740728A (en) * 1972-01-19 1973-06-19 Hughes Aircraft Co Input/output controller
US3768077A (en) * 1972-04-24 1973-10-23 Ibm Data processor with reflect capability for shift operations
US3825902A (en) * 1973-04-30 1974-07-23 Ibm Interlevel communication in multilevel priority interrupt system
DE2336676C3 (de) * 1973-07-19 1981-06-19 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Modifizierung von Mikroprogrammbefehlen
US3990052A (en) * 1974-09-25 1976-11-02 Data General Corporation Central processing unit employing microprogrammable control for use in a data processing system
DE2560129C2 (de) * 1974-09-25 1982-11-04 Data General Corp., 01581 Westboro, Mass. Verfahren für die Erzeugung und Ausführung der Anfangsmikroinstruktion einer zur Ausführung einer Makroinstruktion dienenden Mikroinstruktionsfolge
FR2407520B1 (fr) * 1977-10-25 1989-05-12 Digital Equipment Corp Unite de traitement centrale pour l'execution d'instructions avec un specificateur d'operande special
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
US4310895A (en) * 1979-11-02 1982-01-12 International Business Machines Corporation Plural null digital interconnections
FR2469752B1 (fr) * 1979-11-14 1986-05-16 Bull Sa Dispositif de partage d'un sous-systeme central d'un systeme de traitement de l'information en plusieurs sous-systemes independants
US4453209A (en) * 1980-03-24 1984-06-05 International Business Machines Corporation System for optimizing performance of paging store
US4368513A (en) * 1980-03-24 1983-01-11 International Business Machines Corp. Partial roll mode transfer for cyclic bulk memory
US4408273A (en) * 1980-05-27 1983-10-04 International Business Machines Corporation Method and means for cataloging data sets using dual keyed data sets and direct pointers
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4435753A (en) * 1980-10-31 1984-03-06 International Business Machines Corporation Register allocation system using recursive queuing during source code compilation
NL8205076A (nl) * 1982-12-31 1984-07-16 Philips Nv Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
US4567574A (en) 1983-03-14 1986-01-28 International Business Machines Corporation Optimizing cobol object code instruction path length with respect to perform statements
US4575798A (en) * 1983-06-03 1986-03-11 International Business Machines Corporation External sorting using key value distribution and range formation
US4531185A (en) * 1983-08-31 1985-07-23 International Business Machines Corporation Centralized synchronization of clocks
US4584643A (en) * 1983-08-31 1986-04-22 International Business Machines Corporation Decentralized synchronization of clocks
US4587628A (en) * 1983-12-05 1986-05-06 International Business Machines Corporation Method and apparatus for dynamic invocation of utilities
US4603323A (en) * 1984-05-25 1986-07-29 International Business Machines Corporation Method for extending the exponent range of an IBM 370-type floating point processor
US4631673A (en) 1985-01-22 1986-12-23 International Business Machines Corporation Method for refreshing multicolumn tables in a relational data base using minimal information
US4782444A (en) * 1985-12-17 1988-11-01 International Business Machine Corporation Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering
US5034914A (en) * 1986-05-15 1991-07-23 Aquidneck Systems International, Inc. Optical disk data storage method and apparatus with buffered interface
US4775969A (en) * 1986-05-15 1988-10-04 Aquidneck Systems International, Inc. Optical disk storage format, method and apparatus for emulating a magnetic tape drive
US5247646A (en) * 1986-05-15 1993-09-21 Aquidneck Systems International, Inc. Compressed data optical disk storage system
US4823306A (en) * 1987-08-14 1989-04-18 International Business Machines Corporation Text search system
EP0381655A3 (de) * 1989-01-31 1992-12-02 International Business Machines Corporation Verfahren für die Tasksynchronisierungszuweisung zwischen Multiaufgabenbetriebssystemen
EP0409808A3 (en) * 1989-07-19 1991-11-27 International Business Machines Corporation Method for ensuring map integrity in a system-managed store of a computer
US5218696A (en) * 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5226143A (en) * 1990-03-14 1993-07-06 International Business Machines Corporation Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
US5301290A (en) * 1990-03-14 1994-04-05 International Business Machines Corporation Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store
JP2575543B2 (ja) * 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
EP0472814B1 (de) * 1990-08-31 1996-12-18 International Business Machines Corporation Kanäle in einem Rechnerein-Ausgabesystem
US5379398A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for concurrent access during backup copying of data
US5584039A (en) * 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
US5487077A (en) * 1994-05-23 1996-01-23 International Business Machines Corporation Location dependent variable error correction processing for multi-track recording media using variable length coding means
US7607133B2 (en) * 2004-02-11 2009-10-20 Arm Limited Interrupt processing control
GB2506169A (en) * 2012-09-24 2014-03-26 Imagination Tech Ltd Limiting task context restore if a flag indicates task processing is disabled
CN109171701B (zh) * 2018-07-05 2023-02-03 北京谷山丰生物医学技术有限公司 提高心电采集系统频率响应的方法及装置

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2843841A (en) * 1954-09-20 1958-07-15 Internat Telemeter Corp Information storage system
US2872666A (en) * 1955-07-19 1959-02-03 Ibm Data transfer and translating system
US3319230A (en) * 1956-09-26 1967-05-09 Ibm Data processing machine including program interrupt feature
DE1084497B (de) * 1957-11-13 1960-06-30 Emi Ltd Logistische elektronische Rechenvorrichtung
NL233967A (de) * 1957-12-09
NL234523A (de) * 1957-12-23
IT614744A (de) * 1958-08-29 1900-01-01
US3056552A (en) * 1959-01-28 1962-10-02 Ibm Asynchronous parallel adder deriving intermediate sums and carries by repeated additions and multiplications
US3153775A (en) * 1959-02-11 1964-10-20 Ibm Table look-up system
US3141151A (en) * 1959-03-23 1964-07-14 Burroughs Corp Magnetic tape storage system for digital computers wherein an indication of the number of bits in a message is stored with the message
NL255604A (de) * 1959-09-08
US3185966A (en) * 1959-09-08 1965-05-25 Ibm Data editing system
NL256940A (de) * 1959-10-19 1900-01-01
US3111648A (en) * 1960-03-31 1963-11-19 Ibm Conversion apparatus
NL267513A (de) * 1960-07-25
US3233224A (en) * 1960-09-15 1966-02-01 Burroughs Corp Data processing system
US3119098A (en) * 1960-10-31 1964-01-21 Ibm Stream editing unit
US3228005A (en) * 1960-12-30 1966-01-04 Ibm Apparatus for manipulating data on a byte basis
NL274015A (de) * 1961-01-27
US3273126A (en) * 1961-08-25 1966-09-13 Ibm Computer control system
DE1157009B (de) * 1961-09-13 1963-11-07 Telefunken Patent Rechenwerk einer digitalen Rechenmaschine
DE1187044B (de) * 1961-09-13 1965-02-11
GB993879A (de) * 1961-11-16
US3258748A (en) * 1962-01-08 1966-06-28 Fntan, fntin
US3248708A (en) * 1962-01-22 1966-04-26 Ibm Memory organization for fast read storage
NL287533A (de) * 1962-01-22
NL292579A (de) * 1962-05-10
FR1365593A (de) * 1962-06-22 1964-11-03
BE634161A (de) * 1962-07-03
US3267433A (en) * 1962-08-24 1966-08-16 Ibm Computing system with special purpose index registers
US3292152A (en) * 1962-09-17 1966-12-13 Burroughs Corp Memory
BE637749A (de) * 1962-10-01
US3319226A (en) * 1962-11-30 1967-05-09 Burroughs Corp Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
US3264615A (en) * 1962-12-11 1966-08-02 Ibm Memory protection system
US3271744A (en) * 1962-12-31 1966-09-06 Handling of multiple matches and fencing in memories
US3292155A (en) * 1963-03-15 1966-12-13 Burroughs Corp Computer branch command
US3268875A (en) * 1963-12-20 1966-08-23 Ibm Translation operation
US3297997A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc List control
DE1218761B (de) * 1963-07-19 1966-06-08 International Business Machines Corporation, Armonk, N. Y. (V. St. A.) Datenspeidbereinrichtung
US3300764A (en) * 1963-08-26 1967-01-24 Collins Radio Co Data processor
US3297999A (en) * 1963-08-26 1967-01-10 Burroughs Corp Multi-programming computer
US3302183A (en) * 1963-11-26 1967-01-31 Burroughs Corp Micro-program digital computer
US3290658A (en) * 1963-12-11 1966-12-06 Rca Corp Electronic computer with interrupt facility
US3312946A (en) * 1963-12-18 1967-04-04 Ibm Processor for coded data
US3328768A (en) * 1964-04-06 1967-06-27 Ibm Storage protection systems
US3315235A (en) * 1964-08-04 1967-04-18 Ibm Data processing system
US3325785A (en) * 1964-12-18 1967-06-13 Ibm Efficient utilization of control storage and access controls therefor

Also Published As

Publication number Publication date
NL6504271A (de) 1965-10-07
DE1303416B (de) 1971-12-23
GB1061361A (en) 1967-03-08
NL6504269A (de) 1965-10-07
FI46568C (fi) 1973-04-10
DE1499200B2 (de) 1971-04-15
AT253260B (de) 1967-03-28
DE1250659B (de) 1967-09-21
CH418011A (de) 1966-07-31
DE1237363B (de) 1967-03-23
SE311445B (de) 1969-06-09
BE662153A (de) 1965-08-02
NL6504270A (de) 1965-10-07
SE316936B (de) 1969-11-03
DE1499200A1 (de) 1970-03-05
CH424324A (de) 1966-11-15
BE662151A (de) 1965-08-02
NL6504272A (de) 1965-10-07
GB1108800A (en) 1968-04-03
FI46568B (fi) 1973-01-02
GB1055704A (en) 1967-01-18
CH432065A (de) 1967-03-15
GB1108801A (en) 1968-04-03
BE662149A (de) 1965-08-02
IL23159A (en) 1969-01-29
GB1045425A (en) 1966-10-12
BE662154A (de) 1965-08-02
CH422394A (de) 1966-10-15
GB1054725A (de)
ES311413A1 (es) 1965-10-01
ES311385A1 (es) 1965-11-01
SE310277B (de) 1969-04-21
GB1108802A (en) 1968-04-03
DE1246289B (de) 1967-08-03
US3400371A (en) 1968-09-03
NL143351B (nl) 1974-09-16
DE1499201A1 (de) 1970-10-22
ES311414A1 (es) 1966-01-16
NL6504273A (de) 1965-10-07
CH426321A (de) 1966-12-15
AT255801B (de) 1967-07-25
NO117054B (de) 1969-06-23
CH425282A (de) 1966-11-30
AT267226B (de) 1968-12-27
BE662152A (de) 1965-08-02
AT264162B (de) 1968-08-26

Similar Documents

Publication Publication Date Title
DE1499201B2 (de) Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung
DE2515696C2 (de) Datenverarbeitungssystem
DE2817946C2 (de) Datensichtgerät
DE2915673A1 (de) Textbearbeitungseinrichtung mit einer anzeigeeinrichtung
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2718110A1 (de) Datenverarbeitungseinheit
DE2712224A1 (de) Datenverarbeitungsanlage
DE2930441C2 (de) Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
EP0010186B1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE2353635C2 (de) Vorrichtung zur Datenverarbeitung
DE1499206B2 (de) Rechenanlage
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE69503010T2 (de) Mikroprozessor zur Ausführung von Befehlen,von denen ein Teil des Operandfelds als Operationscode zu gebrauchen ist
DE2245284A1 (de) Datenverarbeitungsanlage
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE1499286A1 (de) Datenbearbeitungsanlage
DE2748859C3 (de) Schaltungsanordnung zum Speichern eines Textes
DE3104256C2 (de)
DE2952072A1 (de) Einrichtung zur verarbeitung binaer codierter dezimalzahlen
DE1449584A1 (de) Anordnung zur UEbertragung von Daten einer Loch- oder Magnetkarte in eine Datenverarbeitungsanlage oder umgekehrt
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
DE2419836C3 (de) Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen
DE1524878B2 (de) Verfahren zum erzeugen von steuersignalen fuer die steuerung adressierbarer wortorientierter speicher
DE3326898C2 (de) Datenverarbeitungsmaschine