Nova Patents
EP0144121A2

Virtually addressed cache.

Abstract

Disclosed is a data processing system including virtual-addressed and real-addressed stores. One store is addressed with real addresses and the other store is addressed with virtual addresses. Whenever an addressed location is to be accessed in a store addressed by the other type of addresses, the address is translated to the other type of address. If a virtual address cannot access the desired location in the virtual store, the virtual address through a virtual-to-real translator is translated to a real address and the location is addressed in the real store. Whenever a real address needs to access a virtual address location in the virtual-addressed store, the real address is converted through a real-to-virtual translator in order to locate corresponding locations in the virtual-addressed memory.

EP0144121A2, drawing sheet 1
Sheet 1 of 27

Term

Term ended

Projected expiry passed 29 August 2004, 22.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

9 claims: 3 independent, 6 dependent

  1. 1
    A memory unit for use in a data processing system where the data processing system specifies memory locations with virtual addresses, the memory apparatus comprising, a virtual store addressed by virtual addresses, a real store addressed by real addresses, a virtual-to-real translator for translating virtual addresses to provide real addresses, a real-to-virtual address translator for translating real addresses to virtual addresses, control means for causing said virtual-to-real translator to provide a translation whenever a real address corresponding to a virtual address is required and causing said real-to-virtual translator to provide a translation whenever a virtual address corresponding to a real address is required.
  2. 2
    A memory unit for use in a data processing system where the data processing system specifies memory locations with virtual addresses, the memory apparatus comprising, a virtual store addressed by virtual addresses, including at each location a tag field and a corresponding data field, said tag field, for storing tags identifying addresses resident in said.virtual store virtual address, a real store addressed by real addresses, a virtual-to-real translator for translating virtual addresses to provide real addresses, said translator including a translation lookaside buffer for storing real addresses corresponding to virtual addresses, a real-to-virtual address translator for translating real addresses to virtual addresses, control means for causing a real address to be accessed from said translation lookaside buffer and, if unavailable in said buffer for causing said virtual-to-real translator to provide a translation whenever a real address corresponding to a virtual address is required and for causing said real-to-virtual translator to provide a translation whenever a virtual address corresponding to a real address is required, a comparator for comparing the tags stored in said tag field of said virtual store with a tag field in the virtual address to provide a data match signal when the virtual address location is resident in said virtual store.
  3. 3
    A memory unit for use in a data processing system where the data processing system specifies memory locations with virtual addresses, the memory apparatus comprising, a virtual store addressed by virtual addresses, a virtual address register for providing virtual addresses to address said virtual store, a real store addressed by real addresses, a real address register for providing real addresses to address said real store, a virtual-to-real translator for translating virtual addresses in said virtual address register to provide real addresses in said real address register, a real-to-virtual address translator for translating real addresses in said real address register to provide virtual addresses in said virtual address register, control means for causing said virtual-to-real translator to provide a translation whenever a real address corresponding to a virtual address is required causing said real-to-virtual translator to provide a translation whenever a virtual address corresponding to a real address is required.
  4. 4
    The memory unit of Claim 3 wherein said virtual memory includes at each location a tag field and a corresponding data field, said tag field for storing tags identifying addresses resident in said virtual store and wherein said virtual address register includes a first field identifying the address of requested locations in the virtual memory, said memory unit further including a comparator for comparing the tags stored in said tag field of said virtual store with a second field in the virtual address register to provide a data match signal when the virtual address location is resident in said virtual store.
  5. 5
    The memory unit of Claim 4 wherein said first and said second fields overlap in a third field comprised of portions of said first and second fields.
  6. 6
    The memory unit of Claim 4 including means responsive to the absence of a data match signal for getting a real address from said virtual-to-real translator to said real address register for addressing said real store.
  7. 7
    The memory unit of Claim 4 including means for storing data into said virtual store at a virtual address ' corresponding to a real address in said real address register, means for enabling said real-to-virtual address translator to provide one or more of said virtual addresses corresponding to the real address in said real address register.
  8. 8
    The memory unit of Claim 7 including means for moving out data from said virtual store at any virtual addresses provided by the real-to-virtual translator in response to a move-in of data at the real address in said real address register.
  9. 9
    The memory unit of Claim 7 including means for setting validity bits in each of the virtual addresses provided by said real-to-virtual translator in response to a move-in of data at a real address in said real address register.