Caches
by Conrad Gomes on
Let’s talk about the cache and its requirement in a computing system. The word cache is derived from the french word cacher which means to hide.
In a nutshell it’s a memory subsystem which improves the speed of execution of a thread by providing faster access to instructions and data based on their temporal and spacial characteristics in the program.
With memory there’s typically a trade off between space and time. If speed is required then the storage capacity of the memory reduces particularly because the cost of the memory goes up with speed.
So system designers often incorporate a cache in between the processor and main memory which can significantly improve the speed at which memory access occurs.
The cache can be of different levels typically most processors these days have an inbuilt cache termed as L1 which is the smallest memory device in the hierarchy of memory in the system. Some processors like ARM Cortex’s A series have an in built L2 cache also.
There are several popular designs for caches. The following videos give a very nice description of the different types of caches: