DE2737353A1 - Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens - Google Patents
Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrensInfo
- Publication number
- DE2737353A1 DE2737353A1 DE19772737353 DE2737353A DE2737353A1 DE 2737353 A1 DE2737353 A1 DE 2737353A1 DE 19772737353 DE19772737353 DE 19772737353 DE 2737353 A DE2737353 A DE 2737353A DE 2737353 A1 DE2737353 A1 DE 2737353A1
- Authority
- DE
- Germany
- Prior art keywords
- descriptor
- address
- bits
- register
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Description
Die vorliegende Erfindung betrifft ein Verfahren nach dem
Oberbegriff des Anspruches 1 sowie eine Vorrichtung zur Durchführung des Verfahrens. Insbesondere bezieht sich die
vorliegende Erfindung auf den Test und die Diagnose von Fehlern bei der Adressbildung in Großrechnersystemen, wie sie
beispielsweise in der DT-OS 25 16 050 und 25 46 354 dargestellt und beschrieben sind.
Großrechensysteme umfassen heutzutage typischerweise mehrere Prozessoren und erlauben eine Mehrprogrammbearbeitung im Dialog
durch örtliche und entfernte Denutzer. Um einen solchen Bearbeitungsumfang
zu gewährleisten, müssen unterteilbare Datenspeicher für Benutzerprogramme und Daten, die Betriebssystem-Software und
die gemeinsam benutzten Anwenderprogramme vorgesehen sein. Ferner ist eine ausgefeilte Software und Hardware erforderlich, um
die Programme und Daten während der verschiedenen durch die Systemprozessoren ausgeführten Aktivitäten in geeigneter Weise
zu handhaben.
Um die Benutzeranforderungen zu befriedigen, ohne daß hierbei
ein zu hoher Preis für den Hauptspeicher des Systems überschritten wird, benutzen die Datenverarbeitungssysteme erweiterte
Speicher, in welchen der Primärspeicher des Systems durch sekundäre Großraumspeicher, z.B. Magnetplatten oder Magnetbänder ergänzt
wird. Während somit irgendein Benutzer während der Programmbearbeitung tatsächlich einen kleinen Teil des Hauptspeichers
beansprucht, erscheint es so, daß diesem Benutzer ein sehr viel größerer "virtueller Speicher" auf Grund der Erweiterung
des Hauptspeichers durch den Sekundärspeicher zur Verfügung steht.
Die Speicherung der Information im Hauptspeicher kann in Form von Segmenten und Seiten erfolgen, wobei die Benutzerprogramme
in Segmente variabler Länge unterteilt sind und die Segmente mehrere Datenseiten gleicher Länge aufweisen können. Die Verwendung
der Seitenunterteilungstechnik gestattet eine flexible
809808/0978
Informationsspeicherung an beliebig verfügbaren Speicherplätzen, wobei eine vorgesehene Seitentabelle dem Benutzer die Auffindung
der gespeicherten Seiten gestattet.
Während der Bearbeitung eines Benutzer-Seitensegmentes, wobei
eine relative Zellenadresse durch den Datenprozessor erzeugt wird, dient die relative Segmentadresse der Auffindung eines
speziellen Datenwortes bzw. einer Hinweisadresse auf die zu
adressierende Seite, wobei die Kombination des speziellen Datenwortes mit der relativen Adresse zu der absoluten Adresse der
Speicherzelle führt. Insbesondere sind im Realspeicher Basisbestimmungen vorgesehen, um die darin gespeicherten Daten aufzufinden,
wobei die Basisbestimmung einen Teil des Deskriptorwortes der gemeinsam benutzten Daten bildet. Da Daten im Realspeicher
herumgeschoben werden, werden die absoluten Adressen der gespeicherten Daten laufend verändert und die Deskriptorworte
werden zur Auffindung von Seitentabellen und Segmenten ebenso wie zur Auffindung der gesuchten Seiten verwendet. Ein
Segmentdeskriptor umfaßt daher die Basisadresse des virtuellen und des realen Speicherplatzes des Segmentes, wenn das Segment
nicht seitenunterteilt ist bzw. er umfaßt die Basisadresse des virtuellen Speichersegmentes, wenn das Segment seitenunterteilt
ist. Ein Seitentabellenwort gibt die Basisadresse einer Seite des entsprechenden Segmentes vor.
Unter Benutzung des vorstehend erwähnten Konzeptes werden relative
Adressen in absolute Adressen entweder in einem einstufigen oder in einem mehrstufigen Prozeß umgewandelt, was von der Art
der zu verarbeitenden virtuellen Adresse ebenso abhängt, wie von dem Umstand, ob die geeigneten Seitentabellenworte und/oder
Seitentabellen sofort für einen Zugriff durch die Adressenbildungslogik verfügbar sind oder nicht.
Auf Grund der großen Bedeutung einer genauen Umwandlung der
relativen Adresse in eine absolute Adresse sind eingebaute Test- und Diagnoseeinrichtungen von großem Wert, wobei einmal festgestellt
werden kann, ob das System eine richtige Adressbildung
809808/0978
ο —
ausführt und wo im Falle eines Fehlers dieser aufzufinden ist.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Test- und Diagnoseverfahren für Fehler anzugeben, die bei der Adressbildung
eines mit einer virtuellen Adresse arbeitenden Datenverarbeitungssystems
auftreten. Die Lösung dieser Aufgabe gelingt gemäß dem im Anspruch 1 gekonnzeichneten Verfahren. Die
vorteilhafte Ausgestaltung einer Vorrichtung zur Durchführung des Verfahrens ist den Unteransprüchen entnehmbar.
Gemäß der Erfindung werden drei hardwaremäßig verwirklichte Befehle für die Verwendung in einem verbesserten Datenverarbeitungssystem
vorgeschlagen. Durch die Verwendung dieser Befehle, den effektiven Hinweisadressen- und Adressentest-Befehl
(EPAT = effective pointer and adress to test), den Speicher-Test-Adressregister-Befehl
(STTA = store test address register) und den Speicher-Test-Deskriptorregister-Befehl (STTD = store
test descriptor register) können Test- und Diagnosefehler, die bei der Bildung des virtuellen Adressteils auftreten, leicht
festgestellt werden. Der EPAT-Befehl verriegelt den ausgewählten Deskriptor in speziellen Testregistern jedesmal dann, wenn
ein Deskriptor für eine Adressbildung aufgerufen wird. Die EPAT-Befehle
verriegeln ferner zusätzlich die effektive Arbeitsbereichsnummer und die virtuelle Adresse des Arbeitsbereichs in
Speicherregistern, wenn diese Daten in jedem Adressbildungszyklus
erzeugt werden. Die reale Speicheradresse wird sodann in ein anderes Testregister während jeder Stufe des Bildungszyklus für eine reale Speicheradresse eingetaktet. Dieser Zyklus
kann in einem oder in mehreren Schritten ablaufen, was davon abhängt, ob sich das für die Bildung der realen Speicheradresse
erforderliche Seitentabellenwort gerade in der in dem Assoziativspeicher der virtuellen Einheit gespeicherten Seitentabelle befindet
oder nicht. Für den Fall, daß sich das Seitentabellenwort nicht im Assoziativspeicher befindet, wird eine Schrittfolge aufgerufen,
die den Abruf des geeigneten Seitentabellenwortes aus dem Hauptspeicher in den Assoziativspeicher erfordert.
809808/0978
Hierzu kann ein zusätzlicher Schritt bzw. mehrere Schritte erforderlich
sein. In jedem Fall wird eine reale Speicheradresse am Ende einer jeden Schrittfolge entwickelt, wobei jedoch die
erzeugten realen Speicheradressen solange nicht die gesuchten Adressen darstellen, bis das geeignete Seitentabellenwort in
den Assoziativspeicher eingefügt ist. Die Tatsache, daß jener Teil der realen Speicheradresse, der am Ende einer jeden Schrittfolge
erzeugt worden ist, durch den EPAT-Befehl in dem Testregister verriegelt wird, gestattet dem Diagnoseprogramm oder einer
Bedienungsperson die überprüfung des Zustands der realen Speicheradressenbildung zu dem Zeitpunkt, wo ein Fehler erzeugt
wurde, wenn die reale Speicheradressenbildung durch einen Fehler vor der Erzeugung der endgültigen Speicheradresse beendigt wird.
Alle drei während der Adressenbildung beaufschlagten Register werden über den STTA-Befehl im Hauptspeicher abgespeichert.
Anhand eines in den Figuren der beiliegenden Zeichnungen dargestellten
Ausführungsbeispieles sei die Erfindung im folgenden näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines verbesserten Datenverarbeitungssystems,
bei dem die vorliegende Erfindung Anwendung findet,
Fig. 2 ein Blockdiagramm einer Einrichtung zur Verwirklichung der vorliegenden Erfindung,
Fig. 3 eines der bei der Adressbildung verwendeten Standard-Deskriptorformate,
Fig. 4 eines der bei der Adressbildung verwendeten Super-Deskriptorformate,
Fig. 5 ein Blockdiagramm der in der virtuellen Speichereinheit verwendeten Adressenbildungsfolge,
Fig. 6 das Datenformat der virtuellen 44 Bit-Adresse, und Fig. 7 das Format der realen 24 Bit-Speicheradresse.
809808/0978
27373b3
Das in Fig. 1 dargestellte System entspricht, wenn man einmal von dem Block absieht, der mit virtueller Speicher- und Sicherheitseinheit
100 bezeichnet ist, demjenigen System, wie es aus der Computerreihe 6000 der Firma Honeywell Information Systems
Inc. bekannt ist. Das System ist insofern redundant, als die Steuereinheit 102 und die Adressenbildungseinheit 104 alle
Adressierungsfunktionen des Systems ausführen, wenn die Einrichtung gemäß der Erfindung nicht vorliegt. Ohne die Einheit
100 sind jedoch viele Vorteile des durch den Deskriptor bewirkten Zugriffes auf die Daten nicht verfügbar. VJenn die
virtuelle Speicher- und Sicherheitseinheit 100 in dem System wirksam ist, so wird jegliche Adressbildung in dieser Einheit
vorgenommen, ganz gleich, ob die Adressen in virtueller oder absoluter Weise gebildet werden.
In den Figuren 2A und 2B sind logische Schaltungsdiagramme der
Hardware dargestellt, auf die der EPAT-Befehl einwirkt. Aus der Fig. 2 ist ferner die Einwirkung der Befehle STTD und STTA
erkennbar, durch welche die durch den EPAT-Befehl gespeicherte Information im Speicher abgelegt wird. In Fig. 7 ist das Format
des EPAT-Befehles dargestellt. Die Bits 0 bis 17 stellen das Adressfeld des Befehles dar und sie bilden in Abhängigkeit
von den Status-Index-Modifikationsbits 30 bis 35 die effektive Adresse des Befehls, wie er in Fig. 2B mit 234 bezeichnet ist.
Der Operationscode belegt die Eitpositionen 18 bis 27 und er weist bei dem EPAT-Befehl den Wert 412ß auf. Wenn der Operationscode zu der Steuereinheit 102 in Fig. 1 übertragen wird, so identifiziert
die Steuereinheit die auszuführende Operation und erzeugt die erforderlichen Daten für die Kardware zur Funktionsausführung. Das Bit 28 ist ein Unterbrechungs-Sperrbit, das
während der Ausführung des Befehls die Erzeugung einer Unterbrechung untersagt, falls es auf den Wert "1" gesetzt ist.
Durch dieses Merkmal wird die vollständige Ausführung der geforderten Funktion auch dann gestattet, wenn die Hierarchie
des Systems normalerweise die vollständige Ausführung des Befehls verhindern würde. Das Bit 29 ist ein Operanden-Deskriptor-Modifizierer
und hat bei einem Wert von "0" zur Folge, daß der
809808/0978
3 -
Deskriptor in den Befehls-Segmentregistern 204 und 206 gemäß Fig. 2A zur Verwendung bei der Adressenbildungsfolge ausgewählt
wird. Wenn das Bit 29 den Wert "1" aufweist, so werden die Operandendeskriptor-Registerreihen 200 und 202 gemäß
Fig. 2A ausgewählt. Da 8 Operandendeskriptor-Register in jeder der zwei Deskriptorregisterreihen 200 und 202 in der virtuellen
Einheit vorliegen, ist es erforderlich, festzulegen, welches der 8 Register für die Adressenbildung benutzt werden soll.
Wannimmer das Bit 29 auf den Wert "1" gesetzt ist, werden daher zu diesem Zweck die ersten drei Bits des Adressfelds
des Befehls auf den Leitungen 246, 248 und 250 gemäß Fig. 2A benutzt, um eines der 8 Operandendeskriptorregister für die
Benutzung auszuwählen. Wenn die ersten drei Bits des Befehl-Adressfelds den Wert "0" aufweisen, so wird das Operandendeskriptor-Register
0 (ODR-O) in den Registerreihen 200 und 202 ausgewählt, wenn die Bits die Kostellation 001 aufweisen,
so wird das Operandendeskriptor-Register 1 (ODR-1) ausgewählt,
UBW. .
In den Figuren 3 und 4 ist das Format des Standard-Deskriptors und des Superdeskriptors dargestellt. Die Bits 0 bis 19 des
ersten Wortes mit 36 Bit des Standard-Deskriptors stellen den Wert der Grenze des Segmentes in Bezug auf die Basis dar,
welche durch das zweite Wort mit 36 Bit gebildet wird. Der Grenz-Wert stellt die obere Grenze für Bezugnahmen in dem
durch den Deskriptor beschriebenen Segment dar, wobei von der Basis ausgegangen wird. Die Bits 20 bis 28 sind Hinweisbits,
welche der Hardware die Eigenschaften des durch den Deskriptor definierten Segmentes anzeigen. Die folgende Tabelle zeigt jene
Eigenschaften des Segmentes an, welche definiert sind, wenn das entsprechende Hinweisbit den Wert "1" aufweist.
Bit Durch Hinweiszeichen freigegebene Eigenschaft
20 Lesen freigegeben
21 Schreiben freigegeben
22 Deskriptorsicherung freigegeben
809808/0978
23 Pufferspeicherung freigegeben
24 Reserviert für Softwaresteuerung
25 Bearbeitung freigegeben
26 Privilegmodus freigegeben
27 Grenze ist definiert
28 Bezugnahmen sind freigegeben
Wenn irgendeines der Bits den Wert O aufweist, so bedeutet
dies, daß die zugeordnete Eigenschaft nicht freigegeben ist. Die Bits 29 bis 31 definieren das Arbeitsbereichregister,
welches später näher erläutert wird und die Bits 32 bis 35 definieren verschiedene, in dem System benutzte Deskriptortypen.
Der Standard- und Superdeskriptor sind nicht die einzigen Deskriptortypen, die in dem System definiert sind,
aber sie werden angegeben, um die grundlegende Systemkonfiguration
zu veranschaulichen.
Der Superdeskriptor gemäß Fig. 4 wird benutzt, um extrem große Segmente in dem virtuellen Speicher zu definieren.
Die Bits O bis 9 werden als Basiswert des Segmentes interpretiert und das System füllt automatisch rechts die Basis
mit 26 Nullstellen auf, um ein Basiswort mit 36 Bit zu bilden. Das Grenz-Feld, d. h. die Bits 10 bis 19 werden in
gleicher Weise interpretiert, jedoch mit der Ausnahme, daß es mit "1"-Werten aufgefüllt wird, um ein Wort mit 36 Bit
zu bilden. Die Bits 20 bis 28 des Superdeskriptors sind die gleichen Hinweisbits und besitzen die gleiche Bedeutung, wie
zuvor anhand der Tabelle für den Standard-Deskriptor beschrieben. Die Bits 29 bis 31 definieren das Arbeitsbereichsregister und die Bits 32 bis 35 definieren den Deskriptortyp
im Superdeskriptor, wie dies bereits hinsichtlich der Bits in dem Standard-Deskriptor der Fall war. Das 36 Bit-Speicherplatzwort
des Superdeskriptors bildet eine Verschiebung
26
(Offset) von der Modulo 2 -Basis. Wie dies bereits beim
(Offset) von der Modulo 2 -Basis. Wie dies bereits beim
809808/0978
Standard-Deskriptor der Fall war, muß die durch das Speicherplatzwort
definierte Verschiebung geringer als der erweiterte Wert der Grenze sein.
Wenn einmal der EPAT-Befehl in die Steuereinheit 102 eingelesen
worden ist und in die virtuelle Einheit 100 übertragen worden ist, so gibt das Bit 29 auf der Leitung 252 gemäß Fig. 2A entweder
die Befehlssegmentregister 204 und 206 oder die Operandendeskriptorregister 200 und 202 frei. Unter der Annahme, daß ein
Standard-Deskriptor beim Adressenbildungszyklus verwendet wird, verweist das erste Wort mit 36 Bit, das den Grenz-Wert enthält,
auf die Arbeitsbereich-Registernummer und der Deskriptortyp wird durch das Speichersignal 254 in das Speicherregister 216
geladen. Die Register 216 und 218 speichern die zwei Deskriptorworte
bis der nächste EPAT-Befehl die Erzeugung eines anderen Speichersignales hervorruft. Die Daten stehen somit zur Speicherung
im Hauptspeicher durch den STT-Befehl auf der Leitung 256 zur Verfügung, wobei die Datenschienen 220 und 222 für die übertragung
der zwei Deskriptorworte zum Hauptspeicher verwendet werden. Es sei darauf verwiesen, daß diese Daten zu irgendeinem
Zeitpunkt vor dem nächsten EPAT-Befehl gespeichert werden können und daß sie während irgendeines anderen Adressenbildungszyklus
nicht verändert werden. Gleichzeitig mit dem Eintakten der Deskriptorworte in die Register 216 und 218 wird gemäß
Fig. 2B der zugehörige Teil der Deskriptorworte zu einer Recheneinheit übertragen, die bei der aktuellen Adressenkompilierung
benutzt wird.
In den Fig. 5 und 5A ist in Blockdiagrammdarstellungen die Adressenbildungsfolge
unter Benutzung des Standard-Deskriptors und des Superdeskriptors dargestellt. Obgleich der Superdeskriptor
und der Standard-Deskriptor etwas verschiedenen Wegen bis zur Ankunft an der virtuellen Adresse folgen, ist das Format
für die virtuelle Adresse für jeden Deskriptor identisch. Hinsichtlich des Standard-Deskriptors wählt die Operandenadresse
über das Bit 29 entweder vom Befehlssegmentregister oder einem
809808/0978
27373S3
der 8 Operandendeskriptorregister einen Deskriptor aus und liefert ebenfalls eine effektive Adresse an die Recheneinheit
224. Das zweite Deskriptorwort liefert die Segmentbasis und die effektive Adresse wird zu dieser hinzuaddiert, um eine
auf den Arbeitsbereich bezogene Adresse zu bilden. Zu diesem Zeitpunkt wird eine Grenzprüfung durchgeführt, um sicherzustellen,
daß die auf den Arbeitsbereich bezogene Adresse kleiner als die Summe der Segmentbasis plus dem Grenzwert, wie er
in den Bits 0 bis 19 des ersten Deskriptorwortes gefunden wird, ist. Gleichzeitig mit diesen Berechnungen wählen die Bits 29
bis 31 des ersten Deskriptorwortes ein Arbeitsbereichsregister und somit eine Arbeitsbereichs-Registernummer aus, welche zusammen
mit der auf den Arbeitsbereich bezogenen Adresse eine Seitennummer und eine Verschiebung erzeugt. Diese drei Komponenten,
d. h. die Arbeitsbereichsnummer, die Seitennummer und die Verschiebung werden sodann kombiniert, um eine virtuelle
Adresse mit 47 Bit zu bilden. Die vier am wenigsten signifikanten Bits der virtuellen Adresse sind bitbezogen, d. h. sie verweisen
auf ein besonderes Bit in dem Wort mit 36 Bit, auf das Bezug genommen wird und sie sind für eine spätere Benutzung im
allgemeinen nicht verfügbar. Die Adressenbildungsfolge für den Superdeskriptor gemäß Fig. 5A ist ähnlich derjenigen des
Standard-Deskriptors, mit der Ausnahme, daß eine effektive Zwischenadresse über den Seitentabellenmechanismus erzeugt
wird. Dieser Zwischenschritt ist erforderlich auf Grund des extrem großen Segmentes, wie es durch einen Superdeskriptor
definiert ist.
Die hardwaremäßige Verwirklichung der Schrittfolge bei der Adressenbildung gemäß den Fig. 5 und 5A ist in Fig. 2B dargestellt.
Der einschlägige Teil des Deskriptors, d. h. der Grenz-Wert in den Bits 0 bis 19 und die Nummer des Arbeitsbereichsregisters in den Bits 29 bis 31 des ersten Deskriptorwortes
ebenso wie der Basiswert (Adressenwert) des zweiten Deskriptorwortes von 36 Bit ist in Fig. 4 dargestellt. Die Bits 0 bis 17
809808/0978
27373S3
des Operandenbefehles 234 bilden einen Eingang für das Rechenwerk ALU-224, wobei in Erinnerung gerufen sei, daß in Abhängigkeit
von den Indexmodifizierbits 30 bis 35 des Operandenbefehls diese effektive Adresse vor ihrer Benutzung in einer Adressbildungsfolge
modifiziert werden kann. Die Bits 29 bis 31 des ersten Deskriptorwortes wählen sodann eines von 8 Arbeitsbereichregistern
226 aus, die die Arbeitsbereichsnummer definieren, der der Deskriptor zugeordnet ist. Die Arbeitsbereichsnummer wird
sodann als ein Index für den Seitentabellenmechanismus 228 und seinen Assoziativspeicher 230 benutzt. Zur gleichen Zeit wird
die Arbeitsbereichsnummer für das Arbeitsbereichsnummer-Pufferregister
232 zugänglich gemacht. Das Pufferregister 232 ist nur während der Benutzung des STTA-Befehles 260 zugänglich, wobei
dieser Befehl die Datenschiene 240 in die Lage versetzt, die Arbeitsbereichsnummer im Hauptspeicher zu speichern. Für den
Fall, daß die Arbeitsbereichsnummer keine im Seitentabellenmechanismus oder seinem zugeordneten Speicher gespeicherten
Daten indiziert, ist die Wiederaufsuche der geeigneten Daten aus dem Massenspeicher erforderlich. Da eine Vielzahl von Bezugnahmen
im Seitentabellenmechanismus und dem Assoziativspeicher vorliegen, ist es möglich, daß mehrere getrennte Zugriffe
auf den Massenspeicher erforderlich sind. Auf Grund dieser Möglichkeit ist die reale Speicheradresse in den Pufferregistern
232, 236 und 238 nicht verriegelt. Durch Verwendung dieses Verfahrens der NichtVerriegelung speichert der STTA-Befehl 260 entweder
die endgültigen Adressen, die nach den erforderlichen Iterationen und den durchgeführten Wiederaufsuchungen gebildet
werden oder im Falle einer Unterbrechung, wobei das Unterbrechungsbit des Operandenbefehls nicht auf "1" gesetzt worden
ist, den Zustand der virtuellen und realen Speicheradressen, die zum Zeitpunkt des Fehlerauftritts über den auf die Datenschienen
240, 242 und 244 einwirkenden STTA-Befehl zugänglich sind.
809808/0978
-A-
Leerseite
Claims (5)
- HONEYWELL INFORMATION SYSTEMS INC. 15. August 1977Smith Street 5202651 GeWaItham, Mass., USAVerfahren zum Testen der Adressbildung in einem DV-System und Vorrichtung zur Durchführung des Verfahrens.Patentansprüche:.) Verfahren zum Testen der Adressbildung in einem DV-System mit segmentiertem Speicher und mit beschränktem Zugriff über eine durch einen Deskriptor vorgegebene Eintrittsstelle, gekennzeichnet durch folgende Schritte:a) Ablegen des durch mehrere Bits eines Befehles ausgewählten Deskriptors in einem ersten Register, dessen Inhalt im Hauptspeicher gespeichert sein kann;b) Ablegen der virtuellen Speicheradresse, die durch die in dem Deskriptor enthaltenen Daten erzeugt wird, und der durch den Befehl bestimmten. Adresse in einem zweiten Register, dessen Inhalt im Hauptspeicher gespeichert sein kann;c) Ablegen der teilweise von der virtuellen Speicheradresse abgeleiteten realen Speicheradresse in einem dritten Register, dessen Inhalt im Hauptspeicher gespeichert sein kann; undd) Ablegen der auf diese Weise in den Registern gespeicherten Daten im Hauptspeicher für einen späteren Zugriff.809808/0978
- 2. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1 mit einer Einrichtung zum Testen der Adressbildung, gekennzeichnet durcha) eine erste Regsiteranordnung zum Speichern mehrerer Deskriptoren;b) eine zweite Registeranordnung zum Speichern eines Deskriptors;c) eine an die ersten und zweiten Registeranordnungen angeschlossene und auf ein Bit des Befehls ansprechende erste Auswahleinrichtung zum Auswählen der ersten Registeranordnung, wenn sich das Bit in einem ersten Zustand befindet, und zum Auswählen der zweiten Registeranordnung, wenn sich das Bit in einem zweiten Zustand befindet;d) eine auf mehrere Bits in einem Adressfeldteil des Befehls ansprechende zweite Auswahleinrichtung zum Auswählen eines Deskriptors aus den Deskriptoren der ersten Registeranordnung, wenn sich das erste Bit des Befehls im ersten Zustand befindet;e) eine an die erste Auswahleinrichtung angeschlossene erste Puffereinrichtung zum Verriegeln der in dem ausgewählten Deskriptor enthaltenen Daten;f) eine zweite Puffereinrichtung zum Verriegeln einer Arbeitsbereichsnummer, die durch eine erste Anzahl von Bits des Deskriptors ausgewählt wird;g) eine dritte Puffereinrichtung zum Verriegeln einer Seitennummer und einer Verschiebung, die durch eine zweite Anzahl von Bits des Deskriptors und eine auf das Adressfeld des Befehls bezogene Adresse erzeugt werden;h) eine vierte Puffereinrichtung zum Speichern einer realen Adresse, die teilweise von der Arbeitsbereichsnummer, der Seitennummer und der Verschiebung abgeleitet wird;i) eine erste an die erste Puffereinrichtung angeschlossene Datenschiene, welche beim Vorliegen eines ersten Speicherbefehles den Inhalt der ersten Puffereinrichtung im Hauptspeicher abspeichert; undj) eine zweite an die zweite, dritte und vierte Puffereinrichtung angeschlossene Datenschiene, welche beim Vorliegen eines zweiten Speicherbefehles den Inhalt jener Puffereinrichtungen im Hauptspeicher abspeichert.809808/0978
- 3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet , daß die erste Registeranordnung 16 Register mit 36 Bit aufweist, um 8 Deskriptoren/ bestehend aus zwei Worten mit jeweils 36 Bit, zu speichern.
- 4. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet , daß die zweite Auswahleinrichtung auf das erste, zweite und dritte Bit des Adressfeldteils des Befehls anspricht.
- 5. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet , daß die Arbeitsbereichsnummer durch drei Bits in einem ersten Wort von 36 Bit des Deskriptors ausgewählt wird.809808/0978
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/716,315 US4079453A (en) | 1976-08-20 | 1976-08-20 | Method and apparatus to test address formulation in an advanced computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2737353A1 true DE2737353A1 (de) | 1978-02-23 |
Family
ID=24877556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772737353 Withdrawn DE2737353A1 (de) | 1976-08-20 | 1977-08-18 | Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens |
Country Status (8)
Country | Link |
---|---|
US (1) | US4079453A (de) |
JP (2) | JPS5337336A (de) |
AU (1) | AU513512B2 (de) |
CA (1) | CA1104261A (de) |
DE (1) | DE2737353A1 (de) |
FR (1) | FR2362445A1 (de) |
GB (1) | GB1540340A (de) |
HK (1) | HK37080A (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4217638A (en) * | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
US4453230A (en) * | 1977-12-29 | 1984-06-05 | Tokyo Shibaura Electric Co., Ltd. | Address conversion system |
DE2842288A1 (de) * | 1978-09-28 | 1980-04-17 | Siemens Ag | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher |
JPS5552581A (en) * | 1978-10-11 | 1980-04-17 | Advantest Corp | Pattern generator |
JPS5757345A (en) * | 1980-09-24 | 1982-04-06 | Toshiba Corp | Data controller |
US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
US4821184A (en) * | 1981-05-22 | 1989-04-11 | Data General Corporation | Universal addressing system for a digital data processing system |
US4660142A (en) * | 1981-05-22 | 1987-04-21 | Data General Corporation | Digital data processing system employing an object-based addressing system with a single object table |
US4525780A (en) * | 1981-05-22 | 1985-06-25 | Data General Corporation | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information |
US4661903A (en) * | 1981-05-22 | 1987-04-28 | Data General Corporation | Digital data processing system incorporating apparatus for resolving names |
US4438512A (en) * | 1981-09-08 | 1984-03-20 | International Business Machines Corporation | Method and apparatus for verifying storage apparatus addressing |
US4580217A (en) * | 1983-06-22 | 1986-04-01 | Ncr Corporation | High speed memory management system and method |
JPS6048545A (ja) * | 1983-08-26 | 1985-03-16 | Nec Corp | マイクロコンピユ−タ |
US4587610A (en) * | 1984-02-10 | 1986-05-06 | Prime Computer, Inc. | Address translation systems for high speed computer memories |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
US4757447A (en) * | 1986-07-28 | 1988-07-12 | Amdahl Corporation | Virtual memory system having identity marking for common address space |
JPH0624335B2 (ja) * | 1987-02-27 | 1994-03-30 | 日本電気株式会社 | 表示付選択呼出受信機 |
US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
US5278840A (en) * | 1987-07-01 | 1994-01-11 | Digital Equipment Corporation | Apparatus and method for data induced condition signalling |
JP2635058B2 (ja) * | 1987-11-11 | 1997-07-30 | 株式会社日立製作所 | アドレス変換方式 |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
JP2000501217A (ja) * | 1996-01-24 | 2000-02-02 | サン・マイクロシステムズ・インコーポレイテッド | 配列アクセス境界チェックを加速したプロセッサ |
US6550034B1 (en) * | 2000-02-17 | 2003-04-15 | Hewlett Packard Development Company, L.P. | Built-in self test for content addressable memory |
US7013460B2 (en) * | 2001-05-15 | 2006-03-14 | Hewlett-Packard Development Company, L.P. | Specifying an invariant property (range of addresses) in the annotation in source code of the computer program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2500841A1 (de) * | 1974-01-18 | 1975-07-24 | Int Standard Electric Corp | Verfolgungseinrichtung |
DE2516050A1 (de) * | 1974-04-18 | 1975-11-06 | Honeywell Inf Systems | Verfahren und einrichtung zur informationsspeicherung in einem datenverarbeitungssystem |
DE2546354A1 (de) * | 1974-10-21 | 1976-04-22 | Honeywell Inf Systems | Mehrprogramm-dv-system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2126137B2 (de) * | 1967-09-25 | 1973-05-11 | Burroughs Corp | |
JPS5040738B1 (de) * | 1970-06-11 | 1975-12-26 | ||
US3704363A (en) * | 1971-06-09 | 1972-11-28 | Ibm | Statistical and environmental data logging system for data processing storage subsystem |
US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
JPS5235585B2 (de) * | 1972-10-12 | 1977-09-09 | ||
JPS4966253A (de) * | 1972-10-31 | 1974-06-27 | ||
JPS5341021B2 (de) * | 1972-12-22 | 1978-10-31 | ||
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 |
FR122199A (de) * | 1973-12-17 | |||
US3955180A (en) * | 1974-01-02 | 1976-05-04 | Honeywell Information Systems Inc. | Table driven emulation system |
JPS50117323A (de) * | 1974-02-28 | 1975-09-13 | ||
JPS519543A (de) * | 1974-07-13 | 1976-01-26 | Fujitsu Ltd |
-
1976
- 1976-08-20 US US05/716,315 patent/US4079453A/en not_active Expired - Lifetime
-
1977
- 1977-08-11 AU AU27806/77A patent/AU513512B2/en not_active Expired
- 1977-08-18 FR FR7725336A patent/FR2362445A1/fr active Granted
- 1977-08-18 GB GB34683/77A patent/GB1540340A/en not_active Expired
- 1977-08-18 DE DE19772737353 patent/DE2737353A1/de not_active Withdrawn
- 1977-08-19 CA CA285,010A patent/CA1104261A/en not_active Expired
- 1977-08-19 JP JP9943377A patent/JPS5337336A/ja active Pending
-
1980
- 1980-07-10 HK HK370/80A patent/HK37080A/xx unknown
-
1982
- 1982-09-21 JP JP1982143325U patent/JPS5890600U/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2500841A1 (de) * | 1974-01-18 | 1975-07-24 | Int Standard Electric Corp | Verfolgungseinrichtung |
DE2516050A1 (de) * | 1974-04-18 | 1975-11-06 | Honeywell Inf Systems | Verfahren und einrichtung zur informationsspeicherung in einem datenverarbeitungssystem |
DE2546354A1 (de) * | 1974-10-21 | 1976-04-22 | Honeywell Inf Systems | Mehrprogramm-dv-system |
Also Published As
Publication number | Publication date |
---|---|
US4079453A (en) | 1978-03-14 |
JPS5890600U (ja) | 1983-06-18 |
CA1104261A (en) | 1981-06-30 |
GB1540340A (en) | 1979-02-07 |
FR2362445B1 (de) | 1984-11-23 |
HK37080A (en) | 1980-07-18 |
AU513512B2 (en) | 1980-12-04 |
FR2362445A1 (fr) | 1978-03-17 |
AU2780677A (en) | 1979-02-15 |
JPS5337336A (en) | 1978-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2737353A1 (de) | Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens | |
DE2714805C2 (de) | ||
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE2948285C2 (de) | Adressensteuereinrichtung für einen Datenprozessor | |
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
DE2722099C2 (de) | ||
DE3833933C2 (de) | Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2758152A1 (de) | Speicherschutzanordnung | |
DE2611907A1 (de) | Dv-system mit einer prioritaets- unterbrechungs-anordnung | |
DE3607889A1 (de) | Verfahren zum steuern von unterbrechungen in einem virtuellen maschinensystem und virtuelles maschinensystem zur durchfuehrung des verfahrens | |
DE2312707A1 (de) | Pruefanordnung fuer einen computer | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2810421C2 (de) | Speicherschutzeinrichtung | |
DE1909090C3 (de) | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage | |
DE2611975A1 (de) | Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis | |
DE3518818A1 (de) | Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen | |
DE3121046C2 (de) | ||
DE2458259A1 (de) | Datenverarbeitungssystem zum vergleichen verschiedener datenstrukturen | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |