Unidade de Controle (UC), responsável por gerar todos os sinais que controlam as operações no exterior do CPU, e ainda por dar todas as instruções para o correto funcionamento interno do CPU; a apoiá-la/o terá a colaboração de uma outra estrutura/actor (o decodificador de instruções).
A unidade de controle executa três ações básicas intrínsecas e pré-programadas pelo próprio fabricante do processador, são elas: busca (fetch), decodificação e execução.
Assim sendo, todo processador, ao iniciar sua operação, realiza uma operação cíclica, tendo como base essas três ações. Dependendo do tipo de microprocessador, a unidade de controle pode se ser fixa ou programável. A unidade fixa é aquela unidade que já vem com todo o conjunto de instrução programado em uma PLA que é construída pelo fabricante,dentro da UC.
Por exemplo: os microprocessadores 8080/8085/Z80/6800/6502 possuem unidade de controle fixa. Um exemplo de unidade de controle programável pode ser visto nos processadores conhecidos como Bit Slices, essa arquitectura, além de permitir a construção das partes do computator usando módulos básicos Bit slices, permite ao projetista de hardware programar seu próprio conjunto de instruções.
Inicialmente, a UC de controle fornece o endereço de memória de onde deve retirar um byte ou mais, conhecido como chunk, esse chunk pode conter um código de operação-opcode, ou um operando também conhecido como dado. Lembre-se, na primeira posição de memória deve sempre ser gravado um opcode, pois só o opcode pode informar para a UC qual ação deve ser tomada depois. Além de controlar a posição de memória que contém a instrução corrente que o computador está executando a UC, ao decodificar o opcode, informa à ULA qual operação a executar: soma ou subtração nos processadores de 8 bits. Nos processadores de 16 bits podem ser efectuadas as instruções de soma, subtração, divisão e multiplicação.
Em adição a essas operações que chamamos de aritméticas, a partir da decodificação do opcode, a UC tem a capacidade de realizar operações que denominamos operações lógicas, onde se incluem: E, Ou, Xor, comparação, deslocamento de bits para a direita e para a esquerda. Essas operações são basicamente as mesmas para grande maioria de microprocessadores que existem no mercado. Contudo, cada fabricante atribui a cada uma delas um mnemônico diferente, registra-os em um manual de instruções específico daquele processador, e o denomina conjunto de instruções.
Uma característica muito importante de nota é que a arquitetura de um processador pode ser orientada de dois tipos: por registrador ou para a memória. Se for orientada para registradores como no caso da arquitetura Intel, a ULA, após executar qualquer operação lógica ou aritmética, sempre vai armazenar o resultado no registrador acumulador. No caso de ser orientado para memória, como é o caso dos microprocessadores da Motorola, nem sempre o resultado é armazenado no acumulador, podendo esse ser armazenado em qualquer posição de memória. Terminada a primeira instrução, a unidade de controle auto incrementa um contador, chamado de contador de programa e vai para a próxima instrução (tipicamente localizada na próxima posição da memória (endereço de memória), a menos que a instrução seja uma instrução de desvio informando o computador que a próxima instrução está em outra posição).
Sem comentários:
Enviar um comentário