Unidade 4 Paralelismo em Nível de Instrução. Filipe Moura de Lima Gutenberg Pessoa Botelho Neto Thiago Vinícius Freire de Araújo Ribeiro



Documentos relacionados
28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Evolução das CPUs: Dual e Quad Core

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

Arquitetura e Organização de Computadores 2

Organização e Arquitetura de Computadores I. de Computadores

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

Capítulo 1 Introdução

Organização e Arquitetura de Computadores I

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Predição de Desvios e Processadores Superescalares Especulativos

Sistemas Computacionais II Professor Frederico Sauer

Arquiteturas que Exploram Paralismos: VLIW e Superscalar. Ch9 1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

Algumas características especiais

Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

Processador ARM Cortex-A9

Visão Geral de Pipelining

Informática I. Aula 5. Aula 5-13/05/2006 1

Caminho dos Dados e Atrasos

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

ARQUITETURA DE COMPUTADORES

Arquitetura de Computadores I

Evolução dos Processadores

Introdução ao Processamento Paralelo


Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

7-1. Parte 6 Otimizações da Arquitetura

SIS17 - Arquitetura de Computadores. Introdução (Parte III)

SSC510 Arquitetura de Computadores. 12ª aula

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Organização e Arquitetura de Computadores I

RISC X CISC - Pipeline

Arquitetura de Computadores I

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC. Prof. Dr. Daniel Caetano

CPU Unidade Central de Processamento. História e progresso

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano

Aula 26: Arquiteturas RISC vs. CISC

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Computadores de Programação (MAB353)

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

Pipeline, RISC e CISC

Curso de Instalação e Gestão de Redes Informáticas

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Sistema de Computação

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Microarquiteturas Avançadas

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Componentes de um Sistema de Computador

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

O Processador Intel Itanium II

Pipelining. Professor: Carlos Bazilio. Pólo Universitário rio de Rio das Ostras

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Processadores SUN SPARC

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Sistemas Operacionais. Prof. André Y. Kusumoto

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Arquitetura de processadores: RISC e CISC

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Componentes de um Computador: Modelo Von Neumann

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

SIS17-Arquitetura de Computadores

Trabalho de: Alexandre / Paulo / Rui

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial

BARRAMENTO DO SISTEMA

Curso Técnico de Nível Médio

Arquitetura de Computadores. Ivan Saraiva Silva

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

ESTUDO COMPARATIVO ENTRE AS ARQUITETURAS OPTERON E ITANIUM

Intel Pentium 4 vs Intel Itanium

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

Arquitetura de Von Neumann e os Computadores Modernos

Cap. 5 - Microprocessadores

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

ARQUITETURA DE COMPUTADORES

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Introdução à Computação

Arquitetura e Organização de Computadores Aula 5 Consolidando Conhecimentos de Desempenho e Resumindo Prof. Julio Saraçol

Arquitetura de Computadores. Ivan Saraiva Silva

RISC - Reduced Instruction Set Computer

Introdução à Informática

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Organização e Arquitetura de Computadores I. de Computadores

Edeyson Andrade Gomes

Microprocessadores II - ELE 1084

Transcrição:

Unidade 4 Paralelismo em Nível de Instrução Filipe Moura de Lima Gutenberg Pessoa Botelho Neto Thiago Vinícius Freire de Araújo Ribeiro

Sumário Introdução O Pipeline Pipeline em diferentes CPUs ARM Cortex-A9 Família Intel para PCs Servidores Itanium 2 Referências

Introdução Pipeline de instrução Funciona analogamente a uma linha de montagem industrial onde o produto passa por vários estágios da produção e vários produtos podem ser trabalhados simultaneamente Paralelismo em nível de instruções Grau em que a instruções podem ser executadas em paralelo

ARM Pipeline do Cortex-A9

ARM

ARM

Parceiros

Cortex-A9 Solução ideal para projetos que exigem alto desempenho com baixo consumo de energia Disponível como um único núcleo ou configurável até quatro (2GHz) Sua configuração permite implementá-lo em várias classes de dispositivos como: redes de alto desempenho, computação móvel e automotiva

Cortex-A9

Características Pipeline Alta eficiência Superescalar Emissão de várias instruções Fora de ordem 8 estágios Previsão de desvio Renomeação de registradores ULA / MUL FPU / NEON

Pipeline ALU WB Fe1 Fe2 Fe3 De Re MUL WB Is Br FPU NEON WB Add WB

Intel Atom vs Cortex-A9 1600MHz Singlecore GPU 500MHz Dualcore X ARMFlix. Cortex-A9 browsing example. < http://www.youtube.com/watch?v=w4w6lvql3qa >

Família Intel para PCs Ou, os diferentes estágios da evolução dos pipelines nos processadores Intel para computação pessoal.

386 e 486 Primeiros processador Intel a utilizar paralelismo em nível de instrução A Intel afirma que o 386 era capaz de executar instruções em paralelo, mas não deixa claro qual técnica era utilizada. O 486 introduziu um pipeline de 5 estágios para decodificação e execução de instruções.

Pentium Utilizava dois pipelines para execução de instruções. Predição de desvio. Ao decodificar uma instrução de desvio, o processador decide qual dos possíveis caminhos de execução carregar no pipeline. Predição correta: próximas instruções já estão no pipeline. Predição incorreta: ao menos eu tentei.

Pentium Pro Análise de fluxo de dados Detecta dependência de dados e identifica possibilidades para execução fora de ordem. Execução fora de ordem As microinstruções são executadas de modo que os recursos do processador sejam utilizados de forma mais eficiente.

Pentium Pro Melhoria na predição de desvios Execução especulativa Executa instruções após um desvio, antes de o próprio desvio ser avaliado. Se o caminho errado for escolhido, o resultado é descartado. 12 estágios de pipeline

Pentium Pro

Pentium 4 Microarquitetura NetBurst Até 126 instruções simultâneas, nas unidades de execução fora de ordem e execução especulativa.

Pentium 4

Core 14 estágios de pipeline 4 decodificadores de instrução Até 5 instruções decodificadas por ciclo. Combinação de macro e microinstruções Execução de até 6 micro-operações por ciclo Até 4 micro-operações finalizadas por ciclo

Core

Intel Itanium 2

Intel Itanium 2 Desenvolvido em conjunto pela HP e Intel Primeira versão lançada em 2002 Idealizado para servidores corporativos Buscava solucionar os problemas de performance do Itanium original Memória Itanic Caro e lento Principal competidor: AMD Opteron

Arquitetura EPIC Pesquisada desde 1989 Buscava superar as limitações das arquiteturas RISC Tinha o paralelismo em nível de instrução como foco VLIW (Very Large Instruction Word) Instruções com mais de 32 bits Armazenamento de instruções em bundles

Pipeline 8 estágios Menos do que no Itanium original O tamanho menor do pipeline permite que seja preenchido mais rapidamente em caso de erro de previsão Execução de até 6 instruções por clock Dependência do compilador para muitas tarefas de paralelismo Execução em ordem, término fora de ordem Utiliza uma tabela (scoreboard) para detectar dependências

Pipeline

Problema com previsões de desvios Previsões erradas são percebidas após já estarem avançadas no pipeline A correção exige mudanças no pipeline Invalida muitas das instruções previamente armazenadas

Melhorias na execução de desvios Execução em paralelo dos possíveis caminhos de execução (predication) Armazena resultados em registradores específicos Ao ser descoberto o caminho correto, o resultado já está armazenado O resultado do desvio não tomado é descartado Vários caminhos podem ser testados Até 6 desvios por ciclo Útil para desvios switch (multi-way branching)

Predication

Predication

Melhorias na execução de desvios Desvio atrasado Testa a condição do desvio antes da instrução ser carregada Permite que o teste do desvio seja feito logo para que o hardware conheça a direção correta do desvio antes da instrução chegar

Software Pipeline Utilização de pipeline para executar múltiplas iterações de um loop simultaneamente Três fases Prolog preenchimento do pipeline Kernel pipeline cheio Epilog esvaziamento do pipeline Requer várias adaptações no loop original

Software Pipeline

Conclusão Itanium 2 Várias melhorias para o pipeline A quantidade de diferentes pesquisas necessárias para essas melhorias gerou atrasos no projeto Aumento da complexidade da arquitetura Forte dependência do desempenho do compilador Difícil prever o comportamento em tempo de execução

Referências Hewlett Packard. (2002). Inside the Intel Itanium 2 Processor. Technical White Paper. Layman, M. Sanders, A. Still, A. Lecture Notes: Advanced Processor Architecture Itanium. < http://www.cs.virginia.edu/~skadron/cs451/itanium/itanium.ppt > McNairy, C. and Soltis, D. (2003). Itanium 2 Processor Microarchitecture. IEEE Micro, vol. 23, no. 2, pp. 44-55. Naffzinger, S. D. Colon-Bonet, G. Fischer, T. Riedlinger, R. Sullivan, T. J. Grutkowski, T. (2002). "The implementation of the Itanium 2 microprocessor". IEEE Journal of Solid-State Circuits, vol. 37, no. 11, pp. 1448 1460.

Referências Intel. (2011). Intel 64 and IA-32 Architectures Software Developer s Manual. Vol 1: Basic Architecture; Manual. Celio, C. and Hottelier, T. Design Space Exploration of ILP Engines Optimized for Embarassingly Sequential Codes. <http://www.cs.berkeley.edu/~kubitron/courses/cs252- S10/projects/reports/project4_report.pdf> ARM. Cortex -A Series Programmer s Guide. <http://www.arm.com> ARM. Cortex-A9 Processor Architecture. <http://www.arm.com> Stallings, W. Arquitetura e organização de computadores 8ª edição São Paulo: Pearson Prentice Hall, 2010.