Microcontroladores e Interfaces

Documentos relacionados
Tecnologias de Memória

Memória Cache: Funcionamento

ELECTRÓNICA DE COMPUTADORES. Sumário

Hierarquia de Memória

SSC0112 Organização de Computadores Digitais I

Arquitectura de Computadores

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

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

Arquitectura de Computadores (ACom)

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

Hierarquia de Memória

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Hierarquia de memória

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Hierarquia de memória

5 de Maio de Aula 15

Tempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20

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

DIFERENÇA DE VELOCIDADE entre UCP e MP

Entender a diferença de velocidade UCP/MP e o conceito de localidade.

Hardware e Manutenção de Micros

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

MEMÓRIAS EM UM SISTEMA COMPUTACIONAL

Organização de Computadores

Capítulo 7 Sistemas de Memória. Ch7a 1

Hierarquia de Memória

ELECTRÓNICA DE COMPUTADORES. Sumário

Memória. Conceitos gerais Hierarquia de memórias

Memórias cache: uma introdução

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

Hierarquia de memória. Melhorando o desempenho

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

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

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

Arquitetura de Computadores. Memórias

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

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Programador/a de Informática

Memórias Semicondutoras

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache


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

Organização e Arquitetura de Computadores

Arquitectura de Computadores

Kbyte: Mbyte: Gbytes:

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

Arquitectura de Computadores (ACom)

Memória Principal. Tiago Alves de Oliveira

Sequência 17 Organização e Hierarquia 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

SSC0611 Arquitetura de Computadores

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

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

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

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Sistemas Digitais (SD) Memórias

Memória Cache. Walter Fetter Lages.

Memórias Row Address Strobe Column Address Strobe

Microprocessadores. Memórias

Microprocessadores II - ELE 1084

Microprocessadores II - ELE 1084

Memória Cache. Aula 24

Introdução Tipos de memória Memória Cache. Cap. 4 - Memórias. Arquitectura de Computadores 2010/2011 Licenciatura em Informática de Gestão

EL68E Sistemas Embarcados Prof. Douglas RENAUX

Laboratório de Hardware

Arquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa

SISTEMAS DIGITAIS (SD)

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

ESTRUTURA GERAL DE DE UMA RAM

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

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

Sistemas de Memória II

Memória e Hierarquia de Memória. Memória Vs. Armazenamento

Arquitectura de Computadores MEEC (2013/14 2º Sem.)

Arquitetura de Computadores. Aula 8 Memória Principal

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS

Arquitectura de Computadores

Arquitetura de Computadores

Função Principal da Memória

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.

Arquitectura de Computadores II

Infra-estrutura Hardware

RAM e ROM. Laboratório de Hardware. Memórias. Memórias. Memórias. Memórias. Memórias. Memória ROM. Memória ROM. Memória ROM. Memória RAM.

Sistemas Operacionais. Conceitos de Hardware

SSC0112 Organização de Computadores Digitais I

Memória cache. Sistemas de Computação

Memória cache segunda parte. Organização de Computadores. Aula 17. Memória cache segunda parte. 1. Mapeamento completamente associativo

Memória Cache. Adriano J. Holanda. 12 e 16/5/2017

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

Circuitos Lógicos Aula 26

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

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

ESTRUTURA GERAL DE UMA RAM

Transcrição:

Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Sistema de Memória Aula #8 2 Maio 06 - M

Memórias SRAM: Tecnologias de Memória As memórias SRAM são memórias rápidas e eficientes em termos de consumo de energia, contudo cada célula requer entre 4 a 6 transístores na sua implementação para armazenar um bit. 2

Tecnologias de Memória Memórias DRAM A vantagem das memórias DRAM devese a podermos construir uma célula de armazenamento com apenas um transístor. Esta redução permite a optimizar o custo de fabricação como também aumentar a integração. Contudo, devido a esta simplicidade, as memórias DRAM requerem que seja feito o refrescamento da informação, pois esta perde-se naturalmente ao fim de alguns ms. O refrescamento consiste em ler cada uma das linhas da memória (a memória está organizada como uma matriz). 3

Memória: DRAM O primeiro integrado é uma SRAM de 16 Kb, enquanto o segundo integrado é uma DRAM também de 16 Kb. Analise as respectivas caixas. Qual é a diferença? SRAM 16 kb DRAM 16 kb 4

Memória: DRAM A DRAM reduz o número de linhas de endereço em metade. Então como é possível endereçar 16 kb? O endereço é enviado em duas partes. Esta multiplexagem torna a implementação da interface entre a memória e o CPU mais complexa. Qual é a vantagem em reduzir no número de linhas? Como as DRAM são usadas na implementação de memórias de grande capacidade. A multiplexagem permite reduzir no número de pinos, reduzindo o custo de produção. 5

Memória DRAM: Revisão Encontramos duas classes de memórias DRAM: assíncronas e síncronas. Como é feita a leitura? 1. O endereço das linhas é colocado nos pinos de endereço através do barramento de endereços. 2. O pino /RAS (Row Address Strobe) é activado, o que coloca o endereço das linhas na latch de endereço das linhas. 3. O descodificador de endereço de linhas selecciona a linha correcta que será enviada ao sensores amplificadores. 6

Memória DRAM: Revisão 4. O sinal de WE é desactivado, indicando que não se está a escrever. 5. O endereço das colunas é colocado nos pinos de endereço através do barramento de endereços. 6. O pino /CAS* é activado, o que colocará o endereço das colunas na respectiva latch. 7. O pino /CAS também serve como sinal de output enable, por isso assim que o sinal /CAS tenha estabilizado os amplificadores sensores colocam o dado da coluna e da linha seleccionadas no barramento de dados. 8. Tanto o sinal de /RAS, como o sinal de /CAS são desactivados para que um novo ciclo possa ser iniciado. 7 * Nota: CAS Column Address Strobe

Memória DRAM: Módulos As células nas memórias SDRAM e DRAM apenas armazenam 1 bit. Por esta razão, um integrado de memória agregará várias matrizes de células de memória (uma por bit). Esta é a razão, porque os fabricantes denominam os integrados como tendo uma capacidade de: por ex., 64536 x 8 para denominar uma RAM de 16 kb. 8

Memória DRAM: Módulos guarda um dos bits do byte. Exemplo de uma memória SIMM (Single In-line Memory Module) 9

Memória DRAM: Temporização Sabemos que a velocidade de leitura de dados numa memória é condicionada pela sua latência. No caso das memórias DRAM, devido a sua construção, encontramos duas latências importantes: Access time (tempo de acesso). Define o tempo decorrido desde a activação de /RAS até ao instante em que os dados estão disponíveis. Este atraso deve-se ao encaminhamento dos sinais pelo circuito interno da DRAM. Cycle time (tempo do ciclo de leitura). Define o tempo mínimo que deve ser guardado até iniciar a próxima leitura/escrita. Após um acesso à memória, os sinais de /RAS e /CAS devem ser activado de modo a fazer o precharge. 10

Memória DRAM: Temporização Access time Cycle time Como consequência da latência da memória, se o processador for mais rápido ter-se-á que introduzir atrasos (wait states), ou seja o processador ficará parado a espera da memória. 11

Memória DRAM: Localidade A investigação feita no projecto de novas memórias tem procurado reduzir estas duas latências. Na verdade, toda investigação tem explorado o princípio da localidade. Este princípio afirma que, em qualquer instante, um programa acede a uma pequena gama do seu espaço de endereços. Existem dois tipos de localidades: Localidade temporal: Este princípio afirma que se um item foi referenciado, então tenderá a ser referenciado de novo num futuro muito próximo. Por exemplo, int n= 0; for(int i= 0; i < 10; ++i) n= n + i; 12

Memória DRAM: Localidade Onde encontramos a localidade temporal: Loops no programa (exemplo anterior). Funções/métodos nos objectos que são frequentemente chamadas. Rotinas de serviço à interrupção que estão frequentemente a serem executadas. Localidade espacial: Este princípio afirma que se um item foi referenciado, então itens cujo endereço estão próximos tendem a serem referenciados num futuro próximo. Por exemplo, int n= 0, m= 0, i= 20; n= 2*m + i; i= n / 2; 13

Memória DRAM: Localidade Onde encontramos a localidade espacial: Na estrutura dos programas: Pequenos saltos relativos. Métodos relacionados no mesmo objecto (p. ex., construtor seguido por um operador). Estruturas de dados. Estruturas (struct em C). Array de elementos. Mas de que formas estes princípios permitem construir memórias mais rápidas? 14

Memórias DRAM Assíncronas Memórias assíncronas: FPM DRAM (Fast Page Mode DRAM): Nesta memória, a leitura pode ser feita em blocos. Na leitura de um bloco, após activar o sinal de /RAS, o controlador de memória mantém-no activado e envia os sucessivos sinais de /CAS de modo a ler as várias colunas. 15

Memórias DRAM Assíncronas Esta memória é mais rápida que a DRAM normal, porque reduz o impacto do atraso devido a activação de /RAS em ¾ das leituras. O único atraso que mantém-se é o atraso de precharge associado ao sinal de /CAS. Portanto, teremos que a primeira leitura requererá mais ciclos de CPU, mas as seguintes serão mais rápidas. É normal dizermos que a memória DRAM tem uma latência de X-Y-Y-Y, onde X denota o primeiro atraso e Y os atrasos seguintes. Estes atrasos são medidos em função do número de ciclos do relógio do barramento Por ex., poderíamos ter uma DRAM 6-3-3-3. Do diagrama anterior, constatamos que não podemos escrever o endereço da coluna seguinte, enquanto o dado anterior não tiver sido lido, ou seja, tem que existir um tempo de repouso entre as duas operações. 16

Memórias DRAM Assíncronas Memórias assíncronas: EDO DRAM (Extended Data Out DRAM): Esta memória permite manter os dados na saída por mais tempo, mesmo até ao instante de escrita do endereço da coluna seguinte, /CAS. 17

Memórias DRAM Assíncronas Devido a esta característica, as memórias EDO DRAM permitem ganhos de 20%-40% relativamente as FPM. Alguns fabricantes foram capazes de produzir memórias capazes de serem ligadas a uma barramento a 66 MHz com uma temporização de 5-2-2-2. 18

Características de DRAM Modernas Síncronas SDRAM DDR (Double Data Rate) SDRAM RAMbus As latências dadas incluem apenas a latência do módulo de memória, não tendo em conta a latência do controlador de memória ou outros atrasos. Por esta razão a latência real será maior 19

Memórias DRAM Síncronas EDO DRAM PC-33/PC-66 SDRAM PC-100, CL= 2 PC-133, CL= 3 20

Memórias DRAM Síncronas DDR SDRAM DDR-266, CL= 2 PC-2100 DDR-333, CL=2.5 PC-2700 DDR2 SDRAM DDR2-400, CL= 3 PC2-3200 DDR2-533, CL= 4 PC2-4200 DDR2-667, CL= 5 PC2-6300 21

Memória: Tendências na Tecnologia Capacidade Velocidade (latência) Lógica: 2x em 3 anos 2x em 3 anos DRAM: 4x em 3 anos 2x em 10 anos Disco: 4x em 3 anos 2x em 10 anos 22 Gerações de memórias DRAM Ano Tamanho RAS (ns) CAS (ns) Cycle Time 1980 64 Kb 150-180 75 250 ns (4 MHz) 1983 256 Kb 120-150 50 220 ns (4.5 MHz) 1986 1 Mb 100-120 25 190 ns (5.3 MHz) 1989 4 Mb 80-100 20 165 ns (6.1 MHz) 1992 16 Mb 60-80 15 120 ns (8.3 MHz) 1996 64 Mb 50-70 12 110 ns (9.1 MHz) 1998 128 Mb 50-70 10 100 ns (10 MHz) 2000 256 Mb 45-65 7 90 ns (11.1 MHz) 2002 512 Mb 40-60 5 80 ns (12.5 MHz) 8000:1 15:1 3:1 (Capacidade) (~bandwidth) (Latência)

Hierarquia de Memória: Motivação Primeira motivação: Custo da memória SRAM Tecnologia Tempo de acesso Típico 0.5 5 ns $ por GB em 2004 $4000 - $10000 DRAM 50 70 ns $100 - $200 Disco magnético 5.000.000 20.000.000 ns $0.5 - $2 23

Hierarquia de Memória: Motivação Segunda motivação: Diferencial entre a performance do processador e a performance da memória (DRAM) 1000 Performance 100 10 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 CPU Processor-Memory Performance Gap: (grows 50% / year) DRAM µproc 60%/yr. DRAM 7%/yr. 24

Hierarquia de Memória: Motivação Impacto do diferencial entre a performance do processador e a performance da memória (DRAM): Exemplo Para ilustrar o impacto do diferencial da performance, assuma um processador com pipeline com um CPI= 1, usando memória nãoideal. Ignorando outros factores, o custo mínimo de um acesso em termos de ciclos de CPU perdidos é: CPU CPU Memory Minimum CPU cycles or Year speed cycle Access instructions wasted MHZ ns ns 1986: 8 125 190 190/125-1 = 0.5 1989: 33 30 165 165/30-1 = 4.5 1992: 60 16.6 120 120/16.6-1 = 6.2 1996: 200 5 110 110/5-1 = 21 1998: 300 3.33 100 100/3.33-1 = 29 2000: 1000 1 90 90/1-1 = 89 2002: 2000 0.5 80 80/.5-1 = 159 25

Hierarquia de Memória: Motivação O diferencial entre a performance do processador e da memória tem aumentado para processadores de elevado desempenho, criando o estrangulamento no acesso à memória no fetch da instruções. A hierarquia de memória está organizada em vários níveis de memória onde os níveis de memória mais pequenos, mais caros e mais rápidos estão próximos do CPU: registos, seguido do primeiro nível de memória cache (L1), seguido de níveis adicionais de memória cache (L2, L3,...), seguido da memória principal, seguido da memória em disco (memória virtual). 26

Hierarquia de Memória: Motivação Cada nível hierárquico é um subconjunto do nível inferior Os dados encontrados num nível também são achados no nível inferior, mas a uma velocidade inferior. Cada nível mapeia endereços de uma memória física maior dimensão numa memória física de menor dimensão. Este conceito é fortemente suportado pelo princípio da localidade (temporal e espacial) que diz que um programa tende a reutilizar dados e instruções usadas recentemente ou aquelas que estão guardadas na sua vizinhança. 27

Hierarquia de Memória: Motivação Um ou mais níveis (RAM estática): Nível 1: On-chip 16-64K Nível 2: On or Off-chip 256K-2M Nível 3: On or Off-chip 1M-16M DRAM, RDRAM 16M-16G Parte do On-chip CPU Datapath 16-256 Registos Registos Cache Memória principal Quanto mais longe for do CPU: mais baixo é o custo/bit maior capacidade maior tempo de acesso maior latência menor throughput menor largura de banda Interface: SCSI, RAID, IDE, 1394 4G-100G Disco Magnético Disco óptico ou Tape Magnética 28

Hierarquia de Memória: Motivação Processor Faster Larger Capacity Datapath Control Registers On-Chip Level One Cache L 1 Second Level Cache (SRAM) L 2 Main Memory (DRAM) Virtual Memory, Secondary Storage (Disk) Tertiary Storage (Tape) Speed (ns): 1s 10s 100s Size (bytes): 100s Ks Ms 10,000,000s (10s ms) Gs 10,000,000,000s (10s sec) Ts 29

Hierarquia de Memória: Funcionamento Se uma instrução ou operando é necessário pelo CPU, os níveis da hierarquia de memória são pesquisados a começar pelo nível mais próximo do CPU (Cache de Nível 1). Se o item é encontrado, este é devolvido ao processador resultando num hit da cache sem que ocorra a pesquisa dos níveis inferiores. Se o item não é encontrado no nível superior, resultando num miss, então o nível inferior é pesquisado. Nos sistemas com vários níveis de memória cache, a pesquisa continua nos níveis de cache 2, 3, etc. 30

Hierarquia de Memória: Funcionamento Se a pesquisa em todos os níveis da cache resultam num cache miss, então a memória principal é acedida. CPU cache memória Estes acessos são geridos por hardware especializado (controlador de memória). Se o item não é encontrado na memória principal, resultando num page fault, então o disco (memória virtual) é acedido. 31

Hierarquia de Memória: Terminologia Um bloco: menor unidade de informação transferida entre dois níveis hierárquicos. Hit : o item foi encontrado num bloco do nível superior (p. ex., bloco X). Hit rate : Fracção dos acessos à memória encontrados no nível superior. Hit time : Tempo necessário para aceder à memória no nível superior, consistindo de RAM access time + tempo necessário para determinar hit/miss 32

Hierarquia de Memória: Terminologia Miss : o item tem que ser encontrado num bloco do nível inferior (p. ex., bloco Y). Miss rate : 1 (hit rate). Miss penalty : Tempo necessário para substituir um bloco no nível superior + tempo necessário para entregar o bloco ao processador. Hit time << Miss penalty To Processor From Processor Upper Level Memory Blk X Lower Level Memory Blk Y 33

Memória Cache: Conceitos A memória cache é o primeiro nível da hierarquia de memória encontrada assim que o endereço deixa o processador e a procura do dado é iniciada. Se o dado pedido pelo processador está presente na cache, este é retirado da cache e o acesso é denominado de cache hit, caso contrário chamamos de cache miss e o dado tem que ser pesquisado da memória principal. Quando ocorre um cache miss, um bloco de dados tem que ser trazido da memória principal para a cache. Pode ocorrer que um bloco com dados válidos seja substituído. Os endereços de blocos permitidos onde estes podem ser mapeados na cache a partir da memória principal é determinado pela estratégia de colocação da cache (cache placement strategy). 34

Memória Cache: Conceitos Existe um mecanismo de identificação dos blocos que permite localizar um bloco de dados na cache. Na ocorrência de um cache miss, o bloco da cache que será substituído é escolhido pela estratégia de substituição de blocos (block replacement strategy). Quando é necessário escrever um dado na cache é necessário actualizar a memória principal. Existem várias estratégias de escrita da cache (cache write policy). 35

Memória Cache: Conceitos Operação de leitura da cache 36

Memória Cache: Conceitos Transferência entre a memória principal e a memória cache Em blocos de dados (pode ser várias palavras) Deve-se a minimizar a latência da memória DRAM. Implementa a localidade espacial Transferência entre o processador e a cache Em palavras. 37

Memória Cache: Funcionamento A resposta as seguintes quatro questões ajudam-nos a perceber o funcionamento da memória cache: P1: Em que local um bloco de dados será colocado? Esta questão ajuda-nos a perceber as estratégias de colocação de blocos de dados e a organização interna da cache. Existem três estratégias: mapeamento directo, memória associativa, set associative. P2: Como é que um bloco é localizado caso esteja na cache? Esta questão ajuda-nos a perceber as estratégias de localização dos blocos. TAG / Block. P3: Qual bloco deve ser substituído quando há um miss e a cache deve enchida? Esta questão ajuda-nos a perceber as estratégias de substituição de blocos. Aleatório, LRU. P4: O que acontece durante a escrita na memória? Esta questão ajuda-nos a perceber as políticas de escrita da cache. Temos duas políticas write through e write back 38