Com o projeto da calculadora completo temos o seguinte problema:
Todos procedimentos para a realização de cálculos necessitam de alguém para ativar e desativar os controladores de barramento no tempo e sequência correta para conseguir um bom funcionamento. Porém, para múltiplos cálculos ou cálculos mais complexos a realização desses procedimentos se torna um problema.
Portanto, para solucionarmos esse problema devemos criaremos um bloco que irá controlar as informações presentes no barramento e que será responsável por gerenciar todos componentes da nossa calculadora. Vemos na figura abaixo que a Unidade de Controle tem um papel fundamental para conseguirmos automatizar tarefas .
Abaixo vemos o circuito final da calculadora com a inserção da Unidade de Controle. O bloco de controle possui duas entradas, uma corresponde ao clock, que é o responsável pela sincronização de todas operações a serem realizadas, e o reset para iniciar uma nova rotina de operações. E possui duas saídas, uma corresponde aos sinais (ou seja, codificamos cada um dos componentes, e esses componentes são ativados a partir dessa primeira saída) e a outra são de literais, valores numéricos que podem ser enviados ao barramento principal, podem ser usados para acessar sempre posições específicas da memória RAM (acessar a posição 1 para armazenar um valor ou utilizar o conteúdo presente nela) ou em operações fixas na ULA (Somar 1).
Agora iremos nos aprofundar na Unidade de Controle para mostrar toda a sua arquitetura e funções.