Organização e Arquitetura de
Computadores
Memórias
Tópico: 09
2




Esclarecimentos
Esse material é de apoio para as aulas da disciplina e não substitui a leitura
da bibliografia básica.
Os professores da disciplina irão focar alguns dos tópicos da bibliografia
assim como poderão adicionar alguns detalhes não presentes na
bibliografia, com base em suas experiências profissionais.
O conteúdo de slides com o título “Comentário” seguido de um texto, se
refere a comentários adicionais ao slide cujo texto indica e tem por objetivo
incluir alguma informação adicional aos conteúdo do slide correspondente.
Bibliografia básica:
 PATTERSON, A.D.E.; HENNESSY, L.J.. Organização e projetos de
computadores: a interface hardware/software. São Paulo: Campus,
2005.;
 MONTEIRO, Mário A.. Introdução à organização de computadores. 5.ed.
Rio de Janeiro: LTC, 2007.
 STALLINGS, William. Arquitetura e organização de computadores :
projeto para o desempenho. São Paulo: Pearson Education, 2005.
3
CONCEITOS BÁSICOS
Em computação, memórias são locais físicos
onde são guardados dados e programas de
computador.
Os dados e programas são transformados em
bits para serem guardados em memórias.
Os bits são reunidos em bytes, registros
lógicos, registros físicos e arquivos.
Os arquivos têm uma denominação única
dentro da árvore hierárquica de organização
dos mesmos.
4
O PROCESSADOR E A MEMÓRIA
De acordo com o Modelo de Von Neumann, o processador
deve ter acesso direto à memória onde estão os dados e
os programas;
Isso implica que a situação ideal é a de se ter uma
memória única onde seriam guardados todos os dados e
programas;
Essa solução é economicamente inviável, pois seu custo
seria muito elevado;
Devido às características físicas das memórias, essa
solução também não seria prática, como veremos
brevemente.
Como organizar a memória?
5
ANALOGIA ENTRE A BANCADA E O
ARMÁRIO DE FERRAMENTAS





Suponha que você conserta equipamentos e tem uma bancada com
todas as ferramentas de uso mais freqüente;
Como a bancada tem capacidade reduzida, você também tem um
armário de ferramentas, com capacidade bem maior, onde você
guarda as ferramentas de uso menos freqüente;
O tempo de acesso às ferramentas que estão na bancada é muito
menor que o tempo de acesso às ferramentas que estão no armário;
Se você precisar de uma ferramenta que esteja no armário, você vai
até ele, pega a ferramenta e a coloca na bancada para ser usada.
Note que o armário é bem mais barato que uma bancada de
ferramentas, o que dificulta a construção de bancadas de ferramentas
de grande capacidade.
6
PRINCÍPIO DA LOCALIDADE



É evidente que o ideal é se ter todas as ferramentas necessárias
sempre localizadas na bancada, pois isso diminui o tempo de acesso
às ferramentas e economiza os esforços para ter acesso às
ferramentas. Chamamos esse princípio de LOCALIDADE;
Se você precisa de uma chave de boca de 6 mm que está no
armário, você a pega e a deixa na bancada após usá-la, pois, muito
provavelmente, você precisará dela em um breve período de tempo.
Esse é um princípio que é conhecido como LOCALIDADE
TEMPORAL (note a analogia com dados em tabelas e arrays, por
exemplo);
Já que você foi até o armário para pegar a chave de boca de 6 mm,
você aproveita e pega as chaves de boca de tamanho
aproximadamente igual (de 4, 5, 7 e 8 mm), pois é provável que você
as necessite em curto espaço de tempo. Chamados esse princípio
de LOCALIDADE ESPACIAL (note a analogia com instruções de
programas em loops e outras repetições).
7
HIERARQUIA DE MEMÓRIAS





Um processador tem uma velocidade que é muitas vezes superior aos
tempos de acesso das memórias, mesmo as mais rápidas, como veremos
em breve;
Quanto menor o tempo de acesso à memória, menor será o tempo perdido
pelo processador na espera de um acesso à memória, o que tem grande
impacto no desempenho do sistema de computação.
Todo computador é constituído de uma série de memórias, construídas com
diversas tecnologias e com diferentes características, que apresentam
capacidade, tempo de acesso e custos diferentes.
Se o processador precisa de um dado ou de uma instrução de um
programa, uma cópia do dado ou da instrução é colocada em uma memória
mais rápida, que normalmente é a mais cara e a de menor capacidade.
Pelos princípios de Localidade Temporal e Espacial, grande parte dos
acessos são realizados em memórias mais rápidas, o que aumenta o
desempenho do sistema de computação.
8
CONSTITUIÇÃO DAS MEMÓRIAS
ARQ
QUI
TET
URA
000
COM
001
PUT
010
ADO
011
RES
100
101
110
111
As memórias são divididas em células;
Cada célula tem um endereço próprio;
Cada célula tem um conteúdo próprio.
(Memórias Magnéticas e Ópticas usam nomenclatura diferente)
9
EQUAÇÕES BÁSICAS





Seja T o tamanho total de memória;
Seja N o número de células de uma memória;
Seja M o tamanho de cada célula;
Seja E o número de bits de cada endereço;
Temos:
 T = N x M
E
 T = 2 x M
E
 Então: N x M = 2 x M;
E
 Conseqüentemente: N = 2
10
CÁLCULO DA CAPACIDADE
Exemplo:
N = 8;
M = 3;
T = 8 x 3 = 24;
OU
E = 3;
T = 23 x 3 = 8 x 3 = 24
É interessante notar que a unidade da
capacidade (bits, bytes etc.) depende
da unidade da célula (bits, bytes etc.).
11
CARACTERÍSTICAS DA MEMÓRIAS
Para se examinar os diferentes tipos de memória, precisamos examinálas sob diferentes características:
 Tempo de Acesso – é o tempo necessário para se ler ou escrever
um dado na memória, normalmente dado em ns (10-9 segundos);
quanto menor o tempo de acesso (memórias mais rápidas), menor
será o tempo de espera do processador para obter um dado ou uma
instrução;
 Capacidade – é o número máximo de dados que podem ser
armazenados na memória; usamos várias unidades tais como bits,
bytes, células, palavras etc.; quanto maior a capacidade maior será a
probabilidade de localidade, o que significa que a tendência é usar a
memória de maior capacidade, aumentando o desempenho do
sistema de computação como um todo;
 Custo - é o valor a ser pago para cada bit da memória;
evidentemente, quanto menor o custo maior a viabilidade de se
utilizar essa memória.
12
DETALHES ADICIONAIS





Endereço – o endereço da memória não é registrado em nenhum
dispositivo; todas as memórias possuem um dispositivo de hardware
específico que traduz o endereço fornecido em uma localização da memória
onde será lido ou escrito o dado ou a instrução do programa;
Célula – é a menor porção da memória que tem um endereço próprio;
Palavra – é a quantidade de memória que é transferida em uma operação
de leitura;
Volatilidade – certas memórias só retem informações enquanto forem
alimentadas de energia elétrica; essa característica depende da sua
tecnologia de fabricação, como será visto posteriormente;
Temporariedade – é o tempo que uma informação deve ser retida; certas
informações são muito variáveis (muito voláteis) o que exige memórias de
tempo de acesso pequeno, ao contrário de outras informações que pouco
variam, podendo ser guardadas em memórias mais lentas.
(Para memórias magnéticas e ópticas usamos outra nomenclatura).
13
OPERAÇÕES NAS MEMÓRIAS
Em uma memória qualquer, podemos executar somente dois
tipos de operações:
1. Leitura de um dado;
2. Escrita de um dado.
Em uma operação de leitura, são lidos todos os dados de uma
palavra, aproveitando-se da Localidade Espacial;
Em uma operação de escrita, são atualizados todos os bits de
uma célula da memória.
Exemplo:
No Pentium IV, cada célula tem o tamanho de 1 byte (8bits) e
a palavra tem o tamanho de 64 bits. Assim, na leitura da
memória são lidos 64 bits em uma única operação de leitura e
é atualizada apenas uma célula em uma operação de escrita.
14
FIGURA ILUSTRATIVA
A figura a seguir mostra quais elementos do computador estão
envolvidos em uma operação de leitura ou de escrita. Temos:
 MP – Memória Principal, que é a memória onde estão os dados e
os programas a serem utilizados pela UCP;
 UCP – Unidade Central de Processamento, que já vimos
anteriormente;
 UC – Unidade de Controle, que é a parte central da UCP, cujos
detalhes serão vistos em aula posterior;
 RDM – Registrador de Dados da Memória, que é um registrador
que tem o tamanho de uma palavra, onde ficam transitoriamente os
dados a serem gravados ou os dados que acabaram de ser lidos;
 REM – Registrador de Endereços da Memória, que é um
registrador em cujo conteúdo encontramos o endereço da célula que
vai ser lida ou atualizada.
15
COMUNICAÇÃO UCP/MEMÓRIA



A comunicação entre a UCP e a Memória (e periféricos) é feita por fios por
onde circulam sinais elétricos, que são chamados de barramentos. Temos
os seguintes barramentos:
Barramento de Controle, que é uma linha de comunicação pela qual a UC
comanda todos os componentes do sistema de computação; enviando
sinais elétricos adequados;
Barramento de Endereços, que é uma linha de comunicação pela qual os
endereços serão enviados da UCP para a memória (e periféricos, como
veremos posteriormente);
Barramento de Dados, onde são enviados ou recebidos os dados a serem
escritos ou lidos, respectivamente.
Na figura também está mostrado o Controlador da memória, que recebe os
sinais elétricos dos barramentos, interpreta-os e executa as operações de
leitura ou gravação
16
ESTRUTURA DA MEMÓRIA
Como já vimos, a MP – Memória Principal, é constituída de bits que são
agrupados em células. O tamanho de cada célula varia de computador para
computador, mas, modernamente, há uma tendência de se ter células de 8
bits (um byte), como por exemplo no Pentium IV. Cada célula tem um
endereço próprio;
As operações de leitura são feitas por palavras. O tamanho da palavra
também varia de computador para computador, mas quanto maior for esse
valor, maior será o desempenho do sistema de computação. No Pentium IV
a palavra tem 64 bits.
O REM – Registrador de Endereços da Memória - deve ter um tamanho
que permita o endereçamento de todas as células obedecendo a equação
2E , onde E é o tamanho do REM em bits. Por exemplo, se o REM tiver 32
bits, a MP só poderá ter 4.294.967.296 células (4G).
O RDM – Registrador de Dados da Memória deve ter sempre o tamanho de
uma palavra.
17
ESTRUTURA PARCIAL UCP/MP
UCP
UC
RDM
MP
REM
CONTROLADOR
Barramento de Controle
Barramento de Endereços
Barramento de Dados
18
CICLO DE LEITURA (“READ”)
19
CICLO DE ESCRITA (“WRITE”)
tACC
20
TIPOS DE ACESSO ÀS MEMÓRIAS
Podemos acessar as memórias de duas maneiras:
Seqüencialmente, em fitas magnéticas, CD. DVD etc.:
 Quando só podemos ler um arquivo do seu início até o seu fim;
 Só podemos escrever no arquivo após o último registro gravado, se
houver espaço suficiente na memória;
Aleatoriamente, em memórias RAM, cache etc.:
 Podemos ler uma célula qualquer, aleatoriamente, dentro de toda a
memória (em inglês, aleatório é “random”, daí o nome de memória
randômica – RAM, que usamos);
 Podemos modificar (escrever) em uma célula qualquer dentro da
memória, mas os acréscimos são feitos sempre ao final do arquivo.
Observações:
 Memórias que permitem acesso aleatório também permitem acesso
seqüencial; o inverso não é verdadeiro;
 O conceito de célula varia conforme o tipo de memória e recebe
diversos nomes diferentes (por exemplo, setores em HD)
21
TECNOLOGIAS DAS MEMÓRIAS
São três as tecnologias básicas de construção das memórias:
a. Memórias de Semicondutores – constituídas de transistores, capacitores
e resistores, em circuitos eletrônicos específicos; podem ser memórias
estáticas, memórias dinâmicas, memórias somente para leitura, CMOS
(Complementary Metal Oxide Semiconductor) e memórias Flash;
b. Memórias Magnéticas – constituídas de um suporte neutro (vidro,
alumínio, plástico etc.) recoberto de uma camada de óxido de ferro, onde a
informação é gravada pela construção de pequenos ímãs que representam
os valores zero e um, de acordo com a polaridade dos ímãs, em uma
tecnologia semelhante às fitas cassete e fitas de vídeo; os principais
exemplos são o HD (Hard Disk ou Disco Magnético), os discos flexíveis e
as fitas magnéticas;
c. Memórias Ópticas – constituídas de materiais que são gravados por raios
de luz e que, quando lidos, refletem a luz de maneiras diferentes,
produzindo os bits zero e um; os principais exemplos são o CD (vários
tipos) e o DVD (também de vários tipos) e Blu Ray.
22
MEMÓRIAS DE SEMICONDUTORES
Temos várias tecnologias:

Memórias Estáticas – SRAM – Static Random Access Memory – são
memórias construídas apenas por elementos eletrônicos, empregando-se de
4 a 8 transistores para cada bit da memória. É o tipo de memória mais rápida
que existe, porém é a mais cara;

Memórias Dinâmicas – DRAM – Dynamic Random Access Memory – são
memórias constituídas de apenas um capacitor e um transistor para cada bit
da memória; pois o capacitor retém a informação (zero ou um) por um curto
período de tempo e o transistor comanda a leitura e gravação de cada bit;
porque retêm a informação por curtos períodos de tempo, elas devem ser regravadas constantemente em uma operação chamada de REFRESH;

Memória CMOS – Complementary Metal Oxide Semiconductor – que são
memórias de semicondutores que consomem uma quantidade muito pequena
de energia e, por isso, podem ser alimentadas por baterias de pequena
capacidade e são utilizadas em celulares, máquinas de calcular, relógios etc.;

Memórias não Voláteis – serão vistas em uma aula futura;
23
MEMÓRIAS MAGNÉTICAS
São de três tipos diferentes:

Disco Magnético – também conhecido com Disco Rígido ou Hard Disk
(HD), que é constituído de um ou mais discos de alumínio ou vidro, que são
recobertos por uma camada de óxido de ferro, onde são gravados os bits de
informação. A leitura e gravação são feitas por um braço que desloca em
toda a superfície do disco, Haverá uma aula específica sobre HD;

Disquetes – é uma tecnologia ultrapassada e muito semelhante ao HD. A
diferença é que têm uma capacidade muito menor que o HD e que são
removíveis, sendo muito utilizados no passado para transferir dados de um
computador para outro; não haverá maiores discussões sobre disquetes;

Fitas Magnéticas – é uma tecnologia que utiliza uma fita de plástico
recoberta de óxido de ferro. Os bits são gravados em uma cabeça de
gravação, com vários gravadores, que produzem trilhas de dados para
serem lidos ou gravados.
24
MEMÓRIAS ÓPTICAS
As memórias ópticas são muito semelhantes. Todas elas são feitas pela
gravação física em um disco de plástico, produzindo saliências e
depressões. Para a leitura, um raio de luz é enviado ao disco de plástico e
sua reflexão é modificada pelas saliências e depressões, caracterizando os
bits zero e um. A diferença entre eles está na qualidade da gravação e
leitura, o que significa maior capacidade e menor tempo de acesso. Temos
os seguintes tipos:

Compact Disk – CD – é o modelo mais antigo desse tipo de memória.
Existem vários tipos, tais como CD-ROM (Compact Disk Read Only
Memory), CD-R, CD-RW.

Digital Video Disk (ou Digital Versatile Disk) – é muito semelhante ao
CD, porém com maior capacidade e menor tempo de acesso;
 Blu Ray – uma evolução do DVD.
Haverá uma aula específica sobre esse tipo de memória
25
ANÁLISE DOS TIPOS DE MEMÓRIAS
Uma breve análise dos diversos tipos de memória nos indica as seguintes
características básicas:

As memórias de semicondutores são as mais rápidas e as únicas que
podem ser conectadas diretamente com os processadores, pois, apesar de
serem mais lentas que os processadores, trazem um impacto relativamente
pequeno no desempenho do sistema de computação; No entanto, são as
mais caras e, conseqüentemente, são construídas em modelos de pequena
capacidade; podem ser voláteis ou não voláteis;

As memórias magnéticas são muito mais lentas que as memórias de
semicondutores, porém o custo por bit desse tipo de memória é muito
menor que os das memórias de semicondutores. Outra característica delas
é o fato de serem não voláteis;
 As memórias ópticas são as que têm o menor custo por bit e têm uma
capacidade compatível com as memórias magnéticas. Também são não
voláteis e têm a característica de serem removíveis.
26
HIERARQUIA GERAL DAS MEMÓRIAS
Memórias Internas
Armazenamento
Externo
Armazenamento
de Segurança
Registradores
Memória Cache
Memória Principal
ROM
HD
CD
DVD
BLU RAY
Fitas
Magnéticas
27
VISÃO DA HIERARQUIA




Com base nas informações sobre as características das
memórias, diversos autores puderam construir uma hierarquia
de memórias, aplicável a todos os tipos de computadores, do
PC até os supercomputadores; há várias versões de diferentes
hierarquias;
As Memórias Internas, no pico da hierarquia, são elaboradas
com semicondutores , são de alta velocidade, baixa
capacidade e alto custo;
Em direção à base da pirâmide, os custos diminuem, as
capacidades aumentam e as velocidades diminuem;
Para o PC, normalmente é utilizada uma outra hierarquia,
mostrada a seguir.
28
HIERARQUIA DE MEMÓRIAS PARA PC
Custo Alto
Velocidade Alta
Baixa Capacidade
Registradores
Memória Cache
Memória Principal
Memórias Magnéticas
Custo Baixo
Velocidade Baixa
Alta Capacidade
Memórias Ópticas
Memória
Secundária
29
REGISTRADORES




São memórias muito rápidas e de pequena capacidade. São instaladas no
interior da UCP e são utilizadas pela UC e pela UAL (que já vimos
superficialmente em aulas anteriores); o tempo de acesso é da ordem de
0,5 ns;
Normalmente, têm a capacidade igual a uma palavra;
Têm um custo alto;
São construídas com a tecnologia SRAM;
Os registradores são de uso quase que exclusivo da UCP. A linguagem de
máquina e a linguagem Assembly podem acessar os registradores para
leitura ou carga dos mesmos, mas as operações com registradores são
reservadas apenas para a UCP.
Os registradores são uma ferramenta importante para o aumento do
desempenho da UCP, como veremos em aulas futuras.
O número de registradores em uma UCP varia conforme o tipo e o modelo.
30
MEMÓRIAS CACHE



São memórias muito rápidas e que são usadas preferencialmente pela UCP
para dados e programas. Seu tempo de acesso varia de 5 a 8 ns;
Modernamente, as memórias cache têm capacidade de 2 a 4 Mbytes;
São memórias muito caras, mas seu custo tem diminuído; são construídas
com a tecnologia SRAM.
As memórias cache usam os princípios de localidade temporal e localidade
espacial para guardar dados e informações transitoriamente, A CPU só
acessa um dado ou informação se eles estiverem na memória cache. Caso
o dado ou instrução esteja na memória RAM, uma cópia é colocada na
memória cache. Qualquer modificação na memória cache é copiada para a
memória RAM. Se a capacidade da memória cache se esgotar e for
necessário trazer mais dados ou instruções da memória RAM, isso é feito
sobre os dados anteriores (normalmente os que estavam a mais tempo da
memória cache), sem se preocupar em salvá-los, uma vez que já existe
uma cópia deles na memória RAM
31
MEMÓRIAS RAM



São memórias medianamente rápidas, com tempos de acesso que variam
de 5 a 50 ns;
Modernamente, usam-se memórias RAM de 2 a 4 Gbytes;
São construídas com a tecnologia DRAM (em várias modalidades) e têm
custo relativamente alto,
A memória RAM é conhecida como a Memória Principal – MP – do
computador pois todos os dados e programas devem ser carregados na MP
para que a UCP tenha acesso a eles, o que é mandatório pelo modelo de
von Neumann. Posteriormente, esses dados e informações podem ser
transferidos para a memória cache na medida que a UCP precisa acessálos. Os periféricos de um computador não se comunicam entre si. Para
tanto, mandam sempre os dados para a MP que providencia a comunicação
com outros periféricos, se houver uma programação para tanto. Se a MP
enche, usa-se o artifício de Memória Virtual para usar parte da memória
magnética simulando extensão da MP
32
MEMÓRIAS MAGNÉTICAS



São memórias relativamente muito lentas, sendo as mais rápidas com
tempo de acesso de 5 a 20 ms (um ms equivale a 1.000.000 de ns);
Têm capacidade muito grande; HD modernos chegam a ter 1Tbyte de
capacidade (1Tbyte equivale a 1000 Gbytes);
O custo por bit desse tipo de memória é muito pequeno em relação às
memórias vistas anteriormente.
Em PC, a memória magnética que é praticamente usada é o HD – Hard
Disk – que será objeto de uma aula específica. A fita magnética é utilizada
somente para backup de servidores. Os antigos discos flexíveis não são
mais utilizados. Os pendrive são uma tecnologia mista de semicondutores e
memória magnética, que adquiriu muita importância recentemente e que
será objeto de estudo dentro da aula de interface USB. Os pendrive têm tido
um aumento de capacidade considerável, existindo hoje pendrive com 128
Gbytes de capacidade. São de baixo custo e removíveis, o que abre muitas
possibilidades de uso.
33
MEMÓRIAS ÓPTICAS



São memórias lentas e de acesso apenas seqüencial;
Sua capacidade varia de 700 Mbytes até 25 Gbytes;
Seu custo é muito pequeno.
As memórias ópticas têm a grande vantagem de serem removíveis. Com
isso, elas se transformam em um grande auxiliar na guarda de informações
e programas, principalmente de imagens e sons, Após 5 anos de gravados,
podem apresentar perda de alguns bits, o que não é percebido para
imagens e sons, mas é vital para dados.
Há vários tipos de memórias ópticas e haverá uma aula específica para seu
estudo.
34
USO DA HIERARQUIA DE MEMÓRIAS



O uso racional da hierarquia de memórias leva a um aumento de eficiência
dos computadores, uma diminuição de custos e um aumento da proteção
dos dados, Para tanto, deve haver um misto de ações de hardware,
software e administração;
A influência do hardware está na escolha correta de um equipamento pois
ele trará um conjunto de dispositivos que maximizarão o uso da hierarquia
de memórias, principalmente na questão da memória cache e dos
registradores; isso será discutido ao longo da matéria
A influência do software está na escolha do Sistema Operacional, as
linguagens de programação, os compiladores e os utilitários. Isso será visto
pelos alunos durante toda a duração do curso;
A influência da administração está no estudo da natureza e importância das
informações e programas de uma organização, o que determinará o uso de
memórias adequadas para sua guarda e utilização. Esse aspecto deverá
ser objeto de acompanhamento durante toda a vida profissional dos
estudantes.
Download

memórias