Pergunta

Como exatamente a unidade de controle na CPU recupera dados dos registros?Retrieve bit bit?

Por exemplo, se estou adicionando dois números, A + B, como o cálculo ocorre no nível da memória?

Foi útil?

Solução

Digamos que você tenha um processador com dezesseis registros de 32 bits e uma unidade que pode adicionar inteiros de 32 bits. Uma maneira muito simplificada de adicionar registro x e registrar y e armazenar o resultado no registro Z é este:

Primeiro, você constrói hardware que, dado um número X, pode escolher o primeiro bit de registro x e movê-lo para o primeiro bit de "operand1". Isso é realmente bastante complicado porque x pode ser um dos 16 valores, e o hardware deve ser capaz de ler o primeiro bit de qualquer um dos 16 registros.

Segundo, você assume este hardware e faz 32 cópias, uma cópia para cada bit em um registro. Agora temos algum hardware bastante complexo que pode mover 32 de 512 bits.

Terceiro, duplicamos tudo isso com as alterações apropriadas para mover registrar y para "operand2".

Quarto, construímos hardware que podem adicionar operand1 e operand2 e armazenar a soma em uma localização de 32 bits "saída"

e quinto, construímos o hardware que pode assumir o valor em "saída" e guarde-o no registro z.

Outras dicas

A CPU tem acesso direto aos registros.Se A e B já estiverem nos registros, a CPU pode executar a adição diretamente (através da unidade lógica aritmética) e armazenar a saída em um dos registros.Nenhum acesso à memória é necessário.No entanto, você pode querer mover seus dados A e B da memória ou da pilha para os registros e vice-versa.Estas são operações separadas.

Registros podem ser de tamanhos diferentes 8 a 64 bits, isso depende da sua arquitetura da CPU.Em um X86-64 CPU Registers são 64 bits, portanto, adição de dois números de 64 bits é uma única operação.

( CPU Registers são considerados parte da CPU com mais frequência do que a memória. Sincentantemente, o endereçamento é muito diferente.)
A unidade de controle geralmente não acessa valores de registros de propósito geral:
Controla os valores de registro de alimentação para, por exemplo, a ALU.Pela palavra .
(Lá tem sido coisas como o DEC PDP-8 / S ou Motorola 14500.)

arquitetura ( "lógico" registradores ), e há implementação , onde Registrar Renomear Resumos Registros lógicos de registros físicos.
As instruções de dois operandos dão origem a várias portas de leitura .
(Em seguida, há paralelismo de nível de instrução , várias portas de gravação também).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top