DE2705858A1 - Speichereinheit fuer datenverarbeitungssysteme - Google Patents
Speichereinheit fuer datenverarbeitungssystemeInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus 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
RS
-Y-
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. 9 ein detailliertes Blockdiagramm eines Teiles des assoziativen Speichers nach Fig. 8,
Steuerkreises für den assoziativen Speicher nach Fig.8
und enthält Figuren 10A, 10B und 10C,
-11-
709833/0866
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)
- Patentansprüche1.) 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/0866ORIGINAL INSPECTEDgung 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/0866tenverarbeitungssystem, 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/0866Wandlungsglieder 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
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)
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)
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)
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)
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 |
-
1976
- 1976-02-13 US US05/658,113 patent/US4055851A/en not_active Expired - Lifetime
-
1977
- 1977-02-11 CA CA271,545A patent/CA1083724A/en not_active Expired
- 1977-02-11 DE DE19772705858 patent/DE2705858A1/de not_active Ceased
- 1977-02-14 JP JP1490777A patent/JPS52125241A/ja active Granted
- 1977-02-14 GB GB45422/78A patent/GB1579062A/en not_active Expired
- 1977-02-14 GB GB6145/77A patent/GB1579061A/en not_active Expired
- 1977-02-14 GB GB30869/79A patent/GB1579064A/en not_active Expired
- 1977-02-14 GB GB30868/79A patent/GB1579063A/en not_active Expired
- 1977-06-09 US US05/804,942 patent/US4151593A/en not_active Expired - Lifetime
- 1977-10-25 US US05/845,220 patent/US4149239A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2421229A1 (de) * | 1973-05-01 | 1974-11-14 | Digital Equipment Corp | Digitales datenverarbeitungssystem |
Cited By (2)
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 |