small and fast memory used to hold selected data and to provide fast access (instructions used most frequently)
small, fast memory to hold select data for faster access then would be possible otherwise.
creating hierarchical access techniques that takes advantage of smaller but faster memories