TRACE CACHE Mário Luiz Rodrigues Oliveira IC/UNICAMP JUNHO/2006.

Slides:



Advertisements
Apresentações semelhantes
Vitor Fiorotto Astolfi Orientador: Jorge Luiz e Silva
Advertisements

Coerência de Cache em Multiprocessadores
O Sistema de Computação
Arquitetura e organização de computadores.
Arquitetura de Computadores
Software Básico Silvio Fernandes
MIPS PIPELINE.
MIPS MULTICICLO Fluxo de Dados e Controle
Arquitetura de Sistemas Operacionais
Intel Pentium 4 Giovanni Rizzo de Paiva - RA Matheus Tasso Perugini - RA Rafael Rodrigues Dias - RA MC722 - Projeto de Sistemas Computacionais.
Processador Intel Itanium
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Processador Pentium 4 MO401 – Arquitetura de Computadores I
Arquiteturas Superescalares
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
Sistemas Operacionais
SSC114 Arquitetura de Computadores Pipeline - Predição de desvios
SSC144 Arquitetura de Computadores Introdução
Mais sobre potência: As novas idéias CMP502 Profs. Luigi e Flávio.
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
Algoritmos Escher.
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
2- Entendendo o que é Arquitetura e Organização
Sistemas Operacionais I
PROGRAMAÇÃO I UNIDADE 1.
Prof. Felipe Ferreira de Oliveira
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Arquitetura de computadores
VII Semana de Iniciação Científica do CBPF
Organização e Arquitetura de Computadores
Processamento de dados na UCP e memória UCP
Contextualização de Paralelismo em nível de instrução
Arquitetura de Computadores
Arquitetura de Computadores Mário Luiz Rodrigues Oliveira DCC-UFLA JUNHO/2004.
Sistemas Operacionais
Unidade Central De Processamento: Processador
ARQUITETURA DE COMPUTADORES II
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Organização e Arquitetura de Computadores
Unidade Central De Processamento: Processador
Trace caches: alternativa inteligente à cache de instruções Danilo Lacerda RA:
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
SISTEMAS OPERACIONAIS I
Unidade de Controle.
A Linguagem de Máquina – Desvios e Laços
Arquitetura de Sistemas Embarcados
Recursividade Profs. De Prog2 e Lab2.
Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Arquiteturas Superpipeline e Superescalares.
Bruno Iran Ferreira Maciel
Slides before 1st Section Divider
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Banco de Dados I Unidade 6 Processamento de Consultas Otimização Lógica.
Algoritmos e Programação MC102
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
Introdução à Computação Componentes Básicos dos Computadores
Processadores.
Arquitetura de computadores
ARQUITETURA DE VON NEUMANN
Introdução ao Processamento Vetorial
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
EA869 Subrotinas Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
 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:

TRACE CACHE Mário Luiz Rodrigues Oliveira IC/UNICAMP JUNHO/2006

MOTIVAÇÃO Melhorar desempenho dos processadores superescalares Dificuldades no uso de ILP para melhorar desempenho de processadores superescalares Necessidade de aumentar bandwidth do mecanismo de busca dos processadores superescalares

BenchmarkBranch tomados %Tam. médio do bloco básico Número de instruções entre branch tomados Eqntott86.2% Espresso63.8% Xlisp64.7% Gcc67.6% Sc70.2% Compress60.9% MOTIVAÇÃO Um bloco básico é um trecho do programa que não apresenta instruções de desvio, a não ser eventualmente a última instrução, que pode ser uma instrução de desvio. Benchmark SPEC92 para inteiros

Proposta por Rotenberg em 1996 Cache adicional à cache de instruções Captura e armazena seqüências de instruções (traces) durante a busca de instruções Uma trace é uma seqüência de no máximo n instruções e no máximo m blocos básicos, iniciando em qualquer ponto da seqüência dinâmica de instruções. O limite n é o tamanho da linha da trace cache e m é o throughput do preditor de branches Uma trace é completamente especificada através de um endereço inicial dado pelo Program Counter e de uma seqüência de saídas dos m - 1 preditores de branches, os quais indicam o caminho a ser seguido Durante a execução se estas seqüências se repetirem a busca da instrução é feito da trace cache SOLUÇÃO: TRACE CACHE

Fluxo de instruções carregadas Bloco Básico Branch tomado Branch não tomado PC: 1800 tntn tt Trace cache 1800tt Adiciona a nova seqüência à trace cache Predição de branch: tt Trace cache 1800tt Consulta a trace cache procurando 1800tt Legenda: Seqüência encontrada na trace cache, que entrega para o decodificador.

TRACE CACHE NO PENTIUM 4 A arquitetura NetBurst da Intel substituiu a cache de instrução convencional por uma trace cache Armazena na trace cache micro-operações e não instruções IA-32. A trace cache armazena até micro-operações e apresenta desempenho similar à uma cache de instruções convencional de tamanho entre 8 Kbytes e 16 Kbytes

DESEMPENHO A implementação original de Rotenberg obteve melhorias de 28%, na média, usando benchmarks para programas de inteiros Trace cache seletivas Trace cache baseada em blocos

CONCLUSÃO Trace cache é uma solução viável Dependência da saída do preditor de branches não é um fator preocupante