A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DAP.S98 1 DISCIPLINA: Arquiteturas e Redes de Computadores PARTE 1: Arquitetura Bibliografia Principal: John L. Hennessy & David A. Patterson – Computer.

Apresentações semelhantes


Apresentação em tema: "DAP.S98 1 DISCIPLINA: Arquiteturas e Redes de Computadores PARTE 1: Arquitetura Bibliografia Principal: John L. Hennessy & David A. Patterson – Computer."— Transcrição da apresentação:

1 DAP.S98 1 DISCIPLINA: Arquiteturas e Redes de Computadores PARTE 1: Arquitetura Bibliografia Principal: John L. Hennessy & David A. Patterson – Computer Architecture – A Quantitative Approach, 4th Ed., Morgan Kaufmann Publishers, USA, Tradução – Editora Campus Complementar: David A. Patterson & John L. Hennessy – Computer Organization & Design – The Hardware/Software Interface, 3rd Ed., Morgan Kaufmann Publishers, USA, Tradução – Editora Campus

2 DAP.S98 2 AVALIAÇÃO 1 prova de suficiência 1 prova no meio do semestre 1 prova no fim do semestre (o conceito final é a média com o conceito relativo à matéria de redes)

3 DAP.S98 3 Aula 1: Tecnologias, Medida de desempenho, Arquiteturas Básicas

4 DAP.S98 4 Os laptops de hoje são melhores que os supercomputadores de s: máquinas comerciais - mainframes & minicomputadores 1980s: computadores pessoais, mainframes maiores 1990s: laptop & handheld, supercomputadores usando microprocessadores 2000s: 3 segmentos dominantes desktop (com pequenas diversidades) servidores (moderadamente diferentes) móveis e embarcados (enorme diversidade)

5 DAP.S98 5 Quadro comparativo: Desktop, servidores, móveis e embarcados

6 DAP.S98 6 Tendências Tecnológicas (Resumo) Largura de banda latência Lógica2x em 3 anos1/2 em 3 anos DRAM4x em 3 anos1/2 em 10 anos Disco4x em 3 anos1/2 em 10 anos Largura de banda (bandwidth) ou throughtput é a quantidade total de trabalho feito em determinado tempo (ex. Megabytes por segundo). Latência, ou tempo de resposta, é o tempo entre o início e o fim de um evento como milisegundos para um acesso ao disco.

7 DAP.S98 7 Gráfico da melhora de largura de banda versus latência

8 DAP.S98 8 Evolução dos processadores Intel x86 (IA-32)

9 DAP.S98 9 Evolução da memória

10 DAP.S98 10 Evolução da tecnologia de redes

11 DAP.S98 11 Evolução da tecnologia de discos rígidos (magnéticos)

12 DAP.S98 12 Tendências na alimentação dos circuitos integrados A energia é dissipada em forma de calor e precisa ser removida Para os chips CMOS o consumo de energia tem sido na comutação de transistores (alimentação dinâmica): Logo a potência e a energia dinâmica são bastante diminuídas reduzindo-se a voltagem, logo as voltagens caíram de 5V a pouco mais de 1V em 20 anos.

13 DAP.S98 13 Exemplo Alguns microprocessadores são projetados para ter voltagem ajustável de modo que uma redução de 15% na voltagem pode resultar em uma redução de 15% na frequência. Qual seria o impacto sobre a potência dinâmica? Resposta: como a capacitância é inalterada, a resposta é a razão das voltagens e frequências: portanto a potência reduz para 60% da original.

14 DAP.S98 14 Custo de circuito integrado AMD Opteron Wafer de 300 mm contem 117 chips em um processo de 90 nm

15 DAP.S98 15 Custo de circuito integrado é um parâmetro que corresponde à medida de complexidade de fabricação. Para os processos CMOS em 2006, uma boa estimativa = 4.

16 DAP.S98 16 Evolução do desempenho de CPUs (tendências) dissipação pequeno paralelismo a ser explorado latência de memória crescimento apenas com a tecnologia de chips crescimento com a melhoria da arquitetura e organização

17 DAP.S98 17

18 DAP.S98 18 Tópicos de Arquitetura de Computadores Arquitetura de Instruções Pipeline, solução para conflitos, Superescalar, Reordenamento, Previsão, Especulação, Vetor, DSP Endereçamento, Proteção, Manipulação de exceção L1 Cache L2 Cache DRAM discos, fitas Coerência, Bandwidth, Latência Tecnologias emergentes Interleaving Protocolos de Dutos RAID VLSI Armazenamento e Entrada/Saída Hierarquia de Memória Paralelismo ao nível de instruções

19 DAP.S98 19 Tópicos de Arquitetura de Computadores M Rede de Interconexões S PMPMPMP ° ° ° Topologias, Roteamento, Bandwidth, Latência, Confiabilidade Interface de Rede Memória Compartilhada, Passagem de Mensagem Paralelismo de Dados Chaveamento -Processador-Memória Multiprocessadores, multicores, paralelismo ao nível de thread, paralelismo ao nível de dados, redes e Interconexões

20 DAP.S98 20 Desempenho (e Custo) Tempo para rodar uma tarefa (TempoEx) –Tempo de Execução, tempo de resposta, latência Tarefas por dia, hora, semana, segundo, ns … (Desempenho) –Throughput, bandwidth

21 DAP.S98 21 Desempenho (e Custo) "X é n vezes mais rápido que Y" significa TempoEx(Y) Desempenho(X) = TempoEx(X) Desempenho(Y) TempoEx = tempo de execução

22 DAP.S98 22 Lei de Amdahl Mostra como calcular o speedup devido a uma melhoria E: TempoEx sem E Desempenho com E Speedup(E) = = TempoEx com E Desempenho sem E TempoEx – tempo de execução Supor que a melhoria E acelera uma fração F da tarefa por um fator S, e que o restante da tarefa não seja afetada parte a melhorar

23 DAP.S98 23 Lei de Amdahl TempoEx novo = TempoEx velho x (1 - Fração melhorada ) + Fração melhorada Speedup global = TempoEx velho TempoEx novo Speedup melhorada = 1 (1 - Fração melhorada ) + Fração melhorada Speedup melhorada Speedup da fração melhorada

24 DAP.S98 24 Lei de Amdahl Instruções de ponto flutuante são melhoradas para rodar 2X mais rápido; mas apenas 10% das instruções são FP Speedup global = TempoEx novo =

25 DAP.S98 25 Lei de Amdahl Instruções de ponto flutuante são melhoradas para rodar 2X mais rápido; mas apenas 10% das instruções são FP Speedup global = =1.053 TempoEx novo = TempoEx velho x ( /2) = 0.95 x TempoEx velho

26 DAP.S98 26 Medidas de desempenho Compilador Linguagem de Programação Aplicação Fluxo de dados Controle TransistoresFiosPinos ISA Unidades funcionais (milhões) de Instruções por segundo: MIPS (milhões) de operações FP por segundo: MFLOP/s Ciclos por segundo (taxa de clock) Megabytes por segundo Respostas por mês Operações por segundo

27 DAP.S98 27 Cálculo do tempo de CPU (em segundos) Tempo CPU = Segundos = Instruções x Ciclos x Segundos Programa Programa Instrução Ciclo Tempo CPU = Segundos = Instruções x Ciclos x Segundos Programa Programa Instrução Ciclo Tempo em segundos para a execução do programa = Número de instruções do programa x Número de ciclos por instrução (CPI) x Tempo em segundos de um ciclo, ou período de um ciclo

28 DAP.S98 28 CPI - Ciclos Por Instrução médio Tempo CPU = Tempo Ciclo * CPI * I i = 1 n ii CPI = CPI * F onde F = I i = 1 n iii i Num. Instruções I i = número de instruções da classe i F i = fração de Instruções da classe i CPI = (Tempo CPU * Freqüência de Clock) / Num.Instruções = Num.Ciclos / Num.Instruções CPI - Ciclos por Instrução médio CPI i - Ciclos por Instrução da classe i

29 DAP.S98 29 Exemplo: Calcular CPI Mix Tipico Maquina Base OpFraçãoCPI i prod.(% Tempo) ALU0.51.5(33%) Load0.22.4(27%) Store (13%) Branch (27%) CPI =1.5

30 DAP.S98 30 BENCHMARKS - Programas para avaliação de desempenho Ex: SPEC - System Performance Evaluation Cooperative Primeiro turno em 1989 –10 programas produzindo um único número (SPECmarks) Segundo turno em 1992 –SPECInt92 (6 programas em inteiros) e SPECfp92 (14 programas em ponto flutuante) Terceiro turno em 1995 –Novo conjunto de programas: SPECint95 (8 programas em inteiros) e SPECfp95 (10 programas em ponto flutuante) Quarto e quinto turno em 2000 e 2006, atualizando o conjunto de programas anteriores

31 DAP.S98 31 SPEC CPU2006 CINT2006 para medir e comparar o desempenho de processamento de inteiros, e (http://www.spec.org/cpu2006/CINT2006/) CFP2006 para medir e comparar o desempenho de processamento ponto- flutuante. (http://www.spec.org/cpu2006/CFP2006/)

32 DAP.S98 32 Instruction Set Architecture (ISA) instruction set software hardware

33 DAP.S98 33 Evolução do conjunto de instruções Acumulador único (EDSAC 1950) Acumulador + Regs. Indice (Manchester Mark I, IBM 700 series 1953) Separação do Modelo de Programação da Implementação Baseado na linguagem de alto-nívelConceito de família (B )(IBM ) Máquinas com Registradores de Propósito Geral Conjunto Complexo de InstruçõesArquitetura Load/Store RISC (Vax, Intel ) (CDC 6600, Cray ) (Mips,Sparc,HP-PA,IBM RS6000, )

34 DAP.S98 34 Evolução do conjunto de Instruções Os avanços importantes na arquitetura de computadores são tipicamente associados aos marcos no projeto do conjunto de instruções –Ex: Pilhas vs Registradores de Uso Geral (System 360) As decisões de projeto devem levar em conta: –Tecnologia –Organização de máquina –Linguagens de programação –Tecnologia de compilador –Sistemas operacionais E essas decisões, por seu lado, os influenciam

35 DAP.S98 35 Tipos de arquiteturas do conjunto de instruções quanto ao uso de operandos em instruções aritméticas a) pilha b) acumulador c) registrador-memória d) registrador-registrador

36 DAP.S98 36 PILHA PROCESSADOR MEMÓRIA pilha Operandos são elementos de uma pilha

37 DAP.S98 37 ACUMULADOR MEMÓRIA PROCESSADOR acumulador memória O operando implícito é o conteúdo do acumulador. O operand explícito é um elemento de memória

38 DAP.S98 38 REGISTRADOR-MEMÓRIA PROCESSADOR MEMÓRIA registrador memória operandos Os operandos podem ser de registradores ou de memória

39 DAP.S98 39 REGISTRADOR-REGISTRADOR (LOAD-STORE) PROCESSADOR MEMÓRIA Operandos load store registrador Os operandos são de registradores

40 DAP.S98 40 Número de operandos de memória Operandos de memória em instruções aritméticas típicas Máximo de operandos em instruções aritméticas Exemplos IBM RT-PC SPARC, MIPS, HP-PA, Power- PC, ALPHA PDP-10, M6800, IBM360, INTEL 80X86 IBM360RS PDP-11, National 32x32, IBM- 360SS, VAX NEC S1 33VAX (m,n) onde m = operando de memória, n = total de operandos

41 DAP.S98 41 RISC puro Vantagens: codificação de instrução simples de comprimento fixo decodificação simples desde que haja poucos tipos de instrução modelo simples de geração de código CPI de instruções tendem a ser uniforme exceto para instruções de memória mas existem apenas: load e store Desvantagens: número de instruções num programa tende a ser alto algumas instruções são curtas – perdendo bits de instrução (0,3) Registrador-Registrador

42 DAP.S98 42 Risc evoluído e também CISC antigo novas máquinas RISC capazes de realizar loads especulativos Instruções de ALU Registrador – Memória Vantagens: acesso de dados de memória, sem instrução de carga anterior formato de instrução é relativamente simples densidade de código é melhorado sobre o modelo (0,3) Desvantagens: operandos não são equivalentes – operando fonte pode ser destruído a necessidade de campo de endereço de memória pode limitar o número de registradores CPI varia (se a palavra de memória estiver no cache L0, não tão ruim) (1,2) Registrador-Memória

43 DAP.S98 43 Modelo de CISC complexo atualmente ( e provavelmente para sempre) extinto ações mais complexas de memórias são possíveis, mas não diretamente ligadas à ALU Vantagens: mais compacto não usa registradores para valores temporários ( boa idéia para dados como streaming media) Desvantagens: grande variação no tamanho de instrução grande variação no CPI agrava o gargalo de memória (3,3) Memória-Memória

44 DAP.S98 44 Modos de endereçamento Um aspecto importante para o projeto de um ISA tem impacto na complexidade do hardware (HW) a complexidade do HW afeta o CPI e o tempo de ciclo endereço usado = endereço efetivo endereço efetivo pode ser para a memória ou registradores - tipicamente dependente da posição na instrução - em alguns modos, múltiplos campos são combinados - endereçamento de registradores são mais simples

45 DAP.S98 45 Modos típicos de endereçamento modoexemplosignificadouso registradorAdd R4,R3 Regs[R4] Regs[R4] + Regs[R3] Todas as operações de ALU RISC imediatoAdd R4,#3 Regs[R4] Regs[R4] + 3 Para pequenas constanes deslocamentoAdd R4, 100(R1) Regs[R4] Regs[R4] + Mem[100+Regs[R1]] Para acesso a variáveis locais Indireto por registrador Add R4, (R1) Regs[R4] Regs[R4] + Mem[Regs[R1]] apontadores IndexadoAdd R3, (R1+R2) Regs[R3] Regs[R3] + Mem[Regs[R1]+Regs[R2]] Acesso a vetores: R1 é a base e R2 o índice Direto ou absoluto Add R1, (1001) Regs[R1] Regs[R1] + Mem[1001]

46 DAP.S98 46 Modos típicos de endereçamento (cont.) modoexemplosignificadouso Indireto por memória Add Regs[R1] Regs[R1] + Mem[Mem[ Regs[3]]] autoincrementoAdd R1,(R2)+ Regs[R1] Regs[R1] + Mem[Regs[R2]]; Regs[R2] Regs[R2]+d Acesso a vetores autodecrementoAdd R1,-(R2) Regs[R2] Regs[R2] – d; Regs[R1] Regs[R1] + Mem[Regs[R2]] Acesso a vetores escaladoAdd R1,100(R2)[R3] Regs[R1] Regs[R1] + Mem[100+Regs[R2]+ Regs[R3]*d] Acesso a vetores

47 DAP.S98 47 Benchmark mostra a importância de cada modo

48 DAP.S98 48 Porcentagem de uso de operandos imediatos

49 DAP.S98 49 Tamanho dos operandos no SPEC2000

50 DAP.S98 50 Uso de instruções na arquitetura x86 em 5 códigos SpecInt92

51 DAP.S98 51 Conclusão: atualmente predominam as máquinas do tipo registrador-memória Motivo: de certa forma, responsabilidade da IBM Fabricante dominante nessa fase do campeonato Existem muitas técnicas de compilação Provavelmente é a escolha certa Software tem mais tempo de vida que hardware Softwares existem a décadas Hardware é substituído a cada 2 a 4 anos Tecnologia de compilações é importante Atualmente está bem avançado para máquinas registrador-memória


Carregar ppt "DAP.S98 1 DISCIPLINA: Arquiteturas e Redes de Computadores PARTE 1: Arquitetura Bibliografia Principal: John L. Hennessy & David A. Patterson – Computer."

Apresentações semelhantes


Anúncios Google