DE2457312A1 - Datenbehandlungseinrichtung mit einem feldwaehler - Google Patents

Datenbehandlungseinrichtung mit einem feldwaehler

Info

Publication number
DE2457312A1
DE2457312A1 DE19742457312 DE2457312A DE2457312A1 DE 2457312 A1 DE2457312 A1 DE 2457312A1 DE 19742457312 DE19742457312 DE 19742457312 DE 2457312 A DE2457312 A DE 2457312A DE 2457312 A1 DE2457312 A1 DE 2457312A1
Authority
DE
Germany
Prior art keywords
word
digit
field
inputs
alignment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19742457312
Other languages
English (en)
Other versions
DE2457312B2 (de
DE2457312C3 (de
Inventor
Spaeter Genannt Werden Wird
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.)
Compagnie Internationale pour lInformatique
Original Assignee
Compagnie Internationale pour lInformatique
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 Compagnie Internationale pour lInformatique filed Critical Compagnie Internationale pour lInformatique
Publication of DE2457312A1 publication Critical patent/DE2457312A1/de
Publication of DE2457312B2 publication Critical patent/DE2457312B2/de
Application granted granted Critical
Publication of DE2457312C3 publication Critical patent/DE2457312C3/de
Expired legal-status Critical Current

Links

Classifications

    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Description

Compagnie Internationale
pour 1'Informatique
68, Rte. de Versailles
Louveciennes/Frankreich
Unser Zeichen; C 3020
Datenbehandlungseinrichtung mit einem Feldwähler
Die Erfindung betrifft eine Datenbehandlungseinrichtung mit einem Feldwähler, mit welchem in einer einzigen Betriebszeit ein Feld von Ziffern in einem ersten Wort ausgewählt, dieses Feld logisch oder arithmetisch mit einem zweiten Wort verknüpft und das aus dieser Verknüpfung resultierende Wort gemäß verschiedenen Modalitäten für seine Darstellung an dem Ausgang der Datenbehandlungseinrichtung konditioniert werden kann, was alles unter der Regie eines Steuerwortes erfolgt, welches von anderer Seite gegeben ist und die Informationen für die Auswahl des Feldes, die Verknüpfung und die Konditionierung enthält.
Die Erfindung wird im folgenden unter Bezugnahme auf die beigefügte Zeichnung näher beschrieben, in welcher zeigen:
Lei/Pe
509823/0738
Fig. 1 das Blockschaltbild einer Datenbehandlungseinrichtung nach der Erfindung,
Fig. 2 ein Ausführungsbeispiel des Feldwählers mit zwei Multiplexerstufen,
Fig. 3 die Einzelheiten eines Teils der ersten Multiplexerstufe und ihre Steuerung,
Fig. 4 die Einzelheiten eines Teils der zweiten Multiplexerstufe und ihre Steuerung,und
Fig. 5 ein AusfUhrungsbeispiel der Konditionierungsschaltung für das Verknüpfen des Wortes des ausgewählten Feldes mit dem zweiten Wort gemäß einer der Ausführungsarten der Datenbehandlungseinrichtung.
In dem dargestellten Beispiel ist die Datenbehandlungseinrichtung mit dem Ausgang eines Datenspeichers MA verbunden und die Information an ihren Ausgang S (l....x) wird über einen Eingang dieses Speichers MA zu einer Einordnungsadresse zurückgebracht, die bei KAR in dem Steuerwort der Datenbehandlungseinrichtung angegeben ist, dieses Steuerwort steht in einem Register K, das aus einem Steuerwortspeicher (MK) gespeist wird. Jedes Wort A, welches aus dem Datenspeicher MA kommt, wird mit einem Wort B verknüpft, welches beispielsweise aus einem Datenspeicher (MB) kommt. Vor einer solchen Verknüpfung in dem binären Rechenwerk 0B soll aber ein Feld von Binärziffern durch einen Feldwähler SC aus dem Wort A gemäß den Parametern r, 1 und k ausgewählt werden, die aus einem Teil KEA des Steuerwortes in dem Register K stammen: r bezeichnet die Stelle der ersten Binärziffer des Feldes, 1 bezeichnet
509823/0738
seine Länge und k ist ein Index, dessen Wert die Ausrichtung des ausgewählten Feldes für seine Eingabe in das binäre Rechenwerk 0B festlegt. Die Art der Operation in dem Rechenwerk 0B wird durch einen Teil K0B des Steuerwortes in dem Register K festgelegt und braucht nicht näher erläutert zu werden, da das Rechenwerk 0B eine an sich bekannte Datenbehandlungseinrichtung ist, die folglich in der Lage ist, jede der bei der Datenverarbeitung üblichen Operationen auszuführen. Es handelt sich selbstverständlich um Operationen, die auf dieser Ebene in einer Taktzeit ausgeführt werden können.
Jedes Wort A aus Binärziffern a-^ bis ax gelangt in den Feldwähler SC und wird darin in ein Wort umgewandelt, welches ausgehend von einer Ziffer bestimmter Stelle des Wortes A eine festgelegte Länge hat und außerdem gemäß dem Index k ausgerichtet ist. In dem betreffenden Beispiel hat dieser Index nur zwei Werte,die einer rechtsbündigen Ausrichtung oder einer linksbündigen Ausrichtung entsprechen und mit d und g bezeichnet sind (vgl. Fig. 3). Es sei darauf hingewiesen, daß die Erfindung auf dieser Ebene nicht auf eine Wahl zwischen einer rechtsbündigen Ausrichtung oder einer linksbündigen Ausrichtung beschränkt ist, sondern daß die Ausrichtung bei Bedarf^anders sein kann und durch andere Werte als d urrLg des Index k festgelegt sein kann. Die Binärziffern C1 bis Cz1 ν des ausgewählten und ausgerichteten Feldes werden dem Eingang c des Rechenwerks 0B zugeführt, welches an seinem anderen Eingang die Ziffern b-j^ bis bx des Wortes B empfängt.
Die Ziffern φ1 bis φχ des aus der Operation in dem Rechenwerk 0B resultierenden Wortes werden bei φ den Eingängen einer Übertragungseinheit TS zugeführt, deren Übertragung
50982 37 0738
durch Befehle bedingt ist, die aus einem Teil KTS des Steuerwortes in dem Register K stammen. Faktisch kann diese Einheit TS aus einem Multiplexer mit einer Stufe bestehen, während der Feldwähler SC aus einem Multiplexer mit zwei Stufen bestehen kann. Der genaue Sinn des Ausdrucks "Multiplexer" wird sich aus der Beschreibung dieser Einheiten SC und TS ergeben. Der Ausdruck "bedingt" kann für das dargestellte Beispiel folgendermaßen definiert werden:
das von dem Rechenwerk 0B abgegebene Wort wird unverändert zu dem Ausgang S (Binärziffern s-, bis s ) der Einheit TS übertragen, oder
das von dem Rechenwerk 0B abgegebene Wort wird zu dem Ausgang S der Einheit TS mit einer Verschiebung um eine Binärziffer nach links übertragen, oder
das von dem Rechenwerk abgegebene Wort wird zu dem Ausgang S der Einheit TS mit einer Verschiebung um eine Binärziffer nach rechts übertragen,
andere Verschiebungen könnten bei Bedarf vorgesehen werden, und
in ein Wort, dessen Ausrichtung durch irgendeine der drei obengenannten Bedingungen festgelegt ist, wird verkettet ein Teil der Ziffern des Wortes B (oder bei Bedarf irgendeines anderen Wortes, welches auf dieser Operationsebene das Wort B ersetzen könnte) an Plätzen von Ziffern φ eingegeben, die dadurch bezeichnet werden, daß an die Einheit TS eine Maske m angelegt wird, die auf der Höhe des Ausgangs des Feldwählers SC gebildet ist (oder die statt
509823/0738
dessen aus dem Teil KTS des Steuerwortes stammen könnte, der die Bedingungsbefehle erzeugt, deren Resultate oben definiert worden sind).
Für die Feldauswahl kann jedes Wort A vorteilhafterweise als in mehrere Elemente oder Zeichen mit jeweils derselben Anzahl von Binärziffern, d.h. mit einem Teilvielfachen der Anzahl von Ziffern χ des Wortes A zerlegt angesehen werden. Diese Zerlegung, die gegenüber dem Rest des Systems willkürlich sein kann, oder auch gegenüber diesem System eine genaue Bedeutung gemäß Begriffen haben kann, die außerhalb des eigentlichen Gebietes der Erfindung liegen, ermöglicht, eine Feldauswahleinheit einfach aus zwei in Kaskade angeordneten Multiplexerstufen herzustellen: - eine erste Stufe bewirkt, gesteuert durch die Parameter k (Ausrichtung) und r(Stelle der ersten Ziffer des auszuwählenden Feldes), die durch den Wert von k festgelegte Ausrichtung des Zeichens, welches die Ziffer der durch r bezeichneten Stelle enthält, und die zweite Stufe schließt die Ausrichtung ab, indem sie die Ziffer der Stelle r an den durch k festgelegten Platz, bei dem betreffenden Beispiel also an den Platz 1 oder an den Platz χ des von dem Feldwähler SC abgegebenen Wortes bringt, wobei die Anzahl der auf diese Weise ausgerichteten Ziffern auf die Länge begrenzt wird, die durch den Wert des Parameters 1 angegeben ist. Jede Multiplexierstufe hat ebensoviele Verzweiger, wie Binärziffern in einem zu verarbeitenden Wort vorhanden sind, wobei es sich in dem betreffenden Beispiel um die Anzahl χ handelt. In der ersten Stufe hat jede Schaltung die gleiche Anzahl von Eingängen, wie in dem zu verarbeitenden Wort Zeichen festgelegt sind. In der zweiten Stufe hat jede Schaltung die gleiche Anzahl von Eingängen, wie Ziffern in jedem dieser Zeichen vorhanden sind. Die Eingänge der Schaltungen der ersten Stufe
509823/0738
sind mit den Eingängen für Ziffern entsprechender Stellen in den Zeichen verbunden. Die Eingänge der zweiten Stufe sind mit den Ausgängen der Schaltungen der ersten Stufe in einer regelmäßigen Vertauschung verbunden, von einer Schaltung der zweiten Stufe zu der nächsten jeweils um eine Ziffer fortschreitet.
Zur Erläuterung einer solchen Ausführungsform wird auf die Figuren 2 bis 4 Bezug genommen, die einen Feldwähler zum Auswählen eines Feldes aus Wörtern mit sechzehn Binärziffern betreffen, die für diese Auswahl in zwei Oktaden 01 und 02 zerlegt sind. Die erste Oktade enthält die Ziffern al bis a8 und die zweite Oktade die Ziffern a9 bis ai6. Die Stellencodegruppe r hat vier Binärziffern. Der Stellendecoder, der gleichfalls mit r bezeichnet wird (Fig. 3 und Fig. 4), hat somit sechzehn Ausgänge 1 bis Die Feldlängencodegruppe 1 hat ebenfalls vier Binärziffern. Der Feldlängendecoder 1 (Fig. 4) hat somit sechzehn Ausgänge 1 bis 16. Die Ausrichtungscodegruppe k hat zwei Zustände, und der Ausrichtungsdecoder k weist somit nur zwei Ausgänge g und d auf, deren Erregungen einander ausschließen.
Der Feldwähler, vgl. Fig. 2, enthält eine erste Stufe (M1) mit sechzehn Elementen 1 bis 16, ausgehend von links in Fig. 2. Jedes Element besteht, wie in Fig. 3 lediglich zur Veranschaulichung und als einfaches Beispiel dargestellt ist, aus zwei Torschaltungen, deren Ausgänge ODER-verknüpft sind. Jede Torschaltung hat zwei Steuereingänge und ist nur dann entsperrt, wenn diese beiden Eingänge den gleichen Digitalwert haben, während sie gesperrt ist, wenn diese beiden Eingänge entgegengesetzte Digitalwerte haben. Das Element 1 empfängt die Ziffern al und a9 des Wortes A; das zweite Element empfängt die Ziffern a2 und a10, usw.; das
509823/0738
neunte Element empfängt die Ziffern a9 und al j das zehnte Element empfängt die Ziffern a10 und a2, usw. Das Ausgangssignal g des AusrichtungsSpeichers wird jeweils einem Steuereingang aller Torschaltungen der acht ersten Elemente zugeführt, und das Ausgangssignal d wird jewels einem Steuereingang der acht anderen Elemente zugeführt, wobei diese Ausgangssignale, wie gesagt, immer entgegengesetzte Digitalwerte haben.
Die Ausgänge 1 bis 8 des Stellendecoders r sind ODER-verknüpft, und das ODER-Verknüpfungssignal wird jeweils an einen Steuereingang der linken Torschaltung in jedem der acht ersten Elemente und an einen Steuereingang der rechten Torschaltung in jedem der acht anderen Elemente angelegt. Die Ausgänge 9 bis 16 des Stellendecoders r sind gleichfalls ODER-verknüpft, und das ODER-Verknüpfungssignal wird jeweils an einen Steuereingang der linken Torschaltung in jedem der acht letztgenannten Elemente und an einen Steuereingang der rechten Torschaltung in jedem der acht erstgenannten Elemente abgegeben. Die Ausgänge dieser ODER-. Schaltungen haben ganz offensichtlich immer entgegengesetzte Digitalwerte.
Durch Anwendung der Wahrbaitstabelle für die Entsperrung der obengenannten Torschaltungen - Entsperrung für gleiche Digitalwerte, Sperrung für gegensätzliche Digitalwerte — kann dann leicht nachgeprüft werden, daß die Ziffern al bis ai6 bei einer linksbündigen Ausrichtung (g) und einer Stelle r unter 9 und bei einer rechtsbündigen Ausrichtung (d) und einer Stelle r über 8 unverändert übertragen werden, während die Oktaden unter den entgegengesetzten Bedingungen: - linksbündige Ausrichtung (g) und Stelle r größer als 8, rechtsbündige Ausrichtung (d) und Stelle r kleiner als 9 gegeneinander vertauscht übertragen werden.
509823/0738
Die Ausgangssignale der Elemente der ersten Multiplexierstuf e (M1) werden dann zu den Eingängen der sechzehn Elemente der zweiten Multiplexierstufe(M2) weitergeleitet und auf dieselben verteilt, wobei die Anzahl der Eingänge jedes Elements der Ziffernzahl einer Oktade entspricht. Das erste Element dieser Stufe empfängt die Ausgangssignale der Elemente 1 bis 8 der ersten Stufe (M1), das zweite Element der zweiten Stufe (M2) empfängt die Ausgangssignale der Elemente 2 bis 9 der ersten Stufe, usw., mit einer regelmäßigen Verschiebung um ein Ausgangssignal der ersten Stufe von Element zu Element der zweiten Stufe und, selbstverständlich, mit einer Wiederaufnahme der Ausgangssignale der Elemente der ersten Stufe in zyklischer Vertauschung von Element zu Element bis zu dem sechzehnten Element der zweiten Stufe (M2), welche als Eingangssignale in der Reihenfolge die Ausgangssignale der Elemente 16, 1, 2, 3, 4, 5ι 6 und 7 der ersten Stufe (Ml) hat. Wie zur Veranschaulichung in Fig. 4 angegeben, kann Jedes Element der zweiten Stufe (M2) aus acht Torschaltungen bestehen, deren Ausgänge in ODER-Verknüpfung zu einem einer Ziffer φ derselben Stelle zugeordneten Eingang des Rechenwerks 0B geführt sind. Fig. 4 zeigt die Schaltung des siebenten Elements von links der zweiten Stufe (M2). Dieses Element empfängt somit an seinen acht Eingängen die Ausgangssignale des siebenten bis vierzehnten Elements der ersten Stufe (M1), nämlich die Ziffern a7(15), a8(i4),a9(i), a10(2), a1i(3), a12(4), a13(5) und ai4(6), wobei die in Klammern gesetzten Ziffern die Nummern der Ziffern im Fall der Vertauschung der Oktaden an dem Ausgang der ersten Stufe (M1) angeben.
Jede Torschaltung jedes Elements der zweiten Stufe (M2) ist nur entsperrt, wenn sie an ihren beiden Steuereingängen Signale mit ein und demselben vorbestimmten Digital-
509823/0738
A.
wert empfängt (11 oder 00, aber nicht eine Kombination 01 oder 10 dieser Digitalwerte).
Die Ausgänge des Stellendecoders r sind paarweise ODER-verknüpft, damit die Steuersignale für die Torschaltungen der Elemente der zweiten Stufe (M2) geliefert werden: - die Ausgänge 1 und 9 des Decoders sind ODER-verknüpft, damit ein Steuersignal R1 geliefert wird, die Ausgänge 2 und 10 sind ODER-verknüpft, damit ein Steuersignal R2 geliefert wird, usw., bis zu dem achten Steuersignal R8, welches die ODER-Verknüpfung der Ausgänge 8 und 16 des Stellendecoders r darstellt. Das Signal R1 wird an jede Torschaltung der zweiten Stufe (H2) angelegt, die die . Ziffer al (9) oder die reziproke Ziffer a9 (1) empfängt, das Signal R2 wird an jede Torschaltung angelegt, die die Ziffer a10(2) oder die Ziffer a2(10) empfängt usw. Für das in Fig. 3 dargestellte Element, welches die Ziffer c7 liefert, ergibt sich von links nach rechts folgende Reihenfolge der Steuersignale R: - R7, R8, R1, R2, R3, R4, R5 und R6.
Jedes der Elemente der MuItiplexierstufe (M2) wird in seiner Gesamtheit durch ein Steuersignal L gesteuert, welches aus der Feldlängencodegruppe 1 abgeleitet wird. Diese Länge wird durch die Anzahl der in dem Wort A ab der Ziffer der Stelle r dieses Wortes auszuwählenden Binärziffern angegeben. Der Feldlängendecoder 1 hat sechzehn Ausgänge und die Länge des Feldes wird durch die Anzahl von aufeinanderfolgenden aktivierten Ausgängen für den Feldwähler SC festgelegt. Indessen kann man die Ausgangssignale des Feldlängendecoders nicht unverändert in ihrer Reihenfolge nehmen, da bei dem betreffenden Beispiel zwei Möglichkeiten vorhanden sind, d.h. rechtsbündige und
5 0 9 8 2 3/0738
linksbündige Ausrichtung des ausgewählten Feldes. Aus diesem Grund wird zunächst jedes Ausgangssignal des Feldlängendecoders an zwei Torschaltungen angelegt, von denen die eine bei einer rechtsbündigen Ausrichtung entsperrt ist, da sie dann das Signal d mit seinem Digitalwert "wahr" (Signal vorhanden) empfängt, und von denen die andere bei einer linksbündigen Ausrichtung entsperrt ist, da sie dann das Signal g mit seinem Digitalwert "wahr" empfängt. Die Ausgangssignale dieser Torschaltungen werden dann paarweise auf sechzehn Ausgänge L1 bis L16 gegeben, und zwar nach folgendem Verfahren: - das Ausgangssignal der Torschaltung (g) des Ausganges 1 des Decoders wird mit dem Ausgangssignal der Torschaltung (d) des Ausganges 16 des Decoders zu einem Steuersignal L1 ODER-verknüpft, das an das Element (1) der Multiplexierstufe (M2) angelegt ist. Umgekehrt wird das Ausgangssignal der Torschaltung (d) des Ausganges 1 des Decoders mit dem Ausgangssignal der Torschaltung (g) des Ausganges 16 des Decoders zu einem Steuersignal L 16 ODER-verknüpft. Die Ausgangssignale der Tor schaltungen, die mit den Ausgängen 2 und 15 des Decoders verbunden sind, werden in ähnlicher Weise verarbeitet, damit sich die Steuersignale L2 und L15 ergeben, usw. Es genügt dann, die Steuersignale L1 bis L16 an die Elemente 1 bis 16 der Stufe (M2) anzulegen, um die geforderte Wirkung zu erreichen. In jedem Element empfangen die acht Torschaltungen, aus denen es besteht, das gleiche Steuersignal L.
In dem angegebenen Beispiel sind die Ausrichtungen "absolut", d.h. bei einer rechtsbündigen Ausrichtung wird die ausgerichtete Ziffer am Ende des ausgewählten Feldes nach 16 und bei einer linksbündigen Ausrichtung nach 1 gebracht,
509823/0738
Man kann somit sagen, daß es sich dabei um Ausrichtungswerte d,jg und g.j handelt/Wenn die Ausrichtungsoodegruppe k eine andere Binärziffer enthielte, die Ausrichtungswerte d^jc und C2 bezeichnete, so würden öie Ausgangssignale des Feldlängendecoders in gleichartiger Weise gemäß dem oben angegebenen Verfahren verarbeitet werden, und die auf diese Weise erhaltenen sechzehn Ausgangssignale L würden mit den zuvor festgelegten Ausgangssignalen L ODER-verknüpft, usw. für die Steuerung der Elemente der Stufe (M2).
In demselben Zeitpunkt, in welchem die Übertragung der Ziffern des durch die oben beschriebenen Einrichtungen ausgewählten und gemäß dem gleichen Prinzip ausgerichteten Feldes erfolgt, ist eine Maskierungscodegruppe m direkt aus den Ausgangssignalen der Elemente der Stufe (M2) ableitbar, entweder in direkter Konfiguration (Ziffern 1 an den Plätzen ,der Ausgänge des Feldwählers SC, die aktiviert sind, oder, einfacher, Verlängerung der aktivierten Steuersignale L) oder in komplementärer Konfiguration (Ziffern 0 an den Plätzen der Ausgänge des Feldwählers SC, die aktiviert sind, oder Verlängerung der nichtaktivierten Steuersignale L mit Umkehrung des Digitalwertes).
Das durch den Feldwähler gebildete Wort wird an die Ein-? gänge c (c^ bis οχ) des binären Rechenwerks 0B angelegt, das an einer anderen Reihe von Eingängen die Ziffern b (b, bis b ) des Wortes B empfängt. Das Rechenwerk 0B arbeitet
Jv
mit parallelen Codegruppen und liefert somit quasi augenblicklich das Resultat der Operation, die unter der Steuerung durch ein Funktions- oder Operationssignal ausgeführt wird, welches aus dem Teil K0B des Steuerwortes in dem Register K stammt. Das Rechenwerk 0B gibt somit an seinen
5 0 9823/0738
Ausgängen parallel die Ziffern φ (φ-^ bis φχ) des Ergebniswortes ab. Selbstverständlich wird dieses Wort entsprechend der Länge des in dem Feldwähler SC ausgewählten Feldes und der Ausrichtung dieses Feldes Ziffern enthalten, die alle einen Binärwert H0w haben (oder die alle einen Binärwert "1" haben, je nach der Interpretation, die in dem Rechenwerk 0B dem Vorhandensein von festgelegten Digitalwerten zugeordnet ist).
Dieses Ergebniswort könnte zwar ohne weiteres direkt an dem Ausgang S abgegeben werden, vorzugsweise wird es jedoch, wie weiter oben beschrieben, einer Übertragungsschaltung TS zugeführt, die eine zusätzliche Konditionierung des Wortes vornehmen kann, und zwar gemäß einer von mehreren Modalitäten: - Übertragung ohne Modifikation, Übertragung mit einer Verschiebung nach rechts oder nach links (um eine Binärziffer bei dem dargestellten Beispiel) und/oder Verkettung mit Ziffern eines anderen Wortes, das bei dem dargestellten Beispiel das Wort B selbst ist, obgleich man bei Bedarf ein drittes Wort, welches in der Operation in dem Rechenwerk 0B nicht vorhanden ist,oder selbst das ursprüngliche Wort A verwenden könnte. Fig. 5 zeigt als einfaches Erläuterungsbeispiel eine mögliche Ausführungsform der Schaltung TS auf der Grundlage eines Multiplexers mit sechzehn Elementen, die jeweils vier Eingänge in diesem Beispiel haben, in welchem der Teil KTS des Steuerworts in dem Register K vier Ausgänge hat: -1, Verschiebung um eine Binärziffer nach links; 0, keine Verschiebung, +1, Verschiebung um eine Binärziffer nach rechts;und B, Blockierung der Übertragungen von Verkettungsziffern. Es kann immer nur einer der drei Ausgänge (-1, 0, +1) des Teils KTS aktiviert werden, aber der Ausgang B kann unabhängig von den drei anderen Ausgängen aktiviert werden.
509823/0738
Jedes Element der Übertragungsschaltung TS besteht dann beispielsweise aus vier Torschaltungen, deren Ausgänge in ODER-Verknüpfung zu einem Ziffernausgang s des endgültigen Wortes geführt sind. In jedem Element ist eine der Torschaltungen mit dem Eingang der Verkettungsziffer verbunden, die dieselbe Stelle wie das Element hat, und diese Torschaltung steht unter der Steuerung durch das Blockierungssignal B, welches sie sperrt, und außerdem unter der Steuerung durch die Ziffer m der entsprechenden Stelle der Maske m, die sie freigibt und dabei gleichzeitig die anderen Torschaltungen dieses Elements sperrt.
In jedem Multiplexierelement der Übertragungsschaltung TS ist der Informationseingang einer Torschaltung mit dem Ausgang der von dem Rechenwerk 0B abgegebenen Binärziffer φ der entsprechenden Stelle verbunden. Diese Torschaltung ist entsperrt, wenn der Ausgang 0 des Teils KTS aktiviert ist. Der Informationseingang einer anderen Torschaltung in den Elementen, deren Ausgänge von si bis s15 gehen, ist mit dem Ausgang der Binärziffer φ der nächsthöheren Stelle am Ausgang des Rechenwerks 0B verbunden. Diese Torschaltung ist entsperrt, wenn der Ausgang +1 des Teils KTS aktiviert ist. Der Informationseingang einer weiteren Torschaltung in den Elementen, deren Ausgänge von s2 bis si6 gehen, ist mit dem Ausgang der Binärziffer φ der nächstniedrigeren Stelle an das Rechenwerk 0B verbunden. Diese Torschaltung ist entsperrt, wenn der Ausgang -1 des Teils KTS aktiviert ist. In dem ersten und dem letzten Element der übertragungsschaltung TS kann man Torschaltungen anordnen, die beliebige digitale Ziffern CL empfangen, wobei diese Torschaltung im ersten Element durch die Aktivierung des Ausgangs -1 des Teils KTS bzw. im letzten Element durch die Aktivierung des Ausgangs +1 des Teils KTS gesteuert wird.
5 09823/0738
Es könnte auch eine kompliziertere Konditionierung der Übertragung der Wörter durch die Übertragungsschaltung TS im Rahmen der Erfindung verwirklicht werden, wobei jede zusätzliche Bedingung zu einem zusätzlichen Ausgang des Teils KTS .und zu einer zusätzlichen Torschaltung in jedem der Elemente der Übertragungsschaltung TS führt.
509823/0738

Claims (2)

  1. Patentansprüche
    Datenbehandlungseinrichtung mit einem Feldwähler, zur Behandlung von Wörtern, die aus mehreren Zeichen mit jeweils der gleichen Anzahl von Binärziffern bestehen, dadurch gekennzeichnet, daß sie, um in einer einzigen Zeit in einem solchen Wort die Auswahl und die Ausrichtung eines Feldes von Ziffern, das durch eine Feldlänge, durch die Stellung der ersten Ziffer dieses Feldes in dem Wort und durch einen Feldausrichtungsindex bestimmt ist, die Verknüpfung des ausgewählten und ausgerichteten Wortes mit einem anderen Wort und die Übertragung des aus dieser Verknüpfung resultierenden Wortes mit einer bedingten Ausrichtung und/oder mit einer Verkettung von Ziffern eines anderen Wortes an den verfügbaren Plätzen des Ergebniswortes auszuführen, in Kaskade für Paralleldarstellung eine Feld-Auswahl-Ausrichtungsschaltung, ein binäres Rechenwerk mit zwei Reihen von Eingängen, von denen die eine mit dem Ausgang der Feld-Auswahl-Ausrichtungsschaltung verbunden ist und von denen die andere die Binärziffern eines zweiten Wortes empfängt, und eine Schaltung für bedingte Übertragung enthält, welche Zifferneingänge, die mit den Ziffernausgängen des Rechenwerks verbunden sind, und weitere Zifferneingänge hat, die Binärziffern eines anderen Wortes empfangen, daß die Feld-Auswahl-Ausrichtungsschaltung zwei in Kaskade angeordnete Multiplexierstufen enthält, von denen jede eine Anzahl von Multiplexierelementen aufweist, die gleich der Anzahl von Binärziffern des zu verarbeitenden Wortes ist, wobei die Multiplexierelemente der ersten Stufe jeweils ebensoviele Eingänge haben wie Zeichen in diesem Wort vorhanden sind, und diese Eingänge mit Anschlüssen zur
    50982 3/0738
    Eingabe von Binärziffern derselben Stelle in jedem Zeichen verbunden sind, welche sich von Element zu Element dieser Stufe um Eins ändert, und von denen die Multiplexierelemente der zweiten Stufe ebensoviele Eingänge haben wie Binärziffern in jedem Zeichen vorhanden sind, und diese Eingänge mit ebensovielen Ausgängen von Elementen aufeinanderfolgender Stellen der ersten Stufe verbunden sind, und zwar in zyklischer Vertauschung von Element zu Element der zweiten Stufe, daß die Steuerung der Elemente der ersten Stufe in Abhängigkeit von der Ausrichtungscodegruppe und der Stelle der ersten Ziffer des auszuwählenden Feldes für eine Ausrichtung der Zeichen des Wortes erfolgt, daß die Steuerung der Elemente der zweiten Stufe in Abhängigkeit von der Stelle der ersten Ziffer in dem Feld, von der Länge des Feldes und von dem Ausrichtungsindex erfolgt, um die Ausrichtung auf die durch diese Stelle tatsächlich bezeichnete Ziffer zu vervollständigen, um die Anzahl von übertragenen Ziffern auf die zu begrenzen, die durch die. Länge des Feldes ab dieser ersten Ziffer angegeben ist, und um eine Maskierung der anderen Ausgänge der zweiten Stufe zu erzeugen, daß Maskenziffernsignale von den maskierten Ausgängen der zweiten Stufe gewonnen werden, und daß die Schaltung für bedingte Übertragung aus einer Multiplex!erstuf e besteht, die ebensoviele Multiplexierelemente hat wie Binärziffern in einem Wort vorhanden sind, wobei jedes ihrer Elemente mehrere Eingänge hat, von denen einer, der eine Verkettungsziffer empfängt, bei Empfang einer Ziffer, entsprechender Stelle der Maske freigegeben wird und durch einen Programmsteuerbefehl der Übertragungsschaltung gesperrt werden kann, und von
    50 9823/0738
    denen die anderen Eingänge Eingänge sind, die auf einen Verschiebungssteuerbefehl des Programmes ansprechen und bei Empfang einer Ziffer der Maske mit der dem Element entsprechenden Stelle gesperrt werden.
  2. 2. Datenbehandlungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Eingänge eines Elements der Schaltung für bedingte übertragung mit Ausnahme seines Verkettungseingangs direkt mit Ziffernausgängen aufeinanderfolgender Stellen des Rechenwerks verdrahtet sind und durch einen Verschiebungssteuerbefehl des Programms für die Übertragungsschaltung selektiv freigegeben werden.
    509823/0738
DE2457312A 1973-12-04 1974-12-04 Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung Expired DE2457312C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7343136A FR2253415A5 (de) 1973-12-04 1973-12-04

Publications (3)

Publication Number Publication Date
DE2457312A1 true DE2457312A1 (de) 1975-06-05
DE2457312B2 DE2457312B2 (de) 1978-11-30
DE2457312C3 DE2457312C3 (de) 1979-08-02

Family

ID=9128664

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2457312A Expired DE2457312C3 (de) 1973-12-04 1974-12-04 Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung

Country Status (8)

Country Link
US (1) US4023023A (de)
BE (1) BE822448A (de)
DE (1) DE2457312C3 (de)
ES (1) ES432556A1 (de)
FR (1) FR2253415A5 (de)
GB (1) GB1494327A (de)
IT (1) IT1024958B (de)
NL (1) NL7415387A (de)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1524850A (en) * 1975-12-23 1978-09-13 Ferranti Ltd Data processing apparatus
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
US4321668A (en) * 1979-01-02 1982-03-23 Honeywell Information Systems Inc. Prediction of number of data words transferred and the cycle at which data is available
US4467443A (en) * 1979-07-30 1984-08-21 Burroughs Corporation Bit addressable variable length memory system
US4509144A (en) * 1980-02-13 1985-04-02 Intel Corporation Programmable bidirectional shifter
US4358826A (en) * 1980-06-30 1982-11-09 International Business Machines Corporation Apparatus for enabling byte or word addressing of storage organized on a word basis
US4484276A (en) * 1981-02-19 1984-11-20 Sperry Corporation Shift matrix preselector control circuit
JPS5824941A (ja) * 1981-08-07 1983-02-15 Hitachi Ltd 演算装置
JPS5827241A (ja) * 1981-08-12 1983-02-17 Hitachi Ltd 十進演算装置
US4667305A (en) * 1982-06-30 1987-05-19 International Business Machines Corporation Circuits for accessing a variable width data bus with a variable width data field
CA1211219A (en) * 1982-06-30 1986-09-09 Hideo Kuroda Digital data code conversion circuit for variable- word-length data code
US4506345A (en) * 1982-07-02 1985-03-19 Honeywell Information Systems Inc. Data alignment circuit
US5265204A (en) * 1984-10-05 1993-11-23 Hitachi, Ltd. Method and apparatus for bit operational process
US5034900A (en) * 1984-10-05 1991-07-23 Hitachi, Ltd. Method and apparatus for bit operational process
US6552730B1 (en) 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
JP2667806B2 (ja) * 1985-10-11 1997-10-27 株式会社日立製作所 ベクトルプロセツサ
US4920483A (en) * 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
US4903228A (en) * 1988-11-09 1990-02-20 International Business Machines Corporation Single cycle merge/logic unit
US5020013A (en) * 1989-09-29 1991-05-28 Cyrix Corporation Bidirectional variable bit shifter
US5319763A (en) * 1991-04-02 1994-06-07 Motorola, Inc. Data processor with concurrent static and dynamic masking of operand information and method therefor
US5341500A (en) * 1991-04-02 1994-08-23 Motorola, Inc. Data processor with combined static and dynamic masking of operand for breakpoint operation
US5974539A (en) * 1993-11-30 1999-10-26 Texas Instruments Incorporated Three input arithmetic logic unit with shifter and mask generator
US5961635A (en) * 1993-11-30 1999-10-05 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator and mask generator
US5596763A (en) * 1993-11-30 1997-01-21 Texas Instruments Incorporated Three input arithmetic logic unit forming mixed arithmetic and boolean combinations
US5493524A (en) * 1993-11-30 1996-02-20 Texas Instruments Incorporated Three input arithmetic logic unit employing carry propagate logic
US5590350A (en) * 1993-11-30 1996-12-31 Texas Instruments Incorporated Three input arithmetic logic unit with mask generator
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US6116768A (en) * 1993-11-30 2000-09-12 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator
US6058473A (en) * 1993-11-30 2000-05-02 Texas Instruments Incorporated Memory store from a register pair conditional upon a selected status bit
US5485411A (en) * 1993-11-30 1996-01-16 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs
US5805913A (en) * 1993-11-30 1998-09-08 Texas Instruments Incorporated Arithmetic logic unit with conditional register source selection
US6098163A (en) * 1993-11-30 2000-08-01 Texas Instruments Incorporated Three input arithmetic logic unit with shifter
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US7197625B1 (en) 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
FR2770661B1 (fr) * 1997-11-03 2001-08-10 Inside Technologies Microprocesseur comprenant des moyens de concatenation de bits
US7191309B1 (en) * 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
EP1236097A4 (de) 1999-09-01 2006-08-02 Intel Corp Verzweigungsbefehl zum prozessor
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US20020053017A1 (en) * 2000-09-01 2002-05-02 Adiletta Matthew J. Register instructions for a multithreaded processor
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
FR2821184A1 (fr) * 2001-02-16 2002-08-23 Koninkl Philips Electronics Nv Trames de commandes et procede de concatenation de trame de commandes
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7711763B2 (en) * 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7237097B2 (en) * 2001-02-21 2007-06-26 Mips Technologies, Inc. Partial bitwise permutations
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7318145B1 (en) 2001-06-01 2008-01-08 Mips Technologies, Inc. Random slip generator
US7225281B2 (en) * 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US7216204B2 (en) 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7487505B2 (en) 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US6868476B2 (en) 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7610451B2 (en) * 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7437724B2 (en) * 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US7337275B2 (en) * 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7305593B2 (en) * 2003-08-26 2007-12-04 Lsi Corporation Memory mapping for parallel turbo decoding
GB2411978B (en) * 2004-03-10 2007-04-04 Advanced Risc Mach Ltd Inserting bits within a data word
US20080256424A1 (en) * 2007-04-13 2008-10-16 Broadcom Corporation Information bit puncturing for turbo coding with parameter selectable rate matching tailored to lower eb/no without degrading bler (block error rate) performance
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3596074A (en) * 1969-06-12 1971-07-27 Ibm Serial by character multifunctional modular unit
US3728689A (en) * 1971-06-21 1973-04-17 Sanders Associates Inc Program branching and register addressing procedures and apparatus
FR2175261A5 (de) * 1972-03-06 1973-10-19 Inst Francais Du Petrole

Also Published As

Publication number Publication date
IT1024958B (it) 1978-07-20
NL7415387A (nl) 1975-06-06
FR2253415A5 (de) 1975-06-27
BE822448A (fr) 1975-05-21
DE2457312B2 (de) 1978-11-30
DE2457312C3 (de) 1979-08-02
US4023023A (en) 1977-05-10
GB1494327A (en) 1977-12-07
ES432556A1 (es) 1976-09-16

Similar Documents

Publication Publication Date Title
DE2457312A1 (de) Datenbehandlungseinrichtung mit einem feldwaehler
DE3535436C2 (de)
DE1499175B2 (de) Steuereinrichtung in einem mehrspezies rechner
DE2224389A1 (de) Speichersystem
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2230733B2 (de) Elektronische Digitaluhr
DE3788617T2 (de) Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor.
DE2758151A1 (de) Einrichtung zum sortieren von datensaetzen
DE68927202T2 (de) Paralleler Prozessor
DE2625113C2 (de) Speicherschutzeinrichtung
EP0062141A1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE1271433B (de) Adressiereinrichtung fuer einen Tabellenwertspeicher
DE2848096C3 (de) Digitale Addieranordnung
EP0213584B1 (de) Schaltungsanordnung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale
DE1474024C3 (de) Anordnung zur willkürlichen Umordnung von Zeichen innerhalb eines Informationswortes
DE2000275A1 (de) Elektronischer Walzenschalter
DE1806172A1 (de) Prioritaetsschaltung
DE2164718A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE2136536C3 (de) Anordnung zur Komprimierung binarer Daten
DE2527236C3 (de) Anordnung zum Einsetzen von Daten in ein Register
DE3587401T2 (de) Maskensignalgenerator.
DE2717065C3 (de) Einrichtung zur Prüfung der Zuordnung einer Geheimzahl zu einer auf einer Karte gespeicherten Kartenzahl
DE1914576C3 (de) Programmgesteuerte Datenverar beitungsanlage, insbesondere fur die Abwicklung von Vermittlungsvorgangen in einer Fernsprechvermittlung

Legal Events

Date Code Title Description
OGA New person/name/address of the applicant
C3 Grant after two publication steps (3rd publication)