Escolar Documentos
Profissional Documentos
Cultura Documentos
CIRCUITOS DIGITAIS II
Capítulo 2
Memórias - Terminologias
1. Introdução
2. Hierarquia de Memória
3. Terminologia de Memórias
4. Estrutura da Memória Principal (MP) – célula e endereço
5. Comunicação entre MP e a Unidade de Processamento Central (CPU)
6. Princípio de Operação da Memória
7. Classificação das Memórias
Referências
1. INTRODUÇÃO
_________________________________________________
1
As memórias de núcleos magnéticos, Figura 1, foram às primeiras tecnologias
utilizadas em memórias (memórias dos primeiros computadores, rudimentares, volumosas e
de pequena capacidade). Na época em que foram desenvolvidas não havia transistores nem
CIs , mas o estudo de alguns tipos pode ser útil para lembrar alguns princípios da física. A
memória é composta de núcleos magnéticos que armazenam 1bit cada, conectados a um grid.
Figura1 - Memórias de núcleo magnético
2
Figura 2 – Diagrama Bloco para uma CPU e memórias
Central
Process (CPU)
Mass
Memory or
assistant
3
2. HIERARQUIA DE MEMÓRIA
___________________________________________________________________________
Para certas atividades é fundamental que a transferência da informação seja a mais
rápida possível (menor “tempo de acesso”), enquanto a quantidade de bits (“capacidade”) a
ser manipulada pode ser pequena. Em outras situações, o volume de dados gravado pode ser
mais importante que o “tempo de acesso”. Outra característica relevante em algumas
situações é a permanência da informação após o desligamento do computador. Em todos os
casos, o custo da memória é inversamente proporcional à “capacidade” e ao “tempo de
acesso”. Assim sendo, verifica-se a necessidade de diferentes tipos de memória, para o
correto funcionamento de um computador, ou seja, um Subsistema de Memória- conjunto
de diferentes memórias ou também chamado Hierarquia de Memória (NOBREGA FILHO,
2018). Uma hierarquia para os dispositivos de armazenamento em computadores em função
de características como, capacidade de armazenamento, tempo de acesso, custo, localização e
volatilidade, é mostrado na Tabela 1.
Tabela 1- Hierarquia para os dispositivos de armazenamento
A CPU vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na
hierarquia, quanto mais próximo da CPU, maior velocidade, maior custo, porém menor
capacidade de armazenamento, dados atualizados nas Figuras 3 (a) e (b).
4
(a)
(b)
Fonte: Hierarquia de Memória (2018)
5
2.1 Registradores
6
Memória cache são blocos de memória SRAM (Static RAM) que se comunicam
diretamente com a CPU em alta velocidade. O circuito controlador lê os dados da memória
DRAM 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 é maior que o da MP. Desta
forma, não é econômico construir um computador somente com tecnologia de memória
cache.
Esse tipo de memória possui alta velocidade e tem por função armazenar dados e
instruções que a CPU poderá precisar. Possibilita que o processador trabalhe com toda
a capacidade e tenha o mínimo de tempo ocioso possível.
Cada fabricante utiliza a memória cache de uma forma diferente, e também pode
variar de acordo com a microarquitetura usada no chip. No entanto, o padrão é que, quando a
CPU precisa buscar a sua primeira instrução, irá primeiro até a memória DRAM, visto que a
memória cache estará vazia. Apesar disso, em vez de trazer apenas a solicitação feita pela
CPU, a unidade de busca traz um bloco inteiro de instruções que, por sua vez, é armazenado
na memória cache. Assim, se o processador for continuar a executar o referido programa, as
instruções subsequentes estarão já armazenadas na memória cache. Então, a unidade de busca
não precisará ir até a memória DRAM para obtê-las.
Nem sempre a unidade de busca armazena as informações corretas na memória cache.
No entanto, a taxa de acerto é bem alta, cerca de 80% a 99% das vezes. Com isso, é possível
afirmar que quase todo o acesso à memória DRAM é feito por meio da memória cache.
7
Resumindo: A cache é uma memória estática de alto desempenho utilizada para
intermediar a comunicação com o processador. Na maioria das vezes o processador não
acessa o conteúdo da DRAM, mas sim uma cópia que fica na cache. É utilizada desde o
386DX, e a partir dos 486, todos os processadores passaram a conter uma quantidade de
memória estática, conhecido como L1 ou interna. A cache fora do processador é
conhecida como L2 ou externa. Hoje, existem processadores com mais níveis de cache.
Uma ressalva é que os processadores a partir do Pentium II possuem a L2 dentro do
processador, não fazendo mais sentido as denominações interno e externo.
8
3. TERMINOLOGIA DE MEMÓRIAS
______________________________________________________________________
Termos importantes e usuais que são usados para referir-se ao trabalho com memórias.
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.
9
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.
Portanto, pode-se escrever que a capacidade em bits é igual ao produto do nº de células pelo
total de bits por célula, dado por,
10
T N M
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.
Suponha uma memória que armazena :
4Kx20 ou 4096 pal de 20bits = 81.920 bits;
2Mx8 = 2.097.152 x 8 ou 2M por 1byte/pal;
Uma memória de 1M posições de 8 bits tem uma capacidade de 8 Mbits.
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 no barramento 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
DRAMs (Dynamic RAM - as mais comuns hoje) têm tempo de acesso na faixa de 60 ns.
Ex: Registradores: 0.1 ns
CACHE L1: 1 ns
CACHE L2: 2 a 5 ns
SRAM: 10 a 20 ns
11
HD: 10 ms
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.
READ/WRITE MEMORY (RWM) qualquer memória que pode ser lida ou escrita.
12
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ÁTIL (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.
13
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, 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 têm 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 numeradas sequencialmente, uma a uma, de 0 a
N-1, chamado o endereço da célula.
14
processadores de 1 a 64 bits (ou até mais). Nos computadores pessoais, tipo IBM/PC,
compatíveis são empregados processadores de 16, 32, 64 e 128 bits, conforme o modelo.
O conceito mais usado pela IBM 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 têm 64 bits). Esta definição é imprecisa (às vezes, enganosa) e pode levar
a erros de avaliação da capacidade de processamento de um computador.
Exemplos:
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 aos 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 a transferência de dados pelo barramento de dados se faz em duas etapas, um
byte de cada vez, e em consequência nos 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 dos 8086 (TECMUNDO, 2013).
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 computador pode ter 1 byte (p.ex, 8080), 2 bytes (p.ex. 80286), 4 bytes (p.ex. 486,
Pentium, e etc.)
15
5. COMUNICAÇÃO ENTRE MP e CPU
______________________________________________________________________
Na Figura 6 apresentam-se os barramentos e o esquema da Comunicação da MP/CPU.
Figura 6 - Esquemático de funcionamento da comunicação da MP/CPU
16
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.
Barramento de dados
Em um barramento de dados somente um dispositivo (memória, periféricos) pode
operar por vez, Figura 7. 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 - somente um
dispositivo pode ter conexão direta com o barramento além do processador central, que
normalmente é o host.
Tradicionalmente o circuito de decodificação de endereços determina qual dispositivo
irá conectar ao barramento. 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, ou
seja, mantem o circuito em um estado de alta impedância. O nome tri-state advém de existir
o terceiro estado, o de alta impedância, além dos tradicionais „0‟ e „1‟ lógicos.
Dispositivos que podem ser conectados ao barramento além dos microprocessadores,
são memórias, conversores Digitais /Analógicos e os Analógicos/Digitais, codificadores,
multiplexadores e etc.
17
Figura 7- Barramento de Dados da CPU
18
Fonte: Tocci, Widmer, Moss (2011)
19
Fonte: Tocci, Widmer, Moss (2019)
5.2 Registradores
A comunicação entre MP e CPU usa dois registradores da CPU:
Registrador de Endereços de Memória - REM (Memory Adress Register – MAR);
Registrador de Dados da Memória - RDM ( Memory Buffer Register –MBR).
20
6. PRINCÍPIO DE OPERAÇÃO DA MEMÓRIA
____________________________________________________________
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.
P1- A CPU armazena no REM o endereço onde a informação requerida está armazenada;
P2 - A CPU ativa as linhas de sinal de controle para a operação de leitura;
P3 - Os CIs de memória decodificam o endereço binário determinando a posição selecionada
para a operação de leitura;
P4- O conteúdo da posição identificada pelo endereço contido no REM é transferido para o
RDM, ficando disponível para a CPU.
21
7. CLASSIFICAÇÃO DAS MEMÓRIAS
____________________________________________________________
R/W - Read and Write (memória de leitura e escrita), comumente 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, MOS, CMOS), 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 conceitualmente
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"3(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 (atualmente Flash).
A ROM (máscara) é 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.
________________________________________________________________________
3
Boot (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.
22
EPROM - Erasable Programmable Read Only Memory ou memória apenas de leitura,
programável (com queimadores de PROM) e apagável (à base de raios ultravioletas). Esta
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.
Referências Bibliográficas
23