DE2423194A1 - Vorrichtung zur adressengewinnung und -berechnung in einem segmentierten speicher - Google Patents
Vorrichtung zur adressengewinnung und -berechnung in einem segmentierten speicherInfo
- Publication number
- DE2423194A1 DE2423194A1 DE2423194A DE2423194A DE2423194A1 DE 2423194 A1 DE2423194 A1 DE 2423194A1 DE 2423194 A DE2423194 A DE 2423194A DE 2423194 A DE2423194 A DE 2423194A DE 2423194 A1 DE2423194 A1 DE 2423194A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- segment
- base
- operand
- word
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims description 88
- 238000000034 method Methods 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 17
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims 2
- 239000000344 soap Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 28
- 238000000605 extraction Methods 0.000 description 20
- 230000011218 segmentation Effects 0.000 description 10
- 230000008520 organization Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004886 process control Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 244000309464 bull Species 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000003337 fertilizer Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
COMPAGHIE H01TEYWELL BULL
94 Avenue Gatnbetta ;
PARIS (20) /Frankreich
94 Avenue Gatnbetta ;
PARIS (20) /Frankreich
Unser Zeichen: H 1008
Vorrichtung zur Adressengewinnung und -berechnung in einem segmentierten
Speicher
Die Erfindung betrifft* allgemein Datenverarbeitungssysteme und insbesondere die Hardware oder technischen
Teile des Systems und die Adressenberechnungsverfahren.
In den Anfangszeiten der.Computer war es wesentlich»
ihren Aufbau und ihre Betriebskennwerte genau zu kenrnen, damit sie wirkungsvoll verwendet und die gestellten
Probleme gelöst werden konnten. Der erste Anwendungsfall der Computer war damals die mathematische Berechnung
mit einem Minimum an Ausnutzung in der Verwaltung öder Betriebsführung. Die Programme waren in der Computersprache
für nur für Fachleute bestimmte Anwen- ·
409849/0810
düngen geschrieben und waren im allgemeinen nur für die Person von Interesse, die das Programm oder seine
Organisation erstellte. Außerdem war-der Programmierer im allgemeinen die einzige Person, die in der Lage
war vorauszusehen, wie der Computer bei der Eingabe seines Programms in die Maschine reagieren würde.
Deshalb war seine Anwesenheit an dem Bedienungspult des Computers während des Ablaufs seines Programms
erforderlich, damit unerwartete Ereignisse korrigiert werden konnten. Im Verlauf dieser Anfangsperiode
erfolgte praktisch weder eine Standardisierung der Programme noch eine Dokumentation ihres Inhalts.
Als die Möglichkeiten des Computers sichtbar wurden, insbesondere durch die Verbesserung der Geschwindigkeit
und der Eingabe- und Ausgabeausrüstung der Computer und durch das Aufkommen von Sprachen hohen
Niveaus, wie etwa FORTRAN und COBOL, die die symbolische Abfassung der Programme ermöglichten, vergrößerte
sich das Anwendungsgebiet des Computers. Als die standardisierten Programme unter der Steuerung
eines Betriebssystems (Verwaltungsprogramm) die Funktionen übernahmen, die am Anfang notwendigerweise
dem Programmierer vorbehalten waren, trat das Prinzip des einzigen Programms, mit welchem eine einzige
Datenverarbeitungsanlage während langer Zeitspannen ohne öffnung gegenüber der Außenwelt rechnete, seinen
Platz an die gruppenweise Verarbeitung ab. Das System des gruppenweisen Betriebs hat ermöglicht, eine bestimmte
Anzahl von Arbeiten mit dem Ziel gruppenweise zusammenzufassen, die "Quelle"-Kartenstapel
in "Objekf'-Kartenstapel zu kompilieren oder assemblieren
(d.h. das Anwenderprogramm aus einer symbolischen Sprache in die Maschinensprache zu übersetzen) und
die Anwenderprogramme zu laden und auszuführen. Da die Computer der zweiten Generation viel schneller
waren als ihre Vorgänger, stand die Länge der Zeitspanne, die für die Vorbereitung eines Computerprogramms im
409849/0810
Hinblick auf die Ausführung desselben erforderlich war, in keinem Verhältnis zu der wirklichen Programmausführungszeit.
Das System der gruppenweisen Verarbeitung hat geholfen, dieses Problem zu lösen.
Darüberhinaus ist durch dieses System das Prinzip eines Überwachungsmodus und eines Anwendermodus
oder Problemmodus für die Betriebsweise des Computers eingeführt worden.
Als die Vorbereitungszeit auf einen vernachlässigbaren Prozentsatz der Maschinendurchlaufzeit für
eine bestimmte Arbeit verringert worden war, wurden die Computer für die Informationsverarbeitung
im allgemeinen interessanter und beschränkten sich nicht mehr allein auf die mathematische Berechnung.
Die zunehmende Benutzung der Computer durch die privaten und öffentlichen Verwaltungsorgane führte zu
einem stärkeren Verlangen nach einem größeren Wirkungsgrad und zu einer zunehmenden Nachfrage nach
Betriebssystemen, die für sämtliche Dienste und Kontrollen Vorsorge treffen, damit die Arbeiten in Multiprogrammverarbeitung
geplant und ausgeführt werden können. Deshalb wurden die Computer der dritten Generation
geschaffen.
In den einfachen Systemen, bei welchen die Gruppierung verwendet wurde, war das wichtige Hilfsmittel, das
der Speicher mit wahlfreiem Zugriff bietet (im allgemeinen ein Kernspeicher, in jüngerer Zeit aber ein
MOS-Speicher), für ein einziges Programm bestimmt, was sich jedesmal dann als eine Vergeudung der Verwendungsmöglichkeiten
des Hauptspeichers erwies , wenn das Programm nicht den gesamten Speicher benötigte.
Eines der ersten Probleme, die durch das System der Multiprogrammverarbeitung aufgeworfen wurden, bestand
in der wirksamen Ausnutzung des Hauptspeichers,
409849/0810
insbesondere wenn mehrere Funktionen des Systems dieselbe Prozedur betrafen.
In einer ersten Entwicklungsstufe wurde der Hauptspeicher unterteilt, damit verschiedene Programme
gleichzeitig in getrennten Zonen des Speichers untergebracht werden konnten. Da jedoch die Programme
selten dieselbe Abmessung haben, war die Überschneidung der Zonen, die zu der überdeckung eines Programms
durch ein anderes führt, immer zu befürchten. Zur Beseitigung dieser Situation hat man jedem Programm
Zonen zugewiesen, in denen sich die Adressenräume nicht überdecken können. Dieses Verfahren
hat das weiter oben genannte Problem der überdeckung zwar teilweise gelöst, es hat jedoch das Problem
der Zerstückelung des Hauptspeichers geschaffen, d.h. "Löcher" oder nicht genutzte Teile, die zu
klein sind, um irgendetwas aufzunehmen und deshalb eine Vergeudung dieses Speicherteils darstellen.
Eine Lösung dieses Problems der Zerstückelung des Speichers bestand aarin, ein Basisregister zum übersetzen
der benachbarten Adressen in dem Namenraum in benachbarte Adressen im Speicherraum vorzusehen.
Das bedeutete, daß dem System eine gewisse Freiheit in der Zuordnung der räumlichen Speicherstellen des
Speichers gegeben werden mußte, indem ermöglicht wurde, den Namenraum derart zu verschieben, daß die ungenutzten
Teile des Hauptspeichers zu einem durchgehenden Teil des Speichere verdichtet wurden. Diese
konstante Neuzuordnung des Hauptspeichers führte aber zu einer Vergeudung und erschwerte beträchtlich die
überwachung, insbesondere wenn zahlreiche gleichzeitige Programme fortwährend ihre Forderungen an den
Hauptspeicher änderten. Die nächste Stufe in der Entwicklung der wirksamen Ausnutzung des Speichers ist
die Einführung des Prinzips der Organisation nach Seiten (engl.: paging) gewesen. Diese Organisation
409849/0810
ist eine SpeicherZuweisungsmethode, gemäß welcher
der Namenraum des Programms in gleiche Teile oder Seiten aufgeteilt wird/ wobei der Hauptspeicher
in gleiche Teile oder Blöcke aufgeteilt ist, und gemäß
welcher die Abmessung der Seite gleich der Abmessung des Blocks ist, obgleich die Gesamtheit des Namenraums
nicht notwendigerweise gleich der Abmessung des Hauptspeichers zu sein braucht. Ein Blockindex
wird verwendet, um einen beliebigen bestimmten Block einer beliebigen bestimmten Seite zuzuordnen. Es ist
deshalb nicht erforderlich, für jede Programmanforderung
eine Seite zu verschieben. Für die Zuordnung einer Seite ist ein freier Block ebenso gültig wie
ein anderer, da die Kontinuität in einem Programm durch den Blockindex erhalten wird und da die Wahrscheinlichkeit
groß ist, für eine neue Seite in dem Hauptspeicher einen freien Block zu finden. Für Computer,
die die Organisation nach Seiten verwenden, sind hier unter anderen zu nennen: Atlas Computer der
Universität von Manchester, XDS 940, und der Computer Honeywell Information Systems HIS 645.
Obwohl die Technik der Organisation nach Seiten das Problem löst, den Raum des Hauptspeichers mehreren
Programmen zuzuordnen, löst sie weder das Problem der Zuordnung der Adressen in dem Namenraum von mehreren
Programmen noch das Problem des Schutzes der Information in dem Hauptspeicher. A.W. HOLT gab als erster das Prinzip
der Segmentierung an (Program Organization and Record Keeping for Dynamic Storage Allocation, Information
Processing, 62 North Holland Publishing Co., Amsterdam, 1962, Seite 539). J.B. DENNIS entwickelte danach die
Idee der Segmentierung mit dem Ziel, die Probleme zu lösen, die sich beim Benennen und Aufrufen einer Information
ergeben (Segmentation of the Design of Multiprogrammed Computer Systems, Journal of the Association
for Computing Machinery, Band 12, Nr.4, Oktober 1965,
Seiten 589-602). Das Prinzip der Segmentierung war be-
409849/08 I Q.
reits in dem Computer Burroughs B 5000 sowie in dem Computer Honeywell Information Systems 645, der das
Betriebssystem "Multics" benutzt, verwendet worden.
In dem Segmentierungssystem ist ein Segment als eine Gruppe von geordneten Worten definiert, die mit einem
Segmentnamen, der es von allen anderen Segmenten unterscheidet, und mit einer vollständigen Adresse bezeichnet
ist, die dazu verwendet wird, ein charakteristisches Element der nach der Anwendung geordneten Gruppe in dem Segment
auszuwählen. Das Segment ist einem Anwender zugeteilt. Es trägt einen symbolischen Namen, besitzt
eine Anordnung von zugeordneten Zugriffsmerkmalen, die unter anderem die Funktion beschreibt, für die
jeder Anwender berechtigt ist, die Prozeduren und/oder die Daten, die es enthält,aufzurufen. Das Segment
kann sich ausdehnen oder schrumpfen, und es ist in den Programmen direkt adressierbar. Das Segment ist wie
eine in den klassischen Systemen bekannte Erweiterung des Dateibegriffs aufgebaut. Die Datei ist jedoch
nicht direkt adressierbar und die kopierten Dateien in dem Speicher können nicht direkt durch die Programme
der anderen Anwender aufgeteilt werden.
Das Prinzip der Segmentierung stellt eine vernünftige Lösung des Problems der Identifizierung, der Adressierung,
der Zuordnung und des Schutzes der Information in dem Hauptspeicher dar, was sich folgendermaßen ausdrücken
läßt:
1) Eine Verarbeitung muß über einen Namenraum verfügen,
der ausreichend groß ist, damit alle Informationen, die sie betreffen, bestimmte Namen empfangen können,so
daß die Neuzuordnung der Information in ihrem Namenraum niemals notwendig ist.
2) Die Daten einer Verarbeitung müssen erweiterbar sein, ohne eine Neuzuordnung des Namenraums zu erfordern.
3) Eine Information, die durch mehrere Verarbeitungen gleichzeitig aufgerufen wird, muß denselben Namen
409849/0810
für alle Berechnungen haben, die sie betreffen. 4) Ein Schutzmechanismus muß in dem Namenraum derart
funktionieren, daß allein die berechtigten Verarbeitungen zu bestimmten Daten Zugriff erhalten
(Jack B. Dennis, Segmentation and the Design of Multiprogrammed Computer Systems, Journal of the Association
of Computing Machinery, Band 12, Nr.4, Oktober 1965, Seiten 589-6Q2).
Obwohl die oben genannten Systeme einige der Prinzipien der Einteilung nach Seiten (paging), der
Gruppierung nach Blöcken und der Segmentierung verwenden, um die Ausnutzung des Speichers in wirksamer
Weise zu verbessern, sind diese Verfahren nicht vollständig ausgenutzt worden. Gegenwärtig werden sie im
allgemeinen in den Software-Systemen mit einem Minimum
an Hardware ausgenutzt. Beispielsweise macht der Computer HIS 645 von einigen der Paging- und Segmentierungsprinzipien Gebrauch.
Ein Ziel der Erfindung besteht demgemäß darin, eine Vorrichtung zur segmentierten Adressierung zu schaffen.
Ein weiteres Ziel der Erfindung ist es, ein verbessertes Verfahren und eine verbesserte Vorrichtung für.die
Adressierung in den Computern zu schaffen, in welchen das Segment die Adressierungseinheit ist.
Weiter ist es Ziel der Erfindung, eine Adressierungsvorrichtung für die Computer zu schaffen, in welchen
die Ebene des direkten Zugriffs auf der Ebene der Segmente liegt, die zu einem Vorgang gehören.
Außerdem soll durch die Erfindung eine Adressierungsvorrichtung für einen Computer geschaffen werden, in
welchem die Ebene des direkten Zugriffs auf der Ebene
409849/0810
der Segmente liegt, die auf die Vorgänge einer Gruppe von Vorgängen aufgeteilt sind.
Ein anderes Ziel der Erfindung besteht darin, eine Adressierungsvorrichtung für ein Datenverarbeitungssystem zu schaffen, in welchem sich die Ebene des
direkten Zugriffs auf der Ebene der Segmente befindet, die auf sämtliche Vorgänge aufgeteilt sind. Noch ein
weiteres Ziel der Erfindung besteht außerdem darin, eine Adressierungsvorrichtung für einen Computer zu
schaffen, in welchem die Aufteilung der Vorgänge durch einen indirekten Zugriff ausgeführt wird.
Weitere Ziele der Erfindung ergeben sich aus der nachstehenden Beschreibung eines bevorzugten Ausführungsbeispiels in Verbindung mit den beigefügten Zeichnungen.
Die Ziele der Erfindung werden durch die Benutzung einer Adressierungsvorrichtung und eines Verfahrens zum Gewinnen
der Adresse verwirklicht, wobei auf eine bestimmte Anzahl von Elementen zum Berechnen einer absoluten
Adresse eingewirkt wird, die ihrerseits zum Bezeichnen einer Oktadespeicherzelle in dem Speicher verwendet wird.
Eine bestimmte Anzahl von Betriebsarten zum Gewinnen von Adressen steht zur Verfügung, und es werden während
der Gewinnung der Adressen Hardware-Kontrollen ausgeführt, um sicherzustellen, daß die erhaltene absolute
Adresse genau die gewünschte ist.
Das grundlegende Element der Adressierung ist das Segment. Ein Adressenraum wird für einen Vorgang definiert
und umfaßt die Gruppe von logischen Adressen, zu deren Umformung in absolute Adressen während der Ausführung
der Prozedur die Hardware berechtigt ist (eine logische Adresse besteht typischerweise aus einem Paar
409849/081Q
S/ d , wobei "s" die Segmentnummer und "d" die Verschiebung
ist). Die Hardware enthält Tabellen von Segmenten/ die den Adressenraum des Vorgangs definieren.
Eine Segmenttabelle st enthält ein Element (oder Segmentbeschreibung, Segmentkennbegriff) für jedes Segment.
Jede Segmentbeschreibung enthält alle Merkmale des Segments, darunter die absolute Adresse des Segments
in dem Speicher und die Länge des Segments.
Ein Befehl kann auf einen Operand entweder direkt oder indirekt durch eine Datenwortbeschreibung Zugriff
erlangen, in welcher die Adreßsilbe des Befehls, die zur Bezugrahme verwendet wird, angibt, ob die Bezugnahme
eine direkte oder indirekte ist, und außerdem ein Register angibt, welches das Segment, bevor auf es
Bezug genommen wird, und außerdem eine Verschiebung (offset) innerhalb des Segments festlegt. Die Adreßsilbe
enthält außerdem eine Verschiebung von der festgelegten Basis aus.
Die Hardware zur Gewinnung der Adresse erhält die absolite
Adresse des Segmentanfangs, fügt zu dieser die durch den Befehl festgelegte Verschiebung (offset) in
den oben genannten Registern und, falls erforderlich, den Inhalt eines Indexregisters hinzu. Diese Addition
liefert die absolute Adresse.
Die Merkmale der Erfindung sind in ausführlicher Form in den beigefügten Patentansprüchen dargelegt. Die Erfindung
wird jedoch hinsichtlich der Organisation und der Betriebsweise (einschließlich ihrer Ziele und ihrer
Vorteile) unter Bezugnahme auf die folgende Beschreibung sowie auf die Zeichnungen vollständig verständlich.
Es zeigen:
Fig. 1 eire schematische Darstellung einer bestimmten
409849/0810
— 1O —
Anzahl von Segmenten in dem Hauptspeicher,
Fig. 2A-2M ' schematische Darstellungen von verschiedenen
neuen Strukturen, die bei der Erfindung verwendet werden,
Fig. 2A-2B Segmentbeschreibungen,
Fig. 2C-2E Datenwortbeschreibungen
Fig. 2CDE eine erweiterte Datenwortbeschreibung,
Fig. 2F-2G Basisregister,
Fig. 2H-2I Adreßsilben,
Fig. 2J-2K Elemente der effektiven Adresse,
Fig. 2L ein AdressenraumwortbeispielASW,
Fig. 2M ein Segmenttabellenwortbeispiel STW,
Fig. 3 eine schematische Darstellung einer Segmentbeschreibung für die Aufteilung und die Verwendung
durch verschiedene Vorgänge,
Fig. 4 eine schematische Darstellung der allgemeinen
Hardware-Strukturen für die segmentierte Adresse und ein gesamtes Ablaufdiagramm der segmentierten
Adressierung,
Fig. 5 ein Ablaufdiagramm der Gewinnung der segmentierten
Adresse, welches die Gewinnung einer effektiven Adresse durch direkte und indirekte
Adressierung angibt,
409849/081 0
Pig. 6 eine schematische Darstellung der Hardware, welche die Gewinnung der direkten segmentierten
Adresse ausführt,
Fig. 7 eine schematische Darstellung der Hardware, welche die Gewinnung der indirekten segmentierten
Adresse ausführt, mit indirekter Adressierung Clndirection"), mittels der Basis ITB,
Fig. 8 eine schematische Darstellung der Hardware, welche die Gewinnung der indirekten segmentierten
Adresse ausführt, mit indirekter Adressierung ("indirection"), mittels des Segments ITS,
Fig. 9 ein Ablaufdiagramm einer Gewinnung der segmentierten
Adresse für die Gewinnung der absoluten Adresse,
Fig. 10 eine schematische Darstellung der Hardware
zur Gewinnung einer absoluten Adresse, und
zur Gewinnung einer absoluten Adresse, und
Fig. 11 eine schematische Darstellung der Hardware
für die Gewinnung der segmentierten Adresse unter Verwendung eines assoziativen Speichers.
für die Gewinnung der segmentierten Adresse unter Verwendung eines assoziativen Speichers.
Allgemeine Gesichtspunkte:
In den früheren, weniger aufwendigen Datenverarbeitungssystemen wurde von den Programmen jeweils nur eines auf
einmal verarbeitet, wobei jede» Programm Zugriff zu allen Speichern hatte. In den meisten Fällen erfolgtö die Zuordnung
des Speichers ganz direkt. In den Fällen, in
welchen das Programm größer war als der verfügbare Speicher, war der Programmierer indessen gezwungen, sein
Programm und/oder die Daten aufzuteilen und das Laden
welchen das Programm größer war als der verfügbare Speicher, war der Programmierer indessen gezwungen, sein
Programm und/oder die Daten aufzuteilen und das Laden
409849/0810
von auf diese Weise gebildeten Teilen zu kontrollieren.
In einem System mit Multiprogrammverarbeitung sind in dem Speicher in jedem beliebigen Augenblick zahlreiche
Programme enthalten. Demzufolge ist das Problem der absoluten Zuordnung des Speichers, wie es
zuvor erläutert worden ist, ein schwieriges Problem. Om die Lösung dieses Problems zu erleichtern, wird
ein Speicherraumsystem mit dynamischer Zuordnung
durch veine Kombination des Betriebssysteme (Software)
und der Vorrichtung (Hardware) verwendet. Infolge der beliebigen Art der Abmessung der Programme teilt dieses
System den Speicher in Segmente mit veränderlicher Abmessung auf und macht Gebrauch von Einrichtungen
zum Rekonstruieren der Zuordnung des Speichers im Verlauf eines Programmdurchlaufs. Ein Programm kann deshalb
eine bestimmte Anzahl von Speichersegmenten haben/
die ihm zugeordnet sind und sich nicht in aufeinanderfolgenden Zonen des Speichers befinden (vgl. Fig. 1).
In Fig. 1 ist der Direktzugriffsspeicher 1OO eines Universalcomputers mit fünf verschiedenen Segmenten
dargestellt, die zu drei verschiedenen Programmen A, B und C gehören, welche darin gespeichert sind. Das
Segment 1 des Programms A ist in dem Teil 101 des Hauptspeichers 100 gespeichert, das Segment 3 des Programms B
ist in. dem Teil 102 des Hauptspeichers 100 gespeichert, das Segment 6 des Programms C ist in dem Teil 103 gespeichert,
das Segment 2 des Programms B ist in dem Teil 105 gespeichert und das Segment 2 des Programms A
ist in dem Teil 105 desselben Hauptspeichers gespeichert. Weitere Teile können auf diese Weise durch verschiedene
Segmente der verschiedenen Programme und/oder die verschiedenen Daten belegt sein, und zwar bis zur gesamten
Belegung der Kapazität des Hauptspeichers.
Diese Methode bringt ein Problem mit sich, weil alle Speicheradressen in einem Programm jedesmal dann modi-
A098A9/0810
13 " 2A23194
fiziert werden müssen, wenn ein Programm oder ein
Programmsegment neu zugeordnet worden ist. Zur Beseitigung dieses Nachteils verwendet die Erfindung
ein Verfahren, gemäß welchem die in dem Anwenderprogramm enthaltenen Adressen logische Adressen sind,
statt absolute Adressen in dem Hauptspeicher (vgl. das Glossar der Ausdrücke für die Definitionen). Diese logischen
Adressen werden danach zum Gewinnen der absoluten Adressen des Hauptspeichers verwendet. Durch ·
dieses Verfahren können die Anwenderprogramme aufgezeichnet werden, ohne die absoluten Adressen im
Hauptspeicher zu berücksichtigen.
Dieses System der Speicherzuordnung ermöglicht,bei
jedem Vorgang Cvgl. das Glossar der Ausdrücke für die
Definitionen) Zugriff zu seinen eigenen Speichersegmenten (oder zu den Segmenten, die ihm zugeordnet sind)
durch das System von Segmentbeschreibungen zu erhalten. Das Modell einer Segmentbeschreibung ist in den Fig. 2A
und 2B dargestellt. Diese beiden Figuren zeigen das Modell einer direkten Segmentbeschreibung 200A bzw.
einer indirekten Segmentbeschreibung 200B. Die direkte Segmentbeschreibung beschreibt und bezeichnet ein Segment,
während die indirekte Segmentbeschreibung eine andere Segmentbeschreibung bezeichnet. Fig. 2A zeigt
einen Vorhandenseinanzeiger P, der in der Bitposition
0 dargestellt ist. Der Vorhandenseinanzeiger P, welcher ein Feld P für ein Bit ist, zeigt an, daß ein
Segment in dem Hauptspeicher für die Segmentnummer definiert
ist, welcher diese Segmentbeschreibung entspricht, wenn der Vorhandenseinanzeiger in dem Zustand
1 ist. Wenn das Feld P in den Zustand "0" rückgestellt ist, ist kein Segment definiert und der Aufruf
der Segmentbeschreibung ruft einenals "Segment nicht
vorhanden" bezeichneten Einwand hervor. Wenn das Feld eines Bits I in der Binärstellung Eins ist, ist die
Prozedur indirekt. Die Segmentbeschreibung enthält nun
A098A9/0810
die absolute Adresse einer anderen Segmentbeschreibung,
jedoch nicht die Basisadresse eines Segments. Die Zugriffszone I der indirekten Segmentbeschreibung
wird für Zugriffsschutztests an der Stelle 'der Zugriffszone der Segmentbeschreibung verwendet,
die die indirekte Segmentbeschreibung bezeichnet. Eine Zone U "Anzeiger = benutzt" in der
Binärposition 2 zeigt an, ob das Segment benutzt wird oder nicht. Wenn der Anzeiger U in den Zustand
"Ο" gesetzt ist, ist das Segment nicht benutzt worden,
während, wenn der Anzeiger ü auf "1" gesetzt ist, dadurch angezeigt wird, daß das Segment benutzt worden
ist. Die Zone W "Anzeiger = geschrieben" incer Binärposition 5 wird dazu verwendet, anzuzeigen,
ob das Segment geschrieben worden ist oder nicht.
Wenn der Anzeiger W auf "0" gesetzt ist, zeigt das < »
an, daß das Segment nicht geschrieben worden ist, während, wenn der Anzeiger W auf "1" gesetzt worden
ist, das anzeigt, daß das Segment geschrieben worden ist. Diese Anzeiger werden durch die Firmware bei jedem
Segmentzugriff auf den neuesten Stand gebracht, einschließlich der indirekten Adressierung und der Kontrolle
des Zugriffs zu den Semaphoren und Prozeduren, die nicht Teil der Erfindung sind. Das verfügbare Bit A,
welches sich in der Binärposition 3 befindet, ist ein Feld für ein Bit, welches anzeigt, ob das Segment verfügbar
ist oder nicht. Wenn der Anzeiger A auf "1" gesetzt ist, kann das Segment, welchem die Segmentbeschreibung
entspricht, benutzt werden (d.h., daß es nicht blockiert ist), dagegen ist, wenn der Anzeiger A
auf "0" gesetzt ist, ; das Segment blockiert und ein Aufruf der Segmentbeschreibung bewirkt einen
als "Segment blockiert" bezeichneten Einwand. Der Bedingungsanzeiger GS ist eine Zone G-S mit zwei Bits,
die kontrolliert wird, wenn die vorbestimmten Befehle ausgeführt werden müssen. Beispielsweise verlangt der
Eingabeprozedurbefehl ENT (nicht dargestellt), daß die
409849/0810
Zone G-S den Code Zehn enthält, während die Befehle über Semaphoren den Code 01 verlangen. Jeder andere
als dieser verlangte Code würde einen Einwand "Segmentbeschreibung
gesperrt" hervorrufen. Die Zone MBZ, die in der Binärposition 4 liegt, zeigt, wenn sie
in dem Zustand "0" ist, an, daß das adressierte Segment nicht größer ist als eine für den Speicher zulässige
vorbestimmte Abmessung. Ein Einwand "Segmentbeschreibung gesperrt" wird erzeugt, wenn die
Zone MBZ nicht auf "O" ist. Die Segmentbasis X24
in der direkten Segmentbeschreibung ist eine Basiszone mit 24 Bits, die die absolute Adresse der Segmentbasis
anzeigt, welche durch eine direkte Segmentbeschreibung definiert ist. Die indirekte Segmentbeschreibung,
die in Fig. 2B dargestellt ist, hat eine kleinere Anzahl von Anzeigern und eine Lokalisierungszone mit 28 Bits, die die absolute Adresse einer direkten
Segmentbeschreibung definiert. Die Anzeiger P, I, MBZ, A der indirekten Segmentbeschreibung 200B übernehmen
für die indirekte Segmentbeschreibung Funktionen, die denen entsprechen, welche sie für die.direkte Segmentbeschreibung
übernehmen.
Damit die maximale Vielseitigkeit sichergestellt ist, gewährt jeder Vorgang Zugriff zu, beispielsweise, 2048
Speichersegmenten, aber auch zu .jeder anderen größeren oder kleineren Anzahl. Normalerweise würde das bis zu
2048 Segmentbeschreibungen pro Vorgang erfordern. Indessen gibt es in einer Gruppe von gleichzeitig ablaufenden
Vorgängen normalerweise eine große Anzahl von Segmenten, die für mehr als eine Prozedur verwendet werden.
Demzufolge sind die Segmentbeschreibungen in Segmenttabellen danach gruppenweise zusammengefaßt, ob sie durch
einen Vorgang, durch eine Gruppe von Vorgängen (Arbeit) oder durch einen beliebigen Vorgang in dem System verwendet
werden können (diese gruppenweise Zusammenfassung bildet außerdem
4098A9/0810
eine Hilfe bei dem Programmschutz). Deshalb können die Tabellen von Segmentbeschreibungen durch ein
einziges Programm, durch mehrere Programme oder durch die Gesamtheit des Systems verwendet werden. Bei Verwendung
dieser Methode hat jedes Segment nur eine Segmentbeschreibung. Auf diese Heise wird die Größe des
für die Segmentbeschreibungen verlangten Speicherraums verringert und die Zeit zum auf den neuesten
Stand Bringen im Verlauf der Neuzuordnung des Speichers wird reduziert. Fig. 3 zeigt dieses Merkmal der Erfindung.
In Fig. 3 sind die Segmentbeschreibungen in drei verschiedenen Tabellen von Segmentbeschreibungen organisiert,
nämlich den Tabellen 304, 305 und 306. Die Tabelle 304 ist eine Tabelle von gemeinsamen Segmentbeschreibungen,
die dadurch gekennzeichnet ist, daß die Prozeduren A, B und C der Blöcke 301, 302 und 303 jeweils
zu der Tabelle 304 Zugriff erhalten können, wie es die Pfeile 307, 308 und 3Ö9 zeigen. Es ist ausserdem
zu erkennen, daß allein die Prozeduren B und C, die durch die Blöcke 302 bzw. 303 dargestellt sind,
Zugriff zu den "Job"-Segmentbeschreibungen 305 erhalten können, während allein die Prozedur C des Blocks 303
Zugriff zu den Vprgang-Segmentbeschreibungen erhalten kann.
Infolge der großen Anzahl von Jobs, die in dem System vorhanden sein können,und folglich der großen Anzahl der Seg·
menttabellen muß jeder Vorgang in der Lage sein zu bestimmen,
auf welche Segmenttabellen zuzugreifen er berechtigt ist. Diese Fähigkeit ist ihm dadurch verliehen,
daß jeder Vorgang zwei Listen von Worten hat, die Segmenttabellen beschreiben. Die Listen von Segmenttabellenworten
enthalten die Adressen sämtlicher Segmenttabellen, auf welche der Vorgang zugreifen kann.
409849/0810
Die Segmenttabellen enthalten die oben beschriebenen Segmentbeschreibungen. Die Listen von Segmenttabellenworten
STWA enthalten die Segmenttabellenworte STW, deren Form in Fig. 2M dargestellt ist.
In der Fig. 2M gibt die Abmessungszone STSZ (Bitposition 0-7) die Gesamtanzahl von Segmentbeschreibungen in der
Segmenttabelle an. Diese Anzahl kann sich für das Wort STW in der Liste Nr. 0 zwischen 0 und 4 ändern, welches
durch das Adressenraumwort ASW Nr. 0 (das später beschrieben wird) bezeichnet ist, und es kann sich zwischen
0 und 225 für das Wort STW in der Liste Nr. 1 ändern, welches durch das Wort ASW Nr. 1 bezeichnet ist.
Wenn die Zone STSZ gleich 11O" ist, ist die Segmenttabelle
leer. Die Segmenttabellenadressenzone STA (Bits 8-31) gibt die absolute Adresse der Segmente an,
die gleich
16 X STA in Oktaden ist..
Die Listen STWA der Wörter, die die Segmenttabellen beschreiben, sind durch die Adressenraumworte ASW festgelegt,
die oben genannt worden sind und die das in Fig. 2L dargestellte Format haben. Aus Fig. 2L ist zu
erkennen, daß das Format eines Wortes ASW analog dem eines Wortes STW ist. Indessen betrifft die Zone STWSZ
die Abmessung der Liste. Der Maximalwert von STWSZ beträgt 6 für das Wort ASW Nr. 0 und 8 für das Wort ASW Nr.1
Die Zone STWA (Bits 8-31) adressiert die absolute Adresse STWA der Liste in Einheiten von 16 Oktaden.
Fig. 4 zeigt einige der Stufen durch die ein bestimmter Vorgang berechtigt auf ein Segment zugreifen kann.
Ein bestimmter Vorgang A, B oder C, der schematisch durch die Blöcke 401 bzw. 402 bzw. 403 dargestellt ist,
ist seinen beiden Adressenraumworten ASWO und ASW1 zugeordnet, die durch die Blöcke 404 bis 409 dargestellt sind.
409849/0810
Die Adressenraumworte ASW sind in einem Vorgangssteuerblock
PCB angeordnet, der für einen bestimmten Vorgang verwirklicht ist (ein VorgangsSteuerblock
ist jedem Vorgang zugeordnet und enthält genaue Informationen über den zugeordneten Vorgang, einschließlich
der absoluten Adresse des Anfangs der Tabellen, die die Segmenttabellen angeben, auf welche
der Vorgang zugreifen kann).Jeder Vorgang erfordert zwei Adressenraumworte ASW, weil zwei Arten
von Segmenten jedem Vorgang zugeordnet sein können: die sehr großen Segmente, die eine Verschiebungs-
22
weite von (2 - 1) haben, und eine große Anzahl von kleineren Segmenten, die eine Verschiebungsweite von Null bis (2 - 1) haben. Die Adressenraumworte 404-409 liefern die Adresse der Listen, welche die Segmenttabellen STWA 410 bis 415 beschreiben. Die Listen STWA enthalten die zuvor beschriebenen Segmentbeschreibungen STW und liefern die Adresse der Segmenttabellen, auf welche der zugeordnete Vorgang zugreifen kann. Die Segmenttabellen 416-425 enthalten die zuvor beschriebenen Segmentbeschreibungen und werden dazu verwendet, ein bestimmtes Segment 426-439 in einer Speicherzelle des Hauptspeichers zu definieren.
weite von (2 - 1) haben, und eine große Anzahl von kleineren Segmenten, die eine Verschiebungsweite von Null bis (2 - 1) haben. Die Adressenraumworte 404-409 liefern die Adresse der Listen, welche die Segmenttabellen STWA 410 bis 415 beschreiben. Die Listen STWA enthalten die zuvor beschriebenen Segmentbeschreibungen STW und liefern die Adresse der Segmenttabellen, auf welche der zugeordnete Vorgang zugreifen kann. Die Segmenttabellen 416-425 enthalten die zuvor beschriebenen Segmentbeschreibungen und werden dazu verwendet, ein bestimmtes Segment 426-439 in einer Speicherzelle des Hauptspeichers zu definieren.
Die Gewinnung einer absoluten Adresse des Hauptspeichers umfaßt zwei Phasen: 1) Die Gewinnung einer effektiven
Adresse aus einer Adreßsilbe, die eine logische Adresse enthält; und 2) die Gewinnung einer absoluten Adresse
aus der effektiven Adresse. Die effektive Adresse wird aus der. Information erhalten, die in einer Adreßsilbe
enthalten ist, und aus der Information, die in einem Basisregister enthalten ist, wobei die effektive Adresse
darin besteht, die Verschiebung in dem Basisregister zu der Verschiebung in der Adreßsilbe zu addieren, damit
eine relative Segmentadresse SRA erhalten wird. Die effek-
409849/0810
tive Adresse wird erhalten, indem der Inhalt eines Indexregisters, sofern eines vorhanden ist, zu der
relativen Segmentadresse SRA addiert wird. Im Verlauf der zweiten Phase wird die absolute Adresse gewonnen,
indem die Segmentnummer in dem Basisregister dazu ver wendet wird, auf eine Segmentbeschreibung zuzugreifen,
und indem die Basisadresse in der Segmentbeschreibung zu der effektiven Segmentadresse addiert wird.
Für die Gewinnung der effektiven Adresse wird ein Basisregister gleichzeitig mit einer Adreßsilbe verwendet.
Gemäß der Erfindung sind acht Basisregister vorhanden, die mit den Registernummern 0 bis 7 bezeichnet sind. Die
Struktur des Basisrecristers ist in den Fig. 2F und 2G dargestellt. Es ist wiederum klar, daß
zwai Strukturen für die Adressierung von zwei verschiedenen Arten von Segmenten erforderlich sind. Die Strukturen
der in den Fig. 2F und 2G dargestellten Basisregister sind analog, abgesehen davon
daß die verschiedenen Größen unterschiedliche Bitspeicherzonen einnehmen. Die Fig. 2F und 2G zeigen
das Kennzeichen (im folgenden als TAG bezeichnet), bei welchem es sich um eine Zone mit zwei Bits handelt, die
dem TAG einer in den Fig. 2C - 2E dargestellten Datenwortbeschreibung entspricht. Eine Zone RING mit zwei Bits
enthält die Ringnummer, die der segmentierten Adresse zugeordnet ist. Die Segmentidentifizierungszone SEG besteht
aus der Segmenttabellennummer STN der Segmenttabelleneingabe STE; das ist die Zone, die ein in einer
Segmenttabelle beschriebenes Segment bezeichnet. Die Verschiebung (OFFSET) ist eine Zone mit 16 oder mit
Bits, in Abhängigkeit von der Segmenttabellennummer, die eine ganze positive Zahl angibt und bei der Adressengewinnung
als Hinweis in einem Segment verwendet wird.
409849/081 0
Die Struktur der Adreßsilbe ist in den Fig. 2H und dargestellt. In diesen Figuren ist ersichtlich/ daß
das Bit für indirekte Adressierung IND verwendet wird, um die direkte oder indirekte Adressierungsart festzulegen.
"0" zeigt die direkte Adressierungsart an, während "1" die indirekte Adressierungsart angibt.
Das Feld BR legt fest, welches der acht Basisregister durch den Mechanismus der Gewinnung der effektiven
Adresse aufgerufen werden muß. Das Indexbit IDX wird dazu verwendet anzugeben, ob bei der Gewinnung der Adresse
ein Indexregister verwendet werden muß oder nicht, und es wird außerdem verwendet, die Länge der Verschiebungszone
D anzugeben. Wenn der Inhalt des Indexbits IDX "0" ist,.zeigt das an, daß kein Indexregister
verwendet werden wird, und daß die Verschiebung D 15 Bits lang ist. Wenn das Indexbit IDX gleich "1" ist,
zeigt das an, daß ein Indexregister, welches durch die Zone IXR angegeben ist, benutzt werden muß und daß
die Verschiebungszone D eine Länge von 12 Bits hat.
Es ist folglich zu erkennen, daß die Struktur der Fig. 21 die Indizierungsstruktur der Adreßsilbe ist.
Die Zone IXR ist nur vorhanden, wenn IDX gleich Eins ist und angibt, daß bei der Gewinnung der effektiven
Adresse auf das Indexregister Bezug genommen werden muß. Die Verschiebung D gibt an, daß eine ganze positive
Zahl als Verschiebung benutzt werden muß. Wenn das Indexbit IDX gleich "0" ist, so ist der Maximalwert
von D gleich (2 - 1), dagegen ist, wenn das Indexbit IDX gleich "1" ist, der Maximalwert von D
1 2
gleich (2 - 1). Man wird feststellen, daß die Zone der Adreßsilbe mit dem Bit 12 beginnt und mit dem Bit 31 endet. Der Grund dafür ist, daß die Adreßsilbe gewöhnlich ein Teil eines Befehls ist und daß sie in den Befehl beginnend mit dem Bit 12 eingefügt ist.
gleich (2 - 1). Man wird feststellen, daß die Zone der Adreßsilbe mit dem Bit 12 beginnt und mit dem Bit 31 endet. Der Grund dafür ist, daß die Adreßsilbe gewöhnlich ein Teil eines Befehls ist und daß sie in den Befehl beginnend mit dem Bit 12 eingefügt ist.
Die Gewinnung einer effektiven Adresse aus einer Adreß-
409849/0810
silbe kann auf vier unterschiedlichen Wegen erfolgen:
1) Die Gewinnung der effektiven Adresse kann direkt
erfolgen; 2) die Gewinnung der effektiven Adresse kann indirekt erfolgen; 3) die Gewinnung der effektiven
Adresse kann direkt und indiziert erfolgen; und 4) die Gewinnung der effektiven Adresse kann indirekt
und indiziert erfolgen. Die vier Arten von Adreßsilben enthalten eine Basisregisterzone BR,
die für den Zugriff auf ein Basisregister verwendet wird, dessen Inhalt eine der beiden Strukturen 200P
und 200G der Figuren 2F bzw. 2G sein kann. Der Inhalt des Basisregisters wird durch die Anwenderprogramme
modifiziert, die von einem Befehl zum Laden des Basisregisters (nicht dargestellt) Gebrauch machen.
Die direkte Methode der Gewinnung der effektiven Adresse ist in den Fig. 5 "und 6 dargestellt. In Fig. 6 ist
die Adreßsilbe 601 dadurch gekennzeichnet, daß das Bit IND für indirekte Adressierung Null ist, daß das
Indexbit IDX Null ist und daß eine lange Verschiebungszone D vorhanden ist. Ein Basisregister 602 liefert
die Segmentnummer SEG der Segmenttabelle 604 und eine Verschiebung in dieser Segmenttabelle. Die
Segmenttabelle 604 enthält Segmentbeschreibungen, von denen eine - in diesem besonderen Beispiel - eine
Basisadresse für das beschriebene Segment liefert. Die Adreßsilbe 601 liefert außerdem eine Verschiebung D.
Durch Addition der Verschiebung D der Adreßsilbe 601 zu der Verschiebung (offset) des Basisregisters 602
erhält man eine relative Segmentadresse SRA. Die Basiselemente der effektiven Adresse enthalten die Basis
des durch die Segmentnummer SEG bezeichneten Segments und die relative Segmentadresse SRA sowie
einen Index (falls vorhanden) in dem Indexregister 603. In einer anderen Ausführungsforitt bildet der aus dem
Indexregister 603 stammende Index keinen Teil der effektiven Adresse, sondern er wird der absoluten Adresse
■4Ό9849/08Ί0
608 zugeführt (vgl. die mit Pfeil versehene strichpunktierte
Linie 621).
Die Struktur der effektiven Adresse ist in den Fig. 2J und 2K dargestellt. In dieser Struktur ist ein
zusätzliches Basiselement enthalten/ und zwar die Ringnummer der effektiven Adresse EAR. Die Bitzone
der Bits Null bis Eins hat in der effektiven Adresse keine Bedeutung, sondern entspricht der Zone TAG einer
Datenwortbeschreibung. Die Zone der Segmenttabellennummer
STN gibt eine beliebige der fünfzehn Segmenttabellen
an, die einem bestimmten Vorgang zugeordnet sind. Die Segmenttabelleneingabezone STE gibt eine
bestimmte Eintragung im Inneren einer Segmenttabelle
an, die eine Segmentbeschreibung enthält, und sie gibt ein bestimmtes Segment an. Die Zone der relativen
Segmentadresse SRA ist eine ganze positive Zahl mit 16 oder 22 Bits, die die Anzahl von Oktaden zwischen
der Segmentbasis und der ersten Oktade des Operanden angibt. Bei einem großen Segment (Segmente null bis
22
sechs) kann sich die Zone SRA von 0 bis (2 - 1) err strecken. Bei den kleinen Segmenten (Segment acht
bis fünfzehn) kann sich die Zone SRA von 0 bis (2 - 1) erstrecken. Die Verschliebungszone EBO für Bits der
effektiven Adresse ist nur vorhanden, wenn der Operand im Speicher eine Kette von Bits (hier weder dargestellt
noch beschrieben) ist.
Die Hardware 607 für die Adressengewinnung (die später ausführlicher beschrieben wird) erhält die absolute
Adresse des Segmentanfangs, der durch die Basisadresse
der Segmentbeschreibung 605 angegeben ist, die ihrerseits durch die Segmentnummer SEG aufgerufen wird,
und fügt die Basisadresse zu der relativen Segmentadresse SRA hinzu, damit eine absolute Adresse 608
erhalten wird.
409849/0810
In Fig. 5 bezeichnen die Bezugszahlen 500, 501, 502,
504 und 505 die Gewinnung der effektiven Adresse unter Benutzung einer direkten Adreßsilbe. Die Bezugszahlen
500, 501, 502, 503 und 505 bezeichnen die zweite
Methode zur Gewinnung der effektiven Adresse unter
Verwendung einer indizierten direkten Adreßsilbe. Die Gewinnung einer effektiven Adresse aus einer
direkten indizierten Adreßsilbe (d.h.:Bit IND für indirekte Adressierung in den Fig. 2H und 21 ist 11O", das
Indexbit IDX ist '"1" und eine kurze Verschiebungszone ist vorhanden) wird in zu der Gewinnung aus einer direkten Adreßsilbe analoger Weise ausgeführt, mit einer Ausnahme: Die relative Segmentadresse SRA wird durch die Addition der Verschiebungszone der Adreßsilbe 6O1 von Fig. 6, der Verschiebungszone (offset) in dem Basisregister und des Inhaltsdes Indexregisters 603 gewonnen, der
durch die Indexregisterzone IXR der Adreßsilbe festgelegt ist.
504 und 505 die Gewinnung der effektiven Adresse unter Benutzung einer direkten Adreßsilbe. Die Bezugszahlen
500, 501, 502, 503 und 505 bezeichnen die zweite
Methode zur Gewinnung der effektiven Adresse unter
Verwendung einer indizierten direkten Adreßsilbe. Die Gewinnung einer effektiven Adresse aus einer
direkten indizierten Adreßsilbe (d.h.:Bit IND für indirekte Adressierung in den Fig. 2H und 21 ist 11O", das
Indexbit IDX ist '"1" und eine kurze Verschiebungszone ist vorhanden) wird in zu der Gewinnung aus einer direkten Adreßsilbe analoger Weise ausgeführt, mit einer Ausnahme: Die relative Segmentadresse SRA wird durch die Addition der Verschiebungszone der Adreßsilbe 6O1 von Fig. 6, der Verschiebungszone (offset) in dem Basisregister und des Inhaltsdes Indexregisters 603 gewonnen, der
durch die Indexregisterzone IXR der Adreßsilbe festgelegt ist.
Bei der indirekten oder indirekten indizierten Gewinnung der effektiven Adresse erfolgt der Zugriff auf einen
Operanden durch ein oder zwei indirekte Adressierungsebenen, d.h., daß nach Erzeugung einer absoluten Adresse aus der ersten effektiven Adresse eine Datenwortbeschreibung ermittelt wird, aus der eine weitere effektive Adresse gewonnen wird, bevor die endgültige absolute Adresse gewonnen wird, die wirklich zum Bestimmen eines Operanden benutzt wird. Es stehen zwei Arten
der indirekten und der indirekten indizierten Adressengewinnung zur Verfugung: Die eine ist die indirekte Gewinnung ("indirection") mittels des Basismodus ITB, gemäß welchem eine Datenwortbeschreibung, die die Struktur 200C hat ermittelt wird, und die andere ist die indirekte Gewinnung ("indirection") mittels des Segmentmodus ITS, gemäß welchem eine Beschreibung ermittelt wird, die die Struktur 200D hat
Operanden durch ein oder zwei indirekte Adressierungsebenen, d.h., daß nach Erzeugung einer absoluten Adresse aus der ersten effektiven Adresse eine Datenwortbeschreibung ermittelt wird, aus der eine weitere effektive Adresse gewonnen wird, bevor die endgültige absolute Adresse gewonnen wird, die wirklich zum Bestimmen eines Operanden benutzt wird. Es stehen zwei Arten
der indirekten und der indirekten indizierten Adressengewinnung zur Verfugung: Die eine ist die indirekte Gewinnung ("indirection") mittels des Basismodus ITB, gemäß welchem eine Datenwortbeschreibung, die die Struktur 200C hat ermittelt wird, und die andere ist die indirekte Gewinnung ("indirection") mittels des Segmentmodus ITS, gemäß welchem eine Beschreibung ermittelt wird, die die Struktur 200D hat
409849/0810
Die Fig. 2C bis 2E zeigen zwei verschiedene Arten von Datenwortbeschreibungen. Die Fig. 2C zeigt die
indirekte Gewinnung mittels der Basis ITB der Datenwortbeschreibungen,
während die Fig. 2D und 2E die indirekte Gewinnung mittels des Segments ITS der Datenwortbeschreibungen zeigen. Eine weitere Struktur,
Fig. 2CDE, ist eine erweitere Datenwortbeschreibung,
die an die andere Art von Datenwortbeschreibungen an der Bitposition 39 angefügt sein kann. Es
gibt außerdem zwei verschiedene Strukturen für die Datenwortbeschreibung ITS, wobei die eine die
Struktur von Fig. 2D ist, die dazu verwendet wird, Segmenttabellennummern aufzurufen, die in der Maschine
mit 0 bis 6 bezeichnet sind und im allgemeinen dazu benutzt werden, große Segmente aufzurufen, während
die Datenwortbeschreibung von Fig. 2E dazu verwendet wird, die Segmenttabellennummern STN aufzurufen,
die in der Maschine mit 8 bis 15 bezeichnet sind und dazu verwendet werden, kleine Segmente aufzurufen.
Eine Datenwortbeschreibung kann außerdem Operanden statt anderen Datenwortbeschreibungen oder Segmentbeschreibungen
aufrufen.
Die minimale Abmessung einer Datenwortbeschreibung beträgt vier Oktaden. Die Speicherzelle einer Datenwortbeschreibung
ist durch die Adresse der am weitesten links stehenden Oktade festgelegt, bei welcher es sich
um eine beliebige Oktadenadresse handeln kann. Die Datenwortbeschreibung gibt die Adresse im Speicher an,
entweder durch indirekte Gewinnung mitteΙέ einer Basis
ITB oder durch indirekte Gewinnung mittels eines Segments ITS. Die Basis ITB wird identifiziert, wenn
die Bits 4 bis 7 der oben genannten Strukturen 20OC bis 200E gleich 0 1 1*1 sind. Das Segment ITS wird
identifiziert, wenn die Bits 4 bis 7 der Struktur der Datenwortbeschreibung von 0 111 verschieden ist.
409849/0810
Die Segmentbeschreibung ITS gibt eine Segmentnummer SEG an, die die Segmenttabellennummer STN und die
Segmenttabelleneintragung STE enthält, bevor" sie während der Gewinnung einer effektiven Adresse verwendet
wird. Die Beschreibung ITB ist eine äquivalente Adreßsilbe, aus der durch ein Datenbasisregister eine
effektive Adresse gebildet wird.
In den Fig. 2C bis 2E bezeichnet die Zone TAG die Art der Beschreibung. Der Inhalt der TAG-Zone wird folgendermaßen
interpretiert:
00 ist die normale direkte Beschreibung, die das Datenwort bezeichnet.;
01 ist die erweiterte direkte Datenwortbeschreibung, in welcher die Beschreibung das Datenwort bezeichnet;
10 ist die indirekte Beschreibung, in welcher die Beschreibung eine andere Beschreibung bezeichnet;
11 gibt eine Störung an.
Die Zone DRN gibt die Ringnummer an, auf welche die
besondere Beschreibung zugreifen kann. STN bezeichnet die Segmenttabellennummer, die durch die Beschreibung
aufgerufen wird, wenn die Bits 4 bis 7 ihrer Struktur eine beliebige von 0111 verschiedene Zahl enthalten.
STE, die Segmenttabelleneintragung, erstreckt sich von 0 bis 3 (d.h. Aufruf von sehr großen Segmenten)
für STN zwischen 0 und 6 (Struktur 200D), während sich STN zwischen 8 und 15 von 0 bis 254 erstreckt
(d.h. Aufruf von kleineren Segmenten) (Struktur 200E). Die Segmenttabellennummer STN und die Segmenttabelleneintragung
STE definieren die Segmentnummer SEG. Deshalb ist zu bemerken, daß die Datenwortbeschreibung (Struktur
200D) vier Segmente beschreibt, die die Segmentnummern SEG 0 bis 4 in der Maschine bezeichnen, während
die Datenwortbeschreibung, die die Struktur 200E hat, 256 Segmente beschreibt, die die Segmentnummern SEG 0 bis
256 in der Maschine identifizieren, d.h. eine große An-
409849/0810
zahl von viel kleineren Segmenten. Die Verschiebung DISP bezeichnet die adressierte Oktade eines Worts
eines Segments, welches durch die Segmentnummer SEG angegeben ist, die die Segmenttabellennummer STN und
den Segmenttabelleneingang STE umfaßt. Es sei ein Beispiel gebildet und eine Datenwortbeschreibung mit der
Struktur 200D oder 200E angenommen: Wenn der Teil STN die Nummer 5 enthält, der Teil STE die Nummer 7 enthält
und DISP die Nummer 4 enthält, zeigt das an, daß die vierte Oktade eines Wortes in dem Segment,
welches durch die siebente Beschreibung in der Segmenttabellennummer STN 5 bezeichnet ist, erreicht sein
muß.
Eine Beschreibung ITB ist eine Adreßsilbe, die aus einer effektiven Adresse durch ein Datenbasisregister
gewonnen wird. Eine Beschreibung ITS ist eine effektive Adresse, die dazu verwendet wird, eine absolute Adresse
zu gewinnen. Bei der Gewinnung einer effektiven Adresse, entweder aus einer Beschreibung ITB oder aus einer
Beschreibung ITS, wird eine Kontrolle ausgeführt, um sicherzustellen, daß eine zweite Ebene der indirekten
Gewinnung nicht verlangt ist. Wenn eine zweite Ebene der indirekten Gewinnung nicht verlangt ist, erfolgt
eine Kontrolle, um festzustellen, ob das Indexbit in der Adreßsilbe gleich Eins ist. Wenn das Indexbit
gleich Eins ist, wird der Inhalt des Indexregisters, der in der Adreßsilbe bezeichnet ist, zu der Adresse
hinzugefügt. Wenn eine zweite Ebene der indirekten Gewinnung verlangt ist, wird sie in zu der ersten Ebene
identischa: Weise ausgeführt, usw. bis zu einer sechzehnten Ebene. Auf diese Weise sind allein sechzehn Ebenen der
indirekten Gewinnung während der Gewinnung der segmentierten Adresse zugelassen. Jede effektive Adresse besteht
aus einer Segmentnummer, die Zugriff auf ein bestimmtes Segment des Speichers gibt, und aus der Verschiebung,
die Zugriff auf die bezeichneten Speicherzellen in dem
409849/0810
Segment gibt. Die Segmentnummer besteht in Wirklichkeit aus zwei Zonen, nämlich der Segmenttabellennummer
STN und dem Segmenttabelleneingang STE. Die Zone STN wird dazu verwendet, die Adresse der Segmenttabelle
zu gewinnen,, während die Zone STE dazu verwendet wird, die Adresse einer Segmentbeschreibung
in der Tabelle zu gewinnen. Wie zuvor beschrieben, wird die Segmentnummer von dem Basisregister aus angenommen,
welches durch die Adreßsilbe erreicht wird. Demzufolge hat die Segmentnummer entweder sechs oder
zwölf Bits, in Abhängigkeit von dem Basisregister, welches erreicht worden ist, und von seiner Struktur,
die 200F oder 200G sein kann. Desgleichen besteht eine Basisregisterstruktur 200C, die oben erläutert ist,
aus einer Segmentnummer SEG mit sechs Bits, die eine Segmenttabellennummerzone STN mit vier Bits und
eine Segmenttabelleneingangszone STE mit zwei Bits hat. Die Zone STN mit vier Bits, deren Bit mit dem höchsten
Stellenwert gleich Null ist, ermöglicht den Zugriff auf Tabellen mit sechs Segmenten (STN gleich 6
oder gleich 7 ist untersagt). Die Zone STE mit zwei Bits ermöglicht vier Segmentbeschreibungen in jeder
Tabelle oder vier Eintragungen in diese Tabelle. Die Abmessung der Segmente die durch diese Tabellen erreicht
wird, kann bis 4 Megaoktaden reichen, da eine Verschiebung von 22 Bits vorgesehen ist. Unter Verwendung
dieser Struktur kann ein Vorgang auf 24 Segmente von 4 Megaoktaden zugreifen (sechs Segmenttabellen,
vier Segmentbeschreibungen pro Tabelle). Die Basisregisterstruktur 200F liefert eine Segmentnummer SEG mit zwölf Bits die aus einer Segmenttabellennummernzone
STN mit vier Bits und einer Segmenttabelleneingangszone STE mit. acht Bits besteht. Die
Zone STN mit vier Bits, deren Bit mit dem höchsten Stellenwert gleich Eins ist, ermöglicht den Zugriff
auf acht Segmenttabellen. Die Zone STE mit acht Bits
4098A9/0810
.- 28 -
ermöglicht 256 Segmentbeschreibungen in jeder Tabelle. Die Größe der Segmente, die durch diese Tabellen erreicht
wird, kann 64 Kilooktaden betragen, da eine Verschiebung von sechzehn Bits vorgesehen ist. Dieser
Aufbau sieht den Zugriff auf 2048 Segmente mit 64 Kilooktaden vor (acht Segmenttabellen, 256 Segmentbeschreibungen
pro Tabelle). Es ist selbstverständlich klar, daß man gemäß der Erfindung eine andere Anzahl
von Tabellen oder Segmenten verwenden kann.
Das Ablaufdiagramm von Fig. 5 (Bezugszahlen 506 bis 517)
zeigt die Schritte der Gewinnung der segmentierten effektiven Adresse für die indirekten und indiziert
indirekten Adressierungsarten. Die Fig. 6 und 7 zeigen die Hardwareeinrichtungen für die Erzeugung der
segmentierten effektiven und absoluten Adressen der indirekten und indizierten indirekten Adressierungsarten. Betrachtet man nun die Fig. 5, 6 und 7, so
sieht man, daß eine segmentierte relative Adresse SRA 606, 711 in der gleichen Weise wie bei der segmentierten
direkten Adressierungsart gewonnen wird und daß die segmentierte effektive Adresse unter Benutzung der
relativen Segmentadresse SRA 606, 711 sowie der Segmenttabellennummer
und der Segmenttabelleneintragung der Basisregister 602, 701 gewonnen wird (vgl. die Strukturen
200J und 200K, die weiter oben für die Strukturen der effektiven Adresse erläutert sind). Eine
absolute Adresse 608, 709 wird durch ein Verfahren und eine Hardware zur absoluten Adressierung gewonnen,
die weiter unten beschrieben sind und zum Gewinnen der endgültigen effektiven Adresse verwendet werden,
die ihrerseits zum Gewinnen der endgültigen absoluten Adresse verwendet wird, die zu dem Operanden gelangt.
Unter besonderer Bezugnahme auf Fig. 7 wird angenommen, daß die Adreßsilbe 700 eine "V in ihrer Indirekt-Zone
IND hat, die eine indirekte Adressierungsart anzeigt.
409849/081 0
Die Zone BR des Basisregisters der Adreßsilbe 700 zeigt das Basisregister 701 an, welches seinerseits
eine Segmentnummer SEG (d.h. STN und STE) liefert, die wiederum eine Segmenttabelleneintragung der Segmentbeschreibungen
703 liefert, welche in der Segmenttabelle 702 enthalten sind. Das Indizierungsbit
IDX der Adreßsilbe 700 ist in dem besonderen Beispiel auf 11O" gesetzt und gibt an, daß kein Indexregister
verwendet wird. Wenn das Indizierungsbit IDX auf "1" gesetzt wäre, würde es dadurch eine indizierte indirekte
Adressierungsart angeben und das Indexregister
706, welches durch die gestrichelte Linie 7O6A erreicht wird, würde während der endgültigen Bildung
der relativen Segmentadresse SRA benutzt werden. Diese Adresse SRA 707 wird aus der Verschiebung (Offset)
des Basisregisters 701 gebildet, welches die erste Oktade eines Wortes in einem Segment bezeichnet,
dessen Basisspeicherzelle durch die Basiszone der Segmentbeschreibung
bezeichnet ist, welche durch STN und. STE und die Verschiebung der Adreßsilbe 700 bezeichnet
ist, die die Oktade eines Wortes bezeichnet. Die relative Segmentadresse SRA stellt gemeinsam mit der
Segmentnummer SEG in diesem Beispiel Elemente der segmentierten effektiven Adresse dar, weil keine Indizierung
verlangt worden ist. Wenn eine solche Indizierung verlangt worden wäre, würde die effektive
Adresse den Index enthalten. Die segmentierte effektive Adresse wird gemäß einer Methode und einer Hardware
verwendet, die weiter unten beschrieben sind, damit eine absolute Adresse 709 einer Datenwortbeschreibung
gebildet wird. Die Zone BR des Basisregisters der Datenwortbeschreibung
710 hätte in diesem Beispiel den Code 0 1 1 1, der anzeigt, daß die Datenwortbeschreibung
710 gemäß einer Basisstruktur ITB indirekt ist (vgl. die Struktur der Datenwortbeschreibung' 200C-200E).
Die Zone BR des Basisregisters BR der Datenwortbe-
A09849/0810
Schreibung 710 bezeichnet außerdem das Datenbasisregister 704. Die Verschiebung (OFFSET) des Registers
704 und die Verschiebung der Datenwortbeschreibung 710 ebenso wie der INDEX (falls er verwendet wird)
des Indexregisters 706 bilden die relative Segmentadresse SRA 711. Diese Adresse SRA 711 ebenso wie die Segmentnummer
SEG und ein Index (gegebenenfalls) enthalten eine zweite segmentierte effektive Adresse, die zum Bilden
der absoluten Adresse 713 für den Zugriff auf einen Operanden in dem Hauptspeicher benutzt wird.
In Fig. 5 (Bezugszahlen 506-509, 511, 515-517 und 512-514)
und in Fig. 8 erkennt man die. Methode und die Hardware für die Gewinnung der indirekten Adresse unter
Verwendung der indirekten Adressierung mittels der Segmentadressierungsart ITS. Es ist zu bemerken, daß
die Hardware und die Methode praktisch gleich der Adressierungsart ITB sind, mit der Ausnahme, daß die Datenwortbeschreibung
810 (710 in Fig. 7) nicht ein Basisregister bezeichnet, wie es die Datenwortbeschreibung
710 tut, sondern statt dessen direkt das Segment durch seine Segmentnummer SEG angibt. Die Struktur der Datenwortbeschreibung
810 ist demgemäß von der der Datenwortbeschreibung 710 verschieden und zwar dahingehend,
daß sie die Struktur 200D oder 200E der Fig. 2D bzw. 2E hat. In bestimmten anderen Beziehungen wird man
feststellen, daß die Hardware und die Methode praktisch gleich sind.
Die Elemente der segmentierten effektiven Adresse,die
gewonnen worden sind, die absolute Adresse des Operanden oder der Beschreibung, je nach dem, können gewonnen
werden. In den Fig. 9 und 10 ist ein Ausführungsbeispiel des Verfahrens und der Hardware für die Gewinnung
der absoluten Adresse dargestellt. In diesem Ausführungsbeispiel wird der Prozedursteuerblock 1002 durch
409849/0810
"Tabellen J.P." (vgl. das Glossar) aufgerufen. Das Bit hoher Stellenwertigkeit der Segmenttabellennummer
STN der effektiven Adresse 1001 wird dazu benutzt, auf ein oder zwei Adressenraumworte 1003 oder 1004
zuzugreifen. Das Adressenraumwort, auf welches der Zugriff erfolgt ist, enthält die Basisadresse einer
Liste 1005 der Worte, die die Segmenttabellen beschreiben. Der Inhalt des Adresseraumworts wird zu
den Bits niedriger Stellenwertigkeit 3 der Segmenttabellennummer STN der effektiven Adresse 1001 mit
Hilfe des Addierers 1011 hinzugefügt, damit die Adresse eines Segmenttabellenworts 1006 in der Liste 1005
erzeugt wird. Jedes Segmenttabellenwort 1006 enthält die absolute Adresse des Anfangs einer Segmenttabelle
1007, die die Segmentbeschreibung 1008 enthält. Folglich erhält man durch Lesen des Segmenttabellenworts
1006 und durch Hinzufügen der Segmenttabelleneintragung STE der effektiven Adresse 1001 mit Hilfe
des Addierers 1012 die Adresse einer besonderen Segmentbeschreibung
1008 in der Segmenttabelle 1007. So, wie es bis hierher beschrieben worden ist, enthalten
die Segmentbeschreibungen Informationen, welche ein zugeordnetes Speichersegment betreffen, einschließlich
der Anfangsadresse oder der Basisadresse des Segments und der Länge des Segments. Deshalb wird durch
Hinzufügen der absoluten Adresse des Anfangs der Segmente (vgl. die Struktur der weiter oben beschriebenen
Segmentbeschreibung) und .der Verschiebungsbits der segmentierten relativen Adresse der effektiven Adresse
1001 die gewünschte Ilauptspeicheradresse 1010 erhalten.
Man könnte die obigen Erläuterungen damit abschließen, daß die effektive Adresse des Hauptspeichers nur durch
Zugriff auf die Segmenttabellen mit der absoluten Adresse des Hauptspeichers "verglichen" werden kann. Infolge
der Anzahl von Zugriffen im Speicher, die ausgeführt werden müssen, um die Basisadresse des Speichersegments
zu erhalten, die in der Segmentbeschreibung enthalten
409849/0810
ist, speichert gleichwohl ein assoziativer Speicher in der Zentraleinheit CPU, die in Fig. 11 dargestellt
ist, die acht Segmentbeschreibungen, die früher mit ihren Segmentnummern benutzt worden sind. Während der
Gewinnung der absoluten Adresse wird die Segmentnummer in der effektiven Adresse 1001 mit der Segmentnummer
in dem assoziativen Speicher verglichen und, wenn dieser Vergleich eine Gleichheit ergibt, wird die
Segmentbeschreibung in dem assoziativen Speicher zum Bilden der Adresse verwendet (diese Technik des assoziativen
Speichers für die Bildung der Adresse ist Gegenstand einer deutschen Patentanmeldung vom 26. September
1973, Aktenzeichen ρ 23 48 486.8).
Fig. 11 zeigt ein anderes Beispiel einer Schaltung, die bei der Gewinnung der effektiven Adresse aus
einem Segment und der absoluten Adresse mit Hilfe eines assoziativen Speichers 1206 verwendet wird.
Gemäß Fig. 11 werden die Basisregister 1202 BRO bis BR7 durch ein Register 1203 adressiert, welches die
Adresse eines Basisregisters enthält, die aus dem Adreßsilbenteil eines Befehls oder aus einer Datonwortbeschreibung
(Fall ITB) stammt. Die Segmentnummer SEG, die aus der Adresse kommt, welche in dem Basisregister
enthalten ist, oder aus der Adresse, die in einer Datenwortbeschreibung enthalten ist, wird in das Register
1205 gebracht, während die Verschiebung (OFFSET), welche dieselbe Herkunft hat, in das Register 1210 gebracht
wird. Diese Verschiebung (OFFSET) wird durch den Addierer 1208 zu der Verschiebung addiert, die aus der Adreßsilbe
s.tammt, welche in dem Befehl enthalten ist, und das Ergebnis wird wieder in das Register 1210 eingebracht
(wenn eine Indizierung erfolgt, wird danach der Index durch den Addierer 1208a zu dem Inhat von AC addiert
und das Ergebnis wird erneut in das Register 1210 eingegeben). Der Inhalt des Registers 1210 enthält nun
409849/Ü810
die effektive Adresse innerhalb des Segments.
Die in das Register 1205 eingegebene Segmentnummer wird an den Eingang des assoziativen Speichers 1206a
abgegeben. Wenn die Information (Fall 1) in dem assoziativen Speicher zur Verfügung steht, wählt derselbe
eine entsprechende Segmentbeschreibung aus, die sich in einem Segmentbeschreibungsspeicher 1206b befindet. Wenn
die Information (Fall 2) in dem asspziativen Speicher nicht zur Verfügung steht, macht derselbe von einer
besonderen Vorrichtung Gebrauch, die nach dem Zugriff in den zuvor beschriebenen Tabellen die entsprechende
Segmentbeschreibung in dem Hauptspeicher sucht. Diese Segmentbeschreibung wird nun in den Segmentbeschreibungsspeicher
eingegeben und die interne Segmentnummer in RS wird in den assoziativen Speicher geladen. Man
befindet sich nun wieder in dem Fall 1.
Die in der Segmentbeschreibung enthaltene Basisadresse wird nun in einem Addierer 1208b zu der effektiven Adresse
addiert und das Ergebnis (absolute Adresse) wird in das Register 1209 eingegeben. Das Register 1209 wird
zum Adressieren des Hauptspeichers verwendet. Der Inhalt des Registers 1209 kann in einem Speicher 1201
für absolute Adressen, der vier Speicherzellen PAO bis PA3 enthält, für eine spätere Verwendung aufbewahrt
werden.
Die vorliegende Erfindung ist selbstverständlich keineswegs
auf die angegebenen vier Ausführungsbeispiele beschränkt. Im Rahmen der Erfindung sind zahlreiche
Abwandlungen und Abänderungen möglich.
409849/0810
Glossar
Arbeit
oder Job
oder Job
Eine Arbeit ist die Operationshaupteinheit für den Anwender bei der gruppenweisen Verarbeitungsorganisation
.
Arbeitsstufe Eine kleinere Einheit der gruppenweisen Verarbeitung.
Es handelt sich allgemein um eine Stufe in der Ausführung einer Arbeit, die aus ineinandergefügten Verarbeitungen besteht.
Das ist die kleinste Arbeitseinheit bei gruppenweiser Verarbeitung. Während der Ausführung
einer Task (Aufgabe) kann keine andere Operation in sichtbarer Weise durch den Anwender
ausgeführt werden.
Programm Gesamtheit der von einem Programmierer geschriebenen Algorithmen, die die Prozedur
angeben, welche zum Ausführen einer Arbeit oder eines Arbeitsteils erforderlich ist.
Gruppe von
Vorgängen
Vorgängen
Gesamtheit der Vorgänge, die allgemein zum Ausführen einer einzelnen Arbeitsstufe erforderlich
sind.
Vorgang Kontrollierte Ausführung von nicht gleichzeitigen Befehlen. Seine räumliche Darstellung
und seine Kontrolle sind durch den internen Aufbau des Systems oder durch Vereinbarung
festgelegt.
Prozedur Bezeichnung einer Software- oder Algorithmusfunktion, die durch einen Rechenprozessor ohne
40984 9/0810
Gleichzeitigkeit ausgeführt werden kann. Ihre räumliche Darstellung ( Code + zugeordnete
Information), Aufruf und Verwendung sind durch den internen Aufbau des Systems oder durch eine
bestimmte Vereinbarung festgelegt.
Logischer
Prozessor
Prozessor
Gesamtheit der Hafdwareeinrichtungen und der Steuerinformationeh, die für die Ausführung
eines Vorgangs erforderlich sind.
Adressenraum (Segmentierung)
Gesamtheit der logischen Adressen, die der Zentralprozessor während der Ausführung eines
bestimmten Vorgangs in absolute Adressen umformen kann. Obwohl der Prozessor die technische Möglichkeit
hat, jede einfache Zelle des Taktgeberspeichers zu adressieren, ist es erwünscht, den
Zugriff auf diejenigen zu beschränken, die während der Ausführung des dem Prozessor zugeordneten
Vorgangs benutzt werden.
Namen raum
Gesamtheit der Namen, die zum Bezeichnen der Größen (Vorgänge und Daten) verwendet werden,
welche durch einen bestimmten Vorgang verarbeitet werden.
Logische
Adresse
Adresse
Element des Adressenraums des Vorgangs, wie etwa der Segmentname SEG und die Verschiebung D.
Grundmethode
der Adressengewinnung Hardwareprozedur, die mehrere Adrossenelenu;nte
der Adressengewinnung Hardwareprozedur, die mehrere Adrossenelenu;nte
koordiniert, um eine absolute Adresse zu borech-
409849/0810
nen, welche als Hinweis auf eine Oktadeposition in dem Hauptspeicher verwendet wird.
Vorgangssteuerblock Ein Vorgangssteuerblock PCB ist jedem Vorgang zugeordnet und enthält die notwendigen Informationen,
die diesen Vorgang betreffen, und insbesondere die absolute Adresse der Tabellen,
die die Segmenttabellen angeben, auf welche der Vorgang zugreifen kann.
Tabellen J.P. Gesamtheit der logischen Adressen, die das
Auffinden des einem Vorgang zugeordneten Vorgangssteuerblocks
ermöglichen.
409849/081 0
Claims (23)
1. Vorrichtung zum Berechnen der relativen Adresse SRA
eines in einem Segment enthaltenen Operanden in einem Datenverarbeitungssystem, welches auf Befehlsworte anspricht
und verschiedene Datenanordnungen gespeichert hat, wobei jede Datenanordnung einem Adressenraum mit
bestimmten Abmessungen zugeordnet ist, gekennzeichnet durch:
a) Einrichtungen zum Speichern mindestens einer Segmenttabelle, die eine Anordnung von Segmentbeschreibungen
mit einer vorbestimmten Struktur enthält, wobei die Segmentbeschreibungen jeweils eine
bestimmte Struktur haben, die ein zugeordnetes Segment beschreibt und eine Basisadresse desselben enthält,
b) eine Anordnung von zweiten Einrichtungen zum Speichern von Segmentnummern, die die Identifizierung von Segmenttabellen
und der Speicherzelle einer Segmentbeschreibung ermöglichen, wobei die zweiten Einrichtungen
außerdem die. Speicherung einer Verschiebung OFFSET ermöglichen, die zum Auffinden der ersten Oktade
eines Wortes im Inneren des Segments von der Segmentbasis aus dient,
c) dritte Einrichtungen, die auf ein Adreßsilbenelement eines auszuführenden Befehls für die Adressierung
einer der zweiten Einrichtungen ansprechen,
d) vierte Einrichtungen zum Speichern einer Verschiebung
(D), die in der Adreßsilbe enthalten ist und dazu dient, von der ersten Oktade eines Wortes eines Segments aus eine weitere Oktade dieses Wortes aufzufinden,
und
e) Einrichtungen zum Addieren der Verschiebung (D) zu der OFFSET-Verschiebung.
409849/0810
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch
Einrichtungen zum Speichern eines Adressierungsindex des in der Adressierungsfolge folgenden Wortes und durch
Einrichtungen zum Addieren des Index zu der Verschiebung (D) und der OFFSET-VerSchiebung.
3. Vorrichtung nach Anspruch 1, gekennzeichnet durch Einrichtungen zum Erzeugen der absoluten Adresse eines
Operanden durch Addition der relativen Adresse (SRA)
des Segments zu der Basisadresse desselben, die in der Segmentbeschreibung enthalten ist.
4. Vorrichtung nach Anspruch 3, gekennzeichnet durch
Einrichtungen, mittels welchen die absolute Adresse des Operanden inkrementiert wird, damit das folgende
Wort erhalten wird.
5. Vorrichtung zum Berechnen der relativen Adresse SRA
eines in einem beliebigen Segment enthaltenen Operanden durch indirekte Adressierung für ein Datenverarbeitungssystem mit interner Programmierung, welches auf Befehlsworte anspricht, mehrere Basisregister besitzt und im
Speicher Daten enthält, die zu Anordnungen zusammengefaßt sind, wobei jede Anordnung einem Adressenraum mit
bestimmten Abmessungen zugeordnet ist, gekennzeichnet durch:
a) Einrichtungen zum Erzeugen der absoluten Adresse einer Datenwortbeschreibung, die ein Basisregisteradressenelement
enthält, welches die Identifizierung eines der Basisregister ermöglicht, das die ersten
Adressenelemente der Adresse eines Operanden, welcher sich innerhalb eines Segments befindet, und die Datenwortbeschreibung
enthält, die das Ermitteln der zweiten Adressenelemente eines Operanden ermöglicht, der sich innerhalb des Segments befindet,
409849/0810
b) Einrichtungen zum Speichern mindestens einer Segmenttabelle, die mehrere Segmentbeschreibungen
enthält und einen vorbestimmten Aufbau hat, wobei die Segmentbeschreibungen jeweils ein zugeordnetes
Segment beschreiben und die Basisadresse dieses Segments enthalten und wobei die Segmentbeschreibung
durch ein in dem Basisregister enthaltenes Adressenelement identifiziert wird, und
c) Einrichtungen zum Erzeugen der relativen Adresse
(SRA) aus den ersten und zweiten Adressenelementen.
6. Vorrichtung nach Anspruch 5, gekennzeichnet durch Einrichtungen
zum Berechnen der absoluten Adresse eines in einem Segment enthaltenen Operanden aus der relativen
Adresse (SRA) und der Basisadresse.
7. Vorrichtung nach Anspruch 5, gekennzeichnet durch
erste Adressenelemente, die eine Segmentnummer (SEG) und eine OFFSET-Adresse enthalten, wobei die Segmentnummer
das Auffinden der Segmentbeschreibungen in der Segmenttabelle ermöglicht und wobei die OFFSET-Adresse ermöglicht,
einen ersten Operanden von der Basis des Segments aus zu adressieren, die sich am Anfang des Segments befindet.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die zweiten Adressenelemente eine Verschiebung (D)
enthalten, die das Auffinden einer Oktade in einem Wort
ermöglicht, welches ausgehend von dem Beginn der ersten Oktade des Wortes mehrere Oktaden enthält.
9. Vorrichtung nach Anspruch 8, gekennzeichnet durch Einrichtungen
zum Addieren der OFFSET-VerSchiebung und der Verschiebung (D) zum Gewinnen der relativen Adresse (SRA).
409849/0810
10. Vorrichtung nach Anspruch 9, gekennzeichnet durch Einrichtungen zum Berechnen der absoluten Adresse eines
in dem Segment enthaltenen Operanden durch Addition der Basisadresse und der relativen Adresse.
11. Vorrichtung zum Gewinnen der relativen Adresse SRA
eines in einem Segment enthaltenen Operandenwortes durch η indirekte Adressierungen, nach den Ansprüchen 1 und 5,
dadurch gekennzeichnet, daß:
. a) das Basisadressenelement das Auffinden der Basis des zugeordneten Segments ermöglicht und daß
eine Segmentbeschreibung durch ein erstes Element identifiziert wird, welches in einem der Basisre-•
gister gespeichert ist,
b) eine Anordnung von zweiten Einrichtungen das Speichern einer Adreßsilbe des Befehls ermöglicht,
wobei die Adreßsilbe die Adresse eines Basisregisters enthält, welches ein zweites Adressenelement enthält,
und ein Element der Verschiebung (D) mit Bezug auf die erste Oktade des ersten Wortes des
Operanden,
c) eine dritte Anordnung von Einrichtungen "zum Berechnen
der absoluten Adresse einer Datenwortbeschreibung aus dem zweiten Adressenelement, der Verschiebung
und der Basisadresse vorgesehen ist, wobei die Datenwortbeschreibung ein zweites Basisadressenelement
enthält, welches ein zweites Basisregister bezeichnet, das ein drittes Adressenelement
eines Operanden enthält, der sich innerhalb eines zweiten Segments befindet, und wobei die Datenwortbeschreibung
eine Verschiebung enthält, die das ■Adressieren einer Oktade des zweiten Segments von
dem Anfang der ersten Oktade des letzten Operandenworts aus ermöglicht, und
409849/0810
d) vierte Einrichtungen vorgesehen sind zum Berechnen
der relativen Adresse des Segments des letzten Operanden aus dem dritten Adressenelement
und der zweiten Verschiebung.
12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß das dritte Ädressenelement eine Segmentnummer
(SEG) zum Auffinden der zweiten Datenwortbeschreibung enthält, die dem Segment des dritten Adressenelements
in der zweiten Basisregisteranordnung zugeordnet ist, welches eine OFFSET-Verschiebung zum Auffinden des
letzten Operanden in dem zweiten Segment enthält.
13. Vorrichtung nach Anspruch 12, gekennzeichnet
durch Einrichtungen zum Berechnen der Adresse des Wortes eines letzten Operanden aus der OFFSET-Verschiebung
und der relativen Adresse des letzten Operanden.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet,
daß die Einrichtungen zum Berechnen der absoluten Adresse aus einem Addierer bestehen, in welchem die
OFFSET-Verschiebung und die relative Segmentadresse (SRA) addiert werden.
15. Vorrichtung nach Anspruch 1 zum Gewinnen der relativen
Adresse SRA eines in einem Segment enthaltenen letzten Operanden durch η indirekte Prozeduren, gekennzeichnet
durch
a) Einrichtungen zum Speichern von Segmenttabellen, die mehrere Segmentbeschreibungen enthalten, welche
jeweils ein Segment beschreiben, wobei eine Segmentbeschreibung ein Basisadressenelement enthält
und das Auffinden des Anfangs des Segments ermöglicht,
409849/0810
b) zweite Einrichtungen zum Speichern einer Adreßsilbe,
die ein Adressenelenient eines Basisregisters enthält, welches das Identifizieren eines
dieser Register ermöglicht, welches ein zweites Adressenelement eines Operandenwortes innerhalb
des ersten Segments, und von der Basis desselben ars enthält, wobei die Adreßsilbe außerdem eine
erste Adressenverschiebung für die Adressierung einer Oktade des ersten Operanden enthält und wobei
diese Oktade mit Bezug auf den Anfang des ersten Operanden adressiert wird,
c) dritte Einrichtungen zum Berechnen der absoluten Adresse der Datenwortbeschreibung aus einem zweiten
Adressenelement der ersten Verschiebung und der Basisadresse, wobei die Datenwortbeschreibung eine
dritte Basisadresse des Operanden enthält, der sich in einem zweiten Segment befindet, und wobei die
Datenwortbeschreibung eine zweite Verschiebung enthält, die das Adressieren einer Oktade des zweiten
Operandenwortes mit Bezug auf den Anfang des Wortes des letzten Operanden ermöglicht, und
d) vierte Einrichtungen zum Berechnen der relativen Adresse (SRA) aus dem dritten Adressenelement und
der zweiten Verschiebung.
16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet,
daß das dritte Adressenelement der Datenwortbeschreibung eine Segmentnummer (SEG) zum Auffinden der zweiten Segmentbeschreibung
enthält.
17. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet,
daß es sich bei der Datenwortbeschreibung um eine direkte Beschreibung handelt, daß die zweite Segmentbeschreibung
eine zweite Basisadresse des Anfangs des zweiten Segments enthält, und daß Einrichtungen zum Berechnen der absoluten
409849/0810
Adresse des Befehlswortes des letzten Operanden aus der zweiten Verschiebung und der zweiten Basisadresse
der zweiten Segmentbeschreibung vorgesehen sind.
18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet,
daß die Einrichtungen zum Berechnen des letzten Operanden aus einem Addierer bestehen, in welchem die
zweite Verschiebung und die zweite Basisadresse addiert werden.
19. Vorrichtung nach Anspruch 18, gekennzeichnet durch Einrichtungen zum Inkrementieren der absoluten
Adresse des letzten Operanden zum Gewinnen des folgenden Wortes.
20. Vorrichtung nach Anspruch 18, gekennzeichnet durch
Indizierungseinrichtungen für die Inkrementierung der relativen Adresse (SRA) des letzten Operanden zum Gewinnen
der relativen Adresse des folgenden Wortes.
21. Vorrichtung nach einem der Ansprüche 1 bis 20 zum
Berechnen der absoluten Adresse des in einem vorbestimmten Segment enthaltenen letzten Operanden für ein
Datenverarbeitungssystem, welches auf Befehlsworte anspricht und mehrere erste Einrichtungen zum Speichern
von Adressenelementen eines letzten Operanden hat, in welche verschiedene Anordnungen von Daten eingespeichert
sind, wobei jede Anordnung von Daten einem Adressenraum zugeordnet ist, gekennzeichnet durch:
a) erste Einrichtungen, die auf ein erstes und auf ein zweites Adressenelement ansprechen, wobei das
erste Element in den Befehlen und das zweite Element in den ersten Speichereinrichtungen enthalten ist
und wobei die ersten Einrichtungen auf eines der ersten Elemente und auf eines der zweiten Elemente hin die
relative Adresse (SRA) des letzten Operanden berechnen,
4098 4 9/0810
b) zweite Einrichtungen zum Speichern mindestens einer Segmenttabelle, die Segmentbeschreibungen
enthält, welche jeweils einem Segment zugeordnet
.sind und welche jeweils die Basisadresse des zugeordneten
Segments enthalten, und
c) Einrichtungen zum Berechnen der absoluten Adresse des letzten Operanden aus der Basisadresse und der
relativen Adresse (SRA).
22. Vorrichtung nach Anspruch 21, gekennzeichnet durch
Einrichtungen zum Inkrementieren der absoluten Adresse des letzten Operanden, damit die absolute Adresse des
folgenden Wortes erhalten wird.
23. Vorrichtung nach Anspruch 22, gekennzeichnet durch Inkrementierungseinrichtungen zum Gewinnen der relativen
Adresse (SRA), die der relativen Adresse des laufenden Wortes folgt.
409849/081Q
Leerseife
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7317765A FR2230258A5 (de) | 1973-05-16 | 1973-05-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2423194A1 true DE2423194A1 (de) | 1974-12-05 |
DE2423194C2 DE2423194C2 (de) | 1983-02-24 |
Family
ID=9119429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2423194A Expired DE2423194C2 (de) | 1973-05-16 | 1974-05-14 | Vorrichtung zum Berechnen einer absoluten Hauptspeicheradresse in einer Datenverarbeitungsanlage |
Country Status (6)
Country | Link |
---|---|
US (1) | US4385352A (de) |
JP (1) | JPS5042752A (de) |
DE (1) | DE2423194C2 (de) |
FR (1) | FR2230258A5 (de) |
GB (1) | GB1465344A (de) |
IT (1) | IT1012439B (de) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5931734B2 (ja) * | 1977-10-25 | 1984-08-03 | デイジタル イクイプメント コ−ポレ−シヨン | 特別のオペランド指定子を持つた命令を実行する中央処理装置 |
JPS6017130B2 (ja) * | 1980-06-06 | 1985-05-01 | 日本電気株式会社 | アドレス制御装置 |
JPS5734251A (en) * | 1980-08-07 | 1982-02-24 | Toshiba Corp | Address conversion and generating system |
SE424581B (sv) * | 1981-08-21 | 1982-07-26 | Ibm Svenska Ab | Metod och anordning for adressering av ett minne |
GB2127998B (en) * | 1982-09-27 | 1986-06-18 | Data General Corp | Encachement apparatus |
JPS6051957A (ja) * | 1983-08-31 | 1985-03-23 | Toshiba Corp | マイクロプロセツサシステム |
JPS60110056A (ja) * | 1983-10-31 | 1985-06-15 | Nec Corp | デ−タ処理システムにおけるメモリのアドレス生成を動的に変更する方法 |
GB8405491D0 (en) * | 1984-03-02 | 1984-04-04 | Hemdal G | Computers |
JPS61190638A (ja) * | 1985-02-20 | 1986-08-25 | Hitachi Ltd | 仮想計算機のフアイル制御方式 |
US4984151A (en) * | 1985-03-01 | 1991-01-08 | Advanced Micro Devices, Inc. | Flexible, next-address generation microprogram sequencer |
US4758951A (en) * | 1985-04-09 | 1988-07-19 | Tektronix, Inc. | Method for translating virtual addresses into real addresses |
US5027273A (en) * | 1985-04-10 | 1991-06-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
JPH06105435B2 (ja) * | 1985-10-25 | 1994-12-21 | 株式会社日立製作所 | 情報処理装置による記憶管理機構 |
JPH0658649B2 (ja) * | 1985-10-28 | 1994-08-03 | 株式会社日立製作所 | 仮想記憶装置における領域管理方法 |
US4763244A (en) * | 1986-01-15 | 1988-08-09 | Motorola, Inc. | Paged memory management unit capable of selectively supporting multiple address spaces |
JP2545789B2 (ja) * | 1986-04-14 | 1996-10-23 | 株式会社日立製作所 | 情報処理装置 |
US4922417A (en) * | 1986-10-24 | 1990-05-01 | American Telephone And Telegraph Company | Method and apparatus for data hashing using selection from a table of random numbers in combination with folding and bit manipulation of the selected random numbers |
US5053951A (en) * | 1986-12-23 | 1991-10-01 | Bull Hn Information Systems Inc. | Segment descriptor unit for performing static and dynamic address translation operations |
US5317717A (en) * | 1987-07-01 | 1994-05-31 | Digital Equipment Corp. | Apparatus and method for main memory unit protection using access and fault logic signals |
JPH01112450A (ja) * | 1987-10-27 | 1989-05-01 | Sharp Corp | メモリ管理ユニット |
US4961139A (en) * | 1988-06-30 | 1990-10-02 | Hewlett-Packard Company | Data base management system for real-time applications |
JPH0289132A (ja) * | 1988-09-26 | 1990-03-29 | Nec Corp | 論理アドレス生成方式 |
US5051894A (en) * | 1989-01-05 | 1991-09-24 | Bull Hn Information Systems Inc. | Apparatus and method for address translation of non-aligned double word virtual addresses |
FR2652926B1 (fr) * | 1989-10-06 | 1994-07-08 | Bull Sa | Procede d'exploitation de la memoire dans un systeme informatique du type a adressage virtuel et dispositif pour la mise en óoeuvre dudit procede. |
US5313606A (en) * | 1991-01-17 | 1994-05-17 | Chips And Technologies, Inc. | System for detecting boundary cross-over of instruction memory space using reduced number of address bits |
US5297285A (en) * | 1991-07-23 | 1994-03-22 | Telefonaktiebolaget L M Ericsson | System for dynamically linking modular portions of computer software |
CA2083634C (en) * | 1991-12-30 | 1999-01-19 | Hung Ping Wong | Method and apparatus for mapping page table trees into virtual address space for address translation |
US5765210A (en) * | 1994-12-12 | 1998-06-09 | International Business Machines Corporation | Allocation of real storage for hardware descriptors within virtual memory that are associated with on-line storage increments |
JP2820048B2 (ja) * | 1995-01-18 | 1998-11-05 | 日本電気株式会社 | 画像処理システムとその記憶装置およびそのアクセス方法 |
US5768574A (en) * | 1995-06-07 | 1998-06-16 | Advanced Micro Devices, Inc. | Microprocessor using an instruction field to expand the condition flags and a computer system employing the microprocessor |
US5822778A (en) * | 1995-06-07 | 1998-10-13 | Advanced Micro Devices, Inc. | Microprocessor and method of using a segment override prefix instruction field to expand the register file |
US5680578A (en) * | 1995-06-07 | 1997-10-21 | Advanced Micro Devices, Inc. | Microprocessor using an instruction field to specify expanded functionality and a computer system employing same |
US5819080A (en) * | 1996-01-02 | 1998-10-06 | Advanced Micro Devices, Inc. | Microprocessor using an instruction field to specify condition flags for use with branch instructions and a computer system employing the microprocessor |
US5951676A (en) * | 1997-07-30 | 1999-09-14 | Integrated Device Technology, Inc. | Apparatus and method for direct loading of offset register during pointer load operation |
JPH11109911A (ja) * | 1997-09-30 | 1999-04-23 | Fuurie Kk | 表示装置 |
US6230259B1 (en) | 1997-10-31 | 2001-05-08 | Advanced Micro Devices, Inc. | Transparent extended state save |
US6157996A (en) * | 1997-11-13 | 2000-12-05 | Advanced Micro Devices, Inc. | Processor programably configurable to execute enhanced variable byte length instructions including predicated execution, three operand addressing, and increased register space |
US6877084B1 (en) | 2000-08-09 | 2005-04-05 | Advanced Micro Devices, Inc. | Central processing unit (CPU) accessing an extended register set in an extended register mode |
US6981132B2 (en) | 2000-08-09 | 2005-12-27 | Advanced Micro Devices, Inc. | Uniform register addressing using prefix byte |
US7146373B2 (en) * | 2002-07-19 | 2006-12-05 | International Business Machines Corporation | Data-space tracking with index data-spaces and data data-spaces |
US7085787B2 (en) | 2002-07-19 | 2006-08-01 | International Business Machines Corporation | Capturing data changes utilizing data-space tracking |
US8843727B2 (en) * | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
US7707385B2 (en) * | 2004-12-14 | 2010-04-27 | Sony Computer Entertainment Inc. | Methods and apparatus for address translation from an external device to a memory of a processor |
US8538935B2 (en) * | 2009-09-25 | 2013-09-17 | Formrouter Inc. | One-to-one and one-to-many relationships in databases |
GB2488980B (en) | 2011-03-07 | 2020-02-19 | Advanced Risc Mach Ltd | Address generation in a data processing apparatus |
US8793429B1 (en) * | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3504349A (en) * | 1967-09-27 | 1970-03-31 | Ibm | Address examination mechanism for use in a system operating with dynamic storage relocation |
GB1329721A (en) * | 1970-05-26 | 1973-09-12 | Plessey Co Ltd | Data processing devices |
FR122199A (de) * | 1973-12-17 | |||
US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
US4024508A (en) * | 1975-06-19 | 1977-05-17 | Honeywell Information Systems, Inc. | Database instruction find serial |
-
1973
- 1973-05-16 FR FR7317765A patent/FR2230258A5/fr not_active Expired
-
1974
- 1974-05-14 DE DE2423194A patent/DE2423194C2/de not_active Expired
- 1974-05-15 GB GB2163074A patent/GB1465344A/en not_active Expired
- 1974-05-15 JP JP49053474A patent/JPS5042752A/ja active Pending
- 1974-05-16 IT IT22811/74A patent/IT1012439B/it active
-
1981
- 1981-04-13 US US06/253,879 patent/US4385352A/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
AFIPS Proceedings of the Spring Joint Computer Conference, 1966, Seiten 65 bis 69 * |
Also Published As
Publication number | Publication date |
---|---|
DE2423194C2 (de) | 1983-02-24 |
FR2230258A5 (de) | 1974-12-13 |
IT1012439B (it) | 1977-03-10 |
JPS5042752A (de) | 1975-04-18 |
US4385352A (en) | 1983-05-24 |
GB1465344A (en) | 1977-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2423194A1 (de) | Vorrichtung zur adressengewinnung und -berechnung in einem segmentierten speicher | |
DE69819686T2 (de) | Objekt und verfahren zum bereitstellen eines effizienten mehrbenutzerzugriff auf verteilten betriebssystemkernkode durch instanzierung | |
DE2459006C2 (de) | Einrichtung zum Bilden einer absoluten Adresse in einer Datenverarbeitunsanlage | |
EP1393184B1 (de) | Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten | |
DE68921775T2 (de) | Prozessorssimulation. | |
DE3751645T2 (de) | Anteilige Nutzung von Kopie-beim-Schreiben-Segmenten in einer Datenverarbeitungsanlage mit virtuellen Maschinen und virtuellem Speicher | |
DE68921776T2 (de) | Prozessorssimulation. | |
DE3151745C2 (de) | ||
DE3855158T2 (de) | Dekodier-verfahren und -system für Befehle mit verschiedenen unvereinbaren Formaten | |
DE60034170T2 (de) | Protokoll zum Koordinieren der Verteilung von gemeinsamem Speicher | |
DE69019925T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Vervielfältigung von globalen Daten. | |
DE69738101T2 (de) | Verwaltung des Zugangs zu Objekten mit Hilfe von Referenzen mit drei Zuständen | |
DE69028269T2 (de) | Virtuelles Adressierungsverfahren zum Betrieb eines Speichers in einer Datenverarbeitungsanlage und Einrichtung zur Ausführung besagten Verfahrens | |
DE68916853T2 (de) | Unabhängige Programmlader für virtuelle Maschinenarchitektur. | |
DE3741953A1 (de) | Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen | |
DE102013017509A1 (de) | Effiziente Speichervirtualisierung in mehrsträngigen Verarbeitungseinheiten | |
DE1524129A1 (de) | Datenverarbeitungssystem mit gemeinsamem Zugang | |
DE2302074A1 (de) | Speicherschutzanordnung in einem multiprozessorsystem | |
DE102013017511A1 (de) | Effiziente speichervirtualisierung in mehrsträngigen verarbeitungseinheiten | |
DE69027017T2 (de) | Anordnung und Verfahren zur Speicherverwaltung in einem Mikrorechner | |
DE3885780T2 (de) | Adressierung in einer Computer-Anordnung. | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE1549531A1 (de) | Digitale Rechenanlage | |
DE2641722A1 (de) | Hierarchisch geordnetes speichersystem fuer eine datenverarbeitende anlage mit virtueller adressierung | |
DE2101949A1 (de) | Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OGA | New person/name/address of the applicant | ||
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |