DE10116639A1 - Schreib/Lese-Abgleichschema zur Portverringerung in Mehrfachport-SRAM-Zellen - Google Patents
Schreib/Lese-Abgleichschema zur Portverringerung in Mehrfachport-SRAM-ZellenInfo
- Publication number
- DE10116639A1 DE10116639A1 DE10116639A DE10116639A DE10116639A1 DE 10116639 A1 DE10116639 A1 DE 10116639A1 DE 10116639 A DE10116639 A DE 10116639A DE 10116639 A DE10116639 A DE 10116639A DE 10116639 A1 DE10116639 A1 DE 10116639A1
- Authority
- DE
- Germany
- Prior art keywords
- matrix
- write
- read
- ports
- port
- 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.)
- Granted
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000012464 large buffer Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001356 surgical procedure 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Static Random-Access Memory (AREA)
Abstract
Die vorliegende Erfindung betrifft Speichervorrichtungen in Rechnersystemen und insbesondere betrifft sie ein verbessertes Verfahren und System zum wirksamen Betreiben von Pufferspeichern. Eine beträchtliche Menge Speicherplatz lässt sich gemäß der vorliegenden Erfindung einsparen durch Reduzieren der Anzahl der Eingangs-Ports und der Anzahl der Ausgangs-Ports auf die Anzahl n von gleichzeitig beabsichtigten Matrixzugriffen. Diese bemerkenswerte Reduktion von Ports und damit außerordentliche zugeordnete Bereichseinsparung kann erzielt werden, wenn bestimmte Kenntnisse über die Matrixanwendung ausgewertet werden: Die Matrixzugriffe müssen ausgeführt werden mit gleichzeitigen Zugriffen von höchstens k besonderen Gruppen. Eine Gruppe ist definiert durch eine Vielzahl Matrixzugriffe, die höchstens einen Zugriff auf einen Port zur gleichen Zeit machen. Dann, zum Lesen werden die Leseergebnisse entsprechend einem einfachen Umverdrahtungsschema auf die entsprechenden Leseanforderer ausgerichtet, während zum Schreiben die Zugriffe vor jedem Matrixzugriff gemäß dem gleichen oder einem ähnlichen Schema ausgerichtet werden.
Description
Die vorliegende Erfindung betrifft eine Verbesserung von
Speichervorrichtungen in Rechnersystemen, und im besonderen
betrifft sie ein verbessertes Verfahren und System zum
wirksamen Zugreifen auf Mehrfachport-Zellmatrixschaltungen.
In der modernen Rechnerprozessorarchitekturentwicklung läuft
ein immer größerer Anteil der Prozessorarbeit parallel ab. Bei
der Parallelverarbeitung muss eine immer größere Anzahl
verarbeitender Teileinheiten zugelassen werden und auf ein und
denselben Speicherort Zugriff haben, um möglichst schnell zu
rechnen. Daher besteht die Forderung, dass ein Speicherort
einen mehrfachen Schreib/Lese-Zugriff zulässt.
Ein Beispiel dafür ist die Verarbeitung außerhalb der
Reihenfolge (out-of-order processing). Das parallele Schreiben
von Daten in Matrizen solcher Speicherstellen aus mehrfachen
Quellen, bzw. das Lesen von Daten aus Matrizen parallel zu
mehrfachen Zielorten erfordert dann Mehrfachport-Zellen.
Der Bereich und die Leistung einer solchen Matrix werden in
der Hauptsache bestimmt durch die Anzahl der Ports je Zelle
und nicht so sehr von der Größe der abzuspeichernden Daten.
Genauer gesagt, der Platzverbrauch einer solche Matrix ist in
etwa proportional zum Quadrat der Anzahl der implementierten
Ports.
Da nun eine Speicherzelle m Leseports benötigt, um
gleichzeitig von einer Anzahl m unterschiedlicher Leseziele
lesbar zu sein, und sie eine Anzahl n Schreibports für n
Schreibquellen zum Schreiben in die Zelle benötigt, und jeder
Port ein Paar, bestehend aus einer senkrecht
aufeinanderstehenden entsprechenden Datenleitung und einer
Anwahlleitung benötigt, steigt der Flächenbedarf mit
zunehmendem m oder n merklich an. Wenn z. B. in einem Fall
m = n = 1 mit zwei Ports eine gegebene Matrix einen Flächenbedarf
X aufweist, und die Matrix jetzt durch eine
Mehrfachzugriffsmatrix von m = n = 4, 8 Ports, ersetzt werden
soll, ist der sich ergebende Flächenbedarf etwa (8 × 8)/(2 × 2) = 16 mal
so hoch, d.i. 16X. Somit führt die zunehmende
Parallelisierung zu einen großen zusätzlichen Flächenbedarf
auf einem Prozessorchip.
Obwohl die vorliegende Erfindung einen breiten
Anwendungsbereich hat, soll sie hier, weil das Verbessern oder
Optimieren der Speicherstrategien einen sehr allgemeinen Zweck
in der Computertechnologie verfolgt, mit der Technologie auf
dem Stand der Technik in einem bestimmten Anwendungsbereich
beschrieben und diskutiert werden, nämlich im Kontext der
Anwendung eines sogenannten Befehlsfensterpuffer, nachstehend
abgekürzt als IWB (Instruction Windows Buffer) bezeichnet, der
üblicherweise in den modernsten Rechnersystemen vorkommt, um
eine Parallelprogrammverarbeitung für Befehle durch eine
Vielzahl Verarbeitungseinheiten zu ermöglichen. Solche
Prozessoren werden hier als außerhalb der Reihenfolge
arbeitende Prozessoren (out-of-order processor) bezeichnet.
In vielen modernen außerhalb der Reihenfolge arbeitenden
Prozessoren wird ein solcher Puffer benutzt, um alle Befehle
und/oder Registerinhalte aufzunehmen, bevor die berechneten
Ergebnisse festgeschrieben und aus dem Puffer entfernt werden
können. Wenn Ergebnisse spekulativ über das Ergebnis eines
Zweigbefehls hinaus berechnet werden, können sie verworfen
werden, sobald die Zweigvorhersage falsch wird, ganz einfach
durch Löschen dieser Eingänge aus dem Puffer und Überschreiben
derselben mit neuen, richtigen Befehlen. Das ist eine
Voraussetzung für die Verarbeitung außerhalb der Reihenfolge.
Ein Hauptparameter, der die Leistung des Prozessors
beeinflusst, ist die Puffergröße: Ein großer Puffer kann viel
mehr Befehle und Ergebnisse aufnehmen und ermöglicht damit
mehr Verarbeitungen außerhalb der Reihenfolge. Ein Aufgabe der
Konstruktion ist es daher, einen großen Puffer vorzusehen. Das
steht jedoch in direktem Widerspruch zu anderen
Konstruktionserfordernissen wie Zykluszeit, Puffergröße, usw.
Wenn z. B. der Puffer zu groß dimensioniert wird, dann
verringert der Aufwand der Verwaltung einer solchen großen
Vielzahl von Speicherstellen die Leistung dieses Puffers.
Ferner, weil ein größerer Puffer eine verlängerte
Signallaufzeit voraussetzt, verlängert sich auch die
Signalverzögerung. Kurz, jede verbesserte Speichermethode muss
einen guten Kompromiss zwischen den Parametern Puffergröße,
Speicherverwaltung und damit Speicherzugriffsgeschwindigkeit
finden.
Die vorliegende Erfindung betrifft in erster Linie die
Puffergröße und die zugeordnete Signallaufzeitverzögerung.
Ein Befehlsfensterpuffer auf dem Stand der Technik,
geoffenbart in US-Pat.-Nr. 5,923,900, "Circular Buffer With N
Sequential Real And Virtual Entry Positions For Selectively
Inhibiting N Adjacent Entry Positions Including the Virtual
Entry Position" wird gemäß den folgenden Schreib/Lese-Schemata
betrieben:
Unter Bezugnahme auf Fig. 1 (Stand der Technik) wird zum Schreiben eines Befehlspakets, wie im oberen Teil der Figur gezeigt ist, zum Beispiel ein Paket von vier ungelösten Befehlen uip(0. . .3) in eine Matrix in einem Zyklus während des Abfertigungsprozesses eine Zelle mit so vielen Schreibports wie die maximale Paketgröße, d.i. im vorliegenden Fall eine Anzahl von k1 = 4, benötigt.
Unter Bezugnahme auf Fig. 1 (Stand der Technik) wird zum Schreiben eines Befehlspakets, wie im oberen Teil der Figur gezeigt ist, zum Beispiel ein Paket von vier ungelösten Befehlen uip(0. . .3) in eine Matrix in einem Zyklus während des Abfertigungsprozesses eine Zelle mit so vielen Schreibports wie die maximale Paketgröße, d.i. im vorliegenden Fall eine Anzahl von k1 = 4, benötigt.
Ein Schreibdecodierblock 22 übersetzt die Schreibadresse
in(0. . .5) über die Steuerleitung 16, in vier Eingangszeiger
wsel0. . .wsel3 (0. . .3), unter Auswählen eines Blocks von vier
zu schreibenden Eingängen, nämlich die Matrixeingänge i, i+1,
i+2, i+3. Das wird in Fig. 1 schematisch dargestellt. Der
erste Befehl uip0 wird durch Aktivieren von wsel0 am
Eingabeport di0 in Zelle (i) geschrieben, der nächste Befehl
uip1 wird durch Aktivieren von wsel1 am Eingabeport di1 in
Zelle (i+1) geschrieben und so weiter, siehe volle Kreise.
Dieses Schema garantiert, dass die Daten nacheinander in die
Matrix geschrieben werden. Da Pufferspeicher im allgemeinen
häufig für einen automatischen Zeilenumbruch benutzt werden,
wird etwas besondere Vorsicht benötigt, um auch diesen Fall
abzudecken.
Der Zeilenumbruch wird auch vom Schreib-Decodierer 22
gehandhabt. Wenn z. B. der Fensterpuffer eine Gesamtgröße von
64 Eingängen aufweist und auf einen Block mit vier
aufeinanderfolgenden Eingängen mit Beginn bei 62 geschrieben
werden muss, dann zeigen wsel(0. . .3) auf die Eingänge (62, 63, 0, 1).
Der Lesefall ist ähnlich, wie aus Fig. 2 hervorgeht, die die
Ausgabefilter if0 bis if3 auf dem Stand der Technik zeigt, die
eine Matrix von 4 Leseport-Zellen mal Lesewahlleitungen
rsel0(0. . .63), rsel1(0. . .63), rsel2(0. . .63), rsel3(0. . .63)
steuert. Die Daten werden in mehrere Datenausgangsports
gelesen, d.i. do(0. . .3), die nicht ausdrücklich dargestellt
sind. Es sind so viele Leseports nötig als
Ausführungseinheiten existieren, d.i.
Befehlsausführungseinheiten (ieu - instruction execution
units), ieu(0. . .3), um den vollen Parallelismus zu erreichen
und Daten in jedem Zyklus für den Ausgabeprozess für alle
Ausführungseinheiten vorzusehen. Ein Leitwegnetz kann jeden
Ausgangsport des Puffers mit jeder Ausführungseinheit
verbinden. Eine Entscheidungslogik ist vorgesehen zur
Verbindung eines bestimmten Ports mit der gewünschten
Entscheidungseinheit.
Insbesondere werden die für die Ausführung bereiten Befehle
identifiziert durch gültige Bits, gezeichnet in der oberen
Linie in Fig. 2, die zu den vier unterschiedlichen
Ausgangsfiltern if(0. . .3) geführt werden. if(0) wählt den
ältesten aller Befehle 0. . .63, der bereit zur Ausführung ist,
aktiviert rsel0, und sendet damit die Daten an die
Ausführungseinheiten. Filter if1 ignoriert den Eingang,
erfasst von if0, und wählt den zweitältesten, aktiviert rsel1
und sendet ihn zu den Ausführungseinheiten, usw.
Da jeder der 64 Gesamteingänge des Puffers der erste, zweite,
dritte oder vierte gewählte sein kann, benötigt jeder Eingang
und damit jede Zelle 4 Leseports. Das führt zu einem extrem
hohen Platzbedarf und einer zugeordneten, entsprechend hohen
Signallaufzeitverzögerung.
Es ist also eine Aufgabe der vorliegenden Erfindung, den
Platzbedarf zu verkleinern und somit die Effizienz der
Speicherraumnutzung zu erhöhen.
Diese Aufgabe der Erfindung wird gelöst durch die Merkmale,
die in den beiliegenden unabhängigen Ansprüchen angeführt
sind. Weitere vorteilhafte Anordnungen und Ausführungsformen
der Erfindung sind in den entsprechenden Unteransprüchen
ausgeführt.
Eine beträchtliche Menge Speicherraum kann gemäß der
vorliegenden Erfindung eingespart werden durch Reduzieren der
Anzahl der Schreibports auf die Zahl k1 der gleichzeitig
beabsichtigten Schreibzugriffe, und die Anzahl der
Ausgangsports auf die Zahl k2 der gleichzeitig beabsichtigten
Lesezugriffe auf die Matrix. Diese bemerkenswerte Reduzierung
der Ports und somit eine außerordentliche Raumersparnis kann
erzielt werden, wenn man von der beabsichtigten "natürlichen"
Matrix-Operation erwarten kann, dass sie in besonderen Gruppen
mit gleichzeitigem Zugriff ausgeführt wird. Natürlich können
k1 und k2 für eine erfindungsgemäße Implementierung der
Pufferzugriffsschaltung unterschiedlich sein, aber auch
gleich.
Die vorliegende Erfindung ist somit auf nützlich Weise
anwendbar für Hardware-Schaltungen, die Mehrfachportmatrizen
und Mehrfachportregister enthalten.
Die Zugriffe auf die Matrix müssen gleichzeitig mit Zugriffen
von höchstens k1 bzw. k2 besonderen Gruppen ausgeführt werden.
Eine Gruppe ist definiert durch eine Vielzahl von
Matrixstellen, für die sichergestellt ist, dass gleichzeitig
nur ein Lese- oder Schreibzugriff erforderlich ist. Die
Zugehörigkeit zu einer Gruppe ist exklusiv, um die
vorgeschlagene Speicherbereichsreduzierung zu erzielen kann
ein Matrixeingang nicht zu mehreren Gruppen gehören.
Zum Beispiel kann in einem n = 64 Eingänge enthaltenden Puffer,
bezeichnet von Nr. 0 bis Nr. 63, eine erste Gruppe die
Eingänge 0, 4, 8, . . .60 enthalten, die zweite Gruppe kann die
Eingänge 1, 5, . . . 61 beinhalten, die dritte Gruppe die Eingänge
2, 6, . . . 62, und die vierte Gruppe die Eingänge 3, 7, . . . 63
enthalten.
Jetzt, in Kenntnis des Umstands, dass beim Betrieb des Puffers
nur "Bündel" von Eingängen zu direkt aufeinanderfolgenden
Zeitpunkten gleichzeitig geschrieben oder gelesen werden, wie
z. B. zum Zeitpunkt t = 0 für ein mehrfaches Schreiben auf die
Eingänge 23, 24, 25 und 26, oder bei t = 1 für ein mehrfaches
Lesen auf der Eingänge 44, 45, 46, 47 nur ein Schreibport und
ein Leseport per Eingangsgruppe erforderlich ist, wie oben
erklärt wurde, weil gemäß der vorliegenden Erfindung für das
Leseschema die Leseergebnisse gemäß einem einfachen
Neuverdrahtungsschema auf die entsprechenden Leseanforderer
abgeglichen werden, während für das Schreibschema die zu
schreibenden Daten vorher auf den Matrixzugriff gemäß dem
gleichen oder einem ähnlichen Schema abgeglichen werden.
Somit beruht die vorliegende Erfindung auf dem Benutzen der
Kenntnis, dass in vielen Fällen solche Gruppen mit einer Art
Operationsanalyse identifiziert werden können, oder diese
Gruppen von sich aus vorhanden sind, oder, wenn sie nicht
vorhanden sind, durch zusätzliche Logik wahlweise eine
Umstrukturierung in solche Gruppen geschaffen werden kann,
auch wenn man einige der Nachteile in Kauf nimmt, die von
dieser zusätzlichen Logik bewirkt worden sein können.
Die erfindungsgemäße Abgleicheinheit umfasst grundlegend einen
Steuersignaleingang, eine Anzahl k Eingangsleitungen und eine
entsprechende Anzahl k Ausgangsleitungen. Im Inneren ist eine
Logik implementiert, die einige der k Eingangsleitungen auf
einige der k Ausgangsleitungen umschaltet, gesteuert vom
entsprechenden Steuersignal. Es besteht jedoch die
Einschränkung, dass sobald eine Eingangsleitung einer
bestimmten Ausgangsleitung zugeordnet wird, folglich auch der
Rest der Eingangs/Ausgangsleitungszuordnungen bestimmt ist.
Somit bestimmt die Auswahl einer Eingangs/Ausgangszuordnung
aller übrigen Zuordnungen, die zu dem gewünschten Abgleich
führt. Somit schlägt die vorliegende Erfindung ein neues
Schema vor zum Minimieren der Anzahl der Ports per Zelle ohne
Verlieren der Flexibilität zum parallelen Schreiben und Lesen
in der Anordnung auf verschiedene, d.i. k1/k2 Adressen.
In ihrem allgemeinen Umfang mit k unabhängigen Gruppen und n
unterschiedlichen, definierten Anforderern, hält die
vorliegende Erfindung eine Anzahl n Ports für Matrixmakros
frei, aber sie reduziert die erforderliche Anzahl Ports von n
auf die kleinste Ganzzahl, die größer/gleich n/k Ports je
Zelle in der Anordnung ist.
Die vorliegende Erfindung wird dann beispielhaft illustriert
und ist nicht eingeschränkt durch die Form der Figuren in den
begleitenden Zeichnungen, in denen
Fig. 1 ein schematisches Blockschaltbild ist, das ein
Schreibschema auf dem Stand der Technik unter Verwendung von
4-Schreibport-Zellen zeigt;
Fig. 2 ist eine Prinzipskizze, die eine Gruppe von
Ausgabefiltern auf dem Stand der Technik zeigt, die 4-
Leseport-Zellen steuern.
Fig. 3 ist eine schematische Blockschaltung, die eine
vertikale "Bit-Spalte" eines erfindungsgemäßen 4fach-
Schreibschemas eines 4-Schreibport-Matrixblocks unter
Verwendung einer 1-Schreibport-Zellenmatrix zeigt.
Fig. 4 ist eine schematische Blockschaltung gemäß Fig. 3, die
den Fall des Zeilenumbruchs abdeckt.
Fig. 5 ist eine schematische Blockschaltung, die eine
vertikale "Bit-Spalte" eines erfindungsgemäßen Leseschemas
eines 4-Leseport-Matrixblocks unter Verwendung einer 1-
Leseport-Zellenmatrix zeigt.
Fig. 6 ist eine Prinzipskizze, die eine erfindungsgemäße
Ausgangsfilteranordnung zeigt, die einen 4-Leseport-Matrixblock
unter Verwendung einer 1-Leseport-Zellenmatrix
gemäß Fig. 5 steuert.
Unter allgemeiner Bezugnahme auf die Figuren und unter
besonderem Hinweis hier auf die Fig. 3 bis 6 wird das
erfindungsgemäße Verfahren und eine bevorzugte Ausführungsform
einer erfindungsgemäßen n1 = 4-Schreibport und n2 = 4-Leseport-
Matrixspeichervorrichtung in näheren Einzelheiten beschrieben.
Insbesondere wird ein Beispiel gegeben, in dem der allgemeine
Fall von n-fachen Mehrfachzugriffsmöglichkeiten für den Fall
n1 = n2 = n = 4 beispielhaft dargestellt ist, und mit der
betrieblichen Einschränkung, dass Befehle bearbeitet werden,
deren Matrixzugriffe in vier einschließlich-ODER-verknüpfte
Gruppen kombiniert werden können, die zusammen die Gesamtzahl
dieser 64 Eingänge ergeben. Es gibt k1 = 4 Gruppen für den
Schreibzugriff und k2 = 4 Gruppen für den Lesezugriff.
Wenn k1 = k2 dann wird k, oder wenn n1 = n2 dann wird in der
vorliegenden Beschreibung n benutzt.
Insbesondere wird in der in Fig. 3 und 4 gezeigten
vorliegenden Ausführungsform eine Vielzahl von 64 Eingängen
einschließlich Puffer teilweise dargestellt, d.i. das große
Rechteck mit dem Bezugszeichen 12 stellt eine Spalte von 64
Bit Speicherzellen dar, wobei jede Zelle einem entsprechenden
der 64 Eingänge zugeordnet ist. Die Anzahl der Bits je Eingang
wird hier nicht diskutiert. Die Eingänge sind von Nr. 0 bis
Nr. 63 gekennzeichnet.
Wie bereits oben erwähnt werden jetzt vier Eingangsgruppen
definiert. Eine erste Eingangsgruppe umfasst die Eingänge 0,
4, 8, . . . 60, die zweite Eingangsgruppe umfasst die Eingänge 1,
5, . . . 61, die dritte Eingangsgruppe umfasst die Eingänge 2, 6, . . . 62
und die vierte Eingangsgruppe umfasst die Eingänge 3, 7, . . . 63.
In der Zeichnung sind vier sich vertikal erstreckende
Linien di0. . .di3 angegeben, die Daten repräsentieren, die in
diese Bit-Spalte 12 an unterschiedlichen Orten zur gleichen
Zeit geschrieben werden können. Zum Beispiel bedeutet der
Vollpunkt wsel0/di0, der auf das Eingangsbit i trifft, dass
dieses Bit in einem bestimmten Matrixzugriff geschrieben
werden kann. Die anderen drei diagonal nach rechts unten
gezeichneten Vollpunkte stellen dar und beziehen sich auf die
Eingänge i+1, i+2 und i+3 und sind Bitorte der gleichen
Bitspalte, gehören aber zu den Eingängen, die direkt auf den
Eingang i folgen. Diese Bit-Vollpunkte können gleichzeitig
während eines 4fach-Schreibzugriffs geschrieben werden.
Der Teil der Bit-Spalte zwischen dem Aus-Zeiger 11 und dem
Eingang i stellt den Bereich der Bit-Spalte dar, in dem Daten
gespeichert werden, die noch nicht zweckgebunden sind.
Zunächst, und unter gleichzeitiger Bezugnahme auf Fig. 3 und
Fig. 4, wird das Schreibschema nachstehend in näheren
Einzelheiten erklärt.
Um ein Befehlspaket in einem Zyklus während eines
Sendevorgangs in die Matrix zu schreiben, übersetzt ein
Schreibdecodierblock 22 die Schreibadresse, die von einem
IN-Zeiger über die Leitung 16 in einen Eingangszeiger wsel(0. . .3)
gegeben wird, der einen Block von 4 Eingängen anwählt, die vom
Vierfach-Schreibzugriff geschrieben werden sollen.
In dem hier gezeigten bestimmten Fall definiert der Wert des
IN-Zeigers, in(0. . .5), für einen Befehl i den ersten Ort für
die Speicherzelle, auf die von allen 4 beabsichtigten
Schreibzugriffen zugegriffen werden soll. Wie in der Zeichnung
gezeigt wird, wählt der Schreibdecodierblock 22 über die
Anwahlleitungen wsel0, . . . wsel3 vier aufeinanderfolgende
Speicherorte an, die die Bezugszeichen 18a, . . . 18d haben.
Ferner, und gemäß einem bevorzugten Aspekt der vorliegenden
Erfindung ist der Schreibdecodierblock 22 über eine
Steuerleitung 23 operativ mit einer Abgleicheinheit 20
verbunden, die vier unterschiedliche Schaltschemata 20a, . . . 20d
enthält. Jedes dieser Schaltschemata verbindet die vier
Dateneingangsleitungen 14a, . . . 14d mit einem entsprechenden
von vier Dateneingangsports, d.i. Schreibports, bezeichnet als
di0, di1, di2 und di3. Somit kann auf jede Spalte der Matrix
durch eine entsprechende Dateneingangsleitung zugegriffen
werden.
Wie bereits oben erwähnt, sind bestimmte Gruppen definiert:
Gruppe di0 stellt Eingänge 0, 4, 8, 12, . . . 60,
Gruppe di1 stellt Eingänge 1, 5, 9, 13, . . . 61,
Gruppe di2 stellt Eingänge 2, 6, 10, 14, . . . 62, und
Gruppe di3 stellt Eingänge 3, 7, 11, 15, . . . 63
dar.
Gruppe di0 stellt Eingänge 0, 4, 8, 12, . . . 60,
Gruppe di1 stellt Eingänge 1, 5, 9, 13, . . . 61,
Gruppe di2 stellt Eingänge 2, 6, 10, 14, . . . 62, und
Gruppe di3 stellt Eingänge 3, 7, 11, 15, . . . 63
dar.
Als nächstes wird in dem dargestellten Fall eines einer
Vielzahl unterschiedlicher Schaltschemata beschrieben, in dem
wsel0 mit di0 verbunden ist. Das Schaltschema 20a wird in der
Zeichnung explizit dargestellt. Es zeigt, dass der Eingang 14a
mit einer beliebigen Dateneingangsleitung di(0. . .3) verbunden
werden kann. Das gleiche gilt für die Eingänge 14b, 14c und
14d über die Schaltschemata 20b, 20c, 20d. In dem in Fig. 3
gezeigten Fall ist 14a über das Schaltschema 20a mit di0
verbunden. Das Schaltschema 20b verbindet nur di1 mit der
Dateneingangsleitung 14b. Das Schaltschema 20c verbindet di2
mit Leitung 14c, und das Schaltschema 20d verbindet die
Dateneingangsleitung di3 mit 14d. Alle anderen Schalter stehen
offen. Die einzige Zuordnung zwischen wsel0 und di0 definiert
daher alle übrigen Verbindungen zwischen Schreibanwahl und
Dateneingangsleitungen nach einer bestimmten Regel, in dem
Sinne, dass aufeinanderfolgende wsel-Leitungen mit
aufeinanderfolgenden Dateneingangsleitungen verbunden werden.
Die übrigen Schaltschemata ergeben sich zyklisch
fortschreitend ab dem ersten gefunden geschlossenen Schalter.
Natürlich können mit den erfindungsgemäßen Konzepten auch
andere Fälle abgedeckt werden, in denen jede beliebige
sonstige Regel in der Abgleicheinheit implementiert ist.
So wird der erste Befehl uip0 in die Speicherzelle i über
wsel0 - 18a - geschrieben; der nächste Befehl uip1 wird in die
Speicherzelle i+1 über wsel1 - 18b - geschrieben, und die
Befehle uip2 und uip3 werden entsprechend auf ähnliche Weise
in die Speicherzellen i+2 bzw. i+3 geschrieben. Somit
garantiert das vorgeschlagene Schema, dass die Daten
nacheinander in die Matrix geschrieben werden.
Wenn zum Beispiel der Speicherort i = 17 durch die Aktivierung
der Wortanwahl-Leitung 18a adressiert wird, muss die
Abgleicheinheit di1 mit 14a, di2 mit 14b, di3 mit 14c und di0
mit 14d verbinden, weil der Speicherzelleneingang 17 der
Matrix über den Eingangsport di1 geschrieben wird, der
Speicherzelleneingang 18 über den Eingangsport di2 geschrieben
wird, der Speicherzelleneingang 19 über den Eingangsport di3
geschrieben wird, und der Speicherzelleneingang 20 über den
Eingangsport di0 geschrieben wird. Damit können vier Eingänge
der Matrix in einem einzigen Zyklus geschrieben werden.
Wie aus dem geoffenbarten einfachen Schema hervorgeht, wird
die grundlegende erfinderische Idee genutzt durch Anwenden der
aufeinanderfolgenden Schreibzugriffe und durch Verschieben der
Parallelismen verschiedener Ports innerhalb der Zelle in die
externe Abgleicheinheit 20. Das kann allgemein erreicht werden
durch Definieren einer Anzahl von vier einschließlich-ODER-verknüpften
Teilmengen von Eingängen unter der Vorgabe, das
die Gesamtzahl der Teilmengeneingänge gleich der Gesamtmenge
der Eingänge ist.
Somit behält die Matrix logisch ihre vier Eingabeports, aber
die Zellen werden alternativ mit ihnen verbunden. Das
reduziert die Anzahl der Schreibports für die Zelle auf einen,
der benutzt werden kann, wie immer es der augenblickliche
Schreibprozess erfordert.
Der Zeilenumbruchfall wird in Fig. 4 gezeigt. Die selben
Bezugszeichen bezeichnen jeweils die selben Vorrichtungen bzw.
Elemente. Für die allgemeine Beschreibung wird auf die obige
Beschreibung in Fig. 3 verwiesen.
Im hier gezeigten Fall jedoch läuft der Schreibvorgang in
einen Block in der Nähe des Endes der Matrix an, wie z. B. bei
einer Zelle des Eingangs Nr. 62, wie in Fig. 4 dargestellt
ist, und die Zellen 62, 63, 0, 1 werden gewählt. Die
Abgleicheinheit 20 ihrerseits verbindet uip(0. . .3) mit
di(2, 3, 0, 1), so dass wieder die Daten der Reihe nach in die
Matrix geschrieben werden.
Das Leseschema wird jetzt unter Bezugnahme auf die Fig. 5 und
6 in näheren Einzelheiten erklärt.
Beim Schreiben in die Matrix, wie oben beschrieben, werden die
einzuschreibenden Daten vor dem Zugriff auf die Matrix
abgeglichen, das ist jedoch beim Leseschema anders: Beim Lesen
aus der Matrix werden die Leseergebnisse gemäß den
entsprechenden Leseanforderern nach dem gleichen oder einem
ähnlichen Schema abgeglichen, weil die gleiche Anzahl
Bitort-Teilmengen einer gegebenen Bitspalte, wie oben beim
Schreibfall beschrieben, einem entsprechenden einer Vielzahl
von n Ausgabeports, hier n = 4, fest zugeordnet ist, wieder in
den Ausführungsformen der Fig. 5, 6.
Somit wird eine Ausführungseinheit, ieu0, . . . ieu3, mit Daten
versorgt, die von den fest bestimmten Gruppenmitgliedbits, die
der gleichen Gruppenstruktur entsprechen, wie sie für den
Schreibfall definiert wurden, siehe oben.
Natürlich kann im Lesefall eine andere Gruppenstruktur gewählt
werden als für den Schreibfall.
Zur Ausführung bereite Befehle werden durch Gültigkeits-Bits
"1" identifiziert, die in einer Matrix 50 gezeigt werden.
Diese Gültigkeits-Bits werden dann zu einer
Ausgangsfilter-Abgleichschaltung 52 gebracht. Diese Schaltung 52 wird in
weiteren Einzelheiten in Fig. 6 dargestellt. Die
Abgleichschaltung ist mit vier Lesewahlleitungen 54a, 54b, 54c
und 54d zur Mehrfachport-Zellmatrix verbunden, von der wieder
nur eine einzige Bit-Spalte 12 gezeigt wird. Die in dieser
Spalte gespeicherten Bit-Zellen können mit einer spezifischen
von vier Datenausgangsleitungen, (do) 56a, 56b, 56c, 56d
verbunden sein, die mit den Befehlsausführungseinheiten ieu
0. . .3, entsprechend fest verbunden sind.
Die Zellen sind abwechselnd nur über einen Leseport verbunden,
Zelle (0, 4, 8, . . . 60) mit do(0), Zelle (1, 5, 9, . . . 61) mit
do(1), Zelle (2, 6, 10, . . . 62) mit do(2), und Zelle (3, 7, 11, . . . 63)
mit do(3), wie in Fig. 5 dargestellt.
Unter besonderer Bezugnahme auf Fig. 6 werden zur Ausführung
bereite Befehle mit gültigen Bits im aktiven Fenster geflaggt.
Die Ausgabe wird durch Prioritätsausgabefilter gesteuert
(if(0), if(1), if(2) if(3)), bezeichnet mit den Bezugszeichen
60a, 60b, 60c, 60d, die das älteste, im aktiven Fenster
bereite Zeichen anwählen aufgrund der Bewertung der
entsprechenden gültigen Bitgruppen vd(0, 4, . . . 60), . . . (3, 7, . . . 63)
wie im oberen Teil der Fig. 6 gezeigt wird. Somit werden die
rsel-Signale vom Bewerten nur einer 16 Glieder enthaltenden
Bit-Gruppe abgezogen, wie oben definiert. Das wird gezeigt für
jedes der vier rsel Signale im Bodenteil der Fig. 6.
Wie der Fachmann erkennt, werden so viele Filter benötigt wie
Ausführungseinheiten existieren. Jeder Filter ist einer
Ausführungseinheit zugeordnet, ieu(i) - gesteuert durch if(i)
- wird mit dem Datenausgangsport do(i) verbunden, aber nur
eine Teilgruppe Zellen werden an jeden Port angeschlossen, wie
bereits oben erwähnt wurde. Insbesondere sucht der Filter if0
die gültigen Bits valid_bit (0, 4, 8, . . ., 60), if1 sucht nach
valid_bit (1, 5, 9, . . . 61), und so weiter.
Es muss darauf hingewiesen werden, dass das Vorkommen von
einschließlich-ODER-verknüpften Teilmengen den Vorteil hat,
dass keine Steuerung zwischen den Filtern 60a-d benötigt
wird, weil sie jeder jeweils auf einen gesonderten
Adressenraum arbeiten. Ferner sind die Filter einfacher
aufgrund der 16 anstatt 64 Eingänge. Für den Fall, dass
mehrere Befehle nötig sind, die mit einem Daten-AUS-Port, z. B.
do0, verbunden sind, aber keiner von ihnen mit do1, do2 und
do3 verbunden ist, kann nur ein Befehl ausgeführt werden. Eine
Leistungsanalyse zeigte, dass das eine sehr geringe Auswirkung
auf die CPI-Leistung (Cycle Per Instructions - Zyklen je
Befehl) hat. Um diesen Flaschenhals zu vermeiden können
wahlweise zusätzliche Leseports benutzt werden, um
Mehrfachausführungen auch von einer Teilgruppe zu ermöglichen.
Wie aus der obigen Beschreibung ersichtlich ist, schlägt die
vorliegende Erfindung ein neues Schema zur Reduktion der
Anzahl der Lese- und Schreibports per Zelle aus Gründen der
Leistung und des Platzbedarfs vor, ohne Verlieren der
Flexibilität beim parallelen Lesen und Schreiben auf mehreren
Ports.
In der obigen Beschreibung wurde die Erfindung unter
Bezugnahme auf spezifische beispielhafte Ausführungen
beschrieben. Es ist jedoch offensichtlich, dass verschiedene
Modifikationen und Änderungen gemacht werden können, ohne von
Umfang und Wesensart der Erfindung abzuweichen, die in den
anhängigen Ansprüchen festgelegt werden. Die Spezifikation und
die Zeichnungen gelten demgemäß nur als hinweisend, ihnen
kommt keine einschränkende Wirkung zu.
Insbesondere können die Multiplikationsfaktoren n, n1, n2 frei
variiert werden, ohne von erfindungsgemäßen Prinzipien
eingeschränkt zu sein. Ferner können das erfindungsgemäße
Verfahren und Speichersystem vorteilhaft auf SRAM-
Speichervorrichtungen angewandt werden.
Auch die Matrixgröße kann frei je nach Bedarf variiert werden.
In größeren Matrizen kann das erfindungsgemäße Verfahren und
System mehrfach parallel angewandt werden, um
Lese/Schreibzugriffe auf eine Vielzahl von
einschließlich-ODER-verknüpften Matrixbereichen abzudecken.
Claims (10)
1. Ein Verfahren zum effizienten Zugreifen auf eine
Mehrfachport-Zellmatrixschaltung, wobei jede Zelle dieser
Matrix benutzbar ist durch einen mindestens n-fachen
gleichzeitigen Mehrfachzugriff,
wobei das Verfahren gekennzeichnet ist durch den Schritt
Steuern des gleichzeitigen Mehrfachzugriffs in mindestens k Gruppen, wobei eine Gruppe definiert ist durch eine Vielzahl von Matrixzugriffen, die alle auf den gleichen Zellenport gerichtet sind und während des Betriebs nie gleichzeitig angefordert werden.
wobei das Verfahren gekennzeichnet ist durch den Schritt
Steuern des gleichzeitigen Mehrfachzugriffs in mindestens k Gruppen, wobei eine Gruppe definiert ist durch eine Vielzahl von Matrixzugriffen, die alle auf den gleichen Zellenport gerichtet sind und während des Betriebs nie gleichzeitig angefordert werden.
2. Das Verfahren gemäß Anspruch 1, das ferner die folgenden
Schritte aufweist:
Abgleichen der Zugriffe von einer Anzahl n1 Schreibanforderern auf n1 unterschiedliche Schreibports, gefolgt vom gleichzeitigen Schreiben auf diese Schreibports;
Lesen von der Matrix durch gleichzeitiges Lesen von n2 Leseports und Abgleichen des Leseergebnisses in Übereinstimmung mit den n2 Leseanforderern.
Abgleichen der Zugriffe von einer Anzahl n1 Schreibanforderern auf n1 unterschiedliche Schreibports, gefolgt vom gleichzeitigen Schreiben auf diese Schreibports;
Lesen von der Matrix durch gleichzeitiges Lesen von n2 Leseports und Abgleichen des Leseergebnisses in Übereinstimmung mit den n2 Leseanforderern.
3. Das Verfahren gemäß Anspruch 1, benutzt zum Betreiben
eines Befehlsfenster-Pufferspeichers zum Bearbeiten von
Befehlen außerhalb der Reihenfolge.
4. Das Verfahren gemäß Anspruch 1, benutzt zum Betreiben
eines Pufferspeichers, in dem der Betrieb einer
Warteschlange verwaltet wird.
5. Eine Hardware-Schaltung enthaltend eine
Mehrfachport-Matrix-Speichervorrichtung, die verwendbar ist durch
einen n1-fachen gleichzeitigen Schreibzugriff, und einen
n2-fachen gleichzeitigen Lesezugriff, wobei die
Speichervorrichtung dadurch gekennzeichnet ist, dass sie
enthält
eine Vielzahl von n1 Schreibports und n2 Leseports;
ein Steuermittel (22), in das über eine Steuerleitung (16) eine entsprechende Steuerinformation einspeisbar ist, die angibt, auf welche Zellen zugegriffen werden soll, und die zum Anwählen entsprechender Wortanwahlleitungen angeordnet ist;
ein Schreibabgleichmittel (20), enthaltend mindestens n1 unterschiedliche Schaltschemata, die jedes eine der entsprechenden Dateneingangsleitungen und einen entsprechenden der n1 Schreibports verbindet, und die Abgleicheinheit (20) anschließbar an und steuerbar durch das Steuermittel (22) zur richtigen Auswahl einer entsprechenden Datenleitung für jede dieser Datenleitungen ist; und
ein Leseabgleichmittel (52, 60a, 60b, 60c, 60d) mit einer Steuereingabe (52) und enthaltend mindestens n2 unterschiedliche Schaltschemata zum Auswählen von n2 unterschiedlichen Matrixeingängen in Übereinstimmung mit dem Steuereingang.
eine Vielzahl von n1 Schreibports und n2 Leseports;
ein Steuermittel (22), in das über eine Steuerleitung (16) eine entsprechende Steuerinformation einspeisbar ist, die angibt, auf welche Zellen zugegriffen werden soll, und die zum Anwählen entsprechender Wortanwahlleitungen angeordnet ist;
ein Schreibabgleichmittel (20), enthaltend mindestens n1 unterschiedliche Schaltschemata, die jedes eine der entsprechenden Dateneingangsleitungen und einen entsprechenden der n1 Schreibports verbindet, und die Abgleicheinheit (20) anschließbar an und steuerbar durch das Steuermittel (22) zur richtigen Auswahl einer entsprechenden Datenleitung für jede dieser Datenleitungen ist; und
ein Leseabgleichmittel (52, 60a, 60b, 60c, 60d) mit einer Steuereingabe (52) und enthaltend mindestens n2 unterschiedliche Schaltschemata zum Auswählen von n2 unterschiedlichen Matrixeingängen in Übereinstimmung mit dem Steuereingang.
6. Die Hardware-Schaltung gemäß dem obigen Anspruch, in der
n1 gleich n2 ist.
7. Die Hardware-Schaltung gemäß Anspruch 5, enthaltend eine
Mehrfachportmatrix oder ein Mehrfachportregister.
8. Eine Untereinheit zur Anwendung in
Mikroprozessorvorrichtungen mit mindestens einer
Hardware-Schaltung in Übereinstimmung mit einem der
obigen Ansprüche 5 bis 7.
9. Eine Mikroprozessorvorrichtung mit mindestens einer
Untereinheit in Übereinstimmung mit dem obigen Anspruch.
10. Ein Rechnersystem mit einer Mikroprozessorvorrichtung
gemäß dem obigen Anspruch.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00108699 | 2000-04-20 | ||
EP00108699.0 | 2000-04-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10116639A1 true DE10116639A1 (de) | 2001-10-25 |
DE10116639B4 DE10116639B4 (de) | 2006-01-26 |
Family
ID=8168535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10116639A Expired - Fee Related DE10116639B4 (de) | 2000-04-20 | 2001-04-04 | Schreib/Lese-Abgleichschema zur Portverringerung in Mehrfachport-SRAM-Zellen |
Country Status (2)
Country | Link |
---|---|
US (1) | US6785781B2 (de) |
DE (1) | DE10116639B4 (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041768B2 (en) | 2000-03-17 | 2011-10-18 | Aol Inc. | Voice instant messaging |
US8132110B1 (en) | 2000-05-04 | 2012-03-06 | Aol Inc. | Intelligently enabled menu choices based on online presence state in address book |
US7979802B1 (en) | 2000-05-04 | 2011-07-12 | Aol Inc. | Providing supplemental contact information corresponding to a referenced individual |
US6912564B1 (en) | 2000-05-04 | 2005-06-28 | America Online, Inc. | System for instant messaging the sender and recipients of an e-mail message |
DE60144233D1 (de) | 2000-07-25 | 2011-04-28 | America Online Inc | Videonachrichtenübermittlung |
US7636755B2 (en) | 2002-11-21 | 2009-12-22 | Aol Llc | Multiple avatar personalities |
US8037150B2 (en) | 2002-11-21 | 2011-10-11 | Aol Inc. | System and methods for providing multiple personas in a communications environment |
US7949759B2 (en) | 2003-04-02 | 2011-05-24 | AOL, Inc. | Degrees of separation for handling communications |
US7945674B2 (en) | 2003-04-02 | 2011-05-17 | Aol Inc. | Degrees of separation for handling communications |
US20040179037A1 (en) | 2003-03-03 | 2004-09-16 | Blattner Patrick D. | Using avatars to communicate context out-of-band |
US7908554B1 (en) | 2003-03-03 | 2011-03-15 | Aol Inc. | Modifying avatar behavior based on user action or mood |
US7913176B1 (en) | 2003-03-03 | 2011-03-22 | Aol Inc. | Applying access controls to communications with avatars |
US8898239B2 (en) | 2004-03-05 | 2014-11-25 | Aol Inc. | Passively populating a participant list with known contacts |
US8595146B1 (en) | 2004-03-15 | 2013-11-26 | Aol Inc. | Social networking permissions |
US7730143B1 (en) | 2004-12-01 | 2010-06-01 | Aol Inc. | Prohibiting mobile forwarding |
US9002949B2 (en) | 2004-12-01 | 2015-04-07 | Google Inc. | Automatically enabling the forwarding of instant messages |
US9652809B1 (en) | 2004-12-21 | 2017-05-16 | Aol Inc. | Using user profile information to determine an avatar and/or avatar characteristics |
WO2007106148A2 (en) * | 2006-02-24 | 2007-09-20 | Vogel Robert B | Internet guide link matching system |
US20080212392A1 (en) * | 2007-03-02 | 2008-09-04 | Infineon Technologies | Multiple port mugfet sram |
JP5441216B2 (ja) * | 2010-02-24 | 2014-03-12 | ルネサスエレクトロニクス株式会社 | 半導体装置及びデータ処理システム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2500740B2 (ja) * | 1993-04-06 | 1996-05-29 | 日本電気株式会社 | デュアルポ―トメモリ |
US5574935A (en) * | 1993-12-29 | 1996-11-12 | Intel Corporation | Superscalar processor with a multi-port reorder buffer |
US5481495A (en) * | 1994-04-11 | 1996-01-02 | International Business Machines Corporation | Cells and read-circuits for high-performance register files |
US5813037A (en) * | 1995-03-30 | 1998-09-22 | Intel Corporation | Multi-port register file for a reservation station including a pair of interleaved storage cells with shared write data lines and a capacitance isolation mechanism |
US5642325A (en) * | 1995-09-27 | 1997-06-24 | Philips Electronics North America Corporation | Register file read/write cell |
US5828623A (en) * | 1996-02-23 | 1998-10-27 | Integrated Device Technology, Inc. | Parallel write logic for multi-port memory arrays |
US5905725A (en) * | 1996-12-16 | 1999-05-18 | Juniper Networks | High speed switching device |
US5923593A (en) * | 1996-12-17 | 1999-07-13 | Monolithic Systems, Inc. | Multi-port DRAM cell and memory system using same |
US5923900A (en) | 1997-03-10 | 1999-07-13 | International Business Machines Corporation | Circular buffer with n sequential real and virtual entry positions for selectively inhibiting n adjacent entry positions including the virtual entry positions |
US5930491A (en) * | 1997-06-18 | 1999-07-27 | International Business Machines Corporation | Identification of related instructions resulting from external to internal translation by use of common ID field for each group |
US5856940A (en) * | 1997-08-15 | 1999-01-05 | Silicon Aquarius, Inc. | Low latency DRAM cell and method therefor |
US6104642A (en) * | 1997-12-11 | 2000-08-15 | Intrinsity, Inc. | Method and apparatus for 1 of 4 register file design |
US5991208A (en) * | 1998-05-22 | 1999-11-23 | International Business Machines Corporation | Write multiplexer apparatus and method for multiple write port programmable memory |
US5991224A (en) * | 1998-05-22 | 1999-11-23 | International Business Machines Corporation | Global wire management apparatus and method for a multiple-port random access memory |
-
2001
- 2001-04-03 US US09/825,072 patent/US6785781B2/en not_active Expired - Fee Related
- 2001-04-04 DE DE10116639A patent/DE10116639B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20010034817A1 (en) | 2001-10-25 |
US6785781B2 (en) | 2004-08-31 |
DE10116639B4 (de) | 2006-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10116639B4 (de) | Schreib/Lese-Abgleichschema zur Portverringerung in Mehrfachport-SRAM-Zellen | |
DE3011552C2 (de) | ||
DE69733931T2 (de) | Kreuzvermittlungsschalter und verfahren mit beschränktem spannungshub und blockierungsfreien vermittlungswegen | |
EP1222739B1 (de) | Rekonfigurierbares gate-array | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
EP1329816B1 (de) | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3934145C2 (de) | Platteneinheit-Steuerungsvorrichtung und Informationsverarbeitungssystem, das dieselbe enthält | |
DE19740695C2 (de) | Datenspeicher mit Mehrebenenhierarchie | |
DE3724730A1 (de) | Cache-steuereinrichtung | |
DE2630323A1 (de) | Datenspeichereinrichtung | |
EP0651536A2 (de) | Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE102005037219A1 (de) | Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle | |
DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
DE4117672A1 (de) | Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers | |
DE69924179T2 (de) | Breitbandige Speicheranordnung mit Befehlsstapel und schmaler Ein- und Ausgabe | |
DE10105627B4 (de) | Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung | |
DE2842288A1 (de) | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher | |
DE4019546C2 (de) | ||
DE4200285A1 (de) | Microcomputer-speicherzugriffverfahren | |
EP0674319B1 (de) | Mehrtorige Datenspeicheranordnung und Verfahren zum Betrieb derselben | |
DE1449816C3 (de) | Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher | |
DE60007010T2 (de) | Gemeinsamer Speicher | |
DE2002369C3 (de) | Datenverarbeitungsanlage mit Pufferspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |