Upload
ngodan
View
214
Download
0
Embed Size (px)
Citation preview
Introdução à
Computação:
Arquitetura von
Neumann
Beatriz F. M. Souza
http://inf.ufes.br/~bfmartins/
Computer Science Department
Federal University of Espírito Santo
(Ufes),
Vitória, ES – Brazil
1
Arquitetura von Neumann – Revisão
Aula Passada
• Arquitetura von Neumann – Parte 2:
– CPU.
2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Arquitetura von Neumann – Componentes
• Máquina de von Neumann – Comparativo:
18
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
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
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
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
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
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
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
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
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
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
Arquitetura von Neumann – Próxima Aula
• Arquitetura von Neumann:
– Para a próxima aula:
• Componentes.
Continuaremos na próxima aula!
Até breve.
29
http://nemo.inf.ufes.br/
30