O coração do nosso projeto é a central que dispara e opera todos os comandos do nosso computador, tem por objetivo principal interpretar e executar os comandos do nosso software.
É um dos componentes mais sensíveis do nosso projeto, aqui o menor erro faz com que tudo simplesmente não funcione, além de ser difícil encontrar o erro.
Esta seção é composta de alguns componentes, sendo eles:
Registrador de instruções: um velho conhecido nosso, tem por objetivo guardar e persistir a instrução em execução naquele ciclo.
Program Counter: é o componente que dita (e incrementa) qual instrução vai ser executada naquele ciclo.
Contador de clock: dita em qual etapa de execução da instrução estamos (temos 5 etapas por padrão).
Controler: agrega todos os componentes acima e dita quais sinais cada componente vai receber naquela etapa de processamento.
Registrador de instruções
Esse registrador se difere um pouco dos outros pelo fato de, além de ter as entradas e saídas padrão, ele possuir uma saída especial que envia um sinal com os 4 bits mais significativos diretamente para o controlador.
Esse sinal contém o valor da instrução que vai ser executada dentro do ciclo de instrução.
Esquema deste componente:
Program Counter
Este componente não tem um nome muito assertivo, isso pode levar algumas pessoas à confusão, mas o seu funcionamento é muito simples.
Imagine um contador que começa em 0 e vai incrementando (somando mais um) sempre que você clica em um botão. Pois bem, essa é a função deste componente.
Este componente possui um valor interno que começa em 0 e vai incrementando sempre que termina o ciclo de instrução anterior, isso é importante quando se quer ler ou executar os dados da memória de forma sequencial (o padrão de quase todo software).
Apesar de ler os dados da memória de forma sequencial ser o modo padrão de execução, também é possível pular para qualquer outro valor definido no nosso software, chamamos isso de jump (ou pulo).
O valor contido dentro do contador de programa determina qual endereço de memória será lido no início do ciclo de instrução. Como o nosso contador sempre começa em 0, isso quer dizer que o nosso software sempre será escrito nos primeiros endereços de memória.
Esquema deste componente:
Contador de clock
O nosso computador contém um ciclo de máquina de 5 etapas, isso quer dizer que todas as instruções do nosso computador têm que ser executadas em 5 clocks ou menos.
Instruções mais complexas requerem mais ciclos para serem executadas, e instruções mais simples requerem poucos ciclos para serem executadas.
Este componente tem a função de informar em qual das 5 etapas de clock a instrução está, ele é um importante componente auxiliar do controlador.
Esquema deste componente:
Controller
Este componente é verboso tanto quanto sensível, mas apesar destas condições, o seu funcionamento é simples.
Este componente tem a função de receber um sinal de instrução e, a partir disto, ativar os componentes corretos para execução total da instrução.
Esquema deste componente:
Top comments (0)