quarta-feira, 3 de novembro de 2010

Direct Memory Access

O controlador de DMA assume o papel de bus master e dirige todo o tráfego entre a memória e o controlador do periférico. Uma transferência DMA envolve 3 passos:

1-      O CPU indica ao DMA a identidade do controlador, o tipo de operação, o endereço de memória a aceder e o número de bytes a transferir;

2-      O DMA inicia a operação, arbitra o barramento e transfere os dados na direcção apropriada; o próprio DMA fornece os vários endereços de memória para todo o bloco de dados a ler ou escrever; é possível completar uma transferência de várias centenas ou milhares de dados sem incomodar o CPU;

3-      O DMA inicia a operação, arbitra o barramento e transfere os dados na direcção apropriada; o próprio DMA fornece os vários endereços de memória para todo o bloco de dados a ler ou escrever; é possível completar uma transferência de várias centenas ou milhares de dados sem incomodar o CPU;


Modo de Endereçamento de Memoria

Os modos de endereçamento permitem que as instruções especifiquem de que modo acedem a células de memória, com endereços que podem ser calculados durante a própria execução das instruções.


Os dois aspectos podem ser esquematizados do seguinte modo
Têm os seguintes principais objectivos:

* Para ter acesso eficiente a certas estruturas de dados: matrizes, estruturas ou records, listas, pilhas;
* Para especificar um endereço completo de memória, mas usando um menor número de bits no campo de endereço da instrução
* Para calcular endereços relativos à posição da instrução corrente ou a outra posição de base, permitindo assim que um programa fique independente da zona de memória central onde é carregado pelo Sistema de Operação.

Os modos de endereçamento especificam como se calcula o endereço efectivo.

Endereço Efectivo


Há, habitualmente, uma grande variedade de modos de endereçamento, com o objectivo de facilitar o acesso às constantes, às variáveis simples, às estruturas, bem como a geração de endereços relativos, que permitam ao programa ficar independente da posição real de memória onde é carregado.

Podemos distinguir dois aspectos principais:

* O primeiro aspecto refere-se aos modos de endereçamento tal como são utilizados pelo programador ou pelo compilador, mas ainda assumindo uma memória cujo endereço inicial é 0;
* O segundo aspecto refere-se ao modo como o Sistema de Operação, uma vez determinado o endereço real inicial do programa em memória, permite que, a partir do momento em que carrega o programa em memória, as suas instruções possam ser executadas sem ter de alterar o programa.

Os dois aspectos podem ser esquematizados do seguinte modo.

Utilização dos Modos de Endereçamento

Nas subsecções seguintes, iremos concentramo-nos sobretudo no primeiro aspecto. O segundo aspecto será estudado quando, a seguir, estudarmos a arquitectura do 8086 e, mais tarde, quando estudarmos com maior pormenor a organização das unidades de memória.

sexta-feira, 29 de outubro de 2010

Tipos de Memorias

Funcionamento Interno

 
A memória RAM é caracterizada por necessitar de "alimentação" contínua de forma a não perder os valores aí registados. 

Este tipo de memória é constituído por capacitadores (tipo bateria) que mantêm determinada carga durante um curto espaço de tempo. Este processo denomina-se "refresh" e ocorre todos 15 microssegundos (valor de referência em 1998).
Além desta característica, são distinguidos dois tipos fundamentais de memória quanto ao seu funcionamento interno:


DRAM (Dynamic Ram)

Memória dinâmica. Caracteriza-se pelo facto de perder os valores sempre que é lida. Os valores são perdidos e têm de ser reescritos, o que faz aumentar os tempos de acesso. Funcionalmente caracteriza-se por:

    * Grandes tempos de acesso (30 – 80 nanosegundos (ns));
    * Pequeno espaço requerido;
    * Baixo custo;


SRAM (Static Ram)

Memória estática. A sua denominação surge por contraponto com a DRAM, pois esta conserva os seus valores aquando da leitura, não sendo necessário perder o tempo de reescrita dos valores, aumentando por isso o seu desempenho. Funcionalmente caracteriza-se por:

    * Pequenos tempos de acesso (5-25 ns);
    * Quatro vezes mais espaço requerido que DRAM;
    * Custo elevado;


DIMM (Dual Inline Memory Module)

É um dos tipos de memória DRAM. As memórias DIMM estão divididas basicamente em dois tipos: as SDR SDRAM e DDR SDRAM. São comuns módulos de 64 MB, 128 MB, 256 MB, 512 MB, 1 GB, 2GB actualmente.




VRAM (Video Ram)

É um acrónimo para Video RAM. Este é um termo geralmente usado em computadores para descrever RAM dedicada ao propósito de exibir gráficos bitmap em hardware gráfico.
A Video RAM é normalmente fisicamente separada da RAM principal de um computador.


SODIMM (Small Outline Dual in-line Memory Module)

É um tipo de memória de computador. As memórias SO-DIMM são uma alternativa menor às memórias DIMM, tendo aproximadamente metade de seu tamanho. Como resultado, são usadas principalmente em PC`s portáteis, impressoras robustas de escritório e equipamentos de rede como routers.


DDR SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory)

É um tipo de circuito integrado de memória utilizado em computadores, derivada das muito conhecidas SDRAM e combinada com a técnica DDR, que consiste em transferir dois dados por pulso de clock, obtendo assim, teoricamente, o dobro de desempenho em relação a técnica tradicional de transferência de dados quando operando sob a mesma frequência de clock. Este tipo de memória já vai na quarta geração ( DDR, DDR2, DDR3 e DDR4).

Memorias DDR, DDR2, DDR3, a DDR4, é parcida as outras mas com o encaixe um pouco mais ao lado que a DDR3



Seguidores