Você está na página 1de 3

Revisão Prova 1 – Arquitetura de Computadores 1

1) Processo de fabricação dos chips

As perdas no processo de fabricação são devido:


• Falhas nos processos químicos;
• Falha na separação dos dies e perdas dos circuitos das bordas;
• Falha no encapsulamento e na inserção de pinos.

2) Processo de compilação e execução de programas

Um programa escrito em linguagem de alto nível é compilado gerando um programa em linguagem


de montagem (Assembly) .
Depois o montador (Assembler) gera um código objeto a partir do programa em assembly.
O Ligador (Linker) reúne as bilbiotecas ao código objeto gerando um código executável.
O carregador (Loader) coloca o código executável em memória.

3) Interpretação e execução de programas

O interpretador realiza as três fases Compilação, Ligação e Execução, mas comando por comando
em tempo de execução.

4) Comparação entre Compilação e Interpretação

• Tempo de execução;
• Consumo de memória;
• Recursividade;
• Depuração de Erros
5) Emulação
Programas que interpretam o código executável produzido para um determinado processador e o
converte para ser executado em outro. Exemplo: simulador do MIPS e de jogos.

6) Máquina Virtual
Camada de abstração capaz de converter qualquer programa escrito para uma determinada máquina
e o interpretar em tempo de execução para outro computador. Uma máquina possui o
comportamento de outra máquina diferente. Exemplo: plataforma JAVA, VMWare, etc.

7) Métricas para avaliar a Performance


Tempo de execução de um programa em um processador:
• Rotinas para medir tempo de execução
• Uso de comando para obter o tempo de execução
• Calcular o tempo de execução texec= NI x CPI x tclock

MIPS – Milhões de Instruções Por Segundo


• Especifica a quantidade de instruções que um processador executa por segundo
• A performance pode variar inversamente proporcional ao tempo de execução
• Máquina mais rápidas possuem MIPS maior
• MIPS = NI/ (texec x 10^6)
Problemas com o uso do MIPS:
• O MIPS especifica a taxa de instruções, mas não mede a capacidade de cada instrução
executar mais ou menos trabalho que a outra => Não podemos usar o MIPS para comparar
máquinas com ISAs diferentes.
• O uso do MIPS varia entre programas no mesmo computador => Não define um MIPS
único para cada máquina.
• O MIPS pode variar inversamente ao tempo de execução

MFLOPS – Milhões de Instruções de Ponto Flutuante Por Segundo


• Os mesmo problemas do MIPS.
• Existe uma dependência do programa utilizado, já que programas diferentes requerem uma
quantidade de instruções de FP distintas.
• Uma instrução de FP pode gastar mais ciclos para ser executada em uma arquitetura do que
em outra
• As operações de FP variam de acordo com o mix de instruções, que podem ser mais rápidas
ou mais lentas
• Exemplo: Um mix de somas em FP é mais rápido que um mix de divisões.

8) Programas para avaliar a Perfomance


• Aplicações reais
• Aplicações modificadas ou scripts
• Benchmarks sintéticos – programas criado sinteticamente para encontrar um perfil médio
em uma execução. Problema: as otimizações do compilador ou em hardware podem inflar a
performance.

9) Princípios Quantitativos do projeto de computadores


• “Faça o caso comum mais rápido”
• Lei de Amdahl : “Se uma melhoria é introduzida em uma fração de uma tarefa , não
podemos acelerar a tarefa mais que (1-fração)”
• Speed-up = t_velho/t_novo = 1 / ((1-fração_melhorada) + fração_melhorada/Melhoria)

10) Lendas e Falhas


• A melhoria em um dos aspectos que influem na perfomance melhora proporcionalmente a
performance total. => Falha
• As métricas que não dependem do hardware são boas para avaliar a performace => Lenda
• Uso da média aritmética normalizada dos tempos de execução para prever a performance =>
Média Geométrica

11) Localidade de Referência


Os programas tendem a reusarem dados e instruções que eles usaram recentemente.
Este conceito é usado tanto para dados quanto para instruções.
• Localidade temporal: se um item é referenciado agora, ele tende a ser referenciado
novamente dentro de um espaço curto de tempo. Exemplo: programas que contêm loops
tanto para quanto para instruções
• Localidade espacial: se um item é referenciado, itens cujos endereços sejam próximos dele
tendem a ser referenciados. Exemplo: as instruções acessadas sequencialmente e vetores.

12) Hierarquia de Memória


“Quanto menor mais rápido”
Aplicação da lei de Amdahl: manter os itens mais recentes em memória mais rápida.
Acerto ou hit – quando um bloco solicitado pelo processador é encontrado na memória
Falta ou Miss - quando um bloco solicitado pelo processador não é encontrado na memória
Page Fault - quando um bloco solicitado pelo processador não é encontrado na memória na
memória principal

13) Instruções do MIPS:


Tipos: R, I e J
Pseudo-instruções: instruções que não existem em linguagem de máquina, mas que são aceitas pelo
montador que as converte em instruções de montagem.

14) Estilos de Arquitetura


Acumulador – um único registrador
Memória-memória – operandos podem estar em memória
Pilha – operandos armazenados em pilha
Load-Store – operandos em registradores

15) Barramentos: responsável pela conexão entre os dispositivos de I/O, memórias e processador,
além da iteração com o sistema operacional.

Você também pode gostar