Arquitetura Avançada de Computadores
Download
1 / 121

Arquitetura Avançada de Computadores - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

Arquitetura Avançada de Computadores. Prof. Felipe Ferreira de Oliveira [email protected] PGD - EMENTA.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Arquitetura Avançada de Computadores' - kirestin-adkins


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Arquitetura Avançada de Computadores

  • Prof. Felipe Ferreira de Oliveira

  • [email protected]


PGD - EMENTA

  • Introdução a arquitetura de Computadores; Pipelining; Paralelismo a nivel de instrução; Multiprocessadores; Paralelismo a nível de thread; Hierarquia de Memória; Sistemas de armazenamento; Tendências atuais; Hardware reconfigurável;


PGD - OBJETIVOS

  • Apresentar aos alunos conceitos avançados de arquitetura e organização de computadores de modo a aprofundar o conhecimento já estabelecido, principalmente nas tecnologias mais recentes.


PGD – CONTEÚDO PROGRAMÁTICO

  • Introdução a arquitetura de Computadores

    • Introdução

    • Tipos de Computadores

    • Tendências

    • Análises quantitativas

  • Pipelining

    • Introdução

    • Pipeline Hazards

    • Como o pipeline é implementado?


PGD – CONTEÚDO PROGRAMÁTICO

  • Paralelismo a nível de instrução

    • Conceitos

    • Técnicas de compilador

    • Redução de custos com predição

    • Agendamento dinâmico

    • Especulação baseada em Hardware

  • Limites de paralelismo a nivel de instrução

    • Introdução

    • Estudo das limitações

    • Especulação de hardware x software

    • Multithreading


PGD – CONTEÚDO PROGRAMÁTICO

  • Multiprocessadores e paralelismo a nível de threads

    • Introdução

    • Arquitetura de memória compartilhada

    • Memória compartilhada distribuída

    • Sincronização

    • Consistência de dados

  • Hierarquia de memória

    • Introdução

    • Otimização de memória cache

    • Proteção: Memória virtual e Máquinas virtuais


PGD – CONTEÚDO PROGRAMÁTICO

  • Sistemas de armazenamento

    • Introdução

    • Tópicos avançados em armazenamento em disco

    • Definições e exemplos de possíveis problemas

    • Estatísticas de perfomance de dispositivos de I/O

  • Tendências atuais e Hardware reconfiguráveis


PGD – Metodologia e Avaliações

  • Aulas Expositivas através de slides

  • Provas escritas

  • Trabalhos e Seminários


PGD - BIBLIOGRAFIA

  • Computer Architecture – a quatitative aproach. John L. Hennessy and David A. Patterson. 4ª ed.

  • Arquitetura e Organização de Computadores. William Stalling. 5ª ed.

  • Organização Estruturada de Computadores. Andrew S. Tanenbaum. 5ª ed.

  • Internet

  • Textos distribuídos pelo professor


Introdução

  • Aumentando-se a velocidade do clock, aumenta-se o desempenho do sistema

  • Einsten definiu o limite de velocidade (c=3x10^8 m/s). No fio de cobre o elétron viaja com velocidade igual a (2/3) * c

  • Velocidade do elétron em um fio de cobre é de aproximadamente 20 cm/ns


Introdução

  • Gargalo de von Neumann

    • A estrutura tradicional de um computador com uma única CPU que envia requisições sequenciais através de um barramento para uma memória que responde uma requisição por vez tornou-se conhecida como gargalo de von Neumann.


Introdução

  • Novas aplicações foram surgindo, exigindo cada vez mais desempenho dos sistemas de computadores. Como aumentar o desempenho, considerando que incremento via hardware já está saturado?

  • PARALELISMO !!!!!!


Introdução

  • Paralelismo

    • Processadores

    • Memória

    • Computadores

    • Instruções (pipeline)

    • Cache

    • ULAs


Introdução

  • Níveis de paralelismo

    • Paralelismo a nivel de instrução

    • Várias linhas de execução em um mesmo processador

    • Várias linhas de execução em diferentes processadores (dual, quad core)

    • Computadores paralelos interconectados com redes de alta velocidade

    • Cluster de Computadores

    • Computadores na internet


Conceitos

  • Granularidade

    • Alta granularidade: execução de grandes porções de software em paralelo com pouca ou nenhuma comunicação entre elas

    • Baixa granularidade: partes do computador trabalham juntas para resolver mesmo problema


Conceitos

  • Acoplamento

    • Fracamente acoplado: Sistemas com um número pequeno de CPUs grandes independentes que possuem conexões de baixa velocidade entre as CPUs

    • Fortemente acoplado: Componentes geralmente pequenos, muito próximos e frequentemente se interagem através de redes de comunicação de alta velocidade

      Geralmente um sistema fracamente acoplado (hardware) é de alta granularidade (software) e vice-versa


Conceitos

  • SISD (Single Instruction Single Data): Um único processador executa uma única sequencia de instruções, usando dados armazenados em uma única memória. Sistemas uniprocessadores.

  • SIMD (Single Instrucion Multiple Data): Uma única instrução de máquina controla a execução simultânea de um certo número de elementos de processamento em passo de execução. Cada instrução é executada sobre um conjunto de dados diferentes. Processadores matriciais e vetoriais.


Conceitos

  • MISD (Multiple Instruction Single Data): uma sequencia de dados é transmitida para um conjunto de processadores, cada um dos quais executa uma sequencia de instruções diferentes. Não existe.

  • MIMD (Multiple Instruction Multiple Data): um conjunto de processadores executa simultaneamente sequencias diferentes de instruções, sobre conjunto de dados distintos. Os SMPs, clusters e sistemas NUMA.







Fundamentos de Arquitetura de Computador

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores


Introdução

  • Incremento exponencial em desempenho de computadores

  • $500 hoje = $1.000.000 em 1985

  • Primeiros 25 anos, crescimento de 25% ao ano

  • Anos 70, crescimento de 35% ao ano graças ao microprocessador / circuito integrado

  • Sucesso comercial dos computadores devido surgimento de linguagens de alto nível (até então era assembly) e introdução de sistemas operacionais independentes como o UNIX, diminuindo custo.


Introdução

  • O fato de UNIX ser independente do fabricante do hardware obrigou maior padronização por hardware. Propiciando o surgimento de máquinas RISC. Com isso foca-se em dois ítens críticos de desempenho.

    • Paralelismo a nível de instrução

    • Memórias cache



Introdução

  • Aumento significativo no desempenho dos computadores pessoais (52%)

  • Garantiu a supremacia dos microcomputadores baseados em um único processador (PCs). Minicomputadores foram substituidos por microcomputadores, Mainframes e até supercomputadores foram substituidos pela união de microcomputadores.

  • A arquitetura de computares, portanto precisa se adequar as novas tendências


Introdução

  • A partir de 2002, incremento foi de 20% ao ano devido:

    • Superaquecimento, necessidade de ventilação

    • Saturação do paralelismo a nivel de instrução

    • Saturação da velocidade da memória

  • Intel em 2004 anunciou que abandonou o projeto de novo processador mais veloz e passou a garantir maior perfomance através de múltiplos processadores por chip.


Introdução

  • Portanto, as novas arquiteturas deixaram de focar em paralelismo a nível de instrução (ILP) para focar em paralelismo a nível de thread (TLP) e paralelismo a nível de dados (DLP)

  • Atualmente o ILP é feito implicitamente, de modo transparente ao programador, diferentemente do TLP e DLP, onde o programador necessita explicitar.


Fundamentos de Arquitetura de Computador

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores


Tipos de computadores
Tipos de Computadores

  • Nos anos 60, os mais populares eram mainframes enormes, custando milhões de dólares, armazenados em uma sala e administrado por operadores. Basicamente para dados de empresas financeiras e computação científica.

  • Nos anos 70 surge o minicomputador focado para aplicações científicas. Múltiplos usuários usavam-no através de terminais. Processamento compartilhado no tempo. Também surge os supercomputadores para aplicações científicas (mais raros, mas importantes).


Tipos de computadores1
Tipos de Computadores

  • Nos anos 80, surgiu o microcomputador servindo como computador pessoal e workstations. Começa a decair o uso de sistemas em tempo compartilhado que é substituído por servidores (maior estabilidade, maior poder de processamento, maior memória).

  • Nos anos 90 surge a internet e o worl wide web, os primeiros computadores pessoais de mão e consumidores de produtos eletrônicos de alto desempenho. A popularidade dos celulares permitiu o surgimento de computadores embarcados.


Tipos de computadores2
Tipos de Computadores

  • Estas alterações no uso do computador levaram a três diferentes mercados de computação, cada um caracterizado por diferentes aplicações, requisitos e tecnologias de computação.

  • No ano de 2005, venderam-se 3 bilhões de processadores embarcados, 200 milhões de desktops e 10 milhões de servidores.


Tipos de computadores3
Tipos de Computadores

  • Desktop

  • Servidores

  • Embarcados


Tipos de computadores desktop
Tipos de Computadores - DESKTOP

  • Ainda o mercado mais rentável da informática

  • O consumidor tende a “olhar” para o custo-benefício em termos de desempenho.

  • Os novos processadores de alto desempenho e baixo custo são lançados no modelo DESKTOP

  • A diversidade de programas tende a ser um paradigma na arquitetura. E o aumento de aplicações voltadas para a web tendem a se mudar os critérios de análise de desempenho.


Tipos de computadores servidores
Tipos de Computadores - SERVIDORES

  • Com a guinada para sistemas desktop, o papel de servidores cresceu para fornecer maior escalabilidade e mais confiabilidade aos arquivos e serviços de informática.

  • O WWW acelerou essa tendência

  • Tais servidores se tornaram a espinha dorsal da computação empresarial de grande escala, substituindo os tradicionais mainframes


Tipos de computadores servidores1
Tipos de Computadores - SERVIDORES

  • CONFIABILIDADE !!!!!!!!


Tipos de computadores servidores2
Tipos de Computadores - SERVIDORES

  • ESCALABILIDADE

  • Servidores, muitas vezes, precisam crescer em resposta uma demanda maior de seus serviços. Assim, a capacidade de escalabilidade de poder de processamento, de memória, armazenamento e de I/O é crucial


Tipos de computadores servidores3
Tipos de Computadores - SERVIDORES

  • DESEMPENHO

  • Responder a um usuário é importante, mas mais importante é responder a diversos usuários simultaneamente de modo a manter boa qualidade.

  • Pode-se medir o desempenho através do número de requisições que consegue servir em um segundo.


Tipos de computadores servidores4
Tipos de Computadores - SERVIDORES

  • Supercomputadores. Eles são os computadores mais caros, custando dezenas de milhões de dólares, e eles enfatizam desempenho de pontos flutuantes.

  • Clusters vêm crescendo imensamente.

  • O número de supercomputadores está diminuindo, assim como as empresas que o usam


Tipos de computadores embarcados
Tipos de Computadores - EMBARCADOS

  • São os que crescem a taxas mais altas no mercado

  • Exemplos: geladeira, máquina de lavar, microondas, switches, carros, celulares, PDAs, video-games, DVD, TV, etc.

  • São processadores de 8 ou 16 bits que custam menos de $0,10, processadores de 32 bits que fazem 100 milhões de operações por segundo que custam menos de $5,00 e processadores de ponta que fazem 100 billhões de operações por segundo por $100


Tipos de computadores embarcados1
Tipos de Computadores - EMBARCADOS

  • A meta principal dos sistemas embarcados é o PREÇO MÍNIMO possível. O desempenho não é tão essencial.

  • Deve-se atentar para diversos sistemas onde o processamento deve ser em tempo real. O usuário não pode solicitar serviços que não possam ser fornecidos.


Tipos de computadores embarcados2
Tipos de Computadores - EMBARCADOS

  • MINIATURIZAÇÃO DE MEMÓRIA

    • Memória interna ao chip ou externa

  • EFICIÊNCIA ENERGÉTICA

  • Balanceamento

    • eficiência energética x tamanho de memória


Fundamentos de Arquitetura de Computador

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores


Defini o da arquitetura do computador
Definição da Arquitetura do Computador

  • A tarefa do designer de arquitetura de computador é complexo: determinar que atributos são importantes para um novo computador e projetá-lo de modo a maximizar desempenho considerando custos, poder e limitações de disponibilidade.

  • Precisa-se definir o conjunto de instruções, organização funcional, projeto lógico e implementação. Deve-se atentar ainda para design de circuito, invólucro, energia e refrigeração.


Defini o da arquitetura do computador conjunto de instru es
Definição da Arquitetura do Computador – Conjunto de Instruções

  • Instruction Set Architecture (ISA). ISA serve de fronteira entre hardware e software

  • Tipos de ISA: Alocados em registradores de uso geral e operandos em registradores ou memória externa. Acesso a memória através de load-store. Fig 1.4.

  • Endereçamento de memória: Todos os computadores, incluindo 80x86 e MIPS,usam endereçamento por byte. No MIPS necessita-se fornecer o alinhamento.



Defini o da arquitetura do computador conjunto de instru es2
Definição da Arquitetura do Computador – Conjunto de Instruções

  • Modos de Endereçamento: Especifica o endereço na memória do objeto. MIPS usa o registro (reg1 := reg2 * reg3; ), direto para constantes (reg1 := reg2 + constant; ) e deslocamento (reg := RAM[base + offset]). O 80x86 usa os mesmos e mais três variações do deslocamento:

    • Offset = 0, ou absoluto

    • Dois registros, base é indexada com deslocamento

    • Dois registros, onde um registro é multiplicado pelo tamanho do operando


Defini o da arquitetura do computador conjunto de instru es3
Definição da Arquitetura do Computador – Conjunto de Instruções

  • Tipos e tamanhos dos operandos: MIPS and 80x86 suporta operandos de:

    • 8 bits (código ASCII)

    • 16 bits (Caracter Unicode ou half word)

    • 32 bits (inteiro ou word)

    • Temos ainda a representação em número em ponto flutuante com 32 ou 64 bits. O 80x86 ainda permite 80 bits para ponto flutuante.


Defini o da arquitetura do computador conjunto de instru es4
Definição da Arquitetura do Computador – Conjunto de Instruções

  • Operações: tranferência de dados, aritmético e lógico, controle e ponto flutuante. Ver Fig 1.5 na página 40.

  • Instruções de Controle de Fluxo: desvios condicionais, desvios incondicionais, chamada de procedimento e retorno.

  • Codificação de ISA: Pode ser de tamanho fixo ou variável. Todas as instruções MIPS tem 32 bits. O 80x86 tem tamanho variável entre 1 e 18 bytes. Quando codificado para representação binária ocorrerá grandes diferenças. Fig 1.6.



Defini o da arquitetura do computador conjunto de instru es6
Definição da Arquitetura do Computador – Conjunto de Instruções

  • opcode: código da operação a ser efetuada

  • rs, rt e rd: registradores

  • shamt: deslocamento do registradore

  • funct: variação da operação dita no opcode

  • Immediate: endereço de memória


A concep o da organiza o e hardware para atingir as metas e requisitos funcionais

Hardware Instruções

Especificações do Computador

Lógica interna

Tecnologia embutida

Pentium 4 X Mobile Pentium 4  Quase mesma organização, porém diferente clock e sistema de memória.

A concepção da organização e hardware para atingir as metas e requisitos funcionais

  • Organização

    • Aspectos de alto nível

    • Sistema de memória

    • Interconexão entre memória

    • Arquitetura interna da CPU

      AMD Opteron 64 X Intel Pentium 4  Mesmo ISA, porém organização diferente (pipeline e organização da cache)


Fundamentos de arquitetura de computadores
Fundamentos de Arquitetura de Computadores Instruções

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia


Tend ncias da tecnologia
Tendências da Tecnologia Instruções

  • Se uma ISA (Instruction Set Architecture) atinge o sucesso, ela deve ser feita de modo a sobreviver a rápidas mudanças de tecnologia.

  • A ISA do processador do mainframe da IBM durou 40 anos. Um arquiteto de computadores, portanto, deve planejar de modo a aumentar a vida útil do seu projeto.

  • Um projeto de sistema de computador demora 5 anos para entrar no mercado (2 anos de design e 3 anos de produção)


Tend ncias da tecnologia1
Tendências da Tecnologia Instruções

  • Quatro tecnologias são críticas para implementação modernas:

  • Tecnologia de Circuito Lógico Integrado: aumento de densidade (35%), diminuição de tamanho (10-20%)

  • Semicondutor DRAM (Dynamic random-access memory): aumento da capacidade (40%)

  • Tecnologia de Disco Magnético: aumento de densidade (30%)

  • Tecnologia de Rede: depende de switches e das tecnologias de transmissão


Tend ncias da tecnologia2
Tendências da Tecnologia Instruções

  • Bandwidth ou throughput ou Largura de banda é a quantidade de trabalho feito em determinado tempo (megabytes por segundo em tranferência de dados por disco)

  • Latência ou tempo de resposta é o tempo entre o início e o fim de um evento (milisegundo para disco).



Tend ncias de tecnologia1
Tendências de tecnologia Instruções

  • Um CI (fios e transistores) cada vez estão menores. Decremento linear causa aumento de densidade quadrática.

  • A diminuição de tamanho dos transistores e fios reduz a tensão necessária e melhor o desempenho dos transistores, porém piora o desempenho dos fios,dificultando a propagação do sinal (latência).


Fundamentos de arquitetura de computadores1
Fundamentos de Arquitetura de Computadores Instruções

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia

    • Tendências em Energia de CI


Tend ncias em energia de ci
Tendências em Energia de CI Instruções

  • A energia é levada para dentro do chip e distribuído internamente.

  • Modernos microprocessadores contém centenas de pontos e várias camadas de interconexão.

  • É gerado calor que deve ser dissipado


Tend ncias em energia de ci1
Tendências em Energia de CI Instruções

  • Em chips CMOS, a maior parte do consumo de energia se dá no chaveamento feito pelo transistor.

  • Potência Dinâmica (Watts) = ½ * Carga Capacitiva * Voltagem^2 * Freqüência de chaveamento

  • Energia Dinâmica (Joules) = Carga Capacitiva * Voltagem^2

  • Voltagem diminuiu no decorrer dos anos

  • A carga capacitiva é uma função do número de transistores conectados a uma saída e a tecnologia.


Tend ncias em energia de ci2
Tendências em Energia de CI Instruções

  • Diminuição do CLOCK diminuiu a potência, mas não diminui a energia (para uma mesma tarefa). Para cálculo de vida de bateria, se considera energia.

  • EXEMPLO: -15% V e -15% f


Tend ncias em energia de ci3
Tendências em Energia de CI Instruções

  • Os primeiros microprocessadores dissipavam dezenas de watts

  • O Pentium 4 extreme edition 3.2GHz consome 135 Watts. Portanto, estamos atingindo o limite de temperatura que pode ser dissipada por ar.

  • Vários chips Intel possuem diodos de temperatura que diminuem a atividade do processador quando é atingida determinada temperatura. Diminuição de tensão, freqüência de clock.


Tend ncia em energia de ci
Tendência em Energia de CI Instruções

  • Potência é o maior fator limitante do uso de transistores.

  • A maioria dos processadores inativam o clock de módulos para economizar energia e potência

  • Apesar de potência dinâmica ser mais crítico, cada vez mais a potência estática torna-se cada vez mais crítico, devido aumento no número de transistores e consequente aumento na corrente de fuga.


Fundamentos de arquitetura de computadores2
Fundamentos de Arquitetura de Computadores Instruções

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia

    • Tendências em Energia de CI

    • Tendências em Custo


Tend ncias em custo
Tendências em Custo Instruções

  • Objetiva-se aqui discriminar os custos dos componentes de um sistema e detectar tendências.

  • O princípio que guia os custos é a curva de tecnologia que é a performance. Memórias DRAM barateiam 40% ao ano, na mesma proporção que aumenta o desempenho.

  • Outro fator é o volume do produto no mercado. Devido aumento de produtividade e de acumulo de experiência na produção (tecnologia).


Tend ncias em custo1
Tendências em Custo Instruções

  • O mercado de informática funciona como commodity. DRAMs, HDs, monitores, teclados, etc... Todos são padronizados e encontrados similares em qualquer canto e feito por qualquer fabricante. Nos últimos anos, muitos computadores pessoais viraram commodity focado em vender desktop e laptop com sistema microsoft windows.

  • Como todos os vendedores vendem praticamente a mesma coisa, a competição é altíssima, o que diminui as margens de lucro. Fora o fato da demanda ser altíssima.


Tend ncias em custo2
Tendências em Custo Instruções

  • O circuito integrado possui o seu custo relativo ascendente.

  • Die=molde(processador), wafer=pastilha, yeld=rendimento


Tend ncias em custo3
Tendências em Custo Instruções


Tend ncias em custo4
Tendências em Custo Instruções


Tend ncias em custo5
Tendências em Custo Instruções


Tend ncias em custo6
Tendências em Custo Instruções

  • Tipicamente, alfa=4 (tecnologia de produção ou curva de aprendizagem). Em 2006 havia uma média de 0.4 cm^2. Considere Wafer yeld=100%


Tend ncias em custo7
Tendências em Custo Instruções

  • A maioria dos microprocessadores modernos de 32 e 64 bits possuem tamanhos entre 1 cm e 1,5 cm.

  • Sistemas embarcados, possuem processadores entre 0.25 cm^2 e 0,1 cm^2

  • $$$$$$$$$$$$$$$$$$$$

  • Wafer de 300mm de diâmetro = $5000-6000 (2006)

  • Se wafer=%5500, o custo de um die de 1cm^2 é de $13 e o de um de 2,25cm^2 é de $46


Tend ncias em custo8
Tendências em Custo Instruções

  • O die precisa ser testado, encapsulado, e novamente testado.

  • Mask set é um processo fixo de produção de chips que é em torno de 1 milhão de doláres. Quanto menos chips produzidos, maior o custo relativo. Consistem em sobrepor camadas de metal.

  • Portanto, precisamos atentar para o cuso benefício, já que maiores processadores implicam em maiores custos.


Fundamentos de arquitetura de computadores3
Fundamentos de Arquitetura de Computadores Instruções

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia

    • Tendências em Energia de CI

    • Tendências em Custo

    • Confiabilidade


Confiabilidade
Confiabilidade Instruções

  • Historicamente, o CI é o elemento mais confiável em sistema de computador. Pinos e comunicação são mais suceptíveis a falhas e a parte interna com erros baixíssimos.

  • Essa convenção está mudando a medida que diminuímos os elementos abaixo de 65 nanômetros. A tendência é igualar os erros transitórios e permanentes.


Confiabilidade1
Confiabilidade Instruções

  • A confiabilidade tornou-se crítica com a popularização dos serviços de internet. Provedores fornecem Service Level Agreements (SLA) ou Service Level Objectives (SLO) para garantir confiabilidade. Dois estados de acordo com a SLA:

    • 1. Service accomplishment (realizado), aonde o serviço é realizado conforme especificado

    • 2. Service interruption (interrupção), aonde o serviço é diferente do SLA

  • Transição entre os estados ocorrem devido a falhas (2 para 1) e devido a restaurações (1 para 2).


Confiabilidade2
Confiabilidade Instruções

  • Quantificação das transições

  • Module reliability (Confiança): medida do tempo contínuo de serviço realizado

  • Module availability (Disponibilidade): medida do serviço realizado em relação a falhas de acordo com a frequência de transições.

  • Unidades:

    • MTTF (tempo médio para falha)

    • MTTR (tempo médio para reparo)

    • FIT (falhas por tempo)


Confiabilidade3
Confiabilidade Instruções


Confiabilidade4
Confiabilidade Instruções

  • O que fazer para garantir maior confiabilidade? Rendundância!!!!

    • Tempo: repetir a operação para ver se o erro persiste

    • Recursos: ter outros dispositivos em caso de um falhar

  • No exemplo anterior, vamos calcular os novos parâmetros quando duplicamos a fonte de energia.


Confiabilidade5
Confiabilidade Instruções

  • Portanto, ao fazermos redundância, teremos uma fonte 830.000.000/200.000=4150 vezes mais confiável


Fundamentos de arquitetura de computadores4
Fundamentos de Arquitetura de Computadores Instruções

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia

    • Tendências em Energia de CI

    • Tendências em Custo

    • Confiabilidade

    • Medição, relatórios e resumindo o desempenho


Medi o relat rios e resumindo o desempenho
Medição, relatórios e resumindo o desempenho Instruções

  • “Meu computador é mais rápido que o seu!” O que isso significa?

  • Para um usuário desktop significa que demora menos tempo para executar determinada tarefa

  • Para o servidor da Amazon.com diz respeito ao número de transações por hora.

  • Portanto, um usuário almeja a redução de tempo de resposta ou tempo de execução. Um administrador de grandes sistemas almeja aumentar o throughput (trabalho feito sobre tempo).


Medi o relat rios e resumindo o desempenho1
Medição, relatórios e resumindo o desempenho Instruções

  • “O throughput d X é 1.3 vezes maior que Y.” Logo, X faz 1.3 tarefas enquanto Y faz 1.


Medi o relat rios e resumindo o desempenho2
Medição, relatórios e resumindo o desempenho Instruções

  • Não se deve atentar apenas para velocidade dos dispositivos. A única medida consistente e confiável de desempenho é o tempo de execução de programas reais. Com a multiprogramação, o processador trabalha em outro programa enquanto espera por E/S e não necessariamente minimiza o tempo de resposta de um programa.

  • O conceito mais elementar de tempo é chamada wall-clock time, tempo de resposta, ou tempo decorrido. Corresponde ao tempo de executar uma tarefa considerando acesso a discos, acesso a memória, atividades de E/S, desempenho de sistema operacional.


Medi o relat rios e resumindo o desempenho3
Medição, relatórios e resumindo o desempenho Instruções

  • Como avaliar o desempenho de um computador? Uma medida simples consiste em considerar um usuário que costuma executar sempre os mesmos programas e começar a mensurar a resposta do sistema para esses processos do usuário.

  • Deve-se, porém contar com outros métodos para medição de desempenho de um computador.


Medi o relat rios e resumindo o desempenho4
Medição, relatórios e resumindo o desempenho Instruções

  • Benchmark

  • Em computação, benchmark é o ato de executar um programa de computador, um conjunto de programas ou outras operações, a fim de avaliar a performance relativa de um objeto, normalmente executando uma série de testes padrões e ensaios nele. (wikipedia)


Medi o relat rios e resumindo o desempenho5
Medição, relatórios e resumindo o desempenho Instruções

  • Benchmark

  • A melhor forma é através de programas reais. Existem outros métodos que tentam facilitar...

    • Kernels

    • Programas simples

    • Benchmark sintéticos

  • Porém, não são ideais, pois o programador pode conspirar para que o resultado de determinado sistema seja superior ou inferior.


Medi o relat rios e resumindo o desempenho6
Medição, relatórios e resumindo o desempenho Instruções

  • Benchmark

  • Existem, portanto, coleções de aplicações benchmark, chamados de benchmark suites. Contém inúmeros programas diferentes de modo a garantir uma análise baseada em cada caso. Cada programa terá características diferentes.


Medi o relat rios e resumindo o desempenho7
Medição, relatórios e resumindo o desempenho Instruções

  • Benchmark

  • EDN Embedded Microprocessor Benchmark Consortium é uma ferramenta com 41 kernels usados para analisar a performance de diferentes computadores embarcados. Conseguem apontar zonas onde não há melhoria e onde há grande melhoria de dezempenho. Utiliza o Dhrystone como programa sintético.


Medi o relat rios e resumindo o desempenho8
Medição, relatórios e resumindo o desempenho Instruções

  • Benchmark

  • Uma das tentativas mais bem sucedidas para criar aplicativos de referência padronizada tem sido o SPEC (Standard Performance Evaluation Corporation). Surgiu nos anos 80 para medir desempenho de workstations. Existem hoje benchmarks SPEC capazes de cobrir diferentes tipos de aplicação.

  • www.spec.org


Medi o relat rios e resumindo o desempenho9
Medição, relatórios e resumindo o desempenho Instruções

  • Desktop Benchmark

  • Benchmarks de processamento intensivo

  • Benchmarks de gráfico intensivo

  • Convêm salientar, porém, que muitos de gráfico intensivo também são de processamento intensivo.

  • SPEC benchmarks são programas reais modificados para serem portáteis e para minimizar o efeito de E/S no desempenho



Medi o relat rios e resumindo o desempenho11
Medição, relatórios e resumindo o desempenho Instruções

  • Desktop Benchmark

  • O


Medi o relat rios e resumindo o desempenho12
Medição, relatórios e resumindo o desempenho Instruções

  • Servidor Benchmark

  • Como cada servidor tem uma aplicação específica, existirá também diversos tipos de benchmarks.

  • O modo mais simples de medição consiste no benchmark orientado a throughput de processador. Deve haver um benchmark para cada processador.


Medi o relat rios e resumindo o desempenho13
Medição, relatórios e resumindo o desempenho Instruções

  • Servidor Benchmark

  • Como muitos servidores mantém trafego intenso com rede e/ou periféricos (ex: hd). Portanto, existirá um benchmark SPEC para cada serviço. SPECSFS para serviço de servidor de arquivo, SPECWeb para servidor web.


Medi o relat rios e resumindo o desempenho14
Medição, relatórios e resumindo o desempenho Instruções

  • Servidor Benchmark

  • Processamento de transações (TP) benchmarks mede a capacidade de um sistema de lidar com as operações, que consistem em acessos de dados e atualizações. Intenso tráfego com banco de dados. Exemplos: Reserva de passagem aérea, transações bancárias. Dado em transações por tempo.

  • Nos anos 80 surgiu o Transaction Processing Council (TPC) que busca um benchmark voltado para TP. (www.tpc.org)


Medi o relat rios e resumindo o desempenho15
Medição, relatórios e resumindo o desempenho Instruções

  • Benchmark

  • Para um relatório completo constado o desempenho deve ser considerado também o custo do sistema, para que se considere o custo/desempenho.

  • Na prática de projeto de um computador, deve-se avaliar uma míriade de opções para se quantificar os benefícios relativos através de um conjunto de parâmetros relevantes.


Medi o relat rios e resumindo o desempenho16
Medição, relatórios e resumindo o desempenho Instruções

  • Servidor Benchmark

  • O


Fundamentos de arquitetura de computadores5
Fundamentos de Arquitetura de Computadores Instruções

  • SUMÁRIO

    • Introdução

    • Tipos de computadores

    • Definindo uma arquitetura de computadores

    • Tendências de tecnologia

    • Tendências em Energia de CI

    • Tendências em Custo

    • Confiabilidade

    • Medição, relatórios e resumindo o desempenho

    • Princípios quantitativos de um projeto de computador


Princ pios quantitativos de um projeto de computador
Princípios quantitativos de um projeto de computador Instruções

  • Agora que vimos como definir, medir e resumir o desempenho, custo, confiabilidade, e potência, podemos explorar as orientações e princípios que são úteis no projeto e análise de computadores. Esta seção apresenta importantes observações sobre o projeto, bem como duas equações para avaliar alternativas.


Princ pios quantitativos de um projeto de computador1
Princípios quantitativos de um projeto de computador Instruções

  • PARALELISMO!!! Paralelismo é um dos mais importantes métodos para melhorar desempenho. Cada capítulo do livro contém um exemplo de como usar paralelismo.

    • Paralelismo a nível de sistema (processadores e discos). Atentar para a escalabilidade.

    • Paralelismo a nível de instrução (pipeline).

    • Paralelismo a nível digital. Exemplo: procura paralela em memória, aumento de bits por operando.


Princ pios quantitativos de um projeto de computador2
Princípios quantitativos de um projeto de computador Instruções

  • PRINCÍPIO DE LOCALIDADE

  • Característica de programas. Um programa tende a reusar dados e instruções previamente usadas. Pode-se prever as próximas instruções e dados estatisticamente conhecendo-se o passado próximo.

  • Essa característica é mais importante para tratar dados do que instruções.

    • Localidade Temporal

    • Localidade Espacial


Princ pios quantitativos de um projeto de computador3
Princípios quantitativos de um projeto de computador Instruções

  • FOCO NO CASO COMUM

  • Talvez o princípio mais importante em projeto de computadores. Ao projetar, dar ênfase a recursos que serão demasiadamente usadas pelos usuários.

  • Exemplo: Somar. O overflow é raro, portanto, pode-se ignorar maior implementação para tratar overflow para se obter maior rendimento para uma soma sem overflow.


Princ pios quantitativos de um projeto de computador4
Princípios quantitativos de um projeto de computador Instruções

  • FOCO NO CASO COMUM

  • Lei de Amdahl: O ganho de performance que pode ser obtido aumentando desempenho de partes do sistema.


Princ pios quantitativos de um projeto de computador5
Princípios quantitativos de um projeto de computador Instruções

  • FOCO NO CASO COMUM

  • O ganho se dá por dois fatores:

    • A fração do tempo de computação no computador original que pode ser convertido para aproveitar o ganho. Sempre menor ou igual a 1. Exemplo: um processo demora 60 segundos, porém 20 segundos estão sujeitos a melhoria, logo teremos a fração de melhoria de 20/60

    • A melhoria obtida pelo modo de execução melhorada, ou seja, quanto mais rápida a tarefa seria executada se o modo melhorado fosse usado no programa inteiro. Exemplo: um processo melhorado demora 2 segundos enquanto o origial demora 5 segundos, logo teremos speedup=5/2





Princ pios quantitativos de um projeto de computador9
Princípios quantitativos de um projeto de computador Instruções

  • EQUAÇÃO DE DESEMPENHO DE PROCESSADOR

  • Todos apresentam um clock. Ciclos de Clock. Duração de um ciclo de clock é dado em segundos. (1GHz = 1ns)


Princ pios quantitativos de um projeto de computador10
Princípios quantitativos de um projeto de computador Instruções

  • CPI = Ciclos de Clock por instrução

  • IPC = Instrução por ciclo de clock

  • IC = Contador de instrução


Princ pios quantitativos de um projeto de computador11
Princípios quantitativos de um projeto de computador Instruções

  • Desempenho do processador depende de frequência de clock, ciclos de clock por instrução e contador de instrução. E cada um desses três parâmetros tem pesos iguais. Uma melhoria de 10% em qualquer dos 3 itens leva a um ganho de 10% no tempo de processamento.


Princ pios quantitativos de um projeto de computador12
Princípios quantitativos de um projeto de computador Instruções

  • representa o número de vezes que a instrução i em um programa

  • representa a média do número de clocks por instrução para a instrução i



Princ pios quantitativos de um projeto de computador14
Princípios quantitativos de um projeto de computador Instruções

  • A maioria dos modernos processadores incluem contadores de instruções executadas e de ciclos de clock. Monitorando esses parâmetros consegue-se uma boa análise quantitativa.


ad