DE2748991A1 - Einrichtung zur umsetzung von datenformaten - Google Patents

Einrichtung zur umsetzung von datenformaten

Info

Publication number
DE2748991A1
DE2748991A1 DE19772748991 DE2748991A DE2748991A1 DE 2748991 A1 DE2748991 A1 DE 2748991A1 DE 19772748991 DE19772748991 DE 19772748991 DE 2748991 A DE2748991 A DE 2748991A DE 2748991 A1 DE2748991 A1 DE 2748991A1
Authority
DE
Germany
Prior art keywords
data
byte
bit
shift
bytes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19772748991
Other languages
English (en)
Other versions
DE2748991C2 (de
Inventor
Bruce Roger Bonner
Nicholas Bernard Sliz
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 DE2748991A1 publication Critical patent/DE2748991A1/de
Application granted granted Critical
Publication of DE2748991C2 publication Critical patent/DE2748991C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • 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
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)

Description

Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504 te/bm
Einrichtung zur Umsetzung von Datenformaten
Die Erfindung betrifft eine Einrichtung zur Umsetzung von Datenformaten nach dem Oberbegriff von Anspruch 1.
Periphere Eingabe/Ausgabegeräte liefern einem digitalen Datenprozessor Daten in Form binär codierter Zeichen, wobei jedes Zeichen einen Buchstaben oder eine Zahl oder ein graphisches Zeichen wie beispielsweise einen Punkt oder ein Steuerzeichen darstellt. In einem typischen heutigen Datenprozessor hat jedes Zeichen die Länge von einem Byte, und ein Byte ist definiert als eine Folge von acht nebeneinander liegenden binären Datenbits. Acht Bits liefern 256 verschiedene eindeutige Codewerte und somit einen Zeichensatz, der bis zu 256 verschiedene Zeichen darstellen kann. Bei numerischen Daten stehen die Daten vom Eingabe/Ausgabegerät im ungepackten bzw. Zonendezimalformat, wobei die unteren vier Bits eines jeden Zeichens bzw. Bytes ein Zahlenfeld bilden und die oberen vier Bits ein Zonenfeld. Das vier Bit große Zahlenfeld enthält eine binär codierte Dezimalziffer und das vier Bit große Zonenfeld enthält einen eindeutigen Zonencode, der das Zeichen als numerischen Wert und nicht als Buchstaben, graphisches Zeichen oder Steuerzeichen identifiziert.
Leider können die arithmetischen und logischen Einheiten, die heute die numerischen Berechnungen in den meisten Datenprozessoren vornehmen, numerische Daten im Zonenformat nicht verarbeiten. Das Vorhandensein von Zonenfeldern würde zu fehlerhaften Ergebnissen führen. Daher müssen die vom Eingabe/ Ausgabegerät empfangenen numerischen ungepackten Daten gepackt werden, bevor sie für numerische Berechnungen verwendet werden können. Dazu zerstört man die Zonenfelder und setzt
EN 976 009
809820/0706
die Zahlenfelder so nebeneinander, daß sie zusammenhängende Folgen mit lauter Zahlenfeldern bilden. Diese Umsetzung vom Zonenformat in das gepackte Format wird allgemein mit "Packen" bezeichnet.
In typischen Datenprozessoren kann der Programmierer die Maschine anweisen, die Zahlenberechnungen entweder in Dezimalarithmetik oder in der reinen Binärarithmetik durchzuführen. In letzterem Fall muß man die gepackten dezimalen numerischen Daten noch in das rein binäre Format umsetzen, bevor die Rechnungen ausgeführt werden können. In jedem Fall jedoch müssen die Original-Zonendaten in ein gepacktes Format umgesetzt werden.
Die umgekehrte Situation liegt vor, wenn die Rechnungsergebnisse an die peripheren Eingabe/Ausgabegeräte zurückgesendet werden sollen. Die numerischen Ergebnisse müssen aus dem gepackten Format in das Zonenformat zurückgesetzt werden, !bevor die Daten an das Eingabe/Ausgabegerät zurückgesendet {werden. Dazu müssen die Zahlenfelder getrennt und ein eindeutiger Zonenfeldcode für numerische Zeichen in die Zwischenräume eingeschoben werden. Diese Umsetzung vom gepackten in 'das Zonenformat wird allgemein Entpacken genannt. Bei reinen binären Berechnungen werden die binären Ergebnisse zuerst in das gepackte Format und dann die Ergebnisse im gepackten Format in das Zonenformat umgesetzt.
Wie aus obigen Ausführungen zu entnehmen ist, sind bei Verwendung eines Digitalrechners oder Datenprozessors zur Ausführung von Benutzerprogrammen mit numerischen Daten und numerischen Rechnungen einige Pack- und Entpackungsoperationen erforderlich. Unglücklicherweise sind diese Operationen bei den heutigen Datenprozessoren ziemlich zeltaufwendig. Die Datenbytes werden dabei byteweise gepackt oder entpackt, wobei man wenigstens zwei Maschinenzyklen braucht, um ein Byte zu packen oder umgekehrt zu entpacken. Daher sollte
en 976 009 809820/0706
!dieser Vorgang nach Möglichkeit beschleunigt werden, was eine beträchtliche Leistungsverbesserung des Datenprozessors 'darstellen würde. Gleichzeitig sollte das natürlich mit ,möglichst geringen zusätzlichen Kosten durchgeführt werden, indem man relativ wenig zusätzliche Schaltung in den Datenprozessor einbaut.
Die Aufgabe der Erfindung besteht demgemäß in der Entwicklung eines neuartigen und verbesserten Datenformat-Umsetzungs-,gerätes zur Verwendung in einem digitalen Datenprozessor für die gleichzeitige Packung und Entpackung numerischer Daten auf wesentlich schnellere Art als es bisher möglich war. Außerdem soll eine neue und verbesserte Schaltung in LSI-iTechnik mit einem Minimum von EA/Anschlüssen zur Verwirklichun {eines Datenschiebers mit einer Breite von mehreren Bytes geschaffen werden, der für normale Datenschiebeoperationen in einem Datenprozessor verwendet wird und abwechselnd und selektiv entweder eine Umsetzung vom gezonten Dezimalformat in das gepackte Dezimalformat oder umgekehrt mit mehreren durch den Datenschieber laufenden Datenbytes ausführt.
Diese Aufgabe wird durch die im Hauptanspruch gekennzeichnete Erfindung gelöst; Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Die Erfindung schlägt ein Gerät vor, das die gleichzeitige Umsetzung mehrerer Bytes dezimaler Daten vom gezonten in das gepackte Format oder umgekehrt erlaubt. Ein solches Gerät enthält eine erste und eine zweite, mehrere Byte große Sammelleitung mit einander entsprechenden Leitern zur parallelen übertragung von Datenbits sowie eine Schaltung zur Kopplung ausgewählter Leitergruppen in der ersten Datensammelleitung mit anderweitigen Leitergruppen in der zweiten DatenSammelleitung, derart, daß die gewählten Datenfelder der ersten Datensammelleitung versetzt auf die zweite DatenSammelleitung gelangen. Diese Versetzung erfolgt in bezug auf die Bitpositionen der beiden Sammelleitungen; das Ausmaß der
Versz 1st. für verschiedene ausgewählte-Datenfelder auf
en 976 009 809820/070S
der ersten Datensammelleitung verschieden, so daß die ausgewählten Datenfelder auf der zweiten Datensammelleitung mit
!einem anderen Feldabstand reproduziert werden.
Ein weiteres Merkmal der Erfindung in einem digitalen Datenprozessor betrifft eine Datenflußschaltung für die gleichzeitige parallele Lieferung mehrerer Bytes binär codierter Daten zusammen mit einer mehrere Byte großen Schiebeschaltung im Prozessordatenfluß zum gleichzeitigen Empfang dieser Datenbytes; es können damit Schiebeoperationen ausgeführt und die verschobenen Bytes parallel in den Datenfluß zurückgegeben werden. Die Schaltungskombination enthält weiter eine Formatumsetzungsschaltung, die zur Schiebeschaltung gehört und dieser die alternative und wahlweise Datenformatumsetzung mit mehreren durch die Schiebeschaltung laufenden Datenbytes gestattet.
Die Erfindung läßt sich mit sehr geringem Schaltungsaufwand realisieren, wenn die im Prozessor sowieso vorhandene Verschiebeschaltung (shifter) so erweitert wird, daß neue steuerbare Verbindungen zwischen deren Eingangs- und Ausgangsleitungen vorgesehen werten. Eine Steuereinheit bestimmt dann, ob eine normale Datenverschiebung erfolgen soll, eine Pack-Operation oder eine Entpack-Operation.
Der hier vorgeschlagene Datenformatumsetzer kann in vorteilhafter Weise in hochintegrierter Bauweise mit einer geringen Anzahl von Halbleiterplättchen (chips) und relativ wenig Kontaktstiften pro Plättchen hergestellt werden.
Ausführungsbeispiele der Erfindung sind in den beigefügten Zeichnungen dargestellt und werden anschließend näher beschrieben.
Es zeigen:
EN 976 009
809820/0706
Fig. 1 in einem Funktionsblockdiagramm den Datenfluß in einem digitalen Datenprozessor, in dem durch Einsatz der vorliegenden Erfindung die Leistung wesentlich erhöht werden kann,
Fig. 2 in einer Datenfolgetabelle eine repräsentative Folge numerischer Daten in ungepacktem Dezimalformat,
Fig. 3 in einer Datenfolgetabelle eine repräsentative Folge numerischer Daten in gepacktem Dezimalformat,
Fig. 4 in einer Tabelle die Beziehung zwischen dezimalen, hexadezimalen und binären Zahlen,
Fig. 5 das Format einer Maschineninstruktion "Packen", Fig. 6 das Format einer Maschineninstruktion "Entpacken",
Fign. 7a Datenfolgetabellen zur Erklärung der erfindungsbis 7d gemäßen Umsetzung von Daten aus dem ungepackten I in das gepackte Dezimalformat, j
Fign. 8a Datenfolgetabellen zur Erklärung der erflndungsbis 8d gemäßen Umsetzung von Daten aus dem gepackten in das ungepackte Dezimalformat,
Fig. 9 Einzelheiten der übertragung der Bytes
0 bis 3, in Fig. 7a,
Fig. 10 Einzelheiten der übertragung der Bytes
1 bis 4 in Fig. 7a,
Fig. 11 in einem Blockdiagramm ein erfindungsgemäß aufgebautes Gerät zur Datenverschiebung und Formatumsetzung, das sich vorteilhaft zur Verwendung in dem in Fig. 1 gezeigten Datenprozessor eignet,
EN976009 809820/0706
27Λ8991
Fig. 12 in einem detaillierten Blockdiagramm den Teil für Bitpositionen 3, bzw. 7 des in Fig. 11 gezeigten Gerätes,
Fig. 13 das Format eines Schiebemikrowortes, das in Verbindung mit dem Einsatz der vorliegenden Erfindung in dem in Fig. 1 gezeigten Datenprozessor verwendet wird,
Fig. 14 dasselbe Blockdiagramm wie Fig. 12, jedoch wurden Steuerleitungen und -schaltungen der Klarheit halber weggelassen und die Datenleitungen und -schaltungen genauer dargestellt,
Fig. 15 im einzelnen den Aufbau der in Fig. 12 und 14 gezeigten Geräte, wobei bestimmte logische Schaltelemente (SW in Fig. 14) analog dargestellt wurden,
Fig. 16 die logische Schaltung für eines der in Fig. 15 gezeigten analogen Schaltelemente,
Fig. 17 ein Diagramm mit Verbindungsleitungen zwischen
Eingangs- und Ausgangsanschlüssen im Byteschieber ! der zweiten Stufe, dargestellt in Fig. 14, bei
j einer Umwandlungsoperation vom ungepackten in das !
ι j
gepackte Format, j
g. 18 die entsprechenden Verbindungen der zweiten Stufe für die Umwandlung vom gepackten in das ungepackte Format,
Fign. 19 einzelne logische Schaltbilder für die 8 logit>is 26 sehen Schaltelemente der zweiten Stufe für Bitposition 3, in Fig. 14,
en 976 009 809820/0706
Fign. 27 einzelne logische Schaltbilder für die 8 logischen Schaltelemente der zweiten Stufe für Bitposition 7, in Fig. 14 und
Fig. 35 einen Gesamtplan für Verdrahtung und Logik der Byteschieber der zweiten Stufe der Fig. 14, in dem jedoch nur die Verdrahtung und die logische Schaltung für die Packoperationen und Entpackoperationen dargestellt sind.
In Fig. 1 ist der Datenfluß für einen größeren fl» ikroprogrammgesteuerten digitalen Datenprozessor gezeigt, in dem die vorliegende Erfindung verwendet werden kann. Die Datensammelleitungen und Funktionseinheiten in Fig. 1 sind, soweit nichts anderes angegeben ist, mit einer Datenverarbeitungsbreite von mehreren Bytes ausgelegt, so daß entsprechende Datenreihen parallel und gleichzeitig verschoben und manipuliert werden können. Als Beispiel wird angenommen, daß die Datenfluß-Grundbreite 8 Bytes beträgt und jedes Byte aus 8 Datenbits und einem Paritätsprüfbit besteht. In diesem Beispiel werden daher die Daten größtenteils in Ketten von 64 Bits verschoben und i manipuliert. Der Einfachheit halber wird grundsätzlich das ! Paritätsprüfbit hier nicht erwähnt.
Ein Anwendungsprogramm in Maschinensprache wird dem Datenprozessor durch ein peripheres Eingabe/Ausgabegerät 10, beispielsweise ein Lochkartenleser oder eine Magnetbandeinheit zugeführt. Die das Programm bildenden Befehle und Daten werden über einen Eingabe/Ausgabekanal 11, DatenSammelleitungen 12 und 13, einen Byteschieber und Formatumsetzer 14 und Datensammelleitungen 15 und 16 dem Hauptspeicher 17 zu- !geführt. Danach wird das Programm durch einzelnes Auslesen (der Befehle aus dem Hauptspeicher 17, Durchführung der von ihnen verlangten Operationen und Rückspeicherung der Ergebnisse in den Hauptspeicher 17 ausgeführt. Zu gegebener Zeit !werden die Ergebnisse an andere E/A-Geräte 10, wie beispiels-
EN976009 809820/0706
weise ein Bildschirmgerät, eine Schreibmaschine oder einen Drucker zurückgesendet. Diese Rücksendung erfolgt über die Datensammelleitungen 18 und 13, den Byteschieber und Formatumsetzer 14, die Datensammelleitungen 15 und 19 und den E/AKanal 11.
Typischerweise werden Daten zwischen einem E/A-Gerät 10 und einem E/A-Kanal 11 byteweise übertragen. Der E/A-Kanal verfügt über einen ausreichenden Puffer, so daß bei hereinkommenden Daten beispielsweise genügend Bytes im Puffer angesammelt werden, damit sie in Gruppen von jeweils 8 Bytes auf die Prozessordatensammelleitung 12 gegeben werden können. Bei ausgehenden Daten hält der Puffer die auf der DatenSammelleitung 19 empfangenen 8 Bytes lange genug fest, damit die Bytes einzeln an das E/A-Gerät 10 übertragen werden können. Der ausschlaggebende Punkt liegt darin, daß die Datensammelleitungen 12, 13, 15, 16, 18 und 19 innerhalb des Datenprozessors sowie die meisten anderen noch zu erwähnenden Sammelleitungen 8 Bytes breit sind; das bedeutet, jede dieser Prozessordaten-
!Sammelleitungen besteht aus 72 Bitleitungen, die die gleichzeitige übertragung von der jeweils ein Segment aus 8 Datenbytes bildenden 64 Datenbits und 8 Paritatsprüfbits ermöglichen.
Da es sich bei dem betrachteten Prozessor um einen mikroprogrammierten Prozessor handelt, werden Bewegung und Manipulation der Programmanweisungen und Daten innerhalb des Prozessors durch Mikrowörter gesteuert, die in einem Steuerspeicher 20 gespeichert sind. Die Mikrowörter werden einzeln vom Steuerspeicher 20 gelesen und in ein Steuerregister 21 gesetzt. Jedes Mikrowort steuert den Prozessor für einen Maschinenzyklus. Die Steuerfelder in jedem Mikrowort werden durch einen Decodierer 22 zu elementaren Steuersignalen decodiert, die die verschiedenen zu den einzelnen Datensammelleitungen im Prozessor gehörenden Steuerglieder ein- und ausschalten. So bestimmt unter anderem jedes Mikrowort, welche Dateneammelleitung während des betreffenden Maschinenzyklus Ieinzuschalten ist, und somit auch die Datenbewegungsbahn EN 976 009
809820/0706
während dieses Maschinenzyklus. Der Einfachheit halber sind die Datensammelleitungssteuerglieder in Fig. 1 nicht dargestellt. Jedes Mikrowort enthält außerdem ein Feld, das die Adresse des nächsten Mikrowortes führt. Diese nächste Mikrowortadresse wird einem Steuerspeicher-Adreßregister (CSAR) 23 zugeführt, um das für den nächsten Maschinenzyklus zu verwendende Mikrowort zu bestimmen.
Ein gegebenes Mikrowort kann außerdem ein Feld mit einer lokalen Speicheradresse enthalten, die gegebenenfalls an ein Arbeitsspeicher-Adreßregister (LSAR) 24 gegeben wird, um einen lokalen oder Arbeitsspeicher 25 zu adressieren. Den Arbeitsspeicher 25 stellt man sich am besten als eine Sammlung von adressierbaren Hochgeschwindigkeitsregistern vor, in denen verschiedene Arten von Daten, Zwischenergebnissen, Speicheradressen und dergleichen gespeichert werden, die im laufe der Datenverarbeitung erzeugt oder gebraucht werden. Im vorliegenden Ausführungsbeispiel wird beispielsweise angenommen, daß eines dieser Arbeits-,speicherregister als Instruktionszähler dient, um die Haupt- I Speicheradresse für die nächste Programminstruktion im Haupt- t !speicher 17 festzuhalten.
Der erste Schritt einer typischen Programminstruktion besteht in ihrem Abruf aus dem Hauptspeicher 17 und ihrer Übertragung in ein Instruktionsregister 26. Dazu wird die nächste Instruktionsadresse vom Instruktionszähler im Arbeitsspeicher 25 gelesen und in ein Speicheradreßregister (SAR) 27 für den Hauptspeicher 17 gesetzt. Diese Adresse wird dem SAR 27 über ein B-Register 28 und einen Assembler 29 zugeführt. Die adressierte Instruktion wird vom Hauptspeicher 17 gelesen und dem Instruktionsregister 26 über die Datensammelleitungen 18 und 13 den Byteschieber und Formatumsetzer 14, die DatenSammelleitungen 15 und 30, das Bestimmungsregister (D) 31 und die DatenSammelleitungen 32 und 33 zugeführt. Als Teil der Instruktionsabrufoperationen werden die Operandenadressen aus den
EN 976 009
809820/07 0 6
Basiswerten und den relativen Adreßwerten errechnet, die in der Instruktion enthalten sind, und diese Ergebnisse werden dann in die entsprechenden Operandenadreßregister im Arbeitsspeicher 25 gesetzt. Der Instruktionszähler im Arbeitsspeicher 25 wird außerdem so auf den neuesten Stand gebracht, daß er die Adresse der nächsten Maschineninstruktion enthält. Der Operationscodeteil der Maschineninstruktion (OP-Code) im Instruktionsregister 26 wird an das CSAR 23 gesendet, um die richtige Reihenfolge von Mikrowörtern zur Ausführung der fraglichen Maschineninstruktion aufzurufen. In einem mehr oder weniger typischen Fall wird die Instruktion ausgeführt durch Holen der Operanden aus dem Hauptspeicher 17 und Einsetzen in die betreffenden Register im Arbeitsspeicher 25. Die Operanden werden dann in der gewünschten Art und Weise manipuliert und das Ergebnis in den Arbeitsspeicher 25 zurückgesetzt und danach von dort gelesen und in die entsprechende Stelle im Hauptspeicher 17 geschrieben. Die Datenübertragung vom Arbeitsspeicher 25 in den Hauptspeicher 17 läuft über das B-Register 28, den Assembler 29, die Datensammelleitung 34, den Bitschieber 35, die Datensammelleitungen 36 und 13, den Byteschieber und Formatumsetzer 14 und die Datensammelleitungen 15 und 16.
Bei einer Form der arithmetischen Additionsinstruktion beispielsweise werden die beiden zu addierenden Datenteile oder Operanden vom Hauptspeicher 17 gelesen und in den Arbeitsspeicher 25 gesetzt. Die beiden Operanden werden dann vom Arbeitsspeicher 25 angesteuert und in das A-Register 38 und das B-Register 28 gesetzt. Die Werte in diesen beiden Registern! werden dann durch die arithmetische und logische Einheit (ALU) 39 addiert und das Ergebnis über die Datensammelleitung j 40, das Bestiromungsregister 31 sowie die Datensammelleitungen ' 32 und 33 in den Arbeitsspeicher 25 zurückgesendet. In manchen Fällen, z.B. bei der dezimalen Additionsinstruktion, haben die Operanden eine größere Länge als sechs Bytes, und dann werden
976 °°9 809820/0706
mehrere 8 Byte große Segmente der Operanden von der ALU 39 in verschiedenen Maschinenzyklen verarbeitet und das Endergebnis schrittweise im Arbeitsspeicher 25 aufgebaut.
Der Bitschieber 35 und der Byteschieberteil des Byteschiebers und Formatumsetzers 14 dienen normalen Datenschiebeoperationen bei der Ausführung verschiedener Programminstruktionen. Der Byteschieberteil des Byteschiebers und Formatumsetzers 14 schiebt die Daten in Schritten von der Größe eines Byte und der Bitschieber 35 schiebt die Daten in Schritten von Bitgröße. Wenn beispielsweise eine Rechtsverschiebung von 2 9 Bitpositionen (3 Bytes und 5 Bits) erwünscht ist, würde der Byteschieberteil des Byteschiebers und Formatumsetzers 14 so eingestellt, daß er eine Rechtsverschiebung von 3 Bytes vornimmt, und der Bitschieber 35 würde so eingestellt, daß er eine Rechtsverschiebung von 5 Bits vornimmt, so daß man eine Gesamtverschiebung von 29 Bits nach rechts hat. Für das vorliegende Beispiel eines 8 Byte großen Datenflusses ist der Byteschieberteil des Byteschiebers und Formatumsetzers 14 so ausgelegt, daß er eine Schiebung irgendwo zwischen 0 und 7 Bytes nach rechts oder links vornimmt. Der Bitschieber 35 ist so ausgelegt, daß er eine Schiebung irgendwo zwischen 0 und 7 Bytes vornimmt. Größe und Richtung der Schiebung (links oder rechts) werden durch eine Schiebesteuerung 41 gesteuert, die wiederum Steuerinformation vom Steuerregister 21 und in einigen Fällen ! j(beispielsweise Schiebeinstruktionen) vom Instruktionsregi- j jSter 26 empfängt. j
Der Bitschieber 35 und der Byteschieberteil des Byteschiebers und Formatumsetzers 14 arbeiten im Gegensatz zum Schieberegister nach dem Prinzip des Durchlaufs; mit anderen Worten, 8 Daten- ! jbytes treten in den Schieber ein, laufen parallel hindurch und
erscheinen auf der Schiebeausgangssammelleitung in kontinuierlicher Bewegung und ohne Rückgriff auf Schiebe- oder Taktimpulse. Die Verschiebung erfolgt durch aus logischen Kombi-EN 976 009
809820/0706
nationsschaltungen aufgebaute Schiebeelemente, die die Leiter der Schiebeeingangsdatensaramelleitung mit entsprechenden Leitern der Schiebeausgangsdatensammelleitung verbinden.
Geeignete Bauformen für den Byteschieberteil des Byteschiebers und Formatumsetzers 14, für den Bitschieber 35 und die Schiebesteuerung 41 sind in den US-Patentschriften 3 311 896 und 3 916 388 sowie in einem Artikel von E. M. Shimp und N. B. Sliz in IBM Technical Disclosure Bulletin, März 1976, Seiten 3186 bis 3194 beschrieben.
In dem US-Patent 3 916 388 werden Einzelheiten einer Konstruktion für den Byteschieberteil des Byteschiebers und Formatumsetzers 14 und für den Teil der Schiebesteuerung 41 beschrieben, {die diesen Byteschieberteil steuert. Außerdem liefert dieser !Byteschieberteil darstellungsgemäß eine automatische Ausrich- : jtung auf Datengrenzen bei der Datenübertragung von und zum Hauptspeicher 17. Diese Ausrichtungsfunktion ist zusätzlich zu den oben beschriebenen Datenschiebeoperationen vorgesehen kind gehört normalerweise zur Ausführung der verschiedenen Maschineninstruktionen. Der genannte Artikel von Shimp und Sliz beschreibt eine besonders nützliche Konstruktionsform
der Schiebe- und Auffülleteuerungen für den Byteschieberteil des Byteschiebers und Formatumsetzers 14 und den Bitschieber 35, die hier Teil der Schiebesteuerung 41 sind.
In keiner der genannten Literaturstellen wird jedoch das neuartige Formatumsetzungsgerät der vorliegenden Erfindung oder die neuartige Kombination dieses Gerätes mit einem zur Datenverschiebung benutzten Byteschieber vorgeschlagen oder beischrieben. Insbesondere befassen sich diese Quellen nur mit dem Byteschieberteil des Byteschiebers und Formatumsetzers und nicht mit dem Formatumsetzerteil dieser Einheit.
en 976 009 809820/0706
Wie bereits in der Einleitung ausgeführt wurde, stehen vom E/A-Kanal 11 an den Hauptspeicher 17 oder umgekehrt übertragene Daten im ungepackten Dezimalformat. Daten in diesem Format sind in Fig. 2 gezeigt, wo der Buchstabe Z ein 4 Bit großes Zonenfeld, der Buchstabe D ein 4 Bit großes Digitalfeld und der Buchstabe S ein 4 Bit großes Zeichencodefeld bezeichnen. Fig. 2 zeigt insbesondere ein typisches Datenbild, wie es auf der 8 Byte großen Datensammelleitung 12 oder der 8 Byte großen Datensammelleitung 19 erscheint, in einigen Fällen wird jedoch das Vorzeichenfeld S durch ein Zonenfeld Z ersetzt.
Unglücklicherweise kann die ALU 39 keine Rechenoperationen mit numerischen Daten im Zonenformat ausführen. Die Zonenfelder Z
würden die ALU 39 zu Fehlergebnissen führen. Daher müssen diesel gezonten Dezimaldaten in ein gepacktes Dezimalformat umgesetzt werden, bevor sie zur Ausführung von Rechnungen an die ALU i 39 gesendet werden. Fig. 3 zeigt das gepackte Dezimalformat ; für eine 8 Byte große Folge numerischer Daten. In einigen
Fällen kann das Vorzeichenfeld S durch ein weiteres 4 Bit : ■ i
großes Zahlenfeld ersetzt werden. Aus einem Vergleich der Fign. 2 und 3 miteinander ist zu ersehen, daß die Umsetzung vom gezonten in das gepackte Format (häufig auch als Packungsoperation bezeichnet) dadurch erfolgt, daß man die Zonenfelder löscht und die Zahlenfelder nebeneinander zusammenschiebt.
Das umgekehrte Problem tritt auf, wenn die Ergebnisse einer Berechnung an ein E/A-Gerät 10 gesendet werden soll. Das E/A-Gerät braucht die Daten im Zonenformat, um die Zahlen von Buchstaben, graphischen Zeichen und Steuerzeichen unterscheiden zu können. Die numerischen Ergebnisdaten müssen somit aus dem gepackten Format in das ungepackte Format umgesetzt werden (häufig das Entpacken genannt), bevor sie an das E/AGerät 10 gesendet werden können. Dazu müssen die Zahlenfelder auseinandergezogen und der für numerische Daten eindeutige Zonencode in die so geschaffenen Lücken eingeschoben werden.
en 976 009 8 0 9 8 2 0/0706
Jedes 4 Bit große Zahlenfeld im gezonten oder gepackten Format enthält eine binär codierte Dezimalziffer. Die Beziehung zwischen den 4 Bit großen Binärcodes und den verschiedenen Dezimalwerten ist in der Tabelle der Fig. 4 dargestellt. Die ersten 10 der 16 möglichen Kombinationen aus 4 Bits werden zur Darstellung der Dezimalzahlen 0 bis 9 verwendet. Die übrigen sechs Kombinationen dienen für Vorzeichencodes im Vorzeichenfeld S, in der im unteren Teil der Fig. 4 gezeigten Art. Weiter wird hier angenommen, daß der eindeutige Zonenfeldcode für numerische Daten "1111" lautet. Somit wird angenommen, daß jedes Zonenfeld Z in Fig. 2 das Bitmuster "1111" enthält.
Da ein 4-Bit-System inhärent ein Hexadezimalsystem ist (Basis 16), sind die in Fig. 4 dargestellten Kombinationen der 4 Bits der Einfachheit halber manchmal durch ihren Hexadezimalwert wiedergegeben. Diese Hexadezimalzeichen (oder kurz auch hex) sind in der zweiten Spalte in Fig. aufgeführt. Der eindeutige numerische Datenzonencode "1111" wird somit manchmal auch durch das Hex-Zeichen "F" dargestellt.
Eine weitere Voraussetzung sollte berücksichtigt werden, ;nämlich die relative Bedeutungsordnung der verschiedenen Bytes, Zahlen und Bits. Nach Darstellung in den Fign. 2 und 3 sind die Bytes von links nach rechts numeriert. Der Grad oder die Bedeutungsordnung nehmen jedoch in Gegenrichtung zu, nämlich von rechts nach links. Byte 7 ist somit das wertniederste Byte und Byte 0 das werthöchste. Dieselbe Numerierungs-I Vereinbarung gilt auch für die Zahlenfelder und die Bits j innerhalb eines Byte. Diese sind von links nach rechts von 0 bis 7 durchnummeriert, wobei Bit 0 das werthöchste Bit und I Bit 7 das wertniederste Bit im Byte sind. |
Manchmal sollen Rechenoperationen von der ALU 39 mit den Daten im reinen Binärformat ausgeführt werden. In solchen Fällen wird das Zonendatenformat, das vom E/A-Gerät geliefert
wird, zuerst in ein gepacktes Format umgesetzt, und dann
en 976 009 8 0 9 8 2 0/0706
werden die Daten im gepackten Format in das reine binäre Format umgesetzt. Um die rein binären Ergebnisse zur Rückgabe an das E/A-Gerät vorzubereiten, werden sie zuerst in das gepackte Dezimalformat und dann von diesem in das Zonendezimalformat umgesetzt. Da sie für die vorliegende Erfindung ohne besondere Bedeutung sind, werden die rein binären Rechenoperationen hier nicht weiter erwähnt.
Die Umsetzoperationen vom Zonenformat in das gepackte Format und umgekehrt, werden durch bestimmte Programminstruktionen in Maschinensprache ausgelöst, die in der Maschinenspracheversion des Benutzungsprogrammes enthalten sind, das im Hauptspeicher 17 steht, wenn die Programmausführung beginnt. Eine Umsetzung vom Zonenformat in das gepackte Format wird eingeleitet durch eine Instruktion "Packen", die in der Maschinensprache das in Fig. 5 gezeigte Format hat. Durch diese Instruktion wird das Format des zweiten Operanden vom Zonenformat in das gepackte Format geändert und das Ergebnis der Umsetzung an die Stelle des ersten Operanden im Hauptspeicher gesetzt. Hierbei handelt es sich um eine SS-Instruktion, in der die umzusetzenden Daten im Hauptspeicher 17 stehen und die umgesetzten Daten wieder in den Hauptspeicher 17 zurückgestellt werden. B2 und D2 sind der Grundadreßwert und der relative Adreßwert, (Basis und Displacement), die die Haupt- j speicherstartadresse für den zweiten Operanden (die umzusetzen-i den Daten) bestimmen, und B1 und D1 sind der Grundadreßwert und der relative Adreßwert, die die Hauptspeicherstartadresse für den ersten Operanden bestimmen (die Speicherstelle, die die umgesetzten oder gepackten Daten empfangen soll). L1 und L2 sind 4 Bit große Operandenlängenfelder. L2 + 1 gibt die Länge des umzusetzenden Datensegmentes in Bytes an und L1 + 1 die Länge
!der Speicherstelle in Bytes, die die umgesetzten Daten empfangen soll. Wenn der Längenwert L1 zu kurz ist, um alle jwertdarstellenden Zahlen der umgesetzten L2-Daten aufzunehmen, werden die übrigen höherwertigen Stellen ignoriert.
EN976009 803820/0706
Die umgekehrte Umsetzung, nämlich vom gepackten in das Zonenformat, wird eingeleitet durch eine Instruktion "Entpacken", die in Maschinensprache das in Fig. 6 gezeigte Format hat. Dabei handelt es sich um dasselbe Format wie für die Packungsinstruktion und die verschiedenen Felder darin haben dieselbe Bedeutung, es wird aber natürlich ein anderer eindeutiger Wert für den OP-Code verwendet. Durch Auftreten dieser Entpackungsinstruktion werden die Daten des zweiten Operanden vom Hauptspeicher 17 geholt, deren Format vom gepackten in das Zonenformat geändert und die so umgesetzten Daten in die Stelle des ersten Operanden im Hauptspeicher 17 gesetzt.
Bei den heutigen hochintegrierten Datenprozessoren werden die Daten byteweise gepackt und entpackt. Im Datenprozessor IBM System/360 Modell 50 beispielsweise, werden die Daten in Paaren von 4 Byte großen Arbeiteregistern und einem 1 Byte großen Verschieber umgesetzt, der Daten in Schritten von jeweils einem halben Byte manipulieren kann. Insbesondere der Verschieber kann jedes der eingegebenen Halbbytes durchleiten oder umsetzen oder jedes der eingegebenen Halbbytes auf die entgegengesetzte Halblyte-Ausgangsposition geben. Vier der umzusetzenden Datenbytes werden aus dem Hauptspeicher geholt und in das erste Arbeitsregister gesetzt. Die Daten in diesem Arbeitsregister werden dann durch den Verschieber byteweise oder halbbyteweise manipuliert und ihre Ausgabe in das zweite Arbeitsregister gegeben, um das gewünschte Ergebnis schrittweise aufzubauen. Mit Ausnahme desjenigen Bytes, das das Vorzeichenfeld enthält, ist für jedes Halbbyte-Zahlenfeld ein separater Maschinenzyklus erforderlich.
Als weiteres Beispiel sei der Datenprozessor IBM System/370 Modell 195 erwähnt, das einen 1 Byte großen Zahlenschieber und ein halbbyte großes Sehräglaufregister für das Packen und Entpacken verwendet. Die Eingänge zu beiden Elementen sind mit einer logischen Einheit verbunden und ihre Ausgänge sind an eine Ergebnissammelleitung angeschlossen. Der Zahlen-
811976009 809820/0706
Schieber hat dieselbe Charakteristik wie der Schieber im System/360 Modell 50, während das Schräglaufregister dazu benutzt v/ird, entweder das werthohe Halbbyte oder das wertniedrige Halbbyte für die übertragung auf die ErgebnisSammelleitung in einem nachfolgenden Maschinenzyklus zu speichern.
Mit Ausnahme des Vorzeichen-Bytefeldes wird eine Packungsoperation im Modell 195 dadurch durchgeführt, daß man das erste Datenbyte auf die logische Einheit gibt, von wo das wertniedere Halbbyte in das Schräglaufregister gesetzt wird. Während des folgenden Maschinenzyklus wird das nächste Datenbyte durch die logische Einheit in den Zahlenschieber gesetzt, wo das wertniedere Halbbyte auf die Position des werthohen Halbbyte der Ergebnissammelleitung gesetzt und mit dem Inhalt des Schräglaufregisters (in die Position des wertniederen Halbbytes der Ergebnissammelleitung gesetzt), an ein Ergebnisregister übertragen wird. Dieser Prozeß wird dann für die übrigen Paare entpackter Datenbytes wiederholt, wobei zum Aufbau eines Ergebnisbyte zwei Maschinenzyklen erforderlich sind.
Zum Entpacken im Modell 195 wird jeweils ein Byte unter erneuter Ignorierung des Vorzeichenfeldbytes an die logische Einheit übertragen, die dann über den Zahlenschieber das werthohe Halbbyte in das Schräglaufregister und das wertniedere Halbbyte in die wertniedere Halbbyteposition auf der Ergebnis- :Sammelleitung setzt. Die werthohe Halbbyteposition der Ergebnis Sammelleitung wird mit einem erzwungenen numerischen Zeichenzonencode gespeist. Das resultierende Byte vom Zahlenschieber wird dann an das Ergebnisregister gesendet. Im folgenden Zyklus wird der Inhalt des Schräglaufregisters auf die wertniedere Halbbyteposition der Ergebnissammelleitung ge-. leitet und zusammen mit dem erzwungenen werthohen Halbbyteizonencode an den Ergebnispuffer übertragen. Die übrigen Quellenwortbytes werden ähnlich verarbeitet.
en 976 009 8 0 9820/0706
Eine derartige byteweise Packungs- bzw. Entpackungsoperation wird vermieden, wenn eine nach der hier gegebenen technischen Lehre aufgebaute Formatumsetzeinheit verwendet wird; diese Einheit ist mit der Byte-Schiebeeinheit integriert (s. Fig. 1), und verwendet zum Teil deren Funktionen.
Die Fign. 7a bis 7d zeigen die Datenpackungsmöglichkeit des Byteschiebers und Formatumsetzers 14. Diese Fign. gelten für den angenommenen Fall, daß 16 Bytes gezonter Dezimaldaten umgesetzt oder gepackt werden sollen. In diesem Fall hat das Längenfeld L2 in der Packungsinstruktion (Fig. 5) den Wert "1111" oder hexadezimal "F". Es wird weiter angenommen, daß sich die Speicherstellen LI und L2 im Hauptspeicher 17 nicht überlappen und daß der Wert LI in der Packungsinstruktion ebenfalls "F" ist. Da der Prozessordatenfluß nur 8 Bytes breit ist, müssen diese 16 Bytes in Gruppen von jeweils 8 Bytes behandelt werden. Fig. 7a zeigt den Fall für die werthohen 8 Bytes und Fig. 7b den Fall für die wertniederen 8 Bytes.
Zu Anfang werden die werthohen 8 Bytes der Daten im Zonenformat aus dem Hauptspeicher 17 gelesen und in das A-Register 38 gesetzt. Während des nächsten Maschinen- oder Mikrowortzyklus werden die wertniederen 8 Bytes der Daten im Zonenformat dann vom Hauptspeicher 17 gelesen und in ein Kurzzeit-Halteregister im Arbeitsspeicher 25 gesetzt. Während des nächsten Mikrowortzyklus werden die werthohen 8 Bytes im A-Register 38 über den Byteschieber und Formatumsetzer 14 geleitet, der zu dieser Zeit die Packung ohne die in Fig. 7a gezeigte Vorzeichenoperation vornimmt. Diese Daten im A-Register 38 werden über einen Assembler 29, die Datensammelleitung 34 und den Bitschieber 35, der in diesem Fall auf eine Nullschiebung oder eine direkte Datenübertragung eingestellt ist, dem Byteschieber und Formatumsetzer 14 zugeführt. Die obere Datenfolgetabelle in Fig. 7a stellt die Daten im Zonenformat auf der Schieber/Umsetzer-Dateneingangssammelleitung 13 dar und die untere Reihenfolge-
80982Π/0706
2^8991
tabelle in Fig. 7a zeigt die resultierenden gepackten Daten auf der Schieber/Umsetzer-Datenausgangssammelleitung 15. Die Bytebezeichnungen (Byte O, Byte 1, Byte 2 usw.,) beziehen sich auf die Leiter in den Sammelleitungen 13 und 15 und nicht auf die Datenfelder in den verarbeiteten Daten. Die am Ausgang des Byteschiebers und Formatumsetzers 14 erscheinenden gepackten Daten, werden in ein Arbeitsspeicherregister im Arbeitsspeicher 25 gesetzt, das mit LSI bezeichnet wird.
Die übrigen wertniederen 8 Datenbytes werden während des nächsten Mikrowortzyklus in das gepackte Format umgesetzt. Diese Bytes werden dann vom Kurzzeit-Halteregister im Arbeitsspeicher 25 gelesen und über das A-Register 38, den Assembler 29 und den Bitschieber 35 (Nullschiebung) an den Byteschieber und Formatumsetzer 14 übertragen. Dieser führt jetzt das Packen mit der in Fig. 7b gezeigten Vorzeichenoperation durch und das gepackte Ergebnis wird dann in ein zweites Arbeitsspeicherregister LS2 im Arbeitsspeicher 25 gesetzt. Die obere Reihenfolgetabelle in Fig. 7b zeigt die Zonendaten auf der Schieber/Umsetzer-Dateneingangssammelleitung 13 und die untere Ablauftabelle die resultierenden gepackten Daten auf der Schieber/Umsetzer-Datenausgangssammelleitung 15.
Schaltungstechnisch besteht der einzige Unterschied zwischen den Packungsoperationen in den Fign. 7a und 7b in der zusätzlichen Einrichtung für die Behandlung des Vorzeichenfeldes S im Falle der Fig. 7b.
j Die gepackten Daten in den Arbeitsspeicherregistern LS1 und j LS2 werden dann zu den in den Fign. 7c und 7d gezeigten Ergebnissen eingerichtet. Insbesondere werden die Daten im Arbeits- j register LS1 nach Art einer Zyklischen Vertauschung um 4 Bytes nach links verschoben und danach der werthohe Teil der :
Daten mit den Daten im Arbeitsregister LS2 zu dem in Fig. 7d
EN 976 009 809B20/0706
gezeigten Ergebnis gemischt. Die verschobenen Daten, bei denen der werthohe Teil auf 0 gesetzt ist, werden dann in das Arbeitsregister LSI als das in Fig. 7c gezeigte Ergebnis zurückgesetzt. Während der nächsten beiden Mikrowortzyklen wird dann der Inhalt der Arbeitsregister LS1 und LS2 in den Hauptspeicher 17 geschrieben, beginnend an der Stelle, die durch die Felder B1 und D1 in der Packungsinstruktion bezeichnet ist. Damit sind die Daten im angenommenen Beispiel fertig gepackt.
Wenn der Längenwert L1 in der Packungsinstruktion zu klein ist, um die Speicherung aller wertdarstellenden Stellen des gepackten Ergebnisses zu ermöglichen, werden die restlichen werthohen Ergebniszahlen ignoriert. Wenn L1 nicht größer als 7 ist (Datenlänge nicht mehr als 8 Bytes), dann werden nur die Ergebnisdaten im Arbeitsspeicherregister LS2 in den Hauptspeicher 17 zurückgesetzt. Weiterhin braucht nur die Packungsoperation mit Vorzeichenumwandlung in Fig. 7b ausgeführt zu werden, wobei das Arbeitsspeicherregister LS2 für das gepackte Ergebnis verwendet wird, wenn der Längenwert L2 für die Originaldaten nicht größer als 7 ist (d.h. Datenlänge nicht mehr als 8 Bytes).
In den Fign. 8a bis 8d liegt die umgekehrte Situation vor, in der Daten vom gepackten Dezimalformat in das Zonendezimalformat umgesetzt werden müssen. Im gezeigten Beispiel wird angenommen, daß 8 Datenbytes zu entpacken sind, die Felder L1 und L2 sich im Hauptspeicher nicht überlappen und daß der Wert L1 auf eine Ergebnisspeicherlänge von 16 Bytes eingejstellt ist. Unter diesen Voraussetzungen werden die durch die iEntpackurgsinstruktion bezeichneten 8 Datenbytes vom Hauptspeicher 17 gelesen und während des ersten Mikrovrortzyklus in das A-Register 38 gesetzt. Während des nächsten Mikrowortzyklus werden die Daten im A-Register 38 ein erstes Mal durch den Byteschieber und Formatumsetzer 14 geleitet, zur Erzeugung
EN976009 809820/07Π6
des in Fig. Ua gezeigten Ergebnisses. In diesem Fall ist der Byteschi ober und Formatumsetzer 14 auf Entpackung mit Vorzeichen eingest eilt. Die obere AblauftabelIe in Fig. 8 zeigt die gepackten Dnton auf der Schieberumsctzer-Dateneingangssammelleitung 13 und die untere Ablauftabelle zeigt die Zonenergebnisdaten auf dor iichieberumsetzer-Datenausgangssammelleitung Diese Ergebnisdaten werden in das Arbeitsregister LS2 im Arbeitsspeicher 25 gesetzt. Der Teil des Bytes 7 dieser Ergebnisdaten hat keine Bedeutung und wird hinterher eliminiert.
Um die restlichen Daten zu entpacken, müssen die gepackten Daten über den Hyteschieber und Formatumsetzer 14 während eines v/eiteren Mikrowortzyklus ein zweites Mal in das A-Registor 38 geleitet werden, um das in Fig. 8b gezeigte Ergebnis zu erzeugen. In diesem Fall stellt die obere Folgetabelle nicht die Daten auf der Schieberumsetzer-Dateneingangssammelloitung 13 dar. Für dieses Entpacken ohne Vorzeichen, wird der Hyt eschieber und Formatumsetzer 14 zu zv/ei Operationen veranlaßt. Zuerst schiebt er die Daten 5 Bytes nach rechts und dann iüiirt er dna Entpacken ohne Vorzeichen mit diesen verschobenen Daten aus. Die Schaltung ist so ausgelegt, daß diese beiden Funktionen intern innerhalb des Byteschiebers und Format Umsetzers 14 ablaufen können. Die obere Folgetabelle in Fig. 8b stellt den Teil der interessanten Daten nach dieser internen Rechtnvernchiebung um 4 Bytes, aber vor dem Entpacken dar. Fig. iib ist so dargestellt, um die Tatsache zu betonen, daß außer der Behandlung des Vorzeichenfeldes S zu dem in Fig. 8b dargestellten Entpacken dieselbe Maschinenausrüstung verwendet wird wie für den ersten in Fig. 8a gezeigten Durchlauf. Das Ergebnis des Entpackens ohne Vorzeichenoperation wird in das Register LS1 im Arbeitsspeicher 25 gesetzt.
Die resultierenden gezonten Daten im Arbeitsspeicherregister LS1 und LS2 werden danach so manipuliert, daß man die in den Fign. 8c und 8d gezeigten Bedingungen erhält. Die Daten in
EN 976 009
009820/(1706
27/, 8991
jedem ArbeitGspeicherreqister LSI und LS2 werden in einer zyklischen Verschiebung um 1 Byte so nach rechts verschoben, daß das ursprüngliche wertniedere Byte zum werthohen Byte v/ird. Byte 0 der verschobenen Daten im LS1 wird dann mit den Bytes 1 bis 7 der verschobenen Daten im LS2 kombiniert und das Ergebnis in das Register LS2 zurückgespeichert, um dort den in Fig. 8c gezeigten Zustand zu erzeugen. Umgekehrt v/ird das Byte 0 der verschobenen Daten im LS2 mit den Bytes 1 bis 7 der verschobenen Daten im LS1 kombiniert und das Ergebnis in das LS1 zurückgesetzt, wobei das wertniedere, 4 Bit große Feld von Byte 0 auf 0 gesetzt wird, um den in Fig. 8d gezeigten Zustand herzustellen. Während der nächsten Bytemikrowortzyklen wird danach der Inhalt der Register LS1 und LS2 registerweise in den Hauptspeicher 17 übertragen und dort an Stellen gespeichert, die mit der durch die Werte B1 und DI in der Entpackungsinstruktion bestimmten Bytestelle beginnen. Damit ist das Entpacken für das angenommene Beispiel beendet.
Da durch den Wert L1 der Entpackungsinstruktion eine Ergebnisspeicherlänge von maximal 16 Bytes angegeben werden kann, ist aus den Fign. 8a bis 8d zu entnehmen, daß mit einer Entpackungslnstruktion maximal 8 Datenbytes entpackt und gespeichert werden können. Wenn der Längenwert L2 in der Entpackungsinstruktion eine größere Länge als 8 Datenbytes angeben sollte, v/erden die über 8 Bytes hinausgehenden werthohen Bytes ignoriert. Wenn aus irgendeinem anderen Grund die Speicherlänge des Ergebnisses L1 zu kurz ist, um alle wertdarstellenden Bytes der entpackten Daten aufzunehmen, werden die werthöheren Bytes ignoriert. Wenn der Wert L1 eine Ergebnisspeicherlänge von 8 Bytes oder weniger angibt, dann werden nur die Ergebnisdaten im Arbeitsspeicherregister LS2 in den Hauptspeicher 17 zurückgesetzt.
EN976009 809H2n/0706
Im Zusammenhanf; mit den Fign. 9 und 10 wird anschließend das Ditkreuzungsproblem besprochen, das gelöst werden mußte, um das hier beschriebene Ausführungsbeispiol der Erfindung zu bekommen. Fig. 0 zeigt im einzelnen die Art der für Byte 0 in Fig. 7a benötigten Umsetzung, während Fig. 10 im einzelnen die für Byte 1 der Fig. 7a benötigte Umsetzung darstellt. Nach Darstellung in Fig. 9 müssen die Dits 4 bis 7 von Byte so verschoben werden, daß sie als Hits 4 bis 7 von Byte 3 erscheinen. Somit wird jedes Bit nur um eine ganze Zahl von Bytes verschoben. Mach Darstellung in Fig. 10 muß Bit 4 von Byte 1 so verschoben oder manipuliert werden, daß es zum Bit 0 von Byte 4 wird, Bit 5 von Byte 1 muß so verschoben werden, daß es zum Bit 1 von Byte 1 wird usw. Das bedeutet mit anderen Worten, daß die 4 wertniederen Bits (Bits 4 bis 7) von Byte gekreuzt werden müssen, um zu den 4 werthohen Bits (Bits 0 bis 3) day Byte 4 werden. En Stellenpositionen ausgedrückt muß die wertniedere Stelle (Bits 4 bis 7) von Byte 1 gekreuzt werden, um zur werthohen Stelle (Bits O bis 3) des Byte 4 werden.
In den Fign. 7a und 7b sind die kreuzungsfreien Fälle durch ausgezogene Linien dargestellt, die die oberen und unteren Folgetabellen miteinander verbinden, während die Kreuzungsfälle durch die unterbrochenen Linien dargestellt sind, die die oberen und unteren Folgetabellen verbinden. Wie aus jeder Fig. zu ersehen ist, wechseln die kreuzungsfreien Fälle mit den Kreuzungsfällen ab, wenn man in der Zeile der Eingabebytes nach unten geht. Nach Darstellung in Fig. 7b stellt das Vorzeichenfeld S außerdem einen weiteren Kreuzungsfall, aber in entgegengesetzter Richtung dar, nämlich von einer werthohen Stellenposition in eine wertniedere Stellenposition.
Nach Darstellung in den Fign. 8a und 8b tritt das Bit- oder Stellenkreuzungsproblem auch beim Entpacken auf, wie es durch die unterbrochenen Linien dargestellt ist, die die obere und
EN 076 009
80 9 020/0706
2'//,8991
untere Folgetabelle verbinden. In diesem Falle ist jedoch mit Ausnahme des Vorzeichenfeldes S die Kreuzungsrichtung der in Fig. 10 dargestellten entgegengesetzt. Die werthohen Hits (Bits O bis 3) kreuzen in die Positionen der wertniederen nits (Bits 4 bis 7). Für das Vorzeichenfeld S in Fig. 8a verläuft die Kreuzungnrichtung von unten nach oben, d.h., eine Kreuzung von Byte 7 nach Byte 6. Wie oben schon gesagt, hat vom Datenstandpunkt aus das Byte 7 der unteren Folgelabelle in Fig. 8 keine Bedeutung. Schaltungstechnisch erfolgt din Verbindung zum Byte 7 so, daß dieselbe Maschinenausrüntung für dieses Byte für beide Fälle verwendet wird, nämlich für das Entpacken mit und ohne Vorzeichen.
Diese Kreuzungen von werthohen zu wertniederen und wertniederen zu werthohen Bitpositionen stellen ein ernsthaftes Problem für die Realisierung eines kombinierten Datenschiobers und Formatumsetzers dar, insbesondere, wenn ein solches Gerät in Form einer hochintegrierten Schaltung mit integrierten Schaltungschips ausgeführt werden soll.
In Fig. 11 ist ein bevorzugtes Konstruktionsheispiel des Byteschiebers und Formatumsotzers 14 der Fig. 1 dargestellt, mit dem das Bitkreuzungsproblem gelöst wird. Dazu enthält der in Fig. 11 im einzelnen dargestellte Byteschiober und Format umsetzer 14 mehrere integrierte Schaltungschips für don !Empfang und die Verarbeitung der Datenbits in den 8 Datenbytcs auf der Schiebcr/Umsetzer-Dateneingangssammelleitung 13, und zwar ein erstes integriertes Schaltungschip 42 für das erste Datenbit (Bit 0) und das fünfte Datenbit (Bit 4), ein zweites integriertes t'.chaltungschip 43 für das zweite (Bit 1) und sechste (Bit 5) Datenbit, ein drittes integriertes Schaltungschip 44 für das dritte (Bit 2) und siebte (Bit 6) Datenbit und ein viertes integriertes Schaltungschip 45 für das vierte (Bit 3) und das achte (Bit 7) Datenbit. Die 8 Paritätsprüfbits werden
EN 976 009
R09820/0706
empfangen und verarbeitet durch eine Schaltung, die auf einem weiteren integrierten Schaltungschip 46 liegt.
Jede Eingangsleitergruppe 13a bis 13i besteht aus 8 Leitern zur gleichzeitigen Weiterleitung der richtigen Datenbits und Paritätsbits auf der Eingangssammelleitung 13, an die betreffenden integrierten Schaltungschips 42 bis 46. So gibt z.B. die Leitergruppe 13a gleichzeitig das Bit 0 aller 8 Datenbytes an das integrierte Schaltungschip 42 und die Leitergruppe 13e alle Bits 4. Ähnlich enthält jede Leitergruppe 15a bis 15i einen Satz von 8 Leitern, um Datenbits und Paritätsbits von den integrierten Schaltungschips 42 bis 46 gleichzeitig auf die Schieber/Umsetzer-Datenausgangssammelleitung 15 leiten zu können. Die Leitergruppen 13a bis 13i stellen Untergruppen der Leiter in der Schieber/Umsetzer-Dateneingangssammelleitung 13 und die Ausgangsleitergruppen 15a bis 15i Untergruppen der Leiter in der Schieber/Umsetzer-Datenausgangssammelleitung 15 dar.
Jedes der Chips 42 bis 45 enthält eine erste Schiebeschaltung zum gleichzeitigen Verschieben der Datenbits, eine erste Formatumsetzungsschaltung zur gleichzeitigen Ausrichtung der jrelativen Positionen ausgewählter Datenbits, in der zur !Umsetzung von Zonendezimalformat in das gepackte Dezimalformat benötigten Art und eine zweite Formatumsetzungs-Ischaltung zur gleichzeitigen Ausrichtung der relativen Posi-Itionen ausgewählter Datenbits in der zur Umsetzung vom gepackten Dezimalformat in das Zonendezimalformat benötigten Art. Außerdem enthält jedes der Chips 42 bis 45 eine Steuerschaltung zur wahlweisen Einschaltung entweder eines Schiebekreises, der ersten Formatumsetzungsschaltung oder der zweiten Formatumsetzungsschaltung auf einem solchen Chip zu einem gegebenen Zeitpunkt. Diese Steuerschaltung wird durch Steuersignale gesteuert, die an jedes der Schaltungschips 42 bis 45 über die SteuersignalSammelleitungen 47, 48 und 49 angelegt
EN 976 009
809820/070(5
werden und von der Schiebesteuerung 41 (Flg. 3) stammen, die die betreffenden Steuersignale für diese Sammelleitungen liefert.
Die Schiebesteuersammelleitung 47 besteht aus 4 Leitern, von denen drei ein codiertes 3 Bit großes Signal für den Betrag der Verschiebung führen und die vierte ein Richtungssignal für Links/RechtsSchiebung. Die Leitung 48 für die Auffüllanzeige besteht aus 8 Leitern, einen für jedes Datenbyte, zur Identifizierung der mit Nullen bzw. Einsen aufzufüllenden Datenbytes. Die Packungs/Entpackungssteuerleitung 49 besteht aus 3 Leitern, die ein 3 Bit großes Signal führen, das durch seine Codierung anzeigt, welche der nachfolgend aufgeführten Operationen die Chips 42 bis 45 ausführen sollen: eine Schiebung, eine Packung mit Vorzeichen, eine Packung ohne Vorzeichen, !eine Entpackung mit Vorzeichen oder eine Entpackung ohne Vorzeichen.
j Die eindeutigen Gruppierungen der Schaltungen für die verschiedenen Datenbits auf den verschiedenen integrierten Schaltungschips 42 bis 45 ermöglichen das Packen und Entpacken mehrerer Datenbytes mit integrierten Schaltungschips, die ein Minimum an Eingangs/Ausgangsanschlüssen aufweisen. Wenn die Schaltung für die Bits der Position 4 beispielsweise nicht auf demselben integrierten Schaltungschip untergebracht ist wie j die Schaltung für Bit O, dann müssten bei einem Datenfluß von 8 Byte Breite 8 Leiter zwischen dem Bit-O-Chip und dem Bit-4- · Chip laufen, um die Bitkreuzungen zu ermöglichen, die für die Packung und Entpackung erforderlich sind. Das würde 8 zu- j sätzliche Eingangs/Ausgangsanschlüsse auf jedem der Chips für Bit O und Bit 4 erfordern. !
Durch die in Fig. 11 gezeigte Lösung zum Packen der ent- j
i sprechenden Bits der werthohen und wertniederen Bytehälfte >■
auf demselben Chip entfallen diese Verbindungsleitungen und j
EN 976'1SÖ9
809820/0706
die zugehörigen Eingangs/Ausgangsanschlüsse an den Chips. Mit anderen Worten, wenn die Schaltkreise für die ersten Bits in den werthohen Halbbytes, nämlich die O-Bits, auf demselben integrierten Schaltungschip 42 untergebracht sind wie die Schaltungen für die ersten Bits in den wertniederen Halbbytes, nämlich die 4-er-Bits, dann kann man die notwendigen Kreuzungen vom Bit O nach Bit 4 und Bit 4 nach Bit O ausführen, ohne das Chip zu verlassen, und so zusätzliche Eingangs/Ausgangsverbindungen am Chip erübrigen. Entsprechendes gilt für die anderen Paarungen der Bits in den werthohen und wertniederen Halbbytes in Fig. 11 für die übrigen integrierten Schaltungschips 43, 44 und 45.
Die Schaltung auf jedem der 4 integrierten Schaltungschips 42 bis 45 ist gleich aufgebaut, der einzige Unterschied zwischen den einzelnen Chips besteht in der Wahl der jeweiligen Eingangsdatensammelleitung und der Ausgangsdatensammelleitung, die an das Chip angeschlossen sind. Zur Erklärung reicht somit hier die Betrachtung einer einzigen Schaltung auf einem Chip; als Beispiel wird das Chip 45 ausgewählt.
i In Fig. 12 ist im einzelnen die Konstruktion der auf dem integrierten Schaltungschip 45 untergebrachten Schaltung
gezeigt. Bei der normalen Datenverschiebung bewegen sich die Bits 3 von der Schieber/Umsetzer-Dateneingangssairanelleitung über die Leitergruppe 13d, einen Byteschieber 50 der ersten Stufe, die Leitergruppe 51 und einen Byteschieber 52 der zweiten Stufe sowie eine Leitergruppe 15d zur Schieber/ Umsetzer-Datenausgangssammelleitung 15. Parallel dazu bewegen sich die Bits 7 von der Schieber/Umsetzer-Dateneingangssammelleitung 13 zur Schieber/Umsetzer-Datenausgangssammelleitung über eine Leitergruppe 13h, einen Byteschieber 53 der ersten Stufe, einer Leitergruppe 54, einen Byteschieber 55 der zweitert Stufe und eine Leitergruppe 15h. Bei normalen Datenverschiebungen kann jeder der Schieber 50 und 53 der ersten Stufe j
EN 976 009
809820/0706
eine RechteverSchiebung von null, einem, zwei oder drei Bytes vornehmen. Die Schieber 52 und 55 der zweiten Stufe können ! eine Rechteverschiebung von 0 oder von 4 Bytes vornehmen. !Kombiniert können also die Schieber 50 und 52 der ersten bzw. zweiten Stufe für die Bits 3 einer Rechtsverschiebung und Irgendeinen Betrag zwischen 0 und 7 Bytes vornehmen. Dasselbe gilt für die Schieber 53 und 55 der zweiten Stufe bei den Bits 7.
Wie weit die Schieber (Verschiebeeinrichtungen) 50, 52, 53 und 55 nun schieben, das wird von binären Signalen auf den Ausgangsleitungen von einem Schiebebetragsdecodierer 56
gesteuert, der die binär codierte Information auf der Schiebesteuersammelleitung 47 empfängt und decodiert. Die Beschriftungen I auf den Ausgangsleitungen des Decodierers 56 haben folgende
!Bedeutung: RO bezeichnet eine Rechtsverschiebung von 0 Bytes !(also keine Verschiebung) für die Schieber der ersten Stufe, R1 bezeichnet eine Rechtsverschiebung von einem Byte, R2 eine Rechtsverschiebung von 2 Bytes, R3 eine Rechtsverschiebung von 3 Bytes und R4 eine Rechtsverschiebung von 4 Bytes. j ROO bezeichnet eine Rechtsverschiebung von 0 Bytes (also keine Verschiebung) für die Byteschieber 52 und 55 der zweiten Stufe. Separate O-Signale werden für die beiden Stufen benötigt, weil die Schiebebeträge für die beiden Stufen nicht unbedingt gleichzeitig O sind. Die Signale auf den Leitungen RO bis R3 sorgen für die normale Schiebesteuerung der Schieber 50 und 53 der ersten Stufe, wobei nur ein Signal auf diesen Leitungen während einer gegebenen Datenschiebeoperztion aktiv sein kann. Die Signale auf den Leitungen ROO und R4 steuern die Schiebung in den Schieber 52 und 55 der zweiten Stufe; nur ein Signal auf den Leitungen ROO und R4 kann während einer gegebenen Datenschiebeoperation aktiv sein, mit anderen Worten heifit das, zu einem gegebenen Zeitpunkt ist eine der Leitungen RO bis R3 und eine der Leitungen ROO und R4 aktiv. Der aktive Zustand bezeichnet das Ausmaß
EN 976 009
809820/0706
der vorzunehmenden Verschiebung.
Nach Darstellung in Fig. 12 ist die Leitung R4 auch mit den Schiebern 50 und 53 der ersten Stufe verbunden, um in jedem dieser Schieber auch eine 4 Byte große Rechtsverschiebung beim Entpacken ohne Vorzeichenumsetzung vornehmen zu können (s. Fig. 8b). Bei normalen Datenverschiebungen wird die Leitung R4 von den Schiebern 50 und 53 der ersten Stufe nicht gebraucht.
Sieht man im Augenblick einmal von den Wirkungen der Füllkennzeichen auf der Auffüll-Zeichen-Steuersammelleitung 48 ab, so handelt es sich bei der beschriebenen Schiebeschaltung um eine zyklische Verschiebeschaltung (Ringschiebeschaltung) bei der die an einem Ende des Schiebers ausgeschobenen Daten am anderen Ende wieder eintreten und wieder erscheinen. In diesem Ringmechanismus laufen die Daten so um,daß alle Datenbytes immer an irgendeinem Punkt des Kreises stehen. Wegen dieser zyklischen UmlaufSchiebung werden Datenverschiebungen nach links dadurch vorgenommen, daß man statt dessen eine komplementäre Datenschiebung nach rechts ausführt. Für eine Schiebeschaltung mit 8 Bytes Umfang gelten für eine Links- bzw. IRechtsschiebung folgende Beziehungen:
' Linksschiebung Rechtsschiebung
1 7
j 2 6
j 3 5
! 4 4
j 5 3
' 6 2
i 7 ' 1
Durch die Auffüllkennzeichen FO bis F7 auf der SteuerSammelleitung 48 soll die Ringschiebeschaltung wie eine lineare
EN 976 009
809820/0706
Schiebeschaltung mit einer linken und einer rechten Begrenzung aussehen. Nimmt man an, daß mit Nullen aufgefüllt werden soll, so dienen die Auffüllkennzeichen auf der Steuersammelleitung 48 dazu, diejenigen Schieberausgangsbytepositionen auf 0 zu setzen, die den Bytepositionen in einem Schieber mit Begrenzungen entsprechen, die beim Verschieben der Originaldaten um einen gegebenen Betrag in einer gegebenen Richtung leergelassen würden. Dadurch wird der Verlust von Daten sim uliert, der durch das Ausschieben von Daten am Ende eines begrenzten Schiebers auftreten würde. Wenn der Schieber beispielsweise ursprünglich 8 Datenbytes enthalten würde (z.B. 12345678) und diese um 3 Bytes nach rechts verschoben würden, dann füllen die Auffüllkennzeichen die 3 Schieberausgangsbytepositionen links von den verschobenen Daten mit Nullen auf (für das gegebene Beispiel also 00012345).
Wenn mit Nullen aufgefüllt wird, geschieht das in den Schiebern 52 und 55 der zweiten Stufe. Dazu werden die 8 Auffüllkennzeichensignale auf der Steuersammelleitung 48 durch einen Satz von 8 Negationsschaltungen 59 invertiert, zu den Auffül!kennzeichen FÖ bis F7. Diese invertierten Auffüllkennzeichen FO bis FT werden an die beiden Schieber 52 und 55 der zweiten Stufe gegeben. Wenn ein gegebenes Byte, z.B. das Byte 3, aufgefüllt werden soll, dann wird sein Auffüllkennzeichen F3 auf den Einerpegel gesetzt, wodurch wiederum das invertierte Auffüllkennzeichen F3~ den Nullpegel annimmt. Dadurch werden ' die Ausgangsbitpositionen des Byte 3 an den Schiebern 52 und 55 auf 0 gesetzt.
Die Schaltung für die Formatumsetzung beim Packen und Entpacken befindet sich in den Byteschiebern 52 und 55 der zweiten Stufe, Die notwendigen Kreuzungen von Bit 3 nach Bit 7 und Bit 7 nach Bit 3 erfolgen über 8 Leiter in der Kreuzungsleitergruppe 57. Außer beim Entpacken ohne Vorzeichen werden die Schieber 50 und 53 der ersten Stufe für eine Nullverschiebung eingestellt,
EN 976 009
809820/0706
wenn gepackt oder entpackt werden soll. In der Ausnahmesituation "Entpacken ohne Vorzeichen", werden die Schieber und 53 der ersten Stufe so eingestellt, daß sie eine Rechtsverschiebung um 4 Bytes vornehmen.
Durch den Packungs/Entpackungssteuerdecodierer 58, der das über die SteuerSammelleitung 49 gelieferte 3 Bit große codierte Steuersignal empfängt und decodiert, wird die Operationsart gewählt, die von den Byteschiebern 52 und 55 der zweiten Stufe auszuführen ist. Im dargestellten Ausführungsbeispiel hat der Packungs/Entpackungssteuerdecodierer 58 5 Ausgangssteuerleitungen 60 bis 64, von denen für eine gegebene Schiebung oder Formatumsetzung nur jeweils eine aktiv sein kann. Die Steuerleitung 60 ist aktiv, wenn eine normale Datenschiebung ausgeführt werden soll. Die Steuerleitung 61 ist aktiv, wenn mit Vorzeichen gepackt werden soll. Die Steuerleitung 62 ist aktiv, wenn ohne Vorzeichen gepackt werden soll. Die Steuerleitung 63 ist aktiv, wenn mit Vorzeichen entpackt werden soll und die Steuerleitung ist aktiv, wenn ohne Vorzeichen entpackt werden soll. Die Steuerleitungen 61 und 62 sind mit einem ODER-Glied 65 verbunden und erzeugen auf dessen Ausgangsleitung 66 ein allgemeines Packsignal, wenn eine der beiden Leitungen 61 oder
62 aktiv ist. In ähnlicher Weise sind die Steuerleitungen
63 und 64 mit einem ODER-Glied 67 verbunden, zur Erzeugung eines allgemeinen Entpackungssignals auf einer Steuerleitung 68, wenn eine der Steuerleitungen 63 und 64 aktiv ist. Die Steuerleitungen 60, 61, 63, 64, 66 und 68 sind mit jedem der Schieber 52 und 55 der zweiten Stufe verbunden und steuern die dort auszuführende Operationsart. Außerdem ist die Steuerleitung 64 noch mit jedem der Byteschieber 50 und 53 der ersten Stufe verbunden, um bei einer Entpackung ohne Vorzeichen die Spezial-Rechtsverschiebung von 4 Bytes einzuschalten.
EN 976 009
809820/0706
Die Signale auf den SteuerSammelleitungen 47, 48 und 49 für die Schiebesteuerung, das Auffüllkennzeichen und die Packungs/Entpackungssteuerung kommen von der Schiebesteuerung 41 der Fig. 1, die den größten Teil ihrer Information vom Steuerregister 21 empfängt, wenn darin ein Schiebe-Mikrowort steht. Ein repräsentatives Format für ein solches Schiebemikrowort ist in Fig. 13 gezeigt. Ein solches Schiebe-Mikrowort wird von dem Steuerspeicher 20 jedes Mal abgegeben, wenn der Byteschieber und Formatumsetzer 14 entweder eine normale Datenschiebeoperation oder eine der vier möglichen Packungs/Entpackungeoperationen ausführen soll.
Bei einer normalen Datenschiebeoperation wird mit dem Ergebnissteuerfeld und dem Quellen/Ergebnisadreßfeld im SchiebeiMikrowort die Stelle der Quellendaten (die zu bearbeitenden !Daten) und die Stelle bezeichnet, an die das Ergebnis zu
setzen ist. Bei einer Packungs- oder Entpackungsoperation ist das Ergebnissteuerfeld so codiert, daß es eine auszuführende Formatumsetzung und die Tatsache angibt, daß die Quellendaten im A-Register 38 stehen. Das Quellen-Ergebnisadreßfeld ist so codiert, daß es die Stelle angibt, an die die Ausgabedaten vom Byteschieber und Formatumsetzer 14 zu senden sind. Insbesondere gibt es durch seine Codierung die Adresse der Register LS1 oder LS2 im Arbeitsspeicher 25 an, abhängig davon, ob eine Packung/Entpackung mit oder ohne Vorzeichen ausgeführt wird.
Für normale Datenschiebeoperationen gibt das R/L (Rechts/ Links)-Bit im Schiebe-Mikrowort die Richtung der Verschiebung an und das Schiebebetragsfeld das Ausmaß der Schiebung(außer für Schiebe-Maschineninstruktlonen). Für Schiebe-Maschinenlnstruktionen ist der Schiebebetrag in der Instruktion selbst enthalten und die Schiebesteuerung 41 nimmt diese Information vom Instruktionsregister 26 und nicht vom Mikrowort im Steuerregister 21. Das ΙΑ-Bit (indirekter Betrag) im Mikrowort gibt
EN 976 009
809820/0706
an, ob der Schiebebetrag vom Mikrowort oder von der Instruktion im Instruktionsregister 26 zu holen ist. Bei einer Packungsoder Entpackungsoperation wird das ΙΑ-Bit so gestellt, daß es anzeigt, daß der Schiebebetrag vom Mikrowort zu nehmen ist und das Schiebebetragsfeld im Mikrowort wird so codiert, daß es lauter Nullen enthält, außer für die Entpackung ohne Vorzeichen. In diesem Fall wird der Byteteil des Mikrowort-Schiebebetragsfeldes so eingestellt, daß er eine Schiebung von 4 Bytes anzeigt, und der Bitteil wird auf lauter Nullen gesetzt. Das R/L-Bit wird ebenfalls so gesetzt, daß es eine Rechtsschiebung anzeigt.
Das Schiebe- und Packungs/Entpackungssteuerfeld des Schiebe-Mikrowortes ist ein 3 Bit großes Steuerfeld, das das codierte Packungs/Entpackungssteuersignal für die Steuersammelleitung 49 der Fig. 12 liefert. Dieses Steuerfeld wird nach der für das jeweilige Schiebe-Mikrowort gewünschten Operationsart codiert. Die acht möglichen Codekombinationen dieses 3 Bit großen Feldes können z.B. folgende Bedeutung haben:
Schiebe- und Packungs/Entpackungssteuerfeld Code Operation
000 Schiebung - Zyklischer Betrieb
001 Schiebung - Nullen auffüllen
010 Schiebung - Einsen auffüllen
011 Schiebung - Vorzeichen weitergeben
100 Packung mit Vorzeichen
101 Packung ohne Vorzeichen
110 Entpacken mit Vorzeichen
111 Entpacken ohne Vorzeichen
Dieses 3 Bit große Steuerfeld wird von der Schiebesteuerung empfangen und an den Byteschieber und Formatumsetzer 14 über die Steuersammelleitung 49 weitergeleitet. Das Auftreten einer
151)976009 809820/0706
der vier ersten Codewerte veranlaßt den Decodierer 58 (Fig. 12), zur Aktivierung der Schiebeleitung 60. Die letzten vier Codewerte steuern die Aktivierung der Decodiererausgangsleitungen 61 bis 64. Die UmlaufSchiebung erfolgt durch Abschalten der Auffüllkennzeichen in der Schiebesteuerung 41, und zwar werden dazu die 8 Auffüllkennzeichenleitungen in der SteuerSammelleitung 48 auf 0 geschaltet. Dadurch wird die Auffülloperation abgeschaltet, so daß die Verschiebeeinrichtung ihre normale Ringverschiebung durchführt. Der Einfachheit halber werden hier die Verschiebungen mit Auffüllen von Einsen und mit Weiterleiten des Vorzeichens nicht beschrieben.
Eine Konstruktionsform der Schiebesteuerung 41 wird in dem oben erwähnten Artikel von Shimp und Sliz beschrieben. Unter anderem wird dort sehr genau die Erzeugung der Byteauffüllkennzeichen FO bis F7 beschrieben. Diese werden nach den dortigen Ausführungen von der Information abgeleitet, die im R/L-Feld enthalten ist und vom Byteteil des Schiebebetragsfeldes des Schiebe-Mikrowortes. In diesem Artikel sind jedoch die Packungs/Entpackungseinrichtungen der vorliegenden Patentanmeldung in keiner Weise erwähnt.
Betrachtet man kurz die Benutzung der Schiebe-Mikrov/örter bei !der Formatumsetzung, so stellt man fest, daß ein erstes Schiebe-Mikrowort mit einem Packungs/EntpackungsSteuerfeldcode
von "101" gegeben wird, um die in Fig. 7a dargestellte Packung ohne Vorzeichen vorzunehmen. Danach wird ein zweites Schiebe-Mikrowort mit einem Packungs/Entpackungssteuerfeld- j code von "100" abgegeben, um das in Fig. 7b dargestellte ,
Packen mit Vorzeichen durchzuführen. Für die Entpackungsopera- I tionen enthält das erste Schiebe-Mikrowort einen der beiden Codes "110" oder "111" und das zweite Schiebe-Mikrowort i die anderen Codes. Mit anderen Worten, in jedem der in den j Fign. 7a, 7b, 8a und 8b dargestellten Fälle wird ein anderes j
EN 976 009
809820/0708
- 38 Mikrowort verwendet.
In Fig. 14 ist in größeren Einzelheiten die Konstruktion der Datenverarbeitungsteile der Schaltung auf dem integrierten Schaltungschip 45 dargestellt. Fig. 14 unterscheidet sich von Fig. 12 nur dadurch, daß die Steuerleitungen und die Steuerschaltung der Einfachheit halber weggelassen und die Datenleitungen und die Datenverarbeitungsschaltung in größeren Einzelheiten dargestellt wurden. Aus Fig. 14 geht hervor, daß der Schieber 50 der ersten Stufe für Bitposition 3 eine erste Verknüpfungsebene (Verdrahtung) 70 und eine Gruppe von 8 logischen Schaltelementen 71 bis 78 enthält. Die erste Verdrahtungsebene 70 dient dazu, die verschiedenen Leiter W03, W13, W23 usw. für das Bit 3 in der Schieber/Umsetzer-Dateneingangssammelleitung 13 mit den verschiedenen logischen Elementen 71 bis 78 zu koppeln. Der Ausgang eines jeden logischen Schaltelementes 71 bis 78 ist mit einer anderen Leitung X03, X13, X23 usw. in der Verbindungs-Leitergruppe gekoppelt.
Der Byteschieber 52 der zweiten Stufe für Bitposition 3 enthält ! eine zweite Verknüpfungsebene (Verdrahtung) 80 und 8 logische ; Schaltelemente 81 bis 88. Die zweite Verdrahtungsebene 80 j dient dazu, die verschiedenen Zwischenleiter X03, X13 usw. ; mit den verschiedenen Schaltelementen 81 bis 88 zu koppeln. I j Der Ausgang eines jeden Schaltelementes 81 bis 88 ist mit einem anderen der 8 Leiter in Bitposition 3 Y03, Y13 usw. in der Schieber/Umsetzer-Datenausgangssammelleitung 15 verbunden .
Der Byteschieber 53 für Bitposition 7 auf der ersten Stufe enthält eine erste Verdrahtungsebene 90 und 8 logische Schaltelemente 91 bis 98. Der Byteschieber 55 für Bitposition 7 auf der zweiten Stufe enthält eine zweite Verdrahtungsebene 100 und 8 logische Schaltelemente 101 bis 108. Die Bitkreuzungsleiter 57 werden beim Packen und Entpacken dazu
en 976 009 809820/0706
!benutzt, bestimmte Datenbits von Bitposition 3 auf bestimmten Ausgangsleitern für Bitposition 7 der zweiten Stufe Y07, Y17 usw. erscheinen zu lassen und umgekehrt bestimmte Datenbits von Bitposition 7 auf bestimmten Ausgangsleitungen der zweiten Stufe für Bitposition 3y nämlich Y03, Y13 usw.
Bei den Leiterbeschriftungen in Fig. 14 wird der Buchstabe W für die Leiter in der Schieber/Umsetzer-Dateneingangssammelleitung 13, der Buchstabe X für die Leiter in den Verbindungs-Leitergruppen und der Buchstabe Y für die Leiter in der Schieber/Umsetzer-Datenausgangssammelleitung 15 verwendet. Die linke Zahl in jeder Leiterbeschriftung ist die Bytenummer und die rechte Zahl die Bitnummer. W43 bezeichnet beispielsweise den Leiter für das Byte 4, Bit 3 der Dateneingangssamjmelleitung. Ähnlich bezeichnet X 67 in der Zwischenleitergruppe iden Leiter für Byte 6, Bit 7. Diese Byte- und Bitzahlen in ί der Leiterbeschriftung geben Maschinenstellen an und nicht
Datenbits in den verarbeiteten Daten.
In Fig. 15 ist im einzelnen der Aufbau des Byteschiebers 50 : für Bitposition 3 der ersten Stufe dargestellt. Fig. 15 zeigt j sowohl die erste Verdrahtungsebene 70 als auch die logischen j Schaltelemente 71 bis 78, die der einfacheren Erklärung halber nur elektromechanisch analog dargestellt sind. Die in Fig. 15 wiedergegebenen Schalterstellungen gelten für den Fall einer Rechtsverschiebung von 3 Bytes. Wenn die Datenbytefolge auf den EingangsIeitem WO, W13 usw. lautet "01234567", dann ergibt sich für die dargestellte Schalterstellung auf den Ausgangsleitern XO, X13 usw. die Folge "56701234". Somit ist jedes Bit um 3 Bytepositionen nach rechts verschoben. Das Beispiel zeigt auch die zugrundeliegende Ringnatur der Schiebeschaltung. Die in Fig. 15 dargestellte mechanische Schaltereinstellverbindung 79 entsprechen den Signalen auf den Schiebebetragsleitungen RO bis R4 in Fig. 12, die zum Byteschieber 50 der ersten Stufe führen und die Schaltwirkung dort steuern.
EN 976 009
809820/0706
27A8991
In Fig. 16 ist die eigentliche logische Schaltungskonstruktion eines der logischen Schaltelemente 71 bis 78 im Byteschieber 50 der ersten Stufe für Bitposition 3 gezeigt, nämlich des logischen Schaltelementes 76. Dieses Schaltelement enthält 5 UND-Glieder 110 bis 114, deren Ausgänge an ein ODER-Glied 115 angeschlossen sind, dessen Ausgang wiederum mit dem Zwischenleiter X53 verbunden ist. Während einer gegebenen Schiebeoder Packungs/ Entpackungsoperation ist nur eines dieser UND-Glieder 110 bis 114 eingeschaltet, die andern sind abgeschaltet;. Es wird das UND-Glied eingeschaltet, dessen Schiebebetrags- ; Steuerleitung aktiv ist (binär 1). Für eine Rechtsverschiebung von O (RO = 1) wird somit das UND-Glied 110 eingeschaltet, für eine Rechtsverschiebung von 0 (R1 = 1) das UND-Glied 111 usw. . Das Einschalten des UND-Gliedes 110 koppelt den Eingangsleiter j W53 mit dem Ausgangsleiter X53, und das ist das gewünschte ! Ergebnis, wenn nicht verschoben werden soll. In ähnlicher i Weise wird durch Einschalten eines ausgewählten UND-Gliedes j 111 bis 115 der entsprechende Eingangsleiter W43, W33, W23 und !
W13 mit dem Ausgangsleiter X53 verbunden. |
Die Steuerleitung 64 für das Entpacken ohne Vorzeichen ist mit dem UND-Glied 114 so verbunden, daß eine Rechtsverschiebung von 4 Bytes im Byteschieber der ersten Stufe nur auftreten kannj, wenn eine Formatumsetzung "Entpacken ohne Vorzeichen" ausgeführt wird. Diese Verschiebung von 4 Bytes in der ersten Stufe ist somit für normale Datenschiebeoperationen abgeschaltet. j
Jedes andere der logischen Schaltelemente für Bit 3, 71 bis 75, 77 und 78, die in den Fign. 14 und 15 dargestellt sind, ist !genauso aufgebaut wie das in Fig. 16 gezeigte logische Schalt-
!element.
Der Byteschieber 53 für Bitposition 7 in der ersten Stufe, dargestellt in den Fign. 12 und 14, ist genauso aufgebaut wie |der in den Fign. 15 und 16 gezeigte Byteschieber 50 für Bitposition 3 der ersten Stufe. Weiterhin ist jeder der beiden
EN976009 809820/0706
2749991
Schieber der ersten Stufe auf jedem der anderen integrierten Schaltungschips 42, 43 und 44 genauso gebaut wie dieser Schieber in den Fign. 15 und 16.
Die Byteschieber 52 und 55 der zweiten Stufe enthalten nicht nur die normale Schiebeschaltung, sondern außerdem eine für das Packen und Entpacken benötigte Schaltung. In Fig. 17 ist ein Verbindungsdiagramm zur Darstellung der Eingabe/Ausgabekopplung bzw. der Verbindungen wiedergegeben, die in den Byteschiebern 52 und 55 der zweiten Stufe dazu gebraucht werden, die in den Fign. 7a bzw. 7b dargestellten Packungsoperationen ohne bzw. mit Vorzeichen auszuführen. Diese Verbindungen können überprüft werden durch Vergleich der Fig. 17 mit den Fign. 7a und 7b. Abgesehen vom Bit im Vorzeichenfeld sind die Verbindungen für das Packen mit und ohne Vorzeichen dieselben. Beim Packen mit Vorzeichen wird das Vorzeichenbit durch Verbindung der Eingangsleitung X73 mit der Ausgangsleitung Y 77 weitergegeben. Beim Packen ohne Vorzeichen wird diese Verbindung nicht hergestellt und die Ausgangsleitung Y77 statt dessen auf 0 gezwungen. Im übrigen sind die Verbindungen für die
beiden verschiedenen Packungsfälle dieselben.
In Fig. 18 ist ein weiteres Verbindungsdiagramm für die Ein- j gangs/Ausgangskopplung, bzw. die Verbindungen gezeigt, die für j die Schieber 52 und 55 der zweiten Stufe zum Entpacken mit und ohne Vorzeichen gebraucht werden, wie es in den Fign. 8a und 8b dargestellt ist. Abgesehen von der Behandlung des Vor-Zeichenfeldes sind die Eingangs/Ausgangsverbindungen für beide Entpackungsfälle dieselben. Für das Entpacken mit Vorzeichen wird das Vorzeichenbit von der Eingangsleitung X77 auf die Ausgangsleitung Y63 gekoppelt. Beim Entpacken ohne Vorzeichen wird diese Verbindung nicht hergestellt und der Ausgangsleiter Y63 statt dessen auf binär 1 gezwungen. Die Bit-3-Ausgangsleitungen YO3, Y13 usw. werden auf 1 gezwungen, um den richtigen Zonencodewert für die Bits 3 zu bekommen.
EN 976 Öö9
809820/0706
Anhand der Fign. 19 bis 34 werden anschließend Einzelheiten einer Konstruktionsform für die Byteschieber und Formatumsetzer 52 und 55 der zweiten Stufe beschrieben. Insbesondere zeigen die Fign. 19 bis 26 logische Schaltungen für die Schaltelemente 81 bis 88 der zweiten Stufe für Bitposition 3. Die Fign. 27 bis 34 zeigen in ähnlicher Weise logische Schaltungen für die logischen Schaltelemente 101 bis 108 der zweiten Stufe für Bitposition 7.
In Fig. 19 ist der Aufbau der logischen Schaltung für das Umschaltelement 81 der zweiten Stufe für Bitposition 3 gezeigt. Normale Datenverschiebungen laufen über die UND-Glieder 120 und 121, die mit ihren Ausgängen an ein ODER-Glied 122 angeschlossen sind. Während einer Schiebeoperation steht die Schiebesteuerleitung 60 auf dem binären Einerpegel, so daß dadurch der zweite Eingang eines jeden UND-Gliedes 120 und 121 gegeben ist. Für den Augenblick wird angenommen, daß das invertierte Auffüllkennzeichen FO von Byte 0 auf binär 1 steht (dem Pegel für "nicht auffüllen"). Dadurch wird der vierte Eingang eines jeden UND-Gliedes 120 und 121 eingeschaltet. Wenn der Schieber der zweiten Stufe eine NuI!verschiebung vornehmen soll, dann steht die Schiebebetragsleitung ROO auf dem Einerpegel und die Schiebebetragsleitung R4 auf dem Nullpegel, i 'Dadurch wird das UND-Glied 120 eingeschaltet und das UND-Glied; 121 ausgeschaltet. Dieses wiederum koppelt den Eingangsleiter X03 mit dem Ausgangsleiter Y03, was das gewünschte Ergebnis :
ist. Falls der Schieber der zweiten Stufe eine 4-Byte-Ver- j Schiebung liefern soll, ist die Situation umgekehrt und die \ Leitung ROO steht auf dem Nullpegel und die Leitung R4 auf [ !dem Einerpegel. Dadurch wird das UND-Glied 120 abgeschaltet und das UND-Glied 121 eingeschaltet. Dieses wiederum koppelt die Eingangsleitung X43 mit der Ausgangsleitung Y03, was das gewünschte Ergebnis ist.
EN976009 809820,0706
Wenn der Schieber im Auffüllbetrieb arbeitet und Byte O mit Nullen aufzufüllen ist, dann geht das invertierte Auffüllkennzeichensignal FÖ auf O. Damit werden die beiden UND-Glieder 120 und 121 abgeschaltet und so ein Nullpegel auf dem Ausgangsleiter Y03 erzeugt. Bei den Formatumsetzungsoperationen des Packens und Entpackens steht die Schiebesteuerleitung 60 auf dem Nullpegel. Damit werden beide UND-Glieder 120 und 121 und somit effektiv der Datenschiebeteil des Schaltelementes abgeschaltet.
Der Schiebeteil jedes anderen Schaltelementes 82 bis 88 und 101 bis 108 ist genauso aufgebaut wie der eben beschriebene Teil für das Schaltelement 81 und wird daher hier nicht näher beschrieben.
Der Formatumsetzungsteil des Schaltelementes 81 der Fig. 19 ist dargestellt durch das UND-Glied 123 und die Entpackungssteuerleitung 68, die mit dessen Eingang verbunden ist. Die Entpackungssteuerleitung 68 steht auf binär 1 bei der Formatumsetzung des Entpackens mit oder ohne Vorzeichen. Dadurch wir der Ausgangsleiter Y03 auf binär 1 gezwungen, was nach Darstellung in Fig. 18 das gewünschte Ergebnis ist. Bei der Packungsoperation sollte andererseits der Ausgangsleiter Y03 nach Darstellung in Fig. 17 auf 0 gezwungen werden. Im vorliegenden Aueführungsbeispiel geschieht das dadurch, daß man einfach zum Schaltelement 81 für die Packungsoperation keine Schaltkreisverbindung herstellt. Da alle UND-Glieder 120, 121 und 123 abgeschaltet sind (Nullausgangspegel) und somit kein anderes Signal an das ODER-Glied 122 geliefert wird, bleibt der Ausgangsleiter Y03 auf dem Nullpegel.
Wie aus den Fign. 20, 21 und 22 zu ersehen ist, ist der Forma tumsetzerteil der Schaltelemente 82, 83 und 84 genauso aufgebaut wir der Formatumsetzerteil des Schaltelementes 81 in Fig. 19, und zwar stellen die UND-Glieder 124, 125 und 126
809820/0706
- 44 den Formatumsetzerteil in den Fign. 20, 21 und 22 dar.
In Fig. 23 ist der Formatumsetzerteil des Schaltelementes 85 durch die UND-Glieder 127 und 128 dargestellt, deren Ausgänge mit dem ODER-Glied 129 verbunden sind. Bei einer Packungsoperation steht die Steuerleitung 66 auf dem Einerpegel und diej Steuerleitung 68 auf dem Nullpegel. Dadurch wird das UND-Glied 127 eingeschaltet und die Eingangsleitung X17 mit der Ausgangsleitung Y4 3 verbunden. Nach Darstellung in Fig. 17 ist das das gewünschte Ergebnis für die Packungsoperation. Laut Darstellung durch die rechtsstehende Zahl in der Leiterbeschrifturig ist diese Kopplung eine Bitüberkreuzung. Während einer Entpackung ist andererseits die Situation genau umgekehrt, die Steuerleitung 68 steht auf dem Einerpegel und die Steuerleitung 66 auf dem Nullpegel. Dadurch kann das UND-Glied 28 einen ι Einerpegel auf die Ausgangsleitung Y43 zwingen. Nach Darstellung in Fig. 18 ist das das gewünschte Ergebnis für eine Entpackungsoperation .
In Fig. 24 ist der Formatumsetzerteil des Schaltelementes 86 dargestellt durch die UND-Glieder 130 und 131, deren Ausgänge mit dem ODER-Glieder 132 verbunden sind. Die Konstruktion ist !dieselbe wie bei dem vorher beschriebenen Schaltelement 85.
!In Fig. 25 ist der Formatumsetzerteil des Schaltelementes 87 !dargestellt durch die UND-Glieder 133, 134 und 135, deren Ausgänge mit dem ODER-Glied 136 verbunden sind. Während einer gegebenen Formatumsetzung ist nur eines dieser UND-Glieder einge schaltet, die anderen abgeschaltet. Bei einer Packungsoperation ist das UND-Glied 133 eingeschaltet und dadurch der Eingangsleiter X57 mit dem Ausgangsleiter Y63 gekoppelt. Bei einer Entpackungsoperation mit Vorzeichen ist das UND-Glied 134 eingeschaltet und dadurch der Eingangsleiter X77 mit dem Ausgangsleiter Y63 gekoppelt. Bei einer Entpackung ohne Vorzeichen ist das UND-Glied 135 eingeschaltet und zwingt einen
EN976O°9 809820/0706
Einerpegel auf den Ausgangsleiter Y63. Nach Darstellung in den Fign. 17 und 18 sind das die gewünschten Ergebnisse für das Packen und Entpacken.
In Fig. 27 ist der Formatumsetzerteil für das Schaltelement
101 für Bitposition 7 der zweiten Stufe dargestellt durch das UND-Glied 140, dessen Ausgang mit einem ODER-Glied 141 verbunden ist. Bei einer Entpackung mit oder ohne Vorzeichen steht die Entpackungssteuerleitung 68 auf dem Einerpegel und schaltet das UND-Glied 14O ein, wodurch der Eingangsleiter X43 mit dem Ausgangsleiter YO7 gekoppelt wird. Nach Darstellung in Fig. ist das das gewünschte Ergebnis für eine Entpackungsoperation. Die Formatumsetzerteile der nächsten beiden Schaltelemente
102 und 103 sind nach Darstellung in den Fign. 28 und 29 genauso gebaut wie der Formatumsetzerteil in Fig. 27. In Fig. 28 ist der Formatumsetzerteil dargestellt durch das UND-Glied 142 und in Fig. 29 durch das UND-Glied 143.
: In Fig. 30 ist der Formatumsetzerteil des Schaltelementes 104 dargestellt durch die UND-Glieder 144 und 145, deren Ausgänge mit einem ODER-Glied 146 verbunden sind. Während einer Packungsoperation steht die Packungssteuerleitung 66 auf dem Einerpegel und die Entpackungssteuerleitung 68 auf dem Nullpegel, um das ; UND-Glied 144 einzuschalten und das UND-Glied 145 abzuschalten. : Dadurch wird der Eingangsleiter XO7 mit dem Ausgangsleiter Y37 gekoppelt. Bei einer Entpackungsoperation sind die Signalpegel
auf den Steuerleitungen 68 und 66 genau umgekehrt, so daß das UND-Glied 145 ein- und das UND-Glied 144 ausgeschaltet wird. Dadurch wird der Eingangsleiter X57 mit dem Ausgangsleiter Y37 gekoppelt. Nach Darstellung in den Fign. 17 und 18 sind das die gewünschten Ergebnisse für die Packungs- und Entpackungsoperation .
Der Formatumsetzerteil in Fig. 31 ist dargestellt durch die UND-Glieder 147 und 148, deren Ausgänge mit einem ODER-Glied
809820/0706
149 verbunden sind. Der Formatumsetzerteil in Fig. 32 ist dargestellt durch die UND-Glieder 150 und 151, deren Ausgänge mit einem ODER-Glied 152 verbunden sind. Der Formatumsetzerteil in Fig. 33 ist dargestellt durch die UND-Glieder 153 und 154, deren Ausgänge mit dem ODER-Glied 155 verbunden sind. Wie man aus einem Vergleich der in Fig. 30 gezeigten Schaltung ersehen kann, sind die Formatumsetzerteile für die Schaltelemente 105, 106 und 107 genauso aufgebaut wie derjenige für das in Fig. 30 gezeigte Schaltelemente 104.
In Fig. 34 ist der Formatumsetzerteil des Schaltelementes 108 durch die UND-Glieder 156 und 157 dargestellt, deren Ausgänge mit dem ODER-Glied 158 verbunden sind. In diesem Fall wird die Steuerleitung 61 für das Packen mit Vorzeichen anstelle der Packungssteuerleitung 66 benutzt, die in den Fign. 30 bis 33 verwendet wurde. Bei einer Packung ohne Vorzeichen wird der Ausgangsleiter Y77 auf 0 gezwungen, weil in diesem Fall alle UND-Glieder abgeschaltet sind (Ausgänge auf 0) und kein anderes Signal an das ODER-Glied 158 gegeben wird.
In Fig. 35 ist ein Gesamtschaltungs- und Logikplan für die Schieber 52 und 55 der zv/eiten Stufe, gezeigt in den Fign. 12 und 14 dargestellt, es sind jedoch nur die Schaltkreise und logischen Kreise wiedergegeben, die für das Packen und Entpacken gebraucht werden, die für normale Datenschiebeoperationen benötigen Schaltungen und logischen Kreise sind weg- | gelassen, insbesondere sind nur die Formatumsetzerteile der Schaltelemente 81 bis 88 und 101 bis 108 in Fig. 35 wiedergegeben. Somit trägt Fig. 35 zum Gesamtverständnis der Beziehung zwischen den verschiedenen Formatumsetzerteilen bei, die einzeln in den Fign. 19 bis 34 dargestellt sind.
Jedes der in Fig. 11 gezeigten anderen integrierten Schaltungschips 42, 43 und 44 ist genauso aufgebaut und arbeitet nach demselben Prinzip, wie es oben im einzelnen für das integriert4
EN 9?6 °09 8 0 9 8 2 0/0706
Schaltungschip 45 beschrieben wurde. Der einzige Unterschied zwischen den Chips besteht in den einzelnen Eingangs- und Ausgangsdatenleitungen/ die mit den Chips verbunden sind. Insbesondere sind die Byteschieber der zweiten Stufe (und Formatumsetzer) auf jedem der anderen integrierten Schaltungschips 42, 43 und 44 im Detail genauso konstruiert wie es in den Fign. 14 bis 34 für den Fall des Schiebers und Formatumsetzers 52 und 55 der zweiten Stufe gezeigt ist, der auf dem integrierten Schaltungschip 45 liegt. Somit brauchen in jedem Fall die Bitkreuzungsleitungen das integrierte Schaltungschip nicht zu verlassen, auf dem sie gebraucht werden. Demzufolge erhält man; die Formatumsetzungsfunktion ohne nennenswerte Erhöhung der Anzahl von Eingangs/Ausgangsanschlüssen auf einem Chip.
ι Das hier beschriebene Gerät für die gleichzeitige mehrere Bytes umfassende Datenformatumsetzung ermöglicht das Packen j und Entpacken wesentlich schneller als es bei heutigen Daten- j Prozessoren möglich ist, weil mit dem beschriebenen Gerät solche Operationen nicht mehr byteweise ausgeführt werden müssen.
809820/0706
L e
e rs e ι t e

Claims (17)

  1. PATENTANSPRÜCHE
    Einrichtung zur Umsetzung von Datenformaten in einer Datenverarbeitungsanlage, dadurch gekennzeichnet, daß steuerbare Verknüpfungsschaltungen (Fig. 35) zwischen ihren Eingangs- und AusgangsanschlUssen vorhanden sind, die ausgewählte Bitpositionen innerhalb verschiedener Bytes miteinander verbinden.
  2. 2. Umsetzeinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Umsetzung zwischen gepacktem und ungepacktem Dezimalzahlformat erfolgt und umgekehrt.
  3. 3. Umsetzeinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jeweils mehrere Bits parallel verarbeitet werden, die zu gleichen Bitpositionen innerhalb verschiedener Bytes gehören.
  4. 4. Umsetzeinrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Verarbeitung mehrerer Bits gleicher Bitposition durch einen Funktionsblock (42 bis 46, Fig. 11) erfolgt, der parallele Anschlüsse zu einer Eingangsdaten-Sammelleitung (13) und zu einer Ausgangsdaten-Sammelleitung (15) besitzt.
  5. 5. Umsetzeinrichtung nach Anspruch 4, dadurch gekennzeichnet, daß je ein Funktionsblock die Bitpositionen D und 4, bzw. 1 und 5, bzw. 2 und $, bzw. 3 und 7 bzw. die Paritätsbits gemeinsam verarbeitet.
  6. 6. Umsetzeinrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Verknüpfungsschaltungen in einer an sich bekannten, parallel mehrere Datengruppen (Bytes) verarbeitenden Datenverschiebeeinrichtung (14, Fig. 1) enthalten ist.
    °°9 809820/0706
  7. 7. Umsetzeinrichtung nach Anspruch 6, dadurch gekennzeichnet, daß eine zweistufige Byteverschiebeeinrichtung für jeweils eine Bitposition vorgesehen ist und daß die Verschiebeeinrichtung erster Stufe (50, 53, Fig. 12) eine Verschiebung von wahlweise 0, 1,2 oder 3 Bytes durchführt, die Verschiebeeinrichtung zweiter Stufe (52, 55) eine Verschiebung von 0 oder 4 Bytes und daß die zweite Stufe steuerbare Kreuzverbindungen (Fig. 35) zwischen Bits verschiedener Bitpositionen enthält.
  8. 8. Umschalteinrichtung nach Anspruch 7, dadurch gekennzeichnet, daß eine von Mikroinstruktionen beaufschlagte Steuereinheit (56, 58; Fig. 12) in jedem Funktionsblock Steuersignale für die Funktion "Verschieben", "Packen mit Vorzeichen", "Packen ohne Vorzeichen", "Entpacken nit Vorzeichen", "Entpacken ohne Vorzeichen" abgibt.
  9. 9. Umsetzeinrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die Steuereinrichtungen der Kreuzverbindungen aus UND-Toren (31 bis 88, 101 bis 108; Fig. 35) bestehen, denen als Eingänge die Ausgangssignale der ersten Verschiebeeinrichtung und die Steuersignale zugeführt werden.
  10. 10. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die Steuereinrichtungen der Kreuzverbindungen mit den aus UND-Gliedern bestehenden Verschiebeeinrich- s tungen der zweiten Stufe kombiniert sind (Fig. 19 bis Fig. 34) .
  11. 11. Umsetzeinrichtung nach Anspruch 7 bis 10, dadurch gekennzeichnet, daß die Kreuzverbindungen des Funktions blocks für den Fall der Packungsoperation so geschaltet sind, daß die Bits der niedrigstelligen Bitposition (X07 bis X77, Fig. 17) abwechselnd den hochstelligen und den niedrigstelligen Ausgangsleitungen
    EN976009 809820/0706
    (Y37 bis Y77, Y43 bis Y73, Fig. 17) zugeleitet werden und die restlichen Ausgangsleitungen (Y03 bis Y33, Y07 bis Y27) auf O gesetzt werden.
  12. 12. Umsetzeinrichtung nach Anspruch 7 bis 10, dadurch gekennzeichnet, daß die Kreuzverbindungen des Funktionsblocks für den Fall einer Entpackuncrsoperation so geschaltet sind, daß jeweils die Hälfte der Bits der hochstelligen und der niedrigstelligen Bitposition (X43 bis X73, bzw. X47 bis X77) abwechselnd den Ausgängen der niedrigstelligen Bitposition (Y07 bis Y77, Fig. 18) zugeführt werden.
  13. 13. Umsetzeinrichtung nach Anspruch 12, dadurch gekennzeichnet, daß die hochstelligen Ausgangsbits (Y03, Y53, Y73) entsprechend dem Zonencode (z.B. lauter Einsen) beaufschlagt werden.
  14. 14. Umsetzeinrichtung nach Anspruch 11, dadurch gekennzeichnet, daß beim "Packen mit Vorzeichen" das hochstellige Bit des letzten Bytes (X73) dem niedrigstelligen Bit des letzten Bytes (Y77) zugeführt wird.
  15. 15. Umsetzeinrichtung nach Anspruch 12, dadurch gekennzeichnet, daß beim "Entpacken mit Vorzeichen" das niedrigstellige Bit des letzten Bytes (X77, Fig. 18) dem hochstelligen Bit des vorletzten Bytes (Y63) zugeführt wird.
  16. 16. Umsetzeinrichtung nach Anspruch 15, dadurch gekennzeichnet, daß beim "Entpacken mit Vorzeichen" die Byteverschiebeeinrichtung erster Stufe eine Verschiebung j um vier Bytes vornimmt.
  17. 17. Unsetzeinheit nach einem oder mehreren der Ansprüche
    1 bis 16, dadurch gekennzeichnet, daß jeder Funktionsblock durch ein hochintegriertes Schaltplättchen (Chip) realisiert wird.
    01976009 R03B?n/0706
DE2748991A 1976-11-11 1977-11-02 Einrichtung zur Umsetzung von Dezimalzahlen Expired DE2748991C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/741,079 US4141005A (en) 1976-11-11 1976-11-11 Data format converting apparatus for use in a digital data processor

Publications (2)

Publication Number Publication Date
DE2748991A1 true DE2748991A1 (de) 1978-05-18
DE2748991C2 DE2748991C2 (de) 1983-09-29

Family

ID=24979297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2748991A Expired DE2748991C2 (de) 1976-11-11 1977-11-02 Einrichtung zur Umsetzung von Dezimalzahlen

Country Status (5)

Country Link
US (1) US4141005A (de)
JP (1) JPS5389332A (de)
DE (1) DE2748991C2 (de)
FR (1) FR2371013A1 (de)
GB (1) GB1534230A (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3000012A1 (de) * 1979-01-02 1980-07-10 Honeywell Inf Systems Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
EP0026083A1 (de) * 1979-09-19 1981-04-01 Ing. C. Olivetti & C., S.p.A. Mehrprozessor-Datenverarbeitungssystem
DE3113189A1 (de) * 1980-04-01 1981-12-03 Compagnie Internationale pour l'Informatique CII-Honeywell Bull, 75020 Paris "verfahren und vorrichtung zur umwandlung von digitalen zeichencodes, die von einem datenverarbeitungssystem empfangen oder geliefert werden"
DE3216222A1 (de) * 1982-04-30 1983-11-10 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zum aufbereiten eines aus einer anzahl von bytes bestehenden datenfeldes
EP0788043A3 (de) * 1996-01-30 1998-09-09 Weidmüller Interface GmbH & Co. Verfahren und Feldbussystem zur seriellen Datenübertragung in objektorientierten Anwendungen

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4240144A (en) * 1979-01-02 1980-12-16 Honeywell Information Systems Inc. Long operand alignment and merge operation
US4364025A (en) * 1979-01-02 1982-12-14 Honeywell Information Systems Inc. Format switch
CA1128212A (en) * 1979-01-02 1982-07-20 Jerry L. Kindell Apparatus for reformating a binary number
US4384340A (en) * 1980-12-24 1983-05-17 Honeywell Information Systems Inc. Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions
US4423483A (en) * 1980-12-24 1983-12-27 Honeywell Information Systems Inc. Data processor using a read only memory for selecting a part of a register into which data is written
JPS57199041A (en) * 1981-06-03 1982-12-06 Fuji Xerox Co Ltd Bit data processing device
JPS585838A (ja) * 1981-07-03 1983-01-13 Nec Corp シフト回路
US4462102A (en) * 1981-11-13 1984-07-24 International Business Machines Corporation Method and apparatus for checking the parity of disassociated bit groups
GB2115190B (en) * 1982-02-10 1985-11-20 Singer Co Data word normalisation
US4506345A (en) * 1982-07-02 1985-03-19 Honeywell Information Systems Inc. Data alignment circuit
US4503291A (en) * 1982-11-12 1985-03-05 Dasa Corporation Repertory dialer with efficient data storage
US4595911A (en) * 1983-07-14 1986-06-17 Sperry Corporation Programmable data reformat system
US4626829A (en) * 1985-08-19 1986-12-02 Intelligent Storage Inc. Data compression using run length encoding and statistical encoding
US5237701A (en) * 1989-03-31 1993-08-17 Ampex Systems Corporation Data unpacker using a pack ratio control signal for unpacked parallel fixed m-bit width into parallel variable n-bit width word
US5113516A (en) * 1989-07-31 1992-05-12 North American Philips Corporation Data repacker having controlled feedback shifters and registers for changing data format
JPH03149614A (ja) * 1989-08-31 1991-06-26 Univ California 情報処理システム及び記憶処理方法
US5276891A (en) * 1990-01-11 1994-01-04 Bull Hn Information Systems Inc. Alignment of sign, data, edit byte operand results for storage in memory
US5278978A (en) * 1990-03-26 1994-01-11 International Business Machines Corporation Method and system for describing and exchanging data between heterogeneous database systems with data converted by the receiving database system
US5557776A (en) * 1992-05-18 1996-09-17 International Business Machines Corporation Apparatus which allows data sharing amongst computer program from different program environments
US5471628A (en) * 1992-06-30 1995-11-28 International Business Machines Corporation Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
WO1996017291A1 (en) * 1994-12-02 1996-06-06 Intel Corporation Microprocessor with packing operation of composite operands
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7143290B1 (en) * 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US7165174B1 (en) 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
EP2110732A3 (de) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systeme und Verfahren für die sichere Transaktionsverwaltung und elektronischen Rechtsschutz
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US20060206397A1 (en) * 1995-02-13 2006-09-14 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic right management in closed and connected appliances
US6658568B1 (en) * 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5754810A (en) * 1996-03-12 1998-05-19 International Business Machines Corporation Specialized millicode instruction for certain decimal operations
US5867145A (en) * 1996-07-01 1999-02-02 Sun Microsystems, Inc. Graphical image recasting
US7062500B1 (en) * 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
EP0930575A1 (de) * 1998-01-16 1999-07-21 Anker Kaltoft Bohm Verfahren zum Konvertieren von Daten in sechs- oder siebenziffrigem Format in Daten in achtziffrigem Format, einschliesslich zwei Ziffern für das Jahrhundert, und Verfahren zum Einpacken und Auspacken solcher achtziffrigen Daten
US7133040B1 (en) 1998-03-31 2006-11-07 Intel Corporation System and method for performing an insert-extract instruction
US6449610B1 (en) 1999-03-26 2002-09-10 International Business Machines Corporation Memory media and method of processing date data using pseudo zoned decimal format
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6484255B1 (en) * 1999-09-20 2002-11-19 Intel Corporation Selective writing of data elements from packed data based upon a mask using predication
US6643673B1 (en) * 1999-11-30 2003-11-04 Ati International, Srl Method and apparatus for arithmetic shifting
US6986104B2 (en) * 2000-06-26 2006-01-10 Silver Creek Systems, Inc. Method and apparatus for normalizing and converting structured content
US8396859B2 (en) 2000-06-26 2013-03-12 Oracle International Corporation Subject matter context search engine
US7865358B2 (en) * 2000-06-26 2011-01-04 Oracle International Corporation Multi-user functionality for converting data from a first form to a second form
US7853778B2 (en) 2001-12-20 2010-12-14 Intel Corporation Load/move and duplicate instructions for a processor
US7536634B2 (en) * 2005-06-13 2009-05-19 Silver Creek Systems, Inc. Frame-slot architecture for data conversion
WO2006031466A2 (en) * 2004-09-01 2006-03-23 Silver Creek Systems, Inc. Functionality and system for converting data from a first to a second form
US9207917B2 (en) 2005-12-20 2015-12-08 Oralce International Corporation Application generator for data transformation applications
US7921367B2 (en) * 2005-12-20 2011-04-05 Oracle International Corp. Application generator for data transformation applications
US8130949B2 (en) * 2009-03-20 2012-03-06 Cisco Technology, Inc. Partially reversible key obfuscation
US8229115B2 (en) * 2009-07-15 2012-07-24 Cisco Technology, Inc. Use of copyright text in key derivation function
JP5689366B2 (ja) * 2011-05-31 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ゾーン10進数形式の変数へのアクセスを有する言語のバイナリコードを最適化する方法、並びにその最適化装置及びコンピュータ・プログラム
US9329861B2 (en) 2011-12-29 2016-05-03 International Business Machines Corporation Convert to zoned format from decimal floating point format
US9335993B2 (en) * 2011-12-29 2016-05-10 International Business Machines Corporation Convert from zoned format to decimal floating point format
US10061581B2 (en) * 2014-01-31 2018-08-28 Qualcomm Incorporated On-the-fly conversion during load/store operations in a vector processor
US11204764B2 (en) * 2016-03-31 2021-12-21 Intel Corporation Processors, methods, systems, and instructions to Partition a source packed data into lanes
US11442726B1 (en) 2021-02-26 2022-09-13 International Business Machines Corporation Vector pack and unpack instructions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2136536A1 (de) * 1971-07-22 1973-02-01 Ibm Deutschland Verfahren zur komprimierung und dekomprimierung binaerer daten
DE2233164A1 (de) * 1972-07-06 1974-01-24 Licentia Gmbh Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3292158A (en) * 1963-07-30 1966-12-13 Bunker Ramo Data processing apparatus including means for processing word and character formatted data
US3387280A (en) * 1965-10-04 1968-06-04 Sperry Rand Corp Automatic packing and unpacking of esi transfers
US3493936A (en) * 1967-05-04 1970-02-03 Ncr Co Low cost high capability electronic data processing system
US3599186A (en) * 1970-05-14 1971-08-10 Ibm Memory-centered computer system
US3772654A (en) * 1971-12-30 1973-11-13 Ibm Method and apparatus for data form modification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2136536A1 (de) * 1971-07-22 1973-02-01 Ibm Deutschland Verfahren zur komprimierung und dekomprimierung binaerer daten
DE2233164A1 (de) * 1972-07-06 1974-01-24 Licentia Gmbh Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3000012A1 (de) * 1979-01-02 1980-07-10 Honeywell Inf Systems Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
EP0026083A1 (de) * 1979-09-19 1981-04-01 Ing. C. Olivetti & C., S.p.A. Mehrprozessor-Datenverarbeitungssystem
DE3113189A1 (de) * 1980-04-01 1981-12-03 Compagnie Internationale pour l'Informatique CII-Honeywell Bull, 75020 Paris "verfahren und vorrichtung zur umwandlung von digitalen zeichencodes, die von einem datenverarbeitungssystem empfangen oder geliefert werden"
DE3216222A1 (de) * 1982-04-30 1983-11-10 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zum aufbereiten eines aus einer anzahl von bytes bestehenden datenfeldes
EP0788043A3 (de) * 1996-01-30 1998-09-09 Weidmüller Interface GmbH & Co. Verfahren und Feldbussystem zur seriellen Datenübertragung in objektorientierten Anwendungen

Also Published As

Publication number Publication date
JPS615169B2 (de) 1986-02-17
JPS5389332A (en) 1978-08-05
US4141005A (en) 1979-02-20
FR2371013A1 (fr) 1978-06-09
FR2371013B1 (de) 1981-05-29
GB1534230A (en) 1978-11-29
DE2748991C2 (de) 1983-09-29

Similar Documents

Publication Publication Date Title
DE2748991A1 (de) Einrichtung zur umsetzung von datenformaten
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE69833008T2 (de) Prozessor mit instruktionskodierung mittels eines schablonenfeldes
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2540975A1 (de) Multi-mikro-prozessor-einheit
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2524229A1 (de) Datenverarbeitungssystem mit pyramidenfoermiger hierarchie des steuerflusses
DE1549523B2 (de) Datenverarbeitungsanlage
DE2339636A1 (de) Programmsteuereinrichtung
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2336676C3 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
DE69111778T2 (de) Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits.
CH632349A5 (de) Einrichtung zur mikrobefehlssteuerung.
DE2440390C3 (de)
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE1195074B (de) Mikroprogramm-Steuerwerk einer programm-gesteuerten Rechenmaschine
DE2440390B2 (de) Elektronischer rechner
DE1774896C2 (de) Datenverarbeitungsanlage mit einem Rechenwerk, einem Hauptspeicher und einem Aktivspeicher
DE1549381B2 (de) Datenverarbeitungsanlage
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung
DE1499284A1 (de) Datenbearbeitungsanlage
DE1916377A1 (de) Verfahren und Anordnung zur Verschiebung von Datenfeldern
DE1499233C3 (de) Kombinationsrechenanlage

Legal Events

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