Arquitectura de Computadores

Notas de estudo

Alberto José Proença

1999/00

Índice geral

 

  1. Organização e arquitectura dum computador
  2. Análise do funcionamento do CPU dum computador
  3. Mecanismos para execução de programas
  4. Modelo de programação dum processador
  5. Metodologia de construção de programas em assembly
  6. Alternativas às arquitecturas RISC genéricas
  7. Computação aritmética
  8. Arquitectura interna dum processador simples - o datapath
  9. Interface do CPU com periféricos
  10. Medição do desempenho de computadores
    1. Métricas
    2. Selecção de programas para o cálculo do desempenho
    3. SPEC Benchmark suite
    4. TPC Benchmark suite

 

Tendo-se concluído a apresentação da arquitectura típica de um computador - e respectivo modelo de programação ao nível da linguagem máquina - impõe-se agora uma introdução à análise dos factores que caracterizam e influenciam o desempenho dum computador, e das métricas normalmente usadas na sua medição. Este estudo das métricas é efectuado sob duas ópticas: a perspectiva do construtor de sistemas de computação que pretende introduzir melhorias no desempenho dos seus sistemas, e a do consumidor de informática que pretende efectuar comparações entre sistemas de diversos fornecedores, incluindo sistemas baseados em processadores distintos.

Embora este assunto seja tratado logo no início do livro seleccionado como consulta bibliográfica básica da disciplina (cap 2), a organização desta disciplina favorece a introdução deste tema apenas após a apresentação da estrutura da arquitectura típica dum computador. Deste modo, pensa-se que haverá maior sensibilização para os problemas relacionados com o desempenho dum computador, pois os conceitos básicos foram entretanto já introduzidos. As figuras referenciadas ao longo deste capítulo são as usadas na íntegra no livro recomendado.

Na selecção das métricas mais adequadas para uma eficiente e séria comparação entre sistemas de diversos fornecedores, sugere-se a consulta na Internet das home-pages das instituições governamentais mais conceituadas: a SPEC (http://www.spec.org) e a TPC (http://www.tpc.org).

As notas que seguem são essencialmente os acetatos apresentados nas aulas.

 

  1. Métricas

Podemos socorrermo-nos de metáforas para uma melhos compreensão das dificuldades em definir qual a métrica mais adequada para nos caracterizar o desempenho de um sistema (neste caso, de computação); os exemplos apresentados na aula foram inspirados no caso do avião comercial e do automóvel, com recurso à fig. 2.1.

Quando se pretendo caracterizar as métricas mais adequadas na medição do desempenho dos sistemas de computação, então é possível identificar as seguintes:

Quanto à medição do tempo de execução dum programa - e abstraindo a qualidade do programa/algoritmo e do compilador - podemos dizer que este deverá incluir:

Quanto ao desempenho do sistema - system performance - é possível quantificá-lo de acordo com a seguinte expressão:

CPUtime = user CPUtime + system CPUtime

Na medição do desempenho do processador - user CPUtime - há que:

Equação para cálculo do user CPUtime para um dado programa:

CPUtime = Nº de instruções * Nº médio de ciclos de clock / instrução * período do clock

isto é, :

CPUtime = Nº instr * CPI * período do clock

Factores da arquitectura do CPU/memória que influenciam o seu desempenho:

Prós e contras de métricas populares: geralmente não consideram os 3 factores básicos no cálculo do CPUtime. vejamos alguns exemplos:

MIPS (nativo) = Nº instr / (Tempo execução * 10^6 )

= Nº instr / (Nº instr * CPI * período do clock * 10^6 )

= fclock / (CPI * 106 )

MIPS (relativo) = (Temporef / Tempomedido) * MIPSref

- mas continua a ser uma métrica incompleta...

 

MFLOPS (nativo) = Nº op vírg flut / (Tempo execução * 106 )

  1. Selecção de programas para o cálculo do desempenho

Uma boa suite de benchmarks deve possuir:

- um leque varaiado de aplicações reais

- aplicações que tentem simular o ambiente do utilizador

- aplicações que não encoragem optimizações específicas

- reproducibilidade de medição

i.e., uma descrição detalhada do sistema (h/w + s/w) usado na medição

- sumário simples e efectivo dos resultados

 

média aritmética

média aritmética pesada

média aritmética normalizada

média geométrica