DE2801518A1 - Datenverarbeitungssystem mit speicher-schutzeinrichtung - Google Patents

Datenverarbeitungssystem mit speicher-schutzeinrichtung

Info

Publication number
DE2801518A1
DE2801518A1 DE19782801518 DE2801518A DE2801518A1 DE 2801518 A1 DE2801518 A1 DE 2801518A1 DE 19782801518 DE19782801518 DE 19782801518 DE 2801518 A DE2801518 A DE 2801518A DE 2801518 A1 DE2801518 A1 DE 2801518A1
Authority
DE
Germany
Prior art keywords
signal
gate
signals
locking
memory
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
DE19782801518
Other languages
English (en)
Inventor
Benedict A Palumbo
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2801518A1 publication Critical patent/DE2801518A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem nach dem Gattungsbegriff des Anspruchs 1. In Universalrechnern, in denen eine Anzahl von Geräten, wie beispielsweise Zentraleinheiten, zu verschiedenen Zeitpunkten Zugriff zu einem dem System zugeordneten Hauptspeicher besitzen, besteht die Forderung, Situationen zu vermeiden, in denen gleichzeitig zwei Geräten Zugriff zu dem gleichen ausgewählten Speicherplatz oder gar zu dem gleichen Speicherblock gewährt wird, um bestimmte eindeutige Operationsfolgen ausführen zu können. Eine gemeinhin angetroffene eindeutige Operationsfolge bildet beispielsweise die Lese/Veränderungs/Schreib-Operation, die das Auslesen von Daten aus einem bestimmten Speicherplatz innerhalb eines ausgewählten Speicherblocks, die Bearbeitung der ausgelesenen Daten und das Einschreiben der bearbeiteten und somit veränderten Daten zurück in den festgelegten Speicherplatz beinhaltet. Es ist somit von Bedeutung, daß ein anderes Gerät des Datenverarbeitungssystems, z.B. eine andere Zentraleinheit, keinen Zugriff zu dem ausgewählten Speicherblock während des Zeitintervalls besitzt, wo eine erste Zentraleinheit bereits über Zugriff verfügt.
Der Hauptspeicher eines Datenverarbeitungssystems kann ebenfalls für andere Operationsarten verwendet werden, beispielsweise zur Feststellung des Auftritts eines bedeutenden Ereignisses. Wenn ein Datenverarbeitungsgerät, z.B. eine Platteneinheit, beispielsweise eine bestimmte Operation beendet, so kann der Auftritt dieses Ereignisses für eine Anzahl anderer Geräte des Datenverarbeitungssystems von Bedeutung sein. Ein zuvor festgelegter Speicherplatz innerhalb des Speichers kann somit benutzt werden, um den Auftritt dieses Ereignisses allen Geräten anzuzeigen, die Zugriff zu dem Speicher suchen.
Der Speicherplatz 0 ,d.h. der am wenigstens signifikante Speicherplatz, kann zum Beispiel üblicherweise zu diesem Zweck verwendet verden. Irgendein Gerät, das die in den entsprechenden Zellen des Speicherplatzes 0 enthaltene Information benötigt, wird den Inhalt dieser Zellen auslesen, um festzustellen, ob ihr Inhalt zu der von dem anfragenden^Gerät auszuführenden Operation
809 8
zugehörig ist oder nicht. Diese Zellen werden häufig als Unterbrechungszellen bezeichnet, da das anfragende Gerät bei Zugehörigkeit der aus den Zellen ausgelesenen Information seine eigene Operation unterbrechen kann. Ist die Information nicht passend, ;so kann der Inhalt der ünterbrechungszellen in der aus dem festgelegten Speicherplatz empfangenen Form in die Zellen zurückgeführt werden, d.h. die Zellen speichern erneut ihren früheren Zustand. Wenn jedoch die in den Unterbrechungszellen enthaltene Information dem anfragenden Gerät passend erscheint, so werden die Zellen auf einen Standard zustand, z. B. den Zustand "1" zurückgestellt, um zu einem anderen Zeitpunkt auf Grund eines weiteren festgestellten Eregnisses wieder gesetzt zu werden. Wie im Falle der Speicherplätze bei einer Lese/Veränderuncs/fechreib-Operation muß während des Intervalles, in dem ein bestimmtes Gerät Zugriff zu den Unterbrechungszellen besitzt, «der Zugriff zu diesen Zellen für irgendein anderes Gerät verboten werden, um keine Fehlinformation hinsichtlich des festgehaltenen Ereignisses zu geben.
In bekannten Geräten sind solche Verriegelungsschercen häufig nur sehr kostspielig zu verwirklichen und die bekannten Geräte haben oftmals die Tendenz, ,die Systemleistung zu vermindern. Die bekannten Verriegelungssysteme sind nicht in der Lage, zwischen verschiedenen, auf einen bestimmten Speicherblock bezogenen Operationen zu unterscheiden. Während ein erstes Gerät Zugriff zu einem ausgewählten Speicherblock besitzt, kann es somit nicht erforderlich sein, einem zweiten Gerät den Zugriff auf den gleichen Block bei einer nicht-überlappenden Betriebsweise zu verbieten. Während beispielsweise ein erstes Gerät eine Lese/Veränderungs/Schreib-Operation in einem ausgewählten Speicherblock ausführt, kann eine nicht-verändernde Leseoperation oder eine normale Schreibopera- ■ tion, die gleichzeitig durch ein anderes Gerät in dem gleichen ' Block ausgeführt wird, erlaubt sein, wenn diese Operationen nicht mit der ersten Operation überlappen oder zu einer Fehlinformation für das andere Gerät führen. Die Hinderung des zweiten Gerätes an der gleichzeitigen Ausführung solcher normaler Operationen trägt
809829/0922
vom allgemeinen Gesichtspunkt des Datenverarbeitungssystems nichts zu der Sicherheit der in dem ausgewählten Speicherblock gespeicherten Information bei und setzt lediglich die Leistungsfähigkeit des gesamten Datenverarbeitungssystems herab.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Einrichtung zum Schutz der in einem ausgewählten Speicherblock gespeicherten Information in einem Datenverarbeitungssystem zu schaffen, wobei einem ersten Gerät des Systems die Gewinnung·die Beibehaltung des Zugriffs auf den ausgewählten Speicherblock zwecks Ausführung einer spezifischen Operationsfolge gestattet wird und anderen Geräten der Zugriff zu dem Speicherblock zum gleichen Zweck untersagt wird, bis das erste Gerät den Zugriff aufgegeben hat. Die in einem ausgewählten Speicherblock gespeicherte Information soll hierbei gegen das Lesen und die Veränderung durch eine eindeutige Operationsfolge eines anderen Gerätes geschützt werden, während ein erstes Gerät den Zugriff zu dem ausgewählten Speicherblock besitzt. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Anhand der einzigen Figur der beiliegenden Zeichnung sei im folgenden ein Ausführungsbeispiel der Erfindung erläutert. Die von dem Schaltkreis gemäß der einzigen Figur empfangenen Eingangssignale werden durch das Gerät bestimmt, das Zugriff zu dem ausgewählten Speicherplatz sucht. Das Befehlsformat dieser Signale kann dergestellt sein, daß sie eine Gruppe von codierten Anweisungssignalen, die die auszuführende Operation festlegen, sowie eine Gruppe von codierten Adressignalen umfassen. Die codierten Anweisungssignale werden Eingangsklemmen 7 eines Decodierers 10 zugeführt. Ein erstes Paar von Ausgangsleitungen 20 und 23 ist jeweils auf einen Eingang von ODER-Gattern 11 und 12 geführt. Ein zweites Paar von Ausgangsleitungen 31 und 32 des Decodierers 10 ist an ein weiteres ODER-Gatter13 angeschlossen, dessen Ausgang über eine Leitung 34 an ein externes Register 17 angeschlossen ist.
809829/0922
Der Ausgang des ODER-Gatters 11 ist an den Eingang 25 eines UND-Gatters 15 sowie an den Setzeingang eines Verriegelungir-Flip-Flops 14 angeschlossen. Der Ausgang des Gatters 12 ist an den Rückstelleingang des erwähnten Flip-Flops 14 angeschlossen, wobei dieses mit Verriegelung und Entriegelung bezeichnete Ausgangssignal auf Grund der an dem Setz- und Rückstelleingang angelegten Eingangssignale erzeugt. Das Verriegelungssignal wird einem v/eiteren Eingang 26 des UND-Gatters 15 sowie dem Starteingang eines Zeittaktgebers 16 zugeführt. Der Zeitgeber 16 besitzt einen Rückstelleingang, dem das zuvor erwähnte Entriegelungssignal von dem Flip-Flop 14 zugeführt wird. Der Ausgang des Zeitgebers 16 ist an einen Eingang des zuvor erwähnten ODER-Gatters 12 angeschlossen. Das UND-Gatter 15 weist einen Ausgang 22 auf, an dem ein Abbruchsignal ausgegeben werden kann. Die zuvor erwähnten adressencodierten Signale, die von dem Zugriff suchenden Gerät empfangen werden, legen sowohl die Adresse des ausgewählten Speicherblocks als auch den spezifischen Speicherplatz innerhalb eines solchen Blockes fest. Zum Ausführen einer festgelegten eindeutigen Folge von Operationen sind ferner bestimmte, diese Operationsfolge vorgebenden Anweisungen in dem adressencodierten Signal codiert.
Die Signale entsprechend den erwähnten Anweisungen werden Eingängen 8 des externen Registers 17 zugeführt. Der Ausgang des externen Registers ist an einen Decodierer 18 angeschlossen. Die Ausgänge 21 und 24 des Decodierers 18 werden jeweils einem Eingang der zuvor erwähnten ODER-Gatter 11 und 12 sowie einem Paar von Eingängen eines weiteren ODER-Gatters 19 zugeführt. Der Ausgang des ODER-Gatters 19 ist an einen speziellen Eingang 33 eines Adressregisters 30 angeschlossen, wobei das Adressregister 30 von einem Typ ist, der normalerweise dem Speicher des Datenverarbeitungssystems zugeordnet ist.
Die adressencodierten Signale werden Eingängen 9 des Adreßregisters zugeführt. Die Ausgangssignale dieses Registers werden in einem Decodierer 35 decodiert und dem Speicher 36 des zugeordneten Datenverarbeitungssystems zugeführt, um den gesuchten Block und
809829/0922
Speicherplatz in dem Speicher zu adressieren.
Die Wirkungsweise der Einrichtung sei zunächst im Hinblick auf eine Lese/Veränderungs/Schreib-Operation erläutert/ die hinsichtlich eines festgelegten Speicherplatzes auszuführen ist, beispielsweise hinsichtlich des Speicherplatzes 37 des Speichers36. Während eine solche Operation durch ein erstes Gerät, z.B. eine Zentraleinheit CPU des Datenverarbeitungssystems, ausgeführt wird, ist es, wie zuvor erläutert, von Bedeutung, den Zugriff auf den ausgewählten Speicherblock, in dem sich der bestimmte Speicherplatz befindet, für eine andere Zentraleinheit bzw. ein anderes Gerät, das eine ähnliche Operation auszuführend versucht, zu sperren.
Wie zuvor erläutert, liegt die auszuführende Operation codiert in Form einer Gruppe von Signalen vor, die dem Eingangsanschluß 7 des Decodierers 10 durch die erste Zentraleinheit CPU zugeführt werden. Während des Leseteils der Operation wird das angelegte Signal decodiert, um ein eindeutiges Signal zu erzeugen, das nachfolgend als Lese-Verricgelungssignal bezeichnet ist. Dieses Signal am Ausgang 20 des Decodierers 10 wird dem ODER-Gatter 11 zugeführt und verursacht das Setzen des Verriegelungs-Flip-Flops 14. Ein entsprechendes Verriegelungssignal wird am Ausgang des Verriegelungs-Flip-Flops erzeugt und dem Eingang 26 des UND-Gatters 15 zugeführt. Das Ausgangssignal des ODER-Gatters 11 wird ferner einem Eingang des UND-Gatters 15 zugeführt. Auf Grund der dem Verriegelungs-Flip-Flop 14 anhaftenden Verzögerung kann jedoch das letztgenannte Signal das UND-Gatter 15 nicht betätigen. Das Verriegelungs-Flip-Flop 14 verhindert eine unmittelbare Erzeugung des Verriegelungssignales, so daß dem UND-Gatter 15 nicht gleichzeitig das Ausgangssignal des ODER-Gatters 11 und das Verriegelungssignal von dem Flip-Flop 14 zugeführt wird. Bei. seiner Erzeugung wird das Verriegelungssignal dem Zeitgeber 16 zugeführv. und startet dessen Betrieb.
Gleichzeitig mit der Anlegung des codierten Anweisungssignales an den Decodierer 10 wird ein codiertes Adressensignal dem Eingang
809829/0 922
des Adreßregisters 30 zugeführt, so daß bei einer Decodierung der ausgewählte Speicherblock 37 und der festgelegte Speicherplatz innerhalb des Blockes adressiert werden, und es wird die gesuchte Information in die Zentraleinheit ausgelesen, die Zugriff zu dem Speicherblock 37 besitzt.
Nachdem die aus dem Speicher 36 ausgelesenen Daten in der Zentraleinheit CPU verarbeitet worden sind, wird der Schreibteil der Operationsfolge ausgelöst, um die modifizierten (veränderten) Daten zurück in den festgelegten Speicherplatz zu schreiben. Zu diesem Zeitpunkt legt die Zentraleinheit CPU erneut ein codiertes Anweisungssignal an den Eingang 7 des Decodierers 10 an, wodurch dieser ein Ausgangssignal am Ausgang 23 erzeugt, das nachstehend als Schreib-Entriegelungssignal bezeichnet sei. Dieses Signal wird dem ODER-Gatter 12 zugeführt, und es bewirkt die Rückstellung des Flip-Flops 14, wodurch eine andere Zentraleinheit CPU oder ein anderes Gerät Zugriff zu dem ausgewählten Speicherblock gewinnen kann. Die Rückstellung des Flip-Flops 14 ruft die Erzeugung eines Entriegelungssignals hervor, welches im Normalbetrieb den Zeitgeber 16 vor dem Zeitpunkt zurückstellt, an dem der durch das Verriegelungssignal ausgelöste Zeittaktzyklus beendet ist. Wenn das Entriegelungssignal nicht gebildet wird, bevor der Zeitgeber 16 einen vorbestimmten Wert überschreitet, so wird das Signal 39 dem ODER-Gatter 12 zugeführt, wodurch das Verriegelungs-Flip-Flop automatisch zurückgestellt wird. Diese Zeitgeberfunktion ist erforderlich, um den Zustand aus zuschließen, wo eine Zentraleinheit CPU nicht in der Lage ist, den Schreibteil der Operationsfolge aus verschiedenen Gründen (Hardware-Fehler usw.) zu senden.
Wenn eine andere Zentraleinheit CPU eine Lese/Veränderungs/Schreib-Operation im Speicherblock 37 vor dem Zeitpunkt, in dem das Verriegelungs-Flip-Flop 14 zurückgestellt wird, auszuführen versucht, so sind die codierten Anweisungssignale und Adreßsignale, die von dieser Zentraleinheit CPU an die Eingänge· 7 und 9 angelegt werden, im wesentlichen dieselben, wie sie hinsichtlich der ersten Zentraleinheit CPU beschrieben wurden. Wie zuvor, ruft die Anlegung eines
809829/0922
solchen Signals an den Decodierer 10 ein Lese-Verriegelungssignal am Ausgang 20 hervor, das dem Eingang 25 des UND-Gatters 15 über das ODER-Gatter 11 zugeführt wird. Da sich das Verriegelungs-Flip-Flop 14 bereits in seinem gesetzten Zustand infolge der früheren Zuführung eines Lese-Verriegelungssignals von der ersten Zentraleinheit CPU befindet, ruft das neue Lese-Verriegelungssignal keine Wirkung hinsichtlich des Flip-Flops 14 hervor. Da jedoch ein Verriegelungssignal am Eingang 26 des UND-Gatters 15 vorliegt, erfüllt die Zuführung des neuen Lese-Verriegelungssignals am Eingang 25 die UND-Bedingung und das UND-Gatter 15 schaltet durch. Infolgedessen wird ein Signal am Ausgang 22 erzeugt, das der zweiten Zentraleinheit CPU anzeigt, daß die versuchte Lese/ Veränderungs/Schreib-Operation hinsichtlich des Speicherplatzes im ausgewählten Speicherblock 37 abgebrochen worden ist.
Hinsichtlich dieser spezifischen Operationsfolge (Lesen/Verändern/ Schreiben) ist somit die zweite Zentraleinheit CPU gegen einen Zugriff zum Speicherblock 37 gesperrt. Es sei jedoch darauf verwiesen, daß andere Operationen hinsichtlich der zweiten Zentraleinheit CFU, die nicht zur Erzeugung eines Verriegelungssignales führen, gegen einen Zugriff-sogar zu dem Speicherblock 37-nicht gesperrt sind.
Wie zuvor erläutert, ist es in einem Datenverarbeitungssystem erforderlich, daß den verschiedenen Geräten des Systems der Auftritt von bedeutenden Ereignissen angezeigt wird, wobei zu diesem Zweck der Systemspeicher herkömmlicher Weise verwendet werden kann. Gemäß der vorliegenden Erfindung wird die am wenigsten signifikante Speicheradresse, d.h. der Speicherplatz 0 , benutzt, um solche Ereignisse anzuzeigen, wobei sich dieser Speicherplatz im Speicherblock 38 befinden mag. Es sei darauf verwiesen, daß die Auswahl des Speicherplatzes 0 nur eine Vereinbarung darstellt, und daß im Grunde genommen jeder feste Speicherplatz in irgendeinem Speicherblock in das Adreßregister 30 durch das Signal 33 eingeschrieben werden kann. Die dort aufgezeichnete Information, die geschützt werden muß, kann beispielsweise auf die Tatsache verweisen, daß einPlattenantrieb seine laufende Operation beendet hat. Ein solcher Ereignis
809829/0922
kann für eine oder mehrere Zentraleinheiten CPU des Datenverarbeitungssysterns von Bedeutung sein oder nicht. Gemäß der vorliegenden Erfindung empfängt eine Zentraleinheit CPU, die irgendeinen Speicherplatz zum Zwecke der Ausführung mehrerer vorbestimmter eindeutiger Operationsfolgen adressiert, Information, die zu dem fraglichen Ereignis dazugehört, indem sie gezwungen wird, den Speicherplatz 0 zu adressieren, an dem das Ereignis aufgezeichnet ist. Die Adressierung des Speicherplatzes 0 erfolgt anstelle des Zugriffs der Zentraleinheit CPU auf den ursprünglich adressierten Speicherplatz. Die auf diese Weise zur Adressierung des Speicherplatzes 0 gezwungene Zentraleinheit CPU liest die in den Unterbrechungszellen gespeicherte Information aus. Bis zu 72 Ereignisse können im Speicherplatz 0 aufgezeichnet werden, wobei jedem Ereignistyp eine Zelle zugeordnet ist. Im Prozeß ist der Inhalt der Unterbrechungszellen zeitweilig ungültig, so daß die dort gespeicherte Information zu diesem Zeitpunkt für den Rest des Computersystems fehlerhaft ist. Wenn bei der Prüfung der ausgelesenen Daten die Zentraleinheit CPU feststellt, daß solche Daten für sie ohne Bedeutung sind, so wird die ursprüngliche Information in den Unterbrechungszellen zurückgespeichert, so daß diese Zellen sodann für weitere Prüfungen durch andere Geräte des Datenverarbeitungssystems verfügbar sind. Wenn jedoch die ausgelesene Information für die Zentraleinheit von Bedeutung ist, so nimmt diese die Information an und antwortet, indem nur jene Unterbrechungszellen auf einen Standardzustand gesetzt werden, die für die Zentraleinheit von Bedeutung sind. Durch diese Maßnahme werden die Unterbrechungszellen für die Aufnahme von Information zu einem späteren Zeitpunkt beim Auftritt eines anderen bedeutenden Ereignisses vorbereitet, wobei dieses Ereignis in den Zellen aufgezeichnet wird. Hierdurch wird ebenfalls die Abfrage der Unterbrechungszellen durch eine andere Zentraleinheit CPU nach für sie bedeutende Information ermöglicht.
Aus vorgehender Erläuterung wird klar, daß der Zugriff zu dem ausgewählten Speicherplatz, d.h. zu den Unterbrechungszellen, anderen Geräten des Datenverarbeitungssystems während des Intervalles
809829/0922
verboten sein muß, dassicEi von dem Zeitpunkt, an dem der Inhalt der Zellen durch die erste Zentraleinheit CPU ausgelesen wird, bis zu dem Zeitpunkt erstreckt, an dem die Zellen auf ihren ursprünglichen Zustand zurückgespeichert werden oder auf einen Standardzustand zurückgestellt werden. Wenn andere Geräte während dieses Intervalles nicht vom Zugriff ausgeschlossen sind, so wird eine falsche Information aus den ünterbrechungszellen durch solche Geräte ausgelesen.
Gemäß der vorliegenden Erfindung wird eine solche Verriegelung verwirklicht, indem der Zugriff zu dem Speicherblock, der die Unterbrechungszellen für irgendein anderes Gerät enthält, während des zuvor erwähnten Intervalles verboten wird. Ein separates Register, das außerhalb des Systemspeichers angeordnet ist und ein eindeutiger Anweisungscode wird verwendet, um die eindeutigen Operationsfolgen auszuführen. Der Anweisungscode wird hierbei von dem Befehl abgeleitet, der durch das Zugriff zu dem Speicher suchende Gerät ausgegeben wird. Dieser Anweisungscode wird benutzt, um das externe Register zu adressieren.
Insbesondere werden die codierten Anweisungssignale, die von dem fraglichen Gerät, d.h. der ersten Zugriff zu dem Speicher suchenden Zentraleinheit CPU herrühren, durch den Decodierer 10 decodiert, um ein externes Leseregistersignal auf der Ausgangsleitung 32 zu erhalten, das dem ODER-Gatter 13 zugeführt wird. Gleichzeitig werden codierte Adressignale den Eingängen 9 des Adreßregisters 30 sowie den Eingängen 8 des externen Registers 17 zugeführt. Wie zuvor erläutert, enthalten die den Eingängen 8 zugefühcten Signale Anweisungen entsprechend der geforderten auszuführenden Operationsfolge.
Bei Beaufschlagung über die Leitung 32 liefert das ODER-Gatter 13 ein entsprechendes Ausgangssignal, das einem Verriegelungseingang des externen Registers 17 über eine Leitung 34 zugeführt wird. Infolge das Anlegens eines Verriegelungssignales wird ein Unterfeld der Adresse, die über die Eingänge 8 an das externe Register 17
809829/0922
angelegt wird, abgefangen. Die Ausgangssignale des Registers 17 werden im Decodierer 18 decodiert und während des Leseteils der Operation wird ein resultierendes Ausgangssignal auf der Ausgangsleitung 21 des Decodierers erzeugt. Das letztgenannte Signal, das als XEC-Verriegelungssignal bezeichnet ist, wird einem Eingang des ODER-Gatters 11 zugeführt und ruft das Setzen des Verriegelungs-Flip-Flops 14 hervor. Das XEC-Verriegelungssignal wird ferner einem Eingang eines ODER-Gatters 19 zugeführt, das seinerseits ein entsprechendes Ausgangssignal dem Eingang 33 des Adressregisters 30 zuführt.
Wie zuvor erläutert, kann der durch das codierte Adreßsignal adressierte Speicherplatz irgendwo im Speicher 36, z.B. im Speicherblock 37, abgelegt sein. Dieser Speicherplatz wird normalerweise durch die über die Leitungen 9 zugeführten codierten Adreßsignale vorgegeben. Das dem Adreßregister 3 0 über den Eingang 33 zugeführte Signal setzt jedoch das Adreßregister auf o, so daß der am wenigsten signifikante Speicherplatz des Speichers adressiert wird, an dem sich die Unterbrechungszellen befinden. Hierdurch wird die in den Unterbrechungszellen gespeicherte Information in die erste Zentraleinheit CPU ausgelesen und der Inhalt der Zellen wird temporär verändert.
Während des Schreibteils der Operation liefert das an dem Eingang 7 zugeführte Signal bei seiner Codierung ein externes Schreibregistersignal auf der Leitung 31, des dem ODER-Gatter 13 zugeführt wird. Wie zuvor dient das über die Leitung 34 dem externen Register 17 zugeführte Ausgangssignal des ODER-Gatters 13 zur Verriegelung des Registers, wodurch die gleichzeitig an den Eingängen 8 zugeführten codierten Adreßsignale abgefangen werden. Das letztere Signal liefert bei seiner Decodierung im Decodierer 18 ein Ausgangssignal auf der Leitung 24, das als SXC-Entriegelungssignal bezeichnet ist und einem anderen Eingang des zuvor erwähnten ODER-Gatters 19 zugeführt wird. Das SXC-Entriegelungssignal wird ferner einem Eingang des ODER-Gatters zugeführt, um das Verriegelungs-Flip-Flop 14 zurückzustellen und ein Entriegelungssignal am Ausgang dieses Flip-Flops zu erzeugen.
809829/0922
Die Anlegung des SXC-Entriegelungssignals an das ODER-Gatter ruft ein entsprechendes Ausgangssignal hervor, das dem Adreßregister 30 über den Eingang 33 zugeführt wird, wodurch wie zuvor das Adreßregister auf 0 gesetzt wird. Das resultierende Ausgangssignal des Registers 3 0 adressiert bei seiner Decodierung im Decodierer 35 den Speicherplatz 0 des Speichers 36, wobei entweder die zuvor aus den Unterbrechungszellen ausgelese Information zurückgeschrieben wird oder diese Zellen in der zuvor erwähnten Weise auf einen Standardzustand gesetzt werden.
Wenn ein anderes Gerät Zugriff zu dem Speicherblock 38 während des Intervalles sucht, in der die erste Zentraleinheit CPU Zugriff zu den Unterbrechungszellen zum Zwecke der Ausführung einer externen Leseregister/Schreibregister-Operationsfolge besitzt, so wird ein XEC-Verriegelungssignal erzeugt, wenn ein solcher Zugriff zu dem Block 3 8 durch ein anderes Gerät zum Zwecke der Ausführung einer der zuvor erwähnten eindeutigen Operationsfolgen, z.B. Leseverriegelung/Schreibverriegelung bzw. externes Leseregister/externes Schreibregister, gesucht wird. Bei Anlegung des neu erzeugten XEC-Verriegelungssignales an das ODER-Gatter 11 wird der Eingang 25 des UND-Gatters 15 betätigt. Bei gesetztem Vcrriegelungs-Flip-Flop 14 wird der Eingang 26 des UND-Gatters 15 ebenfalls betätigt, so daß dieses Gatter durchschaltet. Das resultierende Ausgangssignal am Ausgang 22 teilt dem anderen Zugriff suchenden Gerät mit, daß die angeforderte Operation unterbrochen worden ist und daß das Gerät die Auslösung der Folge erneut versuchen soll.
Aus der vorstehenden Beschreibung geht hervor, daß die vorliegende Erfindung dem Schutz der Information in einem ausgewählten Speicherblock gegen Zugriff durch ein anderes Gerät dient, um auf diese Weise die Ausführung von einer oder mehreren vorbestimmten eindeutigen Operationsfolgen zu verhindern, während auf den ausgewählten Speicherblock durch ein erstes Gerät zu einem ähnlichen Zweck zugegriffen wird. Auf Grund der eindeutigen
809829/0922
Signale, die verwendet werden, um die vorgenannten Operationsfolgen, hinsichtlich denen ein Zugriff verboten ist, zu bestimmen, verbietet die vorliegende Erfindung nicht den Zugriff auf den gleichen Speicherblock bei der Ausführung erlaubter nichtüberlappender Operationsfolgen. Darüberhinaus ist der Zugriff zu anderen Speicherblöcken zu irgendeinem Zweck und durch irgendein Gerät nicht während des Intervalles ausgeschlossen, in dem das erste Gerät Zugriff zu dem ausgewählten Speicherblock besitzt. Infolgedessen wird auf Grund des erfindungsgemäßen Prinzips der Schutz der gesuchten, in dem Speicher des Datenverarbeitungssystems gespeicherten Information ohne eine Herabsetzung der Leistung des Systems verwirklicht.
S09829/0922
. At- L e e rs e
ite

Claims (6)

  1. HONEYWELL INFORMATION SYSTEMS INC. · 13. Januar 1978 Smith Street 5202627 Ge
    Waltham, MA, USA 9 8Q1518
    Datenverarbeitungssystem mn.t Speicher-Schutzeinrichtung
    Patentansprüche:
    Datenverarbeitungssystem mit wenigstens einem Speicher und mehreren mit diesem zusammenarbeitenden Geräten, wobei der Speicher Daten in Blöcken mit mehreren Speicherplätzen speichert, mit einem an den Speicher angeschlossenen Adreßregister zum Adressieren eines bestimmten Speicherplatzes in einem ausgewählten Speicherblock, wobei dies über Adreßsignale von irgendeinem der Zugriff zum Speicher suchenden Geräte geschieht und mit einer Einrichtung zum Sperren eines anderen Zugriff zu dem ausgewählten Speicherblock suchenden Gerätes, um die Ausführung mehrerer vorbestimmter eindeutiger Operationsfolgen während des Zugriffs eines ersten Gerätes auf den ausgewählten Speicherblock zu verhindern, gekennzeichnet durch'
    eine erste Decodiereinrichtung (10) zur Bildung von wenigstens ersten und zweiten Signalpaaren entsprechend ersten und zweiten Folgen aus der Vielzahl vorbestimmter eindeutiger Operationsfolgen auf Grund von AnweisungsSignalen von dem Zugriff suchenden Gerät;
    ein externes Register (17),das aus von den AdreßSignalen abgeleiteten Eingangssignalen gespeist wird und bei Beaufschlagung an einem Steuereingang verriegelt werden kann;
    809829/0922 original inspected
    eine zweite an den Ausgang des externen Registers (17) angeschlossene Decodiereinrichtung (18) zur Bildung wenigstens eines dritten Signalpaares gemäß einer dritten Folge innerhalb der vorbestimmten Operationsfolge auf Grund der Eingangssignale;
    ein Verriegelungs-Flip-Flop (14) zur Bildung von Verriegelungsund Entriegelungssignalen auf Grund der Beaufschlagung der Setz- und Rückstelleingänge;
    eine Einrichtung (11) zur Aufschaltung eines ersten Signales aus jedem der ersten und dritten Signalpaare auf den Setzeingang;
    eine Einrichtung (12) zur Aufschaltung des anderen Signales aus jedem der ersten und dritten Signalpaare auf den Rückstelleingang;
    eine Einrichtung (13) zum Auf schalten des zweiten Signalj^aares auf den Steuereingang des externen Registers (17); eine Einrichtung (19) zum Aufschalten des dritten Signalpaares auf das Adreßregister (30), um dies zur Adressierung eines bestimmten Speicherplatzes zu veranlassen; und eine Einrichtung (15), die beim gemeinsamen Auftritt des Verriegelungssignales und wenigstens eines der ersten Signale des ersten und dritten Signalpaares ein Abbruch-Signal ausgibt.
  2. 2. Datenverarbeitungssystem nach Anspruch 1, gekenn- : zeichnet durch einen Zeitgeberschaltkreis (16), der durch das Verriegelungssignal gestartet und durch das Entriegelungssignal zurückgestellt wird und bei Beendigung des ausgegebenen Zeittaktzyklus ein entsprechendes Signal auf den Rückstelleingang des Verriegelungs-Flip-Flops (14) gibt.
  3. 3. Datenverarbeitungssystem mit wenigstens einem Speicher und mehreren mit diesem zusammenarbeitenden Geräten, wobei der Speicher Daten in Blöcken in mehreren Speicherplätzen speichert, mit einem an den Speicher angeschlossenen Adreßregister zum Adressieren eines bestimmten Speicherplatzes in einem
    809829/0922
    ausgewählten Speicherblock, wobei dies über Adreßsignale von irgendeinem der Zugriff zum Speicher suchenden Geräte geschieht und mit einer Einrichtung zum Sperren eines anderen Zugriff zu dem ausgewählten Speicherblock suchenden Gerätes, um die Ausführung mehrerer vorbestimmter eindeutiger Operationsfolgen während des Zugriffs eines ersten Gerätes auf den ausgewählten Speicherblock zu verhindern, gekennzeichnet durch
    ein UND-Gatter (15) und ein Verriegelungs-Flip-Flop (14), das auf Grund von an den Setz- und Rückstelleingang angelegten-Signalen Verriegelungs- und Entriegelungssignale am Ausgang liefert, wobei das Verriegelungssignal auf einen ersten Eingang des UND-Gatters (15) geschaltet ist; eine Decodiereinrichtung (10) zur Bildung von Leseverriegelungsund Schreibentrj.egelungs Signalen entsprechend den Operationen auf Grund von Anweisungssignalen, die von einem Zugriff suchenden Gerät empfangen werden;
    eine Einrichtung (11) zum Aufschalten des Leseverriegelungssignales auf einen zweiten Eingang des UND-Gatters (15) und auf den Setzeingang des Verriegelungs-Flip-Flops (14); und eine Einrichtung (12) zur Aufschaltung des Schreibentriegelungssignales auf den Rückstelleingang des Flip-Floxjs (14); wobei das UND-Gatter (15) im durchgeschalteten Zustand ein Ausgangssignal entsprechend einer Anweisung zum Abbruch einei: Leseverriegelung/Schreibentriegelung-Operationsfolge erzeugt und diese Operationsfolge einem anderen Zugriff auf den ausgewählten Speicherblock suchenden Gerät zugeordnet ist.
  4. 4. Datenverarbeitungssystem nach Anspruch 3, gekennzeichnetdurch
    ein ODER-Gatter (12), dem das Schreibentriegelungssignal zugeführt ist und dessen Ausgang auf den Rückstelleingang des Flip-l'lops (14) geführt ist; und
    809829/0922
    2501518
    eine Zeitgebereinrichtung (16), die bei Beaufschlagung mit dem Verriegelungssignal einen Zeittaktzyklus auslöst und beim Auftritt des Entriegelungssignals zurückgestellt wird bzw. beim Ablauf des Zeittaktzyklus sich selbst zurückstellt und ein entsprechendes Ausgangssignal an das ODER-Gatter (12) liefert.
  5. 5. Datenverarbeitungssystem mit wenigstens einem Speicher und mehreren mit diesem zusammenarbeitenden Geräten, wobei der Speicher Daten in Blöcken mit mehreren Speicherplätzen speichert, mit einem an den Speicher angeschlossenen Adreßregister zum Adressieren eines bestimmten Speicherplatzes in einem ausgewählten Speicherblock, wobei dies über Adreßsignale von irgendeinem der Zugriff zum Speicher suchende Geräte geschieht und mit einer Einrichtung zum Sperren eines anderen Zugriff zu dem ausgewählten Speicherblock suchenden Gerätes, um die Ausführung mehrerer vorbestimmter eindeutiger Operationsfolgen während des Zugriffs eines ersten Gerätes auf den ausgewählten Speicherblock zu verhindern, gekennzeichnet durch
    ein UND-Gatter (15) und ein Verriegelungs-Flip-Flop (14) , das auf Grund von an den Setz- und RückStelleingang angelegten Signalen Verriegelungs- und Entriegelungssignale am Ausgang liefert, wobei das Verriegeliangssignal auf einen ersten Eingang des UND-Gatters (15) geschaltet ist; eine erste Decodiereinrichtung (10) zur Bildung von Signalen entsprechend wenigstens einer externen Registerlese/Registerschreib-Operationsfolge auf Grund von von einem Zugriff suchenden Gerät empfangenen Anweisungssignalen; Mittel (31,32) zur Aufschaltung eines externen Registerlesesignales und eines externen Registerschreibsignales auf ein erstes ODER-Gatter (13),
    809829/0922
    ein externes Register (17) , das durch von den Adressiersignalen abgeleitete Signale beaufschlagt wird und dem das Ausgangssignal des ODER-Gatters (13) zur Verriegelung zugeführt wird, um das angelegte Eingangssignal abzufangen; eine an den Ausgang des externen Registers (17) angeschlossene zweite Decodiereinrichtung (18) zur Bildung von Signalen entsprechend einer XEC-Verriegelungs/SXC-Entriegelungs-Operationsfolge auf Grund der Eingangssignale; eine Einrichtung (11,21,25) zur Aufschaltung des XEC-Verriegelungssignales auf den zweiten Eingang des UND-Gatters (15) und auf ein zweites ODER-Gatter (19);
    eine Einrichtung (24,12) zur Aufschaltung des SXC-Entriegelungssignales auf den Rückstelleingang des Flip-Flops (14) und auf das zweite ODER-Gatter (19);
    wobei der Ausgang des zweiten ODER-Gatters (19) an das Adreßregister (30) angeschlossen ist und dieses zur Adressierung eines vorbestimmten Speicherplatzes veranlaßt und wobei das UND-Gatter (15) im durchgeschalteten Zustand ein Ausgangssignal entsprechend einer Anweisung zum Abbruch einer Operationsfolge erzeugt und diese Operationsfolge einem anderen Zugriff auf den ausgewählten Speicherblock suchenden Gerät zugeordnet ist.
  6. 6. Datenverarbeitungsystem nach Anspruch 5, gekennzeichnetdurch
    ein drittes ODER-Gatter (12), dem das SXC-Entriegelungssignal zugeführt wird und dessen Ausgang an den Rückstelleingang des Flip-Flops (14) angeschlossen ist; und eine Zeitgebereinrichtung (16), die bei Beaufschlagung mit dem Verriegelungssignal einen Zeittaktzyklus auslöst und beim Auftritt des Entriegelungssignales zurückgestellt wird bzw. beim Ablauf des Zeittaktzyklus sich selbst zurückstellt und ein entsprechendes Ausgangssignal an das dritte ODER-Gatter (12) liefert.
    809829/0922
DE19782801518 1977-01-18 1978-01-14 Datenverarbeitungssystem mit speicher-schutzeinrichtung Withdrawn DE2801518A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/760,299 US4099243A (en) 1977-01-18 1977-01-18 Memory block protection apparatus

Publications (1)

Publication Number Publication Date
DE2801518A1 true DE2801518A1 (de) 1978-07-20

Family

ID=25058683

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782801518 Withdrawn DE2801518A1 (de) 1977-01-18 1978-01-14 Datenverarbeitungssystem mit speicher-schutzeinrichtung

Country Status (7)

Country Link
US (1) US4099243A (de)
JP (1) JPS5837587B2 (de)
AU (1) AU517516B2 (de)
CA (1) CA1109970A (de)
DE (1) DE2801518A1 (de)
FR (1) FR2377667A1 (de)
GB (1) GB1550794A (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4296466A (en) * 1978-01-23 1981-10-20 Data General Corporation Data processing system including a separate input/output processor with micro-interrupt request apparatus
US4393459A (en) * 1980-07-17 1983-07-12 International Business Machines Corp. Status reporting with ancillary data
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4493031A (en) * 1982-08-25 1985-01-08 At&T Bell Laboratories Memory write protection using timers
US4891749A (en) * 1983-03-28 1990-01-02 International Business Machines Corporation Multiprocessor storage serialization apparatus
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
US4561051A (en) * 1984-02-10 1985-12-24 Prime Computer, Inc. Memory access method and apparatus in multiple processor systems
DE3537115A1 (de) * 1985-10-18 1987-05-27 Standard Elektrik Lorenz Ag Verfahren zum betreiben einer einrichtung mit zwei voneinander unabhaengigen befehlseingabestellen und nach diesem verfahren arbeitende einrichtung
JPS6376034A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重アドレス空間制御方式
US4937733A (en) * 1987-05-01 1990-06-26 Digital Equipment Corporation Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US4858116A (en) * 1987-05-01 1989-08-15 Digital Equipment Corporation Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US4941083A (en) * 1987-05-01 1990-07-10 Digital Equipment Corporation Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
AU614044B2 (en) * 1988-03-25 1991-08-15 Nec Corporation Information processing system capable of quickly detecting an extended buffer memory regardless of a state of a main memory device
US4984153A (en) * 1988-04-27 1991-01-08 Unisys Corporation Storage locking control for a plurality of processors which share a common storage unit
US5353416A (en) * 1989-10-25 1994-10-04 Zenith Data Systems Corporation CPU lock logic for corrected operation with a posted write array
US5317749A (en) * 1992-09-25 1994-05-31 International Business Machines Corporation Method and apparatus for controlling access by a plurality of processors to a shared resource
US5666515A (en) * 1993-02-18 1997-09-09 Unisys Corporation Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
US5617559A (en) * 1994-08-31 1997-04-01 Motorola Inc. Modular chip select control circuit and method for performing pipelined memory accesses

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3405394A (en) * 1965-12-22 1968-10-08 Ibm Controlled register accessing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3328768A (en) * 1964-04-06 1967-06-27 Ibm Storage protection systems
US3377624A (en) * 1966-01-07 1968-04-09 Ibm Memory protection system
US3573736A (en) * 1968-01-15 1971-04-06 Ibm Interruption and interlock arrangement
US3562717A (en) * 1968-02-23 1971-02-09 Gen Electric System protection apparatus
US3683418A (en) * 1970-04-16 1972-08-08 Bell Telephone Labor Inc Method of protecting data in a multiprocessor computer system
JPS4930578B1 (de) * 1970-09-30 1974-08-14
US3858182A (en) * 1972-10-10 1974-12-31 Digital Equipment Corp Computer program protection means
NL7300218A (de) * 1973-01-08 1974-07-10
US3997875A (en) * 1973-01-08 1976-12-14 U.S. Philips Corporation Computer configuration with claim cycles
US3828327A (en) * 1973-04-30 1974-08-06 Ibm Simplified storage protection and address translation under system mode control in a data processing system
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US3845425A (en) * 1973-06-15 1974-10-29 Gte Automatic Electric Lab Inc Method and apparatus for providing conditional and unconditional access to protected memory storage locations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3405394A (en) * 1965-12-22 1968-10-08 Ibm Controlled register accessing

Also Published As

Publication number Publication date
US4099243A (en) 1978-07-04
AU517516B2 (en) 1981-08-06
CA1109970A (en) 1981-09-29
AU3221378A (en) 1979-07-12
JPS5837587B2 (ja) 1983-08-17
GB1550794A (en) 1979-08-22
FR2377667A1 (fr) 1978-08-11
JPS5390829A (en) 1978-08-10
FR2377667B1 (de) 1983-08-12

Similar Documents

Publication Publication Date Title
DE2801518A1 (de) Datenverarbeitungssystem mit speicher-schutzeinrichtung
DE3048365C2 (de)
DE2629459C2 (de)
EP0011685B1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
EP1089219B1 (de) Verfahren zur Sicherung eines Datenspeichers
DE2758152A1 (de) Speicherschutzanordnung
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE1524183B1 (de) Schaltungsanordnung zum Speicherschutz für Random-Speicher bei Datenverarbeitungsanlagen
DE19536169A1 (de) Multifunktionale Chipkarte
DE2937354A1 (de) Verfahren und einrichtung zur ueberwachung des gebrauchs eines programmierbaren rechners
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2928488A1 (de) Speicher-subsystem
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2647574C2 (de) Vorrichtung zum Verarbeiten von durch ein Anfangs- und Endzeichen begrenzten Datenfeldsegementen variabler Länge bei einem Umlaufspeicher
DE2755611A1 (de) Steuereinheit fuer datenverarbeitungsanlagen
DE1189294B (de) Datenverarbeitungsanlage
DE1499206B2 (de) Rechenanlage
EP1230590B1 (de) Prozessorsystem
EP0276450A1 (de) Datenschutzschaltung zur Sperrung der Uebertragung von Signalen über einen Bus
DE602004002241T2 (de) Schutz eines auf ausführungwartenden Programms in einem Speicher für einen Mikroprozessor
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
EP0655688B1 (de) Programmspeichererweiterung für einen Mikroprozessor
DE2943903A1 (de) Rechnersystem

Legal Events

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

Ipc: G06F 13/00

8139 Disposal/non-payment of the annual fee
8170 Reinstatement of the former position
8125 Change of the main classification

Ipc: G06F 12/16

8130 Withdrawal