WO2002099645A2 - Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten - Google Patents

Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten Download PDF

Info

Publication number
WO2002099645A2
WO2002099645A2 PCT/EP2002/005319 EP0205319W WO02099645A2 WO 2002099645 A2 WO2002099645 A2 WO 2002099645A2 EP 0205319 W EP0205319 W EP 0205319W WO 02099645 A2 WO02099645 A2 WO 02099645A2
Authority
WO
WIPO (PCT)
Prior art keywords
node
list
virtual address
entry
address
Prior art date
Application number
PCT/EP2002/005319
Other languages
English (en)
French (fr)
Other versions
WO2002099645A3 (de
Inventor
Berndt Gammel
Holger Sedlak
Christian May
Ralph Ledwa
Original Assignee
Infineon Technologies Ag
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 Infineon Technologies Ag filed Critical Infineon Technologies Ag
Priority to EP02740602A priority Critical patent/EP1393184B1/de
Priority to US10/480,081 priority patent/US7124275B2/en
Publication of WO2002099645A2 publication Critical patent/WO2002099645A2/de
Publication of WO2002099645A3 publication Critical patent/WO2002099645A3/de

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/681Multi-level TLB, e.g. microTLB and main TLB

Definitions

  • Virtual addresses where there is no readable / writable data or executable code are usually not mapped to a physical memory. This image is completely transparent for the application being executed.
  • the virtual address space When the memory is organized in pages, the virtual address space is divided into equally large, overlap-free memory areas.
  • a page in the virtual address space is assigned a page in the physical address space via the mapping rule, the page in the physical address space also being referred to as a page frame.
  • the useful data memory of a page frame of the physical address space is just as large as that of a page of the virtual address space.
  • TLB Translation Look Aside Buffer
  • Each page table in the Alpha-AXP architecture fits into a single page, so that all page table addresses are physical addresses that do not require any further translation. Each page table for each node level is therefore exactly one physical memory page.
  • the page tables ie the node lists of the nodes, contain a large number of zero entries, ie Entries that do not refer to a physical address or to a node of a lower node level. Due to the fact that each page table is exactly one physical memory page, a lot of memory space is wasted due to the well-known hierarchical addressing. The larger the virtual address space compared to the physical address space, the greater the amount of wasted storage space.
  • the object of the present invention is to create a more efficient concept for determining a physical address from a virtual address and a more efficient computer system.
  • the present invention is based on the finding that compression of node lists must be carried out in order to reduce the memory space which is taken up by the hierarchical mapping rule between the virtual address and the physical address.
  • a compression indicator is stored together with the mapping rule which, when an entry is determined in a node list of a node, together with a corresponding one Section of the virtual address is used to read the determined entry and then find out the physical address using the determined entry.
  • the hierarchical mapping rule comprises hierarchically arranged node levels, wherein a node level has at least one node. A node list with list entries is assigned to each node. Furthermore, the virtual address has sections, a section of the virtual address being assigned to a node level.
  • the node list of a node comprises list entries, each list entry being identified by an index, and each list entry including a reference to a node of a hierarchically lower node level.
  • the compression indicator for a node list is read before the node list entry is indexed.
  • a preferred form of storing the compression indicator is to write it into a list entry of a node of a higher node level, so that when translating the address, knowledge can already be obtained when reading the list entry of a higher node level whether the node list is referenced by the read one List entry is referenced, compressed, and if the compression type is not specified by default, how it is compressed.
  • the compression indicator can also be located in the compressed node list itself, for example at a default position which is always accessed before a special entry in the node list is then indexed.
  • An advantage of the present invention is that the compressed node lists require less physical storage space than the uncompressed node lists, so that this storage space is available for other data.
  • the node lists are no longer stored in individual physical memory pages, but as many node lists as possible are stored in one and the same physical memory page, so that the case occurs that several node lists of nodes of one and the same node level are arranged in the same physical memory page, or even several node lists of nodes of different node levels are stored in the same physical memory page.
  • This has the advantage that the physical memory is "tidied up" so that not only parts of memory pages, but entire memory pages are available for other data which are not taken up by the mapping specification. This counteracts fragmentation of the physical address space.
  • mapping rule at least a part of the mapping rule, and in particular only the root node itself or even only a reference to the same and a generation rule for the mapping rule are stored in a non-volatile memory using the reference, so that the computer system is also stored the addressing according to the invention can start up in virtual mode.
  • the security of a computer system with virtual addressing is improved in that the computer system does not use a physical addressing mode, but instead works in the virtual addressing mode from the outset.
  • the hierarchical mapping rule is stored in a non-volatile memory of the computer system, by means of which a physical address can be determined from a virtual address.
  • the mapping rule is stored in the non-volatile memory so that it is present when the computer system is started up and not 4-J 1 ⁇ 1 1 ⁇
  • TJ P ⁇ ⁇ TJ ⁇ CO A4 3 ⁇ TJ ⁇ ⁇ ⁇ Ei • ⁇ - ⁇ 3 ⁇ x; ⁇ 3: 3 ⁇ co - ⁇ rH - ⁇
  • the lists for nodes in the hierarchical tree are compressed in order to save storage space in the non-volatile memory.
  • mapping rule between the virtual and physical address it is not necessary to store the entire mapping rule in the non-volatile memory, but at least the part of the mapping rule that makes it possible to start the system startup in virtual mode. With suitable list entries in virtual mode, it is then possible to generate the remaining part of the mapping rule as soon as the required data is retrieved from the physical memory in the volatile working memory and to use it for further address translations from virtual to physical.
  • the hardware state machine can therefore also access data programmed in the volatile memory at runtime after the system has been started up in virtual mode.
  • page-by-page addressing is also preferred. To avoid memory fragmentation, as many combined lists as possible are stored in one and the same physical page.
  • Another advantage of the present invention is that in the case of the mapping rule as a hierarchical tree structure, by implementing access rights at the node of the tree, a differentiated access rights assignment can be achieved with an adjustable granularity.
  • mapping instruction in the non-volatile memory, in a form as used by the hardware state machine without the CPU being switched on • «.
  • 4b shows a table for representing the node levels and the address areas addressed by a node
  • mapping rule in the form of a hierarchical tree structure in which intermediate nodes can be skipped
  • FIG. 6 shows a table for representing node sizes at different levels for the example of FIG. 4a
  • FIG. 7 shows an example of a mapping rule in the form of an n-tree with the same sizes for additional nodes of a level
  • FIG. 8 is a schematic illustration of a compression method for node lists in order to improve the ratio of entries used to the total number of entries in a list;
  • Fig. 10 is a compressed representation of the tree of Fig. 7;
  • FIG. 11 shows a storage space-optimized storage of the tree from FIG. 10;
  • FIG. 12 is an illustration of a virtual address modified to refer to a physical address where a node list is stored.
  • FIG. 13 shows a block diagram of a device according to the invention for determining a physical address from a virtual address using a hierarchical mapping rule.
  • the page table can be organized in the form of a single table which has entries, each entry comprising a virtual address and the physical address assigned to it.
  • a mapping rule organized in this way has the advantage of greater flexibility for managing access rights. It is also better suited to handle small page sizes, which is important if the computer system is as
  • Security IC is used in a chip card.
  • Small page sizes e.g. B. less than or equal to 256 bytes, also serve to avoid page table fragmentation.
  • a memory page therefore has, as has been explained with reference to FIG. B. a size of 64 bytes, i. H. 512 bits. This means that the page offset must have a length of 6 bits in order to be able to address the 64 bytes starting from the start address for the page.
  • Fig. 3 shows a schematic representation of an address translation using a page table.
  • a virtual address 30, an AMO field 32 and a TID field 34 are used as input.
  • the AMO field 32 denotes the access mode that is set by the current state of the CPU and the intended access type (read, write, execute, etc.).
  • the TID field 34 is required for multitasking operation and supplies a task identifier (Task Identifier) which indicates which task the virtual address 30 is assigned to in order to be able to differentiate between different virtual address spaces of different applications.
  • the so-called extended virtual address is obtained from the virtual address 30 and the TID field 34, which has the start address for the virtual page (VP 36) and an offset value (DP 38).
  • the assignment rule in the form of a page table 40 comprises various entries, each entry having a column 42 for the start address of the virtual page and a column 44 for the start address of the physical page which is assigned to the virtual page in column 42.
  • Page table must match field 36 of the extended virtual address. If no such entry is found in the page table, a page fault is output by a module 50. If, on the other hand, a suitable entry is found, the physical page address is read from column 44. A virtual page can be the same size as a physical page. Then the offset of the virtual address (DP 38) and the offset 52 of the physical address are the same size, so that no storage of offset values in the page table or special processing of offset values is necessary.
  • the memory processing unit 18 preferably comprises a TLB in order to achieve faster addressing.
  • the page table described with reference to FIG. 3 is kept in the TLB, the TLB optionally being in addition to the hardware
  • the hardware state machine 18a of FIG. 1 is activated in order to convert a virtual address that was not found in the TLB into a physical address in order to combine the physical address with their virtual address in the TLB.
  • the hardware state machine will access the non-volatile memory (e.g., 12 or 14 of FIG. 1) to determine the physical address using the mapping policy stored there.
  • a hierarchical tree structure with physically addressed nodes is preferred as the image.
  • Such a hierarchical tree structure which can also be referred to as a multilevel page table mapping rule, has the advantage that it is not necessary to keep a large page table in the non-volatile memory, but that instead of one large table, several levels or levels with smaller lists are used can. This allows more efficient management, especially with small physical memory pages.
  • the hardware state machine 18a is then able to traverse the hierarchical tree structure from node to node to finally determine a physical address for a given virtual address. This process is called "page table walking”.
  • FIG. 4a shows a virtual address 400 which has different sections 402 to 310.
  • Section 410 is assigned to a root level, ie the highest level.
  • Section 408 is assigned to the next higher level, in the example level 4.
  • the virtual address section 406 400 is assigned according to level 3.
  • Section 404 is assigned to level 2, while section 402 is assigned to level 1, ie the end node.
  • the last section of the physical address, which can also be referred to as a section for level 0, contains the page offset, which is identified in FIG. 3 by the reference symbol 38.
  • the virtual address also includes a so-called package address 412, which addresses a memory package.
  • the virtual address space is divided into 256 packages of the same size, so that each package has an address space of 16 MB. This makes it possible, for example, to assign different access rights for different storage packages in the virtual address space.
  • the section 410 of the virtual address 400 which comprises only 1 bit in a preferred exemplary embodiment, is assigned to a root node of the hierarchical tree structure.
  • the list for the root node can be stored in the non-volatile or in registers of the memory management unit. Alternatively, the list for the root node can also be stored at a fixed location in the physical memory.
  • the list for the root node is referred to as package descriptor buffer 414 and, due to the fact that section 410 of virtual address 400 has only one bit, comprises only two list entries.
  • An entry in the root list 414 includes an index that is identified by the bit of the
  • Section 410 of the virtual address is indexed. If the bit in section 410 has a value of one, as is the case in the example designated in FIG. 4a, the first entry in list 414 is selected. The entry also includes a pointer 416 to the physical address of the page in non-volatile memory that stores a list 418 for the first intermediate node that section 408 of FIG virtual address 400 is assigned. If, on the other hand, the bit in the section 410 of the virtual address is a zero, the second entry in the list 414 is selected, which comprises a pointer 420 to the physical address of a memory page in the non-volatile memory, in which a further list 422 for the first Intermediate node to which section 408 of virtual address 400 is assigned is stored.
  • lists 418 and 422 each have 16 entries for the first intermediate node. Each entry has a length of 32 bits, so that in the exemplary embodiment shown in FIG. 4a each list takes up exactly one memory page in the non-volatile memory.
  • the hardware state machine After the hardware state machine has determined the upper entry of the root list 414 based on the section 410 of the virtual address 400, the hardware state machine can use the pointer 416 to access the physical memory page in which the list 418 for the first intermediate node is stored. The hardware state machine then reads the section 408 of the virtual address 400 and, based on the fact that the section has the value "1100", selects the thirteenth entry in the list 418.
  • the thirteenth entry again comprises a pointer 424 to a list 426 for a further intermediate node to which the section 406 of the virtual address 400 is assigned.
  • the hardware state machine then reads the section and selects the first entry in list 426 because section 406 has the value "0000".
  • the first entry in the list 426 in turn contains a pointer 428 to a list 430 which is assigned to a further intermediate node with a lower hierarchy.
  • the hardware state machine now reads section 404 of the virtual
  • an entry in this list can in turn address an address range of two kilobytes.
  • FIG. 5 shows a section of the hierarchical page table structure from FIG. 4a, but with a different virtual address, which in sections 408 and 406 has all ones for the fourth level and for the third level.
  • the mapping rule in the form of the hierarchical tree that begins with the root list 414 and ends with the physical address 440 allows skipping at least one level.
  • the skipping of a level is signaled in the virtual address by a certain section, for example by the fact that there are all ones in one section, as is the case in FIG. 5.
  • any other predetermined code could also be reserved for skipping a level.
  • the pointer which starts from the root list 414 and is labeled 500 in FIG.
  • FIG. 6 shows a table corresponding to FIG. 4a and FIG. 5 for the meaning of the bits of the virtual address and the relationship between the node size, ie the maximum number of 3 ⁇ ro 1 1 co 1 1 1 ⁇ • H ⁇ ⁇ M ⁇ 3 1 rH X 3 - ⁇ - ⁇ ⁇ 1 J ⁇ ⁇ TJ TJ ⁇ 3 ⁇ I ⁇ ⁇ rH - ⁇ ü ⁇ 1 4-> 4-J 3 ⁇ ⁇ Cn H
  • FIG. 8 in order to illustrate a possible type of compression of a list 800 of an n-node.
  • List 800 includes two non-zero entries that can be binary indexed by 1100 and 1110. Possible q nodes are shown next to list 800.
  • three different "compressed" lists, ie q-nodes, 802, 804 and 806 can be generated in the described section-wise compression.
  • the list 802 corresponds to the list 800.
  • the q-node List 802 is exactly the same size as list 800 and does not require an offset bit
  • list 804 is already compressed to half the storage space and contains two entries that can be indexed with 110 and 100
  • the virtual offset bit corresponds to the most significant bit (sb) of both entries in the list 800. Compression is therefore possible if the msbs of the non-zero entries in list 800 are the same, since the most significant bits of the entries in the compressed list 804 are also the same achieve higher compression, as shown by the compressed list 806.
  • the two non-zero entries in list 806 have most significant bits that are not the same, so no further compression is possible
  • the section 404 of the virtual address would then be designed such that a bit of the same, typically the most significant bit, is interpreted as a virtual offset bit.
  • the hardware state machine will compare the most significant bit of section 404 to the size bit in the non-zero entry of list 426 and continue address translation if matched, while if the bits do not match, a page fault is issued because then at least either the mapping rule or the virtual address is incorrect.
  • FIG. 9 is discussed in order to show further examples of how n-nodes can be reduced to their minimum q-nodes if the compression method described with reference to FIG. 8 is used.
  • the list 900 in Fig. 9 only includes a non-zero entry indexed by the bit combination "1100".
  • the minimum q-node comprises only a single entry and, accordingly, 4 virtual offset bits "1100".
  • a list 900 with only a single non-zero entry can thus be reduced in a simple manner with respect to its storage space requirement by 1/16 times.
  • List 902 includes two non-zero entries that can be indexed with "0001" and "0011". The two entries have two equal most significant bits, so that two virtual offset bits 00 are created and the list can be reduced by a quarter.
  • List 904 includes two non-zero entries, the most significant bits of which are not equal, however, so here selected compression algorithm no compression is achievable.
  • the q-node is therefore exactly the same size as the n-node.
  • the sample list 906 includes two entries with "0100" and
  • the sample list 908 includes four non-zero entries between "1010” and "1101". All four entries have the same most significant bit, so that a compression of i ⁇ times can be achieved, which leads to a virtual offset bit of "1".
  • level 1 (FIG. 4a) play a special role. Since their entries do not point to other q nodes, but directly to the physical memory pages, no additional information, such as B. a size value of a hierarchically low q-list can be stored together with the pointers. As a result, an entry in a level 1 list is used to store two pointers. Therefore, section 402 of the virtual address associated with level 1 comprises five virtual address bits. The additional bit specifies which of the pointers to use in the selected q-node entry. It should be noted that one of the two pointers can also be 0. After an entry in a level 1 list stores two pointers, the list length of a list, such as The list 434 of Fig. 4a, twice the length of a higher level list, such as. B. level 430.
  • FIG. 10 illustrate how the compressed q nodes can be used to minimize the memory usage.
  • the sections 1210 to 1202 basically corresponding to the sections 410 to 402 of FIG. 4a.
  • the last section 1212 which had designated the offset value in FIG. 4a, is used at the virtual address 1200 to signal the q-node level, the list of which is to be modified in the NA mode.
  • the NAM mode is used to manipulate virtual addresses, since for security reasons only a virtual addressing mode is to be used so that the CPU has no direct access to physical pages.
  • the NAM mode is used to manipulate virtual addresses, since for security reasons only a virtual addressing mode is to be used so that the CPU has no direct access to physical pages.
  • each packet descriptor included in the root list 414 i.e. H. the package descriptor buffer
  • a NAM bit is stored which, when set, allows access to the q-node lists for this special memory package.
  • privileged layers i.e. H. privileged modes of the operating system that can manipulate the NAM bit.
  • the NAM bit is set, the last section 1212 of the virtual address is no longer interpreted as a page offset value, but is used to signal the hardware state machine whether the q-node at level 4, level 3, is at E. - Level 2 or level 1 should be addressed to access the list or entries in the corresponding list.
  • the virtual address is thus interpreted differently by the hardware state machine than in the case described in FIG. 4a.
  • the hardware state machine now only performs an address translation until the q node of the stop level defined by section 1212 ⁇ 1 o 3 1 3.

Abstract

Bei einem Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse, wobei eine Abbildungsvorschrift zwischen der virtuellen Adresse und der physikalischen Adresse als hierarchische Baumstruktur mit komprimierten Knoten implementiert ist, wird zunächst ein in der Abbildungsvorschrift enthaltener Komprimierungsindikator gelesen (1300). Ferner wird ein Abschnitt der virtuellen Adresse, der der betrachteten Knotenebene zugeordnet ist, gelesen (1310). Unter Verwendung des Komprimierungsindikators und des Abschnitts der virtuellen Adresse wird ein Eintrag in der Knotenliste des gerade betrachteten Knotens ermittelt (1320). Der ermittelte Eintrag wird gelesen (1330), woraufhin die physikalische Adresse direkt ermittelt werden kann, wenn die betrachtete Knotenebene die hierarchisch niedrigste Knotenebene war. Falls weitere abzuarbeitende Knotenebenen vorhanden sind, werden beim Ermitteln (1340) der physikalischen Adresse für komprimierte Knoten niedrigerer Hierarchieebenen die vorausgehenden Schritte so lange wiederholt, bis die hierarchisch niedrigste Knotenebene erreicht ist. Bei Adressierungsschemen, bei denen der virtuelle Adressraum größer als der physikalische Adressraum ist, kann durch Komprimierung der Knotenlisten, die im unkomprimierten Fall eine Vielzahl von Null-Einträgen umfassen, Speicherplatz eingespart werden und für andere Daten zur Verfügung gestellt werden.

Description

ω r N3 H-1 H1
Cn o cπ o cπ o Cn
0 α p. TJ p φ H ιQ <i CO rt 00 " <! s: H : DJ Ω dd 00 00 > σ 3 o 3* < - Φ Φ H Φ H- 3 H O rt Φ Φ φ DJ φ φ 3 er 3 - • μ- Ω er Φ μ- 3 3 μ- μ- o
Φ rt 3 H- 3 DJ H Φ 3 3 μ. rt r-i 3 3 Φ Hi φ Φ T er μ Φ 3 0- φ Φ μ μ μ ? φ tjj O H 3 00 iQ H H H φ μ- ιQ μ Φ μ rt > Φ
DJ α H- Ej Ω H N T3 Φ Φ 3 00 TJ 00 Φ Φ H SJ μ- < DJ 00 μ-
CO H- rt 3 ET rt 3 31 T) μ- 3 3 DJ - 00 3 α o μ- 3 0 μ co Ω co 3 C0 H- Φ J Φ DJ μ ^ H 3 iQ H μ- ><: Φ 3 μ μ 00 μ Ω Φ E
H- rt O CO TJ 3 3 H- 00 O Φ TJ rt φ 00 rt > 00 H 3 ? rt er μ- Er rt
3 3 O f-1 Hi Ht O < H- iQ 3 31 3 μ- Ω K TJ φ iQ 00 3 Φ μ- μ- DJ 3
Φ DJ Φ H- TJ rt o Φ ? !•< μ- er S W • er Φ 00 00 rt Φ co Φ 00 3 3 μ C h-1 ?r H <! Φ t-f DJ D) <J 00 Ω φ DJ Φ μ- 00 <J DJ o ιp Ω 00 ιQ
Hl Φ DJ 0 Φ 3 α Hi H 9 μ- μ- 3J 00 er < μ- Ω Φ O rt 3 Φ ET
D o Φ rt N K DJ 3= H- 3 H 7 rt rt μ- μ- μ- rt ET 3 μ μ- Φ 3 Φ Φ 3
H- H- Φ \ O H- Φ co Φ tP ιQ co rt DJ Φ 1 00 μ 00 Φ ω O Φ 3 μ- 3
Φ Φ H- O 0 CO Ω H- 3 Ω l_l. 3 H 3 31 Ω rt ω H DJ Ω 3 > μ Φ 3 P co 3 Ω 3 CO ET 3 3 3J Φ Φ μ- 3 rt 3 3" 3 TJ N er ET 00 Φ 3 S φ
< φ Φ ET H- O H- 3 ιQ Φ 00 3 Φ Φ Φ Φ ιQ μ μ μ <
H- μ H H- H Φ 3 H 3 3 μj Ω U3 μ- μ- M Φ μ- er Φ DJ π σ Φ μ o P Φ rt 3 o. H- Ω co DJ φ 31 μ- DJ ω 00 H Ω H er Hl Φ 00 3 μ μ- J μ rt DJ H- 0 3 Φ rt " rt > Ω 3 φ φ <! J Φ ET Φ μ- rt ;v 00 Hl Hi H μ- Hi
3 et μ er Φ CO H- 3 Φ ET 3 μ- O Φ Φ 3 H DJ μ- μ- μ P>
Φ Φ Φ er h-1 o rt φ <! CÖ l-i μ- 3 h μ- H -t 3 φ o 3 3 rt ET h-1 3 ω DJ H iQ 3 H- Φ φ ω α. ω 3 ω Ω α CO Φ Φ φ 3 μ φ α 3 3 μ
H O μ Φ Φ Φ H H rt co Φ H TJ Ω 3J H μ- rt μ rt 3 Ω 3 iQ Φ Φ
Φ σ φ Φ 3 3 H- PO rt Φ «* co α φ φ φ α 3' Φ φ 3 • α • 3 ET 3 00 3
N DJ 3 Φ C H- H DJ 00 μ- μ- J H H 00 Φ Φ φ iQ 3 ιQ <i M
> s: H- α O 3 Φ Ω Φ rt ≤ DJ H 00 Ω 3 EP μ- N 00 μ- 00 σ 3 σ Φ O Φ N α 3 DJ TJ 3 3 ET O H- 3 Hi H f Φ Hi Φ φ 3 μ- 3 μ- μ er μ 3 3 i rt Φ rt 3 K" rt H 3 DJ Φ 3 00 rt 3 φ TJ Φ <! rt 00 00 Φ 00 3
Φ p. TJ φ H- Φ <! Φ Φ Φ ** 3 3 H μ- H H ET μ- φ rt
Ej ^< N Ω co H- ET 3 Ω 3 H- μ 3 H 3= Pö Ω Φ j * TJ μ μ 00 μ- ET 5 P?. W oo Φ ; 3" μ CO H LQ Ω- rt >*f φ - α 3 Φ • l 00 ET rt 00 rt Φ μ μ μ
Φ CO CO 0 Φ <J rt *< Φ Φ Φ N N 3: Ω Φ ^* H Φ μ- <: 3 < Φ Φ ET μ- Φ 3
Φ H- Q- μ μ- 3 O α 3 rt 3 Φ 3 3 3J α l-S 00 Λ* 00 Φ Φ μ- 3 rt Hi 00 μ-
.—» l-i fV Φ C H Φ rt H 3 H y 3 Φ 00 Φ rt DJ μ- μj μ rt Φ rt 00 rt
< DJ μ rt H Φ Φ <! Φ Φ Φ Φ K < o μ- TJ μ- x1 M s; 00 Φ rt
O 3 3 O Φ 3 H- ? K H o 3 00 μ- DJ φ Φ ' 3 μ- 3 Φ o H- DJ DJ Φ Φ Φ CO H 3 3 DJ Φ 3 00 3 H φ DJ 00 M 3 D>: μ- Ω μ. 3 H p. O 3 3 H 3 3 φ CO rt 3 H ^ H rt Φ 3 rt Ω μ- 3 rt ET rt 3 3
3 Φ Ω O H 3 Ω CO 3 Hl 3 00 O Φ H rt ET 00 3 IQ rt
3 ET Hi Φ ω 3J <! J • 3= 3 rt iQ μ- 3 Φ φ Ω μ 3 Φ <i DJ w Φ Φ α r+ Φ 3= Φ 3 TJ DJ TJ H- 0 Φ u3 &> Φ H DJ "«« 3 Er Φ μ- 3
N α 3 • iQ μ O μ μ-
DJ 13 3" H Φ 3 H Φ 3 3 DJ H ιQ Φ 00 φ μ Hi 3 3 rt H Uy H- Hi o H- H- 3 3 α φ φ Φ 00 3 00 Φ 3 rt TJ < φ
H- 00 00 er O Ω Φ u3 Φ Tl Φ Φ ιQ σ <l Ej μ- iQ μ- TJ φ μ- 3 PO μ Φ μ φ fu: TJ DJ H- H 3" 3 3 I-1 Φ O μ-- Φ μ- Φ 3 φ > 3 3 DJ φ Φ μ- μ
Ω Φ μ Ω φ Φ DJ Φ 0 H e h h Φ 00 tQ 3 φ μ- Φ 3 Ω 3 ≤ TJ
3: ET μ- Φ 3" CO H t 3 h ιQ Φ 1 H Φ > 00 Ω h DJ μ 00 H 3" μ- Φ ET er Ω μ ω CO DJ § H CO er Φ T) DJ Φ H μ- 3 ET Φ 3 φ 3 Φ 3 ><:
Φ H- e H ^ 3 H- g DJ μ- 3 H 3 H Ω μ- 03 φ 00 Hl er P- μ Φ μ P ω μ O Φ O O DJ ω 3 Φ 3 ? (-1 o P. > Ω DJ H co Φ Φ μ rt 3 μ- T i O 3 r • H σ § φ α Φ IQ Φ Φ ET 3 00 φ TJ 00 3 00 Φ 3 Λ' p. 3 Φ rt H- Ω Ω c 3 μ- H μ- rt 3 ET rt L ^ 3 ιQ J
H- ιQ DJ Φ 3 Φ l-1 O tr 3 DJ Φ 3 Φ 3 00 ^ μ- Cd μ 00 H-"
Φ Φ σ Φ DJ ω α -. 3 iQ Hi H 3 φ 00 α TJ s: DJ 00 3 Φ Φ rt ~~ ^l Φ μ- O ^Q er μ er (- 3 Φ Φ : H CΛ μ- μ- φ μ- μ- μ co Φ 3 μ- co s TJ Φ Φ • DJ: •Ό 3 H DJ H μ- μ- H H μ- Φ μ ST er Φ co 3 o 3 Ω
Φ er Hi 3 H LQ Φ co 3 Φ μ- Φ Φ Φ 1 Φ DJ Φ μ- μ- φ rt φ ET
1 μ- H- H- TJ Hi O co H Hi H ! 3 1 N 00 3 Ω φ Φ μ Φ 1 H 3 1 Φ rt 1 1 1 co φ 1 rt rt 1 μ. ET 1 3 3 1 1 1 1 H 1
bildungsvorschrift zugeordnete physikalische Adresse (PA) müssen keinerlei Bezug zueinander haben. Der virtuelle Adressraum kann ferner wesentlich größer als der physikalische Adressraum sein.
Virtuelle Adressen, an denen sich keine les/schreibbaren Daten oder ausführbarer Code befinden, werden in der Regel nicht auf einen physikalischen Speicher abgebildet. Für die ausgeführte Applikation ist diese Abbildung völlig transpa- rent.
Bei einer Organisation des Speichers in Pages bzw. Seiten ist der virtuelle Adressraum in gleich große, überlappungsfreie Speicherbereich unterteilt. Einer Seite im virtuellen Adress- räum ist eine Seite im physikalischen Adressraum über die Abbildungsvorschrift zugeordnet, wobei die Seite im physikalischen Adressraum auch als Page Frame bezeichnet wird.
Der Nutzdatenspeicher eines Page Frames des physikalischen Adressraums ist genauso groß wie der einer Page des virtuellen Adressraums.
Die Zuordnung einer virtuellen Seite zu einer physikalischen Seite wird üblicherweise über die sogenannte Seitentabelle oder Page Table erreicht, welche Adresspaare von jeweiligen
Startadressen der virtuellen Seiten und der zugeordneten physikalischen Seiten enthält.
Bei Workstations befindet sich ein Teil der Page Table in ei- nem Cache, der auch als „Translation Look Aside Buffer (TLB) bezeichnet wird. Befindet sich das Startadresspaar für eine virtuelle Seite und die zugeordnete physikalische Seite in dem TLB, so erfolgt die Berechnung der Adressabbildung in den virtuellen Speicherbereich beschleunigt, da lediglich ein Zugriff auf eine Tabelle erforderlich ist, um die einer virtuellen Adresse zugeordnete physikalische Adresse zu erhalten. 1 co 3 φ 1 l o 3 4-> Φ 1 -μ 1 1 -μ cq 1 3 1 φ M rö 3 μ 3 co 1 -μ l -μ 3 J 3 3 1 3 Φ TJ :3
C5 μ PQ Φ J rö φ -μ -Q Φ co 3 Φ 4-J H -μ J TJ 3 A4 Φ Es 3 44 μ J μi
© -3 4-J μ -μ Φ 3 Φ 4-1 rH φ 3 C -μ X! 3 3 3 μ S 3 φ μ μ Φ rt! E-H ü co 44 co 4-J -H μ O 3 Λ I μ co 3 O Φ 3 φ 3 -. >* o rt! 3 co Φ 3 o -H φ -μ co 3 3 μ co Φ 3 3 TJ 3 co μ -μ Φ TJ X) Φ TJ ES Φ Φ > -μ α. φ e rH -3 μ Φ Φ 3 4-> -3 3 J EH o < Φ 4-1 Φ • co E5 Φ X! μ cQ Φ 4-> 4-1 Φ ω rH -H -Q υ -3 3 φ O φ r-i A4 4-J -μ 3 3 Cn ü -μ μ O μ O μ μ rH
H =3 .H υ TJ Φ & ! CQ 3 3 Φ 3 3 Φ Φ Φ cG -. N 44 3 3 S :3 μ Φ Φ 3 Cn φ 4-1 Φ co rH φ Q U υ 3 -μ Cn Φ Λ co 3 rö 3 3 Φ co 44 Cn TJ co μ N 3 α. 3 -3 CO 5 M Q> • :rö co μ 3 rH rH μ o 3 J 3 3 3 4-J 4-> 4-1 3 μ 4-> 3
4-1 ü 3 o 3 3 3 3 rö φ >-. CM -Q H X! Φ :0 3 3 rH 3 Cn 4-1 μ 3 Φ 3 3 rH
•H Eä Φ -μ Φ 3 J > co 3 Φ ü μ A . J 3 μ 3 EH •μ O X! 3 Φ Φ H
•H 3 4-1 o ! 4-> N 3 Φ EH 3 3 3 J co μ Φ XI 4-1 •μ Φ μ X! 3 Cn Φ
> >-. μ Cn υ φ rH cQ 3 J 3 4-J 3 Φ rf! 3 3 TJ co XI υ Φ :0 co :3 υ Φ 3 4-J
*. 4-> -3 3 co H 3 Φ 3 O o -μ Φ μ cn N 3 3 co ü CO -μ 3 H tu Φ rH -μ CO
Φ Φ 4-> :3 3 H X -3 -H TJ -μ 3 Φ Cn •μ D -μ Φ 3 Φ -μ 3 TJ Φ -μ Φ ύ P, μ 4-1
-H CO rö 44 J H 3 Φ CO 4-1 co 3 > CM 4-1 X! 3 X! μ Φ 3 X) Φ -μ 3 φ •H J co •μ rH 3 EH Cn 3 Oi 3 CM U X! υ Φ ü 3 TJ P. 3 4-1 co 3 Φ •H Cn Φ φ o 3 • -H A4 4-> 4-J +-> 3 o 3 ü O 4-4 μ Φ o co Φ XI XI Φ 4-> μ
• M Φ -2 X! -μ Φ μ Φ Φ co 3 μ Φ Φ Φ =3 -μ 3 3 μ 3 3 ü ü 3 X! 3 co co Φ
Xl J . — . 4-> 3 -Q co Cn Φ 4-J 4-1 A4 μ 4-1 3 J -μ H H μ TJ X! 3 3 TJ •μ •μ 3 J 3 3 C Φ CQ
• <! Cn co 3 rt! 3 X! μ 3 μ φ 3 •μ TJ 4-1 3 X! 3 3 Φ Φ O Φ Φ 22 X! > H J rö -3 CM Ü 3 Φ O -μ 4-J Φ 3 A4 3 TJ 44 rH Cn 3 μ Φ 1 Φ J Φ H co 3 Φ P -μ 4-1 TJ Es o co -H 3 3 -μ XI rH •μ co 3 Φ μ Cn Cn rH 3 TJ 3
-3 -3 co Φ -H Φ Φ O Φ o A4 3 3 -μ co μ O ü Φ 4-> Cn 3 X! φ 3 3 φ Φ 3 •μ ü ü X! Cn J TJ Cn P. -Q μ φ μ 3 3 3 Φ o 0 3 XI 3 N μ co 3 3 μ 4J 3 W co co φ rö 3 -H co O Φ M o Φ 0 T3 TJ X! X! rH xi 4-> ü 3 Φ Φ 4-1 Cn co μ μ r H H •H μ TJ 3 N co O co TJ TJ E Sä -μ μ P υ 3 μ μ 4-1 XI -μ 3 :3 4-J 3 Cn • rO r-t Xl 4-J M 3 4-1 Φ fi, 4-> 4-J -μ -H co •H r-i Φ CO o P Φ 44 -μ A4 4H 4-1 ft rö Φ 4-> -3 -H 3 •H •H -μ D μ 4-1 3 Cn ä Φ φ X! 3 > 44 -μ -μ -μ TJ μ φ P. 3 N o A4 fr) Φ υ ä 3 Φ Φ TJ Q CM 3 Φ co 4-1 :3 Cn P, ü TJ co Φ . Φ Φ XI H 3 3 o -H 1 CQ 3 rö -Q μ u Φ TJ μ co μ o -μ 00 •H O 3 3 o 4-> P 3 CQ > μ XI Φ
Φ CO CQ 3 co Φ μ -H • -3 w A4 CO μ co 3 φ -μ Φ P o μ φ CJ 3 μ
U i co 3 co 3 rt! s co Φ ü μ μ :0 3 co TJ μ Φ co Φ μ μ XI Φ Cn
TJ XI EH rö CQ O co -H 3 -μ co Φ . O • X! φ 3 tn 3 TJ N 4-1 XI φ 3 υ 3 υ Φ rθ P, — J j -H Φ Φ 3 3 TJ TJ -μ X! 3 ES 3 Φ Φ TJ φ 3 3 3 3 -μ ü 4-> N -μ -μ μ X)
4-> EH 4-> μ Φ Φ O rH υ Φ Φ co Cn 3 3 0 3 O Φ -μ Q o 3
Φ co 3 rö TJ co Cn μ 3 3 3 -μ 3 Φ 4-1 o 3 X! μ > μ 3 X, X! φ :θ μ Φ O o rθ J co rö 3 4-> H -μ -3 co o A4 Φ 3 -μ rH φ 3 o ü Φ co Φ μ P. μ Φ μ co co Φ
4-J φ -H φ co rö 4-> 3 Cn •μ -μ P. X! TJ 3 μ N > •μ μ 4-1 « rH 3 co Cn X! :3 μ co N
00 3 s TJ A4 3 xl 4 3 4-1 co co 3 X! TJ 3 Φ co 44 Φ rH Φ o 44 Φ φ 4-1
TJ 1 rö φ Φ υ Φ 3 3 co N 3 O < TJ 3 N co -H μ Φ o μ 3 3 -μ Eä μ 3 o 5-1 CQ μ 3 o H co =3 Cn μ 4-J -3 4-1 44 3 CO φ Φ μ TJ 3 φ Φ N O Φ • 3 μ H rö o (-q EH -H πs rH -H H X! Φ co P μ 3 3 3 3 Φ 4-1 CO μ XI 4-1 -μ cS > P. CQ rH φ C J Φ EH φ Φ 44 ü -μ A4 Φ 3 A4 3 Φ -μ 3 3 TJ ü μ TJ 0 Φ o Φ XI cn 3 rH μ 3 Eä O co • X) rH TJ Q o rt! 3 3 μ μ rH 4-1 o • H υ 3
-3 3 3 Φ φ Φ 4-> co 3 - co o -3 μ X! •< co rH -μ μ Φ 3 cn X XI 4-1 N O. -μ Φ ü N -H 3 α TJ M rH •H Φ ES ü 4-> 3 φ D Φ 4-J 3 o xi 3 3 ü -μ co φ TJ
-H φ H 3 •H Φ 3 μ • 3 CO TJ 3 CM -μ 3 Φ > ü 3 > H -μ Φ Φ μ P. 3
CO φ Φ EH J > μ 0 TJ μ J 3 3 •μ 0 4-1 U TJ -μ rH co co Φ Cn -H 3 X) -μ Φ oo Φ
-H 4-> 1 υ P 3 μ rt! φ Φ 3 μ co 3 Cn μ J -μ 4-> Φ μ Eä X! XI
4-J TJ Φ 3 3 -H 3 co 3 J TJ *», n TJ 4-J co -μ μ 3 A4 φ 3 rH H 3 Cn co -t, φ φ
Φ J N Φ Φ Φ -μ 3 3 3 3 •μ 3 μ Cn > Φ 3 μ μ 3 3 3 •μ rH 3 3 Φ •μ 4-J J TJ 3 co o -3 Φ A4 4-> Φ 3 Φ 4-J 3 Φ 3 TJ 0 J A4 •μ Φ Φ CM O 3 3 H TJ CO
3 3 -H Φ co Φ υ -Q co rH φ rH x! -μ 3 μ Es 3 rH •μ 4-J μ -μ 3 Φ 3 o -H 3 44 O φ CQ co .3 A4 -H 4-> rH ü X! 3 μ Φ μ 4-> Φ •H co «. X! Φ 4-J Cn TJ Cn m -H μ -H Φ -H μ Φ co Φ =3 0 μ Φ 3 Φ rH Φ 3 X! 4-J ü 3 3 3 3 3 Φ 3 3 O Φ φ o Φ J 3 5 •H Φ O φ Φ rH 3 4-1 -μ -μ X! Φ X! μ a xi CO 3 -μ -μ 4-1 Φ 3 μ •μ 3
CQ co o Eä <! H N J co ES μ co μ m 3 CO co Φ υ 4-1 ü Φ P. -μ S Φ Φ co Cn J Eä co Cn
Figure imgf000005_0001
TJ 1
3 rH μ
μ Φ o co 44 Eä
3 CO
CQ O
Φ 4->
Φ μ Cn
μ TJ :3
TJ < 44 φ
3 co Cn
3 3 3
Q N
3
3 • -μ
Φ 3 XI
44 Φ
44 4-1 Φ
-μ rH co μ 3 3
Cn XI φ
Φ μ μ
Cn φ TJ
3 3
N 3 o
N •μ μ co φ φ 3 xl 3 CQ
U Φ
-μ X) μ
Φ W Φ
P. co
00 3 Φ
Φ -μ
3 4-J TJ
Φ 4->
TJ •μ TJ μ μ
4H TJ •μ
3 Eä
3 μ
Φ Φ μ TJ 3
Φ Φ
TJ Φ xi
Φ rH w
μ X)
Eä 3 3
EH Φ
TJ 4-J μ Φ 4-1
-μ Cn •μ
Eä 3 μ
CM TJ
3
3 μ μ
3 Φ Φ
Q TJ TJ
Figure imgf000006_0001
LD o m o LD o LO rH rH CM CM ro ro
aufhin der Speicher unter Verwendung dieser Summe ausgelesen wird, um die physikalische Adresse der Seite zu erhalten, auf die verwiesen wird. Dieser Adresse wird ein Page-Offset hinzugefügt, um die physikalische Adresse zu erhalten, die der virtuellen Adresse zugeordnet ist. Jede Page Table in der Al- pha-AXP-Architektur paßt in eine einzige Seite, so daß alle Page-Table-Adressen physikalische Adressen sind, die keiner weiteren Übersetzung bedürfen. Jede Page Table für jede Knotenebene ist daher genau eine physikalische Speicherseite lang.
Falls der virtuelle Adressraum größer ist als der physikalische Adressraum, was insbesondere dann von Vorteil ist, wenn Flexibilität für zukünftige Erweiterungen des physikalischen Adressraums gewünscht wird, enthalten die Page Tables, d. h. die Knotenlisten der Knoten, eine hohe Anzahl von Null- Einträgen, d. h. von Einträgen, die auf keine physikalische Adresse oder aber auf keinen Knoten einer niedrigeren Knotenebene verweisen. Aufgrund der Tatsache, daß jede Page Table genau eine physikalische Speicherseite lang ist, wird durch die bekannte hierarchische Adressierung sehr viel Speicherplatz vergeudet. Die Menge an vergeudetem Speicherplatz wird um so größer, je größer der virtuelle Adressraum im Vergleich zum physikalischen Adressraum ist. Der Speicher, der durch Null-Einträge in den Knotenlisten eingenommen wird, führt insbesondere bei Rechnersystemen mit begrenzten Speicherressourcen, wie sie auf Chipkarten, Smartcards oder Sicherheits- ICs zu finden sind, dazu, daß mehr Speicherplatz beispielsweise in Form eines externen RAMs zur Verfügung gestellt wer- den muß, was die Chipkarte teurer macht. Wenn dagegen aus Chipplatzgründen kein weiterer Speicher zur Verfügung gestellt werden kann, sind besonders die Arbeitsspeicherressourcen der Chipkarte begrenzter als unbedingt erforderlich, was dazu führt, daß weniger aufwendige Programme in der Chip- karte gerechnet werden können, oder daß die Performance der Chipkarte leidet. Die Aufgabe der vorliegenden Erfindung besteht darin, ein effizienteres Konzept zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse sowie ein effizienteres Rechnersystem zu schaffen.
Diese Aufgabe wird durch ein Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse nach Patentanspruch 1, durch eine Vorrichtung zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse nach Pa- tentanspruch 9 oder durch ein Rechnersystem nach Patentanspruch 10 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß eine Komprimierung von Knotenlisten durchgeführt werden muß, um den Speicherplatz, der durch die hierarchische Abbildungsvorschrift zwischen virtueller Adresse und physikalischer Adresse eingenommen wird, zu reduzieren. Erfindungsgemäß wird bei einer Adressierungsstruktur, bei der der virtuelle Adressraum größer als der physikalische Adressraum ist, und bei der hierarchisch angeordnete Knotenebenen vorhanden sind, ein Komprimierungsindikator zusammen mit der Abbildungsvorschrift abgespeichert ist, der beim Ermitteln eines Eintrags in einer Knotenliste eines Knotens zusammen mit einem entsprechenden Abschnitt der virtuellen Adresse verwendet wird, um den er- mittelten Eintrag zu lesen und dann unter Verwendung des ermittelten Eintrags die physikalische Adresse herauszufinden. Die hierarchische Abbildungsvorschrift umfaßt hierarchisch angeordnete Knotenebenen, wobei eine Knotenebene zumindest einen Knoten aufweist. Jedem Knoten ist eine Knotenliste mit Listeneinträgen zugeordnet. Ferner hat die virtuelle Adresse Abschnitte, wobei je ein Abschnitt der virtuellen Adresse je einer Knotenebene zugeordnet ist.
Die Knotenliste eines Knotens umfaßt Listeneinträge, wobei jeder Listeneintrag durch einen Index identifiziert ist, und wobei jeder Listeneintrag einen Verweis auf einen Knoten einer hierarchisch niedrigeren Knotenebene umfaßt. Die physika- • 4-> μ Φ -μ
Figure imgf000009_0001
LO o LO o LO o O rH rH CM CN ro ro
Sind ferner die beiden höchstwertigen Bits aller Nicht-Null- Einträge in einer nicht-komprimierten Knotenliste gleich, so wird eine Komprimierung auf ein Viertel der nichtkomprimierten Knotenliste erreicht, und die zwei höchstwerti- gen Bits des entsprechenden Abschnitts der virtuellen Adresse werden aufgrund des Knotenindikators bei der Indizierung einer Knotenliste ignoriert.
Sind die drei höchstwertigen Bits sämtlicher Nicht-Null- Einträge in einer nicht-komprimierten Knotenliste gleich, so kann eine Komprimierung auf ein Achtel der maximalen Anzahl von Knotenlisteneinträgen erreicht werden, usw.
Zum Abspeichern des Komprimierungsindikators existieren ver- schiedene Möglichkeiten. Generell muß sichergestellt werden, daß beim Adressen-Übersetzen der Komprimierungsindikator für eine Knotenliste gelesen wird, bevor der Knotenlisteneintrag indiziert wird. Eine bevorzugte Form des Abspeicherns des Komprimierungsindikators besteht darin, denselben in einen Listeneintrag eines Knotens einer höheren Knotenebene zu schreiben, so daß beim Adressübersetzen bereits bei dem Lesen des Listeneintrags einer höheren Knotenebene Kenntnis darüber erhalten werden kann, ob die Knotenliste, auf die durch den gelesenen Listeneintrag verwiesen wird, komprimiert ist, und falls die Komprimierungsart nicht standardmäßig vorgegeben ist, wie dieselbe komprimiert ist. Alternativ kann der Komprimierungsindikator auch in der komprimierten Knotenliste selbst beispielsweise an einer Default-Position stehen, auf die immer zugegriffen wird, bevor dann ein spezieller Eintrag der Knotenliste indiziert wird.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß die komprimierten Knotenlisten weniger physikalischen Speicherplatz benötigen als die nicht-komprimierten Knotenlisten, so daß dieser gewonnene Speicherplatz für andere Daten zur Verfügung steht. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung, bei dem eine Page-weise Adressierungsstruktur verwendet wird, werden die Knotenlisten nicht mehr in einzelnen physikalischen Speicherseiten abgelegt, sondern es werden so viel Knotenlisten als möglich in ein und die dieselbe physikalische Speicherseite abgelegt, so daß der Fall auftritt, daß mehrere Knotenlisten von Knoten ein und derselben Knotenebene in derselben physikalischen Speicherseite angeordnet sind, oder sogar mehrere Knotenlisten von Knoten verschiede- ner Knotenebenen in derselben physikalischen Speicherseite abgelegt sind. Dies hat den Vorteil, daß der physikalische Speicher "aufgeräumt" ist, so daß nicht nur Teile von Speicherseiten, sondern gesamte Speicherseiten für andere Daten zur Verfügung stehen, welche nicht von der Abbildungsvor- schrift eingenommen werden. Damit wird einer Fragmentierung des physikalischen Adressraums entgegengewirkt.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird zumindest ein Teil der Abbildungsvorschrift, und insbesondere lediglich der Wurzelknoten selbst oder sogar nur ein Verweis auf denselben und eine Erzeugungsvorschrift für die Abbildungsvorschrift unter Verwendung des Verweises in einem nicht-flüchtigen Speicher abgespeichert, so daß das Rechnersystem mit der erfindungsgemäßen Adressierung bereits im virtuellen Modus hochfahren kann.
Gemäß einem bevorzugten Ausführungsbeispiel wird die Sicherheit eines Rechnersystems mit virtueller Adressierung dadurch verbessert, daß das Rechnersystem keinen physikalischen Ad- ressierungsmodus verwendet, sondern von vorneherein im virtuellen Adressierungsmodus arbeitet. Um dies zu erreichen, wird in einem nicht-flüchtigen Speicher des Rechnersystems die hierarchische Abbildungsvorschrift abgespeichert, mittels der aus einer virtuellen Adresse eine physikalische Adresse er- mittelt werden kann. Die Abbildungsvorschrift wird im nichtflüchtigen Speicher gespeichert, so daß dieselbe unmittelbar beim Hochfahren des Rechnersystems vorhanden ist und nicht 4-J 1 Φ 1 1 φ
Cn 1 3 1 1 1 XI o 1 1 3 «-» 3 3 3 1 4-J
3 μ 1 φ 3 μ Φ 1 -μ 4-J co rH μ H 3 -H Φ Φ P 4-1 co 3 1 N
Φ 4-1 Φ rH Cn Cn Φ 3 3 CO H +J •μ 4-1 TJ 3 O φ φ Φ 3 1 3 co μ CJI φ 3 4-1
N
© -μ 1 :3 -H 3 α -H 3 Cn 3 CO μ -μ 3 > N 4-1 -μ 4-J rH 3 Φ •μ 3 H CO 3 μ 3 μ -μ 44 4-> 3 co Φ 1 3 A4 Φ Φ o Φ 3 3 co μ o μ X! x; φ φ -μ > 3 rH φ 3
© Φ 3 :3 φ 3 XI μ 4-J 3 -μ 3 44 Cn CO 3 Cn 3 3 =3 υ υ N rH TJ μ φ μ Φ α. Q 44 X! -H ü Φ 3 •». X! 4-> TJ co •μ rH μ 4-J 3 ES A4 4H CO -μ 3 H 3 xl 3 TJ X! ω co 3 XI =3 μ Φ -μ υ CO H XI 3 φ rH «-. 3 3 m 3 H φ co Φ :3 4-1
H 3 • TJ 4-> H o CJi co •μ -μ H XI υ φ 3 :3 3 TJ 3 φ 3 3 Φ X Φ 3 44 μ Φ U TJ cG 44 *•. 44 co -μ -μ 3 X) P o 3 μ -H X! Φ . rH Φ ; Φ co 3 3 3 φ CO -μ 3 Cn α. o 3 φ -μ 3 1 Φ -P 4-1 - 3 H Φ Φ μ 4-> 3 •μ 3 υ 4-1 J Φ Φ 4-> 3 X 3 > Φ μ
S 3 μ μ Φ 4-J μ X! 4-J 3 φ rt! Φ 3 Φ TJ Φ 3 Φ X! μ CO o 3 TJ -H 3 3 φ X! 3
TJ X! Cn XI TJ ü μ Φ TJ 4-J co »-. TJ X) X) φ -μ 3 3 J φ CQ Cn μ U Φ
3 3 υ 3 υ :3 Φ J rH μ Φ TJ -. -μ 4-1 μ co Φ rt! A4 4-J 3 4-> Φ 3 φ co Eä φ Φ TJ CO Φ -H rH X! -μ Φ 3 3 4-> Φ μ φ Cn Cn 4-J N TJ co -μ μ -H co Cn Φ J -μ
H J 3 μ N 3 3 44 υ 44 X! TJ J 3 CO X XI XI 3 3 Φ -μ 3 3 =3 Φ Φ 3 4-1 rH >
3 μ 3 o μ Φ 1 -μ 3 Φ μ 4-1 -μ O =3 ü 3 N -μ 3 3 ω LS) 3 44 CO TJ -μ Cn 3 3 μ
Φ Φ > Φ 3 H 4-1 Φ 3 Cn TJ 0 O Eä 44 -μ Cn CO TJ φ 1 o 5 Φ 3 φ A4 4-J μ TJ co -μ rH x; P, CO 3 φ 3 XI CO φ 3 3 co 3 3 Φ > 3 — 3 N TJ H 3
3 Cn 3 Φ O co Φ 3 3 Cn rx] υ >. 3 P. -μ 3 >. 3 -μ Φ μ Φ Φ μ μ co rH
3 4-J 3 3 N co 3 μ Φ -μ 3 3 1 -μ co 3 ω H 4-J 3 Φ 3 3 TJ 4-1 A4 4-1 φ 0 -μ , Φ
Φ μ Eä 3 4-> -P 3 Cn J Φ N φ H 3 Φ Cn 3 -μ Eä 3 co H 3 J > Φ x: μ
3 Φ 4-1 TJ Φ •μ μ TJ 3 μ Xi 3 Φ 3 co co 3 PQ 4-J Φ TJ 3 μ 3 3 Φ X! P,
μ X! 3 rH rH φ -μ 3 J *-. 3 CO φ 3 3 Φ rH co N co μ ES H Φ X! 3
Φ υ 3 -μ rH μ > Φ 44 3 3 φ co Eä Cn -μ Cn 3 φ μ 3 Φ TJ 3 Φ XI μ *. μ ω
-μ co X φ Φ J -μ Φ μ co TJ 3 -μ XI -μ μ o Φ TJ 3 x co 3 Φ TJ 3 Cn Φ 4-J
3 φ Cn a X X) 3 μ XI 3 TJ φ μ φ 4-1 υ 4-1 φ TJ > X! 3 3 co Φ rH μ Φ 3 TJ O
μ P. 3 3 -μ 3 XI Φ 3 μ 3 3 :3 co XI co rt! Φ Ü -μ Φ Φ 4-J X! 3 «•. 3 3 3 co 3 EH 4-J Φ ü co 3 TJ CÖ -μ 4-J 3 ü o X! O 3 Φ -μ μ μ 3 Q 3 -μ TJ o X,
Φ 4-1 Φ 1 4-1 co X co Φ A4 3 XI 4J 3 :3 φ φ μ 3 3 J TJ φ H Φ Φ 3 rH
A4 Cn rH 3 XI -μ • 4-> Φ μ Cn Φ Φ ü O o rH μ XI x: X! N Φ PC XI XI X -μ 3 μ
•μ X! 3 μ co μ 4J -μ 3 o μ 3 rH 3 -μ co X TJ 44 TJ υ ü υ X! Q υ Φ υ Φ H 4-1 =3
3 3 Eä Φ 3 xi co Φ > o Φ H φ Q 3 H 3 1 CO o μ -. Φ 3 3 μ Cn 3 Cn Φ μ μ 44
X! μ EU υ •μ μ TJ o 44 φ H 3 Φ 3 4-> -μ TJ 3 φ 3 J φ Φ 3 3 3 CQ ω Φ ü μ Φ g co Φ μ Cn -μ 3 H • co O 4-J X! φ rH φ μ 3 Φ rH CM CM N cQ 3
Φ Φ > 3 μ μ μ X μ 3 φ Φ 4-1 Φ 3 TJ CO υ H 3 r—i Φ Φ XI o rH co 3 CO • 3 :0 Φ
EH XI φ O 3 E≥ 3 3 μ μ 3 rH 3 CO 3 -H rH A4 -μ X U o φ Φ 3 3 3 4-J Φ μ 4-J o Φ «. 3 > X) 3 J -μ Cn -μ 4-J Φ 3 3 I 3 φ -μ CO x; Φ co 3 Cn Φ 3 XI TJ Cn O μ -μ 4-J Φ -μ o cn Φ rH XI 3 > μ 4-1 4-1 3 1 3 co Φ rH -μ 4-1 X 4-> . Ü 3 μ
Φ Φ 4-J g Φ Cn :3 4-> 3 -μ o N -μ 4-> co XI Φ 3 4-> co Φ Eä 3 μ 3 3 4-J Φ •μ Φ xl Hl
TJ P< Φ g 3 44 CO 3 X) 3 μ > -μ 3 4-1 μ Φ μ xi TJ φ N tKJ μ -H 3 μ co μ Cn 0 o rH 3 3 3 μ 3 a 3 μ Φ 3 to -μ 3 TJ μ P. μ 3 μ φ μ 3 XI co P Φ •μ 4-1
TJ P. μ μ TJ Φ CO A4 3 φ TJ μ μ μ Ei μ -μ 3 Φ x; φ 3 :3 φ co -μ rH -μ
3 3 3 Cn O rH > μ CO xl Φ Φ -μ 0 TJ 3 Φ Eä Φ ES 3 ü μ xl Φ 44 μ 4-J rH 4-J 3
3 Φ o O ~ -μ Φ 3 J ü cn J φ Cn μ O Φ -μ -μ μ Φ υ Cn XI TJ 3 μ 3 o
4-J Cn A4 μ X Cn 3 Φ -μ 3 •μ 3 3 Xl H 3 > μ TJ cG 3 φ Φ φ TJ -μ 0 υ φ O Φ o
00 -μ CM 3 a -H xi μ TJ 3 φ 3 Φ N X TJ :3 μ 3 -, Φ CO μ > co
4-J μ μ 4-1 u XI 4-1 α TJ μ co 3 3 3 o -μ 4-J co 3 P. 3 φ φ φ J
3 xl φ 3 μ Φ 3 3 co o 3 TJ Φ Φ 3 φ Φ co Φ Φ Φ o o t 3 TJ x: CO μ 3
H υ TJ Φ Φ Φ Φ c 44 φ 3 Φ CO Φ -μ 4-1 4-> 4-1 Cn φ 3 > Φ υ CO Φ 3
=3 x: 3 •μ 44 XI TJ CO C Eä 4-> 3 Φ 3 J 3 μ 3 CO 3 μ TJ N 3 3 ^~ CO φ TJ 3
Φ H X! o -μ TJ O U 1 φ μ 44 Φ -μ Φ TJ Φ TJ Cn -μ :3 3 4-1 Φ •μ * -μ μ 3 •-»
-μ 44 o -μ Φ μ 3 O 3 Φ Cn Φ -μ μ Eä X 3 co o co 3 44 -μ φ μ Cn Φ Cn rH TJ H 3 4-1
Eä 3 rH E 3 Φ TJ XI -μ μ -μ > μ TJ Φ Φ Cn μ Cn 3 4-> 3 3 Φ μ 3 3 Φ μ O
© 3 3 μ O TJ xi 3 4-J xl -. Cn J 3 Φ 3 TJ 44 3 3 Φ 3 4-1 3 3 A4 μ co -μ
*-» •μ φ H υ 4-1 CO *•. Eä XI μ O 4-J Φ 3 μ 3 3 -μ Φ N X φ xl Φ Cn -μ 3 P. co
© 4-> J TJ Φ *«. •μ -μ 3 μ TJ ü Φ 3 φ μ Cn -. Cn Φ Cn -μ μ -P Φ -μ ü 4-1 μ w φ O Φ 3 co TJ μ μ -H Cn Φ 3 TJ Φ μ :3 4-J μ xl xi μ co 3 TJ co 44 xl 0 μ TJ co =3 O Φ rH •H μ 3 O μ 3 -μ o P, -μ Λ 3 O xl 3 rH 3 o o :3 O 3 -μ 3 3 μ υ 3 :3 3 φ rH 3 -μ xi rH Φ TJ 3 φ 3 E 44 3 rH o Q 3 ü X 44 3 > co 44 > 3 3 rt! w co A4 44 Kl Cn 44 l-d N P. φ X! < μ
LO o LO o LO O LO rH rH CM CM ro ro
Einträge und dagegen relativ viele Null-Einträge aufweisen, werden die Listen für Knoten des hierarchischen Baums komprimiert, um Speicherplatz im nicht-flüchtigen Speicher zu sparen.
Im Falle der hierarchisch organisierten Abbildungsvorschrift zwischen virtueller und physikalischer Adresse muß nicht die ganze Abbildungsvorschrift im nicht flüchtigen Speicher gespeichert werden, sondern wenigstens der Teil der Abbildungs- Vorschrift, durch den es möglich ist, einen Hochfahrvorgang des Systems im virtuellen Modus zu beginnen. Bei geeigneten Listeneinträgen im virtuellen Modus ist es dann möglich, bereits beim Wiedergewinnen der benötigten Daten aus dem physikalischen Speicher im flüchtigen Arbeitsspeicher den restli- chen Teil der Abbildungsvorschrift zu erzeugen und für weitere Adressübersetzungen von virtuell zu physikalisch zu verwenden. Die Hardware-Zustandsmachine kann daher nach dem Hochfahren des Systems im virtuellen Modus durchaus auch auf zur Laufzeit im flüchtigen Speicher programmierte Daten zugreifen.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird ferner eine seitenweise Adressierung bevorzugt. Um eine Speicherfragmentierung zu vermeiden, werden in diesem Fall so viel als möglich kombinierte Listen in ein und derselben physikalischen Seite abgespeichert.
Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, daß im Falle der Abbildungsvorschrift als hierarchische Baumstruktur durch Implementieren von Zugriffsrechten an dem Knoten des Baumes eine differenzierte Zugriffsrechtevergabe mit einer einstellbaren Granularität erreicht werden kann.
Ein weiterer Vorteil der vorliegenden Erfindung besteht dar- in, daß durch Abspeichern der Abbildungsvorschrift im nichtflüchtigen Speicher, und zwar in einer Form, wie sie von der Hardware-Zustandsmaschine ohne Einschaltung der CPU verwendet «. μ
3
4->
A4
3 μ
+J
3 g
3
CQ
3 φ x; ü co
XI
O μ
3 μ
Φ
XI μ
Φ
3
•μ
Φ g μ
O
[u
Figure imgf000014_0001
LO o LO o LO o LO rH CN CN ro ro
Fig. 4b eine Tabelle zur Darstellung der Knotenebenen und der durch einen Knoten adressierten Adressbereiche;
Fig. 5 ein Beispiel für eine Abbildungsvorschrift in Form einer hierarchischen Baumstruktur, bei der Zwischenknoten übersprungen werden können;
Fig. 6 eine Tabelle zur Darstellung von Knotengrößen auf verschiedenen Ebenen für das Beispiel von Fig. 4a;
Fig. 7 ein Beispiel für eine Abbildungsvorschrift in Form eines n-Baums mit gleichen Größen für zusätzliche Knoten einer Ebene;
Fig. 8 eine schematische Darstellung eines Kompressionsverfahrens für Knotenlisten, um das Verhältnis von benutzten Einträgen zu der Gesamtzahl der Einträge einer Liste zu verbessern;
Fig. 9 Kompressionsbeispiele gemäß dem Kompressionsverfahren von Fig. 8;
Fig. 10 eine komprimierte Darstellung des Baums von Fig. 7;
Fig. 11 eine Speicherplatz-optimierte Abspeicherung des Baums von Fig. 10;
Fig. 12 eine Darstellung einer virtuellen Adresse, die modifiziert ist, um auf eine physikalische Adresse zu verweisen, an der eine Knotenliste abgespeichert ist; und
Fig. 13 ein Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift .
Figure imgf000016_0001
LO O LO o LO O LO rH rH CM CN ro ro
Figure imgf000017_0001
O o LO o LO o LO rH rH CM CM ro ro
Figure imgf000018_0001
O O LO o LO O LO rH rH CN CM ro ro
wird. Die Page Table kann in Form einer einzigen Tabelle organisiert sein, die Einträge hat, wobei jeder Eintrag eine virtuelle Adresse und die derselben zugeordnete physikalische Adresse umfaßt. Wie später ausgeführt wird, wird es jedoch bevorzugt, die Abbildungsvorschrift in Form eines hierarchischen Seitenzuordnungsbaums zu organisieren. Eine solchermaßen organisierte Abbildungsvorschrift hat den Vorteil größerer Flexibilität zum Verwalten von Zugriffsrechten. Dieselbe ist ferner besser geeignet, um kleine Seitengrößen handzuha- ben, was dann von Bedeutung ist, wenn das Rechnersystem als
Sicherheits-IC in einer Chipkarte verwendet wird. Kleine Seitengrößen, z. B. kleiner oder gleich 256 Byte, dienen ferner dazu, eine Seitentabellen-Fragmentierung zu vermeiden. Eine Speicherseite hat daher, wie es bezugnehmend auf Fig. 2 aus- geführt worden ist, z. B. eine Größe von 64 Byte, d. h. 512 Bit. Dies bedeutet, daß der Seiten-Offset, um die 64 Byte ausgehend von der Startadresse für die Seite adressieren zu können, eine Länge von 6 Bits haben muß.
Im nachfolgenden wird auf Fig. 3 Bezug genommen. Fig. 3 zeigt eine schematische Darstellung einer Adressübersetzung, bei der eine Page Table verwendet wird. Eine virtuelle Adresse 30, ein AMO-Feld 32 und ein TID-Feld 34 werden als Eingabe verwendet. Das AMO-Feld 32 bezeichnet den Zugriffs-Modus, der durch den gegenwärtigen Zustand der CPU und den beabsichtigten Zugriffstyp (Lesen, Schreiben, Ausführen, etc.) eingestellt wird. Das TID-Feld 34 wird beim Multitasking-Betrieb benötigt und liefert einen Aufgaben-Identifizierer (Task I- dentifier) , der darauf hinweist, welcher Aufgabe die virtuel- le Adresse 30 zugeordnet ist, um verschiedene virtuelle Adressräume verschiedener Anwendungen unterscheiden zu können. Aus der virtuellen Adresse 30 und dem TID-Feld 34 wird die sogenannten erweiterte virtuelle Adresse erhalten, die die Startadresse für die virtuelle Seite (VP 36) und einen Versatzwert (DP 38) aufweist. Die ZuOrdnungsvorschrift in Form einer Seitentabelle 40 umfaßt verschiedene Einträge, wobei jeder Eintrag eine Spalte 42 für die Startadresse der virtuellen Seite und eine Spalte 44 für die Startadresse der physikalischen Seite, die der in der Spalte 42 stehenden virtuellen Seite zugeordnet ist, aufweist. Die Seitentabelle umfaßt ferner eine Spalte 46 für Zugriffsrechte (EAR; EAR = Effective Access Rights) , wobei anhand eines Rechtemoduls 48 überprüft wird, ob der durch das AMO-Feld 32 festgelegte CPU-Modus Zugriff auf eine virtuelle Adresse mit einem bestimmten EAR-Feld hat. Wird festgestellt, daß die CPU keinen Zugriff auf eine virtuelle Adresse hat, so wird die Adressübersetzung verweigert, und es wird eine Zugriffsverletzung ausgegeben. Die CPU kann daher, da die Zugriffsrechteüberprüfung vor der Adressübersetzung, also im virtuellen Adressraum, stattfindet, nicht einmal die physikalische Adresse geschweige denn den Inhalt der Speicherzelle, die durch die physikalische Adresse adressiert ist, erhalten. In der Seitentabelle wird eine assoziative Suche durchgeführt, um die Abbildung der virtuellen Adresse auf die physi- kaiische Adresse zu liefern. Die virtuelle Adresse in der
Seitentabelle muß mit dem Feld 36 der erweiterten virtuellen Adresse übereinstimmen. Wird kein derartiger Eintrag in der Seitentabelle gefunden, so wird durch ein Modul 50 ein Seitenfehler ausgegeben. Wird dagegen ein passender Eintrag ge- funden, so wird aus der Spalte 44 die physikalische Seitenadresse ausgelesen. Eine virtuelle Seite kann genau so groß wie eine physikalische Seite sein. Dann sind der Versatz der virtuellen Adresse (DP 38) und der Versatz 52 der physikalischen Adresse gleich groß, so daß keine Speicherung von Versatzwer- ten in der Page Table bzw. eine spezielle Verarbeitung von Versatzwerten nötig ist.
Wie es bereits bezugnehmend auf Fig. 1 ausgeführt worden ist, umfaßt die Speicherverarbeitungseinheit 18 vorzugsweise einen TLB, um eine schnellere Adressierung zu erreichen. Die anhand von Fig. 3 beschriebene Seitentabelle wird in dem TLB gehalten, wobei der TLB optional zusätzlich zur Hardware-
Figure imgf000021_0001
LO o LO o LO o O rH rH CM CM ro ro
weist, daß die virtuelle Adresse beschädigt war, oder daß bei der Adressübersetzung ein Fehler aufgetreten ist.
Falls im TLB kein Eintrag mit einer entsprechenden virtuellen Adresse gefunden wird, so wird die Hardware-Zustandsmaschine 18a von Fig. 1 aktiviert, um eine virtuelle Adresse, die im TLB nicht gefunden worden ist, in eine physikalische Adresse umzurechnen, um die physikalische Adresse zusammen mit ihrer virtuellen Adresse in den TLB zu laden. Zu diesem Zweck wird, wie es ausgeführt worden ist, die Hardware-Zustandsmaschine auf den nicht-flüchtigen Speicher (z. B. 12 oder 14 von Fig. 1) zugreifen, um unter Verwendung der dort gespeicherten Abbildungsvorschrift die physikalische Adresse zu ermitteln.
Erfindungsgemäß wird als Abbildung eine hierarchische Baumstruktur mit physikalisch adressierten Knoten bevorzugt. Eine solche hierarchische Baumstruktur, die auch als Multilevel- Seitentabellen-Abbildungsvorschrift bezeichnet werden kann, hat den Vorteil, daß nicht eine große Seitentabelle im nicht- flüchtigen Speicher gehalten werden muß, sondern daß statt einer großen Tabelle mehrere Ebenen oder Levels mit kleineren Listen eingesetzt werden können. Dies erlaubt eine effizientere Verwaltung insbesondere bei kleinen physikalischen Speicherseiten.
Die Hardware-Zustandsmaschine 18a ist dann in der Lage, die hierarchische Baumstruktur von Knoten zu Knoten zu durchlaufen, um schließlich eine physikalische Adresse zu einer gegebenen virtuellen Adresse zu ermitteln. Dieser Prozeß wird als „Page Table Walking" bezeichnet.
Ein solcher Vorgang wird anhand von Fig. 4a beschrieben. In Fig. 4a ist eine virtuelle Adresse 400 gezeigt, die verschiedene Abschnitte 402 bis 310 aufweist. Der Abschnitt 410 ist einer Wurzelebene, d. h. der höchsten Ebene, zugeordnet. Der Abschnitt 408 ist der nächsthöheren Ebene, im Beispiel der Ebene 4, zugeordnet. Der Abschnitt 406 der virtuellen Adresse 400 ist entsprechend der Ebene 3 zugeordnet. Der Abschnitt 404 ist der Ebene 2 zugeordnet, während der Abschnitt 402 der Ebene 1, d. h. dem Endknoten, zugeordnet ist. Der letzte Abschnitt der physikalischen Adresse, der auch als Abschnitt für die Ebene 0 bezeichnet werden kann, enthält den Seiten- Versatz, der in Fig. 3 mit dem Bezugszeichen 38 bezeichnet ist. Die virtuelle Adresse umfaßt ferner eine sogenannten Pa- ckage-Adresse 412, die ein Speicher-Package adressiert. Bei dem bevorzugten Ausführungsbeispiel ist der virtuelle Adress- räum in 256 gleich große Packages aufgeteilt, so daß jede Pa- ckage einen Adressraum von 16 MB hat. Damit ist es beispielsweise möglich, für verschiedene Speicher-Packages des virtuellen Adressraum verschiedene Zugriffsrechte zu vergeben.
Der Abschnitt 410 der virtuellen Adresse 400, der bei einem bevorzugten Ausführungsbeispiel lediglich 1 Bit umfaßt, ist einem Wurzelknoten der hierarchischen Baumstruktur zugeordnet .
Die Liste für den Wurzelknoten kann im nicht-flüchtigen oder in Registern der Speicherverwaltungseinheit gespeichert sein. Alternativ kann die Liste für den Wurzelknoten auch an einem fest vereinbarten Platz in dem physikalischen Speicher abgelegt sein.
Die Liste für den Wurzelknoten wird als Package-Descriptor- Buffer 414 bezeichnet und umfaßt aufgrund der Tatsache, daß der Abschnitt 410 der virtuellen Adresse 400 lediglich ein Bit hat, lediglich zwei Listeneinträge. Ein Eintrag in der Wurzel-Liste 414 umfaßt einen Index, der durch das Bit des
Abschnitts 410 der virtuellen Adresse indexiert ist. Hat das Bit im Abschnitt 410 einen Wert von Eins, wie es bei dem in Fig. 4a bezeichneten Beispiel der Fall ist, so wird der erste Eintrag der Liste 414 ausgewählt. Der Eintrag umfaßt ferner einen Zeiger 416 auf die physikalische Adresse der Seite im nicht-flüchtigen Speicher, an der eine Liste 418 für den ersten Zwischenknoten gespeichert ist, dem der Abschnitt 408 der virtuellen Adresse 400 zugeordnet ist. Ist das Bit in dem Abschnitt 410 der virtuellen Adresse dagegen eine Null, so wird der zweite Eintrag der Liste 414 ausgewählt, der einen Zeiger 420 auf die physikalische Adresse einer Speicherseite im nicht-flüchtigen Speicher umfaßt, in der eine weitere Liste 422 für den ersten Zwischenknoten gespeichert ist, dem der Abschnitt 408 der virtuellen Adresse 400 zugeordnet ist. Nachdem der Abschnitt 408 der virtuellen Adresse vier Bits umfaßt, haben die Listen 418 und 422 für den ersten Zwischen- knoten jeweils 16 Einträge. Jeder Eintrag hat eine Länge von 32 Bits, so daß bei dem in Fig. 4a gezeigten Ausführungsbeispiel jede Liste genau eine Speicherseite im nicht-flüchtigen Speicher in Anspruch nimmt.
Nachdem die Hardware-Zustandsmaschine den oberen Eintrag der Wurzelliste 414 aufgrund des Abschnitts 410 der virtuellen Adresse 400 ermittelt hat, kann die Hardware-Zustandsmaschine aufgrund des Zeigers 416 unmittelbar auf die physikalische Speicherseite zugreifen, in der die Liste 418 für den ersten Zwischenknoten gespeichert ist. Die Hardware-Zustandsmaschine liest dann den Abschnitt 408 der virtuellen Adresse 400 ein und wählt aufgrund der Tatsache, daß der Abschnitt den Wert „1100" hat, den dreizehnten Eintrag in der Liste 418 aus.
Der dreizehnte Eintrag umfaßt neben einem Eintragsindex wieder einen Zeiger 424 auf eine Liste 426 für einen weiteren Zwischenknoten, dem der Abschnitt 406 der virtuellen Adresse 400 zugeordnet ist.
Die Hardware-Zustandsmaschine liest dann den Abschnitt ein und wählt den ersten Eintrag der Liste 426 aus, da der Abschnitt 406 den Wert „0000" hat.
Der erste Eintrag in der Liste 426 enthält wiederum einen Zeiger 428 auf eine Liste 430, die einem weiteren Zwischenknoten mit niedrigerer Hierarchie zugeordnet ist. Die Hardware-Zustandsmaschine liest nun den Abschnitt 404 der virtu-
Figure imgf000025_0001
LO o LO o LO o LO rH rH CN ro ro
Figure imgf000026_0001
LO o LO o LO o LO rH rH CN CN ro ro
bei ein Eintrag in dieser Liste wiederum einen Adressbereich von zwei Kilobyte adressieren kann.
Fig. 5 zeigt einen Ausschnitt aus der hierarchischen Page Table Struktur von Fig. 4a, jedoch mit einer anderen virtuellen Adresse, die in den Abschnitten 408 und 406 für die vierte Ebene und für die dritte Ebene jeweils lauter Einsen hat. Die Abbildungsvorschrift in Form des hierarchischen Baums, der mit der Wurzelliste 414 beginnt und mit der physikali- sehen Adresse 440 endet, erlaubt im Gegensatz zu der in Fig. 4a gezeigten Abbildungsvorschrift ein Überspringen von mindestens einer Ebene. Das Überspringen einer Ebene wird in der virtuellen Adresse durch einen bestimmten Abschnitt signalisiert, beispielsweise dadurch, daß in einem Abschnitt lauter Einsen stehen, wie es in Fig. 5 der Fall ist. Für das Überspringen einer Ebene könnte jedoch auch jeder andere vorbestimmte Code reserviert sein. Der Zeiger, der von der Wurzelliste 414 ausgeht und in Fig. 5 mit 500 bezeichnet ist, zeigt nun nicht mehr auf eine Liste der vierten Ebene oder der dritten Ebene, sondern gleich auf die Liste 430 der zweiten Ebene. Ein Überspringen einer beliebigen Anzahl von Ebenen bzw. Knoten ist möglich. Die Bits in der virtuellen Adresse, die diesen Ebenen entsprechen, müssen den vorbestimmten Code haben, um der Zustandsmaschine das Ebenen-Überspringen zu signalisieren. Diese Optimierung erfordert eine zusätzliche Information für den Zeiger 500, wobei diese zusätzlichen Informationen in den Einträgen der Wurzelliste 414 abgespeichert sind. Selbstverständlich könnte auch nur die Ebene 3 übersprungen werden, während der Knoten der Ebene 4 nicht ü- bersprungen werden darf. In diesem Fall müßten die zusätzlichen Informationen in einem Eintrag einer Liste für den Knoten der Ebene 4 vorhanden sein.
In nachfolgenden wird auf Fig. 6 Bezug genommen. Fig. 6 zeigt eine zu Fig. 4a und Fig. 5 korrespondierende Tabelle für die Bedeutung der Bits der virtuellen Adresse und den Zusammenhang zwischen der Knotengröße, d. h. der maximalen Anzahl von 3 μ ro 1 1 co 1 1 1 φ H μ Φ M φ 3 1 rH X 3 -μ -μ Φ 1 J Φ Φ TJ TJ φ 3 Φ I μ μ rH -μ ü Φ 1 4-> 4-J 3 φ Φ Cn H
C5 φ o TJ 3 4-1 φ •μ 3 μ Φ Φ 1 cQ 3 4-1 3 X 4-J μ 3 μ 3 • 4-J r- 1 rH
-ι— 1 A4
© Φ cG -μ -μ TJ Φ Φ Φ TJ -μ 4-> X! 3 44 Φ H 3 υ -μ Φ 3 φ X! 3 Φ 3 4-J r- 3
3 3 Xi 3 CQ X! 3 J Eä > 3 J 3 -μ 3 -μ Φ J -μ Φ -μ CQ • μ fN X! 2
© 4-J -μ P4 J υ cG Φ Φ Φ X φ TJ X o rH Eä X! Φ TJ TJ Cn J * α. rH rH co CO 3 X) •μ +J J μ μ O Xi υ Φ 4-> N Φ Φ 4-1 μ -μ •μ Φ μ Cn Φ ω H • Φ 3 μ J W XI μ o Φ Φ φ O φ μ CO 3 X! CO TJ >ι Φ Φ Φ Cn Cn 3 -μ rH
H φ N μ -μ -μ TJ Φ υ Φ -μ TJ Cn TJ =3 X! Φ Φ μ co 3 CQ Eä μ Eä :rθ Cn φ U 4-J 3 3 TJ μ > O Φ O -μ ι-4 :ttf -. φ 44 <=c -H J Φ • φ -μ :3 N 3 μ co -μ α. CO 3 TJ XI CO 4-> μ Ps 3 μ X! CO 3 Eä TJ J μ •vP 4-> Eä H 4-1 rH 3 >
Cn 44 =3 CQ -μ μ Φ Φ μ -μ 4-J ü 4-1 Φ CM 3 3 TJ Φ <£> μ «- 3 3 •μ
4-1 Φ 3 44 Φ Φ TJ Φ 3 3 -H X φ vP Φ 3 Cn φ O 3 • -μ μ
A4 μ co 3 Φ • Eä 3 -μ 3 3 3 -μ 3 CQ P-l P co 3 4-1 Φ co :rö Φ -μ co 3 3 pg φ μ XI υ Φ co Cn N N Φ > D -μ -μ Φ P-l φ Φ • co 3 Cn μ 4-J o 3 Φ Cn Φ φ
:3 TJ Φ X O TJ rH Φ 4-> co μ 3 4-1 -H 3 Cn -μ Φ 3 4-1 -μ co A4 £ Φ :3 TJ co μ μ ü 3 X 3 μ Φ Φ co -μ rH Φ Φ 4-1 J 3 H X! 3 3 Φ Φ Φ £) 4-i μ
TJ 4-J TJ -μ 3 Ü Φ Φ -μ 3 3 Φ -μ Φ 3 μ 4-J -μ :0 Cn Kl 44 -μ co μ 4-> 3 0 N 4-> co cG
Φ 4-J co -μ 3 Eä Q φ Φ cQ H3 Eä 4-J 3 XI A4 φ 3 Φ TJ Φ 3 4-> 3 3 3
Cn -H -P rH 3 3 X! -O N φ -μ X υ 3 3 Φ 3 3 φ 3 CQ TJ Φ 3 -μ J O 3 3 Φ CO 3 :0 -μ • 3 pg μ μ 3 Φ μ ü μ 3 o -μ 4-1 3 Φ X μ Cn 3 H
3 X Φ •μ -μ :3 A4 μ 4-1 :0 CD Φ Φ Φ J TJ co 3 Φ > Φ rH Φ 4-1 Ü φ 00 Φ Φ 1 .
3 ü rH TJ 3 Φ Cn A4 φ TJ 4-> X! -μ X TJ TJ H 4-1 o co -μ C 5 Cn X rH TJ μ o rH «. -μ -μ :rö -μ φ CO g Φ μ μ Φ TJ 3 -μ -μ -μ rH 3 rH 3 3 o X! φ 4-> -, -H X μ CO μ -μ rH •μ X! φ cG Φ 3 3 3 Φ H4 rH CQ 4-J N 3 3 •μ H μ 3 O X 4-1 CQ Φ 4-J 4-1 Φ TJ X H Φ TJ μ 3 Eä Φ Φ o 3 Φ μ Φ •^ 3 co A4
Φ 4-> Φ 3 TJ Φ μ -μ 3 H 4-J 3 Φ TJ X! μ Φ ^p A4 3 CO Φ CQ
TJ 3 μ -μ X! 3 3 X) CQ i> 0 N φ 4-J Φ μ Q 4-1 pg X -H μ <x> -H Φ -μ -μ J TJ 4-1 TJ
3 Φ -μ Cn N -μ -μ CO 3 N -μ X! Φ 0 μ :3 Q Φ CO 3 φ CO r- 3 3 rH μ
3 > -μ Φ 4-> Φ CN μ φ H μ μ 3 TJ . co Φ Φ Eä 3 X -μ Eä CO 3 Φ r- -μ
•μ Cn X! -H Φ Φ •μ 3 3 TJ XI o 3 -μ 4-1 • -μ -H X Φ co Φ • μ φ Eä fN • Φ μ CQ X 4-1 O -μ TJ Φ ES 3 -. X co •* 4-J φ 3 P r-i μ Cn LO X 4-J φ Φ 3 ü O 3 > »•> H Φ Φ Φ 3 co Φ μ 3 3 μ 3 φ TJ -μ :rö CO 4-J
4-» co TJ O Φ 3 μ •μ φ μ Φ Q φ -μ 3 3 A4 4-J TJ Φ Φ X! 3 Φ Φ O -μ 3 Cn Eä φ 44
CO > 3 •μ 3 H 4-1 xl =3 cQ -H TJ Φ Φ -μ 3 rH 0 -μ 3 i> P, Cn Cn -H
-μ • Φ Φ Φ Q H 0 ü 44 :0 • TJ X! Xi 3 CQ -μ Φ -μ 3 > X -μ co φ 44 -μ »* μ μ
H Cn 3 Φ X> Φ 3 μ μ 4-> μ ω pg Φ -μ Φ Φ Φ Φ -μ -μ 3 Cn -P 3 X
3 -H Φ rH Φ XI . N A4 3 φ Cn Cn 3 :3 X 44 Φ TJ co rH J cG N Φ TJ 3 Φ TJ υ
Φ PM X! rH rH O Φ μ rH Q 4-J 3 :rrj TJ 44 Φ 3 3 3 4-> -μ 3 3 3 4-J X! 3 3 CO
4-J ω Φ φ -μ co 3 Φ co Φ μ 4-> Φ X =3 co μ CN Φ Φ TJ φ :rö TJ φ XI A4 μ o 3 X! N r-i 3 ES N • -μ 4-1 4 •* 4-1 -μ -P 44 •μ =3 00 o X! TJ O Φ Φ μ TJ υ υ o
3 -H 3 3 μ Cn Φ μ CN H) 0 Φ CN 4-J Φ -μ Φ H! 44 Φ 0 XI μ cG eG •μ -H φ > t-M1 Φ EH 3 -μ μ Φ 3 CM 3 Xi -μ Eä Φ Cn 4-J 4-1 co Cn co υ φ :0 :0 Eä 3 φ 4-J co
Φ 4-J E TJ TJ -μ ES 1 μ iύ 4-1 3 N Eä :3 cq μ ^P 3 rH co 3 > μ μ •μ N X Cn
Φ H Φ μ Φ TJ er* Φ co Cn X! N μ 3 Φ ro XI 3 «. s Cn Cn 3 φ o 3
-H H 3 φ φ rH co rH 3 Φ rH :3 ü Φ 4-1 44 3 X 3 co Φ 3 μ Φ Φ Cn φ 3 J Φ x; J μ 3 3 φ -μ -H μ o -μ μ 3 3 -H Φ υ 4-> • r-i Φ Φ TJ •μ Cd TJ
X! υ TJ o Φ -μ TJ CO Φ TJ Φ 4-> J J Φ -μ 3 Φ Φ X) -μ N •μ 3 3 4-J X 3 Eä 4-1 H
3 3 •μ φ rH H 4-1 3 φ (X TJ pg 4-J rH rH 4-J CQ Φ 3 -μ υ Φ 4-i 3 •μ
•μ EH Φ rH 44 ^ H Φ φ •μ 3 cG Φ J μ Φ Φ CO Φ Cn 3 3 μ φ -μ Cn O Φ φ X!
N -μ 3 Φ Cn cq CQ μ 3 X! μ =3 Φ co 3 Cn -μ CO -μ CO co 3 3 co Φ H O m 4-J XI
3 μ Φ φ 3 4-1 3 :3 :0 TJ W φ Φ 44 -P rH Φ :rd Hl φ TJ μ X! :0 -μ Pi O 3 H
Φ Φ x> co 4-1 4-J μ μ φ Φ 3 TJ o Xi μ -μ Φ φ ü A4 3 φ o 44 Φ φ rH
Cn J O -μ μ 4-J Cn -μ Cn O 3 φ 4-1 -μ rH &g 4-J μ TJ rH > Φ -μ X X 4-1 =3 3
© :3 3 CO 3 -μ 3 3 TJ :3 O Φ X! rH 4-1 r-4 3 3 Φ 3 co 3 3 TJ φ υ Φ co 44 Φ μ Φ φ rH X! > -μ Φ μ 4-) ω X! -μ 3 Φ μ TJ Φ φ Φ Φ rH 3 H Φ 4-J
© 4-J H • 4-J 3 υ P-l 4-> 4-1 4-> μ O 3 Φ -μ -μ pg TJ 3 4-> 4-J J 3 φ 3 cG 3 TJ r-4 Cn Cn
3 -μ Cn co O μ O cG 3 3 Φ 3 Eä XI 3 XI CO o μ Φ -μ cQ μ 3 μ 3 O •μ O 3 o
-μ Φ -μ μ a Φ Φ 3 3 -μ Φ -μ Φ o U -μ 3 μ CN 3 -μ Xi Φ 3 Φ :0 :rö -H μ 3 -μ Φ 3 Φ pg co Cn φ LO TJ 3 tt 44 P-l J > 4-J o CO Φ 3 φ ro 3 Eä PQ o 44 Eä A4 E 3 Cn H co 3 3 N
LO O LO o LO O LO rH rH CN CM o ro
3 1 1 H 1 3 1 Φ 1 1 I
1 Φ 3 φ μ Φ 3 φ Φ -μ H 3 -μ μ -μ 1 1 φ TJ 3 -n Φ μ Φ TJ 1 Cn Φ rH 3 t X μ =3 φ co -μ -μ
C5 φ Eä Cn Φ X Pi X 3 -μ P. O N 3 μ 3 & 44 μ μ X
4-J μ 3 μ ES cG Ü O μ 3 Φ -μ 3 > Φ μ 1 A4 φ XI i ü 1
© Φ 3 . Eä *. X P fN 3 Φ 3 Φ 3 -μ μ Φ -μ E? X! X 3 X Φ 3 U 3 o Φ 3 TJ Pi 3 μ φ J 3 CQ J TJ • 3 φ Φ co 3 ü 3 μ Φ Φ TJ 3 -μ Φ A4 X 3 μ
© o 3 i α. 3 3 3 4-J Pi CQ μ :3 N Φ 4-> TJ 3 μ Φ Cn co 3 TJ -μ CO A4 μ ω Φ μ • μ TJ CO o Φ 3 H Eä CO 3 3 Φ TJ :3 Φ μ A4 3 Eä φ Φ 3
Eä co 4H 3 -μ TJ 3 X Φ 3 4H 3 -μ Φ -μ X co
H 3 co μ X 3 TJ Φ -μ μ co +J H 1 Φ Φ 3 U 3 μ Φ μ φ Φ υ Hl Es 3 3 3 X O 3 X -μ x; 3 α. Φ φ 3 pg μ cG -μ 3 4-J -μ -μ 4-J 3 3 1 μ Φ 3 Φ 3 μ Φ Φ X μ φ Q CQ
> μ μ XI O Eä -μ Cn Φ Φ • X Φ -μ 3 Φ Cn 3 X -μ rH 3 μ μ X X Φ 1
TJ co 3 :3 μ Φ -μ P o 3 ü i Φ Φ > :3 3 μ O pg 3 -μ Φ φ =3 -μ . μ er μ co Φ Eä Cn 4-> φ o Φ -μ pg X μ Φ φ 3 Φ Φ μ -μ 44 φ 3 TJ
3 φ J Φ Φ N Φ X 3 TJ O μ X Cn TJ itf 3 X -μ 3 Φ co Φ CO
3 Φ μ 3 *-. Φ TJ 4-> φ o XI rH Φ 3 3 Φ 3 O O 3 μ -μ Cn TJ -μ rH
Pi rH TJ Φ cG 4-> 3 co Cn rH ü 3 3 -μ 3 W TJ -μ o TJ CO XI 3 μ 3 μ co μ μ Φ 3
H Cn O Φ -μ co Eä 3 TJ 1 pg 3 Φ ü X > P, 3 φ Φ X
3 φ Φ μ i Eä π r- μ -μ μ X 3 rH 3 φ 3 -μ φ 3 3 3 Eä o 3
-μ 3 Φ μ Cn 3 μ φ rH Φ Φ μ co X μ Φ μ -μ rH Φ Cn φ o -μ Eä φ
Φ 4-> xi rH Cn Φ Φ • X 3 i> Cn : -μ Φ 3 Φ TJ XI Φ 3 -H :3 X A4 rH φ X X μ υ μ φ Φ > 4-1 Cn 3 A4 3 44 -μ N TJ :3 :r0 TJ μ co rH μ o
X! μ CO 0 X 2 Cn -μ TJ -H 3 Φ X TJ 3 3 ES 3 3 X -μ 3 44 Φ X 3 u > -μ !> 3 -μ Cn o N S 3 N rrtj rH o Φ cG 3 HJ Φ • 3 XI 3 fcc,
-μ H Xi "=a< O Φ 3 Φ 3 «-. X > • X 3 -μ J Cn 3 υ 3
H μ 3 μ 3 -μ tM 3 Φ X Φ X Φ X μ 3 3 o 3 TJ Cd 3 μ -μ -μ 3 3
Cn Φ A4 Φ Cn X! X φ -μ co P. TJ TJ CO μ Cn Φ N μ Φ -μ Φ N Φ Cn 3 Φ 3 Φ
-μ TJ •μ TJ -μ CJ 3 Cn o 3 3 μ Cn 3 TJ 3 Φ Cn H Cn μ Eä φ P. Φ X
TJ o CD -μ co 3 o ^P -μ Φ Hl Φ N 3 x; 3 :3 ? φ φ 44 X CO Cn μ
Φ cG , H rH -μ r- Φ 3 co X • X μ co X 3 3 Φ μ 3 TJ 4-1 3 3 o Φ φ
H 3 X φ Cn 3 TJ X ü Φ φ o -μ 3 TJ Cn X! X Φ CO Φ 3 3 Cn 3 -μ fN TJ P. μ -μ 3 • 4-1 u 3 -μ -μ H N i> 3 3 Φ ü 3 X rH μ 4-1 iύ X! Φ 3 J α 3 J Cn Cn -μ 44 -μ Φ Φ TJ H X Φ X CO TJ Cn -μ -μ O XI Hl o J 3 4-J -H
3 »*, μ 3 3 Φ μ μ Φ -H H TJ μ O 3 X rH Φ μ μ rH ω 3 3 μ 3 Φ o μ
3 μ Φ -μ 3 H O Cn CQ μ Cn 3 CO 5 Di rH :rö CD -μ Φ X W N 3 rH Φ X co 3 P
Φ TJ Φ μ μ X -μ 3 3 3 P, co X Eä X 3 3 1 3 0 3 3 μ xl « 3
X X CO 3 φ 3 • ü TJ XI 3 Φ μ φ μ μ :3 :rö 0 er rt! > Φ X φ ü 1 o
TJ 3 co CO CO 3 X! -μ 3 o Φ μ 3 φ Φ 3 ra O > t 4-J Φ -μ -μ er A4
3 TJ rH Cn Φ 3 ü Φ μ -i o Φ 4-1 -H X TJ > N pg 3 Φ Φ O 3 3 φ
-μ 3 3 μ μ -μ Φ TJ 0 > 3 CO Φ ü μ Φ cQ rH A4 •H 3 3 Cn -μ μ 3 X co 4-1 3 TJ co φ TJ μ 3 -μ μ A4 -μ -μ 3 φ • X 3 XI υ TJ Φ « 3 μ φ Φ -μ μ 4-1 μ rt. co P, Φ φ co 3 3 Φ Φ Eä 3 X 3 0 J 3 3 X) N co μ 3 N μ cQ pg Φ φ 9 3< X TJ 3
3 X O X Φ o -n Eä Cn φ 3 CO P. TJ μ μ
Φ :3 -μ :3 φ μ 3 X 3 Φ Φ co O -μ φ W 3 TJ 3 X X o Φ Φ μ
TJ μ 44 rH TJ φ μ 3 3 3 3 Φ TJ -μ o 3 r-4 cQ 1 X rt! CO TJ Φ rH A4 X! Eä 3
3 μ O rH co =3 Φ TJ Φ O 3 3 TJ μ 3 :0 er Φ 3 X rH Φ υ X
3 o φ 3 φ -μ 44 XI rH TJ Φ 3 Φ μ μ X Φ <J TJ rH =3 μ Φ -μ 3 A4 •
X Φ cG 3 Φ Φ Φ -H μ • TJ XI X TJ X Φ Cn 3 3 X) 3 Φ 44 Φ μ Φ Φ 3 J μ -μ :0 4-> XI XI co X) Φ Eä μ rH co 3 3 μ Φ Φ rH μ 3 O Φ TJ Φ P X μ μ
0 Q μ 3 μ υ 3 ü Φ ä N -μ o φ X -μ Φ -μ Φ TJ J φ φ Φ Cn 3 μ o o X -H
> Cn Φ -μ co Φ 0 Cn S X) φ > μ υ μ Φ > Φ O TJ -. -μ 0 X 3 CO
4-1 > -μ X 3 μ X X! P. O Φ φ 3 φ X TJ Φ co Φ 3 in" 3 φ Φ XI tn rH -μ 3 o Φ φ φ μ co TJ ü -μ Φ 3 N -μ X co o Φ 3 φ 3 X
Cn Cn o 3 μ 3 Φ Φ > 3 TJ TJ .. Φ Φ μ 3 Cn N s TJ φ -μ TJ μ X! X 3 3 φ
:3 :3 -μ N φ A4 co TJ -H 3
© o 3 xi -ι— 1 3 -μ :3 3 3 X 3 Φ co 3 ü Φ CQ 3 μ μ H μ TJ μ φ Φ Φ o Φ υ 3 0 μ μ φ Φ Φ φ 3 X 3 Eä 3 φ o X XI © 4-> 4-1 4J o co Φ xi X Eä Cn -μ μ 3 co P, X X X X 3 Φ μ rH -μ 3 -μ μ φ o
3 3 3 X 3 υ •μ μ μ 3 3 Φ Φ 3 o 3 3 3 O o Φ TJ Φ 3 H 3 H Φ X •μ
μ -μ Φ Φ co X! -μ o Φ : Φ Φ 3 Pi X! Φ φ o -μ -μ 3 3 X) Φ -μ -μ Φ co :0 3 μ υ Φ pg pg o X! -μ P, Φ TJ co 4-1 > 3 TJ o υ ES cc; A4 pg ι-4 tn1 pg X 3 Φ EH Φ A4 A4 3 3 N
LO O LO o LO o LO rH rH CM CN ro ro
Die Theorie, die hinter einem q-Knoten steht, besteht darin, daß alle verwendeten Einträge einer Liste, d. h. alle NichtNull-Zeiger, in einem n-Knoten in einer Struktur plaziert werden können (dem q-Knoten) , die kleiner als der ursprüngli- ehe n-Knoten ist. Dies wird erreicht, indem der n-Knoten in kleinere Abschnitt aufgeteilt wird, wobei für eine maximale Kompression der kleinste Abschnitt genommen wird, der alle Nicht-Null-Zeiger enthält. Um die Position eines Zeigers in dem n-Knoten zu spezifizieren, wird ein Offset-Wert für den q-Knoten-Zeiger benötigt. Dieser Offset-Wert wird auch als virtueller Offset bezeichnet.
Im nachfolgenden wird auf Fig. 8 Bezug genommen, um eine mögliche Kompressionsart einer Liste 800 eines n-Knotens darzu- stellen. Die Liste 800 umfaßt zwei Nicht-Null-Einträge, die binär durch 1100 und 1110 indexiert werden können. Neben der Liste 800 sind mögliche q-Knoten dargestellt. Bei der beschriebenen abschnittsweisen Kompression können prinzipiell drei verschiedene „komprimierte" Listen, d. h. q-Knoten, 802, 804 und 806 erzeugt werden. Die Liste 802 entspricht der Liste 800. Hier handelt es sich um die triviale Form der Kompression, die q-Knoten-Liste 802 ist genau so groß wie die Liste 800, und es wird kein Offset-Bit benötigt. Dagegen ist die Liste 804 bereits auf die Hälfte des Speicherplatzes komprimiert. Die Liste enthält zwei Einträge, die mit 110 und 100 indexiert werden können. Um von den Einträgen der komprimierten Liste 804 auf die Einträge der nicht-komprimierten Liste 800 zu kommen, wird ein virtuelles Offset-Bit benötigt, das einen Wert von 1 hat. Das virtuelle Offset-Bit entspricht dem höchstwertigen Bit ( sb) beider Einträge der Liste 800. Eine Kompression ist also möglich, wenn die msbs der NichtNull-Einträge der Liste 800 gleich sind. Da auch die höchstwertigen Bits der Einträge der komprimierten Liste 804 gleich sind, ist noch eine höhere Kompression zu erreichen, wie es die komprimierte Liste 806 zeigt. Die beiden NichtNull-Einträge der Liste 806 haben höchstwertige Bits, die nicht gleich sind, so daß keine weitere Kompression möglich
Figure imgf000031_0001
LO o LO o LO o LO rH rH CN CN ro ro
wäre dann beispielsweise bei einer Kompression um die Hälfte, lediglich 8 Einträge groß, obgleich der Abschnitt 404 der virtuellen Adresse, der dem Level 2 entspricht, 4 Bits hat und eigentlich eine 16-Einträge-Liste indexiert. Der Ab- schnitt 404 der virtuellen Adresse wäre dann so gestaltet, daß ein Bit desselben, typischerweise das höchstwertige Bit, als virtuelles Offsetbit interpretiert wird.
Dadurch ergibt sich auch ein weiterer Kontrollmechanismus. Die Hardware-Zustandsmaschine wird das höchstwertige Bit des Abschnitts 404 mit dem Größenbit im Nicht-Null-Eintrag der Liste 426 vergleichen und bei Übereinstimmung eine Adressübersetzung fortsetzen, während, falls die Bits nicht übereinstimmen, ein Seitenfehler ausgegeben wird, da dann zumin- dest entweder die Abbildungsvorschrift oder die virtuelle Adresse fehlerhaft ist.
Im nachfolgenden wird auf Fig. 9 eingegangen, um weitere Beispiele darzustellen, wie n-Knoten auf ihre minimalen q-Knoten reduziert werden können, wenn das bezüglich Fig. 8 beschrieben Kompressionsverfahren verwendet wird. Die Liste 900 in Fig. 9 umfaßt lediglich einen Nicht-Null-Eintrag, der durch die Bitkombination „1100" indexiert ist. Der minimale q- Knoten umfaßt lediglich einen einzigen Eintrag und, dement- sprechend, 4 virtuelle Offsetbits „1100". Eine Liste 900 mit lediglich einem einzigen Nicht-Null-Eintrag kann somit auf einfache Art und Weise hinsichtlich ihres Speicherplatzbedarfs um das 1/16-fache reduziert werden.
Die Liste 902 umfaßt zwei Nicht-Null-Einträge, die mit „0001" und „0011" indexiert werden können. Die beiden Einträge haben zwei gleiche höchstwertige Bits, so daß zwei virtuelle Offsetbits 00 entstehen, und die Liste um ein Viertel reduziert werden kann.
Die Liste 904 umfaßt zwei Nicht-Null-Einträge, deren höchstwertige Bits jedoch ungleich sind, so daß bei dem hier gewählten beispielhaften Kompressionsalgorithmus keine Kompression erreichbar ist. Der q-Knoten ist daher genau so groß wie der n-Knoten.
Die Beispielliste 906 umfaßt zwei Einträge mit „0100" und
„0101". Die drei höchstwertigen Bits sind gleich, so daß eine Kompression um das 1/8-fache erreicht werden kann, was zu den virtuellen Offset-Bits „010" führt.
Die Beispielliste 908 umfaßt vier Nicht-Null-Einträge zwischen „1010" und „1101". Alle vier Einträge haben dasselbe höchstwertige Bit, so daß eine Kompression um das i≤-fache erreicht werden kann, was zu einem virtuellen Offset-Bit von „1" führt.
Es sei darauf hingewiesen, daß die q-Knoten der Ebene 1 (Fig. 4a) eine spezielle Rolle spielen. Da ihre Einträge nicht auf weitere q-Knoten zeigen, sondern direkt auf die physikalischen Speicherseiten, müssen keine zusätzlichen Informatio- nen, wie z. B. ein Größenwert einer hierarchisch niedrigen q- Liste, zusammen mit den Zeigern gespeichert werden. Folglich wird ein Eintrag in einer Liste auf Ebene 1 dazu verwendet, zwei Zeiger zu speichern. Daher umfaßt der Abschnitt 402 der virtuellen Adresse, der der Ebene 1 zugeordnet ist, fünf vir- tuelle Adressbits. Das zusätzliche Bit spezifiziert, welcher der Zeiger in dem ausgewählten q-Knoten-Eintrag verwendet werden soll. Es sei darauf hingewiesen, daß auch einer der zwei Zeiger 0 sein kann. Nachdem ein Eintrag in einer Liste der Ebene 1 zwei Zeiger speichert, ist die Listenlänge einer Liste, wie z. B. der Liste 434 von Fig. 4a, doppelt so groß wie die Länge einer Liste einer höheren Ebene, wie z. B. der Ebene 430.
Im nachfolgenden wird auf Fig. 10 Bezug genommen, um darzu- stellen, wie die komprimierten q-Knoten dazu eingesetzt werden können, um die Speicherbelegung zu minimieren. Zunächst werden beispielsweise gemäß der Tabelle von Fig. 9 die mini- Φ 1 3 4H
XI -H 3 3 N 3 3
U Q N 1 Φ . Φ 1 3 X
O XI 3 -μ 3 3 X 3 3 X rH μ 1
TJ • 3 U Φ TJ Φ 3 rH Φ X Φ -μ co Φ -μ o Φ μ φ X -μ μ x; 3 Pi Φ Φ X u 3 -μ XI X! rH 44 φ
-r— ι X 3 ü 3 o 3 N -μ 3 3 μ rH υ a Φ > υ 3 TJ co -μ 3 Φ 3 Φ 3 co 3 -μ
Φ μ Φ -H X co Φ 1 -μ co φ A4 TJ Φ μ o r-i 3
TJ φ TJ co rH 44 3 co Φ μ Cn 4-1 rH Φ > -μ μ μ X ro -μ < 3 Cn Φ 3 -μ o rd -μ ω
3 μ -μ -μ A4 μ N 3 Φ XI •μ N Φ 3 A4 TJ co Cn
Eä Φ Φ Φ -H X! • 3 -μ ü Φ X! tn" •H μ μ 3
X! μ O u 3 ** TJ TJ -μ μ 3 co J 3 φ 3 co co Φ co Φ X rH Φ 44 μ 3 Φ μ X ES μ φ φ 3 X! xi μ 3 Cn -H μ PM Φ Φ rH X! -μ A4 φ
3 Φ P, o 3 3 X =3 co 3 X 3 rH P Eä 3 J •μ
3 3 X > :θ N 3 3 μ 3 3
TJ μ 3 υ μ o A4 μ a 44 Φ υ
3 X μ :0 Φ X X 3 -μ
3 Cn :0 o Φ Cn o 3 Φ -μ Φ A4 X X o 3 X
-μ A4 TJ 3 3 3 > Φ X Φ P 44 ü •μ 3 X Pi o φ Φ -μ 3 Φ Φ -μ X υ co co -. -μ μ H Cn μ O
Cn o -ι— 1 Φ TJ TJ ) J CO 3 μ X! TJ μ Φ Cn 3 <X
X 3 Φ H μ -μ μ Φ 3 3 X rH r-i 3 Φ
Cn 3 rH 3 -μ Φ X! 3 h4 rH X! -μ ü Cn o 3 φ X!
Φ 3 Φ -μ X) Eä υ 3 3 ü 3 co o Cn J co υ rH 3 μ -H -μ
Φ o Cn Pi cQ ä o φ A4 -μ Φ μ Φ μ Φ
X TJ μ -μ φ X 3 o -H 0 -μ rH
X > CO 3 μ Φ 3 TJ o P 3 μ > TJ 3 3 TJ X
Φ -μ TJ Φ φ n Φ o Q Φ o Φ N X! μ r-i Cn φ -μ xl XI o X rH Di 3 TJ 3 4H υ
Φ X 3 X! o TJ ü o Φ co Pi Φ Φ A4 3 -μ μ Φ 3 :3
A4 3 CM co co -μ Φ Cn rH X μ 3 Φ X μ υ N Cn μ Φ 3 3 3 X Φ 3 TJ o Eä -μ X o 3 3 3 : P TJ N Φ Φ J Φ rH o Φ • Φ rH Φ 3 3 44 co μ μ Cn rH 3 X -H rH X co X X)
TJ μ Φ Φ -μ Φ 3 -μ P. 3 O X rH A4 μ μ μ X TJ Φ Cn Eä X! φ 3 3 3 X Ü Φ Φ Φ xi Φ 3 •3 μ X ; 3 Φ o 3 ^ rt! Φ 3 •μ -μ 3
Φ TJ -μ 44 Φ CO 3 3 o Eä A4 Φ 1 X PM TJ N •μ co o Eä -H Φ Φ rH -μ X! er 3 CO Φ 3 Φ
3 Φ 3 1-4 X TJ rH X X X r-i Φ -μ Cn • TJ co 0 X X 3 3 3 co -μ Φ 3 X H ä Φ μ φ -μ μ Cn Φ Q :3 • 3 X! 3 co Φ H 3 CN N μ 3
3 4-1 O 3 Φ 3 μ Cn μ Ü 3 3 X rH Φ o X! X
3 A4 ES Φ H -μ Φ Cn H o μ TJ Φ co φ X rH 3 A4 μ 3 X Φ φ μ CO Cn 44 rH TJ -H X 0 rH X Φ 3
Cn TJ 3 Cn Xi Φ Cn 3 Cn -. Φ co 3 44 X μ
Φ Φ -μ φ X 3 cQ H :0 3 3 3 φ X Φ μ -μ X φ er; X Φ 3 X μ 3 :3 1 3 Φ μ Cn X μ Φ o
Cn Cn N Φ •μ Φ X 3 co μ Φ μ μ -H X! 3 1
3 φ Φ Φ X Φ E H Φ X 3 Φ 3 -μ 3 Φ Φ CJ μ 3
CM 3 H Cn 3 CO 3 Cn 44 μ μ 3 TJ J 3 O « Φ 3
-μ Φ Q μ X! Eä -μ μ -μ μ μ xi 3
Φ Φ X) o Φ υ μ X μ X 3 -i Φ Φ o υ CQ
-μ A4 1 rH Φ xl -μ φ P. X 3 3 3 Φ rH X! > -H 1
TJ X μ u rH > φ o Φ Φ Φ TJ μ ü 3 Φ er
Xl X • Φ -μ N μ N o 3 N TJ XI • Φ •μ Cn P. cG ü ü Cn TJ Φ X Φ 3 μ Φ 3 μ 0 Cn cG Φ 3 co Φ
3 O -μ -μ 3 PM :3 XI o 0 X) o Φ 3 -μ 3 Pi 3 •μ
Figure imgf000034_0001
TJ 3 3 Cn 3 o CO υ M > pg A4 Eä 3 Cn 3 o TJ CM J
LO O LO o LO o LO rH rH CM CN ro ro
Figure imgf000035_0001
LO O LO σ LO o LO rH H CN CM ro ro
mehrere Abschnitte aufgeteilt, wobei die Abschnitte 1210 bis 1202 den Abschnitten 410 bis 402 von Fig. 4a prinzipiell entsprechen. Der letzte Abschnitt 1212, der in Fig. 4a den Versatzwert bezeichnet hatte, wird bei der virtuellen Adresse 1200 jedoch dafür verwendet, die q-Knoten-Ebene zu signalisieren, deren Liste im NA -Modus modifiziert werden soll.
Der NAM-Modus wird dazu verwendet, um virtuelle Adressen zu manipulieren, da aus Sicherheitsaspekten lediglich ein virtu- eller Adressierungsmodus gefahren werden soll, so daß die CPU keinen direkten Zugriff auf physikalische Seiten hat. Durch Einstellen des Abschnitts 1212 der virtuellen Adresse 1200 kann auf Listen für einzelne Ebenen und insbesondere auf die Einträge in diesen Listen zugegriffen werden.
Hierzu umfaßt jeder Paketbeschreiber, der in der Wurzelliste 414, d. h. dem Package Descriptor Buffer, abgespeichert ist, ein NAM-Bit, das, wenn es gesetzt ist, einen Zugriff auf die q-Knoten-Listen für diese spezielle Speicherpackage erlaubt. Es sei jedoch darauf hingewiesen, daß nur Packages in privi- ligierten Schichten, d. h. privilegierte Modi des Betriebssystems, das NAM-Bit manipulieren können. Wenn das NAM-Bit gesetzt ist, wird der letzte Abschnitt 1212 der virtuellen Adresse nicht mehr als Seitenversatzwert aufgefaßt, sondern wird dazu verwendet, um der Hardware-Zustandsmaschine zu signalisieren, ob der q-Knoten auf Ebene 4, auf Ebene 3, auf E- bene 2 oder auf Ebene 1 adressiert werden soll, um auf die Liste bzw. auf Einträge in der entsprechenden Liste zuzugreifen.
Wenn das NAM-Bit gesetzt ist, wird die virtuelle Adresse von der Hardware-Zustandsmaschine somit anders als bei dem in Fig. 4a beschriebenen Fall interpretiert.
Die Hardware-Zustandsmaschine führt nun, wenn das NAM-Bit gesetzt ist, eine Adressübersetzung lediglich durch, bis der q- Knoten der durch den Abschnitt 1212 definierten Stoppebene φ 1 o 3 1 3 .
1 o TJ -μ l rH 1 μ 3 1 XI 3 Φ 1 φ 3 1
44 co xi Φ φ μ H Φ ^ CO φ Φ 1 Φ xi ü -μ μ X X Φ Φ •μ
3 φ υ 1 X •μ -μ 3 -μ 1 1 Cn H X -μ TJ u μ 3 Eä Cn o 1 -i φ H X Φ Φ
3 3 -μ Φ υ TJ Eä TJ μ A4 r-i Cn rH X 3 Φ 3 μ -μ 3 Φ N μ 3 μ Φ 3 rH -μ Eä -μ
© -μ Φ Cn 3 3 Φ -μ μ 3 -μ rt. 00 μ Cn 3 P, X μ TJ X Φ 3 X 3 X TJ 3 Φ TJ fN co Φ N 3 υ cG 4-J 3 3 o
© o 3 i o X I 3 -μ μ o Φ > J PM μ 4-> μ i x: α. 3 Φ N 3 3 μ -μ >ι X X co <a* 3 3 i o 3 o 10 -μ 3 3 Φ -μ o • μ o -, ω rH μ X! φ TJ Φ X φ X! xl rt! φ -μ Φ X i- 1 > φ -i Φ Cn -μ μ -μ
A4 3 Φ xi 3 0 TJ
Φ 3 X X rH P. μ ü 3 pg TJ co ro TJ 3
H X! 3 44 φ X μ Cn 3 3 3
Cn Φ 3 3 υ Φ 3 Φ -μ μ -μ ^Ω -H 3 3 rH Φ Φ φ μ μ TJ Φ 3 • N -μ U N -μ α. 3 3 O 3 -μ TJ N μ TJ μ Φ Φ CD co Φ Φ Φ cG 3 4-> 3 4J μ 3 TJ X> 3 co
CO Φ Φ J Φ Φ 3 Φ 3 J P Φ H X 3 3 • :3 Φ o Φ 3 3 Φ 3 3 3
3 co X! 3 co P, 3 Φ 3 cQ -μ 3 3 TJ Φ Φ Φ Cn 3 co 3 X -μ 3 rH TJ Φ X Φ 3
CQ Φ TJ Φ Φ co X CO -μ :3 pg co Φ -μ 3 co co -μ Φ Φ iύ O pg φ φ TJ o 3 Φ Eä Φ
3 Pi μ TJ -μ Φ co Φ 3 3 co vP φ TJ Φ Φ Cn Cn ι-4 3 TJ X co -μ φ CO TJ μ Φ PI -μ E Cn 4-1 φ Φ φ 3 Φ o Φ μ r-i rH co μ ün" 3 3 X 3 XI μ o 3
Φ TJ O Eä 3 Φ CO μ 3 Cn 3 "=P 3 3 O φ Φ 3 Cn 3 Φ Φ Φ -μ Φ υ o X φ 3 3
Cn X -μ Cn . — » X) TJ rH -μ co rH Φ Φ Cn Cn -μ 3 3 TJ 3 X Cn 3 X μ >=P :3 μ 3 X
-μ X! o 3 3 rH rH φ Φ φ μ 3 Φ X Cn 3 N Φ rH Φ μ O 3 ro 44 TJ 3 μ
X υ Φ Φ -μ Φ X CO o 3 CM X Φ 3 o o X TJ co μ Φ -μ pg 3 TJ rH 3 A4 O
H μ Φ X o X! • CO 3 X CO X X N O X 3 N rH o o 3 O Cn Φ 4-J H X N >
:3 3 X 3 -μ Cn Φ -μ Φ cG 3 «vP -μ Φ ro ro -μ -μ ro 3 Cn X μ 3 3 Cn CO 3 o
Cn TJ μ TJ φ 44 -H X rH 3 μ 3 A4 o 3 4-> Φ rH rH 44 ro μ -μ -H O 3 co φ 3 3 Φ <=J< Φ
TJ Φ 3 Eä 3 Cn 44 rH μ TJ 44 -μ rH μ O co Cn μ H X μ 3 N Φ TJ 3 3 rH ro o
3 Φ -μ Φ co 3 — * -μ Φ pg 3 J ro o PQ 3 co Cn Cn 3 Φ 3 TJ μ TJ X rH rH o
Φ -μ 3 4-J Cn μ μ 3 3 3 rH « Φ 3 3 3 Cn -μ Φ Φ μ o 44 XI Cn Φ Φ
TJ -μ CO 3 3 X X X s 3 μ "s 3 μ 3 3 X φ 3 pg -μ φ •^P Cn 3 ü 3 3 Cn μ
3 44 μ N ~ 00 ü μ 3 φ Cn o Cn 3 μ J X X XI -μ 3 3 3 TJ ro 3 3 •μ 3 X 3 TJ
-H «. Φ H1 μ rH co -μ N H 3 cn 3 N φ XI X ü P X 3 Φ rH 3 μ N μ 3 rt φ X TJ o -μ μ > rH 3 3 3 φ TJ ü υ -μ X Φ XI TJ cQ TJ 3 X -μ X
Cn 3 > φ CQ o Cn Φ X 3 4-1 co Cn 3 -μ -μ μ * O X ü •3 Cn 3 φ -μ φ > X! 3
TJ 3 Φ Φ o ι-4 μ 3 3 X μ X co 3 co Φ μ μ 3 X -H rH co X 3 3 Φ 3 pg co υ Φ μ Φ -μ X 3 EH co Φ 3 X υ Φ Ü φ 3 3 H 3 3 -μ φ μ Φ -μ υ φ 3 Eä Φ μ μ •μ rH
-μ N TJ μ Φ co CD 3 X μ -H -μ -μ μ X Φ H •μ -μ H 3 3 X X! μ Cn X μ X) Φ Φ Φ μ rH
Eä μ Φ TJ pg 3 3 •μ X! -H μ 3 μ TJ X X Φ pg pg X -μ X CJ 3 X Φ Φ -μ ! TJ 3 Φ
Φ μ J μ μ 3 Φ Ü > μ -μ 3 f< ü O 3 Φ ü pg -μ μ TJ Cn ü > 3 Q :3 -μ 3
3 :3 μ Φ • TJ -μ o μ -μ μ 3 X Φ μ co •μ 3 3 3 -H Φ 3 Φ CJ X
3 Φ 4H o Eä X X rH Cn . μ μ > & pg 3 μ « μ -μ Φ Φ φ φ μ μ 3 3 μ μ X • Φ X μ
3 X 44 μ XI -μ 3 Φ μ Φ 3 φ 3 -μ TJ TJ μ tM 3 φ Φ Φ X 3 Φ O J O 4-1 μ -μ
Q -μ Φ Φ 3 φ ü X! 3 co o 3 Φ o Φ rH -μ co > Q Φ -μ -μ TJ X μ X 3 μ CO μ Φ >
Φ X Cn Φ X! -μ a 3 o > -μ μ « 3 rH pg φ X! 3 X! φ o X! υ pg 3 ^ •μ φ 3 TJ
• co CO 3 i o 3 TJ φ φ Q -μ φ 3 μ 0 O . CM 44 -μ 3 Eä μ X μ
X -H 3 rH -μ μ μ Φ co Φ 3 Φ -μ φ μ > co o μ ro μ 3 μ Φ 3 TJ υ X Φ
CO Φ Hl φ Φ Cn Φ O TJ 3 co • φ X 3 Φ TJ 3 μ CN φ rH Φ 3 μ 3 Φ Φ 3 co :3 TJ
-H X Φ CO P 3 -μ 3 -μ 3 Cn J μ -μ TJ co o ro 3 3 O -μ co μ Φ a X
0 μ -μ Φ co 3 TJ o Φ 3 3 X -μ Φ Φ 4-J φ X rH μ Cn -μ > Φ o Φ W μ -μ Φ
3 co φ TJ -μ Φ N 3 3 3 44 > X X co TJ 3 Φ 3 Φ 3 φ Cn Φ Φ H X
Φ -μ J TJ n X 3 Φ Φ X Φ J Φ H -. o -μ Φ A4 3 44 3 Φ Φ μ μ -μ -μ TJ 3 3 X
3 H 4H Φ 3 3 XI Cn co 3 3 μ μ ,—. -μ 3 TJ J -μ φ X 3 μ -μ Φ TJ μ Eä Φ 3 μ
3 3 3 3 TJ ^~. 3 -μ CJ -μ o -μ φ X Φ 3 rH X 3 J xi X X! Φ φ Q 3 TJ μ X J 0 3
0 A4 -μ < 3 rH μ XI Φ 3 Φ Φ 44 H! o TJ <s 3 0 Cn 3 3 ü cQ ü +J -μ μ φ Φ O 3 -μ xl
Eä -H 3 Φ CJ -H N μ μ O φ co 3 -μ -μ 3 -μ O N • Φ 3 -μ > Φ Φ X o φ o co • • X! -μ
*0 3 rH TJ pg 3 μ CO X a 3 3 co Φ 44 μ 3 -μ J 4H Φ 3 er; X) A4 m
Cn Cn X 3 Cn :3 CO 3 3 ro 3 o X Cn O TJ X Cn N 3 3 i 44 μ xi Cn -μ 3 μ xi 3 3 Φ -μ CO A4 rH 3 IM > X -μ 3 3 X 3 co 3 -μ •μ -μ X o X 3 3 Φ 3
© Φ PM μ μ 44 Cn co co X -H 3 φ co -μ PM « 3 Φ -μ 3 Cn pg 3 X Eä cG co o μ Φ rH Cn a
TJ X 44 Φ Φ X! o • Φ TJ O Cn 3 Φ Eä 3 μ 3 Cn Φ 3 3 -μ co X J
© -Q Φ
Φ Φ 3 X -μ μ CJ Cn X! 3 O 3 X 3 μ 3 μ X Φ N 3 Φ 3 Φ 3 44 H H 3 μ Φ μ O -μ -μ •μ Φ μ σ TJ 3 -μ XI -μ Ü Φ ro 3 υ O φ Φ Φ ü -μ Φ 3 -μ •μ TJ Φ 3 3 X -μ Ei Φ -μ φ
Eä TJ g 3 Cn CN TJ 3 P, Cn CO Cn rH TJ O > TJ co > co 3 CQ X TJ Φ μ co 3 A4 υ pg > Q X
LO o LO o O o LO rH H CN CN ro ro
Figure imgf000038_0001
LO O LO o rH rH
Bezugszeichenliste
10 CPU
12 ROM
14 NVM (E2PROM)
16 RAM
18 Speicherverwaltungseinheit 18a Hardware-Zustandsmaschine 18b Translation Look Aside Buffer (TLB)
20 Befehls/Daten-Cache
24 Daten/Befehle-Bus
26 Hardware-Zustandsmaschine-Zugriffsbus
30 virtuelle Speicherseite
32 Abbildungsvorschrift
33 Zugriffsmodus-Bits
34 Aufgaben-Identifizierer-Bits 36 Adresse einer virtuellen Seite
38 Adressversatz einer virtuellen Seite
40 Zugriffsrechteinformationen
42 Spalte für eine virtuelle Adresse
44 Spalte für eine physikalische Adresse
46 Seitentabelle
48 Zugriffsüberprüfungsmodul
50 Seitenfehlermodul
52 physikalische Adresse
400 virtuelle Adresse
402 Abschnitt für Ebene 1
404 Abschnitt für Ebene 2
406 Abschnitt für Ebene 3
408 Abschnitt für Ebene 4
410 Abschnitt für Ebene 5
412 Paketadresse
414 Paketbeschreiberpuffer
416 Zeiger auf physikalische Adresse
418 Liste für Ebene 4 420 Zeiger auf physikalische Adresse
422 Liste für Ebene 4
424 Zeiger auf physikalische Adresse
426 Liste für Ebene 3
428 Zeiger auf physikalische Adresse
430 Liste für Ebene 2
432 Zeiger auf physikalische Adresse
434 Liste für Ebene 1
436 Zeiger auf physikalische Adresse
438 Seitenversatzwert
440 physikalische Adresse
500 Zeiger zum Überspringen einer oder mehrerer Ebenen
800 n-Knoten-Liste
802 nicht-komprimierte q-Knoten-Liste
804 einfach komprimierte q-Knoten-Liste
806 doppelt komprimierte q-Knoten-Liste
900 Beispiel für n-Knoten-Liste
902 Beispiel für n-Knoten-Liste
904 Beispiel für n-Knoten-Liste
906 Beispiel für n-Knoten-Liste
908 Beispiel für n-Knoten-Liste
1000 nicht-komprimierte q-Knoten-Liste
1100 Speicherseite mit einer einzigen nicht-komprimierten q-
Knoten-Liste 1102 physikalische Speicherseite mit einer Mehrzahl von komprimierten q-Knoten-Listen 1200 virtuelle Adresse für den Knotenadressierungsmodus 1210 Abschnitt für Ebene 5 1208 Abschnitt für Ebene 4 1206 Abschnitt für Ebene 3 1204 Abschnitt für Ebene 2 1202 Abschnitt für Ebene 1 1212 Abschnitt zum Identifzieren der Liste, auf die zugegriffen werden soll 1300 Einrichtung zum Lesen des Komprimierungsindikators 1310 Einrichtung zum Lesen eines Abschnitts der virtuellen
Adresse 1320 Ermitteln eines Eintrags der Knotenliste 1330 Lesen des ermittelten Eintrags 1340 Ermitteln der physikalischen Adresse

Claims

Patentansprüche
1. Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchi- sehen Abbildungsvorschrift mit hierarchisch angeordneten Knotenebenen, wobei ein virtueller Adressraum größer als ein physikalischer Adressraum ist, wobei die virtuelle Adresse Abschnitte (402 bis 410) aufweist, wobei ein Abschnitt der virtuellen Adresse einer Knotenebene zugeordnet ist, wobei die Knotenebene zumindest einen Knoten aufweist, wobei jeder Knoten eine Knotenliste (418) mit Listeneinträgen aufweist, wobei ein Listeneintrag einer Knotenliste auf einen Knoten einer hierarchisch niedrigeren Knotenebene verweist, wobei unter Verwendung eines Listeneintrags einer Knotenliste (434) einer hierarchisch niedrigsten Knotenebene die physikalische Adresse (404) ermittelbar ist, wobei eine Länge eines Abschnitts der virtuellen Adresse eine maximale Anzahl von Einträgen einer Knotenliste eines Knotens definiert, der zu der Knotenebene gehört, der der Abschnitt zugeordnet ist, wobei ein Knoten ein komprimierter Knoten ist, dessen Knotenliste eine geringere als die maximale Anzahl von Einträgen aufweist, und wobei die Abbildungsvorschrift einen Komprimierungsindikator aufweist, der einem komprimierten Knoten zugeordnet ist, mit folgenden Schritten:
Lesen (1300) des Komprimierungsindikators;
Lesen (1310) eines Abschnitts der virtuellen Adresse;
Ermitteln (1320) eines Eintrags in einer Knotenliste eines
Knotens der Knotenebene, die dem gelesenen Abschnitt der virtuellen Adresse zugeordnet ist, unter Verwendung des gelesenen Abschnitts der virtuellen Adresse und des Komprimierungsindikators;
Lesen (1330) des ermittelten Eintrags der Knotenliste, um einen Knoten einer hierarchisch niedrigeren Knotenebene zu i- dentifizieren, auf den durch den ermittelten Eintrag verwiesen wird; und
Ermitteln (1340) der physikalischen Adresse (440) unter Ver- wendung des Knotens der hierarchisch niedrigeren Knotenebene, auf den durch den ermittelten Eintrag verwiesen wird.
2. Verfahren nach Anspruch 1, bei dem der Komprimierungsindikator an einer vorbestimmten Stelle in der Knotenliste des komprimierten Knotens gespeichert ist, und
bei dem in dem Schritt des Lesens (1310) des Komprimierungs- indikators zu der vorbestimmten Stelle gesprungen wird, um den Komprimierungsindikator zu lesen.
3. Verfahren nach Anspruch 1, bei dem der Komprimierungsindikator für einen komprimierten Knoten in dem Listeneintrag einer Knotenliste eines Knotens einer hierarchisch höheren Knotenebene gespeichert ist, und
bei dem im Schritt des Lesens des Komprimierungsindikators der Komprimierungsindikator bei einem Lesen eines Listeneintrags einer Knotenliste des Knotens der hierarchisch höheren Knotenebene erhalten wird.
4. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem eine Knotenliste (804) eines komprimierten Knotens derart komprimiert ist, daß die Anzahl der Listeneinträge im Vergleich zur maximalen Anzahl halbiert ist, wenn jeweils das höchstwertige Bit jedes Listenindex für alle Listeneinträge ungleich 0 gleich ist, und
bei dem im Schritt (1320) des Ermitteins der Komprimierungs- indikator so interpretiert wird, daß das höchstwertige Bit des Abschnitts der virtuellen Adresse bei der Ermittlung des Eintrags ignoriert wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem eine Knotenliste (806) eines komprimierten Knotens derart komprimiert ist, daß die Anzahl der Listeneinträge im Ver- gleich zur maximalen Anzahl geviertelt ist, wenn jeweils die beiden höchstwertigen Bits jedes Listenindex für alle Listeneinträge ungleich 0 gleich sind, und
bei dem im Schritt des Ermitteins (1320) der Komprimierungs- indikator so interpretiert wird, daß die beiden höchstwertigen Bits des Abschnitts der virtuellen Adresse bei der Ermittlung des Eintrags ignoriert werden.
6. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem eine seitenweise Adressierung des physikalischen Speichers vorgesehen ist, wobei eine Speicherseite mittels einer Basisadresse und eines Offset-Werts adressierbar ist,
bei dem Knotenlisten von zumindest zwei komprimierten Knoten in der selben physikalischen Speicherseite (1102) gespeichert sind, und
bei dem ein Listeneintrag einer Knotenliste eines Knotens ei- ner hierarchisch höheren Knotenebene sowohl eine Basisadresse als auch einen Offset-Wert für die Speicherseite (1102) umfaßt, an der die Knotenliste für den Knoten gespeichert ist, auf den durch den Eintrag verwiesen wird, und
bei dem im Schritt (1320) des Ermitteins des Eintrags die Ermittlung unter Verwendung der Basisadresse und des Offset- Werts vorgenommen wird.
7. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem im Schritt (1340) des Ermitteins der physikalischen Adresse die Schritten Lesen (1300) des Komprimierungsindika- tors, Lesen (1310) eines Abschnitts der virtuellen Adresse, Ermitteln (1320) eines Eintrags der Knotenliste und Lesen (1330) des ermittelten Eintrags durchgeführt werden, bis die hierarchisch niedrigste Knotenebene (434) erreicht ist.
8. Verfahren nach einem der vorhergehenden Ansprüche,
bei dem ein vorbestimmter Wert eines Abschnitts der virtuellen Adresse (406, 408) anzeigt, daß eine Knotenebene über- sprungen wird.
9. Vorrichtung zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift mit hierarchisch angeordneten Kno- tenebenen, wobei ein virtueller Adressraum größer als ein physikalischer Adressraum ist, wobei die virtuelle Adresse Abschnitte (402 bis 410) aufweist, wobei ein Abschnitt der virtuellen Adresse einer Knotenebene zugeordnet ist, wobei die Knotenebene zumindest einen Knoten aufweist, wobei jeder Knoten eine Knotenliste (418) mit Listeneinträgen aufweist, wobei ein Listeneintrag einer Knotenliste auf einen Knoten einer hierarchisch niedrigeren Knotenebene verweist, wobei unter Verwendung eines Listeneintrags einer Knotenliste (434) einer hierarchisch niedrigsten Knotenebene die physikalische Adresse (404) ermittelbar ist, wobei eine Länge eines Abschnitts der virtuellen Adresse eine maximale Anzahl von Einträgen einer Knotenliste eines Knotens definiert, der zu der Knotenebene gehört, der der Abschnitt zugeordnet ist, wobei ein Knoten ein komprimierter Knoten ist, dessen Knotenliste eine geringere als die maximale Anzahl von Einträgen aufweist, und wobei die Abbildungsvorschrift einen Komprimierungsindikator aufweist, der einem komprimierten Knoten zugeordnet ist, mit folgenden Merkmalen:
einer Einrichtung zum Lesen (1300) des Komprimierungsindikators; einer Einrichtung zum Lesen (1310) eines Abschnitts der virtuellen Adresse;
einer Einrichtung zum Ermitteln (1320) eines Eintrags in ei- ner Knotenliste eines Knotens der Knotenebene, die dem gelesenen Abschnitt der virtuellen Adresse zugeordnet ist, unter Verwendung des gelesenen Abschnitts der virtuellen Adresse und des Komprimierungsindikators;
einer Einrichtung zum Lesen (1330) des ermittelten Eintrags der Knotenliste, um einen Knoten einer hierarchisch niedrigeren Knotenebene zu identifizieren, auf den durch den ermittelten Eintrag verwiesen wird; und
einer Einrichtung zum Ermitteln (1340) der physikalischen Adresse (440) unter Verwendung des Knotens der hierarchisch niedrigeren Knotenebene, auf den durch den ermittelten Eintrag verwiesen wird.
10. Rechnersystem mit einer Vorrichtung zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift nach Patentanspruch 9.
11. Rechnersystem, das als Chipkarte, Smartcard oder Si- cherheits-IC ausgeführt ist.
PCT/EP2002/005319 2001-06-05 2002-05-14 Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten WO2002099645A2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP02740602A EP1393184B1 (de) 2001-06-05 2002-05-14 Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten
US10/480,081 US7124275B2 (en) 2001-06-05 2002-05-14 Apparatus and method for determining a physical address from a virtual address by using a hierarchical mapping regulation with compressed nodes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10127198.0 2001-06-05
DE10127198A DE10127198A1 (de) 2001-06-05 2001-06-05 Vorrichtung und Verfahren zum Ermitteln einer physikalischen Adresse aus einer virtuellen Adresse unter Verwendung einer hierarchischen Abbildungsvorschrift mit komprimierten Knoten

Publications (2)

Publication Number Publication Date
WO2002099645A2 true WO2002099645A2 (de) 2002-12-12
WO2002099645A3 WO2002099645A3 (de) 2003-03-27

Family

ID=7687208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2002/005319 WO2002099645A2 (de) 2001-06-05 2002-05-14 Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten

Country Status (5)

Country Link
US (1) US7124275B2 (de)
EP (1) EP1393184B1 (de)
DE (1) DE10127198A1 (de)
TW (1) TW591385B (de)
WO (1) WO2002099645A2 (de)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9344235B1 (en) * 2002-06-07 2016-05-17 Datacore Software Corporation Network managed volumes
JP2005078419A (ja) * 2003-09-01 2005-03-24 Ricoh Co Ltd 情報処理装置及びファイル管理方法
US7203813B1 (en) * 2003-11-24 2007-04-10 American Megatrends, Inc. Methods, computer systems, and computer readable media for changing module pointer values upon switches between different modes of memory addressing
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US8069192B2 (en) * 2004-03-22 2011-11-29 Microsoft Corporation Computing device with relatively limited storage space and operating / file system thereof
US7647358B2 (en) * 2004-03-22 2010-01-12 Microsoft Corporation Computing device with relatively limited storage space and operating/file system thereof
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7886126B2 (en) 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (de) 2005-04-07 2021-11-24 III Holdings 12, LLC Zugang auf anfrage zu computerressourcen
US8369329B2 (en) * 2005-05-16 2013-02-05 Rockstar Consortium Us Lp Dynamic hierarchical address resource management architecture, method and apparatus
US7509474B2 (en) 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US10140387B2 (en) 2005-08-02 2018-11-27 The Boeing Company Model for managing variations in a product structure for a product
US8402007B2 (en) * 2005-08-02 2013-03-19 The Boeing Company Methods and apparatus for creating and utilizing templates in connection with information modeling
US8275799B2 (en) * 2005-08-02 2012-09-25 The Boeing Company Methods and apparatus for information modeling
US9852079B2 (en) * 2006-08-01 2017-12-26 Massachusetts Institute Of Technology EXtreme virtual memory
US7555628B2 (en) * 2006-08-15 2009-06-30 Intel Corporation Synchronizing a translation lookaside buffer to an extended paging table
US8240808B2 (en) * 2007-02-07 2012-08-14 Fujifilm Corporation Ink-jet head maintenance device, ink-jet recording device and ink-jet head maintenance method
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8549254B2 (en) * 2007-12-31 2013-10-01 Intel Corporation Using a translation lookaside buffer in a multiple stage memory address translation structure to manage protected microcontexts
US8560806B2 (en) * 2007-12-31 2013-10-15 Intel Corporation Using a multiple stage memory address translation structure to manage protected micro-contexts
US8180996B2 (en) * 2008-05-15 2012-05-15 Calxeda, Inc. Distributed computing system with universal address system and method
US9239799B2 (en) 2008-06-26 2016-01-19 Qualcomm Incorporated Memory management unit directed access to system interfaces
EP2396717A1 (de) 2009-02-11 2011-12-21 Infinidat Ltd Virtualisiertes speichersystem und verfahren zu seinem betrieb
US8516219B2 (en) 2009-07-24 2013-08-20 Apple Inc. Index cache tree
US8468293B2 (en) * 2009-07-24 2013-06-18 Apple Inc. Restore index page
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9069929B2 (en) 2011-10-31 2015-06-30 Iii Holdings 2, Llc Arbitrating usage of serial port in node card of scalable and modular servers
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US8918619B2 (en) * 2009-10-04 2014-12-23 Infinidat Ltd. Virtualized storage system and method of operating thereof
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
GB2478727B (en) * 2010-03-15 2013-07-17 Advanced Risc Mach Ltd Translation table control
US20110283048A1 (en) * 2010-05-11 2011-11-17 Seagate Technology Llc Structured mapping system for a memory device
US9218135B2 (en) 2010-06-16 2015-12-22 Microsoft Technology Licensing, Llc Hierarchical allocation for file system storage device
US8543648B1 (en) * 2010-12-13 2013-09-24 Imdb.Com, Inc. Efficiently finding collaborations on a network
US8521948B2 (en) * 2011-01-03 2013-08-27 Apple Inc. Handling dynamic and static data for a system having non-volatile memory
WO2012114338A1 (en) * 2011-02-22 2012-08-30 Infinidat Ltd. Cloud storage arrangement and method of operating thereof
US8577836B2 (en) 2011-03-07 2013-11-05 Infinidat Ltd. Method of migrating stored data and system thereof
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US20120331265A1 (en) * 2011-06-24 2012-12-27 Mips Technologies, Inc. Apparatus and Method for Accelerated Hardware Page Table Walk
WO2014003707A2 (en) * 2012-06-25 2014-01-03 Empire Technology Development Llc Hardware-based accelerator for managing copy-on-write
WO2014051544A2 (en) 2012-09-25 2014-04-03 Empire Technology Development Llc Improved performance and energy efficiency while using large pages
KR20140065196A (ko) * 2012-11-21 2014-05-29 삼성전자주식회사 메모리 시스템 및 그 구동 방법
TWI497292B (zh) * 2013-01-09 2015-08-21 Memoright Corp A Method of Finding System Data Based on Index Block
JP5754458B2 (ja) * 2013-03-22 2015-07-29 カシオ計算機株式会社 動画像抽出装置、動画像抽出方法及びプログラム
KR20150079236A (ko) * 2013-12-31 2015-07-08 한국전자통신연구원 가상 사설망 게이트웨이 및 그의 보안 통신 방법
US9734083B2 (en) 2014-03-31 2017-08-15 International Business Machines Corporation Separate memory address translations for instruction fetches and data accesses
US9715449B2 (en) * 2014-03-31 2017-07-25 International Business Machines Corporation Hierarchical translation structures providing separate translations for instruction fetches and data accesses
US9824021B2 (en) 2014-03-31 2017-11-21 International Business Machines Corporation Address translation structures to provide separate translations for instruction fetches and data accesses
CN109376123B (zh) * 2014-08-12 2022-08-19 华为技术有限公司 管理文件的方法、分布式存储系统和管理节点
US9946462B1 (en) * 2016-02-15 2018-04-17 Seagate Technology Llc Address mapping table compression
US10599582B2 (en) * 2016-09-26 2020-03-24 Intel Corporation Using a virtual to virtual address table for memory compression
US11853179B1 (en) * 2018-12-28 2023-12-26 Teledyne Lecroy, Inc. Detection of a DMA (direct memory access) memory address violation when testing PCIE devices
US11386028B2 (en) * 2019-03-29 2022-07-12 Teledyne Lecroy, Inc. Method to test direct memory access (DMA) address capabilities at high address values
TWI761748B (zh) * 2020-01-06 2022-04-21 慧榮科技股份有限公司 多階層映射資訊管理之資料儲存裝置以及非揮發式記憶體控制方法
CN117494587B (zh) * 2023-12-29 2024-04-09 杭州行芯科技有限公司 芯片封装结构的空间关系管理方法、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758946A (en) 1986-04-09 1988-07-19 Elxsi Page mapping system
DE4405845A1 (de) 1993-05-10 1994-11-17 Mathematik Und Datenverarbeitu Verfahren zum Abbilden eines ersten Bitstrings mit einer ersten Länge auf einen zweiten Bitstring mit einer zweiten Länge, insbesondere zum Umsetzen einer virtuellen Speicheradresse eines virtuellen Speichers in eine Realadresse eines Realspeichers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790979A (en) * 1993-05-10 1998-08-04 Liedtke; Jochen Translation method in which page-table progression is dynamically determined by guard-bit sequences
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
US5696927A (en) * 1995-12-21 1997-12-09 Advanced Micro Devices, Inc. Memory paging system and method including compressed page mapping hierarchy
US5949911A (en) * 1997-05-16 1999-09-07 Teralogic, Inc. System and method for scalable coding of sparse data sets
US6112286A (en) * 1997-09-19 2000-08-29 Silicon Graphics, Inc. Reverse mapping page frame data structures to page table entries
US6067574A (en) * 1998-05-18 2000-05-23 Lucent Technologies Inc High speed routing using compressed tree process

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758946A (en) 1986-04-09 1988-07-19 Elxsi Page mapping system
DE4405845A1 (de) 1993-05-10 1994-11-17 Mathematik Und Datenverarbeitu Verfahren zum Abbilden eines ersten Bitstrings mit einer ersten Länge auf einen zweiten Bitstring mit einer zweiten Länge, insbesondere zum Umsetzen einer virtuellen Speicheradresse eines virtuellen Speichers in eine Realadresse eines Realspeichers

Also Published As

Publication number Publication date
DE10127198A1 (de) 2002-12-19
US20050015378A1 (en) 2005-01-20
US7124275B2 (en) 2006-10-17
EP1393184A2 (de) 2004-03-03
EP1393184B1 (de) 2012-10-17
WO2002099645A3 (de) 2003-03-27
TW591385B (en) 2004-06-11

Similar Documents

Publication Publication Date Title
WO2002099645A2 (de) Vorrichtung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse unter verwendung einer hierarchischen abbildungsvorschrift mit komprimierten knoten
WO1994027222A1 (de) Verfahren zum umsetzen einer virtuellen speicheradresse mit einer ersten länge in eine realadresse mit einer zweiten länge
DE102005022893B3 (de) Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte
DE102009051339A1 (de) Speichersystem und Speicherverfahren
DE2459006A1 (de) Verfahren und einrichtung zur entwicklung absoluter adressen bei segmentadressierung
DE10002120A1 (de) Logikstruktur eines Adressumsetzpuffers
DE69936257T2 (de) Erzeugen und uberprüfen von referenz-adresszeigern
DE102009059939A1 (de) Verfahren zum Komprimieren von Bezeichnern
DE4234695C2 (de) Computer-Speichersystem und Verfahren zur Aufrechterhaltung der Cache-Kohärenz zwischen einem Daten-Cache und einem Segmentdeskriptor-Cache
WO2000014631A2 (de) Verfahren zum linken von in einen arbeitsspeicher eines prozessors nachgeladenen programmodulen auf einer chipkarte
EP1639475A2 (de) Prozessorarchitektur für exakte zeigeridentifizierung
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE10120615B4 (de) Dynamische Speicherverwaltung für Objekte unterschiedlicher Größe
DE60029270T2 (de) Dynamische Rekonfiguration des Cache-Speichers eines Mikrokontrollers
DE102014006998A1 (de) Korrektur eines programmierbaren Speichers
DE10339212A1 (de) Datenübertragungssystem und Verfahren zum Betreiben eines Datenübertragungssystems
DE10127194B4 (de) Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen
DE102011055097A1 (de) Speichersystem und damit verbundenes Betriebsverfahren
EP1204917A1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers
WO2002099653A1 (de) Rechnersystem mit virtueller adressierung und verfahren zum ermitteln einer physikalischen adresse aus einer virtuellen adresse
EP2284710A1 (de) Verfahren zum Verwalten von Speicherressourcen in einem portablen Datenträger
EP1559111A1 (de) Verfahren zum betreiben einer speicheranordnung
DE10260606B4 (de) Vorrichtung zur Übersetzung mehrerer virtueller Adressen auf eine einzige physikalische Adresse
EP1639466B1 (de) Verfahren und vorrichtung zur fehlererkennung für einen cachespeicher und entsprechender cachespeicher
DE4405845C2 (de) Verfahren zum Umsetzen einer virtuellen Speicheradresse eines virtuellen Speichers in eine Realadresse eines Realspeichers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002740602

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002740602

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 10480081

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP