Aula 20 - Professor Diovani

Propaganda
Arquitetura e organização de
computadores
Microarquitetura – controle
Aula 20
Prof. Diovani Milhorim
Microarquitetura - controle
 Introdução
 O projeto do nível de microarquitetura depende:
 da arquitetura do conjunto das instruções a serem implementadas
 dos objetivos de custo e performance do computador que estiver sendo
projetado
 A maioria das ISAs modernas, em particular os projetos RISC, tem
instruções simples que podem ser executadas em um único ciclo de
clock
 As ISAs mais complexas, como a do Pentium, precisam de mais
ciclos para executar uma única instrução. Neste caso faz-se
necessário metodologias de sequenciamento de instruções mais
otimizados para melhorar a performance da máquina em termos de
tempo.
Microarquitetura - controle
 Temporização do caminho de dados
 O primeiro ciclo (explicito, do caminho de dados, apresentado na
figura), pode ser visto como um conjunto de subciclos implícitos
 O início do primeiro subciclo é marcado pela transição negativa do
clock.
Microarquitetura - controle
 Temporização do caminho de dados
 As atividades, junto com sua duração (entre parênteses), que
ocorrem durante os subciclos são:




Os sinais de controle são ativados (dw - leia delta w)
O barramento B é carregado a partir dos registradores (dx)
A UAL e o deslocador operam (dy)
O resultado da operação da UAL e do deslocador se propaga através
do barramento C em direção aos registradores (dz)
 O resultado é armazenado nos registradores na transição positiva
do próximo clock
Microarquitetura - controle
 Temporização do caminho de dados
 É de responsabilidade dos engenheiros de projeto assegurar que
essa transição positiva ocorra somente após passado o tempo
dw+dx+dy+dz. Caso contrário a carga dos registradores não é
realizada
Microarquitetura - controle
 Microinstruções
 Para controlar um caminho de dados, precisamos de um conjunto
de sinais de controle que atuam sobre os componentes do nível da
lógica digital.
Os valores desses sinais de controle especificam as operações a
serem executadas em um ciclo do caminho de dados.
A figura abaixo mostra um possível formato para agrupar os bits
de controle da nossa arquitetura em 6 grupos, e 36 sinais, assim
divididos:
Microarquitetura - controle
 Microinstruções
Microarquitetura - controle
 Microinstruções
 Endereço - contém o endereço da próxima instrução a ser
potencialmente ativada
 Desvio - determina como a próxima instrução será selecionada
 UAL - especifica as funções da UAL e do deslocador
 Barramento C - seleciona qual ou quais registradores serão
carregados com o valor que estiver no barramento C
 Memória - especifica as funções da memória (escrita, leitura ou
busca)
 Barramento B - seleciona a entrada do barramento B. Os 4 bits são
suficientes para selecionar um dos 9 registradores que
disponibilizará seus dados no barramento B.
Microarquitetura - controle
 Controle Microprogramado: o Mic-1

Para decidir quais dos sinais de controle devem ser habilitados
em cada ciclo faz-se necessário a inclusão de
um sequenciador em nossa arquitetura.
O sequenciador:
 é responsável pela execução de todos os passos necessários a
execução de 1 única instrução do nível ISA.
 produz dois tipos de informações a cada ciclo:
 1. O estado de cada sinal de controle do sistema
 2. O endereço da microinstrução que será executada em seguida
Microarquitetura - controle
A figura mostra o diagrama de blocos detalhado da microarquitetura Mic.
O diagrama de blocos tem 2 partes: O caminho de dados, à esquerda e a seção de
controle, à direita.
Microarquitetura - controle
 A memória de controle:
 É o ítem maior e mais importante da parte de controle da máquina
 Não deve ser confundida com a memória principal (RAM), acessível
via MBR e MDR
 Não precisa de sinais de leitura/escrita pois é uma memória ROM
(só de leitura)
 Guarda microinstruções, ao invés de instruções do nível ISA
 Tem 512 palavras, cada palavra contendo uma instrução de 36 bits.

As microinstruções não são executadas sequencialmente, como
as instruções da memória principal. Cada microinstrução especifica
explicitamente sua sucessora.
Microarquitetura - controle
 A memória de controle:
O endereço da próxima microinstrução é guardado no
registrador MPC (Microprogram Counter)
O registrador de dados da memória de controle é
chamado MIR (MicroInstruction Register). Sua função é armazenar
a microinstrução corrente cujos bits alimentam os sinais de controle
que operam o caminho de dados.
Microarquitetura - controle
Microarquitetura - controle
 Operação do esquema mostrado na figura;
 No início de cada ciclo (na descida do clock da fig 4.3) o MIR é
carregado com o conteúdo do endereço armazenado no MPC. O
tempo de carga do MIR é dw (leia delta w)
 Os sinais do MIR se propagam pelo caminho de dados, causando,
no tempo dx:




o carregamento de 1 dos registradores no barramento B
o carregamento do registrador H
a determinação da função a ser executada pela UAL
estabilização dos dados de entrada da UAL
Microarquitetura - controle
 Operação do esquema mostrado na figura 4.6
 A UAL e o deslocador operam os dados de entrada, durante o
tempo dy:
 As saídas da UAL e do deslocador são propagadas, durante o
tempo dz, e
 a saída do deslocador torna-se disponível e estável no barramento C
 os valores de N e Z são salvos em 1 par de flip-flops de 1 bit
Microarquitetura - controle
 Operação do esquema mostrado na figura 4.6

Na transição positiva do sinal de clock, da figura 4.3.
 os registradores são carregados com o conteúdo do barramento C
 os flip-flops N e Z são carregados pela UAL
 os registradores MBR e MDR recebem resultados da memória
 O valor de MPC é atualizado (veja detalhes abaixo) no tempo de
nível alto do clock.
 Volta ao passo 1 e o ciclo se repete até que alguem desligue a
máquina.
Microarquitetura - controle
Download