DE3244629A1 - Digitaler datenspeicher - Google Patents
Digitaler datenspeicherInfo
- Publication number
- DE3244629A1 DE3244629A1 DE19823244629 DE3244629A DE3244629A1 DE 3244629 A1 DE3244629 A1 DE 3244629A1 DE 19823244629 DE19823244629 DE 19823244629 DE 3244629 A DE3244629 A DE 3244629A DE 3244629 A1 DE3244629 A1 DE 3244629A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- bit
- word
- auxiliary
- bits
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
Description
Patentanwälte*
Dr.rer.nat. Thomas BarentU
Dr. -Incf. Hans Leyh
Innsre VViiüier Γ ;r. 20 - D 8300 Miindien 00
Unser Zeichen: A 14 Üi/fi
Ferranti pie
Bridge House, Park Road, Gatley, Cheadle, Cheshire, England
Digitaler Datenspeicher
Ferranti pic - A 14 593 -
Die Erfindung betrifft einen digitalen Datenspeicher.
Digitale Datenspeicher werden verwendet zur Speicherung von großen
Mengen von Datens gewöhnlich in Form von Vielfach-Bit-Worten. Die
Daten können in den Speicher in irgendeine Speicherstelle eingeschrieben
werden durch Adressieren dieser Stelle und Eingeben der Daten. Entsprechend können die Daten in irgendeiner Speicherstelle
ausgelesen werden durch Adressieren dieser Speicherstelle und
Aktivieren der Lese-Funktion. Viele Speichertypen arbeiten in dieser
einfachen Weise. Es ist übliche Praxis, daß ehe ein Abschnitt des Speichers für einen neuen Zweck benutzt wirds dieser Teil des
Speichers freigemacht bzw. gelöscht wird, um alle, etwa aus einer
früheren Operation noch zurückgebliebenen Daten zu löschen und damit die Möglichkeit einer Fehlfunktion zu reduzieren. Manchmal
wird diese Löschung unmittelbar nach der Vollendung einer Operation durchgeführt, insbesondere wenn die Daten vertraulich sind., um eine
zufällige Aufdeckung der Daten zu verhindern.
Um festzustellen j, ob die Inhalte des Speichers eine Bedeutung haben
oder nicht, ist es nicht unüblich, jedem Vielfach-Bit-Wort ein extra
Bit hinzuzufügen, das Gültigkeits-Bit genannt wird. Dieses Bit wird gesetzt, wenn Daten in die Speicherstelle eingeschrieben werden und
es wird gelöscht., ehe ein Abschnitt des Speichers benutzt wird. Eine
Tätigkeit beim Auslesen aus einer Speicherstelle besteht daher darin,
das Gültigkeits-Bit zu überprüfen. Wenn dieses Bit gelöscht ist, dann ist der Ausgang des Speichers aus dieser Speicherzelle ungültig. Dies
bedeutet, daß die Daten im Speicher bedeutungslos sind und auf Null gebracht
werden können. Hieraus folgt, daß anstatt jede Bit-Position in einem Bereich des Speichers, der freizumachen ist, effektiv freizumachen
..γ
oder zu löschen, es nur erforderlich ist, die Gültigkeits-Bits zu löschen, da dann kein Ausgang aus diesem Bereich des Speichers erhalten
werden kann. Es ist notwendig, jedes Gültigkeits-Bit separat zu adressieren, da jedes eine andere Adresse hat, um einen
Bereich des Speichers freizumachen. Wenn ein großer Speicherbereich freigemacht werden soll, kann dies eine relativ lange Zeit erfordern.
Der Erfindung liegt daher die Aufgabe zugrunde, einen digitalen Datenspeicher
zu schaffen, in welchem eine aufeinanderfolgende Gruppe von
Gültigkeits-Bits in sehr kurzer Zeit gesetzt oder gelöscht werden kann.
Nach der Erfindung wird dies bei einem digitalen Datenspeicher erreicht
durch eine Datenspeicher-Einheit mit einer Vielzahl von Vielfach-Bit-Wort-Speicherstellen,
einem Gültigkeits-Speicher mit einer geringeren Vielzahl von Vielfach-Bit-Wort-Speicherstellen, die so angeordnet sind,
daß jede separate Bit-Speicherstelle einer separaten Wort-Speicherstelle
im Datenspeicher entspricht und das Gültigkeits-Bit für dieses Wort enthält, einem ersten Hilfsspeicher mit einer Anzahl von Bit-Speicherstellen,
die wenigstens gleich der Anzahl von Wort-Speicherstellen im Gültigkeits-Speicher
ist und so angeordnet ist, daß jedes dieser Bits den Status der Gültigkeits-Bits in einem separaten Wort des Gültigkeits-Speichers
identifiziert, einem oder mehr weiteren Hilfsspeichern, die in zunehmender
Ordnung der Signifikanz angeordnet sind und von denen jeder eine geringere Vielzahl von Bit-Speicherstellen hat, von denen jede einer separaten
Wort-Speicherstelle im Hilfsspeicher mit der nächstniedrigeren Signifikanz
hat, ferner durch eine Schaltung, die an die Gültigkeitsspeicher und die Hilfsspeicher geschaltet ist, so daß Bereiche des Datenspeichers gültig
oder ungültig erklärt werden können durch Setzen geeigneter Bits in jedem Speicher, um den Status der Gültigkeits-Bits zu definieren, entsprechend
dem Bereich des Datenspeichers, der durch die Adressen der Grenzen dieses Bereichs definiert ist.
Eine beispielsweise Ausführungsform der Erfindung wird nachfolgend anhand
der Zeichnung erläutert, in der
Γ.:- ; '/'.:"■:'".· 3244829
Fig. 1 schematisch einen Speicher nach der Erfindung zeigt. Fig. 2 zeigt eine mögliche Anordnung von Speichern.
Fig. 3a bis 3e zeigen Diagramme einer vereinfachten Speicher-Anordnung,
wobei unterschiedliche Arbeitsweisen dargestellt sind,,
Fig. 4aj 4b und 4c zeigen schematische Blockdiagramme zur Darstellung
der Arbeitsweise des Datenspeichers.
Fig. 1 zeigt einen Datenspeicher DS mit Adresseneingängen ADS Leseeingängen
RD und Schreibeingängen NR. Daten können in den Speicher in bekannter
Weise eingeschrieben oder aus ihm ausgelesen werden. Der Speicher kann, muß aber nichts aus einer Anzahl von Ein-Bit-Halbleiterspeicherchips
aufgebaut sein., um die gewünschte Wortlänge zu schaffen.
Ein zweiter Speicher, der Gültigkeits-Speicher VS ist vorgesehen und
hat eine kleinere Anzahl von Wort-Speicherstellen als der Datenspeicher DS.
Die Anzahl der Bits im Gültigkeits-Speicher ist derart,, daß ein separates
Bit jeweils einer separaten Wort-Speicherstelle im Datenspeicher DS entspricht.
Die höchstsignifikanten Bits einer an den Datenspeicher DS gelegten
Adresse werden an eine Schaltung CM gegeben9 die mit dem Gültigkeits-Speicher
VS verbunden ist. Die höchstsignifikanten Bits der Adresse wählen eine gewünschte Wort-Speicherstelle im Gültigkeits-Speicher aus,
während die übrigen Bits der Adresse das geeignete Bit aus dem gewählten Wort auswählen. An die Schaltung sind ferner Lese-(RD)S Schreib-(WR) und
Lösch-iCU-Steuereingänge gelegts auf deren Zweck noch eingegangen wird.
Die Steuerschaltung steuert auch den Eingang von Daten zu und den Ausgang
von Daten aus dem Gültigkeits-Speicher VS und sie gibt einen Eingang an ein Tor G9 das den Ausgang der Daten aus dem Datenspeicher DS steuert.
Ein erster HilfsSpeicher ASl hat eir.a Anzahl von Bit-Speicherstellens die
gleich der Anzahl von Worten im Gültigkeits-Speicher VS ist. Die höchst-
signifikanten Bits der an den Gültigkeits-Speicher gelegten Wort-Adresse
definieren eine Wort-Adresse im ersten HilfsSpeicher AS1, während die
übrigen Bits die Bit-Adresse definieren. Die Wort-Adresse des Gültigkeits-Speichers
definiert somit ein besonderes Bit im ersten HilfsSpeicher sowohl für Lese- als auch für Schreib-Operationen. Wie zuvor wird die
Adresse an die Schaltung CM gegeben, die den Betrieb des Speichers steuert. Der Ausgang vom ersten Hilfsspeicher liefert einen weiteren
Steuereingang zum Tor G.
Es können einer oder mehr weitere Hilfsspeicher vorgesehen sein, die
in abnehmender Ordnung an Speicherkapazität angeordnet sind, von denen nur einer, AS2, dargestellt ist. Jeder Speicher enthält eine Anzahl
von Bits, die wenigstens gleich der Anzahl von Worten im nächstlängsten Hilfsspeicher ist, und er hat seine eigene Steuerschaltung CM. Der
kleinste Hilfsspeicher ist durch ein einziges Wort gebildet.
Fig. 2 zeigt eine mögliche Anordnung des Datenspeichers DS, des Gültigkeitsspeichers VS und 5 Hilfsspeichern. In diesem Beispiel ist
der Datenspeicher ein 1M*Wortspeicher, wobei jedes Wort 32 Bits hat.
Wie allgemein üblich, wird der Buchstabe "K" verwendet, um die Zahl 210 (= 1024) und der Buchstabe "M", um die Zahl 220(= K · K = 1 048 576)
darzustellen. Der Gültigkeits-Speicher umfaßt 64K Worte, jedes zu 16 Bits, eine Größe, die handelsüblich verfügbar ist. Jedes Bit ist
das Gültigkeits-Bit für ein Wort im Datenspeicher DS.
Der erste Hilfsspeicher AS1 umfaßt 16K Worte, jedes zu 4 Bits. Jedes
Bit entspricht einem Wort im Gültigkeits-Speicher VS und damit 16 Worten im Datenspeicher DS. Der zweite Hilfsspeicher AS2 liefert 2K Worte,
jedes zu 8 Bits. Damit entspricht jedes Bit einem Wort im ersten Hilfsspeicher AS1, vier Worten im Gültigkeits-Speicher VS, oder 64 Worten
im Datenspeicher DS. Der dritte Hilfsspeicher AS3 umfaßt 256 Worte zu 8 Bits. Jedes der verwendeten Bits entspricht 512 Worten im Datenspeicher DS.
Die Anordnung kann fortgeführt werden mit einem vierten Hilfsspeicher AS4, der 16 Worte zu je 16 Bit hat, so daß jedes Bit einem der Worte im dritten
Hilfsspeicher, oder 4K Worten im Datenspeicher entspricht. Schließlich hat
der fünfte Hilfsspeicher ASS ein Wort mit 16 Bits. Jedes Bit entspricht
daher 64K Worten im Datenspeicher DS.
Die verwendeten Speicher haben eine handelsüblich verfügbare Kapazität
und die Wortlänge und die Anzahl der Worte kann jeder bevorzugten Ausführungsform
angepaßt werden.
Da die Ausgänge jedes Hilfsspeichers und des Gültigkeits-Speichers die
Ausgänge vom Datenspeicher DS steuerns erkennt man., daß große Bereiche
des Datenspeichers durch ein einziges Bit in einem oder mehr der Hilfsspeicher gesteuert werden können. Im äußersten Fall wird durch Einstellen
eines Bits im fünften Hilfsspeicher AS5 die Ausgänge von 64K Worten des Datenspeichers DS gesperrt., womit ausgesagt wird3 daß dieser Bereich
des Speichers frei (clear) oder ungültig (invalid) ist.
Die Wirkungsweise der insoweit beschriebenen Anordnung wird anhand von
Fig. 3 erläutert. Diese zeigt eine stark vereinfachte Anordnungs in
welcher der Datenspeicher DS nur zweiunddreißig Wort-Speicherstellen hat.
Der Gültigkeitsspeicher VS ist ein Acht-Wort-Speichers wobei jedes Wort eine Länge von vier Bit hat. Ein Bit des Gültigkeitsspeichers enthält
somit das Gültigkeits-Bit eines eindeutigen Wortes im Datenspeicher DS. Der Gültigkeitsspeicher ist in auseinandergezogener Darstellung gezeigt,
um die Zuordnung jedes Wortes zu einem Bereich des Datenspeichers aufzuzeigen. Der erste Hilfsspeicher AS1 enthält nur zwei Vier-Bit-Worte
und wiederum ist die Zuordnung zwischen diesen Worten und einem Bereich des Gültigkeitsspeichers dargestellt. Der zweite Hilfsspeicher AS2
schließlich enthält ein einziges Zwei-Bit-Worts wobei ein Bit einem
separaten Wort des ersten Hilfsspeichers entspricht.
Jedes Wort des Datenspeichers DS wird durch eine eindeutige Fünf-Bit-Adresse
identifiziert. Die drei höchst-signifikanten Bits dieser Adresse definieren das Wort im Gültigkeits-Speichers das sich auf den entsprechenden
Abschnitt des Datenspeichers bezieht., während die beiden anderen Bits der
Adresse das Bit in diesem Wort des Gültigkeits-Speichers definieren. Die Adressen der Bits des Gültigkeitsspeichers sind in Fig. 3 dargestellt.
In gleicher Weise definiert das höchstwertige Bit der Wort-Adresse
für den ersten Hilfsspeicher das Wort im zweiten Hilfsspeicher, das
sich auf den besonderen Bereich des ersten Hilfsspeichers bezieht,
während die beiden niedrigstwertigen Bits die Bit-Position innerhalb dieses Wortes definieren. Die Ein-Bit-Wort-Adresse des ersten HilfsSpeichers
schließlich definiert das Bit im zweiten Hilfsspeicher,
das sich auf dieses Wort im ersten Hilfsspeicher bezieht.
Beim Auslesen eines Wortes aus dem Datenspeicher DS wird durch die
Adresse, die das auszulesende Wort definiert, auch ein einzelnes Bit im Gültigkeits-Speicher VS und in jedem der Hilfsspeicher AS1 und AS2
identifiziert. Wie in Fig. 3a gezeigt, definiert die Adresse 01010 für den Datenspeicher die Bits, die in jedem der anderen Speicher angezeigt
sind. Wenn, wie gezeigt, jedes der Bits im Gültigkeitsspeicher VS und in den beiden Hilfsspeichern AS1 und AS2 gesetzt ist, so werden
die aus dem Datenspeicher ausgelesenen Daten als gültig betrachtet. Wenn andererseits eines oder mehr der ausgewählten Bits im Gültigkeitsspeicher und in den Hilfsspeichern frei bzw. gelöscht (clear) ist, so
ist der Ausgang des Datenspeichers gesperrt oder als ungültig (invalid) erklärt.
Man erkennt, daß es nicht mehr erforderlich ist, effektiv Speichersteilen
im Datenspeicher freizumachen bzw. zu löschen, sondern nur eine Anzahl von Bits im Gültigkeits-Speicher und in den Hilfsspeichern.
Die Inhalte des Datenspeichers in der so definierten Speicherstelle
sind immateriell, da sie nicht ausgelesen.und an andere Schaltungen gegeben
werden können.
Die Erfindung eignet sich bevorzugt für eine solche Lösch-Operation. Wie
bereits erwähnt, ist es nicht notwendig, die Wort-Stelle oder Wort-Stellen im Datenspeicher zu löschen, da dieselbe Wirkung erzeugt wird durch Löschen
(clearing) der geeigneten Bits in den Hilfsspeichern.
Eine wichtige Operation ist es, einen großen Bereich des Datenspeichers
freizumachen. Dies ist einfacher, wenn dieser Bereich einem einzigen Bit
im beschriebenen Hilfsspeicher entspricht im allgemeinen Fall aber,
beginnt noch endigt der Bereich an einer einfachen Grenze. Konventionelle Speicher bewirken dies durch Einstellen jedes Gültigkeits-Bits, um eines
zu einer Zeit zu löschen, und dies kann eine sehr langwierige Operation sein. Fig. 3b zeigt» wie diese Operation durch die beschriebene erfindungsgemäße
Anordnung stark vereinfacht wird. Es wird angenommen., daß der Datenspeicher
DS zwischen den Adressen 01001 und 10111 freigemacht werden soll,
wobei diese beiden Adressen jedoch nicht mitumfaßt werden. Aus Fig. 3b erkennt mans daß die beiden Adressen durch die Bits definiert sind,
die im Gültigkeits-Speicher VS und in den Hüfsspeichern ASI und AS2
durch einen Strich markiert sind. Die erfindungsgemäße Schaltung arbeitet sos daß alle Bits im Wort des Gültigkeits-Speichers über der unteren
Adresse und unter der oberen Adresse gelöscht werden und diese Bits
sind in der Zeichnung durch eine "0" dargestellt. Dieselbe Prozedur folgt im ersten Hilfsspeicher ASIs wie dargestellt. Im zweiten Hilfsspeicher
AS2 wird keines der Bits gelöscht,, denn es können gültige Daten
in Bereichen des Datenspeichers außerhalb des zu löschenden Bereiches
vorhanden sein.
Die Wirkung dieses Vorganges ist es, alle Worte im Datenspeicher DS
zwischen den beiden Grenzen als gelöscht oder frei (clear) zu definieren.
Wenn der Datenspeicher z.B. acht Abschnitte hats von denen jeder durch
ein Wort des Gültigkeitsspeichers repräsentiert wird9 dann werden die
Worte, die in dem Abschnitt gelöscht werden, der durch die drei höchstwertigen
Bits der unteren Adresse bezeichnet ist., d.h. 010, identifiziert
durch die beiden Bits in dem Wort des Gültigkeits-Speichers9 die diese
Wortadresse haben. In gleicher Weise werden die Worte, die in dem Abschnitt
gelöscht werden, der durch die drei höchstwertigen Bits der höheren Adresse
bezeichnet sind, d.h.101 identifiziert durch die drei Bits im Wort des
Gültigkeitsspeichers,. die diese Wortadresse haben. Die beiden Abschnitte
des Datenspeichers zwischen diesen, identifiziert durch die Wortadressen 001 und 100 des Gültigkeits-Speichers, sind definiert durch die beiden Bits,
die im ersten Hilfsspeicher AS1 auf Löschen gesetzt werden (set to clear).
Der bezeichnete Bereich des Datenspeichers kann daher in nur zwei Operationen
BAD ORIGINAL
freigemacht werden (set to clear), d.h. eine Operation für jede der beiden
Grenzen des Bereiches.
•Wenn der freizumachende Bereich des Datenspeichers eine ganze Hälfte des
Datenspeichers umfaßt, so kann eines der beiden Bits im zweiten Hilfsspeicher
AS2 auf Löschen gestellt werden. Dies ist in Fig. 3c dargestellt, wobei gezeigt ist, wie dieses Bit im zweiten Hilfsspeicher ausreicht, um
eine Hälfte des Datenspeichers als frei (clear) zu definieren, ohne die Notwendigkeit, irgendeines der entsprechenden Gültigkeits-Bits zu löschen.
Im ersten Hilfsspeicher AS1 sind im dargestellten Beispiel keine Bits gelöscht worden, da nur ein Wort in der anderen Hälfte des Datenspeichers
auf Löschen gestellt worden ist und dieses wird durch sein besonderes Gültigkeits-Bit identifiziert, wie dargestellt.
Wenn der freizumachende bzw. zu löschende Bereich des Datenspeichers
durch ein Wort des Gültigkeits-Speichers VS bestimmt ist oder durch zwei
benachbarte Worte, dann werden nur Bits in diesem Speicher auf Löschen gestellt und die beiden Hilfsspeicher AS1 und AS2 werden nicht verändert.
Dies ist in Fig. 3d gezeigt.
An dieser Stelle soll darauf hingewiesen werden, daß alle verwendeten
Bits durch nur zwei Adressen bestimmt sind, nämlich die, welche die obere und untere Grenze des zu löschenden Bereiches bezeichnen. Die
zur Durchführung der Lösch-Operation erforderliche Zeit ist daher nur
die, die erforderlich ist, um zwei Schreib-Operationen in dem Gültigkeits-Speicher
und den Hilfsspeichern auszuführen. Der Haupt-Datenspeicher selbst
wird nicht verändert.
Eine Schreib-Operation erfolgt ebenfalls beim Gültigkeits-Speicher und
bei den Hilfsspeichern. Zuerst wird der Zustand der Hilfsspeicher ausgelesen, in diesem Fall durch Auslesen der entsprechenden Bits aus den beiden
Hilfsspeichern AS1 und AS2. Zur gleichen Zeit können die Daten in den Datenspeicher eingeschrieben werden und das entsprechende Gültigkeits-Bit
kann auf Gültig (valid) gesetzt werden. Der Zustand der benachbarten Bits
im Wort des Gültigkeits-Speichers jedoch und derjenige der Bits in den
Hilfsspeichern, die den Bereich des Daten-Speichers bestimmen5 der die
Adresse enthält5 wird ggf. auch zu ändern sein.
Betrachtet man die Situation, wie sie in Fig. 3e gezeigt ist, in der angenommen
ist, daß der Bereich des Datenspeichers, der durch horizontale Linien bezeichnet ist, die durch Worte gezogen sind, bereits in der oben
beschriebenen Weise freigemacht worden ist. Dieser Bereich ist durch
Bits bezeichnet, die mit "0" in der Zeichnung dargestellt sind und
die diesen Bereich vollständig definieren bzw. bestimmen. Wenn neue
Daten in den Datenspeicher DS in der Adresse 10010 einzuschreiben sind,
erfolgt dies innerhalb des freigemachten Bereiches. Das Gültigkeits-Bit hierfür ist als "X" im Wort des Gültigkeits-Speichers dargestellt, das
durch die drei höchstwertigen Bits der Datenspeicher-Adresse bezeichnet
ist, nämlich 100. Dieses Wort im Gültigkeits-Speicher war in der vorherigen
Lösch-Operation nicht gesetzt, denn es war durch ein einzelnes
Bit im ersten Hilfsspeicher AS1 bestimmt. Es ist daher nicht erforderlich, das entsprechende Bit im Wort des Gültigkeits-Speichers einzustellen, es
ist jedoch erforderlich, das Lösch-Bit im ersten Hilfsspeicher AS1 zu
ändern, um anzuzeigens daß das entsprechende Gültigkeits-Wort ein Bit
enthält, das eingestellt bzw. gesetzt worden ist. Dies ist in Fig. 3e
durch gestrichelte Zeichen dargestellt. Nachdem dies geschehen ist, ist es ferner erforderlich, die übrigen Bits des Wortes im Gültigkeitsspeicher
zu löschen, was durch gestrichelte Zeichen dargestellt ist. Hierdurch wird sichergestellt, daß die benachbarten Worte im Datenspeicher, die
durch die anderen drei Bits im Gültigkeits-Speicher bestimmt sind, noch gelöscht sind. Wiederum sind die einzigen beeinflußten bzw. verwendeten
Bits diejenigen in den Worten, die durch die einzige Adresse ausgewählt
worden sind.
Bei einem Speicher der vorbeschriebenen Art ergibt sich somit folgendes:
Bei der Schreib-Operation werden die Daten in der gewünschten Speicherstelle
gespeichert und das Gültigkeits-Bit (und entsprechende Hilfs-Bits)werden
auf "Gültig" gesetzt. Intern, wenn eines der Hilfsbits durch die vorläufige
Lese-Operation als "frei" bzw "gelöscht" festgestellt wird, werden die
übrigen Bits in den gewählten Worten in den weniger signifikanten Hilfsspeichern
und im GüHigkeits-Speicher gelöscht (cleared), um die Ungültigkeit
der benachbarten Worte im Speicher beizubehalten.
Bei der Lese-Operation ergibt sich folgendes: Die ungültigen Daten werden immer als "0" dargestellt und ein Gültigkeits-Bit
ist für externen Gebrauch verfügbar, falls gewünscht. Die Hilfsstruktur
ist nicht sichtbar.
Eine neue Funktion, d.h. freigeben bzw. löschen, steht zur Verfügung.
Diese erfordert zwei Adressen, die die obere und untere Grenze des freizumachenden Bereiches (oder ungültig zu machenden) bestimmen. Diese
Operation löscht jeden gewünschten Bereich des Speichers, von einem Wort bis zum ganzen Speicher, in einer Zeit, die durch zwei aufeinanderfolgende
Schreib-Zyklen im Hilfsspeicher und im Gültigkeits-Speicher
bestimmt ist.
Die erforderliche Logik zur Durchführung der vorstehend beschriebenen
Operationen ist in den Fig. 4a, 4b und 4c dargestellt. Diese zeigen eine Möglichkeit zur Steuerung eines Hilfsspeichers und verwenden als
Beispiel den Hilfsspeicher AS2 von Fig. 2. Die drei Operationen sind separat dargestellt, aber ein Großteil der Logik ist allen Operationen
gemeinsam.
Fig. 4a zeigt die erforderliche Logik zur Durchführung der Lese-Operation.
Die 16K Bits des Speichers sind in 8 Plättchen oder Scheiben angeordnet, jede mit 2K Bits. Dementsprechend ist die 14-Bit-Adresse aufgeteilt in
die 11 höchstwertigen Bits, die als die Wortadresse WA benutzt werden, und die drei niedrigstwertigen Bits, die die Adresse der Scheibe bilden,
d.h. die Adresse irgendeines Bits in dem Wort. Die Scheiben-Adresse wird durch einen "Eins-aus-Acht-Decoder DC decodiert, um die besondere Scheibe
zu identifizieren, die das erforderliche Bit enthält, und dieses Signal
wird durch ein UND-Tor G1 mit dem Lese-Steuersignal zusammengefaßt, um eine Bit-Adresse BA zu bilden. Ein Ausgang wird erhalten, wenn das augelesene
Bit den Begriff "Gültig" darstellt, und dieses Signal wird durch
einen Inverter 11 umgekehrt., so daß das Fehlen eines Ausganges den
Zustand "ungültig" darstellt. Dies wird kombiniert mit den Ausgangssignalen "ungültig" von anderen hb'herwertigen Hilfsspeichern durch
ein ODER-Tor G25 um das Ausgangs-Gültigkeits-Bit zu erzeugen.
Wie Fig. 4b zeigt5 ist die erforderliche Logik zur Durchführung der
Lösch-Operation komplexer. Dies deshalbs weil mehrere verschiedene
Bedingungen existieren können., wie noch beschrieben wird. Gemäß Fig. 4b
werden zwei Adressen eingegeben, die erste Adresse ADI bestimmt die
untere Grenze des freizumachenden Bereiches, während die zweite Adresse AD2
die obere Grenze bestimmt. Da gewöhnlich zwei Operationen erforderlich sind, um einen Bereich des Speichers freizumachen, wird durch einen
Eingang CY2 der zweite Zyklus der Operation bezeichnet. Wie bei der
Lese-Operations werden die vierzehn Bits einer Adresse aufgeteilt
in die elf höchstwertigen Bits, die die Wortadresse WA bestimmen und die drei niedrigstwertigen Bits9 die die Adresse der Scheibe oder
des Plättchens bestimmen. Unterstellt man, daß die beiden Adressen unterschiedliche Worte definieren, so arbeitet die Logik folgendermaßen.
Während des ersten Zyklus erzeugt ein Inverter 12 ein Signal CY29 das
ein UND-Tor G3 ansteuerts um die 11-Bit-Wort-Adresse WA zum Speicher AS2
durchzulassen. Die drei niedrigstwertigen Bits der Adresse werden an einen Masken-Generator MGA gelegt., der einen "Einige-aus-Acht" Code erzeugt,
um alle Bit-Adressen zu identifizieren, die höhersignifikant oder höherwertiger sind als die Bit-Adresse, die durch die Drei-Bit-Adresse
identifiziert ist. Diese werden an ein UND-Tor G4 gelegt, das durch den Ausgang eines UND-Tores G6 angesteuert wird. Die Eingänge des
Tores G6 sind das Lösch-Signal C1, das Signal CY2 vom Inverter 12 und
ein Signal SM, welches anzeigt., daß die Wort-Adressen nicht identisch
sind. Das letztgenannte Singal wird erhalten durch Vergleich der Wort-Asressen
in einem UND-Tor G7 und Umkehren des Ausganges in einem Inverter 13. Die Wirkung ist daher, daß das Signal "frei" in alle Bits des gewählten
Wortes eingeschrieben wird, die höherwertiger sind als das Bit, das durch die erste Adresse bestimmt ist»
Während des zweiten Zyklus werden die elf Bits der zweiten Wort-Adresse
mit dem Signal CY in einem UND-Tor G8 zusammengefaßt und sie bestimmen das gewählte Wort im Speicher AS2. Die drei niedrigstwertigen Bits werden
an einen zweiten Maskengenerator MG2 oelegt, der alle Bit-Adressen erzeugt,
die wenigerwertig sind als die, die durch die Drei-Bit-Adresse identifiziert
sind. Diese werden an ein UND-Tor G9 gelegt, das durch den Ausgang eines UND-Tores 10 angesteuert wird. Das Tor 10 hat als Eingänge das
Löschsignal oder Freisignal CL, das Signal CY2, das den zweiten Zyklus bezeichnet, und das Signal SM, wie zuvor. Die Wirkung ist damit, daß
das Signal "frei" (clear) in alle Bits des gewählten Wortes eingeschrieben wird, die wenigerwertig sind als das Bit, das durch die zweite Adresse
bestimmt ist.
Wenn die erste und die zweite Adresse dasselbe Wort definieren, dann
sperrt das Signal SM vom Tor G7 die Tätigkeit der Tore G6 und G10. Die
beiden Signale von den Masken-Generatoren MGA und MGB werden in einem UND-Tor G11 zusammengefaßt und dessen Ausgang identifiziert nur die Bits
zwischen denjenigen, die durch die beiden Adressen bestimmt sind. Diese werden an ein UND-Tor G12 gelegt, das durch ein UND-Tor G13 angesteuert
wird. Das Tor G13 hat als Eingänge das Frei-Signal CL, das Signal SM
vom Tor G7 und das Signal CY2, weshalb diese Operation nur während des zweiten Zyklus abläuft. Die Bits des gewählten Wortes zwischen den
beiden Adressen werden daher auf "Frei" gesetzt.
Fig. 4c zeigt die erforderliche Logik zur Durchführung der Schreib-Operation.
Wie bereits erwähnt, geht dieser die Lese-Operation voraus, die ein Ungültigkeits-Bit von den höchstwertigen Hilfsspeichern erzeugen
kann. Die Wort-Adressierung und die Bit-Decodierung erfolgen wie in Verbindung mit der Lese-Operation beschrieben wurde.
Der Ausgang des Decoders DC wird an ein UND-Tor GH gelegt, zusammen mit
dem Schreib-Steuersignal, und der Ausgang dieser Tore bildet einen Eingang
zu einem ODER-Tor G15, und er bildet ferner die Daten, die in den Speicher eingeschrieben werden. Ein bistabiler Kreis BS wurde durch das
Vorhandensein eines Ungültigkeits-Bits von einem höherwertigen Hilfs-
Speicher eingestellt und der Ausgang des bistabilen Kreises bildet
einen Eingang eines weiteren UND-Tores G16. Der andere Eingang dieses
Tores ist das Schreib-Steuersignal, und der Ausgang des Tores G16 bildet einen Steuereingang des Tores Gl5.
Wenn kein Ungültigkeits-Bit vorhanden war, wird die Bit-Adresse BA vom
Decoder durch die Tore G14 und G15 geführt und sie bewirkt9 daß das
entsprechende Bit im Speicher auf "Gültig" gesetzt wird. Wenn jedoch ein Ungültigkeits-Bit vorhanden war9 so wird durch den Ausgang vom bistabilen
Kreis BS bewirkt, daß der Ausgang des Tores G16 das Tor G15 ansteuert, um alle Bits in dem adressierten Wort zu identifizieren.
Nur das durch den Decodierer DC ausgewählte Bit wird auf "Gültig" gesetzt und alle anderen Bits im adressierten Wort werden auf "Ungültig"
gesetzt. Hierdurch werden die Forderungen erfüllt., die oben genannt
wurden zum Einschreiben eines Bits in ein zuvor freigegebenes oder gelöschtes
(cleared) Wort.
Die logischen Diagramme nach Fig. 4 sind vereinfacht dargestellt unter
Verwendung einfacher Signal-Bahnen. Die Diagramme zeigen die Anzahl
von parallelen Bits in einer Bahn an und die Tore sind dementsprechend Vielfach-Tore. Die zur Steuerung der Speicheradressierung benutzten
ODER-Tore sind dargestellt;, aber im einzelnen nicht beschrieben. Alle
Hilfsspeicher und der Gültigkeits-Speicher werden zusammen adressiert.
Es können andere logische Anordnungen vorgesehen werden zur Durchführung
der obenbeschriebenen Operationen. Ähnliche Anordnungen können auch für
jeden der Hilfsspeicher vorgesehen werden.
Es wurde oben Bezug genommen auf die Verwendung eines Gültigkeits-Speichers
zur Erzeugung eines Gültigkeits-Bits für jedes Daten-Wort im Datenspeicher.
Es kann aber auch mehr als ein Bit für jedes Wort vorgesehen werden und diese Bits können auch für andere Zwecke, als nur zur Bestimmung der
Gültigkeit der Daten, verwendet werden.
Claims (9)
- " reWanti pic - A 14 593 -PatentansprücheDigitaler Datenspeicher, gekennzeichnet durch eine Datenspeicher-Einheit mit einer Mehrzahl von Vielfach-Bit-Wortspeicherstellen, einem Gültigkeitsspeicher mit einer geringeren Mehrzahl von Vielfach-Bit-Wortspeicherstellen, die so angeordnet sind, daß jede separate Bit-Speicherstelle einer separaten Wortspeicherstelle im Datenspeicher entspricht und das Gültigkeits-Bit für dieses Wort enthält, einen ersten Hilfsspeicher mit einer Anzahl von Bit-Speicherstellen9 die wenigstens gleich der Anzahl von Wort-Speicherstellen im Gültigkeits-Speicher ist und so angeordnet ist, daß jedes dieser Bits den Zustand der Gültigkeits-Bits in einem separaten Wort des Gültigkeits-Speichers identifizierts einem oder mehr weiteren Hilfsspeichern, die in zunehmender Signifikanz-Ordnung (abnehmender Ordnung an Speicherkapazität) angeordnet sind und von denen jeder eine geringere Mehrzahl von Bit-Speicherstellen aufweist, von denen jede einer separaten Wort-Speicherstelle in dem nächst(größeren) niedrigerwertigen Hilfsspeicher entspricht, ferner durch Schaltungen, die an den Gültigkeits-Speicher und die Hilfsspeicher gelegt sind, derart, daß Bereiche des Datenspeichers gültig oder ungültig erklärt werden können durch Setzen geeigneter Bits in jedem Speicher, um den Status der Gültigkeits-Bits zu bestimmen, die dem Bereich des Datenspeichers entsprechen, der durch die Adressen der Begrenzungen dieses Bereiches bestimmt ist.
- 2. Digitaler Datenspeicher nach Anspruch 1, dadurch gekennzeichnet, daß die Bit-Speicherstellen in jedem Hilfsspeicher in Form eines oder mehrerer Vielfach-Bit-Worten angeordnet sind.
- 3. Digitaler Datenspeicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der höchstwertine Hilfsspeicher eine einzige Vielfach-Bit-Wortspeicherstelle aufweist.
- 4. Digitaler Datenspeicher nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß durch eine erste und eine zweite Adresse eine untere und eine obere Begrenzung eines Breichs des Datenspeichers bestimmt ist, daß durch die mit jedem Hilfsspeicher verbundene Schaltung die Bits in dem Hilfsspeicher identifizierbar sind, welche einen Teil von nur einem oder mehreren Worten in diesem Hilfsspeicher darstellen, und daß diejenigen Bits, die vollständige Worte in diesem Hilfsspeicher darstellen, durch die Schaltung identifizierbar sind, die dem nächsthöherwertigen Hilfsspeicher zugeordnet ist.
- 5. Digitaler Datenspeicher nach Anspruch 4, dadurch gekennzeichnet, daß die Schaltung, die einen Hilfsspeicher zugeordnet ist, einen ersten Generator aufweist, der auf die erste Adresse anspricht, um ein Muster von Signalen zu erzeugen, die diejenigen Bits eines Teils eines Wortes in diesem Hilfsspeicher identifizieren, der eine höhere Wertigkeit als diese erste Adresse hat, ferner mit einem zweiten Generator, der auf die zweite Adresse anspricht, und ein Muster von Signalen erzeugt, die diejenigen Bits eines Teils eines Wortes in dem Hilfsspeicher erzeugen, der eine niedrigere Wertigkeit als diese zweite Adresse hat.
- 6. Digitaler Datenspeicher nach Anspruch 5, dadurch gekennzeichnet, daß die einem Hilfsspeicher zugeordnete Schaltung Einrichtungen umfaßt, um zu bestimmen, wenn die erste und die zweite Adresse dasselbe Wort in diesem Hilfsspeicher identifizieren.
- 7. Digitaler Datenspeicher nach einem der Ansprüche 1-6, dadurch gekennzeichnet, daß die Schaltung so angeordnet ist, daß jedes gewählte Bit aus jedem zugeordneten Hilfsspeicher auslesbar ist.
- 8. Digitaler Datenspeicher nach einem der Ansprüche 1-7, dadurch gekennzeichnet, daß die Schaltung so angeordnet ist, daß jedes gewählte Bit in jedem zugeordneten Hilfsspeicher einschreibbar ist.3244623
- 9. Digitaler Datenspeicher nach einem der vorhergehenden Ansprüche9 dadurch gekennzeichnet, daß der Gültigkeits-Speicher mehr als ein Gültigkeits-Bit für jede Wortspeicherstelle im Datenspeicher enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB08136683A GB2111262B (en) | 1981-12-04 | 1981-12-04 | Digital data storage apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3244629A1 true DE3244629A1 (de) | 1983-06-09 |
Family
ID=10526390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823244629 Ceased DE3244629A1 (de) | 1981-12-04 | 1982-12-02 | Digitaler datenspeicher |
Country Status (4)
Country | Link |
---|---|
US (1) | US4638454A (de) |
BR (1) | BR8207138A (de) |
DE (1) | DE3244629A1 (de) |
GB (1) | GB2111262B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3909267A1 (de) * | 1989-03-21 | 1990-09-27 | Siemens Ag | Schaltungsanordnung fuer speichereinrichtungen zur speicherung von daten mit gueltigkeitskennzeichen |
DE19633648A1 (de) * | 1996-08-21 | 1998-02-26 | Grundig Ag | Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811209A (en) * | 1986-07-31 | 1989-03-07 | Hewlett-Packard Company | Cache memory with multiple valid bits for each data indication the validity within different contents |
US6192447B1 (en) * | 1998-04-09 | 2001-02-20 | Compaq Computer Corporation | Method and apparatus for resetting a random access memory |
US20170315812A1 (en) | 2016-04-28 | 2017-11-02 | Microsoft Technology Licensing, Llc | Parallel instruction scheduler for block isa processor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3742458A (en) * | 1970-09-30 | 1973-06-26 | Yokogawa Electric Works Ltd | Memory protection system providing fixed, conditional and free memory portions corresponding to ranges of memory address numbers |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3241125A (en) * | 1962-05-22 | 1966-03-15 | Ibm | Memory allocation |
US4438512A (en) * | 1981-09-08 | 1984-03-20 | International Business Machines Corporation | Method and apparatus for verifying storage apparatus addressing |
-
1981
- 1981-12-04 GB GB08136683A patent/GB2111262B/en not_active Expired
-
1982
- 1982-12-02 DE DE19823244629 patent/DE3244629A1/de not_active Ceased
- 1982-12-03 US US06/446,458 patent/US4638454A/en not_active Expired - Fee Related
- 1982-12-06 BR BR8207138A patent/BR8207138A/pt unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3742458A (en) * | 1970-09-30 | 1973-06-26 | Yokogawa Electric Works Ltd | Memory protection system providing fixed, conditional and free memory portions corresponding to ranges of memory address numbers |
Non-Patent Citations (1)
Title |
---|
E.v. Puttkamer: A Simple Hardware Buddy System Memory Allocator. In: IEEE Transactions on Computer, Vol. C-24, No. 10, Oktober 1975, S. 953-957 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3909267A1 (de) * | 1989-03-21 | 1990-09-27 | Siemens Ag | Schaltungsanordnung fuer speichereinrichtungen zur speicherung von daten mit gueltigkeitskennzeichen |
DE19633648A1 (de) * | 1996-08-21 | 1998-02-26 | Grundig Ag | Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät |
US6275804B1 (en) | 1996-08-21 | 2001-08-14 | Grundig Ag | Process and circuit arrangement for storing dictations in a digital dictating machine |
Also Published As
Publication number | Publication date |
---|---|
GB2111262B (en) | 1985-10-02 |
BR8207138A (pt) | 1983-10-11 |
GB2111262A (en) | 1983-06-29 |
US4638454A (en) | 1987-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69233228T2 (de) | Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem | |
DE3326725C2 (de) | Vorrichtung zur Datenkomprimierung für zweidimensionale Zeichenbilder | |
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE4408876C2 (de) | Festwertspeicher, der Daten schreiben kann und Verfahren zum Schreiben/Lesen von Daten für einen solchen | |
DE3390315T1 (de) | Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen | |
DE3311948C2 (de) | ||
DE2725395A1 (de) | Einrichtung zur echtzeittransformation einer n . n bitkonfiguration | |
DE3243935C2 (de) | ||
DE2856133A1 (de) | Verarbeitungssystem fuer einen assoziativspeicher | |
DE3011552A1 (de) | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer | |
EP0704803B1 (de) | Verfahren zur Speicherverwaltung eines Flash-Speichers | |
DE2803989A1 (de) | Wahlfreie zugriffsspeichervorrichtung fuer digitale daten | |
EP0857345A1 (de) | Verfahren und schaltungsanordnung zur speicherung von diktaten bei einem digitalen diktiergerät | |
DE3618136C2 (de) | ||
DE60132229T2 (de) | Speichervorrichtung, speichersteuerverfahren und programm | |
DE1901806A1 (de) | Schaltungsanordnung zur Kompensation schadhafter Speicherzellen in Datenspeichern | |
DE2758829C2 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren | |
DE2703559C2 (de) | ||
DE2432608A1 (de) | Speicheranordnung fuer datenverarbeitungseinrichtungen | |
DE1524788C3 (de) | Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern | |
DE3047695A1 (de) | Verfahren und vorrichtung zum herstellen einer speichertabelle fuer farbkontrollbedingungen | |
DE2900586A1 (de) | Anordnung zum decodieren von codewoertern variabler laenge | |
DE3244629A1 (de) | Digitaler datenspeicher | |
DE19724471C2 (de) | Vorrichtung und Verfahren zum Einschreiben von Daten in einen nichtflüchtigen Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |