Quando o processador precisa ler ou gravar em um local na memória principal, ele primeiro verifica se uma cópia desses dados está no cache. Em caso afirmativo, o processador lê ou grava imediatamente no cache, o que é muito mais rápido do que ler ou gravar na memória principal.
A maioria das CPUs modernas para desktops e servidores tem pelo menos três caches independentes: um cache de instruções para acelerar a busca de instruções executáveis, um cache de dados para acelerar a busca e armazenamento de dados e um TLB (Translation Lookaside Buffer) usado para acelerar conversão de endereço físico para instruções executáveis e dados. O cache de dados é geralmente organizado como uma hierarquia de mais níveis de cache (L1, L2, etc).Memória de trabalho são os dados reais usados pelo seu aplicativo (assim como uma cópia do próprio executável; que nos tempos antigos você era capaz de modificar livremente em tempo de execução, BTW). Essa é a única coisa com a qual você realmente precisa se preocupar como usuário de computador. Ele é armazenado na memória principal, que é (quase sempre) um objeto físico diferente no seu computador.
Os caches que eu falei aqui estão todos no seu processador (e é por isso que eles são mais rápidos para o seu processador acessar do que os módulos de RAM; o que é que ele tem que procurar se não encontrar o que precisa em o cache). Lembre-se que o cache de palavras é um termo muito genérico. Na computação, temos caches em todo o lugar, então você precisa ser específico quando estiver falando sobre caches.