Você está na página 1de 16

23-11-2015

MEMÓRIA INTERNA
Arquitetura e Organização de computadores
Informática – 2015-2016

Pontos chave
2

 As duas formas básicas de memória semicondutor de acesso aleatório são


a dinâmica (DRAM) e a estática (SRAM).
 SRAM mais rápida, mais cara e menos densa do que a DRAM e, usualmente é
utilizada para memória cache
 DRAM usada para memória primária

 Técnicas de correcção de erros são usadas nos sistemas de memória. Estes


sistemas envolvem a adição de bits redundantes que são uma função dos
bits de dados para formar um código de correcção de erros. Se ocorre um
bit errado, o código detecta-o e corrige-o.

 Para compensar a relativa lentidão da DRAM, existe outro tipo de


organizações, por exemplo, a DRAM síncrona e a DRAM RAMBUS. Ambas
envolvem a utilização do relógio de sistema para a transferencia de blocos
de dados.

1
23-11-2015

Organização
3

 O elemento básico de uma memória semicondutora é uma


célula e tem as seguintes propriedades
 Exibem dois estados, que podem ser usados para representar 1 e 0
 Possibilitam a escrita em um dos estados
 Possibilitam a sua leitura
 As células têm três terminais funcionais capazes de transportar
sinais eléctricos.
 O terminal de selecção, selecciona a célula de memória para a
operação de leitura ou escrita.
 O terminal de controlo indica a leitura ou escrita
 Para a escrita o terminal fornece um sinal eléctrico que atribui o estado
da célula de 0 para 1
 Para a leitura , o terminal é usado para a saída do estado em que se
encontra a célula

Operação de uma célula de memória


4

Fonte: Figure 5.1 Memory Cell Operation

2
23-11-2015

Tipos de memórias semicondutor


5

Fonte: Table 5.1 Semiconductor Memory Types

Memória semicondutor
6

 RAM
 Memória semicondutora de acesso aleatório
 Leitura/Escrita
 Ambas as funções são acompanhadas através do sinais eléctricos
 Volátil
 Deve ser fornecida com uma fonte de energia constante
 Armazenamento temporário
 Formas tradicionais usados nos computadores
 Estática – SRAM
 Dinâmica – DRAM

3
23-11-2015

RAM dinâmica
7

 Dados armazenados como carga nos “capacitators”


 A presença ou ausência de carga é interpretado como um
binário 1 ou 0
 Dinâmico no sentido em que existe um escoamento da
carga
 Necessário o refrescamento de energia devido às
características dos “capacitators”
 Construção simples
 Mais barata
 Lenta
 Memória principal

RAM estática
8

 Bits armazenados como comutadores on/off


 Dispositivo digital que usa os mesmos elementos lógicos
usados nos processadores
 Mantém os dados enquanto existir energia; não
necessita de refrescamento de energia
 Construção mais complexa
 Mais cara
 Rápida
 Cache

4
23-11-2015

SRAM vs DRAM
9

 Ambas voláteis
 Potência necessária para preservar os dados
 Dinâmica
 Simples de construir, pequenas
 Maior densidade
 Mais barata
 Necessita de refresh
 Maiores unidades de memória

 Estática
 Mais rápida
 Cache

Read Only Memory (ROM)


10

 Armazenagem permanente (não volátil)


 Só de leitura
 Microprogramação
 Biblioteca de subrotinas
 Programas de sistema (BIOS)
 Tabelas de funções
 Vantagens:
 Dados ou programas estão permanentemente na memória
principal e não necessitam de ser carregados de um
dispositivo secundário.

5
23-11-2015

Tipos de memória ROM (1)


11

 Escritas durante o fabrico


 Muito cara para pequenas tarefas – não existe margem para erros; basta
um bit errado para ser necessário começar tudo de novo
 Programáveis (apenas uma vez)
 PROM
 Necessita de equipamento especial para a programação
 Operação de leitura mais frequente do que a operação de
escrita
 Erasable Programmable (EPROM)
 Apagadas por UV
 Mais cara do que a PROM, mas tem a vantagem de ter a capacidade de
múltiplas actualizações

Tipos de memória ROM (2)


12

 Operação de leitura mais frequente do que a operação de


escrita (cont.)
 Electrically Erasable (EEPROM)
 Tipo de memória que permite que seja escrita em qualquer altura sem
apagar o conteúdo anterior.
 Leva mais tempo a escrever do que a ler
 Mais cara do que a EPROM e menos densa, isto é, suporta poucos bits por
chip

 Memória flash
 O nome provêm do facto do microchip estar organizado em células que
podem ser apagadas numa única acção ou “flash”
 Está entre a EPROM e a EEPROM em termos de custo e funcionalidade
 Usa o mesmo sistema da EEPROM para apagar, mas mais rápida do que a
EPROM

6
23-11-2015

Organização em detalhe
13

 Cada chip contém um array de células de memória


 Em memórias do tipo semicondutor, um dos assuntos chave na
concepção é número de bits de dados que podem ser
lidos/escritos de uma só vez
 O array está organizado em W palavras de B bits cada
 Um chip com 16Mbit pode ser organizado como 1M de palavras
de 16 bits cada
 Um chip de 16Mbit pode ser organizado como um array de
2048 x 2048 x 4bit
 Reduzir o número de posições de endereçamento
 Multiplicar linha de endereço e colunas de endereço
 11 posições para endereçar (211=2048)

DRAM de 16 Mb típica (4M x 4)


14

São lidos/escritos 4 bits de Fonte: Figure 5.3 Typical 16


Megabit DRAM (4M * 4)
cada vez, a memória é
organizada como um array
quadrado de 2048 x 2048
elementos. Em qualquer caso,
os elementos do array são
conectados por linhas
horizontais (linhas) e linhas
verticais (colunas). Cada linha
horizontal conecta ao terminal
Select de cada célula; cada
linha vertical conecta ao
terminal Data-In/Sense de
cada célula na sua coluna.
Linha de endereços fornece o
endereço da palavra a ser
selecionada. São necessários
um total de log2W linhas.
Por exemplo, são necessárias 11 linhas de endereços para selecionar uma
das 2048 linhas. Estas 11 linhas são alimentadas dentro de um Row
Decoder que tem 11 linhas de entrada e 2048 linhas de saída (211=2048).
São usadas quatro linhas de dados para entrada e saída de 4 bits de e para o
buffer de dados.

7
23-11-2015

Explicação da figura anterior


15

 Porque apenas 4 bits são lidos/escritos na DRAM, devem existir múltiplas DRAMs conectadas
ao controlador de memória para ler/escrever uma palavra de dados para o barramento.

 Notar que existem apenas 11 linhas de endereços (A0-A10), metade do número que se
esperaria para um array de 2048 x 2048. Esta situação acontece para “poupar” no número
de pinos. As 22 linhas de endereços necessárias são passadas através de uma selecção
lógica externa para o chip e multiplexadas em 11 linhas de endereços.

 Primeiro, são passados 11 sinais de endereços para o chip para definir a linha do endereço
no array e depois os outros 11 sinais de endereços são apresentados para a coluna do
endereço. Estes sinais são acompanhados pelo seleccionar da linha de endereços (RAS) e pelo
seleccionar da coluna de endereços (CAS) para fornecer a temporização para o chip.

 Os pinos Write Enable (WE) e Output Enable (OE) determinam se uma operação de Write ou
Read é realizada. Os dois outros pinos, não mostrados na figura, são o Ground (Vss) e o
Voltage Source (Vcc).

 Como efeito secundário, a multiplexagem de endereços mais o uso de um array quadrado


resulta numa quadriplicação do tamanho da memória em cada nova geração de chips de
memória. Mais um pino destinado ao endereçamento duplica o número de linhas e de colunas
e o tamanho do chip de memória cresce por um factor de 4

Packaging
16
Uma palavra por chip Os pinos WE e OE
indicam se é uma
operação de leitura ou
Energia Como a RAM pode
escrita.
ser actualizável os
Para pinos de dados
palavras de são de leitura e
1Mé escrita.
necessário
um total de
20 pinos Coluna de
(220 = 1 M) endereços

Porque a DRAM é
acedida pela
linha/coluna e o
endereço é
Ler multiplexado, são
dados necessários
apenas 11 pinos
Linha de
de endereços
endereços
para especificar
uma combinação
de 4 M
linhas/colunas
Chip Enable – Usado para indicar se o (211 x 211 = 222 =
endereço é válido para este chip Fonte: Figure 5.4 Typical Memory 4M)
Package Pins and Signals

8
23-11-2015

Organização do módulo
17

Para outro tipo de organização de


memória pode ser necessário ter
um array de chips. Por exemplo, é
possível organizar uma memória
consistindo de 1 M de palavras com
8 bits por palavra. Neste caso, é
necessário 4 colunas de chips,
cada coluna contém 256 K de
palavras. Para 1M de palavras são
necessárias 20 linhas de
endereços. Os 18 bits menos
significativos são encaminhados
para todos os 32 módulos. Os 2 bits
mais significativos são enviados
para um módulo Select que envia
um sinal para uma das quatro Chip
Enable colunas do módulo.

Fonte: Figure 5.6 1-Mbyte Memory Organization

Correcção de erros
18

 Falha de hardware
 Defeito permanente
 Erro de software
 Aleatório,não destrutivo
 Destruição da memória não permanente

 Detecção através da utilização do código de


Hamming para correcção de erros

9
23-11-2015

Função de correcção de erros


19

Fonte: Figure 5.7 Error-


Correcting Code Function

Quando os dados estão a ser lidos para a memória é realizado um cálculo usando uma função (f) sobre
os dados, para produzir os códigos de correção. Ambos, os códigos e os dados são armazenados. Se
uma palavra de M bits de dados esta a ser armazenada e o código tem k bits, então o tamanho da
palavra armazenada é M+k bits.

Quando a palavra é lida, o código é usado para detetar e possivelmente corrigir erros. Um novo conjunto
de k bits é gerado a partir dos M bits de dados e comparados com o código pesquisado.
* Sem erros; * Um erro detetado e corrigido; * Um erro detetado e não corrigido

Um código é caracterizado pelo número de bits errados numa palavra que ele consegue corrigir.

Código de Hamming
20

 Palavras de 4 bits (M = 4)
 Atribuição de 4 bits de dados nas partes interiores
de três circunferências cruzadas com as restantes
preenchidas com os chamados bits de paridade.
Cada bit de paridade é escolhido de forma a que o
número total de 1’s no seu circulo é par. Assim, se um
erro altera os bits de dados é fácil de encontrar o
erro e alterar o respectivo bit

10
23-11-2015

Revisão de lógica
21

P Q P∧Q P∨Q P⊕Q


0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

⊕ = xor

Syndrome Word
22

 Dados (M) + Código (k) = Armazenado M + k


 O “comparador” de dois valores de k bits
 Realizada uma comparação bit a bit utilizando a operação lógica Xor
(⊕) entre as duas entradas. O resultado é designado por Syndrome
Word. Cada bit da Syndrome Word é 0 ou 1 de acordo com a
existência ou não de uma igualdade nas posições dos bits dos dois
inputs
 Syndrome Word, varia entre 0 e 2k-1
 0 indica que não foram encontrados erros, deixando os valores 2k-1
para indicar se existe um erro e qual o bit que está errado.
 Como um erro pode ocorrer em qualquer dos M bits de dados, é
necessário ter
 2k-1 ≥ M + k
 K = 3 : 23-1 < 8 + 3
 K = 4 : 24 –1 > 8 + 4 ---- Os 8 bits necessitam de quatro check digits

11
23-11-2015

Composição da Syndrome
23

 Syndrome de 4 bits para uma palavra de 8 bits


 Se a Syndrome = 0 Então não existiu qualquer erro
 Se a Syndrome contém apenas um 1 Então existiu um erro no check digit e não é
necessário corrigir
 Se a Sysndrome contém vários bits a 1 Então existe um erro e o valor indica a posição do
erro
 As posições dos bits são numeradas de 1 a 12. As posições dos bits cujo número da
posição são potências de 2 (1, 2, 4, 8, 16, 32, ...) são considerados check bits. Os
check bits são calculados da seguinte forma
 C1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7
 C2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7
 C4 = D2 ⊕ D3 ⊕ D4 ⊕ D8
 C8 = D5 ⊕ D6 ⊕ D7 ⊕ D8
 Cada check bit opera em cada um dos bits de dados cujo o conteúdo da posição
seja 1 na mesma posição como o número da posição do check bit. As posições dos
dados 3, 5, 7, 9 e 11 (D1, D2, D4, D5 e D7) todos contém um 1 nos bits menos
significativos das suas posições como o C1; posições 3, 6, 7, 10, 11 todos contêm
um 1 na segunda posição, como o C2, e assim sucessivamente

Exemplo (1)
24

 8 bits de entrada = 00111001, com o bit de dados D1 na posição mais à direita

Posição do bit 12 11 10 9 8 7 6 5 4 3 2 1

Nº da posição 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

Bit de dados D8 D7 D6 D5 D4 D3 D2 D1

Check bit C4 C3 C2 C1

Palavra armazenada 0 0 1 1 0 1 0 0 1 1 1 1

Palavra pesquisada 0 0 1 1 0 1 1 0 1 1 1 1

Nº da posição 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

Check bits 0 0 0 1
recalculados

Fonte: Figure 5.9 Layout of Data Bits and Check Bits Erro

12
23-11-2015

Exemplo (2)
25

C1 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 =1
C2 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 =1
C4 = 0 ⊕ 0 ⊕ 1 ⊕ 0 =1
C8 = 1 ⊕ 1 ⊕ 0 ⊕ 0 =0

 Supondo que o bit 3 dos dados localizado na posição 6 tem um erro e é


alterado de 0 para 1. Quando os check digits são recalculados, temos
C1 = 1 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 0 =1
C2 = 1 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 0 =0
C4 = 0 ⊕ 1 ⊕ 1 ⊕ 0 =0
C8 = 1 ⊕ 1 ⊕ 0 ⊕ 0 =0
 Quando os check digits são comparados é formada a syndrome word
C8 C4 C2 C1
0 1 1 1
⊕0 0 0 1
0 1 1 0 = 6(10) → corresponde à Posição 6, apresenta onde se localiza o bit errado

Nova tecnologia de RAM


26

 A arquitectura da DRAM manteve-se inalterada


desde o primeiro chip de RAM
 Evolução da DRAM
 Inserirum ou mais níveis de cache entre a DRAM e o
processador
 Esquemas de DRAM que dominam o mercado
 SDRAM
 RAMBUS

13
23-11-2015

Synchronous DRAM (SDRAM)


27

 O acesso é sincronizado com um relógio externo


 O endereço é apresentado à RAM
 SDRAM encontra os dados (CPU espera pela DRAM
convencional)
 Dado que a SDRAM move dados no tempo com o relógio do
sistema, o CPU sabe quando os dados vão estar prontos
 CPU não tem de esperar, logo pode executar outra tarefa
 O modo burst permite à SDRAM configurar streams de dados
e envia-los em bloco
 (Double Data Rate) DDR-SDRAM envia dados duas vezes por
cada ciclo
 A SDRAM tem um desempenho melhor quando está a
transferir grandes blocos de dados, por exemplo, quando tem
presente aplicações do Office ou aplicações multimédia

RAMBUS
28

 Adotado pela Intel para o Pentium & Itanium


 Principal concorrente do SDRAM
 Troca dados com o processador sobre 28 fios em menos de 12
cm
 Barramento de endereços até 320 chips RDRAM a 1.6Gb
 Um barramento especial RDRAM entrega endereços e
informação de controlo usando um protocolo assíncrono
orientado aos blocos
 Tempo de acesso 480ns
 1.6 Gbps
 O que torna possível esta velocidade é o próprio barramento que define
impedância, verificação e sinais de forma muito precisa. Uma RDRAM obtém
um pedido de memória através de um barramento de elevada velocidade.
Este pedido contém o endereço desejado, o tipo de operação e o número de
bytes em operação

14
23-11-2015

Diagrama RAMBUS
29

Fonte: Figure 5.14


RDRAM Structure

A configuração é constituída por um controlador e um número de módulos de RDRAM conectados


em conjunto através de um barramento comum. O barramento inclui 18 linhas de dados (16 + 2 de
paridade), cycling duas vezes o ciclo de relógio, isto é, um bit é enviado no momento da subida e
na descida de cada sinal de relógio. Esta operação resulta num débito de 800 Mb em cada linha
de dados. Existe um conjunto separado de 8 linhas (RC) usadas para sinais de endereços e de
controlo. Um módulo RDRAM envia dados para o controlador sincronizado com o relógio (TClk) e
o controlador envia dados para a RDRAM sincronizado com o sinal de relógio na direção oposta
(RClk).

Recursos adicionais
30

 Parte I
 Parte II
 Parte III

15
23-11-2015

Bibliografia
31

 Stallings, w. (2010). Computer Organization &


Architecture – Designing for Performance, 8/E,
International Edition, Prentice Hall
 Capítulo 5

16

Você também pode gostar