DE2926589A1 - Anordnung zur verlaengerung einer logischen computeradresse - Google Patents
Anordnung zur verlaengerung einer logischen computeradresseInfo
- Publication number
- DE2926589A1 DE2926589A1 DE19792926589 DE2926589A DE2926589A1 DE 2926589 A1 DE2926589 A1 DE 2926589A1 DE 19792926589 DE19792926589 DE 19792926589 DE 2926589 A DE2926589 A DE 2926589A DE 2926589 A1 DE2926589 A1 DE 2926589A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- output
- memory
- register
- bits
- 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.)
- Ceased
Links
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Description
N.V. Philips' Clceilain?;.r,iab isbn, Eindhoven
13-6-1979 X PHN 9182
"Anordnung zur Verlängerung einer logischen Computeradresse11
Im allgemeinen Sinne betrifft die Erfindung die Adressierung von Elementen eines Rechnerspeichers.
Zum Durchführen eines sogenannten Benutzerprogramms wird ein Computer von Benutzeradressen gesteuert. Diese Adressen
werden vom Programm für die Steuerung eines darin spezifizierten Speicherzugriffs geschaffen. Eine derartige Adresse
specifiziert ein Datenelement (data item) beispielsweise
als ein bestimmtes Element eines bestimmten Datenbestands. Derartige Adressen sind logische Adressen in dem Sinne,
dass sie keinen Zusammenhang mit der physikalischen Organisation des Speichers besitzen. Eine solche Adresse enthält
also eine Bitkette mit aufeinanderfolgenden Bedeutsamkeitspegeln,
wobei die aufeinanderfolgenden Bits keine
unterschiedliche Bedeutung aufgrund elektrischer, mechanischer oder sonstiger Eigenschaften des Speichers besitzen.
Veiter wird die Wirkung des Computers durch einen oder mehrere Befehle gesteuert. Sie haben eine Länge in
Bits gleich einem Vielfachen der normalen ¥ortlänge, für die der Computer entworfen ist. In einigen Fällen kann die
Länge des Befehls auch gleich der Wortlänge sein. Ein für die Erfindung relevanter Computer als Referenz ist der
Philips P 856 Minicomputer a\is der P8OO-Reihe. Hierbei sei
auf dcis Handbuch "P800 M Interface and Installation Manual"
von Philips Data Systems B.V., Apeldoorn, Niederlande,
909884/0699
13-6-1979 /<" PHN 9182
April 1976, Veröffontlichungsnummer 5122 991 269^2 verwiesen.
Der Instruktionssatz dieses Computers ist in dem für diese Reihe geeigneten Buch "P852 M, Programmers Guide
1 & 2, Band 2, Instruktion Set, basic/disc operating system",
Philips Electrologica MMG-OEM September 197^, Apeldoorn,
Niederlande, VeröffeiltIichungsnummer 5122 99I II71I
beschrieben.
Die Wortlänge in den erwähnten Computern
ist sechzehn Bits, wobei häufig Befehle mit sogenannter
Doppellänge (32 Bits) verwendet werden. Ein Teil eines Befehls
kann zum Adressieren eines bestimmten Indexregisters
in einer Anzahl von Indexregistern verwendet werden. Das Laden dieser Register erfolgt über die normalen Datenkanäle,
beispielsweise den internen Daten-Bus des Computers
. Deshalb ist es üblich, dass die Länge der Indexregister der Länge eines Computerworts entspricht (also
16 Bits im Beispiel). Der Inhalt eines Indexregisters kann direkt eine physikalische oder logische Adresse enthalten.
Im letzten Fall wird diese logische Adresse in eine physikaiische
Adresse mit Hilfe einer Abbild\ingstabc;lle oder
"mapping table" (segment or page table) übersetzt;. Zum anderen kann der Inhalt des Registers mit einem vorgegebenen
Teil des Befehls zur Bildung einer Adresse kombiniert werden. Letztere kann dabei wiederum eine physikalische
oder eine logische» Adresse sein.
Man hat gefunden, dass in einem Computersystem gemä&s der Beschreiblang die verfügbare Wprtlänge
zur Bildung logi.scher Adressen schon zu beschränkt ist. Es
ist damit nämlich in vielen Fällen unmöglich, eine ausreichend
grosse Anzahl von Datenelementen direkt zu adressieren.
Auf der anderen Seite wäre die Uebergang auf eine grössere
Wort länge ausserordentIich kostspielig, weil alle Hardware
und Software an die grössere Wortlänge angepasst werden
muss .
Fs ist die Aufgabe der Erfindung, eine
grössero Breite der logischen Adressen für einen Computer
mit einer vorgegebenen, kleineren Lange des Maschinenworts
zu schaffen, wobei bestehende Programme, die auf der
909884/0699
13-6-1979 /f PHN 9182
kleineren Wortlänge basieren, nicht geändert zu werden
brauchen, so dass für solche Programme die erweiterte Adressierungsmöglichkeit
gleichsam unsichtbar wäre.
Die Aufgabe der Erfindung wird mit einer Adressenerzeugungsanordnung zum Erzeugen physikalischer
Adressendaten für eine Maschine zum Verarbeiten digitaler Daten mit einem Befehlsregister mit einem Eingang mit vorgegebener
erster Bitbrei te zum Empfangen eines Befehls in Form einer Bitfolge im Befehlsregister, wobei das erwähnte
Befehlsregister einen ersten Ausgang zum Ausgeben eines Operationskodes, der im Befehl enthalten ist einen zweiten
Ausgang zum Ausgeben einer Indexregisteradresse zum Adressieren eines spezifizierten Indexregisters in einer Index—
registerbank und einen dritten Ausgang zum Ausgeben einer ersten Speicherunteradresse hat, dadurch gelöst, dass das
so adressierte Indexregister einen vierten Ausgang zum Ausgeben
einer vorgegebenen Anzahl bedeutsamerer Bits und einen fünften Ausgang zum Ausgeben einer vorgegebenen Anzahl
weniger bedeutsamen Bits hat, welche letzteren als eine
zweite Speicherunteradresse arbeiten, dass die kombinierte Bitbreite der vierten und fünften Ausgänge grosser als die
vorgegebene Bitbreite ist, dass Kombinationsmittel vorgesehen
sind, deren Eingtinge mit don dritten und fünften Ausgängen
zum linearen kombinieren der ersten und zweiten
Speicherunteradresse zum Erzeugen weiterer unbedeutsamerer Adressenbits verbunden sind, die zusammen mit den erwähnten
bedeutsameren Bits als vollständige Speicheradresse an einem sechsten Ausgang der Kombinationsmittel abgegeben
werden, dass der erwähnte vierte Ausgang mit einem Adresseingang einer Segment tabe Halleinrichtung verbunden 1st, die
eine Anzahl entsprechender Speicherstellungen zum jeweiligen
Aufnehmen je einer Segmentbar>
i s keimling und einen siebten
Ausgang zum Ausgeben einer adressierten Segrnentbas is kennung
enthält, dass der siebte Ausgang eine Bitbreite licit, die
zumindest genau so gross wie die erste iü.tbreite ist, und
dass die sechsten und siebten Ausgänge mit Eingängen eines
Ausgangsaddierers zum Erzeugen einer absoluten Adresse an
einem achten Ausgang des Ausgangsaddierers verbunden sind,
9098 8 4/06 99
ORIGINAL INSPEOTE0 "
13-6-1979 ' X^ PHN 9182
Auf diese Weise wird eine grössere Adres-
senlänge erzeugt, ohne dass Elemente im Computer mit einzelnen
Biteinrichtungen (bit slices) vei'sehen zu werden
brauchen. Bei einem Indexregister mit einer Länge entsprechend
der Länge zweier Maschinenwörter erfordert das Füllen der ganzen Länge ZAvei Maschinenzyklen. In den meisten
Fällen kann man mit dem Laden dessen weniger bedeutsamen
TeJLs mit der Länge eines einzigen Maschinenworts auskommen.
Denn während der Durchführung grosser Teile eines Prograiams
kann der bedeutsamere Teil des Inhalts des Indexregisters
ungeändert bleiben; nur gelegentlich wird das vollständige! Indexregister gefüllt werden müssen. Das Indexregister wird
häufig iils ein physikalisches Register mit Flipflops vorhanden
sein. Es ist weiter möglich, dass die Indexregister
zusammen ein vorgegebenes Speichcrgebiet im Rechnerspetchor
bilden. Die Bildung einer ersten und zweiten Speicherunter-adresse
kann auf mehrere Weisen erfolgen. Eine vorteilhafte
Weise ist, dass sie zueinander addiert werden. Eine andei'e
vorteilhafte Weise ist das Verketten (concatenating).
Letzterer Vorgang wird durch die Bildung einer bitweise Einschiiesslich-ODER-Funktion verwirklicht, wobei als beschränkte
Bedingung gilt, dass entsprechende Dispositionen
nicht alle beide eine logische "1" enthalten dürfen: wenn also eine der zu verkettende Bitfolgen in einer bestimmten
Position ein bedeutsames Datenbit enthält (das von vornherein
also den Wert "O" oder "1" haben kann), muss die andere dieser zwei Bitfolgen in dieser Position bestimmt
eine logische "0" enthalten. Im allgemeinen können in obiger Beschreibung die Werte von logisch "0" und "1" unter enfsprechender
Anpassung der logischen Funktion ausgetauscht werden. Die kombinierte Breite der erwähnten vierten und
fünf teil Ausgänge ist damit, für ein Benu tzerprogramm verfügbar,
das im Rechner durchgeführt wird und damit einen gröf.seren Logischen Adressenraum bekommt. Die Vorteil e Lii«s
derartigen erweiterten Adrussnnraums sind die Möglichkeit
zur Durchführung von langen Programmen mit kouip Li zi er l& r
Struktur und die Adressierbarkeit grösserer Datonbeständr.
An sich ist es aus der US-PS 'Y)h()J7B
909884/0699
ORfGfNAL INSPECTED
13-6-1979 Λ PHN 9182
bekannt, ein Befehlswort zu schaffen, das sowohl eine Indexregisteradresse
als auch eine erste Speicherunteradresse enthält. Ausserdem sind dort zwei auffolgende Addierungen
vorgesehen, an denen sich der Inhalt des adressierten In-
S dexregisters, die erste Speicheradresse und der Inhalt eines Grundregisters beteiligen. Die bekannte Anordnung
verlängert damit insbesondere die physikalische Adresse, so dass mehrere Programm-Moduln einen Speicher mit grösserer
Kapazität bearbeiten können, als ursprünglich gedacht wurde. Es gibt jedoch eine Vielzahl von Unterschieden mit
der vorliegenden Erfindung. Zunächst wird das Grundregister genauso adressiert wie die Indexregister, d,h. direkt aus
der Instruktion. Die Länge der Indexregister ist daher gleich der Länge der ersten Speicherunteradresse. Weiter
ist nicht jedes Indexregister stets das gleiche und nur ein Grundregister durch eine harte Verbindung gekoppelt.
Die bekannte Technik ist hiermit wenig flexibel. Wenn in der bekannten Technik diese Kopplung freigegeben werden
würde, würde dies einen zusätzlichen Anspruch auf die Kapazität der Instruktion bedeuten. Die bekannte Technik
strebt damit nicht eine Möglichkeit der Durcliführung längerer
Programme, sondern zum Durchführen mehrerer verschiedener
Programme an. Insbesondere wird in der bekannten Technik durch die Grundregister eine Organisation mit transparentem
Speicher verwi ar-kli cht.
Es ist vorteilhaft, wenn die erwähnte
zweite Bitbreite zwischen dem ( ^ ) 1-r— und dem ( ^ ) 1-jr —
Fachen der erwähnten ersten Bitbreite liegt. So wix^d mit einer beschränkten Anzahl hinzugesetzter Teile die logische
Adresse ausreichend verlängert. Im weiter unten zu beschreibenden Beispiel ist das erwähnte Verhältnis 1— :
Zum anderen kann in bestimmten Fällen ein grösseres Verhältnis vorteilhaft sein, wie 2 : 1 oder1 sogar noch grosser.
Eine .erwähnte Segmcntbasiskennung ist i minor nine physikalische Adresse. Auf diese Voi se wird die
Verlängerung ck;r logischen Adresse auf vorteilhafte Weise
bei einer Adrosseiifiegmentierungsorganisai i on verwendet.
Gegebonenf alls i f· i die Yerweiidiing des Gedankens der Er fin-
909884/0699
ORIGINAL INSPECTED
13-6-1979 y PHN 9182
dung wie bereits erwähnt auch möglich, wenn der Ausgangsaddierer eine kleinere Bitbreite als die erste Bitbreite
hat. Besonders vorteilhaft ist jedoch, wenn die Bitbreite des siebten Ausgangs zwischen dem (JNt ) 1 und ( ^ ) 1— Fachen
der ersten Bitbreite liegt. Im weiter unten zu beschreibenden Beispiel ist das Verhältnis 1τ- , wodurch mit
geringen Ergänzungen zu den Geräten die Möglichkeiten stark vergrössert werden.
Est ist vorteilhaft, wenn die erwähnten Speicherpositionen noch eine Speicherkapazität für eine
Segmentobergrenzenkennung aufweisen, und dass die Segmenttabelle einen neunten Ausgang zum Atisgeben einer Segmentobergrenzenkennung
bei einer dieser Segmentobergrenzenkennung enthaltenden Speicherposition derselben aufweist.
So werden vorteilhafte Mittel zum Bearbeiten eines Speicherbereichsschutzes
geschaffen, um zu verhindern, dass durch eine unrichtige Programmierung ein Ueberlauf über die
Grenzen eines Segments entsteht.
Ausführungsbeispiele der Erfindung werden nachstehend an Hand der Zeichnung näher erläxitert. Es
zeigen
Fig. 1 eine Registerbank in der Verwendung als eine Indexregisterbank,
Fig. 2 den Aufbau einiger bekannter Befehle,
Fig. 3 ein Beispiel einer Adressierungsorganisation,
Fig. h eine Anbaueinrichtung zur Verwendung
bei der Erfindung,
Fig. 5 eine Erweiterungseinrichtung für Verwendung bei der Erfindung,
Fig. 6 ein Zeitdiagrainm zu Fig. 3.
Für ein besseres Verständnis der Erfindung
sei zunächst auf den Begriff "virtueller Speicher" verwiesen. Ein Beispiel einer Organisation mit einem virtuellen Speicher
findet man bei der Verbindung eines schnellen Vordergrundspeichers mit einer verhältnismässig kleinen Kapazität
zusammen mit einem langsameren Hintergrundspeicher grösserer
909884/0699
13-6-1979 /Γ PHN 9182
Kapazität. Je nach den Verhältnissen der Geschwindigkeiten
under der Kapazitäten und der Korrelation innerhalb einer Folge nacheinander von der Benutzeranordnung (beispielsweise
dem Zentralprozessor) erzeugter Adressen ist die äugenscheinliche Kapazität gleich der des grossen Hintergrundspeichers,
während sich die Geschwindigkeit der des Vordergrundspeichers
annähern kann. In diesem Fall kann dez· Hintergrundväpeicher als ein virtueller Speicher betrachtet
werden: obgleich sie nicht direkt zugänglich ist, verhält sich die ganze Organisation des Zentx^alprozessors einschlides
Speichers, als wäre dies wohl der Fall. Eine verlängerte logische Adresse vergrössert hier die Adressierungsmöglichkeiten .
Andererseits kann man auch einen transpa-
ID renten Speicher definieren. Jm Gegensatz zum Fall der
obigen Beschreibung verhält sich die Organisation der Benutzereinrichtung plus Speicher, als wäre der transparente
Speicher eben nicht vorhanden. Die Länge der logischen Adressen in einem Rechner bestimmt die Anzahl der verschiedenen
Speicherpositionen (beispielsweise der Speicherwörter), die mit dieser Adresse erreicht werden können. Wenn die
Länge der logischen Adresse kürzer als entsprechend der physikalischen Abmessungen des Speichers ist, ist ein Teil
desselben also nicht ohne weiteres adressierbar. Das Dar— stellen der logischen Adressen an den physikalischen Adressen
erfolgt mit Hilfe eines Abbildungsmechanismus (mapping), der vom Betriebssystem (operating system) und nicht vom Benutzerprogramm
gesteuert wird. Der nicht adressierbare Speicher ist gleichsam transparent. Insbesondere im letzten Fall
ist es vorteilhaft, eine logische Adresse grösserer Länge
zu erzeugen, weil so längere Programme durchgeführt werden können. Insbesondere wird mit Hilfe der Grundregister
(Element Hz) in der herangezogenen US-PS 39^9378 eine transparente
Speicherorganisati on verwirklicht.
In diesem Zusammenhang zeigt Fig. 1 eine Indexregisterbank. Die physikalische Verwirklichung (Flipf
lop-Regifster, spezifischer Teil des Maschinenspeichers ,
lesbar/schreibbarer Teil des Steuerspeichers, ist auf dem
909884/0698
13-6-1979 J^ PHN 9182
Systemniveau der Erfindung nicht relevant). Indexregister
sind an sich in der Technik digitaler Rechner bekannt und sind im Rechner Philips P856 als ein Flipflopregister implementiert.
Der Anschluss zwischen dem Befehlsformat und
der Adressierungsorganisation wird an Hand der Fig. 2 und 3 beschrieben. Dem Programmierer bzw. dem Programm wird
ein logischer Adressenraum von 2 Adressen zur Verfügung gestellt. Bekannte logische Adressenorganisationen in der
herangezogenen Rechnerreihe besitzen eine Adressenbreite von N=16 Bits oder 64k Adressen, was oft zu knapp bemessen
ist. Nach dem nachstehenden Beispiel ist M=8, so dass ^M
Spe Lcherstelleri adressierbar sein könnten. Sonstige geeignete Werte könnten M=k, M=12, M=16 sein, und in vorkommenden
Fällen kann auch ein Wert M^ 16 gewählt- werden. Stets
jedoch bleibt die Struktur des Rechners, dem die Erweiterung zugesetzt ist, unveränderlich auf einer Adressenlänge
von N (hier also 16 Bits) basiert. Dadurch sind Programme, die für die ursprüngliche Adressenlänge geschrieben sind,
ungeändert brauchbar.
Die Registerbank 100 enthält ein erstes Teilregister 101, das als unbedeutsamster Teil (tail) angegeben
ist.Dieser Teil mit einer Breite von N Bits wird auf genaix dieselbe Weise wie der Computer verwendet, ohne
die Erweiterung bei der Durchführung von Befehlen, die Operanden aus den Registern bearbeiten. Der zweite Registerteil
102 ist als bedeutsamster Teil (head) mit einer Breite von M Bits angegeben und wird in zwei spezifischen
Situationen verwendet. Die erste Situation tritt ein, wenn der Speichexrzugriff durchgeführt wird, wobei ein Register
als Indexregister oder "base"-Register, d.h. als eine Form
relativer Adressierung benutzt wird. Dabei wird eine Leseoperation in bezug auf die ganze Breite der Registerbank
100 durchgeführt. Dieser Vorgang wird an Hand der Fig. 3 näher erläutert. Der Unterschied zwischen einem Indexregister
und einem Grundregister besteht darin, dass das letztgenannte Register für die verschiedenen arithmetischen
Bearbeitungen nicht zugänglich ist. Die zweite Situation, in der der Registerteil 102 auftritt, ist beim Durchführen
909884/0699 ORIGINAL INSPECTED
13-6-1979 X PHN 9182
eines spezifischen (neuen) Befehls, wodurch das Laden oder
Speichern (load or store) des Registerteils 102 gesteuert wird. Im allgemeinen ist dieser Befehl in der herkömmlichen
Befehlsliste nicht vorhanden, und sein Format wird daher an Hand der Fig. 2 näher erläutert. Einerseits können die
zusätzlichen M Adressenbits im Kopf (head) des Registerbankteils 102 die bedeutsameren Adressenbits einer physikalischen
oder virtuellen Adresse erzeugen. Eine virtuelle Adresse ist dadurch gekennzeichnet, dass die Anzahl formbarer
logischer Adressen grosser als die Anzahl physikalisch vorhandener Adressenstellen ist. Andererseits können die
zusätzlichen Adressenbits eine Segmentnummer zur Verwendung in einer darauf folgenden Uebersetzung der segmentierten
(und also virtuellen) Adresse in eine physikalische Adresse schaffen. Es stellt sich heraus, dass die Differenz zwischen
beiden Fällen darin besteht, dass es im letzten Fall überflüssig ist, ein Uebertragungsausgangssignal des N Bits
breiten Teils zum M Bits breiten Teil des Registers zu ermöglichen.
In Fig» 2 sind für den herangezogenen Computer einige Befehlsformate dargestellt. Die erste Zeile
gibt einen sogenannten "Format O"-Befehl, was dadurch signalisiert
wird, dass das Befehlsbit 0 stets den logischen Wert 0 besitzt. Befehlsbits 1 bis h enthalten einen Vierbit-Operationskode.
Befehlsbit 5 bis 7 können eine Adresse
eines sogenannten Notizblockregisters (scratch pad) enthalten. Die Befehlsbit 8 bis 15 können beispielsweise
eine positive konstante 8-Bit-Grösse, die Adresse eines
Peripheriegeräts (wenn es sich um einen i/o oder Eingangs/ Ausgangsbefehl handelt) plus spezifische Funktionsbits oder
auch eine feste Parametergrössen enthalten.
Die zweite und dritte Zeile geben zusammen
einen sogenannten "Format 1"-Befehl zum Durchführen einiger
Bearbeitungen mittels Referenz zu zwei der sechzehn allgemeinen Register im Zentralprozessor, die für Zugriff
durch ein Benutzerprogramm verfügbar sind. Eines dieserdurch den Befehl ausgewählten Register kann eine Hinweisinformation
auf eine Yortstelle im Hauptspeicher enthalten,
90 9884/Q69S
ORIGINAL INSPECTED
13-6-1979 ' yf PHN 9182
weil diese Wortstelle wie ein Indexregister verwendbar ist.
In diesem Fall wird das Format des Befehls dadurch angegeben dass das Befehlsbit 0 stets den logischen Wert "1" besitzt.
Dabei enthalten Befehlsbits 1 bis k wiederum einen Vierbits-Operationskode.
Befehlsbits 5 bis 8 enthalten die Adresse eines Notizblockregisters, so dass Jetzt sechzehn
Register statt nur acht Register adressierbar sind. Befehlsbits 9 und 10 enthalten den Kode, der die Art und
Weise des Adressierens angibt. Diese Bits geben an, wie
die Adresse für den zu verwendeten Operanden berechnet werden muss. Befehlsbits 11 bis Ik können die Adresse eines
Notizblockregisters auf entsprechende Weise wie für Befehlsbits 5 bis 8 beschrieben enthalten. Das Befehlsbit
enthält einen Indikator "Laden-Speichern" (load-store), der in bestimmten Befehlen dazu verwendet wird anzugeben,
dass das Ergebnis der Bearbeitung in das von den Befehlsbits 5 bis 8 angegebenen Register oder an einer Wortstelle
des Hauptspeichers geschrieben werden muss. Die sechzehn unbedeusameren Befehlsbits 16 bis 31 sind punktiert angegeben;
sie können einen Operanden enthalten, wenn dies durch einen oder mehrere der Werte der sechzehn bedeutsameren
Bits angegeben wird. Obige Beschreibung stellt eine beschränkte Auswahl aus der Befehlsliste der herangezogenen
Computerreihe dar und wurde bisher ausschliesslich mit Registern mit einer Länge von sechzehn Bits implementiert.
In diesem Zusammenhang veranschaulicht
Fig. 3 ein Adressxerungssystem, das unter der Steuerung
eines Befehlsworts im "long constant-mode" (Betriebsart mit langer Konstante) implementiert wird. In diesem Fall
ist die Länge des Befehls gleich zwei Computerwörtern oder 32 Bits.An sich ist diese Betriebsart aus dem erwähnten
Buch"P8OO Programmer's Guide" bekannt. Die Weise des
Ladens des Befehlsregisters 1 ist der Kürze halber nicht
näher angegeben. Das erste Computerwort befindet sich in der an der linken Seite angegebenen Hälfte B des Befehlsregisters
und enthält das O-Bit,. das das Format 1 indiziert, den Operationskode, die Begriffsbestimmung der "long constant
mode" und, sofern erforderlich, weitere Steuerbits,
909884/0699
ORIGINAL INSPECTED
13-6-1979 yf PHN 9182
die der Kürze halber nicht angegeben sind (siehe Seite 7·^
des Systems Handbook). Die Bitsteilen 5 bis 8 bei A indizieren
ein Indexregister. Das zweite Computerwort von 16
Bits befindet sich in der rechten Hälfte C des Befehlsregisters 1 und enthält eine Sechzehnbit-Adresse. Unter der
Steuerung eines hier nicht angegebenen Synchronsignals,
beispielsweise aus dem Zentraltalctgeber des Rechners, startet die Durchführung des Befehls damit, dass die Vierbit-Adresse
bei A über die Leitung 5 auf das Adressenregister einschliessllch des Adressdekoders der Indexregisterbank
übertragen wird. Sie enthält weiter noch die Speicherteile 3 und 4, die an Hand der Fig. 1 beschrieben sind.
Die Indexregisterbank enthält sechzehn einzeln adressierbare
Register, von denen der Einfachheit halber nur acht angegeben sind. Jedes Register enthält einen 8-Bit-Teil in
der Bank 3 und einen Sechzehnbit-Teil in der Bank 4. Diese
zwei Banken brauchen keine physikalisch getrennten Einheiten zu sein, sondern diese Unterscheidung kann imaginär sein.
An sich sind Indexregister in der Technik der Rechner bekannt; sie werden beispielsweise für die Speicherung von
Referenzadressen in einer Organisation zum Abändern von Adressen benutzt. Durch eine derartige Organisation kann
auf vorteilhafte Weise mit Befehlen beschränkter Länge zur Durchführung eines bestimmten Programms ausgekommen werden.
In dieser Adressierung wird jetzt in einem ersten Operationsschritt
das vollständige adressierte Indexregister ausgelesen, wozu noch ein Lesesignal auf der Leitung 2A
aus dem Mikrokode in der Steueranordnung IA ankommt. Dieses Element arbeitet dabei wie der bekannte Operationskode—
dekoder in der herangezogenen Computerreihe zum Abgeben eines Lesesteuersignals an ein adressiertes Indexregister;
der Unterschied mit der bekannten Anordnung ist die grössere Länge dieses Registers. So sind auf den Leitungen J, 8 und
6 nunmehr 8, 16 bzw. 16 Adressenbits verfügbar. Anschliessen werden in einer ersten Rechenoperation zwei Sechzehnbit-Adressendaten
auf den Leitungen 8 und 6 im arithmetischen Sechzehn-Bi t-Element 9 (ALU im Zentralprozessor·) linear
kombiniert, das ein Steuersignal aus dem Mikrokode auf der
909884/0699
Ί3-6-1979 >£" PHN 9182
Leitung tyh. synchronisiert. Die lineare Kombination kann
eine Addition sein. Es kann auch eine Verkettung sein (concatenating) . Wenn zwei Wörter von sechs Bits wie folgt
lauten 000011 und 010000, so ist das Ergebnis der Verkettung
010011, wobei gilt dass die Bits in den unterstrichenen Wortteilen immer den Nullwert haben müssen und die Verkettung
mittels einer logischen ODER-Funktion bitweise durchgeführt wird. Bei einer Verkettung kann ein Synchronsignal
zum arithmetischen Element 9 unterbleiben.
Bei einer Addition wird die Summe und bei einer Verkettung das Ergebnis dieser Verkettung über die
Leitung 22 dem Akkumulatorregister 11 zugeführt, das ebenfalls eine Kapazität von sechzehn Bits hat. Es kann zusammen
mit dem arithmetischen Element 9 für diese Speicherung
gesteuert werden. Die auf der Leitung 7 verfügbar gewordenen acht Bits werden zusammen damit im Registerteil 10
gespeichert. Die Speichersteuerung in den Registerteilen
10 und 11 wird wieder aus dem Mikrokode erzeugt. Auf diese
Weise können die Registerteile 10 und 11 zusammen eine logische Adresse von 2k Bits enthalten, mit der ein Adres-senraum
von 16 777 216 einzelner Dateneinheiten (beispielsweise
Bytes oder Wörter) adressierbar ist. Dieser Adressenraum ist viel grosser als der, der durch eine Adresse mit
einer Länge von genau einem Computerwort von 16 Bits adressierbar
wäre; die betreffende Computerreihe wurde ursprünglich für diese Wortlänge entworfen. Jetzt ist es möglich,
dass Registerteile 10 und 11 zusammen eine physikalische Adresse enthalten, wodurch also direkt eine Speicherstelle
adressierbar ist. In diesem Fall sind die Datenausgänge
dieses Registers mit Adresseneingängen des Speichers direkt verbindbar. Jedoch im AusführungsbeLspiel enthält der extra
zugesetzte Registerteil 10 eine Adresse, um eine Segmenttabelle
zu adressieren, und der Registerteil 11 enthält eine Verschiebungsgrösse (displacement). Eine derartige
Verschiebungsgrössu ist bedeutungsvoll im Zusammenhang mit einer Basisadresse (base), die nachstehend beschrieben
wird. Anschliessend wird der Inhalt des Registerteils 10 auf der Leitung 13 und der Inhalt des Registerteils 11 auf
909884/0699
13-6-1979 yf PHN 9182
. «*
2326589
der Leitung 18 verfügbar. Unter der Steuerung eines Synchronsignals
aus dem Mikrokode auf der Leitung 12A des Adressenregisters/Adressendekoders 12 der Darstellungstabellenanordnung
mit Darstellungstabellenelementen 14 und
15 erfolgt eine weitere Leseoperation. Wie bei den Elementen
3 und h brauchen diese keine physikalisch unterschiedlichen
Teile des Systems zu sein, sondern die Unterteilung kann imaginär sein. An sich ist eine Darstellungstabelle in der
Technik der Computerarchitektur zur Speicherung von Adressendaten bekannt, die mit der Organisation der Speicherung
im Computerspeicher zusammenhängen. In diesem Beispiel enthält die Darstellungstabelle acht einzelne Datenelemente,
aber jede Anzahl, die zur Speicherorganis ation passt, könnte nützlich sein. Für den Platz der Darstellungstabelle
gilt dasselbe, wie für die Indexregisterbank erwähnt wurde, nämlich, dass sie sowohl in einer Anzahl von
Flipflop-Registern als auch in einem vorbestimmten Teil des
Hauptspeichers verkörpert sein kann. Der Teil 15 der Darstellungstabelle
enthält in diesem Beispiel eine Zwanzig-Bit.Basisadresse
(base). In einem anderen Fall könnte es nützlich sein, hierfür eine Vierundz\iranzig-Bit-Adresse zu
nehmen. Die Basisadresse ist die erste Adresse, die dem zu verwendenden Segment im Speicher zugeordnet ist. Der Darstellungstabellenteil
ΛΗ enthält für jedes Tabellenelement
einen Grenzinformationshinweis. Die Teile lh und I5 werden
vom Steuerprogramm (das sog. "operating system") nach einem Stoppzustand (sog. "trap") gefüllt. Der Begrenzungshinweis
gibt den maximal adressierbaren Speicherraum an, der dabei dem Segment zugeordnet ist. Wenn der Raumbegrenzungsbefehl
die absolute Obergrenze für die Speicheradresse, die zulässig ist, angibt, wenn von der zugeordneten Basisadresse
ausgegangen wird, so muss er die gleiche Bitbreite wie diese Basisadresse haben, also in diesem Beispiel 20 oder Zh Bits.
Wenn der Raumbegrenzungsbefehl die Obergrenze für den zulässigen Verschiebungsbefehl angibt, kann man mit einer
Bitbreite auskommen, die gleich der Länge dieses Verschiebungsbefehls von sechzehn Bits ist (also in diesem Beispiel
Registerteil 11). Die Speicherorganisation im Speicher mit
909884/0698
13-6-1979 ^y PHN 9182
Hilfe von Segmenten ist besonders vorteilhaft, weil verschiedene
Segmente verschiedenen (Teil-) Verfahren zugeordnet werden können, wodurch sich die Wirkung des Rechners
flexibler gestaltet. Anschliessend werden so unter der Steuerung des Synchronsignals am Anschluss 12A die beiden
adressierten Adressenteile auf. den Leitungen 23 bzw. I9
verfügbar. Anschliessend wird in einer zweiten Rechenoperation die Information auf der Leitung 18 und die auf
der Leitung I9 im arithmetischen Element 17 addiert. Dieses
Element kann dazu wiederum von einem Synchronsignal am Anschluss 17A aktiviert werden; die sich ergebende Summe
wird über die Leitung 25 dem Summenregister 20 zugeführt,
das die gleiche Länge wie der Teil I9 der Darstellungstabellenanordnung,
also 20 bzw. 2k Bits hat. Die Speicherung kann durch das gleiche Signal wie am Eingang 17A gesteuert
werden. Am Ausgang 21 ist die physikalische Adresse verfügbar, die sich aum Adressieren des Computerspeichers
eignet. Weiter kann der Raumbegrenzungsbefehl aus dem Tabellenteil
auf entsprechende Weise für Speicherbereichschutz benutzt werden. Wenn es sich hier um einen relativen
Adressenbefehl handelt, wird die Information auf der Leitung 18 (über die gestrichelt dargestellte Verbindung) zusammen
mit der Information auf der Leitung 23 dem Element 16 zugeführt,
das in diesem Fall als Komparatorelement arbeitet, nötigenfalls synchronisiert durch das Signal gleich dem am
Anschluss I7A. Wenn der Verschiebungsbetrag auf der Leitung
18 grosser ist als dem erlaubten Speicherraum entspricht, erzeugt das Element 16 an dessen Ausgang 16A ein "memory
overflow"-Signal, das die Durchführung des eigentlichen
Speicherzugriffs sperrt und auf bekannte Weise die Durchführung
des aktiven Programms beendet. Es ist dabei nämlich ein Fehler eingetreten, entweder durch einen Fehler im
Programm oder durch einen Fehler in der Anordnung (aber meistens wird der erste Fall eintreffen). Dieser Fehler
muss durch Aenderungen im Programm verbessert werden, aber darauf bezieht sich die Erfindung weiter nicht. Wenn die
Darstellungstabellenanordnung im Teil "\h einen absoluten
Adressenranm definiert, vird ein Vergleich gleich dem in
909884/0699
13-6-1979 ' yf PHN 9182
Alr
2925589
der obigen Beschreibung im Element 16 durchgeführt, aber
jetzt hinsichtlich der Ausgangsdaten des Elements 20 am Ausgang 21, wobei die notwendige Verbindung hierbei nicht
einzeln angegeben ist. Oben wurde eine normale Adressierungsoperation beschrieben, bei der hinsichtlich der Elemente
3, h, i4 und 14 eine Ausleseoperation durchgeführt wird.
Im allgemeinen wird die Segmentorganisation ebenfalls änderbar sein. Dazu besitzen die Elemente lh und 15 entsprechende
Datenzuleitungen 14A und I5A. Letztere sind mit dem
internen Datenbus verbunden. Letzterer hat eine Breite eines Computerwords, also sechzehn Bits, und wird mit Daten
versehen, beispielsweise durch den Datenteil des Befehlsregisters,
also über die Leitung 6 unter der Steuerung eines dafür belegten Operationskodes, der im erwähnten Rechner
P856 noch "unbelegt" ist Insbesondere in diesem Fall ist
es dabei vorteilhaft, wenn die Unterteilung zwischen den
Elementen 1^- und I5 imaginär ist und sie also in ihrer
Kapazität nicht auf Io Bits beschränkt sind. Das Laden dieser zwei erfolgt auf übrigens an sich bekannte Weise beispielsweise
durch zwei Operationskodes, die die entsprechenden Hälften eines adressierten Registers der SegmenttabelLe
ausfüllen. Die Verbindung mit der Leitung 6 ist nicht einzeln angegeben. Auf entsprechende Weise besitzen
die Elemente 3 und k Ladeverbindungen JA und ^A.
Die beschriebene Organisation kann auf verschiedene Weisen implementiert werden. Zunächst kann sie
einen integralen Teil des Rechners oder der Rechnerreihe oder beispielsweise der komplizierteren Glieder einer Rechnerreihe
bilden, deren einzelne Geräte mehr oder wenige*" kompatibel sind. In diesem Fall wird die Organisation mit
spezifischen logischen Mitteln und Registern gemäss Fig. 3 verwirklicht. Die Steuerung kann durch eine oder mehrere
Ausdrücke des Mikrokodes verwirklicht werden, der übrigens
auf bekannte Weise die interne Organisation der Maschine steuert. In diesem Zusammenhang sei auf das Zeitdiagramm
der Fig. 6 hingewiesen.
Zweitens kann diese Organisation durch
eine dem Computer oder Mikrocomputer zugefügte Einheit
909884/0699
ORIGINAL IMSPECTED
13-6-1979 y^ PHN 9182
verwirklicht werden, die beispielsweise als Erweiterungsanordnung arbeitet. Es sei auf Fig. k verwiesen, in der
die Erweiterungsaliordnung (extender) 3OO dem Computer
die gleiche Schnittstelle (intei'face) gibt, wie die Speicher
400 daran bei direkter Ankopplung geben würde. Der Computer
ist also in diesem Fall der bereits herangezogene P856 Computer und der Speicher der dazu üblichen bekannten Speichereinheit.
In diesem Zusammenhang sei das Philips P856M/P857M -System Handbook, Philips Data Systems B.V.,
Veröffentlichungsnummer 512299126934 vom April 1978 herangezogen,
beispielsweise die Abschnitte "Memory Management Unit MMU (S.5.1), General Purpose BUS (S.9.I), Memory
(S.4.i)". In diesem Zusammenhang gibt es also eine Sechzehn-Bit-Einwegeadressenbusleitung
(MAD) 201 bzw. 203, eine Sechzehn-Bit-Zweiwegdatenleitung BIO 202 bzw. 302 und eine
mehrfache Synchron- und Steuerleitung 203 bzw. 303» deren
entsprechende Bitleitungen in einer oder in beiden Richtungen wie bei dem Computer ohne die Erweiterung wirksam
sind. Insbesondere enthalten diese Signale ein 1-Bit-Schreibsteuersignal
"WRITE", das vom Computer 200 ausgeht, und einige "Spiegel"-Sigiiale (handshake signals) TMRN und TRMM.
Das erste dieser zwei wird vom Computer 200 erzeugt, und das zweite ist die Antwort darauf, die der Speicher 400
erzeugt (siehe das herangezogene Buch S.9...6/7). Die erwähnten Buchstaben haben folgende Bedeutungen: T(transfer),
M(from memory), R(to register), N(signals:inverse value).
In der Erweiterungsanordnung 300 werden die empfangenen
Befehlssignale aufgenommen und geprüft. Wenn ein Befehl (aus dem Befehlsregister im Computer 200) ein oder mehrere
Register verwenden will, um eine Basisinformation (base)
abzugreifen, wird in der Erweiterungsanordnung geprüft,
ob ein Zugriffsfehler entstehen würde. Dieser Zugriffsfehler würde entstehen, wenn eine Referenz zu einer Seite
oder einem Segment gemacht würde, die oder der nicht im Speicher vorhanden war, (aber beispielsweise in einem
Hintergrundspeicher, wie einem magnetischen Plattenspeicher).
Wenn ein derartiger Fehler (fault) entsteht, erzeugt die ErweiterungsanOrdnung 300 ein Abzweigsignal zum Computer
909884/06 9 9
ORIGINAL INSPECTED
13-6-1979 yi PHN 9182
^ 2928589
200, wodurch dieser einen Verzweigungsschritt startet und nach einem vorgegebenen Punkt in seinem Mikroprogramm durch
die Erzeugung einer betreffenden Adresse geht. An sich
ist in einer Segmentierungsorganisation ein derartiger Verzweigungsschritt bekannt. In einer anderen Computerorganisation
kann die Erweiterungsanordnung dem Rechner
200 ein Unterbrechungssignal zuleiten. Yenn kein Fehler auftritt, vex'bindet die Erweiterungsanordnung die Datenbusleitungen
202 und 203 und erzeugt die Adressen, wie oben bereits beschrieben wurde. Die Vollendung der Bearbeitung
wird vom Signal jFRMN an der dazu vorgesehenen
Synchronverbindung signalisiert.
Die Erweiterungsanordnung 300 nach Fig.. h
wird mit weiteren Einzelheiten in Fig. 5 dargestellt; sie
ist insbesondere zum Gebrauch beim erwähnten Computer P856 M zugeschnitten. Sie ist mit Hilfe der Adressenleitung
201, der Datenleitung 202 und der Steuerleitung 203 mit dem
Computer 200 verbunden. Sie enthält weiterhin ein Sechzehn-Bit-Befehlsregister 3I1>
Mittel zum Dekodieren des Befehlsregisters und zum Erzeugen von Reihenfolgesteuersignalen
durch Logikschaltungen 312, Registererweiterungen 313» ein
arithmetisches Element ALU zum Durchführen einer Verkettung
und/oder Addition, eine Darstellungstabelleneinheit einschliesslich des Elements zur Prüfung der Länge (31^/3^5)>
wenn nötig zur Erweiterung des virtuellen Speichers.
Das Befehlsregister 3I1 enthält eine
Kopie des Befehls im Rechner 200, sowei es die Bits 0 bis 15 desselben betrifft und soweit es mehrere Wortbefehle
betrfft. Das Laden dieses Registers kann auf der selben
Leitung und zusammen mit dem entsprechenden Befehlsspeicher im Computer selbst erfolgen. Das Element 312 enthält zunächst einen Dekoder zum Dekodieren des Inhalts des Registers
311 (das sog. K-Register, siehe das herangezogene
"System Handbook" Seiten 2/5) mit Hilfe einer programmierbaren
logischen Anordnung hinsichtlich der Nachfrage oder des Befehls
a) ein Register in der Verwendung als Hinweis auf eine
Basisinformation (base);
909884/0699
ORiGINAL INSPECTED
13-6-1979 ya PHN 9182
b) ein Sonderbefehl ^um Laden einer vorgegebenen Adresse in
den Registererweiterungen 313· Dieser Befehl kann mit
Hilfe des bekannten Befehls WER (Aussenregister schreiben) der erwähnten P800 Rechnerreihe implementiert
werden (siehe Seite 9.01 der "programmer's guide" bzw.
Seite 7.10 des "System Handbook").
Dieser Dekoder liefert ausserdem die Adresse für die Registererweiterung
313 und ihre Lese- und Schreibsteuersignale.
Sie werden zusammen auf der Leitung 312A übertragen.
Das Element 3I3 enthält also die dem Element 3 nach
Fig. 3 entsprechenden Registerteile. Weiterhin erhält
das Element 312 auf der Leitung 322 die Ausgangssignale
der Vergleichsanordnung 3I5 und erzeugt nötigenfalls auf
der Leitung 319 ein Ausgangssignal, das über die Leitung
203 dem Computer 200 zugesandt wird, um ihn nötigenfalls
nach einem vorgegebenen Befehl, wie bereits früher erläutert, abzuzweigen. Weiter wird das Element 312 durch
das Systemrückstellsignal (TRMN, siehe Seite 9-6 des herangezogenen
"System Handbook") zurückgestellt, das über einen anderen Leiter der Leitungen 203/319 zugeführt und
von einem Signal auf der Leitung 303 synchronisiert wird,
das den Zustand (insbesondere "fertig" oder "nicht fertig") der Speicherzugriffsoperation angibt. Das Element 316 enthält
die Darstellungstabelle (Elemente 12, 14, I5 nach
Fig. 3)· In einer einfacheren Ausführungsform enthält
das Element 3I6 nur eine Durchgangsverbindung, und somit
ist in Fig. 3 die Leitung 7 direkt mit der Leitung I9 (hier
also 320 bzw. 321) verbunden. Die arithmetische Einheit
31^ wird dabei zum Zusammenfügen der Adresse auf der Leitung
201 mit der aus der Registererweiterungseinrichtung 313 bzw. der dadurch adressierten Darstellungstabelleneinrichtung
zum Erzeugen der Speicheradresse am Ausgang 30I benutzt. Auf entsprechende Weise kann die Vergleichsanordnung
315 durch den Vergleich der Information auf den Leitungen
201 und 321 möglicherweise ein Ueberlaufsignal ("overflow") erzeugen.. Das Laden der Registererweiterung
313 kann über die Datenleitung 202 erfolgen. Nicht angegeben
sind die Synchronleitungen ab der Zyklussteuerung
909884/0698
ORIGINAL INSPECTED
13-6-1979 yf PHN 9182
im Element 312 zur Darstellungstabelleneinrichtung 316,
die Vergleichsanordnung 3^5 und das arithmetische Element
31h. Die Darstellungstabellenexnrichtung 316, und die Vergleichanordnung
315 werden zum Implementieren einer virtuellen
Adressierungsbetriebsart benutzt. Die Erweiterungseinrichtung (312/313) beteiligt sich mittels der Verbindung
mit den Leitungen SCEIN und BIEC (siehe das "System-Handbook" Seite 9·8) an der Kommunikation betreffs des
Zustands des Computers, der durch interne oder externe Unterbrechungssignale geändert werden kann. In die Datenleitung
202/302 sind noch zwei Leitungsverstärker 317/3I8
zwischengeschaltet. Durch ein Signal auf der Leitung 299 sind diese Leitungsverstärker selektiv aktivierbar, um
in wenigstens einer von beiden Richtungen Da.tensignale durchlassen
zu können. Mittels der Synchronisation auf der Leitung 303 kann dieses Durchlassen durch das Steuerelement
312 gesteuert werden, während das Signal aiif der Leitung
319 für Parallelsynchronisatioii sowohl dein Computer als
auch den Verstärkern zugeführt wird.
Fig. 6 zeigt schliesslich noch ein Zeitdiagramm zur Anordnung nach Fig. 3· Die Pfeile geben die
kausalen Zusammenhänge an, während weiter die auslösenden Signale zumindest aufrechterhalten bleiben müssen, bis
ihre Folgen konsolidiert sind. Die Zahlen zu den Zeilen deuten die Leitungsnummern an.
909 8 84/06 98
ORIGINAL INSPECTED
Leerseite
Claims (3)
13-6-1979 y PHN 9182
PATENTANSPRÜCHE:
(\y Adressenerzeugungsanordnung zum Erzeugen
physikalischer Adresseiidaten zur Verwendung in einer
Maschine für die Verarbeitung digitaler Daten, mit einem Befehlsregister mit einem Eingang mit vorgegebener erster
Bitbreite zum Empfangen eines Befehls in Form einer Bitkette (string) im Befehlsregister, wobei das Befehlsregister
einen ersten Ausgang zum Ausgeben eines Operationskodes, der im Befehl enthalten ist, einen zweiten Ausgang zum
Ausgeben einer Indexregisteradresse zum Adressieren eines spezifizierten Indexregisters in einer Indexregisterbank
und einen dritten Ausgang zum Ausgeben einer ersten Speicherunteradresse hat, dadurch gekennzeichnet, dass das so
adressierte .Indexregister einen vierten Ausgang zum Ausgeben
einer vorgegebenen Anzahl bedeutsamerer Bits und einen fünften Ausgang zum Ausgeben einer vorgegebenen Anzahl
weniger bedeutsamer Bits hat, welche letzteren als eine zweite Speicherunteradresse arbeiten, dass die kombinierte
Breite der vierten und fünften Ausgänge als zweite Bitbreite grosser als die vorgegebene erste Bitbreite
ist, dass Kombinationsmittel vorgesehen sind, deren Eingänge
mit den dritten und fünften Ausgängen zum linearen Kombinieren der ersten und zweiten Speicherunteradresse
zum Erzeugen weiterer weniger bedeutsamer Adressenbits verbunden sind, die zusammen mit den erwähnten bedeutsameren
909884/0698
13-6-1979 2 PHN 9182
Bits als vollständige Speicheradresse an einem sechsten
Ausgang der Kombinationsmittel abgegeben werden, dass der erwähnte vierte Ausgang mit einem Adresseingang einer
Segmenttabelleneinrichtung verbunden ist, die eine Anzahl entsprechender Speicherstellungen zum Aufnehmen je einer
Segmentbasiskennung und einen siebten Ausgang zum Ausgeben
einer adressierten Segmentbasiskennung enthält, dass der
siebte Ausgang eine Bitbreite hat, die zumindest genau so gross ist wie die erste Bitbreite, und dass die sechsten
und siebten Ausgänge mit Eingängen einesAusgangsaddierers
zum Erzeugen einer absoluten Adresse an einem achten Ausgang des Ausgange>~addierers verbunden sind.
2. Adressenerzeugungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die Kombinat'ionsraittel
einen Addierer enthalten.
3. Adressenerzeugungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass die zweite Bitbreite zwischen
dem ( *Nj. ) i-j- — und (^) 1^f - Fachen der ersten Bitbreite
liegt.
if Adressenerzeugungsanordnung nach Anspruch
3, dadurch gekennzeichnet, dass die Bitbreite des siebten Ausgangs zwischen dem (^) 1 und ( «C ) 1tj· -Fachen der ersten
Bitbreite liegt.
5. Adressenerzeugungsanordnung nach einem der
5. Adressenerzeugungsanordnung nach einem der
Ansprüche 1 bis k, dadurch gekennzeichnet, dass die erwähnten
Speicherpositionen weiterhin eine Speicherkapazität für eine Segment ober grerizenkennung aufweisen und dass die
Segmenttabelleneinrichtung einen neunten Ausgang zum Ausgeben einer Segmentobergrenzenkennung bei einer Adressierung
einer diese Kennung enthaltenen Speicherposition aufweist.
909884/0699
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL7807314A NL7807314A (nl) | 1978-07-06 | 1978-07-06 | Inrichting voor het vergroten van de lengte van een logisch computeradres. |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2926589A1 true DE2926589A1 (de) | 1980-01-24 |
Family
ID=19831201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792926589 Ceased DE2926589A1 (de) | 1978-07-06 | 1979-06-30 | Anordnung zur verlaengerung einer logischen computeradresse |
Country Status (6)
Country | Link |
---|---|
US (1) | US4361868A (de) |
JP (1) | JPS5855528B2 (de) |
DE (1) | DE2926589A1 (de) |
FR (1) | FR2430636B1 (de) |
GB (1) | GB2025097B (de) |
NL (1) | NL7807314A (de) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0149858B1 (de) * | 1980-04-25 | 1991-03-06 | Data General Corporation | Datenverarbeitungssystem |
JPS5750052A (en) * | 1980-09-09 | 1982-03-24 | Toshiba Corp | Address extension system |
EP0066083B1 (de) * | 1981-06-01 | 1986-07-16 | International Business Machines Corporation | Einrichtung zur Adressensubstitution |
US4432053A (en) * | 1981-06-29 | 1984-02-14 | Burroughs Corporation | Address generating apparatus and method |
US4453212A (en) * | 1981-07-13 | 1984-06-05 | Burroughs Corporation | Extended address generating apparatus and method |
FR2515404B1 (fr) * | 1981-10-28 | 1987-06-26 | France Etat | Ensemble de gestion de la memoire d'un processeur |
US4473878A (en) * | 1981-11-23 | 1984-09-25 | Motorola, Inc. | Memory management unit |
JPS59191919U (ja) * | 1983-06-07 | 1984-12-20 | 大昭和紙工産業株式会社 | 提げ袋 |
EP0148478B1 (de) * | 1983-12-23 | 1989-08-09 | Hitachi, Ltd. | Datenprozessor mit Steuerung der signifikanten Bitlänge von Allzweckregistern |
US4677548A (en) * | 1984-09-26 | 1987-06-30 | Honeywell Information Systems Inc. | LSI microprocessor chip with backward pin compatibility and forward expandable functionality |
US5027273A (en) * | 1985-04-10 | 1991-06-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
EP0220327B1 (de) * | 1985-04-30 | 1991-12-27 | Fujitsu Limited | Adressenerweiterungssystem |
JPS6228850A (ja) * | 1985-07-31 | 1987-02-06 | Toshiba Corp | メモリアドレスマツピング機構 |
JP2507756B2 (ja) * | 1987-10-05 | 1996-06-19 | 株式会社日立製作所 | 情報処理装置 |
JPH01204147A (ja) * | 1988-02-09 | 1989-08-16 | Toshiba Corp | アドレス修飾回路 |
FR2629930B1 (fr) * | 1988-04-12 | 1991-03-15 | Labo Electronique Physique | Procede et unite de gestion de mots d'adresse |
US4965720A (en) * | 1988-07-18 | 1990-10-23 | International Business Machines Corporation | Directed address generation for virtual-address data processors |
JPH0289132A (ja) * | 1988-09-26 | 1990-03-29 | Nec Corp | 論理アドレス生成方式 |
US5317706A (en) * | 1989-11-15 | 1994-05-31 | Ncr Corporation | Memory expansion method and apparatus in a virtual memory system |
US5771368A (en) * | 1990-10-29 | 1998-06-23 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
EP0492970B1 (de) * | 1990-12-21 | 1995-08-02 | Sun Microsystems, Inc. | Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits |
EP0494329B1 (de) * | 1991-01-10 | 1999-03-24 | Siemens Aktiengesellschaft | Schaltungsanordnung zur Abbildung des logischen Adressraums einer Prozessoreinheit auf den physikalischen Adressraum eines Speichers |
US5423013A (en) * | 1991-09-04 | 1995-06-06 | International Business Machines Corporation | System for addressing a very large memory with real or virtual addresses using address mode registers |
US5381537A (en) * | 1991-12-06 | 1995-01-10 | International Business Machines Corporation | Large logical addressing method and means |
KR950006332B1 (ko) * | 1992-11-19 | 1995-06-14 | 삼성전자주식회사 | 메모리 데이터의 고속 억세스 회로 |
US5680632A (en) * | 1992-12-24 | 1997-10-21 | Motorola, Inc. | Method for providing an extensible register in the first and second data processing systems |
EP1416374A3 (de) | 1993-05-27 | 2004-09-01 | Matsushita Electric Industrial Co., Ltd. | Programmumsetzungseinheit und verbesserter Prozessor für Adressierung |
US5680598A (en) * | 1995-03-31 | 1997-10-21 | International Business Machines Corporation | Millicode extended memory addressing using operand access control register to control extended address concatenation |
US5649125A (en) * | 1995-10-30 | 1997-07-15 | Motorola, Inc. | Method and apparatus for address extension across a multiplexed communication bus |
DE10163342A1 (de) * | 2001-12-21 | 2003-07-10 | Elektro Beckhoff Gmbh Unterneh | Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer |
US7596680B2 (en) * | 2003-09-15 | 2009-09-29 | International Business Machines Corporation | System and method for encoding and decoding architecture registers |
US20090210678A1 (en) * | 2005-08-01 | 2009-08-20 | Simon Ford | Handling of Denormals In Floating Point Number Processim |
US8766995B2 (en) * | 2006-04-26 | 2014-07-01 | Qualcomm Incorporated | Graphics system with configurable caches |
US7502908B2 (en) * | 2006-05-04 | 2009-03-10 | International Business Machines Corporation | Method for providing an address format compatible with different addressing formats used for addressing different sized address spaces |
US20070268289A1 (en) * | 2006-05-16 | 2007-11-22 | Chun Yu | Graphics system with dynamic reposition of depth engine |
US8884972B2 (en) * | 2006-05-25 | 2014-11-11 | Qualcomm Incorporated | Graphics processor with arithmetic and elementary function units |
US8869147B2 (en) * | 2006-05-31 | 2014-10-21 | Qualcomm Incorporated | Multi-threaded processor with deferred thread output control |
US8644643B2 (en) | 2006-06-14 | 2014-02-04 | Qualcomm Incorporated | Convolution filtering in a graphics processor |
US8766996B2 (en) | 2006-06-21 | 2014-07-01 | Qualcomm Incorporated | Unified virtual addressed register file |
US10198203B2 (en) * | 2016-11-15 | 2019-02-05 | Samsung Electronics Co., Ltd. | Method of operating memory device using pseudo-random functions, memory device using the same and memory system including the device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2403039A1 (de) * | 1973-02-06 | 1974-08-08 | Ibm | Verfahren zur adressenerweiterung einer elektronischen digitalrechenanlage |
US3949378A (en) * | 1974-12-09 | 1976-04-06 | The United States Of America As Represented By The Secretary Of The Navy | Computer memory addressing employing base and index registers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3412382A (en) * | 1965-11-26 | 1968-11-19 | Massachusetts Inst Technology | Shared-access data processing system |
NL6806735A (de) * | 1968-05-11 | 1969-11-13 | ||
NL6815506A (de) * | 1968-10-31 | 1970-05-04 | ||
US3735355A (en) * | 1971-05-12 | 1973-05-22 | Burroughs Corp | Digital processor having variable length addressing |
FR122199A (de) * | 1973-12-17 | |||
US4044334A (en) * | 1975-06-19 | 1977-08-23 | Honeywell Information Systems, Inc. | Database instruction unload |
FR2337373A1 (fr) * | 1975-12-31 | 1977-07-29 | Honeywell Bull Soc Ind | Dispositif de developpement d'adresse faisant intervenir une nouvelle technique de pagination |
US4084227A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
US4096573A (en) * | 1977-04-25 | 1978-06-20 | International Business Machines Corporation | DLAT Synonym control means for common portions of all address spaces |
-
1978
- 1978-07-06 NL NL7807314A patent/NL7807314A/nl not_active Application Discontinuation
-
1979
- 1979-06-30 DE DE19792926589 patent/DE2926589A1/de not_active Ceased
- 1979-07-03 US US06/054,534 patent/US4361868A/en not_active Expired - Lifetime
- 1979-07-03 GB GB7923052A patent/GB2025097B/en not_active Expired
- 1979-07-06 JP JP54085806A patent/JPS5855528B2/ja not_active Expired
- 1979-07-06 FR FR7917634A patent/FR2430636B1/fr not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2403039A1 (de) * | 1973-02-06 | 1974-08-08 | Ibm | Verfahren zur adressenerweiterung einer elektronischen digitalrechenanlage |
US3949378A (en) * | 1974-12-09 | 1976-04-06 | The United States Of America As Represented By The Secretary Of The Navy | Computer memory addressing employing base and index registers |
Non-Patent Citations (1)
Title |
---|
DE-Buch "Rechnerstrukturen" Oldenburg Verlag, 1974, Hrsg. Hasselmeier, Spruth, S. 224-260 * |
Also Published As
Publication number | Publication date |
---|---|
GB2025097B (en) | 1982-12-08 |
JPS5855528B2 (ja) | 1983-12-10 |
JPS5513499A (en) | 1980-01-30 |
GB2025097A (en) | 1980-01-16 |
FR2430636A1 (fr) | 1980-02-01 |
NL7807314A (nl) | 1980-01-08 |
US4361868A (en) | 1982-11-30 |
FR2430636B1 (fr) | 1986-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2926589A1 (de) | Anordnung zur verlaengerung einer logischen computeradresse | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE1901228A1 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
CH634939A5 (de) | Kanaldatenpufferanordnung in einer datenverarbeitungsanlage. | |
DE2912287A1 (de) | Datenverarbeitungsgeraet | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE1285220B (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE2640357C2 (de) | Wortgruppenprioritätsanordnung | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE2458096C2 (de) | Einrichtung zum Laden von Mikroprogrammen in einer mikroprogrammierbaren Datenverarbeitungsanlage | |
DE1549531A1 (de) | Digitale Rechenanlage | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE1499206B2 (de) | Rechenanlage | |
DE2458286A1 (de) | Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen | |
DE2458525B2 (de) | Speicheranordnung mit Haupt- und Pufferspeicher | |
DE2830334C2 (de) | ||
DE2403039C2 (de) | Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2233193A1 (de) | Stapel-speichersystem | |
DE1285218B (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |