Escolar Documentos
Profissional Documentos
Cultura Documentos
CIRCUITOS DIGITAIS II
Capítulo 2-MEMÓRIA
1. INTRODUÇÃO
__________________________________________________
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.
Central
Process (CPU)
Mass
Memory or
assistant
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.
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
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.
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.
Cache em Níveis
Cache L1
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 Principal
Memórias Auxiliares
9
3. TERMINOLOGIA DE 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.
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
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:
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.
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.
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
______________________________________________________________________
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.
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
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 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?
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
______________________________________________________________________
20
5.1 Barramentos
21
Barramento de dados
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.
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.
24
5.2 Registradores Utilizados
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.
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
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.
________________________________________________________________________
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.
29