small and fast memory used to hold selected data and to provide fast access (instructions used most frequently)
high speed memory where data from frequently used memory locations may be temporarily stored
creating hierarchical access techniques that takes advantage of smaller but faster memories