The process of storing data so it can be quickly retrieved
Instructions are fetched from cache rather than secondary storage which is slower
A process where data is requested from main memory before it is actually needed
It needs to be created to predict with a high degree of accuracy that an instruction will be needed soon
- If the wrong data is fetched & cached it will have to be flushed which can take up more CPU time
- Maintaining the correct data sequence of instructions/data in these circumstances can be problematic
- Saves system resources
- lowers development cost
- reduces redundant code
- Already compiled, so they're tested and error free
- Can be used multiple times
- May require fewer developers to work on a program
- Saves work for programmers, reduces development time and cost
Where a system is linked to another system & enables other developers to use certain procedures and functions