×

Write through virtual cache memory, alias addressing, and cache flushes

  • US 5,933,844 A
  • Filed: 04/25/1994
  • Issued: 08/03/1999
  • Est. Priority Date: 11/04/1991
  • Status: Expired due to Term
First Claim
Patent Images

1. In a computer system comprising a central processing unit (CPU) coupled to a cache memory and a main memory executing a plurality of processes, wherein cache hits/misses are based on virtual addresses and some of said virtual addresses are alias addresses to each other, a method for said CPU to update said cache and main memory that reduces cache flushings, said method comprising the steps of:

  • receiving by said cache memory a write signal and a virtual address from said CPU;

    determining by said cache memory if said virtual address results in a selected one of a write cache hit and a write cache miss based on said virtual address and mapping by said cache memory said virtual address to a physical address that identifies a memory location of a memory block of said main memory;

    providing by said cache memory a first control signal to an internal cache memory data array instructing said internal cache memory data array to accept a data byte from said CPU if said virtual address results in said write cache hit, said data byte being dispatched by said CPU to said cache memory, said data byte being cached in a cache line of said cache memory upon acceptance by said cache memory, said cache line being identified by said virtual address and corresponding to said memory block;

    providing by said cache memory said physical address and a second control signal to said main memory, said second control signal instructing said main memory to accept said data byte from said CPU and storing said data byte in said memory location, said data byte being also dispatched by said CPU to said main memory;

    determining by said cache memory if said main memory location identified by said physical address is a non-cacheable memory location of a non-cacheable memory block of said main memory; and

    waiting by said cache memory for the result of said non-cacheability determination, the result of said non-cacheability determination being available after the result of said cache hit/miss determination, then without detecting for alias addresses of said virtual address, conditionally flushing by said cache memory a cache line in which said memory block could have been cached if said virtual address results in said write cache miss and said memory location is not a non-cacheable memory location.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×