DE3320858A1 - Speicher-managementanordnung fuer mikroprozessorsysteme - Google Patents
Speicher-managementanordnung fuer mikroprozessorsystemeInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program 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
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.
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)
- 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 undeine 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. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die decodierten Ausgangsbits auf Adressenausgangsleitungen des Prozessors vorhanden sind.
- 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. Schaltungsanordnung nach Anspruch 3, ^O dadurch gekennzeichnet, daß die im voraus festgelegte Adresse von einer bestimmten Stelle im externen Speicher erhalten wird.
- 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. 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. 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.
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)
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)
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)
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)
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 |
-
1982
- 1982-06-09 US US06/386,806 patent/US4519032A/en not_active Expired - Lifetime
-
1983
- 1983-05-25 CA CA000428811A patent/CA1182927A/en not_active Expired
- 1983-06-08 IT IT21519/83A patent/IT1167563B/it active
- 1983-06-08 AU AU15479/83A patent/AU558400B2/en not_active Ceased
- 1983-06-09 JP JP58101854A patent/JPH0677246B2/ja not_active Expired - Lifetime
- 1983-06-09 DE DE19833320858 patent/DE3320858A1/de not_active Withdrawn
Patent Citations (4)
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)
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 |