Introdução

Propaganda
Aspectos gerais de arquitectura de computadores
João Canas Ferreira
2007-09-12
Tópicos de
Arquitectura de Computadores
Assuntos
Tópicos
1
Evolução dos computadores
2
O mercado de computadores
3
Arquitectura de computadores
4
Tecnologia de base
Contém figuras de:
Computer Organization and Design (cap. 1),
D. Patterson & J. Hennessey, 3ª e 4ª ed., Elsevier.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
2 / 22
Evolução dos computadores
1
Evolução dos computadores
2
O mercado de computadores
3
Arquitectura de computadores
4
Tecnologia de base
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
Notas:
3
2007-09-12
3 / 22
Evolução dos computadores
O primeiro computador electrónico: ENIAC
Data de desenvolvimento: 1943-46.
Local: Universidade da Pensilvânia.
Autores principais: John W. Mauchly, J. Presper Eckert Jr.
Tecnologia: válvulas (tubos de vácuo, 18000), resistências (70000),
condensadores (10000) e relés (6000).
Frequência de operação: 100 kHz.
Potência consumida: 150-190 kW.
Problema de fiabilidade: 90% do tempo de paragem deveu-se à necessidade de substituir tubos de vácuo (19000/ano, 52/dia).
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
Notas:
4.1. ENIAC: Electronic Numerical Integrator And Computer.
4.2. A partir da página WWW da disciplina é possível aceder a alguns artigos históricos sobre o ENIAC e a um
sumário da história dos computadores.
4.3. Informação sobre válvulas na Wikipedia: http://en.wikipedia.org/wiki/Vacuum_tube. A figura
apresentada provém de uma versão anterior deste artigo.
Actualmente, as válvulas são usadas sobretudo em aparelhagem áudio.
4
4 / 22
Evolução dos computadores
Planta do ENIAC
A sala tinha cerca de 93 m2 . O ENIAC tinha 3 m de altura e pesava 30 t.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
5 / 22
Notas:
5.1. Os seguintes artigos contêm mais informações sobre o ENIAC:
H.H. Goldstine e Adele Goldstine, “The Electronic Numerical Integrator and Computer (ENIAC)”, em IEEE
Annals of the History of Computing, Vol. 18, No. 1, 1996. A figura foi retirada deste artigo.
W. Barkley Fritz, “ENIAC—A Problem Solver”, em IEEE Annals of the History of Computing, Vol. 16, No. 1,
1994.
Wikipedia: http://en.wikipedia.org/wiki/ENIAC
History of Computing Information http://ftp.arl.mil/~mike/comphist/
5.2. O seguinte artigo contém uma biografia de J. Presper Eckert:
Peter Eckstein, “J. Presper Eckert”, em IEEE Annals of the History of Computing, Vol. 18, No. 1, 1996.
5.3. Unidades aritméticas: 20 acumuladores (somas e subtracções), um multiplicador e uma unidade combinada
divisor/raiz quadrada. Memória para programas está distribuída pelo computador. O ENIAC era capaz de
executar 5000 somas por segundo.
5.4. O sucessor de ENIAC foi o EDVAC (Electronic Discrete Variable Automatic Computer), também projectado por
Mauchly e Eckert.
5
Evolução dos computadores
Mainframes: IBM System/360 Model 91
Até ao fim dos anos 70, os grandes computadores centralizados dominaram a indústria. O
modelo 91 da “arquitectura” System/360 é um caso típico (1966).
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
6 / 22
Notas:
6.1. Abreviaturas:
MSCE
PSCE
PDU
SDE
SPF
Main Storage Control Element (memória principal)
Peripheral Storage Control Element
Power Distribution Unit
Storage Distribution Element
Storage Protect Feature (controlo de acessos)
6.2. Até ao fim dos anos 60, a evolução dos computadores foi determinada pelo contributo conjunto dos avanços
tecnológicos e arquitecturais.
Nos anos 70, os avanços foram essencialmente tecnológicos. Também surgiram nesta altura os primeiros
microprocessadores (Intel 4004, 1971).
A partir dos anos 80 voltou a registar-se um avanço combinado da tecnologia de base e da arquitectura.
6.3. O termo “arquitectura” usado na transparência refere-se à “arquitectura do conjunto de instruções”, i.e., ao
modelo que o programador manipula. Hoje em dia, considera-se que a arquitectura de computadores abarca
também os aspectos da organização interna e de implementação, porque estes têm influência sobre o
modelo “externo” do computador.
6
Evolução dos computadores
System/360 Model 91 em operação
Fonte: Arquivo fotográfico da IBM.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
7 / 22
Notas:
7.1. Origem da foto: Arquivo fotográfico da IBM
(http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_2423PH2091.html).
7.2. O sistema apresentado esteve em operação no centro de controlo de voo Goddard da NASA. Em 1968, era o
segundo mais potente computador em operação, capaz de executar 16,6 milhões de adições por segundo.
7.3. O período de relógio do CPU era de 60 ns. O tempo de acesso a memória (8 bytes de dados) era de 780 ns. O
modelo da fotogrfia tinha uma memória principal de 2 MB, com 16 canais. (A capacidade máxima era de 6
MB).
7.4. Outra fotografia (http://www.columbia.edu/acis/history/36091.html):
7
Evolução dos computadores
A hegemonia do microprocessador
Em meado dos anos 80, deu-se uma reapreciação dos aspectos arquitecturais: ressurgimento e
domínio das arquitecturas RISC.
A partir do início dos anos 90, o microprocessador passou a dominar a indústria de
computadores.
Hoje os microprocessadores estão presentes em quase todas as áreas.
Intel 4004
João Canas Ferreira (FEUP/DEEC)
PowerPC 750
Aspectos gerais
2007-09-12
8 / 22
Notas:
8.1. A fotografia da esquerda mostra o 4004, o primeiro microprocessador da Intel (fonte original:
http://people.smu.edu/rmonagha/4004.html).
8.2. A fotografia da direita mostra uma versão (para o espaço) do processador PowerPC 750 (fonte original:
http://www.iews.na.baesystems.com/space/images/rad750_die_floorplan1.jpg). Características:
6,5 milhões de transístores, área 67 mm2 , tecnologia CMOS 0,18 µm, frequência 300 MHz.
8.3. Existem várias possibilidades de evolução para os computadores. Uma delas é descrita por N. Tredennick e B.
Shimamoto num artigo de divulgação da revista ACM Queue: “The Inevitability of Reconfigurability”, Vol. 1,
No. 7, 2003 (disponível a partir da Digital Library http://www.acm.org/dl).
8.4. A companhia Xilinx vende circuitos reconfiguráveis que incluem 1 ou 2 núcleos de microprocessador
(PowerPC 405): os circuitos Virtex-II Pro, Virtex-4 e Virtex-5. Pode encontrar mais detalhes em
http://www.xilinx.com/xlnx/xil_prodcat_product.jsp?title=v2p_x.
8
Evolução dos computadores
Evolução do desempenho dos CPUs
Linha clara: desempenho da tecnologia de base (circuitos integrados).
Linha escura: desempenho global. No ano 2000, o desempenho global é 7 vezes superior ao que se obteria
apenas com o avanço tecnológico.
Nos anos 90, o crescimento médio anual foi de 52%; depois, ficou reduzido a 20%.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
9 / 22
Notas:
9.1. Os avanços arquitecturais são baseados numa abordagem quantitativa baseada em observações empíricas do
comportamento dinâmico dos computadores, experiências e inúmeras simulações. Trata-se de uma
abordagem que constituiu uma novidade radical quando começou a ser usada, em meados dos anos 80. O seu
primeiro resultado foi o ressurgimento da arquitecturas RISC (Reduced Instruction Set Computer).
9.2. O artigo seguinte apresenta de maneira simples os resultados das primeiras aplicações da abordagem
quantitativa sistemática:
à D.A. Patterson e D. R. Ditzel, “The Case for the Reduced Instruction Set Computer”, ACM Sigarch Computer
Architecture News, Vol. 8, No. 6, Outubro 1980.
A história das arquitecturas RISC na IBM é descrita em:
à J. Cocke e V. Markstein, “The evolution of RISC technology at IBM”, em IBM Journal of Research and
Development, Vol. 34, No. 1, Janeiro de 1990.
O primeiro microprocessador RISC da Universidade de Berkeley é descrito em:
à D.A. Patterson e C.H. Sequin, “RISC I: A reduced instruction set VLSI computer”, em Proceedings 8th
Annual Symposium on Computer Architecture, 1981.
Todos os artigos podem ser acedidos a partir da rede da FEUP.
9
O mercado de computadores
1
Evolução dos computadores
2
O mercado de computadores
3
Arquitectura de computadores
4
Tecnologia de base
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
Notas:
10
2007-09-12
10 / 22
O mercado de computadores
Tendências de mercado
Actualmente, o mercado de microprocessadores tem três grandes componentes claramente
diferenciadas:
Desktop computing
Gama 500–5000 Euros.
Optimizar a razão desempenho/custo.
Servidores
Substituem mainframes.
Atributos: disponibilidade, escalabilidade, débito.
Computadores “embutidos”
Incluídos em outros produtos: fornos micro-ondas, telemóveis, etc.
Atributos: preço, execução em tempo-real, memória, potência.
Grande gama de preços.
Grande gama de implementações: microcontroladores de 4 a 64 bits.
Os processadores podem ser embutidos em CIs mais complexos.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
11 / 22
Notas:
11.1. O número de componentes (microprocessadores ou microcontroladores) vendidos no mercado “embutido”
(embedded) é, de longe, o maior de todos. Muitos componentes são extremamente baratos.
11.2. Um microcontrolador é um microprocessador optimizado para uso no controlo de equipamento electrónico.
Inclui geralmente vários dispositivos de E/S e memória interna (muitas vezes não-volátil).
11.3. O mercado dos sistemas embedded também inclui núcleos de processadores usados nos interior de circuitos
integrados do tipo SoC (System-on-Chip). Por exemplo, a companhia ARM
(http://www.arm.com/products/CPUs/) dedica-se ao fornecimento deste tipo de circuitos, muito usados
em circuitos integrados para telemóveis (e não só).
11.4. Em 2006, segundo o World Semiconductor Trade Statistics (http://www.wsts.org), foram vendidos 53939
milhões de dólares de microprocessadores e microcontroladores, o que representa cerca de 21,8% do mercado
de semicondutores mundial (247 mil milhões de $). Para 2007 prevê-se um aumento de vendas de 2,3% e
para 2008 um aumento de 10,2%.
11
O mercado de computadores
Caracterização dos três sectores
As principais características dos três sectores do mercado de microprocessadores são:
Atributo
Desktop
Servidores
Embutidos
Preço sistema ($)
Preço CPU ($)
CPUs/ano [2000]
500 – 5000
50 – 500
15 × 107
5 × 103 – 5 × 106
200 – 10000
4 × 106
10 – 1 × 105
0,01 – 100
3 × 108
(*)
Aspectos críticos
custo/desempenho,
desempenho gráfico
débito,
disponibilidade,
escalabilidade
preço,
consumo de
energia
(*) Apenas inclui microprocessadores de 16 e 32 bits.
à Os microcontroladores de 8 bits são os mais vendidos em número,embora não sejam os que
dão mais lucro. Em 1997, por exemplo, foram vendidos mais de 2 mil milhões de
microcontroladores de 8 bits.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
12 / 22
Notas:
12.1. Os microcontroladores PIC10 de empresa Microchip (http://www.microchip.com) usam um conjunto de 33
instruções (ao estilo RISC) , cada uma das quais executa num ciclo de relógio (1 MHz), excepto as instruções
de salto, que usam dois ciclos. O modelo PIC10F200 tem 6 pinos (incluindo alimentação) e custa $ 0.55 (em
2004).
12.2. Mercado de microcontroladores (segundo Databeans, julho 2007):
Vendas (milhões $)
Nº unidades (milhões)
Custo médio ($)
2004
2005
2006
2007 (est.)
12449
6930
1,80
12082
7081
1,71
12446
8464
1,47
13716
10233
1,34
12
O mercado de computadores
Prejuízos anuais por quebra de serviço
O mercado dos servidores dá grande importância à disponibilidade, medida pela capacidade de
manter os serviços activos.
Perdas anuais (milhões $) com
downtime de
Aplicação
Corretagem
Autoriz. Cartões Crédito
Envio de encomendas
Home shopping
Vendas por catálogo
Reservas de avião
Caixas automáticas
Prejuízo por hora
(milhares $)
6450
2600
150
113
90
89
14
1%
0,5%
0,1%
565
228,0
13,0
9,9
7,9
7,9
1,2
283,0
114
6,6
4,9
3,9
3,9
0,6
56,5
22,8
1,3
1,0
0,8
0,8
0,1
[Valores de 2000]
à Em 2005, a empresa Amazon teve uma média de 1,35 milhões de dólares de encomendas por
hora.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
13 / 22
Notas:
13.1. Servidores também dão muita importância à facilidade em ampliar as váris partes do sistema: computação,
memória, armazenamento e largura de banda.
13.2. Servidores são projectados para maximizar o débito, ou seja, o número de operações realizadas por unidade
de tempo. O tempo de resposta não tem a mesma importância que nos outros mercados.
13
Arquitectura de computadores
1
Evolução dos computadores
2
O mercado de computadores
3
Arquitectura de computadores
4
Tecnologia de base
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
Notas:
14
2007-09-12
14 / 22
Arquitectura de computadores
Áreas da arquitectura de computadores
De um modo geral, a arquitectura de computadores é actualmente dividida em três áreas:
Arquitectura do conjunto de instruções (definição clássica de AC)
Modelo do sistema conforme visto pelo programador:
instruções, registos, modelo de E/S, interrupções.
Organização: Aspectos de alto nível da implementação
sistema de memória, incluindo memórias cache,
barramentos,
estrutura funcional do CPU.
Implementação em hardware
uma realização específica (Pentium II vs. Centrino),
projecto lógico detalhado, tecnologia de empacotamento.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
15 / 22
Notas:
15.1. Na maior parte das publicações anteriores a 1985/90, a expressão “arquitectura de computadores” refere-se
apenas ao primeiro dos itens mencionados. Organização e implementação são muitas vezes consideradas
separadamente.
15.2. A abordagem quantitativa à arquitectura de computadores veio salientar a importância dos dois últimos
níveis, já que o que pode ser considerado um bom conjunto de instruções depende de aspectos organizativos
e de implementação. Exemplo: como actualmente os acessos a memória são relativamente muito demorados,
um conjunto de instruções que minimize os acessos a memória é mais favorável à obtenção de elevados
desempenhos.
15
Arquitectura de computadores
Requisitos funcionais
Computadores são projectados para satisfazer requisitos funcionais, para além de objectivos de
desempenho, custo e consumo de potência.
Da perspectiva do cliente, é necessário determinar se os requisitos funcionais são relevantes
para a utilização a fazer do computador e em que medida são atingidos.
Exemplos (conjunto muito pequeno e pouco representantivo):
Categoria
Área:Desktop
Compatibilidade
Memória
Protecção
Normas: VF
Requisitos típicos
Desempenho equilibrado para tarefas variadas, desempenho
interactivo, gráficos, vídeo, áudio.
Compatibilidade de código objecto.
Gestão de memória paginada/segmentada.
Gestão de direitos de acesso.
Implementação da norma IEEE 754.
à Notar a grande variadade de requisitos.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
16 / 22
Notas:
16.1. Determinar quais os requisitos funcionais relevantes não é uma tarefa trivial, porque é necessário equilibrar
muitos interesses diferentes, desde aspectos tecnológicos até aspectos de “tradição” (i.e., o que é que os
clientes esperam que o computador seja capaz de fazer).
16.2. O trabalho de determinação dos requisitos envolve também ter uma perspectiva global da evolução da área.
O projecto de um computador (incluindo microprocessador) pode levar vários anos (2-5). Por isso, é
necessário estabelecer os requisitos não para o presente, mas para a data da entrada em produção (e para os
três anos seguintes).
16.3. Os requisitos funcionais dependem fortemente da área de aplicação.
16
Tecnologia de base
1
Evolução dos computadores
2
O mercado de computadores
3
Arquitectura de computadores
4
Tecnologia de base
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
Notas:
17
2007-09-12
17 / 22
Tecnologia de base
Tendências tecnológicas
A evolução da tecnologia constitui o principal elemento do pano de fundo para a inovação e
avaliação das arquitecturas de computadores.
Circuitos integrados
densidade de transístores: ↑ 35% ao ano (4× em 4 anos)
dimensão da pastilha: ↑ 10%-20% ao ano
resultado: nº de transístores ↑ 55% ao ano (2× em 18 meses)
Memória DRAM
densidade ↑ 40%–60% ao ano (4× em 3-4 anos)
tempo de leitura ↓ 30% em 10 anos
largura de banda ↑ 33% em 5 anos
Discos magnéticos
densidade ↑ 100% ao ano (4× em 2 anos); 30% actualmente
tempo de acesso ↓ 33% em 10 anos
Redes de comunicações
Ethernet: 10 Mb → 100 Mb em 10 anos; 100 Mb → 1 Gb em 5 anos
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
18 / 22
Notas:
18.1. Os circuitos integrados são fabricados sobre discos finos de silício (designados por “bolachas” – wafers).
Cada pastilha (chip) rectangular é cortada da bolacha e encapsulada. Todas as pastilhas de uma mesma
bolacha são iguais.
18.2. Durante o processo de fabrico podem ocorrer defeitos que inutilizam as pastilhas. Basta um defeito para
inutilizar uma pastilha. A percentagem de pastilhas (de uma bolacha) sem defeito designa-se por
“rendimento” (die yield).
18.3. O custo dos circuitos integrados depende crucialmente do rendimento global do processo de fabrico. A
complexidade do circuito implementado é praticamente irrelevante.
18.4. O rendimento de um processo de fabrico varia ao longo da sua existência, sendo muito baixo de início para
processos sofisticados e bastante alto para processos maduros (> 95%).
18.5. Em 2007, os processos industriais mais avançados são de 45 nm. Isto quer dizer que a largura mínima de
uma pista de interligação ou de um transístor é de 45 × 10−9 m.
18
Tecnologia de base
Latência vs. débito
à Regra prática: melhorias de débito aumentam com o quadrado das melhorias de latência.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
19 / 22
Notas:
19.1. Débito (ou “largura de banda”) é uma medida do trabalho realizado por unidade de tempo.
19.2. Latência (ou tempo de resposta) é o intervalo de tempo entre o início e o fim de um evento (por exemplo,
um acesso a disco).
19.3. D.A. Patterson, Latency lags bandwidth, Communications of the ACM, vol. 47, n. 10, Out. 2004. Disponível
em http://doi.acm.org/10.1145/1022594.1022596
19
Tecnologia de base
Consumo de energia
O consumo de energia constitui uma limitação importante para os processadores actuais; pode
ser mesmo mais importante que a área. A energia é dissipada sob a forma de calor.
(Potência=Energia/Tempo)
Factor dominante tradicional: potência dinâmica.
Pdin =
1
× V 2 × F × carga capacitiva
2
No caso de dispositivos móveis, interessa mais a energia (a capacidade da bateria é dada
em 1 A h = 3600 C).
Edin = V 2 × carga capacitiva
Actualmente: potência (estática) da corrente de fugas é importante.
Pest = Iest × V
Em 2006: tentar limitar Pest a menos de 25% da potência total, o que não é sempre
conseguido.
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
20 / 22
Notas:
20.1. V: tensão de alimentação (em volt); F: frequncia de operação (em Hz).
20.2. Tensões de alimentação baixaram de 5 V para 1 V.
20.3. Os primeiros microprocessadores consumiam décimos de watt, o Pentium 4 Extreme Edition consome 135 W a
3.2 GHz.
20.4. Para uma tarefa fixa, baixar a frequência reduz a potência, mas não a energia.
20.5. A carga capacitiva depende das características da tecnologia de semicondutores e do número de transístores
ligados à saída de cada porta lógica.
20.6. Limite: capacidade de dissipar a potência calorífica produzida. Esta capacidade depende da superfície da
área através da qual se processa a dissipação. O projectista do CPU precisa de evitar “pontos quentes”.
20.7. Técnica de redução do consumo de energia (exemplo): desligar partes do CPU que não estão a ser usadas
num dado instante (p.ex. unidade de VF).
20.8. Existe a necessidade de alimentar todo o circuito: os CPUs actuais (desktop) têm centenas de pinos de
alimentação.
20.9. Em contrapartida, existem microcontroladores de muitíssimo baixo consumo. A família de microcontroladores
Motorola MSP430 atinge 250 µA/MIPS (CPU de 16 bits).
20
Tecnologia de base
Bolacha com circuitos integrados
117 circuitos AMD Opteron, processo de 90 nm
João Canas Ferreira (FEUP/DEEC)
Aspectos gerais
2007-09-12
21 / 22
Notas:
21.1. Cada bolacha (wafer) contém várias pastilhas (dies) idênticas.
21.2. O custo de um circuito integrado pode ser calculado com base na soma dos seguintes termos:
• custo da pastilha;
• custo de testar a pastilha;
• custo de encapsulamento e teste final.
Para determinar o custo de um circuito é preciso ainda dividir pelo rendimento do teste final. Por exemplo,
se 5 circuitos em 100 falharem o teste final, é necessário dividir a soma obtida anteriormente por 0,95.
21.3. O custo de uma pastilha é dado por
custo da pastilha =
custo da bolacha
nº de pastilhas × rendimento das pastilhas
O “rendimento das pastilhas” (die yield) é a percentagem de pastilhas sem defeito.
21
Tecnologia de base
Exemplo: Densidade de defeitos e dimensão da pastilha
A figura mostra como a mesma densidade de defeitos afecta o rendimento de maneira diferente
consoante a dimensão da pastilha.
4 pastilhas com defeito
8 pastilhas sem defeito
rendimento: 66,6%
4 pastilhas com defeito
60 pastilhas sem defeito
rendimento: 93,75%
`
Y = 1+
Y: rendimento
A: área da pastilha
João Canas Ferreira (FEUP/DEEC)
´
D×A −α
α
D: defeitos por unidade de área
α: parâmetro de calibração
Aspectos gerais
2007-09-12
22 / 22
Notas:
22.1. O parâmetro α diminui com a complexidade do processo de fabrico. Um valor actual típico é α = 4.
22.2. A densidade de defeitos depende da maturidade do processo. Valores típicos: 0.4 ≤ D ≤ 0.8 (por cm2 ).
22.3. Para os maiores circuitos, A é da ordem das poucas dezenas de cm2 .
22.4. Supondo D = 0.6, α = 4 e A = 1 = 1 × 1, o rendimento é Y = 0.57.
22.5. Nas mesmas condições, obtém-se, para A = 0.49 = 0.7 × 0.7, um rendimento de Y = 0.75, o que constitui
uma melhoria importante.
22.6. Actualmente as bolachas têm um diâmetro d de 300 mm. O número N de pastilhas de área A que cabem numa
bolacha pode ser estimado pela fórmula
$
%
π × (d/2)2
π×d
N=
− √
A
2×A
Para A = 70 × 70 mm2 e d = 300 mm, obtém-se N = 1397.
22.7. Para obter o rendimento global é ainda necessário multiplicar o resultado obtido por um termo que
representa a percentagem de bolachas aproveitadas, porque bolachas com muitos defeitos nem sequer são
submetidas ao processmento descrito anteriormente.
22
Download