DE3138974C2 - Circuit arrangement for processing memory operands - Google Patents

Circuit arrangement for processing memory operands

Info

Publication number
DE3138974C2
DE3138974C2 DE3138974A DE3138974A DE3138974C2 DE 3138974 C2 DE3138974 C2 DE 3138974C2 DE 3138974 A DE3138974 A DE 3138974A DE 3138974 A DE3138974 A DE 3138974A DE 3138974 C2 DE3138974 C2 DE 3138974C2
Authority
DE
Germany
Prior art keywords
memory
operands
byte
address
bytes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3138974A
Other languages
German (de)
Other versions
DE3138974A1 (en
Inventor
Manfred Dipl.-Ing. 8011 Putzbrunn Köhler
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE3138974A priority Critical patent/DE3138974C2/en
Publication of DE3138974A1 publication Critical patent/DE3138974A1/en
Application granted granted Critical
Publication of DE3138974C2 publication Critical patent/DE3138974C2/en
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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access

Landscapes

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

Abstract

Dem Ausgangsregister (REG A . . . D) des Arbeits- bzw. Pufferspeichers (ASP, CA) ist ein Byteausricht-Verschiebenetzwerk (BART A . . . D) nachgeschaltet, das Halbwort-Speicheroperanden in Linksausrichtung auf Byte (2 und 3) und längere Speicheroperanden jeweils befehlstypabhängig an die linke oder rechte Doppelwortgrenze der Prozessor-Speicher-Schnittstelle ausrichtet. Außerdem ist ein dem Byte-Ausricht-Verschiebenetzwerk nachgeschalteter Bankauswahl/Vorzeichen-Generator (BSVZG) vorgesehen, der bei Halbwortoperanden die Bytes 0 und 1 mit Vorzeichenbits und nichtrelevante Bytes von Halbwort- und längere Speicheroperanden durch Nullen ersetzt.The output register (REG A. aligns longer memory operands depending on the type of instruction to the left or right double word boundary of the processor-memory interface. In addition, a bank selection / sign generator (BSVZG) is provided downstream of the byte alignment shift network, which replaces bytes 0 and 1 with sign bits and non-relevant bytes of half-word and longer memory operands with zeros in half-word operands.

Description

3 43 4

Rechenwerk in der Weise auszubilden, daß die Operan- Im Normalfall kann die gewünschte Bytegruppe, dieForm the arithmetic unit in such a way that the opera- In normal case, the desired byte group, the

denausrichtung befehlstypabhängig durchführbar ist mit einem Verarbeitungsschritt im 8 Byte breiten Re- und daß etwaige nach Ausrichtung nicht relevante und chenwerk AL t/verarbeitet werden soll, mit einem Lesedamit redundante Bytestellen in einfacher Weise mar- zugriff aus dem adressierten Pufferspeicher-Block entkierbar sind. 5 nommen werden. Falls der vom Prozessor angeforderteThe alignment can be carried out depending on the command type with a processing step in the 8 byte wide Re- and that any after alignment not relevant and processing AL t / is to be processed with a read so that redundant byte positions can be easily decoded from the addressed buffer block. 5 can be taken. If the one requested by the processor

Diese Aufgabe wird bei einer Schaltungsanordnung Byte-Block mit 2 bis 8 Bytes jeweils aus 2 im Arbeitsder eingangs genannten Art erfindungsgemäß mit den speicher benachbarten 16 Bytes-Blöcken kommt, d. h. im kennzeichnenden Teil des Patentanspruchs 1 ange- eine 16 Byte-Grenze überschreitet, wird ein Doppelzugebenen Merkmalen gelöst griff im Pufferspeicher bzw. Arbeitsspeicher notwendig,With a byte block circuit arrangement with 2 to 8 bytes, this task is made up of 2 in the working order initially mentioned type comes according to the invention with the memory adjacent 16 byte blocks, d. H. in the characterizing part of claim 1, a 16 byte limit is exceeded, a double to be given Features solved Accessed in the buffer memory or working memory necessary,

Eine vorteilhafte Weiterbildung der Erfindung ist im io wobei folgende Varianten möglich sind: Anspruch 2 angegeben.An advantageous further development of the invention is io, the following variants being possible: Claim 2 stated.

Im folgenden wird ein Ausführungsbeispiel der Erfin- — zweimaliger Lesezugriff im Pufferspeicher dung anhand der Zeichnung näher erläutert - erster Zugriff im Pufferspeicher, zweiter Zugriff imThe following is an embodiment of the invention - two read access in the buffer memory Training explained in more detail with reference to the drawing - first access in the buffer memory, second access in

Das in der Figur dargestellte Blockschaltbild umfaßt ArbeitsspeicherThe block diagram shown in the figure includes main memory

die für das Verständnis des Anmeldungsgegenstandes 15 — erster Zugriff im Arbeitsspeicher, zweiter Zugriff notwendigen Funktionseinheiten einer Datenverarbei- im Pufferspeicherfor the understanding of the subject matter of the application 15 - first access in the main memory, second access necessary functional units of a data processing in the buffer memory

tungsanlage, insbesondere eine Schaltungsanordnung — zweimaliger Lesezugriff im Arbeitsspeicher zum Aufbereiten von Speicheroperanden. Sie zeigt improcessing system, in particular a circuit arrangement - two read access to the main memory for preparing memory operands. She shows im

einzelnen einen im Aufbereitungsprozessor integrierten Um diesen zweimaligen Lesezugriff zu vermeiden,individual one integrated in the preparation processor To avoid this double read access,

Adreßpuffer mit den Adreßregistern P, PFA und PFjB, in 20 sind zwischen den Pufferspeicher-A -usgangsregistern denen die für das Befehlsvorauslesen notwendigen REG A ... D und dem Bankauswahsnultiplexer BAM Adressen bereitgestellt werden. Diese Adrp.8register jeweils Byteausricht-Verschiebeeinheiten BAR A... D sind über einen Adreßbus ADR-BUS mit einem Spei- eingeschaltet, die den Speicheroperanden befehlstypabcher-Adreßregister MAR verbunden, in welchem die für hängig so ausrichten, daß in jedem Fall nur ein einziger den nächsten Zugriff zum Arbeits- bzw. Pufferspeicher 25 Datentransfer über die Pufferspeicher-Prozessorerforderliche Adresse zwischengespeichert wird. Da bei schnittstelle erforderlich ist und damit das Mikropro-Datenverarbeitungsanlagen mit virtueller Adressierung gramm im Prozessor nicht verzweigt werden muß. Die die sogenannte Seitenadresse mii den Bits 8 bis 20 zu- Steuerung der Byteausricht-Verschiebeeinheiten BAR nächst in virtueller Form vorliegt ein Speicherzugriff erfolgt über die Adreßbits 28 bis 31 sowie über ein aber nur mit einer physikalischen Adresse durchgeführt 30 Befehlstyp-Signal BTYP, wobei im einzelnen folgende werden kann, muß der virtuelle Adreßanteil zunächst in Befehlstypen in Betracht kommen: eine reelle, physikalische Adresse übersetzt werden. ZuAddress buffers with the address registers P, PFA and PFjB, in FIG. 20, are between the buffer memory A output registers to which the REG A ... D necessary for command read-out and the bank selection multiplexer BAM addresses are provided. These Adrp.8register each byte alignment shifting units BAR A ... D are switched on via an address bus ADR-BUS with a memory, which connects the memory operand command type checker address register MAR , in which the align for pending so that in each case only one only the next access to the working or buffer memory 25 data transfer is temporarily stored via the address required for the buffer memory processor. Since the interface is required and thus the micropro data processing systems with virtual addressing program in the processor does not have to be branched. The so-called page address mii bits 8 to 20 to-control Byteausricht-displacement units BAR next in virtual form is present, a memory access via the address bits 28 to 31 as well as a but only with a physical address carried out 30 type of command signal BTYP, wherein in can be as follows, the virtual address component must first be considered in command types: a real, physical address must be translated. to

diesem Zweck ist sin teilassoziativer Adreßüberset- Register-Registerbefehle RR for this purpose sin partially associative address translation register register commands RR

zungsspeicher ATM vorgesehen, der für virtuelle Register-Speicherbefehle mitZungsspeicher ATM provided for virtual register memory commands with

Adressen den entsprechenden physikalischen Seiten- 35 Indexierungsmöglichkeit RX Addresses the corresponding physical page 35 indexing option RX

adreßteil bereitstellt Mit der nunmehr in allen Teilen Register-Speicherbefehle RS address part provides With the now in all parts register storage commands RS

reellen Adresse kann nun sowohl zum Pufferspeicher Speicher-Direktoperandenbefehle SI The real address can now be used both for the buffer memory and direct memory operand commands SI

CA als auch zum Arbeitsspeicher ASP zugegriffen wer- Speicher-Speicherbefehle SS CA and the main memory ASP can be accessed memory memory commands SS

den. Der Speicherzugriff geht dabei üblicherweise sothe. The memory access usually works like this

vor sich, daß mit den niedrigwertigen Bits der im Spei- 40 Dabei bedeuten die Abkürzungen: cher-Adreßregister MAR bereitgestellten Adresse, d. h.in front of you that with the low-order bits of the address provided in the memory 40 The abbreviations: cher address register MAR, ie

mit der sogenannten Klassenadresse, in einem Adres- R: die Registeradresse eines Operanden, senpuffer ADRM eine Seitenadresse ausgewählt wird, X: die Indexregisteradresse eines Operanden die mit den höherwertigen Bits der im Speicher-Adreß- /: einen im Befehl enthaltenen Direktoperanden register MAR vorhandenen Adresse verglichen wird. 45 S: die Speicheradresse eines Operander. Dieser Adressenvergleich findet in eirer dem Adressenspeiche' ADRM nachgeschalteten Vergleichsschaltung Bei RX-, RS-, SI- und logischen SS-Befehlen erfolgt COM statt, die bei Gleichheit beider Adressen Steuersi- die Ausrichtung des adressierten Byte-Blocks an die lingnale HIT A ... D liefert welche anzeigen, daß die ke Doppelwortgrenze, so daß das adressierte Byte in adressierten Daten in einer der Datenpuffer-Bänke Bk- 50 der Byteposition 0 erscheint und die übrigen Bytes sich A ... D des Pufferspeichers CA vorhanden sind. Falls rechts anschließen. Boi dezimalen SS-Befehlen wird der keine Adre?sengleichheit gigeben ist, erfolgt ein ent- Speicheroperand an die rechte Doppelwortgrenze aussprechender Lesezugriff zum Arbeitsspeicher ASP. Um gerichtet so daß das adressierte Byte in Byteposition 7 die Zugriffszeit klein zu halten, laufen die Vorgänge erscheint und die zugehörigen Bytes sich links anschlie- »Adreßübersetzung,< und »Lesezugriff zum Pufferspei- 55 Ben. Bei ÄX-Halbwort-Befehlen schließlich wird der eher« zeitlich parallel ab, wobei mit den Adreßbits 8 bis adressierte 1-Byte-Operand so ausgerichtet, daß das eine Zeile im Adreßübersetzungsspeicher A TMgele- adressierte Byte in der Byte-Position 2 und das zugehösen wird, während mit den Adreßbits 18 bis 27 die züge- rige Byte in der Position 3 erscheint, hörigen Einträge aus dem Adreßspeicher ADRM und Nach Ablauf des,' .esezugriffs zum Pufferspeicher und aus den Pufferspeicher-Datenbänken Bk-A ...D gele- 60 der für die Ryte-Ausrichtung benötigten Zeit gibt die sen werden. Vergleichsschaltung COM Steuersignale HITA ...Dan Die gelesenen Daten gelangen dabei über je ein Puf- den Bankauswahl-Multiplexer BAM ab, so daß der ausferspeicher-Ausgangsregister REG A ... D an einen gerichtete Speicheroperand zum Byte-Auswahl/Vorzei-Bankwahl-Multiplex BAM, der in Abhängigkeit vom chen-Generator BSVZG durchgeschaltet werden kann. Steuersignal HITA ... D die jeweils zuständige Bank 65 Mit Hilfe dieses Generators RSVZG werden vom Speiauswählt und die angeforderten Daten zum Rechen- cheroperanden nicht benutzte Bytes mit Nullen aufgewerk ALU des Befehlsvrrarbeitungsprozessors durch- fülJt. Zusätzlich ist bei Halbwortoperanden vorgesehen, schaltet. daß in die Bytes 0 und 1 Vorzeichenbits mit der jeweilswith the so-called class address, in an address R: the register address of an operand, senpuffer ADRM a page address is selected, X: the index register address of an operand with the higher-order bits of the direct operand register MAR contained in the instruction Address is compared. 45 S: the memory address of an operander. This address comparison takes place in a comparison circuit connected downstream of the ADRM address memory. With RX, RS, SI and logical SS commands, COM takes place, which controls the alignment of the addressed byte block to the internal HIT A .. if both addresses are the same. . D delivers indicating that the ke double word boundary, so that the addressed byte in the addressed data in a data buffer banks Bk byte position 50 appears to 0, and the remaining bytes of the buffer memory is available CA a ... D. Connect on the right if necessary. If there are decimal SS commands that do not have the same address, there is a read access to the ASP memory operand at the right double word boundary. In order to keep the access time short so that the addressed byte in byte position 7 is running, the processes appear and the associated bytes are followed on the left by "address translation," and "read access to buffer memory." Finally, in the case of AX half-word commands, the 1-byte operand addressed with the address bits 8 to is aligned in such a way that the one line in the address translation memory A TMgele addressed byte in byte position 2 and the corresponding while the associated byte appears in position 3 with address bits 18 to 27, related entries from the address memory ADRM and after expiry of the "read access" to the buffer memory and from the buffer memory databases Bk-A ... D - 60 of the time required for the Ryte alignment are these. Comparison circuit COM control signals HITA ... Dan The read data are sent via a buffer each from the bank selection multiplexer BAM , so that the out-of -memory output register REG A ... D is sent to a specific memory operand for byte selection / sign bank selection. Multiplex BAM, which can be switched through depending on the BSVZG chen generator. Control signal HITA ... D the respectively responsible bank 65 With the help of this generator RSVZG the memory selects and the requested data for the arithmetic operand fills unused bytes with zeros stored ALU of the instruction processing processor. In addition, switching is provided for half-word operands. that in bytes 0 and 1 sign bits with the respectively

höchstwertigen Bitstelle von Byte 2 (Bit 16) eingetragen werden.most significant bit position of byte 2 (bit 16) must be entered.

Im Befehlsaufbereitungsprozessor ist ferner ein Adreß-Addierer SRADD vorgesehen, der abhängig vom jeweiligen Befehlstypen die Speicheroperandenlänge OPL bei Linksausrichtung auf die Speicheradresse aufaddiert bzw. bei Rechtsausrichtung von der Speicheradresse subtrahiert und die neue Adresse in einem nachfolgenden Adreßregister NEA zwischenspeichert. Meldet dieser Adreß-Addierer SRADD am Übergang von der Bitstelle 28 zur Bitstelle 27 bei Linksausrichtung einen Übertrag vom Wert = 1 und bei Rechtsausrichtung einen Übertrag vom Wert = 0, dann wird über das Signal SRO angezeigt, daß der Speicheroperand die 16 Byte-Grenze überschritten hat. Gleichzeitig wird ein zweiter Lesezyklus im Pufferspeicher bzw. Arbeitsspeicher angestoßen. Die Bytes aus dem ersten und zweiten Lesevorgang werden dann im Bankauswahl-Multiplexer BAMzusammengefaßt.An address adder SRADD is also provided in the instruction processing processor, which, depending on the respective instruction type, adds the memory operand length OPL to the memory address in the case of left alignment or subtracts it from the memory address in the case of right alignment and temporarily stores the new address in a subsequent address register NEA . If this address adder SRADD reports at the transition from bit position 28 to bit position 27 a carry of value = 1 with left alignment and a carry with value = 0 with right alignment, then the signal SRO indicates that the memory operand has exceeded the 16 byte limit Has. At the same time, a second read cycle is initiated in the buffer memory or working memory. The bytes from the first and second read processes are then combined in the bank selection multiplexer BAM .

räiäuci Ζ'ύϊΥι cfäicfi LcScVöfgäng w'CJVjCn SU3 uC"räiäuci Ζ'ύϊΥι cfäicfi LcScVöfgangs w'CJVjCn SU3 uC "

Speicheroperandenlänge OPL und abhängig vom Befehlstyp insgesamt 8 Bytes-Selekt-Steuersignale RYSEL O...7 gebildet. Jedes Steuersignal ist jeweils einer Bytestelle der Prozessor-Pufferspeicher-Schnittstelle zugeordnet und bewirkt gegebenenfalls die Ausblendung des betreffenden Bytes durch Einsetzen von Nullen im Byte-Auswahl/Vorzeichen-Generator BSVZG. Zusätzlich werden bei einem Halboperanden, der im höchstwertigen Bit (Bit 16) das Vorzeichenbit führt, die Byte 0 und 1 im Generator BSVZC mit diesem Vorzeichen aufgefüllt. Bei einem Plus-Vorzeichen (Bit 16 = 0) bedeutet dies, daß die über die Byte-Auswahl-Steuersignale BY- SEL O = 0 und BYSEL 1 = 0 erzeugten Nullen erhalten bleiben, während sie bei einem Minus-Vorzeichen (Bit 16 = 1) invertiert werden.Memory operand length OPL and, depending on the command type, a total of 8 bytes select control signals RYSEL O ... 7 formed. Each control signal is assigned to a byte position of the processor buffer memory interface and, if necessary, causes the relevant byte to be masked out by inserting zeros in the byte selection / sign generator BSVZG. In addition, in the case of a half-operand that has the sign bit in the most significant bit (bit 16), bytes 0 and 1 in the BSVZC generator are padded with this sign. With a plus sign (bit 16 = 0) this means that the zeros generated via the byte selection control signals BYSEL O = 0 and BYSEL 1 = 0 are retained, while with a minus sign (bit 16 = 1) be inverted.

B Hierzu 1 Blatt ZeichnungenB 1 sheet of drawings

4545

5050

5555

6060

6565

Claims (2)

1 2 richtungen bekannt Neben Prozessoren mit einer rein Patentansprüche: sequentiellen Befehlsverarbeitung sind auch Prozessoren mit überlappender Befehlsverarbeitung bekannt1 2 directions known In addition to processors with purely patent claims: sequential command processing, processors with overlapping command processing are also known 1. Schaltungsanordnung zum Aufbereiten von Zur zweiten Gruppe gehören sogenannte Fließband-Speicheroperanden für Befehle mit unterschiedli- 5 Prozessoren, deren Struktur z. B. in der Zeitschrift chem Format, in einer Datenverarbeitungsanlage »Elektronische Rechenanlagen«, 1973, Seiten 60 bis 65, mit einem Befehlsaufbereitungsprozessor für Be- in dem Aufsatz »Möglichkeiten der Beschleunigung eifehlslesen, Adreßrechnung und Speicheroperanden- ner Zentraleinheit durch strukturelle Maßnahmen« belesen und einem Befehlsausführungsprozessor für schrieben iit Bei einem Fließband-Rechenwerk wird die die eigentliche Befehlsausführung, sowie einem Puf- 10 Ausführung der Befehle in mehrere Vererbe :tungsferspeicher mit zugehörigem Adressenpuffer und schritte zerlegt, die in spezialisierten Fließbandstatiomit einem in η gleich große, jeweils 16 Byte breite nen ausgeführt werden. Auf diese Weise können mehre-Bänke unterteilten Datenpuffer, dem ausgangsseitig re Befehle zeitlich überlappt abgearbeitet werden. Der mehrere jeweils einer Bank bzw. dem Hauptspei- Durchsatz hängt nun wesentlich davon ab, ob es gelingt, eher zugeordnete Ausgangsregister nachgeschaltet 15 die Ausführung der Befehle in solche Verarbeitungszysind, wobei der Datentransfer zwischen dem Puffer- r'en zu zerlegen, die in etwa gleich viel Zeit beanspruspeicher und dem doppelwortbreiten Rechenwerk chen. Engpaß ist die letzte Fließbandstation, der die gedes Befehlsausführungsprozessors über den jeweili- legentliche Befehlsausführung obliegt Hier werden wegen Ausgangsregüitern nachgeschaltete Byte-Aus- gen der relativ unterschiedlichen Befehle meist mehr rieht-Verschiebenetzwerke einerseits sowie zwi- 20 Zyklen als in den davor liegenden Stationen benötigt
sehen Pufferspeicher und Hauptspeicher anderer- Außerdem benötigen Fließband-Rechenwerke pro seits auf jeweils β Byte breiten Datenwegen erfolgt Zyklus bzw. pro Mikrobefehl sehr viel Steuerinformadadurch gekennzeichnet, daß die Byte- tion. Aus diesem Grund wird bei bekannten Fließband-Ausricht-Verschiebenetzwerke (BAR-A, B, C, D) Rechnern eine fest verdrahtete Ausführungsform bemittels der vier mehrwertigen Bits (28—31) der Be- 25 vorzugt Da mikroprogrammgesteuerte Fließbandfehlsadressen und einem den jeweils aktuellen Be- Rechner sehr breite Mikrobefehle (z. B. 100 bis 150 Bits) fehlstyp kennzeichnenden Befehlstyp-Signal (BTYP) benötigen, muß die Anzahl der Mikrobefehle begrenzt in der Weise ansteuerbar sind, daß Halbwort-Spei- werden, weil sonst srhr schnelle und damit teuere Micheroperanden in Linksausrichtung auf Byte 2 und 3 kroprogrammspeicher verwendet werden müssen, und längere Speicheroperanden jeweils befehlstyp- 30 Ebenso muß auch die Anzahl der dynamisch durchlauabhängig an die linke oder rechte Doppelwortgren- fenden Mikrobefehle (Zyklen) pro Maschinenbefehl zur ze der Prozefror-Speicher-Schnittstelle ausgerichtet Erzielung eines hohen Befehlsdurchsatzes und wegen werden und daß den Byte-Ausricht-Verschiebenetz- der Forderung nach möglichst wenig Zyklen in der letzwerken (BAR-A, B. C, U) eine Lmrichtung zur Bank- ten Fließbandstufe klein gehalten werden.
1. Circuit arrangement for processing The second group includes so-called assembly line memory operands for commands with different processors, whose structure z. B. in the magazine chem Format, in a data processing system "Electronic Computing Systems", 1973, pages 60 to 65, with an instruction processing processor for reading and reading in the article "Possibilities of accelerating eifehlslesen, address calculation and memory operands of the central unit through structural measures" an instruction execution processor for writing iit in a pipelined arithmetic unit is the actual instruction execution, as well as a PUF 10 execution of instructions in a plurality of INHERIT: tungsferspeicher wide with an associated address buffer and steps disassembled, in specialized Fließbandstatiomit one in η equal size, each 16 bytes be executed. In this way, data buffers subdivided into several banks and the commands on the output side can be processed in a temporally overlapping manner. The multiple throughput of a bank or the main memory now depends essentially on whether it is possible to succeed in the execution of the commands in such processing cycles, with the data transfer between the buffers being broken down approximately the same amount of time consuming memory and the double-word-wide arithmetic unit. Bottleneck is the last assembly line station, which is responsible for the command execution processor over the respective command execution. Due to output registers, downstream byte outputs of the relatively different commands are usually required more straight-shift networks on the one hand and between 20 cycles than in the previous stations
see buffer memory and main memory of others- In addition, assembly line arithmetic units require on each side on β-byte-wide data paths, there is a cycle or a great deal of control information per microinstruction, characterized by the fact that the byte- tion. For this reason, in known assembly-line alignment-shifting networks (BAR-A, B, C, D) computers, a hard-wired embodiment using the four multi-valued bits (28-31) is preferred If computers require very wide microinstructions (e.g. 100 to 150 bits) instruction type signal (BTYP) identifying the wrong type , the number of microinstructions must be limited in such a way that halfwords are stored, because otherwise they are very fast and This means that expensive processor operands must be used in left alignment on bytes 2 and 3, and longer memory operands each type of instruction.30 Likewise, the number of dynamically loop-dependent microinstructions (cycles) per machine instruction must be used to display the procedural memory, depending on the left or right double word bounding the left or right double word -Interface aligned etz- the demand for as few cycles as possible in the last plant (BAR-A, B. C, U) in one direction to the banked assembly line stage should be kept small.
auswahl und Vorzeicl.ecgenerierung (BSVZG) 35 Eine wesentliche Maßnahme zur Entlastung der letz-selection and generation of certificates (BSVZG) 35 An essential measure to relieve the last nachgeschaltet ist, die, gesteuert durch das Befehls- ten Fließbandstation besteht in der Aufbereitung deris connected downstream, which, controlled by the assembly line station, consists of processing the typ-Signal (BTYP) und ein aus der Speicheroperan- Speicheroperanden in einer davor liegenden, üblicher-type signal (BTYP) and one from the memory operand memory operand in a preceding, usual- denlänge (OPL) befehlstypabhängig gebildetes By- weise in der vorletzten Fließbandstation. Neben demthe length (OPL) by- mode dependent on the command type in the penultimate assembly line station. Next to the te-Selekt-Steuersig;nal (BYSEL 0 ... 7), bei Halb- bei einem Fließband-Rechenwerk selbstverständlichente-select-control signal (BYSEL 0 ... 7), of course with half-time with a conveyor arithmetic unit wortoperanden in die Bytes 0 und 1 jeweils Vorzei- 40 Vorauslesen des/der Speicheroperanden sind bei derword operands in bytes 0 and 1 each chenbits und in nichtrelevante Bytes von Halbwort- Aufbereitung folgende Maßnahmen zu treffen:
und längeren Speicheroperanden jeweils Nullen
Chen bits and in non-relevant bytes of half-word preparation, the following measures must be taken:
and longer memory operands each have zeros
setzt. — Ausrichtung der Speicheroperanden aufeinander,puts. - Alignment of the memory operands with one another,
2. Schaltungsanordnung nach Anspruch 1, da- da dieselben bei Speicher-Speicherbefehlen an bedurch gekennzeichnet, daß im Befehlsaufbereitungs- 45 liebigen Bytegrenzen im Arbeitsspeicher stehen prozessor ein Adreß-Addierer (SRADD) vorgese- können, so daß eine direkte Verknüpfung im Rehen ist, der abhängig vom jeweiligen Befehlstyp die chenwerk möglich wird,2. Circuit arrangement according to claim 1, because the same with memory memory commands to bedurch characterized that in the command preparation 45 byte limits in the main memory are processor an address adder (SRADD) can be provided so that a direct link is in the de, which, depending on the respective command type, the chenwerk is possible, Speicheroperandenlänge bei Linksausrichtung auf — Ausrichtung des Speicheroperanden auf den Regi-Memory operand length with left alignment to - Alignment of the memory operand to the regi- die Speicheradresse aufaddiert bzw. bei Rechtsaus- steroperanden aus dem gleichen Grundthe memory address is added up or, in the case of right out-of-order operands, for the same reason richtung von der Speicheradresse subtrahiert, sowie 50 — Zusammensetzen von 1 bis 8 Byte langen Blöcken,direction subtracted from the memory address, as well as 50 - assembling of 1 to 8 byte long blocks, die neue Adresse in der Weise auswertet daß ein bei wenn die Bytes in Arbeitsspeicher in benachbartenevaluates the new address in such a way that an at if the bytes in working memory in neighboring Linksausrichtung auftretender Übertrag mit dem 8 Byte-Blöcken stehenLeft-aligned carry with which 8 byte blocks are Wert 1 bzw. ein bei Rechtsausrichtung auftretender — Ersetzen der redundanten Bytes im 8-Byte-BlockValue 1 or a right-hand alignment - replacement of the redundant bytes in the 8-byte block Übertrag mit dem Wert 0 eine Überschreitung der durch NullenCarry over with the value 0 an exceeding of the through zeros 16-Byte-Grenze seitens des Speicheroperanden si- 55 — Spezielle Aufbereitung von Halbwort-Operanden
gnalisiert und einen weiteren Lesezyklus im Pufferbzw. Arbeitsspeicher (CA bzw. /ISP^anstößt. Aus der DE-AS 28 06 452 ist bereits eine Schaltungs-
16-byte limit on the part of the memory operand - 55 - Special preparation of half-word operands
and another read cycle in the buffer or Working memory (CA or / ISP ^. DE-AS 28 06 452 already has a circuit
anordnung zur Verarbeitung von Speicheroperandenarrangement for processing memory operands unter Verwendung eines Verschiebenetzwerkes be-using a move network 60 kannt, bei dem der zweite Operand in Abhängigkeit eines aus den Adressen der beiden Operanden abgelei-60, in which the second operand is derived depending on one of the addresses of the two operands. Die Erfindung bezieht sieh auf eine Schaltungsäiiörd- teten Versehiebungseodes, der sowohl die Verschlenung zum Aufbereiten von Speicheroperanden für Be- bungsgröße als auch die Richtung bestimmt, auf den fehle mit unterschiedlichem Format gemäß den Merk- ersten Operanden ausgerichtet wird,
malen des Oberbegriffs des Patentanspruchs 1. 65 Der vorliegenden Erfindung liegt nun die Aufgabe Für die Zentraleinheiten kommerzieller datenverar- zugrunde, eine in Fließbandtechnik arbeitende Datenbeitender Anlagen sind abhängig von der Leistungsklas- verarbeitungsanlage mit Byte-Ausricht-Verschiebese verschiedene Strukturen für die Verarbeitungsein- netzwerken zwischen Haupt- bzw. Pufferspeicher und
The invention relates to a circuit-related offset code which determines both the interleaving for preparing memory operands for exercise size and the direction in which errors with different formats are aligned according to the first operands,
paint the preamble of claim 1. 65 The present invention is now based on the task for the central units of commercial data processing, a data processing system working in assembly line technology, depending on the performance class processing system with byte alignment shifting, different structures for the processing networks between Main or buffer storage and
DE3138974A 1981-09-30 1981-09-30 Circuit arrangement for processing memory operands Expired DE3138974C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE3138974A DE3138974C2 (en) 1981-09-30 1981-09-30 Circuit arrangement for processing memory operands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE3138974A DE3138974C2 (en) 1981-09-30 1981-09-30 Circuit arrangement for processing memory operands

Publications (2)

Publication Number Publication Date
DE3138974A1 DE3138974A1 (en) 1983-04-14
DE3138974C2 true DE3138974C2 (en) 1985-09-05

Family

ID=6143096

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3138974A Expired DE3138974C2 (en) 1981-09-30 1981-09-30 Circuit arrangement for processing memory operands

Country Status (1)

Country Link
DE (1) DE3138974C2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3633302A1 (en) * 1986-09-30 1988-03-31 Siemens Ag CIRCUIT ARRANGEMENT FOR SELECTING AND / OR ALIGNING DATA UNITS IN DATA PROCESSING SYSTEMS

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2806452C3 (en) * 1978-02-15 1981-11-12 Ščetinin, Jurij Ivanovič Arrangement for processing multi-byte fields with data of variable length

Also Published As

Publication number Publication date
DE3138974A1 (en) 1983-04-14

Similar Documents

Publication Publication Date Title
DE3789345T2 (en) Enhanced floating point operations to support emulation of source instruction executions.
DE3688505T2 (en) MULTIPORT STORAGE SYSTEM.
DE69127101T2 (en) DISTRIBUTED MULTIPLE COMPUTER COMMUNICATION SYSTEM
DE3751503T2 (en) Data processor in pipeline structure with the ability to decode and execute multiple instructions in parallel.
DE3789104T2 (en) Network transmission adapter.
DE3401995C2 (en)
DE3685876T2 (en) MASTER SLAVE MICROPROCESSOR SYSTEM WITH A VIRTUAL MEMORY.
DE3851554T2 (en) Control arrangement for shared storage.
EP0014850B1 (en) Appartus for extending the makro-instruction standard set in a computer
DE2130299B2 (en) Input / output channel for a data processing system
EP0010185B1 (en) Virtual-addressing device for a computer
DE1931966B2 (en) Data processing system with associative memories
DE69130513T2 (en) Method for performing Boolean operations between any two bits from any two registers
DE2054830A1 (en) Information processing system with word-structured memory and method for accessing such a memory
DE2533737A1 (en) DATA PROCESSOR
DE3650642T2 (en) Storage means with multi-word reading and writing
DE2412634A1 (en) SMALL LINE PLANT
DE2747304C3 (en) Micro-command control device
DE3138974C2 (en) Circuit arrangement for processing memory operands
EP0075893B1 (en) Memory operand alignment circuit arrangement for decimal and logical instructions
DE2952072A1 (en) DEVICE FOR PROCESSING BINARY CODED DECIMAL NUMBERS
DE2611897A1 (en) PROCEDURE FOR DATA COLLECTION CONTROL AND IT SYSTEM FOR CARRYING OUT THE PROCEDURE
DE2000608A1 (en) Circuit arrangement for a message processing system, in particular for a message switching system
DE3887863T2 (en) Memory access control system for multiprocessor system.
DE3855298T2 (en) Microprocessor with word-organized data storage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee