Memória Principal

Download Report

Transcript Memória Principal

ARQUITETURA DE
COMPUTADORES
Aula 05: Memória Principal
Prof. Benito Piropo Da-Rin
MEMÓRIA PRINCIPAL
• Elementos de uma memória principal (célula, bloco, tamanho total);
• Cálculo dos elementos de memória (tamanho dos barramentos de
endereços e dados, do RDM, do REM, tamanho da célula e da palavra,
capacidade total de armazenamento da memória). Conceitos de
variáveis e ponteiros. Ciclos de leitura e escrita em memória.
• Relação entre os elementos da memória e processador.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Elemento básico de armazenamento:
– Bit (Binary Digit)
• Célula de memória (de semicondutor):
– Dispositivo semicondutor capaz de
armazenar um bit.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Que condições um dispositivo deve
cumprir para ser usado como célula de
memória?
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Que condições um dispositivo deve
cumprir para ser usado como célula de
memória?
1. Poder assumir dois estados mutuamente
exclusivos (ou assumir valores acima e
abaixo de determinado patamar);
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Que condições um dispositivo deve
cumprir para ser usado como célula de
memória?
1. Poder assumir dois estados mutuamente
exclusivos (ou assumir valores acima e
abaixo de determinado patamar);
2. Permitir que o estado seja alterado (pelo
menos uma vez);
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Que condições um dispositivo deve
cumprir para ser usado como célula de
memória?
1. Poder assumir dois estados mutuamente
exclusivos (ou assumir valores acima e
abaixo de determinado patamar);
2. Permitir que o estado seja alterado (pelo
menos uma vez);
3. Permitir que o estado seja “lido”.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias de semicondutores
• Usadas predominantemente na MP
devido às suas características:
– Permitem acesso apenas através do endereço.
– Ocupam pouco espaço.
– Grande quantidade de bits podem ser
armazenados em pequenos CIs.
– Tempo de acesso pequeno
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias de semicondutores
Tipos de
encapsulamento:
• DIP - Dual Inline
Package
• SIPP - Single Inline Pin
Package
• SIMM – Single Inline
Memory Module
• DIMM - Dual Inline
Memory Module
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Célula de memória
• Capacidade de armazenamento: 1 bit
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Porém...
– Com um só bit a capacidade de representar valores
é limitada (exceto no caso de “flags”)
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Porém...
– Com um só bit a capacidade de representar valores
é limitada (exceto no caso de “flags”)
• Solução: “Posição de memória”
– Agrupar bits em conjuntos e identificar cada
conjunto por um “endereço”.
– Cada conjunto identificado por um endereço
constitui uma “posição de memória”.
– Não há padrão oficial, mas o padrão “de fato” é
usar posições de memórias de 8 bits (um byte)
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Endereço de memória:
– Identifica (inconfundivelmente) uma posição de
memória.
– É um número (em geral expresso em
hexadecimal ou binário)
– É uma entidade lógica (não existe fisicamente em
nenhum local da memória); em diagramas de
memória, são inseridos ao lado da posição que
identificam para fins puramente didáticos.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Organização (lógica) da memória:
– A MP é uma grande estrutura de conjuntos de
células “empilhados”.
– A maioria dos computadores de mesa adota
posições de memória de oito bits (por vezes
fisicamente combinadas em “linhas” de até
dezesseis posições, ou 128 bits) que do ponto de
vista lógico são “enxergadas” pela UCP como
uma enorme “pilha” de posições; cada posição tem
um endereço que cresce sequencialmente de zero
até o final do “espaço de endereçamento”.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Organização (lógica) da memória:
– Como a UCP “vê” a MP:
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Organização (física) da memória:
– A memória é organizada em uma matriz de
linhas e colunas;
– Cada linha pode conter uma ou mais posições de
memória;
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Organização (física) da memória :
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Organização (física) da memória:
– A memória é organizada em uma matriz de
linhas e colunas;
– Cada linha pode conter uma ou mais posições de
memória;
– O acesso à memória (leitura ou escrita) é feito
linha a linha;
– Não obstante isto, cada posição de memória é
identificada por seu endereço.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
• Leitura/Escrita de uma posição de memória:
– A linha inteira é transferida para/de um registrador
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Organização (física) da memória:
• Registrador de dados da memória (RDM)
A capacidade (largura) da linha depende da largura (em bits) do
RDM e é igual ao número de linhas do barramento de dados;
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Cálculos dos elementos da memória
• Capacidade da posição de memória
– Capacidade da “posição de memória”: quantidade de
números diferentes que podem ser nela armazenados.
• C = 2L
• Onde:
– C=Capacidade da unidade endereçável
– L= Largura da unidade endereçável em bits
– Em posições de memória de 8 bits, C=28 =256
– Portanto cada posição de memória de 8 bits pode
armazenar números de 0 a 255.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Cálculos dos elementos da memória
• Capacidade de unidade de armazenamento
– O mesmo princípio vale para a capacidade de qualquer unidade
de armazenamento (por exemplo: registradores): sua
capacidade é igual à quantidade de números diferentes que
podem ser nela armazenados. Para qualquer unidade de L bits:
• C = 2L ; Onde:
– C=Capacidade da unidade de armazenamento
– L= Largura da unidade de armazenamento em bits
– Unidades de armazenamento de 16 bits, C=216 = 65.536 (64K)
– Unidades de armazenamento de 32 bits, C=232 = 4.294.967.296
(4GB)
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Cálculos dos elementos da memória
• Maior valor que pode ser armazenado
– ATENÇÃO! Não confundir a capacidade da unidade de
armazenamento (número de valores diferentes que ela pode
armazenar) com o valor do maior número que nela pode ser
armazenado.
– EXEMPLO:
Capacidade de armazenamento de uma unidade de 8 bits:
C = 28 = 256 (pode armazenar 256 diferentes valores)
PORÉM: O menor valor armazenado é 0 (zero)
LOGO: maior número N que pode armazenar: N = 255
PORTANTO: N = C-1 (Generalizando: N = 2L-1)
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Cálculos dos elementos da memória
• Capacidade do espaço de endereçamento
– O espaço de endereçamento é a capacidade máxima de memória
suportada pelo sistema (nem sempre igual ao total instalado)
Sua capacidade depende do número de linhas do barramento de
endereços (que é igual à “largura” do REM em bits).
• E = 2B
Onde:
– E = Espaço de endereçamento (capacidade da MP);
– B = Número de linhas do barramento de memória.
• Para barramentos de 32 linhas (do 386 ao Pentium): E = 232 =
4.294.967.296 = 4 GB (endereços de 0 a 4.294.967.295).
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Organização (física) da memória:
• Registrador de endereços da memória (REM)
A capacidade do espaço de endereçamento depende da largura (em
bits) do REM que é igual ao nr. de linhas do barramento de endereços;
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Operações com a Memória Principal:
• Leitura:
– Um número (dado, endereço ou instrução) é copiado
da memória em um dos registradores.
– É uma operação não destrutiva (o mesmo número
pode ser lido novamente).
• Escrita:
– Um número (dado, endereço ou instrução) é copiado
de um dos registradores para a memória;
– É uma operação destrutiva (o conteúdo da posição de
memória é substituído pelo novo valor).
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Operações com a Memória Principal:
• Participantes: FSB (dados, endereços e controle) /REM /
RDM / UCP / controlador da MP)
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Operações com a Memória Principal:
• Escrita I: A UCP copia o endereço da posição de memória
onde o dado será escrito no REM, transcreve o dado a ser
escrito no RDM e aguarda o próximo sinal de controle.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Operações com a Memória Principal:
• Escrita II: A UCP envia pulsos nas linhas correspondentes do
barramento de controle indicando que a operação é de escrita
e será feita na MP. O controlador de memória “aponta” para o
endereço contido no REM e aguarda novo sinal.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Operações com a Memória Principal:
• Escrita III: O controlador de memória lê o conteúdo do RDM
e o transcreve no endereço apontado.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Operações com a Memória Principal:
• Leitura: Processo semelhante à escrita, porém no sentido
inverso. Não altera o conteúdo da posição de memória.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias Síncronas (SDRAM):
• A descrição simplificada dos procedimentos de leitura e
escrita não considerou o fenômeno ao longo do tempo.
• Memórias ligadas a um barramento frontal mantêm algum
tipo de sincronia com este barramento.
• O barramento frontal opera com uma frequência que em
geral é um submúltiplo da frequência da UCP.
• Memórias mais antigas (EDO, FPM) executavam cada passo
anteriormente descrito em um ciclo do barramento (DRAM).
• Memórias modernas (SDRAM, DRAM Síncronas) executam
uma transferência por ciclo de barramento.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias Síncronas de taxa múltipla de dados:
• DDR: “Double Data Rate” (Taxa Dupla de Dados)
– Efetua duas operações de transferência por ciclo do barramento;
memórias DDR-200, por exemplo, efetuam 200 milhões de transferências
por segundo em um barramento operando a 100 MHz.
– Modelos: DDR-200 / DDR-266 / DDR-300 / DDR-333 / DDR-400
• DDR2: Segunda geração da tecnologia DDR
– Na prática: quatro transferências por ciclo de barramento;
– Modelos: DDR2-400 / DDR2-553 / DDR2-667 / DDR2-800 /
DDR2-1066 / DDR2-1300
• DDR3: Terceira geração da tecnologia DDR
– Na prática: oito transferências por ciclo de barramento;
– Modelos: DDR3-800 / DDR3-1066 / DDR3-1333 / DDR3-1600 / DDR3-2100
Além da diferença no desempenho, os módulos usam diferentes tensões de
alimentação e consomem diferentes potências (que tende a diminuir).
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias Síncronas (SDRAM):
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias Dinâmicas (DRAM):
A célula de memória DRAM é do tipo “capacitor” (carregado
/descarregado); Mas na verdade o capacitor é a capacitância de
entrada de um transistor (que é recarregado logo após a leitura).
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Memórias Flash:
• O contato “Float Gate” se situa entre o “Control Gate” e o
transistor e é isolado eletricamente de ambos. Devido a este
isolamento, quando carregado de elétrons, mantém esta carga
em seu interior por um período de anos.
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Variáveis e Ponteiros:
• VARIÁVEL: um objeto (geralmente uma posição de memória)
capaz de reter e representar um valor ou expressão. As variáveis só
"existem" em tempo de execução e estão associadas a nomes,
chamados identificadores
• [Em outras palavras: variável é uma posição de memória
identificada (no programa) por um nome e cujo conteúdo exprime
o valor de uma expressão que pode variar com o tempo].
• PONTEIRO: é um tipo de dado de uma linguagem de programação
cujo valor se refere diretamente a um outro valor alocado em outra
área da memória, através de seu endereço.
• [Em outras palavras: “Ponteiro” é uma posição de memória que
contém o endereço de outra posição de memória, ou seja, que
“aponta” para esta outra posição de memória].
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
Memória Principal
Arquitetura de von Neumann:
• Modelo de arquitetura de computadores que adota o
mesmo espaço de endereçamento para armazenar tanto
dados quanto instruções - “stored-program computer”
ou “computador com programa armazenado” (na MP);
• (Concebida em 1945 por John von Neumann, cientista
húngaro radicado nos EUA, para uso no EDVAC; Até
então os computadores armazenavam instruções em um
espaço de endereçamento específico para tal fim)
• “Máquina de von Neumann” ou “stored-program
computer” – todo computador moderno é...
Arquitetura de Computadores
Prof. Benito Piropo Da-Rin
ARQUITETURA DE
COMPUTADORES
Aula 05: Memória Principal
Prof. Benito Piropo Da-Rin