A system for use in a system-in-package device (SiP) including a dual-core processor, the system comprising:
- a first cache memory of Level 1 on a first die of the SiP, the first cache memory implemented in a multiple-way set association and including a first tag random access memory (RAM) with at least two identical tag RAM arrays, for storing one or more tags corresponding to data stored in different sets of the first cache memory;
- a second cache memory of a level different from Level 1, the second cache memory implemented in a multiple-way set association and including a first portion of the second cache memory on the first die of the SiP, and an extension portion of the second cache memory on a second die of the SiP, the first portion of the second cache memory including a data RAM, the second cache memory including a second tag RAM with at least two identical tag RAM arrays for storing one or more tags corresponding to data stored in the different sets of the second cache memory;
- a control logic circuit coupled to the first and second cache memories and configured to control a multiplexer for outputting data from either of the first and second cache memories;
- and
- wherein the first and second cache memories are coupled to a single physical address,
- wherein the second cache memory is a shared cache for the dual-core processor,
- wherein the single physical address is divided into a first number of tag bits, a second number of index bits, and a third number of offset bits associated with the first tag RAM of the first cache memory;
- wherein the single physical address is divided into a fourth number of tag bits, a fifth number of index bits, and a sixth number of offset bits associated with the second tag RAM of the second cache memory,
- wherein one of a first ratio of the first number to the second number and a second ratio of the fourth number to the fifth number is greater than one, and the other of the first and second ratios is greater than two,
- wherein the third number is equal to the sixth number, and
- wherein the first number of tag bits and second number of index bits of the physical address provided to the first tag RAM of the first cache memory are different from the fourth number of tag bits and fifth number of index bits provided to the second tag RAM of the second cache memory, such that both the first cache memory of Level 1and the second cache memory can be checked concurrently for data availability by the single physical address;
- wherein the processor is configured to:
- randomize a write-physical-address associated with data-to-store to generate a cache memory selection bit;
- and
- select a write-cache-memory from the first and second cache memories based on the cache memory selection bit for storing the data-to-store.