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



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

CEFET-RS Curso de Eletrônica

Memória ROM. Organização Funcional de um. Computador. ROM (Read-Only Memory) Memória Somente Leitura.

Aula 06. Memórias RAM

armazenamento (escrita ou gravação (write)) recuperação (leitura (read))

Memória RAM. Administração de Sistemas Informáticos I 2005 / Grupo 1:

Memória cache. Prof. Francisco Adelton

Memória RAM. A memória RAM evolui constantemente. Qual a diferença entre elas? No clock (velocidade de comunicação com o processador)

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

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Circuitos de Memória: Tipos e Funcionamento. Fabrício Noveletto

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Figura 1 - Memória 1. OBJETIVO. Conhecer os principais tipos de memórias entendendo suas funcionalidades e características.

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Sistema de Memórias de Computadores

Gerência de Memória. Paginação

R S Q Tabela 17 - Tabela verdade NOR

Introdução à estrutura e funcionamento de um Sistema Informático

Curso de Instalação e Gestão de Redes Informáticas

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

Infraestrutura de Hardware. Memória Virtual

O que influi no desempenho de CPU

Introdução. Hardware (Parte II) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

CIÊNCIA E TECNOLOGIA DO RIO INFORMÁTICA BÁSICA AULA 03. Docente: Éberton da Silva Marinho ebertonsm@gmail.com 25/06/2014

Hardware Avançado. Laércio Vasconcelos Rio Branco, mar/2007

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

Arquitetura e Organização de Computadores

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

O Hardware Dentro da Unidade do Sistema

Aula Memória principal e 2. Memória de armazenagem em massa.

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

ARQUITETURA DE COMPUTADORES

HARDWARE FUNDAMENTAL. Unidade de sistema CPU Memória Primária Bus ou Barramento

Sistemas Operacionais. Prof. André Y. Kusumoto

Introdução à Arquitetura de Computadores

Estrutura de um Computador

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Capítulo 4 Gerenciamento de Memória


Curso Profissional de Electrónica, Automação e Computadores. Automação e Computadores

Capítulo 4 Gerenciamento de Memória

HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO. Wagner de Oliveira

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET

Sigla Nome Tecnologia. vez. Programable Read Only Memory (memória programável somente de leitura)

Memórias. Sumário. Introdução Formatos... 2 DDR Memórias DDR Memórias DDR

Introdução a Informática. Prof.: Roberto Franciscatto

ARQUITETURA DE COMPUTADORES

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Organização e Arquitetura de Computadores

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Organização de Computadores Prof. Alex Vidigal Bastos

Os dispositivos lógicos programáveis (PLD Programmable Logic Device) são circuitos integrados programáveis pelo usuário, que

Placa-Mãe. Christian César de Azevedo

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

Sistemas Operativos I

ROM e RAM. Memórias 23/11/2015

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Sistemas Microcontrolados

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Tecnologia - Conjunto de instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica.

HD e Memória Virtual. Qual as vantagens e desvantagens da Memória Virtual?

Introdução. à Estrutura e Funcionamento de um Sistema Informático

AULA: Introdução à informática Computador Digital

CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES

Arquitetura de Von Neumann e os Computadores Modernos

Gerenciamento Básico B de Memória Aula 07

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

for Information Interchange.

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução à Engenharia de Computação

Comunicação Fim-a-Fim a Alta Vede em Redes Gigabit

Arquitetura e organização de computadores

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Memórias. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

Componentes do Computador e noções de Arquitetura de Computadores

CENTRAL PRCESSING UNIT

Arquitetura e Organização de Computadores

Fonte : Introdução

Prof. Sandrina Correia

Chama-se sistema informatizado a integração que

Introdução à Arquitetura de Computadores

Gerenciamento de memória

Gerenciamento de memória

Barramentos 17/10/2011. Redes de Computadores. Arquitetura de Computadores FACULDADE PITÁGORAS DE TECNOLOGIA FACULDADE PITÁGORAS DE TECNOLOGIA.

Memória Cache. Prof. Leonardo Barreto Campos 1

- Sistemas de Memória Interna. por. Helcio Wagner da Silva

Capítulo. Memórias. Leitura e escrita

Organização de Computadores Como a informação é processada?

Avaliação de Desempenho

Memória. Introdução. Unidades de medida de capacidade Tipos:

Conceitos e Gerenciamento de Memória

ARQUITETURA DE COMPUTADORES Prof. João Inácio

Sistemas Operacionais I

LEVANTAMENTO DE HARDWARES PARA O DESENVOLVIMENTO DE SOFTWARE. Graphics

Marcos da Arquitetura de Computadores (1)

Paralelismo a Nível de Instrução

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

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

Programador/a de Informática

ARQUITETURA DE COMPUTADORES

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

Tempos de Acesso e Tamanhos de Níveis de memória Registradores 500 bytes 200ps Caches 64KB 1ns Memória Alguns GB 100ns Disco 1TB ou mais 10ms

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

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

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) Duplicação do Barramento mais rápido em 1,22 vezes Speedup = 1,22 = (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 64 bits, com intercalação (4 bancos): 2+1,2%*1,2* (4+56+16) =3,09 Barramento de 128 bits, sem intercalação: 2+1,2%*1,2*2*64 = 3,84

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)

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 (real) é 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