Quando uma CPU envia um endereço para a memória

0

Eu li que é assim que uma CPU recupera informações da memória.

  1. Envie um endereço no barramento de endereços para a memória.
  2. Envie um sinal de controle de leitura no barramento de controle para a memória.
  3. A memória envia os dados no endereço no barramento de dados de volta para a CPU.

Eu estava imaginando, quando a CPU envia um endereço na memória, é simplesmente selecionar quais partes da memória ficam conectadas ao barramento de dados, para que quando a memória obtiver um sinal de controle de leitura, o que estiver lá seja automaticamente despejado nos dados ônibus?

tony_sid
fonte
CPUs modernas não enviam mais endereços; eles deixam o controlador de memória lidar com isso.
Ignacio Vazquez-Abrams
Quando eles começaram a fazer isso? Como o controlador de memória sabe qual endereço enviar?
tony_sid
1
Eles começaram a fazer isso uma vez CPUs tem forma demasiado rápida para a RAM. O controlador de memória escuta solicitações de endereço da CPU e "adivinha" quais locais de memória ele solicitará a seguir.
Ignacio Vazquez-Abrams
Então o controlador de memória é como um cache?
tony_sid
Ele alimenta o cache dos dados que ele acha que a CPU precisará.
Ignacio Vazquez-Abrams

Respostas:

1

Nos tempos antigos (1970 e 1980) é muito parecido com o modo como as coisas geralmente funcionavam. Essencialmente, o barramento de memória do computador compreenderia vários fios de endereço (tipicamente 16, 20, 24 ou 32), um certo número de fios de dados (normalmente 8, 16 ou 32) e alguns sinais de controle. Havia algumas variações nos sinais de controle, mas o padrão típico era que, para uma leitura, o processador colocaria um endereço no barramento de endereços, flutuaria o barramento de dados (permitindo que outros dispositivos o conduzissem), ajustasse os sinais de controle de maneira indicando uma leitura de memória e, algum tempo depois, pegue quaisquer sinais que estejam no barramento de endereços como dados de leitura e então libere os sinais de controle. Para uma gravação, o processador colocaria o endereço no barramento de endereços, ajustaria os sinais de controle para indicar uma gravação, colocaria os dados apropriados no barramento de dados, libere os sinais de controle indicando uma gravação e, em seguida, flutue o barramento de dados. Alguns processadores permitem acessos de E / S, que são semelhantes aos acessos à memória, exceto fios especiais que indicam se um determinado acesso é uma memória ou acesso de E / S.

Normalmente, o sistema teria vários dispositivos de memória ou periféricos conectados ao barramento de memória, cada um com um sinal de seleção de chip conectado a alguma lógica do decodificador. A lógica do decodificador determinaria cada sinal de seleção de chip sempre que um determinado intervalo de memória ou endereços de E / S fosse selecionado. Cada chip ignorará o conteúdo do endereço e dos barramentos de dados, exceto quando o fio de seleção de chip for ativado.

Começando nos anos 90 (até certo ponto antes disso), os sistemas adicionaram mais algumas camadas entre os processadores e o sistema de memória. Os sistemas de memória de processador de hoje provavelmente seriam irreconhecíveis para pessoas que só estavam familiarizadas com as dos anos 80.

supercat
fonte