ARQUITETURA DE COMPUTADORES Aula 05: Memória Principal
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.
Elemento básico de armazenamento: Bit (Binary Digit) Célula de memória (de semicondutor): Dispositivo semicondutor capaz de armazenar um bit.
Que condições um dispositivo deve cumprir para ser usado como célula de memória?
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);
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);
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.
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
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
Célula de memória Capacidade de armazenamento: 1 bit
Porém... Com um só bit a capacidade de representar valores é limitada (exceto no caso de flags )
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)
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.
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.
Organização (lógica) da memória: Como a UCP vê a MP:
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;
Organização (física) da memória :
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.
Leitura/Escrita de uma posição de memória: A linha inteira é transferida para/de um registrador
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;
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 = 2 L 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=2 8 =256 Portanto cada posição de memória de 8 bits pode armazenar números de 0 a 255.
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 = 2 L ; Onde: C=Capacidade da unidade de armazenamento L= Largura da unidade de armazenamento em bits Unidades de armazenamento de 16 bits, C=2 16 = 65.536 (64K) Unidades de armazenamento de 32 bits, C=2 32 = 4.294.967.296 (4GB)
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 = 2 8 = 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 = 2 L -1)
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 = 2 B 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 = 2 32 = 4.294.967.296 = 4 GB (endereços de 0 a 4.294.967.295).
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;
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).
Operações com a Memória Principal: Participantes: FSB (dados, endereços e controle) /REM / RDM / UCP / controlador da MP)
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.
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.
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.
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.
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.
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).
Memórias Síncronas (SDRAM):
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).
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.
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 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 Aula 05: Memória Principal