Sei sulla pagina 1di 34

Universidade Federal de Pelotas

Instituto de Fsica e Matemtica


Departamento de Informtica
Bacharelado em Cincia da Computao

Arquitetura e Organizao
de Computadores II
Aula 3
2. MIPS monociclo: controle da ULA, execuo das
instrues, bloco de controle principal,
desempenho de mquinas monociclo.

Prof. Jos Lus Gntzel


guntzel@ufpel.edu.br
www.ufpel.edu.br/~guntzel/AOC2/AOC2.html
2. Organizaes do MIPS: monociclo
Bloco Operativo Monociclo
Capaz de Realizar instrues tipo R, lw, sw e beq
FontePC

0
+ M
U
4
+ 1
X

Desl.
esq.
2 bits
[25-21]
Reg a ser
lido #1 Dado
[20-16] MemParaReg
PC 32 Reg a ser lido #1
Endereo lido #2
ULAFonte Zero EscMem
0 Registradores
M ULA
Instruo U Reg a ser
[15-11] 0 Resultado Endereo Dado 0
1X
escrito Dado
lida M lido M
Dado de lido #2
Memria [15-0] U Memria U
escrita X
de Instrues 1
3 de dados X
1
RegDst EscReg Dado a ser
escrito
16 Controle
Exten- 32 LerMem
ULA
so de
sinal

ComputaoUFPel slide 3.2 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Controle da ULA
A ULA tem 3 entradas de controle (8 combinaes possveis)
Somente 5 combinaes so usadas

32
Entrada de controle da ULA Funo
Zero 000 AND
ULA 32 001 OR
32
Resultado 010 Adio
110 Subtrao
3
111 Set on less than
Operao
da ULA

ComputaoUFPel slide 3.3 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Controle da ULA 32

Entrada de controle da ULA Funo Zero


000 AND ULA 32
32
001 OR Resultado

010 Adio
3
110 Subtrao
111 Set on less than Operao
da ULA

Uso da ULA
lw/sw: adio (para calcular o endereo de acesso memria)
beq: subtrao (para testar se os registradores Rs e Rt so
iguais)
Instrues tipo R: depende do campo funct, podendo ser AND,
OR, adio, subtrao ou set on less than

ComputaoUFPel slide 3.4 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Controle da ULA
A ULA ter um controle prprio, separado do bloco de controle
principal (e portanto, menos complexo e mais rpido)
Este controle tem como entradas:
Os 6 bits do campo funct
2 bits vindos do bloco de controle global (ULAOp), que serve para
identificar a qual classe a instruo a ser executada pertence

Operao
da ULA Classe de
ULAOp ULA deve realizar
6 instruo
Opera- 3
funct o 00 lw/sw adio
da
ULA 01 beq subtrao
2 depende do
10 tipo R
ULAOp campo funct
11 - -

ComputaoUFPel slide 3.5 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Controle da ULA
Correspondncia entre funct & ULAOp com controle da ULA
Instruo ULAOp Campo funct Operao da ULA Operao da ULA
lw 00 XXXXXX adio 010
Operao sw 00 XXXXXX adio 010
da ULA
beq 01 XXXXXX subtrao 110
6
Opera- 3
funct o add 10 100000 adio 010
da
ULA sub 10 100010 subtrao 110
2 and 10 100100 and 000
ULAOp
or 10 100101 or 001
slt 10 101010 set on less than 111

Concluses:
Apenas algumas das 64 combinaes possveis a partir dos 6 bits do campo
funct so de interesse
O campo funct somente interessa quando ULAOp = 10
ComputaoUFPel slide 3.6 Prof. Jos Lus Gntzel
Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Controle da ULA
Tabela-Verdade para a Gerao dos 3 Bits de Controle da ULA
Instruo ULAOp Campo funct Operao da ULA Operao da ULA
lw 00 XXXXXX adio 010
sw 00 XXXXXX adio 010
beq 01 XXXXXX subtrao 110
add 10 100000 adio 010
sub 10 100010 subtrao 110
and 10 100100 and 000
or 10 100101 or 001
slt 10 101010 set on less than 111

ULAOp1 ULAOp2 F5 F4 F3 F2 F1 F0 Operao da ULA


0 0 X X X X X X 010
X 1 X X X X X X 110
1 X X X 0 0 0 0 010
1 X X X 0 0 1 0 110
1 X X X 0 1 0 0 000
1 X X X 0 1 0 1 001
1 X X X 1 0 1 0 111

ComputaoUFPel slide 3.7 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Controle da ULA
Tabela-Verdade para a Gerao dos 3 Bits de Controle da ULA

ULAOp1 ULAOp2 F5 F4 F3 F2 F1 F0 Operao da ULA


0 0 X X X X X X 010
X 1 X X X X X X 110
1 X X X 0 0 0 0 010
1 X X X 0 0 1 0 110
1 X X X 0 1 0 0 000
1 X X X 0 1 0 1 001
1 X X X 1 0 1 0 111

ComputaoUFPel slide 3.8 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Bloco Operativo + Controle da ULA
0
M
U
+ + 1
X
Desl.
4 esq.
2 bits

FontePC

EscReg

[25-21] Reg a ser EscMem


lido #1 MemParaReg
Dado
[20-16] Reg a ser
PC 32 lido #1 ULAFonte Zero
Endereo lido #2
0
M Registradores ULA
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
1 3 de dados 1
de Instrues RegDst
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da
[5-0] 6 LerMem
ULA
2
ULAOp

ComputaoUFPel slide 3.9 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Bloco de Controle Principal
Relembrando os formatos das 3 principais classes de instruo
Reg. a ser Reg. a ser Reg. a ser
Instruo tipo R: lido #1 lido #2 escrito
31 26 25 21 20 16 15 11 10 6 5 0

opcode rs rt rd shamt funct

Reg. a ser Reg. a ser


lido #1 lido #2 Deslocamento a ser
Instruo store word : (reg. base) (dado) somado com o reg. base
31 26 25 21 20 16 15 0

opcode rs rt deslocamento

Reg. a ser
lido #1 Reg. a ser Deslocamento a ser
Instruo load word: (reg. base) escrito somado com o reg. base

31 26 25 21 20 16 15 0

opcode rs rt deslocamento

ComputaoUFPel slide 3.10 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
O Bloco de Controle Principal
Relembrando os formatos das 3 principais classes de instruo

Instruo branch on equal: Reg. a ser Reg. a ser Deslocamento a ser


lido #1 lido #2 somado com o PC
31 26 25 21 20 16 15 0

opcode rs rt deslocamento

comparados

ComputaoUFPel slide 3.11 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Os Sinais de Controle
0
M
U
+ + 1
X
Controle
=1 se beq Desl.
4
RegDst
esq. FontePC do beq
2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg

[25-21] Reg a ser


lido #1
Dado
[20-16] Reg a ser
PC 32 lido #1 Zero
Endereo lido #2
0
M Registradores ULA
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
1 3 de dados 1
de Instrues
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da
[5-0] 6
ULA
2

ComputaoUFPel slide 3.12 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Execuo de uma Instruo Tipo R
Seja uma instruo tipo R, como por exemplo add $t1, $t2, $t3:
Podemos imaginar que esta instruo executada em 4 etapas:
1. Busca da instruo (na memria de instrues) e incremento do
PC
2. Leitura de dois registradores (no caso, $t2 e $t3, ou Rs e Rt) e
gerao dos sinais de controle para o resto do bloco operativo
(decodificao da instruo)
3. Operao na ULA
4. Escrita (do resultado da operao realizada na ULA) no
registrador destino ($t1 ou Rd)

Como estes passos ocorrem dentro do mesmo ciclo de relgio (regime


monociclo), a ordem real ir depender do atraso de cada componente.

ComputaoUFPel slide 3.13 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo Tipo R: busca da instruo e clculo de PC+4
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2
0
M Registradores ULA
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
Carga no PC lida 1
lido #2 U
lido
Dado de U
Memria [15-0] Memria
(incio da escrita
1
X
3 de dados 1
X
de Instrues
execuo Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da
[5-0] 6
CK ULA
2

ComputaoUFPel slide 3.14 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo Tipo R: leit. de Rs e Rt e gerao sinais de controle
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 1
0 Registradores 0 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da 0
[5-0] 6
CK ULA
10 2

ComputaoUFPel slide 3.15 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo Tipo R: operao na ULA (depende de funct)
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 1
0 Registradores 0 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da 0
[5-0] 6
CK ULA
10 2

ComputaoUFPel slide 3.16 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo Tipo R: escrita no registrador-destino
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns+1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 1
0 Registradores 0 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
folga sinal o
0
da
[5-0] 6
CK ULA
10 2

ComputaoUFPel slide 3.17 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo Tipo R: escrita no registrador-destino
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0

A escrita no banco de registradores precisa


DvC
LerMem
MemParaReg
Controle

estar sincronizada com a borda do relgio


ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns+1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 1
0 Registradores 0 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 1 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
folga sinal o
0
da
[5-0] 6
CK ULA
10 2

ComputaoUFPel slide 3.18 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Execuo de uma Instruo lw
Seja a instruo load word, lw $t1, deslocamento($t2):
Podemos imaginar que esta instruo executada em 5 etapas:
1. Busca da instruo (na memria de instrues) e incremento do
PC
2. Leitura de dois registradores (no caso, $t1 e $t2, ou Rs e Rt) e
gerao dos sinais de controle para o resto do bloco operativo
(decodificao da instruo). Apenas o registrador $t2 (Rs)
interessa, pois o registrador-base. Rt ser desprezado
3. Clculo do endereo usando a ULA (adio)
4. Acesso memria de dados para uma leitura (endereo =
resultado da ULA)
5. Escrita (do valor lido da memria de dados) no registrador destino
($t1, que neste caso correponde ao campo Rt)
ComputaoUFPel slide 3.19 Prof. Jos Lus Gntzel
Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo lw: busca da instruo e clculo de PC+4
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2
0
M Registradores ULA
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
Carga no PC lida 1
lido #2 U
lido
Dado de U
Memria [15-0] Memria
(incio da escrita
1
X
3 de dados 1
X
de Instrues
execuo Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da
[5-0] 6
CK ULA
2

ComputaoUFPel slide 3.20 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo lw: leitura de Rs (e Rt) e gerao sinais de controle
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 0
0 Registradores 1 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da 1
[5-0] 6
CK ULA
00 2

ComputaoUFPel slide 3.21 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo lw: clculo do endereo usando a ULA (adio)
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 0
0 Registradores 1 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da 1
[5-0] 6
CK ULA
00 2

ComputaoUFPel slide 3.22 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo lw: acesso memria de dados para uma leitura
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 0
0 Registradores 1 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da 1
[5-0] 6
CK ULA
00 2

ComputaoUFPel slide 3.23 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo lw: escrita no registrador-destino
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 0
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1 1ns+1ns 2ns
4ns [25-21] Reg a ser
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 0
0 Registradores 1 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues 0 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
folga so de Opera-
sinal o
da 1
[5-0] 6
CK ULA
00 2

ComputaoUFPel slide 3.24 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Execuo de uma Instruo beq
Seja a instruo de desvio condicional, beq $t1, $t2, deslocamento:
Podemos imaginar que esta instruo executada em 3 etapas:
1. Busca da instruo (na memria de instrues) e incremento do PC
2. Leitura de dois registradores (no caso, $t1 e $t2, ou Rs e Rt) e
gerao dos sinais de controle para o resto do bloco operativo
(decodificao da instruo)
3. Clculo da subtrao entre os registradores $t1 e $t2 (Rs e Rt)
usando a ULA (adio). O valor na sada zero da ULA usado
para decidir se o PC ser atualizado com PC+4 ou com o endereo-
alvo do desvio condicional.

ComputaoUFPel slide 3.25 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo beq: busca da instruo e clculo de PC+4
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2
0
M Registradores ULA
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
Carga no PC lida 1
lido #2 U
lido
Dado de U
Memria [15-0] Memria
(incio da escrita
1
X
3 de dados 1
X
de Instrues
execuo Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da
[5-0] 6
CK ULA
2

ComputaoUFPel slide 3.26 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo beq: leit. de Rs e Rt e gerao sinais de controle
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 1
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
0 1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 X
0 Registradores 0 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues X 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da 0
[5-0] 6
CK ULA
01 2

ComputaoUFPel slide 3.27 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Instruo beq: operao na ULA (subtrao)
1ns 1ns
0
M
U
+ + 1
X
?? ns Desl.
4 esq. FontePC
RegDst 2 bits 1
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
ULAFonte
[31-26] EscReg
0 1ns
4ns [25-21] Reg a ser
2ns
lido #1
Dado
PC
[20-16] Reg a ser lido #1 Zero
4ns
Endereo 32 lido #2 0 X
0 Registradores 0 ULA
M
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
de Instrues X 1 3 de dados 1
Dado a ser
16 32 escrito
Exten-
so de Opera-
folga sinal o
da 0
[5-0] 6
CK ULA
01 2

ComputaoUFPel slide 3.28 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Projeto do Bloco de Controle Principal
Valores dos Sinais de Controle para as Instrues R, lw, sw e beq
instruo RegDst ULAFonte MemParaReg EscReg LerMem EscMem DvC ULAOp1 ULAOp0
Tipo R 1 0 0 1 0 0 0 1 0
lw 0 1 1 1 1 0 0 0 0
sw X 1 X 0 0 1 0 0 0
beq X 0 X 0 0 0 1 0 1

Valores do campo opcode para as Instrues R, lw, sw e beq


Opcode em
instruo Op5 Op4 Op3 Op2 Op1 Op0
decimal
Tipo R 0 0 0 0 0 0 0
lw 35 1 0 0 0 1 1
sw 43 1 0 1 0 1 1
beq 4 0 0 0 1 0 0

ComputaoUFPel slide 3.29 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Projeto do Bloco de Controle Principal
Tabela-Verdade para os Sinais de Controle
entradas sadas

MemParaReg
ULAFonte

EscMem

ULAOp0
ULAOp1
LerMem
RegDst

EscReg

DvC
Op5 Op4 Op3 Op2 Op1 Op0
0 0 0 0 0 0 1 0 0 1 0 0 0 1 0
1 0 0 0 1 1 0 1 1 1 1 0 0 0 0
1 0 1 0 1 1 X 1 X 0 0 1 0 0 0
0 0 0 1 0 0 X 0 X 0 0 0 1 0 1

ComputaoUFPel slide 3.30 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Incluso do Desvio Incondicional (jump)
Instruo jump: 31 26 25 0

opcode deslocamento

A instruo jump se parece com a instruo beq


Porm, calcula o endereo-alvo concatenando:
Os 4 bits de mais significativos de PC+4 com
Os 26 bits do campo deslocamento da instruo de jump (campo
imediato) e com
os bits 00 (menos significativos)

ComputaoUFPel slide 3.31 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Incluso do Desvio Incondicional (jump)
26 28
Desl. 1
esq. M
0
2 bits U
M X
PC+4[31-28] U 0
+ + 1
X

4 RegDst
=1 se jump Desl.
esq. FontePC
DVI 2 bits
DvC
LerMem
MemParaReg
Controle ULAOp
EscMem
[31-26] ULAFonte
EscReg

[25-21] Reg a ser


lido #1
Dado
[20-16] Reg a ser
PC 32 26 lido #1 Zero
Endereo lido #2
0
M Registradores ULA
Instruo [15-11] U Reg a ser 0
Resultado Endereo Dado 0
X escrito Dado M M
lida 1
lido #2 U
lido
Dado de U
Memria [15-0] escrita X Memria X
1 3 de dados 1
de Instrues
Dado a ser
16 32 escrito
Exten-
so de Opera-
sinal o
da
[5-0] 6
ULA
2

ComputaoUFPel slide 3.32 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Desempenho de Mquinas Monociclo
Unidades funcionais utilizadas por cada instruo

instruo Etapa 1 Etapa 2 Etapa3 Etapa 4 Etapa 5


Escreve
Tipo R Busca da instruo L registrador(es) ULA
registrador
Escreve
lw Busca da instruo L registrador(es) ULA L memria
registrador
Escreve na
sw Busca da instruo L registrador(es) ULA
memria
beq Busca da instruo L registrador(es) ULA
jump Busca da instruo

ComputaoUFPel slide 3.33 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II
2. Organizaes do MIPS: monociclo
Desempenho de Mquinas Monociclo
Tempo de execuo de cada instruo (com valores hipotticos
de atraso para cada etapa)

Acesso
Acesso memria Leitura de Operao Escrita no
instruo memria de Total
de instrues registradores na ULA registrador
dados
Tipo R 4 ns 1 ns 2 ns --- 1 ns 8 ns
lw 4 ns 1 ns 2 ns 4 ns 1 ns 12 ns
sw 4 ns 1 ns 2 ns 4 ns --- 11 ns
beq 4 ns 1 ns 2 ns --- --- 7 ns
jump 4 ns --- --- --- --- 4 ns

ComputaoUFPel slide 3.34 Prof. Jos Lus Gntzel


Arquitetura e Organizao de Computadores II

Potrebbero piacerti anche