Buscar

02_OARQC_aula02

Prévia do material em texto

Organizacao e
Arquitetura de
Computadores
!
Aula 01
Edi
��
�
 - Arquitetura de Computadores
O que é uma Arquitetura de Computadores
2
Aplicação
Física
O “GAP" é muito 
grande para ser tratado 
de uma só vez !
Arquitetura de computadores 
é o projeto de camadas de 
abstração/implementação que 
nos permite executar 
aplicações de processamento 
de dados de forma eficiente 
utilizando tecnologias 
manufaturadas
 - Arquitetura de Computadores
O que é uma Arquitetura de Computadores
3
Aplicação
Física
Dispositivos
Circuitos
Portas Lógicas
Nível RTL
Microarquitetura
ISA
Sistemas Operacionais
Linguagens de Programação
Algoritmos
ISA- Instruction Set Arquitecture
RTL- register Transfer Level
Microarquitetura - micro instruçoes de 
máquina
 - Arquitetura de Computadores
O que é uma Arquitetura de Computadores
4
Aplicação
Física
Dispositivos
Circuitos
Portas Lógicas
Nível RTL
Microarquitetura
ISA
Sistemas Operacionais
Linguagens de Programação
Algoritmos
Arquitetura de Computadores}
 - Arquitetura de Computadores
O que é uma Arquitetura de Computadores
5
Aplicação
Física
Dispositivos
Circuitos
Portas Lógicas
Nível RTL
Microarquitetura
ISA
Sistemas Operacionais
Linguagens de Programação
Algoritmos
Requisitos da Aplicação!
• !Sugere como melhorar a 
arquitetura!
• Provê recursos para custear o 
desenvolvimento
Restrições tecnológicas!
• !Restringe o que efetivamente 
pode ser feito!
• Novas tecnologias, permitem 
novas arquiteturas
 - Arquitetura de Computadores
Computadores do passado … 
6
 - Arquitetura de Computadores
Computadores de hoje …
7
 - Arquitetura de Computadores
Tecnologia de Sistemas Computacionais
• Sistemas computacionais 
• Cadeia de conexão entre os componentes eletrônicos e 
aplicações
8
D
o
m
ín
io
 d
e
A
p
lic
a
ç
ã
o
Visão de
alto nível
Visão de
baixo nível
Projetista
de
aplicação
Projetista
de
sistema
Projetista
ou 
arquiteto
de
computa-
dores
Projetista 
lógico
Projetista
de
circuito
Software Hardware
Arquitetura de computadores
Organização de computadores
C
o
m
p
o
n
e
n
te
s
E
le
tr
ô
n
ic
o
s
 - Arquitetura de Computadores
Conceitos de sistemas de Computadores
• Sistemas computacionais podem ser utilizados em 
diversas áreas 
• Computação em desktop

custo / desempenho – sistema dedicado 
• Servidores

custo / desempenho em relação a: 
• confiabilidade, disponibilidade, throughput, 
escalabilidade 
• Computadores embarcados 

custo, consumo de energia (potência)
9
 - Arquitetura de Computadores
A tarefa de um projetista é
• Determinar 
• requisitos funcionais 
• metas de preço, potência e desempenho 
• Influências importantes 

mercado, quantidade de software existente 
• Otimizar o projeto 
• de acordo com as métricas adotadas 

custo/desempenho (desktop)

throughput e disponibilidade (servidor) 

consumo de energia (sistemas embarcados) etc.
10
 - Arquitetura de Computadores
A tarefa de um projetista é
• Combinando: 
• Arquitetura do conjunto de instruções nível ISA – 
interface hardware/software 
• Organização do computador 

componentes funcionais e sua interconexão 
• Implementação de hardware

circuitos, tecnologias de integração, etc.
11
 - Arquitetura de Computadores
Arquiteturas clássicas
• Von Neumann
12
 - Arquitetura de Computadores
Arquiteturas clássicas
• Harvard
13
 - Arquitetura de Computadores
Principais Tecnologias
14
 - Arquitetura de Computadores
Evolução de Custo - DRAM
15
 - Arquitetura de Computadores
Diferença de desempenho entre circuitos lógicos e memória
16
 - Arquitetura de Computadores
Soluções
17
•  Aumentar número de bits recuperados de uma só vez. 
— Tornar DRAM “mais larga” ao invés de “mais profunda”. 
•  Mudar interface da DRAM. 
— Cache. 
•  Reduzir frequência de acesso à memória. 
— Cache mais complexa e cache no chip. 
•  Aumentar largura de banda de interconexão. 
— Barramentos de alta velocidade. 
— Hierarquia de barramentos. 
 - Arquitetura de Computadores
Desempenho de Sistemas 
Computacionais
18
 - Arquitetura de Computadores
Principais Métricas de desempenho
19
 - Arquitetura de Computadores
Métrica: Tempo
20
 - Arquitetura de Computadores
Métodos para medição de desempenho
21
 - Arquitetura de Computadores
Benchmarks mais conhecidos
• Para desktops: 
• SPEC (Standard Performance Evaluation Corporation) 
• CPU: SPEC CPU2000, SPEC CPU 2004(?) 
• Gráficos:

SPECviewperf: OpenGL 
• SPECapc: problemas específicos de modelagem de 
sólidos e CAD 3D 
• Processamento de alto desempenho Java

Servidores (e-mail, arquivos, Web)

 
www.spec.org
22
 - Arquitetura de Computadores
Benchmarks mais conhecidos
• Para desktops: 
• SPEC (Standard Performance Evaluation Corporation) 
• CPU: SPEC CPU2000, SPEC CPU 2004(?) 
• Gráficos:

SPECviewperf: OpenGL 
• SPECapc: problemas específicos de modelagem de 
sólidos e CAD 3D 
• Processamento de alto desempenho Java

Servidores (e-mail, arquivos, Web)

 
www.spec.org
23
 - Arquitetura de Computadores
Benchmarks mais conhecidos


• Para servidores: 
• SPEC: 
• SPECrate – throughput de processamento 
• SPECFS – servidor de arquivos 
• SPECWeb – servidores Web 
• Consideram as especificidades da arquitetura de servidores 
(E/S eficiente, multiprocessamento) 
• Processamento de transações 
• TPC (Transaction Processing Council) 
• processamento de consultas em BDs, sistemas de apoio a 
decisão, transações baseadas na Web 
www.tpc.org
24
 - Arquitetura de Computadores
Benchmarks mais conhecidos
• Para sistemas embarcados (microcontroladores)
 • Dificuldade em se ter um único benchmark de uso 
amplo 
• EEMBC (EDN Embedded Microprocessor Benchmark 
Consortium) – 5 classes: 
• automotiva / industrial 
• eletrônica de consumo 
• rede 
• automação de escritório 
• telecomunicações
25
 - Arquitetura de Computadores
Princípios de Projeto
26
 - Arquitetura de Computadores
Ciclos de Clock
27
 - Arquitetura de Computadores
Formas de melhorar desempenho
28
 - Arquitetura de Computadores
Número de ciclos gastos
29
 - Arquitetura de Computadores
Diferente para cada tipo de instrução
30
 - Arquitetura de Computadores
Resumindo
• Desempenho é específico para cada programa

o tempo de execução total é a medida de desempenho 
consistente 
!
• Para uma dada arquitetura, melhorias de desempenho resultam 
de: 
• melhoria na freqüência de relógio 
• melhorias na arquitetura e na organização do processador 
para reduzir a contagem de CPI 
• melhorias nos compiladores para reduzir tanto a CPI quanto a 
contagem de instruções/programa 
• Armadilha: esperar que melhorias no desempenho de um 
aspecto da máquina vão afetar seu desempenho global na 
mesma proporção
31

Continue navegando