Arquiteturas Superescalares

Slides:



Advertisements
Apresentações semelhantes
Máquinas virtuais Orlando Corrêa Netto.
Advertisements

WebDesign Redes de Computadores Aula 07
Arquitetura e organização de computadores.
Arquitetura de Computadores
Aula 06: Introdução ao Pipelining, Hazards Estruturais e Forwarding
Introdução Arquitectura com unidade de controlo uniciclo.
ARQUITETURAS RISC E CISC
MIPS PIPELINE.
Multithreading e multiprocessamento
MIPS MULTICICLO Fluxo de Dados e Controle
AULA 06 - MIPS PIPELINE.
Arquitetura de Sistemas Operacionais
Processo de Pipelining (exemplo da lavanderia)
MC542 Organização de Computadores Teoria e Prática
Processador Intel Itanium
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Processador Pentium 4 MO401 – Arquitetura de Computadores I
Douglas Gameiro Diniz RA: Fernando Mendonça Maranho RA:016089
Paralelismo em nível de instrução: Arquiteturas VLIW Grupo 01: Júlia Martinez Perdigueiro ra Tatiane Baggio Borili ra
Técnicas de Predição de Desvios
Aproveitamento do Processador
Pipeline.
CISC e RISC.
Aula 8 01/09/10 (Turmas 1 e 2) Profa. Sarita
SSC114 Arquitetura de Computadores Pipeline - Predição de desvios
SSC144 Arquitetura de Computadores Introdução
SSC114 Arquitetura de Computadores Pipeline - Desempenho
Aula 10 06/10/10 (Turma 1 e 2) Profa. Sarita
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Estudo comparativo entre as arquiteturas Opteron e Itanium
Melhorando o desempenho com pipeline
2- Entendendo o que é Arquitetura e Organização
Prof. Felipe Ferreira de Oliveira
Paralelismo Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; -
CUDA vs OpenCL Introdução.
Arquitetura de computadores
Sistemas Operacionais
Sistemas Operacionais I
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Organização e Arquitetura de Computadores
Davi de Andrade Lima Castro RA:  A plataforma C6000: ◦ Ponto-fixo:  C62x  C64 / C64x+ ◦ Ponto-flutuante:  C67x / C67x+ ◦ Arquitetura VLIW:
Contextualização de Paralelismo em nível de instrução
Unidade Central De Processamento: Processador
Geração de Código aula-12-geração-de-código.pdf.
ARQUITETURA DE COMPUTADORES II
SISTEMAS OPERACIONAIS I
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Execução Especulativa
Sistemas Operacionais
Unidade Central De Processamento: Processador
Paralelismo em Máquinas Multiprocessadas
Trace caches: alternativa inteligente à cache de instruções Danilo Lacerda RA:
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
Microprocesadores x Microcontroladores
Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer 6.
Registradores.
Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Arquiteturas Superpipeline e Superescalares.
Bruno Iran Ferreira Maciel
Slides before 1st Section Divider
TRACE CACHE Mário Luiz Rodrigues Oliveira IC/UNICAMP JUNHO/2006.
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
Arquitetura de Computadores
Sistemas de Memória Cache em Multiprocessadores
Processadores.
Elementos de Informática
Introdução ao Processamento Vetorial
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

Arquiteturas Superescalares MO 401 : T2 Prof: Dr. Rodolfo Jardim de Azevedo Aluno: Mirian Ellen de Freitas - 029043

Organização Geral da Arquitetura Arquiteturas de processadores superescalares exploram o paralelismo de instrução - Instrucion Level Parallelism (ILP). As múltiplas unidades funcionais independentes permitem despachar simultaneamente mais de uma instrução por ciclo.

Organização Geral da Arquitetura

Pipeline Superescalar de Instruções Processadores superescalares variam o número de instrução por ciclo de clock escalando-as de modo estático ou dinâmico. As máquinas superescalares tentam paralelizar a execução de instruções independentes, em cada estágio do pipeline

Pipeline Superescalar de Instruções FI: Intruction Fetch DI: Instruction Decode FO: Operand Fetch EI: Instruction Execute WO: Write-back CO: No Action A execução de várias instruções por estágio permite que se exceda a taxa do clock, isto é, permite a CPI menor que um. Para garantir o ganho potencial das arquiteturas superescalares em relação às outras, é necessário manter as unidades funcionais sempre ocupadas

Melhorias em arquiteturas superescalares Conflitos por recursos - instruções competem pelo mesmo recurso (registrador, memória, unidade funcional) Dependência de controle (procedural) A presença de branches Instruções de tamanho variável, Conflitos de Dados produzidos por dependências entre instruções do programa

Características exploradas pelos superescalares

Register Renaming Dependências de saída e antidependências podem ser eliminadas automaticamente, com alocação de registradores extras. Esta técnica é chamada register renaming t=0 do i=1,n t=t+a(i)*a(i) end do t1=0 t2=0 do I=1,N,2 t1=t1+a(i)*a(i) t2=t2+a(i+1)*a(i+1) end do

Escalonamento Estático processador superescalar estático de quatro issues; o pipeline receberá um conjunto/pacote de até quatro instruções para ser despachadas. Se uma instrução pode causar um conflito estrutural ou um conflito de dados, com uma instrução ainda em execução ou com uma instrução do mesmo pacote, a instrução não é despachada. Pode também detectar conflitos entre dois pacotes de instruções enquanto eles ainda estão na escalação do pipeline A complexidade da verificação pode significar a determinação do comprimento mínimo do ciclo.

instrução de inteiro + instrução de ponto flutuante O esquema apresentado irá melhorar apenas o desempenho de programas com grande quantidade de instruções de ponto flutuante

Escalonamento Dinâmico de múltiplas instruções A combinação do escalonamento dinâmico com a predição dos desvios condicionais é conhecida como execução especulativa. permite esconder a latência da operação da memória, evitar paradas que o compilador não possa escalonar e executar instruções de maneira especulativa, enquanto aguarda a solução de conflitos

Escalonamento Dinâmico de Instruções O processador projetado em pipeline é dividido em três blocos principais: uma unidade de busca de instruções, várias unidades de execução e uma unidade de entrega. Cada unidade funcional tem seus buffers, chamados unidades de reserva, que armazenam os operandos e operações.

Escalonamento Dinâmico de Instruções

Características de Processadores

Conclusões A execução em pipeline superescalar aumenta o throughput de instruções; dependências de dados e de controle, aliadas à latência das instruções, significam um limite superior para o desempenho; o Alpha 21264, o Pentium III, Pentium 4, e o AMD Athlon - possuem a mesma estrutura básica do 1º processador com escalonamento dinâmico -1995, As taxas de clock são 4 a 8 vezes maiores, Os caches são 2 a 4 x maiores, há 2 a 4 x mais registradores dobro de unidades de load/store. O resultado é um desempenho de 6 a 10 vezes maior