Você está na página 1de 16

Arquitectura de Computadores

Microprogramacao (7.5); Unidade de Processamento do P3 (12.1)

Jose Monteiro

Licenciatura em Engenharia Inform


atica e de Computadores
Departamento de Engenharia Inform
atica (DEI)
Instituto Superior T
ecnico

23 de Abril, 2009

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

1 / 16

Sumario da Aula
unidade de controlo microprogramada
estrutura
microprogramacao

unidade de processamento do P3
circuito de dados
palavra de controlo

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

2 / 16

Separacao entre Unidade de Controlo e Unidade de


Processamento

Entradas de
controlo
Sadas de
controlo

Palavra de
controlo
Unidade de
controlo

Unidade de
Bits de
processamento
estado (flags)

Resultados

Operandos

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

3 / 16

Exemplo: Maior Divisor Comum (MDC)

Pseudo-codigo:

1.
2.
3.
4.
5.
6.

Jos
e Monteiro (DEI / IST)

Maior Divisor Comum(X, Y)


enquanto (Y6=0){
se XY
entao X=X-Y
se nao, troca X com Y
}
resultado em X

Arquitectura de Computadores

2009-04-23

4 / 16

MDC com Unidade de Processamento Dedicada

T0
fim

1
0
Sel MUX

inicio
1

Ldx

Ld

Ldy

Rx

Ld

Ry

Zy

T1

n
n
A

A>=B

A-B

Ry=0
0

n
RX>=Ry

Rx
Ry

Jos
e Monteiro (DEI / IST)

xMy

Arquitectura de Computadores

Ry
Rx

Rx

Rx-Ry

2009-04-23

5 / 16

Unidade de Controlo para MDC

xMy

Ldy

Zy

Ldx

D
incio

Jos
e Monteiro (DEI / IST)

Q
Q

Arquitectura de Computadores

fim

2009-04-23

6 / 16

Unidade de Processamento

Banco
de
registos

Palavra de
controlo

k
Operandos

ULA
Bits de
estado

m
Resultado
n

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

7 / 16

Tabela de Micro-operacoes da ULA


S4 S3 S2 S1 S0
00000
00001
00010
00011
00100
00101
00110
00111
01-00
01-01
01-10
01-11
10000
10001
10010
10011
10100
10101
10110
10111
11- - -

Jos
e Monteiro (DEI / IST)

Microoperac
ao
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R

A+B
AB
A+B+C
ABC
A1
A+1
AC
A+C
A
AB
AB
AB
shr A
shl A
shra A
shla A
ror A
rol A
rorc A
rolc A
A

soma
subtracc
ao
soma com bit transporte
subtracc
ao com transporte negado
decremento
incremento
decremento, se C = 0
incremento, se C = 1
complemento
conjunc
ao
disjunc
ao
disjunc
ao exclusiva
deslocamento l
ogico `
a direita
deslocamento l
ogico `
a esquerda
deslocamento aritm
etico `
a direita
deslocamento aritm
etico `
a esquerda
rotac
ao `
a direita
rotac
ao `
a esquerda
rotac
ao `
a direita com transporte
rotac
ao `
a esquerda com transporte
transfer
encia

Arquitectura de Computadores

2009-04-23

8 / 16

Circuito Sequencial Sncrono

CLK

Registos

Entradas
primrias

Sadas
primrias

Circuito
combinatrio

Realimentao

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

9 / 16

Unidade de Controlo Microprogramada

Contador

Prximo estado (NS)

CLK

Ld/inc

...
1

Sadas (PO)

combinatria

Multiplexador

Entradas

Lgica

Teste complementado (CT)


Varivel a testar (TV)

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

10 / 16

Unidade de Controlo Microprogramada

Contador

Prximo estado (NS)

CLK

Ld/inc

...
1

Multiplexador

Entradas

Sadas (PO)

ROM

Teste complementado (CT)


Varivel a testar (TV)

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

11 / 16

Unidade de Processamento do P3
16
WR
SelAD
SelB

Banco de
registos

4
A

Reset

16

16
0

MA

16
0

MB

MUXA

WM

MUXB

111111111111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000000000000

16

16
BUS A

FM

BUS B

4
FIN

LF
16

16

FR

CULA

Unidade lgica
e aritmtica

Estado

Memria

Endereo
Escrita de dados
Leitura de dados

16

RE
Registo de estado
FOUT

5
000h

11

16
MD
2

Jos
e Monteiro (DEI / IST)

MUXD

12
CONST

LI

RI

0000

Arquitectura de Computadores

2009-04-23

12 / 16

Banco de Registos
Registo
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
Jos
e Monteiro (DEI / IST)

Descricao
Constante 0
Registo de uso geral
Registo de uso geral
Registo de uso geral
Registo de uso geral
Registo de uso geral
Registo de uso geral
Registo de uso geral
Registo de uso restrito
Registo de uso restrito
Registo de uso restrito
Operando (SD)
Endereco de destino (EA)
Resultado (RD)
Apontador da pilha (SP)
Contador de programa (PC)
Arquitectura de Computadores

2009-04-23

13 / 16

Unidade de Processamento do P3
16
WR
SelAD
SelB

Banco de
registos

4
A

Reset

16

16
0

MA

16
0

MB

MUXA

WM

MUXB

111111111111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000000000000

16

16
BUS A

FM

BUS B

4
FIN

LF
16

16

FR

CULA

Unidade lgica
e aritmtica

Estado

Memria

Endereo
Escrita de dados
Leitura de dados

16

RE
Registo de estado
FOUT

5
000h

11

16
MD
2

Jos
e Monteiro (DEI / IST)

MUXD

12
CONST

LI

RI

0000

Arquitectura de Computadores

2009-04-23

14 / 16

Registo de Estado
FIN FR
5

LF

ZR

0 1
MUX

FM3
LF

CR

LF

0 1
MUX

LF
FM1

LF

Ld

LF

0 1
MUX
Ld

LF

OR

FM0

Ld

LF
E

0 1
MUX

FM2
Ld

Ld

NR

LF

5
FOUT

FM 3 FM 2 FM 1 FM 0
Z

Jos
e Monteiro (DEI / IST)

Arquitectura de Computadores

2009-04-23

15 / 16

Palavra de Controlo do P3

Sinal
SelAD
SelB
MA
MB
MD
WR
WM
LF
LI
FM
CULA
CONST

# bits
4
4
1
1
2
1
1
1
1
4
5
12

Jos
e Monteiro (DEI / IST)

Funcao
Controla os portos A e D do banco de registos
Controla o porto B do banco de registos
Controlo do multiplexador A
Controlo do multiplexador B
Controlo do multiplexador D
Escrita no banco de registos
Escrita em mem
oria
Carrega os bits de estado
Carrega o registo de instrucao
Controla a actualizacao dos bits de estado
Controla operacao a executar na ULA
Valor de constante numerica

Arquitectura de Computadores

2009-04-23

16 / 16

Você também pode gostar