UNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO Adão de Melo Neto 1
INTRODUÇÃO O objetivo é mostrar como a unidade de controle controla a execução de cada instrução em ASSEMBLY. Atividades da Unidade de Controle: Gerar sinais externos para comandar transferência de dados (entre processador/memória e processador E/S). Gerar sinais internos para mover dados entre registradores, para comandar a ULA e para controlar outras operações internas. Entradas da Unidade de Controle: Registrador de Instrução (RI) Bits de condição Sinais de controle gerados por fontes externas (p.ex. sinais de interrupção). 2
INTRODUÇÃO Sinal de CONTROLE da movimentação de dados entre registradores Sinal de controle da transferência de dados Registrador de instrução Unidade de controle Sinal de controle da ULA 3
INTRODUÇÃO Um computador, ao executar um programa, realiza uma sequencia de ciclos (de instrução). Em cada ciclo é executada uma instrução de máquina (instrução em assembly) Cada ciclo de instrução envolve uma sequencia de passos menores, ou seja, operações fundamentais denominadas microoperações (operações simples). Uma microoperação envolve a transferência de dados entre registradores, entre um registrador e um barramento externo ou uma operação simples da ULA. A unidade de controle efetua duas tarefas: Fazer com que o processador execute as microoperações na sequencia apropriada, determinada pelo programa que está sendo executado. Gerar sinais de controle que causam a execução da microoperação. 4
FUNÇÃO DE CONTROLE DA UCP 5
FUNÇÃO DE CONTROLE DA UCP 6
FUNÇÃO DE CONTROLE DA UCP CICLO DE RELÓGIO: Um ciclo de relógio (gerado por um cristal de quartzo) é o intervalo de tempo entre o início de um pulso e o início do seguinte. Em um ciclo é executada uma instrução. Uma operação elementar (microoperação) de uma instrução (movimentação de dados entre registradores) realiza-se em um passo no ciclo de instrução (busca da instrução de uma instrução de SOMA por exemplo) e, por essa razão, costuma-se dividir o ciclo em subciclos defasados no tempo, de modo que cada um aciona um passo diferente da instrução. 7
CICLO DE BUSCA DA INSTRUÇÃO Busca da Instrução Busca do Operandos Execução Interrupção 9
CICLO DE BUSCA DA INSTRUÇÃO Ocorre no início de cada ciclo de instrução. Sequencia de eventos de um ciclo de busca. O endereço da próxima instrução é 000000001100110 10
CICLO DE BUSCA DA INSTRUÇÃO O ciclo de busca possui três passos e quatro microoperações. Cada microoperação envolve a movimentação de dados de ou para um registrador. Se essas movimentações não interferem umas com as outras, elas podem ser executadas em um único passo, economizando tempo de processamento. Cada microoperação é executada dentro de uma unidade de tempo definida pelo relógio do computador I = tamanho da instrução 11
CICLO DE BUSCA DO OPERANDO Supor formato de instrução de 01 endereço de operando OPCODE endereço do operando (endereçamento indireto) Supor que a instrução esteja usando o endereçamento indireto. O fluxo de dados inclui as seguintes microoperações. O REM é carregado com o conteúdo do endereço do operando contido no RI (endereçamento indireto) O RDM é carregado com o endereço direto do operando Finalmente o campo endereço do IR é atualizado com o endereço direto do operando de modo que contenha agora um endereço direto e não mais um endereço indireto 12
CICLO DE INTERRUPÇÃO Depois de completado o ciclo de execução é feito um teste para ver se existe alguma interrupção habilitada. Em caso afirmativo, ocorre um ciclo de interrupção.
CICLO DE EXECUÇÃO Os ciclos de busca da instrução, do operando e de interrupção são previsíveis. Isso não ocorre no caso ciclo de execução que depende da instrução que vai depender da instrução que será executada.
CICLO DE EXECUÇÃO Os ciclos de busca da instrução, do operando e de interrupção são previsíveis. Isso não ocorre no caso ciclo de execução que depende da instrução que vai depender da instrução que será executada.
CICLO DE INSTRUÇÃO Vimos que cada fase do ciclo de instrução pode ser decomposta em uma sequencia de microoperações: (A) Microoperações de busca da instrução, busca do operando e execução da interrupção (que são únicas) E (B) Microoperações referentes a cada instrução em ASSEMBLY.
CICLO DE INSTRUÇÃO Ao final de cada de cada um dos 04 ciclos o ICC é atualizado apropriadamente
UNIDADE DE CONTROLE A unidade de controle (A) dirige o processador na execução de uma série de microoperações, na sequencia apropriada, com base no programa que está sendo executado e (B) faz com que cada microperação seja executada Pode ser constatado que todas as microoperações caem em uma das seguintes categorias.
UNIDADE DE CONTROLE Na figura abaixo temos um modelo genérico de unidade de controle.