Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço...

320
Lei de Amdahl O ganho de desempenho possível de um dado melhoramento é limitado pela fração de tempo que a característica melhorada é usada. Suponha que um aperfeiçoamento ofereça um ganho de Suponha que um aperfeiçoamento ofereça um ganho de desempenho S para uma fração do tempo F. Qual o ganho de desempenho?

Transcript of Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço...

Page 1: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Lei de Amdahl

� O ganho de desempenho possível de um dado melhoramento é limitado pela fração de tempo que a característica melhorada é usada.

� Suponha que um aperfeiçoamento ofereça um ganho de � Suponha que um aperfeiçoamento ofereça um ganho de desempenho S para uma fração do tempo F. Qual o ganho de desempenho?

Page 2: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo � Se um computador executa um programa P em 100 segundos, onde 30%

das operações são acessos a memória com tempo médio de acesso de 80ms e 60% são operações de ponto flutuante.

A)Qual o impacto no desempenho global do sistema, ao se diminuir o tempo médio de acesso a memória pela metade ?

B)Qual o impacto no desempenho global, ao dobrar o desempenho das op. de ponto flutuante ?

Page 3: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo 2

� Se um computador executa um programa P em 100 segundos, onde 80% das operações são multiplicações. Quanto seria preciso melhorar o desempenho das multiplicações para que o sistema tive um ganho de desempenho de cinco vezes?desempenho de cinco vezes?

Page 4: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho

� Todos os componentes influem mas...

� O desempenho da CPU é crítico para o desempenho do Computador.� desempenhoCPU(X)= 1/TempoCPU(X)

CE-703 / ITAPaulo André Castro

desempenhoCPU(X)= 1/TempoCPU(X)

Page 5: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O que influi no desempenho de CPU

CE-703 / ITAPaulo André Castro

Page 6: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Que programas utilizar para medir desempenho?

� Desempenho é medido com base em tempos de execução de programas selecionadas . Então, como selecionar?

� Situação ideal: usuário sabe exatamente quais programas utiliza com quais dados de entrada e testa nos computadores seus

CE-703 / ITAPaulo André Castro

com quais dados de entrada e testa nos computadores seus desempenhos. Factível?

Page 7: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Candidatos a programas de avaliação (benchmark)

� Programas reais� Dados de entrada

� portabilidade

� Aplicações modificadas� Uso de scripts para fornecer a interatividade

CE-703 / ITAPaulo André Castro

� Uso de scripts para fornecer a interatividade

� Kernels� Implementam trechos de código comuns em vários

programas. Por exemplo: laços com operação de vetores (Linpack)

Page 8: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Candidatos a programas de avaliação (benchmark) 2

� Toy Benchmarks:� Crivo de Eratóstenes, QuickSort, etc.

� Benchmarks Sintéticos� Semelhante aos kernels, porém utilizam freqüência média de instruções

em grandes programas para selecionar as instruções.

� Ex. Whetstone e Dhrystone.

CE-703 / ITAPaulo André Castro

� Ex. Whetstone e Dhrystone.

� Pacotes de programas de benchmark� Reunem vários outros benchmarks individuais para formar um pacote

� Ex. SPEC(Standard Performance Evaluation Corporation)

Page 9: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Programas de benchmark

� Há muitos programas de benchmark disponíveis. � Não há melhores ou piores,

� há aqueles mais ou menos adequados ao seu problema

� Embora se utilize freqüentemente dados de um

CE-703 / ITAPaulo André Castro

� Embora se utilize freqüentemente dados de um benchmark para avaliar de forma absoluta dois computadores, lembre-se:� Desempenho é relativo ao programa!!

Page 10: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplos de benchmark:Família SPEC

CE-703 / ITAPaulo André Castro

Família SPEC www.spec.org

Page 11: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Riscos do uso de Benchmarks

� Atualmente existem vários benchmarks focados em medir o desempenho de sistemas embutidos…ver EEMBC (The Embedded Microprocessor Benchmark Consortium)

� Como muitas decisões de compra são feitas com base em benchmark, os projetistas são pressionados a otimizarem seus

CE-703 / ITAPaulo André Castro

benchmark, os projetistas são pressionados a otimizarem seus projetos para o benchmark

� Isso é realmente bom?

Page 12: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Como Melhorar o desempenho?� Instruction Set

� Pipeline, processadores superescalares, matriciais, vetoriais, etc.

� Organização� Hierarquia de Memória, barramentos especializados, memória

entrelaçada, etc.

� Tecnologia

CE-703 / ITAPaulo André Castro

� Tecnologia� Aumento da Taxa de clock, consumo de potência, etc.

Page 13: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Abordagens para Conjuntos de Instruções

Page 14: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Projetando Instruções

� Instruções com tempo de execução muito diferentes ou com número de fases muito diferentes não são adequadas para uma linha de produção (pipeline)� Porque não criar instruções simples com pequenas diferenças em

tempo de ex. de fases (e mesmo número de fases)

CE-703 / ITAPaulo André Castro

tempo de ex. de fases (e mesmo número de fases)

� Não seria mais vantajoso:� Criar instruções poderosas que resolvessem problemas comuns ao

invés de instruções simples que resolvem quase nada?

Page 15: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Abordagens para Conjuntos de Instruções � Final dos anos 70, surge a idéia de Computadores de arquitetura de alto

nível (HLLCA – High Level Language Computer Architecture)

� No ínicio dos anos 80, Ditzel e Patterson argumentavam que arquiteturas mais simples seriam o melhor caminho e apresentam a idéia do Reduced Instruction Set Computer (RISC)do Reduced Instruction Set Computer (RISC)

� Na mesma época, alguns projetistas (VAX) refutaram a idéia e seguiram construindo computadores baseados em conjuntos de instrução complexos (Complex Instruction Set Computer, CISC)

Page 16: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desenvolvimento

� Os desenvolvimentos RISC e CISC continuaram em paralelo,disputando mercado� A arquitetura teve três grandes projetos iniciais:

� RISC de Berkeley(Patterson e outros)

� IBM 801

� MIPS de Stanford (Hennessy e outros)

CE-703 / ITAPaulo André Castro

� MIPS de Stanford (Hennessy e outros)

Page 17: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

RISC x CISC� Para ajudar a resolver o debate entre RISC e CISC, os

projetistas do VAX fizeram uma comparação entre o VAX 8700 e o MIPS M2000 no início dos anos 90. � VAX: Modos de endereçamentos poderosos, instruções eficientes,

codificação de instrução eficiente e poucos registradores� MIPS M2000: Instruções simples, modos de endereçamentos simples,

formato de instruções de comprimento fixo, grande número de registradores, pipelining

CE-703 / ITAPaulo André Castro

formato de instruções de comprimento fixo, grande número de registradores, pipelining

� Os computadores tinham organizações semelhantes e tempos de clock iguais

Page 18: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Gráfico de DesempenhoMIPS / VAX

CE-703 / ITAPaulo André Castro

Page 19: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

RISC x CISC

� Finalmente, sobreviveu apenas um CISC a este embate: x86� Alto volume de chips

� Compatibilidade binária com o software do PC

� Conversão interna de CISC para RISC

Escala suficiente para suportar o hardware extra

CE-703 / ITAPaulo André Castro

� Escala suficiente para suportar o hardware extra

Page 20: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

RISC x CISC

� Mercado Embutido � Celulares, PDAs, eletrodomésticos,...� Crítico Custo e Energia: Não há espaço para conversão de

hardware� Utiliza Compiladores e Arquiteturas RISC

CE-703 / ITAPaulo André Castro

� Em 2000, o número de processadores embutidos comercializados foi mais de duas vezes o número de processadores x86 (mais de 90% deles RISC)

Page 21: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Abordagens para Arquitetura de Conjuntos de Instruções

Page 22: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Comparando Instruções Numéricas

CE-703 / ITAPaulo André Castro

Page 23: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Registradores de Propósitos Gerais dominam

CE-703 / ITAPaulo André Castro

Page 24: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplos de Formato de Conjunto de instruções

CE-703 / ITAPaulo André Castro

Page 25: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Mundo RISC (CISC)

� Exploração do Paralelismo� Entre fases

� Entre Instruções

� Entre Threads

� Entre programas

Solução dos novos problemas trazidos pelo paralelismo

CE-703 / ITAPaulo André Castro

� Solução dos novos problemas trazidos pelo paralelismo

Page 26: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dentro da CPU: Como realmente funciona um computador

Page 27: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Os cinco componentes clássicos de um Computador - Controle

CE-703 / ITAPaulo André Castro

Page 28: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Processador com Acumulador: Um Caso Extremamente Simples

CE-703 / ITAPaulo André Castro

Page 29: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Microprograma da CPU comAcumulador

CE-703 / ITAPaulo André Castro

Page 30: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Revisão: Como Funciona o Hardware Digital

Page 31: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Processador = Software implementado em Hardware Digital

� Revisão: Como Funciona o Hardware Digital� Representação Numérica e Operações Matemáticas

� Lógica Digital

� Memória

� Transistor

CE-703 / ITAPaulo André Castro

Page 32: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Representação Numérica

Sistema Base Alfabeto

Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Binário 2 0, 1,

Octal 8 0, 1, 2, 3, 4, 5, 6, 7,

� Equivalência entre os sistemas:

(29)base 10 = (11101)base 2 = (35)base 8 = (1D)base 16

Octal 8 0, 1, 2, 3, 4, 5, 6, 7,

Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A,B,C,D,E,F

Page 33: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Representação de Números

� Um número em base B, pode ser representado como (aj, aj-1,aj-2,...a0)B , onde 0 ≤ ak ≤ B-1 e escrito na forma polinomial:� ajBj + aj-1Bj-1 + aj-2Bj-2 + .......+ a1B1 + a0B0

� Logo:

CE-703 / ITAPaulo André Castro

� Logo:� (347)10 = 3 x I02 + 4 x l01 + 7 x 100

� (10111)2 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20

Page 34: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conversão de Base

CE-703 / ITAPaulo André Castro

Page 35: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Computadores e Sistema Binário

� Números Negativos (dois zeros)� Complemento de 2

� Números Fracionários (ponto flutuante)� Mantissa e expoente

CE-703 / ITAPaulo André Castro

Page 36: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Complemento de 2

Conversão de Base:

• Se Positivo(isto é, bit de sinal igual a zero): Conversão Normal

CE-703 / ITAPaulo André Castro

Conversão Normal

• Se Negativo: Complementa número sem sinal, adiciona 1 e faz a Conversão Normal

Page 37: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Deslocamento

CE-703 / ITAPaulo André Castro

Page 38: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Números Fracionários (Ponto Flutuante)� Inteiros

� (15)10= (01111)2 = 23+22+21 +20 = 8+4+2+1

� Números binários fracionários� (1,5)10 = (1,1)2 = 20+2-1 = 1+0,5 = (1,5)10

(0,101) = 1*2-1 +0*2-2 + 1*2-3 = 0,5+0+0,125 = (0,625)

CE-703 / ITAPaulo André Castro

� (0,101)2 = 1*2-1 +0*2-2 + 1*2-3 = 0,5+0+0,125 = (0,625)10

Page 39: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conversão de Números Fracionários� De binário para Decimal:

� (0.1011)2 = 2-1+2-3+2-4 = 0,5+0,125+0,0625 = = (0,6875)10

� (0.1001)2 = 2-1+2-4 = 0,5+0,0625 = (0,5625)10

� (111.101) = 22 + 21+20 + 2 -1 + 2-3 = 4+2+1 + 0,5+0,125= (7,625)

CE-703 / ITAPaulo André Castro

(7,625)10

� Conversão de Fracionários para base 22,25 -> Parte Inteira: (2)10= (10)2

-> Parte Fracionária (0,25)10 = (0.01)2

Número: (2,25)10 = (10,01)2

Page 40: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conversão de Fracionários

CE-703 / ITAPaulo André Castro

Page 41: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conversão de Fracionários - 2

CE-703 / ITAPaulo André Castro

Page 42: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Algoritmo para Conversão de Base

� A representação em base 10 (0,d1 d2 ..dj-1 dj ) pode ser obtida através dos seguintes passos:

� Observe que o algoritmo

CE-703 / ITAPaulo André Castro

� Observe que o algoritmo pode nunca parar...

� Como solucionar o problema do possível loop infinito?

Page 43: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conversão de Base

CE-703 / ITAPaulo André Castro

Page 44: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Ponto Flutuante em Computadores

CE-703 / ITAPaulo André Castro

Page 45: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Processador = Software implementado em Hardware Digital

� Revisão: Como Funciona o Hardware Digital� Representação Numérica e Operações Matemáticas

� Lógica Digital

� Memória

� Transistor

CE-703 / ITAPaulo André Castro

Page 46: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Lógica Digital (Booleana)

CE-703 / ITAPaulo André Castro

Page 47: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 48: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 49: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 50: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 51: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Portas Lógicas

CE-703 / ITAPaulo André Castro

Page 52: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 53: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 54: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 55: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

A suficiência da Porta NAND

CE-703 / ITAPaulo André Castro

Page 56: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Portas lógicas podem ser implementadas dentro de Chips

CE-703 / ITAPaulo André Castro

Page 57: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Portas Lógicas em Transistores

CE-703 / ITAPaulo André Castro

Page 58: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Multiplexadores

� Multiplexar significa transmitir um grande número de informações através de um número pequeno de linhas ou canais

� 2^n linhas de entrada para uma saída e n linhas de controle

• As linhas de controle especificam QUAL das 2^n

CE-703 / ITAPaulo André Castro

� • As linhas de controle especificam QUAL das 2^n possibilidades é transmitida para a saída

Page 59: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementando um multiplexador: Exercício

CE-703 / ITAPaulo André Castro

Page 60: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementando um multiplexador: Solução

CE-703 / ITAPaulo André Castro

Page 61: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Somadores� Meio-somador (sem

contabilização de carry ou “vai-um”)

� Efetua a adição de 2 dígitos binários (não leva em consideração o “vai-um”)

� • Entradas:

CE-703 / ITAPaulo André Castro

� • Entradas:� A e B - os 2 bits a serem

somados

� • Saídas:� S e C - a Soma e o bit de Vai-

um (Carry)

Page 62: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Somadores - 2

� Somador Completo

� Efetua a adição de 2 dígitos binários (não leva em consideração o “vai-um”)

� • Entradas:� A e B - os 2 bits a serem somados e o “vem-um”

� • Saídas:

CE-703 / ITAPaulo André Castro

� • Saídas:

� S e C - a Soma e o bit de Vai-um (Carry)

Page 63: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Somador Completo

CE-703 / ITAPaulo André Castro

Page 64: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória

� Circuitos Combinacionais não possuem capacidade de “armazenamento” da informação

� A mudança dos valores das entradas implica necessariamente uma mudança dos valores das saídas

� Um Flip Flop é uma célula binária capaz de armazenar um bit de informação (multivibrador biestável)

CE-703 / ITAPaulo André Castro

bit de informação (multivibrador biestável)

Page 65: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Flip Flops

� Tem 2 saídas: uma para o valor considerado “normal” e outra o complemento deste valor

� Um FF mantém o valor da saída (diz-se o seu ESTADO) até que um SINAL (clock) o comande TROCAR DE ESTADO

Sinal de clock (relógio)

CE-703 / ITAPaulo André Castro

� Sinal de clock (relógio)

� Tipos comuns de Flip Flops� RS

� D

� JK

Page 66: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sinal de Clock (Relógio)

� As mudanças de estado só acontecem com a

� transição do sinal do Relógio do circuito

� Sincronização no sistema

� As mudanças podem ocorrer tanto na borda ascendente quanto descendente

CE-703 / ITAPaulo André Castro

quanto descendente

Page 67: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Flip Flop RS

� 2 entradas: R e S

� R para Reset (colocar no estado O)

� S para Set (colocar no estado 1)

CE-703 / ITAPaulo André Castro

Page 68: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Flip Flop JK

� Modificação no FF RS. O estado indefinido do FF RS é definido no FF JK

� 2 entradas: J e K

� K para Reset (colocar no estado O)

� J para Set (colocar no estado 1)

CE-703 / ITAPaulo André Castro

� J para Set (colocar no estado 1)

Page 69: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Flip Flop D

� 1 entrada D (de Dado)

� Transfere o dado de entrada para a saída

CE-703 / ITAPaulo André Castro

Page 70: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementação de Flip Flop D em Portas Lógicas

CE-703 / ITAPaulo André Castro

Page 71: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Um Processador Simples com Registradores de Propósitos Gerais

Page 72: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Um Processador de Registradores de Propósitos Gerais (MIPS de ciclo único)

CE-703 / ITAPaulo André Castro

Page 73: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Um Exemplo: MIPSPrincipais Instruções� Adição

� add R1,R2,R3; R1 = R2 + R3

� Subtração � sub R1,R2,R3; R1 = R2 – R3

� Adição de constante (add immediate )� addi R1,R2,100; R1 = R2 + 100

CE-703 / ITAPaulo André Castro

� addi R1,R2,100; R1 = R2 + 100

� Multiplicação (resultado em 64 bits) � mult R2,R3; Hi, Lo = R2 x R3

� Divisão (resultado em 64 bits) � div R2,R3; Lo = R2 ÷ R3, Hi = R2 mod R3

� Lo = quotient, Hi = remainder

Page 74: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Formato dos Conjunto de Instruções MIPS

CE-703 / ITAPaulo André Castro

Page 75: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Um Exemplo: MIPSPrincipais Instruções� Alterar memória (word)

� SW R3, 500(R4) Mem[R4 + 500] =R3

� Ler memória (word)� LW R1, 30(R2) R1 = Mem[R2 + 30]

� Desvio Condicional� beq R1,R2,100 if (R1 == R2) go to PC+4+400

CE-703 / ITAPaulo André Castro

� Desvio incondicional (constante)� jump j 2500; go to 10000

� Desvio incondicional (registrador)� jr R31; go to R31

Page 76: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Formato de Instruções MIPS

CE-703 / ITAPaulo André Castro

Page 77: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Unidades Funcionais e Controle no MIPS

CE-703 / ITAPaulo André Castro

Page 78: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Carregamento de Instrução

CE-703 / ITAPaulo André Castro

Page 79: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Controlando Operações R-type Adição/Subtração/And/or...

CE-703 / ITAPaulo André Castro

Page 80: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

IF no fim de uma instrução

CE-703 / ITAPaulo André Castro

Page 81: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Instrução Load

CE-703 / ITAPaulo André Castro

Page 82: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Instrução Store

CE-703 / ITAPaulo André Castro

Page 83: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Instrução de Desvio Condicional

CE-703 / ITAPaulo André Castro

Page 84: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

IF ao fim de uma instrução de desvio condicional

CE-703 / ITAPaulo André Castro

Page 85: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desvio não condicional

CE-703 / ITAPaulo André Castro

Page 86: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

IF ao fim de uma desvio não-condicional

CE-703 / ITAPaulo André Castro

Page 87: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sumário dos Sinais de Controle

CE-703 / ITAPaulo André Castro

Page 88: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Decodificação Local – Controle da ALU

CE-703 / ITAPaulo André Castro

Page 89: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 90: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 91: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Como melhorar desempenho ?

•Desempenho é o inverso do tempo...

• O tempo de execução de uma instrução é a soma dos tempos gastos pelas unidades funcionais

•O que faz a ULA enquanto se carrega uma nova instrução?

CE-703 / ITAPaulo André Castro

•O que faz a unidade de memória enquanto a ULA realiza uma operação?

•Idéia: usar o pipeline.....mas é necessário controlar o pipeline, o controle é igual?

Page 92: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Melhorando o desempenho com Pipeline

Page 93: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Pipeline� Pipeline: Uma idéia natural

� Linhas de montagem

� Dividir a tarefa em sub-tarefas seqüenciais, alocar recursos para cada sub-tarefa e controlar as mudanças de fase

CE-703 / ITAPaulo André Castro

mudanças de fase

� Ex: Lavanderia� Lavar e Secar: 4h. Logo, 4 cestas demorariam 16h� Lavar: 2h e Secar: 2h. Quanto 4 cestas demorariam?� 10h

Page 94: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Pipeline de Ciclo de Instrução

� Pipeline do ciclo de instrução: uma instrução pode ser (por exemplo) dividida em:� Recuperação da instrução (RI) IF, Decodificação da

instrução (DI) ID, Obtenção dos operandos (OO) , Execução (EX) e Armazenamento do resultado (AR).Execução (EX) e Armazenamento do resultado (AR).

Page 95: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Instruções paralelizadas

CE-703 / ITAPaulo André Castro

Page 96: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Qual o ganho de desempenho com pipeline?

� Diagramas Estágio x Tempo

Page 97: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conceitos Básicos� n: número de instruções� p: número de estágios do pipeline;� Tj (1 ≤ j ≤ p): demora em Ej;� TL: demora de transição de estágio� T: período de clock (ciclo de máquina)� Tmax= max{Ti}

CE-703 / ITAPaulo André Castro

� Tmax= max{Ti}

� T = Tmax + TL; f: freqüência = 1/T;

Page 98: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Medindo o ganho...� Gp: ganho com p estágios

� Ganho = (Tempo sem pipeline)/(Tempo com pipeline)� Sem pipeline: t1 = n * p * T� Com pipeline: tp = (p + n – 1) * T� Gp = n*p / (p+n -1)

� Se n >> p, Gp aproximadamente p

CE-703 / ITAPaulo André Castro

� Se n >> p, Gp aproximadamente p� Então, quanto maior p maior o ganho ?

Page 99: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Eficiência do Pipeline

� ηηηη: eficiência – relação entre a área ocupada e a área total do diagrama Estágio x Tempo

Page 100: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Produtividade (throughput)

� W: produtividade – número de tarefas completadas por unidade de tempo

Page 101: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Impedimentos

� Impedimentos para valores máximos em ganho, eficiência e produtividade:� Estágios de diferentes tempos

� Falhas em caches

� Instruções de diferentes durações

� Dependências

CE-703 / ITAPaulo André Castro

� Dependências� Recursos

� Desvios e interrupções nos programas

� Dados

Page 102: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Problemas no Pipeline

CE-703 / ITAPaulo André Castro

Page 103: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O Problema do Desnível entre Fases e Instruções

CE-703 / ITAPaulo André Castro

Page 104: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Problemas no Pipeline: Dependências� Conflito de Recursos

� Dependência de Dados� RAW: Read After Write

� WAR: Write After Read

� WAW: Write After Write

Dependência de Controle

CE-703 / ITAPaulo André Castro

� Dependência de Controle� Predição de Desvios, Desvios Retardados

Page 105: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conflito de Recursos

� Também conhecido por Hazard Estrutural ou ainda Dependência Funcional� Resultado da competição de duas ou mais instruções pelo mesmo recurso

ao mesmo tempo � Soluções:

� uma das instruções deve esperar � aumento dos recursos

Page 106: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Controle do Uso de Recursos� Quando uma dependência envolve apenas recursos da CPU

(registradores ou unidades funcionais), costuma-se usar uma tabela de reserva dos recursos.

� Toda instrução antes de ser executada faz um cheque na tabela sobre os recursos que utilizará; se algum(uns) dele(s) estiver(em) marcado(s), ela é bloqueada, até eles sejam liberados.

CE-703 / ITAPaulo André Castro

� Após o uso, a instrução libera o recurso desmarcando a tabela de reserva

� Se a dependência envolver local de memória pode-se utilizar um sistema de bloqueio desse local.

Page 107: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependência de Dados

� Dependência WAR (Write After Read) � A = B+ C

� B = C + D

� Causa Problemas ?

� Falsa Dependência: sem problemas desde que não exista execução fora de ordem

CE-703 / ITAPaulo André Castro

execução fora de ordem

Page 108: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependência de Dados

� Dependência WAW (Write After Write)� A = B+C

� A = D+E

� Causa Problemas ?

� Falsa Dependência: sem problemas desde que não exista execução fora de ordem

CE-703 / ITAPaulo André Castro

execução fora de ordem

Page 109: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependência de Dados

� Dependência RAW (Read After Write) � I1: A = B+ C

� I2: E = A + D

� Causa Problemas?

� Sim. Instrução I2 só pode captar o valor de A após o término da instrução I1

CE-703 / ITAPaulo André Castro

Sim. Instrução I2 só pode captar o valor de A após o término da instrução I1

� Solução Simples� Atrasar instrução I2. Quantos Clocks?

Page 110: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Pipeline MIPS

� O MIPS utiliza um pipeline com profundidade 5, porém com uma divisão de fases diferente da tradicional: RI, DI, OO, EX, AR. Fases do pipeline MIPS:

� IF: Instruction Fetch – carregamento de instrução

� ID/RF: Decodificação de registradores e carregamento de registradores

CE-703 / ITAPaulo André Castro

registradores

� EX: execução

� MEM: Acesso a memória para acessar dados (load e store)

� WB: Armazenamento do resultado

Page 111: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Visão do pipeline MIPS com Unidades Funcionais

IF ID/RF EX MEM WB

CE-703 / ITAPaulo André Castro

Page 112: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Problemas no Pipeline: Dependências� Dependência (Conflito) de Recursos

� Dependência de Dados� RAW: Read After Write

� WAR: Write After Read

� WAW: Write After Write

Dependência de Controle

CE-703 / ITAPaulo André Castro

� Dependência de Controle� Predição de Desvios, Desvios Retardados

Page 113: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependência de Dados - RAW

CE-703 / ITAPaulo André Castro

Solução: atrasar o pipeline (via SW ou via HW)

Page 114: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementando o atraso do Pipeline através de Hardware

CE-703 / ITAPaulo André Castro

Page 115: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementando o atraso do pipeline através de software

CE-703 / ITAPaulo André Castro

Page 116: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependência RAW ao Carregar dados

CE-703 / ITAPaulo André Castro

Page 117: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependência RAW no carregamento

CE-703 / ITAPaulo André Castro

Obs.: O dado estará disponível ao final de MEM, não ao final de EX como nas Operações R-type

Page 118: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Atrasando o pipeline em carregamento de dados –Quantos clocks são necessários?

CE-703 / ITAPaulo André Castro

Page 119: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependências RAW

� Esses problemas são comuns?� Operações R-type: 3 bolhas (stalls) por dependência

� Logo, 3 unidades funcionais ociosas.

� Há como evitar a ocorrência da dependência?

CE-703 / ITAPaulo André Castro

� Há como evitar a ocorrência da dependência?

� Há como diminuir a ociosidade ?

Page 120: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Redução de Penalidade em R-Type: Bypassing

CE-703 / ITAPaulo André Castro

Page 121: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Encaminhamento em Carregamentos

CE-703 / ITAPaulo André Castro

Seria possível eliminar este atraso ?

Page 122: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementando o Bypassing

CE-703 / ITAPaulo André Castro

•Necessário mais multiplexadores para receber entrada dos dados

•Assume-se que durante ID/RF, as gravações são feitas antes das leituras

Page 123: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Como controlar o Encaminhamento?

CE-703 / ITAPaulo André Castro

Page 124: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Controle de Bypassing

Com bypassing (novas opções): Saída da EX, Saída da DM (memória) e Saída da DM (EX)

Perguntas: 1) Porque não saída de WB?

2) Porque buscar valor calculado em EX na Saída de DM?

Page 125: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Além do Pipeline:Processadores Superescalares

Page 126: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Instruction Level Paralelism (ILP)

� Pipelining cria uma barreira teórica de CPI(Clock por instrução) igual a 1,0.

Page 127: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Limites do Pipelining

� CPI real = CPI teórico + atrasos estruturais + atrasos por dependência de dados + atrasos por desvios

� CPI teórico em pipeline é aproximadamente 1Logo CPI real >1.

CE-703 / ITAPaulo André Castro

� Logo CPI real >1.

� Como poderia ser alterada a cpu para obtermos CPI < 1 ? Idéias ?

Page 128: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Como avançar na exploração do paralelismo entre instruções� Pipeline

� Super-pipeline� Aprofundar o pipeline, fazendo com que as fases clássicas levem vários

ciclos

� Superescalar

CE-703 / ITAPaulo André Castro

� Superescalar� Linhas de execução em paralelo

� Novas dependências

� VLIW� Cada “pacote”, especifica várias instruções

Page 129: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Em busca de CPI menor que 1

� Superescalar:� Instruções ordenadas por compilador ou por hardware

(algoritmo de Tomasulo)� PowerPC, Sun SPARC, Cell Be (Playstation...), x86, etc.

� Very Long Instruction Word (VLIW):

CE-703 / ITAPaulo André Castro

� Very Long Instruction Word (VLIW):� Instruções organizadas em pacotes pelo compilador.

� Bastante utilizada em sistemas embutidos

� Chamado de EPIC pela Intel. Ex.: Itanium

Page 130: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Avançando em ILP

� Mesmo em processadores RISC necessariamente há instruções com tempos de execução muito diferentes. Exemplos:

� soma de inteiros (add) e

� divisão de ponto flutuante (DIV.D)

CE-703 / ITAPaulo André Castro

divisão de ponto flutuante (DIV.D)

� Qual o problema?

� Qual a Solução?

Page 131: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Avançando em ILP

� Permitir mais de uma instrução entrar na fase de execução� Emissão em ordem

� Tempos diferentes de execução

� Logo, possível conclusão fora de ordem

CE-703 / ITAPaulo André Castro

Page 132: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dependências WAW e WAR e Conclusão de Execução Fora de Ordem

Page 133: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conclusão Fora de Ordem� Exemplo:

� DIV.D F0,F2,F4

� ADD.D F10,F0,F8

� SUB.D F12,F8,F14

� Problema: ? SUB é atrasada(desdobrada)

Solução: Executar SUB.D antes de ADD.D

CE-703 / ITAPaulo André Castro

� Solução: Executar SUB.D antes de ADD.D

Page 134: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Problemas no Escalonamento Dinâmico� Exemplo 2:

� I1: DIV.D F0,F2,F4

� I2: ADD.D F6,F0,F8

� I3: SUB.D F8,F10,F14

� I4: MUL.D F6,F10,F8

CE-703 / ITAPaulo André Castro

I4: MUL.D F6,F10,F8

� Dependências?

� Executar na ordem: I1,I3,I2,I4 diminui atrasos. Problemas?

� Como resolver?

Page 135: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Solução para Dependências Falsas� Requisito: Permitir execução fora de ordem, sem mudar o

resultado do programa

� Renomear registradores para evitar falsas dependências (WAW e WAR)

� Exemplo (WAW):� MUL.D R1,R2,R3

CE-703 / ITAPaulo André Castro

� MUL.D R1,R2,R3� ADD.D R2, R1,R3� SUB.D R1,R4,R5

� Solução:� MUL.D R1,R2,R3� ADD.D R2, R1,R3� SUB.D R5,R4,R5 (Substituir R1 por R5, isto é, outro registrador não

utilizado (não lido) até seu próximo ponto de gravação)

Page 136: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Requisitos para Solução� Exemplo (WAR):

� MUL.D R1,R2,R3� ADD.D R6,R1,R2� SUB.D R3,R4,R5� ....� ADD.D R9,R4,R3

� Solução:

CE-703 / ITAPaulo André Castro

� Solução:� MUL.D R1,R2,R3� ADD.D R6,R1,R2� SUB.D R8,R4,R5 (Substituir R3 por R8, isto é outro registrador não

utilizado (não lido) até seu próximo ponto de gravação)� ....� ADD.D R9,R4,R8

Page 137: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Requisitos para Solução

� Identificar instruções sem dependências e permitir que ultrapassem instruções com dependências

� Identificar e Bloquear instruções com dependências de dados ou dependências estruturais

CE-703 / ITAPaulo André Castro

ou dependências estruturais

� Manter o pipeline o mais eficiente possível

Page 138: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Métodos de Solução� Software

� Com grandes conjuntos de registradores, o compilador pode eliminar perigos WAR e WAW através de renomeação

� Eventualmente pode usar “moves” entre registradores� Erros (ou omissão) no compilador podem levar a baixa eficiência do

processador!!!

CE-703 / ITAPaulo André Castro

� Hardware� Não tem como observar instruções à frente, mas consegue eliminar

dependência em relação a registradores� Scoreboard� Algoritmo de Tomasulo

Page 139: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tomasulo

CE-703 / ITAPaulo André Castro

Page 140: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 141: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Informações de Controle� Estações de Reserva

� Op: código da operação� Qj,Qk : Estações de reserva que produzirão o operando� Vj,Vk : O valor dos operandos de origem, apenas um valor entre V e Q é

valido. Em instruções de carga, guarda o endereço� A : Usado para guardar informações sobre cálculo de endereços� Busy: Indica se a estação de reserva está sendo usada ou não

CE-703 / ITAPaulo André Castro

� Busy: Indica se a estação de reserva está sendo usada ou não

� Registradores� Qi: O número da estação de reserva que irá gerar o resultado, se zero o

valor do registrador é o valor correto

Page 142: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo de aplicação com Tomasulo

� Instruções� L.D F6,34(R2)

� L.D F2,45(R3)

� MUL.D F0,F2,F4

� SUB.D F8,F2,F6

DIV.D F10,F0,F6

CE-703 / ITAPaulo André Castro

� DIV.D F10,F0,F6

� ADD.D F6,F8,F2

Page 143: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo Tomasulo – Instante 1

CE-703 / ITAPaulo André Castro

Page 144: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo Tomasulo - Instante 2

CE-703 / ITAPaulo André Castro

Page 145: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Estados das Instruções

CE-703 / ITAPaulo André Castro

Page 146: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Instante 2 - Tomasulo

CE-703 / ITAPaulo André Castro

Fonte: Hennessy & Patterson, pg. 140. Erro no Livro: F0 (e não F2) será gravada por Mult1

Page 147: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sistemas de Memória

Page 148: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória: O Gargalo de Von Neuman� Memória principal: considerada como sendo o gargalo da

arquitetura de Von Neumann:

� O ciclo da memória principal costuma ser 4 a 20 vezes maior que o ciclo de máquina.

CE-703 / ITAPaulo André Castro

� Se o processador não recebe instruções tão rapidamente quanto ele pode processar, o que ele faz?

� Como tornar a memória tão rápida quanto a CPU ?

Page 149: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sistema de Memória

� Porque toda a memória de um computador não pode ser feita da mesma tecnologia da CPU ?

� Seu custo seria elevadíssimo, pois o volume de informações é muito grande.

CE-703 / ITAPaulo André Castro

� A tecnologia da CPU tipicamente produz memórias voláteis.

Page 150: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sistema de Memória

� Muitas informações devem permanecer, mesmo após a máquina ser desligada.� Memória não-volátil

� Volatilidade versus Desempenho� Memórias voláteis tender a ser sempre mais rápidas que memórias não-

voláteis

CE-703 / ITAPaulo André Castro

voláteis

� Importante: Grande parte das informações não é utilizada considerando pequenos intervalos de tempo.

Page 151: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Princípio da Localidade� “Os programas tendem a reutilizar dados e instruções que

usaram recentemente.”� “Regra prática”: um programa passa 90% de seu tempo de execução em 10% de

seu código.

� Também aplica-se a dados mas não tão fortemente quanto em instruções.

� Dois Tipos de localidade:

CE-703 / ITAPaulo André Castro

� Dois Tipos de localidade:� Localidade espacial� Localidade Temporal

� Como tirar vantagem dessa característica para obter mais desempenho?

Page 152: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Hierarquia de Memória

CE-703 / ITAPaulo André Castro

Page 153: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Perguntas

� Os níveis mais altos devem ser sempre mais rápidos e os mais baixos maiores. Por quê?

� Em que situação é vantajoso introduzir novos níveis na hierarquia?

CE-703 / ITAPaulo André Castro

na hierarquia?

� Ao colocar informações nos níveis mais altos, deve-se apagar dos níveis mais baixos?

Page 154: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Níveis de Memória Visíveis

� Registradores � Memória de trabalho da CPU para armazenamento temporário de instruções e dados;� registradores de propósitos gerais, vários registradores de propósitos específicos (AR, PC,

IR, SP, Flags, etc.);

� Memória Principal� Em comparação com os registradores da CPU, sua tecnologia costuma ser inferior e sua

CE-703 / ITAPaulo André Castro

� Em comparação com os registradores da CPU, sua tecnologia costuma ser inferior e sua capacidade de armazenamento é bem maior

� Deve ser suficientemente grande para armazenar os programas em execução e seus respectivos dados

� Até 70 vezes mais lenta que os registradores

� Memória Secundária� Não volátil

� Memória de overflow

� Grande desnível em relação a memória principal

Page 155: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Cache � Armazena cópia das regiões da memória principal mais

freqüentemente usadas pela CPU, num curto intervalo de tempo;

� Diferente das outras memórias caches são transparentes aos programadores (mesmo em assembly);

CE-703 / ITAPaulo André Castro

� Computadores com vários níveis hierárquicos de cache são comuns atualmente, tipicamente os níveis mais altos ficam no mesmo circuito integrado da CPU;

Page 156: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Cache 2� Em multiprocessadores,

� Várias processadores demandam informações de uma memória, logo a cache também é fundamental

� há complexidade adicional para controlar o acesso a cache de modo coerente

� Muitas vezes é dividida em Cache de dados e cache de instruções

CE-703 / ITAPaulo André Castro

� Muitas vezes é dividida em Cache de dados e cache de instruções� Cache de Instruções

� A próxima instrução a ser executada é retirada do cache de instruções;

� não estando ali presente, nova seqüência é carregada no CI:

� Caso o CI contenha aninhamentos inteiros de laços com grande número de repetições, serão evitados inúmeros acessos à memória

Page 157: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Funcionamento da Hierarquia de Memória

CE-703 / ITAPaulo André Castro

Page 158: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O que trafega entre os níveis ?

CE-703 / ITAPaulo André Castro

Page 159: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Perguntas

� Porque os blocos de transferência mais baixos são iguais ou maiores?

� Pode ocorrer que um dado esteja em nível superior,

CE-703 / ITAPaulo André Castro

� Pode ocorrer que um dado esteja em nível superior, mas não no nível logo inferior? Como?

Page 160: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Funcionamento da Memória Cache

CE-703 / ITAPaulo André Castro

Page 161: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Quatro perguntas sobre Organização da Cache

� P1: Onde um bloco pode ser inserido no nível superior (posicionamento do bloco) ?

� P2: Como um bloco é encontrado se está no nível superior da hierarquia (cache) ?

CE-703 / ITAPaulo André Castro

hierarquia (cache) ?

� P3: Que bloco deve ser substituído ao ocorrer uma falha (substituição do bloco) ?

� P4: O que acontece em uma gravação (estratégia de gravação) ?

Page 162: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conceitos Úteis

� A cache é divida em blocos com um número fixo de palavras de memória (nível mais alto)

� O endereço de memória é então divido em duas partes: � O endereço do bloco (às vezes, chamado de título, ou tag)

� A posição da palavra dentro do bloco (offset)

CE-703 / ITAPaulo André Castro

� A posição da palavra dentro do bloco (offset)

� Bits de offset = log2 (Tamanho do Bloco)

� Endereço do Bloco = Endereço – bits de offset

Page 163: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Posicionamento do Bloco

� Abordagens:� Cache de Mapeamento Direto

� Cada bloco da memória só pode ser colocado em uma posição da memória

� Ex. (Endereço do Bloco) mod (Número de blocos na cache)

� Cache Completamente Associativo

CE-703 / ITAPaulo André Castro

� Cache Completamente Associativo� Cada bloco pode ser alocado em qualquer posição da cache

� Posição definida pela estratégia de substituição

Page 164: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Posicionamento do Bloco

� Abordagens (Continuação)� Cache Associativo de Conjunto

� Um bloco da memória pode ser deslocado para um único determinado conjunto ( o qual conta com um certo número de blocos), dentro do qual o bloco pode ser colocado em qualquer posição

CE-703 / ITAPaulo André Castro

� Ex.: Conjunto Escolhido = (Endereço do Bloco) mod (Número de conjuntos na cache)

Page 165: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Abordagens de Posicionamento

CE-703 / ITAPaulo André Castro

Page 166: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Vantagens e Desvantagens das Abordagens

� Mapeamento Direto� Vantagens: Simplicidade

� Desvantagens: Possível Ineficiência com inflexibilidade

� Completamente Associativo� Vantagens: Total flexibilidade

CE-703 / ITAPaulo André Castro

� Vantagens: Total flexibilidade

� Desvantagens: Complexidade e custo de implementação

� Associativo de Conjunto� Vantagens e Desvantagens: Meio termo entre as anteriores

Page 167: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Quatro perguntas sobre Organização da Cache

� P1: Onde um bloco pode ser inserido no nível superior (posicionamento do bloco) ?

� P2: Como um bloco é encontrado se está no nível superior da hierarquia (cache) ?

CE-703 / ITAPaulo André Castro

superior da hierarquia (cache) ?

� P3: Que bloco deve ser substituído ao ocorrer uma falha (substituição do bloco) ?

� P4: O que acontece em uma gravação (estratégia de gravação) ?

Page 168: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Organização da Cache

CE-703 / ITAPaulo André Castro

Page 169: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Acessando a cache

� Exemplo:

� Endereço 01173 → título 0117 → Sucesso → DR←←←←12

� Endereço 01163 → título 0116 → Falta → Procura na memória principal

CE-703 / ITAPaulo André Castro

Page 170: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

P2: Como um bloco é encontrado na cache ?

•O Tag marca o endereço de memória ao qual corresponde o bloco de cache e também se utiliza um bit para marcar a validade ou não do bloco (bit de validade)

• Tags sempre são pesquisadas em paralelo

CE-703 / ITAPaulo André Castro

• Tags sempre são pesquisadas em paralelo

Page 171: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

P3: Substituição do Bloco

• Que bloco pode ser substituído ao ocorrer uma falha?

•Mapeamento direto: Não há decisão a ser feita, pois cada bloco é direcionado para um bloco de cache

•Mapeamento Completamente associativo ou de conjunto: várias opções

CE-703 / ITAPaulo André Castro

conjunto: várias opções

•Aleatória: Escolhe-se aleatoriamente um bloco para a substituição

•Menos recentemente usado(Least Recently Used): Registra-se os acessos aos blocos e se retira do cache o menos usado recentemente. Baseia-se no passado para prever o futuro

Page 172: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementação do LRU

� Implementação com Contador� Guardar para cada bloco, em um campo contador o número

do último acesso (em clocks)

� Substitui-se o bloco com menor clock

� Implementação com Pilha

CE-703 / ITAPaulo André Castro

Implementação com Pilha� Manter em uma pilha os números de cada bloco

� Ao ser realizada acesso a um bloco X, este passaria ao topo da pilha

� Substitui-se o bloco cujo número está na base da pilha

Page 173: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Implementação Aproximada de LRU� Exige bastante do hardware

� Criar um campo de referência com n bits� Em cada acesso setar para 1

� Deslocar

CE-703 / ITAPaulo André Castro

� Primeiro a entrar, Primeiro a sair( First In First out, FIFO), Esta opção se aproxima ao substituir o mais antigo, no lugar do menos recentemente usado

Page 174: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

P4: Estratégia de Gravação � As leituras dominam as operações de memória, mas também

existem escritas. Segundo algumas estimativas, aproximadamente 10%

� Estratégias de Solução:� Write-Through: As informações são gravadas no cache e na memória

CE-703 / ITAPaulo André Castro

� Write-Through: As informações são gravadas no cache e na memória inferior

� Write-Back: As informações são gravadas apenas no cache. A gravação na memória ocorrerá apenas quando houver substituição do bloco.

Page 175: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Estratégias de Gravação

� Write-Back� Vantagens

� Usa menos largura de Banda da Memória (Multiprocessadores)

� Poupa Energia por usar menos HW

� Desvantagens� Precisa controlar atualização da Memória

CE-703 / ITAPaulo André Castro

� Precisa controlar atualização da Memória

� Falha de leitura pode causar gravação

� Memória fica inconsistente com a cache (multiprocessadores)

Page 176: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Estratégias de Gravação

� Write-Through� Vantagens

� Mais fácil de Implementar

� Falha de leitura não causa gravação

� Nível Inferior sempre coerente (multiprocessadores)

� Desvantagem

CE-703 / ITAPaulo André Castro

� Desvantagem� Gravações sempre demoram o tempo do nível inferior, mesmo em

caso de acerto

Page 177: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Buffer de Gravação

• Write-Through

CE-703 / ITAPaulo André Castro

• Write-Through– Buffer de Gravação para evitar atrasar a CPU– FIFO (First In, First Out)– Tipicamente em torno de 4 entradas

• Problema: Frequência de Instruções de Gravação maior que frequência da DRAM (Saturação do Buffer)

Page 178: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Buffer de Gravação 2

• Problema: Freqüência de Instruções de Gravação maior que

CE-703 / ITAPaulo André Castro

• Problema: Freqüência de Instruções de Gravação maior que capacidade de atendimento da DRAM (Saturação do Buffer)

• Solução: Aumentar o desempenho das gravações através da introdução de outro nível de cache

Page 179: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Falha de Gravação

� Ao tentar gravar um dado que não está na cache há duas opções:

� Write Allocate (Gravação com Alocação) : � Traz o bloco que contém o endereço para a cache

CE-703 / ITAPaulo André Castro

� Write Not Allocate (Gravação sem Alocação): � O dado fica apenas na memória principal

Page 180: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Definições

� Ciclo de Memória: tempo para devolver a CPU uma palavra

� Palavra de Memória: conjunto de bytes que pode ser entregue a CPU a cada requisição.

� Taxa de Transferência: número de bytes por unidade de tempo entregues pela memória.

CE-703 / ITAPaulo André Castro

unidade de tempo entregues pela memória.� Exemplo:

� palavra de 32 bits ou 4 bytes� ciclo de memória = 50 ns; � taxa de transferência: 640 Mbits/s ou 80 MB/s.

Page 181: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Como melhorar o desempenhoda Memória?� Reduzir o ciclo de memória

� usando memória cache

� Melhorar taxa de acerto

� Aumentar o tamanho da palavra

CE-703 / ITAPaulo André Castro

� Aumentar o tamanho da palavra� Acessar várias palavras em paralelo (usando memória

entrelaçada).

Page 182: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho da Memória

•Nem todo acesso à memória é atendido pela cache;•Quando é atendido → Sucesso na cache•Quando não → Falha na cache

•Grandeza Fundamental para o desempenho do sistema de Memória com Cache:

CE-703 / ITAPaulo André Castro

Memória com Cache:•Taxa de sucesso (ou taxa de acerto)

Page 183: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho da Memória

� O tempo efetivo de um sistema com cache é um valor intermediário entre os tempos da cache e da memória principal.� Tef = h * Tc + (1 – h) * Tm (0 ≤ h ≤ 1)

� Taxa de sucesso h: probabilidade de sucesso na cache

CE-703 / ITAPaulo André Castro

� Taxa de sucesso h: probabilidade de sucesso na cache

� Taxa de falha (1-h): probabilidade de falha na cache

Page 184: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho da Memória

� Taxa de Erro e Penalidade � Tef = Tc + (Tx. Erro)* Penalidade

� Tx. Erro = (1-h)

� Penalidade = Tm-Tc

CE-703 / ITAPaulo André Castro

� Penalidade = Tm-Tc

� Qual o tempo efetivo considerando dois níveis de caches ?� Tef = h * Tc + (1 – h) * [ h2 * Tc2 + (1-h2)*Tm]

� Como se mede a taxa de acerto h2 ?

Page 185: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Taxa de Acerto na Cache

� É comum a obtenção de valores altos para h; desse modo, o ciclo efetivo fica sensível a pequenas mudanças de h:� Caso Tc = Tm / 10 e h caia de 0.99 para 0.98 (1%)

então Tef sobe 8.3% (quase 10%).

Caso Tc = Tm / 10 e h caia de 0.99 para 0.89 (~10%)

CE-703 / ITAPaulo André Castro

� Caso Tc = Tm / 10 e h caia de 0.99 para 0.89 (~10%) então Tef sobe 82.5% (quase dobra).

� Caso Tc = Tm / 20 e h caia de 0.99 para 0.89 então Tef é multiplicado por 2.5.

Page 186: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho de Memória

� Pequenas melhorias em h podem resultar em substancial aumento de desempenho no sistema de memória.

� Fatores que variam a razão de sucesso h� Número de palavras dos blocos e número de blocos;

� Critério de escolha do bloco que dará lugar a um novo bloco vindo da

CE-703 / ITAPaulo André Castro

� Critério de escolha do bloco que dará lugar a um novo bloco vindo da memória principal, na ocorrência de uma falta (Política de substituição de blocos).

Page 187: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exercício � Considere um computador com

� CPI(Clock por Instrução) = 1,0� Penalidade por erro = 25 ciclos� Taxa de erros = 2%� Acessos a memória representam 50% do total de instruções em média.

� Quão mais rápido seria este computador se não houvesse erro de cache?

CE-703 / ITAPaulo André Castro

erro de cache?

Page 188: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Resposta � Computador sem Erros:

� Tempo de Execução Ideal = IC *1,0* Tempo de Clock

� Computador Real� Tempo de Execução Real= Tempo de Execução ideal +

CE-703 / ITAPaulo André Castro

� Tempo de Execução Real= Tempo de Execução ideal + Tempo de Parada

� Tempo de Parada = IC * Acesso a memória/Instrução * Taxa de Erros * Penalidade de Erro * Tempo de clock

Page 189: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Resposta

� Tempo de Parada:� TP= IC*(1+0,5)*0,02*25 = IC *0,75

� (1+0,5) – 1 para acesso de instrução e 0,5 para acesso de dados da instrução

� Tempo de Execução Real� Tempo de Parada : IC*0,75 * tempo de clock

CE-703 / ITAPaulo André Castro

� Tempo de Parada : IC*0,75 * tempo de clock

� Tempo de Execução = 1,75*IC * tempo de clock

� Ganho = 1,75 *IC*TClock / 1,0*IC*TClock = 1,75

Page 190: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Medidas de Taxa de Erro de Cache� Erro/Instrução

� Ex.:3 falhas/1000 instruções

� Taxa de Erro /acesso a memória� Ex.: 2% dos acessos causam falha de cache

� Erro/Instrução = (Taxa de Erro * Acessos a Memória)/IC = Taxa de Erro * (Acesso)/Instrução

CE-703 / ITAPaulo André Castro

Erro/Instrução = (Taxa de Erro * Acessos a Memória)/IC = Taxa de Erro * (Acesso)/Instrução

Page 191: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

No Exemplo, anterior

� Erro/Instrução = Taxa de Erros *Acessos/Instrução� Erro/Instrução = 0,02* (1+0,5) = 0,03

� Recalculando o Tempo de Parada para o exemplo, obtemos o mesmo resultado� Tempo de Parada = IC * Erro/Instrução * Penalidade de Erro

CE-703 / ITAPaulo André Castro

� Tempo de Parada = IC * Erro/Instrução * Penalidade de Erro

� TP = IC * 0,03 * 25 = IC * 0,75

Page 192: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tecnologias de Construção de Memórias

Page 193: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tecnologias de Construção de Memórias� ROM (Read Only Memory): Memória não volátil, gravada apenas uma vez no momento o

processador não consegue modificá-las. Algumas podem ser apagadas eletricamente (EEPROM ).

� SRAM: Prioriza velocidade e capacidade� Os dados não precisam ser gravados periodicamente� Linhas de endereço não multiplexadas. � 8 a 16 vezes mais cara que DRAM

CE-703 / ITAPaulo André Castro

• DRAM: Prioriza custo por bit e capacidade� Os dados precisam ser gravados novamente após uma leitura� Periodicamente precisam ser gravados (atualizados) novamente mesmo sem leitura � Linhas de endereço multiplexadas.

Page 194: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tecnologias de Construção de Memórias� DRAM: DRAMs tradicionalmente tinham uma interface assíncrona com seu controlador e

com isso um overhead de sincronização. � Introduziu-se um sinal de clock para os chips DRAM tornando-os síncronos. Batizou-se isto de DRAM

síncrona (SDRAM).

� DDR SDRAM: Inovação onde se transfere dados da memória na borda crescente e decrescente do sinal de clock da SDRAM, com isso duplicando a taxa. Double Data Rate(DDR)

CE-703 / ITAPaulo André Castro

Rate(DDR)� DDR2 e DDR3: Evolução da tecnologia DDR com aumento de clock e redução de voltagem nos chips

� DIMM (Dual Inline Memory module): Memórias, em geral, são vendidas em pequenas placas DIMM de 4 a 16 chips DRAMs e geralmente organizadas de modo a fornecerem palavras de 8 bytes.

Page 195: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Organização de uma DRAM

CE-703 / ITAPaulo André Castro

Page 196: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Matriz de vários bits

CE-703 / ITAPaulo André Castro

Page 197: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo de organização de um chip de 256KB

CE-703 / ITAPaulo André Castro

Page 198: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Funcionamento da DRAM

� Multiplexação do Endereço� RAS (Row Access Strobe)

� CAS (Column Access Strobe)

� Acesso ao Dado

� Atualização Periódica de Dados

CE-703 / ITAPaulo André Castro

� Atualização Periódica de Dados� Bits de uma linha podem ser atualizados simultaneamente

� Atualização é determinada pelo DRAM Controller e tipicamente demora um tempo de acesso a um dado por linha

Page 199: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Modos de Operação

� Modo Regular� Cada acesso é definido por:

� RAS(Row Access Strobe)

� CAS (Column Access Strobe)

� Carregamento do Dado

� Modo Rápido

CE-703 / ITAPaulo André Castro

� Modo Rápido� Dados na mesma linha são acessados apenas mudando o CAS

Page 200: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho da DRAM

� Tempo de Acesso não uniforme devido a:� Localização

� Atualização dos Dados

� Tipicamente o tempo é dividido em:� RAS precharge (tRP) : seleção de linha

CE-703 / ITAPaulo André Castro

� RAS-to-CAS delay (tRCD) : seleção de coluna

� CAS latency (CL) : leitura/gravação do dado

� Cycle Time (tRAS): tempo completo “médio”

Page 201: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

• Tais valores podem ser determinados através de aplicativos específicos:•RAS precharge (tRP)•RAS-to-CAS delay (tRCD) •CAS latency (CL) •Cycle Time (tRAS)

CE-703 / ITAPaulo André Castro

Page 202: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória vem em Módulos� Para facilitar o manuseio e também explorar o entrelaçamento de memória,

utiliza-se módulos de memória� DIMM (Dual inline memory module)

� 4 a 16 chips de memória

� Tipicamente largura de 8 bytes (64 bits)

� SDRAM : 168 pinos, DDR (184 pinos), DDR2 (240 pinos), DDR3 (240)� Todos incompatíveis e trocas podem causar danos ao hardware (figura 168 pinos)

CE-703 / ITAPaulo André Castro

� Todos incompatíveis e trocas podem causar danos ao hardware (figura 168 pinos)

Page 203: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dados de Módulos de DRAM

Standard name I/O Bus clock Data transfers per second Module name Peak transfer rate

DDR-266 133 MHz 266 Million PC-2100 2100 MB/s

DDR-300 150 MHz 300 Million PC-2400 2400 MB/s

DDR-333 166 MHz 333 Million PC-2700 2700 MB/s

DDR-400 200 MHz 400 Million PC-3200 3200 MB/s

266M/s*8B/tranfser=2128MB/s

300M/s*8B=2400MB/s

CE-703 / ITAPaulo André Castro

DDR-400 200 MHz 400 Million PC-3200 3200 MB/s

DDR2-533 266 MHz 533 Million PC-4300 4264 MB/s

DDR2-667 333 MHz 667 Million PC-5300 5336 MB/s

DDR2-800 400 MHz 800 Million PC-6400 6400 MB/s

DDR3-1066 533 MHz 1066 Million PC-8500 8528 MB/s

DDR3-1333 666 MHz 1333 Million PC-10700 10664 MB/s

DDR3-1600 800 MHz 1600 Million PC-12800 12800 MB/s

Page 204: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho da Memória Principal� Opções:

� Aumentar largura do dados� Barramento mais largo� Intercalar memória

� Melhor tempo de acesso

CE-703 / ITAPaulo André Castro

Melhor tempo de acesso � tecnologia de construção: clock, latência,etc.� DDR (Double Data Rate), DDR2, etc.

Page 205: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Melhorando o Desempenho da Memória Principal

Page 206: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Entrelaçada� Memória entrelaçada permite acesso simultâneo a tantas palavras

quantos forem os seus módulos independentes.

� Com um número suficiente de módulos, é possível haver, num dado momento, várias instruções e vários operandos em fase de recuperação e vários resultados em fase de armazenamento.

CE-703 / ITAPaulo André Castro

� É claro que, para ganho máximo, num dado momento, cada acesso à memória deve acessar módulos distintos.

Page 207: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Maior Largura do Barramento X Memória Intercalada - Exemplo� Considere o seguinte sistema:

� Envio de Endereço: 4 clocks da CPU� Acesso a palavra na Memória: 56 clocks� Envio de uma palavra pelo barramento: 4 clocks

� Para Bloco = 1 palavra (64 bits)� Tx. De Erro: 3%

CE-703 / ITAPaulo André Castro

� Tx. De Erro: 3%� Penalidade : 64 clocks ( 4+ 56+4)� Média de Ciclos por Instrução(s/erro de cache): 2 � Acesso a Memória/Instrução: 1,2

� Para bloco =2 palavras� Tx. De Erro: 2%

� Para bloco = 4 palavras� Tx. De Erro: 1,2%

Page 208: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo (Cont.)� Qual a melhoria do sistema em relação ao original com

barramento simples ao utilizar :� intercalação de 2 ou 4 bancos� sistema com barramento duplicado

� Em blocos de 1,2 e 4 palavras

Solução:

CE-703 / ITAPaulo André Castro

� Solução:� TempoExecução+Penalidade*Tx.Erro

� CPI para sistema de memória de 1 palavra� 2+3% *( 1,2*64) = 4,3

Page 209: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo (Cont.)

� Bloco de duas palavras (128 bits)

� barramento de 64 bits, sem intercalação:� 2+2%*(1,2*2*64) =5,07

� barramento de 64 bits, com intercalação (2 bancos):� 2+2%*1,2* (4+56+8) =3,63

Barramento de 128 bits, sem intercalação:

CE-703 / ITAPaulo André Castro

� Barramento de 128 bits, sem intercalação:� 2+2%*1,2*64 = 3,54

Page 210: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Efeitos da duplicação do bloco

� Diminuição do desempenho no sistema de barramento de 64 bits, sem intercalação� De 4,3 para 5,07

� Intercalação de Memória mais rápida em 1,19 vezes � Speedup = 1,19 = (4,3/3,63)

CE-703 / ITAPaulo André Castro

Speedup = 1,19 = (4,3/3,63)

� Duplicação do Barramento mais rápido em 1,22 vezes� Speedup = 1,22 = (4,3/3,63)

Page 211: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Efeito da quadruplicação do bloco (Cont. )

� Bloco de 4 palavras (256 bits)

� barramento de 64 bits, sem intercalação:� 2+1,2%*(1,2*4*64) =5,69

� barramento de 64 bits, com intercalação (4 bancos):� 2+1,2%*1,2* (4+56+16) =3,09

Barramento de 128 bits, sem intercalação:

CE-703 / ITAPaulo André Castro

� Barramento de 128 bits, sem intercalação:� 2+1,2%*1,2*2*64 = 3,84

Page 212: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Efeito da quadruplicação do bloco� Diminuição do desempenho no sistema de barramento de 64

bits, sem intercalação : De 4,3 para 5,69� A duplicação do Barramento é mais rápida apenas 1,12 vezes

(4,30/3,84)� Intercalação de Memória agora é a mais rápida 1,39 vezes

(4,30/3,09)

CE-703 / ITAPaulo André Castro

� O custo de quadruplicar o barramento de memória pode se tornar proibitivo e não traria desempenho muito melhor� Barramento de 256 bits, sem intercalação:

� 2+1,2%*1,2*64 = 2,92 (Ganho de 1,06 em relação a intercalação)

Page 213: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Virtual

Page 214: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Virtual

CE-703 / ITAPaulo André Castro

Page 215: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Perguntas

� Atualmente, memória principal é barata então pode-se manter a memória física do mesmo tamanho da memória virtual. Nessa situação, porque utilizar sistema de memória virtual?� Simplicidade na Recolocação

CE-703 / ITAPaulo André Castro

� Simplifica a Proteção de Memória

Page 216: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O papel da Memória Virtual� Generalidade

� Habilidade de executar programas maiores que a memória física

� Gerenciamento mais eficiente� Alocação/Desalocação de blocos de tamanhos variáveis é onerosa e leva a fragmentação

� Proteção� Regiões do espaço de endereço podem ser declaradas como: somente leitura, código executável,

� Flexibilidade� partes de um programa podem ser colocadas em qualquer lugar na memória, sem relocação

� Eficência no Armazenamento

CE-703 / ITAPaulo André Castro

� Eficência no Armazenamento� Mantem na memória apenas as partes mais “importantes” do programa

� I/O Concorrente� Executa outros processos, enquanto está carregando/descarregando uma página

� Expansiblilidade� Possibilita deixar espaço no espaço virtual de endereços para que objetos/programas possam crescer

� Desempenho� Facilita o tratamento de multiprogramming e das linguagens de alto nível

Page 217: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Virtual

• Endereços Virtuais V= {0,1,2,3,....n-1}• Endereços Físicos P = {0,1,2,3,....m-1}. Onde m < n• Para cada endereço a em V pode existir um endereço em P (a’), caso contrário

falha de página(acesso ao disco)• Dois endereços Virtuais podem apontar para o mesmo endereço físico

CE-703 / ITAPaulo André Castro

Page 218: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Virtual e Cache

� A tradução de endereço virtual deve ser feita antes ou depois da cache?� Antes: Perda de desempenho por ter que fazer um acesso

adicional

� Depois: Cache trabalharia com endereços virtuais e memória com endereços reais. Problema?

CE-703 / ITAPaulo André Castro

com endereços reais. Problema?

Page 219: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Cache com Endereços Virtuais� Dois endereços virtuais podem mapear o mesmo endereço físico!

� Logo, duas entradas de cache podem conter os mesmos dados.

� Perda de espaço útil na cache e Problema na Atualização

� Acontece quando dois programas (endereços virtuais distintos) compartilham um � Acontece quando dois programas (endereços virtuais distintos) compartilham um mesmo objeto de dados. Freqüente?

Page 220: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Cache com Endereços Reais

� Problema de Desempenho!� Colocar a Tabela de tradução em SRAM

� Qual o Tamanho da Tabela de Tradução?� Endereço Virtual: 32 bits

� Endereço Real: 32 bits

CE-703 / ITAPaulo André Castro

� Endereço Real: 32 bits

� Bloco: 4KB

� Memória virtual: 4GB

� Tamanho da Tabela de Páginas > 5 MB

� Solução: Cache da tabela de páginas!

Page 221: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Hierarquia de Memória com MV

CE-703 / ITAPaulo André Castro

Page 222: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O funcionamento da MV

CE-703 / ITAPaulo André Castro

Page 223: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Quatro perguntas sobre Funcionamento da Memória Virtual (...Cache)

� P1: Onde um bloco pode ser inserido no nível superior (posicionamento do bloco) ?

� P2: Como um bloco é encontrado se está no nível superior da hierarquia ?

� P3: Que bloco deve ser substituído ao ocorrer uma falha (substituição do bloco) ?

CE-703 / ITAPaulo André Castro

(substituição do bloco) ?

� P4: O que acontece em uma gravação (estratégia de gravação) ?

Page 224: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Translation Look-aside Buffer (TLB)

CE-703 / ITAPaulo André Castro

• TLBs são caches, tipicamente são completamente associativas para melhorar a taxa de sucesso

• Entre o disco e a memória principal, o esquema de atualização é sempre write-back!

• Associa-se ao sistema de memória Virtual, proteção de acesso (leitura, escrita, código, etc.)

.

Page 225: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 226: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Fragmentação e Realocação

CE-703 / ITAPaulo André Castro

Page 227: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Selecionando o Tamanho de Página

� Razões para páginas maiores� O tamanho da Tabela de Páginas é inversamente proporcional ao

tamanho da página, logo economiza-se memória.

� Transferir páginas maiores para ou do armazenamento secundário é eficiente

� Páginas maiores mapeiam mais memória logo tendem a reduzir as falhas no TLB

� Razões para páginas menoresNão desperdiçar espaço, os dados devem ser contínuos dentro de uma

CE-703 / ITAPaulo André Castro

� Não desperdiçar espaço, os dados devem ser contínuos dentro de uma página

� Processos pequenos tendem a ser mais rápidos?

� Soluções Híbridas: múltiplos tamanhos de páginas� Alpha: 8KB, 64KB, 512 KB, 4 MB pages

� Segmentação: Página de tamanho variável

Page 228: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 229: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Resumo� Memória Virtual: introduzida inicialmente para

permitir a execução de programas que precisavam de muita memória

� Hoje: MV é importante para proteção de memória e permite que os programas usem endereços falsos.

� TLB são cache para a tabela de página e são importantes para obter desempenho para a máquina

CE-703 / ITAPaulo André Castro

� TLB são cache para a tabela de página e são importantes para obter desempenho para a máquina

� Caches tipicamente trabalham com endereços físicos

Page 230: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Arquitetura Paralelas:Multicomputadores e Multiprocessadores

Page 231: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Arquiteturas Paralelas� (SISD) Single Instruction Stream, Single Data Stream:

Monoprocessador

� (SIMD) Single Instruction Stream, Multiple Data Stream: arquiteturas vetoriais

� (MISD) Multiple Instruction Stream, Single Data Stream: sem

CE-703 / ITAPaulo André Castro

� (MISD) Multiple Instruction Stream, Single Data Stream: sem implementação comercial

� (MIMD) Multiple Instruction Stream, Multiple Data Stream: arquiteturas multiprocessadas, comumente os processadores são microProcessadores comerciais

Page 232: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Múltiplos Processadores

� Opção 1:� Compartilham cache, memória e sistema de I/O

� Opção 2:� Compartilham memória e sistema de I/O

� Opção 3:

CE-703 / ITAPaulo André Castro

� Compartilham sistema de I/O

� Opção 4:� Não compartilham nada, apenas se comunicam através de redes

� Todas as opções são viáveis/interessantes?� Lembrem-se da importância de evitar gargalos...

Page 233: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

de Memória Compartilhada (SMP)

CE-703 / ITAPaulo André Castro

Page 234: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Centralizada

� Baixo número de processadores

� A memória e seu barramento podem se tornar um gargalo para o sistema � uso de grandes caches e vários barramentos

� Organização mais popular atualmente

CE-703 / ITAPaulo André Castro

Page 235: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Organização Multiprocessador com Memória Distribuída

CE-703 / ITAPaulo André Castro

Page 236: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Organização Multiprocessador com Memória Distribuída� Tipicamente maior número de processadores

� Distribuição de memória traz vantagens� Maior largura de banda percebidas (desde que acessos sejam

principalmente locais

� Menor latência

CE-703 / ITAPaulo André Castro

Menor latência

� Tipicamente também se distribui o sistema E/S, assim cada nó pode ser um pequeno sistema distribuído de memória centralizada

Page 237: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Arquitetura de Memória e Modelos de Comunicação

� Multiprocessadores simétricos (SMP) ou Uniform Memory Access(UMA) –Os processadores compartilham uma memória única e tem tempos de acesso uniforme

� Memória compartilhada Distribuída(DSM) ou Non-Uniform Access Memory (NUMA)– Os processadores compartilham o mesmo espaço de endereços, não necessariamente a mesma memória física

CE-703 / ITAPaulo André Castro

Memory (NUMA)– Os processadores compartilham o mesmo espaço de endereços, não necessariamente a mesma memória física

� Multicomputadores – processadores com memórias e espaço de endereços independentes que se comunicam através de algum tipo de rede de interconexão� Podem ser computadores completos ligados em rede (clusters)

Page 238: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Mensagens X Memória Compartilhada

� Passagem de Mensagens� Hardware mais simples

� Comunicação Explícita, o programador controla quando ocorre ao contrário do DSM

CE-703 / ITAPaulo André Castro

ocorre ao contrário do DSM

� Sincronização associada ao envio de mensagens

� Facilita a comunicação iniciada pelo transmissor o que pode trazer vantagens em desempenho

Page 239: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Mecanismos de Comunicação 2

� Memória Compartilhada Distribuída (DSM)� Facilidade de programação

� Overhead de comunicação mais baixo para itens pequenos, pela implementação em hardware e não através de E/S

� Uso de cache pode reduzir a latência e liberar largura de banda para os demais processadores, mas introduz problemas de

CE-703 / ITAPaulo André Castro

para os demais processadores, mas introduz problemas de sincronização

Page 240: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Adoção no Mercado

� SMP: maior dimensão de mercado (cifras e unidades)� multiprocessadores em chip

� DSM (>8 processadores)

� Multicomputadores (mensagens) � popularização de clusters para sistemas na Internet

CE-703 / ITAPaulo André Castro

� popularização de clusters para sistemas na Internet

� MPP (Massively Parallel Processors) > 100 processadores� Abordagens híbridas: mensagens e DSM

Page 241: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Arquitetura de Memória Compartilhada Simétrica (SMP)� Grandes e eficientes sistemas de cache podem reduzir

bastante a necessidade de largura de banda da memória

� Multiprocessadores simétricos são bastante econômicos a medida que necessitam de pouco hardware adicional e usam processadores comuns

CE-703 / ITAPaulo André Castro

� Em SMP, caches não apenas fornecem localidade como também replicação....Isto não traz problemas???

Page 242: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Organização Multiprocessador de Memória Compartilhada

CE-703 / ITAPaulo André Castro

Page 243: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Problemas em SMP ?� Se P1 altera a posição de memória X (na sua cache) e

P2 lê a posição de memória X o que ocorre? � Isto é coerente?� O que é coerência de caches ?� Um sistema é coerente se ele retorna o último valor

gravado em um item de dados

CE-703 / ITAPaulo André Castro

gravado em um item de dados� Coerência e Consistência do Sistema de Memória

� Coerência: garantir a utilização do dado mais atual� Consistência: sincronizar a leitura/gravação entre

processadores

Page 244: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

� Consistência :� P1: P2

� A=0; B=0;� .... ......� A=1; B=1;� if(B==0) ... if(A==0) ....

� Inicialmente, A e B em cache com valor igual a zero, qual dos dois if é seguido ou os dois?

CE-703 / ITAPaulo André Castro

dos dois if é seguido ou os dois?� Muitas vezes precisa ser tratado pelo próprio

programador

Page 245: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Coerência� Um sistema de memória é coerente se:

1. Uma leitura por um processador P em uma posição X seguido de um gravação por P em X, sem a ocorrência de gravações em X por outro processador neste intervalo, sempre retorna o valor gravado por P.

2. Uma leitura por P1 na posição X após uma gravação por P2 em X retorna o valor gravado se a leitura e a gravação estiverem separadas no tempo e não ocorrer nenhuma outra gravação em X

CE-703 / ITAPaulo André Castro

separadas no tempo e não ocorrer nenhuma outra gravação em X entre os dois acessos.

3. Gravações na mesma posição são serializadas; isto é, duas gravações na mesma posição por dois processadores quaisquer são vistas na mesma ordem por todos os processadores. Por exemplo, se os valores 1 e depois 2 são gravados em X, nenhum processador pode ler 2 e depois 1

Page 246: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Caches Coerentes

� Manutenção em Hardware da coerência de caches através de protocolos de coerência de Cache

� Abordagem baseada em Snooping� Invalidação de gravação

CE-703 / ITAPaulo André Castro

� Invalidação de gravação� Atualização ou Difusão

� Abordagem baseada em Diretório� Usadas em Arquitetura de memória distribuída

compartilhada

Page 247: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Protocolos de Snooping

� Cada cache tem um cópia dos dados de um bloco de memória e também uma cópia do status de compartilhamento do bloco(compartilhado/ não compartilhado)

� Como as caches compartilham o barramento de memória elas espionam (snoop) o tráfego para verificar se tem cópias do bloco trafegado

� Snooping com Invalidação� Gravação em bloco compartilhado invalida as demais cópias do bloco em cache.

CE-703 / ITAPaulo André Castro

� Gravação em bloco compartilhado invalida as demais cópias do bloco em cache. � Ao tentar acessar um bloco inválido, há uma falha de cache, e o dado vem do

bloco de cache “dirty” e também para a memória (caso write-back)� Gravações em blocos não compartilhados não geram problemas. Porque?� O que aconteceria com sistemas write-through?

Page 248: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Protocolos de Snooping com Invalidação

CE-703 / ITAPaulo André Castro

Page 249: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Protocolos de Snooping

� Snooping com Atualização ou Difusão� Diferença apenas no tratamento da gravação, o armazenamento de cache é o

mesmo. Isto é, bloco e status do bloco

� Gravação em bloco compartilhado atualiza as demais cópias do bloco em cache e também a memória

� Exemplo� Exemplo

Page 250: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sistemas de Entrada e Saída

Page 251: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Os cinco componentes clássicos de um Computador

CE-703 / ITAPaulo André Castro

Page 252: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Sistemas de Entrada e Saída (I/O)� Medidas de Desempenho

� Throughput e Tempo de Resposta(Latência)

� Discos Magnéticos

� Acesso a E/S � Instruções X Mapeamento de Memória

� Status: pooling x Interrupting

CE-703 / ITAPaulo André Castro

� Status: pooling x Interrupting

� Delegando Responsabilidade: DMA & IOP(I/O Processor)

� Interação com Sistema Operacional� Compartilhamento de Recursos: Scheduling e Proteção

� Provisão de “Drivers” de dispostivo

Page 253: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O que importa em Projeto de I/O?� Desempenho

� Expansibilidade

� Disponibilidade

� Capacidade de recuperação em caso de falha

CE-703 / ITAPaulo André Castro

Page 254: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho de Sistema de E/S� O desempenho de sistemas de E/S depende de vários

aspectos:� Barramentos

� I/O Controllers

� Dispostivos de I/O

O software de I/O (OS e device drivers)

CE-703 / ITAPaulo André Castro

� O software de I/O (OS e device drivers)� Velocidade

� Uso eficiente dos dispositvos

Page 255: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O papel do I/O

CE-703 / ITAPaulo André Castro

Page 256: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo de Arquitetura de um Computador Atual

CE-703 / ITAPaulo André Castro

Page 257: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos no Pentium 4

CE-703 / ITAPaulo André Castro

Page 258: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo de Dispositivos de IO e Tx. De Transferência

CE-703 / ITAPaulo André Castro

Page 259: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Discos Magnéticos� Propósito:

� Armazenamento não-volátil� Grande, barato e lento� Nível mais baixo na hierarquia de memórias

� Dois grandes Tipos:� Floppy disk� Hard disk

� Ambos os tipos:Baseiam-se em um disco rotativo coberto com uma superfície magnética

CE-703 / ITAPaulo André Castro

� Baseiam-se em um disco rotativo coberto com uma superfície magnética� Usam uma cabeça(head) de leitura/escrita para acessar as informações� Vantagens dos Discos rígidos (HD) sobre Floppy disks:

� Como os disco são rígidos(metal ou vidro) podem ser maiores� Maior densidade porque podem ser controlados com mais precisão� Maior taxa de transferência porque podem rodar mais rápido� Podem ter mais de um “disco” (platter)

Page 260: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Organização de um Disco

CE-703 / ITAPaulo André Castro

Page 261: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Números Típicos

� Números Típicos (dependem do tamanho do disco)

� 5.000 a 30.000 trilhas(tracks) por superfície

� 100 a 500 setores(sectors) por trilha� Setor: menor unidade que pode ser lida

� Geralmente todas as trilhas tem o mesmo número de setores

CE-703 / ITAPaulo André Castro

setores� Logo: setores tem tamanhos físicos distintos

Page 262: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Disco Magnético

� Cilindros: Todas as trilhas sobre a cabeça de leitura/ escrita das superfícies.

� Processo de Leitura/EscritaProcesso de Leitura/Escrita1. Posicionar o braço na trilha correta

(seek time)

2. Roda o disco até que o setor esteja sobre a cabeça de leitura (rotational latency)

3. Ler ou gravar (transferir) um bloco de dados (transfer time)

Page 263: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho de Discos Magnéticos� Seek Time: na faixa de 5 a 12 ms

� Soma de todos os tempos de buscas/Número de Buscas� Devido à “localidade” o seek time real pode ser apenas 25%

a 30% do tempo divulgado pelos fabricantes.

CE-703 / ITAPaulo André Castro

Page 264: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Latência Rotacional

� Rotational Latency: � Período de rotação do disco: 3,600 a 10,000 RPMs (16ms a

0,4ms por rotação)� Latência média: Tempo para percorrer metade do disco (8ms

a 0,2 ms)

CE-703 / ITAPaulo André Castro

� Latência Rotacional=0,5 * Periodo de rotação = 0,5/X RPM = 0,5/ (X*60*RPS)

Page 265: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desempenho de Discos Magnéticos� Tempo de Transferência: fatores relevantes

� Tamanho da transferência(1 setor): 1KB/setor

� Taxa de Transferência: 3 a 65MB/s� Velocidade de Rotação: 3600 a 15000 RPM

� Densidade de bits: bits/polegada

� Diâmetro do disco: 1,0 a 3,5 polegadas

CE-703 / ITAPaulo André Castro

� Diâmetro do disco: 1,0 a 3,5 polegadas

� Valores típicos de Transfer Time: 0,01 a 0,03ms/setor

Page 266: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tempo de Acesso ao Disco

CE-703 / ITAPaulo André Castro

Disk Access Time = Queuing Delay + Controller Time +Seek time + Rotational Latency + Transfer time

Page 267: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exercício: Calcule o tempo de acesso ao Disco.

CE-703 / ITAPaulo André Castro

Page 268: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Solução

CE-703 / ITAPaulo André Castro

Page 269: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Flash

� Não-volátil e baseado em transistores como EEPROM, porém maior capacidade de memória por chip

� Baixo consumo de energia e resistência a vibrações quando comparado com discos

CE-703 / ITAPaulo André Castro

quando comparado com discos

� Baseia-se em transitores MOSFET (floating-gate transistor)

Page 270: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Flash - 2

� Basicamente dois tipos Flash: NOR Flash e NAND Flash

� NOR Flash

� Tempo de acesso de leitura é comparável a DRAM (bem mais rápido que discos)

� Livres de falhas. Tipicamente usada como NVRAM

NAND Flash

CE-703 / ITAPaulo André Castro

� NAND Flash

� A taxa de transferência é comparável a dos discos

� Usada em USB flash drives, memory card, solid state disks. Capaz de lidar com falhas de memória.

� Tempo de gravação bem maior que o de leitura (possivelmente maior que discos rígidos)� Primeiro apaga-se um bloco de memória e depois grava-se

Page 271: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Uma célula de uma memória Flash

CE-703 / ITAPaulo André Castro

Page 272: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Flash

� Qual o Tempo de leitura e gravação de um bloco de 64KB em memória Flash e disco magnético ? (Dados de 2001) � Memória Flash: 65ns/leitura de 1 byte

� 1,5Microsegundos/gravação de 1byte e 5ms para apagar 4KB

� Disco: Overhead de controlador: 1ms� 3600RPM

CE-703 / ITAPaulo André Castro

� 3600RPM

� 12ms de seek time anunciado(real igual a 1/3)

Page 273: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Flash

� Flash� Leitura: 64KB*65ns/Byte= 4,3ms

� Gravação: 64KB/(4KB/5ms) + 64KB*1500ns/B = 178,3ms

� Disco� Leitura/Gravação

12ms/3 + 0,5/3600RPM + 64KB/4,2MB/s +0,1ms =

CE-703 / ITAPaulo André Castro

� 12ms/3 + 0,5/3600RPM + 64KB/4,2MB/s +0,1ms =

� 27,3ms

Page 274: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Dados de Flash Memories

CE-703 / ITAPaulo André Castro

� O padrão compact Flash simula discos ATA, por isso simula interface de discos, seek commands, trilhas lógicas, etc.

� cu.in =Cubic inch

Page 275: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Memória Flash� O custo por GB tem caído por volta de 50% ao ano.

� Em 2006, o custo/GB é aproximadamente igual a DRAM e 50 vezes maior que disco rígido mesma taxa de transferência de discos e latência de 10 a 100 vezes menor...

� Em 2008, o custo/GB era de 4 a 8$, ou 4 a 20 vezes mais caros que o custo/GB do disco e 5 a 10 vezes mais baixo que DRAM

� porém há desgaste da memória, normalmente limitado a 1M de gravações

CE-703 / ITAPaulo André Castro

� porém há desgaste da memória, normalmente limitado a 1M de gravações

� Eliminou o discos flexíveis...

� Tornou-se padrão em Sistemas Embutidos

� Eliminará os discos rígidos?� Já há laptops baseados unicamente em flash...

Page 276: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Pooling x Interrupting

CE-703 / ITAPaulo André Castro

Page 277: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Interrupting

CE-703 / ITAPaulo André Castro

Page 278: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos

Page 279: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Principais Componentes

CE-703 / ITAPaulo André Castro

Page 280: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Um Barramento (Bus) é

CE-703 / ITAPaulo André Castro

Page 281: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Funções do Barramento� Conexão de Memória

� Recebe e envia dados� Recebe endereços� Recebe sinais de controle

� Read� Write� Timing

� Entrada e Saída (I/O)

CE-703 / ITAPaulo André Castro

� Entrada e Saída (I/O)� Recebe e Envia dados� Recebe sinais de controle do computador� Recebe sinais de controle dos periféricos

� Ex.: velocidade de rotação do disco� Recebe endereços do computador

� Ex.: Número de porta para identificar periférico� Envia sinais de interrupção para computador(controle)

Page 282: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Esquema de Barramento

CE-703 / ITAPaulo André Castro

Page 283: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos

� Barramento de Dados� Transporta dados (ou instruções) não há diferença neste nível

� Geralmente bidirecional

� Largura é determinante para o desempenho

� Barramento de Endereços� Identifica fonte ou origem de um fluxo de dados

CE-703 / ITAPaulo André Castro

� Identifica fonte ou origem de um fluxo de dados

� Largura identifica a capacidade máxima de endereçamento

� Barramento de Controle� Sinais de Controle (ler/gravar)

� Sinais de interrupção

� Sinais de clock

Page 284: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramento no Pentium 4

CE-703 / ITAPaulo André Castro

Page 285: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Vantagens de usar Barramentos

CE-703 / ITAPaulo André Castro

Page 286: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Desvantagens de Barramentos

CE-703 / ITAPaulo André Castro

Page 287: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

O que define um Barramento ?

CE-703 / ITAPaulo André Castro

Page 288: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Projeto de Barramentos

� A velocidade e a largura de banda são influenciados por 4 fatores principais:� Largura do Barramento

� Esquema de Clock do Barramento

� Método de Arbitragem

Operação

CE-703 / ITAPaulo André Castro

� Operação

Page 289: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Largura do Barramento� O número de linhas de endereço determina o tamanho da

memória endereçável� Quanto maior o número de linhas, mais fios, conectores

maiores. Logo, o hardware torna-se mais caro.� 8088 – 20 linhas de endereço, 80286 + 4 linhas, 80386 +8 linhas

� A tendência é um crescimento constante das larguras dos barramentos para aumentar a capacidade dos barramentos

CE-703 / ITAPaulo André Castro

barramentos para aumentar a capacidade dos barramentos� Muitas vezes projetistas fazem multiplexação de dados e

endereços em diferentes fases (ou em tempo) para reduzir o número de linhas. Mas com isto também se reduz o desempenho do barramento.

Page 290: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André
Page 291: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Mestre (Master) e Escravo(Slave)

CE-703 / ITAPaulo André Castro

Page 292: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 293: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Múltiplos Mestres de Barramento: Arbitragem� Com múltiplos possíveis mestres de barramento é necessário definir um

meio de garantir que apenas um dispositivo será selecionado como mestre.

� O método deve balancear:� Prioridade entre dispositivos

� Justiça: mesmo o dispositivo de prioridade mais baixa deve operar

� Quatro possíveis Classes de ArbitragemArbitragem distribuída por auto-seleção: Cada dispositivo coloca o próprio

CE-703 / ITAPaulo André Castro

� Arbitragem distribuída por auto-seleção: Cada dispositivo coloca o próprio código

� Arbitragem distribuída por detecção de colisão: exemplo Ethernet

� Daisy Chain: Autorização dada em seqüência...

� Arbitragem Centralizada: Autorização dada por órgão central...

Page 294: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 295: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

CE-703 / ITAPaulo André Castro

Page 296: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplos de Barramentos

CE-703 / ITAPaulo André Castro

Page 297: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

VídeoAGP: Uma porta para vídeo

CE-703 / ITAPaulo André Castro

Page 298: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conector AGP

CE-703 / ITAPaulo André Castro

Page 299: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tipos de Conectores AGP e Placa

CE-703 / ITAPaulo André Castro

Page 300: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramento PCI

CE-703 / ITAPaulo André Castro

Page 301: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conectores PCI 32 bits 5V em uma Placa Mãe

CE-703 / ITAPaulo André Castro

Page 302: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Exemplo de Placa PCI – 32 bitsAdaptador SCSI

CE-703 / ITAPaulo André Castro

Page 303: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Conectores PCI 64 bits 5V em uma Placa Mãe

CE-703 / ITAPaulo André Castro

Page 304: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Universal Placa de Rede Ethernet

CE-703 / ITAPaulo André Castro

Page 305: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos Antigos...ISA

� ISA, (Industry Standard Architecture)� palavra de 8 bits� 62 pinos, � taxa de 1.2 MB/s)

Page 306: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos Antigos...EISA

� Extended ISA (palavra de 32 bits, 98 pinos)� Taxa de transferência: 32 MB/s

Page 307: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos Antigos...VESA� VESA Local Bus (VLB)

� Palavra de 32 bits, 112 pinos� Taxa de transferência:133 MB/s� Slot é uma extensão do ISA

Page 308: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Universal Serial Bus (USB 2.0)

Page 309: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Histórico de versões� USB 0.7: Lançado em novembro de 1994.

� USB 0.8: Lançada em dezembro de 1994.

� USB 0.9: Lançada em abril de 1995.

� USB 0.99: Lançado em agosto de 1995.

� USB 1.0: Lançado em janeiro de 1996, com taxas de transferência de dados de 1,5 Mbit / s (baixa velocidade) e 12 Mbit / s (Velocidade máxima).

CE-703 / ITAPaulo André Castro

� USB 2.0: Lançado em abril de 2000 com a velocidade de 480 Mbps.

� USB 3.0: Lançado em setembro de 2009 com a velocidade de 4,8 Gbps.

Page 310: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramentos Aviônicos

� MIL-STD 1553 (Padrão para aviões militares)

� Uso Civil – ARINC (Aeronautical Radio, Incorporated)� ARINC 429

CE-703 / ITAPaulo André Castro

� ARINC 429

� ARINC 629

Page 311: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

MIL-STD 1553

� O padrão 1553 pode ser dividido em três partes:� Tipos de terminais: Bus controller, Bus monitor (opcional) e

Remote Terminal

� Protocolo de Barramento: incluindo formatos de mensagens e estrutura

� Especificação de hardware: tais como impedências, frequencia

CE-703 / ITAPaulo André Castro

� Especificação de hardware: tais como impedências, frequencia de operação, etc.

� O barramento 1553 pode operar com até 1Mbps de taxa de transferência

Page 312: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

MIL-STD 1553 – Estrutura de Barramento

CE-703 / ITAPaulo André Castro

Page 313: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Tipos de Terminais no padrão1553

� Bus Controller: Responsável por todo o fluxo de dados do barramento e inicia todas as transferências de informação. Também monitora o status do sistemas, não confundir com o Bus monitor.

� Bus Monitor: Recebe e armazena tráfego selecionado no

CE-703 / ITAPaulo André Castro

� Bus Monitor: Recebe e armazena tráfego selecionado no barramento. Não responde a nenhum tráfego

� Remote Terminal: São o maior número de unidades de um barramento 1553. Devido a endereçamento de RT utilizar 5 bits nas mensagens, podem existir até 31 RT em um barramento. Um RT pode ser uma unidade separada para ligar um subsistema ou ser parte do subsistema.

Page 314: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Direct Coupled

� Bus is terminated at each end with a terminating resistor.

� Connection from the Tee to the terminal is very short.

� Typically Tee is connected directly to the connector on the back of the terminal.

CE-703 / ITAPaulo André Castro 23-379

Page 315: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Transformer Coupled� Bus is terminated at each end with a terminating resistor,

just as in Direct Coupling but � now the two Tee's replaced with transformer couplers.

� Connection to the terminals is no longer the length of the Tee, but significantly long, consisting of another cable (of up to 20 feet in length).

CE-703 / ITAPaulo André Castro 23-380

Page 316: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Transformer Coupled (Example)

CE-703 / ITAPaulo André Castro 23-381

Page 317: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Words 1553

CE-703 / ITAPaulo André Castro

Page 318: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Formatos de Transferência de Dados -1553

CE-703 / ITAPaulo André Castro

Page 319: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

ARINC 429

� “ARINC. Specification 29 Digital Information Transfer System, Mark 33”, 429 as it is commohnly known , is the basis from digital buses in modern civil aircraft” Digital Avionics Systems. P.31.

ARINC 429 opera com taxas de transferências de 12 a

CE-703 / ITAPaulo André Castro

� ARINC 429 opera com taxas de transferências de 12 a 14.5 or 100kpbs em um barramento simplex

Page 320: Lei de Amdahl - IECpauloac/ce703/ce703_cap2_p2.pdf · Crítico Custo e Energia: Não há espaço para conversão de hardware Utiliza Compiladores e Arquiteturas RISC Paulo André

Barramento Arinc 429

CE-703 / ITAPaulo André Castro