A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 SSC144 Arquitetura de Computadores Introdução. 2 Pipeline Semelhante a uma linha de montagem de uma indústria O produto passa por vários estágios de.

Apresentações semelhantes


Apresentação em tema: "1 SSC144 Arquitetura de Computadores Introdução. 2 Pipeline Semelhante a uma linha de montagem de uma indústria O produto passa por vários estágios de."— Transcrição da apresentação:

1 1 SSC144 Arquitetura de Computadores Introdução

2 2 Pipeline Semelhante a uma linha de montagem de uma indústria O produto passa por vários estágios de produção Produtos em vários estágios do processo de produção podem ser trabalhados simultaneamente Em uma pipeline de instrução, novas entradas são aceitas em uma extremidade antes que entradas previamente aceitas apareçam como saída na outra extremidade

3 3 Pre-busca (Prefetch) Ciclo da instrução em dois estágios: Busca Execução Sobreposição desses dois ciclos Busca acessa a memória Execução não acessa a memória Busca de uma nova instrução enquanto a anterior está na fase de execução

4 4 Pre-busca (Prefetch) Aumenta o desempenho mas não dobra pois: O tempo de busca é menor do que a execução Fazer a busca de mais de uma instrução? Onde armazenar? Qualquer salto condicional ou incondicional significa que instruções que foram buscadas devem ser descartadas

5 5 Ciclo maior Busca da instrução (FI) Decodificação da instrução (DI) Cálculo dos operandos (CO) Busca dos operandos (FO) Execução da instrução (EI) Escrita do resultado (WO)

6 6 Pipeline

7 7 Desvio em uma pipeline

8 8 Pipeline Problemas Concorrência por recursos (barramentos, registradores, etc.) Desvios condicionais ou incondicionais Dependência dos dados

9 9 Número de estágios Número de estágios pipeline: Pentium III: 10 estágios Pentium 4 com HT: 31 estágios Athon XP: 10 estágios AMD64: 12 estágios

10 10 Evolução das arquiteturas Arquitetura x86 Originalmente com palavras de 16 bits, sofreu duas alterações: 1985 – de 16 para 32 bits – IA-32 (Inter Architecture) 2003 – de 32 para 64 bits - AMD introduziu o Atlhon bits 6 prefetched bytes do barramento para a unidade de execução – início do pipeline Memória Segmentada (segmento:deslocamento)

11 11 Evolução das arquiteturas bits Pipeline de 4 estágios: EU: unidade de execução de instruções BU: unidade de acesso e controle do barramento IU: unidade de decodificação de instruções AU: unidade de formação de endereços Dois modos de endereçamento de memória Real: 8086 Protegido

12 12 Evolução das arquiteturas bits Três modos de endereçamento de memória: Real: 8086 Protegido: protegido do 286 Virtual: uma ou mais máquinas virtuais do 8086 no modo protegido 6 unidades de pipeline: EU: unidade de execução de instruções BU: unidade de acesso e controle do barramento IU: unidade de decodificação de instruções PU: unidade de pré-fetch PgU: unidade de formação de endereço (paging unit) SU: unidade de formação de endereço (segmentation unit)

13 13 Evolução das arquiteturas Mesmo conjunto de instruções do 386 Do ponto de vista de hardware, houveram alterações: Cache unificada de instruções e dados no chip Unidade de ponto flutuante (em algumas versões) Melhor interface de barramento

14 14 Evolução das arquiteturas Pentium 32 bits Melhorias Introdução do conceito de superescalar (2 caminhos de dados para inteiros e um para ponto flutuante) 64 bits para barramento de dados Pipeline de 5 estágios: Prefetch First Decode Second Decode Execute Write Back

15 15 Arquiteturas RISC Características: Instruções mais simples, demandando um número fixo de ciclos de máquinas para sua execução Uso de poucos e simples modos de endereçamento Poucos formatos das instruções Apenas instruções de load/store referenciam operandos na memória principal Cada fase de processamento da instrução tem a duração fixa igual a um ciclo de máquina

16 16 Pipeline Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória feitos por 2 ou mais estágios. Dependências de Dados As instruções dependem de resultados de instruções anteriores, ainda não completadas. Dependências de Controle A próxima instrução não está no endereço subseqüente ao da instrução anterior.

17 17 Problemas com Pipelines Conflitos Estruturais Ocorre quando duas instruções tentam acessar o mesmo dispositivo ao mesmo tempo Soluções: Duplicar unidades funcionais Aumentar o número de portas de acesso à memória principal Separar cache de dados e de instruções (L1)

18 18 Problemas com Pipelines Conflitos por dados Dependências verdadeiras ou diretas RAW (Read After Write) Possíveis soluções: Colocação de instruções nop ou escalonamento adequado pelo processador Adiantamento (técnica forwarding ou bypassing)

19 19 Problemas com Pipelines Conflitos por dados Dependências falsas Ocorrem quando é possível iniciar ou terminar a execução das instruções fora de ordem, ou seja, não é possível determinar o valor dos registradores em cada instante com base apenas na seqüência de instruções Antidependência WAR (Write After Read) Dependência de saída WAW (Write After Write) Solução usual: Renomeamento de registradores

20 20 Problemas com Pipelines Conflitos de Controle Maneiras de se tratar as conseqüências de uma parada no pipeline por causa dos desvios: Predição Estática de Desvios O compilador faz uma predição se o desvio vai ser tomado ou não Geração de bolhas quando a predição é errada, baixa taxa de acertos Não permite adaptações com relação ao comportamento do programa Predição Dinâmica de Desvios Existem mecanismos em hardware que fazem a predição baseada no comportamento daquele desvio no passado Alta taxa de acertos

21 21 Paralelismo no nível de instrução Processadores Escalares Processadores Superescalares Processadores Pipelined Processadores Superpipelined Processadores VLIW (Very Large Instruction Word)

22 22 Comparações: Pipeline, Superescalar e VLIW [Ref : Hwang et al]

23 23 Paralelismo no nível de tarefas SMP Mais de um processador compartilhando memória, discos e executam o mesmo SO Multithread Mais de uma thread sendo executada, mas não ao mesmo tempo SMT Mais de uma thread sendo executada ao mesmo tempo

24 24 Formas de execução das threads Superescalar Simultaneous MultithreadingMultithreading


Carregar ppt "1 SSC144 Arquitetura de Computadores Introdução. 2 Pipeline Semelhante a uma linha de montagem de uma indústria O produto passa por vários estágios de."

Apresentações semelhantes


Anúncios Google