DE68927044T2 - Rechnerspeicher mit Ausgangsleitungen, welche mittels der Speicheradresse zur Verbindung mit einem Datenbus ausgewählt werden - Google Patents
Rechnerspeicher mit Ausgangsleitungen, welche mittels der Speicheradresse zur Verbindung mit einem Datenbus ausgewählt werdenInfo
- Publication number
- DE68927044T2 DE68927044T2 DE68927044T DE68927044T DE68927044T2 DE 68927044 T2 DE68927044 T2 DE 68927044T2 DE 68927044 T DE68927044 T DE 68927044T DE 68927044 T DE68927044 T DE 68927044T DE 68927044 T2 DE68927044 T2 DE 68927044T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- chips
- bits
- data
- 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
- 230000015654 memory Effects 0.000 title claims description 136
- 230000004044 response Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Read Only Memory (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Dram (AREA)
Description
- Rechner-Systemspeicher mit Ausgabeleitungen, die mittels der Speicheradresse zur Verbindung mit einem Datenbus ausgewählt werden.
- Die Erfindung betrifft allgemein digitale Computer und insbesondere eine Freizugriffsspeicherstruktur.
- Ein typischer Freizugriffsspeicher (R.A.M.; Random Access Memory) wird aus einer Anzahl integrierter Schaltungschips gebildet. Die Chips sind untereinander so verbunden, daß eine Anzahl von Bitorten eines jeden der Anzahl Speicherchips, welche an denselben relativen Adressen in jedem Chip sind, gleichzeitig mit dem Datenbus verbindbar sind. Wenn z.B. der Datenbus 16 Bit breit ist, aber die einzelnen Speicherchips nur den Zugriff auf eine Portion (nibble, vier Bits) an ihren Datenausgabeleitungen in Abhängigkeit von einer einzelnen Adresse ermöglichen, werden vier solcher Chips parallel verwendet, so daß vier Portionen - für insgesamt 16 Bit - in Abhängigkeit von derselben an jeden der vier Chips angelegten Adresse mit dem Datenbus verbunden sind. Die Tiefe der Chips wird dann ausgewählt, um die gewünschte Gesamtspeicherkapazität zur Verfügung zu stellen.
- Gegenwärtig ist ein Speicher mit einer Größe von 640 Kilobyte (jedes Byte enthält 8 Bit) ein geläufiger Standard. Typischerweise werden vier Speicherchips mit jeweils einer Portion Breite parallel mit dem Datenbus verbunden und sind zur Bildung eines 16-Bit-Datenworts auf eine gemeinsame Adresse ansprechbar, um ihre Datenbits miteinander zu kombinieren. Der am weitesten verbreitete Chip dieser Art hat eine Gesamtkapazität von 256 k Tiefe bei einer Breite von 4 Bit (256.000 Kilo-Portionen), wobei hiervon vier einen Speicher mit einer Gesamtkapazität von 512 Kilobyte bilden. Deshalb wird die Tiefe des Speichers durch zusätzliche vier Chips mit wenigstens 64 k bei 4 Bit Kapazität ergänzt, wobei 64 Kilo-Portionen von jedem nötiq sind, um einen Speicher mit einer hinreichenden Tiefe zu schaffen, daß seine gesamte Kapazität gleich 640 Kilobyte wird. Da die gewünschten Chips mit 64 Kilo-Portionen bei 4 Bit Breite nicht allgemein erhältlich sind, werden öfters größere Speicherchips verwendet, und zusätzliche Speicherplätze verbleiben einfach ungenutzt. Alternativ dazu kann der Speicher aus insgesamt vier Chips gebildet sein, die jeweils eine größere Kapazität haben, wie etwa vier 1 Megabitchips mit 4-Bit, die die nächste handelsüblich erhältliche Größe nach den Chips mit 256 k bei 4 Bit sind, die am häufigsten verwendet werden. Die zusätzliche Kapazität der 1-Megabit-Chips bleibt dann einfach ungenutzt. Zusätzlich zu den ansteigenden Speicherkosten erhöht das Vorsehen ungenutzter Speicherkapazität und/oder die Verwendung einer großen Zahl von Schaltungschips zur Bildung des Speichers die Größe und die Leitungsanforderung, was bei vielen Anwendungen - insbesondere bei tragbaren Computern - unerwünscht ist.
- US-A-3 858 187 offenbart ein Nur-Lese-Speichersystem (Read Only Memory System), das Speicherelemente mit fester Wortlänge verwendet, die zur Erzeugung von Worten jeder gewünschten Länge kombiniert werden. Zu diesem Zweck wird ein erster Teil eines Programmworts in einem ersten Speicher gespeichert, ein zweiter Teil wird in einem zweiten Speicher gespeichert und ein letzter Teil wird in einem dritten Speicher gespeichert. Dieser letzte Teil wird aus dem dritten Speicher unter Verwendung einer Gate-Anordnung ausgelesen, um eine variable wortlänge zu erreichen.
- Es ist eine Aufgabe der Erfindung, eine Architektur eines Freizugriffsspeichers zu schaffen, die die Zahl der Chips minimiert und ihre Ausnutzung maximiert.
- Eine weitere Aufgabe der Erfindung ist es, einen solchen Speicher zu schaffen, der eine minimale Größe, minimale Leistungsanforderung und verringerte Kosten hat.
- Diese Aufgaben werden durch einen Computersystemspeicher erreicht, wie er in Anspruch 1 definiert ist, wobei die abhängigen Ansprüche weitere Ausgestaltungen der Erfindung betreffen.
- Kurz und allgemein gesagt, werden erfindungsgemäß Datenworte mit einer Breite gleich jener des Datenbusses in mehreren Bitabschnitten an verschiedenen Orten in verschiedenen Speicherchips gespeichert. Das heißt, die Architektur der Erfindung vermeidet die üblicherweise verwendete Einschränkung, daß jeder Abschnitt eines Datenwortes am selben relativen Platz eines jeden Chips des Speichers gespeichert sein muß. Erfindungsgemäß wird der Speicher so ausgebildet, daß er größer in bezug die Anzahl der Bits als in bezug auf jene des Datenwortes ist, auf die gleichzeitig zugegriffen wird. Eine Steuerschaltung, die von der Speicheradresse abhängig ist, wählt einen Abschnitt der Speicherbreite gleich dem gewünschten Datenwort so aus, daß alle Chips voll ausgenutzt werden.
- Entsprechend einer bevorzugten erfindungsgemäßen Ausführungsform enthält ein Speicher eine Anzahl von Chips, um eine Breite gleich jener des gewünschtenr Datenworts zur Verfügung zu stellen, auch wenigstens einen Extrachip, dessen Inhalt wahlweise einen der anderen üblichen Speicherchips in Abhängigkeit von der Speicheradresse ersetzt. Das Ergebnis ist eine Architektur, die es handelsüblich erhältlichen RAM-Chips ermöglicht, für eine gewünschte Speichergesamtgröße voll ausgenutzt zu werden, während gleichzeitig die Zahl der für die gegebene Speichergröße notwendigen Chips minimiert wird. Die verschiedenen Aspekte der Erfindung sind insbesondere bei tragbaren Computern und anderen Anwendungen nützlich, bei denen die Leistung, die Größe oder die Kosten als besonders wichtig betrachtet werden.
- Zusätzliche Aufgaben, Vorteile und Merkmale der verschiedenen Aspekte der Erfindung werden aus der folgenden Beschreibung einer bevorzugten Ausführungsform deutlich, wobei die Beschreibung im Zusammenhang mit den beiliegenden zeichnungen zu sehen ist.
- Fig. 1 zeigt eine typische Computerarchitektur;
- Fig. 2 zeigt schematisch eine gängige existierende Architektur eines Speichers des Computersystems aus Fig. 1;
- Fig. 3 zeigt schematisch ein Beispiel einer erfindungsgemäß verbesserten Speicherarchitektur;
- Fig. 4 ist ein Blockschaltdiagramm eines Freizugriffsspeichers, der die in Fig. 3 konzeptionell dargestellte Architektur verwendet;
- Fig. 5 und 6 sind Tabellen, die den Betrieb der Decodierschaltungen in dem in Fig. 4 gezeigten Speichersystem erläutern;
- Fig. 7(A), 7(B) und 7(C) zeigen die Logik des Adressenübersetzers des Speichersystems aus Fig. 4;
- Fig. 8 zeigt eine weitere erfindungsgemäße Speicherarchitektur; und
- Fig. 9 ist eine Tabelle, die den Betrieb des Speichers aus Fig. 8 erläutert.
- Vor der Beschreibung eines erfindungsgemäßen Beispiels werden ein typisches existierendes Computersystem und eine RAM-Architektur unter Bezug auf die Fig. 1 und 2 beschrieben. Ein typisches Computersystem enthält im allgemeinen einen Mikroprozessor 11, einen Nur-Lese-Speicher 13, einen Freizugriffsspeicher 15 und verschiedene periphere Vorrichtungen 17, die alle mit einem gemeinsamen Adressenbus 19 und einem gemeinsamen Datenbus 21 verbunden sind. Bei vielen Systemen werden die Adressen- und Datenbusse 19 und 21 als einziger physikalischer Bus ausgestaltet, der zwischen den Adressen- und Datenbetriebszuständen zeitmultiplext wird.
- Fig. 2 zeigt ein Beispiel eines RAM's 15 mit einer Breite von 16 Bit zur Verwendung mit einem 16 Bit breiten Datenbus und mit einer Gesamtspeicherkapazität von 640 Kilobyte (655.360 Byte). Dies ist die maximale Speichergröße, die durch eine 20-Bit-Adresse adressiert werden kann und ist gegenwärtig in Personalcomputern am weitesten verbreitet.
- In Fig. 2 wird die 16-Bit-Datenwortbreite durch vier einzelne, parallel geschaltete Speicherchips 23, 25, 27 und 29 geschaffen. Eine Portion (4 Bit) des 16-Bit-Worts ist in jedem dieser vier Speicherchips an demselben Platz gespeichert. Somit werden in Abhängigkeit von einer gegebenen Adresse an einem mit jedem dieser Chips verbundenen Adressenbus (in Fig. 2 nicht gezeigt) die vier gleichzeitig aus jedem Chip ausgelesenen Bits parallel miteinander kombiniert, um das 16-Bit-Wort zu bilden.
- Ein handelsüblich erhältlicher Speicherchip dieser Art hat insgesamt 262.144 (256 k) solcher adressierbarer 4-Bit- Speicherplatzportionen. Die Kombination der Kapazität aller vier Chips 23, 25, 27 und 29 ist gleich 524.288 (512 k) Byte (wobei jedes Byte gleich 8 Bit ist). Um zusätzliche 128 Kilobyte Speicher zu schaffen, sind zusätzliche Speicherchips 31, 33, 35 und 37 als Tiefenausdehnung der jeweiligen Speicherchips 23, 25, 27 bzw. 29 vorgesehen. Jeder der zusätzlichen Speicherchips 31, 33, 35 und 37 benötigt nur eine Kapazität von 64 k-Portionen, aber da diese Speicherchipgröße nicht handelsüblich erhältlich ist, trifft man es oft an, daß an deren Stelle Chips mit 256 k verwendet werden. Natürlich erhöht zusätzlich ungenutzte Speicherkapazität die Kosten des Computers, den Energieverbrauch und nimmt Platz ein. Auch wenn 64 k Chips für die Speicherchips 31, 33, 35 und 37 verwendet werden können, beträgt die Gesamtzahl der Chips für den Speicher 8, und, auch wenn keine vergeudete Speicherkapazität vorhanden ist, hat die Verwendung so vieler kleiner Chips denselben Effekt in bezug auf Erhöhung des Energieverbrauchs, des benötigten Raums und der erhöhten Kosten.
- Entsprechend der erfindungsgemäßen, in Fig. 3 gezeigten RAM-Organisation werden nur fünf Speicherchips 39, 41, 43, 45 und 47 mit jeweils der gleichen Kapazität für den entsprechenden Speicher mit 64ºC verwendet. Anstatt vier Chips 31, 33, 35 und 37 hinzu zu fügen, wie bei der in Fig. 2 gezeigten gängigen Technik, ist ein einziger fünfter Chip 47 mit gleicher Kapazität wie jeder der anderen vier Chips hinzugefügt worden.
- Dies eröffnet die Möglichkeit, daß alle vier Portionen eines 16-Bit-Datenworts nicht von denselben Plätzen oder Adressen eines jeden der vier Chips kommen müssen, wie es durch die Adresse und den Platz 49 in Fig. 2 in den gängigen Architektum dargestellt ist. Dort wird auf die vier Bits des 16-Bit-Datenwortes am selben Platz in jedem der Chips 23, 25, 27 und 29 zugegriffen. Wenn diese Beschränkung, wie durch die Erfindung, ausgeräumt wird, kann die Speicherkapazität aller vier Chips 31, 33, 35 und 37 aus Fig. 2 mit einem einzelnen fünften Chip 57 in Fig. 3 kombiniert werden. Somit wurden die acht Speicherchips aus Fig. 2 auf fünf Chips in der Ausführungsform aus Fig. 3 verringert, wodurch es ermöglicht wurde, Kosten, Platz und Leistungsverbrauch zu sparen, wie es vorangehend diskutiert wurde.
- Tatsächlich ist die Breite des Speichers aus Fig. 3 gleich 20 Bit. Vier Bits oder eine Portion (nibble) werden von jedem der fünf Chips 39, 41, 43, 45 und 47 erzeugt. Da jedoch das Datenwort, das zu einem Zeitpunkt in den Speicher zu schreiben oder aus ihm herauszulesen ist, nur 16 Bit breit ist, werden nur vier dieser Portionen für den Zugriff zu jedem einzelnen Zeitpunkt benötigt, um ein 16-Bit-Wort zur Verfügung zu stellen. Um dies zu verwirklichen, sind für einige der 16-Bit-Worte ihre Portionen an verschiedenen Plätzen bei vier der fünf Speicherchips 39, 41, 43, 45 und 47 gespeichert. Zum Beispiel werden, wie es in Zeile 5 der Tabelle aus Fig. 5 gezeigt ist, die Bits 12 - 15 des Datenworts an einem Platz 51 des Chips 47 (Chip 'E') im Segment '0' erhalten, das in der Tabelle aus Fig. 5 als Speichersegment "EO" bezeichnet ist. Die Datenwortbits 8 - 11 werden an einem Platz 52 des Speicherchips 41 des Speicherblocks B3 erhalten, die Bits 4-7 vom Platz 53 des Speicherchips 43 am Block C2 und die Bits 0-3 am Platz 55 im Chip 45 des Speicherblocks D2. Die speziellen vier Speicherchips, auf die bei einem Lese- oder Schreibvorgang zugegriffen wird, werden durch die Bits 17 - 19 der Adresse bestimmt, wie es in der linken Spalte der Tabelle aus Fig. 5 gezeigt ist. In dem Beispiel aus Zeile 5 dieser Tabelle wird der Speicherchip 39 (Chip 'A') beim Bilden des 16-Bit- Worts nicht verwendet. Doch andere Datenworte, wie jene mit den Adressenbits 17 - 19 aus Zeile 4 der Tabelle in Fig. 5, verwenden die Speicherchips 39 (Chip 'A'), 47 ('E'), 43 ('C') und 45 ('D').
- Ein Beispiel der bevorzugten Ausgestaltung der Speicherorganisation, die in bezug auf Fig. 3 beschrieben wurde, wird durch das Schaltdiagramm aus Fig. 4 gegeben. In Abhängigkeit von einer 20-Bit-Adresse eines Adressenbusses 57 werden 16 Bits der Speicherplätze innerhalb der Speicherchips 39, 41, 47, 43 und 45 mit einem Datenbus 59 entweder für einen Lese- oder Schreibzugriff auf die adressierten Speicherplätze verbunden. Der Speicherchip 39 ('A') hat Datenleitungen 61, die mit den Bitleitungen 12 - 15 des Datenbusses 59 verbunden sind. In ähnlicher Weise sind bei dem Speicherchip 41 ('B') dessen vier Datenleitungen normalerweise mit den Bitleitungen 8 - 11 des Datenbusses 59 verbunden. In ähnlicher Weise sind bei dem Speicherchip 43 ('C') dessen vier Datenleitungen 65 normalerweise mit den Bitleitungen 4 - 7 des Datenbusses 59 verbunden, und bei dem Chip 45 ('D') wird dessen Datenleitungen mit den Bitleitungen 0-3 des Datenbusses 59 verbunden.
- Die vier Datenleitungen 69 des fünften Chips 47 ('E') sind nicht permanent mit irgendeiner speziellen Datenbus-Bitleitung verbunden, sondern werden zum Ersetzen der mit dem Datenbus 59 verbundenen Datenleitungen der anderen vier Chips 39, 41, 43 und 45 geschaltet. Genauer gesagt, werden die vier Datenleitungen 69 mit den Datenbusleitungen 12 - 15 über eine Halbleiter-Umschaltschaltung 71 verbunden, die mittels eines Steuersignals an einer Leitung 73 gesteuert wird, um so AN oder AUS geschaltet zu werden. In ähnlicher Weise werden die Datenleitungen 69 über eine andere Umschaltschaltung 75, die durch ein Signal an der Leitung 76 gesteuert wird, mit den Bitleitungen 8-11 des Busses 59 verbunden. Ebenso verbindet ein Schalter 77, der durch ein Signal an einer Steuerleitung 79 gesteuert wird, die vier Datenleitungen 69 mit den Datenbus-Bitleitungen 4-7, und ein Schalter 81, der durch ein Signal an der Leitung 83 gesteuert wird, verbindet diese Leitung mit den Datenbus-Bitleitungen 0-3.
- Die Decodierlogik 85 empfängt die Bitleitungen A19-A17 des Adressenbusses 57 und dient zur Auswahl von vier Speicherchipblöcken, die mit dem Datenbus 59 für einen bestimmten Zugriff zu verbinden sind. Dies wird durch Anlegen eines Freigabesignals an eine der Steuerleitungen 73, 76, 79 oder 83 oder an keine dieser Steuerleitungen erreicht, um die jeweiligen Schalter 71, 75, 77 und 81 in einen Zustand zu versetzen, der eine gewünschte Kombination von vier der fünf Speicherchips zur Verbindung mit dem Datenbus auswählt. Gleichzeitig erzeugt die Decodierlogik Freigabesignale in vier der fünf Chipfreigabesteuerleitungen 87, 89, 91, 93 und 95. Diese Freigabeleitungen sind jeweils mit den Speicherchips 39 ('A'), 41 ('B'), 43 ('C'), 45 ('D') bzw. 47 ('E') verbunden.
- Dieser Betrieb wird durch die Schaltung 85 verwirklicht, die passiv die drei Bitleitungen A19-A17 decodiert. Fünf spezielle Kombinationen der Bitmuster in diesen Adressenleitungen, die in der Tabelle aus Fig. 5 gezeigt sind, erzeugen fünf verschiedene Kombinationen der Steuersignale an den Steuerleitungen 73, 76, 79 und 83 und an den Chipfreigabeleitungen 87, 89, 91, 93 und 95.
- In Zeile 1 aus Fig. 5 wird die Kombination der Speicherblocks gezeigt, die durch ein Bitmuster von A19 - A17 gleich 000 ausgewählt wird. In Abhängigkeit von dieser Adressenbitmustereingabe macht die Decodierschaltung 85 ein Freigabesignal in keiner der Ausgabesteuerleitungen 73, 76, 79 und 83 geltend, und somit werden die RAM-Chips 39 ('A'), 41 ('B'), 43 ('C') und 45 ('D') mit dem 16-Bit-Datenbus verbunden. Gleichzeitig werden alle vier Chipfreigabeleitungen 87, 89, 91 und 93 aktiv gehalten, wobei nur die Chipfreigabeleitung 95 nicht geltend gemacht wird. Somit kann gesehen werden, daß der Speicherchip 47 ('E') weder mit dem Datenbus 59 verbunden noch freigegeben ist.
- In ähnlicher Weise wird bei dem in Zeile 2 der Tabelle 5 gezeigten Muster 001 der Adressenbits A19-A17 die Steuerleitung 83 freigegeben, während die Steuerleitungen 73, 76 und 79 gesperrt werden, wodurch vier im Speicherchip 47 ('E') adressierte Bits anstelle jener des Speicherchips 45 ('D') mit den Datenbus-Bitplätzen 0-3 durch Verbinden des Chips 47 mit dem Datenbus 59 über die Umschaltschaltung 81 verbunden werden. Gleichzeitig werden von den fünf Chipfreigabeleitungen alle außer der Leitung 93 aktiviert, da auf den Speicherchip 45 ('D'), der diese steuert, zu diesem Zeitpunkt nicht zugegriffen wird und es somit es gewünscht wird, daß er gesperrt wird.
- Bei dem in Zeile 3 der Tabelle aus Fig. 5 angezeigten Zustand wird ein Freigabesignal an der Steuerleitung 79 aber in keine der Steuerleitungen 73, 76 und 83 erzeugt, während kein Chipfreigabesignal an der den Speicherchip 43 ('C') sperrenden Leitung 91 auftritt. In ähnlicher Weise zeigt Zeile 4 der Tabelle aus Fig. 5 eine Bedingung an, in der die Leitung 76 freigeschaltet ist, während die Chipfreigabeleitung 89 (Chip 'B') es nicht ist. Zeile 5 aus der Tabelle von Fig. 5 zeigt den Schlußzustand, in der die Leitung 73 freigeschaltet ist, und die Chipfreigabeleitung 87 (Chip 'A') gesperrt ist.
- Um in der Lage zu sein, auf die Blöcke der Speicherchips entsprechend der Tabelle aus Fig. 5 zugreifen zu können, muß eine Übersetzung der Systembusadresse für die Speicherchips 41, 43 und 45 (Chips 'B', 'C' bzw. 'D') durchgeführt werden. Dementsprechend sind Adressenübersetzungsschaltungen 121, 122 und 123 zwischen dem Systembus und dem jeweiligen Speicherchip vorgesehen. Die Logikschaltung dieser Adressenübersetzer sind in den Fig. 7(A), 7(B) und 7(C) gezeigt. Die Übersetzung berührt nur die Werte der Bitnummern 17 (MA17) und 18 (MA18) der Adresse, wie es in der Tabelle aus Fig. 6 und den Schaltungen aus Fig. 7 gezeigt ist. Die Adresse der übrigen zwei Speicherchips 39 und 47 (Chips 'A' und 'E') wird direkt vom Systembus 57 ohne irgendeine Übersetzung zugeführt. Dies kann aus den Spalten der Tabelle aus Fig. 6 für die Chips 'A' und 'E' gesehen werden, wo die Systembus-Adressenbitwerte A17 und A18 jeweils die gleichen sind wie die Adressenbitwerte MA17 und MA18, die an diese zwei Chips angelegt werden.
- Für die verbleibenden drei Chips jedoch findet eine Übersetzung statt. Die zwei Bits MA17 und MA18 für den Speicherchip 41 sind in Spalte 'B' der Tabelle aus Fig. 6 für fünf Zustände der Systembus-Adressenbits A17, A18 und A19 gegeben. Die Schaltung zur Verwirklichung dieser Übersetzung ist in der Fig. 7(A) gezeigt. Die Bits MAL - MA16 der Adresse an den Leitungen 124, die an den Speicherchip 'B' angelegt werden, kommen direkt von den Bits Al-A16 des Systembusses. Die verbleibenden zwei Bits MA17 und MA18 sind das Ergebnis jeweiliger OR-Gates 127 und 128, die die Signale in den Leitungen 73, 79 und 83 und den Decodierschaltungen 85 (Fig. 3) decodieren. Die Leitung 73 ist mit einem Eingang eines jedem der OR-Gates 127 und 128 verbunden, während die Leitung 83 mit dem zweiten Eingang des OR- Gates 127 und die Leitung 79 mit dem zweiten Eingang des OR-Gates 128 verbunden ist.
- Nur das Bit MA18 in Schaltung 125, das als Adresse an den Speicherchip 'C' angelegt wird, wird durch die Übersetzungsschaltung 122 aus Fig. 7(B) übersetzt. Dies wird in der Spalte 'C' der Tabelle aus Fig. 6 gezeigt. Dieses Bit ist das Ergebnis der Leitungen 73 und 76, die einer logischen ODER-Verknüpfung durch ein OR-Gate 129 unterzogen werden. Die verbleibenden Adressenbits MA1-MA17 entsprechen direkt den Systemadressenbits A1-A17.
- In ähnlicher Weise wird die Bitposition MA18 von der Adresse des Speicherchips 'D' übersetzt, wie es in Fig. 7(C) und in Spalte 'D' aus Fig. 6 gezeigt wird. Ein OR-Gate 130 hat zwei mit den Leitungen 73 und 76 verbundene Eingänge, und sein Ausgang nimmt den Wert des Adressenbits MA18 an. Das Speicheradressenbit MA17 kommt direkt von dem Systemadressenbit A18. Die verbleibenden Adressenbits MA1- MA16 entsprechen direkt den Systemadressenbits A1-A16.
- Zu den Tabellen der Fig. 5 und 6 ist anzumerken, daß die Logik in diesem Beispiel entworfen wurde, um zu veranlassen, daß die Adressenbitplätze MA17 und MA18 gleich "0" für den Speicherchip werden, der während eines bestimmten Betriebs nicht ausgewählt ist. Dies vereinfacht die Adressendecodierlogik 85 und jene der Übersetzer 121, 122 und 123.
- Natürlich ist ersichtlich, obwohl die speziellen oben beschriebenen Adressenübersetzungsschaltungen bevorzugt werden, daß andere Schaltungen möglich sind, die alternativ verwendet werden können, um dasselbe Ergebnis zu erzielen.
- Fast alle Speichersysteme speichern auch ein Paritätsbit für jeweils 8 Bits (1 Byte) eines Datenwortes. Unter Bezug erneut auf Fig. 2 speichert ein 256-k-mittels-1-Bit-Speicher 101 ein Bit für jedes Byte, das in den Speicherchips 23 und 25 gespeichert ist. Ein ähnlicher Speicher 103 speichert ein Bit für jedes Byte, das in den Speichern 27 und 29 gespeichert ist. Außerdem speichert für die zusätzlichen Speicher 31 und 33 mit 64 k ein 64-k-mittels-1-Bit-Speicher 105 die Paritätbits. In ähnlicher Weise speichert ein Speicher 107 Paritätbits für die Speicherchips 35 und 37.
- Bei dem verbesserten Speichersystem aus den Fig. 3 und 7 werden nur zwei Paritätsbitspeicher 109 und 111 verwendet. Jeder dieser Speicherist so gewählt, daß er 1-meg-mittels- 1-Bit-Kapazität hat, da diese handelsüblich erhältlich sind. Es werden jedoch nur 640 k Bits eines jeden Speichers verwendet. Die 640 k Bits, die in dem Speicher 109 gespeichert sind, sind die Paritätsbits, die mit dem hohen Byte des Datenwortes zusammenhängen, während die Paritätbits, die in dem Speicher 111 mit 640 k gespeichert sind, mit dem niedrigen Byte des Datenworts zusammhängen. Die Speicher 109 und 111 sind über eine weitere Freigabesteuerleitung 113 (Fig. 4) von der Decodierschaltung 85 für alle fünf in der Tabelle aus Fig. 5 gezeigten Zustände freigeschaltet.
- Wie aus der vorangehenden Beschreibung offensichtlich ist, können die Grundsätze der Erfindung in verschiedenen anderen Arten von Speichersystemen verwendet werden. Zum Beispiel können 8 Bit breite Speicherchips verwendet werden. Verschiedene Arten von RAMs können verwendet werden, einschließlich dynamischer RAMs, statischer RAMs, Nur-Lese- Speicher, EEPROMs und ähnlicher. Ein Beispiel der Architektur eines Speichers, der aus 8 Bit breiten statischen RAMs gebildet ist, ist in den Fig. 8 und 9 gezeigt. Ein 16-Bit- Datenwort wird durch zwei Byte, eines von jedem der fünf Speicherchips 131, 132, 133, 134 und 135, und einem weiteren Byte von einem anderen dieser Speicherchips gebildet. Jeder Speicherchip hat zwei Blöcke "0" und "1", und die Plätze dieser zwei Bytes als Funktion der Adressenbits 17, 18 und 19 sind in der Tabelle aus Fig. 9 wiedergegeben.
- Grundsätzlich ist die Erfindung auch für Speicher nützlich, die eine andere Kapazität als 640 k Byte haben. Allgemein gesagt, ist die Busbreite jedes Systems gleich oder kleiner der Breite des Worts, das in einem jeweiligen Speicherchip gespeichert ist (in dem Fall, daß die Breite die gleiche der des Speicherchip ist), multipliziert mit einer ganzen Zahl.
- Die Erfindung ist insbesondere nützlich, wenn eine zusätzliche Speichermenge (wie etwa 128 k Byte) benötigt wird, nachdem erhältliche Chips als Grundspeicher ausgebildet wurden. Zum Beispiel kann ein Speicher mit 384 k Byte aus drei Speicherchips mit 256 k x 4 für ein 8 Bit breites Bussystem gebildet werden, und ein 896 k Byte Speicher aus sieben solcher Speicherchips.
- Zusätzlich können die Grundzüge der Erfindung auf Computersysteme mit einem Bus mit einer anderen Breite als 16 Bit angewendet werden. Sie können auch auf 8, 32 oder 64 Bitdaten-Pfadsysteme angewendet werden.
Claims (8)
1. Rechner-Systemspeicher mit Speichermitteln, die mit
Systemadress- und Datenbussen verbunden sind, wobei die
Speichermittel aus einer Anzahl von integrierten Speicherchips
(39-47) konfiguriert sind, die in der Lage sind, eine
vorgegebene Anzahl von Speicherplätzen parallel mit dem
Datenbus (59) in Abhängigkeit von einer Adresse auf dem
Adressbus (57) zu verbinden, mit:
einer Anzahl der Speicherchips (39-47), die großer ist als
eine Anzahl, die erforderlich ist, um die Ausgangsleitungen
der Speicherchips entsprechend der vorgegebenen Anzahl von
Speicherplätzen parallel mit dem Datenbus (59) zu
verbinden, und
Mitteln (85), die auf die Adresse auf dem Adressbus
ansprechen, zum Verbinden der Ausgangsleitungen einer Kombination
von weniger als allen der Speicherchips mit dem Datenbus
(59) während eines einzelnen Lese- oder Schreibvorganges
der vorgegebenen Anzahl von Bits, wobei die
Verbindungsmittel (85), die alle der Anzahl von Schaltungschips in
verschiedenen Kombinationen als verschiedene
Datenspeicherplätze verwenden, adressiert werden, und
Adressübersetzungsmitteln (121-123) zum übersetzen von
zumindest einigen Adressbits der Adresse auf dem Adressbus
und zum Anlegen einer übersetzten Adresse an zumindest
einige der Speicherchips.
2. Rechnersystemspeicher nach Anspruch 1,
wobei die Verbindungsmittel (85, 71, 75, 77, 81) Mittel
aufweisen zum Verbinden der Ausgangsleitungen eines
vorgegebenen Untersatzes von Speicherchips mit dem Datenbus zum
selektiven Ersetzen verschiedener der Primärspeicherchips
durch zumindest einen zusätzlichen Schaltungschip in
Abhängigkeit von bestimmten Adressen.
3. Rechnersystemspeicher nach Anspruch 1,
wobei ein Mikroprozessor vorgesehen ist und die
Speichermittel ein Freizugriffsspeicher von im wesentlichen 460
Kilobyte Datenkapazität sind, wobei der Mikroprozessor und
der Speicher miteinander über den Adressbus (57) und einen
16-Bit-Datenbus (59) kommunizieren, wobei die freie
Zugriffsspeicherstruktur aufweist:
fünf integrierte Schaltungsspeicherchips, die jeweils im
wesentlichen 262.144 Datenportionen von jeweils vier Bit
speichern, und wobei die Verbindungsmittel auf zumindest
drei Bit auf dem Adressbus (57) ansprechen zum Verbinden
einer vorgegebenen Kombination von vier der fünf
integrierten Schaltungsspeicherchips mit dem Datenbus (59) in
Abhängigkeit von einer gegebenen einzelnen Adresse, um damit
insgesamt 16 Bit zu verbinden, wobei alle fünf
Speicherchips in verschiedenen Kombinationen von vier in
Abhängigkeit von unterschiedlichen Adressen auf dem Speicherbus
(57) verwendet werden, wodurch im wesentlichen 655.360
Speicherplätze von 8 Bit Bytes geschaffen werden, die
individuell mit dem Datenbus verbindbar sind.
4. Rechnersystem-Freizugriffsspeicher nach Anspruch 3,
wobei der vorgegebene Untersatz vier der Speicherchips zum
selektiven Ersetzen verschiedener der vier Primärchips
durch den fünften Speicherchip in Abhängigkeit von
bestimmten Adressen aufweist.
5. Rechnersystem Freizugriffsspeicher nach Anspruch 4,
wobei die Ersetzungsmittel (71-81) Mittel aufweisen, die
abhängig sind von zumindest den letzten drei Adressbusbits,
zum übersetzen der Adressbits und zum Verbinden der
Datenausgangsleitungen des fünften Speicherchips mit dem Daten
bus, wobei gleichzeitig einer der vier Speicherchips
gesperrt wird.
6. Computersystem Freizugriffsspeicher nach Anspruch 5,
wobei die Übersetzungsmittel (121-123) abhängig sind von
zumindest drei Adressbus-Bits.
7. Computersystemspeicher nach Anspruch 1,
wobei die Adress- und Datenbusse physikalisch diesselben
sind, wobei die Adress- und Datenfunktionen zeitmultiplext
sind.
8. Verfahren zur Erweiterung der Kapazität eines Speichers
eines Rechnersystems mit einem Freizugriffsspeicher, der
Portionen von individuellen Speicherchips parallel
kombiniert, um ein Wort aus einer vorgegebenen Anzahl von
Portionen zu bilden, die gleich der Anzahl von Speicherchips
ist, wobei das Verfahren die Kapazität des Speichers über
die Kapazität der gegebenen Anzahl von Speicherchips
erweitert, mit den Schritten:
Vorsehen eines zusätzlichen Speicherchips, von dem eine
Portion von Daten parallel mit der gegebenen Anzahl von
Speicherchips ausgelesen werden kann, derart, daß die
Anzahl von Speicherchips die gegebene Anzahl von Portionen
überschreitet,
Kombinieren der Portionen von weniger als allen
Speicherchips zur Bildung eines Wortes,
Übersetzen von zumindest einigen Adressbits der
Speicheradressen vor ihrer Anlegung an zumindest einige der
Speicherchips,
Bestimmen aus jeder einer Anzahl von Speicheradressen einer
mit der vorgegebenen Anzahl von Portionen, der zu sperren
ist, und Ersetzen der gesperrten Portion durch die Portion
des zusätzlichen Speicherchips.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28489988A | 1988-12-15 | 1988-12-15 | |
US32952889A | 1989-03-28 | 1989-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68927044D1 DE68927044D1 (de) | 1996-10-02 |
DE68927044T2 true DE68927044T2 (de) | 1997-02-06 |
Family
ID=26962876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68927044T Expired - Fee Related DE68927044T2 (de) | 1988-12-15 | 1989-12-12 | Rechnerspeicher mit Ausgangsleitungen, welche mittels der Speicheradresse zur Verbindung mit einem Datenbus ausgewählt werden |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0373594B1 (de) |
JP (1) | JPH02244238A (de) |
KR (1) | KR920010960B1 (de) |
DE (1) | DE68927044T2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817420B2 (en) * | 2018-10-30 | 2020-10-27 | Arm Limited | Apparatus and method to access a memory location |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3858187A (en) * | 1974-01-11 | 1974-12-31 | Gte Automatic Electric Lab Inc | Read only memory system |
US4581739A (en) * | 1984-04-09 | 1986-04-08 | International Business Machines Corporation | Electronically selectable redundant array (ESRA) |
JPS60260422A (ja) * | 1984-06-04 | 1985-12-23 | Mitsui Alum Kogyo Kk | アルミニウム電解炉発生ダストよりガリウム成分含有液を製造する方法 |
-
1989
- 1989-11-17 JP JP1299922A patent/JPH02244238A/ja active Pending
- 1989-12-12 DE DE68927044T patent/DE68927044T2/de not_active Expired - Fee Related
- 1989-12-12 EP EP89122924A patent/EP0373594B1/de not_active Expired - Lifetime
- 1989-12-15 KR KR1019890018848A patent/KR920010960B1/ko not_active Expired
Also Published As
Publication number | Publication date |
---|---|
KR900010560A (ko) | 1990-07-07 |
EP0373594A2 (de) | 1990-06-20 |
KR920010960B1 (ko) | 1992-12-26 |
JPH02244238A (ja) | 1990-09-28 |
EP0373594B1 (de) | 1996-08-28 |
EP0373594A3 (de) | 1991-04-10 |
DE68927044D1 (de) | 1996-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68925631T2 (de) | Speicheranordnung mit automatisch variabler Verschachtelung | |
DE102007063812B3 (de) | Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
DE2617408A1 (de) | Datenverarbeitungsgeraet | |
DE3618163A1 (de) | Speicher-management fuer ein mikroprozessorsystem | |
DE69020384T2 (de) | Integrierte Halbleiterspeicherschaltung mit Möglichkeit zum Maskieren des Schreibens im Speicher. | |
DE3618136C2 (de) | ||
DE3716518A1 (de) | Halbleiterspeichervorrichtung | |
DE3043100C2 (de) | ||
DE69222743T2 (de) | Speichereinrichtung und Verfahren zur Verwendung in einer Datenverarbeitungsanordnung | |
DE3888891T2 (de) | Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit. | |
DE2703559A1 (de) | Rechnersystem | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE2900586A1 (de) | Anordnung zum decodieren von codewoertern variabler laenge | |
DE2648225A1 (de) | Datenspeicherwerk mit mehreren speichermodulen | |
DE3024153A1 (de) | Speicher-subsystem | |
DE69603618T2 (de) | System zur rekonfiguration der länge eines xyram-speicher | |
DE68926158T2 (de) | Einchip-Mikrorechner mit EPROM | |
DE68927044T2 (de) | Rechnerspeicher mit Ausgangsleitungen, welche mittels der Speicheradresse zur Verbindung mit einem Datenbus ausgewählt werden | |
DE10335012B4 (de) | Halbleiterspeicherbauelement mit mehreren Speicherfeldern und zugehöriges Datenverarbeitungsverfahren | |
DE10105627B4 (de) | Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung | |
DE69424387T2 (de) | Verfahren und Gerät zum Modifizieren des Inhalts eines Registers | |
DE2842288A1 (de) | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher | |
DE2004934A1 (de) | ||
DE69025268T2 (de) | Schaltungsanordnung zur erweiterten Adressierung | |
DE69431338T2 (de) | Datenverarbeitungssystem mit Busbreite-Wechselfunktion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |