-
HINTERGRUND
DER ERFINDUNG UND STAND DER TECHNIK
-
Die vorliegende Anwendung betrifft
ein Datenverarbeitungssystem, welches einen synchronen dynamischen
Speicher zum Speichern von Daten und Instruktionen verwendet, worin
Systemkomponenten von vorzugsweise universellem Design genutzt werden,
welche in integrierter Schaltkreistechnologie hergestellt werden.
-
In konventionellen Datenverarbeitungssystemen
ist die Hauptspeichervorrichtung zum Speichern von Daten und Instruktionen
entworfen für
die bevorzugte Benutzung von standardisierten, billigen Mehrzweck-Speicherkomponenten
von konventionellem Design. Eine Architektur einer Hauptspeichervorrichtung
von dieser Art in einer Workstation, welche eine Vielzahl von dynamischen
Speicherkomponenten benutzt, kann z. B. gefunden werden in einem
Artikel von L. Johnson et al., betitelt "System Level ASIC design for Hewlett-Packard's Low Cost PA-RISC
Workstations", Proceedings
1991 International Conf. on Computer Design (ICCD), Seiten 132 bis
133.
-
Spezifikationen eines derartigen
dynamischen Mehrzweckspeichers können
gefunden werden in dem Hitachi IC Speicherhandbuch 2, "DRAM, DRAM Module" (September 1991),
Seiten 389 bis 393. Im Allgemeinen hat der konventionelle dynamische
Mehrzweckspeicher keinen Takteingang, welcher als Eingabesignal
für einen
Chip dient. Stattdessen muss während
des Schreibens/Lesens ein innerer Betriebstakt in dem Chip aus anderen
Kontrolleingabesignalen erzeugt werden. Ferner ist ein Modus-Register
zum Vorschreiben des Betriebsmodus des dynamischen Speichers im
Allgemeinen nicht hierin vorgesehen und als Konsequenz ist der Betriebsmodus
des konventionellen dynamischen Speichers grundsätzlich einzeln. Darüber hinaus
ist der dynamische Speicher im Allgemeinen in Form einer einzigen
internen Speicherbank entworfen.
-
Auf der anderen Seite wird in einem
anderen Artikel in NIKKEI ELECTRONICS, am 11. Mai 1992 (Nr. 553),
Seiten 143 bis 147 ein dynamischer Speicher beschrieben, auf welchen
mit 2 oder 4 mal höherer
Geschwindigkeit zugegriffen werden kann als zuvor. Dieser synchrone
dynamische Speicher hat eine Vielzahl von Speicherbänken und
ein eingebautes Register zum Setzen des Betriebsmodus dieser Speicherbänke, sowie:
Verzögerung
von dem /RAS oder /CAS-Übergang,
sequentieller Zugriff auf Worte (Wrap-Länge) und die Reihenfolge der
Adressen von Teilen von Eingabe-/Ausgabe-Daten.
-
Ein weiterer dynamischer Speicher
ist offenbart in dem US-Patent 4,397,753 von Siemens. Er enthält eine
Vielzahl von Speicherbereichen, auf welche parallel zugegriffen
werden kann. Nur eine Adresse wird angegeben, so dass auf die zugehörigen Zellen
in jedem Speicher gleichzeitig zugegriffen wird.
-
Ein Geschwindigkeitssystemspeicher
durch Verschränkung
von DRAM-Zugriffen wird offenbart in dem Journal "Electronic Design" 37, 12. Oktober 1989,
Nr. 21, Cleveland, OH, US, Seiten 65 bis 68, 70, 72 in einem Artikel
von Mekhiel. Wie bekannt ist können
dynamische RAMS (DRAMS) nicht immer den schnellen Durchsatz eines
Prozessors unterstützen,
wie in einem MC 68030 Mikroprozessor, der bei 33 MHz im Burst-Modus
läuft.
Um dieses Problem zu bewältigen
stellen einige Architekturen eine Cache-System bereit, worin ein
kleiner Bereich des Speichers statisch ist, während der Rest dynamisches
RAM ist. Ein derartiger Entwurf fügt dem System Komplexität und Kosten
hinzu. Hier beschreibt der Autor ein Verfahren zur Beschleunigung
von DRAM-Zugriffen, in dem ein Interleaving von Spalten-Adressimpulsen
verwendet wird, während
die Zugriffe in dem Page-Modus sind. Ein Prozessor im Burst-Modus
greift auf Daten von sequentiellen Stellen zu. Infolgedessen kann
die Adresse, auf die als nächstes
zuge griffen werden soll, früh
genug geladen werden, um die Spaltenadressen-Zugriffszeit für DRAM einzuhalten.
-
In diesem Artikel unterstützt das
System sowohl Interleaving und Page-Modus-Zugriffe. Der Burst läuft in dem
Fast-Page-Modus. Das System prüft,
ob ein gültiger
Page-Modus vorliegt, indem eine Zeilenadressen-Komparatorausgabe
geprüft
wird. Der Komparator korreliert die derzeitige Zeilenadresse mit
der letzten gelatchten Zeilenadresse und setzt ein Kontrollsignal,
wenn die zwei Adressen übereinstimmen.
Wenn sie nicht übereinstimmen,
muss eine neue Zeilenadresse in das dynamische RAM gelatcht werden.
Die europäische
Patentanmeldung 468 480 A2 betrifft einen synchronen Burst-Zugriffsspeicher mit
Latch-Mitteln, der ein Zeilenadressimpulssignal RAS, ein Spaltenadressimpulssignal CAS und Adresssignale A0 bis Ak synchron
mit einem Taktsignal CLK latcht.
Um zwischen Lesezugriff und Schreibzugriff zu unterscheiden, empfangen
die Latch-Mittel und latchen zu diesem Zweck ein Schreib-Freigabesignal WE und ein Ausgabe-Freigabesignal OE. Die externen Schaltkreise,
welche diese Signale erzeugen, müssen
nur Rüstzeit-
und Haltezeit-Bedingungen im Hinblick auf CLK erfüllen, statt komplexe,
aufeinander bezogene Zeitanforderungen von konventionellen dynamischen
RAM oder Dualport-RAM erfüllen
zu müssen.
Zeitanforderungen können
erfüllt
werden durch externe Signaltreiberschaltkreise von nur mäßiger Leistung,
sogar bei hohen Taktraten. Daher kann Rauschen auf Platinen vermieden
werden. Ferner werden Schaltkreise in den Latch-Mitteln vorgesehen
zur Weitergabe der gelatchten Eingabesignale zu anderen Teilen des
synchronen Burst-Zugriffsspeichers und zur Erzeugung verschiedener
Kontrollsignale aus den gelatchten Eingabesignalen.
-
Die "Valid Modes" in den obigen zwei Referenzen dienen
der Anzeige eines Betriebsmodus eines Speichercontrollers, nicht
eines Betriebsmodus der Speichereinheit des synchronen DRAMS, wie
in der vorliegenden Erfindung.
-
In Datenverarbeitungssystemen, in
denen die Hauptspeichervorrichtung dynamische Mehrzweckspeichereinheiten
oder Komponenten ohne Takteingang, wie oben beschrieben, benutzt,
ist es unmöglich,
ein Taktsignal direkt in die jeweiligen dynamischen Mehrzweckspeicherchips
einzugeben und jeden Chip synchron mit dem Taktsignal arbeiten zu
lassen.
-
Dementsprechend müssen Kontrollsignale für die dynamischen
Mehrzweckspeichereinheiten oder Komponenten extern durch spezielle
Schaltungen erzeugt werden mit einem Timing, welches einer AC-Charakteristik
des Chips entspricht, auf der Basis des Takts des Prozessorsystems.
-
Auf der anderen Seite muss in dem
dynamischen Mehrzweckchip oder der Komponente ein interner Betriebstakt
aus dem Kontrollsignal erzeugt werden, um Kontrolle des internen
Betriebs zu gewährleisten.
Infolgedessen wird in Datenverarbeitungssystemen, die dynamische
Mehrzweckspeicherchips oder Komponenten benutzen, der Overhead für das In-Übereinstimmung-Bringen
des Systemtakts mit dem internen Betriebstakt erheblich erhöht, was
es schwer macht, eine Hauptspeichervorrichtung zu entwerfen, die
imstande ist, bei hoher Geschwindigkeit synchron mit dem Systemtakt
zu arbeiten.
-
Auch ist in den obigen Datenverarbeitungssystemen,
in denen die Hauptspeichervorrichtung aus dynamischen Mehrzweckspeicherchips
oder Komponenten entworfen und konstruiert ist, dieser Speicher
nur ein einzelner Modus, beinhaltet kein Modus-Register zum Vorschreiben
des Betriebsmodus des dynamischen Speichers und beinhaltet lediglich
eine einzelne Speicherbank. Wenn die Hauptspeichervorrichtung eingerichtet
werden soll, um mit einem Betriebsmodus einer Vielzahl von Speicherbänken übereinzustimmen,
ist es unter Leistungs- und Kostenaspekten schwer, eine optimierte
Hauptspeichervorrichtung zu entwerfen und zu konstruieren, die effizient
mit hoher Geschwindigkeit arbeitet.
-
Wenn ein synchroner dynamischer Speicher entworfen
ist, um eine Vielzahl von Speicherbänken und ein eingebautes Register
zum Setzen des Betriebsmodus zu haben, dann stellt sich das Problem, dass
beide, ein konventioneller Prozessor und der synchrone dynamische
Speicher konkrete Schaltkreismittel ermangeln, um die Steuerung
des Zugriffs auf die Vielzahl von Speicherbänken und die Steuerung des
Setzens eines Betriebsmodus in dem eingebauten Register zu steuern.
Wenn solche konkreten Schaltkreismittel entweder in dem konventionellen Prozessor
oder in dem synchronen dynamischen Speicher beinhaltet wären, verlieren
diese Einheiten Kompatibilität
mit allgemeiner Anwendbarkeit, was im Design von Datenverarbeitungssystemen
höchst wünschenswert
ist.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung,
die obigen Probleme zu lösen
und ein Datenverarbeitungssystem bereitzustellen, das Verarbeitungsmittel
und eine Hauptspeichervorrichtung besitzt, die in integrierter Schaltkreistechnologie
von genereller Anwendbarkeit entworfen sind und vom Standpunkt der
Leistung und der Kosten optimiert sind.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung ist daher
befasst mit einem verbesserten Datenverarbeitungssystem, das ein
Verarbeitungsmittel und eine Hauptspeichervorrichtung umfasst, in
der Systemkomponenten in integrierter Schaltkreistechnologie hergestellt
sind und worin die Chipkomponenten entworfen sind für allgemeine
Anwendbarkeit, wodurch spezielle konkrete Schaltungen vermieden
werden, um spezielle Designanforderungen zu erfüllen, insbesondere in Verbindung
mit der Bereitstellung einer Vielzahl von Speicherbänken und
dem Setzen des Betriebsmodus in einem eingebauten Register, wobei
zur gleichen Zeit ein Betrieb in einer erweiterten Weise erreicht
wird, die darauf zielt, einen höheren
Datendurchsatz in dem Datenverarbeitungssystem zu erlauben.
-
Die obige und weitere Aufgaben werden
in vorteilhafter Weise gelöst
durch Anwenden der in Anspruch 1 dargelegten Merkmale. Weitere Erweiterungen,
Merkmale und Ausführungsformen
der Erfindung werden definiert in den zugehörigen Unteransprüchen.
-
In einer bevorzugten Ausführungsform
der vorliegenden Erfindung ist der Speicher (501) ein Speicher
vom synchronem dynamischem IC-Typ, der synchron mit einem Taktsignal
(CLK) arbeitet, welches an seinen Eingabeeingang (552)
angelegt ist. Die Schaltkreise zum Steuern des Zugriffs auf eine Vielzahl
von Speicherbänken
(502, 503) und das Setzen eines Betriebsmodus
in dem eingebauten Modusregister (CMR) ist verkörpert in dem Hauptspeicher-Controller
(MC), der mit dem Prozessor (MPU) und der Hauptspeichervorrichtung
(MS) gekoppelt ist.
-
Dieser Entwurf gewährleistet
die Benutzung von konventionellen Mehrzweckprozessorkomponenten
(CHIP) von hoher Allgemeinheit und auch von konventionellen Mehrzweckspeicherkomponenten (MS)
von hoher Allgemeinheit.
-
Ferner werden in den Ausführungsformen der
vorliegenden Erfindung der Prozessor (MPU) und der Hauptspeicher-Controller
(MC) jeweils durch getrennt Chips gebildet, während in einer weiteren Ausführungsform
der Prozessor (MPU) und der Hauptspeicher-Controller (MC) jeweils
durch unabhängige Kerne
innerhalb des gleichen Chips gebildet werden. Die Benutzung eines
konventionellen Mehrzweckprozessorkerns und des konventionellen
Mehrzweckspeicherchips kann gewährleistet
werden, wenn ein Kern des Hauptspeicher-Controllers (MC) in demselben
Prozessorchip beinhaltet ist.
-
Weitere Aufgaben und Merkmale der
vorliegenden Erfindung werden sich aus den im Folgenden zu beschreibenden
verschiedenen Ausführungsformen
ergeben.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das eine Architektur eines Datenverarbeitungssystems
gemäß der ersten
Ausführungsform
der vorliegenden Erfindung zeigt.
-
2 ist
ein Blockdiagramm, das eine interne Architektur einer Mikroprozessoreinheit
(MPU) zeigt.
-
3 ist
ein Diagramm, das eine Zuweisung von Bereichen in einem Prozessorbusraum
zeigt.
-
4 ist
ein veranschaulichendes Diagramm eines MS-Bereichs und eines MC-Registerbereichs.
-
5A; 5B sind Diagramme, die eine
interne Architektur eines synchronen dynamischen Speichers und einer
Organisation eines Feldes eines Befehlsregisters zeigen, welches
in dem synchronen dynamischen Speicher enthalten ist.
-
6 ist
ein Diagramm, das eine Architektur einer Hauptspeichervorrichtung
(MS) zeigt.
-
7 ist
ein Diagramm, das eine interne Architektur eines Hauptspeicher-Controllers
zeigt.
-
8A; 8B sind Diagramme, die Beispiele einer
Zuweisung von Bits von Zeilen-, Spalten- und Bank-Adressen zeigen.
-
9 ist
ein Zeitdiagramm eines Moduseinstellungs- und Wiederauffrischungszyklus.
-
10 ist
ein Zeitdiagramm von zwei Leseblock-Übertragungszyklen.
-
11 ist
ein Zeitdiagramm eines Leseblock-Übertragungszyklus-/Schreibblock-Übertragungszyklus.
-
12 ist
ein Diagramm, das eine Architektur eines Prozessorsystems gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung zeigt.
-
BESCHREIBUNG VON BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Gesamtarchitektur des
Prozessorsystems
-
1 ist
ein Diagramm, das eine Konstruktion eines Prozessorsystems zeigt.
-
Bezugszeichen 101 bezeichnet
eine Mikroprozessoreinheit (im Folgenden als MPU abgekürzt), die
auf einem einzelnen Chip konstruiert ist.
-
Bezugszeichen 102 bezeichnet
eine Hauptspeichervorrichtung (im Folgenden als MS abgekürzt), welche
eine Vielzahl von synchronen dynamischen Speicherchips beinhaltet.
-
Bezugszeichen 104 bezeichnet
einen Controller für
MS 102, welcher auf einem einzelnen Chip konstruiert ist.
-
Bezugszeichen 103 bezeichnet
einen Taktgenerator (im Folgenden als CG abgekürzt) des Prozessorsystems.
Der CG 103 stellt Taktsignale 150, 151 und 152 für die MPU 101 bereit,
die MS 102 und den MC 104. Diese Taktsignale sind
synchron miteinander. In der vorliegenden Ausführungsform sind 150, 151 und 152 Taktsignale,
die synchron zueinander sind bei derselben Frequenz. Jedoch kann
das Verhältnis
zwischen 150 und 151 und das Verhältnis zwischen 150 und 152 auch
1 : N (N eine ganze Zahl) oder N : 1 sein. Mit 150, 151 und 152 werden
Signale bezeichnet, die synchron miteinander sind. Daher arbeiten
die einzelnen Komponenten des Prozessorsystems synchron mit einen
einzelnen Takt.
-
Bezugszeichen 153 bezeichnet
einen Prozessorbus, durch welchen die MPU 101 und der MC 104 miteinander
gekoppelt ist und welcher aus einer Adresse, Daten und Kontrollsignalen
besteht. Von diesem ist auch ein Datenbus 154 mit dem MS 102 gekoppelt. Über diesen
Datenbus 154 werden Daten von dem MS 102 direkt
zu der MPU 101 übertragen.
-
Bezugszeichen 156 bezeichnet
Adressen und Kontrollsignale, welche von dem MC 104 an
dem synchronen dynamischen Speicher MS 102 bereitgestellt
werden.
-
Der MC 104 ist auch gekoppelt
mit einem I/O-Bus 157. Mit diesem I/O-Bus 157 gekoppelt
sind ein I/O-Gerät 106 und
ein Nur-Lesespeicher (im Folgenden als ROM abgekürzt) 105, in welchem
das Laden des initialen Programms, das Booten des Betriebssystems
und ein Programm zum Initialisieren des Systems gespeichert sind.
-
Interne Architektur
von MPU und Prozessorbus
-
2 zeigt
eine interne Architektur der MPU 101 und einen Aufriss
des Prozessorbus 153. Eine Befehlsverarbeitungseinheit 201 ist
eine Einheit, welche einen Befehl decodiert und auf der Basis der
decodierten Information Verarbeitungsschritte wie eine Operation,
das Holen von Daten (Operand), das Speichern von Daten und das Verzweigen
ausführt. Mit 202 bezeichnet
ist ein Befehlscache zum vorübergehenden
Speichern von Befehlen und Bereitstellen der Befehle bei hoher Geschwindigkeit
in Übereinstimmung
mit einer Anforderung von der Befehlsverarbeitungseinheit 201.
Mit 203 bezeichnet ist ein Datencache zum vorübergehenden
Speichern von Daten und Bereitstellen der Daten bei hoher Geschwindigkeit
in Übereinstimmung
mit einer Anforderung der Befehlsverarbeitungseinheit 201.
Die Blocklänge des
Caches ist 16 Bytes, sowohl in dem Befehlscache 202 als
auch in dem Datencache 203. Da der Prozessorbus 153 eine
Datenbreite von 4 Bytes hat werden nämlich 16 Bytes eines Blocks
beim Auftreten eines Verfehlens des Cache durch vier dividiert und
eine Übertragung
von dem MS 102 zu jeder Unterteilung des Cache ausgeführt. Mit 204 bezeichnet ist
eine Bussteuereinheit zum Steuern des Prozessorbus. Die Bussteuereinheit 204 antwortet
auf eine Anforderung von dem Befehlscache 202, Datencache 203 oder
der Befehlsverarbeitungseinheit 201, um den Prozessorbus 153 zu
starten, so dass ein notwendiger Befehl und notwendige Daten von
außen
geholt werden oder nach außen übermittelt
werden.
-
Ein Aufriss des Prozessorbus 153 stellt
sich wie folgt dar.
-
PD0 bis PD31 (154): Datenbus
mit 4 Byte Breite. Eingabe-/Ausgabe-Signal. Der Datenbus 154 ist
direkt mit dem MS 102 gekoppelt. PD0 ist das Byte mit höchstem Stellenwert
und PD31 ist das Byte mit niedrigstem Stellenwert.
-
PA0 bis PA31 (250): Adressbus
von 32 Byte Breite, 4-Gigabyte Adressierung erlaubt. Ausgabesignal.
PA0 ist das Byte mit höchstem
Stellenwert und PA31 ist das Byte mit niedrigstem Stellenwert.
-
PBS (251): Busstartsignal.
Ausgabesignal.
-
PR/W (252): Lese-/Schreib-Anforderungssignal.
Während
H, Lesen und während
L, Schreiben. Ausgabesignal.
-
PBL (253): Blockübertragungsanforderung. Ausgabesignal.
-
PDC (254): Übertragungsende.
Eingabesignal.
-
Bereichszuweisungen
in dem Prozessorbusraum
-
In dem folgenden System ist ein 4-Gigabyteraum,
der durch PA0 bis PA31 (250) adressierbar ist, in vier
Bereiche, wie in 3 gezeigt,
unterteilt, in Übereinstimmung
mit den oberen zwei Bits der Adressen.
-
MS-Bereich (301): Bereich,
welchem der MS 102 zugeordnet ist.
-
MC-Register-Bereich (302):
Bereich, welchem ein internes Register des MC 104 zugeordnet ist.
-
I/O-Register-Bereich (303):
Bereich, welchem ein internes Register des I/O-Gerätes
zugeordnet ist.
-
ROM-Bereich (304): Bereich,
welchem das ROM 105 zugeordnet ist.
-
Interne Zuordnung
in dem MS-Bereich und dem MC-Register-Bereich
-
4 zeigt
die interne Zuordnung in dem MS-Bereich 301 und dem MC-Register-Bereich 302. Ein
Bereich zwischen H'00000000
und H'003FFFFF ist
ein Unterbereich für
Bank 0. Diese Bank entspricht einer der Bänke in dem synchronen dynamischen Speicher.
Ein Bereich zwischen H'0040000
und H'007FFFFF ist
ein Unterbereich für
Bank 1. Diese Bank entspricht der anderen Bank innerhalb des synchronen
dynamischen Speichers. Zugewiesen zu einer Adresse H'40000000 des MC-Register-Bereichs 302 ist
ein MODE-Register von 8-Bit-Länge. Wenn die
MPU 101 einen geeigneten Wert in dieses MODE-Register schreibt,
wird der Wert in dem Modusregister innerhalb des synchronen dynamischen
Speichers gesetzt und ein Betriebsmodus desselben wird bestimmt.
-
Interne Architektur
des synchronen DRAM
-
5A zeigt
eine interne Architektur eines synchronen dynamischen Speichers 501 in
einem einzelnen Chip zur Bildung des MS 102. Das MS 102 umfasst
vier der obigen Chips. Der Speicher dieses Chips hat zwei Speicherbänke, welche
eine Bank 0 (502) und eine Bank 1 (503) sind.
Jede Speicherbank besteht aus 1.048.576 Worten × 8 Bits. Daher hat der gesamte
Chip eine Kapazität
von 16 M Bits (= 8 M Bits). Mit RFADR 504 bezeichnet, ist
ein Adresszähler,
der angepasst ist, um eine Zeilenadresse zur Wiederauffrischung
vorzubereiten. Mit CMR 505 ist ein Modusregister zum Bestimmen
eines Betriebsmodus des Chips 501 bezeichnet. Mit 506 bezeichnet ist
ein interner Steuerschaltkreis für
den Chip 501. Dieser Schaltkreis antwortet auf Steuersignale
vom Äußeren des
Chips und einen Wert, der in dem CMR 505 gesetzt ist, um
ein internes Betriebssignal synchron mit einem extern von dem Chip
eingegebenen Taktsignal vorzubereiten.
-
Interfacesignale
des synchronen DRAM
-
Interfacesignale des synchronen dynamischen
Speichers sind wie folgt:
-
A0 bis A10 (550): Adresssignal.
Eingabe. Eine Zeilenadresse und eine Spaltenadresse werden eingeben.
Als Zeilenadresse werden 11 Bits von A0 bis A10 verwendet. Als Spaltenadresse
werden 9 Bits von A0 bis A8 verwendet. Während der Eingabe der Spaltenadresse,
wird A10 als Bezeichnung der Bank benutzt. Während des Setzens des CMR 505 wird Modusinformation
durch A0 bis A7 eingegeben.
-
I/O0 bis I/O1 (551): Datensignal.
Eingang/Ausgang. Interface für
Datensignale während des
Lesens/Schreibens.
-
CLK (552): Taktsignal. Eingabe.
Synchron mit einer steigenden Flanke dieses Signals wird ein Wert
eines Eingabesignals für
den Chip intern abgerufen. Oder synchron mit einer steigenden Flanke dieses
Signals wird eine Ausgabe extern zu dem Chip übertragen.
-
/WE (553): Schreib-Freigabesignal.
Eingabe. Gesetzt (niedriger Pegel, im Folgenden als L bezeichnet),
wenn das Schreiben von Daten angefordert wird.
-
/CAS (554): Spaltenadressimpulssignal.
Eingabe. Gesetzt (L), wenn eine Spaltenadresse bereitgestellt wird.
-
/RAS0, /RAS1 (555): Zeilenadressimpulssignal.
Eingabe. Gesetzt (L), wenn eine Zeilenadresse bereitgestellt wird.
Dieses Signal entspricht den jeweiligen Bänken und bildet ein Betriebsstartsignal
für jede
Bank.
-
/DQM (556): Datenmaskierungssignal.
Eingabe. Während
des Lesens fungiert dieses Signal als Freigabesignal für die Ausgabe
I/O0 bis I/O7 (551). Wenn dieses Signal während des
Lesens nicht gesetzt (L) ist, bleibt die Ausgabe 551 in
einem Zustand hoher Impedanz. Während
des Schreibens fungiert dieses Signal als ein Schreib-Freigabesignal.
Während
des Schreibens, wenn dieses Signal gesetzt (L) ist, werden Daten
geschrieben.
-
Organisation
der Felder des Modusregisters
-
5B zeigt
die Organisation der Felder des CMR 505 und die Inhalte
derselben. Einem RL-Feld, ein CL-Feld und ein WL-Feld sind jeweils
Adressen zugeordnet, welche durch die Bits A0 bis A2, A3 bis A4
und A5 bis A7 definiert sind und während des Setzens des Modus
ruft jedes der Felder Werte der entsprechenden Adressbits ab. Das
RL-Feld zeigt eine /RAS-Verzögerung
an. Zum Beispiel, wenn hier 100 gesetzt ist, werden Daten ausgelesen
während
des Lesebetriebs, 4-Takte
nach dem das /RAS gesetzt wurde. Das CL-Feld zeigt eine /CAS-Verzögerung an.
Zum Beispiel, wenn 10 hier gesetzt ist, werden Daten ausgelesen
während
des Lesebetriebs, 2-Takte nachdem das /CAS gesetzt wurde. Das WL-Feld zeigt eine Wrap-Länge an.
Dieser Chip hat die Funktion, sequentiell, synchron mit dem Takt,
Datenteile einer Zeile zu lesen, die durch die gleiche Zeilenadresse
bezeichnet werden, beginnend mit einer Stelle, die durch eine Spaltenadresse
bezeichnet wird. Zu diesem Zeitpunkt wird die Spaltenadresse in
einer Länge übertragen,
welche durch das WL-Feld bezeichnet wird. Zum Beispiel, wenn das
WL-Feld auf 000 gesetzt ist, wird die Wrap-Länge 4 und ein Wrap-Around von 0-1-2-3,
1-2-3-0, 2-3-0-1 und 3-0-1-2 geschieht.
-
Architektur
des Hauptspeichers
-
6 zeigt
eine Architektur des MS 102, unter Benutzung von 4 (601, 602, 603 und 604)
synchron dynamischen Speichern 501. 8-Bit-Datensignale
von einzelnen Chips werden gekoppelt an jeweilige Bytepositionen
des Datenbus 154. Das Taktsignal 151 wird mit
dem CLK 552 jedes Chips gekoppelt und A0 bis A10 (651),
/WE, /CAS (652), /RAS0, /RAS1 (653) und DQM (654)
werden mit den jeweili gen Eingabesignalen verbunden, welche den
jeweiligen Chips gemeinsam sind. Mit 651, 652, 653 und 654 bezeichnet
werden Ausgabesignale des MC 104.
-
Interne Architektur des
Hauptspeicher-Controllers und Zuordnung von Bits zu Reihe, Spalte
und Bank
-
7 zeigt
eine interne Architektur des MC 104. Die interne Architektur
umfasst eine Anforderungssteuereinheit 701, eine interne
Registersteuereinheit 702, eine MS-Steuereinheit 704 und
eine I/O-Steuereinheit 709. Die Anforderungssteuereinheit 701 analysiert
die oberen zwei Adressbits eines Buszyklus, welcher von der MPU 101 auf
dem Prozessorbus 153 ausgegeben wurde, um zu entscheiden,
für welchen
der MS-Bereich 301, MS-Register-Bereich 302, I/O-Register-Bereich 303 und ROM-Bereich 304 der
Buszyklus bestimmt ist und überträgt dann
die Steuerung der entsprechenden Steuereinheit.
-
In der internen Registersteuereinheit 702 sind
Steuerregister vorgesehen, die in dem MC 104 beinhaltet
sind. Eines davon ist ein MODE-Register 703 zum Bestimmen
eines Betriebsmodus des synchronen dynamischen Speichers. Die interne
Registersteuereinheit 702 überwacht ein Adresssignal auf dem
Adressbus PA0 bis PA31 (250), um zu erfassen, dass eine
Adresse von dem Prozessor 101 auf das Modus-Register 505 des
synchronen dynamischen Speichers 501 zugreift und, in Antwort
auf ein Ergebnis dieser Erfassung, überträgt es Einstellinformation (Information
von dem Datenbus PD0 bis PD31 (154)) während dieses Zugriffs auf das
Modusregister 505 des synchronen dynamischen Speichers 501.
Insbesondere sendet, wenn ein Wert von der MPU 101 in dieses
MODE-Register 703 geschrieben wird, die interne Registersteuereinheit 702 eine
Anzeige zu der MS-Steuereinheit 704 und
sendet Informationen, die in das MODE-Register 703 geschrieben
wurden zu den A0 bis A7 durch einen Selektor 706, um einen Schreibzyklus
auf dem CMR 505 des synchronen dynamischen Speichers 501 auszuführen.
-
Die MS-Steuereinheit 704 steuert
ein Adresssignal A0 bis A10 (651) eines synchronen dynamischen
Speichers 501, welcher den MS 102 bildet und eine
DRAM-Zugriffssteuereinheit 707 erzeugt Steuersignale /WE,
/CAS (652), /RAS0, /RAS1 (653) und /DQM (654).
-
Mit MADR0 (705a) und MADR1
(705b) werden Register zum Halten von Zugriffsadressen
von Buszyklen bezeichnet, welche von der MPU 101 zu dem
MS-Bereich ausgegeben
werden. Die zwei Register sind in Form eines FIFO (First In – First
Out) konstruiert. Eine Adresse eines vorhergehenden Buszyklus wird
in das MADR1 (705b) gelatcht und eine Adresse eines folgenden
Buszyklus wird in das MADR0 (705a) gelatcht. Sobald das
Halten der Adresse des vorhergehenden Buszyklus überflüssig wird, werden die Inhalte
des MADR0 (705a) in das MADR1 (705b) geschoben.
Die Inhalte von 705b werden in ein Zeilenadressfeld, ein
Spaltenadressfeld und ein Bankfeld unterteilt.
-
Die Bitposition jedes Feldes wird
in 8A gezeigt. Das neunte
Bit repräsentiert
das Bankfeld CA10, das 10te bis 20te Bit repräsentiert das Zeilenadressfeld
RA0 bis RA10 und das 21te bis 29te Bit repräsentiert das Spaltenadressfeld
CA0 bis CA8.
-
Wenn die MS-Steuereinheit 704 eine
Zeilenadresse überträgt wird
das RA0 bis RA10 zu den A0 bis A10 (651) mittels des Selektors 706 übertragen.
-
Wenn die MS-Steuereinheit 704 eine
Spaltenadresse überträgt, wird
das CA0 bis CA8 zu den A0 bis A8 (651) mittels des Selektors 706 übertragen und
zur gleichen Zeit wird das Bankfeld CA10 zu dem A10 (651) übertragen.
-
Mit CMP 714 wird ein Komparator
zum Vergleichen von Bankfeldern in den MADR0 (705a) und MADR1
(705b) bezeichnet. Wenn ein Vergleich in Übereinstimmung
resultiert, sind Zugriffe für
die gleiche Bank bestimmt und daher können zwei Zyklen des synchronen
dynamischen Speichers nicht parallel ausgeführt werden. Wenn aber ein Vergleich
in Nicht-Übereinstimmung
resultiert, was anzeigt, dass Zugriffe für verschiedene Bänke bestimmt
sind und parallele Ausführungen
der zwei Zyklen daher erlaubt sind, erzeugt die DRAM-Steuerung 707 ein Steuersignal
(/RAS0, /RAS1), welches die parallele Ausführung erlaubt. Dieses verbessert
den Durchsatz des MS 102.
-
Mit RFTIME 708 bezeichnet
ist ein Wiederauffrischungstimer. Dieser Timer gibt eine Wiederauffrischungsanforderung
an die DRAM-Steuerung 707 in konstanten Zeitintervallen
aus, um diese zu veranlassen, einen Wiederauffrischungszyklus des
synchronen dynamischen Speichers 501 durchzuführen.
-
Die I/O-Steuereinheit 709 erzeugt
ein I/O-Steuersignal 758 zum Steuern eines Buszyklus auf
dem Eingabe-/Ausgabe-Bus 157.
-
Abgesehen von der vorliegenden Ausführungsform
kann die Zuweisung von Bits zu einem Zeilenadressfeld, einem Spaltenadressfeld
und einem Bankfeld, wie in 8B,
ausgeführt
werden.
-
Während
des initialen Betriebs dieses Prozessorsystems wird ein initiales
Betriebsprogramm aus dem ROM 105 ausgelesen und ausgeführt. In diesem
Programm wird zuerst das Einstellen des Modus des synchronen dynamischen
Speichers 501 ausgeführt.
-
Während des
initialen Betriebs des Prozessorsystems
-
Ein Zeitdiagramm in dieser Phase
wird in 9 gezeigt. Die
MPU 101 gibt auf dem Prozessorbus 153 eine Adresse
MA des MODE-Registers 703 aus, die in dem MC 104 enthalten
ist, und ein Schreib-Buszyklus eines zu setzen Moduswertes MD (Takte
2 bis 4). In Antwort darauf setzt die MS-Steuereinheit 704 das
MC 104, /RAS0, /RAS1, /CAS and /WE für die MS 102 und gibt
einen zu setzenden Wert zu den A0 bis A7, wodurch ein Modussetzzyklus
ausgegeben wird. Da durch kann das Setzen des Modus aller synchronen
dynamischen Speicher 501 ausgeführt werden (Takt 5). Bei Takt
10 ist ein Wiederauffrischzyklus angezeigt. Dieser wird durch Festlegen von
/RAS0, /RAS1 und /CAS ausgeführt.
-
Parallele Durchführung von
zwei Zugriffen auf zwei verschiedene Speicherbänke
-
10 zeigt
einen Fall von zwei Leseblock-Übertragungszyklen.
In diesem Fall ist die /RAS-Verzögerung
4 Takte, die /CAS-Verzögerung ist
1 Takt und die Wrap-Länge
ist 4. Bei den Takten 2 und 6 werden Anforderungen des Leseblock-Übertragungszyklus (wobei PBL
gesetzt ist) von der MPU 101 ausgegeben. Diese Ausgabe
wird in dem Falle getan, dass, beispielsweise, der interne Cache
der MPU 101 verfehlt wurde. Der vorrangehende Blockübertragungszyklus
ist für
die Bank 0 und daher wird /RAS0 festgelegt für die MS 102 bei Takt
3, um die Bank 0 zu starten. Gleichzeitig dazu wird eine Reihenadresse
Ar durch die 0 bis 10 durchgegeben. Bei Takt 6 wird /CAS festgelegt
und zur gleichen Zeit wird eine Spaltenadresse Ac durchgegeben.
Um die Lesedaten zu dem Datenbus PD0 bis PD31 durchzugeben, wird
/DQM gestartet, um bei Takt 7 gesetzt zu sein. Ein Block-Lese-Datum
von vier Worten, d. h. A, A + 1, A + 2 und A + 3 werden sequentiell
synchron mit den Takten 8, 9, 10 und 11 gelesen. Während des Auslesens
dieses einen Blocks wird der Start eines darauffolgenden Buszyklus
(Zugriff auf die Bank 1) initiiert (/RAS1 ist bei Takt 8 gesetzt)
und Daten dazu, d. h. B, B + 1, B + 2 und B + 3 werden sequentiell während vier
Takten ausgelesen, die mit Takt 13 beginnen. Durch Setzen von PDC
kann die MPU 101 von der Ankunft der Lesedaten informiert
werden.
-
11 zeigt
einen Fall, bei dem nach einem Leseblock-Übertragungszyklus von Daten
A, A + 1, A + 2 und A + 3 ein Schreibblock-Übertragungszyklus von Daten
B, B + 1, B + 2 und B + 3 ausgegeben wird. In diesem Fall ist die
/RAS-Verzögerung
4 Takte, die /CAS-Verzögerung
ist 1 Takt und die Wrap-Länge
ist 4 Takte. Bei Takt 6 wird eine Anforderung des Schreibblock-Übertragungszyklus
(PR/WL = L) von der MPU 101 ausgegeben. Diese Ausgabe wird
in dem Fall vorgenommen, in dem z. B. der interne Cache der MPU 101 verfehlt
wird. Der vorhergehende Blockübertragungszyklus
ist für
die Bank 0 und daher ist /RAS0 für
die MS 102 bei Takt 3 gesetzt, um die Bank 0 zu starten.
Parallel dazu wird eine Reihenadresse Ar durch die A0 bis A10 durchgegeben.
Bei Takt 6 ist /CAS gesetzt und zur gleichen Zeit wird eine Spaltenadresse
Ac durchgegeben. Um Lesedaten zu dem Datenbus PD0 bis PD31 durchzugeben
wird /DQM gestartet, um bei Takt 7 gesetzt zu werden. Die Lesedaten
werden sequentiell synchron mit den Takten 8, 9, 10 und 11 ausgelesen.
Während
des Auslesens dieser Daten wird der Start eines darauffolgenden
Buszyklus (Zugriff auf die Bank 1) initiiert (/RAS1 ist bei Takt
8 gesetzt) und, wenn PDC bei Takt 12 gesetzt ist, liefert die MPU 101 sequentiell
Daten auf dem Datenbus PD0 bis PD31 während 4 Takten, die mit Takt
13 beginnen.
-
Da der parallele Betrieb der zwei
Bänke wie in 10 und 11 gezeigt, erlaubt werden kann, kann eine
Hauptspeichervorrichtung mit hohem Durchsatz konstruiert werden.
-
Weitere Ausführungsformen
-
Die vorliegende Erfindung ist beispielhaft
beschrieben worden, aber die Erfindung ist keineswegs auf die vorrangehenden
spezifizierten Ausführungsformen
beschränkt
und kann offensichtlich auf verschiedene Weisen innerhalb des Bereichs
der grundsätzlichen
technischen Idee der vorliegenden Erfindung, wie in den anliegenden
Ansprüchen
beschrieben, modifiziert werden. Zum Beispiel kann die folgende
Ausführungsform
in Übereinstimmung
mit der vorliegenden Erfindung verwendet werden.
-
12 ist
ein Diagramm, das eine Architektur eines Prozessorsystems gemäß einer
anderen Ausführungsform
der Erfindung zeigt, und diese Ausführungsform unterscheidet sich
von der Ausführungsform
von 1 darin, dass ein
Prozessor (MPU) und eine Hauptspeichervorrichtung (104)
jeweils aus unabhängigen
Ker nen innerhalb des gleichen Chips gebildet sind. Demgemäß können durch Hinzufügen des
Kernes der Hauptspeichersteuervorrichtung (MC) in dem gleichen Chip
die Verwendung des konventionellen Prozessorkerns von hoher Allgemeinheit
und des konventionellen Speicherchips von hoher Allgemeinheit sichergestellt
werden.
-
Wie beschrieben wurde, gemäß der typischen
Ausführungsform
der vorliegenden Erfindung, ist ein Mittel, um die Steuerung des
Zugriffs auf eine Vielzahl von Banken des Speichers (MS) und zur Steuerung
des Setzens eines Betriebsmodus in einem eingebauten Register, in
der Hauptspeichersteuerung (MC) angeordnet, welche an den Prozessor
(MPU) und die Hauptspeichervorrichtung (MS) gekoppelt ist und daher
kann die Benutzung des konventionellen Prozessors von hoher Allgemeinheit
und des konventionellen Speichers von hoher Allgemeinheit gewährleistet
werden.