Why do we need cache memories, and why L1 cache has greater memory than L2 cache ?
Caches is a intermediate memory which is required to hold data. This provide faster performance by hardware. In computer cpu has registers then caches. L1 Come first then L2 and then L3 and so one. In last it has access to Ram. The more near to cpu the more it is faster. If we eliminate the register and cache memory and consider ram is only source for temporary storage then cpu will take longer time to process the application which effect the computer performace badly.
As the near to cpu the most faster they are , which make register very fast. but it is very costly to build register so cache was introduced to take extra heavy burden.
L1 can have more or less memory the L2. But L1 memory is faster because it is present in each single cpu. If you have multi core cpu then you will have multiple L1 cache. L2 on other hand is shared among all cpu cores.
If the size of L1 was the same or bigger than the size of L2, then L2 could not accomodate for more cache lines than L1, and would not be able to deal with L1 cache misses.
Thanks for the info.