[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE3650642T2 - Speichermittel mit Mehrwortauslesen und Schreiben - Google Patents

Speichermittel mit Mehrwortauslesen und Schreiben

Info

Publication number
DE3650642T2
DE3650642T2 DE3650642T DE3650642T DE3650642T2 DE 3650642 T2 DE3650642 T2 DE 3650642T2 DE 3650642 T DE3650642 T DE 3650642T DE 3650642 T DE3650642 T DE 3650642T DE 3650642 T2 DE3650642 T2 DE 3650642T2
Authority
DE
Germany
Prior art keywords
memory
information
address
word
unit
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
Application number
DE3650642T
Other languages
English (en)
Other versions
DE3650642D1 (de
Inventor
Edward D Mann
David L Whipple
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spotware Technologies Inc
Original Assignee
Wang Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wang Laboratories Inc filed Critical Wang Laboratories Inc
Application granted granted Critical
Publication of DE3650642D1 publication Critical patent/DE3650642D1/de
Publication of DE3650642T2 publication Critical patent/DE3650642T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)
  • Image Input (AREA)
  • Static Random-Access Memory (AREA)

Description

  • Die vorliegende Erfindung betrifft einen Speicher zum Speichern von Informationen in einer Informationsverarbeitungsanlage, insbesondere einen ein Mehrfachwort breiten Speicher mit Mehrfachwort-Lese- und Einzel- oder Mehrfachwort-Schreib- Fähigkeit.
  • Ein herkömmliches Datenverarbeitungssystem mit einer an Speichermodule angeschlossenen Speichersteuereinheit ist in EP-A- 0 109 298 beschrieben. Das Speichermodul enthält eine ungeradzahlige und eine geradzahlige regelmäßige Anordnung von Speichervorrichtungen, zugehörige Ausgangs-Latchspeicher und einen Ausgangstreiber, der zwischen den Latchspeichern wählt. Eine Speicheradresse wird zwischengespeichert und im Multiplexbetrieb als Zeilen- und Spaltenadresse an die Anordnungen geleitet.
  • Alle Informationsverarbeitungssysteme enthalten einen Speicher irgendeiner Form zum Speichern von Informationen, d.h. von Daten und Befehlen, die vom System zu verarbeiten sind. Bei einem üblichen System z.B. werden die Daten und Befehle in den Speicher geschrieben, bis sie von Verarbeitungselementen des Systems angefordert, zur Verarbeitung aus dem Speicher an die Verarbeitungselemente ausgelesen und die Ergebnisse in den Speicher zurückgeschrieben werden. Außerdem ist der Speicher bei vielen Systemen der primäre Informationsweg durch das System. Das heißt, Informationen werden gewöhnlich zwischen zwei Bauelementen des Systems, z.B. einer Zentraleinheit und einer Eingangs-Ausgangs-Steuerung, über den Speicher übertragen. Dabei sind Geschwindigkeit und Einfachheit, mit denen Informationen aus dem Speicher gelesen und in ihn eingeschrieben werden können, ein Hauptfaktor bei der Bestimmung der Leistung des Systems.
  • Bei vielen Systemen wird die Geschwindigkeit des Systems erhöht, indem die Breite des Systemspeichers und des Systembusses auf ein Mehrfaches der vom System benutzten Grundinformationselemente gebracht wird. Beispielsweise kann ein System im Grunde Informationselemente, die als Wörter bezeichnet werden, bearbeiten, die 32 Bit Informationen enthalten. Der Systembus und der Speicher können folglich zwei Wörter oder 64 Bit breit sein, so daß bei jeder Speicher-Lese- oder -Schreiboperation zwei Wörter übertragen werden.
  • Eine erste Einschränkung der Speicherleistung ergibt sich daraus, daß viele vom System ausgeführte Operationen die Übertragung von mehr Informationen nötig machen, als in einem Systemspeicher oder -bus von einfacher Breite enthalten sein können. Beispielsweise kann ein Zentralverarbeitungselement eine Cachespeicher-Fülloperation ausführen, bei der die Übertragung von vier, acht oder sechzehn Wörtern nötig ist. Bei dem vorstehend beschriebenen Speicher- und Bus-Beispiel würde dies zwei, vier bzw. acht Speicheroperationen erfordern. Wenngleich die Breiten von Speicher und Bus vergrößert werden können, um sie solche Operationen anzupassen, ist die Implementierung dieser Lösung bei sehr breiten Speichern und Bussen sehr teuer.
  • Eine verwandte Schwierigkeit tritt bei Speicher-Schreiboperationen insoweit auf, als die Speicherbreite nicht in zweckdienlicher Weise auf die Größen der meisten in den Speicher eingeschriebenen Informationselemente bezogen ist. Das heißt, viele Speicher sind ein Doppelwort breit und lesen und schreiben jeweils ein Doppelwort. Das System führt jedoch die meisten Operationen an Informationselementen aus, die ein Wort oder weniger groß sind, und unter diesen Umständen betreffen viele Schreiboperationen Informationselemente, z.B. ein Wort, die kleiner als eine vollständige Speicherinformationsebene sind.
  • Die vorliegende Erfindung schafft einen Speicheraufbau und eine Speicheroperation, die Verbesserungen und Merkmale aufweisen, welche sich auf die vorstehend genannten sowie andere Schwierigkeiten und Einschränkungen beziehen.
  • Die vorliegende Erfindung bezieht sich auf einen in Anspruch 1 angegebenen Speicher.
  • Bei einer weiteren Ausführungsform umfaßt die Speichereinrichtung eine erste Speicherebene mit Speicherplätzen, die aufeinanderfolgende geradzahlige Adressen haben, und eine zweite Speicherebene mit Speicherplätzen, die aufeinanderfolgende ungeradzahlige Adressen haben. An den Informationsausgang der ersten Speicherebene ist ein erster Ausgangs-Latchspeicher zum Empfangen und Speichern von aus ihr gelesenen Informationseinheiten angeschlossen, und an den Informationsausgang der zweiten Speicherebene ist ein zweiter Ausgangs- Latchspeicher zum Empfangen und Speichern von aus ihr gelesenen Informationseinheiten angeschlossen. Schließlich ist ein Speichereinheits-Ausgangsselektor vorhanden, der mit dem ersten und dem zweiten Latchspeicher verbunden ist und in Abhängigkeit von einer aktuellen Adresse einen Ausgangs-Latchspeicher ansteuert und aus ihm die Informationseinheit liest, die der aktuellen Adresse entspricht.
  • Bei dieser Ausführungsform sprechen die erste und die zweite Speicherebene auf jede ihnen zugeleitete Adresse an und lesen eine Informationseinheit aus dem entsprechenden Speicherplatz in einer der Speicherebenen und in den entsprechenden Ausgangs-Latchspeicher und lesen gleichzeitig die Informationseinheit aus dem entsprechenden nächsten Speicherplatz in der anderen Speicherebene und in den entsprechenden Ausgangs- Latchspeicher. Die Speichereinheitsteuerung liefert als Folge jeder Speicher-Lese-Anforderung die Anfangsadresse und von den aufeinanderfolgenden Adressen einer Adressenfolge jede zweite Adresse an die erste und die zweite Speicherebene, derart, daß entsprechende Paare Informationseinheiten aus ihnen lesbar sind, und von den aufeinanderfolgenden Adressen einer Adressenfolge jede an den Speicherausgangs-Selektor lieferbar ist, derart, daß aus der Speichereinheit die aufeinanderfolgenden Speicherinformationseinheiten einer Folge aus einer oder mehreren Informationseinheiten auswählbar und lesbar sind.
  • Im Hinblick auf das Schreiben umfaßt die Speichereinheit eine Speichereinrichtung gemäß Anspruch 6.
  • Der zum Schutz beanspruchten Erfindung liegt somit die Aufgabe zugrunde, einen verbesserten Speicher zu schaffen, bei dem die Grundeinheit der Informationsspeicherung ein Mehrfaches der im System benutzten Wortgröße ist, und der das Lesen von Informations-Mehrfacheinheiten in einer einzigen Leseoperation und das Schreiben von Informationseinheiten oder jeweils eines Einzelwortes ermöglicht.
  • Weitere Aufgaben, Vorteile und Merkmale der vorliegenden Erfindung sind für den Fachmann anhand der nachstehenden detaillierten Beschreibung der bevorzugten Ausführungsform und der Zeichnungen verständlich, in denen zeigt:
  • Fig. 1 ein Blockschaltbild eines erfindungsgemäßen Rechnersystems,
  • Fig. 2 eine Darstellung einer Speichereinheit in Form eines Blockschaltbildes,
  • Fig. 3 ein Darstellung einer Speichersteuereinheit in Form eines Blockschaltbildes, und
  • Fig. 4A, 4B, 4C, 4D, 4E und 4F den Betrieb des erfindungsgemäßen Speichers darstellende Zeitsteuerdiagramme.
  • BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die nachstehende Beschreibung bezieht sich auf den Aufbau und die Betriebsweise eines Rechnersystems, das eine derzeit bevorzugte Ausführungsform der vorliegenden Erfindung umfaßt. In der nachstehenden Beschreibung werden zuerst der Gesamtaufbau und die Gesamtbetriebsweise des Systems anhand eines Gesamtblockschaltbildes erläutert. Sodann werden der erfindungsgemäße Speicher und bestimmte seiner Merkmale im einzelnen anhand von Blockschaltbildern und Zeitsteuerdiagrammen beschrieben.
  • Bezugszeichen, die sich auf in den Zeichnungen dargestellte Systembauelemente beziehen, bestehen aus drei Ziffern. Die zwei niedrigstwertigen (am weitesten rechts stehenden) Ziffern bezeichnen ein bestimmtes Bauelement, das in einer bestimmten Zeichnung dargestellt ist, und die höchstwertige (am weitesten links stehende) Ziffer bezeichnet die Figur, in der dieses Bauelement zum ersten Mal dargestellt ist. Zum Beispiel kann ein bestimmtes Systembauelement zum ersten Mal als das 12. Bauelement in Fig. 1 dargestellt sein; dieses Bauelement hat dann das Bezügszeichen 112. Wie soeben beschrieben wurde, wird jedes derartige Bezugszeichen zugeteilt, sobald ein bestimmtes Bauelement zum ersten Mal in der nachstehenden Beschreibung angegeben ist, und wird dann in der übrigen Beschreibung und in den Zeichnungen verwendet, sobald auf dieses Bauelement Bezug genommen wird.
  • A. Aufbau des Blockschaltbildes und Arbeitsweise (Fig. 1)
  • Fig. 1 zeigt ein Blockschaltbild eines die vorliegende Erfindung enthaltenden Systems 102. Wie darin angegeben, umfaßt das System 102 eine Prozessoreinheit (PU; Abk. von engl. processor unit) 104, einen Hauptspeicher (MM; Abk. von engl. main memory) 106, eine Systemsteuereinheit (SCU; Abk. von engl. system control unit) 108 und eine Systembus-Schnittstelle (SBI; Abk. von engl. system bus interface) 110 mit einer oder mehreren Satelliten-Prozessoreinheiten (SPU; Abk. von engl. satellite processing unit) 112. Diese Bauelemente sind in zwei Richtungen mit einem Systembus (SB; Abk. von engl. system bus) 114 und durch ihn miteinander verbunden; der Systembus umfaßt einen bidirektionalen Systemadressenbus (SA; Abk. von engl. system address) 116, einen bidirektionalen Speichersteuerbus (MC; Abk. von engl. memory control) 117, einen bidirektionalen Systemdatenbus (SD; Abk. von engl. system data) 118 und eine Systembus-Steuerverbindungsleitung (SBC; Abk. von engl. system bus control) 119. Der SA-Bus 116 und der SD-Bus 118 sorgen für die Übertragung von Adressen bzw. von Daten zwischen den Bauelementen des Systems 102, wogegen der MC-Bus 117 für die Steuerung der Operationen im MM 106 vorgesehen ist. Die SBC-Verbindungsleitung 119 dient der Steuerung des Zugriffs auf den SB 114 durch die verschiedenen Benutzer des SB 114, z.B. die PU 104, den MM 106, die SCU 108 und die SBI 110. Bestimmte Bauelemente des Systems 102, hier auch z.B. PU 104, SCU 108, MM 106 und SBI 110, sind ferner miteinander durch einen Unterstützungs-Verbindungsbus (SL; Abk. von engl. support link) 120 verbunden. Wie weiter unten näher beschrieben wird, sorgt der SL-Bus 120 für Zugriff und Kommunikation zwischen der SCU 108 und den internen Operationen bestimmter Bauelemente des Systems 102.
  • Es wird zuerst auf die PU 104 Bezug genommen. Die PU 104 umfaßt eine Zentraleinheit (CPU; Abk. von engl. central processor unit) 122, die mit Steuerung durch Prozesse, d.h. durch während der Ausführung eines Programms empfangene Befehle, Operationen an Daten ausführt. Wie nachstehend näher beschrieben wird, werden die CPU 122 und die zugeordneten Elemente der PU 104 über Mikroprogramme gesteuert, wobei die CPU 122 je CPU-Zyklus einen Makrobefehl und jeweils einen Mikrobefehl ausführt.
  • Die CPU 122 führt hauptsächlich Rechenoperationen mit ganzen Dual- und Dezimalzahlen und logische Operationen sowie allgemeine Befehle der Arten aus, die weiter unten beschrieben sind. Die CPU 122 führt zur Unterstützung einer Adressengeneratoreinheit (AGU; Abk. von engl. address generator unit) 124 Adressengenerierungsoperationen aus, z.B. Berechnungen, die sich auf Befehlsadressen beziehen. Ferner generiert und hält die CPU 122 das System-Programmsteuerwort, das ebenfalls nachstehend näher beschrieben wird. Auch generiert die CPU 122 Mikrobefehl-Sprungadressen und führt Literal-Feld-Konstantenoperationen mit den Literal-Feldern aus, die sie vom Mikrocode-Sequenzer empfangen hat, der ebenfalls nachstehend näher beschrieben wird. Gemäß Fig. 1 ist die CPU 122 eines der Bauelemente des Systems 102, die mit dem SL-Bus 120 verbunden sind.
  • Der CPU 122 ist eine Adressengeneratoreinheit (AGU) 124 zugeordnet, die, wie nachstehend beschrieben wird, einen Makrobefehl-Vorabruf- und -Warteschlangen-Mechanismus aufweist. Die AGU 124 ruft Befehle ab und generiert aus den Feldern der Befehle virtuelle Adressen, die sich auf die mit diesen Befehlen zu verarbeitende Operanden beziehen, und Zuteilungsadressen zur Bezeichnung der Mikrobefehlroutinen für die Ausführung dieser Befehle. Die AGU 124 generiert, auch hier anhand der Felder von aktuellen Befehlen, virtuelle Adressen der als nächstes auszuführenden Befehle.
  • Wie im Folgenden weiter beschrieben wird, können daher die AGU 124 und die CPU 122 als Befehls-Operationseinheit bzw. als Ausführungs-Operationseinheit bezeichnet werden. Die AGU 124 und die CPU 122 arbeiten getrennt und zur gleichen Zeit, um Befehlsabruf, Befehlsdecodierung, Operandenabruf und Befehlsausführung zu überlappen und dadurch die interne Leistung der PU 104 zu fördern.
  • Der CPU 122 und der AGU 124 ist eine Adressenübersetzungseinheit/Cache (ATU/C; Abk. von engl. address translation unit/ cache) 126 zugeordnet, die als der Daten- und Adressenweg zwischen der PU 104 und dem SB 114 wirkt, wobei die CPU 122 und die AGU 124 miteinander und mit der ATU/C 126 durch interne Daten- und Adressenwege der PU 104 verbunden sind. Wie weiter oben beschrieben, generiert die AGU 124 virtuelle Adressen, das sind Adressen von Befehlen und Operanden, die sich auf den Adressenraum eines Prozesses beziehen, wobei ein Prozess ein Objekt zum Ausführen von Programmen für einen Benutzerund durch einen Adressenraum und einen aktuellen Ausführungszustand eines Programms dargestellt ist. In bezug auf die AGU 124 übersetzt die ATU/C 126 virtuelle Adressen in entsprechende reelle Adressen im Adressenraum des Systems 102, beispielsweise für Lese- und Schreiboperationen aus und in den MM 106. Die ATU/C 126 arbeitet auch als Cachespeicher hinsichtlich der CPU 122, d.h. sie holt und speichert Operanden und Befehle vor den Operationen der CPU 122. Auch die ATU/C 126 arbeitet zur gleichen Zeit wie CPU 122 und AGU 124.
  • Die PU 104 kann ferner eine Gleitkomma-Einheit (FPU; Abk. von engl. floating pomt unit) 128 zur Ausführung von Gleitkomma Rechenoperation gleichzeitig mit anderen Operationen der PU 104, z.B. der CPU 122, aufweisen. Die FPU 128 ist ein weiteres Bauelement des Systems 102, das an den SL-Bus 120 angeschlossen ist.
  • Unter Bezugnahme auf den MM 106: Gemäß Fig. 1 umfaßt der MM 106 eine oder mehrere Speichereinheiten (MU; Abk. von engl. memory unit) 130 zum Speichern von Daten und Befehlen und eine Speichersteuereinheit (MCU; Abk. von engl. memory control unit) 132, die das Lesen und Schreiben von Daten und Befehlen aus und in die MU 130 steuert. Die MCU ist an den SA- Bus 116, den MC-Bus 117, den SD-Bus 118 und die SBC-Verbindungsleitung 119 angeschlossen und ist eines der mit dem SL- Bus 120 verbundenen Bauelemente des Systems 102.
  • Die SCU 108 führt hauptsächlich Steuer- und Unterstützungs- Operationen für das gesamte System aus. Gemäß Fig. 1 kann die SCU 108 als Systemkonsole arbeiten und z.B. ein Disketten- Untersystem für das Laden des Mikrocode in die PU 104 bilden. Die SCU 108 kann auch lokale Diagnosefunktionen bereitstellen und eine Verbindung für Ferndiagnosen vorsehen. Zu anderen Funktionen der SCU 108 können Stromausfall- und Wiedereinschaltfunktionen, Fehlerprotokollierung und Systembewegungsüberwachung gehören.
  • Schließlich mit Bezugnahme auf SEI 110 und SPU 112. Die SPU 112 sind intelligente Steuerungen/Schnittstellen für Peripheriegeräte, z . B. Drucker, Übertragungseinrichtungen, Endgeräte und Plattenlaufwerke. Die SPU 112 sind ihrerseits mit der SBI 110 über einen Eingangs-Ausgangs-Bus (IO; Abk. von engl. input/output) 136 verbunden. Die SBI 110 arbeitet im Zusammenwirken mit den SPU 112 als Übertragungsschnittstelle zwischen dem 10-Bus 136 und dem Systembus 114, um Informationen zwischen den Peripheriegeräten und den Bauelementen des Systems 102 zu übertragen.
  • B. Detaillierte Beschreibung des Hauptspeichers (MM) 106 (Fig. 1. 2 und 3)
  • Wie weiter oben beschrieben, bildet der MM 106 den reellen Speicher des Systems 102 und wird zum Speichern von Daten und Programmen benutzt, mit denen die PU 104 arbeitet. Informationen werden zwischen dem MM 106 und den übrigen Bauelementen des Systems 102, z.B. der PU 104 oder der SEI 110 und den SPU 112, über den Systembus (SB) 114 in Abhängigkeit von Adressen und Befehlen übertragen, die über diesen übertragen werden.
  • Gemäß Fig. 1 umfaßt der MM 106 eine oder mehrere Speichereinheiten (MU) 130 zum Speichern von Daten und Befehlen und eine Speichersteuereinheit (MCU) 132, die das Lesen und Schreiben von Daten und Befehlen aus und in die MU 130 steuert. Die MCU ist bidirektional an den SB 114 angeschlossen und mit den MU 130 bidirektional über einen Speicherbus 134 verbunden. Gemäß der nachstehenden Beschreibung umfaßt der Speicherbus 134 einen Daten/Adressenbus sowie Steuerbusse zum Übertragen von Speicheroperations-Steuersignalen zwischen der MCU 132 und den MU 130.
  • Nach einer kurzen Wiederholung der vom MM 106 und vom SB 114 bearbeiteten Datenstrukturen des Systems 102 werden im Folgenden, in der angegebenen Reihenfolge, zuerst Aufbau und Arbeitsweise des MM 106, einschließlich der Speichereinheiten (MU) 130 und der Speichersteuereinheit (MCU) 132 beschrieben. Die Teile einer MU 130, die in herkömmlicher Weise aufgebaut sind und für den Fachmann gut verständlich sind, werden hier nicht in allen Einzelheiten beschrieben. Die Teile der MU 130, die für die vorliegende Erfindung von Bedeutung sind, werden jedoch im einzelnen beschrieben.
  • B.1 Datenstruktur des Systems 102
  • Wie weiter oben beschrieben, werden Informationen durch die Bauelemente des Systems 102 in logischen Einheiten in Form von Byte oder Mehrfachen davon bearbeitet und werden dementsprechend als Mehrfache eines oder mehrerer Byte organisiert. In dieser Hinsicht ist der SD-Bus 118 ein doppeiwort-breiter Bus und alle Informationsübertragungen über den SD-Bus 118 sind folglich im Doppelwort-Format (64 Bit). Der aktuelle Informationsgehalt eines solchen Doppelwort-Formats kann jedoch ein Byte, ein Halbwort (2 Byte), ein Wort (4 Byte) oder ein Doppelwort (8 Byte) sein. In solchen Fällen können die Bit des Wortes, die keine Information enthalten, mit Null-Bit aufgefüllt sein.
  • Wie weiter unten näher beschrieben wird, umfassen alle Leseoperationen aus dem MM 106 Doppelwrter, die 64 Bit Informationen enthalten, wogegen alle Schreiboperationen in den MM 106 Byte; Halbwörter, Wörter oder Doppelwörter betreffen können. In ähnlicher Weise werden Informationen in den MU 130 im wesentlichen in Doppelwort-Strukturen gespeichert.
  • Wie gerade beschrieben, sind alle Schreiboperationen im Doppelwort-Format, und der dem MM 106 über den SEC-Bus 119 zugeleitete Befehl zur Speicheroperation zeigt an, welcher Teil des Doppelwort-Formats tatsächliche Information enthält. Wie ebenfalls weiter unten beschrieben wird, entnimmt der MM 106 dann die Bit tatsächlicher Information aus dem Doppelwort- Format und schreibt sie in die korrekten Speicherplätze in der MU 130, welche durch die Schreiboperation mittels Doppelwort adressiert wurde.
  • B.2 Speichereinheiten (MU) 130 (Fig. 2)
  • Wie weiter oben beschrieben, liegen die den reellen Speicher des Systems 102 bildenden Speicherelemente in Speichereinheiten MU 130, wodurch die Größe des reellen Speichers des Systems 102 durch die Anzahl MU 130 im MM 106 und die Speicherkapazitäten der einzelnen MU 130 bestimmt ist. Das Schreiben von Informationen in die MU 130 und das Lesen von Informationen aus den MU 130 werden durch die MCU 132 gesteuert, wobei Informationen und Adressen zwischen den MU 130 und der MCU 132 durch den Speicherbus 134 übertragen werden.
  • Wie weiter oben beschrieben, enth4lt der Speicherbus 134 weitere Busse zur Übertragung bestimmter Steuersignale, z.B. einen Speichertakt, Wiederauffrischbefehle und Befehle für bestimmte spezifische Speicheroperationen, von der MCU 132 zu den MU 130.
  • Wie weiter unten beschrieben wird, sind alle Lese- und Schreiboperationen aus und in eine MU 130 Doppelwörter oder Mehrfache davon, und Informationen werden in einer MU 130 in Doppelwörtern gespeichert. Das Schreiben von Byte und Halbwörtern geschieht durch die MCU 132, die zu schreibende Byte und Halbwörter den Doppelwort-Formaten entnimmt, in denen sie vom SB 114 aus die MCU 132 erreichen, und die Byte und Halbwörter in in die MU 130 zu schreibende Doppelwörter formatiert. Wie weiter unten beschrieben wird, werden Einzelwörter durch den Schreibsteuermechanismus der MU 130 direkt in die MU 130 geschrieben.
  • Es sei weiter darauf hingewiesen, daß zwar gemäß der vorstehenden Beschreibung ein Doppelwort 64 Bit Informationen enthält, aber ein Doppelwort im MM 106, d.h. ein in einer MU 130 gespeichertes Doppelwort 78 Bit enthält, in denen die zusätzlichen 14 Bit Syndrom-Bit zur Fehlererkennung und -korrektur sind. Diese Bit werden durch die MCU 132 hinzugefügt, wenn sie Informationen in die MU 130 schreibt, und werden von der MCU 132 beim Auslesen der Informationen aus den MU 130 benutzt. Unter diesen Umständen und für die Zwecke der nachstehenden Beschreibungen wird der Ausdruck "Doppelwort" sowohl für 64 Bit breite Wörter als auch für 78 Bit breite Wörter, die Syndrom-Bit enthalten, verwendet. Die spezielle Bedeutung von "Doppelwort" an einer bestimmten Stelle in den Beschreibungen ergibt sich aus der Beschreibung und ist von dem gerade beschriebenen Bereich des MM 106 abhängig, d.h. ob die Doppelwörter auch Syndrom- ebenso wie Informationsbit enthalten.
  • Es sei ebenfalls darauf hingewiesen, daß, wie nachstehend beschrieben wird, ein in einer MU130 stehendes 78-Bit-Doppelwort strukturmäßig als ein Paar 39-Bit-Einzelwörter organisiert ist. Jedes solches Einzeiwort umfaßt 32 Informationsbit und 7 Syndrom-Bit, wobei die mit einem Einzelwort verbundenen Syndrom-Bit nur zu diesem Einzelwort statt zu dem Paar Einzelwörter gehören, die ein Doppelwort bilden. Auch hier ergibt sich die spezielle Bedeutung von "Einzelwort" oder "Wort" an einer bestimmten Stelle in den Beschreibungen aus der Beschreibung und wird von dem gerade beschriebenen Bereich des MM 106 abhängig sein, d.h. davon, ob die Doppelwörter sowohl Syndrom- als auch Informationsbit enthalten.
  • In Fig. 2 ist ein Blockschaltbild einer einzelnen MU 130 dargestellt. Gemäß Fig. 2 hat eine MU 130 einen an den Speicherbus 134 angeschlossenen 78 Bit breiten Speicher-Eingangs-Informations/Adressen-Bus (MIIA; Abk. von engl. memory input information/address) 202 zum Empfangen von Lese-Schreib- Adressen und in die MU 130 zu schreibenden Informationen. In ähnlicher Weise ist mit dem Speicherbus 134 ein 78 Bit breiter Speicher-Ausgangs-Informationen-Bus (Mol; Abk. von engl. memory output information) 204 zum Bereitstellen von aus der MU 130 an den Speicherbus 134 ausgelesenen Informationen verbunden.
  • Der MIIA-Bus 202 und der Mb-Bus 204 sind durch den Speicherbus 134 logisch und funktionsmäßig miteinander verbunden und bilden einen Eingangs-Ausgangs-Bus für eine einzelne MU 130. Die Anzahl der Verbindungen in und aus einer MU 130 ist daher bei der vorliegenden Implementierung gemäß Fig. 2 durch die interne Verbindung des MIIA-Busses 202 mit dem Mb-Bus 204 zu einem einzigen internen Bus verkleinert. Zum Verbinden sowohl des MIIA-Busses 202 als auch des Mb-Busses 204 mit dem Speicherbus 134 ist dadurch nur ein einziger Satz Busleiter erforderlich. Wie aus dieser Konfiguration hervorgeht, sind die Schreiboperationen von Informationen in die MU 130 und die Leseoperationen von Informationen aus den MU 130 verschachtelt, d.h. sie werden in getrennten Lese- und Schreibzyklen statt gleichzeitig ausgeführt.
  • Gemäß Fig. 2 sind die Informationsspeicherelemente in einer MU 130 in eine Gerade Doppelwort-Speicherebene (EWP; Abk. von engl. even word plane) 206 und eine Ungerade Doppelwort-Speicherebene (OWP; Abk. von engl. odd word plane) 208 organisiert. Die EWP 206 und OWP 208 sind identisch und symmetrisch, parallel verbunden und je ein Doppelwort breit. Wie zuvor beschrieben, sind die EWP 206 und die OWP 208 je intern als zwei parallele, ein Einzelwort breite Unterebenen mit entsprechenden Adressenplätzen in den beiden einzelwort-breiten Unterebenen organisiert, welche die beiden Einzelwörter enthalten, die in Doppelwort bilden. Das heißt, die Adresse eines Doppelwortes in entweder der EWP 206 oder der OWP 208 verweist auf zusammenpassende und entsprechende Speicherplätze in den beiden ein Einzelwort breiten Unterebenen, die entweder die EWP 206 oder die OWP 208 bilden; diese entsprechenden einzelwort-breiten Speicherplätze enthalten die beiden Einzelwörter, die zusammen das adressierte Doppelwort bilden.
  • Die EWP 206 und die OWP 208 sind in herkömmlicher Weiseaufgebaut, da sie regelmäßige Anordnungen von handelsüblichen Speicherelementen sind, deren einzelnen Plätze durch Zeilen- und Spaltenadressierung adressierbar sind und bei denen die Operationen der Speicherelement-Anordnungen durch Strobeimpulse für die Zeilen- und Spalten-Adreßübergabe und durch Schreib-Freigabeeingangssignale steuerbar sind. Es sei darauf hingewiesen, daß, wie es Fig. 2 zeigt, die die EWP 206 und die OWP 208 bildenden vier ein Einzelwort breiten Unterebenen mit getrennten Schreib-Freigabeeingangssignalen von der weiter unten beschriebenen Steuerlogik der MU 130 versorgt werden.
  • Der Adressenraum der EWP 206 und der OWP 208 ist so organisiert, daß die Adressenplätze aufeinanderfolgender Doppelwörter abwechselnd in der EWP 206 und in der OWP 208 angeordnet sind, wobei die geradzahligen Adressen in der EWP 206 und die ungeradzahligen Adressen in der OWP 208 angeordnet sind. Diese Adressenorganisation verringert die Informationsverschachtelung in der EWP 206 und der OWP 208, so daß aufeinanderfolgende Lese- oder Schreiboperationen von Doppelwörtern meistens mit EWP 206 und OWP 208 abwechselnd durchgeführt werden. Dies wiederum erhöht die Geschwindigkeit, mit der aufeinanderfolgende Doppelwort-Lese- oder -Schreiboperationen durchgeführt werden können, wodurch die Betriebsgeschwindigkeit des MM 106 erhöht und, wie weiter unten beschrieben, die zeitverschachtelte Ausführung von Leseoperationen aufeinanderfolgender Doppelwörter aus einer MU 130 ermöglicht wird.
  • In der EWP 206 und der OWP 208 werden aufeinanderfolgende gerade oder ungerade Doppelwörter in aufeinanderfolgenden Adressenplätzen gespeichert, wobei, wie weiter oben angegeben, die gepaarten Einzelwort-Speicherplätze der Unterebenen die zwei Einzelwörter enthalten, welche ein bestimmtes Doppelwort bilden.
  • Hinsichtlich der Informations-Ausgangs- und -Eingangswege der MU 130 sind die beiden 39 Bit breiten Datenausgangswege (DO; Abk. für engl. data output) der beiden die EWP 206 und die OWP 208 bildenden Unterebenen parallelgeschaltet zu Eingängen eines Ausgangs-Latchspeichers für Gerade Wörter (EWOL; Abk. von engl. even word output latch) 210 bzw. eines Ausgangs- Latchspeichers für Ungerade Wrter (OWOL; Abk. von engl. odd word output latch) 212. Die Datenausgangswege der EWP 206 und der OWP 208 sind daher funktionsmäßig 78 Bit oder ein Doppelwort breit und, wie weiter unten angegeben, werden aus EWP 206 und OWP 208 Doppelw.rter, das heißt, parallele, zusammenpassende Einzelwörter aus jeder der ein Einzelwort breiten Unterebenen von EWP 206 und OWP 208 ausgelesen. Die 78 Bit breiten Ausgänge von EWOL 210 und OWOL 212 sind parallel mit dem Eingang eines Ausgangs-Latchspeicher (OL; Abk. von engl. output latch) 214 verbunden, dessen 78-Bit-Ausgang seinerseits mit dem Speicherbus 134 verbunden ist.
  • Diese Ausgangswegestruktur, bei der jede Speicherebene einen Ausgangs-Latchspeicher hat, der seinerseits einen einzelnen, gemeinsam genutzten Ausgangsweg-Latchspeicher treibt, ermöglicht aufeinanderfolgende Doppelwort-Leseoperat ionen. Beispielsweise, und wie weiter unten in bezug auf den Adressierungsmechanismus der MU 130 beschrieben wird, kann ein einziges Adresseneingangssignal von der MCU 132 zum Lesen eines Doppelwortes je aus der EWP 206 und der OWP 208 benutzt werden, das heißt, eines geraden oder ungeraden Doppelwortes aus einer Speicherebene und das nächste, nachfolgende ungerade oder gerade Doppelwort aus der anderen Speicherebene. Diese beiden Doppelwörter werden dann gleichzeitig in EWOL 210 und OWOL 212 zwischengespeichert, und das durch die Anfangsadresse angewählte und an OL 214 weitergeleitete adressierte Wort wird seinerseits auf den Speicherbus 134 gebracht. Das nächste der aufeinanderfolgenden Doppelwörter, das im Ausgangs- Latchspeicher seiner zugehörigen Speicherebene zwischengespeichert ist, kann dann aus diesem Speicherebenen-Ausgangs- Latchspeicher ausgelesen und über OL 214 auf den Speicherbus 134 gegeben werden, ohne daß EWP 206 und OWP 208 erneut adressiert werden müssen, um dieses nächste Doppelwort zu erhalten. Somit können zwei aufeinanderfolgende Doppelwörter an den Speicherbus 134 und den SD-Bus 118 und somit an einen Anforderer mit der Datenrate der Busse gelesen werden, so daß der Anforderer einen "Burst" von zwei Doppelwörtern empfängt. Dieses Merkmal erhöht dadurch in bedeutendem Maße die Geschwindigkeit, mit der mehrere Doppelwörter aus einem Speicher zu einem Anforderer gelesen werden können.
  • Um es zu wiederholen: Mit einer einzigen Adressierungsoperation können dadurch vier aufeinanderfolgende Wörter aus einer MU 130 in einer Operation ausgelesen werden, die als Viererwort-Leseoperation bezeichnet werden kann. Bei einer solchen Operation ergibt eine einzige Adresse parallele, gleichzeitige Leseoperationen von zwei aufeinanderfolgenden Doppelwörtern je aus seiner zugehörigen Speicherebene, denen die aufeinanderfolgende Anwahl und Lesen jedes der Doppelwörter folgt. Wie weiter unten näher beschrieben wird, ermöglicht der Adressierungsmechanismus der MU 130 ferner die Ausführung mehrerer, aufeinanderfolgender Viererwort-Leseoperat ionen als Folge eines einzigen Adresseneingangssignals. Bei der vorliegenden Implementierung kann beispielsweise die Bereitstellung einer einzigen Adresse und des entsprechenden Befehls aus der MCU 132 an eine MU 130 zu zwei aufeinanderfolgenden Viererwort-Leseoperationen führen, so daß in einer einzigen Operation, die als Oktalwort-Leseoperation bezeichnet wird, acht Wörter gelesen werden. In diesem Fall empfängt der Anforderer einen "Burst" von acht aufeinanderfolgenden Wörtern. Bei anderen Ausführungsformen der vorliegenden Erfindung kann dieses Merkmal auf noch längere Doppelwortfolgen erweitert werden, je nach den funktionsmäßigen Merkmalen und Einschränkungen der Speicherleseoperationen anf ordernden Bauelemente.
  • Hinsichtlich des Eingangsweges der MU 130 ist, wie weiter oben beschrieben, der MIIA-Bus 202 der Eingangsweg zu einer MU 130 vom Speicherbus 134 und von der MCU 132 her. Wie weiter unten mit Bezug auf Operationen des MM 106 darstellende Zeitsteuerdiagramme näher beschrieben wird, werden je nach Bedarf der ausgeführten Operation Adressen und Informationen im Zeitmultiplexbetrieb an den Eingang einer MU 130 geleitet, d.h. an den MIIA-Bus 202.
  • Wie ebenfalls weiter oben beschrieben, sind die reellen Adressen im System 102 24 Bit breit, so daß von den 78 Bit des Eingangssignals der MU 130 54 nur für Informationen, dagegen 24 sowohl für Informationen als auch für Adressen benutzt werden. Bei anderen Implementierungen des Systems 102, bei denen reelle Adressen auf 31 Bit erweitert sind, werden 47 Bit des Eingangssignals der MU 130 nur für Informationen und 31 Bit sowohl für Informationen als auch für Adressen benutzt. In diesem Fall wird die nachstehende Beschreibung nur so modifiziert, daß bei bestimmten Puffer/Latch-Speichern und Bussen die Breite von 24 auf 31 Bit vergrößert ist.
  • Gemäß Fig. 2 ist der 78-Bit-MIIA-Bus 202 mit den Eingängen eines 78-Bit-Eingangspuffer/Latch-Speichers (IB; Abk. von engl. input buffer) 216 verbunden. Von den 78 Ausgangsbit des IB 216 sind die 54 Bit, die den nur für Informationen benutzten Bit entsprechen, parallel mit den entsprechenden Eingängen für 54 Informationsbit der EWP 206 und OWP 208 verbunden.
  • Die 24 Ausgangsbit des IB 216, die den sowohl für Informationen als auch für Adressen benutzten Bit entsprechen, sind mit den Eingängen eines 24-Bit-Daten-Puffer/Latch-Speichers (DB; ABK. von engl. data buffer) 218 und eines 24-Bit-Adressen- Puffer/Latch-Speicher (AB; Abk. von engl. address buffer) 220 verbunden. Gemäß Fig. 2 ist der 24-Bit-Ausgang von DB 218 parallel mit den entsprechenden Eingangsbit von EWP 206 und OWP 208 verbunden, wogegen der 24-Bit-Ausgang von AB 220 an den weiter unten näher beschriebenen Adressierungsmechanismus der MU 130 geleitet werden.
  • Wie vorstehend gerade beschrieben, können die 24 Bit, die vom IB 216 an die Eingänge von DB 218 und AB 220 geleitet werden, entweder eine 24-Bit-Adresse oder 24 Bit der 78 Bit eines in die MU 130 zu schreibenden Doppelwortes umfassen.
  • Wenn die 24 Bit einen Teil eines in die MU 130 zu schreibenden Doppelwortes bilden, puffert der DB 218 die 24 Informationsbit und gibt sie an die entsprechenden Eingänge von EWP 206 und OWP 208 weiter. Diese 24 Informationsbit werden EWP 206 und OWP 208 parallel und gleichzeitig mit den entsprechenden 54 Bit zugeleitet, die der IB 216 an EWP 206 und OWP 208 abgibt. Wenn die 24 Bit am Ausgang von IB 216 eine 24- Bit-Adresse umfassen, puffert AB 220 die 24 Adressenbit und leitet sie zum Adressierungsmechanismus der MU 130. In dieser Hinsicht sei darauf hingewiesen, daß die Hauptfunktion vom DB 218 die Verringerung der Last auf die 24 Ausgangsbit des IB 216 ist, die sowohl für Adressen als auch für Informationen benutzt werden, insofern als diese 24 Bit Eingangssignale sowohl der Speicherebenen als auch des Adressierungsmechanismus treiben müssen.
  • Mit Bezug nunmehr auf die Adressierungswege und den Adressierungsmechanismus der MU 130: Wie weiter oben beschrieben, werden Adressen an die MU 130 von der MCU 132 über den Speicherbus 134 zugeleitet, wogegen bestimmte Steuersignale, z.B. ein Speichertakt, Wiederauffrischbefehle und Befehle für bestimmte spezifische Speicheroperationen, von der MCU 132 an die MU 130 über einen internen Speichersteuerbus übertragen werden. Wie weiter unten beschrieben, ist der Adressierungsmechanismus der MU 130 entsprechend in Adressierungs-Logik und Betriebssteuerungs-Logik organisiert. Die Adressierungs- Logik befaßt sich hauptsächlich mit dem Generieren und Bereitstellen von Adressen für EWP 206 und OWP 208. Die Betriebssteuerungs-Logik kann beispielsweise Zeilen- und Spalten-Strobesignale und Schreibfreigabesignale an die EWP 206 und die OWP 208 sowie Signale bereitstellen, welche z.B. die Generierung von Adressen durch die Adressierungs-Logik bei, wie weiter oben beschrieben, der Durchführung von Mehrfachwort-Leseoperat ionen steuern.
  • Gemäß Fig. 2 weist die Betriebssteuerungs-Logik (OCL; Abk. von engl. operation control logic) 222 der MU 130 Steuereingänge auf, die mit dem Steuersignalteil des MM 106 auf dem Speicherbus 134 verbunden sind, und Adresseneingänge, die mit bestimmten der Adressenbitausgänge des AB 220 verbunden sind. Zu den Steuereingangssignalen gehören ein Speichertakt (MEMCLK; Abk. von engl. memory clock), ein Wiederauffrischbefehl (RFRSH; abk. von engl. refresh), ein Zeilenadressen- Strobesignal (RAS; Abk. von engl. row address strobe), ein Schreibfreigabe-Strobesignal (WRSTB; Abk. von engl. write strobe) und Befehle, die sich auf Leseoperationen von mehreren Doppelwörtern beziehen (MDWD; Abk. von engl. multiple double word). Ferner gehört zu den Steuereingangssignalen von der MCU 132 ein Öffnen-Befehl (OPEN), welcher der MU 130 angibt, ihren IB 216 zum Empfangen von Adressen oder Daten zu öffnen, und ODW- und DO-Befehle, die zusammen als 2-Bit-Steuercode zum Steuern des Lesens von Informationen aus EWP 206 und OWP 208 wirken. Eine erste Kombination von ODW/DO ermöglicht es beispielsweise EWOL 210 und OL 214, ein Doppelwort der geraden Ebene aus EWP 206 an den Speicherbus 134 zu lesen, wogegen eine zweite Kombination es OWOL 212 und OL 214 ermöglicht, ein Doppelwort der ungeraden Ebene aus OWP 208 an den Speicherbus 134 zu lesen. Eine dritte Kombination ODW/DO aktiviert die Dateneingangswege zu EWP 206 und OWP 208 zum Schreiben von Doppelwörtern in die Speicherebenen.
  • Wie hier dargestellt, enthält die OCL 222 eine Speichereinheits-Steuer- und -Taktlogik (MUCT; Abk. von engl. memory unit control and timing) 224, eine Adressenbereich-Logik (AR; Abk. von engl. address range) 226 und einen Adressenvergleicher (AC; Abk. von engl. address comparator) 228. Zuerst hinsichtlich der AR 226: Die AR 226 weist einen Satz interner Adressen-Überbrückungsverbindungen auf, die so eingestellt werden können, daß sie der Speicherkapazität und dem Typ der Speicherelemente der speziellen MU 130 entsprechen. Die AR 226 empfängt auch ein Eingangssignal - Endadresse Vorherig (HAP; Abk. von engl. high address previous) von der MU 130, das den nächstniedrigeren Adressenbereich enthält. Dieses HAP-Eingangssignal von der vorherigen MU 130 gibt die höchstrangige Adresse in dieser vorherigen MU 130 und somit die tiefste oder Anfangsadresse der gegenwärtigen MU 130 an. Die AR 226 enthält ein Addierglied, das in Abhängigkeit von Adresseneingaben und in Abhängigkeit von dem mit ihr durch die Überbrückungen zusammengeschalteten Adressenbereich der MU 130 eine Ausgangs-Endadresse (HA; Abk. von engl. high address) zur MU 130 mit dem nächsthöheren Adressenbereich generiert, welche die Endadresse in der gegenwärtigen MU 130 angibt. Die AR 226 liefert ferner ein Ausgangssignal an die MUCT 224, das die Kapazität der gegenwärtigen MU 130, soweit sie bestimmte Speicheroperationen betrifft, anzeigt sowie Ausgangssignale an den AC 228, welche die niedrigste und die höchste Adresse in der gegenwärtigen MU 130 anzeigen.
  • Zusätzlich zu den von der AR 226 gelieferten Informationen über Adressenbereiche empfängt der AC 228 die 24 Adressenbit vom Ausgang des AB 220 und vergleicht den in der gegenwärtigen MU 130 stehenden Adressenbereich mit jeder Adresse, die vom AB 220 kommt. Fällt eine bestimmte Adresse in den in der gegenwärtigen MU 130 stehenden Bereich, generiert der AC 228 ein Ausgangssignal an die MUCT 224, das dieses Ereignis anzeigt und dadurch eine Speicheroperation durch die gegenwärtige MU 130 auslöst.
  • Schließlich mit Bezug auf die MUCT 224: Die MUCT 224 spricht auf die vorstehend beschriebenen Eingangssignale von der AR 226 und dem AC 228 und die Steuereingangssignale von der MUC 132 an und generiert und liefert Zeittakt- und Steuersignale, die zur Steuerung der Bauelemente der MU 130 bei der Ausführung der angezeigten Speicheroperation notwendig sind. Beispielsweise generiert die MUCT 224 Zeilen- und Spaltenadressen-Strobesignale für die EWP 206 und die OWP 208, einzelne Schreibfreigabebefehle für die die EWP 206 und die OWP 208 bildenden Unterebenen sowie Freigabesignale für EWOL 210, OWOL 212, IB 216, DB 218 und AB 220. Wie weiter unten beschrieben wird, generiert die MUCT 224 auch bestimmte Steuersignale für die Adressierungs-Logik der MU 130.
  • Zusätzlich zu den internen Steuersignalen der MU 130 generiert die MUCT 224 bestimmte Steuersignale an die MU 132 zur Angabe des Betriebszustandes der MU 130. Beispiele dieser Signale umfassen ein Signal, welches angibt, daß unter den MU 130 im MM 106 eine MU 130 eine Adresse enthält, die einer durch die MCU 132 gelieferten entspricht, und die auf die angeforderte Operation reagiert, und ein Signal, das angibt, wenn die MU 130 auf diese Anforderung reagiert.
  • Da anhand der hier gegebenen Beschreibung der ausgeführten Funktionen die Auslegung einer MUCT 224 im einzelnen für den Fachmann verständlich ist, wird die MUCT 224 nicht weiter im einzelnen beschrieben.
  • Hinsichtlich der Adressierungs-Logik der MU 130 kommen gemäß Fig. 2 die Adresseneingangssignale zur EWP 206 und OWP 208 über Pfade, die von einem Zeilen-/Spaltenadressen-Multiplexer (RCAM; Abk. von engl. row/column address multiplexer) und einem Folgeadressengenerator (SAG; Abk. von engl. seguential address generator) gebildet sind. Die RCAM und SAG für EWP 206 und OWP 208 sind in Fig. 2 mit ERCAM 230 und ESAG 232 bzw. ORCAM 234 und OSAG 236 bezeichnet.
  • Gemäß Fig. 2 haben ERCAM 230 und ORCAM 234 Ausgänge, die mit den Adresseneingängen von EWP 206 bzw. OWP 208 verbunden sind, und weisen erste Eingänge auf, die mit bestimmten vom AB 220 gelieferten Adressenbit verbunden sind, und zweite Eingänge, die mit den Ausgängen von ESAG 232 bzw. OSAG 236 verbunden sind. ESAG 232 und OSAG 236 weisen ihrerseits Adresseneingänge auf, die mit bestimmten der von AB 220 gelieferten Adressenbit verbunden sind, sowie mit der MUCT 224 verbundene Steuere ingänge.
  • Wie weiter oben beschrieben, sind die Speicherelemente von EWP 206 und OWP 208 in Zeilen und Spalten von Speicherplätzen organisiert. Ihre Speicherplätze werden entsprechend durch die sequentielle Übertragung von Zeilen- und Spaltenadressen an die Adresseneingänge von EWP 206 und OWP 208 adressiert, wobei eine spezielle Kombination einer Zeilenadresse und einer entsprechenden Spaltenadresse einen entsprechenden Speicherplatz in den Speicherebenen bezeichnet. Jede solche Kombination einer Zeilenadresse und einer entsprechenden Spaltenadresse wird ihrerseits von einer 24-Bit-Adresse abgeleitet und entspricht dieser, welche am Ausgang von AB 220 erscheint, wobei ein Teil der 24 Adressenbit als Zeilenadressenbit und andere der 24 Bit zum Ableiten der entsprechenden Spaltenadressenbit benutzt werden.
  • Gemäß Fig. 2 umfassen die ersten Eingänge von ERCAM 230 und ORCAM 234, die mit den Ausgängen von AB 220 direkt verbunden sind, die Zeilenadressen von Speicherplätzen in der EWP 206 und der OWP 208. Die zweiten Eingänge von ERCAM 230 und ORCAM 234, die mit den Ausgängen von ESAG 232 und OSAG 236 verbunden sind, umfassen ihrerseits die entsprechenden Spaltenadressen der Speicherplätze in der EWP 206 und der OWP 208. ERCAM 230 und ORCAM 234 arbeiten dann mit Steuerung durch die MUCT 224, um diese Zeilen- und Spaltenadressen-Eingangssignale im Multiplexbetrieb sequentiell an die Adresseneingänge von EWP 206 und OWP 208 zum Anwählen von Speicherplätzen darin zu leiten.
  • Es wird nun die Arbeitsweise von ESAG 232 und OSAG 236 betrachtet. Wie weiter oben beschrieben, ist der Adressenraum von EWP 206 und OWP 208 so organisiert, daß die Adressenplätze von aufeinanderfolgenden Doppelwörtern abwechselnd in der EWP 206 und der OWP 208 angeordnet sind: geradzahlige Adressen in der EWP 206 und ungeradzahlige Adressen in der OWP 208. Außerdem sind aufeinanderfolgende Speicherplätze innerhalb einer Speicherebene, das heißt aufeinanderfolgende geradzahlige Adressenplätze in der EWP 206 oder aufeinanderfolgende ungeradzahlige Adressenplätze in der OWP 208, an aufeinanderfolgenden Spaltenadressenplätzen innerhalb dieser Speicherebenen angeordnet, wobei die beiden ein bestimmtes Doppelwort bildenden Einzelwörter an entsprechenden Plätzen in den Unterebenen stehen. Aufeinanderfolgende gerad- oder ungeradzahlige Adressenplätze in der EWP 206 und der OWP 208 können daher so angewählt werden, daß im wesentlichen eine einzige Zeilenadresse und aufeinanderfolgende Spaltenadressen angegeben werden.
  • Es wird zuerst das Lesen eines einzelnen Doppelwortes aus einer MU 130 betrachtet. Den beiden Speicherebenen EWP 206 und OWP 208 werden gleiche Zeilen- und Spaltenadressen zugeleitet. Diese einzige Zeilen-/Spaltenadressen-Kombination führt zu parallelen, gleichzeitigen Leseoperationen von zwei nacheinander adressierten Doppelwörtern, je von seiner zugehörigen Speicherebene und in seinen zugehörigen Speicherebene-Ausgangslatchspeicher, d.h. EWOL 210 und OWOL 212. Das niedrigstwertige Adressenbit, das normalerweise zum Identifizieren eines ungerad- oder geradzahligen Adressenplatzes in einem Speicher benutzt wird, wird dann im wesentlichen benutzt, um das spezielle adressierte Doppelwort anzuwählen und aus seinem Ausgangslatchspeicher und über den OL 214 auf den Speicherbus 134 zu lesen.
  • Das Schreiben eines Doppelwortes aus dem Speicherbus 134 in einen Platz entweder in der EWP 206 oder der OWP 208 geschieht im wesentlichen in derselben Weise. Jedoch wird bei einer Schreiboperation das niedrigstwertige Adressenbit, das entweder einen gerad- oder einen ungeradzahligen Speicherplatz anwählt, benutzt, um die Schreibfreigabe-Strobeimpulse zu den Unterebenen der Speicherebene zu aktivieren, welche den adressierten Schreibplatz enthält.
  • Die Schreiboperation eines Einzelwortes in eine MU 130 ist der eines Doppelwortes ähnlich, beinhaltet aber das Schreiben dieses Einzelwortes in eine angewählte entsprechende Unterebene der die EWP 206 und die OWP 208 bildenden Unterebenen. In diesem Falle wird das Adresseneingangssignal ebenfalls zum Anwählen entweder der EWP 206 oder der OWP 208 benutzt, abhängig von der Schreibadresse. Die Adresse wird dann ferner dazu benutzt, den Schreibfreigabe-Strobeimpuls zu der speziellen Unterebene zu aktivieren, die den der Schreibadresse entsprechenden Einzelwort-Adressenplatz enthält.
  • Wie vorstehend weiter beschrieben wurde, kann ein Einadreß- Eingangssignal aus der MCU 132 zum Lesen eines Doppelwortes aus jeder der Speicherebenen EWP 206 und OWP 208 benutzt werden, das heißt; eines geraden oder ungeraden Doppelwortes aus einer Speicherebene und des nächsten darauffolgenden ungeraden oder geraden Doppeiwortes aus der anderen Speicherebene. Bei einer solchen Operation werden den beiden Speicherebenen EWP 206 und OWP 208 ebenfalls identische Zeilen- und Spaltenadressen zugeleitet. Diese Kombination einer einzelnen Zeilen/Spaltenadresse führt auch hier zu parallelen, gleichzeitigen Leseoperationen von zwei aufeinanderfolgenden Doppelwörtern je aus seiner zugehörigen Speicherebene und in seinen zugehörigen Speicherebenen-Ausgangs-Latchspeicher, d.h. EWOL 210 bzw. OWOL 212. Als Folge eines Viererwort-Lesebefehls von der MCU 132 wählt die MUCT 224 dann die beiden Doppelwörter aus den Speicherebenen-Ausgangs-Latchspeichern und liest sie über OL 214 auf den Speicherbus 134 in der Reihenfolge, die durch die von der MCU 132 bereitgestellte Anfangsadresse angegeben ist, das heißt, zuerst ungerades Wort, wenn die Adresse ungerade war, oder gerades Wort zuerst, wenn die Anfangsadresse gerade war.
  • Die MU 130 ermöglichen ferner die Ausführung mehrerer aufeinanderfolgender solcher Viererwort (Vier-Wort) -Leseoperationen als Folge eines Einadreßeingangssignals. Bei der vorliegenden Implementierung kann z.B. die Angabe einer Einadresse und des entsprechenden Befehls von der MCU 132 an eine MU 130 zu zwei aufeinanderfolgenden Viererwort-Leseoperationen führen, so daß acht Wörter in einer einzigen Operation gelesen werden, die als Oktalwort-Leseoperation bezeichnet wird.
  • Wie vorstehend beschrieben, erfordert die Ausführung mehrerer aufeinanderfolgender Viererwort-Leseoperat ionen, z. B. einer Oktalwort-Leseoperation, die Generierung einer einzelnen Zeilenadresse und entsprechender aufeinanderfolgender Spaltenadressen. Die Generierung aufeinanderfolgender Spaltenadressen wird vorn ESAG 232 und vorn OSAG 236 durchgeführt.
  • In dieser Hinsicht sind der ESAG 232 und der OSAG 236 im wesentlichen Addierer, die als erste Eingangssignale die Spaltenadressen aus den Ausgängen des AB 220 erhalten. Die Addierer ESAG232 und OSAG 236 erhalten je zweite Eingangssignale, die eine Vielzahl festverdrahteter Adressenerhöhungen bilden, die den Bereich von Mehrfachleseoperationen darstellen, die in einer einzelnen Speicheroperation ausgeführt werden können. Wenn z.B. eine MU 130 in der Lage wäre, bis zu zwei aufeinanderfolgende Viererwort-Leseoperationen, d.h. eine Leseoperation von bis zu acht Wörtern auszuführen, würden die Addierer ESAG 232 und OSAG 236 mit festverdrahteten Erhöhungseingängen, die Erhöhungen von 0,1 und 2 darstellen, versehen sein, so daß jeder in der Lage wäre, die Adresse zu generieren, welche die vom AB 220 gelieferte Anfangsadresse (addiere 0), die Adresse eines nächsten Viererwortes (addiere 1) und die Adresse eines übernächsten Viererwortes (addiere 2) darstellt. Es sei darauf hingewiesen, daß in diesem Falle die Eingabe der Erhöhungen 0,1 und 2 in den ESAG 232 und der Erhöhungen 0 und 1 in den OSAG 236 ausreichen, um die Leseoperation von bis zu acht Wörtern aus der MU 130 zu ermöglichen.
  • Bei der vorliegenden Implementierung generieren der ESAG 232 und der OSAG 236 je gleichzeitig alle Adressen, die aus der Kombination des Anfangsadresseneingangssignals und der festverdrahteten Adressenerhöhungseingangssignale möglich sind. Beispielsweise im vorliegenden Fall, in dem eine MU 130 in der Lage ist, acht Wörter in einer einzigen Speicheroperation zu lesen, generieren der ESAG 232 und der OSAG 236 ein Adressenausgangssignal, das die Anfangsadresse (addiere 0) für eine Doppelwort-Leseoperation darstellt, ein Adressenausgangssignal, der das nächste Doppelwort (addiere 1) für eine Viererwort-Leseoperation darstellt, und ein Adressenausgangssignal, das das übernächste Doppelwort (addiere 2) für eine Acht-Wort-Leseoperation darstellt. Das Befehlseingangssignal Adressenwahl (AS; Abk. von engl. address select) von der MUCT 224 wählt, entsprechend der befohlenen Speicheroperation, die Adressenausgangssignale von ESAG 232 und OSAG 236, die zum entsprechenden Adressieren und Lesen der EWP 206 und OWP 208 notwendig sind, um aus ihnen die erforderliche Anzahl Wörter zu lesen.
  • Die erste Viererwort-Leseoperation solcher aufeinanderfolgender Leseoperationen wird in der gleichen Weise wie vorstehend beschrieben ausgeführt. In diesem Falle ist die von der MUCT 224 angewählte Adressenerhöhung Null. Die von der MUCT 224 gewählten Adressenerhöhungen für aufeinanderfolgende Viererwort-Leseoperationen, die in einer einzigen Speicheroperation auszuführen sind, werden nacheinander um eins für die zweite und weitere Viererwort-Leseoperationen der Sequenz erhöht.
  • Die Wahl von Doppelwörtern aus den Speicherebenen-Ausgangs- Latchspeichern und ihre Weiterleitung zum Speicherbus 134 werden bei jeder Viererwort-Leseoperation der Sequenz in der vorstehend für eine einzelne Viererwort-Leseoperation beschriebenen Weise ausgeführt. Die aufeinanderfolgende Generierung von Adressen durch die Wahl von Erhöhungen ermöglicht das Lesen und die Übertragung von aufeinanderfolgenden Doppelwörtern zum Speicherbus 134 und SD-Bus 118 und somit zum Anforderer mit Geschwindigkeiten bis zur Datenübertragungsrate des Busses. Auf diese Weise kann der Anforderer in einer Speicherleseoperation einen "Burst" oder eine Folge von aufeinanderfolgenden Doppelwörtern mit der Busübertragungsrate empfangen, wodurch die Rate wesentlich erhsht wird, mit der Informationen aus dem MM 106 gelesen werden können.
  • B.3 Speichersteuereinheit (MCU) 132 (Fig. 3)
  • Nach der Beschreibung des grundsätzlichen Aufbaus und der Arbeitsweise der Speichereinheiten MU 130 werden nun Aufbau und Arbeitsweise der Speichersteuereinheit MCU 132 unter Bezugnahme auf Fig. 3 beschrieben.
  • Wie zuvor beschrieben, steuert die Speichersteuereinheit (MCU) 132 das Lesen und Schreiben von Daten und Befehlen aus und in die MU 130 und bildet die Schnittstellen- und Datenübertragungs-Einrichtung zwischen den MU 130 und den anderen Bauelementen des Systems 102. Einerseits ist die MCU 132 mit allen übrigen Bauelementen des Systems 102 über den SB 114 bidirektional verbunden, der die hauptsächliche Übertragungsleitung zwischen allen Bauelementen des Systems 102 bildet. Wie weiter oben beschrieben, umfaßt der SB 114 den SA-Bus 116 zum Übertragen von Adressen, den SD-Bus 118 zum Übertragen von Informationen, d.h. Daten und Befehlen, und den SEC-Bus 119 zum Übertragen von Speicheroperationsbefehlen. Andererseits ist die MCU 132 mit den MU 130 über den Speicherbus 134 bidirektional verbunden, der Informationen und Adressen zwischen der MCU 132 und den MU 130 überträgt und über einen internen Speichersteuerbus Steuersignale zwischen der MCU 132 und den MU 130 übermittelt.
  • Gemäß Fig. 3 ist die MCU 132 hauptsächlich von Daten- und Adressenwegen zwischen dem SB 114 und den internen Bussen des MM 106. einschließlich des Speicherbusses 134, und von einer Steuerlogik für diese Wege gebildet. Deshalb wird jeder dieser Wege und seine Arbeitsweise der Reihe nach betrachtet.
  • Zuerst im Zusammenhang mit den Adressenwegen weist die MCU 132 gemäß Fig. 3 einen 24-Bit-Adresseneingang auf, der mit dem SA-Bus 116 verbunden ist und zwei internen 24-Bit-Wegen folgt. Der erste Adressenweg durch die MCU 132 ist ein gepufferter, oder zeitverschachtelt arbeitender, Weg mit einem Adressenlatchspeicher (AL; Abk. von engl. address latch) 302, einem Adressenregister (AR; Abk. von engl. address register) 304 und einem ersten Eingang eines Wiederauffrisch/Adressen- Multiplexers (RAM; Abk. von engl. refresh/address multiple- xer) 306. Der Ausgang des RAM 306 ist mit einem ersten Eingang eines Speicherbus-Ausgangs-Multiplexers (MBOM; Abk. von engl. memory bus output multiplexer) 308 verbunden, und der Ausgang des MBOM 308 ist seinerseits an den Speicherbus 134 angeschlossen. Es sei darauf hingewiesen, daß der Weg der Adressenbit durch den MBOM 308, wie vorstehend beschrieben, so organisiert ist, daß die Adressenbit auf die entsprechenden Bit des Speicherbus 134 gebracht werden, die dazu bestimmt sind, Adressen zu den Eingängen der MU 130 zu leiten. Wie weiter unten näher beschrieben wird, wird dieser Adressenweg bei gepufferten Schreiboperationen benutzt, bei denen in eine MU 130 zu schreibende Informationen in einem Latch speicher der MCU 132 gepuffert oder gehalten werden, bevor sie in eine MU 130 geschrieben werden.
  • Im wesentlichen sind alle Schreiboperationen in den MM 106 gepufferte oder zeitverschachtelte Schreiboperationen. Das heißt, die Informationen und die entsprechende Adresse werden in Registern der MCU 132 gehalten, bis eine zuvor ausgeführte oder anstehende Operation beendet ist, z.B. eine zuvor angeforderte Schreib- oder Leseoperation oder eine Speicherwiederauffrischoperation, und werden dann an die MU 130 geleitet. Diese Pipeline ist vorgesehen, um die Gesamtbetriebsgeschwindigkeit des Systems 102 zu erhöhen, insofern als eines seiner Bauelemente, z.B. eine PU 104 oder eine SBI 110, die Anforderung einer Speicheroperation an den MM 106 geben kann, wenn dieses Bauelement hierzu bereit ist, statt auf die Beendigung einer aktuellen oder anstehenden Operation des MM 106 warten zu müssen. Das anfordernde Bauelement kann dann weitere Operationen ohne Verzögerung ausführen.
  • Es sei darauf hingewiesen, daß eine gepufferte Schreiboperation auch z.B. in einer Byte- oder Halbwort-Schreiboperation auftreten kann, wenn das an dem adressierten Schreibplatz stehende Doppelwort aus der MU 130 gelesen wird, modifiziert wird, um die in es einzuschreibenden Informationen aufzunehmen, und zur MU 130 zurückgeschrieben wird.
  • Der zweite Adressenweg ist ein direkter, nicht für zeitverschachtelte Bearbeitung vorgesehener Weg vom SA-Bus 116 zu einem zweiten Eingang des MEOM 308 und wird benutzt, um Adressen direkt vom SA-Bus 116 auf den Speicherbus 134 zu geben. Dieser Weg wird z.B. benutzt, wenn keine vorher in Ausführung befindliche oder anstehende Speicheroperationen vorhanden sind. Bei einer unter diesen Bedingungen auftretenden Speicheranforderung kann dadurch die Ausführung sofort beginnen, wodurch die Geschwindigkeit erhöht wird, mit der der MM 106 auf eine solche Anforderung reagiert, und die Gesamtbetriebsgeschwindigkeit des Systems 102 verbessert wird. Auch hier sind die Bit auf diesem Adressenweg durch den MBOM 308 in derselben Weise organisiert wie der erste Adresseneingang zum MBOM 308, das heißt, daß die Adressenbit auf die entsprechenden Bit des Speicherbusses 134 gebracht werden, die dazu bestimmt sind, Adressen zu den Eingängen der MU 130 zu bringen.
  • Es sei darauf hingewiesen, daß alle an die MCU 132 gesandten Adressen im AL 302 und AR 304 zwischengespeichert werden, sogar dann, wenn eine Adresse tatsächlich auf dem direkten Weg an den MBOM 308 geleitet wird. Wie weiter unten beschrieben wird, ist dieses Puffern aller Adressen im Hinblick auf den Betrieb der Speicheränderungstabelle und des Fehlerprotokolls vorgesehen.
  • Mit nochmaliger Bezugnahme auf den ersten, zeitverschachtelten Adressenweg: Gemäß Fig. 3 ist ein zweiter Eingang zum RAM 306 an den Ausgang eines Wiederauffrisch-Adressengenerators (RAG; Abk. von engl. refresh address generator) 310 angeschlossen. Der RAG 310 generiert, wie in der Fachwelt bekannt, Speicherwiederauffrischadressen, und diese Wiederauffrischadressen werden nach Bedarf zur Speicherwiederauffrischung über den RAM 306 und den MBOM 308 an die MU 130 geleitet.
  • Es sei darauf hingewiesen, daß die Bezugszeichen 312 und 314 in der vorliegenden Beschreibung nicht angewandt werden.
  • Es werden nun die Informations-Eingangs- und -Ausgangswege betrachtet, das heißt, es werden zuerst die Wege und Operationen beim Lesen von Informations-Doppelwörtern aus den MU 130 beschrieben, danach die Eingangswege.
  • Wie weiter oben beschrieben, enthalten die innerhalb des MM 106 benutzten Doppelwörter je 78 statt 64 Bit. Von diesen 78 Bit enthalten 64 Informationen und entsprechen den 64 Bit der Doppelwortformate, die im übrigen Teil des Systems 102 benutzt werden. Die zusätzlichen 14 Bit sind Syndrom-Bit, die zur Feststellung und Korrektur von Fehlern gehören, die in den 64 Informations-Bit auftreten. Ein 78-Bit-Doppelwort ist seinerseits als ein Paar von 39-Bit-Einzelwörtern strukturiert, wobei jedes Einzelwort des Paares 32 Informations-Bit und diesen zugeordnete 7 Syndrom-Bit aufweist.
  • Gemäß Fig. 3 ist der Informationsausgangsweg innerhalb der MCU 132, der vom Speicherbus 134, d.h. von den MU 130 kommt, von einem 14-Syndrom-Bit-Weg und einem 64-Informations-Bit- Weg gebildet. Der Syndrom-Bit-Weg ist vom Speicherbus 134 mit dem Eingang eines Syndrom-Bit-Latchspeichers (SEL; Abk. von engl. syndrome bit latch) 316 verbunden und der Informations- Bit-Weg vom Speicherbus 134 mit dem Eingang eines Informations-Ausgangs-Latchspeichers (IOL; Abk. von engl. information output latch) 318.
  • Es werden zuerst die Syndrom-Bit-Wege und die Syndrom-Logik betrachtet. Gemäß Fig. 3 sind der Syndrom-Bit-Ausgang des SBL 316 und der Informations-Bit-Ausgang des IOL 318 mit Eingängen einer Paritätslogik (PL; Abk. von engl. parity logic) 320 verbunden. Die PL 320 bearbeitet die ein Doppelwort bildenden Einzeiwörter unabhängig, das heißt, bei jedem Einzelwort eines Doppelwortes überprüft die PL 320 die 7 Syndrom-Bit und die 32 Informations-Bit des Einzelwortes, um in den 32 Informations-Bit erscheinende Fehler festzustellen. Die Ergebnisse dieser Überprüfung werden an eine Syndrom-Decodierlogik (SDL; Abk. von engl. syndrome decode logic) 322 geleitet, die diese Ergebnisse decodiert und bei Feststellung eines Fehlers in den 32 Informations-Bit des einen oder des anderen Einzelwortes eines Doppelwortes nach Bedarf ein neues, korrigiertes Einzelwort generiert. Auch hier und für die Zwecke der nachstehenden Beschreibungen sei darauf hingewiesen, daß die PL 320 und die SDL 322 die ein Doppelwort bildenden Einzelwörter unabhängig bearbeiten, das heißt, sie behandeln die Einzelwörter als vollständige und getrennte Objekte. Wie weiter unten mit Bezug auf eine Einzelwort-Schreiboperation beschrieben wird, können die PL 320 und SDL 322 ein Einzelwort von selbst bearbeiten.
  • Es werden nun die Informationsausgangswege der MCU 132 betrachtet. Die 64-Bit-Informationsausgänge von SDL 322 und IOL 318, die ein neues, korrigiertes 64-Bit-Informations-Doppelwort, das von zwei Einzelwörtern gebildet ist, bzw. das Informations-Doppelwort, das anfänglich aus einer MU 130 ausgelesen wurde, bereitstellen, sind mit Eingängen eines Ausgangs-Doppelwort-Wahl-Multiplexers (ODWS; Abk. von engl. output double word select) 324 verbunden. Der ODWS 324 wählt entweder das neue, korrigierte Doppelwort aus dem SDL 322 oder das anfängliche Doppelwort aus der IOL 318 als das aus dem MM 106 ausgelesene Doppelwort, abhängig davon, ob ein Fehler in dem aus der MU 130 ausgelesenen Doppelwort festgestellt wurde.
  • Der 64-Bit-Doppelwort-Ausgang des ODWS 324 ist mit dem Eingang eines Speicherausgangs-Latchspeicher (MOL; Abk. von engl. memory output latch) 326 verbunden, und der Ausgang des MOL 326 ist seinerseits an den Eingang eines Speichersystem- Datenbus-Treibers (MSDBD; Abk. von engl. memory system data bus driver) 328 angeschlossen. Der vorn ODWS 324 gewählte Doppelwortausgang wird über diesen Weg zum SD-Bus 118 und dadurch zu dem Bauelement des Systems 102 geleitet, das die Leseoperation angefordert hat. In dieser Hinsicht sei darauf hingewiesen, daß der MOL 326 auch ein zeitverschachtelt arbeitendes Register ist, das in diesem Falle benutzt wird, um ein aus dem MM 106 gelesenes Doppelwort zu halten, bis der SD-Bus 118 frei ist und das anfordernde Bauelement zur Annahme des Doppelwortes bereit ist. Diese Zeitverschachtelung macht die Syndrom-Logik und die Wege für weitere Operationen frei, z.B. für eine nächste Leseoperation oder, wie nachstehend beschrieben, für eine Wiederauffrisch- oder Schreiboperation.
  • Bevor Schreiboperationen beschrieben werden, sei darauf hingewiesen, daß Speicherwiederauffrischoperationen im wesentlichen durchgeführt werden durch Ausführen einzelner Lese- Schreib-Operationen, bei denen die aus den MU 130 ausgelesenen Wörter in die MU 130 zurückgeschrieben statt in den SD- Bus 118 gelesen werden. Das heißt, Wörter werden aus den MU 130 ausgelesen, wobei die Informationsbit wieder in den IOL 318 geschrieben werden, wogegen die Syndrom-Bit in den SBL 316 geschrieben werden. Wenn bei einem aus den MU 130 gelesenen Wort keine Fehler festgestellt werden, wird das im IOL 318 stehende Wort gewählt, um am Ausgang des ODWS 324 zu erscheinen. Wenn jedoch ein Fehler festgestellt wird, wird vom SDL 322 ein neues, korrigiertes Wort generiert, und dieses Wort wird gewählt, am Ausgang des ODWS 324 zu erscheinen. Einzelwort-Schreiboperationen werden nachstehend beschrieben, und es sei darauf hingewiesen, daß Byte- und Halbwort- Schreiboperationen, die ebenfalls nachstehend beschrieben werden, wie Wiederauffrischoperationen, von Einzelwort- Schreiboperationen ausgehen.
  • Gemäß Fig. 3 ist der 64-Bit-Informations-Ausgang des ODWS 324 zusätzlich zur weiter oben beschriebenen Verbindung mit dem MOL 326 an einen ersten Eingang eines Informationseingangs- Multiplexers (IIM; Abk. von engl. information input multiplexer) 330 angeschlossen. Der Ausgang von IIM 330 ist seinerseits mit einem dritten Eingang des MEOM 308 verbunden, so daß entweder die 64 Informationsbit eines aus einer MU 130 gelesenen Doppelwortes oder die korrigierten 64 Informationsbit, die der SDL 322 generiert, auf den Speicherbus 134 übertragen und in die MU 130 zurückgeschrieben werden können, aus der sie gelesen wurden. Es wird darauf hingewiesen, daß, wie weiter unten beschrieben, der IIM 330 ferner in Teildoppelwort-Schreiboperationen von Byte oder Halbwörtern arbeitet, um Lese-Ändern-Schreib-Operationen durchzuführen, in denen ein Teildoppelwort Informationen in ein in einer MU 130 bereits stehendes Doppelwort eingefügt wird, um ein neues (-PROMPT-)d zu generieren, das in die MU 130 einzuschreiben ist.
  • Es sei darauf hingewiesen, daß die PL 320 einen neuen Satz von 14 Syndrom-Bit generiert, der dem in die MU 130 zurückzuschreibenden Doppelwort entspricht, wobei die 14 Syndrom-Bit von zwei Satz zu 7 Bit, je einer für jedes Einzelwort des Doppelwortes, gebildet sind. Die Generierung der Syndrom-Bit geschieht gleichzeitig mit und parallel zur Auswahl des in die MU 130 zurückzuschreibenden Doppelwortes, und diese Syndrom-Bit werden durch einen Syndrom-Ausgangs-Multiplexer (SOM; Abk. von engl. syndrome output multiplexer) 332 auf die 14 Bit des Speicherbusses 134 zur gleichen Zeit gebracht, wie die gewählten 64 Informations-Bit auf die entsprechenden 64 Bit des Speicherbusses 134 durch den MEOM 308 gebracht werden. Der 14-Bit-Syndromausgang der PL 320 und der 64-Bit-Informationsausgang des ODWS 324 bilden zusammen das 78-Bit- Doppelwort, das in die MU 130 zurückzuschreiben ist, aus der das Doppelwort anfänglich gelesen wurde. Es sei darauf hingewiesen, daß der SOM 322 mit einem mit der Steuerschaltung der MCU 132 verbunden zweiten Eingang, DIAG, versehen ist, der bei Speicherfehlersuchoperationen benutzt wird.
  • Es wird nun die Ausführung von Schreiboperationen betrachtet. Wie zuvor beschrieben, sind alle Schreiboperationen in den MM 106 im Doppelwort-Format, das heißt, Informationen, die in den MM 106 geschrieben werden sollen, werden dem MM 106 vom SD-Bus 118 in Doppelwörtern mit je 64 Bit angeboten. Der tatsächliche Informationsgehalt eines solchen Doppelwort-Formats kann ein Doppelwort sein, das sind 64 Informationsbit, oder ein Byte oder ein Halbwort (2 Byte) oder ein Wort (4 Byte) Informationen, und die Bit des Wortes, die keine Information enthalten, können mit Null-Bit aufgefüllt sein. In solchen Fällen wird das Informations-Byte, -Halbwort oder -Wort eine Position im Doppelwort-Format einnehmen, die im Doppelwort- Speicherplatz einer MU 130 der Position entspricht, in welche die Information einzuschreiben ist. Wenn beispielsweise ein Byte in einen Adressenplatz geschrieben werden soll, der dem niedrigstwertigen Byte eines Doppelwort-Platzes der MU 130 entspricht, der diesen Adressenplatz enthält, erscheint das Byte im niedrigstwertigen Byte des Doppelwort-Formats. Wie nachstehend beschrieben wird, entnimmt der MM 106 die tatsächlichen Informationsbit aus dem Doppelwort-Format und schreibt diese Bit in die richtigen Stellen im Doppelwort der MU 130, das durch die Schreiboperation adressiert wurde.
  • Es wird zuerst der Fall betrachtet, in dem das Doppelwort- Format volle 64 Informationsbit enthält: Die Doppelwörter werden direkt in die Plätze der MU 130 geschrieben, die durch die Schreiboperation adressiert wurden, wobei die einzige von der MCU 132 ausgeführte Operation die Hinzufügung der 14 Syndrom-Bit ist. Wiederum gemäß Fig. 3 werden Doppelwort-Formate, die in den MM 106 zu schreibende Informationen enthalten, vorn SD-Bus 118 aus und durch den MSDBD 328 zur MCU 132 gegeben, wobei dieser Teil des Eingangspfades zur MCU 132 mit dem weiter oben beschriebenen Ausgangspfad gemeinsam genutzt wird. Der Eingangspfad geht vorn Ausgang des MSDBD 328 zu den doppelten, parallelen 64-Bit-Eingängen eines Informationseingangs-Latchspeichers (IIL; Abk. von engl. information input latch) 334. Der IIL 334 arbeitet als doppelte, 64 Bit breite Register, um ein zeitverschachteltes Ausführen von Schreiboperationen in den MM 106 zu ermöglichen, wobei 64-Bit-Doppelwörter, die in den MM 106 zu schreiben sind, in einem der beiden 64-Bit-Register gepuffert und aus ihm gelesen werden, und zwar in der Reihenfolge, in der sie geschrieben werden sollen.
  • Gemäß Fig. 3 ist der 64-Bit-Ausgang des IIL 334 mit einem zweiten 64-Bit-Eingang des Eingangs informationen-Multiplexers (IIM) 330 verbunden. Wie vorstehend beschrieben, ist der 64- Bit-Ausgang des IIM 332 seinerseits mit einem dritten Eingang des MBOM 308 und mit dem 64-Bit-Informationseingang der PL 320 verbunden. Ein Doppelwort, das aus einem Register des Doppelregisters vorn IIL 334 abgerufen ist und am Ausgang des IIL 334 erscheint, kann daher entweder auf den Speicherbus 134 oder in die PL 320 gelesen werden.
  • Bei einer Schreiboperation wird das am Ausgang des IIL 334 erscheinende Doppelwort in die PL 320 gelesen, in der die weiter oben beschriebenen 14 Syndrom- oder Paritätsbit, die zu diesem Doppelwort gehören, generiert werden. Die 14 Syndrom-Bit werden dann über den SOM 332 und zu den 14 Syndrom- Bit des Speicherbusses 134 gelesen, wogegen die entsprechenden 64 Informationsbit aus dem ILL 334 und über den IIM 330 und den MEOM 308 auf die 64 Informationsbit des Speicherbusses 134 gelesen werden. Die von der PL 320 bereitgestellten 14 Syndrom-Bit und die 64 Informationsbit aus dem ILL 334 bilden dann das 78-Bit-Doppelwort, das in den Speicherplatz in der MU 130 geschrieben werden sollen, der durch die Schreibadresse in der Schreibanforderung angegeben ist.
  • Es wird nun die Schreiboperation eines Einzelwortes betrachtet. Wie weiter oben beschrieben, werden Einzelwörter direkt in eine MU 130 in einer Weise geschrieben, die der bei einem Doppelwort ähnlich ist. In diesem Fall enthält ein Einzelwort eines von der MCU 132 empfangenen Doppelwortformats ein Wort (32 Bit) Informationen, wogegen das andere Wort des Formats beispielsweise Null-Bit enthalten kann. Das "halbgefüllte" Doppelwort wird zu der adressierten MU 130 in derselben Weise und mit denselben Operationen durch die MCU 132 geleitet, die vorstehend im Hinblick auf ein "volles" Doppelwort beschrieben wurden. In dieser Hinsicht sei darauf hingewiesen, daß, wie vorstehend beschrieben, die PL 320 und die SDL 322 die zwei Einzelwörter eines Doppelwortes unabhängig verarbeiten, das heißt, daß sie die korrekten Syndrom-Bit für das die Informationen enthaltende Einzelwort generieren. Das "halbgefüllte" Doppelwort und die zugehörigen Syndrom-Bit, d. h., das Informationen enthaltende Einzelwort und seine zugehörigen Syndrom-Bit und das Null-Einzelwort und seine Syndrom- Bit, werden, wie vorstehend beschrieben, dem Speicherbus 134 und den MU 130 über den MBOM 308 und den SOM 332 in derselben Weise wie ein tatsächliches Doppelwort bereitgestellt.
  • Der das "halbgefüllte" Doppelwort begleitende Schreibbefehl der MU 130 wird jedoch die Operation als eine Einzelwort- Schreiboperation kennzeichnen. Die adressierte MU 130 wird dann in der weiter oben beschriebenen Weise reagieren und das die Informationen tragende Einzelwort in den adressierten Speicherplatz in der entsprechenden Unterebene ihrer EWP 206 oder OWP 208 schreiben.
  • Es wird nun die Ausführung von Teildoppelwort-Schreiboperationen beschrieben. Wie weiter oben angegeben, tritt eine Teilschreiboperation auf, wenn das dem MM 106 zugeleitete Doppelwortformat nur ein Byte oder ein Halbwort Informationen enthält. In solchen Fällen muß der Teil des Doppelwortes, der im Speicherplatz der MU 130 an der Schreibadresse gespeichert ist und den zu schreibenden Informationen entspricht, mit den zu schreibenden Informationen ersetzt werden, wogegen die übrigen Informationen in diesem Doppelwort-Speicherplatz unverändert bleiben. Dieses Ersetzen der zuvor vorhandenen Informationen durch neue Informationen wird durch eine Lese- Ändere-Schreib-Operation ausgeführt.
  • Bei einer Teuschreiboperation wird das das Byte oder Halbwort Informationen enthaltende Doppelwortformat empfangen und zwischengespeichert in einem der zwei Register des IIL 334. Zur gleichen Zeit werden die 64 Informationsbit des in einer MU 130 an der Schreibadresse stehenden Doppelwortes aus der MU 130 gelesen und im IOL 318 zwischengespeichert, wie es weiter oben im Zusammenhang mit einer Leseoperation beschrieben wurde. Die begleitenden 14 Syndrom-Bit werden, wie zuvor beschrieben, gleichzeitig im SEL 316 zwischengespeichert.
  • Auch hier verarbeiten die PL 320 und die SDL 322 das aus der MU 130 ausgelesene Doppelwort in der Weise, daß feststellbar ist, ob Fehler vorhanden sind, und daß am Ausgang des ODWS 324 ein korrigiertes Doppelwort generierbar ist, wenn Fehler festgestellt werden. Sind keine Fehler vorhanden, wird das anfängliche Doppelwort, das im IOL 318 gespeichert ist, als Ausgangssignal des ODWS 324 bereitgestellt.
  • Der den Inhalt des MM 106 an der Schreibadresse repräsentierende 64-Bit-Ausgang des ODWS 324 wird zum ersten Eingang des IIM 330 geleitet, wogegen der 64-Bit-Ausgang des IIL 334, der die zu schreibenden Informationen enthält, zum zweiten Eingang des IIM 330 geleitet wird. Die den IIM 320 bildenden Multiplexer wählen dann aus dem Ausgangssignal des IIL 334 das Byte oder das Halbwort Informationen aus, das geschrieben werden soll, und wählen aus dem Ausgangssignal des ODWS 324 die Byte des anfänglichen Wortes aus, die unverändert bleiben sollen, das heißt, die nicht den zu schreibenden Byte Informationen entsprechen. Der IIM 330 kombiniert dann diese beiden ausgewählten Gruppen Informationsbyte und erzeugt einen entsprechenden Doppelwort-Ausgang, in dem die zu schreibenden Byte die entsprechenden Byte im anfänglichen, aus dem MM 106 gelesenen Doppelwort ersetzt haben. Wie zuvor beschrieben, bleiben die übrigen Byte des anfänglichen, aus dem MM 106 gelesenen Doppelwortes und die nicht den zu schreibenden Informationen entsprechen, unverändert.
  • Das neue Doppelwort wird dann, wie zuvor beschrieben, über den MEOM 308 auf den Speicherbus 134 und an die PL 320 geleitet, welche die entsprechenden Syndrom-Bit generiert und auf den Speicherbus 134 gibt. Das neue 78-Bit-Doppelwort wird dann in den Schreibadressenplatz in den MU 130 geschrieben, wobei sie das anfänglich dort stehende Doppelwort ersetzen.
  • Mit Bezug schließlich auf die Steuerlogik der MCU 132: Gemäß Fig. 3 enthält die MCU 132 eine Speichersteuerlogik (MCL; Abk. von engl. memory control logic) 336, die zum Empfangen von Speicheroperationsanforderungen durch andere Bauelemente des Systems 102 mit dem SEC-Bus 119 verbunden ist. Die MCL 336 empfängt und decodiert die in solchen Anforderungen zugeleiteten Befehle, wie nachstehend beschrieben wird, und leitet entsprechende Steuersignale an die Bauelemente der MCU 132 und, wie weiter oben beschrieben wurde, an die MU 130 über den speicherinternen Steuerbus. Die MCL 336 liefert auch BUSY- und WAIT-Befehle (busy: belegt; wait: warte) an die übrigen Bauelemente des Systems 102, die Operationen des MM 106 anfordern. BUSY und WAIT zeigen an, daß der MM 106 den SB 114 benutzt und der SB 114 daher für andere Bauelement des Systems 102 nicht verfügbar ist bzw. daß angeforderte Daten gegenwärtig nicht aus dem MM 106 verfügbar sind, beispielsweise wegen einer zuvor anstehenden oder in Ausführung befindlichen Operation.
  • Gemäß Fig. 3 hat die MCL 336 einen ersten 4-Bit-Eingang, der zum Empfangen von 4-Bit-Speicheroperations-Befehlscodes direkt vom SEC-Bus 119 mit diesem verbunden ist. Ein zweiter 4- Bit-Eingang der MCL 336 ist mit der Pipeline verbunden, die von einem Befehls-Latchspeicher (CL; Abk. von engl. command latch) 338 und einem Befehlsregister (CR; Abk. von engl. command register) 340 gebildet ist, wobei der CL 338 einen Eingang hat, der an den SEC-Bus 119 angeschlossen und in Reihe mit dem CR 340 verbunden ist, das einen mit dem zweiten Eingang der MCL 336 verbundenen Ausgang hat. Der CL 338 und das CR 340 sind ebenfalls vorgesehen zum zeitverschachtelten Abarbeiten von Speicheroperationen und arbeiten zusammen mit den weiter oben beschriebenen Pipelinemaschinen, die von dem Doppelregister IIL 334, dem IOL 318 und dem MOL 326 bzw. den AL 302 und AR 304 gebildet sind.
  • Die detaillierte Auslegung einer Speichersteuerlogik wie der MCL 336 ist in der Fachwelt bekannt und ist für den Fachmann aufgrund der vorstehenden Beschreibungen der MU 130 und der MCU 132 und den nachfolgenden Beschreibungen der Speicheroperationsbefehle - und der die Operationen des MM 106 erläuternden Zeitsteuerdiagramrnen verständlich.
  • Die vorstehend erwähnten Speicheroperationsbefehle werden von den Bauelementen des Systems 102, die Speicheroperationen anfordern, z.B. die PU 104 oder die SEI 110, und über den SEC- Bus 119 an die MCL 336 in der MCU 132 übertragen. Bei der vorliegenden Implementierung gehören zu den Speicheroperationsbefehlen folgende:
  • Bei Leseoperationen aus dem Speicher:
  • Lese Wort - Lesen eines Einzelwortes aus dem MM 106;
  • Lese Doppelwort - Lesen eines Doppelwortes aus dem MM 106,
  • Lese Vierer-Wort - Lesen von zwei Doppelwörtern aus dem MM 106;
  • Lese Oktalwort - Lesen von vier Doppelwörtern aus dem MM 106.
  • Bei Schreiboperationen in den Speicher:
  • Schreibe Byte - Ausführen einer Teilschreiboperation mit einem Byte;
  • Schreibe Halbwort - Ausführen einer Teilschreiboperation mit einem Halbwort;
  • Schreibe Wort - Ausführen einer Schreiboperation mit einem Wort;
  • Schreibe Doppelwort - Ausführen einer Schreiboperation mit einem Doppelwort.
  • Bei Leseoperationen aus der MCU.
  • Lese MCU - Ein Diagnosebefehl zum Lesen des Inhalts der Register der MCU 132 an den Anforderer, beispielsweise an die SCU 108.
  • Bei Schreiboperationen in die MCU:
  • Schreibe MCU - Ein Diagnosebefehl zum Schreiben des Inhalts der Register der MCU 132 vom Anforderer, beispielsweise von der SCU 108; und
  • beim Speicherwiederauffrischen:
  • Wiederauffrische alle Speicher - keine Datenkontrolle; und
  • Wiederauffrische alle Speicher und kontrolliere Daten - Wiederauffrischen des Speichers und bei Bedarf Zurückschreiben korrigierter Daten.
  • In den Fig. 4A, 4B, 4C, 4D, 4E und 4F sind Zeitsteuerdiagramme dargestellt für z.B. die Leseoperation eines Wortes oder eines Doppelwortes, die Leseoperation eines Oktalwortes, die Schreiboperation eines Wortes oder eines Doppelwortes, die Schreiboperation eines Byte oder eines Halbwortes, eine Wiederauffrischung und eine Wiederauffrischung mit Korrektur des erneuerten Doppelwortes. Die in Fig. 4A bis 4F dargestellten Zeitsteuerdiagramme sind herkömmlich, und die darin angegebenen Informationen sind für den Fachmann verständlich und werden nicht näher beschrieben, ausgenommen zur Definition der in ihnen verwendeten Ausdrücke. In diesem Zusammenhang sind die Einheiten der Zeitskalen über den Fig. 4A bis 4F Nanosekunden;
  • MEMCLK: Speichertakt;
  • ENABLE MEM CMD: Freigebe Speicherbefehl, d.h. die MCU 132 soll einen Speicheroperations-Befehlscode vorn SEC-Bus 119 empfangen;
  • SYS ADDR: Systemadresse, d.h. eine Adresse wird der MCU 132 vorn SA-Eus 116 zugeleitet;
  • LATCH SYS ADDR: Latchspeicher-Systemadresse, d.h. eine Adresse ist in den Adressenregistern der MCU 132 zwischenzuspeichern;
  • ENABLE MEM DATA Freigebe Speicherdaten, d.h. das Lesen von Daten aus einer MU 130 ist freigegeben;
  • MEM DATA Speicherdaten, d.h. zum Lesen an den Anforderer stehen Daten aus dem MM 106 bereit;
  • ENABLE SYS DATA: Freigebe Systemdaten, d.h. angeforderte Daten sind gültig und sind für den Anforderer verfügbar;
  • SYS DATA: Systemdaten, d.h. die angeforderten Daten werden dem Anf orderer auf dem SD-Bus 118 zugeleitet;
  • BUSY: Definition siehe oben;
  • WAIT: Definition siehe oben;
  • VMA: Gültiger Speicherzugriff, d.h. eine angeforderte Speicheroperation ist gültig; und
  • ENABLE REF ADDR: Freigebe Wiederauffrischadresse, d.h. die MCU 132 ist aktiviert, eine Wiederauffrischadresse an die MU 130 bereitzustellen.
  • Schließlich beziehen sich die nachstehenden Kommentare auf die allgemeine und gesamte Arbeitsweise der MCU 132 und der U 130 und erläutern ferner zusammen mit den vorstehenden Beschreibungen die Gesamtarbeitsweise des MM 106.
  • Zuerst in bezug auf Schreiboperationen mit dem MM 106: Eine MCU 132 kann zwei Schreiboperationen annehmen, entweder Wort oder Doppelwort, und hält die Schreibanforderungen in den vorstehend beschriebenen Pufferregistern, bis sie ausgeführt werden können. Die MCU 132 kann ferner eine dritte Schreibanforderung auf dem Systembus 114 halten, bis die erste Schreiboperation beendet ist, wodurch sie den Systembus effektiv als Pufferspeicher benutzt.
  • Wenn ein Anforderer eine Schreiboperation auslöst, wird die Adresse der Anforderung mit der in den MU 130 stehenden höchsten Adresse verglichen. Liegt die Adresse innerhalb des gültigen Bereichs, informiert die MCU 132 den Anforderer, daß ein gültiger Speicherzugriff (VMA; Abk., von engl. valid memory access) vorgenommen wurde.
  • Führt der MM 106 eine Lese-Ändere-Schreib-Operation durch, wie sie vorstehend beschrieben wurde, und tritt ein nicht korrigierbarer Datenfehler auf, sperrt die MCU 132 das Zurückschreiben in die MU 130 und informiert die SCU 108 über das Ereignis zwecks entsprechender Fehlerbehandlung. Tritt in den an den MM 106 über den Systembus übermittelten Informationen ein Paritätsfehler auf, informiert die MCU 132 in ähnlicher Weise die SCU 108 über das Ereignis zwecks einer entsprechenden Fehlerbehandlungsoperation.
  • Hinsichtlich Leseoperationen aus dem MM 106 wird auch hier, wie vorstehend beschrieben, die vorn Anforderer angegebene Adresse mit dem im MM 106 stehenden Adressenbereich verglichen, und wenn sie gültig ist, wird der Anforderer wieder ein VMA-Signal erhalten.
  • Tritt bei einer Datenleseoperation als Folge einer Leseanforderung ein Fehler auf, hält die MCU 132 den Anforderer durch eine BUSY-Antwort, bis die Daten, wenn möglich, korrigiert sind, und leitet an den Anforderer ein VMA-Signal und die Daten. Wenn die Daten nicht korrigiert werden können, wird der Anforderer ebenso wie die SCU 108 über dieses Ereignis informiert, und der Anforderer empfängt kein VMA-Signal.
  • Schließlich erneuert die MCU 132 alle angeschlossenen MU 130 während der Wiederauffrischzeit des MM 106. Während dieser Zeit liefert die MCU 132 eine einzige Wortadresse an die MU 130 und wird, wenn eine "Übereinstimmung" zustande kommt, das entsprechende Wort an die MCU 132 lesen. Ist Wiederauffrischen mit Korrektur aktiviert, wird dieses Wort auf Fehler überprüft. Wird ein Fehler festgestellt, wird der Speicheroperationszyklus auf die Korrektur des Wortes im Speicher erweitert. Wenn der Fehler nicht korrigierbar ist, wird das Wort nicht an eine MU 130 zurückgeschrieben und die SCU 108 wird über das Ereignis unterrichtet.

Claims (7)

1. Speichereinheit (130) einer Informationsverarbeitungs anlage (102) zum Speichern von vom System zu verarbeitenden Informationen, mit:
- einer Speichereinrichtung (206, 208) zum Speichern von Informationseinheiten,
- Speichereinheit-Steuereinrichtungen (222, 230, 232, 234, 236), die in Abhängigkeit von Speicher-Lese-Anforderungen entsprechende Adressen von Speicherplätzen für Informationseinheiten in der Speichereinrichtung zu generieren vermögen,
- wobei jede Speicher-Lese-Anforderung eine Speicheradressse umfaßt und eine oder mehrere zu lesende Informationseinheiten bestimmt,
- die Speichereinrichtung (206, 208) in Abhängigkeit von den generierten entsprechenden Adressen Informationseinheiten aus den entsprechenden Speicherplätzen der Speichereinrichtung auszulesen vermag, und
- Schnittstelleneinrichtungen (202, 204, 214, 216, 218, 220) zum Verbinden der Speichereinheit (130) mit einem Speicherbus (134) und über den Speicherbus (134) mit einer von der Speichereinheit (130) getrennten Speichersteuereinheit (132) und über die Speichersteuereinheit (132) mit einem Systembus (114) der Informationsverarbeitungsanlage (102),
dadurch gekennzeichnet, daß
- die Speichereinheit-Steuereinrichtungen (222, 230, 232, 234, 236) der Speichereinheit (130)
- in Abhängigkeit von einer eine oder mehrere Informationseinheiten benennenden Anforderung eine Adressenfolge in einer einzigen Speicheroperation zu generieren vermögen, wobei die Adressenfolge mit der Anfangsadresse beginnt und eine Anzahl Adressen enthält, die der spezifizierten Anzahl Informationseinheiten entspricht,
- Adressen-Zwischenspeicher (220) zum Speichern der Anfangsadresse und Einrichtungen (232, 236) zum Inkrementieren der gespeicherten Anfangsadresse um einen Wert aus einer Vielzahl vorbestimmter, verschiedener Adresseninkrementierungswerte zum Generieren der Adressenfolge aufweisen,
- die Speichereinrichtung von einer ersten Speicherebene (206) von einer Breite von mehreren Informationswörtern gebildet ist, wobei die erste Speicherebene von einer Vielzahl Teilebenen je von einer Breite von einem Informationswort gebildet ist,
und daß
-die Speichereinrichtung ferner von einer zweiten Speicherebene (208) von einer Breite von mehreren Informationswörtern gebildet ist, wobei die zweite Speicherebene von einer Vielzahl Teilebenen je von einer Breite von einem Informationswort gebildet ist,
- die Speichereinheit-Steuereinrichtungen (222, 230, 232, 234, 236) in Abhängigkeit von jeder Speicher-Lese-Anforderung
- eine Anfangsadresse und jede zweite folgende Adresse einer Adressenfolge der ersten und der zweiten Speicherebene (206, 208) zum Lesen entsprechender Paare von Informationseinheiten aus ihnen bereitstellen, und
jede folgende Adresse einer Adressenfolge an die Speicherausgangs-Wähleinrichtung (214) zum Auswählen und Lesen der aufeinanderfolgenden Speicherinformationseinheiten einer Folge von einer oder mehreren Informationseinheiten aus der Speichereinheit bereitstellen.
2. Speichereinheit (130) nach Anspruch 1, dadurch gekennzeichnet daß die erste Speicherebene (206) Speicherplätze enthält, die aufeinanderfolgende gerade Adressen haben, und die zweite Speicherebene (208) Speicherplätze enthält, die aufeinanderfolgende ungerade Adressen haben.
3. Speichereinheit (130) nach Anspruch 2, gekennzeichnet durch
- einen ersten Ausgangs-Zwischenspeicher (210), der mit einem Informationsausgang der ersten Speicherebene (206) zum Empfangen und Speichern von aus ihr ausgelesenen Informationseinheiten verbunden ist,
- einen zweiten Ausgangs-Zwischenspeicher (212), der mit einem Informationsausgang der zweiten Speicherebene (208) zum Empfangen und Speichern von aus ihr ausgelesenen Informationseinheiten verbunden ist, und
- eine Speichereinheit-Wähleinrichtung (214), die mit dem ersten und dem zweiten Ausgangs-Zwischenspeicher (210, 212) verbunden ist und in Abhängigkeit von einer gegenwärtigen Adresse aus einem der Ausgangs-Zwischenspeicher (210, 212) eine der gegenwärtigen Adresse entsprechende Informationseinheit auszuwählen und auszulesen vermag.
4. Speichereinheit (130) nach Anspruch 3, dadurch gekennzeichnet, daß die erste und die zweite Speicherebene (206, 208) in Abhängigkeit von jeder ihnen zugeleiteten Adresse aus dem entsprechenden Speicherplatz in einer der Speicherebenen eine Informationseinheit auszulesen und in den entsprechenden Ausgangs- Zwischenspeicher (210, 212) einzulesen und gleichzeitig die Informationseinheit aus dem entsprechenden nächsten Speicherplatz in der anderen der Speicherebenen (208, 206) auszulesen und in den entsprechenden Ausgangs-Zwischenspeicher (212, 210) einzulesen vermögen.
5. Speichereinheit (130) nach Anspruch 1, dadurch gekennzeichnet, daß jede Informationseinheit von Informationsmehrfachwörtern gebildet ist.
6. Speichereinheit (130) einer Informationsverarbeitungsanlage (102) zum Speichern von vom System zu verarbeitenden Informationen, mit:
- Speichereinrichtungen (206, 208) mit wenigstens einer Speicherebene (206, 208), die Speicherplätze zum Speichern von Informationseinheiten enthalten, von denen jede von einer Vielzahl Informationswörtern gebildet ist,
- Speichereinheit-Steuereinrichtungen (222, 230, 232, 234, 236), die in Abhängigkeit von Speicher-Schreib-Anforderungen das Einschreiben von Informationen in die Speichereinheit (130) zu steuern vermögen,
- wobei jede Schreibanforderung eine Schreibanforderungsadresse und einen Schreibanforderungsbefehl enthält, der die Anzahl zu schreibender Informationswörter bestimmt,
und
- Schnittstelleneinrichtungen (202, 204, 214, 216, 218, 220) zum Verbinden der Speichereinheit (130) mit einem Speicherbus (134) und über den Speicherbus (134) mit einer von der Speichereinheit (130) getrennten Speichersteuereinheit (132) und über die Speichersteuereinheit (132) mit einem Systembus (114) der Informationsverarbeitungsanlage (102), wobei die Schnittstelleneinrichtungen Einrichtungen zum Koppeln von Speicheradressen (216, 220), Informationseinheiten (216, 218) und Speichereinheitsbefehlen (222), einschließlich einer Speicher-Schreib-Anforderung, zwischen der Speichereinheit (130) und der Speichersteuereinheit (132) aufweisen,
dadurch gekennzeichnet, daß
- jede Speicherebene (206, 208) von einer entsprechenden Vielzahl Teilebenen je von einer Breite von einem Informationswort gebildet ist,
- jeder Speicherplatz der Speicherebenen (206, 208) zum Speichern einer Informationseinheit von einem Wortspeicherplatz von jeder der Teilebenen gebildet ist,
- die Speichereinheit-Steuereinrichtungen (222, 230, 232, 234, 236)
- in Abhängigkeit von einer Schreibanforderungsadresse eine Speicherebenenadresse zu generieren vermögen, welche die entsprechende Vielzahl Teilebenen- Wortspeicherplätze benennt, die den Speicherplatz der Informationseinheit bilden, in den Informationen einzuschreiben sind, und
- in Abhängigkeit von einem Schreibanforderungsbefehl ein oder mehrere Schreibfreigabesignale zu generieren vermögen, welche die den einzuschreibenden Wörtern entsprechende Teilebene bezeichnen,
- wobei die Teilebenen in Abhängigkeit von der Speicherebenenadresse und von den Schreibfreigabesignalen die Informationen in die entsprechenden Wortspeicherplätze zu schreiben vermögen.
7. Speichereinheit nach Anspruch 6, dadurch gekennzeichnet, daß jeder Schreibbefehl bestimmen kann, ob entweder ein einzelnes Wort oder eine Informationseinheit zu schreiben ist.
DE3650642T 1985-03-19 1986-03-19 Speichermittel mit Mehrwortauslesen und Schreiben Expired - Fee Related DE3650642T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/713,365 US4716545A (en) 1985-03-19 1985-03-19 Memory means with multiple word read and single word write

Publications (2)

Publication Number Publication Date
DE3650642D1 DE3650642D1 (de) 1997-09-11
DE3650642T2 true DE3650642T2 (de) 1998-02-26

Family

ID=24865845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3650642T Expired - Fee Related DE3650642T2 (de) 1985-03-19 1986-03-19 Speichermittel mit Mehrwortauslesen und Schreiben

Country Status (6)

Country Link
US (1) US4716545A (de)
EP (1) EP0198258B1 (de)
JP (1) JP2643928B2 (de)
AU (1) AU574905B2 (de)
CA (1) CA1256217A (de)
DE (1) DE3650642T2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
US5307469A (en) * 1989-05-05 1994-04-26 Wang Laboratories, Inc. Multiple mode memory module
US5261073A (en) * 1989-05-05 1993-11-09 Wang Laboratories, Inc. Method and apparatus for providing memory system status signals
US6564308B2 (en) 1989-05-05 2003-05-13 Samsung Electronics Co. Ltd. Multiple mode memory module
US5146582A (en) * 1989-06-19 1992-09-08 International Business Machines Corp. Data processing system with means to convert burst operations into memory pipelined operations
EP0491697B1 (de) * 1989-09-11 1997-10-29 Wang Laboratories, Inc. Vorrichtung und verfahren für instandhaltung von cache/zentralspeicherkonsistenz
DE69123987T2 (de) * 1990-01-31 1997-04-30 Hewlett Packard Co Stossbetrieb für Mikroprozessor mit externem Systemspeicher
US5778423A (en) * 1990-06-29 1998-07-07 Digital Equipment Corporation Prefetch instruction for improving performance in reduced instruction set processor
US5278967A (en) * 1990-08-31 1994-01-11 International Business Machines Corporation System for providing gapless data transfer from page-mode dynamic random access memories
US5339399A (en) * 1991-04-12 1994-08-16 Intel Corporation Cache controller that alternately selects for presentation to a tag RAM a current address latch and a next address latch which hold addresses captured on an input bus
US5313475A (en) * 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5752260A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US6446198B1 (en) * 1999-09-30 2002-09-03 Apple Computer, Inc. Vectorized table lookup
KR20210031266A (ko) 2019-09-11 2021-03-19 삼성전자주식회사 인터페이스 회로, 메모리 장치, 저장 장치 및 메모리 장치의 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099231A (en) * 1975-10-01 1978-07-04 Digital Equipment Corporation Memory control system for transferring selected words in a multiple memory word exchange during one memory cycle
US4055851A (en) * 1976-02-13 1977-10-25 Digital Equipment Corporation Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle
US4126897A (en) * 1977-07-05 1978-11-21 International Business Machines Corporation Request forwarding system
DE2837709C2 (de) * 1978-08-30 1985-01-31 Standard Elektrik Lorenz Ag, 7000 Stuttgart Schaltungsanordnung zur Behandlung von Teilwörtern in Rechnersystemen
US4370712A (en) * 1980-10-31 1983-01-25 Honeywell Information Systems Inc. Memory controller with address independent burst mode capability
US4424561A (en) * 1980-12-31 1984-01-03 Honeywell Information Systems Inc. Odd/even bank structure for a cache memory
US4378591A (en) * 1980-12-31 1983-03-29 Honeywell Information Systems Inc. Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
JPS57167185A (en) * 1981-04-06 1982-10-14 Nec Corp Memory circuit
US4438493A (en) * 1981-07-06 1984-03-20 Honeywell Information Systems Inc. Multiwork memory data storage and addressing technique and apparatus
JPS58105363A (ja) * 1981-12-17 1983-06-23 Fujitsu Ltd 記憶装置
US4513372A (en) * 1982-11-15 1985-04-23 Data General Corporation Universal memory

Also Published As

Publication number Publication date
AU574905B2 (en) 1988-07-14
EP0198258B1 (de) 1997-08-06
JP2643928B2 (ja) 1997-08-25
EP0198258A3 (de) 1989-09-06
JPS61217843A (ja) 1986-09-27
AU5449186A (en) 1986-09-25
EP0198258A2 (de) 1986-10-22
DE3650642D1 (de) 1997-09-11
US4716545A (en) 1987-12-29
CA1256217A (en) 1989-06-20

Similar Documents

Publication Publication Date Title
DE68926036T2 (de) Speicherkonfiguration zur Verwendung für Schnittstellenbildung zwischen einer Systemsteuereinheit für ein Multiprozessorsystem und dem Hauptspeicher
DE3485766T2 (de) Nach dem pipelineverfahren arbeitende fehlerkorrektur.
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3650642T2 (de) Speichermittel mit Mehrwortauslesen und Schreiben
DE3588009T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE2944419C2 (de)
DE3587439T2 (de) Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher.
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE3685913T2 (de) Vektorenverarbeitung.
DE69323861T2 (de) Multiprozessorsystem mit gemeinsamem Speicher
DE3909896C2 (de)
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE3851746T2 (de) Sprungvorhersage.
DE69033131T2 (de) Logikvorrichtung und Verfahren zur Verwaltung einer Befehlseinheit in einer Pipeline-Verarbeitungseinheit
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE3689595T2 (de) Datenverarbeitungssystem.
DE69230211T2 (de) Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem
DE69030931T2 (de) Mehrfachsequenzprozessorsystem
DE2714805A1 (de) Datenverarbeitungssystem
DE2829668A1 (de) Kanaldatenpufferspeicher
DE3854369T2 (de) Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung.
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SPOTWARE TECHNOLOGIES,INC., SAN DIEGO, CALIF., US

8339 Ceased/non-payment of the annual fee