Memória do tipo SRAM (Memoria Estática) de alta velocidade que fica localizada dentro do
processador. Armazena dados e instruções que possam vir a ser utilizados pelo processador.
O principal objetivo da utilização de memória cache é aumentar o desempenho na busca de dados e
instruções que estão armazenados na memória RAM.
NIVEIS
O Cache de memória pode ser classificado em níveis, de acordo com sua proximidade das unidades
de execução do processador (L1, L2, L3).
Unificada: tanto dados quanto instruções são armazenados no mesmo cache. Dividida: há um cache
de memória para dados e outro cache para instruções.
Funcionamento
A princípio quando a primeira instrução a memória cache está
vazia, ocorrendo um erro do cache ao prever qual instrução o
processador precisaria (miss). Então o processador irá buscar na
memória principal a instrução necessária, e todo o bloco de
instruções da qual a instrução necessária pertence será
armazenado no cache. Prevendo assim que a sequência da
execução será as próximas instruções daquele mesmo bloco. Daí
em diante quando for requisitada a próxima instrução, ela já estará
armazenada na memória cache, evitando que a CPU tenha que
fazer outra busca lenta na memória principal. Quando a CPU busca
uma instrução e a encontra no cache, dizemos que houve um
acerto (hit).
Arquitetura
Cache com Mapeamento Direto: o controlador de cache divide o
cache de memória em blocos do tamanho de uma linha. E a
memória RAM será dividida em blocos do tamanho da memória
cache. Cada linha do cache apontara para sua linha
correspondente dentro do bloco de memória RAM.
Cache Associativo por Grupos: é a solução com melhor
desempenho atualmente. Reunindo as vantagens dos dois
métodos anteriores.
Cache com Mapeamento totalmente associativo: a memória RAM não
é dívida em blocos, somente em linhas. As linhas do cache de
memória poderão armazenar qualquer linha da RAM, independente
da sua localização.
Registradores
são unidades de memórias disponíveis para armazenar uma certa quantidade de bits. Estes são mais
caros e possuem um maior desempenho que uma outra memória qualquer, sendo utilizado na
execução de programas para que os dados necessários ao processador esteja o mais próximo
possível das outras unidades existentes na CPU agilizando todo o processo.
Uso Geral
Acumulador
O acumulador é um dos registradores da CPU, no
qual se armazena (registra) os resultados de
alguma operação aritmética (a saída da ULA
(unidade lógica aritmética) é ligada nela).
Base
Este tipo de registrador oferece aos
programadores um subterfúgio para a criação de
"ponteiros" (variáveis, contendo o caminho para
um endereço no software).
Contador
Chamado de “Contador”, como o nome já diz é usado
como contador, principalmente para controlar loops.
Dados
Normalmente usado para armazenar
informações de entrada e saída. Também
armazena parte do resultado de operações
de multiplicação e divisão de números
inteiros.
Segmentos
São usados para armazenar o segmento do endereço
de memoria a ser acesso quando o processador está
no modo real e, portanto, usando o sistema segmento
offset. Pode ainda ser utilizado como um seletor de
semento quando o processador esta no modo
protegido.
Indices
No modo Real, os registradores de índice podem ser usados
para armazenar o deslocamento, isto é, o valor offset do
sistema de endereçamento segmento:offset. Estes registradores
podem ser utilizados como registradores de uso geral.
Controle
Os registradores são usados para armazenar o
modo de operação do processador e as
características da tarefa sendo executada no
momento.