DE3048675C2 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

Publication number
DE3048675C2
DE3048675C2 DE3048675A DE3048675A DE3048675C2 DE 3048675 C2 DE3048675 C2 DE 3048675C2 DE 3048675 A DE3048675 A DE 3048675A DE 3048675 A DE3048675 A DE 3048675A DE 3048675 C2 DE3048675 C2 DE 3048675C2
Authority
DE
Germany
Prior art keywords
address
data
block
buffer memory
command
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
DE3048675A
Other languages
English (en)
Other versions
DE3048675A1 (de
Inventor
Kanji Hadano Kubo
Kenichi Zama Wada
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3048675A1 publication Critical patent/DE3048675A1/de
Application granted granted Critical
Publication of DE3048675C2 publication Critical patent/DE3048675C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die Erfindung betrifft ein Datenverarbeitungssystem
mit einem Hauptspeicher und einem Pufferspeicher, nach dem Oberbegriff des Patentanspruchs 1.
Bei herkömmlichen Digitalrechnern wird ein als nächstes auszulesender befehl von einem Speicher, d. h. einem Hauptspeicher oder einem Pufferspeicher ausge-
lesen, in dem Makrobefehle (im folgenden nur »Befehle«) und Daten gespeichert sind, wobei eine Adresse zum Bezeichnen von Daten, die zur Durchführung dieses Befehls zu verwenden sind durch eine Befehlseinheit bestimmt wird. Aufgrund dieser Datenadresse werden entsprechende Daten von dem erwähnten Speicher ausgelesen und wird so der Befehl durchgeführt. Die von dem Speicher abgelesenen Daten besitzen eine vorgegebene Länge, beispielsweise eine Länge von 8 Byte. Das Auslesen von Daten von dem Speicher wird nicht für Daten mit 8 Byte, beginnend von einer gegebenen Adreßstellung, ausgeführt, vielmehr erfolgt das Auslesen bezüglich Daten mit einer Länge von 8 Byte von der Grenzstellung zwischen zwei Blöcken, die jeweils 8 Byte enthalten. Folglich muß, wenn auszulesende Daten beiderseits der Grenzstellung angeordnet sind, der Auslesebetrieb doppelt durchgeführt werden, selbst wenn die Länge der erwünschten Daten geringer als 8 Byte ist Insbesondere werden 8 Byte mit einer Adresse, die kleiner als die Grenzstellung ist und 8 Byte mit einer Adresse, die größer als die Grenzsteilung ist, jeweiligen Ausieseoperationen oder -betrieben unterworfen. Das Positionieren zwischen diesen beiden Gruppen von 8-Byte-Daten wird unter Verwendung einer Recheneinheit durchgeführt, so daß die erwünschten 8-Byte-Daten von den beiden Gruppen der 8-Byte-Daten aufgenommen werden können. In dem Fall, in dem das Positionieren zwischen zwei Gruppen von Daten und das Aufnehmen von Daten unter Verwendung einer Recheneinheit durchgeführt wird, ist eine lange Verarbeitungszeit erforderlich. Zur Beseitigung dieses Nachteils wurden Datenverarbeitungssysteme angegeben, die eine Schaltung aufweisen, die nur zum Positionieren und Aufnehmen von Daten verwendet werden, sogenannte Datenumsetzer (US-PS 38 58 183, JP-OS 94 133/78). Bei dem ersteren Datenverarbeitungssystern werden Daten mit 8 Byte, die erwünschte Daten mit 4 Byte enthalten, von einem Speicher ausgelesen, wird ein Positionieren der
ausgelesenen 8-Byte-Daten mittels eines Datenumsetzers durchgeführt und werden dann die erwünschten Daten mit 4 Byte aufgenommen. In dem letzteren Datenverarbeitungssystem wird das Positionieren von Daten mit 16 Byte, die die erwünschten Daten mit bis zu 8 Byte enthalten, unter Verwendung eines Datenumsetzers durchgeführt und werden die erwünschten Daten mit bis zu 8 Byte pnfgenommea Wenn das Positionieren und Aufnehmen von wahlweisen Daten unter Verwendung eines Datenumsetzers in der erläuterten Weise i< > durchgeführt wird, kann die Befehlsvererbeitungszeit verkürzt werden.
Bei vielen Digitalrechnern, die jeweils einen . κ H^eschwindigkeits-Pufferspeicher enthakcs, ^peicV-t der Pufferspeicher darin zu einem Zeiten.-ϊτ Daten vorgegebener Länge, beispielsweise uet°~ '·-> 64 Byte. Wenn auszulesende Daten beiderse, . der Grenzstellung zwischen zwei Gruppe- · von 64-Byte-Daten angeordnet sind, muß das Ausic ~~ zweimal durchgeführt werden, selbst wenn der erwähnte Datenumsetzer verwendet wird. Das heißt 8 Byte mit einer Adresse, die kleiner als die Grenzstellung ist, und 8 Byte mit ';5ner Adresse, die größer als die Grenzstellung ist, werden jeweils ausgelesen. Dann muß das Positionieren zwischen den beiden Gruppen von 8-Byte-Daten unter Verwendung des Datenumsetzers durchgeführt werden, so daß die erwünschten 8-Byte-Daten von diesen beiden Gruppen von 8-Byte-Daten aufgenommen werden können.
Es ist Aufgabe der Erfindung, ein Datenverarbei- 3n tungssystem anzugeben, bei dem zu verarbeitende Daten, die beiderseits einer Grenze zwischen zwei Blöcken angeordnet sind, gleichzeitig aus einem Pufferspeicher, in dem verschiedene Daten in Blöcken gespeichert sind, ausgelesen werden können.
Die Lösung dieser Aufgabe gelingt gemäß dem kennzeichnenden Teil des Patentanspruchs 1. Dabei wird erfaßt ob von einem Pufferspeicher auszulesende Daten über zwei Blöcke verteilt sind oder nicht deren jeder als Einheit zum Speichern "on Daten in dem Pufferspeicher verwendet wird und von dem im folgenden angenommen ist daß er 64 Byte enthält wobei dann, wenn das Vorliegen einer Blocküberkreuzung erfaßt ist Adressen von zwei Blöcken, die einen Soll-Operanden enthalten, als Adressen in einer ersten und einer zweiten Bank erzeugt werden, die de11 Pufferspeicher bilden, wodurch der Soll-Operand zu einem Zeitpunkt von den benachbarten Blöcken ausgelesen wird. Gemäß der Erfindung wird, da die nächste Biockadresse in einerti Zyklus erzeugt werden kann, die Verzögerungszeii verkürzt im Vergleich zu den herkömmlichen Datenverarbeitungssystemen. Da weiter die Verarbeitung mi*. Bezug auf die Blocküberkreuzung als interner Betrieb der Speichereinrichtung durchgeführt werden kann, können die Scnniiisieiien zwischen einer Blocküberkreuzungs-Einheit und anderen Einheiten vereinfacht werden.
Die Erfindung gibt also ein Datenverarbeitungssystem an, bei dem erfaßt wird, ob von einem Pufferspeicher mit einem einzigen Zugriff auszulesende Daten sich über mehrere Blöcke erstrecken bzw. über mehrere Blöcke verteilt sind oder nicht die als Einheit zum Speichern von Daten in dem Pufferspeicher verwendet werden, wobei dann, wenn das Vorliegen von Blocküberkreuzungen erfaßt ist Adressen von Blöcken, die einen Soli-Operanden enthalten, als Adressen in Bänken erzeugt w irden, die den Pufferspeicher bilden, wodurch der Operand von benachbarten Blöcken mittels eines einzigen Auslesebetriebes ausgelesen wird.
Die Erfindung wird anhand der in der Zeichnung dargestellten Ausführungsbeispiele näher erläutert Es zeigt
F i g. 1 ein Blockschaltbild einer Schaltungsanordnung eines Ausführungsbetspiels eines Daienverarbeitungssystems gemäß der Erfindung,
Fig.2 ein Blockschaltbild von Einzelheiten der Ausrichtsteuerung gemäß F i g. 1 und zugeordneter Schaltungselemente,
Fig.3 ein Blockschaltbild von Einzelheiten der Adreßsteuerung gemäß F i g. 1,
F i g. 4,5 Darstellungen zur Erläuterung des Betriebes der Adreßänderungsschaltung gemäß F i g. 3,
F i g. 6 ein Blockschaltbild der Adreßänderungsschaltung gemäß F ig. 3,
F i g. 7,8 Darstellungen zur Erläuterung der Betriebsweise der BIocküberkreuzungs-Detektorschaltung gemäß F i g. 6,
Fig.9 ein Blockschaltbild der Schiebe-ifytezahl-Bestimmungsschaltung gemäß F i g. 2,
Fig. 10 eine Darstellung zur Erläuterung des Betriebes verschiedener Schaltungsteile bei dem Aasführungsbeispiel gemäß F i g. 1,
F i g. 11 ein Blockschaltbild der Operandensteuerung gemäß F i g. 1,
Fig. 12 ein Blockschaltbild der Abrufdatenlänge-Bestimmungsschaltung gemäß F i g. 2,
Fig. 13 ein Blockschaltbild der Maskenbild-Bestimmungsschaltung gemäß F i g. 2,
F i g. 14 eine Darstellung von Maskenbildern (Maskenverläufen), die durch den linken und den rechten Bildgenerator (Veriaufsgenerator) gemäß Fig. 13 erzeugt werden.
Das vorliegende Ausführungsbeispiel der Erfindung ist auf das Elektronikrechnersystem »Model! 370« der International Business Machines Corp. anwendbar wobei die Betriebsweise dieses Systems in der Veröf'^ntlichung »Principles of Operation of IBM System/370« näher erläutert ist. Daher erfolgt eine Erläuterung dieses Systems in der folgenden Beschreibung nicht mehr, es sei denn, daß dies unbedingt erforderlich ist Auch werden in der obigen Veröffentlichung verwendete Begriffe weitgehend verwendet, ohne daß mit Ausnahme besonderer Fälle eine ausdrückliche Erläuterung erfolgt
Gemäß F i g. 1 werden mehrere Befehle (Instruktionen) und mehrere Daten in einem Hauptspeicher 10 und einem Pufferspeicher 40 gespeichert Eine Befehlsein· heit 20 sendet eine logische Adresse mit 32 Bit zum Auslesen eines von dem Pufferspeicher 40 auszuführenden Befehls an eine Adreßsteuerung 30 über eine Leitung 2OA Abhängig von der logischer, Adresse sendet die Arireßsieuerupg 3G eine wrrkiicr.e oder cumc Adresse mit 32 Bit zu einer Leitung 30A, 3OB. wobei diese echte Adresse dann dem Pufferspeicher 40 zugeführt wird. Der : ufferspeicher 40 besteht aus einer ersten und ein^r zweiten Bank 42,44. Abhängig von den echten Adressen auf den Leitungen 3OA und 30S senden sowohl erste als auch zweite Bank 42,44 Speicherinformation mit jeweils einer Länge von 8 üytes zu Leitungen 42A bzw. 44A. Wenn der auszulesende Befehl in der ersten Bank 42 des Pufferspeichers 40 gespeichert ist führt ein Zyklusschieber SO mit 16-Byte-Länge keinen Schiebebetrieb durch, vielmehr wird der von der ersten Bank 42 ausgegebene Befehl der Befehlseinheit 20 über eine Leitung 5OA zugeführt. Wenn der
ausgelesene Befehl in der zweiten Bank 44 gespeichert ist, führt der Zyklusschieber 50 den Schiebebetrieb derart durch, daß der von der zweiten Bank 44 ausgegebene Befehl nach links um eine Menge verschoben wird, die 8 Bytes entspricht zum Senden des Befehls zur Befehlseinheit 20 über die Leitung 50Λ, Die Menge bzw, das Ausmaß der Verschiebung, die durch den Zyklusschieber 50 durchgeführt worden ist, um den Befehl auszulesen, wird von der Befehlseinheit 20 einer Ausrichtsteuerung 90 über eine Leitung 28/4 zugeführt Wie in Fig. 20 dargestellt, speichert die Ausrichtsteuerung 90 die Verschiebungsmenge in einem Schiebe-Bytezahl-Register 94 (SHB REG) und wird ein Signal, das einen entsprechenden Schiebebetrieb anweist, von einer Schiebesteuerschaltung 95 dem Zyklusschieber 50 über eine Leitung 90S zugeführt
Wenn ein vorgegebener Befehl nich. in dem Pufferspeicher 40 gespeichert ist wird der Befehl von dem Hauptspeicher 10 zu dem Pufferspeicher 40 über eine Leitung WA übertragen und wird dann in der gleichen Weise wie vorstehend erläutert verarbeite!. Alle Adressen für den Zugriff zum Hauptspeicher 10 werden über Ausgangsleitungen 30/4—30Cder Adreßsteuerschaltung 30 abgegeben, obwohl Adreßleitungen zum Hauptspeicher 10 zur vereinfachten Darstellung in F ι g. 1 nicht wiedergegeben sind.
Die Befehlseinheit 20 decodiert, ob der als nächstes durchzuführende Befahl ein Befehl zum Weglassen sowohl einer Ausit.eanforderung, als auch einer Einschreibanforderung zum Hauptspeicher 10 (im folgenden »Befehl SS«) ist oder nicht Beispielsweise liest ein Befehi. wie ein UND-Zeichen-Befehl. ein ODER-Zeichen-Befehl ein Exklusiv-ODER-Zeichen-Befehl oder ein Dezimalrechen-Befehl erste und zweite Daten von erster bzw. zweiter Adresse des Hauptspeichers 10 aus. führt einen vorgegebenen Betrieb durch und speichert dann die Ergebnisse des Betriebes in der ersten Adresse des Hauptspeichers 10. Weiter liest ein Obertragungs Zeichen-Befehl (MVC-Befehl) Daten aus einer ersten Adresse des Hauptspeichers 10 aus und speichert die Daten in einer zweiten Adresse des Hauptspeichers 10.
Wenn aus den Ergebnissen der Decodierung sichergestellt ist. daß der als nächstes durchzuführende Befehl ein Befehl SS ;st. wird eine logische Startadresse von auszulesenden Daten (im folgenden zweite logische Operandenadresse) und eine logische Startadresse von zu speichernden Daten (im folgenden erste logische Operandenadresse) durch die Befehlseinheit 20 auf der Grundlage von Adreßinformationen in dem Befehl bestimmt Weiter bes.immt die Befehlseinheit 20 eine Gesamtlänge LF dieser Daten aufgrund der Länge der in dem Befehi enthaltenen information. Jede dieser Adressen enthält 32 Bit, und die Gesamtlänge LF enthält & Bit Erste und zweite logische Operandenadresse und die Datenlänge LF werden in einem ersten und einem zweiten Operandenadreßregister 24 bzw. 26 (OAR) (Fig.2) bzw. einem Längen-Feldregister 22 (LFR) (Fig.2) gespeichert Im übrigen besitzt die Gesamtlänge LF der Daten einen Wert der um ein Byte kleiner ist als die Ist-Datenlänge, weshalb ein um ein Byte kleinerer Wert in dem LFR 22 gespeichert ist
Die erwähnte Startadresse von Daten zeigt entweder einen kleineren Wert (im folgenden linkeste Adresse) oder einen größeren Wert (im folgenden rechteste Adresse) derjenigen Adressen an beiden Enden der Daten auf, die zum Spezifizieren der Daten verwendet werden. Es hängt vom Befehi ab, welcher von den kleineren und den größeren Werten als Startadresse verwendet wird. Beispielsweise ist für einen Dezimalrechen-Befehl die Startadresse die rechteste Adresse und ist für andere Befehle 55 die Startadresse die linkeste "> Adresse.
Die zweite logische Operandenadresse wird zunächst von der Befehlseinheit 20 zur Adreßsteuerung 30 über die Leitung 20A zugeführt und die niedrigeren vier Bit von erster und zweiter logischer Operandenadresse, und die Gesamtlänge LF der Daten Würden von der Befehlseinheit 20 zur Ausrichtsteuerung 90 über Leitungen 24/4, 26/4 bzw. 22.4 zugeführt. Andererseits gibt die Befehlseinheit 20 einen Operationscode (OP-Code) in dem Befehl zu einem Steuerspeicher 80 über eine Leitung 2OB ab. Der Steuerspeicher 80 liest aufeinanderfolgend Mikrobefehle in einer Mikrobefehlssequenz aus, die durch den OP-Code spezifiziert ist zur Steuerung der Durchführung des Befehls. Wenn der Steuerspeicher 80 einen Mikrobefehl ausliest wird der Mikrobefehl in einem Steuerregister 800 (CR) (F i g. 2) gespeichert der in dem Steuerspeicher 80 vorgesehen ist jeder Mikrobefehl weist ein Folgeadreßfeld 802 zum Spezifizieren eines als nächstes auszulesenden Befehls, ein Steuerfeld 804 zum Anzeigen der zur Durchführung des Befehls notwendigen Steuerinformation und ein Ausrichtfcid 806 mit vier Bit zum Steuern der Lage und des Aufnehmens der ausgelesenen Daten auf. Die Ausrichtsteu - rung 90 empfängt die Steuerinformation in dem Ausrichtfeld 806 über eine Leitung 80/4 und führt Steuersignale zu der Adreßsteuerung 30, dem Zyklusschieber 50 und der Operandensteuerung 60 über Leitungen 9OA 90ßbzw. 90C
Wie in Fi g. 2 dargestellt wird üie Steuerinformation in dem Ausrichtfeld 806 mittels eines Decodierers 98 in der Ausrichtsteuerung 90 decodiert zur Beurteilung, ob die in dem Operandenadreßregister 24 und 26 (OAR) gespeicherten Operandenadressen die linkeste Adresse oder die rechteste Adresse sind. Da es schon abhängig von der Art der Befehle bestimmt ist ob die Operandenadresse, die in den OAR 24 und 26 gespeichert ist die linkeste Adresse ist oder nicht kann die obige Beurteilung gebildet werden, wenn die Inhalte des Ausrichtfeldes 806 zuvor in Obereinstimmung mit der Art des Befehls erreicht worden sind. Beispielsweise gibt in dem Fall, in dem in den OAR 24 und 25 gespeicherten Adressen die rechteste Adresse, wie in Dezimalrechen-Befehlen zeigen, der Decodierer 98 eine »1« ab, wobei in anderen als den obigen Fällen der Decodierer 68 »0« abgibt Das Ausgangssignal des
so Decodierers 98 wird in einem Ausrichtrichtungsregr ".er 99 (ALDR) gespeichert Das Ausgangssignal des ALDR 99 wird der Adressensteuerung 30 über die Leitung 9OA zugeführt (F ig. 1).
Ein ausführlicher Schaltungsaufbau deF Adreßsteuerung 30 ist in F i g. 3 wiedergegeben. Die zweite logische Operandenadresse mit 32 Bit wird von der Befehlseinheit 20 einer Adreßumsetzerschaltung mit bekannter Schaltungsanordnung über die Leitung 20A zugeführt zur Umsetzung in eine entsprechende zweite echte Operandenadresse mit 32 Bit Die Bit 0—25 der zweiten echten Operandenadresse sind in Fig.4 dargestellt d. h, eine Blockadresse ist den Bitstellungen 0—25 jedes QuellenadreBregisters 34 und 36 (SAR) über eine Leitung 32/4 zugeführt Andererseits werden die Bit 26—28 der zweiten logischen Operandenadresse einer Adreßänderungsschaltung 38 über die Leitung 20/4 zugeführt Die Bit 26—28 der Adresse zeigen eine Adresse einer Gruppe von 8 Byte an, die in einem Block
von 24 Byte en Jten ist, wie in Fig.4 dargestellt Abhängig von dem Signal auf der Leitung 9OA, die durch die Ausrichtsteuerung 93 abgegeben ist, und das Signal auf der Leitung 2OA, die durch die Befehlseinheit 20 -abgegeben ist, gibt die Adreßänderungsschaltung 38 binäre Daten mit drei Bit auf Leitungen 38A und 3SB ab, abhängig ve?, der Beziehung, die in F i g. 5 dargestellt ist
Ein ausführlicher Schaltungsaufbau der Adreßänderungsschaltung 38 ist in Fig.6 dargestellt Gemäß Fig.6 werden die Bit 0—25 der zweiten logischen ιό Operandenadresse einer ±64-Bit-Schaltung 381 über die ! eitung 2OA zugeführt, wobei eine Ziffer »1« hinzuaddiert oder wegsubtrahiert wird von der zweiten logischen Operandenadresse in deren 25. Bitstellung, abhängig davon, ob die Ausgangsleitung 9OA des A LOR 99 auf dem Pegel »0« oder dem Pegel »1« gehalten ist. Das Ergebnis des obigen Betriebes wird in einem Folgeblockadreßregister 382 (NBAR, Adreßregister für nächste Blockadresse) gespeichert. Das heißt wenn die zweite logische Operandenadresse auf der Leiturg 2OA die rechteste Adresse anzeigt wird die logische Adresse um 64 Byte verringert, und wenn die logische Adresse die linkeste Adresse anzeigt wird die logische Adresse um 64 Byte erhöht Daher wird eine logische Adresse eines erforderlichen benachbarten Blocks erhalten. Eine ±8-Schaltung 338 fügt eine Ziffer »1« h nzu oder subtrahiert eine Ziffer »1« von Bit 26—28 der zweiten logischen Operandenadresse auf der Leitung 2OA in der Bitstellupg 28 dieser Adresse, abhängig davon, ob die Ausgangsieitung 9OA des ALDR 99 auf dem Pegel »0« oder dem Pegel »1« gehalten ist Ein Ausgangssignal auf einer Ausgangsleitung 383A der ±8-Schaltung 383 und die Bit 26—28 der zweiten logischen Operandenadresse auf der Leitung 2OA werden Wählgliedern 384 und 383 (SEL) zugeführt Da die Wählglieder 384 und 385 einen Wählbetrieb in Übereinstimmung mit der Beziehung gemäß Fig.5 durchführen, wird eine neuerliche Erläuterung dieses Wählbetriebes nicht gegeben. Daher spezifiziert ein Ausgangssigna] auf einer Ausgangsleitung 83/4 des Wählglieds 384 eine Adresse in der ersten Bank 42 des Pufferspeichers 40 und spezifiziert ein Ausgangssignal auf einer Ausgangsleitung 38B des Wählgliedes 385 eine Adresse in der zweiten Bank 44.
Eine Blocküberkreuzungs-Detektorschaltung 386 beurteilt ob ein Soll-Operand sich über zwei Blöcke mit jeweils 64 Bytes erstreckt oder nicht auf der Grundlage der Bit 26—31 der zweiten logischen Operandenadresse, die von der Befehlseinheit 20 zugeführt wird, einer Abruf-Datenlänge auf einer Leitung 91/4 und dem Ausgangssignal des ALDR 99 auf der Leitung 9OA. Die in Fig.7 dargestellte Beziehung wird zur obigen Beurteilung verwendet Insbesondere ist wenn die Kombinationen gemäß Fig.7 realisiert werden, der Soll-Operand über zwei Blöcke gestreut oder verteilt und wird eine Leitung 386A auf dem Pegel »1« gehalten. Daher wird ein Flipflop 387 gesetzt wird eine Ausgangsieitung 38E des Flipflops 387 auf den Pegel »1« gebracht und wird der Eingang der Adreß-Umsetzerschaltung 32 umgeschaltet von der Leitung 2OA zu einer Ausgangsleitung 38Fvon NBAR 382. Zu diesem Zeitpunkt wurde schon die logische Adresse des nächsten Blocks oder Folgeblocks auf der Leitung 38F bestimmt Folglich tritt die echte Adresse des Folgeblocks an der Ausgangsieitung 32A der Adreß-Umsetzerschaltung 32 auf. Weiter ist in dem FaIL in dem die Leitung 386A auf dem Pegel »1« gehalten ist eine Ausgangsleitung 3865 oder 386C der Blocküberkreuzungs-Detektorschaltung 386 auf den Pegel »1« gebracht, abhängig davon, ob das Signal auf der Leitung 9QA den Pegel »0« oder den Pegel »1« einnimmt Folglich ist entweder ein Flipflop 388 oder ein Flipflop 389 gesetzt Wenn das Flip-Flop 388 gesetzt ist, ist die Ausgangsleitung 38C auf den Pegel »1« gebracht und .werden daher alle Bit von SAR 36, so wie sie sind, aufrechterhalten. Zu diesen. Zeitpunkt wird die .Ausgangsleitung 38D des Füpflops 389 auf dem Pegel ,»0a<< gehalten. Daher werden die Inhalte von SAR 34 nicht aufrechterhalten und wird vielmehr die echte Adresse des Folgeblocks auf der Leitung 32A in das SAR 34 gesetzt Zu diesem Zeitpunkt halten oder speichern jedoch die Bit 26-28 des SAR 34 einen vorhergehenden Wert Durch den obigen Betrieb wird eine echte Adresse eines Blocks, der einen Soll-Operanden enthält im SAR 3Γ gesetzt und wird eine echte Adresse des anderen Blocks, dor den Operanden enthält in dem SAR 34 gesetzt Wenn andererseits das Flipflop 389 gesetzt wird, wird die Ausgangsleitung 38D auf den Pegel »1« gebracht unrf werden alle Bit von SAR 34 aufrechterhalten, so wie sie sind. Zu diesem Zeitpunkt wird die Ausgangsleitung 38Cdes Flipflops 388 auf dem Pegel »0« gehalten. Folglich werden die Inhalte des SAR 36 nicht aufrechterhalten, vielmehr wird d;e echte Adresse des Folgeblocks auf der Leitung 32,λ in das SAR 26 gesetzt Zu diesem Zeitpunkt halten bzw. speichern jedoch die Bit 26-28 des SAR 36 einen vorhergehenden Wert Daher wird eine echte Adresse eines Blocks, der einen Soll-Operanden enthält in dem SAR 34 gesetzt und wird eine echte Adresse des anderen Blocks, der den Operanden enthält, in dem SAR 36 gesetzt
Die Betriebsweise der Adreßänderungsschaltung 38 hat folgende Bedeutung.
Erste und zweite Bank 42 und 44 des Pufferspeichers 40 werden abwechselnd adressiert in Einheiten von 8 Bytes. Insbesondere werden, wie in Fig.8 dargestellt, wenn die Adressen Werte in Dezimalbezeichnung wie 0—7, 16—23 und 32—39 besitzen, diesen Adressen entsprechende Daten in der ersten Bank 42 gespeichert und werden, wenn die Adressen in Dezimalbezeichnung Werte wie 8—15, 24—31 und 40—47 besitzen, diesen Adressen entsprechende Daten in der zweiten Bank 44 gespeichert Beispielsweise wird, wenn die das linke Ende der Daten anzeigende Adresse 4 beträgt und die Operandenlänge 7 beträgt eine Adresse, die die erste Bank 42, den ersten Block und die nullte Spalte bezeichnet in dem SAR 34 gespeichert und wird simultan eine Adresse, die die zweite Bank 44, den ersten Block und die nullte Spalte bezeichnet in dem SAR 36 gespeichert Folglich werden Daten mit den Adressen 0—7 und 8—15 aus dem Pufferspeicher 40 ausgelesen. Dann werden Daten mit Adressen 4—11 von dem Zyklusschieber 50 aufgenommen. Weiter wird in dem Fall, in dem die Adresse, die das linke Ende der Daten bezeichnet 12 beträgt und die Operandenlänge 7 beträgt eine Adresse, die die erste Bank 42, den ersten Block und die erste Spalte bezeichnet in dem SAR 34 gespeichert, und wird simultan eine Adresse, die die zweite Bank 44, den ersten Block und die nullte Spalte bezeichnet in dem SAR 36 gespeichert Folglich werden Daten mit Adressen 8-15 und 16—23 aus dem Pufferspeicher 40 ausgelesen und werden Daten mit Adressen 12—19 von dem Zyklusschieber50 aufgenommen. Weiter wird in dem FaIL in dem die Adresse, die das linke Ende der Daten bezeichnet 60 beträgt und die Operandenlänge 7 beträgt die Blocküberkreuzung erfaßt und wird eine Adresse, die die zweite Bank 44,
den ersten Block und die dritte Spalte bezeichnet in dem SAR 36 gespeichert. In dem nächsten Zyklus wird eine Adresse, die die erste Bank 42, den zweiten Block und die vierte Spalte bezeichnet, in dem SAR 34 gespeichert Folglich werden Daten mit Adressen 56—63 in dem ersten Block und Daten mit Adressen 0—5 im zweiten Block aus dem Pufferspeicher 40 ausgelesen und werden Daten mit Adrpssen 60—63 in dem ersten Block und Adressen 0—3 in dem zweiten Block von dem Zyklusschieber 50 aufgenommen,
Das Setzen von Adressen in den SAR 34 und 36, das Auslesen der Daten von dem Pufferspeicher 40 und der Schiebebetrieb durch den Zyklusschieber 50 für den Fall, in dem die Adresse das rechte Ende der Daten anzeigt, ergibt sich ohne weiteres aus der vorstehenden Erläuterung, weshalb eine nähere neuerliche Beschreibung nicht erfolgt.
Wie erläutert, sind in den SAR 34 und 36 Adressen gespeichert zum Auslesen von zwei 8-Byte-Daten, die kontinuierliche Daten von 16 Bytes bilden, aus der ersten und der zweiten Bank 42,44 des Pufferspeichers 40. Wenn die Daten in einem Block enthalten sind, werden die Daten durch einen einzigen Auslesebetrieb ausgelesen. Selbst wenn die Daten sich über zwei Blöcke erstrecken, können die Daten durch einen einzigen Auslesebetrieb ausgelesen werden, obwohl das Auslesen der Daten um einen Zyklus aufgrund der Erfassung der Blocküberkreuzung verzögert ist. Jedoch kann in dem Fall, in dem die nächste Blockadresse während einer Zeit gebildet werden kann, die zum Unterwerfen der von der Befehlseinheit 20 ausgegebenen logischen Adresse einer Adreß-Umsetzung und zum Speichern der umgesetzten Adressen in den SAR 34 und 36 erforderlich ist, die erwähnte Verzögerung verhindert werden.
Wenn die Soll-Daten nicht in deir Pufferspeicher 40 gespeichert sind, werden die Daten von dem Hauptspeicher 10 zu dem Pufferspeicher 40 übertragen und wird dann der erwähnte Ausiesebetrieb durchgeführt. Die ausgelesenen Da'.en mit 16 Bytes werden dem Zyklusschieber 50 über die Leitungen 42/4 und 44/4 zugeführt Der Zyklusschieber 40 verschieb im Zyklus die Eingangsdaten nach links um eine Bytezahl, die durch ein Schisbesteuersignal bestimmt ist, daß über eine Leitung 90S von der Ausrichtsteuerung 90 zugeführt ist Das Schiebesteuersigna] wird durch eine Schiebesteuerschaltung 95 gemäß Fig.2 abgegeben. Die Schaltung 95 empfängt das Ausgangssignal einer Schiebe-Bytezahl-Bestimmungsschaltung 93 über ein Schiebe-Bytezahl-Register 94 (SHB REG) und gibt ein entsprechendes Schiebesteuersignal ab. Die Schiebe-Bytezahl-Bestimmungsschaliung 93 empfängt die niedrigen vier Bit von der ersten und der zweiten Operandenadresse, die in den OAR 24 und 26 gespeichert sind, die in der Befehlseinheit 20 vorgesehen sind, über die Leitungen 24/4 bzw. 26/4 und empfängt auch Daten in einem Arbeitsregister 72 (WR) (Fig.2), das in einer Recheneinheit 70 (ALU) (Fig. 1) enthalten ist Aufgrund dieser Daten bestimmt die Schaltung 93 die Schiebe-Bytezahl unter Steuerung durch die Inhalte des Ausrichtfeldes 806, die über die Leitung 80/4 zugeführt werden. Die so bestimmte Schiebe-Bytezahl wird in dem SH3 REG 94 gespeichert
Ein ausführlicher Schaltungsaufbau der Schiebe-Bytezahl-Bestimmungsschaltung93 ist in Fig. 9 wiedergegeben. Gemäß Fig.9 enthält die Schaltung 93 Wählglieder 932, 936 und 930, eine Komplementschaltung 933. Register 334 und 935 und einen Addierer 937. Die Komplementscha^ung 933 gibt ein Zweier-Komplement von Daten »X« ab, die durch die niedrigen vier Bit von dem OAR 24 gebildet sind, d.h. Daten »-X« bei Betrachtung unter mathematischem Gesichtspunkt Die Register 934 und 935 speichern darin binäre Daten, die den Konstanten »9« bzw. »13« entsprechen. Das Wählglied 932 wählt die Daten »X« der niedrigen vier Bit von dem OAR 24 oder Daten »V« der niedrigen vier Bit von dem OAR 26. Das Wählglied 936 wählt eines der Ausgangssignale von der Komplementschaltung 933 und den Registern 934 und 935. Der Addierer 937 bildet die Summe der Ausgangssignale der Wählglieder 932 und 936. Das Wählglied 930 wählt eines von dem Ausgangssignale »Z« von dem WR 72, den Daten » Y'« auf einer Leitung 938/4. die durch Machen aller niedrigen drei Bit der Daten » auf der Leitung 26/4 zu »0« erhalten werden, dem Ausgangssignal des Wählgliedes 932 und dem Ausgangssignal des Addierers 937. Die Betriebsweise dieser Wählglieder 932,936 und 930 wird durch Daten in dem Ausrichtfeid 806 gesteuert, die von dem CR 800 über die Leitung 80/4 zugeführt werden. Die Beziehung der Wählbetriebe dieser Wählglieder zu den Daten in dem Ausrichtfeld 806 ist in Fig. 10 dargestellt Jm übrigen sind auch Beispiele von Befehlen, die den Daten in dem Ausrichtfeld 806 entsprechen, ebenfalls in Fig. 10 dargestellt Gemäß Fig. 10 entsprechen, wenn das Ausgangssignal des Decodierers 98 (Fig.2) auf »0« ist, die von dem Wählglied 930 ausgegebenen Daten einem von »X«, » V«, »Υ"«, »2Γ«, »Y-X« und »y+13«, und entsprechen, wenn das Ausgangssignal des Decodierers 98 auf »1« ist, die von dem Wählglied 930 ausgegebenen Daten »Y+9« oder »X+9«. Folglich können beim Verarbeiten eines bestimmten Befehls die Daten des Ausrichtfeldes in der Mikrobefehlssequenz zum Steuern der Durchführung des Befehles gemäß F i g. 10 so spezifiziert werden, daß die Anzahl der Bytes, die zum Verschieben erwünscht ist, von dem Wählglied 930 ausgegeben werden kann. Die Ausrichtdaten sollten jedoch bestimmt werden, nachdem der Wählbetrieb eines Wählgliedes 960, der weiter unten erläutert wird, spezifiziert worden ist Gemäß F i g. 9 kann, wenn die Daten »2Γ« von dem WR 72 gewählt sind, das Schieben einer gegebenen Anzahl von Bytes durchgeführt werden durch Bestimmen des Wertes der Daten »Z« gemäß dem Bedarf.
Gemäß Fig. 1 verschiebt der Zyklusschieber 50 im Zyklus die Eingangsdaten nach links um eine Bytezahl unter Steuerung durch die Ausrichtsteuerung 90, nimmt die höheren 8 Bytes der verschobenen Daten auf und
führt die aufgenommenen Daten der Operandensteuerung 60 über die Leitung 50/4 zu. Wie in Fig. 11 dargestellt, trennt die Operandensteuerung 60 Daten ab, die bestimmte Bytestellungen besitzen, von den über die Leitung 5OA eingegebenen Daten mittels Verknüp-
fungsgliedem 62 (GT), abhängig von Abruf-Maskendaten mit 8 Bit, die von der Ausrichtsteuerung 90 über die Leitung 90Czugeführt sind. Die so verarbeiteten Daten werden in einem Operandenpufferregister 600 (OBR) gespeichert und dann der ALU 70 über die Leitung 60A zugeführt Die Abruf-Maskendaten, wie gemäß Fig.2, werden von einer Maskenbild-Bestimmungsschaltung
96 über eine Leitung 96/4 und ein Abrufmaskenregister
97 (FMASK REG) zugeführt Die Schaltung 96 gibt abhängig von dem Ausgangssignal der Abruf-Datenlängen-Bestimmungsschaltung 91 zum Bestimmen der Länge von auszulesenden Daten und dem Ausgangssignal der niedrigen vier Bit in dem OAR 24 ein Abruf-Maskenbild unter Steuerung der Daten in dem
11 12
Ausrichtfeld 306 ab, die von dem CR 800 über die Ausgangsdaten mit 8 Bit mit vorgegebener Anzahl von Leitung 80A ^geführt sind. Die Abruf-Datenlänge-Be- »l«en auf rechter bzw. linker Seite ab, wobei die stHmungsschaltung 91 bestimmt abhängig von dsm vorgegebene Anzahl durch Addieren von »1« zu der Aüsgangssignal des LFR 22 in der Befehlseinheit 20 und Abruf-Datenlänge erhalten wird, die von der Abruf-Dadem Ausgangssignal des WR 72 in dem ALU 70 die 5 tenlänge-Bestimmungsschaltung 91 abgegeben wird.
Abruf-Datenlänge unter Steuerung durch die Daten des Das Ausgangssignal des Wählglieds 960 wird durch
Ausrichtfeldes 806. . die Leitung 96Λ zum FMASK REG 97 (F i g. 2) geführt
Ein ausführlicher Schaltungsaufbau der Abruf-Daten- und dort gespeichert. Das Ausgangssignal des FMASK länge-Bestiinmungsschaltung 91 ist in Fig. 12 darge- REG 97 wird über die Leitung 90Czu 8 Verknüpfungsstellt. Gemäß Fig. 12 enthält die Schaltung 91 io gliedern 62 in der Operandensteuerung 60 gemäß Minimumwert-Detektorschaltungen 911, 913, 915 und Fig. i 1 geführt Verknüpfungsglieder, die Bit mit »0« in 917 (MIN DET), ein Konstantenregister 919 und ein dem Ausgangssignal des Wählglieds 960 entsprechen. Wählglied 910 zum Wählen eines der Ausgangssignale werden in den Ausschaltzustand (Sperrzustand) gedieser Schaltungselemente 911, 913, 915, 917 und 919 bracht, und alle Bit eines jedem dieser Verknüpfungsund des Ausgangssignals von der Leitung 7Z4 von dem ts .glieder 62 zugeführten Byte werden gleich »0« gemacht. WR 72. Das Wählglied 910 wird durch die Daten von Währenddessen nehmen Verknüpfungsglieder 62. die dem Ausrichtfeld 806 gesteuert, die von dem CR 800 Bit mit »1« in dem Ausgangssignal des Wählglieds 96 über die Leitung HOA zugeführt werden. Die Beziehung entsprechen, den Einschaltzustand (Durchlaßzustand) der Daten des Ausrichtfeldes 806 zu dem Ausgangssi- ein, weshalb ein jedem dieser Verknüpfungsglieder 62 gnaldes Wählgliedes 910 ist in Fig. iO dargestellt. Die 20 zugeführtes Byte hindurchtreten kann. Daher sind in Detektorschaltuhgen 911,913,915 und 917 sind mit dem dem OBR 6OC die Daten von Soll-Bytestellungen LFR 22 in der Befehlseinheit 20 verbunden. Die bedeutend und werden die restlichen Daten zu »0«. Die Detektorschaltungen 911 und 913 vergleichen die so in dem OBR 600 gespeicherten Daten werden zur Gesamtlänge (der Daten) LF, die in dem LFR ALU 70 über die Leitung 60/4 geführt
gespeichert ist, mit »7« bzw. »3« und geben einen üs Wenn 6'e Gesamtlänge LF von auszulesenden Daten kleineren Wert ab. Die Schaltung 915 vergleicht Daten gleich oder weniger als 7 Byte ist, können die Daten, die LF i, die durch die höheren vier Bit der Datenlänge LF durch die erste echte Operandenadresse bezeichnet wiedergegeben sind, mit »7« und gibt einen kleineren sind, durch einen Auslesebetrieb in der erläuterten Wert ab. Die Schaltung 917 vergleicht Daten LFl, die Weise ausgelesen werden. Wenn jedoch die Gesamtländurcr. die niedrigeren vier Bit der Datenlänge LF 30 ge LF 7 Byte überschreitet, wird der obige Betrieb gebildet sind, mit »7« und gibt einen kleineren Wert ab. wiederholt, bis die Daten mit einer Gesamtlänge LF Die Schaltung 911 wird von dem Wahlglied 910 gewählt, vollständig ausgelesen sind. Das heißt, die Befehlseinheit wenn die Länge der aus dem Pufferspeicher 40 20 subtrahiert die Länge der ausgelesenen Daten von ausgelesenen Daten auf 8 Byte oder weniger beschränkt dem Wert in dem LFR 22 Wenn die verbleibenden ist, beispielsweise, wenn ein MVC-Befehl durchgeführt 35 Inhalte des LFR 22 nicht negativ sind, wird das Auslesen wird. Die Schaltung 913 wird gewählt, wenn die Länge von Dater, von neuem durchgeführt unter Verwendung der von dem Pufferspeicher 40 ausgelesenen Daten vier der Inhalte des LFR 22 und der Inhalte des OAR 26 und Bytes oder weniger sein sollte. Bei dem vorliegenden wird wiederholt, bis die Inf. alte des LFR 22 negativ Ausführungsbeispiel wird die Schaltung 913 gewählt, werden.
wenn ein Btf?y, der eine Überlappungsverarbeitung 40 In einer Periode, in der die obigen Daten von dem erfordert, durchgeführt wird. Die Schaltungen 915 und Pufferspeicher 40 ausgelesen werden, gibt die Befehls-917 werden gewählt, wenn ein Dezimalrechen-Befehl einheit 20 die erste logische Operandenadresse ab, die in durchgeführt wird, und werden verwendet zum dem OAR 24 (F i g. 2) gespeichert ist, zur Adreßsti ie-Auslesen des ersten bzw. des zweiten Operanden. Das rung 30. Die Adreßsteuerung 30 erzeugt eine echte Konstantenregister 919 wird gewählt beispielsweise, 4^ Adresse des ersten Operanden in der gleichen Weise, wenn die Unterbrechungsverarbeitung durchgeführt wie das vorstehend erläutert worden ist Für den Fall, wird, und wird zum Auslesen von Daten mit 8 Bytes bei. ;m der durchzuführende Befehl erfordert, daß die verwendet, unabhängig von den Inhalten des LFR 22. der ersten echten Operandenadresse entsprechenden Die Leitung 72A wird gewählt wenn die Länge der Daten von dem Pufferspeicher 40 auszulesen sind, wird ausgelesenen Daten durch einen gegebenen Wert in so der Auslesebetrieb abhängig von der gleichen Prozedur dem WR 72 bestimmt ist durchgeführt, wie das bisher erläutert worden ist In der
Eine ausführliche Schaltungsanordnung der Masken- Adreßsteuerung 30 gemäß F i g. 3 wird die erste echte bild-Bestimmungsschaltung 96 ist in F i g. 13 wiederge- Operandenadresse in einem Bestimmungsadreßregister geben. Gemäß Fig. 13 enthält die Bestimmungsschal- 39 (DAR) gespeichert Dann wird der Soll-Betrieb tung 96 einen linken und einen rechten Bildgenerator bezüglich dieser zwei Daten in der ALU 70 durchge-962 und 964 (Muster- oder Verlaufsgenerator), die über führt und wird das Ergebnis des Betriebes in dem die Leitung 91Λ mit dem Ausgangssignal der Abruf-Da- Hauptspeicher 10 und dem Pufferspeicher 40 in den tenlänge-Bestimmungsschaltung 91 versorgt sind, einen ersten echten Operandenadreß-Stellungen gespeichert Rechtsverschieber 966 zum Verschieben des Ausgangs- Wenn der gerade durchgeführte Befehl nicht das
signals des linken Bildgenerators 962 nach rechts um 60 Auslesen von Daten erfordert, die der ersten Operaneinen Wert, der durch Daten der niedrigeren vier Bit in denadresse entsprechen, wie bei einem MVC-Befehl, dem OAR 24 wiedergegeben ist und über die Leitung können Daten, die unter Verwendung der zweiten 24A zugeführt ist, und ein Wählglied 960 zum Wählen echten Operandenadresse ausgelesen werden, durch die eines der Ausgangssignale der Bildgeneratoren 962 und ALU 70 hindurchtreten und werden dem Hauptspeicher 964 und des Rechtsverschiebers 966. Das Wählglied 960 es f 0 und dem Pufferspeicher 40 über die Leitung 7OA zum wird durch die Inhalte des Ausrichtfeldes 806, die von Speichern in den Speichern 10 und 40 in den ersten dem CR 800 zugeführt werden, gesteuert Die echten Operandenadressen-Stellungen gespeichert
Bildgeneratoren 962 und 964 gegen wie gemäß Fig. 14 Auf jeden Fall werden die gespeicherten Adressen
von dem DAR 39 in der Adreßsteuerung 30 einem der ersten und zweiten Bänke 42 und 44 über die Leitung 3OC zugeführt. Insbesondere wird die gespeicherte Adresse selektiv zur ersten oder der zweiten Bank 42,44 abhängig davon gtfEhrt. ob das vierte Bit (von dem niedrigstwertigen Bit aus) der gespeicherten Adresse »0« oder »!« ist Eine Verknüpfungsschaltung ζικπ Steuern des obigen Wählbetriebes ist aus Vereinfachungsgründen in der Zeichnung nicht dargestellt
Zum leichteren Verständnis des erläuterten Ausführungsbeispiels wird ein besonderes Beispiel näher erläutert
In dem Beispiel werde ein MVC-Befehl verarbeitet Daten »X« und »Y«, die durch die niedrigeren vier Bit der ersten und der zweiten Operandenadressen wiedergegeben sind, sind »2« bzw. »6«, in Dezimaldarstellung, und die Gesamtlänge LF der Daten ist »8«, in Dezimalsteüung. Da die Gesamtlänge LF durch einen numerischen oder Zahlenwert wiedergegeben ist der um ein Byte kleiner als eine Ist-Datenlänge ist beträgt die tatsächlich; Länge der auszulesenden Daten 9 Byte. Der OP-Code für den MVC-Befehl wird von der Befehlseinheit 20 zum Steuerspeicher 80 abgegeben, der Anfangs-Mikrobefehl in der Mikrobefehl-Sequenz zum Durchführen des Befehls wird aus dem CR 800 ausgelesen, und dann werden Mikrobefehle in Sequenz hintereinander in vorgegebener Folge zum Durchführei. des Befehls ausgelesen. Die Befehlseinheit 20 beurteilt ob die Wortüberlappungsverarbeitung für die Durchführung des Befehls notwendig ist oder nicht wobei das Beurteilungsergebnis zum Steuerspeicher 80 übertragen wird. Der Steuerspeicher 80 richtet die Mikrobefehle zu verschiedenen Zweigen, abhängig von dem obigen Ergebnis.
In dem FaIL in dem beurteilt worden ist daß der MVC-Befehl keine Oberlappungsverarbeitung erfordert werden Daten »0101« in dem Ausrichtfeld 806 des folgenden Mikrobefehls-Zweiges gespeichert Die Daten in dem Ausrichtfeld 806 werden durch den Decodierer 98 decodiert wenn Soll-Daten aus dem Speicher 10 ausgelesen werden. Das Decodierergebnis. das wie gemäß F i g. 10 »0« ist wird der Adreßsteuerung 30 über die Leitung 9OA zugeführt Die AdreBsteuerung 30 erzeugt είπε zweite echie Operandenadresse auf der Grundlage des obigen Ergebnisses und einer zweiten logischen Operandenadresse von dem OAR 26. Daher werden Daten von 16 Bytes einschließlich Daten von 8 Bytes, deren Iinkeste Adresse durch die zweite echte Operandenadresse gegeben ist von dem Pufferspeicher 40 ausgelesen.
In der Schiebe-Bytezahl-Bestimmungsschaltung 93 in der Ausrichtsteuerung 90 gibt das Wählglied 930 Daten » Y-X« ab. d. h, die Differenz zwischen der ersten und der zweiten logischen Adresse, abhängig von den
Zyklusschieber 50 ausgegebenen Daten sind Daten, die zum Durchführen des vorliegenden Befehls unnötig sind.
In der Abrof-Datenlängen-Bestimmungsschaltung 91 in der Ausrichtsteuerung 90 wählt das Wählglied 910 die Ausgangsleitungen 9ItA des MIN DET 911, abhängig von den Asjsriehtdaten »ΟίΟί« wie gemäS Fig. 10. Da die Schaltung 911 mit »8« von dem LFR "Ϊ2 versorgt ist, wird das Ausgangssignal des MIN DET 911 zu »7«.
ίο Dieses Ausgangssignal wird den Bildgeneratoren 962 und 964 in der Maskenbildbestimmungsschaltimg 95 zugeführt Das Wähigßed 960 in der Schaltung 96 wählt
die Ausgangsleitung 966Λ des Rechtsverschiebers 966, abhängig von den Ausrichtdaten »0101« wie gemäß
Fig. 10. Der Unke Bildgenerator 962 gibt einen Signalverlauf bzw. ein Bud »11111111« abhängig von
den Eingangsdaten »7« (d. h. »111« bei Dezimalstellung)
ab, wie gemäß Fig. 14. Der Rechtsverschieber 956 verschiebt das Bild nach rechts um einen numerischen oder Dezimalwert (beim vorliegenden Beispiel »2«) der Daten, die durch die niedrigeren vier Bit der ersten logischen Operandenadresse wiedergegeben sind, die vondemOAR24zugeführ st
Die Operandensteuerung 60 schneidet das erste und das zweite Byte des 8- Byte-Ausgangssignals von dem Zyklusschieber 50, abhängig von dem erwähnten 8-Bit-Büd von der Ausrichtsteuenmg 90 ab und speichert Daten de« verbleibenden 6 Byte in dem OBR 600. Daher werden Daten von 8 Byte, die Daten von 6 Byte enthalten, beginnend von der zweiten Operandenadresse, und andere Daten mit »0« in dem OBR 600 gespeichert Dann verringert die Befehlseinheit 20 den LF-Wert in dem LFR 22 von »8« auf »2«, was durch Subtrahieren der Bytezahl »6« der vorstehend erwähnten 6-Byte-Daten von »8« erhalten wird, und erhöht den Wert in jedem der OaR 24 und 26 um »6«. Das Auslesen von Daten wird in der gleichen Weise, wie vorstehend erläutert durchgeführt unter Verwendung der erneuerten Inhalte von LFR und den OAR. Wenn die LF-Werte in dem LFR 22 negativ werden, endet der MVC-BefehL MVC-Befehle, die keine Überlappungsverarbeitung erfordern, werden gemäß den vorstehend erläuterten Prozeduren verarbeitet
Cf CAi ντίιη siar Coil Katra<«ktat t-uai *4orri ein
MVC-Befehl die Überlappungsverarbeitung erfordert In diesem Fall werden Daten »0001« in dem Ausrichtfeld 806 in dem folgenden Mikrobefehls-Zweig gespeichert Das Wählglied 910 (Fig. 12) wählt das Ausgangssignal der Schaltung 913 und gibt das Ausgangssignal als Länge der ausgelesenen Daten ab. Das Wählglied 930 (F i g. 9) in der Schiebe-Bytezahl-Bestimmungsschaltung 93 gibt Daten »V« ab. Die Schiebesteuerschaltung 95 steuert den Zyklusschieber 50 so. daß das Ausgangssignal von dem Pufferspeicher
^ en „u„„ \J„-„„u:*>u..„„
beträgt die Differenz »4«. Das Ausgangssignal »4« wird in dem SHB REG 94 gespeichert und wird dann der Schiebesteuerschaltung 95 zugeführt Die Daten mit 16 Byte, die von dem Pufferspeicher 40-ausgeIesen werden, werden ra Zyklus durch den Zykfiwschjeber 50 nach !inks um ein Ausmaß verschoben, das vier Byte entspricht, unter Steuerung durch die Schiebesteuerschaltung 95. Folglich ist ein Teil der Daten, die durch die zweite Operandenadresse bezeichnet sind, in den Daten enthalten, die von dem Zyklusschieber 50 in einem Bereich von dem dritten Byte von links zum achten Byte von links ausgegeben werden, d. h. in einem 6-Byte-Bereich. Die linken beiden Byte in den von dem nach Verschiebung um 8 Byte, abhängig davon, ob » V« »0000« oder »1000« ist, ausgegeben wird. Andere Betriebe (Operationen) sind im Prinzip ähnlich denjenigen, bei denen die Überlappungsverarbeitung nicht erforderlich ist Folglich wird die Erläuterung dieser Betriebsschritte nicht mehr durchgeführt
Als folgendes erfolgt eine Erläuterung der Betriebsweise dieses Ausführungsbeispiels für den Fall, in dem ein Dezimalrechnungs-Befehl verarbeitet wird.
In diesem Fall werden in der Mikrobefehls-Sequenz zum Auslesen von Daten, die durch die zweite Operandenadresse wiedergegeben werden, Daten »1110« in dem Ausrichtfeld gespeichert Folglich wählt
das Wählglied 910 die Leitung 917A Da LF2 ins vorliegenden Beispiel »8« ist, weiden bmäre Daten entsprechend »7« von der Schaltung 917 zur Leitung 917A abgegeben. FoIgEcJi wird der zweite Operand mit einer Länge von 8 Byte von der zweiten Operandenadresse von dem Pufferspeicher *) aasgelesen. Dieser zweite Operand wird im ZySdus durch den Zyklussehieber 50 nach links um ein Ausmaß verschoTjen, das Daten »F-f-9« entspricht. Die Daten »Y+9« werfen von dem Wählglied 930 in der Schiebe-Bytezahl-Bestimmungsschaftung 93 gemäß Fig.9 ausgegeben. Die Daten »Y+9«, die dem Zyklusschieber 50 zugeführt werden, sind notwendig und ausreichend zum Aufnehmen von Daten mit 8 Byte mit der zweiten Operandenadresse als rechteste Adresse unter Daten mit 16 Byte, die von dem Pufferspeicher 40 ausgegeben werden. Die erwähnten Daten mit 8 Byte werden der Operandensteuerung 60 zugeführt. DieOperandensteuerung 60 wird durch die Ansrichtsteuenmg 90 gesteuert. In der Masfcenbiid-Bestimmungsschahong 96 in der Ausrichtsteuerung 90 wählt das Wählglied 960 (Fig. 13) das Ausgangssignal von dem Rechts-Bildgenerator 964 und gibt dieses ab. Folglich werden in der Operandenstsuerung 60 Datenv die wesentliche Daten enthalten, die die gleiche Bytezahl wie die Abruf-Datenlänge aufweist, die von dem Wählglied 910 (F i g. 12) ausgegeben werden, und andere Daten mit »0« aufweist, von den Daten mit 8 Byte gebildet, die die zweite Operandenadresse als die rechteste Adresse aufweisen. Die so gebildeten Daten werden der ALU 70 zugeführt. Dann wird die erste Operandenadresse von der Befehlseinheit 20 zur AdreSsteuerung 30 abgegeben. Die erste echte OperandenadresL<2 wird erzeugt, und das Auslesen von Daten wird durchgeführt in der gleichen Weise, wie bei den zweiten Operanden. In diesem Fall wird die erste echte Operandenadresse ebenfalls in dem DAR 39 (Fig.3) gespeichert. Daten »1101« werden in dem Ausrichtfeld m der MDcrobefehls-Sequsnz zum Verarbeiten des ersten Operanden gespeichert Folglich gibt das WlMgfied 930(Ftg.9) Ausgangsdaten »A+9« ab, und werden der Zyklusschieber 50 und die Operandensteuerung 60 durch die Alisrichtsteuerung 90 in einer Weise gesteuert, die ähnlich dem zweiten Operanden ist. Der so ausgewesene erste Operand and der vorher ausgelesene zweite Operand werden einer vorgegebenen Bearbeitung m der ALU 70 unterworfen, und das
ίο Bearbeitungs- oder Betriebsergebnis wird in dem Pufferspeicher 40 und dem Hauptspeiche- 10 gespeichert. Die Adresse zum Speichern des Ergebnisses wird von der DAR 39 in der Adreßsteuerang 30 zugeführt. Auf diese Weise wird das Verarbeiten eines Dezitnatrechen-Befehls beendet
Wie sich aus der vorstehenden Erläuterung ergibt wird gemäß der Erfindung ein sehr einfaches Datenverarbeitungssystem angegeben, bei dem das Positionieren und Aufnehmen von Daten, die zur Verarbeitung verschiedener Befehle erforderlich sind, mittels üblicher rMikrc-befehls-Stetiertechnik durchgeführt werden kann. Selbstverständlich sind noch andere Ausführungsformen der Erfindung mögDch, beispielsweise wird gemäß einer solchen Ausführungsform ein Datenverarbet-.tungssystem vorgesehen^ bei dem eine Schaltung zum Steuern der Positionierung und des Aufnehmens von Daten ohne Verwendung von Mikrobefehlen in der Befehlseinheit vorgesehen ist, wobei das Ausgangssignal der Ausrichtsteuerung 90 gemäß Fig. 1 und das Ausgangssignal der obigen Steuerschaltung gegeneinander ausgetauscht werden, um eines der Ausgangssignale von der Adreßsteuerschaltung 30, dem Zyklusscbieber 50und der Operandensteuerung 60 zuzuführen, wodurch die Schaltungen zum Durchführen der Positionierung und des Aufnehmens der Daten entweder durch Mikrobefehle oder durch die Steuerschaltung gesteuert werden können.
KBerzu 10 Blatt Zeichnungen

Claims (6)

30 48 Patentansprüche:
1. Datenverarbeitungssystem mit einem Hauptspeicher, der mehrere Befehle und Daten speichert und einem Pafferspeicher, der ein Duplikat eines Teils des Inhaltes des Hauptspeichers in Blöcken mit jeweils vorgegebener Länge speichert, einer Befehlseinrichtung, die eine Datenadresse und eine Datenlänge zur Durchführung eines Befehls aussendet, und
einer Adreßeinrichtung, die auf der Grundlage der Datenadresse von der Befehlseinrichtung eine Adresse zum Abrufen von Daten aus dem Pufferspeicher (40) bildet,
gekennzeichnet durch
mehrere, den Pufferspeicher (40) bildende Bänke (42, 44),
eine Datenlängen-Bestimmungseinrichtung (91), die abhängig von tier Länge von der Befehlseinrichtung (20) die Länge von Daten bestimmt, wobei die Daten von dem Pufferspeicher (40) abgerufen werden,
eine BIocküberkreuzungs-Detektoreinrichtung (386), die abhängig von der Adresse von der Befehlseinrichtung (20) und der Länge von der Datenlängen-Bestimmungseinrichung (91) erfaßt, ob die von dem Pufferspeicher (40) mit einem einzigen Zugriff abzurufenden Daten über mehrere Blöcke verstreut sind oder nicht, und dadurch, daß die Adreßein.-xhtung (30), die Adresse der Bänke (42, 44) des Pufferspeichers (40) sendet, wobei die Adreßeinrichtung (30) ein~r der "inke eine Blockadresse zuführt, die nächst einem Ilock ist, der durch die Adresse von der Beiehlse'nrichtung (20) bezeichnet ist, abhängig von der Erfassung der Blocküberkreuzung durch die Detektoreinrichtung (386).
2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet,
daß die Adresse zum Abrufen von Daten aus einem Adreßteil, der einen Block bezeichnet, und einen; Adreßteil, der Zellen in dem Block bezeichnet, besteht, und
daß die Adreßeinrichtung (30) mehrere Adreßregister (34, 36, 39), in denen jeweils die Adresse, die einer der Bänke zugeführt wird, gesetzt wird, einen Blockadreß-Generator, der eine Blockadresse den Adreßregistern auf der Grundlage der Adresse der Befehlseinrichtung (20) zuführt und einen Adreß-Generator, der eine Adresse-im-Block erzeugt, und diese den Adreßregistern auf der Grundlage der Adresse von der Befehlseinrichtung (20) zuführt, aufweist
3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet daß der Blockadreß-Generator die gleiche Blockadresse in allen Adreßregistern (34, 36) setzt, wenn die Blocküberkreuzungs-Detektoreinrichtung (386) keine Blocküberkreuzung erfaßt.
4. Datenverarbeitungssystem nach Anspruch 2 oder 3, dadurch gekennzeichnet,
daß aer Blockadreß-Generator (32, 38) einen Folgeblock-Adreßgenerator (381,383) aufweist, der eine Adresse eines dem Block, der durch die Adresse von der Befehlseinrichtung (20) bezeichnet ist, folgenden Blocks erzeugt, und
daß eine Blockadresse von dem Folgeblock-Adreß-
generator in das Adreßregister gesetzt wird, das durch eine Adresse-im-Block bestimmt ist wenn eine Blockübsrkreuzung durch die Blocküberkreuzungs-Detektoreinrichtung (386) erfaßt ist
5. Datenverarbeitungssystem nach einem der Ansprüche 2—4, dadurch gekennzeichnet daß der Blockadressen-Generator (32,38) eine Blockadresse setzt, die durch die Adresse von der Befehlseinrichtung (20) und einer Blockadresse, die dem Block in den Adreßregistern folgt bestimmt ist, um Daten mit kontinuierlichen Adressen aus den Bänken (42, 44) des Pufferspeichers (40) auszulesen, wenn die Blocküberkreuzung erfaßt ist
6. Datenverarbeitungssystem nach einem der Ansprüche 3—5, dadurch gekennzeichnet, daß der Adreß-Generator unterschiedliche Adressen-imBlock in die Adreßregister setzt, um Daten mit kontinuierlichen Adressen von den Bänken (42, 44) des Pufferspeichers (40) auszulesen.
DE3048675A 1979-12-26 1980-12-23 Datenverarbeitungssystem Expired DE3048675C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54169657A JPS6019809B2 (ja) 1979-12-26 1979-12-26 デ−タ処理装置

Publications (2)

Publication Number Publication Date
DE3048675A1 DE3048675A1 (de) 1981-10-22
DE3048675C2 true DE3048675C2 (de) 1984-01-26

Family

ID=15890515

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3048675A Expired DE3048675C2 (de) 1979-12-26 1980-12-23 Datenverarbeitungssystem

Country Status (3)

Country Link
US (1) US4408275A (de)
JP (1) JPS6019809B2 (de)
DE (1) DE3048675C2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138948C2 (de) * 1981-09-30 1985-04-18 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur Erzeugung von Byte-Kennzeichenbits für die Verarbeitung von Speicheroperanden
DE3138897A1 (de) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur verarbeitung von speicheroperanden fuer dezimale und logische befehle
JPS58149548A (ja) * 1982-03-02 1983-09-05 Hitachi Ltd メモリ制御方式
US4583165A (en) * 1982-06-30 1986-04-15 International Business Machines Corporation Apparatus and method for controlling storage access in a multilevel storage system
JPS5936391A (ja) * 1982-08-23 1984-02-28 Nec Corp 情報処理装置
JPS5962959A (ja) * 1982-10-04 1984-04-10 Mitsubishi Electric Corp 記憶装置
US4471432A (en) * 1982-10-13 1984-09-11 Wilhite John E Method and apparatus for initiating the execution of instructions using a central pipeline execution unit
JPS6097454A (ja) * 1983-11-01 1985-05-31 Nec Corp デ−タ処理装置
US5038277A (en) * 1983-11-07 1991-08-06 Digital Equipment Corporation Adjustable buffer for data communications in a data processing system
JPS60176155A (ja) * 1984-02-23 1985-09-10 Fujitsu Ltd アクセス制御方式
US4653019A (en) * 1984-04-19 1987-03-24 Concurrent Computer Corporation High speed barrel shifter
US4680702A (en) * 1984-04-27 1987-07-14 Honeywell Information Systems Inc. Merge control apparatus for a store into cache of a data processing system
US4819152A (en) * 1985-04-05 1989-04-04 Raytheon Company Method and apparatus for addressing a memory by array transformations
JPS61235977A (ja) * 1985-04-12 1986-10-21 Hitachi Ltd カナ漢字変換装置
JPS61245256A (ja) * 1985-04-23 1986-10-31 Mitsubishi Electric Corp 情報格納方式
US4761731A (en) * 1985-08-14 1988-08-02 Control Data Corporation Look-ahead instruction fetch control for a cache memory
US5247688A (en) * 1988-10-14 1993-09-21 Ricoh Company, Ltd. Character recognition sorting apparatus having comparators for simultaneous comparison of data and corresponding key against respective multistage shift arrays
US5313613A (en) * 1988-12-30 1994-05-17 International Business Machines Corporation Execution of storage-immediate and storage-storage instructions within cache buffer storage
US5187783A (en) * 1989-03-15 1993-02-16 Micral, Inc. Controller for direct memory access
DE69124437T2 (de) * 1990-08-09 1997-07-03 Silicon Graphics Inc Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner
US5471628A (en) * 1992-06-30 1995-11-28 International Business Machines Corporation Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
JP3207591B2 (ja) * 1993-03-19 2001-09-10 株式会社日立製作所 キャッシュメモリを有する計算機の改良
US5680642A (en) * 1993-06-25 1997-10-21 At&T Global Information Solutions Company Method and apparatus for pseudo-aligned transfers of data to memory wherein a re-alignment is performed based on the data byte control header
US6219773B1 (en) * 1993-10-18 2001-04-17 Via-Cyrix, Inc. System and method of retiring misaligned write operands from a write buffer
US5740398A (en) * 1993-10-18 1998-04-14 Cyrix Corporation Program order sequencing of data in a microprocessor with write buffer
US5584009A (en) * 1993-10-18 1996-12-10 Cyrix Corporation System and method of retiring store data from a write buffer
US5615402A (en) * 1993-10-18 1997-03-25 Cyrix Corporation Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5694556A (en) * 1995-06-07 1997-12-02 International Business Machines Corporation Data processing system including buffering mechanism for inbound and outbound reads and posted writes
US5873126A (en) * 1995-06-12 1999-02-16 International Business Machines Corporation Memory array based data reorganizer
US7334116B2 (en) * 2004-10-06 2008-02-19 Sony Computer Entertainment Inc. Bit manipulation on data in a bitstream that is stored in a memory having an address boundary length

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840861A (en) * 1972-10-30 1974-10-08 Amdahl Corp Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US3858183A (en) * 1972-10-30 1974-12-31 Amdahl Corp Data processing system and method therefor
FR111574A (de) * 1973-12-13 1900-01-01
JPS51144142A (en) * 1975-06-06 1976-12-10 Hitachi Ltd Information processing

Also Published As

Publication number Publication date
JPS6019809B2 (ja) 1985-05-18
DE3048675A1 (de) 1981-10-22
US4408275A (en) 1983-10-04
JPS5692640A (en) 1981-07-27

Similar Documents

Publication Publication Date Title
DE3048675C2 (de) Datenverarbeitungssystem
DE3338345C2 (de)
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE3043653C2 (de) Datenverarbeitungsanlage
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
CH650600A5 (de) Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister.
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE2718110A1 (de) Datenverarbeitungseinheit
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE3121046C2 (de)
DE2336676A1 (de) Einrichtung zur modifizierung von mikroprogrammbefehlen
DE2233193A1 (de) Stapel-speichersystem
EP0075893B1 (de) Schaltungsanordnung zum Ausrichten von Speicheroperanden für dezimale und logische Befehle
DE2425574A1 (de) Adressierung von zeichen in einem wortorientierten system eines rechenautomaten
DE1956460B2 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2235883A1 (de) Datenverarbeitungseinrichtung
DE2625183A1 (de) Datenverarbeitungseinrichtung
DE1499286A1 (de) Datenbearbeitungsanlage
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen
DE3229764C2 (de)
DE3016738A1 (de) Verfahren zur uebertragung eines bitmusterfeldes in einen speicher und schaltungsanordnung zur ausuebung des verfahrens
DE4342521C1 (de) Verfahren und Anordnung zur Expansion komprimierter Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 13/06

D2 Grant after examination
8364 No opposition during term of opposition