DE2652869A1 - Datensicherungseinrichtung - Google Patents

Datensicherungseinrichtung

Info

Publication number
DE2652869A1
DE2652869A1 DE19762652869 DE2652869A DE2652869A1 DE 2652869 A1 DE2652869 A1 DE 2652869A1 DE 19762652869 DE19762652869 DE 19762652869 DE 2652869 A DE2652869 A DE 2652869A DE 2652869 A1 DE2652869 A1 DE 2652869A1
Authority
DE
Germany
Prior art keywords
memory
pulse
register
line
gate
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.)
Withdrawn
Application number
DE19762652869
Other languages
English (en)
Inventor
Laszlo Antal Belady
Carlo John Evangelisti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2652869A1 publication Critical patent/DE2652869A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C1/00Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Description

Anmelderin: International Business Machines
Corporation, Armonk, II.Y. 10504
Amtliches Aktenzeichen: Ileuanmeldung Aktenzeichen der Änmelderin: YO 973 032
Datensicherungseinrichtung
Bei vielen Coinputeranwendungen ist es wichtig zu wissen, ob ein Datenteil während eines gegebenen Zeitabschnittes adressiert wurde oder nicht, wobei das Ende eines solchen Zeitabschnittes oft der augenblickliche Zeitpunkt ist. Als Beispiel für eine solche Situation sei die Transaktion eines Börsenmarklers genannt, in der ein unehrlicher Programmierer seinen Namen heute in die Liste der Käufer oder Verkäufer eines früheren Markttages einfügen kann und so finanziellen Gewinn, basierend auf feststehender und nicht auf wahrscheinlicher Information, erzielen kann. Eine solche Handlung könnte nicht entdeckt werden, da für ein bestimmtes Konto kein ausdrücklicher Verlust auftritt. Als ein anderes Anwendungsbeispiel sei der Fall aufgeführt, wo ein Benutzer überwachen will, ob irgend jemand Daten in einem On-Line-Systera ausspioniert oder durch Veränderung zerstört hat.
In der US-Patentschrift Nr. 3 599 159 ist ein Multiprogrammsystem
mit einer Speicherschutzeinrichtung gezeigt, durch die Daten nur I
in diejenigen Speicherstellen geschrieben werden können, die dem j
verarbeiteten Programm zur Verfügung stehen. In einem solchen |
System ist jedes Wort im Speicher mit einem speziellen binären ' Bit versehen, das anzeigt, daß ein Wort nicht verändert oder über-·
schrieben werden darf. Das Schutzbit kann gesetzt werden, wenn ! das Wort in den Speicher gespeichert wird. Wenn ein Speicher
adressiert wird und dieses Spezialbit eingeschaltet ist, wird ; das in einem Pufferregister gespeicherte existierende Wort als j
70 9 8 24/0706
Teil desselben Speicherzyklus in den Speicher zurückgeschrieben. Gleichzeitig zeigt das Vorhandensein des Speicherschutzbits eine Unterbrechungsbedingung und damit die Tatsache an, daß ein unverletzlicher Speicherteil adressiert wurde.
In der US-Patentschrift Nr. Re 27 251 ist ein Datenverarbeitungssystem beschrieben, in dem Adreßblöcke im Hauptspeicher für vorbestimmte Benutzer reserviert sind. Ein HilfsSpeicher enthält einen Schlüssel für jeden Block des Hauptspeichers. Während einer Speicherzugriffsoperation wird der dem adressierten Block im Hauptspeicher entsprechende Schlüssel auf dem HiIfspeicher ausgelesen und mit dem dem Benutzer zugeordneten Schlüssel verglichen. Wenn die Schlüssel nicht übereinstimmen, wird der Benutzer daran gehindert, den Inhalt der adressierten Stelle im Hauptspeicher zu verändern.
Während die bekannten Sicherheitssysteme verschiedene Formen des Datenzugriffsschutzes durch Datenverschlüsselung, Speicherzugriff codes und Softwareschemata liefern, wird immer noch ein Sicherheitssystem gebraucht, das nicht durch ein Programm umgangen werden kann und die Sicherheit während der Entwicklung, der Ausführung und dem Zugriff für alle Programme und Daten innerhalb des Rechnersystems aufrecht erhält.
Die Aufgabe der vorliegenden Erfindung besteht somit darin, eine j von der Programmierung unabhängige Datensicherheitseinrichtung anzugeben, die anzeigt, ob ein bestimmter Speicherbereich oder Datenkanal eines Hilfsspeichers angsteuert wurde.
'■■ Die Aufgabe der Erfindung wird durch die im Kennzeichen des Haupt-
ianspruches angegebene Einrichtung gelöst. Erfindungsgemäß wird Iein automatischer Zeitstempelmechanismus verwendet, mit dem eine bestimmte Zeitangabe in einen zu jedem Speicherbereich
YO 973 032
709824/0708
oder zu jedem Datenkanal eines Hilfsspeichers gehörenden Datenspeicherbereich oder in ein Register gestempelt wird, so daß jeder Zugriff zu Daten die entsprechende Zeitstempelung im Speicher oder Speichergerät auf den neuesten Stand bringt. Mit einer ersten Instruktion wird eine Zeit bezüglich des Hauptspeichers abgerufen und mit einer zweiten Instruktion eine Zeit bezüglich eines Datenkanals zu einem externen Hilfsspeicher. Zu jedem Speicherbereich sowie zu jedem Datenkanal gehört ein Zeitstempel-Kennzeichenregister. Sobald ein Bereich oder ein Datenkanal angesteuert wird, wird die Zeitstempelung in Form einer eindeutigen Binärzahl von einer die Tageszeit anzeigenden Uhr in das zu diesem Bereich oder Datenkanal gehörende Zeitstempelregister gesetzt. Die Abfrage des Inhaltes eines jeden Zeitstempelregisters ermöglicht die Feststellung, ob ein Bereich oder Datenkanal bis zum gegenwärtigen Zeitpunkt angesteuert wurde. Zur Ansteuerung von Daten im Speicher wird ein volles Speicheradreßregister benutzt, während nur bestimmte werthohe Bits des Speieheradreßregisters zur Ansteuerung der zu dem Bereich gehörenden Zeitstempelung verwendet werden. Auf diese Weise verschafft die Erfindung eine Maschineneinrichtung, die automatisch Datenblöcke markiert, während sie adressiert werden, und die nicht durch Änderung des Programmes umgangen v/erden kann. Die Erfindung gestattet die Erkennung und Verhinderung von Sicherheitsverletzungen, wobei das Zeitstempelregister und der Uhrmechanismus nicht durch ein Programm abgetrennt werden können.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen. Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben.
Es zeigen:
Fig. 1 in einem Blockdiagramm ein die Zeitstempeleinrichtung verwendenes System;
YO 973 032
70982A/070Ö
Pig. 2 ein Ablaufdiagraram der Arbeitsv/eise eines
Ausführungsbeispieles der vorliegenden Erfindung in einem virtuellen Speicher;
Fign. 3A, 3B Schaltplan und Logikdiagramm des in Fig. 2 ge- und 3C zeigten Ausführungsbeispieles;
Fig. 3 einen Lageplan für die Fign. 3Af 3B und 3C;
Fig. 4 die Ässoziativspeichersteuerung im einzelnen;
Fig. 5 jedes im virtuellen Blockregister im Assoziativspeicher verwendete Speicherelement im einzelnen;
Fig. 6 im einzelnen das für die TM-Register im Assoziativspeicher verwendete Speicherelement;
Fign. 7A bis 7L die komplette Verdrahtung und das Logikdiagramm
der Plattendateiausführung der vorliegenden Erfindung;
Fig. 7 eine Lageskizze für die Fign. 7A bis 7L;
Fig. 8 eine perspektivische Darstellung einer in dem
in den Fign. 7A bis 7L gezeigten System verwendeten Platte;
Fig. 9 in einem Diagramm eines Spur auf der in Fig.
gezeigten Platte;
Fig. 10 in einer Zeittabelle die verschiedenen von
einem Impulsgenerator verfügbaren Impulse und
Fig. 11 die im ersten Abschnitt erscheinenden Taktimpulse
und Datenbits und die Zeitstempelteile für die Platte.
YO 973 032
709824/0706
~*~ > ■ 26528G9
In Fig. 1 ist in Form eines allgemeinen Blockdiagrammes ein System gezeigt, das ein Zeitstempelkennzeichenregister verwendet, das zu jedem Speicherbereich gehört oder zu jedem Speicherbereich in einem Datenkanal, so daß jeder Zugriff von Daten die Zeitstempelung im betreffenden Speicher vorschreibt. Im einzelnen ist eine CPU 10 und ein Speicher 12 gezeigt, die durch die CPU zugängliche Daten enthalten. Das Lesen und Schreiben in dem Speicher 12 erfolgt abgesehen von dem hier beschriebenen Zeitstempelmechanismus auf konventionelle Weise. Ein Speieheradreßregister (MAR) 14 ist zwischen die CPU 10 und den Speicher 12 zur Adressierung von Daten im Speicher gelegt und enthält einen Abschnitt 16 mit werthohen Bits, die zur Ansteuerung eines Zeitstempelwortes benutzt werden, das zu einem Bereich des Speichers 12 gehört. Jedes Zeitstempelwort ist in einem Zeitstempel des Abschnittes 18 des Speichers 12 enthalten. Für jeden Abschnitt 12A bis 12F des Speichers 12 gibt es ein zugehöriges Zeitstempelwort 13A bis 18F. Jeder Bereich im Speicher 12 ist bezüglich der Zeitstempelung für alle Daten im Systemspeicher die Grundeinheit. Die Größe des Bereiches kann abhängig von der jeweiligen Anwendung zwisehen einem Bit und einer Seite liegen.
Das System ist mit einer Uhr 20 ausgerüstet, die die gewünschte Zeitauflösung liefert wie etwa 1/64 Sekunde. Die Uhr 20 empfängt gleichförmige Eingangsimpulse auf der Leitung 22. Die Zeitsignale von der Uhr 20 werden durch ein Tor 24, das ein Sperrsignal auf der Leitung 26 von der CPU empfängt, daran gehindert, in den Zeitabschnitt (TM) 18 des Speichers 12 zu laufen. Die Uhr 20 liefert auch Zeitsignale auf der Leitung 28 zu einem Zeitstempelwortabschnitt (TS) 30 eines Speicherbereichs in einer Platte 32. Das Zeitstempelwort 30 gehört zu Daten 34 in der Platte 32. Ein Zexstempelregister (TC) 36 gehört zu jedem Kanal. Der Plattenspeicher 32 ist durch einen Datenkanal 38 zugänglich, zu dem ein Kanaladreßregister 40 gehört. Der Datenkanal 38 ist mit dem Speicher 12 verbunden, so daß der Speicher 12 für die CPU 10 zugänglich ist, während die Speicherplatte 32 zugänglich ist vom
YO 973 032
709824/0708
Datenkanal 38 her. Wie schon erwähnt wurde, liefert die Uhr 20 Zeitsignale zur entsprechenden Zeit sowohl an den Zeitstempelabschnitt (TIl) 18 als auch an den Z ei ts tempe lab schnitt (TS) 30. Für jeden Bereich im Speicher 12 gibt es einen Zeitstempel TM und für jeden Datenkanal 38 ein Zeitstempelregister (TC) 36. Mit den Instruktionen FSM und FSC werden Werte von den TM's bzw. TC's geholt. Die Instruktion (FSM, r, a) ist eine Instruktion zum Holen des zum Bereich gehörenden Zeitstempels TM, adressiert durch a (dargestellt im Speicher 12) in das Register r der CPU. Das Register r ist ein allgemeines Register und ein herkömmlicher Teil der PU. Die Instruktion FSC, r, c ist eine Instruktion zum Holen des Zeitstempels TC, der zum Kanal c gehört, in das Register r der CPU. Die Instruktionen FSM und FSC sind auf den Leitungen 42 bzw. 44 gezeigt, die zwischen die Abschnitte TM und TC einerseits und die CPU 10 andererseits geschaltet sind.
Das Zeitstempelwort TS 30, das zu Daten auf dem Speicher 32 gehört, wird in das TC-Register 36 geladen, wenn der Speicher gelesen wird. Mit dem vollen Speicheradreßregister MAR 14 werden die Daten im Speicher 12 adressiert, während man mit den werthohen Bits des MAR 14 den TM-Abschnitt 18 ansteuert. Wie schon erwähnt werden die Daten im Datenkanal 38 mit Hilfe des Kanaladreßregisters (CAR) 40 angesteuert.
Mit den Zeitstempelwörtern kann man den vollen Inhalt der Uhr 20 speichern. Wenn eine Unterscheidung zwischen passiven und aktiven Zugriffen (Lesen/Schreiben) zum Speicher oder Datenkanal getroffen werden soll, kann jedem Zeitstempelwort eine zustätzliche Bitposition hinzugefügt werden, die zum Schreiben ιein- und zum Lesen ausgeschaltet ist.
Die Arbeitsweise des in Fig. 1 gezeigten Systems wird anschließend! .anhand der verschiedenen möglichen internen Datenübertragungen beschrieben.
YO 973 032
709824/0706
A) Übertragung von der CPU 10 zum Speicher 12
Bei dieser Betriebsart wird der Inhalt des CPU-Registers in einen Adreßspeicher 12 eingegeben, das aktive Bit ist eingeschaltet, und der Inhalt der Uhr 20 wird in das zugehörige Zeitstempelwort TM 18 eingetragen.
B) übertragung vom Speicher 12 in die CPU 10
Der Inhalt des adressierten Speichers 12 wird in das CPU-Register eingegeben, das aktive Bit ist ausgeschaltet, und der Inhalt der Uhr 20 kann in das zugehörige TM 18 gesetzt v/erden.
C) übertragung vom Speicher 12 auf den Plattenspeicher 32
Der gesamte Inhalt des Speicherbereiches 12 wird über den Datenkanal 18 in den Speicherbereich 34 verschoben, das aktive Bit ist ausgeschaltet, und der Inhalt der Uhr 20 kann in den zugehörigen Abschnitt TM 18 oder TS 3O eingegeben v/erden.
D) Datenübertragung vom Plattenspeicher 32 in den Speicher 12
Der gesamte Inhalt des Speicherbereiches 34 wird über den Datenkanal in den Speicherbereich 12A bis 12F verschoben und das aktive Bit ist eingeschaltet. Der Inhalt der Uhr 20 wird in den zugehörigen TM-Bereich 18 gegeben und der Inhalt des TS 30 in den TC 36, und der Inhalt der Uhr wird in den TS eingegeben.
Während das in Fig. 1 gezeigte System ein Zeitstempelregister sowohl im Speicher als auch im Datenkanal des Unterstützungsspeichers oder der Platte verwendet, liegen andere Benutzungsvarianten des Zeitstempelmechanismus im Rahmen der Erfindung.
In Fig. 2 ist ein Ablaufdiagramm der Arbeitsweise des erfindungsgemäßen Systems gezeigt. Das in Fig. 1 gezeigte System enthält
YO 973 032
709824/0706
als Grundelement die zentrale Verarbeitungseinheit (CPU) 10, den langsamen Unterstützungssneicher rait großer Kapazität oder die Platte 32, einen schnellen Arbeits-Kernspeicher 12 mit niedriger Kapazität und die Assoziativspeicherregister 18 und 36. Der Unterstützungsspeicher 32 kann über den Datenkanal 33 mit dem Kernspeicher 12 verbunden sein, bei dem es sich um einen Hochgeschwindigkeits-Magnetkernspeicher handelt, wie er zu jedem digitalen Computersystem gehört. Der Datenkanal 38 kann irgendein Kanal sein, der die benötigten Puffer- und Steuerfunktionen übernehmen kann. Der Datenkanal 38 empfängt die seriell angelegte Information von der langsamen Platte 32, setzt die Bits zu PJörten zusammen und gibt diese Wörter parallel in den Kernspeicher 12. Außerdem kann der Datenkanal 38 Wörter in paralleler Form vom Kernspeicher 12 aufnehmen und deren Bits seriell auf den Plattenspeicher 32 geben.
Um die vorliegende Erfindung in einem virtuellen Speicher zu zeigen, wird der in der US-Patentschrift Rr. 3 541 529 dargestellte Speicher als Referenz angezogen. Das ganze Ablaufdiagramm der Fig. 1 dieses Patentes ist in dem gestrichelten Kasten mit der Wr. 60 in Fig. 2 der vorliegenden Beschreibung dargestellt. Die für das System der Patentschrift zusätzlichen Funktionen und deren Arbeitsweise sind in Fig. 2 mit den Zahlen 64 und 66 bezeichnet.
Nachdem die ersten Ladeoperationen fertig sind, ist das System zur Ausführung des im Funktionsblock 68 angegebenen Schrittes bereit, in dem festgestellt wird, ob der das zu benutzende Hort enthaltene Block im Kernspeicher 12 gespeichert ist. Wenn das auf dem Computer laufende Programm ein bestimmtes Infonnationswort braucht, wird im Funktionsblock 68 geprüft, ob dieses Wort im Hochgeschwindigkeitsspeicher steht. Wenn das der Fall ist, wird die Information gelesen und nach Darstellung durch den Funktionsblock 70 benutzt, wo der Speicherzugriff im Arbeitsspeicher vorgenommen und die Bits R und A auf den neuesten Stand
YO 973 032
709824/0708
-^- M 2652863
gebracht oder fortgeschrieben werden. Der noch zu beschreibende und im einzelnen in den Fign. 3A, 3B, 3C, 4, 5 und 6 dargestellte Assoziativspeicher hat eine Eintragung für jede Blockposition im Kernspeicher 12. Jede dieser Eintragungen enthält fünf Felder, die in einen Speicherdatenregister gezeigt sind. Liest man diese Felder von links nach rechts, so ergibt sich die Reihenfolge: ein 1-Bit großes A-FeId (/Inderungsfeld) , das gesetzt wird, wenn der Inhalt des entsprechenden Blocks im Kernspeicher 12 geändert wird; ein 1-Bit großes R-FeId (Referenz), das jedes Mal gesetzt wird, wenn der entsprechende Block ira Kernspeicher 12 benutzt wird und zurückgestellt wird, wenn alle Eintragungen im Assoziativspeicher ihr R-FeId gesetzt haben.
TTenn andererseits bei der Ausführung der Funktion 68 das Wort nicht im Hochgeschwindigkeitsspeicher steht, wird nach Darstellung durch den Funktionsblock 72 eine Suchoperation durch Ausführung eines Austauschalgorithmus durchgeführt, um den auszutauschenden Block und den Funktionsblock 74 zu finden, durch den das benötigte TTort vom langsamen Unterstützungsspeicher 32 in den schnellen Speicher 12 übertragen wird. Auf diese Weise erhält man einen schnellen Speicher mit niedriger Kapazität und die Programme v/erden so geschrieven, als ob die gesamte Information in diesem schnellen Speicher 12 stünden. Wenn festgestellt wird, daß ein Informationswort aus dem Unterstützungsspeicher 32 gebraucht wird, wird der dieses Wort enthaltende Block aus dem Unterstützungsspeicher 32 in den Hochgeschwindigkeitsspeicher 12 übertragen.
In den Fign. 3A, 3B und 3C sind Schaltdiagramme gezeigt, die nach der Darstellung in Fig. 3 zusammenzulegen sind, und den virtuellen Speicher der vorliegenden Erfindung bilden. Ein Merkmal dieser Erfindung ist der in Fig. 3B gezeigte Assoziativspeicher 100, der eine Liste der Zeiten enthält, in denen jeder Bereich in einem virtuellen Block adressiert wurde und angibt, ob es sich um einen Lese- oder um einen Schreibzugriff handelt. Die Assoziativspeichersteuerung 102 ist im einzelnen in Fig. 4
YO 973 03
709824/0706
: 2652863
!gezeigt. In diesem Ausführungsbeispiel wird angenommen, daß jeder !virtuelle Block in vier Bereiche unterteilt ist/ die durch die 'beiden werthohen Bits in der Blockinnenadresse im Register 112 adressiert werden, das in Fig. 3C gezeigt ist. Diese Adresse steht von der CPU jedes Mal bei Abgabe einer Speieheranforderung oder der Sonderinstruktion 11FSM11 zur Verfügung. Die Sonderinstruktion wird später noch beschrieben.
jDer Inhalt des Zeitzählers 104 in Fig. 3A ist ein Wort aus einem Bit, das bei jedem 1/64 einer Sekunde durch die CPU erhöht jwird, und läuft, solange Strom für das Rechensystem eingeschal-'tet ist. Ein anderes Bit ist vom Flip-Flop 106 vorgesehen und wird auf Eins gesetzt, wenn es sich bei dem Speicherzugriff jum einen Schreibzugriff handelt. Es wird auf Null gesetzt, wenn ein Lesezugriff erfolgt. Das Zeitstempelwort ist somit ein 33 Bit großes Wort, das in das betreffende TM-Register im Assoziativspeicher geleitet werden kann. Bei einem Speicherzugriff ;findet man das gewünschte Wort im Assoziativspeicher 100 durch !Assoziierung auf dem virtuellen Blockfeld mit der virtuellen Blockzahl als Argument. Die Wahl des TM-Registers im virtuellen Blockwort erfolgt durch die beiden werthohen Bits der Blockiinnenadresse. Jedes Mal wenn also ein Wort aus dem Arbeitsspeicher gelesen oder in diesen geschrieben wird, wird das Zeitstempelwort in das betreffende TM-Register für den Bereich geschrieben, der das Wort enthält, welches geschrieben oder gelesen wird.
Die gesamte in dem in Fig. 3B gezeigten Assozitativspeicher enthaltene Tabelle kann in den Unterstützungsspeicher gelesen und dort gespeichert werden. Wenn ein bestimmtes Programm im Computer läuft, wird diese Tabelle vom Unterstützungsspeicher zurückgeholt und in den Assoziativspeicher 100 gesetzt. Der Inhalt der TM-Wörter im Assoziativspeicher 100 kann vom Programmierer in keiner Weise verändert werden und 1st nur über eine Sonderinstruktion adressierbar, die FSM-Instuktion genannt wird.
YO 973 032
709824/0708
Nach Darstellung durch den Funktionsblock 66 in Fig. 2 kann die j
j !
jFSM-Instruktion nur ein TM-Wort vom Assoziativspeicher 100 holen I
und es in ein Arbeitsregister der CPU mit der Bezeichnung r j
setzen. Der Inhalt des Registers r kann vom Programmierer jeder i
j Zeit zusammen mit einer anderen Information gespeichert werden, ■■
die der Programmierer zu speichern wünscht. Zu jedem zukünftigen j
Zeitpunkt kann er wieder dasselbe TM-Register in das Register >
r lesen und über Programmiermittel den Wert mit dem früheren j
Wert vergleichen, den er weggespeichert hat, um festzustellen, : ob irgend jemand sonst den jeweiligen Bereich adressiert hat, seit er es das letzte Mal tat.
In diesem Ausführungsbeispiel wird der Zeitstempelmechanismus im virtuellen Speicher verwendet, der in der US-Patentschrift Wr. 3 541 529 beschrieben ist. Anschließend wird die Operation 64 in !Fig. 2 im einzelnen erklärt. Soweit nichts anderes angegeben ist, bezieht sich die übrige Beschreibung dieses Ausführungsbeispiels
auf die Fign. 3A, 3B und 3C, die entsprechend Fig. 3 miteinander zu verbinden sind. Wenn die CPU einen Speicherzugriff anfordert, erscheinen die virtuelle Blocknummer und die beiden werthohen Bits der inneren Blockadresse auf dem Kabel 110 und werden in das Argumentenregister 112 in Fig. 3C geladen. Das Flip-Flop 106 wird entweder auf Eins oder auf Null gesetzt. Die beiden werthohen Bits in der inneren Blockadresse werden an den Decodierer 114 geleitet, dessen Ausgabe auf dem Kabel 116 erscheint. Wenn das Signal T-5 erscheint, wird die monostabile Kippschaltung 118 eingeschaltet. Mit dem Signal T-5 wird das Auslesen aus dem Assoziativspeicher unter Steuerung der Übereinstimmungs-Anzeige-Flip-Flops eingeleitet. Dadurch wird ein Impuls A-1 erzeugt, der über das Kabel 120 durch das ODER-Glied 122 läuft und über die Leitung 123 die Übereinstimmungsanzeiger in der Assoziativspeichersteuerung 102 auf Eins stellt. Wenn die monostabile Kippschaltung 118 abschaltet, erscheint ein Impuls und schaltet die monostabile Kippschaltung 124 ein. Dadurch wird der Impuls A-2 erzeugt, der auch über das Kabel 120 durch das ODER-Glied 126 läuft und den
YO 973 OST
709824/0706
2652863
zugehörigen Impuls liefert, der an das Argumentenregister 112 angelegt wird. Am Ende dieses Impulses wird nur einer der tibereinstimmungsanzeiger in der Assoziativspeichersteuerung 102 in seinem Einer-Zustand belassen, weil nur eine der Leitungen 125a bis η kein Signal führt und eine Übereinstimmung des abgefragten Feldes im Speicher mit den Daten anzeigt, die in das Argumentenregister 112 gesetzt wurden.
Fig. 4 zeigt ein Detailabschnitt der Assoziativspeicherteuerung 102, die einen Eingang an das zugehörige UND-Glied 130a bis η liefert, wenn eines der Flip-Flops 128a bis η auf Eins steht. Wenn ein Impuls an die Schreibleitung 132 angelegt wird, liefert das UND-Glied 130a bis η einen Ausgang an die entsprechende Schreibwahlleitung 134a bis n. Eine ähnliche Schreiboperation wird ausgeführt, wenn der Impuls A-3 erzeugt wird. Wenn die monostabile Kippschaltung 124 in Fig. 3C abschaltet, wird ein Impuls erzeugt, der die monostabile Kippschaltung 136 einschaltet und so den Impuls A-3 erzeugt, der über das Kabel 120 läuft und an das Schaltglied 138 in Fig. 3C angelegt wird. Der Ausgang des Decodierers 114 erscheint jetzt auf dem Kabel 140 und eines ider Schaltglieder 142, 144, 146 und 148 des Assoziativspeichers 100 wird eingeschaltet. Dadurch kann der Inhalt des Zeitzählers ' 104 und des Flip-Flops 106 in das entsprechende TM-Register geleitet werden. Auf diese Weise wird das richtige Register im !Assoziativspeicher für jeden Speicherzugriff fortgeschrieben joder auf den neuesten Stand gebracht.
Die nachfolgende Tabelle I listet das oben beschriebene Mikroprogramm A zur Eintragung des Zeitstempels in das richtige TM-JRegister im Assoziativspeicher 100 auf.
YO 973 032
709S14/07O8
-*- 48 j
Tabelle I i
Mikroprogramm A j
Start - durch das Signal T-5; j
A-1 - setzt übereinstimmungsanzeiger der Assoziativspeichersteuerung 102 auf Eins; i
A-2 - Verbindung auf virtuellem Block;
A-3 - leitet Decodierer 114 an Eingangstore 142, 144, 146, 148; legt Schreibimpuls an Assoziativspeicher 100;
Als nächstes wird die Ausführung einer FSM-Instruktion beschrieben. Wenn diese Instruktion auftritt, wird das Argumentenregister 112 wieder mit der virtuellen Blockzahl und den beiden werthohen Bits der Blockinnenadresse geladen, wie es oben für den Speicherzugriff schon beschrieben wurde. Auf der Leitung 150 aus der CPU erscheint auch ein Impuls, mit dem die monostabile Kippschaltung 152 eingeschaltet wird. Dadurch wird der Impuls B-1 erzeugt, der über das Kabel 120 durch das ODER-Glied 122 läuft und die übereinstimmungsanzeiger der Assoziativspeichersteuerung auf Eins stellt. Wenn die monostabile Kippschaltung 152 abschaltet, wird ein Impuls zum Einschalten der monostabilen Kippschaltung 154 erzeugt und dadurch der Impuls B-2 erzeugt, der über das Kabel 120 und das ODER-Glied 126 läuft und den Assoziierungsimpuls liefert. Wenn die monostabile Kippschaltung 154 ausschaltet, schaltet die monostabile Kippschaltung 156 ein. Dadurch wird der Impuls B-3 erzeugt, der über das Kabel 120 läuft und den Leseimpuls für die Assoziativspeichersteuerung liefert. Aus Fig. 4 ist zu ersehen, daß die Einer-Stellung eines jeden Flip-Flop 128a bis η das UND-Glied 158a bis η so einschaltet, daß bei Anlegen eines Impulses an die Leseleitung 160 das UND-Glied 158a bis η einen Ausgang auf der entsprechenden Lesewahlleitung 162a bis η hat. Der Impuls B-3 wird auch an das Schaltglied 164 in Fig. 3C angelegt, um den Ausgang des Decodierers 114 auf eines der Schaltglieder 166, 168, 170 oder 172 zu leiten.
YO 973 032
709824/0706
Auf diese Weise erhält man das richtige TM-Wort, das in das Register r in der CPU geleitet wird.
In der nachfolgenden Tabelle II ist das Mikroprogramm B zur Ausführung einer FSM-Instruktion aufgelistet, mit der das Zeitstempelwort vom richtigen TM-Register in den Assoziativspeicher \100 geholt werden soll.
Tabelle II Mikroprogramm B
Start - durch den aktiven Zustand der FSM-Leitung von der CPU;
B-1 - übereinstimmungsanzeiger der Assoziativspeichersteuerung 102 auf Eins setzen;
B-2 - einen virtuellen Block assoziieren;
B-3 - den Decodierer 114 auf die Ausgangstore 166, 168, 170 und 172 leiten; Leseimpuls an Assoziativspeicher 100 anlegen.
iln Fig. 5 ist ein für das n-te virtuelle Blockregister im Asso-Iziativspeicher 100 verwendetes Speicherelement gezeigt. Das jAssoziierungskabel mit der Nr. 127 führt Leitungen 127n zum
virtuellen Block des Argumentenregisters 112. Die Leitungen 172n [sind über die UND-Glieder 18On und 182n verbunden. Eine Schreib- !leitung 184n läuft vom Unterstützungsspeicher 186 unter der Steuerung der Datenkanalsteuerung 188 und ist mit einem FlipiFlop 19On im Speicherelement verbunden. In ähnlicher Weise läuft eine Leseleitung 192n vom Unterstützungsspeicher 186 über die Datenkanalsteuerung 188 und ist mit den Flip-Flop-Leitungen 194n und 196n verbunden, die zu den UND-Gliedern 18On bzw. 182n führen. Der Ausgang der UND-Glieder 18On und 182n ist mit der oben beschriebenen Leitung 125n verbunden.
YO ^73 032
709824/0706
~*~ to 26528S9
In Fig. 6 ist ein für die Zeitstempelregister (TM) im Assoziativspeicher 100 verwendetes Speicherelement gezeigt. Das Speicherelement empfängt die Signale auf der Schreibwahlleitung 134n und der Lesewahlleitung 162n von der Assoziativspeichersteuerung 102. Zeitzähldaten werden auf den Zeitschreibleitungen 193 vom Zähler 104 und dem Eingang zu einem Schaltglied 195 empfangen, das durch ein Signal auf der Schreibwahlleitung 134n eingeschaltet wird. Der Ausgang des Schaltgliedes 195 wird an ODER-Glieder 197 angelegt, die auch mit der Schreibleitung 184n vom Unterstützungsspeicher 186 verbunden sind. Die ODER-Glieder 197 liefern einen Ausgang an das Flip-Flop 198, um die Zeitzahl zu speichern. Das
Flip-Flop 198 liefert die zum Speicherelement gehörende Zeitzahl sowohl an den Unterstützungsspeicher auf der Leitung 192n als auch an ein Ausgangsschaltglied 199 als Teil des Ausganges an die Schaltglieder 166, 168, 170 und 172 in Fig. 3B.
Eine genaue Beschreibung der Arbeitsweise ähnlicher Assoziativspeicher findet sich in den US-Patentschriften 3 541 529 und 3 317 898, wobei Einzelheiten des Argumentenregisters 112 insbesondere in Fig. 7 der zuletzt erwähnten Patentschrift gezeigt sind.
Ausführungsbeispiel mit Plattendatei
I Dieses Ausführungsbeispiel enthält eine Plattendateistruktur, in der zu jedem Datenbereich ein Raum reserviert ist, der die Zeit ! enthält, zu der der Bereich zuletzt von der Platte gelesen wurde j oder zu der er auf die Platte geschrieben wurde. Ein Bit dieses \ Zeitstempelwortes bezeichnet einen Lese- oder Schreibzugriff, d.h., wenn dieses Bit auf Eins gesetzt ist, bezeichnet es den letzten Zugriff zum Bereich als Schreibzugriff, und wenn es auf Null gesetzt ist, bezeichnet es den letzten Zugriff zum Bereich als Lesezugriff. !
YO 973 032
709824/0708
'**'** 2652863
Magnetisch beschrieben wird die Platte in Richtungsschrift, die an anderer Stelle ausreichend beschrieben ist.
Fign. 7A bis 7L enthalten komplette Verdrahtungs- und Logikdiagramme des Ausführungsbeispieles mit Plattendatei. Fig. 7 enthält einen Lageplan der Fign. 7A bis 7L.
Fig. 8 zeigt eine perspektivische Darstellung einer Platte 202, die viele konzentrische Spuren 204 aufweisen kann. Ein Lese/Schreibkopf 206 ist an einem Zugriffsarm 208 befestigt, der so eingestellt v/erden kann, daß der Lese/Schreibkopf 206 mit der richtigen Spur 204 zusammenarbeitet. Ein Schlitz oder eine öse 210 an einem Indexpunkt am Umfang der Platte 202 wird durch einen Übertrager 212 abgefühlt, der fest steht und pro Umdrehung der Platte 202 einen Impuls liefert.
Die Skizze in Fig. 9 zeigt eine Spur der Platte 202. Diese weist am Anfang eine Lücke 214 auf, der ein erster Datenbereich 216 folgt. Danach folgt eine weitere Lücke 218, und hinter diese wird das Zeitstempelwort 220 geschrieben, das zum ersten Bereich 216 gehört. Nach diesem ersten Zeitstempelwort 220 tritt eine weitere Lücke 222 auf, und ein zweiter Bereich 224 wird auf die Platte hinter die Lücke 226 geschrieben, der wieder ein Zeitstempelwort 228 folgt, das zum zweiten Bereich 224 gehört. Für dieses Ausführungsbeispiel wird angenommen, daß zwei Datenbereiche auf einer Plattenspur liegen und jeder Bereich 1024 Datenbytes oder 8192 Bits enthält. Die Anzahl von Bits in einem Bereich muß, wie später noch ersichtlich wird, ein Vielfaches von 32 sein. Das Zeitstempelwort enthält 32 Bits von denen eines anzeigt, ob der Bereich zuletzt beschrieben oder gelesen wurde.
Das Zeitdiagramm in Fig. 10 zeigt die verschiedenen Impulse, die von einem nicht dargestellten Impulsgenerator zur Verfügung stehen. Das Signal 230 von dem in Fig. 8 gezeigten übertrager 212 tritt bei jeder Umdrehung der Platte auf. Die OImpulse 232 werden allgemein Taktimpulse genannt und liegen für jedes Daten-
YO 973 032
709824/0706
" <* 2652863
bit immer vor. Die B~Impulse 234 dienen zum Leiten von Daten und treten zwischen den C-Impulsen auf. Die E-Impulse 236 sind gegenüber den B- Impulsen zeitlich etwas verzögernd und dienen im Ausführungsbeispiel zum Verschieben eines 32 Bit großen Schieberegisters.
Fig. 11 zeigt, wie die Taktimpulse und die Datenbits im ersten Bereich und auch im Zeitstempelteil erscheinen können. Die Platte wird mit diesen Taktimpulsen synchronisiert, wobei die spezifische Art hier keine Rolle spielt. Der in Fig. 11 gezeigte Übertragerimpuls 230 tritt jedenfalls zur selben Zeit auf wie der C-Impuls. Die C-Impulse werden immer auf der Platte aufgezeichnet und ein Null-Bit durch Fehlen eines Impulses hinter einem Taktimpuls angezeigt. Das Vorhandensein einer Eins wird angezeigt durch das Vorhandensein eines Impulses nach einem Taktimpuls. Um die Lage eines Bereiches oder eines Zeitstempels auf der Platte zu finden, werden diese Taktimpulse gezählt, beginnend mit dem ersten in Übereinstimmung mit dem Übertragerimpuls auftretenden Impuls. In Fig. 11 zeigt der Taktimpuls 368 den Anfang des ersten Bereiches an, dessen Ende durch den Taktimpuls 370 angegeben wird. Der Anfang des ersten Zeitstempels wird bezeichnet durch den Taktimpuls 372, das Ende durch den Taktimpuls 374. Das letzte Datenbit tritt kurz nach den Impulsen 370 oder 374 auf.
In dem in den Fign. 7A bis 7L gezeigten Ausführungsbeispiel mit Plattendatei erscheint eine Instruktion zum Schreiben eines Bereiches auf die Platte oder zum Lesen eines Bereiches von der Platte zuerst im Instruktionsregister 376. Diese Instruktion enthält die Anfangsadresse im Speicher 377, die auch in Fig. 7A gezeigt ist, sowie die Spurnummer auf der Platte und die Bereichsnummer auf der Spur. In diesem Ausführungsbeispiel wird angenommen, daß das Speicherwort eine Länge von 32 Bits und der Bereich ein Vielfaches von 32 Bits umfaßt. Ein Zeitintervallzähler 378 hat 31 Bits und ein zugehöriges Anzeigebit 380, dessen Zweck bereits erklärt wurde.
YO 973 032
709824/0706
; Zwei Arbeitsregister 382 und 390 sind in Fig. 7D gezeigt und werdeil j als Lese- und Schreib-TC-Register bezeichnet. Diese Register ·■ i stehen dem Programmierer über die oben besclxriebene FSC-Instruktion zur Verfügung und können zum Wegspeichern des Zeitstempelwortes auf jede vom Programmierer gewünschte Art verwendet werden,
j So kann er beispielsweise eine Liste aller existierenden Bereiche
I und Zeiten führen, wenn diese Bereiche vom ihm gelesen oder ge-
\schrieben werden, indem er den Inhalt dieser Register ausliest ; und die Werte in die Liste einsetzt.
JIn Fig. 7E ist ein Register 384 für die Bereichsnummer in der , !spur vorgesehen. Diese wird vom Decodierer 386 so decodiert, daß ;
j !
;entweder der erste oder der zweite Bereich in der Spur gelesen .
oder geschrieben werden kann. Ein weiteres in Fig. 7F gezeigtes i 1 j
Register 388 hält die Spurnummer und steuert den Kopfeinstell- j
irnechanismus so, daß der in Fig. 8 gezeigte Zugriffsarm so be- :
jwegt wird, daß der Lese/Schreibkopf auf die richtige Spur ge- j
j stellt wird. Mit einem Spurbitzähler und Decodierer 348 wird der j
!richtige Bereich und der richtige Zeitstempel in der Spur lokali- :
siert. In den Fign. 7G und 7H ist ein 32 Bit großes Schiebere- \
gister 349 als Puffer zwischen dem Speicherdatenregister 459 des
in Fig. 7C gezeigten Speichers 377 und der Platte vorgesehen.
Außerdem ist in Fig. 7H ein Modulo-32-Zähler 351 vorgesehen, der
die übertragung von und zu dem 32 Bit großen Schieberegister 349
steuert. Die Fign. 71, J, K und L enthalten die Steuerschaltung,
deren Zweck später erklärt wird.
Sobald ein Bereich auf die Platte geschrieben wird, wird der alte
Bereich überschrieben und der alte Zeitstempel durch die laufende
Zeit überschrieben. Der geschriebene Zeitstempel wird auch an
das TC-Schreikregister 390 in Fig. 7D geleitet. Wenn ein Bereich
gelesen wird, geht der Bereich in den Speicher 377 und der Zeitstempel in das TC-Leseregister 382. Bei der nächsten Umdrehung
wird der laufende Zeitstempel auf die Platte geschrieben und
dieser laufende Zeitstempel geht in das TC-Schreibregister 390.
YO 973 032
70 98 24/0708
Die Anfangsbedingungen für das in den Fign. 7A bis 7L gezeigte
\Plattendateisystem sind in der nachfolgenden Tabelle III zusam-
,mengestellt.
Tabelle III Anfangsbedingungen für das System
a) Spurbitzähler 348 (Fig. 7E) anfangs auf 00...OO zurückgestellt.' !b) Flip-Flops 350, 352 und 354 (Fig. 7E) anfangs auf Null rurück- ■ i gestellt. :
c) Flip-Flops 358 und 360 (Fig. 7F) anfangs auf Null zurückge- i I stellt. \
d) Flip-Flops 356, 362 und 364 (Fign. 7G und 7H) anfangs auf ! Null zurückgestellt. ■
I 1
je) Modulo-32-Zähler (Fig. 7H) anfangs zurückgestellt auf 00000. !
jf) Flip-Flops 340, 342, 344 und 346 (Fig. 71) anfangs auf Null j
■ zurückgestellt. ■
Ig) Flip-Flop 366 (Fig. 7K) anfangs zurückgestellt auf Null. ;
ih) Flip-Flop 334 (Fig. 7L) anfangs zurückgestellt auf Null. ,
i) Flip-Flop 414 (Fig. 7L) anfangs zurückgestellt auf Null.
j) Flip-Flop 416 (Fig. 7L) anfangs zurückgestellt auf Null.
Zuerst wird das Schreiben eines Bereiches auf die Platte im einzelnen erklärt, wozu nur eine Plattenumdrehung erforderlich ist.
Die nachfolgende Tabelle IV führt das Mikroprogramm zum Schreiben
eines Bereiches auf die Platte auf.
Tabelle IV Mikroprogramm zum Schreiben eines Bereiches
W-1 - Anfangsadresse an Speicheradreßregister 405 leiten.
Spurnummer an Platteneinheit leiten.
Bereichsnummer an Platteneinheit leiten.
YO 973 032
709824/0706
W-2 - Zugriffsbefehl zum Speicher 377 lesen. W-3 - Ist Kopf in Position auf Spur?
- Wenn ja. Signal auf Leitung 570 und Erzeugung von W-5.
- Wenn nein. Signal auf Leitung 572 und Erzeugung von W-4. W-4 - Nur Verzögerung, weiter mit W-3.
W-5 - Flip-Flop 334 (Fig. 7L) auf Eins setzen. Flip-Flop 338 (Fig. 7K) auf Eins setzen. Flip-Flop 380 (Fig. 7B) auf Eins setzen.
Wenn eine Instruktion "Bereich auf Platte schreiben" ausgeführt wird, erscheint ein Impuls auf der Leitung 398, der die monostabile Kippschaltung 392 in Fig. 7C einschaltet. Dadurch wird der Impuls W-1 erzeugt, der durch das ODER-Glied 402 zu dem in Fig. 7A gezeigten Schaltglied 404 läuft, um die Anfangsadresse im Speicher 377 auf das Speicheradreßregister 405 zu leiten. Eine Verzweigungs* schaltung vom Instruktionsregister 376 läuft zum Schaltglied 406, das die Spurnummer an das Register 388 in Fig. 7F leitet. Das Register 388 ist mit dem noch zu beschreibenden Kopfstellmechanismus 389 verbunden. Eine andere Verzweigungsschaltung vom Instruktionsregister 376 läuft zum Schaltglied 408, das die Bereichszahl in der Spur an das Register 384 in Fig. 7E leitet. Wenn die monostabile Kippschaltung 392 ausschaltet, wird ein Impuls erzeugt, der die in Fig. 7C gezeigte monostabile Kippschaltung 394 einschaltet. Dadurch wird der Impuls W-2 erzeugt, der durch das ODER-Glied 410 läuft und einen Lesebefehl an den Speicher 377 gibt. Wenn die monostabile Kippschaltung 394 abschaltet, wird ιein Impuls erzeugt zum Einschalten der monostabilen Kippschaltung 396. Nach Darstellung in Fig. 7D wird dadurch der Impuls W-3 erzeugt, der an das Schaltglied 574 angelegt wird, um die Position
des Lese/Schreibkopfes zu prüfen. Steht der Kopf nicht in der {richtigen Position, wird ein Impuls vom aktiven Zustand der Leijtung 572 erzeugt, die vom Kopfeinstellmechanismus 389 kommt, der in Fig. 7F gezeigt ist, um die monostabile Kippschaltung 576 einzuschalten, die nur der Verzögerung dient und bei ihrem Abschallten einen Impuls erzeugt, um die monostabile Kippschaltung 396 wieder einzuschalten. Wenn der Kopf auf der Spur steht, wird vom
YO 973 032
70982A/0706
2S5288S ι
aktiven Zustand der Leitung 570, die vom Kopfeinstellmeehanisinus ! 389 kommt, ein Impuls zum Einschalten der monostabilen Xippschaltung 578 erzeugt. Dadurch wird der Impuls W-5 erzeugt, der zu der in Fig. 7B gezeigten Schaltung läuft und das Flip-Flop 380 auf \ Eins schaltet. Der Impuls W-5 läuft auch zu dem in Fig. 7K ge- \ zeigten ODER-Glied 412 und schaltet das in Fig. HlL gezeigte . Flip-Flop 334 auf Eins. In Fig. 7K wird mit dem Impuls W-5 auch das Schreib-Flip-Flop 338 auf Eins geschaltet. ¥©n !hieran wird das Schreiben des Bereiches und des Zeitstempels durch die Platten* einheit gesteuert.
Weil das Flip-Flop 338 in den Fign. 7K und 7Ii auf Eins steht, ist die Leitung 426 aktiv, und ihr aktiver Zustand erstreckt sich > durch das ODER-Glied 428 auf die Leitung 324, die nach oben läuft und das UND-Glied 418 einschaltet. Dadurch kann der erste auf der Leitung 424 erscheinende tibertragerimpuls durch das BED-Glied , 418 und das ODER-Glied 42O zum UND-Glied 422 laufen. Wie oben schon gesagt wurde, ist der Übertragerimpuls exakt phasengleich mit dem Taktimpuls C und daher kann man feststellen» daß der erste O-Impuls auf der Leitung 326 erscheint und das Flip-Flop 366 auf Eins schaltet und so die Leitung 430 in den aktiven Zaastand versetzt, der sich jetzt über das ODER-Glied 420 erstreckt und das UND-Glied 422 solange einschaltet, wie das Flip-Flop 366 auf Eins steht. Die C-Impulse erscheinen also weiter auf der Leitung 326, die zu der in Fig. 7£ gezeigten Schaltung läuft, nand werden zum Erhöhen des Spurbitzählers 348 verwendet. Weil das Flip-Flop 334 in den Fign. 7K und 7L auf Eins steht, wird das UND-Glied 432 so eingeschaltet, daß derselbe erste Übertragerimpuls durch das UND-Glied 432 zum UND-Glied 434 läuft, das durch den aktiven Zustand der Leitung 426 eingeschaltet ist, und somit erscheint ein Impuls auf der Leitung 330, die zu der in Flg. ΊΕ gezeigten Schaltung foährt, und läuft durch das ODER-Glied 438, um das Flip-Flop 350 auf Eins zu schalten. Der Impuls auf der JLeitung 330 schaltet außerdem das Flip-Flop 352 auf Eins.
YO 973 ©32
7Q9824/01ÖS
Nach Darstellung in den Fign. 7E und 7F wird das Schaltglied 440 eingeschaltet/ weil das Flip-Flop 350 jetzt auf Eins steht. Weil ;das Flip-Flop 352 auf Eins steht, wird auch das Schaltglied 442 i eingeschaltet. Wie schon gesagt wird der Spurbitzähler 348 durch die C-Impulse erhöht. Wenn die Zahl den Anfang des zu beschreiben-:
den Bereiches erreicht, erscheint ein Impuls auf der Leitung 314 !
ähnlich dem in Fig. 11 gezeigten Impuls 368 und schaltet das !
!Flip-Flop 360 auf Eins, wodurch sofort die Leitung 443 aktiv j
wird und somit beispielsweise das UND-Glied 444 einschaltet. Da- | !durch können die C-Impulse durch das ODER-Glied 446 zum Schreib- \
kopf laufen. ;
Anschließend wird erklärt, wie die Datenimpulse zum Schreibkopf j gelangen. Nach Darstellung in den Fign. 7H, I und J läuft der Impuls auf der Leitung 314 vom Schaltglied 442 in Fig. 7E über : das Kabel zur Fig. 71, wo er das Flip-Flop 340 auf Eins schaltet. Dadurch wird die Leitung 448 aktiv und das UND-Glied 450 eingeschaltet. Der erste an das UND-Glied 450 angelegte C-Impuls ist im allgemeinen ein Impuls derselben Art wie der in Fig. 11 gezeigte Impuls 368. Dieser C-Impuls läuft durch das ODER-Glied 1452 und das UND-Glied 454, welches eingeschaltet ist, weil der IModulo-32-Zähler 351 am Anfang auf lauter Nullen steht. Die Ausjgabe des UND-Gliedes 454 läuft zum UND-Glied 456, das ebenfalls !durch den aktiven Zustand der Leitung 448 eingeschaltet ist, und !weiter zur Leitung 458, die über ein Kabel zu der in Fig. 7D gezeigten Schaltung zurückläuft, und dann wird die Ausgabe an das Schaltglied 460 angelegt, um den Inhalt des Speicherdatenregisters [459 an das 32 Bit große Schieberegister 349 anzulegen. In den Fign. 7G und 7H läuft die Einer-Seite des linken Flip-Flop des 32 Bit großen Schieberegisters 349 über die Leitung 462 zum UND-Glied 464 der Fig. 7F. Dieses UND-Glied 464 wird durch den B-Impuls in Fig. 10 eingeschaltet. Wenn also das äußerste linke Bit in dem 32 Bit großen Schieberegister 349 auf Eins steht, läuft ein Impuls durch das UND-Glied 464 und das ODER-Glied 446 jzum Schreibkopf. Auf diese Weise wird eine Eins auf die Platte !geschrieben. Wenn das äußerste linke Bit in dem 32 Bit großen
YO 973 032
709824/0706
2652863
Schieberegister auf Null steht, dann wird natürlich kein Bit in die Bitzelle der Plattenspur geschrieben. In Fig. 7F ist gezeigt, i jwie B-Impulse an das UND-Glied 464 angelegt werden und auf diese Weise auf der Leitung 304 erscheinen, die durch das ODER-Glied 1468 in Fig. 7H läuft, um den Modulo-32-Zähler 351 zu erhöhen.
iln Fig. 7F laufen Ε-Impulse durch das UND-Glied 470 zur Leitung ; I300, die zu der in Fig. 7H gezeigten Schaltung führt, und durch
!das ODER-Glied 472, um den Inhalt des 32 Bit großen Schiebere-
j j
jgisters 349 um eine Stelle nach links zu verschieben. In Fig. 7J ;
wird der auf der Leitung 458 erschienene Impuls durch die Ver- ! zögerungseinheit 474 verzögert und erscheint auf der Leitung 476,
die zu der in Fig. 7A gezeigten Schaltung führt, und wird zum [
Erhöhen des Speicheradreßregisters 405 benutzt. Wenn das erfolgt j
ι ■ ι
ist, erscheint ein Impuls am Ausgang der Verzögerungseinheit 478 ! in Fig. 7J und auf der Leitung 480, die zu der in Fig. 7A ge- | zeigten Schaltung führt, und läuft durch das ODER-Glied 410 als Lesebefehl an den Speicher. Das Schreiben auf der Platte wird j fortgesetzt, bis die 32 Bits im Schieberegister 349 aufgebraucht 'sind. Zu diesem Zeitpunkt steht der Modulo-32-Zähler 351 wieder ;auf lauter Nullen und der nächste an das UND-Glied 450 in Fig. 7J !angelegte C-Impuls leitet wieder den Inhalt des Speicherdatenregisters 459 in Fig. 7C auf das 32 Bit große Schieberegister 349. Die Operationen laufen dann weiter bis zu dem Impuls, der anzeigt, daß das Ende des Bereiches auftritt. Dieser Impuls kommt vom Spurbitzähler 348 in Fig. 7E, erscheint auf der Leitung 312 und ist ein äquivalenter Impuls zu dem in Fig. 11 gezeigten Impuls 370. Aus Fig. 11 ist zu ersehen, daß es noch ein Datenbit gibt, das dem Impuls 370 folgen kann. Wegen dieses letzten Datenimpulses ist in Fig. 7F die Verzögerungseinheit 482 eingebaut, um den Impuls auf der Leitung 312 bei der Rückstellung des Flip-Flop 360 auf Null zu verzögern, weil die Leitung 443 lange genug aktiv gahalten werden muß, so daß der letzte B-Impuls eine mögliche Ein» durch das UND-Glied 464 und das ODER-Glied 446 an den Schreibekopf leiten kann. Mit der Ausgabe der Verzögerungseinheit 482 wird das in Fig. 7E gezeigte Flip-Flop 352 auf Null
YO 973 032
709824/0708
zurückgestellt. Da keine weiteren Übertragungen vom Speicherdatenregister 459 in das 32 Bit große Schieberegister 349 notwendig sind, wird mit dem auf Leitung 312 in Fig. 71 erscheinenden Impuls das Flip-Flop 340 auf Null zurückgestellt und damit die in Fig. 7J gezeigten UND-Glieder 350 und 356 so abgeschaltet, daß keine weiteren C-Impulse für eine übertragung durchgeleitet werden, wodurch das Speicheradreßregister erhöht wird und Lesezugriffe des Speichers ausgelöst werden. Auf diese Weise wird der Bereich auf der Platte beschrieben.
Die Platte dreht sich nun weiter, bis der Anfang des Zeitstempels auftritt und einen Impuls auf der Leitung 310 in den Fign. 7E und 7F auslöst, der ähnlich ist dem Impuls 372 in Fig. 11. Dieser Impuls auf der Leitung 310 setzt das Flip-Flop 358 auf Eins, so daß die Leitung 443 wieder aktiv wird. In den Fign. 71 und 7J ist gezeigt, wie der Impuls auf der Leitung 310 das Flip-Flop auf Eins schaltet und dadurch die UND-Glieder 484 und 486 einschaltet. Das bedeutet, daß derselbe Impuls, der auf der Leitung 310 erschien, durch das UND-Glied 484 und das ODER-Glied 452 zum UND-Glied 454 läuft, das nun ein Ausgangssignal hat, weil der Modulo-32-Zähler 351 auf lauter Nullen steht, so daß das UND-Glied 486 ebenfalls ein auf der Leitung 488 erscheinendes Ausgangssignal hat. Die Leitung 488 läuft zur Fig. 7B, wo der Impuls an das Schaltglied 490 angelegt wird, um den Zeitintervallzähler 378 zu leiten und das Anzeigebit 380 des 32 Bit großen Schieberegister s 349. Der Impuls auf der Leitung 488 wird außerdem an das Schaltglied 491 angelegt, um den Zeitintervallzähler 378 an das in Fig. 7D gezeigte TC-Schreibregister 390 anzulegen. Das !schreiben des Zeitstempels wird jetzt aus dem 32 Bit großen !Schieberegister 349 fortgesetzt in ähnlicher Weise, wie es oben !beschrieben wurde. Wenn das Ende des Zeitstempels auftritt, erscheint ein Impuls auf der in den Fign. 7E und 7F gezeigten Leitung 308 der äquivalent ist dem Impuls 374 in Fig. 11. Durch die Verzögerungseinheit 490 will man auch das letzte Bit noch bekommen, das unmittelbar hinter dem Impuls auf der Leitung 308 erscheint. Durch die Ausgabe der Verzögerungseinheit 490 werden
YO 973 032
709824/0706
die Flip-Flops 350 und 358 auf Null zurückgestellt. In Fig. 71 ist gezeigt, wie der Impuls auf der Leitung 308 das Flip-Flop 342 auf Null zurückstellt und dadurch jede weitere Aktion der UND-Glieder 484 und 486 verhindert.
Eine Schreiboperation wird wie folgt beendet. Wenn in Fig. 7L der tibertragerimpuls auf der Leitung 424 durch das UND-Glied 432 geleitet wird und das Flip-Flop 414 auf Eins schaltet, so wird dadurch das UND-Glied 494 so eingeschaltet, daß bei Erscheinen eines Impulses auf der Leitung 492 am Ende des letzten Zeitstempels auf der Platte das UND-Glied 494 ein Ausgangssignal hat, das das Flip-Flop 338 auf Null zurückstellt. Dasselbe Signal läuft weiter durch die Verzogerungseinheit 496 und stellt das Flip-Flop 414 auf Null zurück. Derselbe Ausgangsimpuls des UND-Gliedes 494 erscheint auf der Leitung 504, die zu der in Fig. 7D gezeigten Schaltung zurückführt, und ist für den Computer ein Signal dafür, daß der Bereich fertig beschrieben ist. In Fig. 7L hat auch das ODER-Glied 498 einen Ausgang, um die monostabile Kippschaltung 500 einzuschalten. Der von ihr erzeugte Impuls stellt das Flip-Flop 366 auf Null zurück. Wenn in Fig. 7F die monostabile Kippschaltung 500 abschaltet, erzeugt sie einen Impuls zum Einschalten der monostabilen Kippschaltung 502 und diese einen Impuls auf der Leitung 506, mit dem der Spurbitzähler 348 in Fig. 7E zurückgestellt wird.
Anschließend wird beschrieben, wie ein Bereich von der Platte gelesen wird. Dazu braucht man bekanntlich zwei Plattenumdrehungen Während der ersten Umdrehung wird der Bereich in den Speicher 377 der Fig. 7A und der Zeitstempel in das TC-Leseregister der Fig. 7D gelesen. Bei der zweiten Umdrehung werden der Zeitintervall zähler 378 und das Anzeigebit 380 in den Zeitstempelraum für den Bereich auf der Platte nach Darstellung in Fig. 7B geschrieben. Die nachfolgende Tabelle V enthält eine Liste des Mikroprogrammes zum Lesen eines Bereiches vom der Platte.
YO 973 032
709824/0706
Tabelle V
Mikroprogramm Lesen eines Bereiches
Start - Durch Impuls vom Bedienercodedecodierer (Fign. 7A, 7C). R-1 - Leite Anfangsadresse an MAR 405, Spurnummer und Bereichs-
nummer an Platteneinheit.
R-2 - Steht Kopf auf der Spur?
- Wenn ja, Signal auf Leitung 570 und Erzeugung von R-4.
- Wenn nein, Signal auf Leitung 572 und Erzeugung von R-3. R-3 - Nur Verzögerung, weiter mit R-2.
R-4 - Setze Flip-Flop 334 (Fig. 7L) auf Eins. Setze Flip-Flop 336 (Fig. 7K) auf Eins. Setze Flip-Flop 380 (Fig. 7B) auf Null.
Eine Instruktion "Bereich von Platte lesen" wird vom Instruktionsregister 376 durch einen Impuls auf der Leitung 400 (Fign. 7A und 7C) iniziiert. Dieser Impuls schaltet die monostabile Kippschaltung 508 ein, die einen Impuls R-1 erzeugt. Dieser Impuls läuft durch das ODER-Glied 402 zu den Schaltgliedern 404, 406 und 408 und hat dieselbe Leitfunktion, die oben beschrieben wurde. Wenn die monostabile Kippschaltung 508 abschaltet, wird ein Impuls zum Einschalten der monostabilen Kippschaltung 510 erzeugt, die dann den Impuls R-2 erzeugt, der an das Schaltglied 586 in Fig. 7D angelegt wird, um die Position des Lese/Schreibkopfes zu prüfen. Befindet sich der Kopf nicht in der richtigen Position, wird aus dem aktiven Zustand der Leitung 572 ein Impuls zum Einschalten der monostabilen Kippschaltung 582 erzeugt. Die monostabile Kippschaltung 582 dient nur zur Verzögerung und wenn ι sie abgeschaltet ist, wird ein Impuls erzeugt, um die monostabile !Kippschaltung 510 wieder einzuschalten. Wenn der Kopf auf der Spur steht, wird ein Impuls vom aktiven Zustand der Leitung 570 zum Einschalten der monostabilen Kippschaltung 584 erzeugt, die dann den Impuls R-4 erzeugt, der zu der in Fig. 7B gezeigten Schaltung läuft und das Flip-Flop 380 auf Null schaltet. Der Impuls R-4 läuft auch zu der in Fig. 7K gezeigten Schaltung und
YO 973 032
709824/0706
dort durch das ODER-Glied 412, um das Flip-Flop 334 und das Lese-Flip-Flop 336 auf Eins zu schalten. In Fig. 7F erzeugt der auf der Leitung 424 erscheinende Übertragerimpuls wieder Taktimpulse auf der Leitung 326, mit denen der Spurbitzähler 348 in Fig. 7C erhöht wird. Der Übertragerimpuls läuft auch durch die UND-Glieder 432 und 436 zur Leitung 328, die zu der Schaltung in Fig. 7C führt, und wird zum Schalten der Flip-Flops 354 und 356 auf Eins benutzt. Die Schaltglieder 512 und 514 in Fig. 7D werden eingeschaltet. Das Lesen des Bereiches wird durch das Schaltglied und das Lesen des Zeitstempels durch das Schaltglied 514 gesteuert, weil der auf der Leitung 424 erscheinende Übertragerimpuls ein Ausgangssignal des UND-Gliedes 432 in Fig. 7F erzeugt. Der Ausgang des UND-Gliedes 432 schaltet das Flip-Flop 414 auf Eins. Der erste Übertragerimpuls läuft durch die Verzögerungsschaltung 516 und stellt das Flip-Flip 334 auf Null zurück.
Zum Lesen von der Platte wird das 32 Bit große Schieberegister in Fig. 7D vom Lesekopf geladen und dann dessen Inhalt in das Speicherdatenregister 459 übertragen und anschließend folgt die Speicheroperation, um das Wort im Speicher zu speichern. Das Speicheradreßregister 405 wird dann zur Vorbereitung auf das nächste 32 Bit große Wort wie folgt erhöht. Wenn der Anfang des Bereiches auftritt, liefert der Decodierer 386 ein Signal, mit dem ;ein Impuls auf der Leitung 316 (Fign. 7E, G und H) erzeugt wird, !und der äquivalent ist dem Impuls 368 in Fig. 11. Wenn das passiert, wird das Flip-Flop 362 auf Eins geschaltet und das ODER-Glied 518 hat ein Ausgangssignal, mit dem die Leitung 520 aktiv gemacht wird. Der erste Datenimpuls vom Lesekopf wird jdurch den Inverter 519 und das Schaltglied 521 in das äußerste !rechte Flip-Flop des Schieberegisters 349 durch den B-Impuls jam Schaltglied 523 geleitet, wodurch die Leitung 306 zur Zeit B aktiv wird. Dadurch wird außerdem der Inhalt des Modulo-32-I Zählers 351 erhöht. Ε-Impulse werden ebenfalls über das Schaltglied 525 auf der Leitung 302 erzeugt, die durch das ODER-Glied 472 laufen und die 32 Bits im Schieberegister 349 verschieben. Der Impuls auf der Leitung 316 wird nach Darstellung in Fig. 7E
YO 973 032
709824/0706
durch den Verzögerungskreis 522 verzögert, um das Flip-Flop 344 auf Eins zu schalten und so zu verhindern, daß der erste den Impuls 368 in Fig. 11 äquivalente C-Impuls den Inhalt des Schieberegisters 349 in das MDR 459 leitet, weil das erst geschehen soll, wenn die ersten 32 Bits in das Schieberegister geladen wurden. Der Verzögerungskreis 522 verhindert außerdem die Betätigung des UND-Gliedes 454 über das Flip-Flop 344 und die Schaltglieder 524 und 452, so daß es zu dieser Anfangszeit nicht eingeschaltet wird. Der erste B-Impuls nach dem ersten C-Impuls, der wie oben gesagt dem Impuls 368 in Fig. 11 äquivalent ist, erhöht den Modulo-32-Zähler 351 so, daß das UND-Glied 454 erst eingeschaltet werden kann, wenn die ersten 32 Bits in das Schieberegister 349 geladen wurden. Wenn das geschehen ist, wird der nächste C-Impuls durch das Schaltglied 524, das ODER-Glied 452, die UND-Glieder 454 und 526 und setzt einen Impuls auf die Leitung 528, die von Fig. 7J zur Fig. 7D läuft, und dieser Impuls wird dann an das Schaltglied 531 angelegt, um den Inhalt des Schieberegisters 349 in das Speicherdatenregister 459 zu leiten. Derselbe Impuls läuft auch durch die Verzögerungseinheit 530 auf die Leitung 532, die von der Fig. 7J zur Fig. 7A führt, und gibt den Schreibbefehl an den Speicher 377. Dieser Impuls wird wiederum durch die Verzögerungseinheit 534 verzögert, die einen Impuls auf der Leitung 536 erzeugt, die ebenfalls zu der in Fig. 7A gezeigten Schaltung läuft, und mit diesem Impuls wird dann der Inhalt des Speicheradreßregisters 405 erhöht. Auf diese Weise werden die 32 Bits auf dem Schieberegister 349 so oft wie nötig von der Platte geladen und in den Speicher übertragen, bis das Ende des Bereichs erscheint. Dann erscheint auf der Leitung 318 in Fig. 7H ein Impuls äquivalent dem Impuls 370 in Fig. 11, hinter diesem Impuls folgt jedoch noch ein Datenbit, und deshalb ,verzögert die VerzögerungsschaItung 540 in Fig. 7H die Rückstellung des Flip-Flops 362, bis der nächste B-Impuls das letzte
!Datenbit in das äußerste rechte Flip-Flop des 32 Bit großen i
Schieberegisters 349 leiten kann. Die Verzögerung der Verzögerungseinheit 540 reicht gerade aus, um den nächsten B-Impuls aufzunehmen. In den Fign. 71 und 7J ist gezeigt, wie der Impuls auf
YO 973 032
709824/0706
der Leitung 318 auf der Verzögerungseinheit 542 angelegt wird, die den Impuls lange genug verzögern muß, damit der nächste C-Impuls erfaßt werden kann, der jetzt durch das UND-Glied 524, das ODER-Glied 452, die UND-Glieder 454 und 526 zur Leitung läuft, um die letzten 32 Bits auf dem 32 Bit großen Schieberegister 349 in das Speicherdatenregister 459 zu leiten. Auf der Leitung 532 folgt ein Impuls, um einen Schreibbefehl an den Speicher zu geben. Auf diese Weise werden die letzten 32 Bits im Speicher gespeichert. Ein nachfolgender Impuls aus der Verzögerungseinheit 534 auf der Leitung 536 soll den Inhalt des Speicheradreßregisters 405 erhöhen, ist aber zu diesem Zeitpunkt unwirksam.
Die Platte dreht sich weiter, bis der Anfang des Zeitstempels auftritt. Der Spurbitzähler 348 löst einen Impuls auf der Leitung 320 in Fig. 7H aus, der das Flip-Flop 364 auf Eins schaltet und die Leitung 520 wieder aktiv macht. Dieser Impuls auf der Leitung 320 ist äquivalent dem Impuls 372 in Fig. 11. Der Impuls auf der Leitung 320 wird nach Darstellung in den Fign. 71 und 7J durch die Verzögerungseinheit 544 verzögert, um das Flip-Flop 346 auf Eins zu schalten, damit der gleichzeitig auftretende C-Impuls nicht durch das UND-Gleid 546 weiterlaufen kann. Die 32 Bits im Zeitstempelabschnitt werden in das 32 Bit große Schieberegister 349 geladen, und wenn das Ende des Zeitstempels auftritt, was bedeutet, daß ein Impuls auf der Leitung 322 erscheint, so wird dieser Impuls durch die Verzögerungseinheit 547 in Fig. 7H verzögert, um das Flip-Flop 364 später zurückzustellen, so daß der aktive Zustand der Leitung 520 lange genug erhalten bleibt, um das erste diesem Ende des Zeitstempelsignales folgende Datenbit zu bekommen. In den Fign. 71 und 7J ist gezeigt, wie der Impuls auf der Leitung 322 durch die Verzögerungseinheit verzögert wird, um das Flip-Flop 346 später zurückzustellen, so daß der folgende C-Impuls über das UND-Glied 546, das ODER-Glied 452 sowie die UND-Glieder 454 und 550 zur Leitung 552 läuft, die zu Fig. 7D führt, um den Inhalt des 32 Bit großen Schieberegisters 349 in das TC-Leseregister 382 zu leiten.
YO 973 032
7 09824/0706
Die erste Umdrehung der Platte läuft dann welter, bis das Ende des letzten Zeitstempels auftritt und ein Impuls auf der Leitung 492 erscheint. In Fig. 7L ist gezeigt, daß der Impuls auf der Leitung 492 durch das UND-Glied 494 und das ODER-Glied 498 läuft und die monostabile Kippschaltung 500 einschaltet, weil das Flip-Flop 414 durch den Übertragerimpuls auf Eins gesetzt war. Die monostabile Kippschaltung 500 erzeugt dann einen Impuls zum Rückstellen der Flip-Flops 366 und 338 auf Null. Wenn die monostabile Kippschaltung 500 abschaltet, wird ein Impuls zum Einschalten der monostabilen Kippschaltung 502 erzeugt, die dann einen Impuls auf der Leitung 506 erzeugt, die zur Fig. 7E läuft, und den Spurbitzähler 348 zurückstellt. Die Platte dreht sich weiter, bis der Übertragerimpuls ein zweites Mal auftritt. Der erste Übertragerimpuls auf der Leitung 424 lief ja bekanntlich durch die Verzogerungseinheit 516 in Fig. 7L und schaltete das Flip-Flop 343 auf Null. Dadurch wird das UND-Glied 554 eingeschaltet, so daß beim Auftreten des zweiten Übertragerimpulses auf der Leitung 424 dieser jetzt durch das UND-Glied 554 läuft und das Flip-Flop 416 auf Eins schaltet. Der Ausgangsimpuls des UND-Glieds 454 läuft auch durch das UND-Glied 556 zur Leitung 332 in Fig. 7K, die durch das ODER-Glied 438 in Fig. 7E führt, und der Impuls schaltet das Flip-Flop 350 auf Eins. Das schaltet !bekanntlich in diesem Zustand das Schaltglied 440 ein, das das [Schreiben des Zeitstempels steuert. Dieses Mal besteht der einjzige Unterschied zum vorherigen Schreiben darin, daß bei Erlscheinen des Impulses auf der Leitung 492 in Fig. 7L dieser jetzt idurch das UND-Glied 558 läuft, weil das Flip-Flop 416 bei der zweiten Umdrehung auf Eins geschaltet ist, während bei der ersten !Umdrehung das Flip-Flop 414 auf Eins geschaltet war. Die Ausgabe !des UND-Gliedes 558 stellt das Flip-Flop 336 in Fig. 7K auf Null zurück und erzeugt einen Impuls auf der Leitung 561, die zur Fig. 7D führt, und dieser Impuls zeigt dem Computer an, daß ein Bereich von der Platte fertig gelesen ist. Der Ausgang des UND-Gliedes 558 ist außerdem mit der Rückstellseite des Flip-Flop 416 über eine Verzogerungseinheit 560 verbunden. In Fig. 7L ist
YO 973 032
709824/0706
,gezeigt, daß der Ausgang des UND-Gliedes 558 ebenfalls über das ODER-Glied 498 zum Einschalten der monostabilen Kippschaltung geführt wird, so daß das Flip-Flop 366 auf Null zurückgestellt wird. Wenn die monostabile Kippschaltung 500 abschaltet, wird ein Impuls zum Einschalten der monostabilen Kippschaltung 502 !erzeugt, die dann einen Impuls auf der Leitung 506 erzeugt, die zu der Schaltung in Fig. 7E führt, und dieser stellt den Spurbitzähler 348 zurück. Auf diese Weise wird ein Bereich gelesen.
Die in den Fign. 7A bis 7L gezeigte Plattendateistruktur enthält also ein Zeitstempelspeicherelement oder einen mit jedem Datenbereich auf der Platte reservierten Raum, der einen Zeitcode enthält, der anzeigt, wann der Bereich zuletzt von der Platte gelesen oder auf die Platte geschrieben wurde. Außerdem gehört zu jedem Plattenbereich ein Zugriffsbitspeicherelement, mit dem angezeigt werden kann, ob der letzte Zugriff zum Bereich ein Schreib- oder Lesezugriff war. Die TC-Lese- und Schreibregister '382 und 390 sind Arbeitsregister, in denen das zum Lesen und !Schreiben eines Bereiches gehörende Zeitstempelwort gespeichert wird. Die Register stehen dem Programmierer zur Verfügung und 'können zum Speichern des Zeitstempelwortes in jeder gewünschten jArt verwendet werden.
■Beim Schreiben eines Bereiches auf die Platte wird der alte Beireich und der alte Zeitstempel überschrieben. Beim Schreiben des Bereiches auf die Platte wird der Zeitcode von der Zeituhr in das zugehörige,Zeitstempelspeicherelement auf der Platte geleitet und dort aufgeschrieben. Der laufende Zeitstempel wird ebenfalls in das TC-Schreibregister 390 eingegeben und dem Programmierer zur Verfügung gestellt.
Zum Lesen von der Platte wird ein Schieberegister vom Lesekopf geladen und dann dessen Inhalt in ein Speicherdatenregister über- j tragen und dann folgt die Speicheroperation zum Speichern des Wortes im Speicher. Wenn der Datenbereich fertig von der Platte
YÖ 973 032
709824/0708
über die Register in den Speicher übertragen ist, wird der im zugehörigen Zeitstempelspeicherelement auf der Platte gespeicherte Zeitstempelcode in das TC-Leseregister 382 ausgeleitet, so daß man den letzten Adressierzeitpunkt des Bereiches ablesen kann. Bei der nächsten Umdrehung der Platte wird außerdem der laufende Zeitcode von der Zeituhr in das Zeitstempelspeicherelement auf der Platte geschrieben, um anzugeben, wann der Bereich erneut gelesen wurde. Dieser laufende Zeitcode wird außerdem in das TC-Schreibregister 390 eingetragen, so daß der Programmierer sowohl Zugang hat zum TC-Leseregister 382, um die Zeit zu bekommen, zu der der Bereich zuletzt adressiert wurde, als auch zum TC-Schreibregister 390, um die neue Zeit zu bekommen, zu der der Bereich gelesen wurde.
YO 973 032
709824/0706
3S·
Leerseite

Claims (8)

  1. PATENTANSPRÜCHE
    Einrichtung zur Sicherung von Daten in Speicherbereichen einer Datenverarbeitungsanlage mit einer Zeitangabeeinrichtung und einer Speichersteuerung, gekennzeichnet
    durch erste Einrichtungen (18, 30, 36) zur Speicherung
    von Zeitangaben,
    durch Torschaltungen (24) , welche die Zeitangabeeinrichtung (20) mit den ersten Einrichtungen verbinden,
    durch zweite Einrichtungen (26) in der Speichersteuerung zur Steuerung der Torschaltungen und
    durch dritte Einrichtungen (r) zur Anzeige des Inhalts
    der Einrichtungen zur Speicherung der Zeitangaben.
  2. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die ersten Einrichtungen jeweils eine Speichereinrichtung betreffend einen Datenblock im internen Hauptspeicher und betreffend einen Datenblock in einem externen Speicher
    (32) enthalten.
  3. 3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die ersten Einrichtungen als Assoziativspeicher (100) ausgeführt sind.
  4. 4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die ersten Einrichtungen im externen Speicher (32) enthalten sind.
  5. 5. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die den Datenblöcken im internen Speicher (12) zugeordneten ersten Speichereinrichtungen (18) mit dem werthohen
    Teil der Adresse (16) im Speicheradressenregister (SAR)
    adressiert werden.
  6. 6. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß bei jedem Speicherzugriff mit Hilfe der zweiten Einrich-
    YO 973 032
    70982A/0706
    tungen eine Angabe in den ersten Einrichtungen darüber gespeichert wird, ob es sich um einen Lese- oder einen Schreibzugriff handelt.
  7. 7. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die ersten Einrichtungen für den externen Speicher (32) ein Zeitstempelregister (36) für jeden Datenkanal (38) und ein Zeitsterapelwortregister (TS) innerhalb jedes Datenblocks im externen Speicher (32) enthalten.
  8. 8. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß der externe Speicher (32) als Plattenspeicher ausgeführt ist und daß jeder Datenkanal (38) ein Register (c) zur Kennzeichnung des Kanales enthält.
    YO 973 032
    709824/070$
DE19762652869 1975-12-04 1976-11-20 Datensicherungseinrichtung Withdrawn DE2652869A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/637,492 US4040034A (en) 1975-12-04 1975-12-04 Data security system employing automatic time stamping mechanism

Publications (1)

Publication Number Publication Date
DE2652869A1 true DE2652869A1 (de) 1977-06-16

Family

ID=24556172

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762652869 Withdrawn DE2652869A1 (de) 1975-12-04 1976-11-20 Datensicherungseinrichtung

Country Status (7)

Country Link
US (1) US4040034A (de)
JP (1) JPS5282033A (de)
BR (1) BR7608168A (de)
CA (1) CA1080365A (de)
DE (1) DE2652869A1 (de)
FR (1) FR2334149A1 (de)
GB (1) GB1534189A (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5556262A (en) * 1978-10-20 1980-04-24 Nec Corp Operation hysteresis retention system
US4237533A (en) * 1978-12-28 1980-12-02 International Business Machines Corporation Preventing initial program load failures
US4866604A (en) * 1981-10-01 1989-09-12 Stratus Computer, Inc. Digital data processing apparatus with pipelined memory cycles
US4523271A (en) * 1982-06-22 1985-06-11 Levien Raphael L Software protection method and apparatus
US5023779A (en) * 1982-09-21 1991-06-11 Xerox Corporation Distributed processing environment fault isolation
CH646834GA3 (de) * 1983-06-01 1984-12-28
US4740890A (en) * 1983-12-22 1988-04-26 Software Concepts, Inc. Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US5014234A (en) * 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
US5251909A (en) 1991-05-28 1993-10-12 Reed Michael J Secured high throughput data channel for public broadcast system
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5471631A (en) * 1992-10-19 1995-11-28 International Business Machines Corporation Using time stamps to correlate data processing event times in connected data processing units
US5781769A (en) * 1995-12-29 1998-07-14 Symbios, Inc. Method and apparatus for using a content addressable memory for time tagged event processing
US6044477A (en) * 1996-01-31 2000-03-28 International Business Machines Corporation System and method for auditing buffer usage in a data processing system
US5790840A (en) * 1997-08-15 1998-08-04 International Business Machines Corporation Timestamp systems, methods and computer program products for data processing system
US5978928A (en) * 1997-10-17 1999-11-02 Hewlett-Packard Company Relative logarithmic time stamps for reduced memory map size
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
GB2387683B (en) * 2002-04-19 2007-03-28 Hewlett Packard Co Workflow processing scheduler
US9647838B2 (en) * 2013-01-25 2017-05-09 Ralph John Hilla Restructuring the computer and its association with the internet
KR20200129776A (ko) * 2019-05-10 2020-11-18 삼성전자주식회사 재전송 공격에 대한 방어책을 포함하는 메모리 시스템의 구동 방법 및 이를 수행하는 메모리 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3328765A (en) 1963-12-31 1967-06-27 Ibm Memory protection system
GB1117728A (en) * 1966-04-06 1968-06-26 Tateisi Electronics Company An entry or exit recording control apparatus
US3725872A (en) * 1971-03-03 1973-04-03 Burroughs Corp Data processing system having status indicating and storage means
US3771144A (en) * 1972-07-24 1973-11-06 Ibm Clock for computer performance measurements
US3792493A (en) * 1972-11-06 1974-02-12 Intelligence Services Prod Div Door actuated time recorder

Also Published As

Publication number Publication date
JPS5640383B2 (de) 1981-09-19
FR2334149B1 (de) 1980-03-14
CA1080365A (en) 1980-06-24
JPS5282033A (en) 1977-07-08
FR2334149A1 (fr) 1977-07-01
BR7608168A (pt) 1977-11-22
US4040034A (en) 1977-08-02
GB1534189A (en) 1978-11-29

Similar Documents

Publication Publication Date Title
DE2652869A1 (de) Datensicherungseinrichtung
DE2916658C2 (de)
DE2515696C2 (de) Datenverarbeitungssystem
DE3127825C2 (de)
CH619309A5 (de)
DE1524225B2 (de) Verfahren zum betriebe einer redigier- und wiedergabeeinrichtung
DE2326942A1 (de) Verfahren und anordnung zum registrieren von informationen in konzentrischen spuren einer mehrzahl von gleichachsig drehbaren platten
DE2122338A1 (de) Schaltungsanordnung zur Steuerung des Datenflusses in Datenverarbeitungsanlagen
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE1499206B2 (de) Rechenanlage
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE2055522B2 (de) Anordnung zur eingabe von daten in eine digitale datenverarbeitungsanlage
DE1806535A1 (de) Digitale Rechenanlage
DE3320378A1 (de) Programmschutzvorrichtung fuer computerprogramme
EP0935214A2 (de) Chipkarte mit integrierter Schaltung
DE1499742A1 (de) Steuerbare Speicherzugriffsvorrichtung fuer Speichereinrichtungen von Datenverarbeitungsanlagen mit Multiprogrammverarbeitung
WO2003048943A2 (de) Speicher für die zentraleinheit einer rechenanlage, rechenanlage und verfahren zum synchronisieren eines speichers mit dem hauptspeicher einer rechenanlage
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
DE2221926B2 (de) Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor
DE1474376A1 (de) Verfahren und Anordnung zum schnellen Zugriff bei grossen seriellen Speichern
CH495584A (de) Datenverarbeitungsanlage
DE3200042C2 (de)
DE1524878B2 (de) Verfahren zum erzeugen von steuersignalen fuer die steuerung adressierbarer wortorientierter speicher
EP1472606A2 (de) Schlüsselmanagementeinrichtung und verfahren zur verschlüsselten ablage von digitalen datenwörtern

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee