DE2506671C3 - Binärdaten-Handhabungsnetzwerk - Google Patents
Binärdaten-HandhabungsnetzwerkInfo
- Publication number
- DE2506671C3 DE2506671C3 DE2506671A DE2506671A DE2506671C3 DE 2506671 C3 DE2506671 C3 DE 2506671C3 DE 2506671 A DE2506671 A DE 2506671A DE 2506671 A DE2506671 A DE 2506671A DE 2506671 C3 DE2506671 C3 DE 2506671C3
- Authority
- DE
- Germany
- Prior art keywords
- network
- operand
- mask
- input
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000000873 masking effect Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 22
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000036961 partial effect Effects 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- IIDJRNMFWXDHID-UHFFFAOYSA-N Risedronic acid Chemical compound OP(=O)(O)C(P(O)(O)=O)(O)CC1=CC=CN=C1 IIDJRNMFWXDHID-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000003134 recirculating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 150000003839 salts Chemical class 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/764—Masking
-
- 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/30018—Bit or string instructions
-
- 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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft ein Binärdaten-Handhabungsnetzwerk gemäß dem Oberbegriff des Anspruchs 1.
Derartige Netzwerke dienen zur Verwendung bei einem Digitalrechner mit überlappender Verarbeitung.
wie z. B. einem sog. Pipeline-Computer.
In der DE-AS 12 18 761 ist eine Hatenspeichereinrichtung
beschrieben, bei der mehrere Datenverarbeitungseinheiten mit einem Hauptspeicher zusammenarbeiten
sollen. Die dabei durch eine ständige Verschiebung der Adressen erzeugten Adressierungsprobleme
werden dadurch gelöst, daß das Auffinden der gesuchten Adres<.<
d. h. die Durchführung einer Adressenfunktion.dadurch erreicht wird, daß bestimmte
Bits eines Speicherworts mit dem Inhalt des Hauptspeichers verglichen werden, wobei die Maskennetzwerke
zur Selektion der bestimmten Bits dienen.
Solche an sich bekannten Maskennetzwerke werden bei der vorliegenden Erfindung jedoch nur /ur
Identifikation von Bits in einem Operanden verwendet. Dies bedeutet, daß verschiedene Operationen in einem
Teil der Gesamtschaltung von Maskennet/werken bewirkt werden, wie /. B. eine Verschiebung um eine
bestimmte Zahl von Stellen, die Löschung gewisser Bits aus einem Operanden, die tlinsetzung von Bits aus
einem Operanden in einen anderen usw. Ein Teil der Handhabungsoperationen besteht in der Erzeugung
eines Masken- oder Ausblendschemas /ur Bestimmung derjenigen Bits des Eingangsoperanden, die für die
gewünschte Handhabungsoperation ausgewählt oder herausgegriffen werden sollen. Das Maskenschema
bzw. die Maske wird zur Steuerung von Torschaltungen für die einzelnen Bits des Operanden benutzt.
Die Bildung eines Maskenschemas stellte bei einem Digitalrechner stets einen zeitraubenden und aufwendigen
Vorgang dar. Diese Operation wurde bisher typischerweise derart durchgeführt, daß eine einzelne
binäre »I« in ein Schieberegister bzw. Schiebenetz eingegeben und durch Verschiebung um eine entsprechende
Zahl von Stellen erweitert wurde. Ein Schiebenetz erfordert dabei ein Vielfaches der Schaltfunktionen
bzw. Schaltwerke (logische Schaltungen) des zu ·ί
Deschreibenden Masken-Bildungsnetzes. Wenn zudem ein Pipeline-Betrieb gewünscht wird, wird vorzugsweise
die Zahl der Scbaltschritte (logische Schritte) in einer
Folge von Operationen möglichst weit verringert, wobei die Operation bei allen Operanden in dieser ία
Operationsfolge die gleiche Zeit beanspruchen soll.
Zur Durchführung der Operationen ist die Verwendung von zwei speziellen Maskennetzen in Verbindung
mit einem Umlaufschiebenetz und einem Mischnetz erforderlich. Ausblende- bzw. Herausschneide- und π
Einführungsoperationen erforderten typischerweise mehrere Durchgänge durch ein Schiebenetz, während
ein einziger Durchgang erforderlich ist. Mehrere Durchgänge machen aber den Pipelinebetrieb entweder
aufwendig oder ziemlich unrationell, da aann. wenn eine
Operation N Durchgänge durch ein Schi'benet, erforderlich. N Schiebenetze vorhanden sein müssen
oder die Durchsalzmenge um den Faktor-τ^ reduziert
werden muß. Ebenso ist ersichtlich, daß dprm, wenn
mehrere Operationen durch ein einziges Netzwerk durchgeführt werden können, ein Kostenvorteil bezüglich
der Kombination von Funktionen in einem Net/ erreicht wird, in welchem die Komponenten je nach der
durchzuführenden Funktion auf unterschiedliche Weise benutzt werden.
Die der Erfindung zugrunde liegende Aufgabe besteht darin, ein Binärdaten-Handhabungsnetzwerk
der eingangs definierten Art zu schaffen, mit dem mehrere binäre Datenbits eines oder mehrerer Ein- ü
gangsoperanden in Abhängigkeit von Steuersignalen in einem einzigen Ausgangsoperanden umgeordnet werden
kennen, und zwar auf der Grundlage eines kontinuierlichen Operandenstromes, ohne daß dabei
mehrfache Durchgänge durch das Netzwerk erforderlieh sind und wobei eine Reihe von Funktionen von dem
gleichen Netzwerk durchführbar sein sollen.
Die Erfindung schafft ein Binär-Datenhandhabungsnetz, das sechs getrennte Funktionen oder Operationen
bei einem au', zahlreichen Einzeloper, nden bestehenden
Datenfluß durchzuführen vermag. Selbstverständlich ist die Erfindung auch auf Einzeloperationen an
Einzeloperanden anwendbar. Die sechs genannten Operationen sind folgende- 1) Umlauf-Rechtsverschiebung
des Operanden A um M Zähloperandenstellen; 2) r,o
Rechtsversch-ebung des Operanden A um M Zähloperandenstellen
mit Vor/eichenerweiteriing; 3) Umlauf-Linksverschiebung
des Operanden A um AiZähloperandenstellen; 4) Linksvvrschiebung des Operanden A um
/WZähloperandenstellcn mit Niillcrweiterung; 5) Einfü- Vi
gung der am weitesten rechts stehenden, vom Zähloperanden M bestimmten Bits des Operanden A in
den Operanden B an durch den Zähloperanden N bezeichneten Bitstelle; und b) Ausblenden von Zähloperand
M Bits aus dein Operanden A, beginnend an einer durch den Zähloperanden Nbezeichneten Bitstelle, und
rechtsbündig ausgerichtetes Einfügen dieser Bits in den Operanden B. Ersichtlicherweise ist bei diesen Operationen
zeitweilig ein Operand für die Handhabung erforderlich, während zeitweilig zwei Operanden
erforderlich sind. Für jede Operation muß mindestens ein Zähloperand und müssen manchmal zwei Zähloperanden
vorgesehen sein, um die durchzuführende Operation zu bezeichnen. Außerdem müssen verschiedene
zusätzliche Befehls- oder Steuersignale geliefert werden, um den Zustand von in den zu beschreibenden
Netzwerk vorhandenen Torschaltungen einzustellen oder zu steuern. Alle diese Datenoperanden, Zähloperanden
und Befehls- oder Steuersignale müssen dabei von einer zentralen Verarbeitungseinheit geliefert
werden, und zwar in Abhängigkeit von Operator-programmierten
Befehlen bezüglich der gewünschten Operationen.
Die sechs speziellen Operationen lassen sich wie folgt näher erläutern: Die Rechtsverschiebung des Operanden
A um M Stellen im Umlauf ist ein bei Rechnern hinreichend bekannter Vorgang. Jedes Bit eines binären
Operanden A wird dabei um M Stellen oder Bitpositionen nach rechts verschoben. Die Bits, die am
rechten Ende aus dem den Operanden enthaltenden Register herausgeschoben werden, werden nach link;;
gebracht und am linken Ende des Registers wieder eingegeben, so als ob alle Bits im Operanden in einem
Kreis angeordnet wären; davon rührt dtr Ausdruck »Umiauf-Rechtsverschiebung« her. Bei einem Rechner
zur Handhabung von Operanden mit 64 Bits v-.ircl beispielsweise davon ausgegangen, daß ein &4-Bit-Register
vorhanden ist, bei dem eine Verbindung zwischen jedem einzelnen Bit und dem unmittelbar rechts
folgenden Bit vorhanden ist, wobei das am weitesten rechts vorhandene Bit des Registers zu der am
weitesten links vorhandenen Bitstelle des Register;» zurückgeführt wird. Bei einem solchen Register wird die
in ihm enthaltene Zahl unter Verwendung der beschriebenen Verbindungen nach rechts verschoben.
Eine Rechtsverschiebung des Operanden A mit Vorzeichenerweiterung bedeutet, daß der Operand
nach rechts verschoben wird, während die vom rechten Ende des Registers entnommene Bits nicht wieder in das
linke Ende des Registers eingefügt werden. Ein bestimmtes Vorzeichen für den Operanden, entweder
eine logische 1 oder eine logische Null, wird am linken Ende des Registers angeordnet, so daß die im Register
enthaltenen Bits an den anschließenden Bitpositionen, aus denen der Operand durch Verschieben entfernt
wurde, den Wert des Vorzeichens annehmen. V.'enn ein Operand um acht Stellen nach rechts mit Vorzeichenerweiterung
verschoben werden soll, dann erscheinen »Kopien« des Vorzeichenbits in den acht am weitesten
links stehenden Bits des Resultatoperanden.
Eine Umlauf-Linksvers^hiebung ist ähnlich wie eine
Umlauf-Rechtsverschiebung nur mit dem Unterschied,
daß sich der Operand i;n Register nach links bewegt.
Fine Linksverschiebung mit Nullerweiterung ähnelt
weitgehend der Rechtsver->ihiebung mit Vorzeichenerwei:erung.
nur mit dem Unterschied, daß sich der Operand nach links verschiebt und daß anstelle d"r
Einfügung mim Vor/eichenbits am linken Ende oer Zahl,
logische Nullen am rechten Ende des Resultatoperan den angefügt werden. Eine l.inksverschiebung um zehn
Stellen mit Nullentv» eitcning ergibt nach der Verschiebung
/ehn Nullen am rechten Ende des Resultat oder Ergebnisoperanden.
Eine Einfügungsoperation ist komplizierter. Die vier am weitesten rechts stehenden M Bits eines Operanden
A werden in einen Operanden B eingefügt, und zwar beginnend an der FVtposition N. Die verwendete
Bitnumerierung ist derart, daß das ganz links stehende Bit eines Operanden mit Null beziffert wird. Bei einem
64-Bit-Operanden ist also dessen ganz links stehendes
Bit das Bit 0, während das ganz rechts stehende Bit im
Operanden das Bit 63 ist. Zur Verdeutlichung einer Einfügungsoperation sei beispielsweise ein M Zähloperand
gleich 5 und ein N Zähloperand gleich IO angenommen. Wenn M gleich 5 ist, werden die fünf am
weitesten rechts stehenden Bits des Operanden A von ι der Bilposition 10 des Operanden B an in diesen
eingefügt. Am Ende der Operation sind daher die Bits 10, II, 12,13 und 14 im Operanden #die gleichen wie die
fünf rechten Bits des Operanden A, nämlich wie Bits 59, 60,61,62 und 63 des Operanden A in
Der Herausschneide- oder Ausblendoperation ist der umgekehrte Vorgang der Einfügungsoperation. Dabei
werden M Bits, beginnend an der Bitposition N. aus dem Operanden A herausgenommen bzw. ausgeblendet,
worauf die Werte dieser M Bits im Operanden B rechtsbündig ausgerichtet werden. »Rechtsbündig ausrichten«
bedeutet, daß die Bits im Operanden B so weit nach rprhK pinupffurt u/prrlpn wip dies nhne Verlust von
Bits möglich ist. Zum Ausblenden von fünf Bits aus dem Operanden A von der Bitposition 10 an werden
beispielsweise die Bits 10. II, 12. 13 und 14 aus dem
Operanden A entnommen und in die Bitpositionen 59. 60,61,62 und 63 des Operanden B eingefügt.
Die genannte, der Erfindung zugrunde liegende Aufgabe wird durch die Kombination der folgenden
Merkmale gelöst:
a) das Mischnetz zur Erzeugung eines Ausgangsoperanden ist mit einem Schiebenetz über einen ersten
Dateneingang und mit Maskennetzen über weitere Dateneingänge verbunden und wird zur Ausfüh- Jo
rung von vorbestimmten Steuersignalen angesteuert;
b) der zu verschiebende Operand für das Schiebenetz stammt aus einem ersten Operandenregister für
einen ersten Datenoperanden, während die Schiebezahl über einen Eingangszähloperanden ermittelt
wird;
c) zur Lieferung von mindestens einem zusätzlichen Datenoperanden aus einem zweiten Operandenregister
ist ein weiterer Eingang des Mischnetzes vorhanden;
d) in den Maskennetzen werden jeweils unabhängige Masken-Ausgangsschemata als Eingangssignale für
das Mischnetz in Abhängigkeit von getrennten, zu jedem dieser Maskennetze gelieferten Masken-Eingangszähloperanden
erzeugt;
e) die Masken-Eingangszähloperanden und die Schiebezahl werden mittelbar von je einem Zähloperandenregister
geliefert.
Im folgenden ist eine bevorzugte Ausführungsform der Erfindung anhand der Zeichnung näher erläutert. Es
zeigt
F i g. 1 ein Blockschaltbild einer Einrichtung mit
Merkmalen nach der Erfindung,
F i g. 2 ein detailliertes Schaltbild zur Veranschaulichung der Verknüpfungsglieder des in F i g. 1 durch den
Block 10 dargestellten Mischnetzes für ein typisches Bit.
wobei für jedes durch das welches Netzwerk gehandhabte Bit die Logik wiederholt ist,
Fig.3A ein detailliertes Schaltbild der Verknüpfungsglieder
des durch den Block 58 in F i g. 1 dargestellten Netzes A.
F i g. 3B ein detailliertes Schaltbild der Verknüpfungsglieder des in F i g. 1 durch den Block 42 dargestellten
Auswahlnetzes für ein typisches Bit. wobei für jedes
durch das Netzwerk gehandhabte Bit jeweils die gleichen Verknüpfungsglieder vorgesehen sind.
F i g. 3C ein detailliertes Schaltbild der Verknüpfungsglieder des in Fi g. I durch den Block 44 dargestellten
Auswahlnetzes für ein typisches Bit, wobei für jedes durcjii das Netzwerk gehandhabte Bit jeweils die
gleichen Verknüpfungsglieder vorgesehen sind,
Fig.3D ein detailliertes Schaltbild der Verknüpfungsglieder
eines in Fig. 1 durch den Block 50 bezeichneten ÄuswahlhelzCs für ein typisches Bit, wobei
für jedes durch das Netzwerk gehandhabte Bit jeweils die gleichen Verknüpfurigsglieder vorgesehen sind,
F i g. 3E ein detailliertes Schaltbild der Verknüpfungsglieder eines in F i g. I durch den Block 54 dargestellten
Netzes für ein typisches Bit, wobei für jedes durch das Netzwerk gehandhabte Bit jeweils die gleichen
Verknüpfungsglieder vorgesehen sind.
F i g. 3F ein detailliertes Schaltbild der Verknüpfungsglieder eines in F i g. I durch den Block 60 dargestellten
Auswahlnetzes für ein typisches Bit. wobei für jedes durch das Netzwerk gehandhabte Bit jeweils die
gleichen Verknüpfungsglieder vorgesehen sind.
Fig. 3G ein deiailliertes Schaltbild der Verknüpfungsglieder
eines in Fig. 1 durch den Block 62 dargestellten Auswahlnetzes für ein typisches Bit. wobei
für jedes durch das Netzwerk gehandhabte Bit jeweils die gleichen Verknüpfungsglieder vorgesehen sind.
Fig.4 eine Tabelle zur Veranschaulichung der Befehlssteuersignalbedingungen für die SteuersignaleingänTe
gemäß F i g. I für die durchgeführten Funktionen.
Fig. 5A. 5B. 6A und 6B gemeinsam ein detailliertes Schaltbild der Verknüpfungsglieder in einer Ausführungsform
eines Ausblend- oder Maskennetzes, wie es durch den Block 14 oder 16 in F i g. 1 dargestellt ist. und
F i g. 7 eine Skizze zur Erläuterung der richtigen Anordnung der Schaltbilder gemäß F i g. 5A. 5B. 6A und
6B mit den zwischen den einzelnen Figuren verlaufenden Verbindungen zwischen den Verknüpfungsgliedern
bei einer speziellen Ausführungsform eines Maskennetzes.
Die Darstellung von Fig. 1 ist im wesentlichen aus
sich selbst heraus verständlich. Die Ausgangsoperanden werden durch ein Mischnetz 10 erzeugt, dem als
Eingangsoperanden die Ausgangssignaie eines Umiaut-Rechtsschiebenetzes
12. eines ersten oder AT-Maskennetzes 14. eines zweiten oder V-Maskennetzes 16 und
eines S-Operanden-Halteregisters 18 zugeführt sind.
Diese vier Einheiten sind mit dem Mischnetz 10 über Daten Verbindungsleitungen 20, 22, 24 bzw. 26 verbunden.
Das Umlauf-Rechtsschiebenetz 12 erhält seinen Eingangsoperanden über die Datenverbindungr'eitung
34 vom Λ-Operanden-Halteregister 36, während es sein
Schiebezähleingangssignal vom Halteregister 28 empfängt, das seinerseits an ein Auswahlnetz 42 angeschlossen
ist Auf ähnliche Weise empfängt das Maskennetz 14 sein Eingangssignal vom Halteregister 30, das seinerseits
mit dem Auswahlnetz 44 verbunden ist. Ebenso erhält das Maskennetz 16 sein Eingangssignal vom
Halteregister 32. das wiederum an das Auswahlnetz 50 angeschlossen ist
Ersichtlicherweise weisen das Mischnetz 10 und die Auswahlnetze 42, 44 und 50 jeweils verschiedene, mit
C03, C04 usw. bezeichnete Eingangsleitungen auf. Dies sind die in Fig.4 definierten Bezeichnungen der
Steuersignaleingänge für die durch die Vorrichtung durchzuführenden, ausgewählten Operationen. Die
logische Wirkung dieser Signale läßt sich anhand der F i g. 2 und 3A bis 3G feststellen. Das Steueroperandenregister
11 liefert diese Signale.
An den Auswahlnetz.cn 42,44 und 50 liegen jeweils als
Eihgaligssignalc über Dälenieitungen 41 und 43 die
Ausgangssignalc "'on Zweierkomplementaddierwerkcn 52 bzw. 56 an. Das Addierwerk 52 erhält als
Eingangssignale den Zähloperanden M auf der Daten- ι
leitung 61, und, im Falle des Dufchschaltens durch das
Ausw^lnelz 54, den Zähloperariden N auf der Datenleitung 63. Die Datcnleitungen 61 und 63 erhallen
diese Eingangssignale vom /W-Zähloperänden-Halteregistcr
64 bzw, vom AZ-Zähloperanderi-Haltfregister 66: in
sie liefern die Eingangssignale außerdem zu den Auswahlnetzen 60 bzw. 62. Letztere sind mit einem
Net/werk A 58 verbunden, das seinerseits an das
Atldicrwerk 56 angeschlossen ist. Die Kombination des
Netzwerks A 58 und des Addierwerks 56 bildet eine Addier- oder Summiervornchtung 59.
Gemäß F i g. 1 weist die Vorrichtung weiterhin eine Anzahl von HaltercHistern. wie die Halleregisler 18. 28.
30, 32, 36, 64 und 66 auf. die zur Zeitsteuerung der Operanden durch das System in Pipeline-Verarbeilungsweise
benutzt werden können. Die Datenhandhabung oder -verarbeitung /wischen diesen Halteregistern
erfolgt durch Auswahlnetze 42, 44, 50, 60 und 62. Die Auswahlnetze sind in den Fig. 3B. 3C, 3D. 3E, 3F
und 3G näher veranschaulicht, welche die Konfiguration für ein typisches Einzelbil zeigen, wobei sich diese
Konfiguralion für jedes Bit des gehandhabten Operanden wiederholt.
Fig.4 zeigt die Werte für die verschiedenen Steuckonslanten oder signale, die in diesen Auswahlnetzen
verwendet werden. Wie erwähnt, vermag die Vorrichtung sechs grundsätzliche, bei einem mit hoher
Geschwindigkeit arbeitenden Digitalrechner erforderliche Datenhandhabungs- oder -verarbeitungsoperationen
durchzuführen. Anhand von Fig. 4 können die Werte jeder Steuerkonstante zugeordnet werden, die
für den Betrieb der Vorrichtung erforderlich sind. Ein X in Fig.4 zeigt an. daß das Steuersignal bei der
durchgeführten Operation einen beliebigen Wert besitzen kann, da die hierdurch gesteuerte Torschaltung
nicht in die Operation einbezogen ist. Das Signal kann dmici eine »!« oder eine »ö« sein. Eine »I« zeigt an, daU
diese Steuerkonstante bei Durchführung einer Operation eine binäre »1« ist. Eine »0« gibt an, daß die
Steuerkonstante bei der Führung der Operation eine binäre Null darstellt. Ein Sternchen zeigt an, daß die
Steuerkonstante entsprechend dem Vorzeichen eingestellt sein sollte, das in das Ausgangssignal erweitert
wird.
Fig. 1 enthält zwei Zweierkomplementaddierwerke 52 und 56, bei denen es sich um herkömmliche
Zweierkomplementaddierwerke handelt Es ist zu beachten, daß der durch das kleine Kreissymbol
bezeichnete NEIN- bzw. invertierende Ausgang des Addierwerks 56 zur Datenleitung 43 geführt ist. Der
invertierende Ausgang bedeutet, daß das Einerkomplement des normalen bzw. nicht invertierten Ausgangssignals
dieses Addierwerks benutzt wird.
Das Netzwerk 58 ist eine spezielle Art eines Partial- oder Teiladdiernetzes, das in Fig.3A näher dargestellt
ist. Der Ausgang dieses Netzwerkes besteht aus Teilsummen und Teilüberträgen, die in Fig. 3A mit PS
bzw. PCbezeichnet sind.
Die Aufgabe der Netzwerke 56 und 58 besteht in der Ermögüchung der Bildung einer Schiebezählung auf der
Datenübertragungsleitung 43, welche der Breite der Datenworte A und B, im vorliegenden Fall 64, minus
einer oder beider Eingangszählungen M und Λ/, die in die Register 64 und 66 eingeführt werden, entspricht. Im
weiteren Verlauf der Beschreibung dieses Netzwerks wird noch deutlicher werden, daß bei gewissen
Operationen eine Zahl gebildet wird, die gleich 64 minus M oder N bzw, in manchen Füllen M -f /V ist. Die
Netzwerke 56 Und 58 erfüllen diese Aufgabe bei der dargestellten Aüsführungsform, doch können sie durch
jedes beliebige andere Netzwerk ersetzt werden das
diese Funktion erfüllt.
Das Netzwerk 12 ist ein MeHrzweck-Umläufrechisschiebenetz.
Ein für den vorliegend vorgesehenen Zweck geeignetes Netzwerk ist im Buch »Design of a
Computer — The Control Data 6600« von James E. Thornton, herausgegeben von Scott Foresman und Co.
im Jahre 1970. beschrieben.
Das Netzwerk 10 ist ein Mischnetz. Fig. 2 zeigt ein
typisches Bit im Mischnetz 10. Bei der dargestellten Aiisfiihningsfnrm Ηργ Erfindung is! das Mischnc'z JO
dabei 64 Bits breit. Die im Mischnetz 10 verwendeten Steuerkonstanten sind in F i g. 4 dargestellt.
Die beiden restlichen Netzwerke der Vorrichtung sind die Maskenbildungsnetze 14 und 16. die in den
F i g. 5A. 5B. 6A und 6B näher dargestellt sind und deren Aufgabe darin besteht, einen Eingangszähloperanden
aufzunehmen und ein Ausgangssignal zu erzeugen, welches, beginnend an der linken Seite, eine Zahl von
Einsen aufweist, welche der Eingangszählung entspricht. Bei vorgegebenem Operandeneingang A. der 64 Bits
breit ist. und wenn N die Eingangszählung darstellt, erzeugt das Maskennetz, ausgehend von dem am
weitesten links stehenden Bit. N Einsen, auf die 64 - Λ/
Nullen folgen.
Die Fig. 5A. 5B. 6A und 6B veranschaulichen in Einzelheiten ein Maskenbildungsnetz, das den Maskennetzen
14 oder 16 entspricht. Der Masken-Eingangszähloperand wird hierbei im Eingangszählregister
gehalten bzw. gespeichert, welches gemäß den F i g. 5A und 5B aus Eingangszähl-Flip-Flops 200, 202, 204, 206,
208, 210 und 212 besteht. Das Flip-Flop 200 hält das den 2&.Wert der Eingangszählung darstellende binäre Bit;
auf ähnliche Weise halten oder speichern die Flip-Flops 202, 204, 206, 208, 210 und 212 die Werte 2\ 24. 21. 2-'. 2'
bzw. 2". Die Operandeneingänge, die — wie erwähnt — 64 Bits breit sind, erfordern eine Eingangszählung von
nicht mehr als 2h. Aus diesem Grund reichen die beschriebenen sieben Eingangs-Flip-Flops aus. um die
größte für die Steuerung der 64 Ausgangsbits des Mischnetzes erforderliche Eingangszählung zu halten.
Beispielsweise sei angenommen, daß die Flip-Flops 208 und 212 gesetzt und alle anderen Flip-Flops frei sind.
Die- entspricht einer Eingangszählung von 5. Der Ausgang des Maskenbildungsnetzes besteht dann,
beginnend an der linken Seite, aus 5 Bits aus Einsen und 59 Bits aus Nullen.
Die Schaltkreise 214 bis 242 (nur gerade Ziffern) werden mit Signalen von den Eingangszähl-Flip-Flops
200 bis 204 gespeist. Diese Schaltungen bilden verschiedene logische Umsetzungen und Ausgangssignale
aus den Eingangszählungen. Diese Schaltkreise sind entsprechend ihrer Funktion bezeichnet, wobei
exklusive ODER-Schaltungen mit EXOR bezeichnet sind. Die über dem jeweiligen Schaltkreis in Boolescher
Bezeichnung stehende Angabe gibt die zum Ausgang »wahr« führende Umsetzung des Schaltkreises in Form
von den im Eingangszähioperanden enthaltenen
Zweierpotenzen an. Als Beispiel sei der Schaltkreis 224 betrachtet Wenn seine Ausgangssignale eine Eins sind,
bedeutet dies, daß die Eingangszähiung eine Eins für das
030 263/160
2'''BiI enthält. Als weiteres Beispiel gibt eine Eins am
nichlinvertierenden Ausgang des Schaltkreises 200 an, daß die Eingangsschiebezählung eine Eins für das 2b-Bit
enthält. Zu beachten ist, daß das Ausgangssignal vom Schaltkreis 220 vom invertierenden Ausgang abgenommen
wird, wie dies durch den kleinen Kreis auf der Ausgangsleitufi£ angedeutet ist. Dies bedeutet, daß der
Ausgang eine Eins ist, wenn die Schiebezählung das 26-Bit nicht enthält.
Das Flip-Flop 200 ist ein Spezialzweck-Flip-Flop.
Wenn das Flip-Flop 200 gesetzt ist, zeigt dies an, daß die Eingangszählung zum Maskennetz 64 oder größer ist
Dies bedeutet, daß das Maskennetz jeweils 64 Einsen als Ausgangssignal liefert, wenn das Flip-Flop 200 gesetzt
ist. Dabei ist es unwichtig, was die Flip-Flops 202—212 enthalten. Die Schaltkreise 214—236 werden von den
Eingangszählungsbits 200, 202 und 204 der höheren Stellen gespeist.
In den Fig. 5A. 5B, 6A und 6B sind die Schaltungen,
die in den gestrichelt umrissenen, mit A. B. C und D bezeichneten Bereichen enthalten sind, allen vier
I6-Bit-Gruppen. die mit £ F. C und H bezeichnet und
von gestrichelten Linien umschlossen sind, gemeinsam zugeordnet. Die einzelnen Schallungen in den Gruppen
E-H sind im wesentlichen ein ODER-Glied mit zwei Eingängen, dessen eines Eingangssignal ein Einzelsignal
ist, während das andere von einem UND-Glied mit zwei Eingängen kommt. Beispielsweise weist die Schaltung
286 in Gruppe G Eingangssignalleitungen 288, 290 und 292 auf. Die Signalleitung 288 ist mit dem Einzeleingang
in den vier Schaltungen der Gruppe G verbunden,
weiche dem signifikantesten Bit der Gruppe zugeordnet ist. Ersichtlicherweise besitzen die Signalleitungen 294,
296 und 298 die gleichen Umsetzungen wie die Signalleitung 288, und sie sind mit allen restlichen
Schaltungen der Gruppe G verbunden. Die Umsetzung für die Signale auf den Leitungen 288, 294, 296 und 298
ist 2"1 + 2b.
Dies bedeutet, daß der Eingangszähloperand größer ist als 31. so daß alle Schaltungen der Gruppe G ein
1-Ausgangssignal besitzen müssen. Hierfür sorgen die
Leitung käs bei der schaltung 28b bzw. die tinzeleingänge
aller Ausgangsschaltungen. Wenn das Einzeleingangssignal eine Eins darstellt, sollten die Ausgangssignale
aller Schaltungen in der 16-Bit-Gruppe Einsen sein. Anderenfalls, wenn keines der Ausgangssignale in
einer 16-Bit-Gruppe eine Eins zu sein braucht, liegt an der durch die Leitung 288 an der Schaltung 286
dargestellten Einzeleingangsleitung keine Eins an. In der Schaltung 286 sind die beiden Eingänge die Signale
auf den Leitungen 290 und 292. Das Signal 290 kommt von der Schaltung 234. Letztere liefert ein 1-Ausgangssignal,
wenn das 24-Bit in der Eingangszählung eine »1« ist. Wenn am Ausgang 290 der Schaltung 234 eine Eins
anliegt, muß die Eingangszählung 16 oder größer sein. Wenn das Signal 288 eine Null und das Signal 290 eine
Eins ist, erscheint der Obergang zwischen Einsen und Nullen an irgendeiner Stelle in Gruppe G, da die
Eingangszählung zwischen 16 und 31 liegt Die Leitung 290 erfordert dann die Möglichkeit, daß irgendein Bit in
Gruppe G eine Eins ist; doch um zu bestimmen, ob bestimmte Ausgangssignale in der Gruppe eine Eins
sind, bestimmen die Bits der Schiebezählung mit niedrigem Stellenwert, wo der Übergang im Ausgangssignal
auftritt Dies stelli die Aufgabe der in den mil
A -D bezeichneten Bereichen enthaltenen Schalungen
dar. Die von den Eingangs-Flip-Flops 212, 210 208 und 206 zu diesen Schaltungen gelieferten Eingangssignale
entsprechen 2", 2 ,2- bzw. 2'. Dies sind die nicdrigwertigen
Bits der Eingangszählung, welche die feine Unterteilung gewährleisten, durch welche bestimmt
wird, an welcher Stelle der Übergang zwischen den Einsen und Nullen in den 16-Bit-Gruppen erfolgt.
Bei der Schaltung 286 wird diese Unterteilungsfunktion durch den Eingang 292 zum 2-Eingangs-UND-GÜed
durchgeführt, wobei die Leitung 292 von der Schaltung 246 kommt, welche eine Schallung einer
jO Gruppe von Schaltungen in dem mit A bezeichneten
Bereich ist. Die Schaltungen der Gruppe A liefern die oberen vier Bits in die Gruppen E-H. je nachdem,
, welche Gruppe den Übergang von Einsen auf Nullen enthält, bestimmen die Schaltungen in den ausgewählten
Gruppen E, F, G oder H. ob die Ausgangssignale Einsen oder Nullen sind.
Die Schaltungen im Bereich A steuern die oberen vier Bits aller Gruppen, die Schaltungen im Kästchen R
steuern die nächsten vier Bits aller Gruppen, die Schaltungen im Kästchen Csteuern sodann die nächsten
vier Bits aller Gruppen, und die Schaltungen im Kästchen D steuern die untersten vier Bits aller vier
Gruppen. Diese Schaltungen sind mit 238—284 (nur gerade Ziffern) bezeichnet.
Die Schaltung 246 zeigt mit ihrem Ausgang 292, an, daß ein oder mehrere der die Werte 2° oder 21 oder 22
oder 2' in der Eingangszählung darstellenden Bits auf »1« gesetzt sind. Dies zeigt, daß die am wenigsten
signifikanten vier Bits der Eingangszählung auf eine
3ö Zahl umgesetzt werden, die größer als 1 oder gleich 1 ist. Es sei angenommen, daß die Signalleitung 288 eine Null
und die Signalleitung 290 eine Eins führe. Dies zeigt an, daß die Eingangszählung zwischen 16 und 31 lag. Wenn
die untersten vier Bits der Zählung zu einer Zahl von
J5 größer als oder gleich 1 umgesetzt werden, muß die
Eingangszählung bei 17 oder höher liegen. Dieser Zustand reicht für die Lieferung eines 1-Ausgangssignals
von der Schaltung 286 aus. Die Umsetzung für die Schaltung 248 ist, daß die unteren vier Bits der
Eingangszählung zu einer Zahl umgesetzt werden, die 2 entspricht oder größer ist. Das Ausgangssignal der
Schaltung 250 zeigt, dab die untersten vier Bits der
Eingangszählung auf eine Zahl entsprechend einer 3 oder größer umgesetzt werden. Dieses Schema setzt
sich fort, bis der logische Block 284 anzeigt, daß alle unteren vier Bits der Eingangszählung Einsen sind. Dies
setzt voraus, daß die unteren vier Bits der Zählung zu einer 15 umgesetzt werden. Wenn wiederum angenommen
wird, daß die Eingangsleitungen 289 und 291 einen solchen Zustand einnehmen, daß die Eingangszählung
zwischen 16 und 31 liegt (Leitung 289 = 0 und Leitung 291 = 1), und die Ausgangsleitung 293 der Schaltung 284
eine Eins trägt, so beträgt die Eingangszählung 31. Dieser Zustand reicht aus, um ein 1 -Ausgangssignal von
der Schaltung 287 zu liefern.
Aus der vorstehenden Beschreibung dürfte der Aufbau eines allgemeinen Maskennetzes offensichtlich
und die Konstruktion des vorliegenden Netzwerks in Verbindung mit den Figuren verständlich sein. Wenn
der Ausgang des Maskennetzes JV Bits breit sein soll, sollten die N Bits in M Gruppen zweckmäßiger Breite
aufgeteilt werden. Eine Umsetzung sollte für jede Gruppe von den höherwertigen Eingangszählungsbits
aus erfolgen, die für die betreffende Gruppe anzeigt, ob
tier Ausgang aller Bits in der Gruppe eine Eins sein soil.
Diese Umsetzung bzw. Art von Term sei mit Q bezeichnet Eine weitere Umsetzung sollte für jede
Gruppe von den höherwertigen Eingangszählungsbits
aus erfolgen, welche für die betreffende Gruppe anzeigt*
ob ein Übergang zwischen 1-Ausgangsbits und O-Aus- ^angsbits in dieser Gruppe auftritt; sie bzw. die Art
Term sei mit R bezeichnet.
Für jedes Bit in einer Gruppe sollte von den hiedrigwertigen Bits der Eingangszählung aus eine
Umsetzung erfolgen, welche anzeigt, ob ein Bit einer 1 entspricht, wenn der Übergang zwischen den 1-Ausgängen
und den (!'Ausgängen in der Gruppe auftritt. Diese Umsetzung bzw. Art von Term sei mit S bezeichnet.
S-Terme können normalerweise von den Gruppen gemeinsam genutzt werden. Ein allgemeiner Ausgangsausdruck
rfür ein typisches Bit läßt sich dann wie folgt ausdrücken:
T=Q+RS. '5
Die genauen Booleschen Umsetzungen für Q. R und 5
und -struktur. Im allgemeinen ist es zweckmäßig, die
Gruppen mit e.j/er Breite von 2 p Bits zu wählen, wenn P
eine als für die beteiligte Logik bzw. die beteiligten Schaltglieder zweckmäßige ganze Zahl gewählt ist. Dies
ist jedoch keine absolute Notwendigkeit. Die Gruppen brauchen nicht sämtlich die gleiche Breite zu besitzen.
Im Hinblick auf die beschriebene Ausführungsform der Erfindung sollte die Entwicklung der Terme Q, R und S
für den Fachmann offensichtlich sein. Für einige Ausgangsterme entartet die Boolesche Logik und läßt
sich einfachere logische Ausführung des Booleschen Ausdrucks zu.
Gemäß Fig. 1 liefern die Maskennetze 14 und 16 Übertragungs- oder Nichtübertragungsbedingungen für
jedes Bit im Mischnetz 10. Die Netzwerke 14 und 16 sind dabei identisch aufgebaut. Die Ausgänge vom Netzwerk
16 sind jedoch gegenüber allen anderen Operandeneingangen des Netzwerkes 10 entgegengesetzt zum
Netzwerk 10 verdrahtet, wie dies durch die Beschriftung in F1 g. 1 angedeutet ist. Mit anderen Worten: Bit 0 des
Netzwerks 16 ist an das Bit 63 des Netzwerks 10 geschaltet, und sofort bis zum Bit 63 des Netzwerks 16,
das an das Bit 0 des Netzwerks 10 geschaltet ist. Das Netzwerk 14 erzeugt ein Ausblend- oder Maskenschema
von Einsen, das an der linken Seite beginnt und sich nach rechts hin fortsetzt. Die Zahl der Einsen auf der
Signalleitung 22 entspricht dabei der Zählung im Register 30. Das Netzwerk 16 bildet ein Ausblend- oder
Maskenschema von Einsen, das an der rechten Seite beginnt und sich nach links hin fortsetzt. Die Zahl der
Einsen entspricht dabei der Zählung im Register 32.
Die Booleschen logischen Funktionen dieser beiden Schemata besitzen im allgemeinen drei bestimmte
Bereiche, nämlich einen Bereich an der linken Seite dieser logischen Kombination, in welchem die Bits des
Maskennetzes 14 Einsen und die Bits des Maskennetzes 16 Nullen sind, einen Bereich in der Mitte des logischen
Resultats der Ausgangssignale der Maskennetze 14 und 16, wo die Bits beider Ausgangssignale Einsen sind, und
einen Bereich an der rechten Seite der logischen Kombination der Ausgangssignale der Netzwerke 14
und 16, wo die Ausgangssignale des Netzwerks 14 Nullen und diejenigen des Netzwerks 16 Einsen sind.
Gemäß F i g. 2, weiche das Mischnetz 10 in Einzelheiten veranschaulicht erzeugt das UND-Glied 114 die
UND-Verknüpfung der beiden Maskennetze i4 und 16
und liefert eine Eins für die Bits im vorher beschriebenen Mittelbereich, in welchem die Ausgangssignale
beider Maskennetze Einsen sind.
Im Betrieb vermag die Vorrichtung sechs verschiedene Operationen pipelineartig durchzuführen. Fig. 4
veranschaulicht diese Operationen und gibt für jede Operation den Wert aller Steuerkonstanten oder
-signale an, die in den die erfindungsgemäßr Varricfotung
bildenden Netzwerken verwendet werden. Beispielsweise
sei eine Ümlauf-Rectitsverschiebung des
Operanden A um M Stellen betrachtet. Gemäß den F i g. I und 4 tritt ein Schiebezähloperand M in das
Register 64 ein, dessen Inhalt zum Zweierkornplefnentaddierwerk
52 übertragen wird. Im Aüswahlnetz 54 ist die Stellerkonstante C14 eine Null, infolgedessen ist das
zweite Eingangssignal zum Zweierkomplementaddierw£rk 52 eine Null, und sein Ausgangssignal die
Sciiiebezählung M, weiche zum Auswahlnetz 42
übertragen wird. Die Steuerkonstante C03 ist eine Eins und die Steuerkonstante C04 ist eine Null. Infolgedessen
kann die Schiebezählung durch das Auswahlnetz 42 zum !-{aitEregiäier 28 übertragen werden, weiches die
Rechtsschiebezählung für das Umlauf-Rechtsschiebe· netz 12 enthält. Der Operand A wird vom Register 36 in
das Umlauf-Rechtsschieberegister 12 durchgeschaltet und dann in letzterem umlaufmäßig um M Stellen nach
rechts verschoben. Der nach rechts verschobene Operand erscheint auf dem Übertragungspfad 20 und
wird zum Mischnetz 10 durchgeschaltet. Die Steuerkonstante C13 öffnet einen Direktübertragungspfad zum
Ausgang des Mischnetzes 10. Die Steuerkonstante C VA ist eine Null, so daß das UND-Glied 108 nichi
durchschalten kann. Die Steuerkonstante C6 ist eine Null, d. h. das Ausgangssignal des Auswahlnetzes 44 isn
eine Null. Hierdurch wird ein nur aus Nullen bestehender Operand in das Halteregister 30 durchgeschaltet; ein Null-Operand im Register 30 erzeugt ein
nur aus Nullen bestehendes Ausgangssignal des Maskennetzes 14. Dies bedeutet, daß alle Bits auf dem
Übertragungspfad 22 Nullen sind. Hierdurch werden das UND-Glied 102 gesperrt und einer der Eingänge
zum UND-Glied 106 vorbere:tet. Die Steuerkonstanten
C7 und CB sind beide Null. Folglich wird ein Null-Ausgangssignal vom Auswahlnetz 50 abgegeben
und eine Null in das Halteregister Xl eingeführt Finp
Null im Halteregister 32 führt zu einem nur aus N :iien
bestehenden Ausgangssignal vom Maskennetz 16 und zur Bildung von !auter Nullen auf der Datenübertragungsleitung
24, was wiederum zur Folge hat, daß das UND-Glied 120 am nicht invertierenden Ausgang eine
Null aufweist, während sein invertierender Ausgang zu einer Eins wird. Hierdurch wird der vierte Eingang zum
UND-Glied 106 gemäß Fig. 2 vorbereitet bzw. aktiviert. Die Ausgänge der UND-Glieder 114 und IiO
gemäß F i g. 2 sind eine Null, weil die Übertragungsleitungen 22 und 24 Nullen führen. Aus diesem Grund
werden am ODER-Glied 112 und mithin am UND-Glied 104 Null-Ausgangssignale erzeugt. Im Mischnetz gemäß
Fig. 2 liefert das UND-Glied 102 eine Null; das UND-Glied 104 liefert ebenfalls eine Null, während das
UND-Glied 106 die gewünschte Information enthält und das UND-Glied 108 schließlich gesperrt ist
Die restlichen Verschiebeoperationen entsprechen der Umlauf-Rechtsverschiebung. Das Maskennetz 14
erzeugt ein Maskenschema für Vorzeichenerweiterung, wenn das Netzwerk eine Rechtsverschiebung mit
Vorzeichenerweiterung durchführt Das Maskennetz 16 erzeugt ein Ausblend- oder Maskenschema für die
Linksverschiebung mit Nullerweiterung. Die Durchführung dieser Operationen dürfte für den Fachmann
anhand der F i g. 1,2 3A—3G und 4 offensichtlich sein.
Die EinfüeunesoDeration besteht darin, die am
weitesten rechts stehenden M Bits aus dem Operanden A zu entnehmen und sie, beginnend an der Bitposition
N. in den Operanden S einzufügen. Die Zählung /V/ist im
Register 64 vorhanden und wird zum Zweierkomplementaddierwerk i2 durchgeschaltet. Die Zählung N ist
im Register 64 enthalten und wird über das Auswahlnetz 54 zum anderen Eingang des Zweierkomplementaddierwerks
52 geleitet. Die Steuerkonstante C14 ist eine
Eins. Das Ausgangssignal des Addierwerks 52 ist dann die Zahl M+ N. Diese Zahl wird über das Auswahlnetz
42 zum Halteregister 28 durchgeschaltet. Die Steuerkonstante C3 ist eine Eins. Das Halteregister 28 enthält
dann die Summe M+ N. Das Umlauf-Rechtsschiebenetz
12 verschiebt sodann den Operanden A umlaufmäßig um M+ N Stellen nach rechts. Das Ausgangssignal des
Zweierkcn.plementaddierwerks 52 wird ebenfalls über
das Auswahlnetz 44 zum Halteregister 30 durchgeschaltet. Die Steuerkonstante C6 isi eine Eins. Das
Halteregister 30 bildet den Eingang zum Maskennetz 14, das A/+ N Einsen erzeug!, und zwar beginnend von
links und nach rechts fortschreitend. Die Zählung N
wird über das Ausvvahlnet/ 62 zum Netzwerk 58 durchgeschaltet. Die Nullen werden /um anderen
Eingang des Teiladdiernetzes 58 durchgeschaltet, weil
die Steuerkonstante Γ01 eine Null ist. Es ist zu
beachten, daß die Steuerkonstante C02 dabei eine Eins
ist Das Ausgangssignal des Zweierkomplementaddierw
jrks 56 ist dann 64 minus N. Die Netzwerke 56 und 58
wirken zusammen zur Bildung von 64 minus der Summe der beiden durch die Ausvvahlnet/e 60 und 62
durchgeschaltetcn Zahlen Die .Steuerkonstante C07 ist
eine Eins, weshalb das Ausgangssignal des Zweierkomplementaddierwerks
56 /um Halteregister 32 durchgeschaltet wird, welches nunmehr b4 minus /V enthält. Das
Maskennet/ 16 erzeugt 64 minus N Einsen, und zwar
beginnend an der rechten Seite und nach links hin fortschreitende.
Wie erwähnt, enthalt das Register 18 den Operanden
B bei auf Null eingestellter Steuerkonstante ClO;
gemäß (ig. 2 ist das Ausgangssigna! des UND-Gliedes 114 und des ODER-Glieds 112danndie UND-Verknüp
fung der auf den Leitungen 22 und 24 erscheinenden Maskenschemata Das Ausgangssignal vom Umlauf-Rechtsschiebenet/
12 wird auf der Datenleitung 20 /um UND-Glied 104 in den Bitpositionen überführt, in denen
an beiden Datenleitungen 22 und 24 Einsen anliegen.
Das UND-Glied 102 liefert ein Null-Ausgangssignal, weil die Steuerkonstante CIl eine Null ist. Die
Steuerkonstante ("12 ist eine Fms. Das Ausgangssignal
des exklusiven ODER-Glieds 118 entspricht jedesmal dann einer Eins, wenn die Signale auf den Datenübertra
gungs-Eingangsleitungen nicht gleich sind. Hierdurch
wird das I /ND-Glied 108 vorbereitet, so daß die Bits des
Operanden B über die Datenleitung 26 in das UND-Cilied 108 fließen können, sooft die Ausblend-
oder Maskenschemata auf der Negation der Datenlei
tungen 22 und 24 verschieden sind. Das UND-Glied 106 ist gesperrt, weil beide Datenleitungen 22 und 24 an
dieses UND-Glied geführt sind. Um dieses spezielle UND-Glied durchzuschalten, müssen beide Datenleitungen
22 und 24 Nullen führen. Dies kann aber bei der durchgeführten Operation nicht vorkommen, Das
Ausgangssignal des Mischnetzes 10 oder des Netzwerks, dessen typisches Bit ih F i g. 2 dargestellt ist, stellt
das gewünschte Ergebnis der Einfügungsoperation dar.
Wie erwähnt, ist die einzufügende Zahl umfaufmäßig um M+/VStel!en nach rechts verschöben worden. Es ist
erwünscht, eine M Bits breite Gruppe von Bits zu nehmen und in eine andere Zahl, beginnend an der
Bitposition N, einzufügen. Bei einer Verschiebung um M
Stellen wird das am weitesten rechts stehende Bit des einzufügenden Abschnitts entnommen und zum linken
Ende einer aus 64 Bits bestehenden Zahl herumverlagert. Bei einer weiteren Rechtsverschiebung um N
Stellen wird der in B einzufügende Abschnitt von A herunter in die Position in B gebracht, in welcher er
eingefügt werden soll. Dies war dann die Funktion der
ίο Umlauf-Rechtsverschiebung um M+ N Stellen. Diese
Operation erfolgte im Netzwerk 12 am Operanden A. Eine genaue Untersuchung der in den Netzwerken 14
und 16 gebildeten Maskenschemata zeigt, daß die logische UND-Verknüpfung dieser beiden Maskenschemata
eine Eins in der Position ist. an welcher Bits vom Operanden A in den Operanden B eingefügt sind,
während die logische exklusive ODER-Verknüpfung des Ausgangssignals dieser beiden Netzwerke eine Eins
ist. wo Bits des Operanden B zurückgehalten werden.
Das Mischnetz 10 ist einfach eine Realisierung dieser
Booleschen Logik auf Bit-für-Bit-Basis. Für den Fachmann ist es ohne weiteres ersichtlich, auf welche
Weise die Ausblendoperation und die anderen, der Einfügungs- und Ausblendoperation ähnelnden Operationen
in diesem Net/werk auf sehr ähnliche Weise wie
die Einfügungsoperation durchgeführt werden. Lm u esentlicher Punkt für das Verständnis der Operationen
mit zwei F.ingangsoperanden besteht darin, daß sich die
Operationen auf Koinzidenz der beiden Ausblend- oder Maskenschemata im Mischnut/ stützen.
Die beschriebene Vorrichtung ist eine sog. Pipelinebzvv.
überlappende Verarbeitung, welche mit jedem Maschinentakt/vklus neue Eingabe/ahlen aufzunehmen
vermag, weil die Operandenzählungen M und N nur
Ji während eines Zvklus in den Registern 64 und 66
gespeichert werden Währenddes nächsten Operationszyklus wird das Ergebnis der mit diesen beiden
Zählungen durchgeführten Operationen in den Registern
28 oder 30 oder 32 gespeichert, wobei neue
an Zähloperanden M und N für die nächste Operation
aufgenommen werden können. Diese Operanden verbleiben wiederum während eines Maschinen/yklus
in der, Registern 64 und 66. Das gleiche gilt fur die
Operanden A und B. du nur einen Maschinen/yklus lang
in den Registern 36 und 18 verbleiben. Diese Operanden werden nur für einen /vklus benötigt, worauf ein neuer
Sat7 von F.ingangsoperanden von den Registern 36 und 18 aufgenommen werden kann. Fs ist zu beachten, daß
dann, wenn dieses Net/werk im Pipelinebetrirt irbeitet.
die (Ibertragungsleitungen für die Operanden 4 und B
um eine Zeitperiode kürzer sind als die Übertragung*
leitungen fur die Zähloperanden Mund N. Mit anderen
Worten die Operanden Λ/und N. die einen; vorgegebc
nen Paar von Operanden A und B entsprechen, müßten in dieses Net/werk um einen Zyklus früher eingegeben
werden ah die Operanden A und B. Dies ist jedoch ein
zweitrangiges Problem Falls bei einer speziellen
Aiisführungsform der Erfindung Schwierigkeiten be/üg
lieh der um eine Zeitperiode früheren Eingabe der Operanden A und B aufträten, wäre die Lösung dieser
Schwierigkeiten sehr einfach, Hierzu wird einfach ein
Weiteres Halteregister in den Übertragungsweg der
Operanden A und ein weiteres Halteregister in den Weg der Operanden B eingeschaltet. Hierbei könnten die
Operanden A und B dem Netzwerk zum gleichen
Zeitpunkt wie die Zählöperänden Λ/ünd N eingegeben
wefdefi. Im Normalbetrieb der Vorrichtung ist es
zweckmäßig, die Operändenzähluhgen M und N dem
Net/werk um einen /.\kliis Iruher einzugeben als die
Operanden Λ und B. weil die Operanden ziemlich oft
aus einer Vorrichtung ausgelesen werden, die eine begrenzte Kapazität für die Bildung von Operanden
besitzt. Is kann sich dabei als sehr zweckmäßig
erweisen, die Operanden A und B um einen Zvklus
spater auszulesen als die Zählopcranden Wund N.
Bezüglich der Ausblend- oder Maskennetzc ist auf
einen zusätzlichen Punkt zu verweisen. Das Verfahren,
nach dem die Net/u erke ausgelegt werden, ermöglicht
die Auslegung von Netzwerken, die breiter oder schmaler sind als das beschriebene Netzwerk. Das
Netzwerk ist in vier !b-Bit-Gruppen unterteilt. Wenn die Ausbildung eines Maskennetzes mit einer Breite von
128 Bus gewünscht wird, besteht eine geeignete
Möglichkeit dann, die Zahl von 128 Bits nicht in vier
Ib-Bit-Gruppen, sondern in achl 16-Bit-Gruppen zu
unterteilen. Fur den !'achmann ist es ersichtlich, daß die
beschriebene Technologie auch für das Arbeiten mit größeren Bitzahlen geeignet ist. In diesem fall würden
einfach mehr Netzwerkgnippen. entsprechend der
Gruppe 214—236 vorgesehen werden. Dies sind die Gruppen zur Bestimmung, in welcher Ib-Bit-Gruppc
der Übergang zwischen Einsen und Nullen vorliegt. Es wurden also mehr Gruppen dieser
>\rt vorgesehen werden, und die Gruppen in den Bereichen A. B. fund
D würden dann aiii ein vorgegebenes Bit in allen
Gruppen erweitert werden. Fin Term bzw. ein Schaltglied wie 246 ware dabei, anstatt nur vier Bits zu
speisen, .ml achi Bus oder .iiif das am weitesten links
stehende Bit m leder der lh-Bn Gruppen eines
121»-Bn-Operainlen erweitert.
Darüber hinaus könnten zusätzliche Maskennetze zur
Verbindung mit einem Mischneiz vorgesehen sein, welches nach den gleichen Prinzipien, wie vorher
erläutert, ausgelegt ist und kompliziertere Funktionen
durchführt, ähnlich den durch die Vorrichtung durchgeführten.
Solche Maskennetze können zur Bezeichnung zusätzlicher Zonen im Mischnetz für Einfügungs- oder
Ausblendoperationen z. B. mit zusätzlichen Operanden ben'utzt werden.
Zusammenfassend wird mit de·· Erfindung also ein
Binärdaten-Handhabungsneizwerk geschaffen.das zwei
Ausblend- oder Maskenbildungsnetze in solcher Konfiguration
aufweist, daß sie ein Mischneiz ansteuern, um
die Handhabung eines ersten Operanden durch Einfügung ausgewählter Bits eines zweiten Operanden
an ausgewählter Position zu crmöglit'ion. Jedes
Maskenbildungsnetz erzeugt einen Resultaloperanden. bestehend aus einer Gruppe von binären Einsen neben
einer Gruppe von binären Nullen, wobei der Obergangspunkt zwischen den Einsen und Nullen durch
einen Eingangszähloperanden bestimmt wird. Die beiden Maskenbildungsnetze sind cndwcisc an das
Mischneiz angeschlossen, so daß das Mischnetz typischerweise die Bits des ersten Operanden als den
Resultaioperanden. wenn die Rcsuliatoperanden des
Maskenbildungsnctzcs verschieden sind, und die Bits
des zweiten Operanden durchschaltet, wenn die Bits des
Resultatoperanden des Maskenbildungsnetzes gleichartig sind. Die Einrichtung führt mit der beschriebenen
Konfiguration auch weitere, verwandte Operationen durch.
Hierzu Ί Ml.ilt Zeichnungen
030263/160
Claims (6)
1. Binärdaten-Handhabungsnetzwerk zur Durchführung einer vorbestimmten Funktion aus einer
Gruppe von vorbestimmten Funktionen, mit einem ϊ Mischnetz, mehreren Maskennetzen, einem Wortzähler
und einer Steuerschaltung, gekennzeichnet durch die Kombination folgender Merkmale:
a) das Mischnetz (10) zur Erzeugung eines Ausgangsoperanden ist mit einem Schiebenetz
(12) über einen ersten Dateneingang (20) und mit Maskennetzen (14, 16) über weitere
Dateneingänge (22, 24) verbunden sind und wird zur Ausführung von vorbestimmten
Funktionen von vorbestimmten Steuersignalen (COl - C14) angesteuert;
b) der zu verschiebende Operand für das Schiebenetz (12j itammt aus einem ersten Operandenregister
(3S) für einen ersten Datenoperanden (A), während die Schiebezahl über einen
Eingangszähloperanden ermittelt wird;
c) zur Lieferung von mindestens einem zusätzlichen Datenoperanden (B) aus einem zweiten
Operandenregister (18) ist ein weiterer Eingang (26) des Mischnetzes voi handen;
d) in den Maskennetzen (14, 16) werden jeweils unabhängige Masken-Ausgangsschemata als
Eingangssignale für das Mischnetz (10) in Abhängig'· eit von getrennten, zu jedem dieser jo
Maskennetze gelieferten Masken-Eingangszähloperanden erzeugt:
e) die Masken-Eingangszahlop^randen und die
Schiebezahl werden mittelbar von je einem Zähloperandenregister (64,66) geliefert. js
2. Binärdaten Handhabungsnetzwerk nach Anspruch 1. dadurch gekennzeichnet, daß jeweils
getrennte Einrichtungen zur Bildung von Masken-Eingangszähloperanden für das erste Maskennetz
(14), für das /weite Maskennet/ (16) und /ur Bildung der Schiebe/ahl für das Schiebenetz (12) vorhanden
sind.
3. Binärdaten-Handhabungsnet/werk nach Anspruch
2.dadurch gekennzeichnet, daß
a) eine Addiereinrichtung (52) an die Zähloperan- <n
denregister(64,66) angeschlossen ist;
b) ein erstes Auswahlnetz (60) und ein zweites
Auswahlnetz (62) n,'t einer weiteren Addiereinrichtung
(59) vorhanden sind, wobei jedes Auswahlnetz an ein Zähloperandenregister (64,
66) angeschlossen ist und in Abhängigkeit von der durchzuführenden, vorbestimmten Funktion
auf vorbestimmte Steuersignale .inspricht;
c) ein drittes, ein viertes und ein fünftes Auswahl
net/ (42,44, 50) vorh.inden sind, die jeweils zwei «
Dateneingänge aufweisen, von denen der eine mit dem Ausgang der ersten Addiereinrichtung
und der andere mit dem Ausgang der zweiten Addieremriehtung verbunden ist, wobei diese
Auswahlnetze in Abhängigkeit von der vorbe* stimmten, durchzuführenden Funktion auf vor*
bestimmte Steuersignale ansprechen und wobei
ca) das dritte Auswahlnetz die Schiebezahl für das Schiebenetz(12) liefert,
cb) das vierte Auswahlnetz mit dem ersten oä
Maskennetz(14)und
cc) das fünfte Auswahlnctz mit dem zweiten Maskcnnetz(15) verbunden ist.
4. Binärdaten-Handhabungsnetzwerk nach Anspruch 3, gekennzeichnet durch Einrichtungen (11)
zur Lieferung vorbestimmter Steuersignale (COl - C14) zu den fünf Auswahlnetzen in Abhängigkeit
von der vorbestimmten durchzuführenden Funktion.
5. Binärdaten-Handhabungsnetzwerk nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß
das Schiebenetz (12) ein Umlauf-Rechtsschiebenetz ist
6. Binärdaten-Handhabungsnetzwerk nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß
jedes Ausblend- oder Maskennetz (14,16) aus einem Eingangsregister (200, 202 bis 212) zum Aufnehmen
und Halten oder Speichern eines Masken-Eingangszähloperanden, mehreren mit dem Eingangsregister
verbundenen Netzwerken einer ersten Art, '.velche bestimmen, wo und in welcher Gruppe von
mehreren Gruppen [E bis H), in welche ein Masken-Ausgangsoperand unterteilt ist. der Ohergangspunkt
zwischen Operandenbits verschiedener Arten enthalten ist, und mehreren an das Eingangsregister angeschlossenen Netzwerken einer zweiten
Art besteht, welche bestimmen, weiche Gruppen von mehreren Gruppen, in die der Ausf angsmaskenoperand
unterteilt isi, die jeweils gleichen Operandenbits
einer vorbestimmten Art enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US475533A US3906459A (en) | 1974-06-03 | 1974-06-03 | Binary data manipulation network having multiple function capability for computers |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2506671A1 DE2506671A1 (de) | 1975-12-11 |
DE2506671B2 DE2506671B2 (de) | 1980-04-30 |
DE2506671C3 true DE2506671C3 (de) | 1981-01-15 |
Family
ID=23888000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2506671A Expired DE2506671C3 (de) | 1974-06-03 | 1975-02-17 | Binärdaten-Handhabungsnetzwerk |
Country Status (7)
Country | Link |
---|---|
US (1) | US3906459A (de) |
JP (1) | JPS537770B2 (de) |
CA (1) | CA1005924A (de) |
DE (1) | DE2506671C3 (de) |
FR (1) | FR2275825A1 (de) |
GB (1) | GB1475962A (de) |
NL (1) | NL172798C (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4139899A (en) * | 1976-10-18 | 1979-02-13 | Burroughs Corporation | Shift network having a mask generator and a rotator |
US4194241A (en) * | 1977-07-08 | 1980-03-18 | Xerox Corporation | Bit manipulation circuitry in a microprocessor |
US4219874A (en) * | 1978-03-17 | 1980-08-26 | Gusev Valery | Data processing device for variable length multibyte data fields |
US4180861A (en) * | 1978-03-31 | 1979-12-25 | Ncr Corporation | Selectively operable mask generator |
US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
JPS6476220A (en) * | 1987-09-17 | 1989-03-22 | Ibm | Bit mask generation circuit |
US5410719A (en) * | 1992-05-27 | 1995-04-25 | Hewlett-Packard Company | Field compositor for merging data and including cells each receiving three control and two data inputs and generating one control and one data output therefrom |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US6061783A (en) * | 1996-11-13 | 2000-05-09 | Nortel Networks Corporation | Method and apparatus for manipulation of bit fields directly in a memory source |
US20030231660A1 (en) * | 2002-06-14 | 2003-12-18 | Bapiraju Vinnakota | Bit-manipulation instructions for packet processing |
US20040254966A1 (en) * | 2003-05-16 | 2004-12-16 | Daewoo Educational Foundation | Bit manipulation operation circuit and method in programmable processor |
KR20070088190A (ko) * | 2006-02-24 | 2007-08-29 | 삼성전자주식회사 | 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3430202A (en) * | 1964-10-07 | 1969-02-25 | Bell Telephone Labor Inc | Data processor utilizing combined order instructions |
US3343138A (en) * | 1964-10-07 | 1967-09-19 | Bell Telephone Labor Inc | Data processor employing double indexing |
US3370274A (en) * | 1964-12-30 | 1968-02-20 | Bell Telephone Labor Inc | Data processor control utilizing tandem signal operations |
US3387278A (en) * | 1965-10-20 | 1968-06-04 | Bell Telephone Labor Inc | Data processor with simultaneous testing and indexing on conditional transfer operations |
-
1974
- 1974-06-03 US US475533A patent/US3906459A/en not_active Expired - Lifetime
-
1975
- 1975-02-17 DE DE2506671A patent/DE2506671C3/de not_active Expired
- 1975-02-28 CA CA221,013A patent/CA1005924A/en not_active Expired
- 1975-03-20 JP JP3310875A patent/JPS537770B2/ja not_active Expired
- 1975-05-07 GB GB1921475A patent/GB1475962A/en not_active Expired
- 1975-06-02 NL NLAANVRAGE7506503,A patent/NL172798C/xx not_active IP Right Cessation
- 1975-06-03 FR FR7517323A patent/FR2275825A1/fr active Granted
Also Published As
Publication number | Publication date |
---|---|
NL172798C (nl) | 1983-10-17 |
DE2506671A1 (de) | 1975-12-11 |
FR2275825B1 (de) | 1977-12-02 |
GB1475962A (en) | 1977-06-10 |
FR2275825A1 (fr) | 1976-01-16 |
US3906459A (en) | 1975-09-16 |
NL7506503A (nl) | 1975-12-05 |
AU8153975A (en) | 1976-12-02 |
DE2506671B2 (de) | 1980-04-30 |
JPS50159941A (de) | 1975-12-24 |
CA1005924A (en) | 1977-02-22 |
JPS537770B2 (de) | 1978-03-22 |
NL172798B (nl) | 1983-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3338345C2 (de) | ||
DE3688640T2 (de) | Suchgerät. | |
DE2751097A1 (de) | Triggerschaltungseinheit | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2819571A1 (de) | Datenverarbeitungsanlage mit mehreren prozessoren | |
DE2457312A1 (de) | Datenbehandlungseinrichtung mit einem feldwaehler | |
DE1499175B2 (de) | Steuereinrichtung in einem mehrspezies rechner | |
DE2621882B2 (de) | Speicher für Rechenautomaten mit mindestens zwei parallel angeordneten, einen Rücklaufkreis aufweisenden Speicherschleifen | |
DE2506671C3 (de) | Binärdaten-Handhabungsnetzwerk | |
DE3789253T2 (de) | Bildverarbeitungsgerät zur Bildvergrösserung und/oder Bildschrumpfung. | |
DE2247534C3 (de) | Additions- und Subtraktionsvorrichtung | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE2926322C2 (de) | Speicher-Subsystem | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE3148099C2 (de) | Anordnung zum Erkennen einer Digitalfolge | |
DE1190706B (de) | In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine | |
DE3144563C2 (de) | ||
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE3314137C2 (de) | ||
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE2406171C3 (de) | Synchron-Mehrzweck-Zähler | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
DE2000275A1 (de) | Elektronischer Walzenschalter | |
DE2625183A1 (de) | Datenverarbeitungseinrichtung | |
DE2024584B2 (de) | Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8328 | Change in the person/name/address of the agent |
Free format text: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZEL, W., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |