arquitectura de computadores (acom) - autenticação · unidade de controlo prof. nuno roma acom...
TRANSCRIPT
Arquitectura de Computadores(ACom)
MEAer
Acetatos das Aulas Teoricas
Versao 4.0 - Portugues
Aula No 12:
Tıtulo: Unidade de Controlo
Sumario: Micro-operacoes sobre uma unidade de processamento; Circuitode controlo; Maquinas de estado; Controlo de sistemas pro-gramaveis; Controlo microprogramado.
2014/2015
Unidade de Controlo
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 1 / 42
Arquitectura de Computadores(ACom)
Aula Anterior
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 2 / 42
Na aula anterior...
� Unidade de processamento de um processador:
◮ Banco de registos◮ Unidade Logica e Aritmetica - ULA
Arithmetic and Logic Unit - ALU
� Estrutura de uma ULA:
◮ Unidade aritmetica:
• somador• subtractor• multiplicador• divisor
◮ Unidade logica◮ Unidade de deslocamento
Road Map
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 3 / 42
Planeamento
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 4 / 42
� PlaneamentoSemana Teórica 1 Teórica 2 Problemas (P) / Laboratório (L)
16-fev a 20-fevCARNAVAL Apresentação da cadeira; Introdução P0: Revisões SD
23-fev a 27-fevL1: Modos de endereçamento
02-mar a 06-marOperações lógicas e aritméticas ISA do P3 P1: Assembly do P3
09-mar a 13-marL2: Instruções Aritméticas e Salto
16-mar a 20-marTécnicas de programação em Assembly Geração do código objecto. L3: Rotinas; Passagem parâmetros
23-mar a 27-marEstrutura de um processador Unidade de processamento
30-mar a 03-abrUnidade de controlo PÁSCOA PÁSCOA
06-abr a 10-abrPÁSCOA L4: IO; Interrupções
13-abr a 17-abrOrganização interna do P3: circuito de controlo Organização interna do P3: microprogramação P3: Micro-programação
20-abr a 24-abrL5: Micro-programação
27-abr a 01-maiDependências dados e de controlo; Conflitos L6: Arduino
04-mai a 08-maiSistema de memória Memórias cache: políticas de substituição L7: Pipelines
11-mai a 15-maiMemórias cache: políticas de escrita P4: Pipeline; Caches
18-mai a 22-maiMemória virtual: TLB L8: Caches
25-mai a 29-maiModos de transferência de dados DMA e Processadores IO P5: Mem. Virtual; Comunicação; IO.
Instruções Assembly; Operandos e modos de endereçamento; Processador P3
Operandos; Pilha; Instruções de acesso à memória; Codificação das instruções.
Periféricos do P3; Interrupções e contagemdotempo no P3
Tradução de linguagemde alto nível paraAssembly
P2: Interrupções; Codificação de Instruções
Controlo microprogramado; Organização interna do P3: circuito de dados
Família Intel x86; Arquitecturas de processadores em pipeline
Arquitecturas de processadores em pipeline; Dependências
Tópicos avançados de arquitectura de computadores
Memória virtual: definições, tabela de páginas hierárquica
Espaços de endereçamento: memória e entradas/saídas
Sumario
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 5 / 42
Hoje:
� Unidade de Controlo:
◮ Micro-operacoes sobre uma unidade de pro-cessamento
◮ Circuito de controlo◮ Maquinas de estado◮ Controlo de sistemas programaveis◮ Controlo microprogramado
Bibliografia:
• Seccoes 7.1 a 7.5
Micro-Operacoes
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 6 / 42
Separacao entre Unidade de Controlo eUnidade de Processamento
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 7 / 42
Unidade decontrolo Unidade de
processamento
Entradas decontrolo
Operandos
Resultados
Palavra decontrolo
Bits deestado (flags)
Saídas decontrolo
Unidade de Processamento
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 8 / 42
Bancode
registos
ULA
Palavra decontrolo
Bits deestado
Operandos
Resultado
k
m
n
n n
Banco de Registos
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 9 / 42
Banco de 8registos
A
SelA
Escrita
SelB
SelD
D
B
n
3
3 3
n n
Estrutura Interna da Unidade Logica eAritmetica
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 10 / 42
Unidadearitmética
Unidade dedeslocamento
Palavra decontrolo
n n
n
n
Unidadelógica
MUX0 3
Sel
n
21
A
Resultado
B
n
p q r
2
Tabela de Micro-operacoes da ULA
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 11 / 42
S4S3S2S1S0 Micro-operacao
00000 R← A+B soma
00001 R← A−B subtraccao
00010 R← A+B + C soma com bit transporte
00011 R← A−B − C subtraccao com transporte negado
00100 R← A− 1 decremento
00101 R← A+ 1 incremento
00110 R← A− C decremento, se C = 0
00111 R← A+ C incremento, se C = 1
01-00 R← A complemento
01-01 R← A ∧B conjuncao
01-10 R← A ∨B disjuncao
01-11 R← A⊕B disjuncao exclusiva
10000 R← shr A deslocamento logico a direita
10001 R← shl A deslocamento logico a esquerda
10010 R← shra A deslocamento aritmetico a direita
10011 R← shla A deslocamento aritmetico a esquerda
10100 R← ror A rotacao a direita
10101 R← rol A rotacao a esquerda
10110 R← rorc A rotacao a direita com transporte
10111 R← rolc A rotacao a esquerda com transporte
11- - - R← A transferencia
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 12 / 42
Pseudo-codigo:
Maior Divisor Comum(X, Y)1. enquanto (Y 6=0){2. se X≥Y3. entao X=X-Y4. se nao, troca X com Y5. }6. resultado em X
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 13 / 42
Unidade de Processamento:
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 13 / 42
Unidade de Processamento:
Controlo?
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 13 / 42
Unidade de Processamento:
Controlo?
Fluxograma:
0
1
RX>=Ry
T1
Ry=0
inicio0
1
fim
0 1
T0
Rx Rx-RyRx RyRy Rx
Circuito de Controlo
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 14 / 42
Circuito de Controlo
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 42
� A maioria dos circuitos de controlo apresenta nas saıdas umvalor que depende das entradas em instantes de tempoanteriores
Circuito de Controlo
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 42
� A maioria dos circuitos de controlo apresenta nas saıdas umvalor que depende das entradas em instantes de tempoanteriores
↓Este comportamento e conseguido usando elementos dememoria
Circuito de Controlo
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 42
� A maioria dos circuitos de controlo apresenta nas saıdas umvalor que depende das entradas em instantes de tempoanteriores
↓Este comportamento e conseguido usando elementos dememoria
⇓Circuitos Sequenciais
Circuito de Controlo
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 42
� A maioria dos circuitos de controlo apresenta nas saıdas umvalor que depende das entradas em instantes de tempoanteriores
↓Este comportamento e conseguido usando elementos dememoria
⇓Circuitos Sequenciais
� Sistemas complexos, como computadores, PDAs etelemoveis sao tambem circuitos sequenciais.
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 16 / 42
combinatório
Realimentação
primárias
Circuito
primáriasEntradas Saídas
Reg
isto
s
CLK
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 17 / 42
combinatório
Realimentação
primárias
Circuito
primáriasEntradas Saídas
Reg
isto
s
CLK
� A mudanca de estado ocorre quando existe uma transicao dosinal de relogio (CLK);
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 17 / 42
combinatório
Realimentação
primárias
Circuito
primáriasEntradas Saídas
Reg
isto
s
CLK
� A mudanca de estado ocorre quando existe uma transicao dosinal de relogio (CLK);
� O circuito combinatorio define o comportamento pretendido(transicao entre estados);
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 17 / 42
combinatório
Realimentação
primárias
Circuito
primáriasEntradas Saídas
Reg
isto
s
CLK
� A mudanca de estado ocorre quando existe uma transicao dosinal de relogio (CLK);
� O circuito combinatorio define o comportamento pretendido(transicao entre estados);
� Os valores das saıdas realimentadas no circuito apenas saoassumidos como estado na altura em que o relogio muda denıvel.
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
◮ As possıveis combinacoes de entrada que controlam amaquina de estados;
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
◮ As possıveis combinacoes de entrada que controlam amaquina de estados;
◮ As possıveis combinacoes de saıda que sao geradas pelamaquina de estados;
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
◮ As possıveis combinacoes de entrada que controlam amaquina de estados;
◮ As possıveis combinacoes de saıda que sao geradas pelamaquina de estados;
◮ O conjunto de entradas da maquina;
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
◮ As possıveis combinacoes de entrada que controlam amaquina de estados;
◮ As possıveis combinacoes de saıda que sao geradas pelamaquina de estados;
◮ O conjunto de entradas da maquina;◮ A funcao de transicao de estados - determina de que modo
a maquina evolui entre estados, de acordo com oestado presente e a combinacao presente nas entradas;
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
◮ As possıveis combinacoes de entrada que controlam amaquina de estados;
◮ As possıveis combinacoes de saıda que sao geradas pelamaquina de estados;
◮ O conjunto de entradas da maquina;◮ A funcao de transicao de estados - determina de que modo
a maquina evolui entre estados, de acordo com oestado presente e a combinacao presente nas entradas;
◮ A funcao de saıda - determina qual a saıda gerada pelamaquina para um dado estado e uma dada combinacao deentradas;
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 42
� Um circuito sequencial sıncrono corresponde a uma maquinade estados definida pelos seguintes componentes:
◮ As possıveis combinacoes de entrada que controlam amaquina de estados;
◮ As possıveis combinacoes de saıda que sao geradas pelamaquina de estados;
◮ O conjunto de entradas da maquina;◮ A funcao de transicao de estados - determina de que modo
a maquina evolui entre estados, de acordo com oestado presente e a combinacao presente nas entradas;
◮ A funcao de saıda - determina qual a saıda gerada pelamaquina para um dado estado e uma dada combinacao deentradas;
◮ O estado no qual a maquina de estados deve iniciar o seufuncionamento.
Circuito Sequencial Sıncrono
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 19 / 42
combinatório
Realimentação
primárias
Circuito
primáriasEntradas Saídas
Reg
isto
s
CLK
� Na pratica...
◮ Valor dos elementos de memoria - define o estado damaquina
◮ Circuito combinatorio - define a funcao de transicaoentre estados e a funcao de saıda
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 20 / 42
� Unidade de Controlo:
� Unidade de Processamento:
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 21 / 42
� Diagrama temporal:
Estado
Início
Fim
Rx
Ry
LDx
LDy
xMy
Zy
Clk
T0 T1 T1 T1 T1 T1 T1
54
36
18 0
36
3654
36 18 18
18
18
18
0 0
18
T0 T0
18
0
Maquinas de Estado
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 22 / 42
Maquinas de Mealy vs Maquinas de Moore
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 23 / 42
� Maquinas de Mealy vs Maquinas de Moore:
◮ Distinguem-se apenas no modo como as saıdas saogeradas:
Re
gis
tos
Re
gis
tos
Entradas Saídas Entradas
Saídas
Lógicade geraçãode saídas
e dopróximoestado
Lógicado próximo
estado
de geração
de saídas
Lógica
CLK CLK
Máquina de MooreMáquina de Mealy
Maquinas de Mealy vs Maquinas de Moore
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 24 / 42
Re
gis
tos
Re
gis
tos
Entradas Saídas Entradas
Saídas
Lógicade geraçãode saídas
e dopróximoestado
Lógicado próximo
estado
de geração
de saídas
Lógica
CLK CLK
Máquina de MooreMáquina de Mealy
Maquina de Mealy - o valor das saıdas e funcao dos valoresdas variaveis de estado (memoria) e dos valores das entradas
Maquina de Moore - o valor das saıdas e unicamente funcaodos valores das variaveis de estado (memoria)
Maquinas de Mealy vs Maquinas de Moore
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 25 / 42
� Exemplo: calculo da paridade (sımbolo = 3 bits)
Maquinas de Mealy vs Maquinas de Moore
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 25 / 42
� Exemplo: calculo da paridade (sımbolo = 3 bits)
Controlo de Sistemas Programaveis
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 42
Controlo de Sistemas Programaveis
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 42
� Em geral, o controlo do fluxo de execucao aplicado em sistemasprogramaveis baseia-se na aplicacao de Maquinas de MoorePorque?
Controlo de Sistemas Programaveis
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 42
� Em geral, o controlo do fluxo de execucao aplicado em sistemasprogramaveis baseia-se na aplicacao de Maquinas de MoorePorque?
◮ Em geral, uma dada instrucao permite realizar apenas uma dasseguintes tarefas:
• Leitura de uma variavel de entrada• Escrita de uma variavel de saıda• Avaliacao do proximo estado/saıda
Controlo de Sistemas Programaveis
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 42
� Em geral, o controlo do fluxo de execucao aplicado em sistemasprogramaveis baseia-se na aplicacao de Maquinas de MoorePorque?
◮ Em geral, uma dada instrucao permite realizar apenas uma dasseguintes tarefas:
• Leitura de uma variavel de entrada• Escrita de uma variavel de saıda• Avaliacao do proximo estado/saıda
↓Nao e possıvel, numa unica instrucao, fazer depender o valorde uma saıda com o valor de uma entrada e estado do sistemanesse mesmo instante
Controlo de Sistemas Programaveis
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 42
� Em geral, o controlo do fluxo de execucao aplicado em sistemasprogramaveis baseia-se na aplicacao de Maquinas de MoorePorque?
◮ Em geral, uma dada instrucao permite realizar apenas uma dasseguintes tarefas:
• Leitura de uma variavel de entrada• Escrita de uma variavel de saıda• Avaliacao do proximo estado/saıda
↓Nao e possıvel, numa unica instrucao, fazer depender o valorde uma saıda com o valor de uma entrada e estado do sistemanesse mesmo instante
⇓Maquina de Moore
Controlo de Sistemas Programaveis
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 42
� Em geral, o controlo do fluxo de execucao aplicado em sistemasprogramaveis baseia-se na aplicacao de Maquinas de MoorePorque?
◮ Em geral, uma dada instrucao permite realizar apenas uma dasseguintes tarefas:
• Leitura de uma variavel de entrada• Escrita de uma variavel de saıda• Avaliacao do proximo estado/saıda
↓Nao e possıvel, numa unica instrucao, fazer depender o valorde uma saıda com o valor de uma entrada e estado do sistemanesse mesmo instante
⇓Maquina de Moore
Consequencia: programas maiores (mais instrucoes) do queseriam caso fosse possıvel adoptar Maquinas de Mealy.
Controlo Microprogramado
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 28 / 42
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 29 / 42
Pseudo-codigo:
Maior Divisor Comum(X, Y)1. enquanto (Y 6=0){2. se X≥Y3. entao X=X-Y4. se nao, troca X com Y5. }6. resultado em X
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 30 / 42
� Unidade de Controlo:
� Unidade de Processamento:
Exemplo: Maior Divisor Comum
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 30 / 42
� Unidade de Controlo:
� Unidade de Processamento:
Problema: circuito dedicado!
Sıntese de Circuitos de Controlo
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 31 / 42
� Problema:
◮ A sıntese de controladores complexos, com muitosestados e variaveis de entrada, torna-se muitocomplicada e pouco eficiente
↓◮ Esforco de desenvolvimento/implementacao
insustentavel
� Alternativa:
◮ Aplicacao de metodologias de microprogramacao,utilizando unidades de processamento genericas enao dedicadas a aplicacao
Unidade de Processamento
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 32 / 42
Bancode
registos
ULA
Palavra decontrolo
Bits deestado
Operandos
Resultado
k
m
n
n n
Unidade de Processamento
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 32 / 42
Bancode
registos
ULA
Palavra decontrolo
Bits deestado
Operandos
Resultado
k
m
n
n nControlo ???
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 33 / 42
� Caracterısticas de uma unidade de controlomicroprogramada:
◮ As saıdas dependem apenas do estado actual→ Maquina de Moore
◮ Em cada estado apenas e testada uma variavel deentrada
◮ Como resultado de cada teste numa variavel de entrada,o controlador podera saltar para um estado arbitrario (seo teste for verdadeiro) ou transitar para oestado seguinte (se o teste for falso)
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 34 / 42
Conta
dor
Multip
lexa
dor
...
Teste complementado (CT)1
Entradas
Saídas (PO)
Ld/incCLK
combinatória
Lógica
Próximo estado (NS)
Variável a testar (TV)
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 42
Co
nta
do
r
Multip
lexa
do
r
...
Teste complementado (CT)1
Entradas
Saídas (PO)
Ld/incCLK
combinatória
Lógica
Próximo estado (NS)
Variável a testar (TV)
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 42
Co
nta
do
r
Multip
lexa
do
r
...
Teste complementado (CT)1
Entradas
Saídas (PO)
Ld/incCLK
combinatória
Lógica
Próximo estado (NS)
Variável a testar (TV)
O bloco combinatorio pode ser realizado utilizando uma ROMcom um numero de linhas igual ao numero de estados e comtantas saıdas quantas as necessarias para gerar as variaveis desaıda do bloco combinatorio.
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 42
Co
nta
do
r
Multip
lexa
do
r
...
Teste complementado (CT)1
Entradas
Saídas (PO)
Ld/incCLK
combinatória
Lógica
Próximo estado (NS)
Variável a testar (TV)
Conta
dor
Multip
lexador
...
Teste complementado (CT)
Variável a testar (TV)
1
Entradas
Saídas (PO)
Próximo estado (NS)
Ld/incCLK
ROM
O bloco combinatorio pode ser realizado utilizando uma ROMcom um numero de linhas igual ao numero de estados e comtantas saıdas quantas as necessarias para gerar as variaveis desaıda do bloco combinatorio.
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 36 / 42
Co
nta
do
r
Mu
ltip
lexa
do
r
...
Teste complementado (CT)
Variável a testar (TV)
1
Entradas
Saídas (PO)
Próximo estado (NS)
Ld/incCLK
ROM
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 37 / 42
Co
nta
do
r
Mu
ltip
lexa
do
r
...
Teste complementado (CT)
Variável a testar (TV)
1
Entradas
Saídas (PO)
Próximo estado (NS)
Ld/incCLK
ROM
Cada palavra da ROM deveraser dividida em quatro partes:
NS PO TV CT
Next State (NS) - especifica o proximo estado, para onde ocontrolador devera saltar se o teste efectuado tiver resultado positivo
Primary Output (PO) - valores pretendidos para as variaveis de saıdaTest Variable (TV) - indica a variavel que devera ser testadaComplement Test (CT) - indica se o salto devera ocorrer quando a
variavel de teste esta a 1 ou a 0
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 38 / 42
� Exemplo:
Unidade de Controlo Microprogramada
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 39 / 42
Co
nta
do
r
Mu
ltip
lexa
do
r
...
Teste complementado (CT)
Variável a testar (TV)
1
Entradas
Saídas (PO)
Próximo estado (NS)
Ld/incCLK
ROM
Cada palavra da ROM deveraser dividida em quatro partes:
NS PO TV CT
� Ao conjunto de campos que especificam o funcionamento docontrolador chama-se microinstrucao
� Ao conjunto de microinstrucoes chama-se microprograma
Proxima Aula
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 40 / 42
Proxima Aula
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 41 / 42
� Controlo microprogramado (continuacao)� Estrutura interna de um processador� P3: Unidade de processamento
Nota de Agradecimento
Micro-Operacoes
Circuito de Controlo
Maquinas de Estado
Controlo deSistemasProgramaveis
ControloMicroprogramado
Proxima Aula
Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 42 / 42
Agradecimento
Algumas paginas desta apresentacao foram extraidas de:
[1] Jose Carlos Monteiro, “Arquitectura de Computadores”, InstitutoSuperior Tecnico (IST), Universidade Tecnica de Lisboa, Portugal,2010.