DE69113059T2 - Register zur übertragung von dateien eines multitor-registers. - Google Patents
Register zur übertragung von dateien eines multitor-registers.Info
- Publication number
- DE69113059T2 DE69113059T2 DE69113059T DE69113059T DE69113059T2 DE 69113059 T2 DE69113059 T2 DE 69113059T2 DE 69113059 T DE69113059 T DE 69113059T DE 69113059 T DE69113059 T DE 69113059T DE 69113059 T2 DE69113059 T2 DE 69113059T2
- Authority
- DE
- Germany
- Prior art keywords
- input
- output
- register file
- ram
- ports
- 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 - Lifetime
Links
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims 5
- 210000000352 storage cell Anatomy 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005516 engineering process Methods 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/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- 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
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Static Random-Access Memory (AREA)
- Dram (AREA)
- Executing Machine-Instructions (AREA)
Description
- Diese Erfindung betrifft ein Gebiet der Speichersysteme von digitalen Rechnern und insbesondere ein Schreib-Lese-Speichergerät mit wahlfreiem Zugriff (RAM) oder ein System mit mehreren Eingangs- und/oder Ausgangsports. Entsprechend der derzeit gültigen Terminologie werden diese Gerate Multiport-Registerdateien genannt. Die Erfindung stellt eine Multiport-Registerdatei bereit, bei der an einen Eingangsport gelieferte Informationen gleichzeitig oder sogar bevor sie in einen Speicherplatz eingeschrieben werden, über einen oder mehrere Ausgangsports ausgelesen werden können.
- Typische, dem Stand der Technik entsprechende Multiport- Registerdateien sind beispielsweise in den den U.S.-Patentschriften Nr. 4,535,428, erteilt am 13. August 1985 an Anatol Furman, und 4,558,433, erteilt am 10. Dezember 1985 an Cary Bernstein, beschrieben. Die Beschreibungen dieser Patente sind hier als Stand der Technik einbezogen.
- Multiport-Registerdateien arbeiten normalerweise auf Basis eines Taktsignals, das den zeitlichen Ablauf der Lese- und Schreiboperationen bezüglich des Registerdateispeichers steuert. Typischerweise legt der Taktzyklus bestimmte Zeiten fest, zu denen Daten in den Speicher der Registerdatei geschrieben und andere Zeiten, zu denen Daten aus dem Speicher der Registerdatei ausgelesen werden können. So können z.B. während der ersten Hälfte eines Taktzyklus Daten in den Speicher geschrieben und während der zweiten Hälfte des Taktzyklus Daten aus dem Speicher ausgelesen werden. Bei einer solchen normalen Operation, in der Daten von einem bestimmten Eingangsport an einen bestimmten Ausgangsport der Multiport-Registerdatei zu übergeben sind, müssen deshalb während eines Taktzyklus die Daten zuerst in das RAM geschrieben und während des nächsten (oder eines späteren) Taktzyklus aus dem RAM ausgelesen werden.
- Zusätzliche Einschränkungen der Lese-/Schreiboperationen können durch die interne Architektur dieser Geräte auf erlegt sein. Wie in den Patenten von Bernstein und Furman dargelegt, ist bei solchen Multiport-Registerdateien auf den Schutz der Integrität der gespeicherten Daten während der Lese- und Schreiboperationen zu achten. Normalerweise sind die Bitleitungen in einer RAM-Zelle (d.h. die Leiter, über die Datenbits zum Einschreiben in die oder zum Auslesen aus den Speicherzellen) auf einen dem Komplementärwert der Zelldaten entsprechenden Pegel vorgespannt. Werden eine Reihe von Ports gleichzeitig eingeschaltet, um auf eine gegebene Speicherzelle zuzugreifen, so kann die betreffende Zelle ihr Datum verlieren. Um diesen Datenverlust zu vermeiden, können größere, komplexere Zellstrukturen verwendet werden oder der Zugriff auf die Zelle kann auf jeweils einen Satz Bitleitungen beschränkt werden, wobei die Daten wie erforderlich erneut an die anderen Ports außerhalb der RAM-Struktur selbst gelegt werden. Das heißt, daß bei Erkennung einer Adreßkoinzidenz innerhalb der Ports (was bedeutet, daß zwei oder mehr Ports den Zugriff auf ein und dieselbe Datenzelle versuchen) nur eine Wortleitung freigegegen ist, was den Zugriff auf einen einzigen Port begrenzt. Der Port wird entsprechend einer vorgegebenen Prioritätsliste gewählt. Danach schalten Komparatoren einen entsprechenden Multiplexer, so daß die Bitleitungen der höchsten Priorität ebenfalls an Ports niedrigerer Priorität gelegt werden. Eine derartige Operation wird detailliert in den Patenten von Furman und Bernstein erläutert, die hiermit einbezogen werden.
- Im allgemeinen ist es jedoch wünschenswert (und sogar wichtig), daß die Möglichkeit besteht, Daten rasch von einem Eingangs- (oder Schreib-)-Port einer Multiport-Registerdatei an einen Ausgangs- (oder Lese-)-Port, z.B. innerhalb eines Zyklus, zu übergeben, anstatt die übliche Verzögerung von einem oder mehr Zyklen abwarten zu müssen. Diese gewünschte Operation ist als "Durchsatz" von Daten bekannt. Das von Bernstein, Furman und anderen angewendete Prinzip zum Sperren des Mehrfachlesens bringt jedoch Einschränkungen hinsichtlich der Verwirklichung der Durchsatzoperation mit sich, die nicht zulassen, daß ein Eingangs- und ein Ausgangsport gleichzeitig Zugriff auf eine einzige Zelle erhalten.
- In A Sub-5 Nanosecond ECL 128 x 18 3 Port Register File, Procedings of the 1987 Bi-polar Circuits Technology Meet- ing, 22. September 1987, S. 98-100, beschreiben D. Chang und R. Hook eine Registerdatei mit einem einzigen Eingang und mehreren Ausgängen, in der Daten von dem einzigen Eingang zu jedem der Ausgänge durchgesetzt werden können. Die Schaltung prüft die Äquivalenz zwischen der Schreibadresse und jeder der Leseadressen und, bei Erkennen einer Überein- Stimmung, zwingt die Logik die Weitergabe des einzuschreibenden Datums an den entsprechenden Leseausgangsport. Die Leseinformation wird unmittelbar aus dem Datenpuffer anstelle des Leseverstärkers durch die Verwendung einer Multiplexerschaltung ausgelesen.
- In der U.S.-Patentschrift Nr. 4,811,296, die am 7. März 1989 erlassen wurde und den Titel "Multi-Port Register File with Flow-Through of Data" trägt, beschreibt der Erfinder der vorliegenden Erfindung eine verbesserte Multiport-Registerdatei, die die Durchsatzoperation gestattet, während sie gleichzeitig eine mehrfache Leseoperation sperrt. Diese dem Stand der Technik zugehörige Erfindung ermöglicht auch, daß das an den Ausgangsport durchzusetzende Datum gleichzeitig während desselben Halbzyklus in eine ausgewählte Zelle des RAM geschrieben wird, da der Durchsatz über die Bitleitungen des RAM erfolgt. Die U.S.-Patentschrift Nr. 4,811,296 wird hiermit als Stand der Technik zitiert, aber die frühere Erfindung wird hiermit ebenfalls ausdrücklich zur Verdeutlichung bei Vergleichen in der Fig. 1 dargestellt.
- Obwohl die Erfindung gemäß der U.S.-Patentschrift Nr. 4,811,296 eine erhebliche Verbesserung gegenüber dem Stand der Technik darstellt, hat der Erfinder der vorliegenden Erfindung seither nach einer Möglichkeit gesucht, einen noch rascheren Durchsatz von Daten in einer Multiport-Registerdatei zu erzielen.
- Es ist demnach eine Aufgabe der vorliegenden Erfindung, eine verbesserte Multiport-Registerdatei bereitzustellen, die den raschen Durchsatz von Daten von einem Eingangsport zu einem Ausgangsport unterstützt.
- Entsprechend der vorliegenden Erfindung wird eine Multiport-RAM-Registerdatei, wie in Anspruch 1 definiert, bereitgestellt.
- Bei einem ersten Ausführungsbeispiel der vorliegenden Erfindung wird die obengenannte Aufgabe durch eine Multiport- RAM-Registerdatei erfüllt, mit: (1) einem Multiport-RAM; (2) einem ersten Satz von Multiplexern, die als Eingangs- Multiplexer bezeichnet werden, (3) einem zweiten Satz von Multiplexern, die als Ausgangs-Multiplexer bezeichnet werden, wobei der Ausgang jedes Eingangs-Multiplexers mit einem Eingang eines zugehörigen Ausgangs-Multiplexers und der Ausgang jedes dieser Ausgangs-Multiplexer mit einem entsprechenden Ausgangsport der Registerdatei und ein anderer Eingang jedes der Ausgangs-Multiplexer mit einem entsprechenden Ausgangsport des RAM verbunden ist; (4) einer Logik zur Steuerung der Operation der Eingangs- und Ausgangs-Multiplexer; und (5) einer Adreßdecodierlogik zur Steuerung des Schreibens bzw. Programmieren des RAM. Die Logik zur Steuerung der Multiplexer umfaßt Durchsatz-Adreßkomparatoren.
- Wenn die Durchsatz-Adreßkomparatoren eine Durchsatzoperation erkennen, veranlassen sie die Ausgangs-Multiplexer, als ihre Eingänge die Signale von ihren zugehörigen Eingangs-Multiplexern zu wählen, so daß das Datum direkt von den Eingangs-Multiplexern zu den Ausgangs-Multiplexern fließt, ohne die RAM-Bitleitungen zu verwenden; tatsächlich wird das RAM selbst umgangen. Damit ist das von den Registerdateieingängen an ihre Ausgänge "durchgesetzte" Datum tatsächlich das Datum, das während des nächsten Schreibzyklus (d.h. des nächsten Halbzyklus) in das RAM geschrieben werden wird; dies ist deshalb möglich, weil das in das RAM zu schreibende Datum an einem Eingangsport der Registerdatei vorliegen muß, bevor der RAM-Schreibzyklus beginnen kann. Während einer Schreiboperation empfangen die RAM- Eingangsports ihre Daten direkt von den Registerdatei-Eingangsports, ohne über die Eingangs-Multiplexer zu gehen. Damit können Schreibdaten sogar noch bevor das RAM die Daten in seine Zellen schreiben kann, zu den Registerdatei- Ausgangsports durchgesetzt werden, wobei die Schreib- und die Durchsatzoperation unabhängig voneinander erfolgen. Erkennen die Durchsatz-Adreßkomparatoren keine Durchsatzoperation, so wählen die Ausgangs-Multiplexer die zugehörigen RAM-Ausgangsports als ihre Eingänge.
- Bei einem zweiten Ausführungsbeispiel wird dieselbe Aufgabe mit einer Anordnung gelöst, die auf die Ausgangs-Multiplexer verzichtet. Jeder RAM-Ausgangsport ist statt dessen mit einem Eingang eines entsprechenden Eingangs-Multiplexers gekoppelt, und der Ausgang jedes Eingangs-Multiplexers wirkt direkt als ein entsprechender Registerdatei-Ausgangsport. Hatten also die Eingangs-Multiplexer des ersten Ausführungsbeispiels jeweils "n" Eingänge, so müssen die Eingangs-Multiplexer dieses zweiten Ausführungsbeispiels als eine Gruppe nicht nur n Eingänge, sondern auch eine zusätzliche Anzahl von Eingängen haben, die ausreichen, die RAM- Ausgangsports als Eingänge autzunehmen.
- Diese Kombination der Eingangs- und Ausgangs-Multiplexer des ersten Ausführungsbeispiels kann als ein (nicht ganz vollständiger) Kreuzschienenschalter betrachtet werden; die Eingangs-Multiplexer des zweiten Ausführungsbeispiels verwirklichen diesen Schalter unmittelbar, wobei die RAM-Ausgangsports einfach einen weiteren Satz von durch den Schalter zu wählenden Eingängen bilden. Die Erfindung kann also so betrachtet werden, daß sie sich einer Multiport-Registerdatei mit einem Schalter bedient, der zur Kopplung mit jedem Ausgangsport jeden Registerdatei-Eingangsport oder zumindest einen entsprechenden RAM-Ausgangsport wählen kann. Das heißt jeder Registerdatei-Ausgangsport kann mit mindestens einem der RAM-Ausgangsports gekoppelt werden. In dem Grenzfall kann jeder Registerdatei-Ausgangsport nur mit einem vorbestimmten RAM-Ausgangsport gekoppelt werden. Streng genommen handelt es sich also nicht um einen vollständigen Kreuzschienenschalter, denn es kann nicht jeder Kegisterdatei-Ausgangsport mit einigen der RAM-Ausgangsports gekoppelt werden. Diese Anordnung wird deshalb als modifizierter Kreuzschienenschalter bezeichner.
- Nunmehr sei auf die beiliegenden Zeichnungen verwiesen, in denen zeigt
- Fig. 1 ein Blockdiagramm des dem Stand der Technik zugehörigen U.S.-Patents Nr. 4,811,296;
- Fig. 2 ein Blockdiagramm eines ersten Ausführungsbeispiels einer Multiport-Registerdatei gemäß der vorliegenden Erfindung;
- Fig. 3 ein Blockdiagramm eines zweiten Ausführungsbeispiels einer Multiport-Registerdatei gemäß der vorliegenden Erfindung; und
- Fig. 4 ein Blockdiagramm eines modifizierten Kreuzschienenschalters zur Verwendung in einer Multiport-Registerdatei gemäß der vorliegenden Erfindung, die im wesentlichen ein drittes Ausführungsbeispiel bereitstellt.
- Zur Erleichterung des Vergleichs zeigt die Fig. 1 die Multiport-Registerdatei des dem Stand der Technik zugehörigen U.S.-Patents Nr. 4,811,296 des Erfinders der vorliegenden Erfindung.
- Die Fig. 2 zeigt ein erstes Ausführungsbeispiel einer Multiport-Registerdatei 50 gemäß der vorliegenden Erfindung. In der Fig. 2 sind für die der Fig. 1 entsprechenden Elemente gleiche Bezugszeichen und Beschriftungen verwendet worden. Aus Darstellungsgründen hat diese Registerdatei drei Eingangs- und drei Ausgangsports und einen 3-Port-RAM 12 (d.h. einen RAM mit drei Eingangs- und drei Ausgangsports), obwohl es sich verstehen dürfte, daß die Erfindung für eine beliebige Anzahl von RAM- und Registerdatei-Eingangs- und -ausgangsports geeignet ist. Die Eingangsports der Registerdatei 50 sind mit A, B und C, die Ausgangsports sind mit D, E und F gekennzeichnet. Das RAM 12 verfügt über drei Datenbusse, die mit B2, B1 und B0 gekennzeichnet sind; der Zugriff auf diese Busse stellt die Eingangs- und Ausgangsports des RAM bereit.
- Die drei Eingangsports A, B und C der Registerdatei sind parallel zu den Eingängen von drei 3:1-Multiplexern 14A, 14B bzw. 14c geschaltet, die als Eingangs-Multiplexer bezeichnet werden. Dementsprechend sind drei Ausgangs-Multiplexer 52A, 52B und 52C bereitgestellt, bei denen es sich ausschließlich um 2:1-Multiplexer handelt. Jeder Eingangs- Multiplexer ist einem entsprechenden der jeweiligen Ausgangs-Multiplexer zugeordnet, wobei der Ausgang jedes Eingangs-Multiplexers mit einem Eingang seines entsprechenden Ausgangs-Multiplexers gekoppelt ist. Somit ist der Ausgang des Multiplexer (MUX) 14A mit einem Eingang des MUX 52B und der Ausgang des MUX 14C mit einem Eingang des MUX 52C gekoppelt. Der zweite Eingang jedes der MUX 52A, 52B und 52C ist mit einem entsprechenden der RAM-Ausgangsports gekoppelt. Somit ist der zweite Eingang des MUX 52A zum Empfang der Daten vom RAM-Datenbus B2, der zweite Eingang des MUX 52B zum Empfang der Daten vom RAM-Datenbus B1 und der zweite Eingang des MUX 52C zum Empfang der Daten vom RAM-Datenbus B0 geschaltet.
- Die drei Registerdatei-Ausgangsports D, E und F sind mit den Ausgängen des MUX 52A, 52B bzw. 52C gekoppelt.
- Die MUX 14A, 14B, 14C, 52A, 52B und 52C werden von einem Satz Durchsatz-Adreßkomparatoren 16 gesteuert. Im allgemeinen werden, wie hier später beschrieben, die von den Durchsatz-Adreßkomparatoren 16 verglichenen Adressen die Einund Ausgangsadressen für RAM-Lese- und Schreiboperationen sein. Wahlweise kann ein Sonder-Controller zur Aktivierung der Multiplexer vorgesehen sein.
- Ein Adreßdecodierer 22 steuert die Operation des Schreibens in den und des Lesens aus dem RAM 12 in einer Nicht-Durchsatzoperation sowie des Schreibens in das RAM bei Durchsatzoperationen.
- Die beispielhafte Registerdatei 50 verfügt über drei Satz von Leseadreßleitungen 32, 36 und 36 sowie über drei Satz von Schreibadreßleitungen 42, 44 und 46. Die Durchsatz- Adreßkomparatoren 16 sind mit diesen Adreßleitungen gekoppelt, um Übereinstimmungen zwischen Lese- und Schreibadressen aufzufinden; der Adreßdecodierer 22 ist außerdem sowohl mit den Schreibadreßleitungen als auch mit den Leseadreßleitungen verbunden. Während einer Hälfte des Taktzyklus (vorzugsweise der ersten Hälfte) aktiviert der Adreßdecodierer 22 die Schreibadreßleitungen und liefert eine Schreibadresse an das RAM; während des anderen Halbzyklus aktiviert der Adreßdecodierer die Leseadreßleitungen und liefert eine Leseadresse an das RAM. Während der Schreibhälfte des Taktzyklus sucht der Adreßdecodierer nach Schreiboperationen, die dieselben Speicherplätze betreffen wie die Durchsatzoperationen.
- Um zu verhindern, daß ein Datum beim gleichzeitigen Versuch von mehr als einem Port, Zugriff auf einen Speicherplatz zu erhalten, in den betreffenden Speicherplatz geschrieben wird, werden den Eingangsports Prioritäten zugewiesen. Das heißt, wenn zwei oder mehr Quellen versuchen, Daten in denselben Speicherplatz zu schreiben, werden die Durchsatz- Adreßkomparatoren 16 diesen Konflikt erkennen und das Schreiben der Daten nur über den an dem Konflikt beteiligten Eingangsport mit der höchsten Priorität (oder bei nur zwei Eingangsports, mit der höheren Priorität) zulassen. Es sei angenommen, daß der Eingangsport C die höchste Priorität, der Eingangsport B die nächstniedrigere Priorität und der Eingangsport A die niedrigste Priorität hat. Sollten nun zwei externe Geräte (nicht dargestellt) gleichzeitig Daten an die Eingangsport C und B liefern müssen und dabei den Komparatoren 16 dieselbe Zieladresse im RAM 12 angeben, so würden die Komparatoren 16 dafür sorgen, daß nur das Datum am Port C in die RAM-Registerdatei geschrieben oder durch diese durchgesetzt wird.
- Immer wenn eine an die Leseadreßleitungen 32, 34 oder 36 gelieferte Leseadresse mit einer an die Schreibadreßleitungen 42, 44 oder 46 gelieferten Schreibadresse übereinstimmt (d.h. das Datum ist aus derselben Zelle auszulesen, in die es zu schreiben ist), ist eine Durchsatzoperation auszuführen. Die Komparatoren 16 steuern dann Signale an die Ausgangs-Multiplexer, um diese zu veranlassen, den Ausgang ihrer entsprechenden Eingangs-Multiplexer für die Kopplung mit dem jeweiligen Ausgangsport D, E oder F zu wählen.
- Während einer Nichtdurchsatz-Leseoperation liefern die Durchsatz-Adreßkomparatoren entsprechende Steuersignale an die Ausgangs-MUX 52A, 52B und 52C, um diese zu veranlassen, ihre anderen Eingänge zur Kopplung mit den Ausgangsports zu wählen, d.h. die RAM-Zelle, in die Daten über die RAM- Datenbusse B0, B1 und B2 geliefert werden.
- Die Fig. 3 zeigt ein zweites Ausführungsbeispiel der Erfindung. In dieser Registerdatei 60 entfallen die Ausgangs-Multiplexer 52A, 52D und 52C. Statt dessen sind Eingangs- Multiplexer 64A, 64B, und 64C nunmehr als Multiplexer mit vier Eingängen (anstelle der MUX mit drei Eingängen gemäß Fig. 2) ausgeführt, und der Extra-MUX-Eingang ist mit einem ensprechenden der RAM-Ausgangsports gekoppelt. Somit liefert z.B. der Eingangs-MUX 64A beisplelsweise an den Registerdatei-Ausgangsport D entweder das Datum an einem der Registerdatei-Eingangsports A, B oder C (während einer Durchsatzoperation) oder das Datum auf dem RAM-Datenbus B2 vom entsprechenden RAM-Ausgangsport (während einer Nichtdurchsatzoperation)
- Wie oben beschrieben, arbeitet die Erfindung somit als ein modifizierter Kreuzschienenschalter zusammen mit einem RAM. Falls die zusätzliche Komplexität tolerierbar ist, kann selbstverständlich anstelle eines modifizierten Kreuzschienenschalters ein vollständiger Kreuzschienenschalter verwendet werden; diese beiden sind vollkommen gleichwertig und unterscheiden sich nur darin, daß ein vollständiger Kreuzschienenschalter die Kopplung jedes beliebigen RAM- Ausgangsports (oder eines anderen Eingangs) mit jedem beliebigen Registerdatei-Ausgangsport gestattet. Der allgemeine Begriff "Kreizschienenschalter" wird hierin in dem Sinne verwendet, daß er sich sowohl auf einen modifizierten als auch auf einen vollständigen Kreuzschienenschalter bezieht.
- Die Fig. 4 stellt eine weitere Möglichkeit dar, wie ein modifizierter Kreuz schienenschalter implementiert werden kann. Ein modifizierter Kreuzschienenschalter 60 wird aus einem vollständigen Kreuzschienenschalter 62 und einem Multiplexer 64 geschaffen. Der Multiplexer wählt zur Kopplung mit Registerdatei-Ausgangsports OP&sub1;-OPn eines der Signale von den Registerdatei-Eingangsports (z.B. A, B oder C), die vom Kreuzschienenschalter 62 oder einem der Ausgänge B0 - Bp des RAM 12 geliefert werden. Die Anzahl der mit den Multiplexereingängen gekoppelten RAM-Ausgangsports wird entsprechend der Anforderungen des Benutzers vorbestimmt. Der Kreuzschienenschalter und das RAM können auch Eingänge von anderen Quellen, z.B. dem Eingangsport D (der den Kreuzschienenschalter, aber nicht das RAM beliefert) oder dem Eingang E, der das RAM, aber nicht den Kreuzschienenschalter beliefert, wobei in einem solchen Fall die Anzahl der Registerdatei-Ausgangsports entsprechend erhöht werden kann. Analog kann der Kreuzschienenschalter 62 zu einem vollständigen Kreuzschienenschalter erweitert werden, um alle diese Eingänge auf zunehmen, in welchem Fall der MUX 74 überflüssig wird.
- Nachdem nun drei bestimmte Ausführungsbeispiele der Erfindung beschrieben worden sind, werden für den Fachmann verschiedene Änderungen, Modifikationen und Verbesserungen naheliegend sein. Derartige Änderungen, Modifikationen und Verbesserungen, die aufgrund dieser Beschreibung offensichtlich sind, bilden Bestandteil dieser Beschreibung, ohne daß dies ausdrücklich hierin festgestellt ist, und liegen innerhalb des Schutzumfangs der Erfindung. Entsprechend stellt die obige Beschreibung die Erfindung nur beispielhaft dar, und die beschriebenen Ausführungsbeispiele sind nicht als einschränkend zu betrachten. Die Erfindung wird einzig durch die nachfolgenden Ansprüche und deren Entsprechungen begrenzt.
Claims (8)
1. Multiport-RAM-Registerdatei (50) mit:
a. einem Lese-/Schreibspeicher (RAM) (12) mit einer
Vielzahl von Bitspeicherzellen und einer Vielzahl von
Bitbussen (B0, B1, B2) , über die Daten in die
Bitspeicherzellen geschrieben oder aus diesen ausgelesen
werden können, und für jeden Bitbus mit einem
entsprechenden RAM-Eingangsport und einem entsprechenden
RAM-Ausgangsport, wobei die Anzahl der
RAM-Ausgangsports durch die Variable "n" gekennzeichnet ist;
b. einer Vielzahl von Registerdatei-Eingangsports (A, B,
C) und einer entsprechenden Vielzahl von
Registerdatei-Ausgangsports (D, E, F); und
c. einer Durchsatz-Adreßkomparatoreinrichtung (16) zur
Lieferung von Signalen für die Steuerung der
Operation der Registerdatei;
dadurch gekennzeichnet, daß
d. Einrichtungen (14, 52, 60, 64) als Reaktion auf
Signale von der Durchsatz-Adreßkomparatoreinrichtung
(16) aktivierbar sind, um zu gestatten, daß die an
die Registerdatei-Eingangsports (A, B, C) gelegten
Daten aus den Registerdatai-Ausgangsports (D, E, F)
unabhängig davon, ob sie in die RAM-Bitspeicherzellen
geschrieben werden, ausgelesen werden können.
2. Multiport-RAM-Registerdatei (50) gemäß Anspruch 1,
des weiteren dadurch gekennzeichnet, daß die als
Reaktion auf die Signale von der
Durchsatz-Adreßkomparatoreinrichtung aktivierbaren Einrichtungen
einen Kreuzschienenschalter umfassen.
3. Multiport-RAM-Registerdatei (50) gemäß Anspruch 1,
des weiteren dadurch gekennzeichnet, daß die als
Reaktion auf die Signale von der
Durchsatz-Adreßkomparatoreinrichtung aktivierbaren Einrichtungen
einen Kreuzschienenschalter (62) und einen
Multiplexer (74) umfassen, wobei der Multiplexer (74)
mindestens ein Ausgangsport zur Versorgung der
Registerdatei-Ausgangsports, mindestens ein Eingangsport,
das zum Empfang des Ausgangs des
Kreuzschienenschalters geschaltet ist, und mindestens ein Eingangsport,
das zum Empfang der Datensignale von den
RAM-Ausgangsports geschaltet ist, besitzt und so aktivierbar
ist, daß an den Multiplexerausgang selektiv entweder
die Ausgänge von dem Kreuzschienenschalter oder die
Daten von den RAM-Ausgangsports gelegt werden.
4. Multiport-RAM-Registerdatei (50) gemäß Anspruch 1,
des weiteren dadurch gekennzeichnet, daß
d.1. die als Reaktion auf die Signale von der Durchsatz-
Adreßkomparatoreinrichtung aktivierbaren
Einrichtungen umfassen:
(I) eine Vielzahl von Eingangsmultiplexern (14A, 148,
14C), von denen jeder mehrere Eingänge und einen
Ausgang besitzt wobei die Anzahl solcher Eingänge
der bereitzustellenden Anzahl von Eingangsports
entspricht;
(II) jeder Eingang der Eingangsmultiplexer mit einem
Registerdatei-Eingangsport (A, B, C) so gekoppelt
ist, daß von jedem Eingangsmultiplexer ein Eingang
mit jedem der Eingangsports gekoppelt ist;
(III) n Ausgangsmultiplexer mit zwei Eingängen (52A, 52B,
52C), wobei ein Eingang von jedem mit einen
verschiedenen der Bitbusse (B1, B2, B3) und ein anderer
Eingang mit dem Ausgang eines verschiedenen der
Eingangsmultiplexer (14A, 14B, 14C) gekoppelt ist; und
(IV) jedes Registerdatei-Ausgangsport (D, E, F) mit dem
Ausgang eines der Ausgangsmultiplexer (52A, 52B,
52C) gekoppelt ist, und
e.1. die Durchsatz-Adreßkomparatoreinrichtung (16) so
geschaltet ist, daß sie die Eingangs- und
Ausgangsmultiplexer (14, 52) steuert.
5. Multiport-RAM-Registerdatei (50) gemäß Anspruch 4,
des weiteren eine Adreßdecodiereinrichtung (22)
enthaltend, die zusammen mit dem RAM aktivierbar ist, um
darin Adressen zum Lesen und Schreiben zu wählen.
6. Multiport-RAN-Registerdatei (50) gemäß Anspruch 5, in
der die Durchsatz-Adreßkomparatoreinrichtung (16)
eine Einrichtung umfaßt zum
(I) Empfangen mindestens einer Schreibadresse und
mindestens einer Leseadresse,
(II) Vergleichen der Lese- und der Schreibadressen, und
(III) bei Erkennen einer einer Schreibadresse
entsprechenden Leseadresse, Freigeben eines zutreffenden
der Eingangsmultiplexer, um die Eingangsdaten von
einem gewählten der Registerdatei-Eingangsports zu
einem Eingang eines der Ausgangsmultiplexer zu
lenken und den Ausgangsmultiplexer zu veranlassen,
diesen Eingang zur Kopplung mit einem Ausgangsport
zu wählen.
7. Multiport-RAM-Registerdatei (50) gemäß Anspruch 6, in
der die Durchsatz-Adreßkomparatoreinrichtung (16)
dann, wenn Daten an einem oder mehr Eingangsports zum
Schreiben in denselben Speicherplatz vorliegen, das
Schreiben der Daten nur über eines dieser
Eingangsports entsprechend einer vorher festgelegten
Prioritätshierarchie innerhalb dieser Eingangsports
gestattet.
8. Multiport-RAM-Registerdatei (50) gemäß Anspruch 1,
des weiteren dadurch gekennzeichnet, daß
d.2. die als Reaktion auf Signale von der
Durchsatz-Adreßkomparatoreinrichtung (16) aktivierbare Einrichtung
umfaßt:
(I) mindestens n Eingangsmultiplexer (64A, 64B, 64C)
von denen jeder mehrere Eingänge und einen Ausgang
besitzt, wobei die Anzahl solcher Eingänge
mindestens gleich ist der Anzahl der bereitzustellenden
Eingangsports;
(II) jeder Eingangsmultiplexer einen ersten Eingang hat,
der mit jedem der Registerdatei-Eingangsports (A, B,
C) und einen zweiten Eingang, der mit einem der
RAMAusgangsports gekoppelt ist;
(III) der Ausgang jedes der Eingangsmultiplexer mit einem
der Registerdatei-Ausgangsports (D, E, F) gekoppelt
ist; und
(IV) jedes Registerdatei-Eingangsport (A, B, C) mit einem
entsprechenden der RAM-Eingangsports gekoppelt ist;
und
e.2. die Durchsatz-Adreßkomparatoreinrichtung (16) so
geschaltet ist, daß sie die Eingangsmultiplexer (64)
steuert.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/608,294 US5111431A (en) | 1990-11-02 | 1990-11-02 | Register forwarding multi-port register file |
PCT/US1991/008188 WO1992009025A2 (en) | 1990-11-02 | 1991-11-04 | Register forwarding multi-port register file |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69113059D1 DE69113059D1 (de) | 1995-10-19 |
DE69113059T2 true DE69113059T2 (de) | 1996-05-09 |
Family
ID=24435857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69113059T Expired - Lifetime DE69113059T2 (de) | 1990-11-02 | 1991-11-04 | Register zur übertragung von dateien eines multitor-registers. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5111431A (de) |
EP (1) | EP0555417B1 (de) |
JP (1) | JP3292475B2 (de) |
DE (1) | DE69113059T2 (de) |
WO (1) | WO1992009025A2 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04132089A (ja) * | 1990-09-20 | 1992-05-06 | Nec Ic Microcomput Syst Ltd | 識別コード内蔵eprom |
JPH0612107A (ja) * | 1992-06-02 | 1994-01-21 | Mitsubishi Electric Corp | シーケンス演算プロセッサおよびシーケンス演算処理装置 |
EP0645026B1 (de) * | 1992-06-12 | 1997-11-12 | The Dow Chemical Company | Transparente schnittstelle fur prozesssteuerungsrechner |
US5315178A (en) * | 1993-08-27 | 1994-05-24 | Hewlett-Packard Company | IC which can be used as a programmable logic cell array or as a register file |
US5434818A (en) * | 1993-12-23 | 1995-07-18 | Unisys Corporation | Four port RAM cell |
DE4408695C1 (de) * | 1994-03-15 | 1995-06-22 | Michael Marks | Mehrtorige Datenspeicheranordnung und Verfahren zum Betrieb derselben |
US5644780A (en) * | 1995-06-02 | 1997-07-01 | International Business Machines Corporation | Multiple port high speed register file with interleaved write ports for use with very long instruction word (vlin) and n-way superscaler processors |
US6510510B1 (en) | 1996-01-25 | 2003-01-21 | Analog Devices, Inc. | Digital signal processor having distributed register file |
US5657291A (en) * | 1996-04-30 | 1997-08-12 | Sun Microsystems, Inc. | Multiport register file memory cell configuration for read operation |
US7117342B2 (en) * | 1998-12-03 | 2006-10-03 | Sun Microsystems, Inc. | Implicitly derived register specifiers in a processor |
US6343348B1 (en) * | 1998-12-03 | 2002-01-29 | Sun Microsystems, Inc. | Apparatus and method for optimizing die utilization and speed performance by register file splitting |
US7114056B2 (en) | 1998-12-03 | 2006-09-26 | Sun Microsystems, Inc. | Local and global register partitioning in a VLIW processor |
EP1050800A1 (de) | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Pipelineausführungseinheit |
US7844214B2 (en) * | 2002-03-02 | 2010-11-30 | Nokia Corporation | System and method for broadband digital broadcasting |
US6955267B2 (en) * | 2002-06-05 | 2005-10-18 | Sharper Image Corporation | Storage and display rack for DVDs |
US20040098568A1 (en) * | 2002-11-18 | 2004-05-20 | Nguyen Hung T. | Processor having a unified register file with multipurpose registers for storing address and data register values, and associated register mapping method |
US7681017B2 (en) * | 2005-11-01 | 2010-03-16 | Lsi Corporation | Pseudo pipeline and pseudo pipelined SDRAM controller |
KR100812225B1 (ko) | 2005-12-07 | 2008-03-13 | 한국전자통신연구원 | 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조 |
JP2008042343A (ja) * | 2006-08-02 | 2008-02-21 | Nec Electronics Corp | スイッチ回路およびスイッチ装置 |
WO2015057846A1 (en) | 2013-10-15 | 2015-04-23 | Mill Computing, Inc. | Computer processor employing cache memory with pre-byte valid bits |
US9747238B2 (en) | 2014-06-23 | 2017-08-29 | Mill Computing, Inc. | Computer processor employing split crossbar circuit for operand routing and slot-based organization of functional units |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4535428A (en) * | 1983-03-10 | 1985-08-13 | International Business Machines Corporation | Multi-port register implementations |
US4558433A (en) * | 1983-05-31 | 1985-12-10 | International Business Machines Corporation | Multi-port register implementations |
US4599708A (en) * | 1983-12-30 | 1986-07-08 | International Business Machines Corporation | Method and structure for machine data storage with simultaneous write and read |
US4811296A (en) * | 1987-05-15 | 1989-03-07 | Analog Devices, Inc. | Multi-port register file with flow-through of data |
-
1990
- 1990-11-02 US US07/608,294 patent/US5111431A/en not_active Expired - Lifetime
-
1991
- 1991-11-04 DE DE69113059T patent/DE69113059T2/de not_active Expired - Lifetime
- 1991-11-04 WO PCT/US1991/008188 patent/WO1992009025A2/en active IP Right Grant
- 1991-11-04 JP JP50517192A patent/JP3292475B2/ja not_active Expired - Lifetime
- 1991-11-04 EP EP92905437A patent/EP0555417B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
WO1992009025A2 (en) | 1992-05-29 |
DE69113059D1 (de) | 1995-10-19 |
WO1992009025A3 (en) | 1992-07-23 |
JP3292475B2 (ja) | 2002-06-17 |
EP0555417B1 (de) | 1995-09-13 |
EP0555417A1 (de) | 1993-08-18 |
JPH06503195A (ja) | 1994-04-07 |
US5111431A (en) | 1992-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69113059T2 (de) | Register zur übertragung von dateien eines multitor-registers. | |
DE69019697T2 (de) | Reparierbare Speicherschaltung. | |
DE69802927T2 (de) | Redundanzschaltung für programmierbare logikanordnung mit verschachtelten eingangsschaltkreisen | |
DE3786862T2 (de) | Fehlertolerante Rechnerarchitektur. | |
DE2856483C2 (de) | ||
DE69827714T2 (de) | Assoziativspeichersystem | |
DE3889097T2 (de) | Halbleiterspeicheranordnung. | |
DE68922975T2 (de) | Speichereinheit mit zwei Toren. | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
DE3032630C2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb | |
DE4207945C2 (de) | Multiport-Speicher und Verfahren zum Entscheiden eines Zugriffskonflikts darin | |
DE102005056351A1 (de) | Speichervorrichtung, Speichersteuereinheit und Verfahren zum Betreiben derselben | |
DE3586375T2 (de) | Halbleiterspeicheranordnung mit einer redundanzschaltung. | |
DE2126206B2 (de) | Datenverarbeitungseulrichtung mit Speicherschutzanordnung | |
DE3933361A1 (de) | Einrichtung und verfahren zur warteschlangenbildung von anforderungen und antworten auf einem pipeline-paketbus | |
DE4204119A1 (de) | Dual-port-speicher | |
DE4019135A1 (de) | Serieller speicher auf ram-basis mit parallelem voraus-lesen | |
DE2404146A1 (de) | Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem | |
DE2259725B2 (de) | Funktionsspeicher aus assoziativen Zellen mit mindestens vier Zuständen | |
DE4024594A1 (de) | Integrierte schaltung | |
DE69525527T2 (de) | Multiport mehrfachregisterspeicher zum empfang von daten unterschiedlicher länge | |
DE69222743T2 (de) | Speichereinrichtung und Verfahren zur Verwendung in einer Datenverarbeitungsanordnung | |
DE1237812B (de) | Datenverarbeitungsgeraet mit mehreren Speichern | |
CH654947A5 (de) | Speicheranordnung mit einer vielzahl von speicherelementen. | |
DE68926158T2 (de) | Einchip-Mikrorechner mit EPROM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |