A cache memory for use in a multiprocessing system in which a number of processing units connect in common to share a main memory, said main memory being divided into a number of segments in which each segment includes a plurality of pages, each containing a plurality of blocks, each of which has a plurality of words, said cache memory being coupled to one of said processing units for providing fast access information fetched from said main memory in response to requests for information received from said one processing unit, each request including an input address for identifying the information words to be accessed from said cache memory, said cache memory comprising:
- a plurality of content addressable memories, each having an input and an output and containing a plurality of locations for storing address information pertaining to each of a predetermined number of said plurality of pages, a first one of said content addressable memories having said input coupled to receive said input address from said one processing unit;
- a plurality of directly addressable random access memories, each having an input and an output and containing a plurality of locations for storing address, control and data information pertaining to each of said plurality of pages;
- a common internal bus connecting said output of said first one of said content addressable memories, said input of each of the remaining content addressable and said input of each of said directly addressable memories in common;
- and,
- cache control means coupled to receive said requests from said one processing unit, said cache control means being operative in response to each request for information to apply a first portion of said input address corresponding to an effective address only to said first one of said content addressable memories, said first content addressable memory being operative upon detecting a hit condition indicating that the page containing the requested information resides in cache memory to generate a page level value on said bus identifying where information is stored in said content addressable and directly addressable memories pertinent to said page, said cache control means applying said page level number value together with other portions of said input address as a cache address to other ones of said content addressable and directly addressable memories as required for reading out the requested information words to said one processing unit.