Previsão do Desempenho. AC1 13ª aula Previsão do Desempenho 1



Documentos relacionados
Arquitetura de Computadores I

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

Organização de Computadores

Desempenho de Computadores

Organização de Computadores

Desempenho DESEMPENHO DE COMPUTADORES

ci212 desempenho Avaliação de Desempenho

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

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Arquitetura de Computadores. Ivan Saraiva Silva

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

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

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Introdução à Computação: Arquitetura von Neumann

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

Arquitetura de Computadores

Introdução aos Computadores

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

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

Sistema de Computação

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

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

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

Medição do Desempenho

Capítulo 1 Introdução

Hierarquia de Memória

Sistemas Computacionais II Professor Frederico Sauer

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Arquitetura de Computadores I

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

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

Introdução às Linguagens de Programação

Arquitetura de Computadores. Ivan Saraiva Silva

ARQUITETURA DE COMPUTADORES

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

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

O quê um Processador e qual a sua função?

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Dadas a base e a altura de um triangulo, determinar sua área.

Arquitetura de Von Neumann e os Computadores Modernos

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

Arquitetura e Organização de Computadores

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

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

CPU Unidade Central de Processamento. História e progresso

Avaliação de Desempenho

Informática I. Aula 4. Aula 4-11/09/2006 1

AULA 1. Informática Básica. Gustavo Leitão. Disciplina: Professor:

ARQUITECTURA DE COMPUTADORES

Figura 1 - O computador

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

RISC - Reduced Instruction Set Computer

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

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

Introdução à Programação 2006/07. Computadores e Programação

BARRAMENTO DO SISTEMA

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquitetura e Organização de Computadores 2

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano

Programação Concorrente Introdução

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Capítulo I : Noções Gerais

RISC X CISC - Pipeline

Medidas de Desempenho e a Lei de Amdahl

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

Contil Informática. Curso Técnico em Informática Processadores Core

Máquinas Multiníveis

Arquitetura de Computadores I

Aula 4 Instruções Primitivas

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Organização e Arquitetura de Computadores I

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

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

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

Esta aplicação permite desempenhar tarefas relacionadas com o cálculo, análise e apresentação gráfica de dados, de uma forma rápida e eficaz.

Disciplina: Organização de computadores

Arquitetura e Organização de Computadores

Complexidade de Algoritmos. Edson Prestes

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Memória. Espaço de endereçamento de um programa Endereços reais e virtuais Recolocação dinâmica Segmentação

Conflitos. Aula de Março de

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

Processadores clock, bits, memória cachê e múltiplos núcleos

Arquitetura de Computadores. Ivan Saraiva Silva

RISC simples. Aula de Março de

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

INE 5223 Informática para Secretariado

Introdução à Arquitetura de Computadores

Aula 26: Arquiteturas RISC vs. CISC

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Delays. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos alexvbh@gmail.com

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

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Microprocessadores II - ELE 1084

Programação de Sistemas

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

Taxa de Gravação da Memória RAM (MegaBytes / segundo) G5 2.7 Ghz (Mac) Linux Kernel

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

Algumas características especiais

Transcrição:

Previsão do Desempenho AC1 13ª aula Previsão do Desempenho 1

De que depende T exec? Um programa necessita de um determinado número de ciclos do CPU para executar (clockcycles). Cada ciclo tem uma duração fixa T cc T clockcycles * exec T CC como f 1 então T CC T exec clockcycles f AC1 13ª aula Previsão do Desempenho

De que depende o número de ciclos necessários para executar o programa? #I nº de instruções executadas pelo programa CPI nº ciclos por instrução clockcycle s # I * CPI CPI é um valor médio, pois o nº de ciclos varia conforme a instrução. EXEMPLO: CPI(add)! CPI(mul) AC1 13ª aula Previsão do Desempenho 3

clockcycles # I * CPI T exec f f #I depende do algoritmo, do compilador e da arquitectura (ISA) CPI depende da arquitectura (ISA), da organização do processador e da organização de outros componentes (memória) f depende da organização do processador e da tecnologia usada para o construir AC1 13ª aula Previsão do Desempenho 4

Considere o mesmo programa compilado para máquinas A e B, conforme apresentado na tabela. Qual a mais rápida e de quanto é o ganho? #I CPI f Máquina A 10 8 500 MHz Máquina B 10 9 1.5 500 MHz 8 10 * T execa 0. 4s 6 500*10 9 10 *1.5 T execb 3s 6 500*10 ganho 3 0.4 7.5 AC1 13ª aula Previsão do Desempenho 5

Diferentes tipos de instruções podem ter diferentes CPI, pois o número de ciclos depende das operações realizadas. Considere um programa com a ocorrência de instruções apresentada na tabela e um processador com os respectivos CPIs. Qual o CPI médio para este programa a correr nesta máquina? Tipo de instrução A B C CPI.5 3 Número *10 7 5*10 7 3*10 7 CPI i 7 * *10 +.5*5*10 ( CPI i *% i ) 8 10 7 + 3*3*10 7.55 AC1 13ª aula Previsão do Desempenho 6

Tipo de Instrução A B C CPI 1 3 Compilador 1 A *10 5 4*10 5 B 1*10 5 1*10 5 C *10 5 1*10 5 Qual o CPI para cada uma das sequências de código? 1* + *1+ 3* 1*4 + *1+ 3*1 CPI1 CPI 1. 5 5 6 Qual a sequência mais rápida? clockcycles 6 1 # I1 * CPI1 10 clockcycles 5 # I * CPI 9* 10 AC1 13ª aula Previsão do Desempenho 7

Relação entre as Métricas A única métrica completa e fiável para avaliar o desempenho de um computador é o tempo de execução As métricas CPI, Tcc e #I não podem ser avaliadas isoladamente, devendo ser sempre consideradas em conjunto, pois dependem umas das outras. AC1 13ª aula Previsão do Desempenho 8

Relação entre as Métricas Exemplo 1 : Aumentar a frequência do relógio (diminuir Tcc) implica frequentemente um aumento do CPI! Explicação: Entre outros factores, deve-se considerar o tempo de acesso à memória (Tmem). Se Tcc diminui, mas Tmem se mantém, então serão necessários mais ciclos para aceder à memória. f T T 1 cc1 1GHz mem 1ns Ciclos 40ns mem1 40 f T T cc mem GHz Ciclos 0.5ns 40ns mem 80 Conclusão: Apesar de Tcc diminuir para metade, Texec não diminui para metade, pois o número de ciclos de acesso à memória aumenta. AC1 13ª aula Previsão do Desempenho 9

Relação entre as métricas Exemplo : Diminuir o número de instruções (#I) recorrendo a instruções mais complexas resulta num aumento do CPI! Explicação: As instruções mais complexas realizam o trabalho de várias instruções simples, mas podem necessitar de mais ciclos para o completar, resultando num aumento do CPI. Este é um dos argumentos dos defensores de arquitecturas RISC. Conclusão: O número de instruções diminui, mas o ganho em tempo de execução não diminui na mesma proporção, devido ao aumento do CPI. AC1 13ª aula Previsão do Desempenho 10

MIPS (milhões de instruções por segundo) uma métrica enganadora MIPS nativo T exec # I 6 *10 1. MIPS especifica a taxa de execução das instruções, mas não considera o trabalho feito por cada instrução. CPUs com diferentes instruction sets não podem ser comparados.. MIPS varia entre diferentes programas no mesmo CPU 3. MIPS pode variar inversamente com o desempenho Esta métrica pode ser usada para comparar o desempenho do mesmo programa em CPUs com o mesmo conjunto de instruções, mas microarquitecturas e/ou frequências do relógio diferentes. AC1 13ª aula Previsão do Desempenho 11

MIPS de pico (ou peak MIPS) máxima taxa de execução de instruções É a métrica mais enganadora, pois corresponde a sequências de código que apenas tenham instruções com o mais baixo CPI. Pode ser visto como a velocidade da luz do CPU, e portanto, inatingível. AC1 13ª aula Previsão do Desempenho 1

Lei de Amdahl O maior aumento de desempenho possível introduzindo melhorias numa determinada característica é limitado pela percentagem em que essa característica é utilizada Considere um programa com T exec 100 seg, sendo 0% operações em vírgula flutuante e 80% de inteiros. Qual o ganho se a unidade de vírgula flutuante for 4 vezes mais rápida? 0 100 T exec + 80 85 s ganho 1. 18 4 85 E se for a unidade de inteiros vezes mais rápida? 80 100 T exec 0 + 60 s ganho 1. 67 60 COROLÁRIO: Melhorar o caso mais comum. AC1 13ª aula Previsão do Desempenho 13

Lei de Amdahl Das várias componentes de um programa (ex. Input/Output, Cálculo e acesso à Base de Dados) os esforços de optimização devem-se concentrar na mais significativa em termos do recurso crítico (ex. tempo de execução). Tempo de Execução BD (*) 3,5 I/O Cálculo Versão Cálculo (*) I/O (*) 1 1,5 3 5 5 BD Base 3 5 0 4 6 8 10 1 Tempo (seg) AC1 13ª aula Previsão do Desempenho 14

Sumário Tema Definição de desempenho Métricas MIPS (Milhões de Instruções/segundo) Sec..1 Sec.3 Sec.7,.9 H & P Lei de Amdahl Sec.7, pag. 101 AC1 13ª aula Previsão do Desempenho 15