MICROPROCESSADORES
Unidade de Processamento
Nuno Cavaco Gomes Horta
N. Horta, IST - UTL Microprocessadores 2003/2004 2
Microprocessadores
Sumário
•
Introdução
•
Unidade de Processamento
•
Unidade de Controlo
•
Conjunto de Instruções
•
Unidade Central de Processamento (CPU)
•
Unidade de Entrada/Saída (I/O)
•
Unidade de Memória
Microprocessadores
Unidade de Processamento
N. Horta, IST - UTL Microprocessadores 2003/2004 4
Microprocessadores
Unidade de Processamento
Sistemas Digitais Complexos: Unidade de Processamento + Unidade de
Controlo
Unidade de Processamento (Datapath): Módulo responsável pela
execução
das operações
de processamento de dados.
Unidade de Controlo: Módulo responsável pelo
controlo da sequência de
operações
a executar na Datapath para implementação de uma tarefa.
Microprocessadores
Unidade de Processamento
Datapath: Caracteriza-se pelo
conjunto de registos
e pelo
conjunto de
operações
realizado sobre os dados armazenados nos registos.
Operações Elementares sobre Registos: Shift (Deslocamento), Clear
(Apagar), Load (Carregamento), Incrementar, Decrementar, Somar, Subtrair,
etc.
Microoperações
(Aritméticas, Lógicas, Deslocamento): Operações
elementares aplicadas sobre os dados em registos.
Unidade de Controlo: Fornece os sinais que permitem sequenciar as
microoperações de um modo definido, e.g., sequência do conjunto de
operações para realizar uma multiplicação.
N. Horta, IST - UTL Microprocessadores 2003/2004 6
Microprocessadores
Unidade de Processamento
Datapath: Caracteriza-se pelo
conjunto de registos
(Unidade
de Armazenamento) e pelo
conjunto de operações
(Unidade
Funcional) realizado sobre os
Microprocessadores
Unidade de Processamento
Datapath
(Exemplo)
Unidade de Armazenamento Unidade Funcional
ALU: Unidade Logica e Aritmética Shifter: Unidade de Deslocamento
(Exemplo de Operação)
Entradas de Controlo (da U. de Controlo) • Selecção de A • Selecção de B • Selecção de G • Selecção de MB • Selecção de MF • Selecção de MD • Selecção do Destino • Carregamento do Resultado
N. Horta, IST - UTL Microprocessadores 2003/2004 8
Microprocessadores
Unidade de Processamento
Exemplo de
Operação:
Microprocessadores
Unidade de Processamento
Unidade
N. Horta, IST - UTL Microprocessadores 2003/2004 10
Microprocessadores
Unidade de Processamento
Registo: Elemento básico de memória que permite armazenar um conjunto
Microprocessadores
Unidade de Processamento
Operação de Transferência de Dados entre 2 Registos:
1
2
:
1R
R
K
←
ção
Microopera
Controlo :
N. Horta, IST - UTL Microprocessadores 2003/2004 12
Microprocessadores
Unidade de Processamento
Simbologia: (Transferências de Registos)
Microprocessadores
Unidade de Processamento
Operações de Transferência entre Registos: (Multiplexagem)
2
0
:
,
1
0
:
1 2 1R
R
K
K
R
R
K
←
←
...
N. Horta, IST - UTL Microprocessadores 2003/2004 14
Microprocessadores
Unidade de Processamento
Operações de Transferência entre Registos: (BUS)
Multiplexers Dedicados
BUS Único
Multiplexers Dedicados: 9 portas lógicas (3x(2AND+1OR)), 6 linhas de entrada. BUS: 4 portas lógicas (1x(3AND+1OR)), 3 linhas de entrada.
Microprocessadores
Unidade de Processamento
Operações de Transferência entre Registos: (BUS)
BUS Único
Exemplo:
O número de registos fonte em transferências
simultâneas condiciona o número mínimo de
N. Horta, IST - UTL Microprocessadores 2003/2004 16
Microprocessadores
Unidade de Processamento
Operações de Transferência entre Registos: (BUS Tri-State)
BUS Único
BUS Three-State
Microprocessadores
Unidade de Processamento
Operações de Transferência entre Registos: (BUS Endereços e Dados + Memória)
[ ]
AR
M
DR
READ
:
←
[ ]
AR
DR
M
WRITE
:
←
Exemplos:
[ ]
1
2
:
M
A
D
WRITE
←
[ ]
2
1
:
D
M
A
READ
←
ABD Control: 01
DBSD Control: 10
DBDD Control: 11
ABD Control: 10
DBSD Control: 11
DBDD Control: 01
N. Horta, IST - UTL Microprocessadores 2003/2004 18
Microprocessadores
Unidade de Processamento
Datapath
(Exemplo)
Unidade de Armazenamento Unidade FuncionalALU: Unidade Logica e Aritmética Shifter: Unidade de Deslocamento
(Exemplo de Operação)
Entradas de Controlo (da U. de Controlo) • Selecção de A • Selecção de B • Selecção de G • Selecção de MB • Selecção de MF • Selecção de MD • Selecção do Destino • Carregamento do Resultado
Operação relizada num 1 ciclo de relógio (Cálculo e Carregamento)
Microprocessadores
Unidade de Processamento
Exemplo de
Operação:
N. Horta, IST - UTL Microprocessadores 2003/2004 20
Microprocessadores
Unidade de Processamento
Unidade Funcional:
Unidade Aritmética
e Lógica (ALU)
Microprocessadores
Unidade de Processamento
Microoperações: (Aritméticas)
N. Horta, IST - UTL Microprocessadores 2003/2004 22
Microprocessadores
Unidade de Processamento
Microprocessadores
Unidade de Processamento
Microoperações: (Deslocamento)
N. Horta, IST - UTL Microprocessadores 2003/2004 24
Microprocessadores
Unidade de Processamento
Microprocessadores
Unidade de Processamento
N. Horta, IST - UTL Microprocessadores 2003/2004 26
Microprocessadores
Anexo
ALU: Circuito Aritmético
?
in i i i i iC
C
S
B
S
B
Y
A
X
=
+
=
=
0 1 0Microprocessadores
Unidade de Processamento
ALU: Circuito Aritmético
(Exemplo)
Soma
Subtracção
Incremento
Decremento
Transferência
...
?
N. Horta, IST - UTL Microprocessadores 2003/2004 28
Microprocessadores
Unidade de Processamento
ALU: Circuito Lógico
(Exemplo)
AND
OR
XOR
NOT
Microprocessadores
Unidade de Processamento
N. Horta, IST - UTL Microprocessadores 2003/2004 30
Microprocessadores
Unidade de Processamento
Unidade Funcional:
Unidade de
Deslocamento
Microprocessadores
Unidade de Processamento
N. Horta, IST - UTL Microprocessadores 2003/2004 32
Microprocessadores
Unidade de Processamento
Microprocessadores
Unidade de Processamento
Datapath: Representação Hierárquica
Diagrama de Blocos:
Unidade de Armazenamento
Unidade Funcional
N. Horta, IST - UTL Microprocessadores 2003/2004 34
Microprocessadores
Unidade de Processamento
Datapath: Representação Hierárquica
Diagrama de Blocos:
Unidade de Armazenamento
Unidade Funcional
Microprocessadores
Unidade de Processamento
Datapath: Palavra de Controlo Palavra de Controlo:
Conjunto de bits correspondente às variáveis de controlo que permitem seleccionar as microoperações.
AA – Selecção do Registo A BA – Selecção do Registo B DA – Selecção do R. de Destino MB – Selecção do Operando B
FS – Selecção da Função na U. Funcional MD – Sel. dos Dados para R. de Destino RW - Carregamento
N. Horta, IST - UTL Microprocessadores 2003/2004 36
Microprocessadores
Unidade de Processamento
Datapath: Codificação da Palavra de Controlo
Nota: o número de palavras
de controlo, com significado
no presente caso, não é
2^17=131072, mas apenas
Microprocessadores
Unidade de Processamento
N. Horta, IST - UTL Microprocessadores 2003/2004 38
Microprocessadores
Unidade de Processamento
Datapath: Palavra de Controlo
(Exemplo de Microoperações - Codificação)
Microprocessadores
Unidade de Processamento
Datapath: Simulação da Execução
de uma Sequência de
N. Horta, IST - UTL Microprocessadores 2003/2004 40
Microprocessadores
Unidade de Processamento
Unidade de
Processamento: U.A.
Temporizações
Microprocessadores
Unidade de Processamento
Unidade de
Processamento: U.F.(1)
N. Horta, IST - UTL Microprocessadores 2003/2004 42
Microprocessadores
Unidade de Processamento
Unidade de
Processamento: U.F.(2)
Temporizações
Microprocessadores
Unidade de Processamento
Unidade de
Processamento: U.F.(3)
N. Horta, IST - UTL Microprocessadores 2003/2004 44
Microprocessadores
Unidade de Processamento
Datapath: Arquitectura Convencional vs Arquitectura Pipeline
Convencional –
Unidades a funcionar
sequencialmente.
Pipeline – Unidades a
funcionar em simultaneo.
OF – Operand Fetch
EX – Execute
WB – Write Back
Pipeline oferece maior
rapidez mas obriga a
hardware adicional,
3 estruturas de Registos.
Microprocessadores
Unidade de Processamento
Datapath: Execução de Microoperações
na Arquitectura Pipeline
Execução Convencional:
7 x 12 = 84 ns
Execução Pipelined:
9 x 5 =45 ns !!
N. Horta, IST - UTL Microprocessadores 2003/2004 46