A Maior Vantagem Dos Sistemas Digitais Sobre Os Sistemas Analógicos Constitui

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 19

MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

A maior vantagem dos sistemas digitais sobre os sistemas


analógicos constitui-se na capacidade de armazenamento de
informações digitais e dados, por curto ou longo período.

Em um computador digital, a memória principal interna armazena


instruções que irão comandar o computador com o mínimo de
intervenção de um operador.

O primeiro tipo de dispositivo de memória estudado é o flip-flop.


Sabemos também que quando agrupamos os FFs formamos os
registradores que podem ser usados para armazenar informação e
esta informação pode ser transferida para outras localizações.

Os FFs registradores são elementos de memória de alta


velocidade e são usados extensivamente em operações internas de
um computador digital, onde as informações digitais estão sendo
continuamente movidas de uma localização para a outra. Com o
avanço da tecnologia de CIs do tipo LSI (Large Scale Integration)
e VLSI (Very Large Scale Integration), obteve-se grande números
de FFs em arranjos de um único chip, organizados em vários
arranjos de memória. As primeiras tecnologias utilizadas em
memórias foram as memórias de núcleos magnéticos, hoje apenas
uma curiosidade. As memórias modernas são compostas por
circuitos semicondutores, com novas tecnologias sendo criadas a
cada ano permitindo que grandes quantidades de células de
memória sejam encapsuladas em pequenas pastilhas. Memórias
semicondutoras bipolar e MOS são as mais rápidas e seus custos
tem baixado com o aperfeiçoamento da tecnologia LSI.

Os dados digitais podem ser armazenados também como cargas


em capacitores.

Muitas memórias usam este princípio para obter alta densidade de


armazenamento com baixo nível de consumo de energia.

As memórias podem ser ditas semicondutoras quando são em


chip e não semicondutoras (não chip) ou de massas, termo usado
antigamente para identificar as memórias que guardavam grandes
1
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

quantidades de informação. As memórias semicondutoras são


usadas como memória principal (main memory) de um
computador, onde são necessárias operações rápidas. A memória
principal do computador é chamada memória de trabalho está em
constante comunicação com a CPU (Central Processing Unit)
figura 1, a medida que as instruções de programas estão sendo
executadas. Um programa e qualquer dado usado pelo programa,
permanece na memória principal enquanto o computador está
executando aquele programa. As memórias RAM e ROM (
EPROM ou FLASH) constituem a memória principal.

Memória de massa ou memória auxiliar estas memórias tem a


capacidade de armazenar grandes quantidades de dados externa a
memória principal. Tem como características :

operam em menor velocidade que a memória principal;

Armazenam programas e dados que não são frequentemente


usados pela CPU. Esta informação é transferida pela CPU quando
o computador necessita.

Os dispositivos de memória auxiliar mais comuns são disco


magnéticos, fitas magnéticas, compact disk, CD e a mais recente,
pen drive

2
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

Figura1 – Diagrama Bloco para uma CPU

2. HIERARQUIA DE MEMÓRIA _

Pode-se estabelecer uma hierarquia para os dispositivos de


armazenamento em computadores, baseando-se em características
como : tempo de acesso, capacidade de armazenamento, custo,
etc.,

Tipo Capacidade Velocidade Custo Localização Volatilidade

Registrador Bytes muito alta muito alto CPU Volátil

Memória Cache Kbytes alta alto CPU/placa Volátil

Memória Principal Mbytes média médio Placa Volátil

Memória Auxiliar Gbytes baixa baixo Externa Não Volátil

A CPU vê nesta ordem e acessa primeiro a que está mais


próxima. Subindo na hierarquia, quanto mais próximo da CPU,

3
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

maior velocidade, maior custo, porém menor capacidade de


armazenamento.

Registradores

Registradores são dispositivos de armazenamento temporário,


localizados na CPU, extremamente rápidos, com capacidade para
apenas um dado (uma palavra). Devido a sua tecnologia de
construção e por estar localizado na própria pastilha ("chip") da
CPU, é muito caro. O conceito de registrador surgiu da
necessidade da CPU de armazenar temporariamente dados
intermediários durante um processamento. Por exemplo, quando
um dado resultado de operação precisa ser armazenado até que o
resultado de uma busca da memória esteja disponível para com
ele realizar uma nova operação.

Máquinas RISC 1 são geralmente construídas com um grande


conjunto de registradores, de forma a trazer os dados o mais
próximo possível da CPU, desta maneira o programa opera
sempre sobre dados que estão em registradores.

Registradores são VOLÁTEIS, isto é, dependem de estar


energizados para manter armazenado seu conteúdo.

Memória Cache

O desenvolvimento da tecnologia de construção de CPUs,


proporciou um aumento de velocidade em seu processamento, o
que não aconteceu com as memórias, que não tiveram a mesma
evolução de velocidade (o aperfeiçoamento das memórias se deu
mais no fator capacidade). Desta forma, os tempos de acesso às
memórias pela CPU, foram ficando insatisfatórios, de forma que
ao buscar um dado na memória era necessário esperar muitos
ciclos até que a memória retornasse o dado buscado ("wait
states"), configurando um gargalo ("bottleneck") ao desempenho
do sistema.

4
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

Por esse motivo, desenvolveram-se outras arquiteturas de


memória privilegiando a velocidade de acesso. A arquitetura da
memória cache é muito diferente da arquitetura da memória
principal (MP) e o acesso a ela é muitas vezes mais rápido p.ex: 5
ns contra 70ns. Portanto, memória cache são blocos de memória
SRAM (Static RAM) que se comunicam diretamente com a CPU
em alta velocidade. Um circuito chamado controlador, lê os dados
da memória RAM e os copia para a memória cache. Quando há
necessidade para a CPU, de Instruções e dados estes são
transferidos de memórias internas mais baratas e mais lentas para
a memória cache. No entanto, o custo de fabricação da memória
cache é muito maior que o da MP. Desta forma, não é econômico
construir um computador somente com tecnologia de memória
cache. Criou-se então um artifício, incorporando-se ao
computador uma pequena porção de memória cache, localizada
entre a CPU e a MP, e que funciona como um espelho de parte da
MP. Em um computador há entre 8-64Kbytes (ou mais) de
memória cachê. _

1Reduced Instruction Set Computer ou Computador com um


Conjunto Reduzido de Instruções , é uma linha de arquitetura de
computadores que apresenta um conjunto simples e pequeno de
instruções que levam aproximadamente a mesma quantidade de
tempo para serem executadas. A maioria dos microprocessadores
modernos são RISCs, ( DEC Alpha, SPARC, MIPS, e PowerPC).
Os processadores baseados na arquitetura RISC não tem
microprogramação, as instruções são executadas diretamente pelo
hardware, com baixo nível de complexidade. Caracteriza-se por
um conjunto reduzido e simples de instruções com formatos
simples e regulares, operando sempre em registros, modos
simples de endereçamento à memória, uma operação elementar
por ciclo de máquina , uso de pipeline.

Desenvolveram-se ainda algoritmos que fazem com que, a cada


momento, a memória cache armazene a porção de código ou
dados (por exemplo, uma sub-rotina) que está sendo usado pela
CPU. Esta transferência (MP <--> Cache) é feita pelo hardware:
ela independe do software, que ignora se existe ou não memória
5
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

cache, portanto ignora essa transferência; nem o programador


nem o sistema operacional têm que se preocupar com ela.

A memória cache opera em função de um princípio estatístico


comprovado: em geral, os programas tendem a referenciar várias
vezes pequenos trechos de programas, como loops, sub-rotinas,
funções e só tem sentido porque programas executados
linearmente, seqüencialmente, são raros. Desta forma, algoritmos
(chamados algoritmos de cache) podem controlar qual parte do
código ficará copiado na cache, a cada momento. Quando a MP
busca um determinado trecho de código e o encontra na cache,
dá-se um "cache hit" , enquanto se o dado não estiver presente na
cache será necessário requisitar o mesmo à MP, acarretando
atraso no processamento e dá-se um "cache miss" ou "cache
fault". O índice de cache hit ou taxa de acerto da cache é
geralmente acima de 90%. Memórias cache também são
VOLÁTEIS, isto é, dependem de estar energizadas para manter
gravado seu conteúdo.

A memória cache é encontrada em dois tipos:

Memória cache L1 - Presente dentro do microprocessador ou


cache interno. Encontrada nos tamanhos que variam de 16 a
64KB, divididas em duas partes, uma para dados outra para
instruções.

Memória cache L2 - Presente na placa-mãe ou até dentro do


processador, no caso de processadores mais novos. Quando é
externo, o seu tamanho depende do chipset presente na placa-
mãe. Quando é interno o tamanho varia de 128KB a 2MB.

Memória Principal

Memória Principal é a parte do computador onde programas e


dados são armazenados para processamento. A informação
permanece na memória principal apenas enquanto for necessário
para uso pela CPU, portanto, a área de MP ocupada pela
informação pode ser liberada para ser posteriormente
6
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

sobregravada por outra informação. Quem controla a utilização da


memória principal é o Sistema Operacional.

Memórias Auxiliares

As memórias auxiliares resolvem problemas de armazenamento


de grandes quantidades de informações. A capacidade da MP é
limitada pelo seu relativamente alto custo, enquanto as memórias
auxiliares tem maior capacidade e menor custo (o custo por bit
armazenado é muito menor ).

Outra vantagem importante é que as memórias auxiliares não são


VOLÁTEIS, isto é, não dependem de estar energizadas para
manter gravado seu conteúdo. Entre os principais dispositivos de
memória auxiliar têm-se: discos rígidos (ou HD), drives de
disquete, unidades de fita, CD-ROM, DVD, pen drives, etc.

3. TERMINOLOGIA DE MEMÓRIAS _

CÉLULA de Memória é um dispositivo ou um circuito elétrico


usado para armazenar um único bit (0 ou 1). Ex: flip-flop; um
capacitor carregado; uma única trilha em uma fita magnética ou
disco.

BIT - contração de BInary DigiT e representa um dos valores


possíveis em binário, 0 ou 1.

PALAVRA de memória é um grupo de bits (células) em uma


memória que representa instruções ou dados. Ex: registrador de 8
FFs. Em geral, o termo "célula" é usado para definir a unidade de
armazenamento e o termo "palavra" para definir a unidade de
transferência e processamento, significando na prática quantos
bits o computador movimenta e processa em cada operação.

BYTE - grupo de 8 bits . Em um byte, há 28 = 256 combinações,


portanto pode-se representar 256 diferentes valores, desde 0 até 1.
O termo "byte" foi inventado pela IBM. Observações:

7
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

O tamanho da palavra pode ser expresso em bytes ou em bits. Ex:


palavra de 8bits > palavra de 1 byte; palavra de 16 bits > palavra
de 2 bytes.

 Em informática, a expressão kilo (abreviada por k) equivale a


210, ou seja 1024
Desta forma, 1 kbits (1kb) equivale a 210 bits, ou seja 1024 bits e
1 kilobyte (1 kB) equivale a 210 bytes, ou seja 1024 bytes ou
ainda 8.192 bits.

Da mesma forma, a expressão mega equivale a 220, ou seja 210 x


210 = 1.048.576.

Desta forma, 1 megabit (1 Mb) equivale a 220 bits, ou seja 1024


kb ou 1.048.576 bits e 1 megabyte equivale a 220 bytes, ou seja
1.048.576 bytes.

Assim 1 giga, equivale a 230 ou 1024 megas, 1 tera, equivale a


240 ou 1.024 gigas, 1 peta, equivale a 250 ou 1.024 teras.

CAPACIDADE DA MEMÓRIA - a capacidade em bits é igual ao


produto do nº de células pelo total de bits por célula.

T = N x M onde, T = capacidade da memória em bits N = nº de


endereços, N=2x sendo x = nº de bits do endereço (ou linhas de
endereços) M = nº de bits de cada célula

logo,Nx2log
Em geral, x está entre 16 e 32, enquanto que M pode ser 1, 4, 8,
16 ou 32. A cada posição é associado um endereço, iniciando pelo
endereço 0 (zero) e indo até N-1( último endereço na memória ).
Portanto, são necessários x bits para decodificar os 2x endereços
existentes.

Ex: suponha uma memória que armazena 4kx20 ou 4096 pal de


20bits = 81.920 bits ; 2Mx8=2097152 x 8 ou 2M por 1Byte/pal

8
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

DENSIDADE (CAPACIDADE) a densidade de uma memória


mede a quantidade de armazenamento da informação ou bits no
mesmo espaço .

ENDEREÇO (Adress) é o número que identifica a localização de


uma palavra. O endereço é um número binário embora
representemos por octal, hexadecimal e decimal.

TEMPO DE ACESSO tempo de acesso (ou tempo de acesso para


leitura) é o tempo decorrido entre um pedido de leitura de uma
posição de memória e o instante em que a informação requerida
está disponível para utilização pela CPU. Ou seja, o tempo que a
memória consome para colocar o conteúdo de uma célula no
barramento de dados. O tempo de acesso de uma memória
depende da tecnologia da memória. As memórias DRAM
(Dynamic RAM - as mais comuns hoje) tem tempo de acesso na
faixa de 60 ns.

TEMPO DE CICLO (ou ciclo de memória) é o tempo decorrido


entre dois ciclos sucessivos de acesso à memória. As memórias
dinâmicas perdem seu conteúdo em alguns instantes e dependem
de ser periodicamente atualizadas (ciclo de "refresh"). No caso
das SRAM (Static RAM ou memórias estáticas), que não
dependem de "refresh", o tempo de ciclo é igual ao tempo de
acesso. As memórias dinâmicas, no entanto, requerem ciclos
periódicos de "refresh", o que faz com que a memória fique
indisponível para novas transferências, a intervalos regulares
necessários para os ciclos de "refresh". Assim, as memórias
DRAMs têm ciclo de memória maior que o tempo de acesso.

RAM (RANDOM ACCESS MEMORY ) memória de acesso


aleatório, o tempo de acesso é independente do endereço a ser
acessado (ou a posição de memória a ser escrita ou lida). A
maioria das memórias semicondutoras são do tipo RAM .

SEQUENTIAL ACESS MEMORY (SAM) o acesso de tempo


não é constante e varia dependendo da localização de endereço .
Por isso o acesso de tempo produzido pode ser muito maior que
9
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

aquele produzido pela RAM, ex: fita magnética (magnetic tape


backup).

READ/WRITE MEMORY (RWM) qualquer memória que pode


ser lida ou escrita.

READ-ONLY MEMORY (ROM) memórias semicondutoras que


podem ser escritas (programadas) somente uma vez. Depois desta
operação esta memória somente pode ser lida. São do tipo não
voláteis, ou seja conservam os dados mesmo quando não estão
energizadas.

MEMÓRIA VOLÁTIL qualquer tipo de memória que necessite


de energia elétrica para reter a informação armazenada. Se a
energia for retirada, toda a informação armazenada na memória
será perdida. Muitas memórias a semicondutor são voláteis,
enquanto todas as memórias magnéticas são não-voláteis.

4. ESTRUTURA DA MEMÓRIA PRINCIPAL – CÉLULA E


ENDEREÇO _

A memória precisa ter uma organização que permita ao


computador guardar e recuperar informações quando necessário.
E o computador precisa ter um mecanismo de como encontrar
essa informação mais tarde, quando for necessário.

A memória principal é organizada em células que é considerada a


unidade de armazenamento do computador. Célula é a menor
unidade da memória que pode ser endereçada (não é possível
buscar uma "parte" da célula) e tem um tamanho fixo (para cada
máquina). As memórias são compostas de um determinado
número de células ou posições. Cada célula é composta de um
determinado número de bits. Todas as células de um dado
computador tem o mesmo tamanho, isto é, o mesmo número de
bits.

Cada célula é identificada por um endereço único, pela qual é


referenciada pelo sistema e pelos programas. As células são
10
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

numeradas seqüencialmente, uma a uma, de 0 a N-1, chamado o


endereço da célula.

Outro conceito importante em um computador é a Unidade de


Transferência que é a quantidade de bits que é transferida da
memória em uma única operação de leitura ou transferida para a
memória em uma única operação de escrita. O tamanho da célula
poderia ser igual ao da palavra, e também à unidade de
transferência, porém por razões técnicas e de custo, são
freqüentemente diferentes.

Uma célula não significa o mesmo que uma palavra; uma célula
não necessariamente contém uma palavra. Palavra é a unidade de
processamento da CPU. Uma palavra deve representar um dado
ou uma instrução, que poderia ser processada, armazenada ou
transferida em uma única operação. No entanto, em geral não é
assim que acontece e os computadores comerciais não seguem um
padrão único para a organização da CPU e MP. Computadores
comerciais (tais como, os baseados nos processadores Intel 486)
podem ter o tamanho da palavra definido em 32 bits, porém sua
estrutura de memória tem células de 16 bits.

A estrutura da memória principal é um problema do projeto de


hardware. O tamanho mais comum de célula era 8 bits (1 byte),
hoje já são comuns células contendo vários bytes.

A Palavra interna à CPU, por sua vez, geralmente tem tamanho


distinto das demais. Uma CPU projetada para trabalhar com n bits
é dita ser um processador de n bits. Existem processadores de 1 a
64 bits (ou até mais). Nos computadores pessoais tipo IBM/PC

11
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

compatíveis, são empregados processadores de 16, 32, 64 e 128


bits, conforme o modelo.

Palavra é a unidade de informação do sistema CPU / MP. O


conceito mais usado (IBM, Digital) define palavra como sendo a
capacidade de manipulação de bits do núcleo do computador
(CPU e MP). Pressupõe-se aqui, que todos os elementos do
núcleo do computador (o que inclui o tamanho da ULA, do
acumulador e registradores gerais da CPU e o barramento de
dados) tenham a mesma largura (processem simultaneamente o
mesmo número de bits), o que nem sempre acontece. Muitas
vezes encontram-se computadores em que o tamanho da ULA e
do acumulador (e registradores gerais) não é o mesmo tamanho
dos barramentos. Desta forma, encontram-se especificações de
"computadores de 64 bits" mesmo quando seu barramento de
dados é de 32 bits, nesse caso referindo-se exclusivamente à
capacidade de manipulação da CPU de 64 bits (isto é, sua ULA e
acumulador tem 64 bits). Esta conceituação é imprecisa (às vezes,
enganosa) e pode levar a erros de avaliação da capacidade de
processamento de um computador.

Como exemplos, temos os microprocessadores Intel 8086 (16


bits, sendo todos seus elementos de 16 bits); depois dele , 8088,
usado nos primeiros IBM/PC e XT (idêntico sob quase todos os
aspectos ao 8086) e também dito de 16 bits, sendo que ULA e
registradores são de 16 bits, mas o barramento de dados é de
apenas 8 bits, por economia e razões de compatibilidade com toda
uma geração de placas de 8 bits. Destaque-se que nesse caso as
transferências de dados através do barramento de dados se fazem
em duas etapas, um byte de cada vez, e em conseqüência no 8088
elas consomem o dobro dos ciclos de barramento que o 8086, o
que torna suas operações de transferência de dados mais lentas
que as do 8086.

Resumindo, deve-se analisar caso a caso, porque a simples


menção ao tamanho da palavra não permite definir de forma
conclusiva sobre a arquitetura do computador. A palavra em um

12
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

computador pode ter 1 byte (p.ex, 8080), 2 bytes (p.ex. 80286), 4


bytes (p.ex. 486, o Pentium, e muitos mainframes IBM).

Exercícios

1) Numa MP com 1kbyte de capacidade, onde cada palavra tem 8


bits: a) quantas palavras tem a MP? b) quantos bits são
necessários para representar um endereço de memória?

2) Um computador endereça 2k palavras de 16 bits cada uma.


Pede-se: a) sua capacidade de memória; b) o maior endereço que
o computador pode endereçar;

3) Calcular e completar os campos:

M - Tamanho da palavra x - nº de bits do endereço N - nº de


endereços T - Capac. da memória 0 a (N-1) - Faixa de endereços

8 bits - - 1 K byte - 16 bits - 1 K endereços- - - 4 bits - 256 bits - 4


bytes - - 4 Gbytes - - - - 1 Mbyte 0 a 65.535 64 bits - - - 0 a
262.143

4) Uma memória semicondutora é especificada como 2kx8 .


Quantas palavras podem ser armazenadas nesta memória? Qual o
total em bits? Qual o total de linhas de endereço?

5) Uma certa memória tem capacidade de 8kx16. a) Quantos bits


por palavra? b) Quantas palavras são armazenadas ? c) Quantas
células de memória?

6) Qual a maior memória, 5Mx8 ou 1Mx16?

7) Para acessar uma memória com organização interna de 16kx10,


quantas entradas de endereço, entrada de dados e saída de dados
são necessários ?

5. COMUNICAÇÃO ENTRE MP e CPU _

13
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

Figura 2- Esquemático de Funcionamento da Comunicação MP /


CPU

Barramentos Os diversos componentes dos computadores se


comunicam através de barramentos.

Barramento é um conjunto de condutores elétricos que interligam


os diversos componentes do computador e de circuitos eletrônicos
que controlam o fluxo dos bits. Para um dado ser transportado de
um componente a outro, é preciso emitir os sinais de controle
necessários para o componente-origem colocar o dado no
barramento e para o componente-destino ler o dado do
barramento. Como um dado é composto por bits (geralmente um
ou mais bytes) o barramento deverá ter tantas linhas condutoras
quanto forem os bits a serem transportados de cada vez.

Em alguns computadores (usando uma abordagem que visa a


redução de custos), os dados podem ser transportados usando
mais de um ciclo do barramento. Assim, se quisermos transferir
um byte - por ex: 01001010 - da CPU para a MP, os circuitos de
controle se encarregarão de colocar o byte 01001010 no
barramento, (por convenção, os bits são sempre ordenados da
direita para a esquerda) e de informar à memória para ler o dado
no barramento.

Tipos de Barramentos

14
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

Barramento de endereços (adress bus)– unidirecional que


transfere as saídas de endereço da CPU para os CIs de memória
para selecionar uma localização na memória.

Barramento de dados – bidirecional, são transportados dados


entre a CPU e os CIs de memória ( envia dados - write - ou lê
dados - read - da MP)

CPU ---> MP (controles- r/w)


MP -----> CPU (wait )
Barramento de controle – bidirecional, transfere sinais de controle
tais como o sinal R/W da CPU para os CIs de memória.

Registradores Utilizados

A comunicação entre MP e CPU usa dois registradores da CPU :


Registrador de Endereços de Memória - REM ( Memory Address
Register –MAR; Registrador de Dados da Memória - RDM (
Memory Buffer Register -MBR.

obs: x = no de bits do barramento de endereços; em geral (mas


não obrigatoriamente) é igual ao nº de bits do Registrador de
Endereços de Memória - REM. M = nº de bits contidos em uma
célula; M em geral (mas não obrigatoriamente) é igual ao nº de
bits do Registrador de Dados da Memória - RDM.

Barramento de dados

Em um barramentos de dados somente um dispositivo (memória,


periféricos) pode operar por vez. Os buffers tri-state são utilizados
para isolar os dispositivos que não estão acessando o barramento.
Para um microprocessador, apenas um dispositivo é habilitado de
cada vez, para que a contenção de barramento seja evitada.

Dessa forma, somente um dispositivo pode ter conexão direta


com o barramento além do processador central, que normalmente
é o host (fig.3). Tradicionalmente o circuito de decodificação de
endereços determina qual dispositivo irá conectar ao barramento.
15
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

Todos os outros dispositivos são desconectados de modo a não


afetar as operações ativas no barramento. Os buffers tri-state são
os dispositivos que são utilizados para isolar o barramento. Isso
significa manter o circuito em um estado de alta impedância. O
nome tristate advém de existir este terceiro estado, o de alta
impedância, além dos tradicionais "0" e "1" lógicos.

Figura 3- Barramento de Dados da CPU

OPERAÇÃO DE LEITURA/ESCRITA Sempre que a CPU


escrever ou ler um dado em uma determinada posição de
memória, os seguintes passos terão de ser realizados.

a) Escrever na Memória - significa escrever uma informação em


uma célula da memória (armazenar uma informação). Esta
operação de armazenamento da informação na memória consiste
na transferência de um conjunto de bits da CPU para a memória e
é destrutiva (isto significa que qualquer informação que estiver
gravada naquela célula será sobregravada).

1) A CPU armazena no REM o endereço de memória da


informação a ser gravada; 2) A CPU coloca no RDM a
informação e disponibiliza nas linhas do barramento de dados; 3)
16
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

A CPU comanda uma operação de escrita (ativa as linhas de sinal


de controle); 4) Os CIs de memória decodificam o endereço
binário determinando a posição selecionada para a operação de
armazenamento; 5) A informação armazenada no RDM é
transferida para a posição de memória cujo endereço está contido
no REM.

b) Ler da Memória (ou busca na memória- fetch operation)-


significa requisitar à memória o conteúdo de uma determinada
célula. Esta operação de recuperação da informação armazenada
na memória consiste na transferência de um conjunto de bits
(cópia) da memória para a CPU e é não destrutiva, isto é, o
conteúdo da célula não é alterado.

1) A CPU armazena no REM o endereço onde a informação


requerida está armazenada; 2) A CPU ativa as linhas de sinal de
controle para a operação de leitura; 3) Os CIs de memória
decodificam o endereço binário determinando a posição
selecionada para a operação de leitura;

3) O conteúdo da posição identificada pelo endereço contido no


REM é transferido para o RDM e fica disponível para a CPU.

Exercícios 1) Quais das seguintes memórias são passíveis de


implementação? b 10 1024 12 c 9 1024 10 d 1 1024 10 e 10 10
1024 f 1024 10 10

2) Um computador tem 512 endereços e cada palavra tem 12 bits.


Qual a capacidade: a) do REM; b) do RDM; c) da MP em bits.

3) Um computador tem um RDM de 16 bits e um REM de 20


bits. Sabe-se que a célula desse computador é de 8 bits e que ele
tem um número de células igual à sua possibilidade de
endereçamento. Pede-se: A) Qual o tamanho do barramento de
endereços? B) Quantas células são lidas da memória em uma
única operação? C) Quantos bits tem a memória desse
computador?

17
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

7. CLASSIFICAÇÃO DAS MEMÓRIAS

R/W - Read and Write (memória de leitura e escrita), comumente


(e impropriamente) chamada de RAM .Esta memória permite
operações de escrita e leitura pelo usuário e pelos programas. Seu
tempo de acesso é da ordem de 70ns e independe do endereço
acessado. É construída com tecnologia de semicondutores
(bipolar), pode ser estática (SRAM) ou dinâmica (DRAM) e é
volátil. A MP é construída com memória R/W.

ROM - Read Only Memory ou memória apenas de leitura Esta


memória permite apenas a leitura e uma vez gravada não pode
mais ser alterada. Tem acesso aleatório (isto é, é também uma
RAM), mas não é volátil. É utilizada geralmente por fabricantes
para gravar programas que não podem ser alterados pelo usuário
ou apagar acidentalmente (tal como por ex..a BIOS - Basic Input
Output System e microprogramas de memórias de controle).
Quando se liga uma máquina, é da ROM que vem os programas
que são carregados e processados no "boot" 2(na inicialização o
hardware aponta automaticamente para o primeiro endereço da
ROM). Desta forma, parte do espaço de endereçamento da MP é
ocupada por ROM.

A ROM é mais lenta e de menor custo que a R/W, porém o


processo produtivo depende de ser programada por máscara
("mask programmed") em fábrica e devido ao alto custo da
máscara somente se torna econômica em grandes quantidades.

PROM - Programmable Read Only Memory ou memória apenas


de leitura, programável. Esta memória é uma ROM programável
(em condições e com hardware adequados, chamados
queimadores de PROM), geralmente comprada "virgem" (sem
nada gravado). Uma vez programada (em fábrica ou não), não
pode mais ser alterada.

EPROM - Erasable Programmable Read Only Memory ou


memória apenas de leitura, programável (com queimadores de
PROM) e apagável ( à base de raios ultra-violeta). Esta memória é
18
MICROCONTROLADORES – DISPOSITIVOS DE MEMÓRIA

uma PROM apagável. Tem utilização semelhante à da PROM,


para testar programas no lugar da ROM, ou sempre que se queira
produzir ROM em quantidades pequenas, com a vantagem de
poder ser apagada e reutilizada.

2Boot (ou bootstrap loader) é o processo de inicialização e carga


dos programas básicos de um computador, automática, sem
intervenção externa. Este termo vem de uma analogia com um
processo (impossível) que seria uma pessoa se levantar puxando-
se pelos cordões de suas próprias botas.

EEPROM (ou E2PROM) - Electrically Erasable Programmable


Read Only Memory ou memória apenas de leitura, programável e
eletronicamente alterável. Também chamada EAROM
(Electrically Alterable ROM). Esta memória é uma EPROM
apagável por processo eletrônico, sob controle da CPU, com
equipamento e programas adequados. É mais cara e é geralmente
utilizada em dispositivos aos quais se deseja permitir a alteração,
via modem, possibilitando a carga de novas versões de programas
à distância ou então para possibilitar a reprogramação dinâmica
de funções específicas de um determinado programa, geralmente
relativas ao hardware (p.ex., a reconfiguração de teclado ou de
modem, programação de um terminal, etc).

FLASH – EEPROM – não volátil, com apagamento e escrita


feitos eletricamente no circuito, porém com densidade maior e
mais baixo custo que as EEPROMS.

19

Você também pode gostar