DE2705858A1 - Speichereinheit fuer datenverarbeitungssysteme - Google Patents

Speichereinheit fuer datenverarbeitungssysteme

Info

Publication number
DE2705858A1
DE2705858A1 DE19772705858 DE2705858A DE2705858A1 DE 2705858 A1 DE2705858 A1 DE 2705858A1 DE 19772705858 DE19772705858 DE 19772705858 DE 2705858 A DE2705858 A DE 2705858A DE 2705858 A1 DE2705858 A1 DE 2705858A1
Authority
DE
Germany
Prior art keywords
memory
signals
signal
control
elements
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.)
Ceased
Application number
DE19772705858
Other languages
English (en)
Inventor
Stephen R Jenkins
Thom As A Northrup
Robert E Stewart
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE2705858A1 publication Critical patent/DE2705858A1/de
Ceased 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

DIPL.-PHYS. F. ENDLICH PATENTANWALT
D - 8034 UNTERPFAFFENHOFCN 11.2.1
RS
-Y-
DIPU-PHVS. F. ENDLICH. D-0O34 UNTERPFAFFENHOFEN, POSTF.
TELEFON
PHONE
TELEORAMMADREUE CABLE ADDRESS :
TELEX: 82)730
(MÜNCHEN) ΒΛ *β SS
' PATENDUCH MÜNCHEN
Meine Akte: D-4177
Digital Equipment Corporation, Maynard, Ma., USA Speichereinheit für Datenverarbeitungssysteme
Die Erfindung bezieht sich auf ein Datenverarbeitungssystem und speziell auf eine Speichereinheit zur Verwendung in solchen Datenverarbeitungssystemen.
709833/0866
Die Offenbarung der Erfindung stützt sich hierbei auf einen Stand der Technik, wie er in den folgenden Patentanmeldungen der gleichen Anmelderin beschrieben ist:
DT-OS 2 113 890
DT-OS 2 113 891
DT-OS 2 115 993
DT-OS 2 350 884
DT-OS 2 414 121
DT-OS 2 500 721
sowie auf die US-PS 3 893 084.
Allgemein betrachtet besteht ein Datenverarbeitungssystem im wesentlichen aus drei Grundelementen, nämlich einer Zentraleinheit, einer Speicheranordnung zur Speicherung des Programms und der durch die Zentraleinheit zu verarbeitenden Daten sowie aus Eingabe-und Ausgabeeinheiten zum Informationsaustausch mit der Zentraleinheit und der Speicheranordnung. Ein wesentliches Merkmal einer Speichereinheit ist die Abhängigkeit von der Gesamtgeschwindigkeit des Systems in Verbindung mit der Speichereinheit. Wenn z.B. eine Speichereinheit einen Speicherzyklus zur Wiedergabe der Daten in 1,2 MikrοSekunden (d.i. sein charakteristisches
Zugriffsintervall) durchführt, dann ist die erforderliche Mindestzeit zur Verarbeitung eines Befehls 1,2 MikroSekunden. Da oft zwei oder mehr Speicherzyklen benötigt werden,um einen Befehl abzuarbeiten, ist die durchschnittliche Zeit zur Verarbeitung aufeinanderfolgender Befehle im allgemeinen größer als die 1,2 Mikrosekunden lange charakteristische Zugriffszeit.
709833/0866
Infolgedessen ist es notwendig, um eine größtmögliche Arbeitsgeschwindigkeit zu erhalten, das charakteristische Zugriffsintervall für die Speicheranordnung so gering wie möglich zu halten. Jedoch wachsen grundsatzlich die Kosten pro Speicherplatz, wenn die Zugriffszeit verringert wird. Deshalb kann die Gesamtheit der Speicher nicht aus schnell schaltenden Elementen aufgebaut werden, weil die Speicherkosten sonst unverhältnismäßig hoch würden.
Eine Speicheranordnung für Datenverarbeitungssysteme soll deshalb verschiedene Typen von Speichereinheiten enthalten, welche unterschiedliche Charakteristiken aufweisen. Jeder Typ hat spezielle Charakteristiken, welche diesen für spezifische Anwendungen geeignet macht. Im allgemeinen enthält ein digitales Datenverarbeitungssystem eine Direktzugriffs-Speichereinheit. Die zur Abfrage einer Information notwendigen Zeit von einem Direktzugriffspeicher ist abhängig bon dem Speicherplatz der Information, welche unmittelbar vorher abgefragt wurde. Solche Speichereinheiten bestehen aus magnetischen Kernen oder Festkörpereinrichtungen als Speicherelemente. Magnetkernspeichereinheiten sind allgemein üblich, da sie zuverlässig sind und die Daten auch beim Ausfall der Stromversorgung speichern. Ihre übliche Zugriffszeit beträgt 1 oder 2 Mikrosekunden, Halbleiter-Direktzugriffspeichereinheiten sind bedeutend schneller als Magnetkerneinheiten und haben Zugriffszeiten in der Größenordnung von einigen hundert Nanosekunden. Jedoch benötigen sie eine dauerhafte Stromversorgung, um die Daten zu speichern. Sofern die Stromversorgung unterbrochen wird, geht der Speicherinhalt verloren. Beide Arten von Direktzugriffspeichereinheiten sind in etwa gleich teuer und in einigen
-4-
709833/0866
■'" 2705058
'4Φ-
Datenverarbeitungssystemen bilden sie die Gesamtheit der Speicheranordnung. Zugriffsspeichereinheiten mit direktem Zugriff umfassen üblicherweise auch Platten-1 xmd Trommelspeichereinheiten. Die charakteristische Zugriffszeit von diesen Einheiten ist niedriger als die von wahlfreien Zugriffsspeichereinheiten und liegt im allgemeinen in der Größenordnung von Millisekunden. Diese Speichereinheiten sind jedoch geeignet, zur Speicherung relativ großer Datenmengen und ihre Kosten liegen wesentlich unter den Kosten von Speichern der erstgenannten Typen. Im allgemeinen werden derartige Speicher als Ergänzung zu den Zentralspeichereinheiten verwendet. Bei vielen Speicheranordnungen werden die Inhalte von zwei Speichereinheiten regelmäßig ausgetauscht, um eine möglichst rasche Datenverarbeitung in Verbindung mit einem kleinen DirektzugriffSpeichereinheit zu ermöglichen.
Speichereinheiten mit sequentiellen Zugriff, wie beispielsweise Magnetbandspeicher stellen einen anderen Typ von Speichereinheiten dar. Diese Speichereinheiten werden oft als Archivspeicher verwendet, oder um eine "Kopie" des Inhalts von freien Zugriff- oder Direktzugriffspeichereinheiten zu bilden. Sie haben wesentlich längere Zugriffsintervalle als direkt ansteuerbare Speichereinheiten. Die Speicherkosten jedoch sind wesentlich niedriger.
Wie vorstehend aufgezeigt, kann eine bestimmte Speicheranordnung in einem Datenverarbeitungssystem zwei oder mehr von diesen Speichereinheiten in Kombination aufweisen. Eine typische Speicheranordnung kann eine Magnetkern-Speichereinheit und eine Direktzugriff-Speichereinheit enthalten.
-5-
709833/0866
-/t/i.
Eine modernere Zusammenstellung enthält eine Halbleiterspeichereinheit und eine Magnetkernspeichereinheit. Ein derartiges System ist in der US-Patentanmeldung 461,752 v. 17.4.1974 beschrieben. Bei diesem System wird die Zentraleinheit mit verschiedenen Eingabe- und Ausgabeeinheiten und einem Magnetkernspeicher über asynchron arbeitende Verbindungsleitungen verbunden. Die Zentraleinheit übertragt auch Daten zu und von der Halbleiterspeichereinheit über eine zweite Datenleitung, um die Arbeitsgeschwindigkeit zu erhöhen. Die HalbleiterSpeichereinheit hat eine ausreichende Kapazität, um ein komplettes Programm zu einen abgeschlossenen Teil von solch einem Programm zu speichern.
Jeder der vorgenannten Speichereinheiten überträgt die Daten zu und von einem Speicherplatz, welcher durch ein Adressensignal identifiziert wird. Ein anderer Typ einer Speichereinheit ist ein sogenannter assoziativer oder inhaltadressierter Speicher. Bei einer solchen Speichereinheit wird ein Speicherplatz aufgrund des Inhalts ausgewählt und nicht auf der Basis seiner Adresse. Assoziative Speichereinheiten werden für die verschiedensten Verwendungen angewendet.Beispielsweise enthält in einem System, welches mit virtuellen Adressen arbeitet, jeder Speicherplatz eine virtuelle Adresse und eine entsprechende Adresse für den tatsächlichen Platz. Solch-ein System ist in der vorgenannten US-PS 3,893,084 beschrieben.
Andere System verbinden eine Speichereinheit mit assoziativen Zugriff mit einer "Notizblock-Speichereinheit" zum Speichern von kleinen Teilprogrammen. Immer, wenn die Zentraleinheit eine Speicheradresse während eines Abfragezyklusses ausgibt, sucht die Speichereinheit mit assozia-
-6-709833/0866
•η.
tivem Zugriff festzustellen, ob eine Adresse eines eigenen Speicherplatzes wiedergegeben ist. Wenn dies der Fall ist, werden die entsprechenden Daten, welche in dem entsprechenden Speicherplatz in der Speichereinheit enthalten sind, unmittelbar zur Zentraleinheit übertragen. Sofern die Speichereinheit nicht die bezeichnete Adresse enthält, werden die Inhalte von diesen Platz in der Speichereinheit mit freiem Zugriff plus den Inhalten von einem Block von aufeinanderfolgenden Plätzen und die Adressen von diesen Plätzen übertragen zu der Speichereinheit mit assoziativem Zugriff. Diese Speicheranordnung kann die Gesamtgeschwindigkeit der Speicher verbessern, weil, da die Speicher in der Speichereinheit mit assoziativem Zugriff erhalten werden mit der Geschwindigkeit eines HalbleiterSpeichers, gearbeitet wird.
Mit bestimmten Kombinationen von Speichereinheiten können kürzere Zugriffsintervalle erhalten werden durch andere Verfahren. Z.B. kann die Speicheranordnung Speichereinheiten aufweisen, welche in getrennte Elemente oder Bereiche so unterteilt sind, daß sequentielle Speicherzyklen in verschiedenen Elementen "überlappt" werden können. Eine solche Speicheranordnung ist in der DT-OS 2 414 121 beschrieben und enthält Speichereinheiten von unterschiedlichen Zugriffsintervallen, welche alle mit einer gemeinsamen Speichersammelleitung verbunden sind. Da jedoch getrennte Speicher «-Abruf Steuer signale erfordert werden, muß das Programm für die Zentraleinheit bestimmen, welches Wiedergabesignale für den Speicher ausgesendet werden muß, um einen Speicherzyklus auszulösen.
Aufgabe der Erfindung ist es, eine Speicheranordnung für Datenverarbeitungssysteme anzugeben, welche eine überlappen-
—7 —
709833/0866
de übertragung ermöglicht, ohne die Anwendung von multiplexen Steuersignalen.
Dabei soll die Speicheranordnung unterschiedliche Arten von Speichereinheiten aufweisen, welche in einer besonders preisgünstigen Weise kombiniert sind.
Hierbei kann gemäß der Erfindung die Speicheranordnung Speichereinheiten mit frei wählbaren Zugriff mit unterschiedlichen Zugriffszeiten enthalten, welche gemäß einer vorteilhaften Weiterbildung für eine ineinandergeschachtelte Arbeitsweise ausgerüstet sind.
Gemäß der Aufgabenstellung soll die Speichereinheit auch Magnetkernspeichereinheiten aufweisen, welche eine durchschnittliche Zugriffszeit haben, welche geringer ist als die Zugriffszeit für Magnetkernspeichereinheiten.
Diese Aufgabe wird mit einer Speicheranordnung gemäß dem Oberbegriff des Anspruches 1 mit den Merkmalen des Patentanspruches 1 gelöst.
In Obereinstimmung mit der Erfindung enthält eine Speichereinheit für ein Datenverarbeitungssystem einen Speicherblock mit assoziativen und mit einem frei wählbaren Direktzugriff. Sofern Daten von der Speicheranordnung benötigt werden, werden Adressensignale zu der Speicheranordnung gegeben. Sofern die Speichereinheit mit assoziativen Zugriff die angegebene Adresse in einem Adressenspeicher enthält, liefert sie die gewünschten Daten. Wenn die entsprechenden Daten nicht in dem assoziativen Speicher sind und wenn eine Obertagung der Daten von dem Speicher durchgeführt wird, steuert die Spei-
709833/0866
chereinheit mit assoziativem Zugriff eine asynchrome Obertragung von oder zu einem Platz in dem Speicherbaustein.
Während einer übertragung zu oder von einem Speicherbaustein wird ein Bestätigungssignal durch den Baustein während einer vorbestimmten Zeitdauer seiner Belegung erzeugt. Dieses Signal ermöglicht dem oatenverarbeitungssystem eine Folgespeicheroperation auszulösen. In Obereinstimmung mit einem Merkmal von dieser Erfindung jedoch überträgt der Speicherbaustein ein weiteres Steuersignal,während eines ersten Teiles der Speicheroperation um,Daten von dem Speicherbaustein zu übertragen. Dieses Steuersignal blockiert das Betätigungssignal irgend eine Folgespeicheroperation auszulösen.
Gemäß einem weiteren Merkmal nach der Erfindung können die Speichereinheiten Speicherelemente oder Stapel aufweisen, welche unterschiedliche Zugriffscharakteristiken haben. Ein Steuergerät in jeder Einheit ermöglicht unterschiedliche Arbeitsweisen, um die Richtigkeit der von dem assoziativen Speicher empfangenen Adressen zu überprüfen und die notwendigen Steuersignale zur Durchführung der gewünschten Operation zu erzeugen. Diese Operationen können eine Adressen- und Steuersignal-Parity-Check-Oberprüfung, eine Adressendekodieroperation, um die Existenz eines adressierten Speicherplatzes in einer bestimmten Speichereinheit zu überprüfen, und eine Ausblendoperation beinhalten, um bestimmte Daten-Byts in einem Speicherplatz zu verändern ohne Veränderung anderer Byts in der gleichen Stelle.
Daraus ergibt sich zusammengefaßt, daß die Erfindung eine Speicheranordnung für digitale Datenverarbeitungssysteme
-9-
709833/0866
betrifft, welche assoziative Schnellspeichereinheiten und Direktzugriffaustausch-Speichereinheiten enthält. Jedesmal wenn eine Zentraleinheit eine Operation auslöst um den Inhalt von einem Speicherplatz zu sich übertragen, erteilt sie eine Adresse. WEnn die assoziative Speichereinheit, welche die Daten von einem von den Plätzen in der Austauschspeichereinheit enthält, entsprechende Daten erhält, führt es einen Lesezyklus durch und überträgt die Daten direkt an die Zentraleinheit. Wenn die Daten nicht verfügbar sind, oder wenn die Zentraleinheit Daten überträgt zu dem adressierten Platz, die Speichereinheit mit assoziativem Zugriff veranlaßt die Austauschspeichereinheit einen entsprechenden Arbeitszyklus abzuarbeiten und dabei die entsprechenden Speicherplätze sowohl in der assoziativen als auch rider Austauschspeichereinheit aufzurufen. Andere Speichereinheiten und Eingabe- und Ausgabeeinheiten arbeiten mit dem Austauschspeicher und dem assoziativne Speicher zusammen. Z.B. kann eine zweite Speichereinrichtung Daten zu den Plätzen in dem Austauschspeicher übertragen. Wenn der assoziative Speicher einen entsprechenden Speicherplatz enthält, werden die Inhalte in diesem Platz modifiziert, um anzuzeigen, daß die Daten in dem Speicherplatz verändert wurden.
Die Erfindung ist im einzelnen in den anliegenden Patentansprüchen gekennzeichnet. Einzelheiten, weitere Merkmale und deren Vorteile werden im folgenden anahnd eines Ausführungsbeispieles in Verbindung mit den anliegenden Zeichnungen erläutert. In diesen Zeichnungen zeigen:
Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems, welches eine Speicheranordnung gemäß der vorliegenden Erfindung umfaßt,
709833/0866
Fig. 2 zeigt die gegenseitige Zuordnung der Steuersignale, welche zwischen der Zentraleinheit und dem assoziativen Speicher gemäß Fig. 1 auftreten,
Fig. 3 zeigt den Verlauf der Steuersignale, welche zwischen einem Hauptsammelleitungs-Abbildungskreis und dem assoziativen Speicher nach Fig. 1 auftreten,
Fig. 4 zeigt die Signale/ welche zwischen einem Hochgeschwindigkeitssteuergerät und dem assoziativen Speicher auftreten,
Fig. 5 gibt die Signale wieder, welcher zwischen einem freien Zugriffsspeichermodule und dem assoziativen Speicher fließen,
Fig. 6 ist ein Blockdiagramm eines SpeicherSteuerteils der Zentraleinheit gemäß Fig. 1,
Fig. 7 ist ein Blockdiagramm des Hauptsammelleitungs-Abbildungskreises nach Fig. 1,
Fig. 8 ist ein Blockdiagramm des assoziativen Speichers,
Fig. 9 ein detailliertes Blockdiagramm eines Teiles des assoziativen Speichers nach Fig. 8,
Fig.10 ist ein detailliertes Blockdiagramm eines Teiles des
Steuerkreises für den assoziativen Speicher nach Fig.8 und enthält Figuren 10A, 10B und 10C,
-11-
709833/0866
Fig. 11 zeigt ein Speichersteuergerät,
Fig. 12 ein detailliertes Schaltkreisdiagramm des Startspeicherkreises nach Fig. 11,
Fig. 13 ein detailliertes Schaltkreisschema eines Lesebefehlkreises nach Fig. 11,
Fig. 14 schematisch einen detaillierten Schaltkreis eines Randdekodierkreises in Fig. 11,
Fig. 15 ein Zeitdiagramm, welches die Zeitsignale darstellt, die zwischen einem Speichersteuergerät und einem Speicherstapel in Fig. 11 während einer übertragung von dem Speichermodul zu dem assoziativen Speicher auftreten,
Fig. 16 ein Zeitdiagramm, welches die Taktsignale wiedergibt, die zwischen einem Speichersteuergerät und einem Speicherstapel nach Fig. 11 während einer übertragung von dem assoziativen Speicher zu dem Speichermodule auftreten,
Fig. 17 ein Zeitdiagramm das die Zeitsignale wiedergibt, die übertragen werden zwischen einem Speichersteuergerät und einem Speicherstapel während dem Auswechseln des Inhalts von einer Zelle in dem assoziativen Speicher und der Inhalte der Speicherzelle in dem Speichermodul.
Fig. 18 ist ein detailliertes Schaltkreisdiagramm von einem Adressendekoder wie er in den Fig. 7 aufgenommen ist; die Fig. 18 umfaßt die Figuren 18A und 18B,
709833/0866
Fig. 19 ist eine detaillierte Schaltkreisbeschreibung eines Grenzwertvergleichskreises in Fig. 7 und
Fig. 20 ist ein vereinfachtes Diagramm der Schaltungsanordnung, welche mit einer Datenbitstelle in einem Stapelspeicher verbunden ist und die entsprechenden Elemente in dem Speicherübertrager der Fig. 1.
Für die folgenden Ausführungen erscheint es zweckmäßig, einzelne bestimmte Begriffe zu definieren. Unter einem "Bit" wird eine Binärziffer verstanden. Ein "Byte" ist eine festgelegte Menge von aufeinanderfolgende Binärziffern, beispielsweise ein 8-Bit-Byte. Ein "Wort" ist ein geordneter Satz von Bytes, welches einen Speicherplatz belegt und das als Einheit durch die Zentraleinheit verarbeitet wird. Bei der spezifischen Ausführungsform des Systems, wie es in Fig. 1 dargestellt ist, arbeitet die Zentraleinheit mit einen 16-Bit-Wort, welches aus zwei 8-Bit-Bytes zusammengesetzt ist.
In den einzelnen Zeichnungen wird ein Signal als "vorhanden" angesehen, wenn ein positives Potential anliegt und als "nichtvorhanden" wenn "Erd"-Potential vorhanden ist. Jedoch verwenden übliche Datenverarbextungssysteme zur Informationsdarstellung "Erdpotential" auf den Verbindungsleitungen, so daß Inverter vorgesehen sind, um Signale mit "Erdpotential" auf den Leitungen und positive Anwesenheitssignale für die anderen Kreise zu bilden. Diese Inverter sind gezeigt,aber nicht gekennzeichnet in den Zeichnungen.
Der Ausdruck "Speicherzyklus" enthält eine Folge von Ereignissen, welche auftreten, wenn eine Information übertragen wird zu oder von einem Speicher. Die Dauer eines Speicherzyklusses
-13-709833/0866
zur Wiedergewinnung von Daten aus dem Speicher wird mit "charakteristischem Zugriffsintervall" bezeichnet.
Im folgenden wird nun anhand der Fig. 1 eine Ausführungsform von dem Datenverarbeitungssystem beschrieben, welche den Erfindungsgegenstand realisiert. Das Grundelement in diesem System bildet ein Prozessorsystem 20 als Zentraleinheit, welche einen Zentralprczessor 21, eine Speicherverwaltungseinheit 22, ein Hauptsammelleitungsregister 23 und einen assoziativen Speicher 24 als Arbeitsspeicher umfaßt. Periphere Einrichtung(en) 25 und Datenstation(en) 26 sind als Beispiele für Eingabe- und Ausgabeeinrichtungen dargestellt, welche mit den Zentralprozessor 21 über eine Hauptsammelleitung 27 verbunden sind. Der Aufbau und die Arbeitsweise des Zentralprozessors 21 und die Verbindungen mit den peripheren Einrichtungen 25 und Datenstationen 26 über die Hauptsammelleitung 27 sind in den vorerwähnten Schriften DT-OS 2 113 890, DT-OS 2 113 891 und DT-OS 2 115 993 beschrieben.
Der assoziative Speicher 24 enthält nur wenige Speicherplätze, z.B. 1024 zum Speichern von Dateni
Die übertragung der Daten zwischen dem Zentralprozessor 21 und dem assoziativen Speicher 24 wird analog zu der in der vorgenannten US-Patentanmeldung 461 725 beschriebenen Weise durchgeführt.
Die Fig. 2 zeigt die entsprechenden Signale und ihre gegenseitige zeitliche Lage. Der Zentralprozessor 21 zeigt ein BUST-Signal, um einen Speicherzyklus auszulösen von der Art, wie er angezeigt wird durch CO und C1 Steuerbits. Nachdem das BUST-Signal abgegeben ist, werden die Steuersignale und die Adressensignale und, sofern ein Schreibzyklus gewünscht wird,
-14-
709833/0866
die Datensignale zu dem assoziativen Speicher 24 übertragen. Da aufeinanderfolgende SpeicherZyklen überlappt werden können, ist es möglich, einen Speicherzyklus auszulösen und erst später festzulegen, ob die Programmfolge geändert wird. Der Zentralprozessor 21 überträgt an den assoziativen Speicher ein Control OK - (Steuerung in Ordnung) - Signal, wenn der Speicherzyklus fortgesetzt werden soll. Darauf werden die Operationen in den Zentralprozessor beendet, bis der Speicherzyklus vervollständigt ist. Nach einer Verzögerung, während die Schreiboperationen erfolgt oder die Daten abgefragt werden, überträgt der assoziative Speicher 24 an den Zentralprozessor 21 ein MEM SYNC-Signal. Dieses Signal ermöglicht den Prozessor erneut zu starten. Während eines Lesezyklus veranlaßt das MEM SYNC-Signal den Zentralprozessor 21 die Daten in einem Zwischenregister zu speichern.
Weitere Signale, welche zwischen dem Zentralprozessor 21 und dem assoziativen Speicher auftreten beinhalten Datensicherungssignale sowie ein BEND-Signal, welches der Prozessor verwendet, um einen Speicherzyklus, welcher durch ein BUST-Signal ausgelöst wurde, abzubrechen.
In Fig. 1 sind Speicherbausteine 30 bis 33 (Speichermodule) dargestellt, welche den Hauptarbeitsspeicher darstellen und eine Vielzahl von Magnetkernspeicherplätzen umfassen. Die Speicherverwaltungseinheit 22 erhält die "virtuellen" Adressen von den Zentralprozessor 21 und ergänzt die Zahl der Bits in jeder Adresse, um einen tatsächlichen Speicherplatz zu definieren. Beispielsweise ergänzt die Einheit 22 bei einer bestimmten Ausführungsform eine 18-Bit-Adresse von dem Zentralprozessor 21 zu einer 22-Bit-Adresse.
-15-
709833/0866
.ti.
Die peripheren Einrichtungen und Datenstationen 25 und 26 sind ebenfalls direkt mit dem Direktzugriffspeicher in diesem System verbunden. Wie in der vorgenannten DT-OS 2 115 beschrieben, werden Übertragungen über die Hauptsammelleitung 2.2 durchgeführt, wenn der Zentralprozessor 21 oder eine von den peripheren Einrichtungen 25 oder Datenstationen 26 die Steuerung der Hauptsammeileitung 27 übernimmt und eine "Master-Station" wird. Irgend eine Einheit, welche Master-Station wird,enthält die notwendigen Schaltkreise zur übertragung von Adressensignalen, um eine mitgezogene Einheit zu bestimmen und verschiedene Signale über die Leitung zu geben, um eine Lese- oder Schreiboperation mit der mitgezogenen Einheit auszulösen. Jedoch bestimmen die von der Master-STation über die Hauptsammelleitung 27 übertragenen Adressen nicht einen einzigen Speicherplatz in den Speicherbausteinen. Das Hauptsammelleitungsregister 23 bildet die notwendige Adressenverbindung. Dies wird in weiteren Einzelheiten später erläutert.
Die Mastereinrichtung überträgt, vgl. Fig. 1 und 3, über die Hauptsammelleitung 27 Adressignale A, CO-und C1-Richtungssteuersignale C und, wenn die Übertragung zu einem Speicher erfolgt, Datensignale D. Anschließend überträgt die Master-Station ein MSYN-Signal, welches das Hauptsammelleitungsregister 23 veranlaßt ein ENBUS-Signal zu übertragen und ein erdbezogenes UB REQUEST-Signal, das den Speicherzyklus, welcher durch die CO und C1-Signale bestimmt ist über die Hauptsammeileitung 27 auslöst. Sofern der assoziative Speicher 24 einmal einen Speicherzyklus auslöst, überträgt er ein grundbezogenes ACKN-Signal, welches das ÜB REQUEST-Signal verschiebt zu einem nichtbezogenen oder positiven Pegel. Nachdem der Speicherzyklus abgeschlossen ist,
-16-709833/0866
überträgt der assoziative Speicher ein DONE-Signal, tun anzuzeigen, daß der Speicherzyklus vollendet wurde. In dem Fall einer übertragung zu der Master-Station nimmt das Hauptsainmelleitungsregister 23 Daten im Anschluß an das DONE-Signal auf und vervollständigt die übertragung zu der Master-Station durch übertragung eines SSYN-Signals über die Hauptsammelleitung 27.
Das in Fig. 1 gezeigte System erlaubt auch die Verwendung von Direktzugriffsspeichereinheiten wie Platten oder Trommelspeicher. Zwei derartige Einrichtungen sind dargestellt. Einmal ist ein Schnellsteuergerät 34 verbunden mit der Hauptsammelleitung 27 und mit dem assoziativen Speicher 24 und dieses Gerät ist auch verbunden mit einem oder mehreren Hilfsspeichereinrichtungen 35. Ein entsprechendes Schnellsteuergerät 36 und Hilfsspeichereinrichtung sind ebenfalls in der Fig. 1 gezeigt. Schnellsteuergeräte und Hilfsspeichereinrichtungen, wie sie in der vorgenannten DT-OS 2 500 721 beschrieben sind, können einzeln angepaßt werden zur Verwendung in dem vorliegenden System. Wie in der genannten Offenlegungsschrift beschrieben, enthält das Steuergerät synchrone und asynchrone Datenwege. Die asynchronen Datenwege sind in diesem System mit der HauptSammelleitung 27 und die synchronen Datenwege mit dem assoziativen Speicher 24 verbunden.
Die Fig. 4 zeigt die Signale, welche zwischen einem Schnellsteuergerät, wie beispielsweise dem Steuergerät 34 und dem assoziativen Speicher 24 über die verschiedenen Adress(A)-, Steuer(C)-und Daten(D)-Leiter geführt werden. Sofern das Schnei!steuergerät 34 vorbereitet wird,um Daten zu oder von einer bestimmten Speichereinheit, der Einheiten 30 bis 33 zu übertragen, gibt es ein CTRL REQ-Signal. Ein
709833/0866 ~17~
•tt.
Auswahlkreis innerhalb des assoziativen Speichers 24 wählt einen der Schnellsteuergeräte aus, wenn zwei oder mehr Steuergeräte das CTRL REQ-Signal gleichzeitig übertragen. Der assoziative Speicher 24 überträgt dann zu dem ausgewählten Steuergerät ein entsprechendes SEL ADRS-Signal zurück. Das Steuergerät 34 übermittelt dann die verschiedenen Adressen- und Steuersignale an den assoziativen Speicher 24, welche zur Durchführung der Datenübertragung notwendig sind. Diese Signale umfassen Adressignale und Richtungssignale, um festzulegen, ob eine übertragung von oder zu einem Speicherbaustein erfolgen soll. Ein SEL DATA-Signal wird dann übertragen durch den assoziativen Speicher 24 an das entsprechend ausgewählte Schnellsteuergerät, um dieses in die Lage zu versetzen, Daten und Parity Bits an den assoziativen Speicher 24 zu übertragen. Soll eine Übertragung zu dem Steuergerät erfolgen, ignoriert dieser das SELDATA-Signal. Als nächstes überträgt der assoziative Speicher ein REQ ACKN-Signal als Anforderungs-Bearbeitungsbeginn. Das ausgewählte Schnellsteuergerät arbeitet sein CTRL REQ-Signal von der Sammelleitung ab in Übereinstimmung mit dem REQ ACKN-Signal. Sobald das REQ ACKN-Signal, welches von dem Schnellsteuergerät empfangen wird, beendet ist, wird die Gültigkeit der Adressen-, Steuer- und, sofern Daten eingeschrieben werden, der Datensignale abgeschlossen. Der assoziative Speicher 24- überträgt an das Schnellsteuergerät 34 auch ein ADRS ACKN-Signal abhängig von einem ACK-Signal (wie später beschrieben wird) von einem Speichermodul. Dies zeigt dem ausgewählten Schnellsteuergerät an, daß eine von den Speichermodulen 30 bis 33 angesprochen ist und, während einer übertragung zu dem Speichermodul zeigt es, daß die laufende Übermittlung abgeschlossen wurde. Sofern Daten abgerufen werden von dem ausgewählten Speichermodul, überträgt der assoziative Speicher 24 ein DATA RDY-Signal, um die Leseoperation in dem Schnellsteuergerät auszulösen.
709833/0866 -18-
Auf diese Weise dient der assoziative Speicher 24 als gemeinsames Element in der Verbindung mit dem Speicher. Darüberhinaus kann jede einzelne mit der Hauptsammelleitung verbundene Einheit verknüpft werden mit den Speicherbausteinen 30 bis 33 über den assoziativen Speicher 24. Solch eine übertragung tritt auf, während irgendeiner übertragung zu einem Speicherbaustein (nachfolgend einer Einschreiboperation) oder während eines Auslesevorgangs, welche durch eine Master-Station oder ein Schnellsteuergerät oder auch durch den assoziativen Speicher ausgelöst wurde, wenn dieser nicht die gewünschten Daten enthält. Während einer Schreiboperation überträgt der assoziative Speicher 24 (Fig. 1) verschiedene Adressen- und Steuersignale (Fig. 5) über eine SpeicherSammelleitung 40, welche alle Speicherbausteine 30 bis 33 miteinander verbindet. Jeder Speicherbaustein enthält ein Speicher-Übertragungsgerät 41 (Sende- und Empfangsgerät) , einen Speichersteuer- und -zeitüberwachungskreis 42 und eine Vielzahl von Speicherabschnitten oder Elementen, welche untereinander über eine interne Leitung 43 verbunden sind. Jeder Speicherabschnitt in einer speziellen Ausführungsform speichert in jedem Platz eine Anzahl von Bits, welche einemüblichen Computerwort entspricht. Dabei arbeiten die Paare von Abschnitten im parallelen Betrieb. Ein solcher Speicherabschnitt ist ein "unterer Abschnitt" und der andere Abschnitt in dem Paar ist der "obere Abschnitt". Entsprechende Abschnitte haben die gleiche Bezeichnung. Somit bezeichnet das Bezugszeichen 44 den "unteren Abschnitt O" und das Bezugszeichen 45 den "oberen Abschnitt 0". Das Paar zusammen bildet den "Abschnitt O". Damit speichert ein gegebener Platz in einem Abschnitt zwei Worte oder 4 Bytes. Wie später beschrieben wird, identifizieren die zwei niedrigwertigeren Adressen-Bitpositionen ein bestimmtes von diesen Bytes und die
-19-
709833/0866
verbleibenden Adressen-Bitspositionen (d.s. 20 Bit-Stellen in einer 22 Bit-Adresse) bestimmen einen bestimmten Abschnitt und den Platz innerhalb dieses Abschnittes. WEnn Daten von dem Speicher abgerufen werden, werden all Worte in dem adressierten Platz abgerufen. Während einer Schreiboperation, überträgt der assoziative Speicher 24 BYTE MASK-Signale (Fig. 5) an den Speichersteuer- und -zeitüberwachungskreis 42, um dabei ein Byte oder eine Kombination von Bytes in dem adressierten Platz auszuwählen.
Unter Bezugnahme auf die Figuren 1 und 5 ergibt sich, daß der assoziative Speicher 24 ein ADDRESS PARITY-Signal überträgt, welches auf dem Wert der Adressen und verschiedener Steuersignale basiert, welche einen Speicherzyklus auslösen und das auch Datensignale enthält, wenn Daten übertragen werden sollen von dem assoziativen Speicher 24. Als nächstes überträgt der assoziative Speicher 24 ein START-Signal, das den Speichersteuer- und -zeitüberwachungskreis 42 (Fig. 1) veranlaßt, einen Speicherzyklus einzuleiten. Der Kreis 42 überträgt an den assoziativen Speicher 24 ein ACKNOLWEDGE (Quittungs-)Signal, welches die Adressen- und Steuersignale und das BYTE MASK-*Parity-, Daten-und START-Signale beendet. Während eines Lesespeicherzyklusses kann der assoziative Speicher 24 einen anderen Speicherzyklus mit einer anderen Speichereinheit auslösen, nachdem das Quittungssignal beendet ist.
Keine weiteren Signale werden von einer Speichereinheit zurück zu dem assoziativen Speicher 24 während einer Schreiboperation übertragen. Während einer Leseoperation empfängt der assoziative Speicher andererseits ein BUS OCCUPIED-(Leitung besetzt -)Signal und das ACKNOWLEDGE- (Quittungs-) Signal. Nach einem vorbestimmten Intervall endet das
709833/0866
-36.
Quittungssignal automatisch und die Daten werden dann übertragen über die Datenleitungen in der Sammelleitung 40 von der Speichereinheit. Die Anwesenheit von Daten auf diesen Leitern wird angezeigt, wenn der Speichersteuer- und -zeitüberwachungskreis 42 ein DATA READY-Impuls überträgt. Dadurch werden die Leitungen besetzt und Datensignale beendet, um den Lesezyklus abzuschließen und die Daten zu dem assoziativen Speicher 24 zu übertragen.
Die Fig. 6 zeigt eine Ausführungsform der Speicherverwaltungseinheit 22 wie sie in Fig. 1 als Blockschaltbild dargestellt ist und im einzelnen in der DT-OS 2 350 884 beschrieben ist. Die Speicherverwaltungseinheit enthält Seitenadress- (PAR) und Seitedescriptor- (PDR) Register 51. Die drei signifikantesten Bits von einer virtuellen 16-Bit-Adresse von einer BAMX-Datenübertragungseinheit werden dekodiert, um ein bestimmtes entsprechendes Paar von Seitenadress- und Seitendescriptor-Registern auszuwählen. In einem in vielfachweise arbeitenden System, welche KERNEL, überwacher-(SUPER) und Anwender-(USER) oder andere Betriebsarten hat, besitzt das Register getrennte Seitenadress- und Seitendescriptor-Register für jede Betriebsart. Jedes Seitenadress-Register enthält ein 16-Bit-Seitenadressfeld, welches verbunden ist mit einem Addierer 52 über Leitungen, welche Stellenentsprechungen mit den Bitlagen 6 bis 21 der endgültigen Adresse aufweisen. Ein Adressenpufferspeicher 53 speichert die virtuelle Adresse und bildet davon Signale auf Leitungen, welche Stellenentsprechungen mit den Bit 6 bis 12 besitzt sowie die weitere Eingabe zu dem Addierer 52. Bits 6 bis 21 der Summe vom Addierer 52 werden verkettet mit den Bits 0 bis 5 von dem Ausgang von einem Absolutadressenverteiler 54, wobei während der Benutzerbetriebsart die zur Identifi-
-21-
709833/0866
- Vf-
kation eines bestimmten Speichereinheitsplatzes notwendigen 22 Bit-Adresse erzeugt wird. Dadurch wandelt die Speicherverwaltungseinheit 22 eine virtuelle 16-Bit-Adresse in eine vollständige und tatsächliche 22-Bit-Adresse um.
Die Speicherverwaltungseinheit 22 hat auch andere Betriebsarten, welche durch das MAPPING MODE- (Abbildungs-)Signale an den Verteiler 54 gesteuert werden. Bei einem Verfahren, bei welchem keine Abbildung auftritt, wird die virtuelle Adresse nicht geändert. In einem zweiten Verfahren wird die virtuelle Adresse in eine 18-Bit-Adresse übergeführt. Diese zwei Verfahren entsprechen den Arbeitsweisen der Einheit, wie sie in DT-OS 2 350 884 beschrieben sind.
Hauptsammelleitungstreiber 55 verbinden die Adressensignale über die Hauptsammelleitung 27 (Fig. 1) in Abhängigkeit von einem BUS ADRS-Signal eines Adressenprüfkreises 57. Ein Adressendekoder 56 erhält ebenfalls die Adressensignale von dem Verteiler 54 und erzeugt ein CPU REG ADDRESSES-Signal, welches der Adresse von einem Zentraleinheitsregister oder INTERNAL REG ADDRESSES-Signale abhängig zu dem MAIN BUS ADRS-Signal des Prüfkreises 57 entspricht. Der Adressenprüfkreis empfängt SYSTEM SIZE-Signale, welche die Nummer des verfügbaren Speichers, die Seitenadressfeldsignale von dem ausgewählten Register in dem Satz 51 und das Zwischen- oder Blocknummernfeld der virtuellen Adresse definieren. Wenn die Adresse einen Speicherplatz bezeichnet, welcher nicht in dem assoziativen Speicher vorrätig ist, gibt der Adressenprüfkreis ein NOT CACHE ADRS- (Nichtnotiz)-Signal. Da die Arbeitsweise von dieser Speicherverwaltungseinheit 22 analog ist zu der in der vorgenannten Offenlegungsschrift 2 113 890 beschriebenen Einheit, ist eine weitere Erläuterung der Arbeitsweise
709833/0866 -22-
dieser in Fig. 6 dargestellten Einheit oder von anderen Prüfabschnitten nicht notwendig, da diese dort beschrieben sind.
Wie vorstehend angedeutet, bildet das Hauptsammelleitungsregister eine Anpaßschaltung zwischen der HauptSammelleitung 27 und dem assoziativen Speicher 24. In diesem System wirkt das Hauptsammelleitungsregister 23 als eine mitgezogene Einrichtung abhängig zu Signalen auf der HauptSammelleitung und überträgt eine von der HauptSammelleitung 27 erhaltene 18-Bit-Adresse in eine 22-Bit-Adresse für die SpeicherSammelleitung 40. Die Fig. 7 gibt ein detailliertes Blockdiagramm dieses Schaltkreises 23 wieder. Der Schaltkreis enthält eine Vielzahl von Abbildungsregistern 60, welche eine Adressenverschiebungsfunktion ausüben. Jedes Register 60 speichert eine Grundadresse und kann einzeln über die HauptSammelleitung 27 (Fig. 1) angesteuert werden.
Sofern 31 Abbildungsregister vorgesehen werden, sind die 5 höchstwerigen Adressen-Bits, welche von der Hauptsammelleitung 27 von dem Adressenempfängern (ADDRS) 61 empfangen werden, an einen Verteiler 62 angelegt, um ein bestimmtes Abbildungsregister 60 auszuwählen. Die Basisadresse des ausgewählten Registers wird dann mit einem Addierkreis 63 verbunden, um mit den verbleibenden niederwertigen Bits kombiniert zu werden von der Hauptsammelleitungsadresse, wodurch die 22-Bit-iange-Adresse für den assoziativen Speicher auf den Ausgangsleitung 64 erzeugt wird.
Wie vorstehend erwähnt, erfolgt die übertragung über die Hauptsammelleitung 23 in Übereinstimmung mit Signalen von
-23-709833/0866
Λ*.
einer Master-Station. Anfänglich werden die Adressensignale durch die Adressenempfanger 61 empfangen; die C1-und CO-Richtungssteuersignale von den Empfängern 65. Diese Signale werden für einen Adressendekoder 66 verwendet und die höherwertigen Adressignale .werden einen Grenzwertvergleicher 67 zugeführt.
Die Fig. 18A zeigt den Adressendekoder 66 und andere Schaltkreiselemente aus Fig. 7. Die Fig.18B zeigt zwei typische Adressenbereiche, welche einen Dekoder 260 in Fig. 18A veranlassen, MAP REG OP und CACHE REG-SignaIe zu übertragen. Wenn das MAP REG OP-Signal übertragen wird, ein MSYN-Signal von der Master-Station gibt eine UND-Schaltung 268 frei, welche über einen Verzögerungskreis 87 eine ODER-Schaltung 86 aufsteuert und ein SSYN-Signal über einen Treiber 4 3 verbindet, der aus einer UND-Schaltung und einem Inverter besteht, und zwar abhängig von einem ENBUS-Signal. Zusätzlich veranlaßt das ENBUS-Signal einen Treiber 83 ein PB-Signal über die Sammelleitung zu übertragen, wenn ein PARITY-Fehler auftritt. Dies kann erfolgen, wenn das C1-Signal bei Anzeige einer Leseoperation nicht auftritt an der UND-Schaltung 262,wodurch dann der Treiber 83 veranlaßt wird zu übertragen das PB-Signal, wenn ein PAR ERR-Signal und ein PAR ADRS OK-Signal angewendet werden.
Das ENBUS-Signal wird gleichzeitig mit einem UB REQUEST-Signal übertragen (Fig. 7). In seinen nichtangewendeten Zustand stellt das ENBUS-Signal die Flip-Flop 263 und zurück. WEnn das ENBUS-Signal angewendet wird, werden diese Korrekturrücksetζsignale beseitigt und das Flip-Flop 263 kann gesetzt werden durch eine Setzbedingung in Übereinstimmung mit einem TIMEOUT-Signal. Solange das Flip-Flop
-24-709833/0866
.10'
263 gesetzt bleibt, ermöglicht es über eine NICHT-Schaltung 265 das Flip-Flop 264 in eine Einschaltlage überzugehen am Ende eines DONE-Signals. Sobald das Flip-Flop
264 gesetzt ist, gibt es die ODER-Schaltung 86 frei, wodurch das SSYN-Signal erzeugt wird.
Die Fig. 19 zeigt den Grenzwertvergleicher 67. Höchstwertverzweigungen 270 kennzeichnen die höchste Adresse, welche im Abbildungskreis verfügbar ist, und Niederwertvergleicher 271 die unterste verfügbare Adresse. Komparatoren 272 bzw. 273 übertragen UP LIM OK und LO LIM OK-Signale, wenn eine angeforderte Adresse kleiner ist als die obere Grenze von den abgebildeten Adressen und größer als die untere Grenze. Wenn die gewünschte Adresse innerhalb dieses Bereiches ist, steuert eine UND-Schaltung 274 eine ODER-Schaltung 275 aus zur Übertragung eines CACHE BUS ADDR-Signals und zur Vorbereitung der UND-Schaltung 70. Die UND-Schaltung 274 steuert auch eine UND-Schaltung 277 an. Wenn anschließend das MSYN-Signal empfangen wird, steuert die UND-Schaltung 70 das Flip-Flop 72 in eine Einschaltbedingung und überträgt das UB REQUEST-Signal (Fig. 7). Das Flip-Flop 72 wird zurückgesetzt durch ein ACKN-Signal von der Hauptspeichereinheit 29. Das MSYN-Signal ermöglicht auch die UND-Schaltung 277 das PAR ADRS OK-Signal zu übertragen, das auf die UND-Schaltung 262 in Fig. 18A angewendet wird.
Unter Bezugnahme nunmehr auf Fig. 7 zeigen die C1-und CO-Signale vom Empfänger 65 dem assoziativen Speicher 24 (Fig. 1) die Richtung von einem nachfolgenden Datentransfer. Wenn der Transfer zu der Leitung 27 soll, erscheinen die Daten an den CDMX-Leitungen und werden verbunden mit einem Verteiler 75 in einem Zwischenregister 76, abhängig von einem DONE-Signal. Ein anderer Verteiler 77 verbindet die Daten mit Treibern 74. Während einer Übertragung zu dem Speicher
709833/0866
-25-
werden die Daten durch die Master-Leitung übertragen, ehe das MYSN-Signal übertragen wird und laufen direkt durch dem Empfänger 80 zu dem assoziativen Speicher 24 (Fig. 1).
Dementsprechend verarbeitet der Sammelleitungskreis 23 in Fig. 7 die Adressensignale von der Hauptsammelleitung 27 (Fig. 1) zu einer Adresse, welche eindeutig einen Platz in dem Hauptspeicher 29 identifiziert. Zusätzlich enthält der Sammelleitungsregisterkreis die notwendigen Pufferspeicher und Schaltkreise, um die Daten zu verbinden und die notwendigen Steuersignale anzuschließen zur Obertragung mit der Sammelleitung 27 auf der einen Seite und dem assoziativen Speicher 24 auf der anderen Seite.
Die Fig. 8 zeigt die Datenwege in den assoziativen Speicher 24 nach Fig. 1. Ein assoziativer Speicher ist äußerst vorteilhaft in dieser Art eines Systems, da Programme keine Speicheradressen zufällig erzeugen. Im Gegenteil tendieren sie auf Speicherplätze in der Nachbarschaft von Speicherplätzen zuzugreifen, welche sie unmittelbar vorher angesteuert hatten. Diese Phenomen ist allgemein bekannt als "Prinzip der Programmeingrenzung" (Programm locality). Es ist verständlich durch Prüfen des engen Skalenverhaltens von einem typischen Programm. In einem Programm verläuft die Codeabwicklung selbst ganz allgemein in strengen Linien oder kurzen Schleifen. Damit sind nach jedem Zugriff die nächsten Speicherzugriffe für Befehle meist im Bereich weniger Worte vor oder hinter dem letzten Zugriff zu finden. Dagegen tendieren Datenstapel anzuwachsen und zu schrumpfen von einem Ende mit den nächstfolgenden Zugriffen des Stapels, welcher nahe der laufenden Oberbegrenze sich befinden. Auch Zeichenfolgen und Vektoren, welche oft sequentionell abgetastet werden, besetzen üblicherweise aufeinanderfolgende Speicherplätze.
-26-
709833/0866
Wenn auch das Prinzip des Stellenzustandes wie viele Programme zu einer Bebehaltung tendiert, so gibt es doch kein Gesetz, welches alle Programme immer befolgen. Verzweigungen, Sprungbefehle und andere Arten von Befehlen veranlassen oftmals einen Ablauf umzuschalten auf einen ferner liegenden Bereich des Speichers.
Wenn ein assoziativer Speicher eine gute Möglichkeit zur Aufnahme der Worte, die das Programm als nächstes benötigt, so sollte er 'doch Worte enthalten, deren Speicherplätze anschließen an jene, welche vorher aufgerufen wurde. In früheren Systemen wurde dieses durch Anwendung der früher beschriebenen "Blockabruf"-Operation erreicht. Wenn es notwendig ist, ein Datenwort zu bewegen von der Arbeitsspeichereinheit zu dem Assoziativspeicher, wird ein vollständiger Block von einigen aufeinanderfolgenden Worten aufeinmal von einem vorhergehenden und nachfolgenden Speicherplatz bewegt. In solchen Systemen ist die Größe des Blockes, der bewegt wird, kritisch. Wenn er zu klein ist,leidet die Systemarbeit vorausgesetzt, das Programm enthält viele kleine Schleifen. Wenn der Block zu groß ist, ist nicht ausreichend Platz, um eine adäquate "Vorgriff" oder "Rückgriff" -Operation zu ermöglichen.
Wenn ein assoziativer Speicher einen abhängigen Block von Speicherplätzen enthält, wird er nicht optimal arbeiten, weil Programme auf andere Codesegmente, Unterprogramme, Stapeln, Listen und Zwischenspeicher zurückgreifen, welche angeordnet sind in gestreuten Teilen des Gesamtspeiehers. Es ist im Gegenteil vorzuziehen, daß der assoziative Speicher solche Worte hält, welche eine Wahrscheinlichkeit haben, höchstwahrscheinlich benötigt zu werden, gleichgültig wie verteilt diese Worte außerhalb des Adressen-
709833/0866 -27-
bereichs In dem Hauptspeicher sich befinden, Unglücklicherweise ist es, um dieses Kriterium voll zu erfüllen,notwendig, einen assoziativen Speicher von bedeutender Größe zu haben. Die für ein Suchen der Inhalte des assoziativen Speichers notwendige Zeit kann dann unakzeptabel lang werden.
Im anderen Extrem,ein direkt abbildender assoziativer Speicher erfodert nur einen Adressenvergleich . Eine Adresse wird unterteilt in Felder, um ein BYTE-Kennzeichnungsfeld, ein INDEX-FeId und ein BYTE-Adressfeld zu erhalten, üblicherweise benützen die direkt abbildenden assoziativen Speicher das BYTE-Kennzeichnungsfeld zum Aufruf eines BYTE-Platzes. Das Indexfeld bestimmt einen Block von Plätzen. Wenn das Adressenfeld für einen entsprechenden Block in dem Adressenspeicher dasselbe ist, als das empfangene Adressenfeld wird die Anzahl in dem BYTE-FeId verwendet zur Kennzeichnung eines bestimmten BYTES.
Der assoziative Speicher nach Figuren 8 und 9 verwendet gewisse Aspekte eines direkt abbildenden und voll assoziativen Speichers. Nach Auftreten einer Abfrageadresse, verwendet der assoziative Speicher ein Viel-Bit-Indexfeld (d.s. Adressenbits 2 bis 9) als eine Basis zur Auswahl eines oder mehrer Plätze innerhalb eines Speicherbausteines 90. Die Organisation des assoziativen Speicherbausteines 90 ist in weiteren Details in der Fig. 9 dargestellt. Es enthält eine Adressenspeichereinheit 93 und eine Datenspeichereinheit 94. Für die Zwecke der Erläuterung enthält jeder der Einheiten 93 und 94 zwei separate Gruppen. Die Einheit 93 ist unterteilt in einen GROUP O TAG MEMORY 93a und einen GROUP 1 TAG MEMORY 93b. Die Einheit 94 ist unterteilt in ein GROUP O DATA MEMORY 94a und eine GROUP
709833/0866
1 DATA MEMORY 94b. Jeder der Speicher 93a, 93b, 94a und 94b enthält 256 Positionen, welche identifiziert werden können durch das Indexfeld in einer ankommenden Adresse. Jeder der zwei Plätze in jeder Indexposition in der Adressenspeichereinheit 93 enthält eine VALID-BIT-Position, ein ADDRESS TAG FIELD und ein PARITY BIT FIELD, welches feststellt, daß das ADDRESS TAG FIELD geeignet gespeichert wurde.
Wenn eine Mresse empfangen wird, wird deren Indexfeld dekodiert, um eine der entsprechenden Plätze in jedem von dem GROUP O- und GROUP 1 TAG-Speicherblöcke in der Einheit 93 auszuwählen. Ein Vergleicher 95 ermöglicht, wenn ein "Gültigkeitsbit" in dem ausgewählten Speicherplatz in dem GROUP O-TAG-Speicher auftritt, den Wert des Adressenfeldes von dem GROUP O-TAG-Speicher 93 und den des Adressenfeldes der ankommenden Adresse zu vergleichen. Sofern eine Obereinstimmung besteht, überträgt der Vergleicher 95 ein MATCH O-Signal, das eine UND-Schaltung 96 freigibt zur übertragung eines HIT O-Signals, sofern ein PARITY CHEK-Kreis 97 ein PAR OK-Signal, welches auf den Signalen der Gültigkeitsbitlage, den Adressenfeld- und den Paritybitlagen des ausgewählten Speicherplatzes beruht.
In gleicher Weise öffnet ein Vergleicher 100 eine UND-Schaltung 101, um ein HIT 1-Signal zu übertragen, wenn das Adressenfeld in der empfangenen Adresse übereinstimmt mit einem Adressenfeld von der Speichergruppe 93b und wenn ein PARITY CHEK-Kreis 102 ein PAR OK-Signal überträgt.
Angenommen, daß die assoziative Speichereinheit 93 ein Adressenfeld enthält, welches mit dem Adressenfeld in der ankommenden Adresse übereinstimmt, steuern das entsprechende HIT O- oder
-30-709833/0866
HIT 1-Signal den Verteilerkreis 92 (Fig. 8 und 9),um die entsprechenden Daten von der assoziativen Speichereinheit 94 weitergeben zu können. Im einzelnen werden die Daten durch Adressierung der Einheit 94 in Obereinstimmung mit dem Indexfeld der ankommenden Adresse aufgerufen. Jedes Speicherplatzpaar, welches durch das Indexfeld in der einzelnen Ausführung der Einheit 94, wie sie in Fig. 9 gezeigt ist, identifiziert wird, enthält vier Worte.Ein Paar von Worten bilden einen Block, wobei ein Paar von Blocks in jeder Indexlage gespeichert ist. Bei dieser speziellen Ausführungsform wählt BIT 1 der ankommenden Adresse das höchste oder niedrigstwertige Wort von jedem Block aus und erzeugt damit zwei Datenworte an dem Eingang des Verteilerkreises. Weil die Blöcke empfangen werden von Plätzen, welche dieselbe Indexlage entsprechend zu dem GROUP O- und GROUP 1-TAG-Speichern 93a und 93b aufgerufen sind, wählen die HIT 0 und HIT 1-Signale den richtigen Block von einen von den Datenspeichern aus für den Verteilerkreis 92,um die 16 Bits der gewünschten Daten durch die ankommende Adresse zu besorgen. Die Daten fließen in das Hauptsammelleitungsregister 23 und den Zentralprozessor 21 in Fig. 1.
Wenn der Speichermodul 90 in Fig. 9 weder das HIT 0- noch das HIT 1-Signal überträgt, existiert ein "Fehlzustand", d.h. die Inhalte von dem indentifizierten Speicherplatz durch die ankommende Adresse sind nicht in dem assoziativen Speicher 24 enthalten. In diesem Fall erzeugt der mit dem Speicher 24 verbundene Steuerkreis einen Speicherzyklus in dem Hauptspeicher 29 (Fig. 1), um einen ganzen Block (d.h. zwei Datenworte) abzurufen, welche identifiziert werden durch bestimmte höherwertige Bits der ankommenden Adresse. In dem speziellen
709833/0886
Ausführungsbeispiel wird der Block durch die Adressenbits 21 bis 10 identifiziert. Während der Block von dem Speicher 29 aufgerufen wird, "entscheidet" der assoziative Speicher, welche von seinen eigenen Gruppen bestimmt ist, die einkommenden Daten zu empfangen.
Wenn der Datenblock von dem Hauptspeicher 29 ankommt, wird er in der ausgewählten Gruppe der assoziativen Speichereinheit 94 gespeichert und zu derselben Zeit lauft das Wort in dem durch die ankommende Adresse identifizierten Speicherplatz zu dem Zentralprozessor 21 oder zu der Hauptsammelleitung 27 über das HauptsammeiIeitungsregister (Fig. 1). Ebenso wird die Adresse des Hauptspeicherplatzes, von welchen die Daten empfangen wurden, in den entsprechenden Platz der Adressenspeichereinheit 93 zusammen mit einen gesetzten "Gültigkeitsbit" geladen.
Während einer Schreiboperation, welche entweder von dem Zentralprozessor 21 oder einer anderen mit der Hauptsammelleitung verbundenen Einheit ausgelöst werden kann, läuft die Auslösefolge des assoziativen Speichers 24 ebenso ab, wie bei einer Leseoperation. Die Adresseneinheit 93 wird aufgerufen. Wenn das Adressenfeld eine Obereinstimmung feststellt und das entsprechende Gültigkeitsbit gesetzt wird, was die Auslösung eines "HIT" zur Folge hat, werden die neuen Daten in die geeigneten Wort- oder BYTE-Bereiche der assoziativen Speichereinheit 94 geschrieben, welche auf der geeigneten Indexposition und den BYTE-Bereichen der Adresse beruhen. Der Assoziativspeicher 24 veranlaßt auch die in die entsprechenden Plätze zu schreibenden neuen Daten zurückzuschreiben in einen der Hauptspeichermoduls 30 bis 33.
709833/0866 ~31~
Wenn kein "HIT"-Signal angezeigt wird während solch eines Schreibvorgangs, wird ein Schreibzyklus an der speziellen Adresse in dem Hauptspeicher durchgeführt; jedoch wird keine Änderung in dem Assoziativspeicher 24 getätigt.
Anhand der Fig. 1und 9 wird im folgenden, wie vorher schon angekündigt, gezeigt, daß es möglich ist, Daten von dem Hauptspeicher 29 über den assoziativen Speicher 24 und eines von den SchnellSteuergeräten 34 oder 36 zu einer zweiten Speichereinrichtung zu übertragen. Umgekehrt werden während einer Schreiboperation die Daten direkt über den assoziativen Speicher zu dem durch die Adresse von dem Schnellsteuergerät identifizierten geeigneten Einheit der Speichermodule 30 bis 33 übertragen. Während solch einer Schreiboperation jedoch wird jede Adresse auch an die Adressenspeichereinhext 93 in dem Speicher 24 gegeben. Sofern ein "HIT-Signal" während einer solchen übertragung abgetastet wird, wird das entsprechende "Zulässigkeitsbit" abgearbeitet und das Paritybit wird verändert. Während einer mit einer zweiten Speichereinrichtung verknüpften Leseoperation wird eine Übertragung direkt von den bezeichneten Plätzen in dem Hauptspeicher 29 zu dem entsprechenden Schnellsteuergerät durchgeführt.
Die vorstehend geschilderte Arbeitsweise wird besser verständlich unter Bezugnahme auf die Fig. 8, welche die Datenwege durch den assoziativen Speicher 24 zeigt. Haltekreise 103 und 104 sprechen auf einen internen BD CLK-Impuls an, um Daten von der Leitung 40 aufzunehmen, wenn diese von dem Hauptspeicher 29 übertragen werden und steuern die Eingänge zu den Verknüpfungskreisen 105 bzw. 106. Während solch einer Leseoperation werden die Informationen über die Verknüpfungskreise 105 und 106 verbunden mit geeigneten Plätzen in dem
709833/0866
durch das Adressenfeld bezeichneten Modul 90. Während einer Schreiboperation werden die Daten von der Hauptsaininelleitung 27 oder dem Zentralprozessor 21 mit einem Verknüpfungskreis 107 verbunden. Wenn diese von dem Prozessor kommen, was durch das NichtVorhandensein eines MBC CYCLE-Signal angezeigt wird, laufen die Prozessordaten durch den Verknüpfungskreis 107 zu dem Hauptspeicher 29 und zu den Verknüpfungskreisen 105 und 106, wodurch sie in den geeigneten Speicherplatz übernommen werden. Wenn die Daten auf der Hauptsammelleitung 27 erscheinen, dann wird ein MBC CXQE-Signal erzeugt und die Hauptsammelleitungsdaten laufen durch den Verknüpfungskreis 107 für eine Eingabe in den Modul 90 zusammen mit einem erzeugten PARITY-Signal, welches durch einen Kreis 108 erzeugt wird. Während einer Leseoperation durch den Speicher 29 bestimmen die Paritychek-Kreise 110 und 111, ob irgend ein Parityfehler existiert. Ebenso zeigen ein "GROUP O"-Paritychekkreis 112 und ein "GROUP !"-Paritycheckkreis 113 an, wenn Daten, welche übertragen werden von dem Modul 90 irgendwelche Parityfehler aufweisen. Diese Datenüberprüfungen sichern weiterhin die Richtigkeit der Daten, wenn sie durch den assoziativen Speicher laufen.
Wie vorstehend festgestellt,tauschen, wenn es notwendig ist, Daten zwischen dem assoziativen Speicher 24 und dem Hauptspeicher 29 zu übertragen, ein Kontrollteil des assoziativen Speichers und ein adressiertes Modul der Speichermoduls 30 bis 33 Signale aus, um die Datenübertragung durchzuführen. Die hierzu benötigten Schaltkreise sind in Fig.10 gezeigt, in welchen die Fig. 10A den Schaltkreis für die übertragung der verschiedenen Steuersignale wiedergibt. Im einzelnen weist ein Dekodierkreis 110A zwei getrennte Sätze von Eingängen auf, welche Auswahlsignale aufnehmen, die von
709833/0866
-33.
den möglichen Quellen die Eingangsinformation zu dem assoziativen Speicher 24 empfangen. Diese Quellen können den Zentralprozessor 21, das Hauptsammelleitungsregister oder einen von den Schnellsteuergeräten 34 oder 36 miteinschließen. Beim Ansprechen verbindet der Dekodierkreis 11OA die ausgewählten C1-oder CO-Signale zu einem Byte-Maskenkodierer 112A, wobei das C1-Signal auch bestimmt ist, um eine Leseoperation auszulösen. Die C1- und CO-Signale von dem Dekodierer 110A werden über die Leitung 40 durchgeschaltet.
Der Byte-Maskenkodierer 112A empfängt zusätzlich zu den CO- und C1-Signalen die letzten zwei signifikanten Bits von der Adresse und ein CX-Signal, welches anzeigt, daß ein Doppe1-wortschreibzyklus durchgeführt wird von einem von den Schnellsteuergeräten. Entsprechend erzeugt der Kodierer 112A vier Byte-Maskensignale, welche auch über die Leitung 140 verbunden sind.
Die Fig. 10B zeigt in einer Tabelle die Schritte, die durch den Kodierer 112 kodiert werden und die Werte von den entsprechenden Byte-Maskensignale für jeden Satz von Eingangsbedingungen. Zusätzlich erhält ein Paritygenerator die Adressensignale, die CO- und C1-Signale, die beiden Maskensignale und andere Signale, um ein Paritysignal zu erzeugen, welches ebenfalls über die Leitung 40 gegeben wird.
Das verbleibende,von dem assoziativen Speicher 24 übertragene Signal ist das START-Signal. Wie aus Fig. 10C zu ersehen, geben die Dekoder 115 und 116 die Bedingungen, unter welchen ein freischwingender Taktgenerator 117 nacheinander die Flip-Flops 120 und 121 in ihre "Setz"-Lage steuern kann. Ein T-150-Signal steuert den Zeitablauf, so daß das Flip-Flop 120 nur
709833/0866
zu der Zeit T150 gesetzt werden kann. Die anderen Eingangssignale zu dem Dekodierer 115 und 116 bestimmen andere Steuerbedingungen. Beispielsweise während einer übertragung zu oder von einer sekundären Speichereinheit, wird das MBC CYCLE-Signal aktiv und der Dekodierkreis 116 setzt das Flip-Flop 120. Eine andere Bedingung ist eine Übertragung zu dem Speicher über die Hauptleitung solange wie ein internes Register in dem assoziativen Speicher nicht betroffen ist. Das Startsignal wird auch ermöglicht während einer Übertragung zu dem Hauptspeicher von dem Zentralprozessor. Darüberhinaus wird das Startsignal erzeugt, wenn eine der HIT O- oder HIT 1-Signale verschwindet oder oder wenn das PAR OK O- oder PAR OK 1-Signal unwirksam wird. Diese Signale zeigen an, daß die Daten ungültig sind, wie vorstehend beschrieben, und steuern das STartsignal während einer Leseoperation über die zentrale Prozessor- oder Hauptleitung. Jedesmal wenn die Flip-Flops 120 und 121 gesetzt sind, wird über eine ODER-Schaltung 122 eine NICHT-UND-Schaltung 123 angesteuert. Die NICHT-üND-Schaltung 123 erzeugt eine massebezogenes Signal, welche über eine Verzögerungsleitung gegeben wird, und steuert eine NICHT-üND-Schaltung 125 an, um ein Startsignal zu übertragen. Die ODER-Schaltung 122 wird abhängig von der Ansteuerung einer ihrer drei Eingänge durchgeschaltet, und zwar der erste Eingang abhängig von einem Lesezyklussignal, der zweite von einem Schreibzyklussignal über eine UND-Schaltung 126, solange wie ein BOCC-(Leitung besetzt)-Signal anliegt und ein MBC-Zyklussignal nicht abgegriffen wird. Das MBC-Zyklussignal tritt auf, wenn die übertragung eines von den Schnellsteuergeräten 34 oder 36 in Fig. 1 betrifft. Der dritte Eingang der ODER-Schaltung 122 wird von einer UND-Schaltung 127 während eines Schreibzyklusses angesteuert, immer wenn die interne Speicherleitung 40 besetzt ist, vorausgesetzt, ein MBC-Zyklussignal ist gegeben .
709833/0866
Sobald das Flip-Flop 121 gesetzt ist, steuert es eine UND-Schaltung 130 aus, welche an ihrem anderen Eingang von einem Inverter 131 solange angesteuert wird, als ein Bestätigungssignal von der internen Leitung 40 nicht anliegt. Dadurch wird über die UND-Schaltung 130 eine NICHT-ODER-Schaltung 131 freigegeben zur Ansteuerung der NICHT-UND-Schaltung 125. Das Startsignal wird zurückgeführt zu dem zweiten Eingang der NICHT-ODER-Schaltung, um das Startsignal auf einem gegebenen Pegel zu halten. Wenn das Bestätigungssignal empfangen wird, sperrt der Inverter 131 die UND-Schaltung 130. WEnn eine Übertragung von dem assoziativen Speicher 24 beendet ist, wird das DONE-Signal an den Eingang K des Flip-Flop 120 gegeben. Die nächsten zwei aufeinanderfolgenden Taktimpulse setzen dann das Flip-Flop 120 und anschließend das Flip-Flop 121 zurück. Nach einem durch die Verzögerungsleitung 124 bestimmten Intervall wird die NICHT-UND-Schaltung 125 dann gesperrt und das Startsignal beendet.
Demgemäß zeigen die Fig. 10A und 10B die Schaltkreise innerhalb des assoziativen Speichers, welche die verschiedenen Steuersignale erzeugen für die Hauptspeichereinheit 29 und zur Aufnahme der Steuersignale von dieser Einheit.
Die Fig. 11 zeigt den Speichersteuer- und Zeitüberwachungskreis 42 in einem von den Hauptspeichereinheiten 30 bis 33 der Fig. 1. Ein Speicherleitungsempfänger 130A erhält die Signale von der internen Speicherleitung 40 und irgend einem von den Speichermoduls 30 bis 33 (Fig. 1). Wenn auf der Leitung 40 Adressensignale empfangen werden, werden die neun signifikantesten Bits an eine Recheneinheit 131A zur Normalisierung durch Subtraktion der Bits entsprechend dem Wert der Startadresse für die Speichereinheit gegeben. Dieser WErt
709833/0866
wird erhalten durch einen Schalter oder Verzweigungskreis, welcher als ein Startadresskreis 132 bezeichnet ist. Sofern eine negative Differenz in den kennzeichnenden Bits ist, oder wenn die Adresse größer ist als die Adresse in der Speichereinheit, übertragt der Adressnormalisierungskreis 131A ein ADRESS OUT OF RANGE-(Außerbereichsadressen-)Signal und bestimmt jede weitere Operation innerhalb der speziellen Speichereinheit. Auf der anderen Seite werden die vier letzten Bits der Differenz verbunden mit einem Dividierkreis 133, welcher,wenn überlappende Operationen zugelassen sind, das Ergebnissignal durch zwei dividiert, wobei eine 3-Bit-Blockadresse entsteht, zur Kennzeichnung eines von 8 wesentlichen Blocks in den verschiedenen Stapeln in der Speichereinheit.
Ein Prüfkreis 134 für ungeraden PARITY CHECK empfängt die Adressensignale, die Byte-Haskensignale, die CO-und C1-Signale und Adress-Parity-Signale von dem Speicherleitungsempfänger 130A. Wenn die Paritybedingung falsch ist, wird ein Flip-Flop 135 abhängig von dem Startsignal gesetzt, wobei es ein Parity-Fehler-Signal verbindet über einen Speicherleitungstreiber 136.Darüberhinaus verhindert ein Parity-Fehlersignal von dem Prüfkreis 134 weitere Operationen innerhalb der Speichereinheit.
Gemäß Fig.11 werden die Blockadress-Signale von dem Dividierer 133 mit dem Adressenanalysierkreis verbunden, um zu bestimmen, ob weitere Operationen möglich sind, welche auf der Besonderheit von den einzelnen Speicherstapeln beruhen, welche ausgewählt wurden. In einen Vergleichskreis 140 wird die Blockadresse verglichen mit Signalen von einem Kreis 141, welcher die Zahl der potentiellen Blocks anzeigt, die in
709833/0866
der Speichereinheit enthalten ist. Diese Zahl basiert auf den Stapelgröße-ID-Signalen, die von den verschiedenen Moduls erhalten werden. Der Schaltkreis 141 prüft auch,ob die Einheiten in einer richtigen Zuordnung stehen,und überträgt ein CONFIG ERR-Signal, wenn dies nicht der Fall sein sollte. Der Schaltkreis 141 ist im wesentlichen ein Festwertspeicher, welcher eine digitale Zahl zu dem Vergleichskreis 140 aber auch das (XKFIGERR-Signal überträgt, wenn die Stapelgröße ID-Signale nicht übereinstimmen mit einer bekannten gültigen Zuordnung, dessen Wert in diesem Schaltkreis enthalten ist. WEnn die ankommende Adresse eine Blocknummer identifiziert, welche größer ist als die verfügbaren Blocknummern in dem Speicher, wie er von dem Schaltkreis in Fig. 11 dargestellt ist, überträgt der Vergleichskreis 140 ein Fehlersignal. Ein Stapelpaar-Vergleichskreis 142 zeigt die Stapelgröße ID-Signale von jedem der entsprechenden Stapeln in einem Paar an, um zu sichern, daß parallel arbeitende Stapel dieselbe Charakteristik haben. Ist dies nicht der Fall, überträgt der Schaltkreis 142 ein MISMATCH ERR-Signal.
In der speziellen Ausführungsform können die Stapelgröße ID-Signaledatenblocks in den Speichereinheitsstapel identifizieren, welche zwei unterschiedliche Charakteristiken aufweisen. Ein Schaltkreis 143 empfängt die Stapelgröße ID-Signale und errechnet den höchstwertigen 16 K-Wortblock, welcher in dem System enthalten ist. Diese Signale werden verbunden mit einem 16 K/X-Entscheidungslogikkreis 144, welcher die Blockadresse in der Zahl von der Einheit 143 und der aufgenommenen Adresse ( d.h. der ausgewählte Bit von dem Kreis 133) vergleicht, und dabei bestimmt, ob eine spezielle Adresse in einem 16 K/X-Wort-Modul mit einem Satz von Charakteristiken liegt oder in einem Modul mit anderen Charakteristiken, die durch das X-Signal be-
709833/0866 -38-
zeichnet sind. Der Ausgang von diesem logischen Entscheidungskreis 144 ist mit einem Steuersignalgenerator 145 verbunden. Ein Stapelauswahllogik-und Stapelauswahlhaltekreis 146 empfängt ebenfalls das Stapelgröße ID-Signal und die Blockadressensignale. Zur Identifizierung der einzelnen Stapeln, solche wie die unteren und oberen Stapel 43 und 44 in Fig. 1, welche die adressierten Speicherplätze enthalten.
Das Hauptstartsignal veranlaßt den logischen Startspeicherzykluskreis 150 ein Startverzögerungssignal zu übertragen, angenommen keine Fehler existieren und der Steuersignalgenerator 145 liefert kein BUSY-(besetzt-)Signal, welches anzeigt, daß eine Speichereinheit bereits einen Speicherzyklus durchführt. Das Signal wird auch dazu verwendet, einen Stromversorgungsschutzkreis 151 zur übertragung eines POWER FAIL HOLD - oder RESET-Signals(Freigabe- oder Sperrsignal) zu geben. Das Startverzögerungssignal gibt einen Lesesteuergenerator 152 frei, welcher ähnlich wie ein Zähler nach dem Johnston-Typ arbeitet, um eine Folge von Zeitsignalen zur Steuerung des Signalgenerators 145 zu geben.
Eines von den ersten Signalen von diesem Generator wird als LOCK MAR-Signal verwendet. Dieses Signal wird an einen Haltekreis 153 gegeben, um die BYTE-Maskenbits und die CO- und C1-Bits von dem Empfänger 130 zu halten. Es ermöglicht auch den Stapelauswahl-und Stapelhaltekreis 146 den Stapelauswahlkreis zu blockieren. Zusätzlich hält ein Speicheradresshaltekreis 154 die niederwertigen Adressenbits einschließlich des AO2-Bits von einem Verknüpfungskreis 145, wenn überlappende Arbeitsweise möglich ist, oder die niederwertigen Blockadress-Signale, wenn überlappende Operationen unmöglich sind.
709833/0866
Wie in weiteren Details später beschrieben wird, überträgt der Lesezeitgenerator 152 RTi-bis RTI-Signale in aufeinanderfolgender Reihenfolge. Wenn der Steuersignalgenerator 145 ein Schreibbeginnsignal überträgt, überträgt ein Schreibtaktgenerator 156, welcher ebenfalls als Johnston-Typ-Zähler ausgebildet sein kann WTO- bis WTi-Singale in aufeinanderfolgender Reihenfolge zu dem Steuersignalgenerator.
Damit überträgt der St.euersignalgenerator 145 all die notwendigen Signale zu den einzelnen Stapeln, um eine Leseoder Schreiboperation zu ermöglichen. Wie ebenfalls noch in weiteren Details später beschrieben wird, steuern andere Signale die übertragung der Daten zu und von dem assoziativen Speicher 24.
Die Fig. 12 zeigt den Schaltkreis für den logischen Startspeicherzykluskreis 150 in Fig. 11. Ein Flip-Flop 160 steuert normalerweise eine UND-Schaltung 161 aus, um das Startverzögerungssignal zu übertragen, welches den Lesetaktgenerator 152 in Fig. 11 ansteuert. Wenn eine ODER-Schaltung 162, welche alle wesentlichen Fehlersignale erfaßt, ausgesteuert wird, verhütet ein Inverter 163 beim Empfang eines STartsignaIs gesetzt zu werden und damit die Abgabe eines Startverzögerungssignals. Wie aus Fig. 12 zu ersehen, erhält die ODER-Schaltung 162 die Fehlersignale zuzüglich eines Rücksetzsignals und einen PF HOLD-Signal. WEiter ist aus Fig. 12 zu ersehen, daß ein Überlappungsverhinderungsschalter 164 geöffnet ist, wenn eine überlappende Arbeitsweise auftritt. Damit erzeugt ein Inverter 165 während überlappender Arbeitsweise eine Massebeziehung, wodurch eine UND-Schaltung 166 gesperrt wird, so daß die Erregung der ODER-Schaltung 162 abhängt von anderen Schaltkreiselementen
709833/0866 -40-
in dem System. Wenn eine Überlappung zugelassen ist, wird ein Schalter 170 in einer Speichereinheit geschlossen, um ungeradzahlige Adressen zu kennzeichnen und wie in der Fig. R zu sehen, der Schalter einer 170 geöffnet wird in der Speichereinheit, welche geradzahlige Andressen enthält. Für den geradzahligen Speicher ermöglicht der Schalter 170, wie in Fig. 12 gezeigt, eine UND-Schaltung 171 und sperrt eine UND-Schaltung 172. Wenn jedoch die Adressen (02) Bitposition in einer Adresse eine EINS enthält, zeigt es eine geradzahlige Adresse und die UND-Schaltung 171 gibt dann die ODER-Schaltung 167 frei. Wenn diese Bedingung existiert, gibt der Inverter 168 keinen Eingangswert an die ODER-Schaltung 162. Umgekehrt wird in der ungeradzahligen Adresseneinheit die UND-Schaltung 172,die ODER-Schaltung 167 aussteuern, wenn die ADDRESS (02)-Bit ist EINS.
Sofern ein Startverzögerungssignal übertragen wird, überträgt der Lesetaktgenerator 152 (Fig. 11) unmittelbar ein RT O-Signal, welches ein Flip-Flop 173 über seinen Setzeingangsanschluß setzt. Das Flip-Flop 173 überträgt damit ein BUSY-Signal-(besetzt-)Signal und sperrt die UND-Schaltung 161, um das Startverzögerungssignal zu beenden. Wenn diese Arbeitsweise einmal begonnen hat, setzt sie sich fort, bis der Steuersignalgenerator 145 (Fig. 11) ein Endsignal überträgt. Ein Inverter 174 in Fig. 12 empfängt das Endsignal und wenn das Signal selbst beendet ist, wird die UND-Schaltung 161 freigegeben. Wenn am Ende von dieser Arbeitsweise der Steuersignalgenerator 145 das Endsignal überträgt, wird die UND-Schaltung 161 gesperrt, sowie das Flip-Flop 173 zurückgesetzt ist, wodurch auch das Besetztsignal beendet wird.
709833/0866
Wenn das Endsignal endet, wird die UND-Schaltung wieder frei gegeben zur Erzeugung eines Startverzögerungssignals.
Wie schon früher festgestellt, wird der Beginn einer Speicheroperation mit der Speichereinheit durch das Setzen des Flip-Flops 173 begonnen und damit wird das Startverzögerungssxgnal unmittelbar übertragen.
Wie vorstehend erwähnt, kann der Speicher 29 (Fig. 1) Stapel mit unterschiedlichen Charakteristiken enthalten. Die Fig. zeigt einen Schaltkreis zum Abfühlen, ob ein einzelner adressierter Stapel enthält einen Speicher mit einer bestimmten Charakteristik oder einer anderen. Die 16K BLK-ADR (OO bis 02)-Signale werden an die AO-bis A2-Eingänge eines Rechen- und Verknüpfungskreises 180 gegeben. Die anderen Eingänge erhalten HI STK OX- bis HI STK 3X-Signale, welche erzeugt werden von den einzelnen Stapelmoduls. Diese Signale zeigen an, ob das einzelne Modul die Charakteristik eines 16K-Speichermoduls besitzt oder nicht. Jeder Modul enthält eine Verzweigung oder andere Schaltgkieder zum dauernden übertragen dieses Signals. Wenn der Stapel "3" die 16K-Größencharakteristiken hat, erzeugt ein Inverter 181 eine EINS an dem B2-Eingang der Verknüpfungseinheit 180. Wenn der Stapel "3" die andere Charakteristik hat, erzeugt eine UND-Schaltung 182 eine EIMSan dem B1-Eingang solang als der Stapel "1" hat, die 16K-Größencharakteristik, wie angezeigt wird durch ein Signal von dem Inverter 183. Der B0-Eingang der Rechen- und Verknüpfungseinheit 180 wird gesteuert durch eine ODER-Schaltung 184. Das BO-Eingangssignal empfängt B1, wenn der Stapel "3" die Austauschcharakteristik hat und der Stapel "2" die 16K-Größencharakteristik hat, weil ein Inverter 185 eine UND-Schaltung 186 und die ODER-Schaltung 184 aussteuert. WEnn beide Stapel "1" und "0" die 16K-Größencharakteristik besitzen, steuern die Inverter 183 und 187 eine UND-Schaltung 188
709833/0866
- Vt-
und damit die ODER-Schaltung 184 aus. Jedesmal, wenn der Speicher die Quittungsmeldung überträgt, wird ein Flip-Flop 150 gesetzt, wenn das meist-signifikante Bit von der verbleibenden (d.h. den digitalen Wert von dem B-Eingang) minus (dem digitalen Wert von dem Α-Eingang) an dem f3-Ausgang der Verknüpfungseinheit 180 eine EINS enthält. In diesem Fall überträgt das Flip-Flop 190 das 16K-Signal; im anderen Fall überträgtesdas X-Signal. DAmit erzeugt der logische Abtastentscheidungskreis 144 entweder ein 16K- oder ein X-Ausgangssignal.
Die Fig. 12 zeigt auch die Schaltkreise zur Erzeugung des PF HOLD- und Rücksetzsignals, welche der ODER-Schaltung 162 zugeführt werden. Wenn irgendwann die Gleichstromversorgung unter einem Sicherheitspegel abfällt, erzeugt ein geeigneter Überwachungskreis ein MAIN DC LOW-Signal, welche eine Kippschaltung 191 setzt. Diese erzeugt das PF HOLD-Signal. Zusätzlich hält ein aus den Transistoren 192 und 193 und einer Diode 194 gebildete^Netzwerk die Eingangsspannung an einem Inverter 195 auf Erdpotential, wodurch ein Rücksetzsignal erzeugt wird, wenn das MAIN DC LOW-Signal beendet ist.
Jeder der in Fig.1 gezeigte Stapel enthält XY-Koordinaten-Driver, Sperrwicklungen und Stapelmodule, welche Kerne enthalten und als konventionelle Magnetkernspeicher nach dem Koinzidenzstromprinzip enthalten. Die XY-Driver-Kreise dekodieren die Adressensignale um eine bestimmte Reihe von Kernen auszuwählen. Jeder Sperrwicklungskreis ist mit einer Windung verbunden, welche verknüpft ist mit den Kernen parallel mit den Y-Windungen. Wie bekannt, werden die X-und Y-Ströme durch die Kerne in einer solchen Richtung geführt, daß die Kerne von einem magnetischen Zustand zu einem anderen geführt werden und die Änderung in dem magnetischen Feld eine
709833/0866
Spannung in der Abfühlwicklung erzeugt. Diese Spannung wird abgefühlt und verstärkt durch einen Abfühlgenerator, um eine EINS zu übertragen,wenn der Kernzustand geändert wurde. Sonst wird keine Spannung in der Abfühlwicklung induziert und das entsprechende Register wird nicht gesetzt. Solch eine Leseoperation ist bekannt als zerstörendes Lesen, weil der Zustand in den Kernen, welche abgefühlt wurden, alle in den Nullzustand bei Durchführung des Lesens übergeführt werden.
Um ein Bit in einen Kern einzuschreiben, wird der Kern zunächst durch einen den Inforinationsinhalt zerstörenden Abfrageprozess in seinen Nullzustand übergeführt. Die X- und Y-Ströme werden dann durch den Kern in einer Richtung gegeben, daß der Kern von seinem magnetischen Nullzustand in seinen magnetischen Einszustand übergeht. Wenn eine Null geschrieben werden soll in den Kern, wird gleichzeitig ein Sperrstrom über die Abfrage-Sperrwicklung gegeben und diese induziert ein magnetisches Feld, welches umgekehrte Polarität zu dem durch die X- und Y-Ströme induzierten Feld besitzt, so daß der Kern seinen Nullzustand beibehält. Die Schaltkreise, welche diese Signale sowie die notwendigen Taktsignale übertragen,sind im wesentlichen analog.
Die weiteren Ausführungen beziehen sich wieder auf die Fig. 11. Ein Randbitdekodierkreis 200 empfängt Randbits von der Leitung 40 und erzeugt verschiedene Signale, welche die Arbeitsweise von diesen analogen Signalen verändern kann. Beispielsweise,wenn die Randbits alle einen Wert Null haben, arbeitet das System mit normalen Zeit- und Strompegeln. Wenn das Hauptrandbit (1) angezeigt wird, wird der Wert von einem Abtastrand-(STROBE MARGIN-)Analogsignal verzögert, um die Abtastimpulse zu verzögern. Im einzelnen geht das Abtast-
709833/0866 "44~
randsignal, wenn das "Rand 1-Bit" angezeigt wird, von einem normalen Wert von 2,5 V auf 0 V und veranlaßt, daß jeder Speicherabtastimpuls früher erzeugt wird als normal.
In Fig. 14 ist der Randbitdekodierkreis 200 im einzelnen gezeigt. Eine Reihe von Invertern 201 und andere Reihe von Invertern 202 erzeugen positive und massebezogene Pegel für die Randsignale. Wenn die Randsignale alle auf einen nichtbezogenen Pegel liegen, erhalten die "Abtastrand-"(STROBE MARGIN-), "Ansteuerung oberer Rand"-(DRIVE HIGH MARGIN-) und ■Ansteuerung unterer Rand1-(DRIVE LOW MARGIN-) Signale ihren normalen Pegel. Zusätzlich wird eine UND-Schaltung 203 gesperrt. Wenn nur das MARGIN O Bit auftritt, existiert ein spezieller Kode und die UND-Schaltung 203 erzeugt dann das Adressparity-Fehlersignal, welches zurückgekoppelt wird zu dem Prüfkreis 104 in Fig. 11. Wenn die Abtastimpulse, welche die Zeit bestimmen, zu welcher die Daten die Abfühlwicklungen verriegeln, zu spät sind, dann werden Randsignale gesendet, in welchen das Rand-1-Bit allein angezeigt wird. Wenn dies auftritt, wird eine NICHT-UND-Schaltung 204, welche durchgeschaltet war, gesperrt und ein Inverter 205 gibt eine NICHT-UND-Schaltung 206 frei, wodurch das Abtastrandsignal auf Erdpotential gebracht wird und die Abtastimpulse fürher erscheinen als normal durch einen fixen Wert. Wenn sowohl das Rand-1- und Rand-2-Bit angezeigt werden, wird die Ausgangsspannung von der NICHT-UND-Schaltung 206 und einem Inverter 207 beide in einem positiven Bereich verschoben, wobei das Abtastrandsignal auf eine Spannung von angenähert +5V gebracht wird. Diese verzögern die Erzeugung von den Abtastverstärker-Abtastimpulsen um ein festes Intervall nach der normalen Zeit.
709833/0866
Die X- und Y-Ströme können erhöht werden durch Aussteuerung einer NICHT-ÜND-Schaltung 211. Dies geschieht, wenn die Rand· O- und Rand-2-Bits erscheinen und das Rand-1-Bit ist nicht vorhanden. Bei diesr Bedingung wird eine UND-Schaltung 212 und eine UND-Schaltung 211 freigegeben und dadurch der analoge Spannungspegel des oberen Randdriversignals reduziert. Entsprechend wird, wenn nur das Rand-2-Bit auftritt, die UND-Schaltung 212 eine NICHT-UND-Schaltung 213 zusammen mit dem Rand-O-Bit durchschalten, wobei das untere Randdriversignal auf einen niedrigen Wert verschoben wird und die X- und Y-Ströme reduziert. Aufgrund dieses vorbeschriebenen Aufbaus eines Speichermoduls soll nun im einzelnen die drei typischen Obertragungsoperationen beschrieben werden, welche auftreten zwischen dem assoziativen Speicher 24 und einem Speicherplatz in einem Speichermodul.
Hierzu wird auf die Fig. 11, 15 und 20 Bezug genommen. Eine Leseoperation beginnt, wenn die Adressen- und Steuersignale auf der Leitung 40 erscheinen. Während einer Leseoperation werden die beiden Maskenbits nicht verwendet. Die anderen Kontrollsignale, welche verwendet werden, sind die C1- und CO-Signale, welche die Leseoperation anzeigen, sowie die PARITY-SignaIe. Vorausgesetzt die erforderlichen Informationen werden an dem Steuergerät in Fig. 11 ohne Fehler empfangen, dann verursacht das Auftreten von dem Startsignal an einer entsprechenden Steuerleitung eine Leseoperation. Wenn der Lesetaktgenerator 152 das RT O-Signal zu dem logischen Speicherzyklusstartkreis in Fig.12 gibt,wiad das Flip-Flop 173 gesetzt. Gleichzeitig überträgt der Steuersignalgenerator 145 die LDMBR, LOCK MAR, IACK, BOCC und READ EARLY-Signale.
709833/0866
Das LDMBR-Signal entspricht dem Startverzögerungssignal wie es in Figf 12 gezeigt ist, Dieses Signal steuert die Übernahme der Daten am Eingang des Haltekreises in dem Speicherempfänger 41 in Fig. 1. Es entspricht dem Datenauswahl-Steuersignal (DATA GATING), wie es in Fig.1 gezeigt ist. Jedoch werden diese Daten danach nicht benötigt während der Leseoperation.
Das LOCK MAR-Signal steuert die Adressignale in den Speicheradresshaltekreis 154, die CO- und C1-Steuerbits und die beiden Maskenbits in den Haltekreis 153 und die Blockadresse in den Stapelauswahlverarbeitungs- und Haltekreis 146. Das IACK-Signal entspricht dem Quittungssignal (ACKNOWLEDGE) in Fig. 11; es wird übertragen über die Leitungsdriver 136 in Fig. 11 über die Leitungen 40.
Das RTO-Signal (Fig. 13) steuert eine ODER-Schaltung 220 durch, wodurch die Weitergabe eines BOCC ENABLE-Signal über eine UND-Schaltung 221 freigegeben wird. Während einer Leseoperation liegt dieses Signal an, bis die Speichersteuerung dieses Signal von der Leitung 40 wegnimmt. Wie auch aus Fig. 13 zuersehen, steuern während eines Lesezyklus die CO- und Ci-Bits eine UND-Schaltung 222, wodurch ein ENABLE-Signal übertragen wird, welche die UND-Schaltung 221 durchgesteuert wird und ein (BOCC-)Signal (Leitung besetzt) zurück zu den Drivern 136 in Fig. 11 über die Leitungen 40 überträgt.
Das READ EARLY-Signal schaltet die ausgewählten X- und Y-Schalter, die ausgewählten Y-Driver und die X- und Y-Stromerzeuger in dem Stapelmodul und damit tatsächlich einen Strom in den Stapeln.
709833/0866
••»'J.
Wie aus Fig. 15 zu ersehen, sind die nächsten Obergänge, welche auftreten, die Vorderflanke von dem CLR MDR-Signal und die Rückflanke von dem LDMBR-Signal. Das CLR MDR-Signal, wie es in Fig.15 dargestellt ist, stellt zwei Signale dar. Ein Signal wird gerichtet zu einem unteren Stapelmodul und das andere zu dem oberen Stapelmodul (Fig. 1). Diese Signale lösen die Datenregister in den Speicherstapeln, das sind die Register mit einer Reihe von Flip-Flops 223, wie sie in Fig. 20 gezeigt sind. Diese Rückstelloperation ist notwendig, um die Register vorzubereiten, daß die einzelnen Stufen nacheinander direkt gesetzt werden können, während des zerstörenden Lesens der Kerne. Auch Flip-Flops entsprechend den Flip-Flops 223 in nichtausgewählten Stapelmodulen werden zurückgesetzt, so daß, wenn Lesedaten abgetastet werden zu der Speichersteuerung, die internen Leitungen nur die Daten anzeigen, ,welche von dem ausgewählten Speichermodul stammen.
Während des CLR MDR-Impulses, zeigt der Steuersignalgenerator 145 in Fig. 11 das READ LATE-Signal an. Dieses Signal schaltet die X-Driver in dem ausgewählten Stapel an und steuert den Strom durch die X-DRähte. Die adressierten Kerne sind nun gelesen. Die ausgewählten X-Driver sindnoch nicht eingeschaltet, um Obergangsvorgänge zu erlauben, sie auszugleichen solang als möglich bevor die adressierten Kerne geschaltet werden. Wenn das letztere auftritt, wie beispielsweise ein Abtastverstärker 224 in Fig. 20 der mit den entsprechenden Abfühl-Sperrleitungen verbunden ist, gibt eine Ausgangsspannung ab. Ein Abtastauswahlgenerator 225 steuert über eine UND-Schaltung 226 direkt das Flip-Flop 223, wenn ein ausgewählter Kern eine EINS enthält. Andererseits bleibt das Flip-Flop 223 zurückgesetzt. Wie aus Fig. 20 zu ersehen und vorstehend erwähnt, kann die Zeitsteuerung des Abtastaus-
709833/0866
•J*.
blendgenerators gesteuert werden von dem Abtastrandsignal, wie es in Fig. 14 erläutert wurde.
Der Zeitsteuersignalgenerator 145 (Fig. 11) überträgt das SAS EN-Signal. Dieses Signal, wie es in Fig. 15 gezeigt ist, stellt eines von vier Signalen dar, welche gesteuert werden von den beiden Maskensignalen, von dem Haltekreis 153. Während einer Leseoperation werden alle vier SAS EN-Signale angezeigt, so daß der Abtastausblendgenerator 225 alle beide ausblendet und in das interne Datenregister gibt, welche aus den Flip-Flops 223 bestehen.
Ehe der Steuersignalgenerator 145 das SAS EN-Signal beendet, erzeugt er auch einen ST WRITE-Impuls, welcher den Schreibtaktgenerator 156 auslöst.,und eine Zeitfolge mit einem WT O-Signal beginnt. Sobald der ST WRITE-Impuls beendet ist, beendet auch der Steuersignalgenerator 145 das SAS EN-Signal und zeigt ein MEMOUT EN-Signal an. Wie aus Fig. 20 zu ersehen, gibt dieses Signal eine NICHT-üND-Schaltung, wie beispielsweise eine NICHT-üND-Schaltung 227 frei zur Verbindung über die Datenleitungen, welche den Empfänger 41 in Fig. 1 verbinden, ein massebezogenes Signal, welches den Zustand des Flip-Flops 223, das ist die Information, welche empfangen wurde von dem Speicher 29, weiterzugeben. Danach überträgt der Steuersignalgenerator 145 das TXR OUT EN-Signal, welches umgeformt durch Inverter 230 und 231 eine NICHT-üND-Schaltung 232 freigibt, um die Daten von der internen Datenleitung über Inverter 233 an die Sammelleitung 40 zu geben. Das TXR OUT EN-Signal endet zusammen mit dem MEM OUT EN-Signal.
-49-
709833/0866
Wenn das MEM OUT EN-Signal beendet ist, ist der Speicherempfanger 41 gerüstet zur übertragung der Daten von der Sammelleitung 40 zu den internen Leitungen. Zu derselben Zeit endet das BOCC Zeitsignal, wodurch die UND-Schaltung 221 (Fig.13) das Leitungbesetztsignal auf der Sammelleitung 40 beendet, wobei angezeigt wird für den assoziativen Speicher, daß die Leitung frei ist für eine Folgeoperation.
Da das TXR OUT EN-Signal angezeigt wird, der Steuersignalgenerator 145 überträgt auch das Datenlesesignal, welches über den Speicherempfänger 41 zur Sammelleitung 40 als ein Steuersignal geführt wird. Dieses informiert die Masterstation, daß die geforderten Daten auf der Leitung 40 und gibt Haltekreise innerhalb der Masterstation frei, die Daten zu lesen.
Wie vorstehend erwähnt, löst das ST WRITE-Signal (Fig. 15) eine Zeitfolge durch den Schreibtaktgenerator 156 (Fig.11) aus. Gleichzeitig mit der übertragung von dem TRX OUT EN-Signal durch den Steuersignalgenerator 145 verursachen die Signale des Schreibtaktgenerators 156 den Generator 145 zur übertragung eines ST CHG- und WRITE EARLY-Signals. DAs ST CH-Signal wird zu dem ausgewählten Stapeln abhängig von den STACK SEL-Signal von dem Speieherauswahl- und Schaltkreis 1.46 geführt. Es aktiviert einen Stapel Ladekreis, welcher in der folgenden Schreiboperation verwendet wird. Das WRITE EARLY -Signale schaltet die ausgewählten X- und Y-Schalter und die X- und Y-Generatoren in dem Speichermodul ein. Als nächstes überträgt der Steuergenerator 145 das WRITE LATE- und das Sperrzeitsignal. Das Sperrsignal wird zu einer NICHT-UND-Schaltung 240 (Fig. 20) geführt. Es ver-
-50-709833/0866
ursacht die zeitliche Steuerung für die Einschaltung des Sperrdrivers 241 abhänging von dem Zustand des Flip-Flops 223. Wenn das Flip-Flop 223 zurückgesetzt ist, um einen Nullzustand wiederzugeben, wird der entsprechende Sperrdriver 241 nicht erregt. Wenn das Flip-Flop einen Einszustand jedoch enthält, wird der Sperrdriver 241 eingeschaltet zur Erzeugung eines Sperrimpulses für ein Abfühlen des Endenetzwerks 242. Diese Operation ermöglicht damit ein Wiedereinschreiben in den Stapel der Daten, welche zerstörend empfangen wurden aus diesem, während der Leseoperation. WEnn diese vier Signale von dem Steuersignalgenerator 145 beendet sind, entsteht eine Verzögerung und überträgt der Steuersignalgenerator einen Endeimpuls (1END-) , welcher die Taktgeneratoren zurückstellt und die BUSY-, LOCK- und LOCK MAR-Signale beendet, wodurch der Stapel freigegeben wird, eine nachfolgende Operation einzuleiten.
Die zweite Art einer Operation, welche auftreten kann, ist eine Schreiboperation. Die zeitliche Folge der einzelnen Signale in einer Schreiboperation ist in Fig. 16 gezeigt. Während einer Schreiboperation erzeugt die Masterstation auf der Sammelleitung 40 die ADDRESS-, BYRE MASKEN-, CO- und C1-Signale, welche eine Schreiboperation anzeigen, und die Grundadress-Parity-Signale. Kurz danach überträgt die masterstation über die Datenleitungen die Datensignale und dann das Startsignal. Wie vorstehend ausgeführt, veranlaßt das Startsignal den logischen Speicherzyklusstartkreis das Startverzögerungssignal (START DELAY) zu übertragen und die Zeitfolge auszulösen und, wie ebenfalls vorstehend schon erwähnt, veranlaßt es den Steuersignalgenerator 145 die BUSY-, LD MBR-, LOCK MAR-, IACK- und READ EARLY-Signale zu übertragen.
709833/0866
Nunmehr beendet der Steuersignalgenerator 145 das LD MBR-Signal und lädt die Daten in den Haltekreis 250 in dem Speicherempfänger 41 (Fig. 20). Gleichzeitig überträgt er das CLR MDR-Signal, um das Flip-Flop 223 zurückzusetzen. Als nächstes überträgt der Steuersignalgenerator 145 das READ LATE-Signal, um die Kerne zurückzusetzen in der bestimmten Adresse, was vor Durchführung einer Schreiboperation notwendig ist. Das CLR MDR-Signal endet dann und das LD MDR-Signal wird angezeigt.
Das TRX OUT EN-Signal ist aktiv während dieses Intervalls, so daß der Inverter 230 eine NICHT-UND-Schaltung 251 freigibt zur Verbindung eines Signals über die internen Leitungen entsprechend den Daten, die übertragen werden sollen. Dieses Signal wird über einen Empfänger 252 verbunden wodurch das LD MDR-Signal die DAten in die Haltekreise entsprechend den Flip-Flops 223 lädt. Der STeuersignalgenerator 145 überträgt auch das READ LATE-Signal zum Löschen der Daten in den Kernen.
Die SAS EN-Signale enthalten die beiden Maskensignale. Auf diese Weise werden, wenn Byte O geschrieben werden soll, EN SAS BYTE-Signale 1 bis 3 werden angezeigt, so daß die Daten in den Kernen gespeichert werden in dem entsprechenden einen von den Flip-Flops 223. Wenn das Byte geschrieben werden soll, dann sind der Abfühlabtastgenerator, welcher mit dem speziellen Byts verbunden ist und die UND-Schaltung nicht geeignet, die Daten zu dem Flip-Flop 223 zu verbinden. Auf diese Weise bei der Beendigung von dem READ LATE-Signal die entsprechenden Haiekreise zu dem Flip-Flop 223 speichert Daten entsprechend zu den Daten, die geschrieben werden in die neuen Bytes und im Hinblick auf irgendwelchen anderen Bytes, die ursprünglich gespeicherten Daten in jene Bytes.
709833/0866
Wie in einer vorausgehenden Leseoperation,überträgt der Steuergenerator anschließend die ST CHG-, WRITE EARLY-, WRITE LATE- und Sperrzeitsignale, um die die Daten in den Kernen wiederzuspeichern und dann wird das Endesignal übertragen, um die Operation zu beenden.
Die dritte Arbeitsart, welche vorkommen kann in diesem System besteht in einer Operationsänderung während Daten in den Haltekreisen sind und die Daten in den bezeichneten Speicherplätzen ausgetauscht werden. Während einer Austausch-(Vermittlung-)Operation bildet die Masterstation tatsächlich eine Schreiboperation, wobei die Adresse des Speicherplatzes festgehalten wird, die Steuersignale eine Austauschoperation anzeigen und die Daten auf der Sammelleitung 40 sind. Wenn der in Fig. 11 gezeigte Speichersteuerkreis eine derartige Operation auslöst. Überträgt er Belegt^LDMBR-, LOCKMAR- und IACK-Signal. Er überträgt auch das Leitungsbesetztzeit-(BOCC TIME-) und READ EARLY-Signale. Diese zusammen bilden die gemeinsame Funktion,wie vorher aufgezeigt, und wenn das LDMBR-Signal beendet wird, die Daten die in den Speicherplatz eingegeben werden sollen, werden in das Flip-Flop 250 gespeichert. Als nächstes verwendet das System die CLR MDR-Signale, um die Flip-Flops 223 zurückzustellen und die READ LATE-Signale auszulösen. Die SAS EN-Signale steuern, welches Byte dann gelesen werden soll in die Flip-Flops 223, um eine Auswechseloperation auf einer Byte-by-Byte-Basis durchzuführen. Wenn die SAS EN-Signale beendet sind, überträgt der Steuergenerator 145 ein MEM OUT EN-Signal, welches über die NICHT-UND-Schaltungen 227 die Daten auf den internen Leitungen durchverbindet. Dann überträgt der Steuersignalgenerator 145 das TXR OUT EN-Signal,
709833/0866
- SiS -
um zu ermöglichen, daß das ausgewählte Byte über die Leitung 40 läuft und erzeugt das Leseendesignal. Zusätzlich überträgt der Steuergenerator 145 über dieses vollständige Intervall das Haltesignal, welches den Schreibtaktgenerator hindert zur übertragung irgendwelcher anderer Signale.
Wenn die Leseoperation einmal beendet ist, ist jedoch der Schreibtaktgenerator 156 wieder in der Lage seine Zeitsequenz auszulösen. Das erste Signal, welches dann übertragen wird von dem Generator 145 ist das LD MDR-Signal, welches in die Empfänger-Flip-Flops 250 (Fig. 20), die in dem Wechselspeicher zu speichernden DAten lädt. Das Einschreiben geschieht dann auf einer Byte-by-Byte-Basis und das LD MDR-Signal für ein spezielles Byte wird abgefühlt, nur wenn das entsprechende Bytemaskenbit auftritt. Damit werden nur die zu schreibenden Bytes in die Flip-Flops 223 (Fig. 20) geladen. Diese Ladeoperation erscheint, weil das TXR OUT EN-Signal endet an dem Ende einer Leseoperation und dabei die NICHT-UND-Schaltung 251 freigibt, um die Daten in dem Flip-Flop 251 auf die interne Datenleitung zu übertragen. Der REst der Schreiboperation verläuft dann wie vorstehend beschrieben und der Speicherzyklus kann beendet werden.
Zusammenfassend wurde in dieser Anmeldung eine äußerst effiziente assoziative Speicheranordnung für DAtenverarbeitungssysterne beschrieben. In Übereinstimmung mit dem Prinzip der Lage, die Beispiele der "hits" in dem assoziativen Speicher übertreffen im wesentlichen die Zahl der "Fehler", so daß die tatsächliche Geschwindigkeit der DAtenübertragung von dem Speicher zu der Zentraleinheit bedeutend erhöht ist. DArüberhinaus ist, wie vorstehend erläutert, die Anordnung
709833/0866
geeignet zur Schaffung eines großen Speichers (z.B. 4 Millionen Bytes für einen direkten Zugriffsspeicher) in einer kostengünstigen Weise, von welchen DAten wieder aufgerufen werden können mit einer extrem großen Geschwindigkeitsrate. Auch wie speziell in Fig. 11 gezeigt, enthält jede Speichersteuerung Schaltkreise, die ermöglichen verschiedene Arten von Teilspeichern zusammenzuschalten innerhalb einer gegebenen Speichereinheit. Oberläppende Operationen können ebenfalls durchgeführt werden.
- Patentansprüche -
-55-
709833/0866
Leerseite

Claims (1)

  1. Patentansprüche
    1.) Speichereinheit für Datenverarbeitungssysteme zum direkten Zugriff zu Steuerdaten (Befehlen) sowie zu zuverarbeitenden Daten und zum Abspeichern von verarbeiteten Daten von einer Zentraleinheit aus, welche mit dem Arbeitsspeicher sowie mit einer frei wählbaren Konfiguration von peripheren Geräten, Anschlußeinheiten und/oder Datenübertragungsleitungen jeweils über Sammelleitungen zum Datenaustausch verbunden ist, dadurch gekennzeichnet, daß zum direkten Verkehr mit der Zentraleinheit (21) ein kapazitätsmäßixnassoziativer Schnellspeicher (24) vorgesehen ist, welcher über eigene Vielfachleitungen mit Speichermodulen (30 bis 33) als Informationsaustauschspeichersystemen (29) sowie in an sich bekannter Weise mit Sekundärspeichersystemen (35,37) mit beliebiger Zugriffsart (Direktzugriff und/oder sequentiellem Zugriff der Speicherplätze) verbunden ist.
    2. Speichereinheit nach Anspruch 1^ dadurch gekennzeichnet, daß jedes einzelne Speichermodul (30 bis 33) für jeden von aufeinanderfolgenden Speicherzyklen einen Datentransfer durch übertragung von binären Adressensignalen und asynchronen Steuersignalen zur Steuerung des Transfers der Daten zwischen dem direkten Speichermodul mit direktem Speicherzugriff und dem übrigen Datenverarbeitungssystem auslöst, daß das Dirpktzugriffs-Speichermodul adressable Speicherglieder zur Speicherung digitaler Daten in adressierbaren Speicherplätzen, Adressendekodierglieder zur Erzeu-
    -56-
    709833/0866
    ORIGINAL INSPECTED
    gung eines Freigabesignals beim Empfang binärer Adressensignale durch die Adressendekodierglieder von der Zentraleinheit, wenn diese einen Speicherplatz in den adressierbaren Speichergliedern identifizieren und Steuerglieder enthalt, die mit den adressierbaren Speichergliedern und den Adressendekodiergliederη verbunden sind, wobei die Steuerglieder abhangig von einem Freigabesignal und dem asynchronen Steuersignalen ausgelöst werden zur Einleitung von Lese- und Schreibspeicherzyklen, wobei solch ein Schreibzyklus eine Leseoperation enthalt, in dessen Verlauf digitale Daten von einem identifizierten Speicherplatz in den adressierbaren Speichergliedern empfangen werden und eine Schreiboperation in dessen Verlauf Daten wiedereingespeichert werden in den identifizierten Speicherplatz in den adressierbaren Speichergliedern, und dadurch gekennzeichnet, daß zu dem Datenverarbeitungssystem ein "Leitungsbesetztsignal" wahrend des für das Lesen bestimmten Zeitabschnittes ein Lesespeicherzyklus übertragen wird, das die Auslösung von irgend einem nachfolgenden Speicherzyklus durch das digitale Datenverarbeitungssystem vorübergehend unterbindet.
    3. Speichereinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Steuerglieder zusatzlich ein "Startverzögerungssignal" übertragen, das einen Speicherzyklus in dem Direktzugriff s-Speichermodul auslöst, daß das Startverzögerungssignal abhangig zu den asynchronen Steuersignalen übertragen wird, welche von dem Datenverarbeitungssystem empfangen werden, und daß die Steuerglieder ein "Quittungssignal" abhangig von dem Startverzögerungssignal übertragen, das von dem "Leitungbesetztsignal" unterdrückt wird.
    709833/0866
    ΛΑ. Speichereinheit nach Anspruch 2, dadurch gekennzeichnet, daß die adressierbaren Speicherglieder eine Mehrzahl von Direktzugriffspeicherstapeln (44,45) enthalten, von denen jedes eine Zahl von Plätzen beinhaltet, die durch einen Block von aufeinanderfolgenden Speicheradressen gekennzeichnet sind, wobei bestimmte Stapel eine erste Arbeitscharakteristik und die anderen eine zweite Arbeitscharakteristik aufweisen, wobei jedem Speicherstapel Identifizierungsglieder zugeordnet sind, die ihre Arbeitscharakteristik kennzeichnen, und dadurch gekennzeichnet, daß zusätzliche Steuerglieder zur Aufnahme der Stapelsignale von den Speicherstapeln vorgesehen sind die abhängig von den Stapelsignalen und dem Quittungssignal Stapelcharakteristiksignale erzeugen, welches dem Stapelsignal von dem durch die binären Adressensignale identifizierten Stapel entsprechen, wobei die Synchronisierung des Leitung-besetzt-Signals abhängig zu dem Stapelcharakteristiksignal verändert wird.
    5. Speichereinheit nach Anspruch 3, dadurch gekennzeichnet, daß die Speicherstapel in Paare von Stapeln gruppiert sind und die Steuerglieder zusätzlich Schaltglieder zur Erzeugung eines Fehlersignals abhängig von den Stapelsignalen der Speicherstapeln enthalten, welche das Start-Verzögerungs-Signal unterdrücken, wenn die Stapelsignale anzeigen, daß jeder Stapel in einem genannten Paar unterschiedliche Arbeitscharakteristiken aufweist.
    6. Speichereinheit nach Anspruch 1, dadurch gekennzeichnet, daß Steuerschaltkreise zur Steuerung der Arbeitsweise der adressierbaren Speicherglieder abhängig zu analogen Steuersignalen enthält und daß das digitale Datenver-
    -58-
    709833/0866
    Ή.
    arbeitungssystem, binäre Randsignale zum Verbinden des Wertes der analogen Steuersignale überträgt, wobei die Direktzugriffspeichermodule zusätzlich Schaltglieder zum Umwandeln der binären Randsignale, welche von den Datenverarbeitungssystem empfangen werden, in analoge Steuersignale enthalten zur Steuerung der Arbeitsweise der Steuerschaltkreise in den adressierbaren Speichergliedern.
    7. Speichermodul mit Direktzugriff zur Verwendung als Teil einer Speichereinheit in einem digitalen Datenverarbeitungssystem nach Anspruch 1, welches elektrische Signale einschließlich der Sätze von Adressensignalen, Datensignalen und Steuersignalen überträgt, wobei die Steuersignale ein Übertragungssteuersignal, welches zum Transfer der Daten zwischen dem Speichermodul und der digitalen Datenverarbeitungssysteme benötigt wird, und binäre Randsteuersignale zur Steuerung des Arbeitsablaufes in dem Speichermodul einschließen, wobei das Speichermodul adressierbare Steuerglieder zur Speicherung digitaler Daten an einzelnen adressierten Speicherplätzen darin umfaßt, Adressendekodierglieder zur Erzeugung eines Freigabesignals, wenn eine Adressendekodierung empfangen wird von dem digitalen Datenverarbeitungssystem mit einem Satz von Adressensignalen, welche einen Speicherplatz in den adressierbaren Speichergliedern indentifizieren und Synchronisierglieder, welche mit dem adressierbaren Speicherglied und den Adressierdekodiergliedern verbunden sind, und wobei die Synchronisierglieder abhängig zu einem Freigabesignal und einem Übertragungssteuersignal zur Auslösung eines Speicherabrufzyklus bestimmt sind, während welchem Daten übertragen werden zwischen dem identifizierten Speicherplatz und dem Da-
    -59-
    709833/0866
    tenverarbeitungssystem, dadurch gekennzeichnet, daß das Speichermodul zusätzlich zur Ablaufsteuerung in den adressierbaren Speicherglieder, Schaltglieder, Digital-Analog-Konverter zur Erzeugung von Analogsignalen, abhängig von dem binären Randsteuersignalen, die von dem Datenverarbeitungssystem empfangen werden, und Steuerglieder enthält, welche mit den adressierbaren Speichergliedern und den Konvertern zur Steuerung der Arbeitsweise der adressierbaren Speicherglieder in Abhängigkeit von dem analogen Signal verbunden sind.
    8. Speichermodul nach Anspruch 6, dadurch gekennzeichnet, daß die adressierbaren Speicherglieder Abtastverstärker, Ausgangstorschaltungen und Abtastimpulsgeneratoren zur Steuerung der Torschaltungen enthalten, um Datensignale zu erzeugen, welche den Signalen entsprechen, die von den Speicherplätzen der von den Taktsignalen des Abtastgenerators definierten Speicherplätzen abhängig von den Analogsignalen abgerufen sind.
    9. Speichermodul nach Anspruch 6, dadurch gekennzeichnet, daß die adressierbaren Speicherglieder Speicherelemente nach dem Koenzidenz-Strom-Prinzip enthalten und Glieder, die abhängig von den binären Adressensignalen eine Stromauswahl durchführen zur Auswahl eines Speicherelementes des gekennzeichneten SpeiehermoduIs zur Steuerung der Amplitude der ausgewählten Ströme abhängig von den analogen Steuersignalen.
    10. Speichermodul nach Anspruch 6, dadurch gekennzeichnet, daß eine Mehrzahl von Steuergliedern zur Steuerung unterschiedlicher Arbeitsweisen der adressierbaren Speicherglieder vorgesehen sind, wobei die Analog-Digital-Um-
    709833/0866
    Wandlungsglieder Dekodierglieder enthalten, die die binären RandSteuersignale zur Erzeugung eines von einer Vielzahl von analogen Steuersignalen enthalten, wobei die Anzahl der Steuerglieder geringer ist als die Zahl der Kombinationen, welche die binären Randsteuerglieder definieren können, und daß Mittel vorgesehen sind, abhängig zu den binären Randsteuersignalen, welche entsprechend der Werte, welche nicht einem Steuerglied zur übertragung eines Signales entsprechen, dabei ungeeignet für eine Taktsteuerung machen, wobei das Speichermodul zusätzliche Schaltglieder enthält, die abhängig zu dem Signal eine übertragung der Signale zu dem Datenverarbeitungssystem ermöglichen.
    709833/0866
DE19772705858 1976-02-13 1977-02-11 Speichereinheit fuer datenverarbeitungssysteme Ceased DE2705858A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/658,113 US4055851A (en) 1976-02-13 1976-02-13 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

Publications (1)

Publication Number Publication Date
DE2705858A1 true DE2705858A1 (de) 1977-08-18

Family

ID=24639954

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772705858 Ceased DE2705858A1 (de) 1976-02-13 1977-02-11 Speichereinheit fuer datenverarbeitungssysteme

Country Status (5)

Country Link
US (3) US4055851A (de)
JP (1) JPS52125241A (de)
CA (1) CA1083724A (de)
DE (1) DE2705858A1 (de)
GB (4) GB1579062A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0009625A2 (de) * 1978-09-28 1980-04-16 Siemens Aktiengesellschaft Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4137565A (en) * 1977-01-10 1979-01-30 Xerox Corporation Direct memory access module for a controller
US4158227A (en) * 1977-10-12 1979-06-12 Bunker Ramo Corporation Paged memory mapping with elimination of recurrent decoding
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
US4296466A (en) * 1978-01-23 1981-10-20 Data General Corporation Data processing system including a separate input/output processor with micro-interrupt request apparatus
DK157954C (da) * 1978-01-23 1990-08-13 Data General Corp Databehandlingsanlaeg med direkte lageradgang
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US4218756A (en) * 1978-06-19 1980-08-19 Bell Telephone Laboratories, Incorporated Control circuit for modifying contents of packet switch random access memory
US4240138A (en) * 1978-10-03 1980-12-16 Texas Instruments Incorporated System for direct access to a memory associated with a microprocessor
GB2037039B (en) * 1978-12-11 1983-08-17 Honeywell Inf Systems Cache memory system
US4217640A (en) * 1978-12-11 1980-08-12 Honeywell Information Systems Inc. Cache unit with transit block buffer apparatus
US4208716A (en) * 1978-12-11 1980-06-17 Honeywell Information Systems Inc. Cache arrangement for performing simultaneous read/write operations
DE2853501A1 (de) * 1978-12-12 1980-06-26 Ibm Deutschland Speicherhierarchie mit ladungsverschiebungsspeicher
US4321668A (en) * 1979-01-02 1982-03-23 Honeywell Information Systems Inc. Prediction of number of data words transferred and the cycle at which data is available
US4276609A (en) * 1979-01-04 1981-06-30 Ncr Corporation CCD memory retrieval system
US4245307A (en) * 1979-09-14 1981-01-13 Formation, Inc. Controller for data processing system
WO1981001066A1 (en) * 1979-10-11 1981-04-16 Nanodata Computer Corp Data processing system
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
US4462029A (en) * 1979-12-06 1984-07-24 Analogic Corporation Command bus
US4390969A (en) * 1980-04-21 1983-06-28 Burroughs Corporation Asynchronous data transmission system with state variable memory and handshaking protocol circuits
JPS6057090B2 (ja) * 1980-09-19 1985-12-13 株式会社日立製作所 データ記憶装置およびそれを用いた処理装置
US4366539A (en) * 1980-10-31 1982-12-28 Honeywell Information Systems Inc. Memory controller with burst mode capability
US4370712A (en) * 1980-10-31 1983-01-25 Honeywell Information Systems Inc. Memory controller with address independent burst mode capability
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
US4392201A (en) * 1980-12-31 1983-07-05 Honeywell Information Systems Inc. Diagnostic subsystem for a cache memory
EP0055579B1 (de) * 1980-12-31 1991-03-20 Bull HN Information Systems Inc. Cache-Speicher mit Doppelwort-Zugriff
US4363095A (en) * 1980-12-31 1982-12-07 Honeywell Information Systems Inc. Hit/miss logic for a cache memory
US4424561A (en) 1980-12-31 1984-01-03 Honeywell Information Systems Inc. Odd/even bank structure for a cache memory
US4485435A (en) * 1981-03-09 1984-11-27 General Signal Corporation Memory management method and apparatus for initializing and/or clearing R/W storage areas
FR2503899A1 (fr) * 1981-04-08 1982-10-15 Thomson Csf Procede et dispositif de transmission de donnees numeriques
US4368515A (en) * 1981-05-07 1983-01-11 Atari, Inc. Bank switchable memory system
US4531199A (en) * 1981-06-01 1985-07-23 International Business Machines Corporation Binary number substitution mechanism in a control store element
US4510582A (en) * 1981-06-01 1985-04-09 International Business Machines Corp. Binary number substitution mechanism
US4481570A (en) * 1981-08-07 1984-11-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Automatic multi-banking of memory for microprocessors
US4420807A (en) * 1981-08-31 1983-12-13 International Business Machines Corporation Selectively holding data in a buffer for defective backing store tracks
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
US4473878A (en) * 1981-11-23 1984-09-25 Motorola, Inc. Memory management unit
JPS5948879A (ja) * 1982-09-10 1984-03-21 Hitachi Ltd 記憶制御方式
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
US4580217A (en) * 1983-06-22 1986-04-01 Ncr Corporation High speed memory management system and method
US4724518A (en) * 1983-07-29 1988-02-09 Hewlett-Packard Company Odd/even storage in cache memory
US4625273A (en) * 1983-08-30 1986-11-25 Amdahl Corporation Apparatus for fast data storage with deferred error reporting
US4615017A (en) * 1983-09-19 1986-09-30 International Business Machines Corporation Memory controller with synchronous or asynchronous interface
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
DE3502147A1 (de) * 1984-01-23 1985-08-08 Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
US4587610A (en) * 1984-02-10 1986-05-06 Prime Computer, Inc. Address translation systems for high speed computer memories
US4771281A (en) * 1984-02-13 1988-09-13 Prime Computer, Inc. Bit selection and routing apparatus and method
US4584666A (en) * 1984-06-21 1986-04-22 Motorola, Inc. Method and apparatus for signed and unsigned bounds check
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4916603A (en) * 1985-03-18 1990-04-10 Wang Labortatories, Inc. Distributed reference and change table for a virtual memory system
US4716545A (en) * 1985-03-19 1987-12-29 Wang Laboratories, Inc. Memory means with multiple word read and single word write
FR2586118B1 (fr) * 1985-08-06 1990-01-05 Bull Sems Procede d'echange de donnees entre un microprocesseur et une memoire et dispositif permettant la mise en oeuvre du procede
US4797853A (en) * 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US4937770A (en) * 1986-02-07 1990-06-26 Teradyne, Inc. Simulation system
US4893279A (en) * 1986-03-04 1990-01-09 Advanced Micro Devices Inc. Storage arrangement having a pair of RAM memories selectively configurable for dual-access and two single-access RAMs
US5561429A (en) * 1986-04-16 1996-10-01 Raytheon Company Content limit addressable memory
US4727486A (en) * 1986-05-02 1988-02-23 Honeywell Information Systems Inc. Hardware demand fetch cycle system interface
US4914582A (en) * 1986-06-27 1990-04-03 Hewlett-Packard Company Cache tag lookaside
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPS63225837A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 距離付きベクトルアクセス方式
US4858116A (en) * 1987-05-01 1989-08-15 Digital Equipment Corporation Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
US4937733A (en) * 1987-05-01 1990-06-26 Digital Equipment Corporation Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US4941083A (en) * 1987-05-01 1990-07-10 Digital Equipment Corporation Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
JP2965987B2 (ja) * 1988-02-22 1999-10-18 株式会社日立製作所 データ処理システム
JPH0769797B2 (ja) * 1988-03-18 1995-07-31 日本電気株式会社 マイクロコンピュータシステム
US5155834A (en) * 1988-03-18 1992-10-13 Wang Laboratories, Inc. Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory
JPH01246656A (ja) * 1988-03-29 1989-10-02 Nec Corp プロセッサ間共有メモリ管理方式
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
US5140690A (en) * 1988-06-14 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Least-recently-used circuit
US5535359A (en) * 1988-12-02 1996-07-09 Mitsubishi Denki Kabushiki Kaisha Computer system with cache memory having address mask register
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
JP2668438B2 (ja) * 1989-04-21 1997-10-27 三菱電機株式会社 データ検索装置
EP0421696A3 (en) * 1989-10-02 1992-01-29 Motorola Inc. Staggered access memory
US5341493A (en) * 1990-09-21 1994-08-23 Emc Corporation Disk storage system with write preservation during power failure
US5412788A (en) * 1992-04-16 1995-05-02 Digital Equipment Corporation Memory bank management and arbitration in multiprocessor computer system
KR100294105B1 (ko) * 1992-04-29 2001-09-17 썬 마이크로시스템즈, 인코포레이티드 멀티 프로세서 컴퓨터 시스템의 일관성 카피-백 버퍼용 방법 및 장치
US5479641A (en) * 1993-03-24 1995-12-26 Intel Corporation Method and apparatus for overlapped timing of cache operations including reading and writing with parity checking
US6115665A (en) * 1993-05-07 2000-09-05 Ford Motor Company Memory efficient computer system and method for controlling an automotive ignition system
US5535360A (en) * 1994-08-31 1996-07-09 Vlsi Technology, Inc. Digital computer system having an improved direct-mapped cache controller (with flag modification) for a CPU with address pipelining and method therefor
US5475690A (en) * 1994-11-10 1995-12-12 Digital Equipment Corporation Delay compensated signal propagation
JPH0934784A (ja) * 1995-07-14 1997-02-07 Sony Corp データ書込み回路、データ読出し回路及びデータ伝送装置
US5868437A (en) * 1995-07-17 1999-02-09 Teague; Anthony Composite pipe structure
US5638315A (en) * 1995-09-13 1997-06-10 International Business Machines Corporation Content addressable memory for a data processing system
US6006310A (en) * 1995-09-20 1999-12-21 Micron Electronics, Inc. Single memory device that functions as a multi-way set associative cache memory
GB2308469A (en) * 1995-12-22 1997-06-25 Motorola Inc Power conserving clocking system
US5696930A (en) * 1996-02-09 1997-12-09 Advanced Micro Devices, Inc. CAM accelerated buffer management
US5907863A (en) * 1996-08-16 1999-05-25 Unisys Corporation Memory control unit using preloaded values to generate optimal timing of memory control sequences between different memory segments
US6560682B1 (en) * 1997-10-03 2003-05-06 Intel Corporation System and method for terminating lock-step sequences in a multiprocessor system
US6212616B1 (en) * 1998-03-23 2001-04-03 International Business Machines Corporation Even/odd cache directory mechanism
KR100280518B1 (ko) * 1998-11-10 2001-03-02 김영환 동기 에스램 회로
US6370605B1 (en) 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
US6397267B1 (en) * 1999-03-04 2002-05-28 Sun Microsystems, Inc. Redirected I/O for scalable performance storage architecture
US6349357B1 (en) 1999-03-04 2002-02-19 Sun Microsystems, Inc. Storage architecture providing scalable performance through independent control and data transfer paths
US6604155B1 (en) 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
US20020046061A1 (en) 2000-02-11 2002-04-18 Wright Kenneth L. Personal information system
US7809728B2 (en) * 2003-07-09 2010-10-05 Canon Kabushiki Kaisha Recording/playback apparatus and method
WO2010022402A1 (en) * 2008-08-22 2010-02-25 Datcard Systems, Inc. System and method of encryption for dicom volumes
WO2010048531A1 (en) 2008-10-24 2010-04-29 Datcard Systems, Inc. System and methods for metadata management in content addressable storage
WO2011133917A2 (en) 2010-04-23 2011-10-27 Datcard Systems, Inc. Event notification in interconnected content-addressable storage systems
WO2012078898A2 (en) 2010-12-10 2012-06-14 Datcard Systems, Inc. Secure portable medical information access systems and methods related thereto
US20140359181A1 (en) * 2013-05-31 2014-12-04 Hewlett-Packard Development Company, L.P. Delaying Bus Activity To Accomodate Memory Device Processing Time
EP3014449A4 (de) * 2013-06-27 2017-03-08 Hewlett-Packard Enterprise Development LP Speicherbus-fehlersignal
US20150100733A1 (en) * 2013-10-03 2015-04-09 Synopsys, Inc. Efficient Memory Organization
US10402324B2 (en) 2013-10-31 2019-09-03 Hewlett Packard Enterprise Development Lp Memory access for busy memory by receiving data from cache during said busy period and verifying said data utilizing cache hit bit or cache miss bit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2421229A1 (de) * 1973-05-01 1974-11-14 Digital Equipment Corp Digitales datenverarbeitungssystem

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2980893A (en) * 1956-08-21 1961-04-18 Nippon Telegraph & Telephone Memory system for electric signal
US3376554A (en) * 1965-04-05 1968-04-02 Digital Equipment Corp Digital computing system
US3566358A (en) * 1968-03-19 1971-02-23 Bevier Hasbrouck Integrated multi-computer system
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3753232A (en) * 1972-04-06 1973-08-14 Honeywell Inf Systems Memory control system adaptive to different access and cycle times
US3821709A (en) * 1972-10-05 1974-06-28 Honeywell Inf Systems Memory storage sequencer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2421229A1 (de) * 1973-05-01 1974-11-14 Digital Equipment Corp Digitales datenverarbeitungssystem

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0009625A2 (de) * 1978-09-28 1980-04-16 Siemens Aktiengesellschaft Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
EP0009625A3 (en) * 1978-09-28 1981-05-13 Siemens Aktiengesellschaft Berlin Und Munchen Data transfer commutator with associative address selection in a virtual store

Also Published As

Publication number Publication date
US4149239A (en) 1979-04-10
JPS52125241A (en) 1977-10-20
JPS6338794B2 (de) 1988-08-02
GB1579064A (en) 1980-11-12
GB1579062A (en) 1980-11-12
CA1083724A (en) 1980-08-12
GB1579063A (en) 1980-11-12
US4055851A (en) 1977-10-25
US4151593A (en) 1979-04-24
GB1579061A (en) 1980-11-12

Similar Documents

Publication Publication Date Title
DE2705858A1 (de) Speichereinheit fuer datenverarbeitungssysteme
DE3724317C2 (de)
DE69827714T2 (de) Assoziativspeichersystem
DE3801380C2 (de)
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE3650532T2 (de) Speicher mit programmierbarem Zugang
DE69421379T2 (de) Wiederverwendbarer Mehrwegsatz assoziativer Cache-Speicher
DE4210857C2 (de) Halbleiterspeichereinrichtung und Verfahren zum Übertragen von Daten
DE2442191C2 (de) Verfahren zur Fehlerortsbestimmung in einem Arbeitsspeicher und Anordnung zur Durchführung des Verfahrens
DE68922975T2 (de) Speichereinheit mit zwei Toren.
DE2617408A1 (de) Datenverarbeitungsgeraet
DE69230188T2 (de) Sequentieller Speicherzugriff
DE2230987C2 (de)
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2928488A1 (de) Speicher-subsystem
DE2241257B2 (de) Datenverarbeitende Anlage
DE2517356A1 (de) In datenverarbeitungsanlagen universell einsetzbarer logischer modul- baustein
DE2441754A1 (de) Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors
DE2163342B2 (de) Hierarchische binaere speichervorrichtung
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE69714532T2 (de) Synchrone Halbleiterspeichervorrichtung mit Makrobefehlsspeichern und Ausführungsverfahren dafür
DE69033416T2 (de) Hauptspeicherkarten mit Einzelbit-Setz- und Rücksetz-Funktion
DE1922304A1 (de) Datenspeichersteuergeraet
DE69025782T2 (de) Registerbankschaltung
DE2110458C3 (de) Speicheranordnung in einem datenverarbeitenden System

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 13/00

8131 Rejection