Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Documentos relacionados
Sistemas de Memória IEC - ITA. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

SRAM Static RAM. E/L Escrita Leitura. FPM DRAM Fast Page Mode EDO DRAM Extended Data Output SDRAM Synchronous DDR SDRAM Double Data Rate RDRAM Rambus

Hardware e Manutenção de Micros

Memórias Row Address Strobe Column Address Strobe

Programador/a de Informática

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Embora seja brutalmente mais rápida que o HD e outros periféricos, a memória RAM continua sendo muito mais lenta que o processador.


Arquitetura de Computadores. Memórias

SSC0112 Organização de Computadores Digitais I

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores]

Visão geral do sistema de memória de computadores

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

Memória é um dispositivo capaz de armazenar informação. Logo, podemos dividir dos dispositivos que podem armazenar dados em Quatro tipos:

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna

Memória Principal. Tiago Alves de Oliveira

Conceitos e Gerenciamento de Memória

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

Memória. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva

Circuitos Lógicos Aula 26

Técnico de Eletrónica, Automação e Computadores. Sistemas Digitais. Módulo 5 Memórias

Microprocessadores II - ELE 1084

Aula 16: Memória Principal e Memória Virtual

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Sistema de Memórias COMPUTADOR CONTROLE ENTRADA VIA DE DADOS SAÍDA PROCESSADOR MEMÓRIA S E TO R R EC RE CEI TA S T EM S E TO R C A RNE S

Memórias Semicondutoras

Manutenção de Microcomputadores I

Função Principal da Memória

Microprocessadores II - ELE 1084

Aula 16: Memória Principal e Memória Virtual

MICROPROCESSADORES TIPOS DE MEMÓRIAS

Na segunda aula vamos falar sobre o Processador, funcionamento e seus tipos.

4. As condições de igualdade menor que e maior que são verificadas por a. Operações lógicas b. Subtração c. Localizações d. Operações aritméticas

Os computadores necessitam de uma memória principal, cujo papel primordial é armazenar dados e programas que estejam a ser utilizados no momento.

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Hierarquia de memória. Melhorando o desempenho

Memória Cache. Aula 24

E.E.E.P. Dr. Solon Tavares Introdução à Informática e Sistemas Operacionais Prof. Henrique Cordeiro. Memória

ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012

Aula 03. Componentes Básicos de um Computador, Dispositivos de Entrada e Saída, Dispositivos de Armazenamento de Dados, Periféricos.

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

INFORMÁTICA MEMÓRIAS. Prof. MSc. Glécio Rodrigues de Albuquerque

Arquitetura e Organização de Computadores

Hierarquia de Memória

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Arquitetura de Computadores

Sistemas Operacionais. Conceitos de Hardware

- Arquitetura de sistemas digitais- Cap 2 Arquitetura de computadores

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA. Prof. Dr. Daniel Caetano

1ª Lista de Arquitetura de Computadores

DIFERENÇA DE VELOCIDADE entre UCP e MP

ORGANIZAÇÃO DE COMPUTADORES

Sistemas Operacionais

16ª AULA OBJETIVOS: MEMÓRIAS EVOLUÇÃO FREQÜÊNCIA TECNOLOGIA BARRAMENTO TEMPO/ACESSO ARMAZENAMENTO BANCO DE MEMÓRIA APOSTILA PÁGINA: 176 A 186.

Sequência 17 Organização e Hierarquia de Memória

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA. Prof. Dr. Daniel Caetano

SUBSISTEMA DE MEMÓRIA FELIPE G. TORRES

Tecnologias de Memória

Microcontroladores e Interfaces

MEMÓRIAS EM UM SISTEMA COMPUTACIONAL

ESTRUTURA GERAL DE DE UMA RAM

MEMÓRIA. Prof. Elton Profa. Joice

Capítulo 9 M E M Ó R I A

HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO. Wagner de Oliveira

Placa Mãe (Principal)

Organização de Computadores Processadores, Placa Mãe e Memória RAM. Professor: Francisco Ary Alves de Souza

Fundamentos de Microinformática. Ricardo José Cabeça de Souza 2010 Fundamentos 2

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Organização e Arquitetura de Computadores

Arquitetura de computadores

Sistemas de Computação. Seção Notas. A Memória Principal. Notas. Sexta Aula. Haroldo Gambini Santos. 26 de abril de Notas

Componentes de Hardware. Alberto Felipe FriderichsBarros

Organização de Computadores Sistema de Interconexão. Professor: Francisco Ary

Barramento. Prof. Leonardo Barreto Campos 1

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Sistemas de Computação

Hardware Conceitos Básicos. Introdução*à*Informática 14

Memória. Christian César de Azevedo

Universidade de São Paulo

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano

Arquitetura de Computadores Memória Principal

Introdução à Computação

DEFINIÇÃO É TODO AQUELE DISPOSITIVO CAPAZ DE ARMAZENAR INFORMAÇÃO. A

UNIVERSIDADE ESTADUAL DO PARÁ UEPA LISTA DE EXERCÍCIOS DE INTRODUÇÃO A COMPUTAÇÃO. 2. O que diferencia os computadores de 1ª geração dos da 2ª.

INFORMÁTICA BÁSICA HARDWARE: COMPONENTES BÁSICOS E FUNCIONAMENTO.

Gerenciamento de memória

Memória [11] Manutenção de. Prof.: Ari Oliveira

Memória. Prof. Alexandre Beletti Cap. 4 Monteiro, Cap. 2 Tanenbaum, Cap. 5 Stallings, Cap. 3 - Weber. Introdução (Weber)

Gerenciamento de Memória

ARQUITETURA DE COMPUTADORES

Laboratório de Hardware

Faculdade de Tecnologia Senac GTI Modulo I Organização de Computadores

CEFET-RS Curso de Eletrônica

Transcrição:

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac

Técnicas para Melhorar o Desempenho da Memória Principal Opções: Aumentar largura do dados Barramento mais largo Intercalar memória Melhor tempo de acesso tecnologia de construção: clock, latência,etc. DDR (Double Data Rate), DDR2, etc.

Melhorando o Desempenho da Memória Principal

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. É claro que, para ganho máximo, num dado momento, cada acesso à memória deve acessar módulos distintos.

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

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: TempoExecução+Penalidade*Tx.Erro CPI para sistema de memória de 1 palavra 2+3% *( 1,2*64) = 4,3

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 128 bits, sem intercalação: 2+2%*1,2*64 = 3,54 barramento de 64 bits, com intercalação (2 bancos): 2+2%*1,2* (4+56+8) =3,63

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 Duplicação do Barramento mais rápido em 1,22 vezes Speedup = 1,22 = (4,3/3,63) Intercalação de Memória mais rápida em 1,19 vezes Speedup = 1,19 = (4,3/3,63)

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 128 bits, sem intercalação: 2+1,2%*1,2*2*64 = 3,84 barramento de 64 bits, com intercalação (4 bancos): 2+1,2%*1,2* (4+56+16) =3,09

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

Funcionamento e Tecnologia de Construção da Memória RAM

Tempos de Acesso e Tamanhos de Níveis de memória - Servidor

Tempos de Acesso e Tamanhos de Níveis de memória Dispositivo Pessoal Móvel

Desempenho Microprocessador vs Memória

Memória vs Disco Custo/GB x Tempo de Acesso

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

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

Organização de uma DRAM

Matriz de vários bits

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

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

Modos de Operação Modo Regular Cada acesso é definido por: RAS(Row Access Strobe) CAS (Column Access Strobe) Carregamento do Dado Modo Rápido Dados na mesma linha são acessados apenas mudando o CAS

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 RAS-to-CAS delay (trcd) : seleção de coluna CAS latency (CL) : leitura/gravação do dado Cycle Time (tras): tempo completo médio

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)

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)

Dados de Módulos de DRAM Standard name I/O Bus clock Data transfers per second Module name Peak transfer rate 266M/s*8B/tranfser=2128MB/s DDR-266 133 MHz 266 Million PC-2100 2100 MB/s 300M/s*8B=2400MB/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 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 DD4-3200 1600 MHz 3200 Million PC -25600 25600 MB/s

Memória Virtual

Memória Virtual

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 Simplifica a Proteção de Memória

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

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

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?

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 mesmo objeto de dados. Freqüente?

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 Bloco: 4KB Memória virtual: 4GB Tamanho da Tabela de Páginas > 5 MB Solução: Cache da tabela de páginas!

Hierarquia de Memória com MV

O funcionamento da MV

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)? P4: O que acontece em uma gravação (estratégia de gravação)?

Translation Look-aside Buffer (TLB) 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.).

Fragmentação e Realocação

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

Segmentação A segmentação, isto é, páginas de tamanho variável é usada por exemplo na arquitetura x86 Os segmentos são alocados por cada programa e por terem tamanhos diferentes cada um deve ter campo identificando seu tamanho real. A unidade de transferência entre disco e memória física (principal) é o segmento. Por isso, duas trocas podem ter tamanhos diferentes

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 Caches tipicamente trabalham com endereços físicos

Juntando Tudo: Intel Core i7

Core i7

Core i7 Sistema de Memória - Core i7