You are on page 1of 37

Arquitetura de computadores

Prof. Edivaldo Serafim Curso: Tecnlogo em Anlise e Desenvolvimento de Sistemas - 2013 IFSP Campus Capivari

Paralelismo no nvel de instrues e processadores superescalares


12/06/2013

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;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Paralelismo no nvel de instrues e processadores superescalares

VISO GERAL

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Viso geral

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Superescalar x Superpipeline

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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:

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

12

Limitaes
Conflito por Dados:

13

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Limitaes
Conflito por Controle:

14

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Limitaes
Conflito por Recursos:

15

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Paralelismo no nvel de instrues e processadores superescalares

QUESTES DE PROJETO

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

16

Paralelismo no Nvel de Instrues e Paralelismo de Mquina


H paralelismo no nvel de instrues quando as instrues de uma sequncia so independentes e podem, portanto, serem executadas em paralelo (Pipeline); O paralelismo de mquina determinado pelo nmero de instrues que podem ser buscada se executadas ao mesmo tempo (nmero de pipelines paralelos) e pela eficcia dos mecanismos usados para identificar instrues independentes (Superpipeline e Superescalares);

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

17

Paralelismo no Nvel de Instrues e Paralelismo de Mquina

18

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Paralelismo no Nvel de Instrues e Paralelismo de Mquina


O grau de paralelismo em nvel de instruo determinado pela frequncia com que ocorrem hazards; A latncia de operao outro fator de importncia no paralelismo de instrues e determina o tempo de uma instruo estar disponvel para ser usado como operando em outra instruo; Programas nem sempre podem obter o grau mximo de paralelismo de mquina; Arquitetura RISC ajuda a obter esse grau mximo.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

19

Polticas de Iniciao de Instrues


Para o paralelismo de mquina, no basta ter vrias instncias de pipelines nas unidades funcionais; A CPU deve identificar o paralelismo de instruo para coordenar a busca, decodificao e execuo de instrues em paralelo; Issue (ou despacho) o termo para referenciar o incio da execuo nas unidades funcionais; Polticas de Iniciao de Instrues o termo para o protocolo de despacho;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

20

Polticas de Iniciao de Instrues


Analisando a frente do ponto de execuo corrente a CPU pode organizar o despacho mais otimizado possvel para a execuo da Pipeline; Para otimizar o uso dos recursos do Pipeline, a CPU deve alterar a ordem de execuo das instrues; Trs tipos de ordenao so importantes:
Ordenao da busca; Ordenao da execuo; Ordenao de atualizao de contedo de registradores e posio de memria.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

21

Polticas de Iniciao de Instrues


Quanto mais sofisticado o processador, melhor so essas ordenaes; Em qualquer que seja a ordenao, o resultado deve ser correto, como se fosse uma execuo sequencial; As polticas para mquinas superescalares possuem as categorias:
Iniciao em ordem com terminao em ordem; Iniciao em ordem com terminao fora de ordem; Iniciao fora de ordem com terminao fora de ordem;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

22

Iniciao em ordem com terminao em ordem


a mais elementar das polticas; Quase nunca usada na prtica; As instrues so buscadas na ordem que seriam executadas sequencialmente; Os resultados so escritos na ordem que seriam escritos sequencialmente; Com a iniciao em ordem, o processador decodifica instrues apenas at o ponto em que ocorre uma dependncia ou conflito (hazard); Nenhuma instruo adicional decodificada at que o hazard seja resolvido.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

23

Iniciao em ordem com terminao em ordem

24

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Iniciao em ordem com terminao fora de ordem


Com a terminao fora de ordem pode haver execuo da pipeline, at o mximo grau de paralelismo de mquina; Porm a iniciao de instrues temporariamente interrompida em caso de hazards; Alm dos hazards, surge uma nova dependncia denominada dependncia de sada; Vejamos um exemplo:

I1: I2: I3: I4:

R3 R4 R3 R7

<<<<-

R3 R3 R5 R3

op R5 + 1 + 1 op R4

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

25

Iniciao em ordem com terminao fora de ordem

Hazard de dados entre i1 e i2;

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!

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

26

Iniciao em ordem com terminao fora de ordem

27

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Iniciao fora de ordem com terminao fora de ordem


Com a iniciao em ordem, a CPU decodifica instrues apenas at o ponto em que ocorre uma dependncia ou conflito; Nenhuma instruo adicional decodificada at que o conflito seja resolvido; Assim, a CPU no pode examinar instrues adiante do ponto de conflito, para tentar encontrar instrues independentes que possam ser introduzidas no Pipeline;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

28

Iniciao fora de ordem com terminao fora de ordem


Para possibilitar a iniciao de instrues fora de ordem, necessrio desvincular os estgios de decodificao e de execuo da pipeline. Isso feito usando uma rea de armazenamento temporrio, chamada de janela de instrues; A CPU pode continuar a busca e a decodificao novas instrues, desde que a janela de instrues no esteja cheia; Desde que no haja hazards e que haja unidades funcionais disponveis, as instrues que esto na janela podem ser executadas. O resultado dessa organizao a capacidade de executar instrues frente.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

29

Iniciao fora de ordem com terminao fora de ordem

30

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

Iniciao fora de ordem com terminao fora de ordem


Na iniciao fora de ordem com terminao fora de ordem aparece um novo conceito, a Antidependncia: A antidependncia semelhante a uma dependncia de dados, porm invertida; Ao invs da primeira instruo produzir um valor usado pela segunda instruo, a segunda destri um valor usado pela primeira;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

31

Iniciao fora de ordem com terminao fora de ordem


Antidependncia: A execuo de I3 no pode ser completada antes da execuo de I2; Isso acontece porque I3 atualiza o registrador R3, que constitui um operando para a instruo I2;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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;

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

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.

Prof. Edivaldo Serafim Arquitetura de Computadores IFSP 2013

37

You might also like