• Nenhum resultado encontrado

Microcontroladores e Interfaces

N/A
N/A
Protected

Academic year: 2021

Share "Microcontroladores e Interfaces"

Copied!
38
0
0

Texto

(1)

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)

Tecnologias de Memória

‹

Memórias SRAM:

„

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.

(3)

Tecnologias de Memória

‹

Memórias DRAM

„

A vantagem das memórias DRAM

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

(4)

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 ?

(5)

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.

(6)

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.

(7)

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.

(8)

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.

(9)

Memória DRAM: Módulos

Exemplo de uma memória

SIMM (Single In-line

Memory Module)

guarda um dos

(10)

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.

(11)

Memória DRAM: Temporização

‹

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.

Access time

(12)

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;

(13)

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;

(14)

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 ?

(15)

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.

(16)

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.

(17)

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.

(18)

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.

(19)

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

(20)

Memórias DRAM Síncronas

PC-33/PC-66

PC-100, CL= 2

PC-133, CL= 3

SDRAM

EDO DRAM

(21)

Memórias DRAM Síncronas

DDR SDRAM

DDR2-400, CL= 3

PC2-3200

DDR2-533, CL= 4

PC2-4200

DDR2-667, CL= 5

PC2-6300

DDR2 SDRAM

DDR-266, CL= 2

PC-2100

DDR-333, CL=2.5

PC-2700

(22)

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

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)

(23)

Hierarquia de Memória: Motivação

‹

Primeira motivação

: Custo da memória

$0.5 - $2

5.000.000 – 20.000.000 ns

Disco magnético

$100 - $200

50 – 70 ns

DRAM

$4000 - $10000

0.5 – 5 ns

SRAM

$ por GB em

2004

Tempo de acesso

Típico

Tecnologia

(24)

Hierarquia de Memória: Motivação

‹

Segunda motivação

: Diferencial entre a performance do

processador e a performance da memória (DRAM)

µProc

60%/yr.

DRAM

7%/yr.

1

10

100

1000

1980

1981

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

DRAM CPU

1982

Processor-Memory

Performance Gap:

(grows 50% / year)

Performance

(25)

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ão-ideal.

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

(26)

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

,

(27)

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.

(28)

Hierarquia de Memória: Motivação

Parte do On-chip

CPU Datapath

16-256 Registos

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

Registos

Cache

Memória principal

Disco Magnético

Disco óptico ou Tape Magnética

DRAM, RDRAM

16M-16G

Interface:

SCSI, RAID,

IDE, 1394

4G-100G

Quanto mais longe for do

CPU:

• mais baixo é o custo/bit

• maior capacidade

• maior tempo de acesso

• maior latência

• menor throughput

(29)

Hierarquia de Memória: Motivação

Virtual

Memory,

Secondary

Storage

(Disk)

Main

Memory

(DRAM)

Second

Level

Cache

(SRAM)

L

2

Tertiary

Storage

(Tape)

Control

Datapath

Processor

Registers

On-Chip

Level

One

Cache

L

1

Larger Capacity

Faster

1s

10,000,000s

(10s ms)

Speed

(ns):

10s

100s

100s

Gs

Size (bytes):

Ks

Ms

10,000,000,000s

(10s sec)

Ts

(30)

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

(31)

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.

(32)

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

(33)

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

Lower Level

Memory

Upper Level

Memory

To Processor

From Processor

Blk X

Blk Y

(34)

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

(35)

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

(36)

Memória Cache: Conceitos

Operação de leitura da cache

(37)

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

(38)

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.

Referências

Documentos relacionados

armários armários 5220 armário de instrumentos 5200 armário de parede 5240 armário de instrumentos c/ cacifo 5230 armário de instrumentos 5250 armário de instrumentos c/ cacifo 25

Agradecemos aos Colaboradores da Direção-Geral da Saúde, às Comissões de Controlo de Infeção, ao Grupo Coordenador Regional de Controlo de Infeção, aos elementos do grupo

Fechaduras FGVTN Fechadura para gavetas 3 1.5 28.5 28.5 36.5 47 1.5 3 38.5 Fechadura para armários verticais Fechadura para gavetas Fechadura para armários verticais Calço Plástico

MESA REDONDA: A Prática Clínica Homeopática na Saúde

da aprendizagem, portanto, para ele, o sujeito somente se apropria do conhecimento por meio das relações reais e afetivas dele com o ambiente. Durante o período de

Ocupação Romana dos Estuários do Tejo e do Sado – Actas das primeiras Jornadas sobre Romanização dos Estuários do Tejo e do Sado.. Lisboa: Câmara Municipal do

Portanto, o ciclo obsessivo advém a partir da luta contra o retorno do recalcado. Há defesas para apagar este retorno, defesas secundárias, como foi visto ante- riormente. São

“FICA CRIADO O PLANO DE AJUDA ECONÔMICA NO MUNICÍPIO DE ITAPEVI POR MEIO DO PROGRAMA DE RECUPERAÇÃO FISCAL - REFIS, PARA CRÉDITOS TRIBUTÁRIOS E NÃO TRIBUTÁRIOS E DÁ OUTRAS