organização e arquitetura de computadores i parte de controle ivan saraiva silva milano gadelha
TRANSCRIPT
Organização e Arquitetura de Computadores I
Parte de ControleIvan Saraiva Silva
Milano Gadelha
Sumário
• Introdução
• Topologia da parte de controle
• Implementação da PC
• Exemplo de Implementação
• Controle do MIC
• Lógica de Seqüenciamento do MIC
Introdução
• A parte de controle define, ciclo-a-ciclo, a seqüência de operações elementares executadas pela Parte Operativa
• Uma operação elementar é definida pelo conjunto de sinais que controlam em um ciclo o uso dos recursos da Parte Operativa.
• Uma Unidade de Controle (Parte de Controle) pode ser projetada– Como uma memória de microprograma– Como uma máquina de estados finitos
Topologia da Parte de Controle
• A Parte de Controle pode ser vista como uma Máquina de Moore.– O estado atual define as computações a serem
executadas no ciclo atual.– A função próximo estado depende apenas do
Estado Atual
• Maquina Meale– Próximo estado é definido por:
• Resultados de Computações do estado atual• Entradas Primárias do sistema.
Topologia da Parte de Controle
Funçãode
Saída
PO
FunçãoPróximoEstado
tsetFFtpFPEtpPOtpFStoFFfrel 1
EstadoAtual
Implementações da PC
• Diagrama de transição de estados– Especifica estados existentes– Especifica as condições de transição entre o
estados– Esconde uma tabela de transição de estado que
mostra a implementação real
Implementações da PC
• Diagrama de transição de estados– O estado atual é representado em um círculo
• Cada estado pode ser rotulado da seguinte forma– Nome/Saída_produzida
– Mudanças de estado são indicadas por setas direcionais do estado atual para o próximo;
– Variáveis de entrada e saída, em cada transição estado são representadas ao lado da seta, separadas por barra
Exemplo de Implementação
• Reconhecedor de seqüências de uns– Uma entrada de um bit– Uma saída de um bit– A saída é “1” se:
– O bit de entrada atual é “1” e– Pelo menos os dois últimos bits da entrada
foram “1”.
1 1In Out
Exemplo de Implementação
A/0
/Iniciar
Iniciar
B/0
/Bit
C/0
Bit
E/1
Bit
/Bit
Bit
D/0/Bit
Bit
/Bit
Exemplo de Implementação
• Para desenvolvermos uma tabela de estado – Representar em coluna as 2n combinações da
variável “estado atual”– Representar em linha as 2m combinações das
variáveis de entrada– Na interseção linha/coluna representar,
separados por barra, o próximo estado e os valores de saída do estado aual
Exemplo de Implementação
/I /Bit
/I Bit
I /Bit
I Bit
C DA B
A/0
B/0 B/0
D/0
B/0
E/0
E
A/0
B/0 B/1
B/0 C/0 E/1
Exemplo de Implementação
/I /Bit
/I Bit
I /Bit
I Bit
C DA B
A/0
B/0 A/0
D/0
A/0
E/0
E
A/0
A/0 A/1
B/0 C/0 E/1
A/0 A/0A/0 A/1
A/0 A/0A/0 A/1
Exemplo de Implementação
A/0
/Iniciar
Iniciar
B/0/Bit C/0
Bit
E/1
Bit
/Bit
Bit
D/0/Bit
Bit
/Bit
/I
/I
/I/I
Controle do MIC
• A Unidade de controle do MIC não é baseada em máquinas de estado• O MIC utiliza um controle
microprogramado – Que significa um programa que interpreta as
instruções do MIC– O microprograma representa uma visão abstrata
da arquitetura
Microprograma
• Microprogramação envolve:– Memória de microprograma– Códigos de microprograma
• Microisntruções
– Sequenciamento de microinstruções• Corresponde a execução sequencial do microprograma
• Microinstrução– Palavra armazenada na memória de microprograma que
“gera” um conjunto de sinais de controle para cada microtarefa executada na arquitetura.
Controle do MIC
• Relembrando a interface PC-PO do MIC – AMUX: Controla a entrada do multiplexador– ALU: Define a operação da ULA– SH: Define se há deslocamento e a direção– MBR: Habilita escrita no MBR a partir do deslocador– MAR: Habilita escrita no MAR a partir do latch B – RD: Requisita leitura da memória– WR: Requisita escrita na memória– ENC: Controla armazenamento nos registradores– A, B e C : Endereços de leitura (A e B) e escrita (C)
nos registradores
Controle do MIC
MAR MBR
PC
AC
SP
IR
TIR 0 1 -1 A
AM
BM
B C FD EZ N
C
UL
A
16
RD WR
Controle do MIC
• A unidade de controle do MIC deve gerar, a cada ciclo, todos os sinais .
MIR
MicroMEM
Memóriade Controle
Registradorde Controle
SeqüenciadorRegistradorMPC
Lógica deCálculo do MPC
Controle do MIC
MEMORIA
AMUX
ALU
SH
MBR
MAR
RD
WR
ENC
ABC
MPC
“1”
+
COND
ADDR
Lógica de Seqüenciamento do MIC
• Depende do código na micro-instrução atual do campo COND
• COND = 0 – Próxima instrução estará em MPC+1
• COND = 1 – Próxima instrução estará em ADDR se N = 1, senão estará em MPC + 1
• COND = 2 – Próxima instrução estará em ADDR se Z = 1, senão estará em MPC + 1
• COND = 3 – Próxima instrução estará em ADDR
Exemplo de Microprograma
• Instrução LODD X– Significado: AC :=
(M(x)) – conteudo da posição de memória X.
– Código de operação da instrução LODD “0000”
1. mar := pc; rd;2. pc : pc + 1; rd;3. ir := mbr; if n goto 28;4. tir := lshift(ir + ir); if n
goto 19;5. tir := lshift(tir); if n goto
11;6. alu := tir; if n goto 9;7. mar := ir; rd;8. rd;9. ac := mbr; goto 1;
Tarefas recomendadas
• Leitura do texto sobre sistemas seqüências que está na página do curso
• Leitura do material de apoio distribuído na sala de aula