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
Application number
DE69113059T
Other languages
English (en)
Other versions
DE69113059D1 (de
Inventor
Douglas Garde
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Analog Devices Inc filed Critical Analog Devices Inc
Publication of DE69113059D1 publication Critical patent/DE69113059D1/de
Application granted granted Critical
Publication of DE69113059T2 publication Critical patent/DE69113059T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple 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.
DE69113059T 1990-11-02 1991-11-04 Register zur übertragung von dateien eines multitor-registers. Expired - Lifetime DE69113059T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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