Arquitetura de Computadores - Operação da Unidade de

Propaganda
Arquitetura de Computadores
- Operação da Unidade de Controle
por
Helcio Wagner da Silva
Microoperações
Execução de programa
Ciclo de instrução
Busca
µO
µO
µO
Ciclo de instrução
Indireto
µO
Execução
...
Ciclo de instrução
interrupção
µO
2
O Ciclo de Busca
MAR
MBR
PC
IR
AC
0000000001100100
MAR
MBR
PC
IR
AC
(a) Início
MAR
MBR
PC
IR
AC
0000000001100100
0000000001100100
(b) Primeiro Passo
0000000001100100
0001000000100000
0000000001100100
(c) Segundo Passo
MAR
MBR
PC
IR
AC
0000000001100100
0001000000100000
0000000001100100
0001000000100000
(d) Terceiro Passo
3
O Ciclo de Busca
• Seqüência de eventos
t1: MAR ← PC
t2: MBR ← Memória
PC ← PC + 1
t3: IR ← MBR
µOs executadas simultaneamente
• Seqüência de eventos alternativa
t1: MAR ← PC
t2: MBR ← Memória
t3: PC ← PC + 1
µOs executadas simultaneamente
IR ← MBR
4
O Ciclo Indireto
• Após a instrução ter sido buscada, o próximo
passo é buscar os operandos
• Seqüência de eventos
t1: MAR ← IR(Endereço)
t2: MBR ← Memória
t3: IR(Endereço) ← MBR(Endereço)
5
O Ciclo de Interrupção
• Seqüência de eventos
t1: MBR ← PC
t2: MAR ← Endereço de salvamento
PC ← Endereço da rotina
t3: Memória ← MBR
µOs executadas
simultaneamente
6
O Ciclo de Execução
• Ciclo complexo e imprevisível
– Em uma máquina com N códigos de operação
distintos, poderão existir N seqüência de µO
• Exemplo #01
ADD R1, X
• Seqüência de eventos
t1: MAR ← IR(Endereço)
t2: MBR ← Memória
t3: R1 ← R1 + MBR
7
O Ciclo de Execução
• Exemplo #02
ISZ
X
// o conteúdo da posição de memória
X é incrementado de 1 e, se o resultado é
zero, a próxima instrução será saltada
• Seqüência de eventos
t1:
t2:
t3:
t4:
MAR ← IR(Endereço)
MBR ← Memória
MBR ← MBR + 1
Memória ← MBR
If (MBR = 0) then (PC ← PC + 1)
8
O Ciclo de Execução
• Exemplo #03
BSA
X
// o endereço da instrução que segue a
instrução BSA é armazenado na memória e a
execução reinicia a partir do endereço X + 1
• Seqüência de eventos
t1: MAR ← IR(Endereço)
MBR ← PC
t2: PC ← IR(Endereço)
Memória ← MBR
t3: PC ← PC + 1
9
O Ciclo de Instrução
11 (Interrupção)
ICC ?
10 (Execução)
Trata
interrupção
00 (Busca)
01 (Indireto)
Código de
operação?
Lê
endereço
Obtém
instrução
Executa instrução
ICC = 00
Não
ICC = 10
Interrupção?
Endereçamento
indireto?
Sim
Não
ICC = 11
ICC = 00
ICC = 10
Sim
ICC = 01
10
Controle do Processador
• Elementos básicos
–
–
–
–
–
ULA
Registradores
Caminhos de dados internos
Caminhos de dados externos
Unidade de Controle
• Funções da Unidade de Controle
1. Seqüenciamento
2. Execução
11
Modelo da Unidade de Controle
Registrador de
instrução
Sinais de controle
Internos ao µP
...
Códigos de
condição
Unidade
de
Controle
Sinais de controle
do barramento
Sinais de controle
para o barramento
relógio
Barramento de controle
12
Sinais de Controle
C5
C11
M
B
R
C12
C10
C8
PC
AC
C4
C3
C1
C7
IR
C9
C6
C0
M
A
R
C2
relógio
ULA
C13
Unidade
de
Controle
Sinais de
controle
Sinais de
controle
Códigos de
condição
13
Sinais de Controle – ciclo de busca
C5
C11
M
B
R
C12
C10
C8
PC
AC
C4
C3
C1
C7
IR
C9
C6
C0
C2
M
A
R
t1: MAR ← PC
C2
t2: MBR ← Memória
PC ← PC + 1
C5,CR
t3: IR ← MBR
C4
relógio
ULA
C13
Unidade
de
Controle
Sinais de
controle
Sinais de
controle
Códigos de
condição
14
Sinais de Controle – ciclo indireto
C5
C11
M
B
R
C12
C10
C8
PC
AC
C4
C3
C1
C7
IR
C9
C6
C0
C2
M
A
R
t1: MAR ← IR(Endereço)
C8
t2: MBR ← Memória
t3: IR(Endereço) ←
MBR(Endereço)
C5,CR
C4
relógio
ULA
C13
Unidade
de
Controle
Sinais de
controle
Sinais de
controle
Códigos de
condição
15
Sinais de Controle – ciclo de
interrupção
C5
C11
M
B
R
C12
C10
C8
PC
AC
C4
C3
C1
C7
IR
C9
C6
C0
M
A
R
t1: MBR ← PC
C1
t2: MAR ← End. Salvam.
C5,CR
PC ← End. rotina
t3: Memória ← MBR
C12,CW
C2
relógio
ULA
C13
Unidade
de
Controle
Sinais de
controle
Sinais de
controle
Códigos de
condição
16
Organização Interna do Processador
relógio
Linhas de
endereçamento
Linhas de dados
Unidade de
Controle
IR
PC
MAR
MBR
ULA
AC
Y
Z
Barramento Interno
17
Organização Interna do Processador
relógio
Linhas de
endereçamento
Linhas de dados
Unidade de
Controle
IR
PC
MAR
MBR
ULA
AC
Y
Z
Barramento Interno
t1: MAR ← IR(Endereço)
t2: MBR ← Memória
t3: Y ← MBR
t4: Z ← AC + Y
t5: AC ← Z
18
Implementação da Unidade de Controle
• Implementação por HW
– Unidade de Controle é reduzida a um circuito
combinacional
• Sinais lógicos de entrada são transformados em um
conjunto de sinais lógicos de saída – os sinais de
controle
• Implementação microprogramada
19
Implementação por HW
Registrador de
intrução
I1
I2
I3 ... Ik
decodificador
O1 O2
Relógio
...
Om
T1
T2
T3
...
Gerador de
sinais de
temporização
(contador)
O3
Tm
Unidade de
Controle
C1 C2
C3
...
Códigos
de condição
Cw
20
Implementação por HW
ENTRADAS
SAÍDAS
I1
I2
I3
I4
O1
O2
O3
O4
O5
O6
O7
O8
O9
O10
O11
O12
O13
O14
O15
O16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
Implementação por HW
• Sinais de Controle P e Q
–
–
–
–
PQ = 00 (Ciclo de busca)
PQ = 01 (Ciclo indireto)
PQ = 10 (Ciclo de execução)
PQ = 11 (Ciclo de interrupção)
• Expressão booleana para C5
C5  P  Q  T2  P  Q  T2
• Considerando que
– C5 também é necessário durante o ciclo de instrução
– As instruções LDA, ADD e AND façam uso da memória
C5  P  Q  T2  P  Q  T2  P  Q  ( LDA  ADD  AND)  T2
22
Download