DE4126302A1 - Adressenuebersetzungsvorrichtung zum uebersetzen von virtuellen adressen in tatsaechliche adressen, unabhaengig von einer verarbeitung durch eine cpu - Google Patents

Adressenuebersetzungsvorrichtung zum uebersetzen von virtuellen adressen in tatsaechliche adressen, unabhaengig von einer verarbeitung durch eine cpu

Info

Publication number
DE4126302A1
DE4126302A1 DE4126302A DE4126302A DE4126302A1 DE 4126302 A1 DE4126302 A1 DE 4126302A1 DE 4126302 A DE4126302 A DE 4126302A DE 4126302 A DE4126302 A DE 4126302A DE 4126302 A1 DE4126302 A1 DE 4126302A1
Authority
DE
Germany
Prior art keywords
address signal
memory cell
offset data
cell array
order 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.)
Granted
Application number
DE4126302A
Other languages
English (en)
Other versions
DE4126302C2 (de
Inventor
Tatsuya Imakura
Mitsuru Sugita
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE4126302A1 publication Critical patent/DE4126302A1/de
Application granted granted Critical
Publication of DE4126302C2 publication Critical patent/DE4126302C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

Die vorliegende Erfindung bezieht sich auf Adressenüberset­ zungsvorrichtungen und im besonderen auf eine Adressenüber­ setzungsvorrichtung, die eine virtuelle Adresse in eine tatsächliche Adresse übersetzt, um auf ein Speicherzellenfeld zuzugreifen. Die vorliegende Erfindung ist besonders anwend­ bar auf eine Adressenübersetzungsschaltung, die innerhalb ei­ nes Mikrocomputers vorgesehen ist.
Mikrocomputer werden derzeit in vielfältigen Einsatzfeldern eingesetzt, und sie werden beispielsweise oft in der Daten­ verarbeitung oder in der automatischen Steuerung von ver­ schiedenen Geräten eingesetzt. Ein Mikrocomputer umfaßt gene­ rell ein Speicherzellenfeld zum Speichern von verarbeiteten oder zu verarbeitenden Daten, zusätzlich zu einer Zentralver­ arbeitungseinheit (nachfolgend als CPU bezeichnet). Genauer gesagt werden bei einem Mikrocomputer entsprechend eines Be­ fehls der CPU Daten in ein Speicherzellenfeld eingeschrieben und die geschriebenen Daten ausgelesen.
Zusätzlich kommt oft ein Fall vor, bei dem es wünschenswert ist, extern auf die im Speicherzellenfeld des Mikrocomputers gespeicherten Daten Bezug zu nehmen. Um diesem Abfragefall gerecht zu werden, d. h. der Notwendigkeit, auch extern auf das Speicherzellenfeld zuzugreifen, ist ein Dual-Port-Spei­ cher mit wahlfreiem Zugriff (nachfolgend als DPRAM) bezeich­ net) als interner Speicher innerhalb eines Mikrocomputers vorgesehen.
Im allgemeinen weist ein DPRAM zwei Eingabe/Ausgabeports auf. Genauer gesagt, auf den innerhalb eines Mikrocomputers vorge­ sehenen DPRAM wird über einen Eingabe/Ausgabeport durch die interne CPU zugegriffen, und es wird über den anderen Ein­ gabe/Ausgabeport durch die externe CPU zugegriffen. Genauer gesagt kann die externe CPU die Daten, die in den DPRAM über den einen Eingabe/Ausgabeport durch die interne CPU einge­ schrieben wurden, durch den anderen Eingabe/Ausgabeport aus­ lesen. Andererseits kann die externe CPU auch Daten in den DPRAM durch den anderen Eingabe/Ausgabeport einschreiben.
Damit die externe CPU auf den DPRAM eines Mikrocomputers zu­ greifen kann, um dort hineinzuschreiben bzw. daraus zu lesen, ist es im allgemeinen notwendig, die von der externen CPU be­ arbeitete Adresse, d. h. eine virtuelle Adresse, in ein tatsächliches Adreßsignal (oder ein physisches Adreßsignal) zu übersetzen, um eine Speicherzelle des DRAM zu bestimmen. Es wird nachfolgend angenommen, daß eine virtuelle Adresse eine Adresse auf Software-Basis bedeutet, d. h. auf der Basis einer Speicherabbildung, die von der externen CPU verarbeitet wird.
Im allgemeinen wurde bisher die Übersetzung von einem virtu­ ellen Adreßsignal in ein tatsächliche Adreßsignal durch eine Verarbeitungsoperation einer CPU vorgenommen. Dies bedeutet, daß sich die Belastung der CPU durch die Bearbeitung der Adressenübersetzung vergrößert. Genauer gesagt, die von der CPU vorzunehmenden arithmetischen Operationen werden durch die für die Adressenübersetzung notwendige Menge von Opera­ tionen vergrößert, wodurch die ursprünglich von der CPU zu bearbeitenden Betriebsoperationen (operation processing) ver­ zögert werden. Mit anderen Worten, die Verarbeitungsgeschwin­ digkeit der CPU wurde durch die Adressenübersetzung vermin­ dert.
Als ein weiteres Verfahren zum Durchführen der Adressenüber­ setzung könnte es nützlich sein, eine Schaltung zur Adressen­ übersetzung innerhalb eines Mikrocomputers vorzusehen. Bei diesem Verfahren ist allerdings die zu übersetzende Adresse durch die Schaltung festgelegt, und entsteht eine Notwendig­ keit zum Ändern der Schaltung, um diese an eine Mehrzahl von externen CPUs anzupassen. Es ist daher weder einfach noch re­ alistisch, die Schaltungskonfiguration derartiger Adressen­ übesetzungschaltungen entsprechend der Bedingungen zu ändern, für die eine Adressenübersetzung benötigt wird.
Ziel der vorliegenden Erfindung ist es, ein virtuelles Adreß­ signal in ein tatsächliches Adreßsignal zu übersetzen, ohne von Betriebsoperationen einer CPU abhängig zu sein. Ein von einer externen CPU erzeugtes virtuelles Adreßsignal soll in ein tatsächliches Adreßsignal für einen Mikrocomputer mit Speicherfeld übersetzt werden, auf den von einer externen CPU zugegriffen werden kann, ohne von einer Betriebsoperation ei­ ner CPU abhängig zu sein.
Ein weiteres Ziel der vorliegenden Erfindung ist es, eine Mehrzahl von einer externen CPU auf der Basis verschiedener Speicherabbildungen (memory maps) erzeugter virtueller Adreß­ signale in tatsächliche Adreßsignale zu übersetzen, die dem Speicherfeld in einem Mikrocomputer entsprechen, auf den von einer externen CPU unabhängig von Betriebsoperationen einer CPU zugegriffen werden kann.
Entsprechend sollen die von einer Mehrzahl von externen CPUs mit verschiedenen Speicherabbildungen erzeugten virtuellen Adreßsignale in tatsächliche Adreßsignale für das Speicher­ feld in einem Mikrocomputer übersetzt werden.
Die erfindungsgemäße Adreßübersetzungsvorrichtung umfaßt eine Versatzdatenhalteschaltung, die vorbestimmte Versatzdaten (offset data) für die Adreßübersetzung speichert, eine Akti­ vierungsschaltung, die auf vorbestimmte höherwertige Bits ei­ nes extern angelegten virtuellen Adreßsignals und auf vorbe­ stimmte höherwertige Bit der in der Versatzdatenhalteschal­ tungen gehaltenen Versatzdaten zum Aktivieren eines Zugriffs auf das Speicherzellenfeld reagiert, sowie eine Adreßsignal­ erzeugerschaltung für tatsächliche Adreßsignale, die auf vor­ bestimmte niederwertige Bits des virtuellen Adreßsignals und vorbestimmte niederwertige Bits der in der Versatzdatenhal­ teschaltung gehaltenen Versatzdaten zum Erzeugen eines tatsächlichen Adreßsignals reagiert.
Während des Betriebs sind alle die Adressenübersetzungsvor­ richtung bildenden Elemente mit Schaltungen implementiert, so daß die Verarbeitung durch die CPU für die Adressenüberset­ zung weitgehend vermindert ist. Es ist daher möglich, ein virtuelles Adreßsignal in ein tatsächliches Adreßsignal zu übertragen, ohne von einer Betriebsoperation der CPU abhängig zu sein.
Weitere Merkmale und Zweckmäßigkeiten der vorliegenden Erfin­ dung ergeben sich aus der Beschreibung eines Ausführungsbei­ spiels anhand der Figuren.
Von den Figuren zeigen:
Fig. 1 ein Blockdiagramm eines Mikrocomputers, auf den eine Ausführungsform der Erfindung ange­ wendet wird;
Fig. 2 ein Schaltungsblockdiagramm der in Fig. 1 ge­ zeigten Adressenübersetzungsschaltung;
Fig. 3 ein Flußdiagramm zum Beschreiben der Operatio­ nen der in den Fig. 1 und 2 gezeigten Schaltungen;
Fig. 4 ein Schaltbild des Versatzregisters und der Additionsschaltung, wie in Fig. 2 gezeigt;
Fig. 5 ein Schaltbild des in Fig. 2 gezeigten Sub­ trahierers;
Fig. 6A-6C Adressenbitdiagramme zum Beschreiben der Not­ wendigkeit für die in Fig. 2 gezeigte Addie­ rerschaltung;
Fig. 7 ein Blockschaltbild der Adressenübersetzungs­ schaltung gemäß einer anderen Ausführungsform der Erfindung;
Fig. 8 ein Blockschaltbild der Adressenübersetzungs­ vorrichtung mit einer weiteren Ausführungsform der Erfindung;
Wie in Fig. 1 gezeigt, ist ein Mikrocomputer 20 mit einem DPRAM 5 über einen Adreßbus AB1, einen Datenbus DB1 und einen Steuerbus CB1 mit einem Mikrocomputer 11 verbunden. Der Mi­ krocomputer 20 umfaßt eine CPU 2 zum Ausführen einer Daten­ verabeitung im Mikrocomputer 20, einen Funktionsblockteil 25 und eine Speichereinheit 26 zum Speichern eines Programms und von Daten. Die CPU 2, die Funktionsblockeinheit 25 und die Speichereinheit 26 sind über den Adreßbus AB2, den Datenbus DB2 und den Steuerbus CB2 verbunden.
Der DPRAM 5 umfaßt zwei Eingabe/Ausgabeports.
Genauer gesagt umfaßt der DPRAM 5 einen Adreßdecoder 22 und einen Leseverstärker 24 als ersten Eingabe/Ausgabeport sowie einen Adreßdecoder 21 und einen Leseverstärker 23 als zweiten Eingabe/Ausgabeport. Der Adreßdecoder 22 ist über den Adreß­ bus AB2 zum Empfangen des von der CPU2 bearbeiteten internen Adreßsignals verbunden. Der Adreßdecoder 22 reagiert auf das interne Adreßsignal und bestimmt die Speicherzelle, auf die zuzugreifen ist. Das Speicherfeld 28 ist über den Lesever­ stärker 24 mit dem Datenbus DB2 verbunden. Das in das Spei­ cherfeld 28 einzuschreibende Datensignal wird über den Daten­ bus DB2 und den Leseverstärker 24 an das Speicherfeld 28 herangebracht. Das in das Speicherfeld 28 eingeschriebene Da­ tensignal wird an den Datenbus DB2 angelegt, nachdem es vom Leseverstärker 24 verstärkt wurde.
Die mit dem Adreßbus AB2 verbundene Erkennungschaltung 27 er­ zeugt ein Aktivierungssignal CE2, wenn ein internes Adreßsi­ gnal innerhalb des vorbestimmten Rahmens an den Adreßbus AB2 angelegt wird. Zugriff auf den DPRAM 5 durch die CPU 2 wird als Reaktion auf das Signal CE2 aktiviert. Genauer gesagt werden der Adreßdecoder 22 und der Leseverstärker 24 akti­ viert.
Der Mikrocomputer 20 umfaßt ferner eine Übersetzungsschal­ tung, die ein vom Mikrocomputer 11 erzeugtes virtuelles Adreßsignal in ein tatsächliches Adreßsignal (physisches Adreßsignal) für den DPRAM 5 übersetzt. Als Übersetzungs­ schaltung sind daher ein Versatzregister (Offset-Register) 3, das die Versatzdaten für eine Adressenübersetzung hält, und eine Adressenoperationseinheit 4 zum Durchführen der Adres­ senübersetzung vorgesehen. Das Versatzregister 3 ist über den externen Datenbus 1 zum Empfangen der 12 Bit Versatzdaten F15-F4, die vom Mikrocomputer 11 erzeugt wurden, verbunden. Die Adressenoperationseinheit 4 ist durch den externen Adreßbus AB1 zum Empfangen des 12 Bit virtuellen Adreßsignals A15-A4, das vom Mikrocomputer 11 erzeugt wurde, verbunden. Der Adressendecoder 21 ist über den externen Adreßbus AB1 zum Empfangen des 4 Bit virtuellen Adreßsignals A3-A0, das vom Mikrocomputer 11 erzeugt wurde, verbunden.
Die Adressenoperationseinheit 4 erzeugt ein Signal CE1 zum Aktivieren des zweiten Eingabe/Ausgabeports des DPRAM 5 und der übersetzten 3 Bit Adreßsignale A6′-A4′, als Reaktion auf die im Versatzregister 3 gehaltenen 12 Bit Versatzdaten und die 12 Bit virtuellen Adreßsignale A15-A4. Der Adreßdecoder 21 und der Leseverstärker 23 reagieren auf das Signal CE1, um aktiviert zu werden. Der Adreßdecoder 21 reagiert auf die übersetzten Adreßsignale A6′-A4′ und die extern angelegten Adreßsignale A3-A0, um Speicherzellen im Speicherfeld 28 zu bezeichnen.
Der Mikrocomputer 11 umfaßt ebenfalls eine CPU 1, eine Funk­ tionsblockeinheit 25′ und eine Speichereinheit 26′. Die CPU 1, die Funktionsblockeinheit 25′ und die Speichereinheit 26′ sind über den externen Adreßbus AB1, den externen Datenbus DB1 und den externen Steuerbus CB1 mit dem Mikrocomputer 20 verbunden. Zusätzlich sind die anderen Mikrocomputer 12 und ln ebenfalls durch den externen Datenbus AB1, den externen Datenbus DB1 und den externen Steuerbus CB1 mit dem Mikrocom­ puter 20 verbunden. Obwohl jeder der Mikrocomputer 11-1n auf den DPRAM 5 des Mikrocomputers 20 zugreifen kann, wird nachfolgend nur der Zugriff des Mikrocomputers 11 aus Gründen der Vereinfachung beschrieben.
Während des normalen Betriebs greift die interne CPU 2 auf den DPRAM 5 zu. Die von der CPU 2 verarbeitete Speicherabbil­ dung wurde im Mikrocomputer 20 vorbestimmt, so daß es nicht nötig ist, für den Zugriff der CPU 2 auf den DPRAM 5 eine Adressenübersetzung vorzunehmen. Wenn daher die Erkennungs­ schaltung 27 das interne Adreßsignal auf dem internen Adreß­ bus AB2 als innerhalb des vorbestimmten Adreßbereichs er­ kennt, wird das Aktivierungssignal C2 erzeugt. Der Adreßdeco­ der 22 und der Leseverstärker 24 werden daher aktiviert, und der Zugriff der CPU 2 auf den DPRAM 5 wird bewirkt. Genauer gesagt decodiert der Adreßdecoder 22 das interne Adreßsignal auf dem internen Adreßbus AB2 und bestimmt eine Speicherzelle im Speicherzellenfeld 28.
Wenn im Gegensatz dazu die externe CPU 1 des Mikrocomputers 11 einen Zugriff auf den DPRAM 5 des Mikrocomputers 20 versucht, wird eine Adressenübersetzung wie im folgenden beschrieben benötigt. Im besonderen, wenn die Speicherabbildung der externen CPU 1 und die Speicherabbil­ dung der internen CPU 2 miteinander nicht allgemein überein­ stimmen, ist es nicht möglich, ein vom Mikrocomputer 11 er­ zeugtes virtuelles Adreßsignal direkt an den Adreßdecoder 21 des Mikrocomputers 20 anzulegen. Dies bedeutet, daß eine Not­ wendigkeit auftritt, ein vom Mikrocomputer 11 erzeugtes vir­ tuelles Adreßsignal in ein an den Adreßdecoder 21 und das Speicherfeld 28 anlegbares tatsächliches Adreßsignal zu über­ setzen. Diese Adressenübersetzungsverarbeitung wird vom Ver­ satzregister 3 und der Adressenoperationseinheit 4 im Mikro­ computer 20 durchgeführt, wie im folgenden beschrieben wird. Bei der nachfolgenden Beschreibung wird angenommen, daß das Speicherfeld 28 eine Speicherkapazität von 128 Byte aufweist.
Der Unterschied zwischen der von der CPU 1 bearbeiteten Spei­ cherabbildung und der von der CPU 2 bearbeiteten Speicherab­ bildung ist im voraus bekannt. Wenn daher zuerst das Bedürf­ nis zum Zugriff auf den DPRAM 5 durch die externe CPU 1 auf­ tritt, wird der Unterschied zwischen den Adressen als Ver­ satzdaten in das Versatzregister 3 durch die CPU 1 (oder die CPU 2) gegeben.
Bei dieser Ausführungsform werden die höherwertigen Versatz­ daten von 12 Bit F15-F4 durch den Datenbus DB1 in das Öff­ setregister 3 gegeben und dort gehalten. Das virtuelle Adreß­ signal wird über den externen Adreßbus AB1 an die Adressen­ operationseinheit 4 und den Adreßdecoder 21 angelegt. Genauer gesagt werden die höherwertigen 12 Bits virtuellen Adreßsi­ gnal A15-A4 an die Adreßoperationseinheit 4 angelegt, und die niederwertigen 4 Bit virtuellen Adreßsignale A3-A0 wer­ den an den Adreßdecoder 21 angelegt. Die Adreßoperationsein­ heit 4 reagiert auf die Offsetdaten F15-F4 im Offsetregi­ ster 3 und die virtuellen Adreßsignale F15-A4, um das Akti­ vierungssignal CE 1 zum Aktivieren des Leseverstärkers 23 und des Adreßdecoders 21 zu erzeugen, sowie auf die übersetzten Adreßsignale von 3 Bit A6′-A4′ zum Bestimmen einer Speicherzelle des Speicherfeldes 28. Der Leseverstärker 23 und der Adreßdecoder 21 reagieren auf das zu aktivierende Si­ gnal CE 1. Der Adreßdecoder 21 reagiert dann auf die über­ setzten Adreßsignale A6′-A4′ und die extern angelegten nie­ derwertigen Adreßsignale A3-A0, um eine Speicherzelle im Speicherfeld 28 zu bestimmen.
Details des Offsetregisters 3 aus der Adressenoperati­ onseinheit 4 aus Fig. 1 sind in Fig. 2 gezeigt. Wie in Fi­ gur 2 gezeigt, umfaßt der Mikrocomputer 20 eine Aktivierungs­ signalerzeugerschaltung 41a und einen Subtrahierer 42a, die die in Fig. 1 gezeigte Adressenoperationseinheit 4 bilden, sowie ein Versatzregister 3. Das Versatzregister 3 ist über einen Datenbus (nicht gezeigt) zum Empfangen der 12 Bit Ver­ satzdaten F15-F4 verbunden. Die Aktivierungssignalerzeuger­ schaltung 41a ist durch einen Adreßbus (nicht gezeigt) zum Empfangen des 9 Bit virtuellen Adreßsignals A15-A7, das vom Mikrocomputer 11 erzeugt wurde, und der 9 Bit Versatzdaten F15-F7, die im Versatzregister 3 gehalten werden, ver­ bunden. Der Subtrahierer 42a ist so verbunden, daß er die vom Mikrocomputer 11 erzeugten 4 Bit virtuellen Adreßsignale A7-A4 und die im Versatzregister 3 gehaltenen 4 Bit Versatzdaten F7-F4, empfängt.
Die Aktivierungssignalerzeugerschaltung 41a umfaßt eine Ad­ diererschaltung 411, die den Datenwert "+1" zu den Versatzda­ ten F15-F7 addiert, eine Übereinstim­ mungs/Erkennungsschaltung 412, die die Übereinstimmung zwi­ schen den addierten Daten und den virtuellen Adreßsignalen A15-A7 erkennt, sowie eine Übereinstimmungserkennungsschal­ tung 413, die die Übereinstimmung zwischen den Versatzdaten F15-F7 und den virtuellen Adreßsignalen A15-A7 erkennt. Ein NAND-Gatter 414 ist mit dem Ausgang der Übereinstimmungs­ erkennungsschaltungen 412 und 413 verbunden. Außerdem ist ein AND-Gatter 415 mit dem Ausgang des NAND-Gatters 414 und dem Ausgang des Subtrahierers 42a verbunden.
Nachfolgend wird der Betrieb unter Bezug auf das Flußdiagramm in Fig. 3 beschrieben. Zuerst wird in Schritt 61 das Auftre­ ten der Zugriffsnachfrage durch die externe CPU 1 erkannt. Wenn die Zugriffsnachfrage (access request) durch die externe CPU 1 ansteigt, werden die 12 Bit Versatzdaten F15-F4 in das Versatzregister 3 eingeschrieben. Wie oben beschrieben, werden die zu setzenden Versatzdaten F15-F4 auf der Basis des Unterschiedes zwischen der von der externen CPU 1 behan­ delten Speicherabbildung und der von der internen CPU 2 be­ handelten Speicherabbildung bestimmt. Die Versatzdaten F15-F7 im Versatzregister 3 werden an die Addiererschaltung 411 und die Übereinstimmungserkennungsschaltung 413 angelegt. Bei der Addiererschaltung 411 wird der Datenwert "+1" zu den 9 Bit Versatzdaten F15-F7 hinzuaddiert und die addierten Da­ ten an die Übereinstimmungserkennungsschaltung 412 angelegt.
Im Schritt 63 werden virtuelle Adreßsignale A15-A0 von der CPU 1 erzeugt. Die Aktivierungssignalerzeugerschaltung 41a empfängt die virtuellen Adreßsignale A15-A8 und die Über­ einstimmungsoperation wird durch die Übereinstimmungserken­ nungsschaltungen 412 und 413 durchgeführt. Folglich wird, wenn eine der Übereinstimmungserkennungsschaltungen 412 und 413 die Übereinstimmung der gegebenen Daten erkennt, ein Ak­ tivierungssignal CE1 vom AND-Gatter 415 erzeugt. Andererseits führt der Subtrahierer 42a eine Subtraktion der virtuellen Adreßsignale A7-A4 und der Versatzdaten F7-F4 durch. Der Datenwert A7′, der das Ergebnis der Subtraktion anzeigt, wird an das AND-Gatter 415 angelegt, während die Daten A6′-A4′ an den DPRAM 5 angelegt werden (Schritt 65).
Der DPRAM 5 wird als Reaktion auf das Aktivierungssignal CE1 aktiviert, und die Speicherzellen im Speicherfeld 1 werden als Reaktion auf die Adreßsignale A6′-A4′, die vom Subtrahierer 42a erzeugt wurden, und die niederwertigen virtuellen Adreßsignale A3-A0 bestimmt. Daher wird in Schritt 66 der Zugriff auf die Speicherzelle im DPRAM 5 durch die externe CPU 1 vorgenommen (Schreiben/Lesen).
In Schritt 67 wird entschieden, ob ein Zugriffsbefehl von der anderen externen CPU erzeugt wird. Wenn dieser Befehl nicht erzeugt wird, kehrt die Verarbeitung zu Schritt 63 zurück. Genauer gesagt fährt die externe CPU 1 fort, auf den DPRAM 5 zuzugreifen. Wenn andererseits ein Zugriffsbefehl von der an­ deren externen CPU, d. h. der in Fig. 1 gezeigten CPU im Mi­ krocomputer 12, erzeugt wird, kehrt die Verarbeitung zu Schritt 62 zurück. Genauer gesagt, da die Speicherabbildung im Mikrocomputer 12 und die Speicherabbildung im Mikrocompu­ ter 20 miteinander nicht übereinstimmen, entsteht die Notwen­ digkeit zum Ändern der Versatzdaten. Auf der Basis der Unter­ schiede zwischen diesen Speicherabbildungen werden neue Ver­ satzdaten bestimmt und diese Versatzdaten in das Offset-Regi­ ster 3 gesetzt (Schritt 62). Nachdem die Versatzdaten geän­ dert worden sind, werden die Schritte 63 und nachfolgende be­ arbeitet, d. h. auf den DPRAM 5 wird durch die externe CPU im Mikrocomputer 12 zugegriffen.
Ein Beispiel des Versatzregisters 3 und des in Fig. 2 ge­ zeigten Addiererkreises ist in Fig. 4 abgebildet. Wie in Fi­ gur 4 gezeigt, ist das Offset-Register 3 so verbunden, daß es die durch einen Datenbus (nicht gezeigt) angelegten Versatz­ daten F15-F4 empfängt. Das Versatzregister 3 reagiert auf die Schreibaktivierungssignale WREN, die von dem in Fig. 1 gezeigten externen Steuerbus CB1 bereitgestellt werden, und hält jedes Bit der Versatzdaten F15-F4. Die Addiererschal­ tung 411 empfängt die im Versatzregister 3 gehaltenen Ver­ satzdatenbits F15-F7 und addiert den Datenwert "+1" zu den Daten. Die summierten Daten F15′-F7′ werden an die Überein­ stimmungserkennungsschaltung 412 angelegt. Die nicht summier­ ten Versatzdaten F15-F7 andererseits werden an die Überein­ stimmungserkennungsschaltung 413 angelegt. Die im Versatzre­ gister 3 gehaltenen Offsetdatenbits F7-F4 werden an den Subtrahierer 42a angelegt.
Ein Beispiel des in Fig. 2 gezeigten Subtrahierers 42a ist in Fig. 5 gezeigt. Wie in Fig. 5 gezeigt, empfängt der Sub­ trahierer 42a die im Offset-Register 3 (nicht gezeigt) gehal­ tenen Versatzdatenbits und die virtuellen Adreßssignalbits A7-A4 und führt eine Subtraktion dieser Daten durch. Da der Subtrahierer 42a mit einer Subtrahiererschaltung vom Vor­ wärts-Übertragstyp (carry look-ahead type) von 4 Bits verkör­ pert wird, kann er die Verarbeitung der höherwertigen Bits vornehmen, ohne auf das Subtraktionsergebnis der niederwerti­ geren Bits warten zu müssen. Eine Verzögerung durch das sich Fortsetzen eines Übertragssignals kann daher verhindert wer­ den. Genauer gesagt kann der Subtrahierer 42a eine Subtrak­ tion von 2 Daten mit hoher Geschwindigkeit vornehmen. Die Da­ ten A6′-A4′, die das Subtraktionsergebnis zeigen, werden an den DPRAM als tatsächliche Adreßsignale zum Bezeichnen von Speicherzellen des DPRAM angelegt. Der Datenwert A7′ wird an das in Fig. 2 gezeigte AND-Gatter 415 angelegt.
Wie in den Fig. 6A-6C gezeigt, wird im nachfolgenden die Notwendigkeit des in Fig. 2 gezeigten Addiererkreises 411 beschrieben. Wie im Zusammenhang mit der obigen Ausführungs­ form beschrieben, wird angenommen, daß das Speicherfeld 28 im DPRAM 5 Speicherzellen von 128 Bytes aufweist. Daher unter­ scheidet sich die Änderung des virtuellen Adreßbits A7 in der Speicherabbildung der CPU 1 für jeden der Fälle, bei dem der Adressenbereich des DPRAM 5 zum Beispiel 7000H-707FH (Fig. 6A), 7070H-70EFH (Fig. 6B) und 7090H-710FH (Fig. 6C) beträgt. Genauer gesagt ändert sich das virtuelle Adreßbit A7 nicht, wie in Fig. 6A gezeigt, in dem Fall, wenn die virtu­ ellen Adreßsignale sich innerhalb des Bereichs von 7000H 707FH ändern. Wie allerdings in Fig. 6E gezeigt, ändert sich das virtuelle Adreßbit A7 von "0" auf "1" in dem Fall, daß sich die virtuellen Adreßsignale im Bereich von 7070H-70EFH ändern. Außerdem ändert sich, wie in Fig. 6C gezeigt, das virtuelle Adreßbit A7 von "1" auf "0" und das virtuelle Adreßbit A8 von "0" auf "1", wenn die virtuellen Adreßsignale sich im Bereich von 7090H-710FH ändern. In den in den Fig. 6B und 6C dargestellten Fällen ist es daher notwendig, den Datenwert "+1" zu dem virtuellen Adreßsignal A7 hinzuzuaddieren. Die in Fig. 2 gezeigte Addiererschaltung 411 ist daher in der Aktivierungssignalerzeugerschaltung 41a vorgesehen, und der Datenwert "+1" wird zu den Versatzdaten F15-F7 hinzuaddiert.
Wie mit der in Fig. 2 abgebildeten Schaltung gezeigt wird, werden die virtuellen Signale A7-A4 an die Subtrahierer­ schaltung 42a angelegt, so daß das Speicherfeld 28 mit einer Speicherkapazität von 128 Byte für jede 16 Byte addressiert wird. Im Gegensatz dazu, wie in Fig. 7 gezeigt, ist es mög­ lich, auf das Speicherfeld 28 in Abständen von 8 Byte zuzu­ greifen, indem die virtuellen Adreßsignale A7-A3 und die Versatzdaten F7-F3 an den Subtrahierer 42b angelegt werden. Genauer gesagt, da der Subtrahierer 42b eine Subtraktion die­ ser beiden Daten durchführt, werden die 4 Bitdaten A6′-A3′ als höherwertigere Bits zum Bezeichnen von Speicherzellen er­ zeugt. Folglich kann der DPRAM 5 in kleineren Einheiten ad­ dressiert werden.
Im Fall, daß die Speicherkapazität des DPRAM 256 Byte be­ trägt, muß die Verarbeitung des virtuellen Adreßbit A8 geän­ dert werden, wie in Fig. 8 gezeigt. Genauer gesagt, die Ak­ tivierungssignalerzeugerschaltung 41c empfängt die virtuellen Adreßsignale A15-A8 und die Versatzdaten F15-F8 und führt dieselbe Operation wie die bei der in Fig. 2 gezeigten Schaltung durch. Der Subtrahierer 42c empfängt die virtuellen Adreßsignale A8-A4 und die Versatzdaten F8-F4 und führt dieselbe Operation wie die in Fig. 2 gezeigte Schaltung durch. Hieraus folgt, daß selbst wenn die Speicherkapazität des DPRAM 5 vergrößert wird, es einfach ist, hierauf mit einer leichten Abänderung der Schaltung zu reagieren.
Da, wie oben beschrieben, das Versatzregister 3, die Aktivie­ rungssignalerzeugerschaltung 41a und der Subtrahierer 42a, die sämtlich in Fig. 2 gezeigt sind, im Mikrocomputer 20 mit dem DPRAM 5, auf dem extern zuzugreifen ist, vorgesehen sind, wird ein Ansteigen der Belastung der CPU 1 durch die Adres­ senübersetzung verhindert. Genauer gesagt, da die Adressen­ übersetzung durch den Schaltungsbetrieb der Schaltungen 3, 41a und 42a vorgenommen wird, muß die externe CPU 1 keine Operationen zum Durchführen einer Adressenübersetzung durch­ führen. Zusätzlich kann die für den Zugriff der anderen ex­ ternen CPUs notwendige Adressenübersetzung auch durch diese Schaltungen 3, 41a und 42a vorgenommen werden, indem die in das Versatzregister 3 gesetzten Versatzdaten geändert werden. Außerdem kann in dem Fall der in der Fig. 7 angewendeten Schaltung das Speicherfeld 28 im DPRAM 5 in höher aufgelösten Adreßeinheiten angesprochen werden. Im Fall, daß die Spei­ cherkapazität des DPRAM 5 vergrößert wird, kann hierauf eben­ falls durch leichtes Abändern der Schaltung reagiert werden, wie in Fig. 8 gezeigt.

Claims (12)

1. Adressenübersetzungsvorrichtung zum Übersetzen eines extern angelegten virtuellen Adreß-Signals in ein physisches Adreß- Signal zum Adressieren eines Speicherzellenfelds, mit
einer Versatzdaten-Haltevorrichtung (3a) zum Halten von vorbe­ stimmten Versatzdaten für eine Adressenübersetzung,
einer Aktivierungsvorrichtung (41a), die auf vorbestimmte hö­ herwertige Bits des virtuellen Adreß-Signals und auf vorbe­ stimmte höherwertige Bits der in der Versatzdaten-Haltevor­ richtung (3a) gehaltenen Versatzdaten reagiert, zum Ermögli­ chen eines Zugriffs auf das Speicherzellenfeld, und
einer physischen Adreß-Signal-Erzeugervorrichtung (42a), die auf vorbestimmte niederwertige Bits des virtuellen Adreß-Si­ gnals und auf vorbestimmte niederwertige Bits der in der Versatzdaten-Haltevorrichtung (3a) gehaltenen Versatzdaten reagiert, zum Erzeugen des physischen Adreß-Signals.
2. Adressenübersetzungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
die Aktivierungsvorrichtung (41a) eine erste Übereinstimmungs- Erkennungsvorrichtung (413) aufweist, zum Erkennen einer Über­ einstimmung der höherwertigen Bits des virtuellen Adreß-Si­ gnals mit den in der Versatzdaten-Haltevorrichtung (3a) gehal­ tenen Versatzdaten, und
das Speicherzellenfeld als Reaktion auf die erste Übereinstim­ mungs-Erkennungsvorrichtung (413) aktiviert wird.
3. Adressenübersetzungsvorrichtung nach Anspruch 1 oder 2, da­ durch gekennzeichnet, daß
die physische Adreß-Signal-Erzeugervorrichtung eine Differenz- Erkennungsvorrichtung (42a) umfaßt, zum Erkennen einer Diffe­ renz zwischen den niederwertigen Bits des virtuellen Adreß-Si­ gnals und den niederwertigen Bits der in der Versatzdaten-Hal­ tevorrichtung (3a) gehaltenen Versatzdaten, und
die Differenz-Erkennungsvorrichtung (42a) das erkannte Diffe­ renzsignal als physisches Adreß-Signal bereitstellt.
4. Adressenübersetzungsvorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Aktivierungsvorrichtung (41a)
eine Vorrichtung (411) zum Erzeugen von benachbarten Daten um­ faßt, die auf die höherwertigen Bits des virtuellen Adreß-Si­ gnals reagiert, zum Erzeugen von Daten, die den durch die hö­ herwertigen Bits des virtuellen Adreß-Signals definierten Da­ ten naheliegen, und
eine zweite Übereinstimmungs-Erkennungsvorrichtung (412) um­ faßt, zum Erkennen einer Übereinstimmung zwischen den Daten­ bits der naheliegenden Daten, die von der Vorrichtung (411) zum Erzeugen von benachbarten Daten erzeugt wurden, und den höherwertigen Bits des virtuellen Adreß-Signals, wobei das Speicherzellenfeld als Reaktion auf die zweite Über­ einstimmungs-Erkennungsvorrichtung (412) aktiviert wird.
5. Adressenübersetzungsvorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Vorrichtung (411) zum Erzeugen von be­ nachbarten Daten eine Addiervorrichtung (411) umfaßt, zum Empfangen der höher­ wertigen Bits des virtuellen Adreß-Signals und zum Addieren von "+1" zu den Daten, die durch die höherwertigen Bits des virtuellen Adreß-Signals definiert sind.
6. Adressenübersetzungsvorrichtung nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, daß die Differenz-Erkennungs­ vorrichtung;
einen Subtrahierer (42a) aufweist, der zum Empfangen der nie­ derwertigsten Bits des virtuellen Adreß-Signals und der nie­ derwertigsten Bits der in der Versatzdaten-Haltevorrichtung (3a) gehaltenen Versatzdaten verbunden ist, und
der Subtrahierer (42a) das Subtraktionsergebnis als physisches Adreß-Signal bereitstellt.
7. Adressenübersetzungsvorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der Subtrahierer einen Subtrahierer vom Vorwärts-Übertragstyp aufweist.
8. Adressenübersetzungsvorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß das Speicherzellenfeld ein Speicherzellenfeld für wahlfreien Zugriff mit Dual-Ports umfaßt.
9. Datenverarbeitungsvorrichtung mit;
einem Speicherzellenfeld, das eine Mehrzahl von in Zeilen und Spalten angeordneten Speicherzellen umfaßt, und einer Adressen-Übersetzungsvorrichtung zum Übersetzen eines extern angelegten virtuellen Adreß-Signals in ein physisches Adreß-Signal zum Adressieren des Speicherzellenfeldes, wobei die Adressen-Übersetzungsvorrichtung eine Versatzdaten-Haltevorrichtung (3a) zum Halten von vorbe­ stimmten Versatzdaten für eine Adressen-Übersetzung umfaßt,
eine Aktivierungsvorrichtung (41a) umfaßt, die auf vorbe­ stimmte höherwertige Bits des virtuellen Adreß-Signals und vorbestimmte höherwertige Bits der in der Versatzdaten-Halte­ vorrichtung gehaltenen Versatzdaten reagiert, zum Aktivieren eines Zugriffs auf das Speicherzellenfeld, und
eine Erzeugervorrichtung (42a) für physische Adreß-Signale um­ faßt, die auf vorbestimmte niederwertige Bits des virtuellen Adreß-Signals und vorbestimmte niederwertige Bits der in der Versatzdaten-Haltevorrichtung gehaltenen Versatzdaten rea­ giert, zum Erzeugen des physischen Adreß-Signals.
10. Datenverarbeitungsvorrichtung mit;
einem Speicherzellenfeld, das erste und zweite Ein­ gabe/Ausgabeports und eine Mehrzahl von in Zeilen und Spalten angeordneten Speicherzellen umfaßt,
einer ersten Zugriffsvorrichtung (2, 22, 24), die mit dem er­ sten Eingabe/Ausgabeport des Speicherzellenfeldes verbunden ist, zum Zugreifen auf das Speicherzellenfeld über den ersten Eingabe/Ausgabeport, und
einer zweiten Zugriffsvorrichtung (3, 4, 21, 23), die mit dem zweiten Eingabe/Ausgabeport des Speicherzellenfeldes verbunden ist und die auf ein extern angelegtes virtuelles Adreß-Signal reagiert, zum Zugreifen auf das Speicherzellenfeld über den zweiten Eingabe/Ausgabeport,
wobei die zweite Zugriffsvorrichtung (3, 4, 21, 23) eine Versatzdaten-Haltevorrichtung (3a) zum Halten von vorbe­ stimmten Versatzdaten für eine Adreß-Übersetzung umfaßt,
eine Aktivierungsvorrichtung (41a) umfaßt, die auf vorbe­ stimmte höherwertige Bits des virtuellen Adreß-Signals und vorbestimmte höherwertige Bits der in der Versatzdaten-Halte­ vorrichtung gehaltenen Versatzdaten reagiert, zum Aktivieren eines Zugriffs auf das Speicherzellenfeld, und
eine Erzeugervorrichtung (42a) für physische Adreß-Signale um­ faßt, die auf vorbestimmte niederwertige Bits des virtuellen Adreß-Signals und vorbestimmte niederwertige Bits der in der Versatzdaten-Haltevorrichtung gehaltenen Versatzdaten rea­ giert, zum Erzeugen des physischen Adreß-Signals, und
das Speicherzellenfeld auf das physische Adreß-Signal zum Adressieren reagiert, das von der Erzeugervorrichtung (42a) für physische Adreß-Signale erzeugt wurde.
11. Datenverarbeitungsvorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die erste Zugriffsvorrichtung;
eine Vorrichtung (2) zum Erzeugen eines Zugriffs-Anforderungs­ signals umfaßt, zum Anfordern eines Zugriffs auf das Speicher­ zellenfeld,
eine mit dem Speicherzellenfeld verbundene Bezeichnungsvor­ richtung (22) umfaßt, die auf das Zugriffs-Anforderungssignal reagiert, zum Bezeichnen der Speicherzellen im Speicherzellen­ feld, und
eine mit dem Speicherzellenfeld verbundene Lesevorrichtung (24) umfaßt, die auf das Zugriffs-Anforderungssignal reagiert, zum Lesen der Daten aus der Speicherzelle, die durch die Be­ zeichnungsvorrichtung (22) bezeichnet wird.
12. Datenverarbeitungsvorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß die Vorrichtung (2) zum Erzeugen eines Zu­ griffs-Anforderungssignals eine zentrale Verarbeitungseinheit (2) umfaßt, zum Erzeugen des Zugriffs-Anforderungssignals.
DE4126302A 1990-10-08 1991-08-08 Adressenübersetzungsvorrichtung Expired - Fee Related DE4126302C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2271407A JP2617813B2 (ja) 1990-10-08 1990-10-08 アドレス変換装置

Publications (2)

Publication Number Publication Date
DE4126302A1 true DE4126302A1 (de) 1992-04-09
DE4126302C2 DE4126302C2 (de) 1996-10-17

Family

ID=17499625

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4126302A Expired - Fee Related DE4126302C2 (de) 1990-10-08 1991-08-08 Adressenübersetzungsvorrichtung

Country Status (3)

Country Link
US (1) US5349650A (de)
JP (1) JP2617813B2 (de)
DE (1) DE4126302C2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934748A (ja) * 1995-07-17 1997-02-07 Mitsubishi Electric Corp エミュレーション用マイクロコンピュータ

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0115609B1 (de) * 1983-01-11 1989-05-24 Siemens Nixdorf Informationssysteme Aktiengesellschaft Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57162048A (en) * 1981-03-31 1982-10-05 Toshiba Corp Common memory device interface
JPS62197841A (ja) * 1986-02-26 1987-09-01 Hitachi Micro Comput Eng Ltd 半導体集積回路装置
US5146607A (en) * 1986-06-30 1992-09-08 Encore Computer Corporation Method and apparatus for sharing information between a plurality of processing units
JPH01181144A (ja) * 1988-01-14 1989-07-19 Matsushita Electric Ind Co Ltd データ入出力装置
JPH01267762A (ja) * 1988-04-20 1989-10-25 Mitsubishi Electric Corp Cpu間通信マネージャ
US5175536A (en) * 1990-08-01 1992-12-29 Westinghouse Electric Corp. Apparatus and method for adapting cards designed for a VME bus for use in a VXI bus system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0115609B1 (de) * 1983-01-11 1989-05-24 Siemens Nixdorf Informationssysteme Aktiengesellschaft Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem

Also Published As

Publication number Publication date
JP2617813B2 (ja) 1997-06-04
US5349650A (en) 1994-09-20
JPH04149651A (ja) 1992-05-22
DE4126302C2 (de) 1996-10-17

Similar Documents

Publication Publication Date Title
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3850901T2 (de) Datenverarbeitungsanordnung mit Mitteln zur angrenzenden Adressierung eines Speichers.
DE3485766T2 (de) Nach dem pipelineverfahren arbeitende fehlerkorrektur.
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE3751540T2 (de) Verfahren und Vorrichtung zur Datenverarbeitung.
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE69230211T2 (de) Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem
DE102006062383A1 (de) Halbleiterspeicherelement, System für ein Halbleiterspeicherelement und Verfahren zum Betreiben eines Halbleiterspeicherelements
DE3788704T2 (de) Speichersteuerungsanordnung und Logik-in-Speichervorrichtung.
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
EP0046976A2 (de) Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen
DE3888438T2 (de) Cachespeichersteuerungsvorrichtung für eine Datenverarbeitungsanordnung mit virtuellem Speicher.
DE2059917A1 (de) Datenspeicher
DE68927306T2 (de) Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten
DE2718551B2 (de)
DE4234695C2 (de) Computer-Speichersystem und Verfahren zur Aufrechterhaltung der Cache-Kohärenz zwischen einem Daten-Cache und einem Segmentdeskriptor-Cache
DE3689217T2 (de) Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher.
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE3586524T2 (de) Durch beide, physikalische und virtuelle addressen, addressierbarer cache-speicher.
DE69429503T2 (de) Übersetzungsmechanismus für Ein-/Ausgabeadressen
DE69905418T2 (de) Halbleiterspeicheranordnung mit Redundanz
DE3832758C2 (de) Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers
DE4126302A1 (de) Adressenuebersetzungsvorrichtung zum uebersetzen von virtuellen adressen in tatsaechliche adressen, unabhaengig von einer verarbeitung durch eine cpu
DE3121710C2 (de) Steuereinrichtung für einen virtuellen Speicher in einer Datenverarbeitungsanlage
DE3235264C2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee