Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Responsabilidades principais e
distintas que precisam ser tratadas
em um pipeline de despacho multiplo:
- Empacotar as instrues em slotes
de despachos;
- Lidar com hazards de dados e de
controle.
ESPECULAO:
Um dos mtodos mais importantes
para localizar e explorar mais ILP a
especulao.
*Especulao: Tcnica pela qual o
compilador ou processador advinha o
resultado de uma instruo para
remov-la como uma dependncia na
execuo de outras informaes.
A especulao pode ser feita pelo
compilador ou pelo hardware, ou seja,
antes ou durante a execuo.
DESPACHO MLTIPLO
a tcnica de despachar vrias
instrues em um nico ciclo de clock
(pacote de despacho).
Os microprocessadores mais potentes
de hoje tentam despachar de trs a
oito instrues a cada ciclo de clock.
DESPACHO MLTIPLO
Dificuldades:
Restries relacionadas aos tipos de
instrues que podem ser
executadas simultaneamente.
Consequncias geradas pela
ocorrncia de dependncias.
Despacho mltiplo
Tcnicas para implementar um
processador de despacho mltiplo:
Tcnica de despacho mltiplo
esttico
Tcnica de despacho mltiplo
dinmico
DESPACHO MLTIPLO
ESTTICO X DINMICO
A principal diferena entre elas a
diviso de trabalho entre o
compilador e o hardware.
Diviso de trabalho- indica se as
decises esto sendo feitas
estaticamente(no compilador) ou
dinamicamente(no hardware).
DESPACHO MLTIPLO
Existem duas tarefas principais que
precisam ser tratadas em um pipeline
de despacho mltiplo:
Empacotar as instrues em slots de
despacho.
Lidar com hazards de dados e
controles.
A ARQUITETURA IA-64 DA
INTEL
Conjunto de instrues registradorregistrador, como a verso de 64bits
da arquitetura MIPS, mas com vrios
recursos exclusivos para dar suporte
a explorao explcita do ILP,
controlada por compilador.
Projetada para alcanar os maiores
benefcios de um paralelismo
implcito.
A ARQUITETURA IA-64 DA
INTEL
Utiliza dois conceitos diferentes para
conseguir flexibilidade maior que uma
VLIW:
1. Grupo de instrues
2. pacotes
PROCESSADORES DE DESPACHO
MLTIPLO DINMICO
Tambm conhecidos como superescalares
Principal caracterstica:
Instrues executadas em paralelo em um mesmo
estgio de pipeline
EXEMPLO
1. lw
2. addi
= 37
3. add
4. lw
5. addi
= 40
6. add
$t1, 4($s2)
$t1, $t1, 20
# A recebe 17
# A recebe 20 + 17
# C recebe A = 37
# A recebe 30
# A recebe 30 + 10
# D recebe A = 40
# A recebe 17
# A recebe 20 +
# C recebe A = 37
# B recebe 30
# B recebe 30 +
# D recebe B = 40
Reorganizando
1. lw
$t1, 4($s2)
2. lw
$t2, 8($s2)
3. addi $t1, $t1, 20
17 = 37
4. addi $t2, $t2, 10
10 = 40
5. add
$t3, $t3, $t1
37
6. add
$t4, $t4, $t2
40
# A recebe 17
# B recebe 30
# A recebe 20 +
# B recebe 30 +
# C recebe A =
# D recebe B =
ESCALONAMENTO DINMICO EM
PIPELINE
Dividido em trs unidades principais:
Unidade de busca de instrues
Unidades funcionais
Unidade de commit
EXEMPLO DE IMPLENTAO
PENTIUM IV:
Combina o uso do despacho mltiplo com um longo
pipeline, com a finalidade de se obter um alto IPC
(Instrues por clock) aliado um alto clock.
Possuem clocks maiores que as geraes
anteriores