DE3320858A1 - Speicher-managementanordnung fuer mikroprozessorsysteme - Google Patents

Speicher-managementanordnung fuer mikroprozessorsysteme

Info

Publication number
DE3320858A1
DE3320858A1 DE19833320858 DE3320858A DE3320858A1 DE 3320858 A1 DE3320858 A1 DE 3320858A1 DE 19833320858 DE19833320858 DE 19833320858 DE 3320858 A DE3320858 A DE 3320858A DE 3320858 A1 DE3320858 A1 DE 3320858A1
Authority
DE
Germany
Prior art keywords
memory
processor
operating mode
address
circuit
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
DE19833320858
Other languages
English (en)
Inventor
Harry Benjamin 10022 New Jork N.J. Mendell
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.)
AT&T Corp
Original Assignee
Western Electric Co Inc
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 Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE3320858A1 publication Critical patent/DE3320858A1/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/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation

Description

Speicher-Managementanordnung für Mikroprozessorsysteme
Die Erfindung betrifft eine Schaltungsanordnung zur Verwendung in Verbindung mit einem Prozessor, der einen Satz von vorgegebenen Eingangs- und Äusgangsleitungen besitzt, Befehlssätze ausführen kann und abhängig von einem Unterbrechungssignal von dem augenblicklich ausgeführten Befehlssatz unter Steuerung einer von einem externen, in Blöcke unterteilten Speicher gelieferten Vektoradresse auf einen anderen Befehlssatz springen kann.
Rechnersysteme für mehrere Benutzer und Mehr.*·- proze&'-iH—Rechnersysteme sind bekannt und werden in großem Umfang für viele Anwendungsfälle benutzt. In typischer Weise besitzen diese Anlagen ein Betriebssystem, das die Funktionen des Rechners unter Ansprechen auf Befehlssätze des Benutzers, genannt Programme, steuert. Das Betriebssystem, für das das System UNIX (Warenzeichen von Bell Telephone Laboratories Incorporated) nur eines von vielen ist, befindet sich in oder läuft auf einem Hauptrechner (Host-Computer)
Ein Konstruktionsmerkmal des Hauptrechners ist die Fähigkeit, im Zeitunterteilungsverfahren mehrere Benutzer bedienen zu können. Diese Eigenschaft , die für den
"0 Benutzer einfach erscheint, ist jedoch ein kompliziertes System, das vielen Zwecken dient, beispielsweise dafür sorgt, daß die Unterlagen eines Benutzers von denen anderer Benutzer getrennt gehalten werden.
Ein weiteres Beispiel bei solchen Mehrprozeßrech-
nern ist die Fähigkeit des Hauptrechners, zu verhindern, daß die Programme eines Benutzers die Programme des anderen Benutzers oder das Betriebssystem selbst stören. Ein typisches Beispiel für die Kompliziertheit ist die vorgegebene
332CG58
Möglichkeit des Rechners zu verhindern, daß irgendein Benutzerprogramm die Steuerung des Rechners so weit übernehmen kann, daß kein anderer Benutzer Zugriff zum Rechner erlangen kann. Ein anderes typisches Beispiel wäre die Fähigkeit des Hauptrechners zu verhindern, daß ein Benutzer einen Plattenspeicher zerstört oder löscht, und zwar möglicherweise aufgrund eines fehlerhaften Kommandos oder gar eines absichtlichen Befehls.
Eine weitere Gruppe von Problemen gilt der Frage
IQ einer Speicherraumzuordnung, eines Speicherschutzes und einer Speichersteuerung. Die Adressen, in die die Daten eines Benutzers geschrieben werden sollen, sind in internen Registern des Mikroprozessors abgelegt. Jedes Benutzerprogramm kann diese Register vollständig kontrollieren, so daß folglich die Daten eines Benutzers in den von einem anderen Benutzer verwendeten Speicherraum eingeschrieben werden könnten.
Während bei großen Rechnern viele dieser Probleme gelöst sind, gibt es eine Anzahl von Mikroprozessoren, die - weil sie für Einzelbenutzer konstruiert worden sind - von sich aus nicht die Fähigkeit besitzen, den Speicherraum zwischen den Benutzern aufzuteilen oder zu verhindern, daß ein Benutzer unabsichtlich oder absichtlich eine nicht zugelassene Funktion ausführt.
Das Problem ergibt sich dadurch, daß diese Mikroprozessoren absichtlich einfach aufgebaut worden sind, wobei bestimmte Eingangs-Ausgangsmöglichkeiten über vorgegebenen Leitungen durchgeführt werden und alle Nachrichtenübertragungen zum oder vom Mikroprozessor über Befehle (0 oder 1) auf diesen Leitungen erfolgen müssen. Es ist demgemäß eine Schaltungsanordnung erwünscht, die solche Einzelbenutzer-Mikroprozessoren in die Lage versetzt, Mehrprozeß- und Mehrfachbenutzeroperationen auszuführen, ohne daß eine Änderung des Standard-Mikroprozessors erforderlich ist und ohne zusätzlich eine übermäßige Überwachung in Form einer Programmsteuerung oder von Schutzschaltungen erforderlich zu machen.
Zur Lösung der sich daraus ergebenden Aufgabe
geht die Erfindung aus von einer Schaltungsanordnung der eingangs genannten Art und ist dadurch gekennzeichnet, daß die Schaltungsanordnung eine erste Schaltung zur Einstellung wenigstens einer ersten und einer zweiten Betriebsart und eine zweite Schaltung aufweist, die den Speicher so steurt, daß wenigstens ein Speicherblock, aber nicht alle Speicherblöcke durch Befehle zugänglich sind, die der Prozessor in der ersten Betriebsart ausführt, daß die erste Schaltung eine Einrichtung zur Umschaltung aus der ersten 3-n cäie zweite Betriebsart unter Steuerung eines Unterbrechungssignals aufweist und daß die zweite Schaltung durch Decodieren von Ausgangsbits des Prozessors die zweite Betriebsart in die erste Betriebsart umschaltet.
Der Mehrbenutzer-Mikroprozessor stellt fest, daß bestimmte, im voraus festgelegte Adresseleitungen des Mikroprozessors benutzt werden können, um in Verbindung mit einer Betriebsartenliste und dem Unterbrechungssystem des Mikroprozessors zwei grundlegende Betriebsarten steuern zu kön-r nen. Diese Betriebsarten, näralich die Benutzerbetriebsart und die Kernbetriebsart (Kernel Mode) dienen dazu zu ver>hindern, daß ein Benutzer kritische Funktionen des Rechners steuern kann, beispielsweise das Abschalten der Unterbrechungssteuerung oder das Versetzen des Rechners in die HaItbetriebsart.
Diese Betriebsarten erleichtern außerdem den Speicherschutz. Das Speichermanagement sieht zwölf Speicherlisten vor, von denen jede einen Speicherraum bis zu 64-K-Bytes definiert. Die Definition des 64-K-Byte-Speicherraums ist weiter in acht 8-K-Byte-Äbschnitte unterteilt, die sich bei beliebigen 64-Byte-Grenzen im Speicher befinden können und für einen Lese- öder einen Schreibzugriff oder beides vorgesehen sein können und jede beliebige Länge in Einheiten von 64 Bytes bis zu 8-K-Bytes haben können. Von den 12 Speicherlisten ist nur bei 5 ein Zugriff gestattet, wenn das Speichermanagement (Flag) in die Benutzerbetriebsart eingestellt ist. Darüberhinaus ist der Inhalt der Speicherlisten selbst nur zugänglich, wenn das Speichermanagement-Flag in die Kernbetriebsart eingestellt ist. Eine sol-
332CG58
ehe Benutzung des Flag ermöglicht einen vollständigen Schutz des Speichers bei der Ausführung eines Benutzerprogramms .
Dieses Ergebnis wird erreicht durch eine Schal tungsanordnung, die in Verbindung mit einem Standard-Mikroprozessor arbeitet und auf die Betriebsartenliste so anspricht, daß nur bestimmte Funktionen durch einen Benutzer in der Benutzerbetriebsart ausgeführt werden können. Andere Funktionen, die für den Betrieb des Rechners kritisch sind und bei fehlerhafter Ausführung zu schweren Störungen führen würden, können nur in der Kernbetriebsart ausgeführt werden. In die Kernbetriebsart kann nur unter bestimmten Bedingungen und unter strenger, vorprogrammierter Steuerung mit Verwendung von Unterbrechungen eingetreten werden, die in sichere Bedienungsunterprogramme führen.
Wenn beispielsweise eine kritische Operation ausgeführt werden muß, beispielsweise das Lesen einer Speicherplatte, so ruft das Benutzerprogramm einen Plattenzugriff auf, indem es einen Programm-Unterbrechungsbefehl mit der Adresse eines im voraus erstellten Kernprogramms ausführt. In einem solchen Fall geht das System in die Kernbetriebsart, der Benutzer verliert die Steuerung,und das aufgerufene Kernprogramm (das theoretisch frei von Fehlern ist) führt die gewünschte Funktion in vorgeschriebener Weise aus.
Wenn das System sich in der Benutzerbetriebsart befindet und das Benutzerprogramm ein nicht zulässiges Kommando aussendet, beispielsweise das Unterbrechungs-Abschaltkommando (das jeden anderen Benutzer von einem Zugriff zum Rechner ausschalten würde), so spricht das System an, indem es die Unterbrechung wieder einschaltet. Wenn aus irgendeinem Grunde die Unterbrechungsmöglichkeit aus einem gültigen Grund ausgeschaltet werden muß (beispielsweise für den Anfang eines Unterbrechungs-Serviceunterprogramms), . dann muß ein solches Kommando dem Prozessor von einem Programm zugeführt werden, das in der Kernbetriebsart läuft. In diesem Fall bleiben die Unterbrechungen unter Steuerung des Kernprogramms ausgeschaltet.
Das System verwendet eine große Gruppe von
dynamisch neuordnungsfähigen Speicherlisten, die eine Bewegung zwischen unterschiedlichen Speicherräumen erleichtern, beispielsweise Benutzerbefehlen, Kerndaten und Kernbefehlen, wodurch das System einen höheren Wirkungsgrad erhält und leichter zu programmieren ist. In diese Speicherlisten kann unter Steuerung von Bits auf den obenerwähnten, im voraus festgelegten Adressenleitungen, der Betriebsartenliste und des Benutzer-Kernflag eingetreten werden. Die Kernbetriebsart kann alle Speicherlisten verwenden, während die Benutzerbetriebsart auf bestimmte Sätze beschränkt ist. Die Speicherlisten können nur in der Kernbetriebsart geändert werden. Das Umschalten von der Benutzer- in die Kernbetriebsart ist an das Unterbrechungssystem des Mikroprozessors gekoppelt, so daß die einzige Möglichkeit zur Änderung von der Benutzerbetriebsart in die Kernbetriebsart über eine Unterbrechungsfolge führt, die nach Art eines Vektors in ein sicheres Serviceunterprogramm im Betriebssystem führt. Entsprechend der Erfindung ist eine Schaltung vorgesehen, die einen sicheren Übergang von der Benutzer- in die Kernbetriebsart vorsieht, indem der Übergang in die Kernbetriebsart aus der Unterbrechungsfolge des Mikroprozessors erfolgt und indem sichergestellt wird, daß alle Lese- und Schreibvorgänge , die während dieses kritischen Übergangs stattfinden, richtig vor sich gehen und die Sicherheit des Systems nicht gefährden.
Nachfolgend wird die Erfindung anhand eines Ausführungsbeispiels in Verbindung mit den Zeichnungen näher beschrieben. Es zeigen:
Fig. 1 eine Anlage, in der die Erfindung angewendet werden kann;
Fig. 2 das Blockschaltbild der Hauptelemente der
Erfindung ;
Fig. 3 einen Teil des Prozessors mit bestimmten
Adressenleitungen; Fig. 4-7 die Speicherlisten-Ädressensteuerung;
Fig. 8 und 9 das Schaltbild des Ausführungsbeispiels der Erfindung; Fig. 10 die Zugehörigkeit der Fig. 8 und 9;
Fig.11-32 bestimmte Einzelheiten der verschiede
nen Bauteile in den Fig. 8 und 9.
Fig. 1 zeigt die typische Anwendung der Erfindung in einer Mehrprozeß-Rechneranlage. Dabei wird die Erfindung in der zentralen Prozessoreinheit (CPU) IO verwendet. Die CPU 10 ist mit der Anlage über eine Anlagensammelleitung (Systembus) 18 verbunden. Es sind vier Speicherkarten 11-1 bis H-N dargestellt. Ein Plattenspeicher 15 ist mit der CPU 10 über ein Plattensteuergerät 12 verbunden. Benutzer-Terminals 16-1, 16-2 und 16-M sind über ein Terminal-Steuergerät 13 angeschaltet. Auf entsprechende Weise kann ein entfernter Rechner 17 über ein Leitungs-Steuergerät 14 angeschlossen sein.
In der Darstellung in Fig. 2 ist der Hauptprozessor 200 eine 16-Bit-CPU, die einen Taktgenerator, ein Sammelleitungssteuergerät, ein Unterbrechungssteuergerät, einen Zeitgeber, Sammelleitungstreiber und Zwischenspeicher enthält. Die Adressen- und Datensammelleitungen des Prozessors sind mit zwei Festwertspeichern (ROMs) verbunden, die in Fig. 2 nicht dargestellt sind und Einschaltprüf- und Bootstrap-Programme liefern. Zwei universelle Synchron/ Asynchron-Empfangs/Sende-Schaltungen (USART-Schaltungen), die ebenfalls in Fig. 2 nicht dargestellt sind, sind an die Datensammelleitung angeschaltet, um serielle Eingangs-Ausgangs-(I/O)-Anschlüsse zum Laden und Prüfen bereitszustellen.
Der Prozessor kann in einer privilegierten Ar-" beitsweise, die Kernarbeitsweise genannt wird, oder in einer beschränkten Arbeitsweise, die BenutzerarLjeitsweise genannt wird, betrieben werden. Die Arbeitsweise, in der sich der Prozessor befindet,wird durch einen Arbeitsweisen-Flagspeicher 121 in Fig. 2 gesteuert. Wenn der Prozessor eingeschaltet oder zurückgestellt wird, so wird das Arbeitsweisenflag auf die Kernbetriebsweise eingeschaltet,und der Prozessor läuft gerichtet auf eine vorgegebene Startadresse im Einschalt-Festwertspeicher (ROM), der in Fig. 2 nicht dargestellt ist. Der Festwertspeicher enthält Programme zur Prüfung der richtigen Arbeitsweise des in den Fig. 8 und
9 gezeigten Systems und überträgt dann das Betriebssystem vom Plattenspeicher der Anlage auf den Arbeitsspeicher. Vor dieser Übertragung muß ein Einschreiben in den Speichermanagement -RAM (Schreib-Lese-Speicher) 106 erfolgen, um einen Zugriff zum Plattenspeicher und zum Anlagenspeicher zu ermöglichen.
Nachdem der Intervall-Zeitgeber, das Unterbrechungssteuergerät und die USART-Schaltungen sowie der Speichermanagement -RAM inintialisiert sind, wird das Betriebssystem auf den Hauptanlagenspeicher übertragen und beginnt dann mit der Programmausführung„ Die Betriebsartenliste interpretiert Ädressenbits AA16-AA19 vom Prozessor 200. Auf der Grundlage der auf diesen Leitungen vorhandenen Bits wählt die Betriebsartenliste entweder eine bestimmte Uber-Setzungstabelle aus dem Speichermanagement-RAM 106 oder einen Zugriff zu bestimmten Einrichtungen, die später beschrieben iirerden sollen. Die Betriebsartenliste 110 gibt außerdem, falls erforderlich, den Befehl zum Beträebsarten-Flagspeicher, eine Änderung von der Kernbetriebsweise zur Benutzerbetriebsweise durchzuführen. Die Betriebsartenliste tut dies bei Empfang der Bits 1100 auf den Adressenleitungen AÄ19, AA18, AA17:und AAl6. Wenn die Betriebsartenliste 110 einen bestimmten Abschnitt des Speichermanagement-RAM 106 zur Verwendung für eine Übersetzung auswählt, prüft sie zuerst das Ärbeitsweisenflag und vergleicht die Arbeitsweise mit dem gewählten Bereich des Speichermanagement-RAM, um sicherzustellen, daß - wenn das Ärbeitsweisenflag auf die Benutzerbetriebsart eingestellt ist - dies derjenige Benutzerbereich ist, der im Speichermanagement-RAM 106 gewählt worden ist.
Es ist wichtig feszuhalten, daß zwar eine bestimmte Adresse 1101 auf den Leitungen AA19 bis ÄA16 bewirkt, daß das Betriebsartenflag von der Kern- auf die Benutzerbetriebsart geht, daß aber der Übergang von der Benutzerzur Kernbetriebsart mittels eines völlig anderen Verfahrens erfolgt. Eine Verwendung der Adressenleitungen zur Rückschaltung von der Benutzer- in die Kernbetriebsart ist deswegen nicht zweckmäßig, weil die Adressenleitungen unter
332G358
vollständiger Steuerung des gerade ausgeführten Programms stehen und daher ein Benutzerprogramm jederzeit eine Änderung auf die Kernbetriebsart bewirken könnte. Das Speichermanagementsystem ist so ausgelegt, daß der Übergang von der Benutzerbetriebsart zur Kernbetriebsart nur gleichzeitig mit einem Unterbrechungsvektor in Richtung auf einen bestimmten Bereich im Betriebssystem stattfinden kann, der sicherstellt, daß jede Änderung zur Kernbetriebsart von einer Steuerungsübertragung auf das Betriebssystem begleitet wird. Es wird demgemäß ein Verfahren benutzt, das eine Umschaltung von der Benutzer- in die Kernbetriebsart auf eine Weise ermöglicht, die die Steuerung unmittelbar nach Änderung zur Kernbetriebsart auf das Betriebssystem überträgt .
Die Anlage enthält einen 256 χ 32-Bit-RAM 106, der Seitenadressen- und Seitenbeschreibungsinformationen enthält, wie nachfolgend noch genauer beschrieben werden soll. Die Anlage ordnet die virtuellen 20-Bit-Adressenausgänge des Prozessors in einen physikalischen Adressenraum von 22 Bits ein. 16 Bits (SA16-SA31) vom RAM werden mit 7 Bits (AA6-AA12) von der Prozessor-Ausgangsadresse kombiniert, und das Ergebnis wird zu den niedrigerstelligen 6 Bits (A0-A5) der Prozessor-Ausgangsadresse zur Bildung einer physikalischen 22-Bit-Adresse (A0-A21) der Adressen-Sammelleitung addiert. Die anderen 16 Bits (SA0-SA15) vom RAM gelangen zu einer Speicherzugriffs-Fehlerlogik 130 und werden zur Steuerung von Lese/Schreibsignalen sowie zur Erzeugung von Unterbrechungen bei unzulässigen Lese-Schreibvorgängen oder bei einem versuchten Zugriff zum Speicher benutzt, der außerhalb des zugeordneten Adressenbereichs liegt.
Der Prozessor 200 enthält einen Unterbrechungseingang , der durch das Unterbrechungssteuergerät (in Fig. 2 nicht gezeigt) in eine Anzahl von Unterbrechungseingängen expandiert wird. Das Unterbrechungssteuergerät veranlaßt bei Empfang eines Signals den Prozessor, unter Steuerung eines Unterbrechungsprogramms auf bestimmte, vorprogrammierte Unterprogramme anzusprechen. Wenn eine solche Unter-
brechung auftritt, wird die Steuerung von den im Augenblick im Prozessor laufendne Programmbefehlen weggenommen und zum gewählten Unterbrechungsprogramm gegeben. In der einfachsten Form erzwingt das Unterbrechungssignal einen Sprung von dem im Augenblick ausgeführten Befehlssatz auf einen neuen Befehlssatz, indem eine bestimmte Adresse auf der Ausgangsadressensammelleitung geliefert wird. Diese erzwungene Adresse weist in Richtung auf einen vorher eingeschriebenen Satz von Befehlen im Hauptspeicher. Diese Unterbrechungsunterprogramme sind aus vielen Gründen wichtig, beispielsweise zur Bedienung von Speichermanagement-Zugriffsverletzungen, von Eingangs-Äusgangsgeräten und für den Anlagentakt.
Der Prozessor hat außerdem die Möglichkeit, auf ein Kommando anzusprechen, das jede andere Verarbeitung anhält«, Ein weiteres Kommando bewirkt ein Abschaltender Unterbrechungseingänge, so daß ein ausgeführtes Programm selbst durch den Anlagentakt nicht unterbrochen werden kann. Ein einfaches, Unwirksammachen des Unterbrechungs-Abschaltmerkmals ist nicht zweckmäßig, da diese Funktion in die grundsätzliche Struktur des Mikroprozessors eingebaut ist.
Man erkennt, daß die Anlage so ausgebildet ist, daß ein Ausschalten der Unterbrechungen und des Halt-Kommandos nur aus der Kernbetriebsart heraus erfolgen kann, in der voraussichtlich ein zweckmäßiges Programm zum Schutz der Anlage geschrieben ist.
Fig. 3 zeigt die Verwendung der Ausgangsadressen des Prozessors 200. Die Adressenleitungen AA19-AA16 werden, wie später noch genauer beschrieben werden soll, durch die Betriebsartenliste decodiert und benutzt, um eine von 12 Speicherlisten für einen Zugriff zum externen Speicher zu wählen, um aus der Kernbetriebsart in die Benutzerbetriebsart zu gehen, den Speichermanagement-RAM direkt zuzugreifen, bestimmte Bauteile direkt zuzugreifen oder einen Zugriff zu den Einschalt-ROMs zu erhalten.
Allgemeine Erläuterung der Fig. 8 und 9
Wie in Fig. 8 in einfachster Form dargestellt, arbeitet die CPU 10 mit Befehlen, die ihr über eine Vielzahl von Eingängen zugeführt werden, und mit Daten, die
332CS58
unter Steuerung der Eingangsinformationen geliefert werden, um neue Daten auf ihren Ausgangsleitungen zu liefern. Die Ausgangsdaten werden durch einen Satz von 20 Leitungen ADO-AD19 dargestellt. Die Leitungen ADO - AD15 bilden einen multiplexierten Adressen/Datenbus (Bus = Sammelleitung), und die Leitungen AD16-AD19 bilden einen zusätzlichen Adreßbus. Der Adreß-Zwischenspeicher 102 speichert die Adresse von dem multiplexierten Bus und bildet den demultiplexierten Adreßbus AO - A5, AA6 - AAl9. Bits (1- und 0-Werte) auf den Leitungen dieses Adreßbus richten das System auf eine virtuelle Adresse im Hauptspeicher aus. Diese virtuelle Adresse muß dann in der Speicherm^nagementschaltung in eine spezielle Adressenstelle im Hauptspeicher umgerechnet werden. Vier dieser Adressenleitungen, nämlich die Leitungen AA16 - AAl9, laufen zur Betriebsartenliste 110 und wählen eine von 12 Speicherlisten, die einen Zugriff zum Anlagenspeicher, zum Einschalt-ROM 111 , zum Speichermanagement-RAM 106, zuir» Unterbrechungssteuergerät 114, zum Intervall-Zeitgeber 113 und zu USART-Schaltungen (nicht gezeigt) ermöglichen. Wie beschrieben, dienen diese Bits zur Änderung des Betriebsarten-Flagspeichers 121 aus der Kern- in die Benutzerbetriebsart .
Wenn die Anlage sich in der Benutzerbetriebsart befindet, führt jeder Versuch, die Prozessorunterbrechungen abzuschalten, dazu, daß die Unterbrechungen wieder eingeschaltet werden, und jeder Versuch, den Prozessor anzuhalten, bewirkt, daß der Prozessor sofort wieder gestartet wird wobei jeweils eine entsprechende Warnnachricht zum Benutzer zurückgegeben wird. Die Art und Weise, wie dies geschieht, soll nachfolgend beschrieben werden.
Der Prozessor enthält 12 Listen, die die Felder steuern, in die bzw. aus denen der Prozessor Daten einspeichern und wiedergewinnen kann. Demgemäß besteht - wie in Fig.4 gezeigt - die Speichermanagementsteuerung aus 12 individuellen Feldern (K0-K7 und U0-U3), wobei das spezielle Feld durch die Betriebsartenliste 110 gewählt wird und das spezielle Wort im Speichermanagement-RAM 106 durch die Adreßbits A15, A14, A13 und A12 gesteuert wird, wie oben
χι η\
oben erläutert. Jedes dieser Wörter in jedem dor Felder enthält ein 16-Bit-PDR-Feld und ein 16-Bit-PAR-FeId. Diese Felder liefern in Verbindung mit den Speicheradressbits einen Hinweis auf eine bestimmte Stelle im Hauptspeicher. Jedes Feld kann so zugeordnet werden, daß es einen bestimmten Informationstyp speichert. So kann das Feld Kl Kernprogramme, das Feld K2 Kerndaten, das Feld UO (nicht gezeigt) Benutzerprogramme und das Feld Ul (nicht gezeigt) Benutzerdaten speichern. Das bestimmte Feld und die bestimmte Betriebsart werden auf eine noch genauer zu beschreibende Weise mittels Bits von den Adressenleitungen 19-16 gesteuert. Diese Decodierung ist in Fig. 5 gezeigt. Die 4 Bits werden decodiert und ermöglichen einen Zugriff zum gewählten Feld und eine Umschaltung der Betriebsart des Systems aus der Kernin die Benutzerbetriebsart.
Typische Arbeitsweise
Es sei jetzt angenommen, daß die Anaige gerade eingeschaltet worden ist und daß das Rückstellsignal zur CPU 10 gesendet worden ist. Die CPU springt daraufhin auf eine vorgegebene Adresse, die die Bits 1, 1, 1, 1 auf den Adressenleitungen AA19, AA18, AA17 und AA16 hat. Gleichzeitig ist durch das Rückstellsignal der Betriebsarten-Flagspeicher 121 auf die Kernbetriebsart eingestellt worden. Die Bits 1, 1, 1, 1 auf den Leitungen AA19, AA18, AA17, AA16 am Ausgang des Adressenzwischenspeichers 102 bewirken, daß die Betriebsartenliste 110 die Festwertspeicher (ROMs) 111 wählt. Die verbleibenden Bits auf den Adressenleitungen AA15-AAO deuten auf den Anfang des Einschalt-Unterprogramms in den Festwertspeichern 111 hin. Die Betriebsartenliste 110 gibt außerdem eine 1 auf die Leitung VML, da der Speicherzugriff intern im CPU-System erfolgt und nicht zum Anlagenbus geht. Eine 1 auf der Leitung VML bewirkt, daß alle externen Signale zu weiteren Speicherkarten unterdrückt werden ; sie schaltet ferner die Umrechnung von virtuellen in physikalische Adressen aus und macht die Adressenprüfung durch das Seitenbeschreibungsregister im Speichermanagement-RAM unwirksam.
332C358
Das Programm in den Festwertspeichern bestätigt zunächst die richtige Arbeitsweise des CPU-Systems, indem Eigenprüfungen kritischer CPU-Funktionen durchgeführt werden. Wenn die Eigenprüfungen zeigen, daß das CPU-System richtig arbeitet, lädt das Programm im ROM als nächstes ein Programm aus der Plattenspeichereinheit in den Speicher des Hauptsystems und fährt dann fort mit dem Laden von Programmen, bis das gesamte Betriebssystem im Hauptspeicher vorhanden ist. Bevor jedoch ein Zugriff zum Hauptspeicher oder zum Plattenspeicher erfolgen kann, muß der Speichermanagement-RAM 106 mit den Basisadressen und der Zugriffserlaubnis für den Systemspeicher geladen werden, auf den ein Zugriff erfolgen soll. Ein Schreiben oder Lesen des Speichermanagement-RAM kann nur dann erfolgen, wenn sich das Betriebsartenflag in der Kernbetriebsart befindet. Zum direkten Einschreiben in oder Lesen aus dem Speichermanagement-RAM müssen die Adressenleitungen AA19, AA18, AAl7 und AA16 die Bits 1101 (Fig.5) enthalten.
Wenn die Betriebsartenliste 110 die Bits 1101 auf den Adressenleitungen AAl9, AA18,.AA17 und AA16 feststellt, gibt sie eine 0 auf die Leitung EN38L, die einen Zugriff zum Speichermanagement-RAM 106 über das Speichermanagement-Steuergerät 126 ermöglicht. Außerdem gibt sie eine 1 auf die Leitung VML, die - wie oben erläutert - einen externen Zugriff außer Tätigkeit setzt. Diese 1 auf der Leitung VML veranlaßt außerdem den Adressenmultiplexer 104, den Adressenbits AA2-AA9 die Möglichkeit zu geben, den Speichermanagement-RAM zuzugreifen, statt daß er über die Adressenleitungen AA13-AA17 , die Leitung K18 (von der Betriebsartenliste, wie besprochen werden soll) und die Leitung AA19 zugegriffen wird, wie das normalerweise bei einer Umrechnung aus einer virtuellen in eine physikalische Speicherstelle geschieht . Eine solche Multiplexierung der Adressen ermöglicht einen sequentiellen Zugriff zum Speichermanagement-RÄM. Man beachte, daß ein Zugriff zum Speichermanagement-RAM 106 auf zwei wesentlich verschiedene Arten erfolgt. Ein Zugriff erfolgt während jeder Umrechnung von einer virtuellen in eine physikalische Adresse, um Informationen zu gewinnen, die
)Α f
zu einer Adressenberechnung und für die Zulassung eines Prüfzugriffs erforderlich sind. Ein Zugriff zum Speichermanagement-RAM erfolgt außerdem direkt durch ein Kernprogramm bei der Betriebseinleitung und Aktualisierung des Speichermanagement-RAM. Das Speichermanagement-Steuergerät 126 bereitet den Speichermanagement-RAM für einen der Zugriff stypen vor. Sowohl die Zeitsteuerung als auch die Datenbreite , die 32 Bits für eine Umrechnung und nur 16 Bits für einen individuellen Zugriff beträgt, müssen vorbereitet werden. Die Zeit- und Steuersignale für diese Puffer werden durch das Speichermanagement-Steuergerät 126 geliefert. Außerdem sind zwei Bits in jedem.32-Bit-Wort des Speichermanagement -RAM vorhanden, die angeben, ob ein Zugriff zu diesem Abschnitt erfolgt ist und wie der Zugriff durchgeführt wurde. Immer dann, wenn einer dieser Abschnitte für eine Adressenumrechnung benutzt worden ist, wird das Zu-· griffsbit, nämlich das Bit 7, im Seitenbeschreibungsregister als Anzeige dafür eingestellt, daß der entsprechende Abschnitt des Speichers wenigstens einmal benutzt worden ist. Außerdem ist ein Bit des PDR vorhanden, nämlich das Bit 6, das angibt, daß ein Einschreiben in den entsprechenden Abschnitt des Speichers stattgefunden hat.
Zu diesem Zweck muß der Speichermanagement-RAM gelesen werden, der Inhalt abgeändert und dann während einer Ädressenumsetzung zurückgeschrieben werden. Die zeitweiligen Daten zu diesem Zweck sind im Zugriffszwischenspeicher 116 abgelegt. Man beachte, daß nur 8 Bits zwischengespeichert werden müssen, da nur das niedrigerstellige Byte des Speichermanagement-RAM auf diese Weise modifiziert wird.
Die zeitliche Steuerung dieser Operation erfolgt ebenfalls durch das Speichermanagement-Steuergerät 126.
Bevor das Betriebssystem gestartet werden kann, müssen der Intervall-Zeitgeber 113 , das Unterbrechungssteuergerät 114 und die USART-Schaltungen (nicht gezeigt)
3^ initialisiert werden. Diese Bauteile werden gewählt, indem die Bits 1110 auf die Adressenleitungen AA19, AA18, AAl7, AA16 (Fig. 5) gegeben werden. Die Betriebsartenliste nimmt diese Bits auf und ermöglicht einen Zugriff zu den Eingangs-
Ausgangs-(I/O)-Einrichtungen. Ein Zugriff zu diesen 1/0-Einrichtungen kann nur dann erfolgen, wenn das Betriebsartenflag sich in der Kernbetriebsweise befindet. Wenn alle I/O-Einrichtungen und das Speichermanagement-RAM initialisiert sind, beginnt das Betriebssystem mit der Befehlsausführung, und die Steuerung wird auf ein Benutzerprogramm * übergeben. Die Einzelheiten dieser Übergabe sollen später beschrieben werden.
Es sei jetzt angenommen, daß sich die Anlage in der Benutzerbetriebsart befindet und daß eine Gruppe von Bits von der CPU 101 auf den in Fig. 8 gezeigten Adreßbus geliefert wird. Die Betriebsartenliste 110 verwendet auf die in Fig. 5 dargestellte Weise die Bits AA16-AA19 zur Auswahl einer der Listen im Speichermanagement-Steuergerät 106.
Da das Betriebsarten-Flag auf die Benutzerbetriebsart eingestellt ist, ermöglicht die Betriebsartenliste nur einen Zugriff zu den Benutzerlisten UO, Ul, U2, U3 und KO, die sowohl bei der Benutzer- als auch bei der Kernbetriebsart verwendet werden. Wenn eine der anderen Listen oder Bauteile gewählt wird, so erzeugt die Betriebsartenliste 110 das Signal USRGE (Fig. 8). Dieses Signal adressiert die MuI- ' tiplexer- und Blockgatterschaltung 104, die das Signal BLOKH erzeugt. Dieses Signal bewirkt eine Blockierung des Zugriffs, indem die Betätigungssignale vom Speicher- und Steuergerät-Auswahldecoder 117 unterdrückt werden. Das Signal BLOKH veranlaßt außerdem das Unter^brechungssteuergerät 114, eine Unterbrechung für die CPU 101 zu erzeugen. Diese spricht auf die Unterbrechung mit einem Unterbrechungsbestätigungssignal an. Dieses Signal veranlaßt eine Änderung des Betriebsarten-Flag von der Benutzer- in die Kernbetriebsart. Gleichzeitig wird die CPU 101 auf ein Unterbrechungs-Serviceunterprogramm geführt, das den Fehler verarbeitet, dem Benutzer Mitteilung hinsichtlich des fehlerhaften Zugriffsversuchs macht und die Steuerung zu einem anderen Benutzerprogramm übergibt.
Es sei jetzt angenommen, daß eine gültige Speicherliste qewählt wurde. Es werden dann die 16 Seitenadressenregister-(PAR)-Bits benutzt, um die genauer physikali-
sehe Speicherstelle im Hauptspeicher festzustellen, auf die der nächste Speicherzugriff erfolgen soll. Fig. 4 zeigt eine typische Speicherliste in KO, und es können viele andere solcher Listen aufgebaut werden. Dies geschieht durch Lieferung der Bits AA12-AA6 vom Adreßbus zum 16-Bit-Addierer 109 gemäß Fig. 7. Diese Bits werden zu den Bits 6-Ordes PAR aus der gewählten Betriebsartenliste addiert. Eine physikalische 22-Bit-Adresse (A0-A21), die die summierten Bits Ä21-A6 zuzüglich der Adressenbits 5-0 vom Prozessor 101 enthält, wird auf dem Adreßbus zu den Anlagenspeicher- und Steuerkarten geliefert.
Entsprechend der Darstellung in Fig. 4 enthält jedes Wort des Speichermanagement-RAM ein Seitenbeschreibungs-Registerwort (PDR) mit 16 Bits , dessen individuellen Bits zur Steuerung der Funktion benutzt werden, die entsprechend dem in Fig. 6 gezeigten Diagramm auszuführen ist.
Das Seitenbeschreibungsregister wird mit dem versuchten Speicherzugriff verglichen, um festzustellen, ob der Speicherzugriff gültig ist oder nicht. Dieser Vergleich erfolgt durch die Schaltungseinheit 10 7 in Fig. 9, die mit "Fehlerhafte Zugriffsunterbrechungen" bezeichnet ist. Wenn der Speicherzugriff eine Leseoperation ist, so prüft die Schaltung für eine Unterbrechung bei fehlerhaftem Zugrift, ob eine Leseerlaubnis im Seitenbeschreibungsregister vorhanden ist. In entsprechender Weise wird, wenn der Speicherzugriff eine Schreiboperation ist, die Schreibzulassung geprüft= Neben der Prüfung der Lese- und Schreibzulassung wird die Adresse des Speicherzugriffs mit dem Seitenlängenfeld im Seitenbeschreibungsregister verglichen, um zu bestätigen, daß sie innerhalb des Speicherbereichs liegt, der im Speicherbeschreibungsregister zugeordnet ist. Wenn Fehler festgestellt werden, so erzeugt die Schaltung 10 7 das Signal ZZ.
Das Signal ZZ gelangt zur Adressenmultiplexer- und Blockgatterschaltung 104, die bei Empfang des Signals ZZ das Signal BLOKH wie beim vorhergehenden Beispiel erzeugt, bei dem sie das Signal USRGE von der Betriebsartenliste 110 empfangen hat. Das Signal BLOKH veranlaßt den
Kartendecoder 117, das Kartenbetätigungssignal zu unterdrücken, wodurch der Speicherzugriff verhindert wird, und veranlaßt außerdem die Ausgabe des Unterbrechungssignals für einen fehlerhaften Zugriff zum Unterbrechungssteuergerät 114, das wiederum die CPU 101 unterbricht.
Wie vorher, spricht die CPU 101 mit einem Unterbrechungsbestätigungssignal an, das das Betriebsartenflag veranlaßt, aus der Benutzer- in die Kernbetriebsart zu gehen, und gleichzeitig wird die CPU auf ein Unterbrechungs-Serviceunterprogramm gebracht, das die erforderliche Funktion ausführt und die Steuerung auf ein anderes Benutzerprogramm zurückgibt.
Vor der Rückgabe der Steuerung auf ein anderes Benutzerprogramm muß das Betriebssystem das Betriebsartenflag auf die Benutzerbetriebsart zurückstellen. Dies erfolgt dadurch, daß die Bits 1100 auf den Adressenleitungen AAl9, AAl8, AAl7 und AA16 mit der virtuellen Adresse des neuen Benutzerprogramms auf die verbleibenden Adressenlei*— tungen gebracht werden. Die Betriebsartenliste stellt das Bitmuster 1100 (Fig. 5) fest und veranlaßt das Betriebs-n artenflag, in die Benutzerbetriebsart umzuschalten. Wenn das Betriebsartenflag sich in der Benutzerbetriebsart befindet, führt jedes Unterbrechungssignal für das Unterbrechungssteuergerät 114 , wie beschrieben, zu einer Unterbrechungsbestätigung, die bewirkt, daß das Betriebsartenflag von der Benutzer- in die Kernbetriebsart geht, und die CPU wird auf ein Unterbrechungs-Serviceunterprogramm gebracht. Wenn die Unterbrechung durch einen Zugriffsfehler oder durch einen Speicherparitätsfehler veranlaßt wird, so wird eine entsprechende Maßnahme ergriffen, beispielsweise eine Beendigung dieses Benutzerprogramms oder ein Übergang auf das Programm eines anderen Benutzers.
Die meisten Unterbrechungen werden keine Fehlerzustände sein, sondern Teil der normalen Arbeitsweise der Anlage. Beispielsweise unterbricht der Intervall-Zeitgeber 113 periodisch den Prozessor alle 1/60-tel Sekunde. Diese Unterbrechung wird zur Zeitverfolgung benutzt und außerdem von dem Betriebssystem verwendet, um den Zustand aller Be-
nutzerprogramme zu prüfen. Auf der Grundlage der CPU-Belegung je Benutzer kann außerdem eine Umschaltung von einem Benutzer auf einen anderen erfolgen.
Es sind weiterhin zwei Unterbrechungsleitungen vorhanden, die von anderen Teilen der Anlage zum Prozessor führen. Eine Leitung ist die Unterbrechungsleitung niedriger Priorität LINT und die andere Leitung die Unterbrechüngsleitung hoher Priorität INT. Diese Unterbrechungsleitungen können durch externe Eingangs/Ausgangseinrichtungen, beispielsweise den Plattenspeicher der Anlage über das Plattenspeicher-Steuergerät, Benutzerterminals über das Terminal-Steuergerät oder Nachrichtenübertragungen zu einem anderen Prozessor über das Leitungssteuergerät belegt werden. Diese Steuergeräte sind in Fig. 1 gezeigt.
Bei Empfang einer dieser Unterbrechungen gibt das Unterbrechungssteuergerät ein Unterbrechungssignal an die CPU, die darauf mit einer Unterbrechungsbestätigung anspricht. Diese bewirkt, daß das Betriebsartenflag in die Kernbetriebsart umgeschaltet wird, und dann geht die CPU zu einem geeigneten Service-Unterprogramm über. Im Falle einer Unterbrechung von einer Eingangs/Ausgangseinrichtung bearbeitet die CPU die Anforderung, während sie sich in der Kernbetriebsart befindet, und gibt dann die Steuerung an das Benutzerprogramm oder ein anderes Benutzerprogramm zurück, und zwar abhängig von dem Belastungsgrad der CPU und anderen Faktoren.
Wenn eine Eingangs/Äusgangsunterbrechung auftritt, während sich das Betriebsartenflag in der Kernbetriebsart befindet, so findet ein gerichteter Übergang auf das gleiehe Unterbrechungsunterprogramm wie vorher statt. In diesem Fall ist es nicht erforderlich, den Zustand des Betriebs* artenflag zu ändern. Wenn jedoch ein Zugriffsfehler auftritt, während sich das Betriebsartenflag in der Kernbetriebsart befindet, so wird dadurch ein schwerwiegender Zustand angezeigt, da das Betriebssystem keine Zugriffsfehler machen dürfte, weil es als sicher angesehen vfird. In diesem Fall wird in ein besonderes Panik-Serviceunterprogramm eingetreten, das dann versucht, entweder die Anlage anzuhalten und
auf einen Service zu warten, oder das Betriebssystem erneut zu starten.
Betrieb der Anlage durch den Benutzer Wenn der Benutzer eine Funktion ausführen will, beispielsweise in einen Plattenspeicher einschreiben will, und diese Funktion im voraus als eine Funktion gekennzeichnet worden ist, die nur aus der Kernbetriebsart zugänglich ist, so ruft der Benutzer das richtige Kernprogramm mittels einer Systemanforderung hoher Priorität auf.
Die Durchführung eines Systemaufrufs durch einen Benutzer erfolgt durch Speicherung einer bestimmten Zahl, die den Typ des angeforderten Systemaufrufs darstellt. Diese Zahl wird in einem Bereich des Speichers aufgenommen, der als Benutzer-Stapelspeicher (Stack) bezeichnet wird.
Dann führt der Benutzer den Befehl INT aus, der bewirkt, daß das Unterbrechungsausschaltungsbit vorhanden ist. Dies wird durch die Unterbrechungseinheit 10 7 für fehlerhaften Zugriff festgestellt, wie oben besprochen. Die Unterbrechungseinheit 10 7 sendet dann eine nicht maskierbare Unterbrechung an die CPU 101, wodurch diese veranlaßt wird, auf den Anfang des nicht maskierbaren Unterbrechungs-Serviceunterprogramms zu springen. Dieses Unterprogramm prüft dann den Benutzer-Stapelspeicher, stellt fest, welcher Systemaufruf angefordert worden ist, führt die Anforderung aus und gibt die Steuerung an das Benutzerprogramm zurück.
Die Zustandsleitungen vom Mikroprozessor werden durch einen Zustandsdecoder 103 decodiert, und die HaIt- und Unterbrechungsausschalt-Zustandsbedingungen werden mit dem Betriebsarten-Zustandsbit des Speichermanagement-Steuergeräts 106 verglichen. Wenn beispielsweise das Unterbrechungsausschaltbild während einer Zeitspanne vorhanden ist, in der sich die Anlage in der Benutzerbetriebsart befindet, so wird dieser Zustand durch die Unterbrechungseinheit 10 7 für fehlerhaften Zugriff festgestellt und ein Signal an den nicht maskierbaren Unterbrechungseingang (NMI) des Mikroprozessors 101 gegeben. Dieses NMI-Eingangssignal zwingt den Mikroprozessor, auf eine bestimmte Adresse zu springen, die der Anfang des NMI-Serviceprogramms ist.
Wach der nicht maskierbaren Unterbrechung (NMI"von Nonmaskable JEnterrupt) und vor der Gewinnung des ersten Befehls des NMI-Serviceprogramms wird das Betriebsartenflag von der Benutzer- in die Kernbetriebsart umgeschaltet. Dadurch kann ein Zugriff zum NMI-Serviceprogramm erfolgen, das sich in einem Bereich des Speichers befindet, der nur über eine Kern-Speicherliste zugänglich ist. Die Speicherliste 110 gestattet einen Zugriff zu den Kernspeicherlisten nur, wenn das Betriebsartenflag auf die Kernbetriebsart eingestellt ist.
Das NMI-Serviceprogramm bestimmt dann den Grund für die Unterbrechungsausschaltung. Die entsprechenden Gründe gehören zu zwei Klassen, nämlich Systemaufrufen und einer fehlerhaften Unterbrechungsmaskierung. Im Falle eines Systemaufrufs verlangt das Benutzerprogramm die Durchführung einer Aktion durch das Betriebssystem, und die Aufmerksamkeit des Betriebssystems wird durch absichtliches .'Unterbrechungsausschalten gewonnen« Im Falle einer fehlerhaften Unterbrechungsmaskxerung schaltet das Benutzerprogramm die Unterbrechungen aus, ohne einen zulässigen Systemaufruf durchzuführen. Nachdem das NMI-Serviceprogramm den Grund für die Unterbrechungsmaskierung bestimmt hat, zweigt es zu dem jeweils richtigen Bearbeitungsunterprogramm im Betriebssystem ab, das die Anforderung bedient, wenn eine solehe vorhanden ist, und die Unterbrechungen dann wieder einschaltet ."
Man beachte, daß - da die Anlage 12 Speicher im Speichermanagement-Steuergerät 126 besitzt und ein Zustandsflag zur Steuerung der Benutzer- und Kernbetriebsart hat, die Möglichkeit besteht, während sich die Anlage in-der Kernbetriebsart befindet, daß die Betriebsartenliste auf einen Speicher hinweist, in welchem Benutzerdaten gespeichert sind. Dadurch wird dann einem Programm in der Kernbetriebsart die Möglichkeit gegeben, einen Zugriff zu allen erforderlichen Daten durchzuführen, ohne daß das Speichermanagement-RAM erneut aus dem Hauptspeicher geladen wird oder besondere Befehle benutzt werden, wie dies bei bekannten Anlagen geschieht.
Einzelbeschreibungen - Fig. 11-32
Die nachfolgende Beschreibung bezieht sich auf die verschiedenen Schaltungsblöcke, deren Funktionen in Ver bindung mit den Fig. 8 und 9 beschrieben worden sind, und die eine praktische Verwirklichung der Erfindung zeigen. Andere Verwirklichungen sind natürlich möglich.
Der Haupttakt wird durch einen Oszillator ICl gemäß Fig. 12 mit 12,288 MHz oder 14,7456 MHz geliefert.
Dieser Takt wird durch eine Schaltung IC2""(Fig. 14) heruntergeteilt zur Lieferung einer Takt/4-Rate RCLK für andere Speicherkarten über einer Puffer IC43 sowie einer Takt/8-Rate BCLK an den Intervall-Zeitgeber IC34 in Fig.15 sowie die USART-Schaltungen (nicht gezeigt).
Der Oszillator ICl taktet die sechs Flipflops IC5 in Fig. 14, die als Schieberegister verdrahtet sind. Das Signal Tl ist eine getaktete Abwandlung des Adressenzwischenspeicher-Betätigungssignals ALE, das zur Zwischenspeicherung der Mikroprozessoradressen benutzt wird. Die Signale T2-T5 sind verzögerte Abwandlungen des Signals Tl mit einer ungefähren Verzögerung von 60 ns zwischen aufeinanderfolgenden Sig nalen. Der Haupttakt dient außerdem als externe Frequenzquelle für die Taktgenerator- und Treiberschaltung IC3 in Fig. 14. Diese Schaltung teilt die Frequenz durch drei und liefert einen Takt mit 1/3 der Frequenz (F/3) und einem Tastverhältnis von 1/3 an den Mikroprozessor ICH sowie an das Bus-Steuergerät IC16.
Die Schaltung IC3 stellt die Rückstell-Logik und die Bereit-Synchronisation für die CPU dar. Die Rückstell-Logik stellt einen Schmitt-Triggereingang (RES) und ein Synchronisationsflipflop zur Erzeugung der Rückstell-Zeitsteuerung bereit. Das Eingangssignal wird durch Reset=0 bei der Stromeinschaltung erzeugt. Das Rückstellsignal ist mit der abfallenden Flanke des Taktsignals aus der Rückstell-
^° Logik IC3 synchronisiert. Das Bereit-Ausgangssignal der Rückstell-Logik IC3 in Fig. 4 ist ein im aktiven Zustand auf H liegendes Signal, das eine synchbonisierte Abwandlung des Eingangssignals RDYl darstellt. Da das Eingangssignal
asynchron mit Bezug auf den Prozessortakt auftreten kann, muß es vor Abgabe an den Prozessor synchronisiert werden, um sicherzustellen, daß es die erforderliche Einstellzeit erfüllt. Die Rückstell-Logikschaltung IC3 führt diese Arfoeit aus und stellt außerdem die erforderliche Haltezeit vor Abschalten des Bereit-Signals sicher.
Der Mikroprozessor ICH besitzt einen 16-Bit-Ädreß/Datenbus, einen zusätzlichen 4-Bit-Adreßbus und einen 3-Bit-Zustandsbus. Die Zustandsbits SO, Sl und S2 vom Pro-Eessor ICH werden vom Bus-Steuergerät IC16 zwischengespeichert und decodiert, um die erforderlichen Steuersignale, das Ädressenzwischenspeicher-Betätigungssignal ALE, das Speicherlesekommando MRDC, das fortgeschrittene Speicherschreibkommando AMWC , das Unterbrechungsbestätigungssignal INTA und das Datensende/Empfangssignal DT/R zu liefern.
Die 16 Adressen/Datenbits vom Mikroprozessor gelangen zu--zwei Paaren doppelt gerichteter Bustreiber,, die ; in Fig. 17 und 19 dargestellt sind. Ein Paar, nämlich die Treiber IC63 und IC64 in Fig. 17 führen zu dem 16-Bit-Hauptdatenbus auf der rückseitigen Ebene. Das andere Paar IC15 und ICl 7 in Fig. 19 führt zu einem internen Datenbus IDO-15. Die Übertragungsrichtung wird durch die Leitung DT/R gesteuert. Ein Signal H auf dieser Leitung bedeutet Senden (Schreiben in den Speicher) und ein Signal L Empfangen oder Lesen. Die beiden Schaltungspaare besitzen durch komplementäre Signale betätigte Ausgänge. Die Verbindung vom Hauptdatenbus zum AD-Bus ist betätigt, wenn LS2=VMH=DEN=1 ist.
Während der ersten Taktperiode eines Maschinenzyklus wird durch die Schaltung IC16 (Fig.4) ein Signal ALE erzeugt, um die 20 Adressenbits, das Bus-Betätigungsbit H und 3-Zustandsbits in den Schaltungen ICB, IC12 und IC14 (Fig. 11) zwischenzuspeichern. Entsprechend der Darstellung in Fig. 20 führt der Impuls ALE außerdem unter Takteinfluß Steuersignale in die Flipflops IC44A, B und IC62A. Wie in Fig. 22 gezeigt, werden die 3iZustandausgangssignale LSO-2 der Schaltung ICl4 in der Schaltung IC45 zur Erzeugung von Haltesignalen (HALT), Befehlshol-
Signalen (INSTRF) und einer Anzeige für Schreibdaten zum Speicher (WRD) decodiert. Das Bus-Betätigungsausgangssignal (BHEN) der Schaltung ICH in Fig. 14 wird zusammen mit dem Adressenbit AO von der Speicherkarte zur Auswahl der richtigen Bytes des zu lesenden oder einzuschreibenden Spoicherwortes benutzt.
Die 20 Bits AAO-19 adressieren (AA1-AA12) zwei 4K χ 8-Einschalt-ROMs IClO und IC13 in Fig. 24 und liefern das Eingangssignal für die Speichermanagement-Schaltungsanordnung. Außerdem adressieren die Adern AA16-19 ein ROM IC9 (Fig. 23) für die Betriebsartenliste. Der Inhalt der Betriebsartenliste ist in Fig. 25 gezeigt.
Die Speichermanagement-Schaltungsanordnung ordnet die 20 virtuellen Adressenbits in eine physikalische Adresse von 22 Bits zuzüglich einer weiteren Aäresse für im Speicher aufgelistete Bauteile, einen 256 χ 32-Speichermanagement-RAM und die Einschalt-ROMs . Die 256 χ 32-RAM-Anordnung mit den Schaltungen IC19, IC22, IC25 und IC23 gemäß Fig. 26 speichert Seitenadressen- und Seitenbeschreibungsinformationen. 16 Bits SA16-31 werden zu 7 Bits der
Mikroprozessoradresse (AA6-AA12) addiert und dann mit AAO-AA5 zur Bildung der physikalischen 22-Bit-Adresse A0-A21 kombiniert, wie in Fig. 7 gezeigt und oben beschrieben. Die vorstehend beschriebene Adressenerzeugung wird durch Addierer IC47, IC49, IC51, IC55, einen Vorausschau-Übertragsgenerator IC56 für A6-A21 gemäß Fig. 27 und Puffer IC68 (Fig. 13) für die Leitungen A0-A5 durchgeführt. Ein Übertragssignal der Schaltung IC4 7 zeigt an, daß der Adressenraum überschritten worden ist. Die Seitenbeschreibungsinformation SAO-15 wird in Fig. 6 angegeben. Die Verwendung dieser Bits soll später beschrieben werden. Die 6 höchstwertigen Adressenbits werden außerdem zur Erzeugung von Speicherauswahlsignalen für die verschiedenen Speicher und die gemeinsamen Steuergeräte benutzt, um getrennte Decodierschaltungen bei diesen Einheiten zu vermeiden.
Die obengenannten Betätigangssignale werden durch Decoder IC33, 48 und 50 in Fig. 28 aus den Adressenleitun-
gen erzeugt, wenn die Steuersignale VML = 0, BLOKH = 0 und MRQD = 1 sind„
Die 4 höchststelligen Bits AA19-AA16 , die Speicherlisten des Mikroprozessors erscheinen beim Übergang von der Kern- zur Benutzerbetriebsart, führten eine Zugriff zum Speichermanagement-RAM durch sowie einen Zugriff zu verschiedenen Einrichtungen in Fig. 5, wie oben erläutert.
Das Betriebsartenliste-ROM der Schaltung IC9 in Fig-. 23 decodiert die Bits AA19-AA16 und das Betriebsartenflag zur Erzeugung der Steuersignale, die die im vorstehenden Absatz beschriebenen Funktionen durchführen. Die Leitungen AA16-19 und PSUP (PSUP = 1 am der Kernbetriebsart) adressieren das ROM. Die benutzten Ausgangssignale sind die folgenden :
K18 - Adressiert das Speichermanagement-RAM und führt die Mehrfachauflistung der Benutzerblöcke UO-U3 in der Benutzerbetriebsart durch; eine 1 gibt einen unzulässigen Versuch des Benutzers für einen Zugriff zu einer Kernliste oder einem Kernbauteil an;
- eine 1 bewirkt einen Übergang aus der Kernbetriebsart in die Benutzerbetriebsart;
- eine 0 entspricht einer Adressenumrechnung und einem Speicherzugriff auf dem Systembus;
- eine 0 zusammen mit einer Speicheranforderung (MPQ = 0) betätigt den I/O-Auswahldecoder IC36 in Fig. 16, der entweder die USART-Schaltungen, den Intervall-Zeitgeber oder ein Unterbrechungssteuergerät wählt;
- eine 0 ermöglicht einen Lese- und Schreibzugriff zum Speichermanagement-RAM;
- eine 0 wählt die ROMs IClO und 13 beim Einschalten, bei der Anlagenrückstellung oder bei einem programmierten Zugriff. Betriebsartenliste
Der Betriebsartenliste-ROM in der Schaltung IC9 ist in der Fig. 23 , der Inhalt des ROM in Fig. 25 und die Betriebsartenflag-Schaltung in Fig. 20 gezeigt. Beim Ein-
USRGE
EXSUPER
VML
SEL I/O
ENB8L
SELROM
schalten oder Rückstellen wird das Initialisierungssignal INT=O, wodurch die J-K-Flipflops IC44A, IC44B und IC62A zurückgestellt werden. Das Ausgangssignal Q von IC62A erzeugt PSUP=I1 was der Kernbetriebsart entspricht. Falls nicht das Betriebsartenliste-ROM die Adresse 1100 zur Änderung in die Benutzerbetriebsart decodiert, bleiben EXSUPR= 0, und alle Ausgangssignale Q der Flipflops auf 1, unabhängig vom Zustand der Eingangssignale J für die Schaltungen IC44B und IC62A. Wenn die Betriebsartenliste die Adresse 1100 zum Übergang in die Kernbetriebsart decodiert, geht EXSUPER auf 1 und wird bei der Rückflanke des Signals ALE in die Schaltung IC4 4A geführt. Dadurch wird der Ausgang Q der Schaltung IC44A auf 0 gesetzt und die Schaltung IC44B wird gelöscht, wodurch wiederum die Schaltung IC62A gelöscht wird.Die Kombination der gelöschten Flipflop-Ausgangssignale erzeugt PSUP=O, was der Benutzerbetriebsart entspricht. Die Schaltung bleibt in der Benutzerbetriebsart, bis eine Unterbrechungsbestätigung (INTA=O) oder eine nichtmaskierbare Unterbrechung (NMI=O) die Umschaltung in die Kernbetriebsart beginnen laßt.
Während der Unterbrechungsfolge für entweder eine NMI-Unterbrechung oder eine Standardunterbrechung schreibt der Prozessor Daten in den Systemspeicher an einer Adresse, die durch ein internes Register im Speicher, das "Stapelzeiger" genannt wird, angegeben ist. Da das Benutzerprogramm volle Steuerung des Stapelzeigerregisters besitzt, darf das Betriebsartenflag nicht zulassen, daß die während der Unterbrechungsfolge stattfindenden Schreibvorgänge bei Kernbetriebsarten-Zugriffsvorgängen stattfinden. Demgemäß muß die Umschaltung zwischen der Benutzer- und der Kernbetriebsart nach der Unterbrechungsfolge,aber vor dem nächsten Speicherzugriff zum Holen eines Befehls stattfinden.
Das Unterbrechungsbestätigungssignal (INTA=O) bereitet das JK-Flipflop IC44A vor. Dadurch wird das Löschsignal für das JK-Flipflop IC44B abgeschaltet, und eine 1 auf die Leitung 44AQ gegeben, die die Feststellung außer Tätigkeit setzt, daß Unterbrechungen ausgeschaltet sind.
Die Voreinstellung des Flipflops IC44A erzeugt PSUP=I, außer bei Schreibvorgängen (WRD=O), wenn PSUP durch das JK-Flipflop IC62A gesteuert wird,- da das Eingangssignal zum ODER-Gatter IC30 von der Schaltung IC44A durch WRD=O zur Schaltung IC27B weggeführt wird. Da jetzt die Schaltung IC44B nicht mehr durch die Schaltung IC44A gelöscht bleibt, wird die Schaltung IC44B beim nächsten decodierten Befehlsholen (INSTRF=I) aus der Schaltung IC31 in Fig. 22 eingestellt, das durch ALE zum J-Eingang geführt wird. Dieses Befehlsholen ist Teil der Unterbrechungsfolge. Außerdem werden während der Unterbrechungsfolge Speicherschreibvorgänge für das Benutzerstapelregister durchgeführt. Diese Speicherschreibvorgänge werden durch die Schaltung IC45 in Fig. 22 decodiert (WRD=O) und bewirken, daß PSUP dem Ausgang Q der Schaltung IC62 folgt, der zu diesem Zeitpunkt 0 ist, wodurch die Benutzerbetriebsart dargestellt wird. Indem PSUP=O während dieser Speicherschreibvorgänge gemacht wird, wird ein Schutz hinsichtlich der Sicherheit der Anlage bewirkt.
Durch die eingestellte Schaltung IC44B wird das Löschsignal von der Schaltung IC62A abgeschaltet. Diese Schaltung wird beim nächsten Befehlsholsignal (INSTRF=I) eingestellt, das durch das Signal ALE zu dessen Eingang J geführt wird. Dieses Befehlsholsignal gibt das Ende der Unterbrechungsfolge an und ist das Holsignal für den ersten Befehl des Unterbrechungs-Serviceunterprogramms in der Kernbetriebsart. Dieses Befehlsholsignal ist kein Speicherschreibsignal (WRD=I), so daß PSUP = 1 ist, da die SchaltungIC44 A "eingestellt ist. Gleichzeitig wird die Schaltung IC62A durch dieses Befehlsholsignal eingestellt,und alle weiteren Speicherzugriffe einschließlich eines Speicherschreibzugriffs finden statt mit PSUP=I, bis der Betriebsartenliste-ROM eine Adresse 1101 decodiert, wodurch die Betriebsart zurück auf den Benutzer geschaltet wird, wie oben beschrieben.
Die 256 χ 36-Speichermanagement-RAM-Anordnung IC19, IC22, IC25 und IC28 in Fig. 26 wird durch eine der Gruppen von Signalen adressiert, die durch die Daten-
multiplexer IC18, IC21 und IC24 in Fig. 29 gewählt werden. Bei Zugriffen zum Hauptsystemspeicher mit VML=O bilden die Signale AA13-17 , K18, AA19 die Adresse. Zu allen anderen Zeitpunkten einschließlich eines Speichermanagement-Schreibzugriffs bilden die Signale AA2-AA9 die Adresse.
Diese niedrigerwertigen Bits zur Adressierung des Speichermanagement-RAM geben die Möglichkeit, daß der RAM mit sequentiellen Adressen adressiert wird.
Bei Zugriffen zum Hauptsystemspeicher mit EN38L=1 wird der Demultiplexer IC33 in Fig. 28 außer Tätigkeit gesetzt. Die Ausgänge DENL und DENU werden auf H gehalten, und ein Sperrpotential schreibt 3/4 des Speichermanagement-RAM (MMRAM). Die Signale DENU und DENL schalten außerdem die doppeltgerichteten Puffer IC23, IC26, IC29 und IC32 in Fig. 31 ab, die den internen Datenbus IDO-16 und die MMRAM-Datenleitungen SAO-31 verbinden. Die Schreigsignale WU für den oberen Teil von MMRAM und die Schreibsignale WL für das zweite Viertel von MMRAM werden durch Gatter IC30A und 30B in Fig. 30 auf H gehalten. Wenn VML=O ist, wird am Ende von T4 in die Schaltung IC28 in Fig. 26 eingeschrieben. Der Zweck des Rückschreibens der unteren 8 Bits während eines Speicherzugriffs besteht darin, SA7=1 zu schreiben, wenn ein Zugriff zu einer Seite des Speichers erfolgt ist, und SA6=1, wenn in eine Seite eingeschrieben worden ist. Die anderen Bits werden unverändert zurückgeschrieben. Während eines Speicherzugriffs wird der Ausgang SAO-5 der Schaltung IC28 in der Schaltung IC20 in Fig.18 zwischengespeichert, indem EN373 am Ende eines T2-Impulses auf L geht. Wenn der Speicher auf AMWC=O oder SA6=1 (ein vorhergehendes Einschreiben in den Speicher) eingeschrieben wird, so wird SA6X=1 zwischengespeichert. Außerdem wird eine 1 für SA7 zwischengespeichert, um einen Speicherzugriff anzuzeigen. Die zwischengespeicherten Daten werden dann durch eine Kombination von Schreibsignalen (WX) und Chip-Betätigungssignale (CEX) in die Schaltung IC28 (Fig. 26) eingeschrieben. Das Signal WX ist T2, wenn VML=O ist. Das Signal CEX ist eine Kombination der durch den Multiplexer TC6 (Fig. 30) erzeugten Impulse Tl und T4. Das
Betätigungssignal für die anderen drei RAMs in CE38 ist im Prinzip Tl.
Während eines Speichermanagement-Lese/Schreibzugriffs sind VML=I und EN3 8L=0. Die Adressen für die RAMs sind AA2-9,und Al wählt die obere Hälfte (DENU=O) oder die untere Hälfte (DENL=O) über den Decoder IC33B (Fig.30). Die Signale DEN werden durch MRQD=I wirksam gemacht und betätigen wiederum doppeltgerichtete Puffer IC23 und IC26 oder IC29 und IC32 (Fig. 31). Bei Speicherlesevorgängen (MRDC=O) sind die Leitungen SA die Eingangsleitungen und die Leitungen ID die Äusgangsleitungen . Zu anderen Zeiten erfolgt der Datenfluß in entgegengesetzter Richtung. Das Einschreiben von Daten in den Speicher aus dem internen Datenbus ID0-ID15 erfolgt, wenn WU=CE38=0 für die Schaltungen IC19 und IC22 ist, sowie wenn WL=C38 für die Schaltung IC25 und WX=CEX=O für die Schaltung IC28 (Fig. 26) ist.
Der Intervall-Zeitgeber IC34 wird über die internen Datenbusleitungen IDO-7 geladen und gelesen. Zwei Ausgänge liefern Taktsignale für die USÄRT-Schaltungen und der dritte Ausgang eine periodische Unterbrechung für das Unterbrechungssteuergerät zur Aufrechterhaltung eines Realzeittaktes. Man beachte, daß das dritte Ausgangssignal eine regelmäßige Rückkehr aus der Benutzerbetriebsart in die Kernbetriebsart sicherstellt.
Das programmierbare Unterbrechungssteuergerät IC35 (Fig. 21) verarbeitet bis zu 8 gerichtete Prioritätsunterbrechungen für die CPU. Wenn eine der UnterbrechungsanfOrderungsleitungen IRO-7 auf H gebracht wird, wertet IC35 die Anforderung aus und sendet ein Signal INT=I an die CPU (Fig. 14). Die CPU gibt eine Eestätigung mit INTA=O, wodurch der Zustand der Unterbrechungen zur Prioritätsauflösung eingefroren wird. Bei einem zweiten Impuls INTA=O sendet die Schaltung IC35 ein Datenbyte über IDO-7 zur CPU.
Die Unterbrechung IR3 ist eine periodische, vom Intervall-Zeitgeber ausgehende Unterbrechung. Die Unterbrechung IR4 erfolgt vom Plattenspeicher-Steuergerät, während IR6 von allen übrigen peripheren Steuergeräten ausgeht.
■--"332085S
29 U'
Die Unterbrechung IP7 ist eine vom Zustandsdecoder ausgehende Unterbrechung, die anzeigt, daß der Prozessor angehalten ist.
Es gibt eine Anzahl von Speicherzugriffsfällen, die Unterbrechungen veranlassen. Die Komparatoren IC52 und IC53 (Fig.32) geben ein Ausgangssignal 1 an den Eingang IC27C, wenn die Seitengröße (SA8-14) gleich den augenblicklichen Adressenbits AA6-A12 ist, um anzuzeigen, daß ein Zugriff zur letzten zulässigen Seite des Speichers erfolgt. Wenn das Warnbit SA2=1 ist, so liegt der Ausgang von IC27C auf l,und bei T5 wird eine Warnunterbrechung WRN dahingehend gegeben, daß ein Zugriff zu nicht mehr als 64 weiteren Adressen erfolgen kann, falls kein weiterer Speicherraum zugeordnet wird. Das Signal WRN ist die Unterbrechung IR2. Die Ausgangssignale A < B und A > B der Schaltung IC53 dienen als Eingangssignale des Wählers IC54. Die Ausgangswahl erfolgt durch SA3 (SA3=0 : Expandieren nach oben; SA3=1 : Expandieren nach unten). Wenn der Seitenspeicher entweder nach oben (A> B-Ausgang = 1, SA3 = 0) oder nach unten (A< B-Ausgang = 1, SA3 = 1) überschritten wird, so ist das Signal SAE=I. Das Signal SAE ist eines von vier Eingangssignalen des NOR-Gatters IC39A (Fig. 32). Wenn eines dieser Eingangssignal auf H geht, so gelangt der Ausgang ZZ auf L. Während der Speicherzugriffe ist VML=O,und ZZ wird im Datenwähler IC21 (Fig. 22).
invertiert und ist dann das Signal BLOKH. Ein Signal BLOKH=I (ZZ=O) schaltet den Decoder IC48 (Fig. 28) ab, wodurch Anlagenspeicher- und Steuergerät-Betätigungssignale gesperrt und Speicherzugriffe verhindert werden. Das Signal BLOKH=I bewirkt außerdem eine Unterbrechung IRl über das Signal ACC. Ein Speicherlesen MRDC=O ohne eine Leseerlaubnis (SAO=O) bewirkt, daß der Ausgang der Schaltung IC46A (Fig. 32) auf H geht, wodurch ZZ=O wird und eine ACC-Unterbrechung entsteht. In ähnlicher Weise bewirkt ein Speicherschrcibvorgang AMWC=O ohne Schreibzulassung (SAl=O), daß der Ausgang der Schaltung IC46B (Fig. 32) auf H geht, wodurch ZZ=O wird und eine ACC-Unterbrechung entsteht. Schließlich bewirkt ein Übertrag vom Addierer (Fig. 27)
der anzeigt, daß die Gesamtadressenkapazität der Anlage überschritten worden ist, ZZ=O und eine ACC-Unterbrechunq. Die obenbeschriebene Schaltungsanordnung arbeitet in Verbindung mit einem bestimmten Mikroprozessor. Es sei jedoch darauf hingewiesen, daß auch ein anderer Mikroprozessor oder Prozessor verwendet werden kann.

Claims (7)

  1. Patentansprüche
    /" 1 3 Schaltungsanordnung zur Verwendung in Verbindung mit einem Prozessor, der einen Satz von vorgegebenen Eingangs- und Ausgangsleitungen besitzt, Befehlssätze ausführen kann und abhängig von einem Unterbrechungssignal von dem augenblicklich ausgeführten Befehlssatz unter Steuerung einer von einem externen, in Blöcke unterteilten Speicher gelieferten Vektoradresse auf einen anderen Befehlssatz springen kann,
    dadurch gekennzeichnet, daß die Schaltungsanordnung eine erste Schaltung (121) zur Einstellung wenigstens einer ersten und einer zweiten Betriebsart und
    eine zweite Schaltung (110) aufweist, die den Speicher so steuert, daß wenigstens ein Speicherblock, aber nicht alle Speicherblöcke durch Befehle zugänglich sind, die der Prozessor in der ersten Betriebsart ausführt, daß die erste Schaltung (121) eine Einrichtung (IC43A) zur Umschaltung aus der ersten in die zweite Betriebsart unter Steuerung eines Unterbrechungssignals aufweist und daß die zweite Schaltung (110) durch Decodieren von Ausgangsbits des Prozessors die zweite Betriebsart in die erste Betriebsart umschaltet.
    Sonnenberger Straße 43 6200 Wiesbaden Telefon (06121) 562943/561998 Telex 4186237 Telegramme Patentconeult Radedtestraße 43 8000 München 00 Telefon (089) 883603/883604 Telex 5212313 Telegramme Patenlconsult
  2. 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die decodierten Ausgangsbits auf Adressenausgangsleitungen des Prozessors vorhanden sind.
  3. 3. Schaltungsanordnung nach Anspruch 1 , dadurch gekennzeichnet, daß das Unterbrechungssignal den Prozessor veranlaßt, auf eine im voraus festgelegte Adresse im Speicher zu springen.
  4. 4. Schaltungsanordnung nach Anspruch 3, ^O dadurch gekennzeichnet, daß die im voraus festgelegte Adresse von einer bestimmten Stelle im externen Speicher erhalten wird.
  5. 5. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Prozessor Daten an Speicheradressen sendet, die durch ein internes Register des Prozessors gesteuert werden, und daß ein Unterbrechungssteuergerät (114) vorgesehen ist, das die Einstellung der zweiten Betriebsart verzögert, bis Daten, die sich zum Zeitpunkt des Unterbrechungssignals im Prozessor befinden, verarbeitet worden sind.
  6. 6. Schaltungsanordnung nach Anspruch 1,
    dadurch gekennzeichnet, daß der Prozessor so ausgelegt ist, daß er unter Ansprechen auf bestimmte Signale die Unterbrechungsoperation abschaltet und daß die erste Schaltung
    (121) die Abschaltung der Unterbrechungen sperrt, wenn der Prozessor Befehle in der ersten Betriebsart ausführt, die Sperrung der Unterbrechungen aber weiterhin zuläßt> wenn der Prozessor in der zweiten Betriebsart läuft.
  7. 7. Schaltungsanordnung nach Anspruch 6,
    dadurch gekonnzeichnet, daß die Sperreinrichtung ein Flag-Register aufweist, bei dem wenigstens ein Bit für die erste oder zweite Betriebsart eingestellt ist, und eine Einrichtung aufweist, die bei jeder Befehlsausführung Bits auf bestimmten Ausgangsleitungen des Prozessors mit dem wenigstens einen Bit des Flag-Registers vergleicht.
DE19833320858 1982-06-09 1983-06-09 Speicher-managementanordnung fuer mikroprozessorsysteme Withdrawn DE3320858A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/386,806 US4519032A (en) 1982-06-09 1982-06-09 Memory management arrangement for microprocessor systems

Publications (1)

Publication Number Publication Date
DE3320858A1 true DE3320858A1 (de) 1983-12-15

Family

ID=23527127

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833320858 Withdrawn DE3320858A1 (de) 1982-06-09 1983-06-09 Speicher-managementanordnung fuer mikroprozessorsysteme

Country Status (6)

Country Link
US (1) US4519032A (de)
JP (1) JPH0677246B2 (de)
AU (1) AU558400B2 (de)
CA (1) CA1182927A (de)
DE (1) DE3320858A1 (de)
IT (1) IT1167563B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0197552A2 (de) * 1985-04-10 1986-10-15 Microsoft Corporation Verfahren zur Verarbeitung von Unterbrechungen in einem digitalen Rechnersystem

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4654790A (en) * 1983-11-28 1987-03-31 Amdahl Corporation Translation of virtual and real addresses to system addresses
US4825358A (en) * 1985-04-10 1989-04-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US4797853A (en) * 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US4761736A (en) * 1986-01-02 1988-08-02 Commodore Business Machines, Inc. Memory management unit for addressing an expanded memory in groups of non-contiguous blocks
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4980850A (en) * 1987-05-14 1990-12-25 Digital Equipment Corporation Automatic sizing memory system with multiplexed configuration signals at memory modules
US5218712A (en) * 1987-07-01 1993-06-08 Digital Equipment Corporation Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US4839796A (en) * 1987-07-16 1989-06-13 Icon International, Inc. Static frame digital memory
US4914577A (en) * 1987-07-16 1990-04-03 Icon International, Inc. Dynamic memory management system and method
US5218684A (en) * 1987-09-04 1993-06-08 Digital Equipment Corporation Memory configuration system
US5134700A (en) * 1987-09-18 1992-07-28 General Instrument Corporation Microcomputer with internal ram security during external program mode
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
US5261084A (en) * 1988-05-06 1993-11-09 Nec Corporation Error judgment method
US5063496A (en) * 1988-06-01 1991-11-05 International Business Machines Corporation Signaling attempted transfer to protected entry point bios routine
JP2655615B2 (ja) * 1988-12-08 1997-09-24 日本電気株式会社 情報処理装置
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
JPH0476626A (ja) * 1990-07-13 1992-03-11 Toshiba Corp マイクロコンピュータ
US5428758A (en) * 1991-05-10 1995-06-27 Unisys Corporation Method and system for remapping memory from one physical configuration to another physical configuration
US5274834A (en) * 1991-08-30 1993-12-28 Intel Corporation Transparent system interrupts with integrated extended memory addressing
US5537654A (en) * 1993-05-20 1996-07-16 At&T Corp. System for PCMCIA peripheral to execute instructions from shared memory where the system reset signal causes switching between modes of operation by alerting the starting address
US5822786A (en) * 1994-11-14 1998-10-13 Advanced Micro Devices, Inc. Apparatus and method for determining if an operand lies within an expand up or expand down segment
US5721877A (en) * 1995-05-31 1998-02-24 Ast Research, Inc. Method and apparatus for limiting access to nonvolatile memory device
US6378023B1 (en) 1996-02-14 2002-04-23 Advanced Micro Devices, Inc. Interrupt descriptor cache for a microprocessor
JP4522548B2 (ja) * 2000-03-10 2010-08-11 富士通フロンテック株式会社 アクセス監視装置及びアクセス監視方法
US7073173B1 (en) * 2000-12-04 2006-07-04 Microsoft Corporation Code and thread differential addressing via multiplex page maps
JP4182740B2 (ja) * 2002-12-06 2008-11-19 沖電気工業株式会社 マイクロコンピュータ
US7278062B2 (en) * 2003-01-09 2007-10-02 Freescale Semiconductor, Inc. Method and apparatus for responding to access errors in a data processing system
US20040243783A1 (en) * 2003-05-30 2004-12-02 Zhimin Ding Method and apparatus for multi-mode operation in a semiconductor circuit
US9058300B2 (en) * 2005-03-30 2015-06-16 Unity Semiconductor Corporation Integrated circuits and methods to control access to multiple layers of memory
US20130082232A1 (en) 2011-09-30 2013-04-04 Unity Semiconductor Corporation Multi Layered Conductive Metal Oxide Structures And Methods For Facilitating Enhanced Performance Characteristics Of Two Terminal Memory Cells
US7934073B2 (en) * 2007-03-14 2011-04-26 Andes Technology Corporation Method for performing jump and translation state change at the same time
US7990762B2 (en) * 2008-02-06 2011-08-02 Unity Semiconductor Corporation Integrated circuits to control access to multiple layers of memory
US9202071B2 (en) 2012-02-08 2015-12-01 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US9477834B2 (en) 2012-02-08 2016-10-25 Arm Limited Maintaining secure data isolated from non-secure access when switching between domains
US10210349B2 (en) 2012-02-08 2019-02-19 Arm Limited Data processing apparatus and method using secure domain and less secure domain
US9116711B2 (en) 2012-02-08 2015-08-25 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US9213828B2 (en) 2012-02-08 2015-12-15 Arm Limited Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
CN107463856B (zh) * 2017-08-01 2020-06-16 杭州中天微系统有限公司 一种基于可信内核的防攻击数据处理器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377624A (en) * 1966-01-07 1968-04-09 Ibm Memory protection system
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
US4035779A (en) * 1976-04-30 1977-07-12 International Business Machines Corporation Supervisor address key control system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
FR2258112A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
JPS51141537A (en) * 1975-05-31 1976-12-06 Toshiba Corp Memory access control device
US4087856A (en) * 1976-06-30 1978-05-02 International Business Machines Corporation Location dependence for assuring the security of system-control operations
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
JPS54107234A (en) * 1978-02-10 1979-08-22 Nec Corp Information processing unit
DE2842548A1 (de) * 1978-09-29 1980-04-10 Siemens Ag Programmierbare speicherschutzlogik fuer mikroprozessorsysteme
DE2846054C2 (de) * 1978-10-23 1985-08-14 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors
US4328542A (en) * 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377624A (en) * 1966-01-07 1968-04-09 Ibm Memory protection system
US3893084A (en) * 1973-05-01 1975-07-01 Digital Equipment Corp Memory access control system
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
US4035779A (en) * 1976-04-30 1977-07-12 International Business Machines Corporation Supervisor address key control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0197552A2 (de) * 1985-04-10 1986-10-15 Microsoft Corporation Verfahren zur Verarbeitung von Unterbrechungen in einem digitalen Rechnersystem
EP0197552A3 (en) * 1985-04-10 1990-01-03 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor

Also Published As

Publication number Publication date
AU1547983A (en) 1983-12-15
IT1167563B (it) 1987-05-13
US4519032A (en) 1985-05-21
IT8321519A0 (it) 1983-06-08
AU558400B2 (en) 1987-01-29
JPH0677246B2 (ja) 1994-09-28
JPS5963100A (ja) 1984-04-10
CA1182927A (en) 1985-02-19

Similar Documents

Publication Publication Date Title
DE3320858A1 (de) Speicher-managementanordnung fuer mikroprozessorsysteme
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE69828074T2 (de) Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE2854485A1 (de) Datenverarbeitungssystem mit speicherhierarchie
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE2854397A1 (de) Pufferspeichereinheit fuer ein datenverarbeitungssystem
DE2716051A1 (de) Datenverarbeitungsanlage, bei der zum speicherzugriff schluessel verwendet werden
DE2755616C2 (de) Datenverarbeitungsanlage
CH656729A5 (de) Schnittstellenschaltungsanordnung zur verbindung eines prozessors mit einem nachrichtenkanal.
DE2902465A1 (de) Datenverarbeitungsanordnung
DE2416609A1 (de) Einrichtung zum vereinfachten speicherschutz und zur adressuebersetzung
DE2928488A1 (de) Speicher-subsystem
CH615521A5 (de)
EP0185260B1 (de) Schnittstelle für direkten Nachrichtenaustausch
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE19950255B4 (de) Mikroprozessor
DE4429764C2 (de) Zeitgebereinrichtung für einen Mikrocomputer
DE3200042C2 (de)
DE2629401C2 (de)
DE2749884A1 (de) Einrichtung zum automatischen neuformatieren von daten in einem dv-system
EP1308846B1 (de) Datenübertragungseinrichtung
DE2717700A1 (de) Speicherzugriffsanordnung

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: AT & T TECHNOLOGIES, INC., NEW YORK, N.Y., US

8110 Request for examination paragraph 44
8130 Withdrawal