Professional Documents
Culture Documents
Prof. Edivaldo Serafim Curso: Tecnlogo em Anlise e Desenvolvimento de Sistemas - 2013 IFSP Campus Capivari
Tpicos abordados
Viso geral: Superescalar x Superpipeline; Limitaes; Questes de projeto: Paralelismo no Nvel de Instrues e Paralelismo de Mquina; Polticas de iniciao de instrues: Iniciao em ordem com terminao em ordem; Iniciao em ordem com terminao fora de ordem; Iniciao fora de ordem com terminao fora de ordem. Renomeao de registradores;
VISO GERAL
Viso geral
Pipeline possibilita que vrias instrues posam ser executadas ao mesmo tempo em estgios diferentes; Pipeline no permite que duas instrues usem a mesma unidade ao mesmo tempo; Arquiteturas superescalares incluem todos os aspectos do Pipeline, porm com mltiplas instrues usando as mesmas unidades da CPU; Possuem a habilidade de iniciar mltiplas instrues no mesmo ciclo de clock; Isso possvel incluindo mais de uma linha de Pipeline que utilizam mais de uma unidade funcional.
Viso geral
Superescalar x Superpipeline
H trs abordagens tpicas para melhoria de desempenho: Pipeline bsica (visto anteriormente); Superescalar; Superpipeline. Pipeline bsica: Apenas uma instruo utilizando a Unidade de Execuo a cada ciclo de clock; Superpipeline: Duas instrues utilizando a Unidade de Execuo a cada ciclo de clock; Uma na borda de subida e outra na borda de descida; Explora o fato de que muitos estgios de um pipeline requerem um tempo menor que a metade de um ciclo de clock.
Superescalar x Superpipeline
Superescalar: Possibilita a execuo de instrues em pipelines paralelos; Pipelines paralelos so possveis duplicando unidades funcionais; O nmero de instrues que podem ser executadas em paralelo dependendo do nmero e tipo das unidades paralelas disponveis; Utilizam uma combinao de otimizao de compiladores e tcnicas de hardware para aumentar o nvel de paralelismo; Essa tcnica tem limitaes.
Superescalar x Superpipeline
Limitaes
Os problemas (hazards) na arquitetura superescalar so muito similares aquelas que ocorrem na arquitetura Pipeline; As consequncias destes hazards na arquitetura superescalar so mais severas do que em pipelines simples; Isso ocorre devido ao alto potencial de paralelismo, onde o nmero de instrues perdidas a cada bolha de Pipeline so maiores; As limitaes mais importantes: Conflito por Dados, Conflito por recursos e Dependncia de Controle:
10
Limitaes
Conflito por Dados: So produzidos pelas dependncias de dados entre instrues no programa. Arquiteturas superescalares possuem uma grande liberdade para organizar o despacho e execuo de instrues. Conflito por recursos: Ocorrem se duas ou mais instrues competem pelo mesmo recurso (registrador, memria, I/O) ao mesmo tempo; Arquiteturas superescalares tentam reduzir estes conflitos acrescentando vrias unidades funcionais em paralelo.
11
Limitaes
Conflito por Controle: A presena de desvios cria grandes problemas para garantir um paralelismo timo; Se as instrues so de tamanho varivel, elas no podem ser buscadas e despachadas em paralelo; Tcnicas superescalares so mais eficientes para arquiteturas RISC que possuem tamanho e formato de instrues fixo.
12
Limitaes
Conflito por Dados:
13
Limitaes
Conflito por Controle:
14
Limitaes
Conflito por Recursos:
15
QUESTES DE PROJETO
16
17
18
19
20
21
22
23
24
R3 R4 R3 R7
<<<<-
R3 R3 R5 R3
op R5 + 1 + 1 op R4
25
Hazard de dados entre i3 e i4; Pela execuo fora de ordem poderia ser executada a instruo i3 antes de i1; O que ocorreria? R3 em i4 estaria errado!
26
27
28
29
30
31
32
Renomeao de Registradores
Instrues iniciadas em sequncia e finalizadas em sequncia no competem por registradores; Instrues iniciadas e terminadas fora de sequncia no conseguem determinar os valores de cada registrador a cada instante; A competio por registradores causam conflitos que param ou atrasam o Pipeline; O problema ainda pior quando existe tcnicas de otimizao de registradores, j que busca maximizar o uso desses registradores; Para resolver esses conflitos pode-se utilizar a tcnica de duplicao de recursos;
33
Renomeao de Registradores
Duplicao de recursos consiste em renomear registradores; Objetiva eliminar ou diminuir a ocorrncia de dependncias de sada e antidependncias; Exemplo:
A criao de R3c em i3 evita a ocorrncia de antidependncia com i2 e dependncia de sada com i1;
34
Paralelismo de mquina
Trs tcnicas para melhorar o desempenho em processadores superescalares:
Duplicao de recursos (maior nmero de unidades funcionais); Iniciao e terminao de instrues fora de ordem e; Renomeao de registradores.
A janela de instruo deve ser grande o suficiente para ir muito a frente da execuo. As tcnicas devem existir em conjunto;
35
Execuo superescalar
A execuo superescalar consiste portanto nos passos:
Ter um programa esttico como em processadores escalares; Busca de instrues e previso de desvio; Despacho de instrues; Iniciao da execuo; Execuo de instrues; Reordenao e confirmao de instrues.
36
Execuo superescalar
A execuo superescalar consiste portanto:
Um programa esttico como em processadores escalares; Busca de instrues e previso de desvio; Despacho de instrues; Iniciao da execuo; Execuo de instrues; Reordenao e confirmao de instrues.
37