DE3788704T2 - Speichersteuerungsanordnung und Logik-in-Speichervorrichtung. - Google Patents
Speichersteuerungsanordnung und Logik-in-Speichervorrichtung.Info
- Publication number
- DE3788704T2 DE3788704T2 DE3788704T DE3788704T DE3788704T2 DE 3788704 T2 DE3788704 T2 DE 3788704T2 DE 3788704 T DE3788704 T DE 3788704T DE 3788704 T DE3788704 T DE 3788704T DE 3788704 T2 DE3788704 T2 DE 3788704T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- signal input
- buffer
- input terminals
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Speichersteuersystem für einen Computer, der sowohl ein virtuelles Speichersystem als auch ein Pufferspeichersystem verwendet, sowie auf eine Speichereinrichtung mit interner Logik, die in dem Speichersteuersystem verwendet wird.
- Neueste Großrechner und mittelgroße Rechner enthalten im allgemeinen sowohl ein virtuelles Speichersystem als auch ein Pufferspeichersystem. Mit dem virtuellen Speichersystem kann ein Programmierer ungeachtet der Größe des realen Speichers eine Codierung ausführen, derart, daß er oder sie keine reale Adresse eines realen Speichers, sondern eine logische Adresse eines virtuellen Speichers verwendet. Mit dem Pufferspeichersystem wird eine Speicherhierarchie verwendet, wobei zwischen einer Zentraleinheit und einem Hauptspeicher ein Hochgeschwindigkeits- Pufferspeicher mit geringer Kapazität vorgesehen ist, um den Hauptspeicher mit großer Kapazität und geringer Geschwindigkeit mit der Systemverarbeitungsgeschwindigkeit kompatibel zu machen.
- In Verbindung mit dem virtuellen Speichersystem ist es notwendig, vor der Bezugnahme auf einen Hauptspeicher eine virtuelle Adresse in eine reale Adresse zu übersetzen. Die Übersetzung einer virtuellen Adresse in eine reale Adresse wird unter Bezugnahme auf eine Adressenübersetzungstabelle im Hauptspeicher ausgeführt, wobei die Tabelle unter Verwendung eines Programms im voraus erstellt worden ist. Wenn jedoch auf den Hauptspeicher jedesmal zugegriffen werden muß, wenn die Übersetzung ausgeführt wird, wird der Platzbedarf der Adressenübersetzung groß. Deswegen ist ein Adressenübersetzungs-Zwischenzugriffspuffer (der im folgenden TLB genannt wird) vorgesehen, der Übersetzungspaare aus einer virtuellen Adresse und einer realen Adresse speichert, die bei einem einmaligen Zugriff auf den Hauptspeicher erhalten worden sind. Wenn auf den Hauptspeicher zugegriffen wird, wird geprüft, ob die nun betrachtete virtuelle Adresse im TLB vorliegt oder nicht. Wenn sie vorliegt (hierfür ist die Wahrscheinlichkeit wegen der lokalisierten Natur eines Programms sehr hoch), kann eine entsprechende reale Adresse mit hoher Geschwindigkeit erhalten werden.
- Bei dem Pufferspeichersystem kopiert der Pufferspeicher einen Teil der im Hauptspeicher gespeicherten Daten. Um eine solche Datenkorrespondenz zu speichern, ist ein Pufferadressenfeld (das im folgenden BAA genannt wird) vorgesehen. Wenn die Zentraleinheit das System aktiviert, um auf den Hauptspeicher unter Verwendung einer virtuellen Adresse zuzugreifen, wird geprüft, ob eine entsprechende vom TLB übersetzte reale Adresse im BAA vorliegt. Wenn sie vorliegt (diese Wahrscheinlichkeit ist wegen der lokalisierten Natur eines Programms sehr hoch), werden die erforderlichen Daten aus dem Pufferspeicher mit hoher Geschwindigkeit gelesen und zur Zentraleinheit geschickt.
- Die Bezugnahme auf den TLB und auf das BAA ist als serielle Ausführung beschrieben worden. Es ist jedoch für eine Hochgeschwindigkeitsverarbeitung notwendig, die Bezugnahme parallel auszuführen. In diesem Fall wird auf das BAA mittels einer virtuellen Adresse, insbesondere mittels eines realen Adressenteils (seiteninterne Adresse) der virtuellen Adresse zugegriffen. Die Korrespondenz der Daten des Hauptspeichers und des Puffenspeichers wird unter Verwendung eines sogenannten "Blocks" dargestellt, der im allgemeinen aus 32 Bytes oder 64 Bytes konstruiert ist, so daß die Anzahl der für den Zugriff auf das BAA erforderlichen Bits höchstens 6 bis 7 Bits beträgt.
- Fig. 1 ist ein Blockschaltbild, das ein Beispiel einer Pufferspeichereinrichtung des Typs zeigt, in dem auf das TLB-System und das BAA-System parallel zugegriffen wird. Bei einer von der Zentraleinheit erzeugten Speicheranforderung wird in ein Register 1a eine virtuelle Adresse geladen. Eintragungen eines TLB 2 werden mittels der niederwertigen Bits der Seitenadresse der virtuellen Adresse identifiziert. In diesem Beispiel ist der TLB 2 aus k Spalten · 2 Reihen einschließlich einer ersten Reihe 2-1 und einer zweiten Reihe 2-2 konstruiert. Jede der ersten und der zweiten Reihen besitzt nämlich k Eintragungen. Jede Eintragung der Reihen 2-1 und 2-2 des TLB 2 ist aus einem virtuellen oder einem logischen Adressenteil (L), einem Validierungszustandsbit-Teil (V) und einem realen Adressenteil (R) konstruiert. Die Inhalte der L-Teile und der V-Teile, die aus den Reihen des TLB 2 ausgelesen worden sind, werden mit den höherwertigen Bits der Seitenadresse des Registers Ia in entsprechenden Adressenkomparatoren 4-1 und 4-2 verglichen.
- Die Eintragungen des BAA werden mittels der höherwertigen Bits der seiteninternen Adresse identifiziert. In diesem Beispiel ist ein BAA 3 aus l Spalten · 2 Reihen einschließlich einer ersten Reihe 3-1 und einer zweiten Reihe 3-2 konstruiert. Jede Reihe besitzt 1 Eintragungen. In dem System, in dem auf den TLB 2 und das BAA 3 parallel zugegriffen wird, wird die Anzahl l der Spalten des BAA auf der Grundlage der Blockgröße des Pufferspeichers bestimmt. Unter der Annahme, daß die Seitengröße 4 KB beträgt und die Blockgröße 64 Bytes beträgt, ist nämlich die Anzahl l der Spalten 64. Die Anzahl der Reihen wird durch die Pufferspeicherkapazität bestimmt. Jede Eintragung des BAA 3 ist aus einem realen Adressenteil (R) und einem Validierungszustandsbit-Teil (V) konstruiert. Realadressenkomparatoren 6-1 und 6-2 vergleichen die Inhalte der R-Teile des BAA 3-1 und des BAA 3-2 mit einer realen Adresse (Seitenadresse), die aus dem R-Teil des TLB 2-1 ausgelesen und in eine Wähleinrichtung 5 eingegeben werden, oder mit einer realen Adresse (Seitenadresse), die direkt von der Zentraleinheit in das Register 1a geladen worden ist. Die Wähleinrichtung 5 wählt den Inhalt des Registers 1a, wenn die Zentraleinheit direkt eine reale Adresse in das Register 1a geladen hat, oder den Inhalt des TLB 2-1, wenn in das Register 1a eine virtuelle Adresse geladen worden ist. Weitere Realadressenkomparatoren 7-1 und 7-2 vergleichen Realadressen, die von den R-Teilen des TLB 2-2 ausgelesen worden sind, mit Realadressen, die aus den R-Teilen des BAA 3-1 und des BAA 3-2 ausgelesen worden sind. Jeder der Realadressenkomparatoren 6-1, 6-2, 7-1 und 7-2 gibt "1" aus, wenn zwei Eingänge übereinstimmen.
- Die Vergleichsergebnisse von den Realadressenkomparatoren 6-1, 6-2, 7-1 und 7-2 werden in einer Codierer 8 eingegeben und auf der Grundlage der Ergebnisse der Komparatoren 4-1 und 4-2 für virtuelle Adressen gewählt, woraufhin der codierte Ausgang (in diesem Fall ein Bit) in einem Register 9 in dessen oberem Bereich und die seiteninterne Adresse im Register 1a in dessen unterem Bereich gespeichert werden. Somit kann im Register 9 eine Pufferspeicheradresse erhalten werden, die einer virtuellen Adresse oder einer in das Register 1a geladenen realen Adresse entspricht. Unter Verwendung der Adresse im Register 9 wird auf den Pufferspeicher zugegriffen, wobei die ausgelesenen Daten an die Zentraleinheit übertragen werden.
- Der TLB 2 und das BAA 3 müssen mit hoher Geschwindigkeit arbeiten und außerdem eine bestimmte Kapazität besitzen. Folglich sind sie üblicherweise als bipolare Speicher konstruiert. In Fig. 2 ist ein herkömmlicher bipolarer Speicher gezeigt, der für eine derartige Anwendung verwendet wird.
- Wie in Fig. 2 gezeigt, werden an die Eingangsanschlüsse A0-A2 und A3-A5 eingegebene Adressensignale mittels eines x-Adressendecodierers 10 bzw. eines y-Adressendecodierers 14 decodiert und an Treiber 11 und 13 geliefert, die ihrerseits eine Speicherzelle 12 aktivieren. In diesem Beispiel ist die Speicherzelle 12 aus 64 Bits in Form von 8 Bits · 8 Bits konstruiert. Ein aus der Speicherzelle 12 ausgewähltes Bit wird über einen Leseverstärker 15 an eine Ausgangsschaltung 16 geliefert, um an einem Ausgangsanschluß DO (Datenausgang) Auslesedaten auszugeben. Während ein WE-Signal (Schreibfreigabesignal) gültig ist, ist eine Schreibbetriebsart aktiviert. In der Schreibbetriebsart werden Daten an einem Eingangsanschluß DI (Dateneingang) eines Gatters 1- an UND-Gatter 18 und 19 geliefert, wo sie einer UND-Verknüpfung mit einem WE-Signal unterworfen werden, so daß am Ausgang des UND-Gatters 18 oder 19 ein Schreibsignal "1" oder ein Schreibsignal "0" validiert wird. Das Schreibsignal "1" oder das Schreibsignal "0" wird über einen Treiber 13 in die Speicherzelle 12 an einer Adresse geschrieben, die durch die Adressensignale A0-A5 bezeichnet ist.
- Der bipolare Speicher dieses Typs wird als TLB oder BAA verwendet, indem er in einer Matrixkonfiguration angeordnet wird, mit der eine gewünschte Wortlänge und eine gewünschte Bitbreite verwirklicht wird.
- Aufgrund der Entwicklung und der Verbesserung von LSIs mit Superdichte sind kürzlich Großrechner mit Hochgeschwindigkeitsverarbeitung verwirklicht worden. Es wird erwartet, daß sich diese Tendenz in der Zukunft verstärkt. Während die meisten Logikeinheiten wie etwa Recheneinheiten in Form von LSIs mit hoher Betriebsgeschwindigkeit implementiert sind, ist der einen bipolaren Speicher enthaltende Logikteil hauptsächlich von Gattern für die Adressenverteilung an die bipolaren Speicherzellen und für die Auswahl von ausgelesenen Daten aus den bipolaren Speicherzellen belegt, weshalb es schwierig ist, sie in Form von LSIs zu implementieren und die vorteilhaften Merkmale der LSIs auszunutzen. Daher besteht eine hohe Wahrscheinlichkeit, daß eine derartige Schwierigkeit zu einem kritischen Punkt wird, der die Maschinenzyklen eines Computers begrenzt. Ferner besteht eine Tendenz, daß auch die Kapazität eines Hauptspeichers ansteigt, so daß die Kapazität des Pufferspeichers erhöht werden muß, d. h. daß die Kapazität eines BAA erhöht werden muß. Inzwischen ist es möglich geworden, wegen des Fortschritts der Großintegration eines bipolaren Speichers einen Hochgeschwindigkeitsspeicher mit einer Kapazität von 4 KB zu verwirklichen. Da jedoch die verfügbare Anzahl von Spalten eines BAA in einem System mit parallelem TLB- und BAA-Zugriff wie oben beschrieben höchstens 6 bis 7 Bits ist, wird es notwendig, die Anzahl der Bits für die Großintegration eines bipolaren Speichers zu erhöhen. Wenn jedoch ein BAA mit großer Kapazität unter Verwendung eines bipolaren Speichers mit der in Verbindung mit Fig. 2 diskutierten Konfiguration implementiert wird, steigt die Anzahl der Gehäuseanschlüsse des bipolaren Speichers erheblich an, so daß eine einfache Herstellung schwierig ist.
- Wenn beispielsweise ein 4 KB-Speicher aus 64 Worten konstruiert ist, ist es möglich, 64 Bits zu verwenden. In diesem Fall beträgt jedoch die Anzahl der erforderlichen Anschlüsse für die Adressen- und die Datenleitungen 140. Daher ist die Gehäusegröße eines bipolaren Speichers durch die Anzahl der Eingangs-/Ausgangsanschlüsse beschränkt.
- Die japanische Patentveröffentlichung JP-B-57-57784 offenbart die Einrichtung, die einen TLB und ein BAA verwendet, die aus einem Speicherchip mit einem darin enthaltenen Komparator konstruiert sind. Die obenerwähnte Beschränkung soll dadurch beseitigt werden, daß in einen Speicherchip beispielsweise der in Fig. 1 durch eine unterbrochene Linie umrahmte Bereich aufgenommen wird. Das US-Patent 4,332,010 offenbart einen Speicherchip, in dem ein Komparator enthalten ist.
- Gemäß der JP-B-57-57784 wird eine aus einem TLB ausgelesene reale Adresse von dem den TLB enthaltenden Speicherchip vorübergehend ausgegeben und in einen ein BAA enthaltenden Speicherchip eingegeben, um mit einer vom BAA gelesenen realen Adresse verglichen zu werden. Daher besteht das Problem, daß die Anzahl der Anschlüsse, die für die Eingabe/Ausgabe in bezug auf den TLB und das BAA erforderlich sind, sowie eine Ausbreitungsverzögerung erhöht werden.
- Es ist eine Aufgabe der vorliegenden Erfindung, eine integrierte Speichereinrichtung mit interner Logik zu schaffen, mit der die Ausbreitungsverzögerung sowie die Anzahl der Eingangs-/Ausgangsanschlüsse für ein Gehäuse abgesenkt werden können.
- Die integrierte Speichereinrichtung mit interner Logik gemäß der vorliegenden Erfindung umfaßt in Form einer integrierten Schaltung einen ersten Speicher zum Halten eines realen Adressenteils eines TLB, einen zweiten Speicher zum Halten eines realen Adressenteils eines BAA und wenigstens einen Komparator zum Vergleichen eines Ausgangs vom ersten Speicher mit einem Ausgang vom zweiten Speicher, wobei der erste Speicher (2-13, 2-23), der zweite Speicher (3-1, 3-2) und die Komparatoreinrichtung (6-1, 6-2, 7-1, 7-2) in einem einzelnen Chip angeordnet sind, während derjenige Teil des Adressenübersetzungspuffers (TLB), der den virtuellen Adressenteil (L) enthält, außerhalb des Chips angeordnet ist.
- In der integrierten Speichereinrichtung mit interner Logik gemäß der vorliegenden Erfindung wird eine reale Adresse nicht von TLB-Chip an einen BAA-Chip übertragen, so daß es möglich ist, die Anzahl der Anschlüsse und eine Ausbreitungsverzögerung abzusenken. Obwohl sowohl der TLB als auch das BAA eine unterschiedliche Funktion besitzen, arbeiten sie in enger gegenseitiger Beziehung, so daß sie auf einem einzelnen Chip implementiert sein können. Dies ist jedoch in einigen Fällen nicht praktisch, weil der resultierende Chip groß wird. Deswegen ist der TLB erfindungsgemäß so unterteilt, daß der einen realen Adressenteil haltende Abschnitt zusammen mit dem BAA in einem einzelnen Chip implementiert ist.
- Fig. 1 ist ein Blockschaltbild, das eine herkömmliche Einrichtung zeigt;
- Fig. 2 ist ein Blockschaltbild, das eine allgemeine Konfiguration eines bipolaren Speichers zeigt;
- Fig. 3 ist ein Blockschaltbild, das eine Ausführungsform der vorliegenden Erfindung erläutert;
- Fig. 4 ist ein Blockschaltbild, das ein besonderes Beispiel der in Fig. 3 gezeigten Speichereinrichtung mit interner Logik zeigt; und
- die Fig. 5 und 6 sind Blockschaltbilder weiterer Ausführungsformen der vorliegenden Erfindung.
- Fig. 3 ist ein Blockschaltbild, das eine Ausführungsform der vorliegenden Erfindung erläutert. Der in Fig. 3 durch eine unterbrochene Linie umrahmte Abschnitt ist ein Speicherchip, der den Kern der vorliegenden Erfindung bildet. Ähnliche konstitutive Elemente wie in Fig. 1 sind mit denselben Bezugszeichen bezeichnet. Der durch eine unterbrochene Linie umrahmte Speicherchip enthält Reihen 3-1 und 3-2, die ein BAA 3 bilden, Komparatoren 6-1, 6-2, 7-1 und 7-2, R-Teile 2-13 und 2-23 der Reihen, die teilweise einen TLB 2 bilden, sowie eine Wähleinrichtung 5. Die Reihen 3-1 und 3-2 des BAA sind mit einem gemeinsamen Eingang für eine Spaltenadresse, d. h. mit den höherwertigen Bits der seiteninternen Adresse in einem Adressenregister 1a verbunden. Die R-Teile 2-13 und 2-23 des TLB sind mit einem gemeinsamen Eingang für eine Spaltenadresse, die von derjenigen des BAA verschieden ist, d. h. mit den niederwertigen Bits der Seitenadresse im Adressenregister 1a verbunden. Die Reihen 3-1 und 3-2 des BAA und die R-Teile 2-13 und 2-23 des TLB sind mit einem gemeinsamen Eingangsdaten-Signaleingang, d. h. mit einem Register 1b für die Adresseneintragung verbunden. Mit dieser Konstruktion ist es möglich, eine vom TLB gelesene reale Adresse mit einer vom BAA gelesenen realen Adresse zu vergleichen, ohne die erstgenannte reale Adresse von außerhalb des Speicherchips zu holen. Ein V-Teil des BAA wird als Freigabesignal für die Komparatoren verwendet. Die L- und V-Teile des TLB und die Komparatoren 4-1 und 4-2 können als weiterer Speicherchip implementiert sein, der die Komparatoren enthält.
- Fig. 4 ist ein besonderes Schaltbild des Speicherchips, der in Fig. 3 von einer unterbrochenen Linie umrahmt ist.
- In der Figur bezeichnen die Zahlen in Klammern die jeweilige Anzahl der Signale, die sich ändert, wenn sich der Integrationsgrad ändert, wobei die vorliegende Erfindung nicht auf eine solche Anzahl eingeschränkt sein soll. Die Bezugszeichen 20-1 und 20-2 bezeichnen einen ersten Speicher, der in dieser Ausführungsform aus zwei Reihen konstruiert ist, 20-3 und 20-4 bezeichnen einen zweiten Speicher, der in dieser Ausführungsform aus zwei Reihen konstruiert ist. Der interne Aufbau der Speicherteile 20-1 bis 20-4 kann zu einem herkömmlichen Aufbau ähnlich sein. Die Speicherteile 20-1 bis 20-4 werden mit entsprechenden Schreibfreigabesignalen (WE-Signalen) 24-1 und einem gemeinsamen Eingangsdatensignal 26 versorgt. Die Speicherteile 20-1 und 20-2 werden mit einem gemeinsamen ersten Adressensignal 25-1a versorgt, während die Speicherteile 20-3 und 20-4 mit einem gemeinsamen zweiten Adressensignal 25-2 versorgt werden. Folglich werden von den Speicherteilen Ausgangsdatensignale 30-1 bis 30-4 ausgegeben. Eine Wähleinrichtung 23 wählt das Ausgangsdatensignal 30-1 oder eines der Adressensignale 25-1a und 25-1b auf der Grundlage eines Datenwählsignals 27, um es als Ausgangssignal 28 aus zugeben. Die Komparatoren 21-1 bis 21-4 vergleichen die von den Speicherteilen 20-3 und 20-4 ausgelesenen Ausgangsdatensignale 30-3 und 30-4 mit dem Ausgangssignal 28 von der Wähleinrichtung 23 und dem Ausgangssignal 30-2 vom Speicherteil 30-2. Die Komparatoren 20-3 bis 20-4 geben jeweils ein Vergleichsausgang-"1"-Signal 29-1 bis 29-4 aus, wenn zwei Eingänge an jeden Komparator nicht miteinander übereinstimmen.
- Die Speicherteile 20-1 bis 20-4 sind im wesentlichen zu entsprechenden herkömmlichen Speicherteilen ähnlich. Gemäß einem Aspekt der vorliegenden Erfindung sind die Speicherteile jedoch in einen ersten und in einen zweiten Speicher unterteilt, wobei die Ausgänge des ersten und des zweiten Speichers miteinander verglichen werden. Die Operation in jeder Betriebsart wird beschrieben:
- Wenn eines der Schreibfreigabesignale 24-1 bis 24-4 und das Adressensignal 25-1a oder 25-2 validiert sind, werden die Inhalte des Eingangsdatensignal 26 in den vom Schreibfreigabesignal bezeichneten Speicherteil an einer vom Adressensignal 25-1a oder 25-2 bezeichneten Adresse geschrieben. Die Speicherteile 20-1 und 20-2 entsprechen der ersten und der zweiten Reihe des realen Adressenteils des TLB, während die Speicherteile 20-3 und 20-4 der ersten und der zweiten Reihe des BAA entsprechen. Eine neue Adresse wird im TLB oder im BAA eingetragen, nachdem eine bestimmte Reihe in Übereinstimmung mit einem besonderen Algorithmus ausgewählt worden ist. Da die Eintragungen einer Adresse in den TLB oder in das BAA gewöhnlich nicht gleichzeitig ausgeführt werden, kann ein Eingangsdatensignal auf ähnliche Weise an alle Speicherteile geliefert werden, so daß die Anzahl der Gehäuseanschlüsse vorteilhaft abgesenkt werden kann.
- Die Adressensignale 25-1a und 25-2 werden validiert, um die Speicherteile 20-1 bis 20-4 zu aktivieren und Ausgangsdatensignale auszugeben. Das Ausgangsdatensignal 30-1 wird auf der Grundlage des Datenwählsignals 27 gewählt und als Ausgangssignal 28 ausgegeben. Das Ausgangssignal 28 wird an die Komparatoren 21-1 und 21-2 geliefert, während die Ausgangsdatensignale 30-2 bis 30-4 an die Komparatoren 21-1 bis 21-4 geliefert werden. Der Komparator 21-1 vergleicht die erste Reihe des realen Adressenteils des TLB mit der ersten Reihe des realen Adressenteils des BAA, der Komparator 21-2 vergleicht die erste Reihe des realen Adressenteils des TLB mit der zweiten Reihe des realen Adressenteils des BAA; der Komparator 21-3 vergleicht die zweite Reihe des realen Adressenteils des TLB mit der ersten Reihe des realen Adressenteils des BAA und der Komparator 21-4 vergleicht die zweite Reihe des realen Adressenteils des TLB mit der zweiten Reihe des realen Adressenteils des BAA. Die Vergleichsergebnisse werden als Ausgänge 29-1 bis 29-4 ausgegeben. Die Komparatoren 21-1 bis 21-4 setzen ihre Ausgänge 29-1 bis 29-4 mittels einer Exklusiv-ODER-Operation jeweils auf "1", wenn zwei Eingangsbits an jeden Komparator nicht miteinander übereinstimmen. Offensichtlich können die Komparatoren 21-1 bis 21-4 so konstruiert sein, daß die Ausgänge 29-1 bis 29-4 auf "1" gesetzt werden, wenn zwei Eingangsbits miteinander übereinstimmen. Die Wähleinrichtung 22 wählt den realen Adressenteil des TLB, wenn die auf das BAA zugreifende Adresse eine virtuelle Adresse ist, während sie die auf das BAA zugreifende Adresse selbst wählt, wenn diese eine reale Adresse ist.
- In der obigen Ausführungsform werden die Signale 24-1 bis 24-4, 25-1a und 25-1b, 25-2, 26, 27, 29-1 bis 29-4 in die entsprechenden am Gehäuse vorgesehenen Eingangsanschlüsse eingegeben oder von den entsprechenden am Gehäuse vorgesehenen Ausgangsanschlüssen ausgegeben.
- Fig. 5 ist ein Blockschaltbild, das eine weitere Ausführungsform der vorliegenden Erfindung zeigt, die im Gegensatz zu dem in der Ausführungsform von Fig. 3 verwendeten einen Speicherchip zwei Speicherchips verwendet. Die Anzahl der in der Ausführungsform von Fig. 3 verwendeten Reihen ist 2. Diese in Fig. 5 gezeigte Ausführungsform ist in dem Fall effektiv, in dem die Anzahl der Reihen groß ist, so daß die Ausführungsform von Fig. 3 an diese Reihen nicht angepaßt werden kann. Die Speicherchips 100 und 101 besitzen genau dieselbe Struktur wie diejenigen, die in Fig. 3 gezeigt sind. Die R-Teile 2-13 und 2-13' in den Speicherchips 100 und 101 bilden die erste Reihe im TLB und speichern dieselbe reale Adresse. Die R-Teile 2- 23 und 2-23, in den Speicherchips 100 und 101 bilden die zweite Reihe des TLB und speichern dieselbe reale Adresse. Die Bezugszeichen 3-1 und 3-2 im Speicherchip 100 stellen die erste Reihe 1 bzw. die zweite Reihe 2 des BAA dar, während die Bezugszeichen 3-3 und 3-4 im Speicherchip 101 die dritte Reihe bzw. die vierte Reihe des BAA darstellen.
- Wie oben ist es durch die Erhöhung der Anzahl der Speicherchips bei einer Zunahme der Anzahl der Reihen des BAA und durch den Einschluß der R-Teile derselben Reihe des TLB in jeden Speicherchip ähnlich wie bei der in Fig. 3 gezeigten Ausführungsform möglich, eine vom TLB gelesene reale Adresse mit dem R-Teil des BAA zu vergleichen, ohne die reale Adresse zwischen dem TLB und dem BAA zu übertragen. In Fig. 5 ist die Zwischenverbindung zwischen den V-Teilen und den Komparatoren weggelassen.
- Fig. 6 zeigt eine weitere Ausführungsform dieser Erfindung, wobei die beiden Speicherchips 200 und 201 ähnlich wie in der Ausführungsform von Fig. 5 verwendet werden. Diese Ausführungsform ist in dem Fall nützlich, in dem jeder Speicherchip eine unzureichende Bitkapazität besitzt. Falls beispielsweise ein Speicherteil, der in Fig. 4 mit einer 8-Bit-Länge gezeigt ist, eine 4-Bit-Länge besitzt oder eine reale Adresse mit 16 Bits geladen werden soll, werden die oberen und die unteren Hälften einer Adresse geteilt in die Speicherchips 200 und 201 geladen.
- Jede Reihe des BAA besitzt einen V-Teil, während eine Reihe 3-1a, die dazu dient, die höherwertigen Bits derselben Reihe zu handhaben, keinen V-Teil besitzt und eine Reihe 3-1b (im Speicherchip 201), die dazu dient, die niederwertigen Bits zu handhaben, einen V-Teil besitzt. Ein Codierer 80 beurteilt die Übereinstimmung einer Reihe, wenn die oberen und die unteren Bits miteinander übereinstimmen.
- In den obigen Ausführungsformen ist der R-Teil des TLB so beschrieben worden, daß er keinen V-Teil besitzt. Der V-Teil kann jedoch zum R-Teil hinzugefügt werden, so daß der auf "1" gesetzte V-Teil im Komparator mit einem entsprechenden V-Teil des BAA verglichen wird. Falls alternativ der V-Teil nicht zum R-Teil des TLB hinzugefügt ist, kann der Komparator so konstruiert sein, daß das dem V-Teil des BAA entsprechende Bit auf hohem Pegel fixiert ist.
- Obwohl außerdem die L- und V-Teile des TLB in den obigen Ausführungsformen außerhalb des Speicherchips angeordnet worden sind, können im Speicherchip verschiedene Diskriminatoren, Tabellenursprünge (STO) und Speicherschutzschlüssel gespeichert sein.
- Ferner können als Spaltenadresse des BAA nicht nur die höherwertigen Bits der seiteninternen Adresse, sondern auch die niederwertigen Bits der Seitenadresse verwendet werden. In einem solchen Fall werden die niederwertigen Bits der TLB-Spaltenadressen im Speicherchip und die höherwertigen Bits der BAA-Spaltenadresse verdoppelt, so daß einige dieser Bits im Gebrauch gemeinsam genutzt werden können.
- Gemäß der vorliegenden Erfindung sind die Speicherteile für die realen Adressen des TLB und des BAA und der Komparatorabschnitt zum Vergleichen der Ausgänge der Speicherteile im selben Speichergehäuse montiert. Daher können die Ausbreitungsverzögerung und die Anzahl der Anschlüsse wirksam abgesenkt werden.
- In den obigen Ausführungsformen sind das Register 1a zum Laden einer auf den TLB und das BAA zugreifenden Adressen und das Register 1b zum Laden einer in den TLB und das BAA einzutragenden realen Adresse getrennt konstruiert. Die Register 1a und 1b können jedoch zu einem gemeinsamen Register kombiniert sein.
Claims (7)
1. Eine integrierte Speichereinrichtung mit interner
Logik für ein Speichersteuersystem, das versehen ist mit
einem Adressenübersetzungspuffer (TLB 2) zum Speichern
von Übersetzungspaaren aus einer virtuellen Adresse und
einer realen Adresse und zum Übersetzen einer virtuellen
Adresse in eine reale Adresse, einem Pufferadressenfeld
(BAA 3) zum Speichern einer realen Adresse von in einem
Pufferspeicher gespeicherten Daten und einer
Registereinrichtung (1a, 1b) zum Halten einer Adresse, um auf den
Adressenübersetzungspuffer und das Pufferadressenfeld
zuzugreifen, sowie zum Laden einer in den
Adressenübersetzungspuffer und das Pufferadressenfeld einzutragenden
Adresse, wobei die Speichereinrichtung mit interner Logik
in integrierter Form umfaßt:
einen ersten Speicher (2-13, 2-23) zum Halten
eines realen Adressenteils des Adressenübersetzungspuffers
(TLB);
einen zweiten Speicher (3-1, 3-2) zum Halten
eines realen Adressenteils des Pufferadressenfeldes (BAA);
und
eine Komparatoreinrichtung (6-1, 6-2, 7-1, 7-2),
die zwischen den ersten und den zweiten Speicher
geschaltet ist, um einen Ausgang vom ersten Speicher mit einem
Ausgang vom zweiten Speicher zu vergleichen, dadurch
gekennzeichnet, daß
der erste Speicher (2-13, 2-23), der zweite
Speicher (3-1, 3-2) und die Komparatoreinrichtung (6-1, 6-2,
7-1, 7-2) innerhalb eines einzigen Chips angeordnet sind,
während derjenige Teil des Adresssenübersetzungspuffers
(TLB),
der den virtuellen Adressenteil (L) enthält,
außerhalb des Chips angeordnet ist.
2. Eine integrierte Speichereinrichtung mit interner
Logik gemäß Anspruch 1, die ferner versehen ist mit
Adressensignal-Anschlüssen (25-1a, 25-2) und
Eingangsdatensignal-Eingangsanschlüssen (26), wobei die ersten
Speicher (20-1, 20-2) und die zweiten Speicher (20-3, 20-4)
mit verschiedenen der
Adressensignal-Eingangsanschlüsse und gemeinsam mit den
Eingangsdatensignal-Eingangsanschlüssen (26) verbunden sind.
3. Eine integrierte Speichereinrichtung mit interner
Logik gemäß Anspruch 2, bei der
der erste Speicher (2-13, 2-23) m erste
Speicherteile enthält, die gemeinsam mit den
Adressensignal-Eingangsanschlüssen (25-1a, 25-2) bzw. mit den
Eingangsdatensignal-Eingangsanschlüssen (26) verbunden sind;
der zweite Speicher (3-1, 3-2) n zweite
Speicherteile enthält, die gemeinsam mit den
Adressensignal-Eingangsanschlüssen (25-1a, 25-2) bzw. mit den
Eingangsdatensignalen-Eingangsanschlüssen (26) verbunden sind;
die Komparatoreinrichtung (6-1, 6-2, 7-1, 7-2)
m · n Komparatoren enthält;
jeder Speicherteil des zweiten Speichers (3-1, 3-2)
mit seinem Ausgang mit den m Komparatoren verbunden
ist; und
jeder Speicherteil des ersten Speichers (2-13, 2-23)
mit seinem Ausgang mit den n Komparatoren verbunden
ist, von denen jeder mit einem anderen der zweiten
Speicherteile verbunden ist.
4. Ein Speichersteuersystem, mit einem
Adressenübersetzungspuffer (TLB 2) zum Speichern von
Übersetzungspaaren einer virtuellen Adresse und einer realen Adresse und
zum Übersetzen einer virtuellen Adresse in eine reale
Adresse, einem Pufferadressenfeld (BAA 3) zum Speichern
einer realen Adresse von im Pufferspeicher gespeicherten
Daten und einer Registereinrichtung (1a, 1b) zum Halten
einer Adresse, um auf den Adressenübersetzungspuffer und
auf das Pufferadressenfeld zuzugreifen und zum Laden
einer in den Adressenübersetzungspuffer und das
Pufferadressenfeld einzutragenden Adresse, wobei
das Speichersteuersystem mehrere
Speichereinrichtungen mit interner Logik (100, 101, 200, 201) gemäß
Anspruch 1 enthält; dadurch gekennzeichnet, daß
der erste Speicher einer jeden Einrichtung
denselben Inhalt speichert und der zweite Speicher in jeder
Einrichtung einen unterschiedlichen Inhalt speichert.
5. Ein Speichersteuersystem gemäß Anspruch 4, bei
dem
jede Speichereinrichtung mit interner Logik
Adressensignal-Eingangsanschlüsse (25-1a, 25-2) und
Eingangsdatensignal-Eingangsanschlüsse (26) enthält und die
ersten Speicher (20-1, 20-2) und die zweiten Speicher
(20-3, 20-4) mit verschiedenen der
Adressensignal-Eingangsanschlüsse und gemeinsam mit den
Eingangsdatensignal-Eingangsanschlüssen verbunden sind und bei dem
die Adressensignal-Eingangsanschlüsse (25-1a, 25-2)
und die Eingangsdatensignal-Eingangsanschlüsse (26)
einer jeden Einrichtung gemeinsam mit der
Registereinrichtung (1a, 1b) verbunden sind.
6. Ein Speichersteuersystem gemäß Anspruch 4, bei
dem
der erste Speicher (2-13, 2-23) m erste
Speicherteile enthält, die gemeinsam mit den
Adressensignal-Eingangsanschlüssen (25-1a, 25-2) bzw. mit den
Eingangsdatensignal-Eingangsanschlüssen (26) verbunden sind;
der zweite Speicher (3-1, 3-2) n zweite
Speicherteile enthält, die gemeinsam mit den
Adressensignal-Eingangsanschlüssen (25-1a, 25- 2) bzw. mit den
Eingangsdatensignal-Eingangsanschlüssen (26) verbunden sind;
die Komparatoreinrichtung (6-1, 6-2, 7-1, 7-2)
m · n Komparatoren enthält;
jeder Speicherteil des zweiten Speichers (3-1, 3-2)
mit seinem Ausgang mit den m Komparatoren verbunden
ist; und
jeder Speicherteil des ersten Speichers (2-13, 2-23)
mit seinem Ausgang mit den n Komparatoren verbunden
ist, von denen jeder mit einem anderen der zweiten
Speicherteile verbunden ist.
7. Ein Speichersteuersystem gemäß Anspruch 5, wobei
die mehreren Speichereinrichtungen mit interner Logik
dieselbe reale Adresse des TLB speichern und jede der
Einrichtungen einen unterschiedlichen Teil des
Pufferadressenfeldes hält.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61247414A JPH0661066B2 (ja) | 1986-10-20 | 1986-10-20 | 記憶制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3788704D1 DE3788704D1 (de) | 1994-02-17 |
| DE3788704T2 true DE3788704T2 (de) | 1994-05-19 |
Family
ID=17163078
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3788704T Expired - Fee Related DE3788704T2 (de) | 1986-10-20 | 1987-10-20 | Speichersteuerungsanordnung und Logik-in-Speichervorrichtung. |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4943914A (de) |
| EP (1) | EP0264912B1 (de) |
| JP (1) | JPH0661066B2 (de) |
| KR (1) | KR910001737B1 (de) |
| DE (1) | DE3788704T2 (de) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR920001282B1 (ko) * | 1987-10-02 | 1992-02-10 | 가부시키가이샤 히타치세이사쿠쇼 | 버퍼메모리 제어장치 |
| JPH07120312B2 (ja) * | 1987-10-07 | 1995-12-20 | 株式会社日立製作所 | バッファメモリ制御装置 |
| US5293612A (en) * | 1989-05-11 | 1994-03-08 | Tandem Computers Incorporated | Selective dump method and apparatus |
| JPH035851A (ja) * | 1989-06-01 | 1991-01-11 | Fujitsu Ltd | バッファ記憶装置 |
| JPH0748191B2 (ja) * | 1989-08-10 | 1995-05-24 | 株式会社日立製作所 | バッファ記憶制御装置 |
| JPH03216744A (ja) * | 1990-01-22 | 1991-09-24 | Fujitsu Ltd | 内蔵キャッシュ・メモリ制御方式 |
| US5584003A (en) * | 1990-03-29 | 1996-12-10 | Matsushita Electric Industrial Co., Ltd. | Control systems having an address conversion device for controlling a cache memory and a cache tag memory |
| GB2246001B (en) * | 1990-04-11 | 1994-06-15 | Digital Equipment Corp | Array architecture for high speed cache memory |
| US5831467A (en) * | 1991-11-05 | 1998-11-03 | Monolithic System Technology, Inc. | Termination circuit with power-down mode for use in circuit module architecture |
| US5576554A (en) * | 1991-11-05 | 1996-11-19 | Monolithic System Technology, Inc. | Wafer-scale integrated circuit interconnect structure architecture |
| US5498990A (en) * | 1991-11-05 | 1996-03-12 | Monolithic System Technology, Inc. | Reduced CMOS-swing clamping circuit for bus lines |
| DE69226150T2 (de) * | 1991-11-05 | 1999-02-18 | Hsu Fu Chieh | Redundanzarchitektur für Schaltungsmodul |
| US5386527A (en) * | 1991-12-27 | 1995-01-31 | Texas Instruments Incorporated | Method and system for high-speed virtual-to-physical address translation and cache tag matching |
| WO1994003901A1 (en) | 1992-08-10 | 1994-02-17 | Monolithic System Technology, Inc. | Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration |
| US5604889A (en) * | 1994-06-15 | 1997-02-18 | Texas Instruments Incorporated | Memory management system for checkpointed logic simulator with increased locality of data |
| US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
| JP3456768B2 (ja) * | 1994-09-28 | 2003-10-14 | 株式会社東芝 | アドレス変換装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
| US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
| US4400770A (en) * | 1980-11-10 | 1983-08-23 | International Business Machines Corporation | Cache synonym detection and handling means |
| US4695950A (en) * | 1984-09-17 | 1987-09-22 | International Business Machines Corporation | Fast two-level dynamic address translation method and means |
| EP0732656B1 (de) * | 1985-02-22 | 2003-08-06 | Intergraph Corporation | Anordnung von Cachespeicherverwaltungseinheiten |
-
1986
- 1986-10-20 JP JP61247414A patent/JPH0661066B2/ja not_active Expired - Lifetime
-
1987
- 1987-10-19 KR KR8711559A patent/KR910001737B1/ko not_active Expired
- 1987-10-20 US US07/110,425 patent/US4943914A/en not_active Expired - Lifetime
- 1987-10-20 DE DE3788704T patent/DE3788704T2/de not_active Expired - Fee Related
- 1987-10-20 EP EP87115348A patent/EP0264912B1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0661066B2 (ja) | 1994-08-10 |
| EP0264912B1 (de) | 1994-01-05 |
| EP0264912A2 (de) | 1988-04-27 |
| JPS63101944A (ja) | 1988-05-06 |
| DE3788704D1 (de) | 1994-02-17 |
| EP0264912A3 (en) | 1990-02-14 |
| KR880005518A (ko) | 1988-06-29 |
| KR910001737B1 (en) | 1991-03-22 |
| US4943914A (en) | 1990-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3788704T2 (de) | Speichersteuerungsanordnung und Logik-in-Speichervorrichtung. | |
| DE3587694T2 (de) | Speicherzugriffssteuergerät zur Realisierung von geschützten Gebieten in einem Speicher, und mit solchem Speicherzugriffssteuergerät ausgerüsteter Speicher. | |
| DE68923863T2 (de) | Ein-/Ausgabecachespeicherung. | |
| DE3850901T2 (de) | Datenverarbeitungsanordnung mit Mitteln zur angrenzenden Adressierung eines Speichers. | |
| DE69713784T2 (de) | Rekonfigurierbares rechnersystem | |
| DE69027348T2 (de) | Speicherblockadressenermittlungsschaltkreis | |
| DE69329080T2 (de) | Cache-Speicher | |
| DE3751540T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung. | |
| DE2515696C2 (de) | Datenverarbeitungssystem | |
| DE69225537T2 (de) | Integrierte Speicherschaltung | |
| DE3618163C2 (de) | Speichermanagementanordnung für ein Mikroprozessorsystem | |
| DE3888438T2 (de) | Cachespeichersteuerungsvorrichtung für eine Datenverarbeitungsanordnung mit virtuellem Speicher. | |
| DE69224565T2 (de) | Integrierte Speicherschaltung mit schneller Nullsetzung | |
| DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
| DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
| DE69028269T2 (de) | Virtuelles Adressierungsverfahren zum Betrieb eines Speichers in einer Datenverarbeitungsanlage und Einrichtung zur Ausführung besagten Verfahrens | |
| DE19614443A1 (de) | Inhalts-adressierbarer Speicher | |
| DE68928187T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
| DE69020384T2 (de) | Integrierte Halbleiterspeicherschaltung mit Möglichkeit zum Maskieren des Schreibens im Speicher. | |
| EP0046976A2 (de) | Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen | |
| DE3852251T2 (de) | Ein-Chip-Mikrocomputer. | |
| DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
| DE3873388T2 (de) | Cache-speicher. | |
| DE69222743T2 (de) | Speichereinrichtung und Verfahren zur Verwendung in einer Datenverarbeitungsanordnung | |
| DE69709226T2 (de) | Einzelzyklus mehrfachzugreifbarer verschachtelter Cache-Speicher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |