[go: up one dir, main page]

DE2506671C3 - Binärdaten-Handhabungsnetzwerk - Google Patents

Binärdaten-Handhabungsnetzwerk

Info

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
Application number
DE2506671A
Other languages
English (en)
Other versions
DE2506671A1 (de
DE2506671B2 (de
Inventor
Daniel J. Roseville Desmonds
Douglas A. Robbins
Donald P. Tate
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Control Data Corp
Original Assignee
Control Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Control Data Corp filed Critical Control Data Corp
Publication of DE2506671A1 publication Critical patent/DE2506671A1/de
Publication of DE2506671B2 publication Critical patent/DE2506671B2/de
Application granted granted Critical
Publication of DE2506671C3 publication Critical patent/DE2506671C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/764Masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask

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)

Patentansprüche:
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.
DE2506671A 1974-06-03 1975-02-17 Binärdaten-Handhabungsnetzwerk Expired DE2506671C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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