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



Yüklə 4,8 Mb.
tarix30.10.2018
ölçüsü4,8 Mb.
#75922





























































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 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).



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 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.



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.

  • 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.



Desktop

  • Desktop

  • Servidores

  • Embarcados



Ainda o mercado mais rentável da informática

  • 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.



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.

  • 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



CONFIABILIDADE !!!!!!!!

  • CONFIABILIDADE !!!!!!!!



ESCALABILIDADE

  • 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



DESEMPENHO

  • 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.



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

  • 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



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

  • 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



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

  • 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.



MINIATURIZAÇÃO DE MEMÓRIA

  • 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




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.

  • 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.



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

  • 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.





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:

  • 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


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

  • 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.


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

  • 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.





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

  • 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



Organização

  • 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)



SUMÁRIO

  • SUMÁRIO

    • Introdução
    • Tipos de computadores
    • Definindo uma arquitetura de computadores
    • Tendências de tecnologia


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

  • 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)



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

  • 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



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)

  • 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).





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

  • 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).



SUMÁRIO

  • SUMÁRIO

    • Introdução
    • Tipos de computadores
    • Definindo uma arquitetura de computadores
    • Tendências de tecnologia
    • Tendências em Energia de CI


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

  • 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



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

  • 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.



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.

  • 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



Os primeiros microprocessadores dissipavam dezenas de watts

  • 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.



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

  • 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.



SUMÁRIO

  • 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


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

  • 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).





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.

  • 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.



O circuito integrado possui o seu custo relativo ascendente.

  • O circuito integrado possui o seu custo relativo ascendente.

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









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%

  • 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%



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

  • 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



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

  • 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.



SUMÁRIO

  • 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


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.

  • 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.



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:

  • 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).



Quantificação das transiçõ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)




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

  • 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.



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



SUMÁRIO

  • 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


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

  • “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).



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

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



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.

  • 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.



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.

  • 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.



Benchmark

  • 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)



Benchmark

  • 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.



Benchmark

  • 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.



Benchmark

  • 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.



Benchmark

  • 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



Desktop Benchmark

  • 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



Desktop Benchmark

  • Desktop Benchmark



Desktop Benchmark

  • Desktop Benchmark

  • O



Servidor Benchmark

  • 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.



Servidor Benchmark

  • 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.



Servidor Benchmark

  • 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)



Benchmark

  • 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.



Servidor Benchmark

  • Servidor Benchmark

  • O



SUMÁRIO

  • 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


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.

  • 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.



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!!! 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ÍPIO DE LOCALIDADE

  • 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


FOCO NO CASO COMUM

  • 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.



FOCO NO CASO COMUM

  • FOCO NO CASO COMUM

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



FOCO NO CASO COMUM

  • 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








EQUAÇÃO DE DESEMPENHO DE PROCESSADOR

  • 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)



CPI = Ciclos de Clock por instrução

  • CPI = Ciclos de Clock por instrução

  • IPC = Instrução por ciclo de clock

  • IC = Contador de instrução



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.

  • 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.



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

  • 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







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.

  • 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.



Yüklə 4,8 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə