Introdução à Computação: Arquitetura von...

30
Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória, ES Brazil 1

Transcript of Introdução à Computação: Arquitetura von...

Page 1: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Introdução à

Computação:

Arquitetura von

Neumann

Beatriz F. M. Souza

([email protected])

http://inf.ufes.br/~bfmartins/

Computer Science Department

Federal University of Espírito Santo

(Ufes),

Vitória, ES – Brazil

1

Page 2: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Revisão

Aula Passada

• Arquitetura von Neumann – Parte 2:

– CPU.

2

Page 3: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias:

– Função:

• Armazenar dados e programas (conjunto de instruções), permitindo o processamento automático dos dados.

– Armazenamento:

• Volátil, quando perdem seu conteúdo quando estão sem alimentação;

• Não volátil, quando mantém seu conteúdo mesmo sem alimentação.

– Tipos:

• Memórias Principais (MP);

• Memórias Secundárias (MS).

3

Page 4: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Principais:

– Memórias Principais:

• Grande velocidade na troca de informações;

• Limitada (armazena somente alguns programas e dados);

• É a memória de trabalho, nela são carregados todos os programas e dados usados pela CPU no momento;

• Geralmente o seu conteúdo será perdido uma vez que o computador seja desligado;

• Trabalham diretamente integradas ao processador ou são parte dele;

• Exemplos:

– RAM (Random Access Memory);

– SRAM (Static Random Access Memory);

– Memória Cache. 4

Page 5: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias RAM:

– RAM (Randomic Access Memory): • Na década de 50 surgiram as primeiras ideias a respeito de

memórias de acesso aleatório;

• Mas foi em 1966 que o Dr. Robert Dennard criou a primeira DRAM (Dynamic Randomic Access Memory), para uma calculadora Tochiba que armazenava dados temporariamente;

• A partir da década de 70 as memórias DRAM foram definidas como padrão mundial, dominando 70% do mercado e já havia evoluído, contendo diversos conceitos básicos usados nas memórias atuais;

• As diversas variações de DRAM receberam diversas denominações, de acordo com sua disposição física ou tecnologia.

5

Page 6: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DRAM:

– DIP, SIPP e SIMM: • Os módulos DIP (Dual in Parallel) vinha

embutida na placa-mãe e funcionava nos primeiros computadores anteriores aos PCs 286;

• Os módulos SIPP (Single In-line Pin Package), que era uma versão intermediária, mas com problemas relacionados à quebra dos pinos não vingou;

• O padrão SIMM (Single In-line Memory) foi adotado em PCs e trazia os chips de memória em apenas um dos lados do módulo de memória.

6

Page 7: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DRAM:

– FPM e EDO: • A tecnologia FPM (Fast Page Mode) foi usada para para

melhorar o padrão SIMM e podia armazenar 256 KB;

• Basicamente permitia ler ou escrever múltiplos dados em uma linha sucessivamente;

• As memórias com tecnologia EDO (Extended Data Out), apareceram em 1995, e aumentaram em 5% a performance em comparação com as FPM;

• Permitia iniciar um novo ciclo de dados antes que os dados de saída anterior fossem enviados para outros componentes.

7

Page 8: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias SDRAM:

– DIMM e SDRAM: • O padrão SIMM já não era

mais o suficiente para comportar a quantidade de dados requisitada pelos processadores, migrou-se para o padrão DIMM (Dual In-line Memory Module);

• A diferença básica estava no fato dos módulos DIMM possuírem chips de memória instalados nos dois lados do módulo;

• A transmissão foi aumentada de 32 para 64 bits;

• A evolução da DIMM, trouxe o padrão SDRAM (Static Random Access Memory) em substituição ao padrão DRAM, que trabalha sincronizando os dados com o barramento do sistema.

8

Page 9: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias SDRAM:

– RIMM: • Pouco depois do padrão DIMM, surgiu o padrão RIMM

(Rambus In-line Memory Module), diferenciando-se somente pela ordenação e formato dos pinos;

• Foram usadas no Nintendo 64 e no Playstation 2;

• Era bom mas o padrão não conseguiu acompanhar a evolução que ocorreu com as DIMM;

• Foi abandonado em 2001 mesmo tendo tido certo incentivo da Intel.

9

Page 10: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias SDR SDRAM:

– PC100: • Surgiu durante o auge das RIMM;

• SDR SDRAM (Synchronous Dynamic Random Access Memory), é uma DRAM que é sincronizada com o barramento do sistema;

• O padrão PC100, que era uma SDR SDRAM, foi criado pela empresa JEDEC;

• A frequência passou a ser um quesito importante, e o sufixo “PC” serviu então para indicar a largura de banda das memórias;

• Por exemplo:

– PC100 possuía largura de banda de 100 MB/s;

– PC3200 possuía largura de banda de 3200 MB/s. 10

Page 11: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DDR SDRAM:

– DDR, DDR2 e DDR3: • As memórias DDR, operavam com frequências de até

200MHz, mas o barramento operava a apenas 100MHz;

• O motivo para esta diferença estava no tráfego do barramento que era duplicado, esse é o motivo do nome DDR (Double Data Rate);

[número de bytes] x [frequência do barramento] x 2

11

Page 12: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DDR SDRAM:

– DDR, DDR2 e DDR3:

• As memórias DDR2 e DDR3, são as que estão presentes nos computadores atuais;

• As memórias DDR2 é exatamente igual a DDR, porém a taxa de dados foi dobrada;

• Além da largura de banda, a DDR2 é mais eficiente e trabalha em temperaturas mais baixas, porque passou a trabalhar em tensões mais baixas (1,8V);

• Atualmente as mais avançadas alcançam frequências de 1300MHz, ou seja 650MHz reais.

12

Page 13: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DDR SDRAM:

– DDR, DDR2 e DDR3:

• O DDR3 é o padrão mais recente, e atualmente está gradualmente substituindo a DDR2;

• A tensão caiu mais um pouco, de 1,8V da DDR2 para 1,5V;

• A frequência foi aumentada significativamente e é possível encontrar memórias que operam a 2400MHz.

13

Page 14: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DDR SDRAM:

– Dual-Channel e Triple-Channel: • Mesmo com toda esta evolução, as memórias ainda não

alcançam as mesmas velocidades das CPUs;

• Para aumentar o desempenho geral usou-se um “truque”, conhecido como Dual-Channel, onde se dobra a largura do barramento, mas esta é uma tecnologia dependente da placa-mãe e da capacidade do processador que precisa ter um controlador capaz de trabalhar com o dobro da largura do barramento;

• É necessário instalar sempre dois módulos para usar este recurso.

14

Page 15: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias DDR SDRAM:

– Dual-Channel e Triple-Channel: • Muito parecida com o Dual-Channel, o Triple-Channel usa

um canal triplo ao invéz de duplo;

• Da mesma forma é necessário que a placa-mãe e o processador sejam compatíveis;

• Os primeiros a usar este recurso foram os Intel i7 de primeira geração;

• Neste caso a largura do barramento é aumentada para 192 bits (o triplo de 64 bits), e consequentemente a taxa de transferência triplica;

• Neste caso vale a mesma regra, são necessários a instalação de 3 módulos para usar este recurso.

15

Page 16: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Outras Memórias:

– Outros padrões: • Enquanto os PCs evoluíram nas memórias DIMM SDRAM,

outros dispositivos aderiram memórias alternativas;

• Por exmplo:

– Playstation 3 aderiu a linha de memórias XDR DRAM. O padrão XDR é como se fosse o sucessor das antigas RIMM;

– Há também as memórias usadas em placas gráficas, que são do padrão GDDR, variando de primeira a quinta gerações (GDDR a GDDR5). As memórias são semelhantes às DDR, apenas diferem em alguns aspectos e nas suas frequências.

16

Page 17: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Próximas Memórias:

– FRAM e MRAM: • As FRAM ou FeRAM (Ferro-matnetic Random Access

Memory), é um tipo de memória não volátil onde os dados são armazenados em pequenos espaços ou faixas de material revestido com filme magnético;

• As MRAM (Magneto-resitive Random Access Memory) estão ganhando destaque, porque são compostas de células magnéticas, capaz de reduzir à metade o consumo de energia;

• Recentemente a Tochiba e a NEC anunciaram o desenvolvimento conjunto de uma nova MRAM não volátil;

• O futuro parece caminhar na direção das MRAMs.

17

Page 18: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Comparativo:

18

Page 19: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Função:

– Memória Cache refere-se a um bloco de memória de alta velocidade, para armazenamento temporário dos dados que provavelmente serão usados nas próximas operações da CPU;

• Armazenamento:

– O cache é composto de uma fila de elementos, onde cada elemento tem um dado que é uma cópia exata do dado presente no local original;

– Cada elemento possui uma etiqueta (um ponteiro) que especifica a identidade do dado no local de armazenamento original, que foi copiado.

19

Page 20: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Importante:

– O termo cache também é usado com referência a algum tipo de armazenamento intermediário e de acesso mais rápido, muitas vezes usado fora do contexto das memórias físicas, por exemplo: cache de rede, cache do navegador web, cache de disco etc.

20

Page 21: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Cache hit (acerto de cache):

– Antes de solicitar um acesso à memória a CPU primeiro verifica se o dado se encontra em cache, se o dado está em cache a CPU o utiliza imediatamente;

• Cache miss (falha de cache):

– Quando a CPU não encontra o dado no cache, o dado então é trazido da memória para o cache, ficando pronto para uso.

21

Page 22: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Replacement policy (política de substituição):

– A capacidade do cache é limitada, assim se não houver espaço para um novo dado, ocorre a substituição de algum dado menos utilizado, LRU (Least Recently Used);

– LRU é a política de substituição mais comumente usada, porém há outras heurísticas utilizadas;

22

Page 23: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Write policy (política de gravação):

– Quando um dado é escrito no cache, precisa ser gravado no local de armazenamento definitivo em algum momento, este processo é conhecido como política de gravação;

– Há diversas políticas de gravação, por exemplo: » Write-through: a cada gravação no cache o dado também é

gravado em seu local original;

» Write-back: a heurística do cache identifica quais elementos foram sobrepostos e os marca como “sujos” e estas posições são colocadas de volta nos locais de armazenamento original somente quando o elemento for retirado do cache.

23

Page 24: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Protocolos de coerência:

– Eventualmente os dados podem ser alterados em seu local original, por outras operações além do cache, neste caso a cópia contida no cache passa a ser inválida;

– Os protocolos de comunicação entre os gerentes do cache, que são responsáveis por manter os dados consistentes são conhecidos como Protocolos de coerência.

24

Page 25: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Princípio da localidade de referência:

– É a tendência da CPU ao longo da execução, de referenciar instruções e dados da memória que estão localizados em endereços próximos;

– Isso ocorre devido às estruturas de repetição (loops de instruções, sub-rotinas, etc.) e às estruturas de dados (vetores, matrizes, strings, etc.), que fazem uso da memória de forma consecutiva.

25

Page 26: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Tipos mais conhecidos:

– Mapeamento direto: » Cada bloco da memória é mapeado em uma linha do cache;

– Totalmente associativa: » Um bloco da memória pode ser carregado para qualquer

linha do cache;

– Associativa por conjunto (N-way): » É um meio termo entre mapeamento direto e associação.

26

Page 27: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Cache:

– Memória Cache:

• Níveis:

– Cache L1:

» Pequena porção de memória estática, de alta velocidade e que localiza-se internamente à CPU;

» Geralmente varia entre 16KB e 128KB;

– Cache L2:

» Porção intermediária de memória estática, que pode estar localizada dentro ou fora do processador (por questões econômicas);

» Geralmente varia entre 1MB e 24MB;

– Cache L3:

» Porção intermediária geralmente usada por processadores que usam cache L2 interno, pois este nível fica externo à CPU.

27

Page 28: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Componentes

• Máquina de von Neumann – Memórias Secundárias:

– Memórias Secundárias:

• Possuem grande capacidade de armazenamento ou mobilidade podendo ser transportadas de um local para outro;

• Mais lentas em comparação com as memórias principais;

• Geralmente não voláteis, permitindo guardar os dados permanentemente;

• Exemplos:

– Discos rígidos (HD - Hard Disk);

– CDs e DVDs;

– Memórias flash (EEPROM, EPROM);

– Outras mídias mais antigas (disquetes, fitas, cartões perfurados).

28

Page 29: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

Arquitetura von Neumann – Próxima Aula

• Arquitetura von Neumann:

– Para a próxima aula:

• Componentes.

Continuaremos na próxima aula!

Até breve.

29

Page 30: Introdução à Computação: Arquitetura von Neumannbfmartins/wp-content/uploads/2015/05/INFO9300... · Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza

http://nemo.inf.ufes.br/

30