DE2926589A1 - Anordnung zur verlaengerung einer logischen computeradresse - Google Patents

Anordnung zur verlaengerung einer logischen computeradresse

Info

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
Application number
DE19792926589
Other languages
English (en)
Inventor
Cecil Hertz Kaplinsky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2926589A1 publication Critical patent/DE2926589A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address 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
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
DE19792926589 1978-07-06 1979-06-30 Anordnung zur verlaengerung einer logischen computeradresse Ceased DE2926589A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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