Académique Documents
Professionnel Documents
Culture Documents
de
Computadores
Prof.
Alexandro
Baldassin
1o
semestre/2014
MICROARQUITETURA
Conceitos
Ciclo
de
execuo
de
instrues
Recordando
Problema
Raz quadrada de N?
Algoritmo
Sequncia
de passos
Software
Programas
Sistema
Operacional
Device
drivers
Arquitetura
Instrues
Registradores
Microarquitetura
Caminho de dados
Controle
Lgica
Somadores
Memrias
Circuitos
Portas AND e
OR
Dispositivos
Transistores
Diodos
Fsica
Eltrons
Arquitetura de Computadores
Recordando
Implementao
especca
de
um
ISA
(hardware)
Problema
Raz quadrada de N?
Algoritmo
Sequncia
de passos
Software
Programas
Sistema
Operacional
Device
drivers
Arquitetura
Instrues
Registradores
Microarquitetura
Caminho de dados
Controle
Lgica
Somadores
Memrias
Circuitos
Portas AND e
OR
Dispositivos
Transistores
Diodos
Fsica
Eltrons
Arquitetura de Computadores
Processamento
de
instrues
O
ISA
especica
o
que
E
deve
ser,
dado
uma
instruo
e
E
Pode
ser
modelado
como
uma
mquina
de
estado
nita
Do
ponto
de
vista
do
ISA,
no
h
estados
intermedirios
entre
E
e
E
1.
Busca
da
instruo
Instruo
buscada
na
memria
PC
aponta
para
instruo
a
ser
executada
Neste
estgio
tambm
comum
incrementar
o
PC
para
que
este
possa
apontar
para
prxima
instruo
a
ser
executada
Todas
as
instrues
requerem
este
passo
Arquitetura de Computadores
Arquitetura de Computadores
3.
Execuo
A
classe
da
instruo
determina
o
que
deve
ser
feito
neste
estgio
em
geral,
uma
unidade
aritm`ca
lgica
(ALU)
usada
Arquitetura de Computadores
10
4.
Acesso
memria
Somente
instrues
de
leitura
e
escrita
efe`vamente
necessitam
deste
estgio
Outras
instrues
simplesmente
no
fazem
nada
Instrues
de
leitura
dado
con`do
no
endereo
de
memria
computado
no
estgio
anterior
lido
Instrues
de
escrita
dado
con`do
no
registrador
fonte
escrito
no
endereo
de
memria
computado
no
estgio
anterior
Arquitetura
de
Computadores
11
5.
Escrita
em
registrador
Executada
pelas
instrues
que
precisam
escrever
resultado
da
operao
em
registrador
des`no
Exemplos
instrues
aritm`cas
e
lgicas
instruo
de
leitura
Arquitetura de Computadores
12
Exemplo
de
execuo
0x012A4020
0x00
op
0x09
0x0A
0x08
0x00
0x20
rs
rt
rd
shamt
funct
add
Estgio
1
Estgio 2
Estgio 3
Estgio 4
no usado
Estgio 5
Arquitetura de Computadores
13
Mais
um
exemplo
lw
$3,
16($1)
Estgio 1
Estgio 2
Estgio 3
Estgio 4
Estgio 5
Arquitetura de Computadores
14
Componentes
de
um
processador
Caminho
de
dados
componente
responsvel
pela
manipulao
dos
dados
(armazenamento,
aritm`ca,
mul`plexao...)
composto
de
blocos
funcionais
Unidade
de
controle
componente
responsvel
por
informar
ao
caminho
de
dados
o
que
necessita
ser
feito
(como
executar
uma
determinada
instruo)
composta
por
sinais
de
controle
Arquitetura
de
Computadores
15
16
Arquitetura de Computadores
17
Arquitetura de Computadores
18
Seleo
de
componentes
PC
Implcito
->
arquitetura
Von
Neumann
Outros
Hardware
para
estender
sinal/zero
Hardware
para
somar
4
ao
PC
(usar
ALU?)
Mul`plexadores
(seleo
de
dados)
Arquitetura
de
Computadores
19
PC (Program Counter)
endereo
prxima
instruo
endereo
instruo
corrente
nmero de bits
Arquitetura de Computadores
20
Memria
Smbolo
Signicado
endereo
RD
dado lido
WD
WE
21
Banco
de
registradores
controla
quando
dado
em
WD3
escrito
no
registrador
des`no
(0
ou
1)
registradores fonte
registrador
des`no
dado
a
ser
escrito
no
registrador
des`no
Arquitetura de Computadores
22
operandos
resultado
Arquitetura de Computadores
23
Mul`plexador
seletor
I1 ou I2 ... ou In
Arquitetura de Computadores
24
Temporizao
Clock
determina
quando
os
sinais
de
controle
tero
efeito
metodologia
sensvel
transio
do
clock
(borda
de
subida)
Implementaes
possveis:
Monociclo
todos
estgios
executados
em
um
nico
ciclo
de
clock
Mul`ciclo
cada
estgio
executado
em
um
ciclo
de
clock
Pipeline
mul`ciclo
com
execuo
sobreposta
das
instrues
Arquitetura
de
Computadores
25
IMPLEMENTAO
MONOCICLO
Caminho
de
dados
e
controle
Anlise
de
compromissos
26
Implementao
monociclo
Ciclo
de
clock
deve
ser
longo
suciente
para
permi`r
a
execuo
de
todos
os
estgios
sem
interrupo
1. busca de instruo
3.
execuo
2.
decodicao
5.
escrita
registrador
4.
memria
clock
Arquitetura de Computadores
27
Caminho
de
dados
Implementando
a
instruo
lw
Passo 1
Passo 2
Passo 3
Passo 4
Passo 5
Arquitetura de Computadores
28
Caminho de dados
Arquitetura de Computadores
29
Caminho
de
dados
Passo
1
Arquitetura de Computadores
30
Caminho
de
dados
Passo
1
Arquitetura de Computadores
31
Caminho
de
dados
Passo
2
Arquitetura de Computadores
32
Caminho
de
dados
Passo
2
Arquitetura de Computadores
33
Caminho
de
dados
Passo
3
Arquitetura de Computadores
34
Caminho
de
dados
Passo
4
Arquitetura de Computadores
35
Caminho
de
dados
Passo
4
Passo 5
Arquitetura de Computadores
36
Caminho
de
dados
Adicionar
instruo
sw
o
que
precisamos
adicionar
no
caminho
de
dados?
ao
invs
de
escrever
no
registrador,
escrevemos
seu
contedo
na
memria
Arquitetura de Computadores
37
Caminho
de
dados
Modicaes
necessrias
para
instrues
do
`po
R
Arquitetura de Computadores
38
Caminho
de
dados
Modicaes
necessrias
para
instrues
do
`po
R
os
dois
operandos
da
ALU
so
registradores
mux
adicionado
para
selecionar
entre
RD2
e
SignImm
Arquitetura de Computadores
39
Caminho
de
dados
Modicaes
necessrias
para
instrues
do
`po
R
resultado
da
ALU
deve
ser
escrito
no
registrador
des`no
mux
adicionado
para
selecionar
entre
ALUResult
e
ReadData
Arquitetura de Computadores
40
Caminho
de
dados
Modicaes
necessrias
para
instrues
do
`po
R
ndice
do
registrador
de
des`no
depende
da
instruo
mux
adicionado
para
selecionar
entre
campos
RT
e
RD
Arquitetura de Computadores
41
Caminho
de
dados
Caminho
de
dados
atual
suporta
as
instrues:
add,
sub,
or,
and,
stl
lw,
sw
op
rs
6 bits
5 bits
Arquitetura de Computadores
rt
5
bits
imm
16
bits
42
Caminho
de
dados
Alterao
no
caminho
de
dados
para
suportar
a
instruo
beq
Arquitetura de Computadores
43
Arquitetura de Computadores
44
Unidade
de
controle
Unidade
de
controle
em
um
projeto
monociclo
um
circuito
combinacional
Determinar
as
entradas
e
sadas
atravs
de
uma
tabela
verdade
entradas:
campos
op
e
funct
da
instruo
sadas:
sinal
para
muxes
e
elementos
de
estado
45
Unidade
de
controle
Fatorao
ALUOp
Signicado
00
adicione (lw/sw)
01
subtraia (branch)
10
11
no usado
ALUOp
Funct
ALUControl
00
010 (add)
X1
110 (sub)
1X
100000
010 (add)
1X
100010
110 (sub)
1X
100100
000 (and)
1X
100101
001 (or)
1X
101010
111 (slt)
Arquitetura de Computadores
46
Unidade
de
controle
Tabela
verdade
do
decodicador
principal
Instruo
RegWrite
RegDst
ALUSrc
Branch
MemWrite
MemtoReg
ALUOp
`po-R
10
lw
00
sw
00
beq
01
Como
preench-la?
ALUOp:
olhar
tabela
anterior
outros
sinais:
olhar
caminho
de
dados
para
cada
instruo
e
determinar
quando
sinal
deve
estar
a`vo
Arquitetura
de
Computadores
47
Unidade
de
controle
Controle:
instruo
or
0
Arquitetura de Computadores
48
Unidade
de
controle
Tabela
verdade
do
decodicador
principal
Instruo
RegWrite
RegDst
ALUSrc
Branch
MemWrite
`po-R
10
lw
00
sw
00
beq
01
Arquitetura de Computadores
MemtoReg
ALUOp
49
Microarquitetura
monociclo
uma
boa
ideia/bom
projeto?
Quando
um
bom
projeto?
Quando
um
mau
projeto?
Como
projetar
uma
microarquitetura
melhor?
Arquitetura de Computadores
50
Monociclo:
Anlise
Lembrem-se
da
equao
de
desempenho!
Como
determinar?
1. busca de instruo
3.
execuo
2.
decodicao
5.
escrita
registrador
4.
memria
clock
Determinado
pelo
tempo
que
a
instruo
mais
lenta
leva
para
ser
executada,
mesmo
que
alguma
outra
no
necessite
de
todo
esse
tempo!
Arquitetura
de
Computadores
51
Estgios/
Recursos
IF
/
ID
/
Memria
Banco
reg
EX
/
ALU
caminho cr]co
MEM
/
WB
/
Memria
Banco
reg
]po R
200
50
100
50
400
lw
200
50
100
200
50
600
sw
200
50
100
200
550
branch
200
50
100
350
Arquitetura de Computadores
Atraso
52
200 ps
250 ps
350 ps
400 ps
Arquitetura de Computadores
53
200 ps
250
ps
600
ps
Arquitetura de Computadores
350 ps
550 ps
54
Discusso
Como
a
unidade
de
controle
pode
afetar
o
caminho
cr`co?
A
unidade
de
controle
pode
estar
no
caminho
cr`co?
Memria
no
mgica
E
se
a
memria
s
vezes
demorar
100ms?
Faz
sen`do
fazer
uma
instruo
do
`po
R
levar
100ms+?
Problema
ainda
maior
se
a
memria
for
acessada
mais
de
uma
vez
(em
quais
instrues
isso
acontece?)
Arquitetura
de
Computadores
55
Microarquitetura
monociclo
Ineciente
Todas
as
instrues
so
to
lentas
quanto
a
mais
lenta
Um
recurso
precisa
ser
replicado
se
for
usado
mais
de
uma
vez
pela
mesma
instruo
Atrasos
nos
acessos
memria
exige
um
perodo
de
ciclo
alto,
afetando
at
instrues
que
operam
em
registradores
56
Projeto
balanceado
Balanceie
o
uxo
dos
dados
e
controle
atravs
do
hardware
Balanceie
o
hardware
necessrio
para
completar
a
tarefa
Arquitetura
de
Computadores
57