DE3236524A1 - BYTE-WAY ADDRESSABLE STORAGE ARRANGEMENT FOR COMMANDS AND DATA WITH VARIABLE LENGTH - Google Patents
BYTE-WAY ADDRESSABLE STORAGE ARRANGEMENT FOR COMMANDS AND DATA WITH VARIABLE LENGTHInfo
- Publication number
- DE3236524A1 DE3236524A1 DE19823236524 DE3236524A DE3236524A1 DE 3236524 A1 DE3236524 A1 DE 3236524A1 DE 19823236524 DE19823236524 DE 19823236524 DE 3236524 A DE3236524 A DE 3236524A DE 3236524 A1 DE3236524 A1 DE 3236524A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- bytes
- digital word
- word
- memory location
- 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.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 claims description 254
- 230000002457 bidirectional effect Effects 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
DORN1ER & HUFNAGEL PATENTANWÄLTEDORN 1 ER & HUFNAGEL PATENT ADVOCATES
LANDWEHRETn. »7 BOOO MOnCHBN S TCL. OB0/BSC7B4LANDWEHRETn. »7 BOOO MOnCHBN S TCL. OB0 / BSC7B4
München, den 1. Okt. I982 Anwaltsaktenz.: 27 - ^at.Munich, October 1st, 1982 Lawyer files .: 27 - ^ at.
Raytheon Company, l4l Spring Street, Lexington, MA 02173, Vereinigte Staaten von AmerikaRaytheon Company, 14l Spring Street, Lexington, MA 02173, United States of America
Byteweise adressierbare Speicheranordnung für Befehle und Daten mit variabler LängeByte-wise addressable memory arrangement for commands and data with variable length
Die Erfindung betrifft eine Speicheranordnung mit wahlfreiem Zugriff. Sie bezieht sich insbesondere auf eine Anordnung zum Transfer eines oder mehrerer Bytes eines Digitalworts zu und von einem oder mehreren Speicherplätzen innerhalb eines Speicherzyklus.The invention relates to a random access memory array. In particular, it relates to an arrangement to transfer one or more bytes of a digital word to and from one or more memory locations within of a storage cycle.
Computer- oder Datenverarbeitungssysteme besitzen üblicherweise ein Speichersubsystem mit einer Vielzahl von Speicherplätzen für die Speicherung von Digitalwörtern, die aus einer spezifischen Anzahl von Bits, beispielsweise aus 8, 16, 24 oder 32 Bits bestehen. Die Computerarchitektur einiger Hochleistungsmaschinen mit 32-Bit-Ärbeitsregistern verwendet Befehle variabler Länge, die von einer Folge von Bytes gebildet werden, wobei das erste Byte die jeweils auszuführende Operation und die^nachfolgenden Bytes die Operanden kennzeichnen. Jeder Operand kann 8, 16, 32 oder sogar 64 Bits umfassen. Die Speicherung einer Mischung von Befehlen und Daten variabler Länge in einem 32-Bit-Wortspeicher ermöglicht die optimale Ausnutzung des verfügbaren Speicherplatzes, wenn beispielsweise ein Teil eines 32-Bit-Befehls oder -Datenworts an demselben Platz wie ein 16-Bit-Befehl oderComputer or data processing systems usually have a storage subsystem with a large number of storage locations for the storage of digital words consisting of a specific number of bits, e.g. 8, 16, 24 or 32 bits. The computer architecture of some high-performance machines uses 32-bit work registers Variable length commands formed by a sequence of bytes The first byte identifies the operation to be carried out and the ^ following bytes identify the operands. Each operand can be 8, 16, 32, or even 64 bits include. Allows a mixture of instructions and data of variable length to be stored in a 32-bit word memory the optimal use of the available memory space if, for example, part of a 32-bit instruction or Data word in the same place as a 16-bit instruction or
-Datenwort und der Rest an einem nachfolgenden Speicherplatz gespeichert wird.-Data word and the rest is stored in a subsequent memory location.
Es ist bekannt, durch eine geeignete Kombination von Hardware- und Software-Maßnahmen eine effiziente Ausnutzung der Speicherkapazität zu ermöglichen. Es ist jedoch mehr als ein Speicherzyklus erforderlich, wenn ein Teil eines Befehls oder Datenworts in einem und der andere Teil in einem anderen Speicherplatz gespeichert ist. Somit wird die wirksame Ausnutzung der Speicherkapazität durch eine Verringerung der Arbeitsgeschwindigkeit des Computers erkauft. It is known that efficient utilization can be achieved through a suitable combination of hardware and software measures the storage capacity. However, more than one memory cycle is required if part of a Command or data word is stored in one and the other part in another memory location. Thus becomes the effective use of storage capacity is bought at the cost of reducing the speed of the computer.
Die Erfindung soll hier Abhilfe schaffen. Es liegt ihr dem entsprechend die Aufgabe zugrunde, das Einschreiben oder Auslesen von Digitalwörtern auch dann in einem einzigen Zyklus auszuführen, wenn die einzelnen Bytes der Digitalwörter an unterschiedlichen Speicherplätzen einzuschreiben bzw. von dort auszulesen sind. Bei Verwendung der Anordnung gemäß der Erfindung, z.B. als lokaler Speicher, d.h., als ein der zentralen Prozessoreinheit zugeordneter Speicher, der dem Hauptspeicher des Datenverarbeitungssystems gegenübersteht, soll der herkömmliche Hauptspeicher nach wie vor verwendbar sein, während die Vorteile des Multibytezugriffs innerhalb eines Speicherzyklus in dem lokalen Speicher verwirklicht werden.The invention is intended to provide a remedy here. It is based on the task accordingly, the registered letter or Readout of digital words can also be carried out in a single cycle if the individual bytes of the digital words to be written to or read from different storage locations. When using the arrangement according to the invention, e.g. as a local memory, i.e. as a memory allocated to the central processing unit, which is opposite the main memory of the data processing system, the conventional main memory should after can be used as before while taking advantage of multibyte access can be realized within one memory cycle in the local memory.
Die der Erfindung zugrundeliegende Aufgabe wird durch eine Speicheranordnung mit den Merkmalen des Patentanspruchs 1 gelöst.The object on which the invention is based is achieved by a memory arrangement having the features of claim 1 solved.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Speicheranordnung gemäß der Erfindung sind Gegenstand eines Teils der Unteransprüche, auf die hiermit zur Verkürzung der Beschreibung ausdrücklich verwiesen wird.Advantageous refinements and developments of the memory arrangement according to the invention are the subject matter of some of the subclaims, to which hereby for brevity the description is expressly referred to.
Weitere Unteransprüche beziehen sich auf ein Verfahren zur Ansteuerung eines oder mehrerer Bytes in einer wortorganisierten Speicheranordnung gemäß der Erfindung= Auf diese Unteransprüche wird hiermit zur Verkürzung der Beschreibung ebenfalls ausdrücklich verwiesen»Further subclaims relate to a method for controlling one or more bytes in a word-organized manner Memory arrangement according to the invention = These subclaims are hereby used to shorten the description also expressly referred to »
Die Erfindung offenbart einen Speicher, in welchem Digitalwörter unterschiedlicher Länge an verschiedenen adressierbaren Speicherplätzen eingespeichert sind. Jeder dieser adressierbaren Speicherplätze umfaßt eine Vielzahl von Bytepositionen, wobei eine beliebige dieser Bytepositionen die jeweils erste Byteposition bilden kann. Das eigentliche Speicherelement ist ein Schreib-Lese-Speicherfeld mit wahlfreiem Zugriff oder such ein vorprogrammiertes Hurlese-Speicherfeld, falls ein Einschreiben nicht erforderlich ist. Der Schreib-Lesespeicher umfaßt Einrichtungen zur Adressierung eines oder mehrerer beliebiger Bytes innerhalb eines Speicherplatzes, Einrichtungen zum Einschreiben eines oder mehrerer Bytes eines Digitalworts an einem ersten Speicherplatz des Speicherfeldes und der restlichen Bytes an einem zweiten Speicherplatz des Feldes innerhalb eines einzigen Speicherzyk'lus? sowie Einrichtungen zum Auslesen eines oder mehrerer Bytes eines Digitalworts aus einem ersten Speicherplatz des Speicherfeldes und der restliehen Bytes aus einem zweiten Speicherplatz innerhalb eines Speicherzyklus. Außerdem sind Einrichtungen vorgesehen, mittels derer die Bytes beim Einschreiben in bzw« beim Auslesen aus dem Speicher in einer gewünschten Ordnung ausgerichtet werden. Diese Einrichtungen umfassen einen Ausrichtdecoder sowie einen Zweirichtungs-Multiplexer« Der Speicher umfaßt ferner Addierer zur Inkrementierung der Adresse eines Speicherplatzes während eines Speicherzyklus sowie einen Decoder zur Bestimmung der Bytezahl in dem jeweiligen Digitalwort. Es ist ferner die Möglichkeit vorgesehen, acht Bytes eines Digitalworts während zweier Speicherzyklen an drei Speicherplätzen einzuschreiben bzw. aus dreiThe invention discloses a memory in which digital words different length at different addressable Storage locations are stored. Each of these addressable memory locations comprises a plurality of Byte positions, where any of these byte positions can form the first byte position in each case. The real one Storage element is a read / write memory field with random access or search for a preprogrammed hurread memory field, if registered mail is not required. The read-write memory includes devices for Addressing of any one or more bytes within a memory location, facilities for writing one or more bytes of a digital word in a first memory location of the memory field and the remaining Bytes in a second storage location in the field within a single storage cycle? as well as facilities for Reading out one or more bytes of a digital word from a first memory location in the memory field and the rest Bytes from a second memory location within a memory cycle. In addition, facilities are foreseen by means of which the bytes when writing in or reading out can be aligned from memory in a desired order. These devices include an alignment decoder and a bidirectional multiplexer. The memory also includes adders for incrementing the Address of a memory location during a memory cycle as well as a decoder for determining the number of bytes in the respective Digital word. It is also possible to store eight bytes of a digital word during two memory cycles to be written in three memory locations or from three
Speicherplätzen auszulesen.To read out memory locations.
Die Anordnung kann so getroffen sein, daß ein Speicher, in welchem Digitalwörter unterschiedlicher Länge an verschiedenen Plätzen gespeichert sind, wobei jeder dieser Plätze eine Vielzahl von Bytepositionen umfaßt und das erste Byte eines Digitalworts in einer beliebigen Byteposition beginnen kann, daß also ein solcher Speicher ein erstes Digitalwort enthält, das die höchstwertigen Bits einer Speicherplatzadresse repräsentiert, ferner ein zweites Digitalwort, das die niedrigstwertigen Bits einer Speicherplatzadresse repräsentiert sowie ein drittes Digitalwort, das die Anzahl der Bytes in der jeweiligen Speicherstelle beinhaltet. Der Speicher umfaßt eine Einrichtung zur Inkrementierung des ersten Digitalworts, derart, daß während eines Speicherzyklus mehr als ein Speicherplatzzugriff erfolgt. Außerdem sind erste Decodiereinrichtungen vorgesehen, die auf das zweite und dritte Digitalwort ansprechen und ein Steuersignal für die Inkrementiereinrichtung erzeugen. Weiter enthält der Speicher eine zweite Decodiereinrichtung, die auf das zweite und dritte Digitalwort anspricht und Spaltenaktivierungssignale liefert, mittels derer spezifische Bytepositionen innerhalb der Speicheranordnung auswählbar sind, sowie eine dritte Decodiereinrichtung, die auf das zweite und das dritte Digitalwort anspricht und Steuersignale erzeugt, mittels derer die Ordnung der Bytes ausrichtbar ist, die zu der oder von der Speicheranordnung transferiert werden. Außerdem ist eine Einrichtung zur Übertragung von Speicherdatenwörtern von der bzw. zu der Speicheranordnung vorgesehen, die durch die von der dritten Decodiereinrichtung erzeugten Steuersignale anspricht« Es kann ferner eine Einrichtung vorgesehen sein, mittels derer das erste Digitalwort während zweier Speicherzyklen wenigstens zweimal inkrementiert wird, um auf diese Weise acht Bytes eines Digitalworts in drei Speicherplätze bzw. aus drei Speicherplätzen des SpeicherfeldesThe arrangement can be made so that a memory, in which digital words of different lengths are stored in different places, each of these Places includes a plurality of byte positions and the first byte of a digital word in any byte position can begin, so that such a memory contains a first digital word that contains the most significant Bits of a memory location address, also a second digital word that represents the least significant bits of a Memory location address and a third digital word representing the number of bytes in the respective memory location contains. The memory includes means for incrementing the first digital word such as that more than one memory location is accessed during a memory cycle. In addition, the first are decoding devices provided which respond to the second and third digital word and a control signal for the incrementing device produce. The memory also contains a second decoder, which is based on the second and the third digital word is responsive to and provides column activation signals indicative of specific byte positions are selectable within the memory arrangement, as well as a third decoder, which is based on the second and the third Digital word responds and generates control signals by means of which the order of the bytes can be aligned to the or be transferred from the storage arrangement. In addition, there is a device for the transmission of memory data words provided by or to the memory arrangement, the control signals generated by the third decoding device responds «A device can also be provided by means of which the first digital word during two Memory cycles are incremented at least twice, in this way eight bytes of a digital word in three memory locations or from three memory locations in the memory field
einzuschreiben bzw, auszulesen. Jeder Speicherplatz der Speicheranordnung umfaßt eine Vielzahl von Bytes. Die Anzahl der niedrigstwertigen Bits, die das genannte zweite Digitalwort bilden, entspricht dem Wert log N, worin N die Anzahl der Bytes in einem Datenwortspeicherplatz bedeutet.to write in or read out. Each memory location of the memory arrangement comprises a plurality of bytes. The number of the least significant bits forming said second digital word corresponds to the value log N, where N is the Number of bytes in a data word memory location means.
Das oben erwähnte Verfahren zur Ansteuerung eines oder mehrerer Bytes in einem wortorganisierten Speicher umfaßt folgende Verfahrensschritte: Es werden Digitalwörter unter™ !Q schiedlicher Länge an verschiedenen adressierbaren Plätzen gespeichert, deren jeder eine Vielzahl von Speicherpositionen besitzt, wobei ein erstes Byte eines Digitalworts an einer beliebigen der genannten Bytepositionen beginnt= Die Adresse eines Speicherplatzes wird inkrementiert, so daß ^5 während eines Speicherzyklus mehr als ein Speicherplatzzugriff erfolgt. Innerhalb eines Speicherzyklus werden ein Oder mehrere Bytes eines Digitalworts an einem Speicherplatz eingeschrieben oder aus einem solchen ausgelesen. Es werden ein oder mehrere Bytes eines Digitalworts in 2Q einen ersten Speicherplatz eines Speicherfeldes und die restlichen Bytes in einen zweiten Speicherplatz des Speicherfeldes innerhalb eines Zyklus eingeschrieben bzw. aus diesen Speicherplätzen ausgelesen. Die Bytes werden beim Einschreiben oder Auslesen in einer gewünschten Ordnung ausgerichtet. Die Verfahrensschritte des Einschreibens oder Auslesens in bzw. aus mehr als einem Speicherplatz innerhalb eines Speicherzyklus beinhaltet ein Inkrementieren der Wortadresse des ersten Speicherplatzes. Das Inkrementieren erfolgt mit Hilfe eines Addierers. Das Ausrichten QQ der Bytes in der gewünschten Ordnung erfolgt mit Hilfe eines Ausrichtdecoders, der ein Steuersignal erzeugt, mittels dessen die Reihenfolge der Bytes in einem Digitalwort bestimmbar ist. Das Ausrichten der Bytes in der gewünschten Reihenfolge beinhaltet ferner die Verwendung eines Zweige richtungsmultiplexers, der auf die Steuersignale des Ausrichtdecoders anspricht und die übertragung und Ausrich-The above-mentioned method for controlling one or more bytes in a word-organized memory comprises the following Process steps: Digital words under ™! Q of different lengths in different addressable places are stored, each of which has a plurality of storage positions, with a first byte of a digital word at one of the named byte positions begins = The address of a memory location is incremented so that ^ 5 more than one memory location access during a memory cycle he follows. One or more bytes of a digital word are stored in a memory location within a memory cycle inscribed or read from such. One or more bytes of a digital word are stored in 2Q a first memory location of a memory field and the remaining bytes in a second memory location in the memory field written in or read from these memory locations within a cycle. The bytes are used in the Registered or read-out aligned in a desired order. The procedural steps of enrolling or Reading into or from more than one memory location within a memory cycle includes incrementing the word address of the first memory location. The incrementing takes place with the help of an adder. The alignment QQ of the bytes in the desired order is done with the help an alignment decoder which generates a control signal by means of whose order of bytes in a digital word can be determined. Aligning the bytes in the desired Order also includes the use of a branch direction multiplexer, which responds to the control signals of the alignment decoder and the transmission and alignment
tung der Daten von bzw. zu dem Speicher steuert.management of the data from or to the memory controls.
Im folgenden sei die Erfindung anhand der Zeichnungen näher erläutert:
- ·The invention is explained in more detail below with reference to the drawings:
- ·
Fig. 1 zeigt ein Blockschaltbild des byteadressierbaren Speichers gemäß der Erfindung;1 shows a block diagram of the byte addressable memory according to the invention;
Fig. 2 zeigt einen Speicherplan mit Bytereferenzen für eine Liste exemplarischer Befehle variabler Länge mit variabler Operandenzahl und Daten unterschiedlicher Bytegröße;Fig. 2 shows a memory map with byte references for a List of exemplary instructions of variable length with variable number of operands and data of different Byte size;
Fig. 3 zeigt ein Blockschaltdiagramm des Speicherfeldes gemäß Fig. 1;Figure 3 shows a block circuit diagram of the memory array according to FIG. 1;
Fig. 4 zeigt ein Blockdiagramm der Addierer gemäß Fig. 1;Figure 4 shows a block diagram of the adders of Figure 1;
Fig. 5 zeigt ein logisches Diagramm des Wortgrenzendecoders gemäß Fig. 1;Figure 5 shows a logic diagram of the word boundary decoder according to FIG. 1;
Fig. 6A zeigt ein logisches Diagramm eines ersten Teils des Speichenaktivierungsdecoders gemäß Fig. 1;6A shows a logic diagram of a first part of the spoke activation decoder according to FIG. 1;
Fig. 6B zeigt ein logisches Diagramm eines zweiten Teils des Speichenaktivierungsdecoders gemäß Fig. 1;6B shows a logic diagram of a second part of the spoke activation decoder according to FIG. 1;
Fig. 7 zeigt ein logisches Diagramm des Ausrichtdecoders gemäß Fig. 1;FIG. 7 shows a logic diagram of the alignment decoder according to FIG. 1;
Fig. 8 zeigt ein Blockdiagramm des Zweirichtungsmultiplexers gemäß· Fig. 1 ;Figure 8 shows a block diagram of the bidirectional multiplexer according to FIG. 1;
Fig. 9 zeigt eine Tabelle der Verbindungen des Zweirichtungsdecoders gemäß Fig. 8; sie gibt an, welche BitsFig. 9 shows a table of the connections of the bidirectional decoder according to FIG. 8; it indicates which bits
des Speicherbusses mit den einzelnen Multiplexereingängen und welche Ausgangsdatenbits des Speichers mit welchen Multiplexerausgängen verbunden sind.of the memory bus with the individual multiplexer inputs and which output data bits of the memory are connected to which multiplexer outputs are.
Fig. 1 zeigt das Blockdiagramm einos wortorganisierten, byteadressierbaren Speichers 126 mit wahlfreiem Zugriff. Das eigentliche Speicherelement oder Speicherfeld 106 besteht aus einer Mehrzahl von Halbleiterspeicheranordnungen mit wahlfreiem Zugriff (RAMs)„ Information in Form eines 32-Bit-Parallel-Digitalworts wird auf einem 32-Bit-i4 Byte)-Speicherdatenbus 102 zu bzw» von dem Speicherfeld 106 über einen Zweirichtungsmultiplexer 104 übertragen. Die Digitalwortgröße eines Speicherplatzes in dem Speicherfeld 106 beträgt 32 Bits, wobei vier Bytereferenzpositionen (BR) pro Speicherplatz vorgesehen sind und die Anzahl m der Speicherplätze in Abhängigkeit von der Größe der für den Aufbau des Speicherfeldes 106 verwendeten RAM-Vorrichtungen und die für die verschiedenen Anwendungen erforderlichen Speicherbedarf variabel sind. In Fig. 1 sind drei Speicherplätze dargestellt, die eine Mischung von Befehlen und Daten variabler Wortlänge enthalten. Das Speicherfeld 106 ist wortorganisiert und byteadressierbar, wobei Befehle und Daten nach beliebigen Bytegrenzen ausgerichtet sind.Fig. 1 shows the block diagram of a word-organized, byte-addressable random access memory 126. The actual memory element or memory field 106 consists of a plurality of semiconductor memory arrangements with random access (RAMs) “Information in the form of a The 32-bit parallel digital word is stored on a 32-bit i4 byte) memory data bus 102 to or from the memory field 106 via a bidirectional multiplexer 104. The digital word size of a memory location in the memory field 106 is 32 bits, with four byte reference positions (BR) being provided per memory location and the number m of memory locations depending on the size of the RAM devices and used to construct the memory array 106 the memory requirements required for the various applications are variable. In Fig. 1 three memory locations are shown, which a mixture of commands and data are variable Word length included. The memory field 106 is word-organized and byte-addressable, with commands and data are aligned according to any byte boundaries.
Der Platz oder die Plätze innerhalb des Speichers„ die adressiert oder angesteuert werden sollen, werden durch Wortadresseneingangssignale MSBS 118, Speicheradresseneingangssignale LSBS 120 und Wortbytegrößeneingangssignale 122 bestimmt. Die Anzahl der Speicheradressensignale LSBS 120 entspricht dem Wert log2N, worin N die Anzahl der Bytes innerhalb eines Speicherplatzwortes ist. Bei dem in Fig. dargestellten Ausführungsbeispiel sind vier Bytes pro Wort vorgesehen, so daß die Speicheradressensignale LSBS 120 aus den beiden niedrigstwertigen Bits der Speicheradresse bestehen. Innerhalb eines Speicherzyklus können maximalThe place or places within the memory "to be addressed or driven are determined by word address input signals MSBS 118, memory address input signals 120 and LSBS Wortbytegrößeneingangssignale 122nd The number of memory address signals LSBS 120 corresponds to the value log 2 N, where N is the number of bytes within a memory location word. In the embodiment shown in FIG. 4, four bytes are provided per word, so that the memory address signals LSBS 120 consist of the two least significant bits of the memory address. A maximum of
4 Bytes angesteuert werden. Die verbleibenden Speicheradressenbits stellen die Wortadressensignale MSBS 118 dar. Die Wortbytegrößensignale 122 bestimmen die Anzahl der Bytes in dem jeweils anzusteuernden Speicherplatz, die im äugest meinen 1,2 oder 4 Bytes beträgt. Es ist jedoch auch möglich, 8 Bytes innerhalb zweier Speicherzyklen zu adressieren. Nähere Einzelheiten hierzu werden weiter unten beschrieben. Die Wortadressensignale MSBS 118 stehen mit jedem aus einer Mehrzahl von Addierern 110, 112, 114 und 116 in Ver-4 bytes can be controlled. The remaining memory address bits represent the word address signals MSBS 118. The word byte size signals 122 determine the number of bytes in the respective memory location to be controlled, which is 1.2 or 4 bytes in most cases. However, it is also possible 8 bytes to be addressed within two memory cycles. Further details are described below. The word address signals MSBS 118 are in relation to each of a plurality of adders 110, 112, 114 and 116.
,Q bindung. Die Speicheradressensignale LSBS 120 und die Wortbytegrößensignale 122 stehen mit einem Wortgrenzendecoder 124 in Verbindung. Dieser bestimmt, wenn das zu adressierende Digitalwort teilweise in zwei aufeinanderfolgenden Speicherplätzen enthalten ist und ein zweiter Speicherplatz, Q bond. The memory address signals LSBS 120 and the word byte size signals 122 are associated with a word boundary decoder 124. This determines if that is to be addressed Digital word is partly contained in two consecutive memory locations and a second memory location
.p· adressiert werden muß. Die Wortbytegrößensignale 122 stehen ferner mit einem Ausrichtdecoder 100 in Verbindung, dessen Ausgangssignale dem Zweirichtungsmultiplexer 104 zugeführt werden. Die aus dem Ausrichtdecoder 100 und dem Zweirichtungsmultiplexer 104 bestehende Kombination steuert die Reihenfolge der Bytes in einem Digitalwort, das in dem bzw. aus dem Speicherfeld 106 zu übertragen ist. Das Speicheradressensignal LSBS 120 und das Wortbytegrößensignal 122 stehen außerdem mit einem Spaltenaktivierungsdecoder 108 in Verbindung, der diejenigen Spalten oder Bytes inner-.p · must be addressed. The word byte size signals 122 are asserted also connected to an alignment decoder 100, the output signals of which are fed to the bidirectional multiplexer 104 will. The one from the alignment decoder 100 and the bidirectional multiplexer 104 existing combination controls the order of the bytes in a digital word contained in the or is to be transferred from the memory field 106. The memory address signal LSBS 120 and the word byte size signal 122 are also connected to a column activation decoder 108, which detects those columns or bytes within
„p. halb eines Speicherplatzes des Speicherfeldes 106 auswählt, die jeweils adressiert werden müssen."P. selects half of a memory location of memory field 106, each of which must be addressed.
In Fig. 2 sind zwölf Bytes einer digitalen Information aufgelistet. Es handelt sich um eine typische Mischung ausIn Fig. 2, twelve bytes of digital information are listed. It's a typical mix of
Befehlen variabler Länge mit variablen Zahlen von Operan-3U Variable length commands with variable numbers from Operan-3U
denspezifizierern und Daten variabler Größe, die eine Länge von 8, 16, 32 ode.r 64 Bits besitzen und in dem Speicherfeld 106 gespeichert werden sollen. Der Speicherplan für den in Fig. 1 dargestellten Wortadressenplatz 0, den Wortadressenplatz 1 und den Wortadressenplatz 2 zeigt eine effiziente Speicherordnung für diese Art von gemischter Information.the specifiers and variable size data, 8, 16, 32 or 64 bits in length and in the memory array 106 are to be saved. The memory map for word address location 0 shown in FIG. 1, the word address location 1 and word address space 2 shows an efficient storage arrangement for this type of mixed information.
Jeder Befehl beinhaltet einen Operationscode (OPCODE), der die spezielle durchzuführende Operation spezifiziert. Auße-dem kann jeder Befehl einen oder mehrere Operandenspezifizierer beinhalten, die von der Befehlsart abhängen.Each command includes an operation code (OPCODE) that specifies the particular operation to be performed. In addition, each instruction can have one or more operand specifiers which depend on the type of command.
5 Obwohl die Länge eines bestimmten Befehls oder Datenworts in Abhängigkeit von der jeweiligen Bytezahl in der in Fig. 2 dargestellten Weise variieren kann, enthält jeder Speicheradressenplatz in dem wortorganisierten Speicherfeld 106 4 Bytes oder insgesamt 32 Bits. Das bedeutet, daß ein Teil eines Befehls oder Datenwortes in einem Speicherplatz und der restliche Teil in einem folgenden Speicherplatz gespeichert werden muß, um die in einem gegebenen Speicherfeld 106 insgesamt verfügbare Speicherkapazität wirksam auszunutzen. 5 Although the length of a particular command or data word can vary in the manner shown in FIG. 2 as a function of the respective number of bytes, each contains memory address space in the word-organized memory field 106 4 bytes or a total of 32 bits. That means one Part of a command or data word in a memory location and the remaining part in a subsequent memory location must be stored in order to effectively utilize the total storage capacity available in a given storage array 106.
Jede Bytespalte des Speicherfeldes 106 in Fig. 1 ist durch einen der Addierer 110, 112, 114 und 116 unabhängig von den anderen Spalten adressierbar. Die Wortadressensignale MSBS 118 für den jeweils anzusteuernden Speicherplatz bestehen aus sämtlichen Speicheradressenbits außer den log2N niedrigstwertigen Bits und werden den Eingängen aller Addierer 110 bis 116 zugeführt. Im dargestellten Ausführungsbeispiel, in welchem ein Speicherplatzwort vier Bytes enthält, ist N = 4 und Log«(4) = 2, d.h., daß die beiden niedrigstwertigen Bits die Speicheradressensignale LSBS 120 darstellen. Jeder der Addierer 110 bis 116 läßt die Wortadressensignale MSBS 118 entweder unverändert passieren oder erhöht die Wortadresse um 1. Hierzu dienen Übertragsleitungen 128 bis 134, die von dem Wortgrenzendecoder 124 zu den Addierern 110 bis 116 führen. Der Wortgrenzendecoder 124 decodiert die Speicheradressensignale LSBS 120 und die Wortbytegrößensignale 122.Each byte column of the memory field 106 in FIG. 1 is addressable by one of the adders 110, 112, 114 and 116 independently of the other columns. The word address signals MSBS 118 for the respective memory location to be driven consist of all memory address bits except for the log 2 N least significant bits and are fed to the inputs of all adders 110 to 116. In the exemplary embodiment shown, in which a memory location word contains four bytes, N = 4 and Log (4) = 2, that is to say that the two least significant bits represent the memory address signals LSBS 120. Each of the adders 110 to 116 either allows the word address signals MSBS 118 to pass unchanged or increases the word address by 1. Carry lines 128 to 134, which lead from the word boundary decoder 124 to the adders 110 to 116, are used for this purpose. The word boundary decoder 124 decodes the memory address signals LSBS 120 and the word byte size signals 122.
Da das Speicherfeld 106 4 Bytes pro Speicherplatz umfaßt, ist auch die Möglichkeit vorgesehen, 8 Bytes innerhalb von zwei Speicherzyklen anzusteuern, wenn diese 8 BytesSince the memory field 106 comprises 4 bytes per memory location, there is also the possibility of 8 bytes within to be controlled by two memory cycles if these 8 bytes
in drei aufeinanderfolgenden Speicherplätzen gespeichert sind. Es sei noch einmal auf Fig. 1 bezug genommen: Wenn eine 8-Byte-Kette, die in den Bytereferenzen BR2 bis BR9 plaziert ist, angesteuert werden soll, werden während des ersten Speicherzyklus BR2 bis BR5 aufgesucht. Das Steuersignal INC 148, das während des ersten und zweiten Speicherzyklus anliegt, veranlaßt, daß die anfängliche Wortadresse MSBS 118 zweimal inkrementiert wird und infolgedessen während des zweiten Zyklus die Bytereferenzen BR6, BR7, BR8 und BR9 adressiert werden.stored in three consecutive memory locations are. Referring again to FIG. 1, if an 8-byte string contained in byte references BR2 through BR9 is placed, is to be controlled, are searched during the first memory cycle BR2 to BR5. The control signal INC 148, asserted during the first and second memory cycles, causes the starting word address MSBS 118 is incremented twice and as a result during the second cycle the byte references BR6, BR7, BR8 and BR9 are addressed.
Wie aus Fig. 3 erkennbar ist, umfaßt das Speicherfeld 106 vier 64 χ 4 Speicher 150, 152, 154 und 156 mit wahlfreiem Zugriff (RAMs), bei dem es sich beispielsweise um Integrateschaltungen des Typs 93419 handelt. Jedes RAM besitzt eine Vielzahl von Speicherplätzen. Bei größeren Speichern kann jedes RAM durch eine Mehrzahl von sog. RAM-Bänken ersetzt werden. Jedes RAM (bzw. jede Bank von RAMs) nimmt während der Schreiboperationen ein Datenbyte von dem Zweirichtungsmultiplexer 104 auf und gibt während der Leseoperationen ein Datenbyte an den Zweirichtungsmultiplexer 104 ab. Die Aktivierung der Lese- bzw. Schreibvorgänge für die RAMs werden von dem Spaltenaktivierungsdecoder 108 gesteuert. Die von den Addierern erzeugten RAM-Wortadressen 140, 142, 144 und 146 stehen mit den höchstwertigen Adressenbits (A„ und A.) der RAMs 150 bis 156 in Verbindung. Es ist für den einschlägigen Fachmann erkennbar, daß die Anzahl der Adressenbits durch die Anzahl der in einem RAM oder in einer Bank von RAMs verwendeten Speicherplätze bestimmt ist.As can be seen from FIG. 3, the memory field comprises 106 four 64 χ 4 random access memories (RAMs) 150, 152, 154 and 156 which are, for example, integrated circuits of type 93419. Each RAM has a large number of storage locations. With larger stores can each RAM can be replaced by a plurality of so-called RAM banks. Each RAM (or bank of RAMs) takes during of the write operations one byte of data from the bidirectional multiplexer 104 and outputs a data byte to the bidirectional multiplexer 104 during the read operations. the Activation of the read and write operations for the RAMs are controlled by the column activation decoder 108. The RAM word addresses 140, 142, 144 and 146 are associated with the most significant address bits (A "and A") of RAMs 150-156. It is for the person skilled in the art recognizes that the number of address bits by the number of in a RAM or in a Bank of memory locations used by RAMs is determined.
Bei der Anordnung gemäß Fig. 3 werden nur zwei Adressenbits (Afi und A1) jedes RAMs 150 bis 156 verwendet, weitere können jedoch ohne weiteres angeschlossen werden.In the arrangement according to FIG. 3, only two address bits (A fi and A 1 ) of each RAM 150 to 156 are used, but more can easily be connected.
Die Addierer 110, 112, 114 und 116 sind im Detail in Fig. dargestellt. Sie erzeugen unter der Steuerung des Wortgrenzendecoders 124 die RAM-Wortadressen 140, 142, 144 und 146The adders 110, 112, 114 and 116 are shown in detail in Fig. shown. They generate RAM word addresses 140, 142, 144 and 146 under the control of word boundary decoder 124
zur Adressierung der einzelnen Wortadressenp.1 atze in dem Speicherfeld 106. Jeder Addierer kann beispielsweise aus einer integrierten Schaltung des Typs 5 482 bestehen, falls nur zwei Adressenbits erforderlich sind. Die Ubertragssignale 128, 130, 132 und 134, die der Wortgrenzendecoder 124 an die einzelnen Addierer liefert, schafft die Möglichkeit, den durch die Leitungen MA» 160 und MA1 162 repräsentierten Wortadressensignale MSBS 118 einer einzigen zuzufügen, um dadurch während eines Speicherzyklus zweifor addressing the individual word address spaces in the memory field 106. Each adder can for example consist of an integrated circuit of the type 5,482 if only two address bits are required. The carry signals 128, 130, 132 and 134, which the word boundary decoder 124 supplies to the individual adders, creates the possibility of adding the word address signals MSBS 118 represented by the lines MA »160 and MA 1 162 to a single one, thereby giving two during a memory cycle
J^q Speicheransteuerungen auszuführen. Ein XNC-Signal 148 ermöglicht es, allen RAM-Wortadressen gleichzeitig eine zweite 1 hinzuzufügen, so daß insgesamt drei RAM-Adressen zur Ansteuerung von 8-Byte-Befehlen oder -Daten erzeugt werden» Jeder Addierer des integrierten Schaltungstyps 5482 istJ ^ q to carry out memory controls. An XNC signal 148 enables add a second 1 to all RAM word addresses at the same time, making a total of three RAM addresses Control of 8-byte commands or data are generated » Each integrated circuit type adder 5482 is
,e in der Lage, zwei 2-Bit-Binärzahlen zu addieren. Für Speicherfelder, die nur eine größere Anzahl von RAM-Wortadressenbits benötigen, können in der dem Fachmann bekannten Weise Addierer höherer Integrationsdichte oder Kombinationen solcher Addierer verwendet werden., e able to add two 2-bit binary numbers together. For storage fields, which only require a larger number of RAM word address bits can be used in the known to those skilled in the art In this way, adders of higher integration density or combinations of such adders can be used.
Fig. 5 zeigt die logische Schaltung des WortgrenzendecodersFig. 5 shows the logic circuit of the word boundary decoder
124. Dieser Decoder, der aus einem NOR-Glied 164 und einem NAND-Glied 166 besteht, steuert die Addierer 110 bis 116 in Abhängigkeit von den niedrigswertigen Bits (LSBs) der124. This decoder, which consists of a NOR element 164 and a NAND element 166, controls the adders 110 to 116 depending on the least significant bits (LSBs) of the
„ε Speicheradresse und der Bytegröße des Befehls oder der Speicherdatenreferenz. Falls die beiden LSBs, MA„ und MA3 der Speicheradresse "wahr" sind, wird auf den Leitungen 128, 130 und 132 ein übertrag für die Addierer 0, 1 und 2 erzeugt. Wenn nur das LSB MA2 "wahr" ist, wird auf den Leitungen 128 und 130 ein übertrag für die Addierer 0 und 1 erzeugt, wodurch der zugeordneten Wortadresse MSBS 118 eine 1 hinzugefügt wird. Falls nur das LSB MA3 "wahr" ist, wird auf der Leitung 128 für den Addierer 0 erzeugt, wodurch der zugeordneten Wortadresse MSBS 118 eine 1 hinzu-„Ε memory address and the byte size of the command or memory data reference. If the two LSBs, MA "and MA 3 of the memory address" are "true", a carry for adders 0, 1 and 2 is generated on lines 128, 130 and 132. If only LSB MA 2 is "true", a carry for adders 0 and 1 is generated on lines 128 and 130, as a result of which a 1 is added to the assigned word address MSBS 118. If only the LSB MA 3 is "true", 0 is generated on line 128 for the adder, as a result of which a 1 is added to the assigned word address MSBS 118.
a5 gefügt wird. Der übertrag auf Leitung 134 für den Addierer 3 ist immer "falsch". Das INC-Signal 148 ist in der vor- a5 is added. The transfer on line 134 for adder 3 is always "false". The INC signal 148 is in the previous
liegenden Ausführungsform eines der Wortbytegrößensignale 122. Es ist ein Steuersignal, das während der zweiten Hälfte einer zwei Zyklen umfassenden 8-Byte-Speicheransteuerung erzeugt wird, wodurch allen zugeordneten Wortadressen eine 1 hinzugefügt wird.lying embodiment of one of the word byte size signals 122. It is a control signal that is generated during the second half of an 8-byte memory control comprising two cycles is generated, whereby a 1 is added to all assigned word addresses.
Die logischen Teilschaltungen des Spaltenaktivierungsdecoders 108 sind in Fig. 6A (Gatter 210 bis 226 und Inverter 228 bis 230) und Fig. 6B (Gatter 240 bis 256 und Inverter 258 bis 260) dargestellt. Dieser Decoder erzeugt die Schreibaktivierung und die Ausgangs- oder Chipaktivierung für jedes RAM 150 bis 156 (Fig. 3) in Abhängigkeit von der Speicherbezugsgröße (1 Byte oder 4 Byte) und den LSBs (MA9 und MA.,) der Speicheradresse. Die Steuersignale 1-Byte 170, 2-Byte 172 und 4-Byte 174 werden von dem Wortbytegrößen-Eingangswort 122 geliefert und kennzeichnen die Anzahl der Bytes in einer Speicherreferenz. Der Speicherplatz des Startbytes ist durch die Speicheradressensignale LSBS 120 gekennzeichnet, die im vorliegenden Ausführungsbeispiel die Bits MA2 und MA3 umfassen. Wenn die an einem Speicherplatz des Speicherfeldes 106 gespeicherte Information ausgelesen werden soll, wird ein Ausgangs- oder Chipaktivierungssignal, z.B. das Signal CE RAM "R" erzeugt, worin "R" die RAM-Referenzbestimmungszahl 0, 1, 2 oder 3 ist, die ein RAM zur Ausführung eines Lesezyklus veranlaßt. Wenn Information in das Speicherfeld 106 eingelesen werden soll, wird ein Ausgangssignal CE RAM "R" mit einer UND-Verknüpfung mit Steuersignalen WRITE 176 und WRITE PLS 178 kombiniert, wodurch die Erzeugung von WE RAM "R"-Signalen veranlaßt wird, die ein RAM zur Ausführung eines Schreibzyklus veranlassen.The logic subcircuits of the column activation decoder 108 are shown in FIG. 6A (gates 210 to 226 and inverters 228 to 230) and FIG. 6B (gates 240 to 256 and inverters 258 to 260). This decoder generates the write activation and the output or chip activation for each RAM 150 to 156 (FIG. 3) depending on the memory reference size (1 byte or 4 bytes) and the LSBs (MA 9 and MA.,) Of the memory address. The control signals 1-byte 170, 2-byte 172 and 4-byte 174 are supplied by the word byte size input word 122 and identify the number of bytes in a memory reference. The memory location of the start byte is identified by the memory address signals LSBS 120, which in the present exemplary embodiment comprise bits MA 2 and MA 3. When the information stored in a memory location of the memory field 106 is to be read out, an output or chip activation signal, for example the signal CE RAM "R", is generated, where "R" is the RAM reference destination number 0, 1, 2 or 3, which is a Causes RAM to execute a read cycle. When information is to be read into memory array 106, an output CE RAM "R" is ANDed with control signals WRITE 176 and WRITE PLS 178, causing WE RAM "R" signals to be generated which a RAM cause a write cycle to be carried out.
Fig. 7 zeigt Einzelheiten der Logik des Ausrichtdecoders 100. Sie umfaßt Gatter 270 bis 280 und Inverter 282. Das logische Konzept des Ausrichtdecoders 100 ist derart, daß in den Fällen, in denen nicht eine Speicherreferenz fürFigure 7 shows the details of the logic of the alignment decoder 100. It includes gates 270-280 and inverters 282. The The logic concept of the alignment decoder 100 is such that in those cases where there is no memory reference for
χ 1-Byte- oder 4-Byte-Informationen vorliegt, Ausgangs-signale erzeugt werden, die 2-Byte-Informal-ionen entsprechen. Der Ausrichtdecoder 100 erzeugt die Ausgangssignale A und B für den Zweirichtungsmultiplexer 104 in Abhängigkeit von den Speicheradressensignalen LSBS 120 (MA2 und MA3) und den Wortbytegrößensignalen 122 (1-Eyte 170 und 4-Byte 174). Das Eingangs-Ausgangs-Signal Mux Sei A 180 wird sowohl für den Eingangsmultiplexer 190 als auch für den Ausgangsmultiplexer 192 des Zweirichtungsmultiplexers 104 verwendet, jO während das Eingangssignal Mux Sei B 184 aus dem Ausgangssignal Mux Sei B 182 und dem Eingangs-Ausgangs-Signal Mux Sei A 180 abgeleitet wird. χ 1-byte or 4-byte information is available, output signals are generated that correspond to 2-byte information. The alignment decoder 100 generates the output signals A and B for the bidirectional multiplexer 104 as a function of the memory address signals LSBS 120 (MA 2 and MA 3 ) and the word byte size signals 122 (1-eyte 170 and 4-byte 174). The input-output signal Mux Sei A 180 is used both for the input multiplexer 190 and for the output multiplexer 192 of the bidirectional multiplexer 104, while the input signal Mux Sei B 184 from the output signal Mux Sei B 182 and the input-output signal Mux Let A 180 be derived.
Der Eingangsmultiplexer 190 und der Ausgangsmultiplexer 192 bilden den in Fig. 8 dargestellten Zweirichtungsmultiplexer 104. Die in Fig. 9 dargestellte Tabelle 9 enthält die Verbindungen zu den Multiplexereingängen CQ, C1, C2 und C3. Der Zweirichtungsmultiplexer 104 "dreht" die Bytes während der Speicherlese- und -Schreiboperationen in die geeignete Reihenfolge. Die Ausgangsmultiplexer 192 sind während der Speicherleseoperation aktiv. Sie umfassen zweiunddreissig 4:1-Multiplexer, deren jeder beispielsweise aus einer integrierten Schaltung des Typs 74LS353 besteht. Das Steuersignal READ 194, welches anzeigt, daß das Speicherfeld 106 einen Lesezyklus ausführt, dient zur Steuerung der Ausgabeaktivierung des Ausgangsmultiplexers 192. Die Auswahlleitungen A 196 und B 198 der Ausgangsmultiplexer 192 werden von dem Ausrichtdecoder 100 gesteuert. Die Eingangs-Ausgangs-Signale Mux Sei A 180 ist mit der Auswahlleitung A 196 verbunden, während das Ausgangssignal Mux Sei B 182 mit der Auswahlleitung B 198 verbunden ist. Die Eingangsmultiplexer 190 sind während der Speicherschreib- -operationen aktiv. Sie umfassen zweiunddreissig 4:1 Multiplexer, die jeweils z.B. aus einer integrierten Schaltung des Typs 74LS153 bestehen. Der Ausrichtdecoder 100 steuert auch die Auswahlleitungen A 200 und B 202 der Eingangs-The input multiplexer 190 and the output multiplexer 192 form the bidirectional multiplexer 104 shown in FIG. 8. Table 9 shown in FIG. 9 contains the connections to the multiplexer inputs C Q , C 1 , C 2 and C 3 . The bidirectional multiplexer 104 "rotates" the bytes into the appropriate order during memory read and write operations. The output multiplexers 192 are active during the memory read operation. They comprise thirty-two 4: 1 multiplexers, each of which consists, for example, of a 74LS353 integrated circuit. The control signal READ 194, which indicates that the memory field 106 is executing a read cycle, is used to control the output activation of the output multiplexer 192. The selection lines A 196 and B 198 of the output multiplexer 192 are controlled by the alignment decoder 100. The input-output signals Mux Sei A 180 is connected to the selection line A 196, while the output signal Mux Sei B 182 is connected to the selection line B 198. The input multiplexers 190 are active during memory write operations. They include thirty-two 4: 1 multiplexers, each of which consists, for example, of an integrated circuit of the type 74LS153. The alignment decoder 100 also controls the selection lines A 200 and B 202 of the input
multiplexer 190. Das Eingangs-Ausgangs-Signal Mux Sei A 180 ist mit der Auswahlleitung A 200 verbunden, während das Eingangssignal Mux Sei B 184 mit der Auswahlleitung B 202 verbunden ist. Die Tabelle 1 zeigt auch an, welche Speicherbus-Bits mit jedem Eingangsmultiplexer 190 und welche RAM-Daten-Ausgangsbits mit jedem Ausgangsmultiplexer 192 verbunden sind.multiplexer 190. The input-output signal Mux Let A 180 is connected to the selection line A 200, while the input signal Mux Sei B 184 is connected to the selection line B 202 is connected. Table 1 also indicates which memory bus bits are associated with each input multiplexer 190 and which RAM data output bits are connected to each output multiplexer 192.
Zur Erläuterung der Wirkungsweise des byteadressierbaren Speichers gemäß Fig. 1 sei als Beispiel die Ansteuerung eines 4-Byte-Datenworts in einem Speicherzyklus beschrieben, das s.ich in den Bytereferenzen BR6, BR7, BR8 und BR9 des Speie .erfeldes 106 befindet. Die Speicheradresse für dieses Datenwort ist aufgeteilt in einen Teil, der die höchstwertigen Bits enthält und einen Teil, der die niedrigstwertigen Bits enthält, die als Wortadressensignale MSBS 118 bzw. Speicheradressensignale LSBS 120 bezeichnet sind. Die Wortadressensignale MSBS 118 stehen mit allen Addierern 110, 112, 114 und 116 in Verbindung und wählen einen Wortadressenplatz in dem Speicherfeld 106, beispielsweise den Wortadressenplatz 1, aus, an dem sich BR6 und BR7 sowie zusätzlich die nicht gewünschten BR4 und BR5 befinden.To explain the mode of operation of the byte-addressable memory according to FIG. 1, the control is an example a 4-byte data word written in one memory cycle, see the byte references BR6, BR7, BR8 and BR9 of the Speie .erfeldes 106 is located. The memory address for this The data word is divided into a part that contains the most significant bits and a part that contains the least significant bits Contains bits which are referred to as word address signals MSBS 118 and memory address signals LSBS 120, respectively. Word address signals MSBS 118 are with all adders 110, 112, 114 and 116 in conjunction and select a word address space in the memory field 106, for example the word address location 1, at which BR6 and BR7 as well as additionally the unwanted BR4 and BR5 are located.
Zur Auswahl der gewünschten Bytes, beispielsweise BR6 und BR7 werden Wortbytegrößensignale 122 erzeugt, die die Anzahl der Bytes unter der angesteuerten Speicheradresse kennzeichnen, die im vorliegenden Beispiel vier beträgt. Dies ist wichtig, weil im vorliegenden Beispiel die Information der jeweiligen Speicheradresse teilweise an zwei Speicherplätzen liegt, d.h. BR6 und BR7 sind an dem Wortadressenplatz 1 und BR8 und BR9 sind an dem Wortadressenplatz 2 gespeichert. Die Wortadressensignale MSBS 118 durchlaufen die Addierer 114 und 116 und veranlassen die Ansteuerung von BR6 und BR7 an dem Wortadressenplatz 1. Während desselben Speicherzyklus werden die Wortadressensignale MSBS 118 unter dem Steuereinfluß des Wortgrenzen-To select the desired bytes, e.g. BR6 and BR7, word byte size signals 122 are generated which indicate the number of bytes under the selected memory address mark, which is four in the present example. This is important because in this example the information The respective memory address is partly in two memory locations, i.e. BR6 and BR7 are at the word address location 1 and BR8 and BR9 are stored in word address location 2. The word address signals MSBS 118 pass through adders 114 and 116 and cause the Control of BR6 and BR7 at word address location 1. During the same memory cycle, the word address signals MSBS 118 under the control of the word boundary
BAD ORIGINALBATH ORIGINAL
decoders 124 um 1 erhöht, wenn sie die Addierer 110 und 112 durchlaufen. Das hat zur Folge, daß BR8 und BR9 an dem Wortadressenplatz 2 angesteuert werden. Das Einschreiben oder Auslesen der geeigneten Zahl von Informationsbytes in einen oder aus einem Speicherplatz des Speicherfeldes 106 wird ferner durch den Spaltenaktivierungsdecoder 108 bestimmt, der Ausgabeaktivierungssignale (Lesesignale), wie z.B. CE RAM O 149 oder ein Schreibaktivierungssignal, z.B. WE RAM O 147 erzeugt. Wenn die Ausgäbeaktivierung- oder Lesesignale erzeugt werden/ erscheinen die betreffenden Bytes an den Eingangs-Ausgangs-Ports des Speicherfeldes 106 in der Reihenfolge BR8, BR9, BR6 und BR7. Der Zweirichtungsmultiplexer 104 ordnet unter dem Steuereinfluß des Ausrichtdecoders 100 die Reihenfolge neu, so daß an der 32-Bit-(4 Byte)-Speicherdatenbus-Schnittstelle 102 die Bytefolge BR6, BR7, BR8 und BR9 vorliegt. Wenn im vorliegenden Beispiel die Inhalte von BR6, BR7, BR8 und BR9 in das Speicherfeld 106 durch eine Schreiboperation eingespeichert werden, liegt die Information an dem 32-Bit-(4-Byte)-Speicherdatenbus 102 in der Reihenfolge BR6, BR7, BR8, BR9 vor. Der Zweirichtungsmultiplexer 104 ordnet die Bytefolge unverzüglich um in die Reihenfolge BR8, BR9, BR6, BR7, damit BR6 und BR7 in die zweite Hälfte des Portadressenplatzes 1 und BR8 und BR9 in die erste Hälfte des Wortadressenplatzes 2 des Speicherfeldes 106 gelangen.decoders 124 increased by 1 if they use adders 110 and 112 pass through. As a result, BR8 and BR9 are activated at word address location 2. The registered mail or reading out the appropriate number of information bytes The column activation decoder 108 is also used to move into or out of a memory location in the memory field 106 determines the output activation signals (read signals), such as CE RAM O 149 or a write activation signal, e.g. WE RAM O 147 generated. If the output activation or read signals are generated / the relevant bytes appear at the input / output ports of the memory field 106 in the order BR8, BR9, BR6 and BR7. The bidirectional multiplexer 104 rearranges the order under the control of alignment decoder 100 so that the 32-bit (4 byte) memory data bus interface 102 has the byte sequence BR6, BR7, BR8 and BR9. If in the present Example, the contents of BR6, BR7, BR8 and BR9 are stored in the memory field 106 by a write operation the information is on the 32-bit (4-byte) memory data bus 102 in the order BR6, BR7, BR8, BR9. The bidirectional multiplexer 104 immediately orders the byte sequence around in the order BR8, BR9, BR6, BR7, thus BR6 and BR7 in the second half of the port address space 1 and BR8 and BR9 get into the first half of word address space 2 of memory field 106.
Falls einer 8-Byte-Informationskette, die in BR2 bis BR9 eingespeichert ist, aus dem Speicherfeld 106 ausgelesen werden soll, entspricht der Vorgang für die Bytereferenzen BR2, BR3, BR4, BR5 der vorangehend für den ersten Speicherzyklus beschriebenen Operation. Während eines zweiten Speicherzyklus wird ein Steuersignal INC 148 erzeugt, welches veranlaßt, daß den Wortadressensignalen MSBS 118, die die Addierer 110, 112, 114 und 116 durchlaufen, eine weitere 1 hinzugefügt wird. Das hat zur Folge, daß BR6, BR7, BR8 und BR9 in der oben beschriebenen Weise angesteuert werden,If an 8-byte information chain contained in BR2 to BR9 is stored, is to be read from the memory field 106, the procedure for the byte references corresponds BR2, BR3, BR4, BR5 of the operation described above for the first memory cycle. During a second storage cycle a control signal INC 148 is generated, which causes the word address signals MSBS 118, which the Adders 110, 112, 114 and 116 go through one more 1 is added. As a result, BR6, BR7, BR8 and BR9 are controlled in the manner described above,
wobei der Zweirichtungsinultiplexer 104 wieder die geeignete Neuordnung vornimmt.the bidirectional multiplexer 104 again being the appropriate one Performs reorganization.
Das vorangehend anhand der Zeichnungen beschriebene Ausführungsbeispiel besitzt einen Schreib-Lese-Speieher mit wahlfreiem Zugriff. Die Erfindung ist ebenso anwendbar auf einen Nurlesespeicher (ROM), der aus integrierten Halbleiterchips aufgebaut ist. Derartige Chips benötigen selbstverständlich keinerlei Einschreibsteuersignale. Die Ausführungen überThe exemplary embodiment described above with reference to the drawings has a read / write memory with random access. The invention is also applicable to one Read-only memory (ROM) made up of integrated semiconductor chips. Such chips need of course no write control signals whatsoever. The remarks about
2Q die Geschwindigkeit und die Speichereffizienz treffen jedoch auch für einen solchen ROM-Speicher zu. Insgesamt erforderliche Speicherkapazität in den RAMs oder ROMs variieren in Abhängigkeit von den jeweiligen Anwendungserfordernissen, Die Anzahl der Bits oder Bytes in einem Wort2Q meet the speed and storage efficiency however, also for such a ROM memory too. The total storage capacity required in the RAMs or ROMs will vary depending on the application requirements, the number of bits or bytes in a word
2g kann sich ebenso ändern wie die Gesamtzahl der Wörter. Wenn die Speicherkapazität ansteigt, erhöht sich auch die Zahl der Adressenbits, so daß Vielfachbit-Addierer oder Zusammenfassungen von Addierern für die Inkrementierung der Speicherbezugsadressen nötig werden. Es ist möglich, alle2g can change as can the total number of words. if As the storage capacity increases, so does the number of address bits, so that multi-bit adders or summaries of adders for incrementing the memory reference addresses. It is possible all
2Q für die Realisierung der Speicheranordnung gemäß der Erfindung erforderlichen integrierten Schaltungen als eine einzige großintegrierte Schaltung (LSI) auszubilden.2Q for the implementation of the memory arrangement according to the invention the required integrated circuits as a single large-scale integrated circuit (LSI).
Claims (1)
gekennzeichnet durchM. ) Byte-wise addressable memory arrangement for commands and data of variable length
marked by
- Übertragung von Digitalwörtern von der und zu der Speicheranordnung unter dem Steuereinfluß der von dem dritten Decoder erzeugten Steuersignale.Bytes to be transmitted by a third decoder, which responds to the second digital word and the third digital word,
Transmission of digital words from and to the memory arrangement under the control of the control signals generated by the third decoder.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30800681A | 1981-10-02 | 1981-10-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3236524A1 true DE3236524A1 (en) | 1983-04-28 |
Family
ID=23192129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823236524 Withdrawn DE3236524A1 (en) | 1981-10-02 | 1982-10-02 | BYTE-WAY ADDRESSABLE STORAGE ARRANGEMENT FOR COMMANDS AND DATA WITH VARIABLE LENGTH |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPS5886651A (en) |
CA (1) | CA1183275A (en) |
DE (1) | DE3236524A1 (en) |
GB (1) | GB2108737B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0156316A2 (en) * | 1984-03-24 | 1985-10-02 | Kabushiki Kaisha Toshiba | Memory device with data access control |
EP0303819A2 (en) * | 1987-08-21 | 1989-02-22 | Heimann Optoelectronics GmbH | Integrated circuit for reading out an optoelectronic image sensor |
EP0331789A2 (en) * | 1988-02-26 | 1989-09-13 | Siemens Aktiengesellschaft | Memory for a computing arrangement which operates with high precision on both floating point and fixed point numbers |
WO1996038783A1 (en) * | 1995-06-01 | 1996-12-05 | Hal Computer Systems, Inc. | Method and apparatus for rotating active instructions in a parallel data processor |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4507731A (en) * | 1982-11-01 | 1985-03-26 | Raytheon Company | Bidirectional data byte aligner |
EP1569124A1 (en) * | 2004-02-26 | 2005-08-31 | Matsushita Electric Industrial Co., Ltd. | Memory interface and data processing |
-
1982
- 1982-09-15 CA CA000411468A patent/CA1183275A/en not_active Expired
- 1982-09-30 GB GB08227985A patent/GB2108737B/en not_active Expired
- 1982-10-01 JP JP57173105A patent/JPS5886651A/en active Pending
- 1982-10-02 DE DE19823236524 patent/DE3236524A1/en not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0156316A2 (en) * | 1984-03-24 | 1985-10-02 | Kabushiki Kaisha Toshiba | Memory device with data access control |
EP0156316A3 (en) * | 1984-03-24 | 1989-06-28 | Kabushiki Kaisha Toshiba | Memory device with data access control |
EP0303819A2 (en) * | 1987-08-21 | 1989-02-22 | Heimann Optoelectronics GmbH | Integrated circuit for reading out an optoelectronic image sensor |
EP0303819A3 (en) * | 1987-08-21 | 1991-05-29 | Heimann Optoelectronics GmbH | Integrated circuit for reading out an optoelectronic image sensor |
EP0331789A2 (en) * | 1988-02-26 | 1989-09-13 | Siemens Aktiengesellschaft | Memory for a computing arrangement which operates with high precision on both floating point and fixed point numbers |
EP0331789A3 (en) * | 1988-02-26 | 1991-07-24 | Siemens Aktiengesellschaft | Memory for a computing arrangement which operates with high precision on both floating point and fixed point numbers |
WO1996038783A1 (en) * | 1995-06-01 | 1996-12-05 | Hal Computer Systems, Inc. | Method and apparatus for rotating active instructions in a parallel data processor |
US5838940A (en) * | 1995-06-01 | 1998-11-17 | Fujitsu Limited | Method and apparatus for rotating active instructions in a parallel data processor |
Also Published As
Publication number | Publication date |
---|---|
GB2108737A (en) | 1983-05-18 |
JPS5886651A (en) | 1983-05-24 |
GB2108737B (en) | 1986-02-12 |
CA1183275A (en) | 1985-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68907518T2 (en) | Content-addressed storage arrangement. | |
DE4035405C2 (en) | ||
DE3902425C2 (en) | ||
DE3438869C2 (en) | ||
DE3751540T2 (en) | Method and device for data processing. | |
DE69027932T2 (en) | CPU PIPELINE WITH REGISTER FILE BYPASS BY ADDRESS COMPARISON FOR UPDATES / ACCESSES | |
DE3586377T2 (en) | SEMICONDUCTOR MEMORY ARRANGEMENT. | |
EP0010185B1 (en) | Virtual-addressing device for a computer | |
DE2723467A1 (en) | MEMORY CONTROL ARRANGEMENT | |
DE2718110A1 (en) | DATA PROCESSING UNIT | |
DE2718551C3 (en) | Address converter | |
DE3888438T2 (en) | Cache control device for a data processing device with virtual memory. | |
DE2746505A1 (en) | IT SYSTEM WITH A DEVICE FOR ADDRESSING MICRO PROGRAMS STORED IN A FIXED VALUE MEMORY | |
DE2912073C2 (en) | ||
DE2758829A1 (en) | MULTIPROCESSOR DATA PROCESSING SYSTEM | |
DE3685844T2 (en) | ELECTRONIC CIRCUIT TO CONNECT A PROCESSOR TO A POWERFUL MEMORY. | |
DE4117672A1 (en) | CPU and cache memory control method - avoiding limitation of CPU operation due to cache memory operation | |
DE3919802A1 (en) | Memory component with vector processors and a scalar processor | |
DE3236524A1 (en) | BYTE-WAY ADDRESSABLE STORAGE ARRANGEMENT FOR COMMANDS AND DATA WITH VARIABLE LENGTH | |
DE68926158T2 (en) | Single chip microcomputer with EPROM | |
DE3586524T2 (en) | THROUGH BOTH, PHYSICAL AND VIRTUAL ADDRESSES, ADDRESSABLE CACHE STORAGE. | |
DE2349253C3 (en) | Computer system | |
DE2747304A1 (en) | MICRO COMMAND DEVICE | |
DE2726679A1 (en) | CHANNEL CONTROL FOR DATA PROCESSING SYSTEMS AND PROCEDURES FOR YOUR BUSINESS | |
DE2235883A1 (en) | DATA PROCESSING DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |