Você está na página 1de 29

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

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

CIRCUITOS DIGITAIS II

Capítulo 2-MEMÓRIA

1. INTRODUÇÃO
__________________________________________________

A maior vantagem dos sistemas digitais sobre os sistemas analógicos constitui-se na


possibilidade 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 em vários
formatos de arrays de memória.
As memórias de núcleos magnéticos foram as primeiras tecnologias utilizadas em
memórias. 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.

1
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 massa, termo usado antigamente para identificar as
memórias que guardavam grandes 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 que 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 permanecem na memória
principal enquanto o computador está executando aquele programa. As memórias DRAMs
constituem a memória principal.
Memória de massa ou memória auxiliar 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 eram discos magnéticos, fitas
magnéticas, compact disk- CD, atualmente as pen drives.

Arithmetic Control Main


Unit Unit Memory

Central
Process (CPU)

Mass
Memory or
assistant

Figura1 – Diagrama Bloco para uma CPU

2
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. Este conjunto de diferentes memórias é chamado
“Subsistema de Memória” ou Hierarquia de Memória.

Estabelecendo uma hierarquia para os dispositivos de armazenamento em


computadores, em função de características como tempo de acesso, capacidade de
armazenamento, custo, etc., tem-se a 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.
Tabela 2- Dados atualizados para os dispositivos de armazenamento ( semestre 2-2010)

3
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. 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.
1
Máquinas RISC 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

4
O desenvolvimento da tecnologia de construção de CPUs 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 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.

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.

Memórias Cache são pequenas quantidades de memória estática de alto


desempenho, tendo por finalidade aumentar o desempenho do processador realizando uma
busca antecipada na memória RAM. São VOLÁTEIS, isto é, dependem de estar
energizadas para manter gravado seu conteúdo.

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 de memória cache.
___________________________________________________________________________
1
Reduced 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

5
regulares, operando sempre em registros, modos simples de endereçamento à memória, uma operação elementar
por ciclo de máquina, uso de pipeline.

6
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
usada pela CPU. Esta transferência (MP <--> Cache) é feita pelo hardware: ela independe do
software, que ignora se existe ou não 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. Desta forma, algoritmos (chamados algoritmos de cache) podem
controlar qual parte do código que 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 que, 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%.

Cache em Níveis

Com a evolução na velocidade dos dispositivos, em particular nos processadores, a


cache foi dividida em níveis, já que a demanda de velocidade à memória é tão grande, que
são necessários caches grandes com velocidades altíssimas de transferencia e baixas latências.
Sendo muito difícil e caro construir memórias caches com essas características, elas são
construídas em níveis que diferem na relação tamanho X desempenho.

Cache L1

Uma pequena porção de memória estática presente dentro do processador. Em


alguns tipos de processador, como o Pentium 2, o L1 é dividido em dois níveis: dados e
instruções (que "dizem" o que fazer com os dados). A partir do Intel 486, começou a se
colocar a L1 no próprio chip [processador]. Geralmente tem entre 16KB e 128KB; hoje já

encontramos processadores com até 2MB de cache.

Cache L2

Possuindo o Cache L1 um tamanho reduzido e não apresentando uma solução ideal,


foi desenvolvido o cache L2, que contém muito mais memória que o cache L1. Ela é mais um
7
caminho para que a informação requisitada não tenha que ser procurada na lenta memória
principal. Alguns processadores colocam essa cache fora do processador, por questões
econômicas, pois uma cache grande implica num custo grande, mas há exceções, como no
Pentium II, por exemplo, cujas caches L1 e L2 estão no mesmo cartucho que está o
processador. A memória cache L2 é, sobretudo, um dos elementos essenciais para um bom
rendimento do processador mesmo que tenha um clock baixo. Um exemplo prático é o caso
do Intel Itanium 9152M (para servidores) que tem apenas 1.6 GHz de clock interno e ganha
de longe do atual Intel Extreme, pelo fato de possuir uma memória cache de 24Mb. Quanto
mais alto é o clock do processador, mais este aquece e mais instável se torna. Os
processadores Intel Celeron tem fraco desempenho por possuir menor memória cache L2.
Um Pentium M 730 de 1.6 GHz de clock interno, 533 MHz FSB2 (Front Side Bus), e 2 MB
de cache L2, tem rendimento semelhante a um Intel Pentium 4 de 2.4 GHz, aquece muito
menos e torna-se muito mais estável e bem mais rentável do que o Intel Celeron M 440 de
1.86 GHz de clock interno, 533 MHz FSB e 1 MB de cache L2.

__

_________________________________________________________________________2
FSB: o Front Side Bus, conhecido como barramento frontal, é o responsável por efetuar a comunicação (transferir dados)
entre o processador e a Northbridge (ponte norte), acesso a memória RAM externa. A velocidade do FSB é frequentemente
usada como uma importante medida de desempenho do computador .

8
Resumindo:
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 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 têm 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.

9
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 00000000 até 11111111. O termo "byte" foi inventado pela
IBM.
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 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.

10
 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.

Obs:
Kibibyte
O KibiByte (símbolo KiB, contração de kilo binary byte) é uma unidade medida de
armazenamento eletrônico de informação, estabelecida em 2000 pela Comissão Eletrotécnica
Internacional (IEC) como:
1 kibibyte = 1.024 bytes
Foi criada com o objetivo de substituir o "quilobyte" em ciências da computação, que se
refere a 1024 bytes, e que entra em conflito com a definição do prefixo "quilo" do Sistema
Internacional.

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
kibibyte(quilobyte) KiB 210 Kilobyte kB 103
mebibyte(megabyte) MiB 220 megabyte MB 106
gibibyte(gigabyte) GiB 230 gigabyte GB 109
tebibyte(terabyte) TiB 240 terabyte TB 1012
pebibyte(petabyte) PiB 250 petabyte PB 1015
exbibyte(exabyte) EiB 260 exabyte EB 1018
zebibyte(zettabyte) ZiB 270 zettabyte ZB 1021
yobibyte(yottabyte) YiB 280 yottabyte YB 1024

IEC-International Electrotechnical Commission

11
Um GiB vale 1.073.741.824 Bytes enquanto um GB vale 1.000.000.000 Bytes.
Ainda, para comparação, têm-se as seguintes unidades SI:

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

12
Portanto, definindo a capacidade em bits é igual ao produto do nº de células pelo total de bits

por célula.

T=NxM
onde,
T = capacidade da memória em bits
M = nº de bits de cada célula
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

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= 2.097.152 x 8 ou 2M por 1Byte/pal;
Uma pastilha de memória de 1 M posições de 8 bits tem um 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 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 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
DRAM (Dynamic RAM - as mais comuns hoje) têm tempo de acesso na faixa de 60 ns.
13
Ex: Registradores: 0.1 ns
CACHE L1: 1 ns
CACHE L2: 2 a 5 ns
RAM: 10 a 20 ns
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, é o 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 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 aquele produzido pela RAM, ex: fita magnética (magnetic tape backup).

READ/WRITE MEMORY (RWM) qualquer memória que pode ser lida ou escrita.

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

15
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 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 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


Unidade de Transferência - é 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 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.

16
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
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 têm 64 bits).
Esta conceituação é imprecisa (às vezes, enganosa) e pode levar a erros de avaliação da
capacidade de processamento de um computador.

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

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
computador pode ter 1 byte (p.ex, 8080), 2 bytes (p.ex. 80286), 4 bytes (p.ex. 486, o Pentium,
e muitos mainframes IBM).Portanto,
Palavra de um computador – grupo de bits binários que compõe a unidade básica de
informação em um computador.

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;
c) número de linhas de endereço.
3) Calcular e completar os campos:

18
M - Tamanho da x - nº de bits do N - nº de T - Capac. da 0 a (N-1) - Faixa
palavra endereço endereços memória 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 ?

8) Um computador possui uma memória com capacidade para armazenar palavras de 16 bits
em cada uma de suas N células. O barramento de endereços tem 12 bits. Quantos bytes
poderão ser armazenados nessa memória?

19
5. COMUNICAÇÃO ENTRE MP e CPU
______________________________________________________________________

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

20
5.1 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.

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 tais como o sinal R/ W


da CPU para os CIs de memória.
CPU ---> MP (controles ... - r/w)
MP -----> CPU (wait ... )

21
Barramento de dados

Em um barramento 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 (fig.4) 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. 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 tri-
state advém de existir este terceiro estado, o de alta impedância, além dos tradicionais ‘0’ e
‘1’ lógicos.
Dispositivos que podem ser conectados ao barramento são os microprocessadores,
memórias, conversores Digitais /Analógicos e os Analógicos /Digitais, codificadores,
multiplexadores e etc.

22
Figura 3- Barramento de Dados da CPU
Contenção de Barramento
Ocorre quando dois ou mais sinais conectados na mesma linha de barramento ficam
ativos e competem um com outro . A contenção de barramento é evitada se os dispositivos
tiverem saídas tri-state ou forem conectados ao barramento através de buffers tri-state.

Figura 4- Ilustrando a contenção de barramento de dados para um dispositivo CMOS


23
Saídas Lógicas 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) .

Figura 5. Três condições de saídas tristate para um inversor

Buffer tristate é um circuito usado para controlar a passagem de um sinal lógico da entrada
para a saída .Na figura 6 , mostram-se buffers tristate não inversores TTL, 74125 e o 74126 e
suas tabelas verdades.

Figura 6- Buffers tristate não inversores

24
5.2 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.

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

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

26
Exercícios
1) Quais das seguintes memórias são passíveis de implementação?
Nº BITS NO Nº DE TAMANHO DA
MEMÓRIA
REM PALAVRAS CÉLULA EM BITS

a 10 1024 8
b 10 1024 12
c 9 1024 10
d 11 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?

27
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"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 (Flash).

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

28
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 é 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 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.

29

Você também pode gostar