A unidade de controle é um circuito digital que governa as operações e lida com todos os sinais de controle no processador de um computador. Ele permite que a unidade lógica, a memória e os periféricos de entrada e saída saibam como replicar os pedidos recebidos de um programa.Portanto, ele roteia todo o fluxo de entrada e saída, procura o código das operações do programa e direciona outras unidades enviando sinais de temporização e controle.
Uma unidade de controle atua admitindo os dados de entrada, que são transformados em sinais de controle e que são subsequentemente transmitidos ao processador central. O processador ordena aos diferentes dispositivos quais operações eles devem executar.
Fonte: pixabay.com
Esta unidade é o componente do processador que age como o seu cérebro, porque gera as instruções para quase todas as operações e garante que elas sejam executadas corretamente.
Exemplos de dispositivos que usam unidades de controle são a unidade central de processamento (CPU) e a unidade de processamento gráfico (GPU).
Componentes
Para executar uma ação, a unidade de controle da CPU deve produzir o sinal de controle necessário na seqüência correta. Existem duas abordagens usadas para gerar esses sinais de controle na sequência correta.
Unidade integrada
A unidade de controle consiste em portas lógicas, flip-flops, circuitos digitais, codificadores e decodificadores, que são conectados de maneira estabelecida.
Pode ser considerado como um aparelho de estado, que varia de estado para estado em cada ciclo do relógio, dependendo do conteúdo do registro de instruções e das entradas externas.
A saída deste aparelho de estado são os sinais de controle. A sequência de operações executadas por esta máquina é determinada pela fiação dos elementos lógicos. Por esse motivo, é chamado de “integrado”.
O design é baseado em uma arquitetura específica. Quando são necessárias alterações no conjunto de instruções, alterações na fiação e no circuito.
Essa é a base para a arquitetura de computação de um conjunto reduzido de instruções (RISC), que possui apenas um pequeno número de instruções.
Sinais de controle
Sinais de controle são essenciais para direcionar a execução das operações. Eles são difundidos por circuitos lógicos expressamente projetados, nos quais o método de geração de sinal não pode ser modificado sem uma alteração física da estrutura do circuito.
Os sinais de controle para executar uma operação devem ser disseminados não em um único momento, mas durante o período correspondente ao ciclo de execução da instrução.
O código de instrução de uma instrução inclui as informações básicas para espalhar o sinal de controle.
Decodificador de instruções
O código de operação é decodificado no decodificador de instruções. Isso consiste em um conjunto de decodificadores que decodificam os diferentes campos do código de operação da instrução.
O decodificador de instruções concorda que a unidade de controle entre no primeiro estado vinculado à execução da nova operação, que dura enquanto os sinais de temporização e outros sinais de entrada permanecerem inalterados.
Uma mudança de qualquer um dos sinais mencionados acima solicita que o estado da unidade de controle mude.
Como resultado, algumas linhas que deixam o decodificador de instruções adquirem valores no sinal. Essas linhas são acopladas ao dispositivo de geração de sinal de controle para as diferentes unidades do computador.
Repetir a organização dessas fases é que a ordem apropriada dos estados internos é estruturada na unidade de controle.
Quando uma nova instrução chega na unidade de controle, as unidades integradas estão no estado inicial para recuperar a nova instrução.
Unidade microprogramada
A diferença essencial dessa abordagem em relação à unidade integrada é a existência de um armazém de controle, que é usado para armazenar os microprogramas que incluem os sinais de controle codificados essenciais para a execução de uma operação.
O código de operação da instrução não será decodificado para criar imediatamente um sinal de controle, mas indicará o endereço de um microprograma armazenado no armazenamento de controle.
Ou seja, os sinais de controle anexados às instruções são armazenados em células de memória especiais como microprogramas substituíveis.
A unidade de controle microprogramada é mais lenta que a unidade integrada devido ao tempo necessário para restaurar as operações encontradas na unidade de memória.
Funções
É de responsabilidade da unidade de controle informar os dispositivos de entrada e saída, a memória principal e a unidade aritmética lógica do computador como replicar as operações que são emitidas para o processador.
Ele obtém as operações dos programas na memória e os leva ao registro do processador. Dependendo do que esse registro inclui, a unidade de controle cria um sinal que monitora o desempenho dessas operações.
Dependendo do tipo de operação que entra na unidade de controle, você pode alterar a quantidade e a ordem das etapas seqüenciais geradas para selecionar e configurar as partes da CPU que serão usadas para atingir o objetivo da operação, seja ela mover, modificar ou armazenar dados.
Esse processo de operações de decodificação é executado novamente quando o contador é incrementado para o próximo endereço salvo do programa. A partir desse endereço, a nova operação é inserida na unidade de controle e assim por diante até o final do programa.
Ilustração
As funções desempenhadas por uma unidade de controle estarão sujeitas ao tipo de CPU, devido às disparidades existentes na estrutura entre as diferentes marcas. O diagrama a seguir ilustra como as instruções de um programa são processadas.
Fonte: By Kapooht – Trabalho próprio, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=25789639
– Lida com várias tarefas, como busca e recuperação de instruções, decodificação, gerenciamento de execução e armazenamento de resultados.
– Receba as instruções ou comandos externos nos quais ele se converte em uma sequência de sinais de controle.
– Interprete as instruções.
– Controla a execução seqüencial de instruções.
– Coordena a sequência de movimentos de dados dentro, fora e entre as muitas subunidades do processador.
– Regula e controla a sincronização das unidades de execução, como a unidade lógica aritmética, e os armazenamentos e registros de dados contidos no processador.
– Envie e receba sinais de controle para outros dispositivos de computação.
– Direciona e controla o fluxo de dados através das diferentes áreas do computador.
Referências