La memoria cache, in informatica è una memoria veloce relativamente piccola, non visibile al software, cioè completamente gestita dall'hardware, che memorizza i dati più recentemente usati (MRU - Most Recent Used) della memoria principale (MM - Main Memory) o memoria di lavoro del sistema.
CPU cache
"CPU cache" è un termine non comune ed è raramente o per niente usato sia in letteratura che negli ambienti industriali tra gli esperti del settore. Per esempio, nei documenti relativi ai brevetti (USA), il termine "CPU cache" è usato meno del 2% dei casi rispetto al termine "Cache Memory" (83%) e "Memory Cache" (15%). La Cache Memory è una funzione associata ad una memoria e non ad uno specifico utente di questa funzione. Questa funzione può essere usata da una CPU, o in Shared Cache da un gruppo di CPU o Core o Nodi, o anche associata a un gruppo di memorie remote nei sistemi NUMA, o in generale da qualsiasi device che può accedere ad una memoria principale. Il termine "CPU cache" è perciò troppo restrittivo e quindi inappropriato (vedi per es. Cache remota - cache delle memorie remote).
La funzione della memoria cache è di velocizzare gli accessi alla memoria principale aumentando le prestazioni del sistema. Inoltre nei sistemi multiprocessori con memoria condivisa (shared), permette di ridurre il traffico del bus di sistema e della memoria principale che è uno dei maggiori colli di bottiglia di questi sistemi.
La memoria cache fa uso della tecnologia veloce SRAM (static random-access memory), contro una più lenta DRAM (dynamic random-access memory) della memoria principale, connessa direttamente al processore.