DE2748991A1 - Einrichtung zur umsetzung von datenformaten - Google Patents
Einrichtung zur umsetzung von datenformatenInfo
- 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
Links
- 238000012856 packing Methods 0.000 claims description 50
- 238000006243 chemical reaction Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 239000004020 conductor Substances 0.000 description 64
- 230000015654 memory Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 11
- 230000003936 working memory Effects 0.000 description 11
- 238000010276 construction Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/015—Methods 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
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. |
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. !
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
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)
- PATENTANSPRÜCHEEinrichtung 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. Umsetzeinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Umsetzung zwischen gepacktem und ungepacktem Dezimalzahlformat erfolgt und umgekehrt.
- 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. 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. 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. 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. 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. 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. 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. 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. 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 AusgangsleitungenEN976009 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. 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. Umsetzeinrichtung nach Anspruch 12, dadurch gekennzeichnet, daß die hochstelligen Ausgangsbits (Y03, Y53, Y73) entsprechend dem Zonencode (z.B. lauter Einsen) beaufschlagt werden.
- 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. 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. Umsetzeinrichtung nach Anspruch 15, dadurch gekennzeichnet, daß beim "Entpacken mit Vorzeichen" die Byteverschiebeeinrichtung erster Stufe eine Verschiebung j um vier Bytes vornimmt.
- 17. Unsetzeinheit nach einem oder mehreren der Ansprüche1 bis 16, dadurch gekennzeichnet, daß jeder Funktionsblock durch ein hochintegriertes Schaltplättchen (Chip) realisiert wird.01976009 R03B?n/0706
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)
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)
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)
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)
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 |
-
1976
- 1976-11-11 US US05/741,079 patent/US4141005A/en not_active Expired - Lifetime
-
1977
- 1977-09-28 FR FR7729878A patent/FR2371013A1/fr active Granted
- 1977-10-05 GB GB41371/77A patent/GB1534230A/en not_active Expired
- 1977-10-12 JP JP12158177A patent/JPS5389332A/ja active Granted
- 1977-11-02 DE DE2748991A patent/DE2748991C2/de not_active Expired
Patent Citations (2)
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)
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 |