WO1988002148A1 - A transparent translation method and apparatus for use in a memory management unit - Google Patents
A transparent translation method and apparatus for use in a memory management unit Download PDFInfo
- Publication number
- WO1988002148A1 WO1988002148A1 PCT/US1987/001341 US8701341W WO8802148A1 WO 1988002148 A1 WO1988002148 A1 WO 1988002148A1 US 8701341 W US8701341 W US 8701341W WO 8802148 A1 WO8802148 A1 WO 8802148A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- management unit
- memory management
- field
- logical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
Definitions
- the subject invention relates generally to memory management units and, more particularly, to a method and apparatus to force a memory management unit to provide each of a plurality of logical addresses within a selected range of logical addresses as a respective physical address without translation.
- a memory management unit In data processing systems having virtual memory capabilities, a memory management unit (MMU) is provided to translate each "logical" address in virtual memory as it is output by the data processor to a respective "physical" address in real memory.
- the MMU upon initiation of system operation, the MMU is in a non-translation mode so that each logical address is provided as the respective physical address without translation.
- the MMU can be put into the normal translation mode. Thereafter, the MMU will translate all logical addresses output by the processor to the respective physical addresses according to the translation information established by the operating system.
- certain portions of the available physical address space are reserved for special functions, such as memory-mapped I/O, system tables, shared code and the like.
- steps can be taken to "bypass" the MMU.
- the MMU includes special address detection hardware which, upon detecting logical addresses within a fixed address range, immediately forces the MMU to gate such logical addresses directly from the logical address bus to the physical address bus without translation or any associated table-walking.
- Another object of the present invention is to provide a technique whereby the range of non-translated addresses is not restricted to a set of physically contiguous addresses.
- One other object of the present invention is to provide a transparent translation mechanism which can be selectively restricted to certain types of access, i.e. reads only, writes only, or both reads and writes.
- Still another object of the present invention is to provide a transparent translation mechanism which can be selectively restricted to certain classes of operands, i.e. data or instructions or both.
- Yet another object of the present invention is to provide a transparent translation mechanism which can be selectively restricted to certain modes of access, i.e. user or supervisor or both.
- One other object of the present invention is to provide a transparent translation mechanism which allows transparent translated addresses to be selectively cache inhibited.
- a memory management unit which translates each of a plurality of logical addresses to a corresponding physical address using a respective one of a plurality of predetermined logical-to- physical address translators.
- a register is provided in the memory management unit for storing an address range descriptor which defines a selected range of said logical addresses.
- a comparator is provided in the memory management unit for comparing each logical address received by the memory management unit for translation to the selected range of logical addresses defined by the address range descriptor, and for forcing the memory management unit to provide said received logical address as said respective physical address if said received logical address is within the selected range of logical addresses.
- Figure 2 illustrates in schematic form, the preferred form of the transparent translation register and the comparator shown in Figure 1.
- FIG. 1 Description of the Invention Shown in Figure 1 is a virtual memory type of data processing system 10 comprising a central processing unit (CPU) 12, a storage system 14 and a memory management unit (MMU) 16.
- supervisor and user programs are stored in the storage system 14, which typically comprises high speed memory and slower speed peripherals such as disks, at respective physical addresses.
- the CPU 12 references the instructions and data operands comprising these programs using respective logical addresses.
- the MMU 16 receives the logical addresses output by the CPU 12 via a logical address bus 18, translates these logical addresses to the corresponding physical addresses using logical-to-physical address translation descriptors stored either within the MMU 16 or within the storage system 14, and forwards the resultant physical addresses to the storage system 14 via a physical address bus 20.
- the storage system 14 allows the CPU 12 to access a respective storage location within the storage system 14 via a data bus 22.
- an address translation cache (ATC) 24 is provided to temporarily store a selected subset of the translation descriptors so that many, if not most, of the logical addresses output by the CPU 12 can be rapidly translated to the corresponding physical addresses.
- a translation controller 26 is provided to find any translation descriptor not resident in the ATC 24 by "walking" a set of translation tables stored in the storage system 14. If the ATC 24 is full, one of the resident translation descriptors, preferrably the least recently used, will be discarded to make room in the ATC 24 for the new translation descriptor.
- the resultant physical address is gated onto the physical address bus 20 via a bus switch 28»
- a transparent translation register (TTR) 30 is provided to store an address range descriptor which defines a range of logical addresses that the MMU 16 is not to translate.
- a comparator 32 is also provided to compare each logical address as it is output by the CPU 12 on the logical address bus 18 to the address range descriptor stored in the TTR 30. If the logical address is determined to be within the address range defined by the address range descriptor stored in the TTR 30, the comparator 32 enables the bus switch 28 to couple the logical address bus 18 directly to the physical address bus 20, thereby bypassing the ATC 24.
- the comparator 32 will simultaneously disable the operation of the ATC 24 and the translation controller 26, to preclude unnecessary table walking.
- the address range descriptor stored in the TTR 30 generally comprises an Enable (E) bit 34 and a primary address range qualifier 36. If appropriate, one or more secondary address range qualifiers 38-40 may also be provided. In some applications, the address range descriptor may include one or more address range conditionals 42 which control respective output signals.
- each of the address range qualifiers comprises a base field and a mask field.
- the primary address range qualifier 36 comprises a logical address (LA) base field 36a and a logical address mask (LA MASK) field 36b
- the first secondary address range qualifier 38 is comprised of a Read/Write (R/W) base field 38a and a Read/Write mask (R/W MASK) field 38b
- the second secondary address range qualifier 40 is comprised of a Function Code (FC) base field 40a and a Function Code mask (FC MASK) field 40b.
- FC Function Code
- each of the bits of each of the base fields are compared one-for-one against corresponding bits of the logical address.
- bit comparisons for which the corresponding bit in the respective mask field(s) is "clear”, i.e. logic zero are considered “significant”. Only if all of these "significant” bit comparisons are "equal” will the logical address be considered to fall within the given address range.
- An alternate way of viewing the address range matching mechanism is to consider only those bits of the base field(s) for which the corresponding bit of the respective mask field(s) is "clear" as “significant”. During the matching decision, only these "significant" bits are compared one-for-one to corresponding bits in the logical address. Only if all of these bit comparisons are "equal" will the logical address be considered to be within the address range defined by this descriptor.
- comparator 32 generally comprises a decision array 44 which is enabled by a transistor 46 only if the Enable bit 34 in the TTR 30 is "set", i.e. logic high.
- a discharge path between the input of a sense amplifier (SA) 48 and the transistor 46 is provided for each of the bits comprising each of the several base fields 36a, 38a and 40a.
- Each of the discharge paths are comprised of a first transistor 50 in series with a second transistor 52.
- the gate of each of the transistors 50 is coupled to the output of a respective EXCLUSIVE OR gate 54 responsive to a respective one of the bits of one of the base fields and to a corresponding one of the bits of the logical address.
- the gate of each of the transistors 52 is coupled to a corresponding one of the bits of the respective mask fields via a respective inverter 56.
- a particular bit of the logical address will "match” only if the corresponding one of the discharge paths of the decision array 44 is “opened” either (1) by the transistor 50 being turned off in response to the corresponding EXCLUSIVE OR gate 54 determining that that particular bit of the logical address is the same as the corresponding bit in the respective base field, or (2) by the respective transistor 52 being turned off in response to the corresponding bit in the respective mask field being “set”.
- the full logical address will "match” only if all of the several parallel discharge paths comprising the decision array 44 are simultaneously opened by some combination of bit matchs and/or bit masks.
- the input of the SA 48 remain logic high.
- the resultant logic high output by the SA 48 will in turn indicate that the current logical address is within the address range defined by the address range descriptor currently stored in the TTR 30.
- the output of the SA 48 controls the bus switch 28 so that, upon the detection of a logical address within the address range defined by the address range descriptor currently stored in the TTR 30, that logical address will be coupled directly onto the physical address bus 20.
- the output of the SA 48 also simultaneously disables the ATC 24 and/or the translation controller 26 to preserve the state of the entries in the ATC 24 and to prevent unnecessary table walking.
- the address range descriptor may include one or more conditional fields 42.
- a Cache Inhibit (Cl) field 42a may be provided to selectively enable an AND gate 58 to provide a Cache Inhibit (Cl) signal whenever the output of the SA 48 indicates that the current logical address is within the address range defined by the current address range descriptor stored in the TTR 30.
- This Cl signal may be provided to the rest of the data processing system 10 either directly or via the Translation Controller 26, as appropriate.
- the present invention has been described herein in the context of a preferred embodiment, alternate embodiments may be made without departing from the spirit and scope of the present invention. For example, in some applications it may be appropriate to provide more than one transparent translation register 30, together with a corresponding comparator 32, so that multiple translation translation regions may be supported.
- address qualifiers may be desirable.
- additional or different address conditionals may be appropriate.
- the present invention may be used to signficant advantage to provide versatile, selective control of logical-to-physical address translations.
Abstract
In a data processing system (10) comprising a central processing unit (CPU) (12), a memory management unit (MMU) (16) and a storage system (14), the MMU (16) translates each of the logical addresses output by CPU (12) to a corresponding physical address in the storage system (14). In the MMU (16), a comparator (32) determines if each logical address is within an address range defined by an address range descriptor stored in a transparent translation register (TTR) (30). If a logical address is found to be within that address range, the MMU (16) is forced to provide that logical address as the corresponding physical address without translation. Selected control signals may be conditionally provided in the event of such a ''transparent'' translation.
Description
A TRANSPARENT TRANSLATION METHOD AND APPARATUS FOR USE IN A MEMORY MANAGEMENT UNIT
Field of the Invention The subject invention relates generally to memory management units and, more particularly, to a method and apparatus to force a memory management unit to provide each of a plurality of logical addresses within a selected range of logical addresses as a respective physical address without translation.
Background Art
In data processing systems having virtual memory capabilities, a memory management unit (MMU) is provided to translate each "logical" address in virtual memory as it is output by the data processor to a respective "physical" address in real memory. In general, upon initiation of system operation, the MMU is in a non-translation mode so that each logical address is provided as the respective physical address without translation. After the operating system has initialized all appropriate logical-to-physical address translation information in the MMU or in memory, as the case may be, the MMU can be put into the normal translation mode. Thereafter, the MMU will translate all logical addresses output by the processor to the respective physical addresses according to the translation information established by the operating system.
In some systems, certain portions of the available physical address space are reserved for special functions, such as memory-mapped I/O, system tables, shared code and the like. To minimize the time necessary to access these reserved portions of physical memory, steps can be taken to "bypass" the MMU. For example, in at least one prior art system, commercially available from Sun Microsystems, Inc. , of Mountain View, CA, the MMU includes special address detection hardware which, upon detecting logical addresses
within a fixed address range, immediately forces the MMU to gate such logical addresses directly from the logical address bus to the physical address bus without translation or any associated table-walking. Although this technique greatly speeds up the operation of the processor to locations within this fixed portion of memory, there is no provision for direct access to other portions of the physical memory. Neither is there any mechanism for modifying the physical address of this dedicated portion of memory if such becomes necessary or desirable. Further, this scheme restricts the range of dedicated physical addresses to physically contiguous memory locations. Finally, there is no ability for the user/supervisor to turn off this mechanism, either permanently or temporarily, should the need arise.
Summary of the Invention
Accordingly, it is an object of the present invention to provide a transparent translation mechanism which allows the range of non-translated addresses to be dynamically changed.
Another object of the present invention is to provide a technique whereby the range of non-translated addresses is not restricted to a set of physically contiguous addresses.
One other object of the present invention is to provide a transparent translation mechanism which can be selectively restricted to certain types of access, i.e. reads only, writes only, or both reads and writes.
Still another object of the present invention is to provide a transparent translation mechanism which can be selectively restricted to certain classes of operands, i.e. data or instructions or both.
Yet another object of the present invention is to provide a transparent translation mechanism which can be selectively restricted to certain modes of access, i.e. user or supervisor or both.
One other object of the present invention is to provide a transparent translation mechanism which allows transparent translated addresses to be selectively cache inhibited.
These and other objects are achieved in a memory management unit which translates each of a plurality of logical addresses to a corresponding physical address using a respective one of a plurality of predetermined logical-to- physical address translators. In accordance with the present invention, a register is provided in the memory management unit for storing an address range descriptor which defines a selected range of said logical addresses. In addition, a comparator is provided in the memory management unit for comparing each logical address received by the memory management unit for translation to the selected range of logical addresses defined by the address range descriptor, and for forcing the memory management unit to provide said received logical address as said respective physical address if said received logical address is within the selected range of logical addresses.
Brief Description of the Drawing Figure 1 illustrates in block diagram form, a data processing system constructed in accordance with the present invention.
Figure 2 illustrates in schematic form, the preferred form of the transparent translation register and the comparator shown in Figure 1.
Description of the Invention Shown in Figure 1 is a virtual memory type of data processing system 10 comprising a central processing unit (CPU) 12, a storage system 14 and a memory management unit (MMU) 16. In general, supervisor and user programs are stored in the storage system 14, which typically comprises high speed memory and slower speed peripherals such as disks, at respective physical addresses. During operation,
the CPU 12 references the instructions and data operands comprising these programs using respective logical addresses. The MMU 16 receives the logical addresses output by the CPU 12 via a logical address bus 18, translates these logical addresses to the corresponding physical addresses using logical-to-physical address translation descriptors stored either within the MMU 16 or within the storage system 14, and forwards the resultant physical addresses to the storage system 14 via a physical address bus 20. In response to receiving each physical address, the storage system 14 allows the CPU 12 to access a respective storage location within the storage system 14 via a data bus 22.
Within the MMU 16, an address translation cache (ATC) 24 is provided to temporarily store a selected subset of the translation descriptors so that many, if not most, of the logical addresses output by the CPU 12 can be rapidly translated to the corresponding physical addresses. A translation controller 26 is provided to find any translation descriptor not resident in the ATC 24 by "walking" a set of translation tables stored in the storage system 14. If the ATC 24 is full, one of the resident translation descriptors, preferrably the least recently used, will be discarded to make room in the ATC 24 for the new translation descriptor. Once translated, the resultant physical address is gated onto the physical address bus 20 via a bus switch 28»
In the preferred form of the MMU 16, a transparent translation register (TTR) 30 is provided to store an address range descriptor which defines a range of logical addresses that the MMU 16 is not to translate. A comparator 32 is also provided to compare each logical address as it is output by the CPU 12 on the logical address bus 18 to the address range descriptor stored in the TTR 30. If the logical address is determined to be within the address range defined by the address range descriptor stored in the TTR 30, the comparator 32 enables the bus switch 28 to couple
the logical address bus 18 directly to the physical address bus 20, thereby bypassing the ATC 24. Preferably, the comparator 32 will simultaneously disable the operation of the ATC 24 and the translation controller 26, to preclude unnecessary table walking.
In the preferred form shown in Figure 2, the address range descriptor stored in the TTR 30 generally comprises an Enable (E) bit 34 and a primary address range qualifier 36. If appropriate, one or more secondary address range qualifiers 38-40 may also be provided. In some applications, the address range descriptor may include one or more address range conditionals 42 which control respective output signals.
In general, each of the address range qualifiers comprises a base field and a mask field. For example, in the preferred form shown in Figure 2, the primary address range qualifier 36 comprises a logical address (LA) base field 36a and a logical address mask (LA MASK) field 36b, the first secondary address range qualifier 38 is comprised of a Read/Write (R/W) base field 38a and a Read/Write mask (R/W MASK) field 38b, and the second secondary address range qualifier 40 is comprised of a Function Code (FC) base field 40a and a Function Code mask (FC MASK) field 40b.
In deciding whether or not a particular logical address is "within" the address range defined by a given address range descriptor, each of the bits of each of the base fields are compared one-for-one against corresponding bits of the logical address. However, for the purposes of determining a "match", only those bit comparisons for which the corresponding bit in the respective mask field(s) is "clear", i.e. logic zero, are considered "significant". Only if all of these "significant" bit comparisons are "equal" will the logical address be considered to fall within the given address range.
An alternate way of viewing the address range matching mechanism is to consider only those bits of the base
field(s) for which the corresponding bit of the respective mask field(s) is "clear" as "significant". During the matching decision, only these "significant" bits are compared one-for-one to corresponding bits in the logical address. Only if all of these bit comparisons are "equal" will the logical address be considered to be within the address range defined by this descriptor.
In the preferred form shown in Figure 2, comparator 32 generally comprises a decision array 44 which is enabled by a transistor 46 only if the Enable bit 34 in the TTR 30 is "set", i.e. logic high. Within the decision array 44, a discharge path between the input of a sense amplifier (SA) 48 and the transistor 46 is provided for each of the bits comprising each of the several base fields 36a, 38a and 40a. Each of the discharge paths are comprised of a first transistor 50 in series with a second transistor 52. The gate of each of the transistors 50 is coupled to the output of a respective EXCLUSIVE OR gate 54 responsive to a respective one of the bits of one of the base fields and to a corresponding one of the bits of the logical address. The gate of each of the transistors 52 is coupled to a corresponding one of the bits of the respective mask fields via a respective inverter 56.
In operation, a particular bit of the logical address will "match" only if the corresponding one of the discharge paths of the decision array 44 is "opened" either (1) by the transistor 50 being turned off in response to the corresponding EXCLUSIVE OR gate 54 determining that that particular bit of the logical address is the same as the corresponding bit in the respective base field, or (2) by the respective transistor 52 being turned off in response to the corresponding bit in the respective mask field being "set". Thus, the full logical address will "match" only if all of the several parallel discharge paths comprising the decision array 44 are simultaneously opened by some combination of bit matchs and/or bit masks. In this
situation, the input of the SA 48 remain logic high. The resultant logic high output by the SA 48 will in turn indicate that the current logical address is within the address range defined by the address range descriptor currently stored in the TTR 30.
In the preferred embodiment shown in Figure 1, the output of the SA 48 controls the bus switch 28 so that, upon the detection of a logical address within the address range defined by the address range descriptor currently stored in the TTR 30, that logical address will be coupled directly onto the physical address bus 20. The output of the SA 48 also simultaneously disables the ATC 24 and/or the translation controller 26 to preserve the state of the entries in the ATC 24 and to prevent unnecessary table walking.
In some applications, it may be desirable to condition certain activities upon whether or not a particular physical address was generated as a result of a normal translation or as a result of a transparent translation. For example, in a data processing system in which data and/or instruction caches are provided to enhance performance, it would be inappropriate to cache accesses to memory mapped peripherals. On the other hand, the present transparent translation mechanism is particularly well suited to support direct addressing of these areas. To enable conditional control of such system functions as cacheing, the address range descriptor may include one or more conditional fields 42. For example, as shown in Figure 2, a Cache Inhibit (Cl) field 42a may be provided to selectively enable an AND gate 58 to provide a Cache Inhibit (Cl) signal whenever the output of the SA 48 indicates that the current logical address is within the address range defined by the current address range descriptor stored in the TTR 30. This Cl signal may be provided to the rest of the data processing system 10 either directly or via the Translation Controller 26, as appropriate.
Although the present invention has been described herein in the context of a preferred embodiment, alternate embodiments may be made without departing from the spirit and scope of the present invention. For example, in some applications it may be appropriate to provide more than one transparent translation register 30, together with a corresponding comparator 32, so that multiple translation translation regions may be supported. If desired, a different number of address qualifiers, or simply different address qualifiers, may be desirable. Similarly, additional or different address conditionals may be appropriate. In any event, however, the present invention may be used to signficant advantage to provide versatile, selective control of logical-to-physical address translations.
Claims
1. In a memory management unit which translates each of a plurality of logical addresses to a corresponding physical address using a respective one of a plurality of predetermined logical-to-physical address translators, the improvement comprising: register means in the memory management unit for storing an address range descriptor which defines a selected range of said logical addresses; and comparator means in the memory management unit for comparing each logical address received by the memory management unit for translation to the selected range of logical addresses defined by the address range descriptor, and for forcing the memory management unit to provide said received logical address as said respective physical address if said received logical address is within the selected range of logical addresses.
2. The memory management unit of claim 1 wherein: said register means comprises: a base field having a predetermined number of bits, and a mask field having said predetermined number of bits, and said comparator means comprises: first logic means, responsive to the bit values in said mask field, for determining from the bit value of each of the bits of said mask field which of the bits of said base field are significant, second logic means, coupled to first logic means and responsive to the bit values in said base field and said logical address, for comparing each of the significant bits of said base field to a corresponding one of the bits of the logical address and providing an output only if all of said bits compare equal, said output indicating that said received logical address is within the selected range of logical addresses.
3. The memory management unit of claim 2 wherein the register means includes an enable field, and the comparator means is selectively enabled by the bit value in said enable field.
4. The memory management unit of claim 3 wherein the register means includes a conditional field, and the comparator means is selectively enabled by the bit value in said conditional field to provide a condition signal upon detecting that said received logical address is within the selected range of logical addresses.
5. The memory management unit of claim 2 wherein the register means includes a conditional field, and the comparator means is selectively enabled by the bit value in said conditional field to provide a condition signal upon detecting that said received logical address is within the selected range of logical addresses.
6. The memory management unit of claim 1 wherein the register means includes an enable field, and the comparator means is selectively enabled by the bit value in said enable field.
7. The memory management unit of claim 1 wherein the register means includes a conditional field, and the comparator means is selectively enabled by the bit value in said conditional field to provide a condition signal upon detecting that said received logical address is within the selected range of logical addresses.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90807886A | 1986-09-15 | 1986-09-15 | |
US908,078 | 1992-07-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1988002148A1 true WO1988002148A1 (en) | 1988-03-24 |
Family
ID=25425135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1987/001341 WO1988002148A1 (en) | 1986-09-15 | 1987-06-08 | A transparent translation method and apparatus for use in a memory management unit |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO1988002148A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0345589A2 (en) * | 1988-06-06 | 1989-12-13 | Digital Equipment Corporation | Page tables in virtual memory |
GB2201271B (en) * | 1987-02-18 | 1991-07-03 | Apple Computer | Memory mapping unit |
EP0503514A2 (en) * | 1991-03-11 | 1992-09-16 | Mips Computer Systems, Inc. | Backward-compatible computer architecture with extended word size and address space |
US5239635A (en) * | 1988-06-06 | 1993-08-24 | Digital Equipment Corporation | Virtual address to physical address translation using page tables in virtual memory |
EP0656592A1 (en) * | 1993-11-09 | 1995-06-07 | Motorola, Inc. | Memory access control for implementing protected memory regions |
GB2461850A (en) * | 2008-07-10 | 2010-01-20 | Cambridge Consultants | Memory management unit with address translation for a range defined by upper and lower limits |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
US3902164A (en) * | 1972-07-21 | 1975-08-26 | Ibm | Method and means for reducing the amount of address translation in a virtual memory data processing system |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
US4037211A (en) * | 1974-12-18 | 1977-07-19 | Panafacom Limited | Address extending control unit |
US4388685A (en) * | 1978-08-04 | 1983-06-14 | Digital Equipment Corporation | Central processor with apparatus for extended virtual addressing |
US4500962A (en) * | 1978-06-15 | 1985-02-19 | U.S. Philips Corporation | Computer system having an extended directly addressable memory space |
-
1987
- 1987-06-08 WO PCT/US1987/001341 patent/WO1988002148A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3902164A (en) * | 1972-07-21 | 1975-08-26 | Ibm | Method and means for reducing the amount of address translation in a virtual memory data processing system |
US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
US4037211A (en) * | 1974-12-18 | 1977-07-19 | Panafacom Limited | Address extending control unit |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
US4500962A (en) * | 1978-06-15 | 1985-02-19 | U.S. Philips Corporation | Computer system having an extended directly addressable memory space |
US4388685A (en) * | 1978-08-04 | 1983-06-14 | Digital Equipment Corporation | Central processor with apparatus for extended virtual addressing |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2201271B (en) * | 1987-02-18 | 1991-07-03 | Apple Computer | Memory mapping unit |
US5239635A (en) * | 1988-06-06 | 1993-08-24 | Digital Equipment Corporation | Virtual address to physical address translation using page tables in virtual memory |
EP0345589A3 (en) * | 1988-06-06 | 1991-08-07 | Digital Equipment Corporation | Page tables in virtual memory |
EP0345589A2 (en) * | 1988-06-06 | 1989-12-13 | Digital Equipment Corporation | Page tables in virtual memory |
US5420992A (en) * | 1991-03-11 | 1995-05-30 | Silicon Graphics, Inc. | Backward-compatible computer architecture with extended word size and address space |
EP0503514A3 (en) * | 1991-03-11 | 1994-01-26 | Mips Computer Systems Inc | |
EP0503514A2 (en) * | 1991-03-11 | 1992-09-16 | Mips Computer Systems, Inc. | Backward-compatible computer architecture with extended word size and address space |
US5568630A (en) * | 1991-03-11 | 1996-10-22 | Silicon Graphics, Inc. | Backward-compatible computer architecture with extended word size and address space |
EP0871108A1 (en) * | 1991-03-11 | 1998-10-14 | Silicon Graphics, Inc. | Backward-compatible computer architecture with extended word size and address space |
EP0656592A1 (en) * | 1993-11-09 | 1995-06-07 | Motorola, Inc. | Memory access control for implementing protected memory regions |
US5623636A (en) * | 1993-11-09 | 1997-04-22 | Motorola Inc. | Data processing system and method for providing memory access protection using transparent translation registers and default attribute bits |
KR100338446B1 (en) * | 1993-11-09 | 2002-09-27 | 모토로라 인코포레이티드 | Methods and data processing systems that provide memory access control |
GB2461850A (en) * | 2008-07-10 | 2010-01-20 | Cambridge Consultants | Memory management unit with address translation for a range defined by upper and lower limits |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0253824B1 (en) | Paged memory management unit capable of selectively supporting multiple address spaces | |
US5317705A (en) | Apparatus and method for TLB purge reduction in a multi-level machine system | |
US6088780A (en) | Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address | |
KR920005280B1 (en) | High speed cache system | |
US4136385A (en) | Synonym control means for multiple virtual storage systems | |
US5752275A (en) | Translation look-aside buffer including a single page size translation unit | |
US4096573A (en) | DLAT Synonym control means for common portions of all address spaces | |
US5918250A (en) | Method and apparatus for preloading default address translation attributes | |
US6226732B1 (en) | Memory system architecture | |
US4763250A (en) | Paged memory management unit having variable number of translation table levels | |
US4890223A (en) | Paged memory management unit which evaluates access permissions when creating translator | |
US5475827A (en) | Dynamic look-aside table for multiple size pages | |
US5526504A (en) | Variable page size translation lookaside buffer | |
US6012132A (en) | Method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table | |
US6304944B1 (en) | Mechanism for storing system level attributes in a translation lookaside buffer | |
US5287475A (en) | Data processing apparatus operable in extended or unextended virtual address spaces without software modification | |
US6363336B1 (en) | Fine grain translation discrimination | |
JPH0628262A (en) | Look-aside buffer and method for high-speed translation of virtual address for physical address | |
CA1332984C (en) | Dual cache memory | |
JPH0685156B2 (en) | Address translator | |
JPS6134178B2 (en) | ||
US5226132A (en) | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system | |
US4888688A (en) | Dynamic disable mechanism for a memory management unit | |
US4766537A (en) | Paged memory management unit having stack change control register | |
WO1988002148A1 (en) | A transparent translation method and apparatus for use in a memory management unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP KR |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): DE FR GB |