Aula 02: Tendências Tecnológicas e Custos ARQUITETURA DE COMPUTADORES DEPT. DE CIÊNCIA DA COMPUTAÇÃO - UFMG Cadeia Alimentar em 1985 Mainframe Work- PC Ministation computador Supercomputador Minisupercomputador Cadeia Alimentar em 1995 MiniMinisupercomputador computador Mainframe Supercomputador Work- PC station Quem come quem? Massively Parallel Processors Cadeia Alimentar em 2002 Mainframe Servidoras PC Workstation Embutido e Móvel Por que tal mudança nos últimos anos? Função Aumento da interconectividade entre as máquinas (diversos pequenos fazem o mesmo trabalho que um grande) Desempenho Avanços tecnológicos CMOS VLSI domina TTL e ECL em custo e performance Avanços em arquitetura nos micros de pequeno porte seguiram mais de perto avanços na tecnologia de circuitos integrados RISC, superescalar, RAID, … Por que tal mudança em 10 anos? Preço: Desenvolvimentos mais simples CMOS VLSI: sistemas menores, menos componentes Altos volumes CMOS VLSI : mesmo custo de 10,000 unidades e 100,000 unidades Margens de lucros menores Mobilidade Tecnologias Usadas em 1985 ECL TTL MOS Mainframe Work- PC Ministation computador Supercomputador Minisupercomputador Projeções Tecnológicas: Capacidade de Processadores 100000000 “Janela de variação” 10000000 Pentium i80486 Transistors 1000000 i80386 i80286 100000 i8086 10000 i8080 i4004 1000 1970 1975 1980 1985 Year 1990 1995 2000 Arquitetura de Computadores Determinar quais atributos são importantes para o projeto de uma nova máquina a fim de maximizar performance e minimizar o custo Como minimizar custo? Como maximizar performance? Variáveis Usadas no Projeto de uma Nova Máquina Projeto do conjunto de instruções Organização funcional Projeto lógico Implementação Projeto do circuito integrado Encapsulamento Potência Resfriamento Tudo isso é arquitetura de computadores!!! Tendências para Projeto de Microprocessadores Quando alguém projeta um processador (ou uma nova máquina), ele só vai ser lançado daqui a 2 anos Precisamos considerar o que estará disponível daqui a dois anos E se eu não for projetar máquinas? Você vai escrever software? Também precisa considerar parâmetros válidos para análise do que você vai estar entregando daqui a dois anos Na verdade, este curso se resume a uma palavra: Planejamento Memória Utilizada por Programas Consumo de endereços: Memória média para executar um programa tende a crescer 1.5 a 2 vezes por ano, ou seja, de 1/2 a 1 bit de endereçamento por ano Uso de linguagens de alto nível Importância maior de compiladores e técnicas mais agressivas para a compilação de código Circuitos Integrados Densidade cresce 35 % ao ano, quadruplicando em 4 anos Tamanho do die cresce 10-20 % ao ano Efeito combinado: crescimento de 55 % ao ano no número de transistores Mas não conseguimos manter a mesma percentagem dos transistores funcionando em um dado instante DRAMs A densidade de DRAMs cresce em torno de 4060% ao ano, quadruplicando em 3-4 anos Tempo de ciclo melhora lentamente: diminuiu 35% em 10 anos Por que nos últimos 10 anos o efeito da velocidade das DRAMs passou a ser importante? (386 vs. 486) Bandwidth tem aumento 2x mais que tempo de ciclo d$/dt para memórias decresce 40% ao ano devido a aumento de produção e maturidade do processo de fabricação Discos Magnéticos A densidade de armazenamento de discos magnéticos cresce em torno de 100% ao ano (antes de 1990, a densidade crescia 30% ao ano) Tempo de acesso: +/- 35% em 10 anos Previsões Tecnológicas (Resumo) Capacidade Velocidade Lógica 4x em 3-4 anos 2x em 3 anos DRAM 4x em 3-4 anos 1.4x em 10 anos Disco 2x em 1 ano 1.4x em 10 anos • Até mesmo durante a vida útil do processador (2 anos) os avanços tem que ser levados em conta • Crescimentos não são lineares (ex: DRAMs) Previsões de Performance para Processadores 1000 Supercomputers 100 Mainframes 10 Minicomputers Microprocessors 1 ? 0.1 1965 1970 1975 1980 1985 Year 1990 1995 2000 Previsões de Performance (Resumo) Performance de workstations (medidas em Spec Marks) melhoram aproximadamente 50% por ano Melhoria em custo e performance estimada em 70% ao ano Desempenho vs. Preço Perspectiva para Processadores Análise comparativa IBM POWER2 Workstation Ano 1993 MIPS > 200 MIPS Linpack 140 MFLOPS Custo $120,000 Clock 71.5 MHz Cache 256 KB Memória 512 MB Cray YMP Supercomputador 1988 < 50 MIPS 160 MFLOPS $1M ($1.6M in 1994$) 167 MHz 0.25 KB 256 MB Supercomputador de 1988 em servidor de 1993! Qual a Origem desta Performance? Tecnologia? Organização? Instruction Set Architecture? Software? Alguma combinação dessas opções? Projeções Tecnológicas (Inovação Arquitetural) 1000 Supercomputers 100 Mainframes 10 Minicomputers Microprocessors 1 CISC/RISC 0.1 1965 1970 1975 1980 1985 Year 1990 1995 2000 • Bit Level Parallelism • Pipelining • Caches • Instruction Level Parallelism • Out-of-order Xeq • Speculation •... E Além Disso? Instruction level parallelism (ILP) maior? Caches maiores? Múltiplos processadores por chip? Sistemas completos em um chip? (Portable Systems) LANs de alta performance, Interface, e Interconexão Tecnologia de Hardware 1980 1990 Chips de mem. 64 K 4M 256 M-1 G Velocidade 1-2 20-40 400-2000 Discos 5-1/4’’ 40 M 1G 80 G Floppies 0,256 M 1.5 M 500-2.000 M LAN (Switch) 2-10 Mbits Barramentos 2-20 Mbytes 40-400 10 (100) 2002 155-655 (ATM) 10 G (ethernet) Custo de Circuitos Integrados Custo die + Custo teste + Custo packing Custo CI = Aproveitamento após teste Custo wafer Custo die = Dies / wafer * die yield 2 p * (Raio do wafer) - p * (Diâmetro do wafer) Dies / wafer = 1/2 (2 * Área do die) Área do die Custo de Circuitos Integrados Exemplo: Qual o número de dies em um wafer de 30cm, onde o tamanho do die é 0.7 cm x 0.7 cm? 2 Área do die = 0.49 cm Dies / wafer = p * (30/2) 2 0.49 p * ( 30) - (2 * 0.49)1/2 = 1347 Número real é menor porque nem todos os circuitos funcionarão Rendimento do wafer die yield -a die yield = wafer yield * (1 + defeitos / área * Área do die / a) % dos wafers que são completamente ruins 0.4-0.8 em 2001 dependendo da maturidade do processo 4 para CMOS Rendimento do wafer Exemplo: Ache o die yield para dies de 0.7 cm e 1.0 cm, assumindo densidade de defeitos de 0.6 cm 2 -4 die yield (0.7 cm) = (1 + 0.6 * 0.49 / 4) = 0.75 die yield (1.0 cm) = (1 + 0.6 * 1.0 / 4)-4= 0.57 Somente 1010 dies dos 1347 devem funcionar Processadores Modernos Área Custo do Microprocessador (mm2) Pinos Tecnologia wafer Package Alpha 21264C 115 524 CMOS, 0.18u, 6M 4,700.00 CLGA Power3-II 163 1088 CMOS, 0.22u, 6M 4,000.00 SLC Itanium 300 418 CMOS, 0.18u, 6M 4,900.00 PAC MIPS R14000 204 527 CMOS, 0.25u, 4M 3,700.00 CPGA UltraSPARC III 210 1368 CMOS, 0.15u, 6M 5,200.00 FC-LGA Custo em um Sistema Sistema Subsistema Gabinete Placa do Processador Processador DRAM (128Mb) Vídeo Suporte de I/O e rede Subtotal Dispositivos de I/O Teclado e mouse Monitor Disco rígido (20 Gb) Disco DVD Subtotal Software OS + Office Suite Fração do Total 6% 22% 5% 5% 5% 37% 3% 19% 9% 6% 37% 20% Custos vs. Preço Custo dos componentes (47%) Custos diretos (10%) Garantia, defeitos, ... Margem bruta (custos indiretos) (19%) Manutenção, P&D, vendas, impostos, ... Preço final (desconto médio) (25%) Desconto para compras em volume