Você está na página 1de 23

Faculdade de Engenharia de Ilha Solteira - Departamento de Engenharia Elétrica

Circuitos Digitais II - Profa. Suely Cunha Amaro Mantovani - 1o sem/2022

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
_________________________________________________

A possibilidade de armazenamento de informações e dados digitais, por curto ou


longo período, constitui-se na maior vantagem dos sistemas digitais sobre os sistemas
analógicos. Em um computador digital, e com o mínimo de intervenção de um operador, a
memória principal interna armazena instruções que irão comandar o computador.
O primeiro tipo de dispositivo de memória estudado foi o flip-flop e o agrupamento
de FFs formam os registradores, que podem ser usados para armazenar informação que é
transferida para outras localizações.
Os registradores são elementos de memória de alta velocidade e 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 Circuitos Integrados (CIs) do tipo LSI (Large Scale Integration) e VLSI
(Very Large Scale Integration), obteve-se grande números de FFs em arranjos, em um único
chip e em vários formatos de arrays (conjuntos) de memória.

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

Fonte: Eletricidade (2020).


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.
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 (circuitos
integrados de silício) e não semicondutoras ou de massa (termo antigo) que identificam as
memórias que guardam grandes quantidades de informação.
Memórias semicondutoras Bipolares, MOS (Metal Oxide Semiconductor) ou
CMOS (Complementary MOS) são uma das mais rápidas e seus custos tem baixado
com o aperfeiçoamento da tecnologia LSI e VLSI. 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 mostrada na Figura 2 é chamada memória de
trabalho que está em constante comunicação com a Central Processing Unit (CPU), à medida
que as instruções de programas estão sendo executadas. Um programa e qualquer dado usado
pelo programa permanecem na memória principal, enquanto o computador está executando
aquele programa. As memórias DRAMs constituem a memória principal.

2
Figura 2 – Diagrama Bloco para uma CPU e memórias

Arithmetic Control Main


Unit Unit Memory

Central
Process (CPU)

Mass
Memory or
assistant

Fonte: Tocci, Widmer, Moss (2019)

Memória de massa ou memória auxiliar tem a capacidade de armazenar grandes


quantidades de dados, externa a memória principal, tendo 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 - a
informação é transferida pela CPU quando o computador necessita.
Os dispositivos de memória auxiliar mais comuns eram discos magnéticos, fitas
magnéticas, Compact Disk- CD, atualmente as pen drives.

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

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, maior velocidade, maior custo, porém menor
capacidade de armazenamento, dados atualizados nas Figuras 3 (a) e (b).

Figura 3 - a) Dados atualizados para os dispositivos de armazenamento. b) Hierarquia das


memórias com relação a CPU.

4
(a)

(b)
Fonte: Hierarquia de Memória (2018)

5
2.1 Registradores

Registradores são dispositivos de armazenamento temporário, localizados na


CPU, extremamente rápidos, com capacidade para apenas um dado (uma palavra). Os
conteúdos dos registradores internos podem ser acessados pela CPU em menos de 10 ns
(versus 70 ns ou mais, para a memória principal). Usualmente há poucos (de 8 a 64)
registradores internos. Devido a sua tecnologia de construção e por estar localizado na própria
pastilha ("chip") da CPU, é muito caro. São VOLÁTEIS - dependem de estar energizados
para manter armazenado seu conteúdo.
O conceito de registrador surgiu da necessidade da CPU de armazenar
temporariamente dados intermediários durante um processamento (na ULA) - 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 uma nova operação.
Máquinas RISC (Reduced Instruction Set Computer ) 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.

2.2 Memórias Cache


Memórias Cache são pequenas quantidades de memórias estáticas de alto
desempenho, localizada entre a CPU e a MP e que funciona como um espelho de parte da
MP, tendo por finalidade aumentar o desempenho do processador realizando uma busca
antecipada na memória RAM, e são VOLÁTEIS.
Foram desenvolvidas pela necessidade e o dinamismo da tecnologia de construção de
CPUs que proporcionou 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 na capacidade). Gigahertz (MHz) é a atual medida de
velocidade de processamento da CPU - ciclo de clock- em milhões por segundo.
Os tempos de acesso às memórias pela CPU eram insatisfatórios, de forma que ao
buscar um dado na memória era necessário esperar muitos ciclos até que o dado retornasse
("wait states"), configurando um gargalo ("bottleneck") ao desempenho do sistema.
A arquitetura da memória cache é diferente da arquitetura da Memória Principal
(MP) e o acesso a ela é muitas vezes mais rápido, por ex: 5 ns contra 70ns.

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.

Níveis de memória cache

A memória cache é dividida em alguns níveis, conhecidos como L1, L2 e L3 (L -


Level, em inglês) - proximidade da memória cache das unidades de execução do processador.

A cache foi dividida em níveis novamente pela necessidade do aumento na velocidade


dos dispositivos, em particular nos processadores. Inicialmente, uma vez que a demanda de
velocidade à memória era grande, era necessário caches grandes com velocidades altíssimas
de transferência e baixas latências. Construir memórias caches com essas características, era
caro, por isso, foram construídas caches em níveis que diferem na relação tamanho x
desempenho ( HIERARQUIA DE MEMÓRIA, 2018).

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.

2.3 Memória Principal


Memória Principal (MP) é 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ária para uso pela CPU, portanto, a área de MP ocupada pela informação
pode ser liberada para ser posteriormente sobregravada por outra informação. Quem controla
a utilização da memória principal é o Sistema Operacional. As memórias DRAMs formam a
memória principal. Função da memória principal - armazenar os programas e dados
temporariamente, enquanto estão sendo processados.

2.4 Memórias Auxiliares


As memórias auxiliares resolvem problemas de armazenamento de grandes
quantidades de informações, visto que a capacidade da MP é limitada pelo seu
relativamente alto custo, enquanto as memórias auxiliares têm maior capacidade e menor
custo (o custo por bit armazenado é muito menor).
Outra vantagem importante são NÃO VOLÁTEIS - 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 (HDs), CD-ROM, DVD, pen drives, drives de disquete,
unidades de fita, etc.

8
3. TERMINOLOGIA DE MEMÓRIAS
______________________________________________________________________

Termos importantes e usuais que são usados para referir-se ao trabalho com 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 00000000 até 11111111. Um byte pode ser dividido em duas
unidades de 4 bits que são denominadas de nibbles.
Observações:
 O tamanho da palavra pode ser expresso em bytes ou em bits.
Ex: palavra de 8 bits > 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
10
1 kilobyte (1 KB) equivale a 2 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.

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.

Em ciências da computação, como 1K se refere a 1024 , entra em conflito com a definição do


prefixo "quilo" do Sistema Internacional, Tabela 2 .
Tabela 2- Múltiplos do byte –ciência da computação
Múltiplos de bytes
Prefixo binário (IEC*) Prefixo do SI
Nome Símbolo Múltiplo Nome Símbolo Múltiplo
byte B 20 byte B 100
quilobyte KB 210 Kilobyte KB 103
megabyte MB 220 megabyte MB 106
gigabyte GB 230 gigabyte GB 109
terabyte TB 240 terabyte TB 1012
petabyte PB 250 petabyte PB 1015
exabyte EB 260 exabyte EB 1018
zettabyte ZB 270 zettabyte ZB 1021
yottabyte YB 280 yottabyte YB 1024
*
Comissão Eletrotécnica Internacional –IEC (International Electrotechnical Commission)

CAPACIDADE DA MEMÓRIA - é a quantidade de informação que pode ser armazenada


em uma memória. A medida básica é o byte, embora também possam ser usadas outras
unidades como células (memória principal ou cache), setores (discos) e bits (registradores)
São utilizados os multiplicadores K (kilobyte), M (megabyte), G (gigabyte) ou T (terabyte).
Ex: Registradores: 100 b
CACHE L1: 16 KB
CACHE L2: 512 KB
RAM: 256 MB
HD: 80 GB, 1 Tera

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

sendo, T = capacidade da memória em bits , M = nº de bits de cada célula (palavra) e


N = nº de endereços, N=2x , sendo x = nº de bits do endereço (ou linhas de endereços) logo,
x  log 2 N log a N
( log b N  )
log a b

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.

LARGURA DA MEMÓRIA (MEMORY WIDTH)-número de bits de cada posição da


memória. Exemplo: a pastilha de 1M posições de 8 bits cada, tem uma largura de 8 bits, ou
seja, de um byte.

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 representa-se por octal, hexadecimal ou 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 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

O tempo de acesso para diferentes endereços em memórias eletrônicas (RAM, ROM)


é igual. No caso de discos e fitas, que são dispositivos eletromecânicos, o tempo de acesso
depende da localização do dado em relação ao último acesso.
Após um acesso, algumas memórias podem impedir por um pequeno intervalo de
tempo, o uso do sistema de memória para um novo acesso. Este intervalo de tempo somado
ao tempo de acesso é chamado Ciclo de Memória (Memory System´s Cycle Time), que é o
período de tempo decorrido entre duas operações sucessivas de acesso. Se a capacidade da
memória for excedida em um microcomputador, o programa será executado a partir de uma
área de disco chamada “área de troca” ou “swap”. A velocidade do processamento será,
portanto muito prejudicada por causa dos diferentes “tempos de acesso” (entre 1.000.000 e
10.000.000 vezes mais lento ).

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 é do tipo RAM.

SEQUENTIAL ACESS MEMORY (SAM)- o acesso de tempo não é constante e varia


dependendo da localização de endereço ( o acesso de tempo produzido pode ser muito maior
que aquele produzido pela RAM) ex: fita magnética (magnetic Tape Backup).

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.

Observações da informática: Unidade de Transferência é a quantidade de bits 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 frequentemente
diferentes. Aqui neste contexto 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/MP. 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 antigos 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), atualmente 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

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

Fonte: Tocci, Widmer, Moss (2019)


5.1 Barramentos
Os diversos componentes dos computadores se comunicam por meio de barramentos.
Barramento são 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

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.

5.1.1. Tipos de Barramentos


 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).
 Barramento de controle – bidirecional, transfere sinais de controle: CPU −> CIs de

memória (controle R/ W ); CPU −> MP (controle R/ W ); MP −>CPU (controle wait).

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

Fonte: Tocci, Widmer, Moss (2019)


Contenção de Barramento
Ocorre quando dois ou mais sinais conectados na mesma linha de barramento ficam
ativos e competem uns com os outros. A contenção de barramento, Figura 8, é evitada se os
dispositivos tiverem saídas tri-state ou forem conectados ao barramento por meio de buffers
tri-state.
Figura 8- Ilustrando a contenção de barramento de dados para um dispositivo CMOS

18
Fonte: Tocci, Widmer, Moss (2011)

Saída Lógica Tristate (Three-State)


É o terceiro tipo de circuito de saída usado nas famílias TTL e CMOS. Vantagem do
seu uso:
 Operação em alta velocidade;
 Permite que várias saídas sejam conectadas juntas compartilhando um fio comum;
 Permite três possíveis estados de saída: alto, baixo e alta impedância (Hi-Z).
Na Figura 9 têm-se três condições de saídas tristate para um inversor.
Figura 9- Três condições de saídas tristate para um inversor.

Fonte: Tocci, Widmer, Moss (2019)


Buffer tristate é um circuito usado para controlar a passagem de um sinal lógico da entrada
para a saída . Tem-se na Figura 10, buffers tristate (não inversores) TTL, 74125 e 74126, e
suas tabelas verdades.
Figura 10- Buffers tristate não inversores. a) 74125. b)74126.

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).

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.

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.

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).

P1- A CPU armazena no REM o endereço de memória da informação a ser gravada;


P2 - A CPU coloca no RDM a informação e disponibiliza nas linhas do barramento de dados;
P3 - A CPU comanda uma operação de escrita (ativa as linhas de sinal de controle);
P4 - Os CIs de memória decodificam o endereço binário determinando a posição selecionada
para a operação de armazenamento;
P5- A informação armazenada no RDM é transferida para a posição de memória cujo
endereço está contido no REM.

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.

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.

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. Os níveis de tensão para a
programação não são compatíveis com os níveis de tensão da operação.

________________________________________________________________________
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.

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, pode
ser utilizada em dispositivos aos quais se deseja permitir a alteração, via modem,
possibilitando a carga de novas versões de programas à distância. (p.ex., a reconfiguração de
teclado ou de modem, programação de um terminal, etc)( TECMUNDO, 2013).

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.

Referências Bibliográficas

ELETRICIDADE.COM. Disponível em:


http://eletercidade.blogspot.com/2012/10/como-funciona-memoria.html. Acesso em: 07 set.
2020.

HIERARQUIA DE MEMÓRIA. Disponível em:


https://pt.wikipedia.org/wiki/Hierarquia_da_mem%C3%B3ria. Acesso em: 15 mar.2018.
NOBREGA FILHO, R. G. Hierarquia de memórias Disponível em:
http://www.di.ufpb.br/raimundo/Hierarquia/Hierarquia.html. Acesso em: 16 mar. 2018.
TECMUNDO. Disponível em: http://www.tecmundo.com.br/curiosidade/2845-o-que-sao-
flops-.htm#ixzz2cN9JtucN. Acesso em: 03 mar. 2013.
TOCCI, R.J.; WIDMER, N.S.; MOSS, G. L. Sistemas Digitais: Princípios e Aplicações. 12ª
edição, Editora Pearson Prentice Hall, 1056p, 2019.

23

Você também pode gostar