O que é uma unidade de controle?
Uma unidade de controle é o subcomponente da unidade central de processamento (CPU) que gerencia todas as ações executadas nessa área em um computador. É responsável por pegar as várias entradas do computador, instruções e dados e informar ao processador o que fazer com elas. Como a CPU é considerada o cérebro do computador, às vezes é chamada de cérebro dentro do cérebro. Dependendo da arquitetura das CPUs, a unidade de controle pode ter tarefas variadas para executar.
A unidade de controle é realmente composta de vários subcomponentes. Durante os dias conectados, toda essa fiação e circuitos formavam o que é conhecido como uma máquina de estado finito, um sistema com um propósito único de direcionar as operações do computador. Circuitos separados foram responsáveis pela decodificação e codificação das instruções, enquanto outros lidaram com a lógica ou contando as instruções nas quais a CPU trabalhou. Tudo aconteceu em ordem, onde o circuito lógico seria invertido de uma maneira ou de outra para direcionar as instruções para o armazenamento.
Uma instrução é buscada e decodificada e, em seguida, precisa ser executada em ordem, uma após a outra, até a conclusão. Em CPUs mais antigas, a instrução teria que passar por todo o processo e concluir o cálculo antes do início do próximo. Para acelerar o processamento, as CPUs modernas usam os chamados pipelines, onde cada etapa faz parte do pipeline. Enquanto uma instrução está na parte de execução do pipeline, outra já está na fase de decodificação e outra está sendo buscada. Para lidar com tudo isso, a unidade de controle também precisava desempenhar o papel de um multiplexador, na medida em que recebe várias entradas ou saídas e as direciona para dentro e fora da tubulação.
À medida que as CPUs dos computadores continuavam avançando, muito disso mudou drasticamente. O uso de microcódigo, pequenos programas que ficam na memória especial de somente alta velocidade de leitura na CPU, substituiu o antigo circuito conectado. Esses programas de baixo nível assumiram o trabalho demorado de religar fisicamente uma unidade de controle e simplificaram as alterações na arquitetura da CPU. Os microprogramas personalizados da unidade de controle, criados durante a fase de design da CPU, são os que permitem a arquitetura de um tipo específico de CPU.
Em geral, muitas das responsabilidades da unidade de controle dependem da arquitetura da CPU. Alguns podem simplesmente buscar, decodificar, coordenar a execução e direcionar a saída das instruções. Outros podem ter responsabilidades adicionais que envolvem conversão, o que pode desacelerar a CPU. Nesses casos, a unidade de controle pode ser dividida em componentes sucintos, como uma unidade de agendamento separada ou uma unidade de aposentadoria que se encarrega de organizar e armazenar os resultados da unidade lógica ritmética (ALU).