Anda di halaman 1dari 49

Introduo arquitetura

do hardware

Descodificao de endereos
Ncleo do processador
Microprogramao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 1


Espao de endereamento
Processador
Bus de endereos
Unidade de
controlo

Bus de controlo

Unidadede
Bus de dados
dados

Espao de endereamento
0000H
Memria 1

(com 16 bits)
Perifrico 1
Perifrico 2
Perifrico 3

Memria 2
FFFFH
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 2
Diagrama de blocos
Bus de endereos
RD
WR

Descodificador
Processador Memria Perifrico
de endereos

CS1 CS2

Bus de dados

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 3


Ciclo de bus com chip select
Os chip selects
Relgio so normalmente
ativos a zero
Bus de
endereos endereo Os flancos
ascendentes dos
RD sinais de RD e
WR devem
WR
ocorrer dentro
Chip do perodo ativo
select
do chip select.
Bus de
dados
dados

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 4


Descodificao de endereos
Bus de endereos
RD

WR

Descodificador
Processador Memria Perifrico
de endereos

CS2
CS1

Bus de dados

Cada dispositivo liga aos bits de menor peso do bus de


endereos
O descodificador de endereos liga aos bits de maior
peso do bus de endereos.

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 5


Mapa de endereos
Supondo um processador de 8 bits 000000
com este mapa de endereos: RAM 0
Quantos bits deve ter no mnimo 0FFFFF
o bus de endereos? 24 100000
Qual o espao de endereamento RAM 1
deste mapa de endereos? 16 MB 1FFFFF
Qual a capacidade da RAM? 2 MB
Qual a capacidade da ROM? 8 MB Perifricos 500000
Qual o espao reservado para 500FFF
perifricos? 4 KB
Qual o espao livre? 6 MB 4 KB 800000
Quantos bits de endereo devem ROM
ligar a cada mdulo de RAM? 20 FFFFFF
E ROM? 23
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 6
Gerao dos chip selects
000000
RAM 0
0FFFFF
100000
RAM 1
A20
A21 1FFFFF
A22 Decoder
1 para 8
A23 Perifricos 500000
500FFF

A12..A19 800000
ROM
FFFFFF

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 7


Gerao dos chip selects
A gerao do chip select RAM 0
000000
dos GRANDES 0FFFFF
dispositivos geralmente RAM 1 100000
simples e feita medida. A20 Decoder 1FFFFF
A21
A22
A gerao do chip select 1 para 8
Perifricos
500000
dos dispositivos mdios A23 500FFF

geralmente feita com A12..A19 800000


ROM
descodificadores que
dividem o mapa de FFFFFF

endereos em bocados
iguais.
A gerao do chip select dos pequenos dispositivos
geralmente feita por discriminao de um bocado mdio (com
gates ou com outros descodificadores).
Regra geral, no deve haver sobreposies.
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 8
Descodificao com PROM
Neste caso possvel 000000
programar os endereos RAM 0
em mdulos de 4K. 0FFFFF
100000
RAM 1
A23 1FFFFF
. PROM
. (Programmable
. ROM) Perifricos 500000
500FFF
A12
800000
Em cada palavra da ROM
PROM, s um bit pode FFFFFF
estar a 0.

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 9


Descodificao com PROM
000000
RAM 0
A PROM permite gerar 0FFFFF
tantos chip selects RAM 1
100000
quantos os bits da sua .
A12 PROM 1FFFFF
largura. . ( Programmable
Perifricos
500000
Em cada palavra, s pode A23
. ROM) 500FFF
haver um bit a 0. 800000
Os bits de endereo da PROM ligam aos ROM

bits de maior peso do bus de endereos. FFFFFF

So precisos tantos bits quantos os requeridos pelo


dispositivo de endereamento mais fino (que ocupar apenas
uma palavra da PROM).
Os dispositivos maiores (RAM, por exemplo) ocuparo
vrias palavras da PROM com o bit da sada respetiva a 0.
Zonas do espao de endereamento sem dispositivo tm a
palavra respetiva com os bits todos a 1.

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 10


Descodificao com PROM
Neste exemplo, cada RAM 0
000000

palavra da PROM 0FFFFF


100000
corresponde a 4 K .
RAM 1
A23 PROM 1FFFFF
endereos do processador (
. Programmable
(para bater certo com o ROM)
Perifricos
500000
A12 500FFF
requerido pelos perifricos). .

Quantas palavras deve ter a PROM? 4 K ROM


800000

Qual o contedo da PROM? FFFFFF

ROM 1111 0111 800 a FFF Mudar o mapa de


vazio 1111 1111 501 a 7FF endereos implica
apenas substituir ou
perifricos 1111 1011 500 reprogramar a PROM
vazio 1111 1111 200 a 4FF (que deve ser
RAM 1 1111 1101 100 a 1FF EPROM, EEPROM,
FLASH, etc).
RAM 0 1111 1110 000 a 0FF

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 11


Descodificao mista
Isto permite que a PROM seja
8 vezes mais pequena, com 000000
menos palavras repetidas. RAM 0
0FFFFF
A12 100000
A13
A14 RAM 1
1FFFFF
A15
. PROM
Decoder Perifricos 500000
. (Programmable
. 500FFF
ROM) 1 para 8
A23
800000
ROM
FFFFFF
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 12
Endereamento de Endereamento
de palavra
byte e de palavra 00H
A memria vista como um vetor 01H
linear : 02H
de bytes (8 bits), ou
03H
de palavras do processador (N bits)
04H
Endereamento de byte:
Permite acesso direto a um byte
Complica interface de memria (acesso Endereamento
aos bytes que no sejam o de menor de byte (P de 32 bits)
peso de cada palavra) 00H
Espao de endereamento menor
PC e SP tm de variar de 2 em 2 04H
(processador de 16 bits) ou de 4 em 4 08H
(processador de 32 bits)
0CH
10H

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 13


Big-endian vs little-endian
Exemplo 03 0F 0A 07 H 03 0F 0A 07 H

00H 0 1 2 3 00H 0 1 2 3
04H 4 5 6 7 04H 4 5 6 7
08H 8 9 A B 08H 8 9 A B
0CH 0CH
10H 10H

Big-endian Little-endian
Em ambos os casos, os inteiros representam-se com os
bits de maior peso esquerda.
A diferena est na ordem pela qual os bytes
aparecem.
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 14
Big-endian vs little-endian
Exemplo 03 0F 0A 07 H 03 0F 0A 07 H

00H 0 1 2 3 00H 0 1 2 3
04H 4 5 6 7 04H 4 5 6 7
08H 8 9 A B 08H 8 9 A B
0CH 0CH
10H 10H

Big-endian Little-endian
No big-endian, o byte de maior peso est no byte com
menor endereo (isto , aparece primeiro quando se vai
incrementando os endereos).
No little-endian, o byte de menor peso que aparece
primeiro.
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 15
Big-endian vs little-endian
Exemplo 03 0F 0A 07 H 03 0F 0A 07 H

00H 0 1 2 3 00H 0 1 2 3
04H 4 5 6 7 04H 4 5 6 7
08H 8 9 A B 08H 8 9 A B
0CH 0CH
10H 10H

Big-endian Little-endian
Esta distino s importante:
Ao aceder aos bytes individuais de uma palavra;
Ao trocar dados entre computadores.

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 16


Acessos memria flexveis
Acesso desalinhado 00H 0 1 2 3
(32 bits, endereo 04H 4 5 6 7
01H) 08H 8 9 A B
Acessos 0CH C D E F
alinhados em 8, 16
e 32 bits 10H 10 11 12 13

Alguns processadores suportam:


Acessos a bytes e a palavras de 16 bits e 32 bits (potncias de
8 bits at largura da palavra do processador). Cada instruo
tem de indicar o tipo de acesso;
Acessos desalinhados a palavras, em qualquer endereo, o que
pode implicar dois acessos e corte e costura...).

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 17


Endereamento
Bits de menor peso de palavra

As memrias so geralmente feitas 00H


com chips (circuitos integrados) com 01H
largura de 8 bits, por isso so 02H
precisos:
2 em paralelo para fazer 16 bits. 03H
4 em paralelo para fazer 32 bits. 04H
Os vrios chips em paralelo podem
ser acedidos simultaneamente em Endereamento
cada acesso, e o processador que de byte (P de 32 bits)
depois individualiza os bytes, se 00H
necessrio.
04H
No endereamento de byte, os bits de
menor peso do bus de endereo no 08H
ligam memria: 0CH
num processador de 16 bits, A0 10H
num processador de 32 bits, A1 e A0
Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 18
Ligao de RAMs em paralelo
Bus de endereos
RD An..A2 An..A2 An..A2 An..A2

WR

Processador RAM RAM RAM RAM Descodificador

(32 bits) (8 bits) (8 bits) (8 bits) (8 bits) de endereos

CS-RAM
31..24 23..16 15..8 7..0

Bus de dados

BS0 BS3

BS3..0 (Byte Select) Indica que bytes so acedidos.


Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 19
Voltemos ao PEPE-8
Objetivo: somar um nmero com todos os inteiros
positivos menores que ele.
soma = N + (N-1) + (N-2) + . . . + 2 + 1

1. soma 0 (inicializa soma com zero)


2. temp N (inicializa temp com N)
3. Se (temp < 0) salta para 8 (se temp for negativo, salta para o fim)
4. Se (temp = 0) salta para 8 (se temp for zero, salta para o fim)
5. soma soma + temp (adiciona temp a soma)
6. temp temp 1 (decrementa temp)
7. Salta para 4 (salta para o passo 4)
8. Salta para 8 (fim do programa)

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 20


S uma constante por instruo
Decompr instrues com vrias constantes em instrues mais
simples, cada uma s com uma constante.
J no h endereos e valores numricos na mesma instruo).
Usa-se um registo auxiliar (A) para guardar valores entre instrues.

0 A0
0 M[soma] 0
1 M[soma] A
2 AN
1 M[temp] N
3 M[temp] A
2 Se (M[temp] < 0) PC 7 4 (A < 0) : PC 12
3 Se (M[temp] = 0) PC 7 5 (A = 0) : PC 12
6 A A + M[soma]
4 M[soma] M[soma] + M[temp]
7 M[soma] A
8 A M[temp]
5 M[temp] M[temp] 1 9 AA1
10 M[temp] A
6 PC 3 11 PC 5
7 PC 7 12 PC 12

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 21


Que operaes so necessrias?
Para correr o programa anterior, o hardware tem de suportar
as seguintes operaes:

Operao Exemplo
Escrever uma constante no registo A A0
Armazenar o registo A na memria M[soma] A
Ler uma clula de memria e escrever no
registo A A M[temp]

Operao com o registo A e uma clula


de memria como operandos A A + M[soma]

Operao com o registo A e uma


constante como operandos AA1

Salto incondicional PC 7
Salto condicional (A = 0) : PC 12

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 22


Arquitetura de base
endereo de Memria de Memria
instrues instrues de dados
endereo de dados
PC
WR

SEL_A MUX

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 23


A M[endereo]
endereo de Memria de Memria
instrues instrues de dados
endereo de dados
PC
WR

SEL_A MUX

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 24


M[endereo] A

endereo de Memria de Memria


instrues instrues de dados
endereo de dados
PC
WR

SEL_A MUX

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 25


A A + M[endereo]

endereo de Memria de Memria


instrues instrues de dados
endereo de dados
PC
WR

SEL_A MUX

ESCR_A Registo A

2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 26


A 0 ???

endereo de Memria de Memria


instrues instrues de dados
endereo de dados
PC
WR

SEL_A MUX

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 27


A constante
Memria de Memria
instrues de dados
endereo de
instrues

constante
WR
PC
SEL_B MUX_B

SEL_A MUX_A

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 28


A A + constante
Memria de Memria
instrues de dados
endereo de
instrues

constante
WR
PC
SEL_B MUX_B

SEL_A MUX_A

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 29


Salto (PC 7) ???
Memria de Memria
instrues de dados
endereo de
instrues

constante
WR
PC
SEL_B MUX_B

SEL_A MUX_A

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 30


PC constante
Memria de Memria
instrues de dados
endereo de
instrues

ESCR_PC constante
WR
PC
SEL_B MUX_B

SEL_A MUX_A

ESCR_A Registo A

1. operando 2. operando

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 31


(A = 0) : PC constante
SEL_PC (2 bits): no salta, salto incondicional, salto
condicional (se A = 0 e se A < 0)

Memria de Memria
instrues de dados
endereo de
instrues
constante
SEL_PC
WR
PC
SEL_B MUX_B

ESCR_PC SEL_A MUX_A

MUX_PC ESCR_A Registo A

1
bit de maior peso 8
0 1
8 1. operando 2. operando
...
1

SEL_ALU ALU

resultado da operao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 32


PEPE-8: instrues com todos os
sinais de controlo
Memria de Memria
instrues de dados

endereo de
instrues constante
SEL_PC
WR
PC
SEL_B MUX_B

ESCR_PC SEL_A MUX_A

MUX_PC ESCR_A Registo A

1
bit de maior peso 8
0 1 8
... 1. operando 2. operando
1

SEL_ALU ALU

resultado da operao

Unidade de Controlo Unidade de Dados

Processador (PEPE-8), verso preliminar

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 33


PEPE-8: instrues com opcodes
Memria de Memria
instrues de dados

opcode constante

endereo de ROM de
instrues descodificao
constante
WR
PC
SEL_B MUX_B

SEL_PC SEL_A MUX_A


ESCR_PC
ESCR_A Registo A
MUX_PC

1
bit de maior peso 8
8 1. operando 2. operando
0 1 ...
1

SEL_ALU ALU

resultado da operao

Unidade de Controlo Unidade de Dados


Processador (PEPE-8)

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 34


Linguagem assembly
Instruo
Categoria Significado Opcode Descrio em RTL
assembly
LD valor Load (imediato) 00H A valor
Transferncia de LD [endereo] Load (memria) 01H A M[endereo]
dados
ST [endereo] Store (memria) 02H M[endereo] A

ADD valor Add (imediato) 03H A A + valor

ADD [endereo] Add (memria) 04H A A + M[endereo]


Operaes
aritmticas SUB valor Subtract (imediato) 05H A A valor

SUB [endereo] Subtract (memria) 06H A A M[endereo]

AND valor AND (imediato) 07H A A valor


Operaes AND [endereo] AND (memria) 08H A A M[endereo]
lgicas OR valor OR (imediato) 09H A A valor
OR [endereo] OR (memria) 0AH A A M[endereo]
JMP endereo Jump 0BH PC endereo
Saltos
JZ endereo Jump if zero 0CH (A=0) : PC endereo
JN endereo Jump if negative 0DH (A<0) : PC endereo
Diversos NOP No operation 0EH

Jos Delgado 2012 Arquitectura de Computadores Introduo arquitectura do hardware 35


Instruo LD [endereo]
Memria de Memria
instrues de dados

opcode constante

endereo de ROM de
instrues descodificao
constante
WR
PC
SEL_B MUX_B

SEL_PC SEL_A MUX_A


ESCR_PC
ESCR_A Registo A
MUX_PC

1
bit de maior peso 8
8 1. operando 2. operando
0 1 ...
1

SEL_ALU ALU

resultado da operao

Unidade de Controlo Unidade de Dados


Processador (PEPE-8)

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 36


Instruo ADD valor
Memria de Memria
instrues de dados

opcode constante

endereo de ROM de
instrues descodificao
constante
WR
PC
SEL_B MUX_B

SEL_PC SEL_A MUX_A


ESCR_PC
ESCR_A Registo A
MUX_PC

1
bit de maior peso 8
8 1. operando 2. operando
0 1 ...
1

SEL_ALU ALU

resultado da operao

Unidade de Controlo Unidade de Dados


Processador (PEPE-8)

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 37


Programao em assembly
Programa em RTL Programa em assembly
0 A0 00H incio: LD 0
1 M[soma] A 01H ST [soma]
2 AN 02H LD N
3 M[temp] A 03H ST [temp]
4 (A < 0) : PC 12 04H JN fim
5 (A = 0) : PC 12 05H teste: JZ fim
6 A A + M[soma] 06H ADD [soma]
7 M[soma] A 07H ST [soma]
8 A M[temp] 08H LD [temp]
9 AA1 09H SUB 1
10 M[temp] A 0AH ST [temp]
11 PC 5 0BH JMP teste
12 PC 12 0CH fim: JMP fim

Jos Delgado 2012 Arquitectura de Computadores Introduo arquitectura do hardware 38


Agora um processador de 16 bits
J no faz uma instruo por ciclo de relgio
Tem um ciclo de aes elementares por cada
instruo

instrues Cache de
endereos instrues
de instrues endereos
Interface Memria
Ncleo do
de principal
processador dados/instrues
dados memria (dados e
dados Cache de instrues)
WR
endereos dados
RD
de dados

Processador

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 39


Ciclo do processador Busca instruo
Descodifica
Busca
Unidadeoperandos
de
Unidade de Executa
Banco de (memria)
(registos)
processamento
controlo Escreve resultado
PC registos de dados

Registo de
instruo

Interface de memria
MPX Bus end.
endereos
A B dados
Unidade Bus dados
Controlo aritmtica e
lgica (ALU)
Bus contr.
F
CLK dados/instr.

flags MPX

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 40


MOV R2, [R3]
Exemplo ADD R1, R2
MOV [R3], R1
Unidade de Unidade de
controlo Banco de processamento
RI M[PC]
PC registos PCde
dados
PC + 2
PC
R2 R1
R1
M[R3] +R1
M[R3]R2
Registo de
instruo

Interface de memria
MPX Bus end.
endereos
A B dados
Unidade Bus dados
Controlo aritmtica e
lgica (ALU)
Bus contr.
F
CLK dados/instr.

flags MPX

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 41


Estrutura do processador
Registo de
instrues Banco de
registos ALU
MUX

Gerador de

NCLEO
constantes REM
PC

MUX

Unidade de
Unidade de excees
Controlo

I-Cache D-Cache

ACESSO MEMRIA
Interface de memria MUX

Portas tristate
RESET

BRQ
INT1
INT2

WAIT
BGT
INT3
INT0

RD

WR
BA

Barramento Barramento
de endereos de dados
A15..A0 D15..D0

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 42


Ncleo do processador
Registo de
instrues

3..0
BARR_A M ALU
4
M IND_A U BARR_A 5
U
OP_ALU OP_ALU

7..4
PA_A X
I_SAIDA
X SAIDA_ALU D_ENTR
BARR_B
15..12 11..8
PA_A M BARR_B
Banco de U SAZ, EXCESSO
SEL_A Registos SEL_OP_A X SAN,
DIV0 D_LE D_LE
SAC,
Cache de SAV C_RE D_ESCR D_ESCR
instrues REG_A 4
ENTR_RE 1
4 16
D_BA D_BA
IND_B SAIDA_RE
I_OK 3
SEL_RE

REM
Para a Unidade
SEL_OP_B D_BARR_END
LE_USP LE_USP SEL_RE de Excees
Excees ESCR_USP ESCR_USP
de busca PA_C PA_C M Cache de
BARR_C U ESCR_REM dados
SEL_C X
I_BARR_END ESCR_C
ESCR_RI
IND_C D_SAIDA
M ESCR_C
Para a Unidade 4
U
de Excees SEL_BARR_C Para a Unidade
X
de Excees
4 16 D_OK
I_OK_M REG_C
4 Gerador de
constantes Condies de salto
4 3 (Z, NZ, N, NN, C, GT, LE, etc)
SEL_CONST 0 1

MUX 4 SEL_SALTO
PC +2

Sinais de NUM_EXC
M controlo
U EXC_FIM Relgio
X

Unidade de EXC Unidade de


Controlo Excees
MAP ESCR_RI

Fontes de excees

SALTA_PC

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 43


Controlo microprogramado
Entradas da unidade
de controlo
Bits de estado (flags)

Gerador do prximo
endereo Endereo da
microinstruo
relgio Registo de endereo
de controlo microinstruo

ROM com
micro-
programa

Prximo Sadas para unidade Sadas para unidade de


endereo de controlo processamento de dados

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 44


Controlo e circuito controlado
X N

ESCR_RA ESCR_RB
RA RB
SHR_RA DEC_RB

nZ
MICRO_SALTO Z

+1
M ESCR_RA
U ROM de
SHR_RA
X MPC micro-
ESCR_RB
1 cdigo
DEC_RB

MUX2 2
SEL_MICRO_SALTO
Deslocar o registo X
0 1 Z nZ
de N bits

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 45


X N

ESCR_RA
SHR_RA
RA RB
ESCR_RB
DEC_RB Micro-
programa
nZ
MICRO_SALTO Z

+1
M ESCR_RA
U ROM de
SHR_RA
X MPC micro-
ESCR_RB
1 cdigo
DEC_RB

MUX2 2
SEL_MICRO_SALTO

0 1 Z nZ

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 46


Descodificao da instruo
Registo de instruo
opcode

ROM de
mapeamento
Entradas da
unidade de
controlo

Bits de estado (flags)

Gerador do prximo
endereo Endereo da
microinstruo

relgio Registo de endereo


de controlo microinstruo

ROM com
micro-
programa

Prximo Sadas para unidade de Sadas para unidade de


endereo controlo processamento de dados

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 47


Registo de
Unidade de controlo
instrues

3..0
BARR_A M ALU
4
M IND_A U BARR_A 5
U
OP_ALU OP_ALU

7..4
PA_A X
X
I_SAIDA SAIDA_ALU D_ENTR
BARR_B

15..12 11..8
PA_A M BARR_B
Banco de U SAZ, EXCESSO
SEL_A Registos SEL_OP_A X SAN,
DIV0 D_LE D_LE
SAC,
Cache de REG_A SAV C_RE D_ESCR D_ESCR
instrues ENTR_RE
4 1
4 16
D_BA D_BA
IND_B SAIDA_RE
I_OK 3
SEL_RE

REM
Para a Unidade
SEL_OP_B D_BARR_END
LE_USP LE_USP SEL_RE de Excees
Excees ESCR_USP ESCR_USP
de busca PA_C PA_C M Cache de
ESCR_RI BARR_C U ESCR_REM dados
SEL_C X
I_BARR_END ESCR_C
IND_C D_SAIDA
M ESCR_C
Para a Unidade 4
U
de Excees SEL_BARR_C Para a Unidade
X
de Excees
4 16 D_OK
I_OK_M REG_C
4 Gerador de
constantes Condies de salto
4 3 (Z, NZ, N, NN, C, GT, LE, etc)
0 1
SEL_CONST NUM_EXC
MUX 4 SEL_SALTO
PC +2
I_OK_M MICRO_SALTO

m_BSC1 Sinais de
M +1 controlo
U Relgio
X M ROM de
M MP
ROM de U micro- EXC_FIM
U C
Mapeamento m_EXC1 X cdigo
X 3

Controlo MPC EXC Unidade de


ESCR_RI Excees
SALTA_MPC
MAP
MUX SEL_MICRO_SALTO
Unidade de
Controlo
0 1 SA0 SAZ SAN Fontes de excees
nSA0 nSAZ
SALTA_PC

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 48


Microprogramao

Jos Delgado 2012 Arquitetura de Computadores Introduo arquitetura do hardware 49