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 PDF

Info

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
Application number
PCT/US1987/001341
Other languages
French (fr)
Inventor
William C. Moyer
Edward J. Ii. Rupp
David W. Trissel
Anantakotiraju Vegesna
Russell C. Stanphill
Original Assignee
Motorola, Inc.
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 Motorola, Inc. filed Critical Motorola, Inc.
Publication of WO1988002148A1 publication Critical patent/WO1988002148A1/en

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/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/206Memory 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

CLAIMS What is claimed is:
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.
PCT/US1987/001341 1986-09-15 1987-06-08 A transparent translation method and apparatus for use in a memory management unit WO1988002148A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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