DE68927306T2 - Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten - Google Patents
Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-SpeicherkapazitätenInfo
- Publication number
- DE68927306T2 DE68927306T2 DE68927306T DE68927306T DE68927306T2 DE 68927306 T2 DE68927306 T2 DE 68927306T2 DE 68927306 T DE68927306 T DE 68927306T DE 68927306 T DE68927306 T DE 68927306T DE 68927306 T2 DE68927306 T2 DE 68927306T2
- Authority
- DE
- Germany
- Prior art keywords
- chip
- memory
- address
- calculation
- access
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 197
- 238000004364 calculation method Methods 0.000 claims description 47
- 238000013500 data storage Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Microcomputers (AREA)
Description
- Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen Auf-Chip-Speicherkapazitäten
- Die Erfindung betrifft ein Emulationssystem nach dem Oberbegriff von Anspruch 1.
- Ein solches Emulationssystem ist aus "Electronic Design", Vol 34, Nr. 28, vom 27.11.1986, Seiten 41 bis 42, Hasbrouck Heights, NJ, US; D. Tunick: "32-bit tools target 68020 development", bekannt.
- Zur Zeit sind sog. Emulationssysteme zur Entwicklung von Programmen für verschiedene Mikrocomputer unverzichtbar. Jedoch ist das bekannte Emulationssystem unter der Annahme ausgebildet, daß ein Zielmikrocomputer, der emuliert werden soll, einen Auf-Chip-Speicherbereich mit einer festen Kapazität von z.B. 256 Bytes hat, und daß ein Speicherbereich, der die 256 Bytes übersteigt, als ein externer Speicher vorgesehen ist. Deshalb wird, wenn ein Zielmikrocomputerchip mit einem Auf-Chip-Speicherbereich von z.B. 512 Bytes emuliert wird, auf eine erste Hälfte der 512 Bytes als Auf- Chip-Speicherzugriff zugegriffen, aber auf die zweite Hälfte der 512 Bytes wird als externer Speicherzugriff zugegriffen. Mit anderen Worten kann die zweite Hälfte der 512 Bytes nicht geeignet als Auf-Chip-Speicherzugriff emuliert werden.
- Bei der Technologie moderner integrierter Schaltkreise ist es andererseits kürzlich möglich, daß LSIs (Large scale integrated) auf einen Auf-Chip-Speicher mit zwei Zyklen zugreifen, obwohl sie weiterhin fünf Zyklen für den Zugriff auf einen externen Speicher (nicht der Auf-Chip-Speicher) benötigen. Wenn die oben erwähnte zweite Hälfte der 512 Bytes als ein externer Speicherzugriff zugegriffen werden, kann die Emulation nicht durch das Emulationssystem mit derselben Zugriffszeit durchgeführt werden, wie in dem Fall des Zielmikrocomputers.
- Es ist dementsprechend eine Aufgabe der Erfindung, ein Emulationssystem zu schaffen, das den obenerwähnten Fehler des bekannten überwindet.
- Eine weitere Aufgabe der Erfindung ist es, ein Emulationssystem zu schaffen, das in der Lage ist, einen Zugriff auf einen Auf-Chip-Speicher eines Zielmikrocomputers, der auch eine große Speicherkapazität hat, mit der Zugriffsgeschwindigkeit des Zielmikrocomputers zu ermöglichen.
- Diese und andere Aufgaben der Erfindung werden durch die Merkmale des Anspruchs 1 gelöst.
- Mit der obengenannten Anordnung wird die Größe oder die Skala des Auf-Chip-Speicherbereichs nicht innerhalb des Berechnungschips gesetzt, sondern das Bestimmungsmittel bestimmt, ob der Raum, auf den durch den Berechnungschip zugegriffen werden soll, innerhalb des Auf-Chip-Speicherbereichs des Zielmikrocomputers ist oder nicht, und das Ergebnis der Bestimmung wird an den Berechnungsschip übermittelt. Diese Bestimmung kann z.B. durch Dekodieren einer Adresse durchgeführt werden, die von dem Berechnungschip ausgegeben wird. Deshalb kann die Größe oder Skala, die als Auf-Chip-Speicherbereich behandelt werden soll, frei in dem Bestimmungsmittel gesetzt werden, und dementsprechend kann der Emulationschip verschiedene Zielspeicher mit yerschiedenen Auf-Chip-Speicherkapazitäten emulieren.
- Die oben genannten und weitere Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung der bevorzugten Ausführungsformen der Erfindung unter Bezug auf die beiliegenden Zeichnungen deutlich.
- Fig. 1 ist ein Blockdiagramm eines herkömmlichen Emulationssystems;
- Fig. 2 ist eine Zeitsteuerungstafel, die den Betrieb des herkömmlichen Emulationssystems in dem Fall des Zugriffs auf den Auf-Chip-Speicherbereich darstellt;
- Fig. 3 ist eine Zeitsteuerungstafel, die den Betrieb des herkömmlichen Systems in dem Fall des Zugriffs auf den externen Speicher darstellt;
- Fig. 4 ist ein Blockdiagramm einer ersten Ausführungsform des erfindungsgemäßen Emulationssystems;
- Fig. 5 ist eine Zeitsteuerungstafel, die den Betrieb des in Fig. 4 gezeigten Emulationssystems in dem Fall des Zugriffs auf dem Auf-Chip-Speicherbereich darstellt;
- Fig. 6 ist eine Zeitsteuerungstafel, die den Betrieb des in Fig. 4 gezeigten Emulationssystems in dem Fall des Zugriffs auf den externen Speicher darstellt;
- Fig. 7 ist eine Speicherkarte, die den Auf-Chip-Speicherbereich mit 356 Bytes in der ersten Ausführungsform darstellt;
- Fig. 8 ist eine Speicherkarte, die den Auf-Chip-Speicherbereich mit 512 Bytes in der ersten Ausführungsform darstellt;
- Fig. 9 ist ein Blockdiagramm einer zweiten Ausführungsform des erfindungsgemäßen Emulationssystems; und
- Fig. 10 ist eine Speicherkarte, die den Auf-Chip-Speicherbereich in der zweiten Ausführungsform darstellt.
- In Fig. 1 wird ein Diagramm eines Beispiels des herkömmlichen Emulationssystems gezeigt, das auf einen externen Speicher zugreifen kann, und in der Lage ist, einen Mikrocomputer mit einem darin enthaltenen Auf-Chip-Speicher zu emulieren. Das gezeigte Emulationssystem umfaßt einen Berechnungschip 10, der eine zentrale Verarbeitungseinheit (im folgenden "CPU" genannt) 12, eine externe Busschnittstelle 14 und eine Datenspeicherschnittstelle 16 enthält. Der Berechnungschip 10 ist über einen Programmadressenbus 22, der zum Zuführen einer Programmadresse von dem Berechnungschip 10 verwendet wird, und über einen Programmdatenbus 24, der zum Zuführen eines Programms an dem Berechnungschip 10 verwendet wird, das aus dem Programmspeicher 20 ausgelesen wird, mit dem Programmspeicher 20, indem ein Programm gespeichert wird, verbunden.
- Desweiteren ist der Berechnungschip 10 über einen Speicheradressenbus 32, der zum Zuführen einer Speicheradresse von dem Berechnunschip 10 zu einem Datenspeicher 30 verwendet wird, und über einen Speicherdatenbus 34, der zum Übertragen von Daten zwischen dem Datenspeicher 30 und der CPU 12 des Berechnungschips 10 verwendet wird, mit dem Datenspeicher 30 verbunden. Zusätzlich erzeugt der Berechnungschip 10 ein Speicherschreibsignal 36 und ein Speicherlesesignal 38 für den Datenspeicher 30.
- Auch ist eine Hochrang- oder Platz-Adressenhaltevorrichtung 40 vorgesehen, die einen Eingang hat, der mit dem Speicheradressenbus 32 verbunden ist, um vorübergehend einen Hochplatzabschnitt einer Adresses zu halten, die von dem Speicheradressenbus 32 zugeführt wird. Die Haltevorrichtung 40 ist zum Empfang eines Hochplatzadressenhaltefreigabesignals 42 von dem Berechnungschip 10 geschaltet und hat einen Ausgang, der mit dem Datenspeicher 30 verbunden ist, um die gehaltene Hochplatzadresse an den Datenspeicher 30 zu liefern.
- Desweiteren ist der Berechnungschip 10 über einem externen Bus 52, der zum Zuführen einer Speicheradresse von dem Berechnungschip 10 an den externen Speicher 50 und über einen externen Bus 54, der für die Übertragung von Daten zwischen dem externen Speicher 50 und der CPU 12 des Berechnungschips 10 verwendet wird, mit einem externen Speicher 50 verbunden. Zusätzlich erzeugt der Berechnungschip 10 ein externes Speicherschreibsignal 56 und ein externes Speicherlesesignal 58 für den externen Speicher 50.
- Hier sei angenommen, daß die CPU 12 auf einen Raum von 64 K Bytes zugreifen kann. Zusätzlich sei angenommen, daß ein Bereich von einer Adresse "FEOOH" bis zu einer Adresse "FEFFH" (insgesamt 256 Bytes) als Auf-Chip-Speicherbereich eines Zielchips oder Mikrocomputers gesetzt ist, und daß zwei Systemtakte für den Zugriff auf den Auf-Chip-Speicherbereich nötig sind. Hier zeigt der Index "H", der an die Adressen angefügt ist, die hexadezimale Schreibweise an.
- Deshalb entscheidet, wenn die CPU 12 einen Befehl von dem Programmspeicher 20 erhält und wenn das Ergebnis der Befehlsdekodierung anzeigt, daß Daten "96H" in eine Adresse "FE5AH" geschrieben werden sollen, da der Hochplatzabschnitt der Adresse gleich "FEH" ist, die CPU, daß die Daten in den Auf-Chip-Speicherbereich geschrieben werden sollen und startet dann den notigen Schreibvorgang.
- In Fig. 2 ist eine Zeitsteuerungstafel des Betriebs des Emulationssystems für den Fall des Zugriffs auf den Auf- Chip-Speicherbereich gezeigt. Zunächst gibt die CPU 12 eine Hochplatzadresse "FEH" an den Speicheradressenbus 32 aus, und gleichzeitig aktiviert sie das Hochplatzadressenhaltefreigabesignal 42, so daß die Hochplatzadresse "FEH" von der Hochplatzadressenhaltevorrichtung 40 in dem Zustand T1 gehalten wird, der in Fig. 2 gezeigt ist. In diesem Zustand liefert die Haltevorrichtung 40 die Hochplatzadresse "FEH" an den Datenspeicher 30. Anschließend gibt die CPU 12 eine Niederplatzadresse "5AH" an den Speicheradressenbus 32 aus, und gleichzeitig gibt sie die Daten "96H" an den Speicherdatenbus 34 aus und aktiviert das Speicherschreibsignal 36. Somit werden die Daten "96H" von der CPU 12 in die Adresse "FE5AH" des Datenspeichers 30 geschrieben (Zustand T&sub2;) . Ein Lesevorgang kann ähnlich dem oben beschriebenen Schreibvorgang, mit der Ausnahme ausgeführt werden, daß das Speicherlesesignal 38 anstelle des Speicherschreibsignals 36 aktiviert wird und daß die CPU 12 Daten verarbeitet, die über den Speicherdatenbus 34 aus dem Speicher 30 ausgelesen wurden.
- Nun wird der Betrieb für den Zugriff auf den externen Speicher, nämlich einen anderen Speicherbereich als der Auf- Chip-Speicher, erläutert. Wenn die CPU 12 einen Befehl von dem Programmspeicher 20 verarbeitet, und das Ergebnis der Befehlsdekodierung anzeigt, daß Daten 96H in eine Adresse "FD5AH" geschrieben werden sollen, die nicht innerhalb des Auf-Chip-Speicherbereichs existiert, entscheidet die CPU, daß die Daten in einen anderen Speicherbereich als den Auf-Chip-Speicherbereich geschrieben werden sollen. In diesem Fall greift die CPU 12 über eine externe Busschnittstelle 14 auf den Speicher 50 zu, der extern von dem Emulationssystem vorgesehen ist. Fünf Systemtakte werden für diesen Zugriff benötigt.
- Fig. 3 ist eine Zeitsteuerungstafel, die den Betrieb des bekannten Emulationssystems im Fall des Zugriffs auf den externen Speicher zeigt. Zunächst gibt die CPU 12 die Hochplatzadresse "FDH" an den externen Datenbus 52 in einem in Fig. 3 gezeigten Zustand T&sub1; aus. Anschließend gibt die CPU 12 die Niederplatzadresse "5AH" an den externen Datenbus 52 und gleichzeitig die Daten "96H" an den externen Datenbus 54 aus und aktiviert das externe Schreibsignal 56. Somit werden die Daten "96H" von der CPU 12 in die Adresse "FD5AH" des anderen Speicherbereichs als den Auf-Chip- Speicherbereich geschrieben (Zustand T&sub2;). Der Zustand T&sub2; für den externen Zugriff ist jedoch aus vier Systemtakten zusammengesetzt. Ein Lesevorgang kann ähnlich dem oben beschriebenen Schreibvorgang mit der Ausnahme durchgeführt werden, daß das externe Lesesignal 58 anstelle des externen Schreibsignals 56 aktiviert wird und daß die CPU 12 Daten verarbeitet, die über den externen Datenbus 54 von dem externen Speicher ausgelesen wurden.
- Beim obengenannten Beispiel wird, wenn ein Zielmikrocomputer einen Auf-Chip-Speicherbereich enthält, dessen Kapazität 256 Byte übersteigt, ein Zugriff auf einen Abschnitt des Auf-Chip-Speicherbereichs, der die 256 Bytes übersteigt, als ein externer Zugriff verarbeitet werden, der fünf Systemtakte benötigt. Deshalb kann der Abschnitt des Auf-Chip-Speicherbereichs, der 256 Byte übersteigt, nicht in geeigneter Weise als ein Auf-Chip-Speicherbereichszugriff emuliert werden.
- Nun wird eine Ausführungsform des erfindungsgemäßen Emulationssystems unter Bezug auf die Figuren 4 bis 8 erläutert. Fig. 4 ist ein Blockdiagramm einer ersten Ausführungsform des erfindungsgemäßen Emulationssystems. Fig. 5 ist eine Zeitsteuerungstafel, die den Betrieb des Emulationssystems in dem Fall des Zugriffs auf den Auf-Chip-Speicherbereich darstellt, und Fig. 6 ist eine Zeitsteuerungstafel, die den Betrieb des Emulationssysterns im Fall des Zugriffs auf den externen Speicher darstellt. Fig. 7 ist eine Speicherkarte, die den Auf-Chip-Speicherbereich mit 256 Byte darstellt, und Fig. 8 ist eine Speicherkarte, die den Auf-Chip- Speicherbereich mit 512 Byte darstellt.
- In Fig. 4 sind Elemente, die jenen in Fig. 1 gezeigten ähnlich sind oder ihnen entsprechen, mit dem gleichen Bezugszeichen gekennzeichnet, und ihre Erläuterung wird hier weggelassen. Wie aus dem Vergleich zwischen den Figuren 1 und 4 ersichtlich ist, umfaßt die erste Ausführungsform des erfindungsgemäßen Emulationssystems zusätzlich einen Bereichsentscheider 60, der seinerseits mit dem Speicheradressenbus 32 verbunden und zum Empfang des Hochplatzadressenhaltefreigabesignals 42 geschaltet ist und der ein Bereichsbestimmungssignal 62 für den Berechnungschip 10 erzeugt. Wenn das Hochplatzadressenhalte-Freigabesignal 42 aktiviert wird, verarbeitet der Bereichsentscheider die Hochplatzadresse an dem Speicheradressenbus 32 und entscheidet, ob die Adresse, auf die zugegriffen werden soll, innerhalb des Auf-Chip-Speicherbereich liegt. Wenn die Adresse, auf die zugegriffen werden soll, innerhalb des Auf-Chip-Speicherbereichs liegt, aktiviert der Bereichsentscheider 60 das Bereichsbestimmungssignal 62, um so der CPU 12 mitzuteilen, daß die Adresse, auf die zugegriffen werden soll, innerhalb des Auf-Chip-Speicherbereichs liegt. Wenn andererseits die Adresse, auf die zugegriffen werden soll, nicht innerhalb des Auf-Chip-Speicherbereichs liegt, aktiviert der Bereichsentscheider 60 das Bereichsbestimmungssignal 62 nicht. Da der Bereichsentscheider 60 entscheidet, ob die Adresse, auf die zugegriffen werden soll, innerhalb des Auf-Chip- Speicherbereichs ist oder nicht, ist es möglich, eine Adressengröße frei festzusetzen, die dem Auf-Chip-Speicherbereich zugeordnet ist. Mit anderen Worten ist es möglich, eine erste Adresse und eine letzte Adresse des Auf-Chip- Speicherbereichs frei zu bestimmen. Bei dieser Ausführungsform benötigt die CPU 12 zwei Systemtakte für den Zugriff auf den Auf-Chip-Speicherbereich, aber 5 Systemtakte für den Zugriff auf andere Speicherbereiche, als dem Auf-Chip- Speicherbereich.
- Hier sei angenommen, daß der Auf-Chip-Speicher des Zielcomputers eine Kapazität von 256 Bytes hat, und daß der Bereichsentscheider 60 so gesetzt ist, daß er entscheidet, daß die Adressen "FEOOH" bis "FEFFH" auf dem Auf-Chip- Speicherbereich sind, wie es in Fig. 7 gezeigt ist.
- Deshalb führt, wenn die CPU 12 einen Befehl von dem Programmspeicher 20 verarbeitet und das Ergebnis der Befehlsdekodierung anzeigt, daß Daten "96H" in einer Adresse "FE5AH" zu schreiben sind, die CPU 12 einen nötigen Schreibvorgang in der in Fig. 5 gezeigten Reihenfolge durch, in der eine Zeittafel für den Betrieb des Emulationssystems in dem Fall gezeigt ist, daß auf den Auf-Chip- Speicherbereich zugegriffen wird. Zunächst gibt die CPU 12 die Hochplatzadresse "FEH" an den Speicheradressenbus 32 und den externen Adressenbus 52 aus, und gleichzeitig aktiviert sie das Hochplatzadressenhaltefreigabesignal 42, so daß die Hochplatzadresse "FEH" von der Hochplatzadressenhaltevorrichtung 40 im in Fig. 2 gezeigten Zustand T&sub1; gehalten wird. Wenn das Hochplatzadressenhaltefreigabesignal 42 aktiviert wird, bestimmt der Bereichsentscheider 60, ob die Adresse "FEH" an dem Speicheradressenbus 32 innerhalb des Raums ist, der dem Auf-Chip-Speicherbereich zugeordnet ist. In diesem Fall, da die Adresse "FEH" innerhalb des Raums ist, der dem Auf-Chip-Speicherbereich zugeordnet ist, aktiviert der Bereichsentscheider 60 des Bereichsbestimmungssignals 62, und in Abhängigkeit des aktivierten Bestimmungssignals 62 entscheidet die CPU 12, daß der Zugriff auf den Auf-Chip-Speicherbereich gerichtet ist (Zustand T&sub1;).
- Anschließend gibt die CPU 12 eine Niederplatzadresse "5AH" an den Speicheradressenbus 32 und gleichzeitig die Daten "96H" an den Speicherdatenbus 34 aus und aktiviert auch das Speicherschreibsignal 36. Gleichzeitig führt, da die CPU 12 bereits im Zustand T&sub1; entschieden hat, daß der Zugriff auf den Auf-Chip-Speicherbereich gerichtet ist, die CPU den Zugriff mit zwei Systemtakten durch. Somit werden die Daten "96H" von der CPU 12 in die Adresse "FE5AH" des Datenspeichers 30 (Zustand T&sub2;) als Zugriff auf den Auf-Chip- Speicherbereich geschrieben. Ein Lesevorgang kann ähnlich dem oben beschriebenen Schreibvorgang, mit der Ausnahme durchgeführt werden, daß das Speicherlesesignal 38 anstelle des Speicherschreibesignals 36 aktiviert wird und daß die CPU 12 über den Speicherdatenbus 34 aus dem Speicher 30 ausgelesenen Daten verarbeitet.
- Wenn die CPU 12 einen Befehl aus dem Programmspeicher 20 verarbeitet, und das Ergebnis der Befehlsdekodierung anzeigt, daß Daten "96H" in einer Adresse "FD5AH" geschrieben werden sollen, die nicht innerhalb des Auf-Chip-Speicherbereichs liegt, beginnt die CPU 12 einen notwendigen Schreibvorgang in der in Fig. 6 gezeigten Reihenfolge, in der eine Zeitsteuerungstafel des Betriebs des Emulationssystems für den Fall des Zugriffs auf den externen Speicherbereich dargestellt ist.
- Zunächst gibt die CPU 12 die Hochplatzadresse "FDH" an den Speicheradressenbus 32 und den externen Adressenbus 52 in einem in Fig. 6 gezeigten Zustand T&sub1; aus. Gleichzeitig aktiviert die CPU das Hochplatzadressenhaltefreigabesignal 42. Wenn das Hochplatzadressenhaltefreigabesignal 42 aktiviert ist, entscheidet der Bereichsentscheider 60, ob die Adresse "FDH" an dem Speicheradressenbus 32 innerhalb eines Raums ist, der dem Auf-Chip-Speicherbereich zugeordnet ist. Da in diesem Fall die Adresse "FDH" nicht innerhalb eines Raums ist, der dem Auf-Chip-Speicherbereich zugeordnet ist, aktiviert der Bereichsentscheider 60 nicht das Bereichsbestimmungssignal 62. Im Ergebnis entscheidet die CPU 12, daß der Zugriff nicht auf den Auf-Chip-Speicherbereich gerichtet ist (Zustand T&sub1;).
- Anschließend gibt die CPU 12 die Niederplatzadresse "5AH" an den externen Adressenbus 52 und gleichzeitig die Daten "96H" an den externen Datenbus 54 aus und aktiviert das externe Schreibsignal 56. Somit werden die Daten "96H" von der CPU 12 über die externe Busschnittstelle 14 in die Adresse "FD5AH" des anderen Speicherbereichs (des externen Speichers 50) als den Auf-Chip-Speicherbereich geschrieben. (Zustand T&sub2;). Bei dem externen Zugriff ist der Zustand T&sub2; jedoch aus vier Systemtakten zusammengesetzt. Ein Lesevorgang kann ähnlich dem oben beschriebenen Schreibvorgang mit der Ausnahme durchgeführt werden, daß das externe Lesesignal 58 anstelle des externen Schreibsignals 56 aktiviert wird und daß die CPU 12 die Daten verarbeitet, die über den externen Datenbus 54 aus dem externen Speicher ausgelesen wurden.
- Im Fall der Emulation eines Zielcomputers mit einem Auf- Chip-Speicher von 512 Bytes sei angenommen, daß der Bereichsentscheider 60 so gesetzt ist, daß er entscheidet, daß die Adressen "FDOOH" bis "FEFFH" in dem Auf-Chip- Speicherbereich sind, wie es in Fig. 8 gezeigt wird.
- In diesem Fall beginnt, wenn die CPU 12 einen Befehl von dem Programmspeicher 20 verarbeitet und das Ergebnis der Befehlsdekodierung anzeigt, das die Daten "96H" in eine Adresse "FD5AH" geschrieben werden sollen, die CPU den nötigen Schreibvorgang in der im Anschluß dargestellten Reihenfolge. Zunächst gibt die CPU 12 die Hochplatzadresse "FDH" an den Speicheradressenbus 32 und den externen Adressenbus 52 aus und aktiviert gleichzeitig das Hochplatzadressenhaltefreigabesignal 42. In Abhängigkeit des aktivierten Hochplatzadressenhaltefreigabesignals 42 bestimmt der Bereichsentscheider 60, ob die Adresse "FDH" an dem Speicheradressenbus 32 innerhalb eines Raumes liegt, der dem Auf-Chip-Speicherbereich zugeordnet ist. In diesem Fall liegt die Adresse "FDH" innerhalb des Raums, der dem Auf-Chip-Speicherbereich zugeordnet ist, und der Bereichsentscheider 60 aktiviert das Bereichsbestimmungssignal 62. Im Ergebnis schreibt die CPU 12 die Daten "FDH" in die Adresse "FD5AH" als Zugriff auf den Auf-Chip-Speicherbereich ähnlich dem oben beschriebenen Auf-Chip-Speicherbereich-Schreibvorgang in dem Fall, in dem die Kapazität des Auf-Chip-Speicherbereichs gleich 256 Bytes gesetzt war.
- Wenn der bearbeitete Befehl von dem Programmspeicher 20 ein Befehl ist, der anzeigt, daß die Daten "96H" in eine Adresse "FC5AH" geschrieben werden sollen, werden die Daten "96H" in die Adresse "FC5AH" mit Zugriff auf einen anderen Speicherbereich als den Auf-Chip-Speicherbereich geschrieben.
- Anstelle des externen Speichers 50, auf den über die externe Busschnittstelle 14 zugegriffen wird, ist es möglich, innerhalb des Emulationssysterns einen Speicher vorzusehen, auf den mit demselben Zugriffszyklus wie der externe Speicher 50 zugegriffen wird, so daß der Zugriff auf den externen Speicher unter Verwendung des internen Speichers emuliert werden kann.
- In Fig. 9 wird ein Blockdiagramrn einer zweiten Ausführungsform des erfindungsgemäßen Ernulationssystems gezeigt. In Fig. 9 haben Elemente, ähnlich oder entsprechend jenen, die in Fig. 4 gezeigt sind, die gleichen Bezugszeichen, und ihre Erläuterung wird weggelassen.
- Wie aus dem Vergleich zwischen den Figuren 4 und 9 ersichtlich ist, enthält die zweite in Fig. 9 gezeigte Ausführungsform zusätzlich einen zweiten Datenspeicher 30A, der seinerseits mit dem Speicheradressenbus 32, dem Speicherdatenbus 34 und der Hochplatzadressenhaltevorrichtung 40 verbunden, und auch zum Empfang des Speicherschreibsignals 36 und des Speicherlesesignals 38 geschaltet ist. Der zweite Datenspeicher 30A ist - ähnlich dem ersten Datenspeicher 30 - zur Ernulation des Zielrnikrocomputers vorgesehen, aber unterscheidet sich vom ersten Datenspeicher 30 bezüglich der Zahl der benotigten Zugriffszyklen. Zusätzlich erzeugt der Bereichsentscheider 60 nicht nur das Bereichsbestimmungssignal 62, sondern auch ein zweites Bestimmungssignal 62A. Sowohl das erste als auch das zweite Bestimmungssignal 62 und 62A zeigen an, ob die Adresse, auf die zugegriffen werden soll, innerhalb des Auf-Chip-Speicherbereichs liegt. Das Bereichsbestimmungssignal 62 bestimmt jedoch den ersten Datenspeicher 30, und das zweite Bestimmungssignal 62A zeigt den zweiten Datenspeicher 30A an.
- Nun sei angenommen, daß ein Zielmikrocomputer mit einer in Fig. 10 gezeichneten Speicherkarte emuliert wird. Die Adressen "FEOOH" bis "FEFFH" sind dem Auf-Chip-Speicherbereich 1 zugeordnet, der zwei Zyklen für den Zugriff benötigt, und die Adressen "FCOOH" bis "FCFFH" sind dem Auf- Chip-Speicherbereich 2 zugeordnet, der drei Zyklen für den Zugriff benötigt. In diesem Fall wird der Bereichsentscheider 60 so gesetzt, daß er das erste Bestimmungssignal 62 aktiviert, wenn die CPU eine der Adressen zwischen "FEOOH" bis "FEFFH" zugreift, und daß das zweite Bestimmungssignal 62A aktiviert wird, wenn die CPU auf eine der Adressen zwischen "FCOOH" bis "FCFFH" zugreift.
- Wenn ein zu bearbeitender Befehl von dem Programmspeicher 20 somit anzeigt, daß die Daten "96H" in einer Adresse "FE5AH" zu schreiben sind, werden die Daten "96H" in den ersten Datenspeicher 30 mit zwei Systemzyklen geschrieben. Wenn andererseits ein verarbeiteter Befehl von dem Programmspeicher 20 anzeigt, daß die Daten "96H" in eine Adresse "FC5AH" zu schreiben sind, werden die Daten "96H" in den zweiten Datenspeicher 30A mit drei Systemzyklen geschrieben.
- Wie aus dem Vorangehenden ersichtlich ist, kann die zweite Ausführungsform in dem Fall der Ernulation eines Zielmikrocomputers mit einer Mehrzahl Auf-Chip-Speicher, die jeweils eine verschiedene Anzahl von Zugriffszyklen benötigen, den Zielmikrocornputer mit der geeigneten Zahl von Zugriffzyklen emulieren.
- Wie aus der vorangehenden Beschreibung ersichtlich ist, bestimmt der Berechnungs-Chip (die CPU) nicht, ob der Zugriffsraum innerhalb des Auf-Chip-Speicherbereichs ist. Der Bereichsentscheider empfängt eine Hochplatzadresse von der Adresse, die von dem Berechnungschip geliefert wird, und bestimmt, ob der Raum, auf den von dem Berechnungschip zugegriffen werden soll, innerhalb des Auf-Chip-Bereichs liegt. Zusätzlich meldet der Bereichsentscheider das Ergebnis der Bestimmung an dem Berechnungschip, um zu veranlassen, daß der Berechnungschip einen Zugriffsvorgang bezüglich dem Ergebnis der Bestimmung durchführt. Dementsprechend ist es möglich, verschiedene Zielmikrocomputer mit verschiedenen Auf-Chip-Speicherbereichskapazitäten mit jeweiligen geeigneten Zugriffszyklen zu emulieren.
Claims (6)
1. Emulationssystem, das einen Berechnungschip (10), einen
Programmspeicher (20) und einen Datenspeicher (30) enthält,
und mit einem externen Speicher (50) verbunden ist,
gekennzeichnet durch Mittel (60) zum
Bestimmen, ob ein Platz für den Zugriff des Berechnungschips (10)
innerhalb eines Auf-Chip-Speicherbereiches eines
Zielmikrocomputers liegt oder nicht, und zum Mitteilen des
Entscheidungsergebnisses an den Berechnungschip (10), so
daß der Berechnungschip (10) betrieben wird, um, wenn der
Platz für den Zugriff durch den Berechnungschip (10)
innerhalb des Auf-Chip-Speicherbereichs liegt, auf den
Datenspeicher (30) mit einer vorgegebenen Zugriffszeitsteuerung
zuzugreifen und um auf den externen Speicher (5) mit einer
anderen vorgegebenen Zugriffszeitsteuerung zuzugreifen,
wenn der Platz für den Zugriff durch den Berechnungschip
(10) nicht innerhalb des Auf-Chip-Speicherbereichs des
Ziel computers liegt.
2. Emulationssystem nach Anspruch 1,
dadurch gekennzeichnet, daß der
Programmspeicher (20) ein Programm speichert, der Datenspeicher
(30) zur Ernulation des Zielmikrocomputers vorgesehen ist
und daß der Berechnungschip (10) mit dem Programmspeicher
(20) gekoppelt ist und eine Verarbeitungseinheit (12)
enthält, die einen Betrieb in Übereinstimmung mit dem im
Programmspeicher gespeicherten Programm durchführt, wobei der
Berechnungschip (10) auch eine Datenspeicherschnittstelle
(16) zum Zugriff auf den Datenspeicher (30) und eine
externe Busschnittstelle (14) zum Zugriff auf den externen
Speicher (50) außerhalb des Emulationssystems enthält, und
daß das Mittel (60) zum Entscheiden, ob ein Platz für den
Zugriff durch den Berechnugnstyp innerhalb des Auf-Chip-
Speicherbereichs des Zielmikrocornputers liegt oder nicht,
und zum Mitteilen des Entscheidungsergebnisses an den
Berechnungsschip mit dem Berechnungsschip (10) gekoppelt
ist, so daß der Berechnungschip (10) betrieben wird, um auf
den Datenspeicher (30) über die Datenspeicherschnittstelle
(16) zuzugreifen, wenn der Platz für den Zugriff durch den
Berechnungschip innerhalb des Auf-Chip-Speicherbereichs des
Zielmikrocomputers liegt, und um auf den externen Speicher
(50) über die externe Busschnittstelle (14) zuzugreifen,
wenn der Platz für den Zugriff durch den Berechnungschip
nicht innerhalb des Auf-Chip-Speicherbereichs des
Zielmikrocomputers liegt.
3. Emulationssystem nach Anspruch 2,
bei dem das Entscheidungsmittel (60) zum Empfang einer
Adresse von dem Berechnungschip (10) zum Dekodieren der
Adresse verbunden ist, um so zu bestimmen, ob die durch den
Berechnungschip (10) ausgegebene Adresse innerhalb eines
Auf-Chip-Bereiches des Zielmikrocomputers liegt, wobei das
Entscheidungsmittel (60) ein Bereichsbestimmungssignal (62)
an den Berechnungschip (10) ausgibt, wenn die durch den
Berechnungschip ausgegebene Adresse innerhalb des Auf-Chip-
Bereichs des Zielmikrocomputers liegt.
4. Emulationssystem nach Anspruch 3,
bei dem das Entscheidungsmittel (60) zum Empfang eines
vorgegebenen Hoch-Platz-Abschnitts (42) der von dem
Berechnungschip (10) ausgegebenen Adresse verbunden ist.
5. Emulationssystem nach Anspruch 2,
bei dem der Berechnungschip (10) mit dem Datenspeicher (30)
über einen Speicheradressenbus (32) und einen
Speicherdatenbus (34) und über den Speicheradressenbus auch mit einer
Hoch-Platz-Adressenhaltevorrichtung (40) gekoppelt ist, die
ihrerseits mit dem Datenspeicher (30) verbunden ist, und
wobei der Berechnungschip (10) ein
Hoch-Platz-Adressenhalte-Freigabesignal (42) an die Hoch-Platz-Adressenhalte-
Vorrichtung (40) erzeugt, wenn der Berechnungschip eine
Hoch-Platz-Adresse an den Speicheradressenbus (230)
ausgibt, und wobei das Entscheidungsmittel (60) mit dem
Speicheradressenbus (32) gekoppelt und zum Empfang des Hoch-
Platz-Adressenhalte-Freigabesignals geschaltet ist, so daß
wenn das Hoch-Platz-Adressenhalte-Freigabesignal aktiviert
wird, das Entscheidungsmittel (60) einen Betrieb zur
Entscheidung durchführt, ob die durch den Berechnungschip (10)
ausgegebene Adresse innerhalb eines Auf-Chip-Bereichs des
Zielmikrocornputers liegt oder nicht, und um ein
Bereichsbestimmungssignal (62) an den Berechnungschip zu
erzeugen, wenn die durch den Berechnungschip ausgegebene
Adresse innerhalb des Auf-Chip-Bereichs des
Zielmikrocomputers liegt.
6. Emulationssystem nach Anspruch 5,
das außerdem einen zweiten Datenspeicher (30A) enthält, und
bei dem das Entscheidungsmittel (60) ein erstes
Bereichsbestimmungssignal (62) an den Berechnungschip (10) erzeugt,
wenn die durch den Berechnungschip ausgegebene Adresse
innerhalb des Auf-Chip-Bereichabschnittes des
Zielmikrocomputers entsprechend dem ersten Datenspeicher (30) liegt,
und ein zweites Bereichsbestimmungssignal (62A) an den
Berechnungschip (10) erzeugt, wenn die durch den
Berechnungschip ausgegebene Adresse innerhalb des Auf-Chip-
Bereichsabschnitts des Zielmikrocomputers entsprechend dem
zweiten Datenspeicher (30A) liegt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63092076A JPH0724029B2 (ja) | 1988-04-13 | 1988-04-13 | エミュレーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68927306D1 DE68927306D1 (de) | 1996-11-14 |
DE68927306T2 true DE68927306T2 (de) | 1997-05-07 |
Family
ID=14044361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68927306T Expired - Fee Related DE68927306T2 (de) | 1988-04-13 | 1989-04-13 | Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten |
Country Status (4)
Country | Link |
---|---|
US (1) | US5168559A (de) |
EP (1) | EP0337463B1 (de) |
JP (1) | JPH0724029B2 (de) |
DE (1) | DE68927306T2 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0476681A (ja) * | 1990-07-13 | 1992-03-11 | Mitsubishi Electric Corp | マイクロコンピュータ |
JPH04177543A (ja) * | 1990-11-09 | 1992-06-24 | Nec Ic Microcomput Syst Ltd | マイクロコンピュータ |
JP2856591B2 (ja) * | 1991-06-27 | 1999-02-10 | 三菱電機株式会社 | マイクロコンピュータ、プログラム開発装置およびプログラム開発システム |
JPH05257710A (ja) * | 1991-08-12 | 1993-10-08 | Advanced Micro Devicds Inc | 内部実行パラメータを与えるためのシステムおよびプロセッサによって実行されるべき命令を検証するための配列 |
JPH0789340B2 (ja) * | 1992-01-02 | 1995-09-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | バス間インターフェースにおいてアドレス・ロケーションの判定を行なう方法及び装置 |
FR2696561B1 (fr) * | 1992-10-02 | 1994-12-23 | Sgs Thomson Microelectronics | Micro-calculateur pouvant fonctionner en mode d'émulation avec des périphériques internes et externes. |
US5557743A (en) * | 1994-04-05 | 1996-09-17 | Motorola, Inc. | Protection circuit for a microprocessor |
JP4312272B2 (ja) * | 1995-10-06 | 2009-08-12 | モトローラ・インコーポレイテッド | 内部メモリへのアクセスを制限するマイクロコントローラ |
US5737760A (en) * | 1995-10-06 | 1998-04-07 | Motorola Inc. | Microcontroller with security logic circuit which prevents reading of internal memory by external program |
JP3620181B2 (ja) * | 1996-12-05 | 2005-02-16 | 富士通株式会社 | 半導体装置及びリードアクセス方法 |
CA2251295C (en) * | 1998-01-27 | 2002-08-20 | Sharp Kabushiki Kaisha | Electric vacuum cleaner |
US6397242B1 (en) | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US8631066B2 (en) | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
US7516453B1 (en) | 1998-10-26 | 2009-04-07 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3972025A (en) * | 1974-09-04 | 1976-07-27 | Burroughs Corporation | Expanded memory paging for a programmable microprocessor |
US4434462A (en) * | 1980-11-24 | 1984-02-28 | Texas Instruments Incorporated | Off-chip access for psuedo-microprogramming in microprocessor |
US4450519A (en) * | 1980-11-24 | 1984-05-22 | Texas Instruments Incorporated | Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories |
JPS57172454A (en) * | 1981-04-17 | 1982-10-23 | Hitachi Ltd | Memory series selecting circuit |
US4450524A (en) * | 1981-09-23 | 1984-05-22 | Rca Corporation | Single chip microcomputer with external decoder and memory and internal logic for disabling the ROM and relocating the RAM |
IT1142074B (it) * | 1981-11-24 | 1986-10-08 | Honeywell Inf Systems | Sistema di elaborazione dati con allocazione automatica dell'indirizzo in una memoria modulare |
US4514805A (en) * | 1982-02-22 | 1985-04-30 | Texas Instruments Incorporated | Interrupt operation in systems emulator mode for microcomputer |
-
1988
- 1988-04-13 JP JP63092076A patent/JPH0724029B2/ja not_active Expired - Fee Related
-
1989
- 1989-04-13 DE DE68927306T patent/DE68927306T2/de not_active Expired - Fee Related
- 1989-04-13 EP EP89106639A patent/EP0337463B1/de not_active Expired - Lifetime
- 1989-04-13 US US07/337,756 patent/US5168559A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE68927306D1 (de) | 1996-11-14 |
EP0337463A2 (de) | 1989-10-18 |
JPH0724029B2 (ja) | 1995-03-15 |
US5168559A (en) | 1992-12-01 |
EP0337463B1 (de) | 1996-10-09 |
EP0337463A3 (de) | 1991-08-07 |
JPH01263737A (ja) | 1989-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69027348T2 (de) | Speicherblockadressenermittlungsschaltkreis | |
DE3881824T2 (de) | Speichersystem mit automatischer grössenbestimmung. | |
DE68927306T2 (de) | Emulationssystem, fähig zur Anpassung an Mikrorechner mit verschiedenen On-Chip-Speicherkapazitäten | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69111635T2 (de) | Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs. | |
DE69737757T2 (de) | System und Verfahren zur Speicher-Emulation | |
DE3803759C2 (de) | ||
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE68923863T2 (de) | Ein-/Ausgabecachespeicherung. | |
DE68922975T2 (de) | Speichereinheit mit zwei Toren. | |
DE69027806T2 (de) | Multifunktionskoppler zwischen einer zentralen Verarbeitungseinheit eines Rechners und verschiedenen Peripheriegeräten dieses Rechners | |
DE69020569T2 (de) | Modulares ein-/ausgabesystem für superrechner. | |
DE69333319T2 (de) | Datenverarbeitungssystem mit synchronem, dynamischem Speicher in integrierter Schaltkreistechnik | |
DE69126756T2 (de) | Prüfbare RAM-Architektur in einem Mikroprozessor mit eingebettetem Cache-Speicher | |
DE4324521C2 (de) | Vorrichtung zum Bestimmen einer Speicherkonfiguration von einem oder mehreren Paaren von Speichermodulen | |
DE3587031T2 (de) | Zugriffpruefungseinrichtung fuer digitale datenverarbeitungsanordnung, welche einen speicher mit seitenabruf hat. | |
DE3888438T2 (de) | Cachespeichersteuerungsvorrichtung für eine Datenverarbeitungsanordnung mit virtuellem Speicher. | |
DE19645745A1 (de) | Dynamischer Schreib-/Lesespeicher | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
DE3911721C2 (de) | ||
DE69724732T2 (de) | Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation | |
DE4117672A1 (de) | Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers | |
DE19714681A1 (de) | Hauptspeichersteuergerät | |
DE112005003216T5 (de) | System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird | |
DE3338329A1 (de) | Computersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP |
|
8339 | Ceased/non-payment of the annual fee |