virtuelle Adresse

Wörterbuch

Beispiele im Kontext

  • virtuelle Adresse

    virtual address

  • Vorrichtung nach Anspruch 12, wobei die Übersetzungstabellen-Einträge (33) mit nicht geltend gemachten Nur-Ohne-Fehler-Bits (34) virtuellen Adressen entsprechen, die sowohl durch normale Speicherzugriffe als auch fehlerfreie Speicherzugriffe zugänglich sind. Verfahren zum Verarbeiten eines Ladebefehls, wobei ein Übersetzungstabellen-Eintrag (22) für eine virtuelle Quellenseiten-Adresse (23) existiert und wobei eine unzulässige virtuelle Adresse, die von einem fehlerfreien Ladebefehl als Hinweisadresse verwendet wird, durch die Übersetzungstabelle zu einer Seite hin abgebildet ist, die vorbestimmte Werte enthält, die gewählt worden sind, damit kein Fehler hervorgerufen wird, wobei das Verfahren umfasst: Testen (107), ob ein Nur-Ohne-Fehler-Bit (25) im Übersetzungstabellen-Eintrag (22) als Reaktion darauf, dass der Ladebefehl ein normaler fehlerverursachender Ladebefehl ist, geltend gemacht ist; Übersetzen (108) der virtuellen Quellenseiten-Adresse (23) in eine physische Quellenseiten-Adresse (24), falls im Testschritt (107) bestimmt worden ist, dass das Nur-Ohne-Fehler-Bit (25) nicht geltend gemacht ist; und Fehlerausweisen (104), falls im Testschritt (107) bestimmt worden ist, dass das Nur-Ohne-Fehler-Bit (25) geltend gemacht ist. Verfahren nach Anspruch 14, weiterhin umfassend: Ausführen (109) des Ladebefehls, nachdem die virtuelle Quellenseiten-Adresse (23) in eine physische Quellenseiten-Adresse (24) übersetzt (108) worden ist, falls im Testschritt (107) bestimmt worden ist, dass das Nur-Ohne-Fehler-Bit (25) nicht geltend gemacht ist. Verfahren nach Anspruch 15, wobei im Fehlerschritt (104) eine Unterbrechung in einer Betriebssystem-Softwareroutine veranlasst wird.

    A method of processing a load instruction wherein a translation table entry (22) exists for a virtual source page address (23) and wherein an illegal virtual address used as a pointer by a non-faulting load instruction is mapped by the translation table to a page containing predetermined values chosen so as not to produce a fault, the method comprising: determining (106) whether the load instruction is a non-faulting load instruction or a normal faulting load instruction; testing (107) whether a non-fault-only bit (25) in the translation table entry (22) is asserted in response to the load instruction being a normal faulting load instruction; translating (108) the virtual source page address (23) into a physical source page address (24) if in the testing step (107) it is determined that the non-fault-only bit (25) is not asserted; and faulting (104) if it is determined in the testing step (107) that the non-fault-only bit (25) is asserted. A method as in claim 14, further comprising: executing (109) the load instruction after the virtual source page address (23) has been translated (108) into a physical source page address (24) if it is determined in the testing step (107) that the non-fault-only bit (25) is not asserted. A method as in claim 15, wherein in the faulting step (104) a trap is caused to an operating system software routine.

  • Vorrichtung zum Verarbeiten eines Ladebefehls, wobei ein Übersetzungstabellen-Eintrag für eine virtuelle Quellenseiten-Adresse (23) existiert und wobei eine unzulässige virtuelle Adresse, die von einem fehlerfreien Ladebefehl als Hinweisadresse verwendet wird, durch die Übersetzungstabelle zu einer Seite hin abgebildet ist, die vorbestimmte Werte enthält, die gewählt worden sind, damit kein Fehler hervorgerufen wird, umfassend: eine Ladebefehlsart-Bestimmungs-Schaltung (106) zum Bestimmen, ob es sich bei dem Ladebefehl um einen fehlerfreien Ladebefehl oder einen normalen fehlerverursachenden Ladebefehl handelt; eine Testschaltung (107) zum Feststellen, ob ein Nur-Ohne-Fehler-Bit (25) im Übersetzungstabellen-Eintrag (22) geltend gemacht ist, und zwar als Reaktion darauf, dass es sich bei dem Ladebefehl um einen normalen fehlerverursachenden Ladebefehl handelt; eine Übersetzungsschaltung (108) zum Übersetzen der virtuellen Quellenseiten-Adresse (23) in eine physische Quellenseiten-Adresse (24), falls die Testschaltung (107) bestimmt, dass das Nur-Ohne-Fehler-Bit (25) nicht geltend gemacht ist; und eine Fehlereinheit (104) zum Ausweisen eines Fehlers, falls die Testschaltung (107) bestimmt, dass das Nur-Ohne-Fehler-Bit (25) geltend gemacht ist.

    An apparatus for processing a load instruction wherein a translation table entry exists for a virtual source page address (23) and, wherein an illegal virtual address used as a pointer by a non-faulting load instruction is mapped by the translation table to a page containing predetermined values chosen so as not to produce a fault comprising: a load-type determination circuit (106) for determining whether the load instruction is a non-faulting load instruction or a normal faulting load instruction; a test circuit (107) for testing whether a non-fault-only bit (25) in the translation table entry (22) is asserted in response to the load instruction being a normal faulting load instruction; a translation circuit (108) for translating the virtual source page address (23) into a physical source page address (24) if the test circuit (107) determines that the non-fault-only bit (25) is not asserted; and a fault unit (104) for faulting if the test circuit (107) determines that the non-fault-only bit (25) is asserted.

  • Ein Verfahren zur Emulation der Speicheroperationen eines ersten DP-Systems (10) auf einem zweiten DP-System (54), wobei das ersten DP-System zumindest ein Benutzerprogramm (30) und zumindest ein Ablaufteilprogramm (28), zur Verwaltung der Operationen des ersten DP-Systems (10), eine Hardwareplattform (20), welche eine Mehrzahl von Eingabe/Ausgabegeräten (26c) und einen Speicher (26b) zum Speichern von Daten und Programmen, zumindest eine einzelne Benutzeraufgabe (30), welche Benutzerebenenprogrammoperationen ausführt, und zumindest eine Ablaufteilaufgabe (28) einschließt, welche Ablaufteilprogrammoperationen ausführt, wobei das Benutzerprogramm und Ablaufteilprogrammaufgaben des ersten DP-Systems virtuelle Adressen (126) des ersten DP-Systems erzeugen, welche sich auf Positionen in dem Speicher (26b) des ersten DP-Systems beziehen, und das erste DP-System (10) eine Eingabe/Ausgabe-Ebene (18) einschließt, welche eine Mehrzahl von I/O-Treibern (44) zur Steuerung von I/O-Geräten (26c) des ersten DP-Systems in Antwort auf Ablaufteil- und Benutzeraufgabenoperationen des ersten DP-Systems einschließt, wobei es eine Speicherverwaltungseinheit (46) zur Übersetzung der virtuellen Adressen (126) des ersten DP-Systems in physikalische Adressen des ersten DP-Systems im Speicher (26b) des ersten DP-Systems einschließt, und wobei der Speicher (26b) des ersten DP-Systems einen Ablaufteilprogrammbereich (110) des ersten DP-Systems einschließt, zur Verwendung durch die Ablaufteilaufgaben (28) des ersten DP-Systems, und zumindest einen Benutzerprogrammbereich (112) des ersten DP-Systems, zur Verwendung durch die Benutzerprogrammaufgaben des ersten DP-Systems, und wobei Zugriffsprivilegien zu jedem Speicherbereich des ersten DP-Systems durch die Art der Aufgabe des ersten DP-Systems bestimmt werden, die mit einer virtuellen Adresse (126) des ersten DP-Systems verknüpft ist, welche Bezug nimmt auf den Speicherbereich des ersten DP-Systems, und wobei jede virtuelle Adresse (126) des ersten DP-Systems eine virtuelle Adresse und einen Bereichstypwert einschließt, welcher die Art des Speicherbereichs (110 oder 112) des ersten DP-Systems darstellt, wobei das Verfahren, welches in dem zweiten DP-System (54) abläuft, um Speicheroperationen des ersten DP-Systems für Ablaufteilprogramme und Benutzerprogrammaufgaben, welche auf dem zweiten DP-System ausgeführt werden, durchzuführen,

    A method for emulating the memory operations of a 1st-DP-system (10) on a 2nd-DP-system (54), the 1st-DP-system including at least one user program (30) and at least one executive program (28) for managing operations of the 1st-DP-system (10), a hardware platform (20) including a plurality of input/ output devices (26c) and a memory (26b) for storing data and programs, at least one user task (30) performing user level program operations, and at least one executive task (28) performing executive program operations, wherein the 1st-DP-system user program and executive program tasks generate 1st-DP-system virtual addresses (126) referring to locations in the 1st-DP-system memory (26b), and the 1st-DP-system (10) includes an input/output level (18) including a plurality of I/O drivers (44) for controlling 1st-DP-system I/O devices (26c) in response to 1st-DP-system executive and user task operations, including a memory management unit (46) for translating 1st-DP-system virtual addresses (126) into 1st-DP-system physical addresses in the 1st-DP-system memory (26b), and wherein the 1st-DP-system memory (26b) includes a 1st-DP-system executive program area (110) for use by the 1st-DP-system executive tasks (28) and at least one 1st-DP-system user program area (112) for use by the 1st-DP-system user program tasks, and wherein access privileges to each 1st-DP-system memory area are determined by the type of said 1st-DP-system task associated with a 1st-DP-system virtual address (126) referencing the 1st-DP-system memory area, and wherein each 1st-DP-system virtual address (126) includes a virtual address and an area type value representing the type of said 1st-DP-system memory area (110 or 112), said method executing in the 2nd-DP-system (54) to perform 1st-OP-system memory operations for 1st-OP-system executive program and user program tasks executing on the 2nd-DP-system, said method is the steps of:

  • Speicherplatz-Übersetzungsvorrichtung zur Emulation eines ersten DP-(Datenverarbeitungs)-Systems (10) auf einem zweitem DP-System (54), wobei das erste DP-System einschließt: eine Hardwareplattform (20) mit einer Mehrzahl von Eingabe/Ausgabe-Geräten (26c); einen Speicher (26b) zum Speichern von Daten und Programmen; unterschiedliche Arten von Aufgaben, d.h. zumindest ein einzelnes Benutzerebenenprogramm (Benutzeraufgabe 30), welches Benutzerebenen-Programmoperationen durchführt, und zumindest ein einzelnes Ablaufteil- oder System-Programm (Ablaufteilaufgabe 28), welches Ablaufteil- oder System-Programmoperationen des ersten DP-Systems (10) durchführt, wobei die Benutzeraufgaben (30) und die Ablaufteilaufgaben (28) virtuelle Adressen (126) des ersten DP-Systems erzeugen, welche sich auf Positionen in dem Speicher (26b) des ersten DP-Systems beziehen; eine Eingabe-/Ausgabeebene (18), welche eine Mehrzahl von I/O-Treibern (44) einschließt, zur Steuerung der I/O-Geräte (26c) des ersten DP-Systems in Antwort auf Ablaufteil- und Benutzer-Programmaufgaben-Operationen des ersten DP-Systems; und eine Speicherverwaltungseinheit (46) zur Übersetzung von virtuellen Adressen (126) des ersten DP-Systems in physikalische Adressen in dem Speicher (26b) des ersten DP-Systems; zwei Arten von Speicherbereichen (SYSMEM 110) und (IPOOLS 112), d.h. ein Bereich (110) des Ablaufteil- oder Systemspeichers des ersten DP-Systems zur Verwendung bei Ablaufteilaufgaben (28) des ersten DP-Systems, und zumindest einen Bereich (112) des Benutzerprogrammspeichers des ersten DP-Systems zur Verwendung durch Benutzeraufgaben (30) des ersten DP-Systems, wobei Zugriffsprivilegien auf jeden Speicherbereich des ersten DP-Systems durch die Art der Aufgabe (Ablaufteilprogramm oder Benutzerprogramm) bestimmt werden, die mit einer virtuellen Adresse (126) des ersten DP-Systems verknüpft ist, welche auf den Speicherbereich (110, 112) des ersten DP-Systems Bezug nimmt, und wobei jede virtuelle Adresse (126) des ersten DP-Systems neben der virtuellen Adresse einen Speicherbereichstypwert (binär 0 oder 1) einschließt, welcher die Art des Speicherbereichs des ersten DP-Systems darstellt; wobei die Speicherplatz-Übersetzungsvorrichtung, welche in dem zweiten DP-System (54) integriert ist und angepasst ist, um Speicheroperationen für Ablaufteil- und Benutzerprogrammaufgaben des ersten DP-Systems, welche auf dem zweiten DP-System ablaufen, durchzuführen, gekennzeichnet ist durch : einen Speicher (58b) des zweiten DP-Systems, der als eine Mehrzahl von Speichersegmenten (3, 4, 5 und 6 in Fig. 7) organisiert ist, wobei erste Speichersegmente (3, 4) dazu bestimmt sind, mit Speichergebieten des Ablaufteilprogramms des ersten DP-Systems (SYSMEM 110) zu korrespondieren, und wobei zweite Speichersegmente (5, 6) dazu bestimmt sind, mit Speicherbereichen des Benutzerprogramms des ersten DP-Systems (IPOOLS 112) zu korrespondieren, und wobei jedes Speichersegment weiter dazu bestimmt ist, mit einer einzelnen der Aufgabenarten (Ablaufteilaufgabe oder Benutzeraufgabe) und somit mit einer Art des Speicherebereichs des ersten DP-Systems (Fig. 7) zu korrespondieren; einen Interpretierer (72) zur Zuordnung der virtuellen Adressen (126) des ersten DP-Systems in die Speichersegmente (3, 4, 5, 6) des Speichers (58b) des zweiten DP-Systems, welcher einschließt eine Mehrzahl von Pseudogerätetreibern (74) in dem zweiten DP-System, von denen jeder einzelne mit einem I/O-Gerät (26c) des ersten DP-Systems korrespondiert und mit einem Segmentspeicherpool-Zuordnungsmittel (ADDRXLP 96) verknüpft ist, welches einen Segmentpoolspeicher einschließt, der in dem Speicher (58b) des zweiten DP-Systems angesiedelt ist, zum Speichern von Eingängen mit Segmentbasisadressen, welche die Positionen in dem Speicher (58b) des zweiten DP-Systems identifizieren; wobei die Speicherpoolzuordnungsmittel (ADDRXLP 96) in Antwort auf die Speicherpoolidentifizierer (160) zugreifen, welche mit einer Aufgabe des ersten DP-Systems korrespondieren, welche mit der virtuellen Adresse verknüpft sind und welche in einer Speicherpoolanordnung (162) gespeichert sind, wobei ein Eingang von dem Speichersegment (Fig. 7), zum Bereitstellen einer korrespondierenden Basisadresse, die Position des korrespondierenden Speichersegments (3, 4, 5, 6 in Fig. 7) des Speichers (58b) des zweiten DP-Systems identifiziert.

    A memory space translation apparatus for emulating a 1st-DP-system (10) on a 2nd-DP-system (54), the 1st-DP-system including: a hardware platform (20) with a plurality of input/output devices (26c); a memory (26b) for storing data and programs; different types of tasks, i.e. at least one user level program (user task 30) performing user level program operations, and at least one executive or system program (executive task 28) performing executive or system program operations of the 1st-DP-system (10), wherein the user tasks (30) and executive tasks (28) generate 1st-OP-system virtual addresses (126) referring to locations in the 1st-DP-system memory (26b); an input/output level (18) including a plurality of I/O drivers (44) for controlling 1st-DP-system I/O devices (26c) in response to 1st-DP-system executive and user program task operations; and a memory management unit (46) for translating 1st-DP-system virtual addresses (126) into physical addresses in the 1st-OP-system memory (26b); two types of storage areas (SYSMEM 110 and IPOOLS 112), i.e., a 1st-DP-system executive or system memory area (110) for use by the 1st-DP-system executive tasks (28) and at least one 1st-DP-system user program memory area (112) for use by the 1st-DP-system user tasks (30), wherein access privileges to each 1st-DP-system memory area is determined by the type of task (executive program or user program) associated with a 1st-DP-system virtual address (126) referencing the 1st-DP-system memory area (110, 112), and wherein each 1st-DP-system virtual address (126) includes besides the virtual address a memory area type value (binary 0 or 1) representing the type of said 1st-DP-system memory area; the said memory space translation apparatus included in the 2nd-DP-system (54) adapted to perform 1st-DP-system memory operations for 1st-DP-system executive and user program tasks executing on the 2-nd-DP-system, is characterized by : a 2nd-DP-system memory (58b) organized as a plurality of memory segments (3, 4, 5 and 6 in Fig.7), wherein first memory segments (3, 4) are designated to correspond to 1st-DP-system executive program memory areas (SYSMEM 110), and second memory segments (5, 6) are designated to correspond to 1st-DP-system user program memory areas (IPOOLS 112), and wherein each memory segment is further designated to correspond to one of the 1st-DP-system task types (executive task or user task), and thereby to a type of a 1st-DP-system memory area (Fig.7); an interpreter (72) for mapping 1st-DP-system virtual addresses (126) into the said memory segments (3, 4, 5, 6) of the 2nd-DP-system memory (58b), including a plurality of pseudo device drivers (74) in the 2nd-DP-system, each one of them corresponding to a 1st-DP-system I/O device (26c) and being associated with a segment memory pool mapping means (ADDRXLP 96) which includes a segment pool memory residing in the 2nd-DP-system memory (58b) for storing entries with segment base addresses identifying the locations in the 2nd-DP-system memory (58b); said memory pool mapping means (ADDRXLP 96) access in response to memory pool identifiers (160) which correspond to a 1st-DP-system task, which are associated with the virtual address and are stored in a memory pool array (162), an entry from the memory segment (Fig. 7) for providing a corresponding base address identifying the location of the corresponding memory segment (3, 4, 5, 6 in Fig. 7) of the 2nd-DP-system memory (58b).

  • Ein zum Übersetzen einer virtuellen Adresse (305) in eine physikalische Adresse (315) ausgebildeter Adreßübersetzungsmechanismus in einem Computersystem (301) mit einem Prozessor und einem mit dem Prozessor gekoppelten Speicher, wobei die virtuelle Adresse (305) einen in Bereiche organisierten virtuellen Speicher adressiert, wobei der Adreßübersetzungsmechanismus aufweist: ein Bereichsregister (309), das einen Freigabeindikator (311) aufweist, wobei das Bereichsregister (309) einem Bereich der virtuellen Adresse (305) entspricht; einen Übersetzungsnachschlagepuffer TLB (313), der mit dem Bereichsregister (309) gekoppelt ist und so eingekoppelt ist, daß er die virtuelle Adresse (305) empfängt, wobei der TLB (313) so ausgebildet ist, daß er einen Seiteneintrag enthält, der verwendet wird, um die physikalische Adresse (315) zu bestimmen; ein Standardvorgabe-Hardware-Ersetzungsmechanismus (325) zum Durchsuchen einer in dem Speicher gespeicherten Seitentabelle, der so ausgebildet ist, daß er dem TLB (313) den Seiteneintrag in Erwiderung eines TLB(313)-Fehlversuchs und eines ersten Zustands des Bereichsregister-Freigabeindikators (311) zur Verfügung stellt; und einen alternativen Software-Ersetzungsmechanismus (327), der so ausgebildet ist, daß er dem TLB (313) den Seiteneintrag zum Bestimmen der physikalischen Adresse (315) in Erwiderung des TLB(313)-Fehlversuchs und eines zweiten Zustands des Bereichsregister-Freigabeindikators (311) zur Verfügung stellt.

    An address translation mechanism configured to translate a virtual address (305) into a physical address (315) in a computer system (301) having a processor and a memory coupled to the processor, the virtual address (305) addressing a virtual memory organized into regions, the address translation mechanism comprising: a region register (309) having an enable indicator (311), the region register (309) corresponding with a region of the virtual address (305); a translation lookaside buffer TLB (313) coupled to the region register (309) and coupled to receive the virtual address (305), the TLB (313) configured to contain a page entry used to determine the physical address (315); a default hardware replacing mechanism (325) for searching a pagetable stored in said memory configured to provide to the TLB (313) with the page entry in response to a TLB (313) miss and a first state of the region register enable indicator (311); and, an alternative software replacement mechanism (327) configured to provide to the TLB (313) the page entry to determine the physical address (315) in response to the TLB (313) miss and a second state of the region register enable indicator (311).