Anda di halaman 1dari 54

Infraestrutura de Hardware

Juliana Regueira Basto Diniz


Abner Corra Barros

Volume 3

Recife, 2009

Universidade Federal Rural de Pernambuco


Reitor: Prof. Valmar Corra de Andrade
Vice-Reitor: Prof. Reginaldo Barros
Pr-Reitor de Administrao: Prof. Francisco Fernando Ramos Carvalho
Pr-Reitor de Extenso: Prof. Paulo Donizeti Siepierski
Pr-Reitor de Pesquisa e Ps-Graduao: Prof. Fernando Jos Freire
Pr-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo Ferreira
Pr-Reitora de Ensino de Graduao: Prof. Maria Jos de Sena
Coordenao Geral de Ensino a Distncia: Prof Marizete Silva Santos
3URGXomR*UiFDH(GLWRULDO
Capa e Editorao: Allyson Vila Nova, Rafael Lira, Italo Amorim, Glaucia Fagundes e Arlinda Torres
5HYLVmR2UWRJUiFD0DUFHOR0HOR
Ilustraes: Abner Barros e Allyson Vila Nova
Coordenao de Produo: Marizete Silva Santos

Sumrio
Apresentao ...................................................................................................4
Captulo 1 Hierarquia de Memria ...............................................................6
Hierarquia de Memria ..................................................................................7
Memria Primria ........................................................................................15
Memria Secundria....................................................................................17
Captulo 2 Memria Cache .........................................................................35
Acesso a Dados na Memria Cache ...........................................................36
Mapeamento de Memria ............................................................................39
Conhea os Autores ......................................................................................54

Apresentao
Caro(a) Cursista,
Estamos, neste momento, iniciando o terceiro volume do livro da disciplina de
Infraestrutura de Hardware. Neste volume iremos discutir o subsistema de memria
que constituem os computadores modernos. As memrias so subdivididas de acordo
FRP XPD KLHUDUTXLD H SRGHP VHU FODVVLFDGDV GH DFRUGR FRP XPD VpULH GH FULWpULRV
Estudaremos as memrias semicondutoras, as memrias de superfcie tica (CDs e
DVDs) e de superfcie magntica (Discos rgidos).
Tambm abordaremos a troca de dados entre as memrias principal e a memria
cache, bem como as polticas de substituio e de escrita de dados na memria principal
e na cache.
Bons estudos!
Juliana Regueira Basto Diniz
Abner Barros
Professores Autores

Infraestrutura de Hardware

Captulo 1

O que vamos estudar?


Neste captulo, vamos estudar os seguintes temas:
Hierarquia de memria
 &ODVVLFDomR GRV HOHPHQWRV GH PHPyULD TXH FRPS}HP D
hierarquia de memria entre memria primria e memria
secundria
Caractersticas tcnicas e funcionais dos principais elementos
de memria presentes na hierarquia de memria dos
computadores atuais

Metas
Aps o estudo deste captulo, esperamos que voc consiga:
Entender como e porque foi criada a Hierarquia de Memria.
Como esta hierarquia funciona e qual o seu objetivo na
arquitetura dos computadores modernos
 &RQKHoHU RV SULQFtSLRV TXH QRUWHDUDP D GHQLomR GHVWD
hierarquia, do ponto de vista do aproveitamento das
caractersticas de cada um dos seus componentes
Ter uma viso geral, sem muitos detalhes, das principais
caractersticas tcnicas e funcionais dos componentes que
formam a hierarquia de memria

Infraestrutura de Hardware

Captulo 1 Hierarquia de
Memria

Vamos conversar sobre o assunto?


&RQVLGHUHDVVHJXLQWHVDUPDo}HVIHLWDVHPpSRFDVGLVWLQWDVSRU
alguns dos papas da computao:
Em termos ideais, desejaramos dispor de uma capacidade
GH PHPyULD LQQLWDPHQWH JUDQGH H TXH SXGHVVH GLVSRQLELOL]DU
LPHGLDWDPHQWHRFRQWH~GRGHTXDOTXHUGHVXDVSDODYUDV
A.W.Burks, H.H.Goldstine e J. Von Neumann
'HVGH R ODQoDPHQWR GR SULPHLUR FRPSXWDGRU RV
SURJUDPDGRUHVYrPH[LJLQGRFDSDFLGDGHVLOLPLWDGDVGHPHPyULD
GHDFHVVRTXDVHLQVWDQWkQHR
Andrew S. Tanenbaum
6RPRVIRUoDGRVDUHFRQKHFHUDSRVVLELOLGDGHGHFRQVWUXLU
XP VLVWHPD GH PHPyULD HVWUXWXUDGR KLHUDUTXLFDPHQWH QR TXDO
FDGDXPGRVFRPSRQHQWHVGDKLHUDUTXLDWHQKDPDLVFDSDFLGDGH
GHDUPD]HQDPHQWRHXPWHPSRGHDFHVVRPDLRUGRTXHDTXHOHV
TXHRSUHFHGHP
A.W.Burks, H.H.Goldstine e J. Von Neumann
Como voc deve ter percebido, a organizao do sistema de
memria (tamanho da memria x velocidade de acesso) um dos
problemas cruciais em sistemas computacionais.
Precisamos

uma

De um lado, precisamos de um sistema de memria com um grande


quase que instantneamente.
capacidade de armazenamento e que
espao de armazenamento, que possa ser acessado a altssima
Infelizamente, entretanto,

velocidade. Por outro lado, ainda no existe uma tecnologia de


armazenamento que nos permita construir tais sistemas de memria
a um custo acessvel.
/HPEUHVH TXH WDQWR RV SURJUDPDV TXDQWR RV GDGRV FDUmR
armazenados neste sistema de memria, e que da velocidade de
estes

acesso a este depende, em ltima instncia, o desempenho do


computador como um todo.
6

Infraestrutura de Hardware

Desta forma, como o prprio Von Neumann percebeu, ainda nos


primrdios da histria dos computadores, a nica alternativa vivel
a construo de sistemas de memria baseados em hierarquia, que
lance mo de todas as tecnologias disponveis, de forma a extrair o
melhor de cada uma delas.
Este portanto ser o foco do nosso estudo. Conhecer as tecnologias
de armazenamento de dados atualmente disponveis, e ver como
estas tecnologias so aproveitadas na construo da hierarquia de
memria.

Hierarquia de Memria
Quando pensamos em uma hierarquia qualquer, logo nos vem
mente uma estrutura que dispe os seus elementos a partir de algum
distingua
parmetro que os distingue em grau de importncia dos demais. Na
hierarquia de memria no diferente, nela a velocidade de acesso
que determina o grau de importncia de um elemento e, portanto, o
seu grau de proximidade do processador. A Figura 1, a seguir, nos
traz os diversos elementos presentes na hierarquia de memria dos
computadores atuais.

Figura 1 - Elementos da Hierarquia de Memria

&RPRSRGHPRVREVHUYDUSRUHVWDJXUDRVHOHPHQWRVSUHVHQWHV
na hierarquia de memria podem ainda ser organizados em dois
grupos distintos: a Memria Primria e a Memria Secundria. Esta
FODVVLFDomRHVWiGLUHWDPHQWHOLJDGDjIRUPDFRPRFDGDXPGHVWHV
elementos se conecta ao sistema e, desta forma, como o processador
tem acesso aos dados neles armazenados.
7

Infraestrutura de Hardware

Fazem parte da Memria Primria os elementos aos quais


o processador tem acesso direto e imediato, ou seja, aqueles
elementos que esto conectados diretamente ao barramento de
memria do processador. na memria primria que normalmente
FDPDUPD]HQDGRVRVGDGRVHWUHFKRVGHFyGLJRGRVSURJUDPDVHP
execuo.
esto presentes na

Como podemos ver pela Figura 1, fazem parte da memria primria


o conjunto de registradores do processador, a memria cache e a
memria principal, comumente chamada de memria RAM.
Por outro lado, fazem parte da memria secundria os elementos
aos quais o processador tem acesso indireto, ou seja, aqueles que
diretamente ao

no esto conectados ao barramento de memria, mas sim a algum


dos barramentos de entrada e sada do sistema.
Para que os dados armazenados nestes dispositivos se tornem
acessveis na hierarquia de memria, necessria a utilizao de
GHYLFHGULYHUVVRIWZDUHVHVSHFtFRVTXHLQWHUPHGLDPDVWUDQVDo}HV
de leitura e/ou escrita na memria entre o programa em execuo
e o dispositivo em que esto armazenados os dados. So estes
device drivers que permitem ao processador acessar os dados
armazenados nestes dispositivos da mesma forma como acessaria
os dados armazenados na Memria Primria. Ou seja, do ponto de
vista do processador, como se existisse apenas um nico e grande
espao de memria, compreendendo os elementos presentes tanto
na memria primria quanto secundria, ao qual ele pode acessar de
maneira simples e direta.
Observe que, como falamos a princpio, o objetivo desta hierarquia
construir um sistema de memria com as principais caractersticas
de cada um dos seus elementos, de tal forma que possa ser visto pelo
processador com um espao de armazenamento to grande quanto
o disponvel nos elementos presentes na sua memria secundria e
com um acesso to rpido quando o possvel nos elementos presentes
na sua memria primria.
Em linhas gerais podemos considerar que, ao longo do tempo
da execuo de um programa os seus dados trafegam entre os
GLYHUVRV QtYHLV GHVWD KLHUDUTXLD YLQGR GHVGH R ORFDO HP TXH FDP
armazenados quando no esto em uso, normalmente em algum
ponto da memria secundria, passando pela memria principal e
desta para a memria cache e para o banco de registradores, onde
8

Infraestrutura de Hardware

SRUPVHWRUQDPDFHVVtYHLVDRSURFHVVDGRU
No prximo captulo estudaremos com detalhes como se d este
SURFHVVR H TXDLV DV WpFQLFDV DGRWDGDV D P GH JDUDQWLU R PHOKRU
desempenho do sistema de memria como um todo.
Por enquanto, que tal estudarmos com um pouco mais de detalhes
alguns dos elementos presentes na hierarquia de memria que
acabamos de conhecer? Para tanto, vamos comear estudando
algumas caractersticas fundamentais dos elementos que compem o
sistemas de memria dos computadores atuais. A Figura 2, a seguir,
nos traz um pequeno resumo destas caractersticas.

Figura 2 - Caractersticas fundamentais dos elementos do sistema de memria

Localizao: Esta caracterstica est diretamente relacionada


com a localizao fsica do elemento no sistema computacional,
ou seja, se este interno ao processador como no caso dos
registradores, externo ao processador, mas com conexo
direta ao barramento de memria deste, sendo desta
forma considerado como pertencente memria interna do
computador, ou ainda um elemento de armazenamento externo
conectado ao sistema atravs de um dos barramentos de
entrada e sada.
Capacidade: Normalmente expressa em bytes, mas podendo
9

Infraestrutura de Hardware

ser expressa tambm diretamente em bits ou em palavras de


16, 32 ou 64 bits. Esta caracterstica revela a capacidade de
armazenamento de informaes do elemento de memria. No
por acaso que esta talvez a caracterstica que mais interesse
aos usurios comuns de computadores. Observe entretanto
que possuir um computador com uma grande capacidade de
memria no , obrigatoriamente, sinnimo de possuir um
computador de grande desempenho.
Unidade de transferncia: Esta caracterstica est associada
a como a informao transferida de ou para o elemento de
memria. Como j estudamos anteriormente, apesar de a
unidade bsica de informao nos computadores ser o bit, a
unidade bsica de manipulao da informao, determinada
a partir do tamanho da palavra do processador adotado. Por
outro lado, por motivos de desempenho, conforme veremos
mais a frente, os dados so normalmente transferidos em
blocos contendo vrias palavras formando assim uma unidade
de transferncia de dados.
Mtodo de acesso: Esta caracterstica determina como se
dar o acesso aos elementos de memria, ou s suas unidades
endereveis. Existem, a princpio, quatro formas de acesso
aos dados, so elas:
Acesso sequencial: no acesso sequencial uma
determinada posio N de memria s pode ser acessada
aps ter-se acessado a posio N-1. Sistemas que adotam
este tipo de acesso armazenam juntamente com o dado
um registro de informao que contem o seu endereo de
acesso. Desta forma, para se acessar uma determinada
posio de memria deve-se ir acessando uma a uma
todas as posies que a antecedem, lendo sempre o seu
LGHQWLFDGRU DWp DOFDQoDU R EORFR GHVHMDGR ([HPSOR GH
dispositivo de armazenamento de acesso sequencial: Fita
Magntica.
 Acesso direto: o acesso direto pode ser considerado
uma evoluo do acesso sequencial. Nele os dados so
organizados em blocos maiores, ou clusters, os quais
possuem uma localizao fsica conhecida no meio de
armazenamento. Dentro do bloco os dados so acessados
sequencialmente
10

conforme

acabamos

de

descrever.

Infraestrutura de Hardware

Exemplo de dispositivo de armazenamento de acesso


direto: Disco Magntico.
 Acesso aleatrio: no acesso aleatrio cada elemento de
DUPD]HQDPHQWRSRVVXLXPHQGHUHoR~QLFRGHQLGRDSDUWLU
da posio fsica que este ocupa na estrutura do dispositivo
que o implementa, podendo desta forma ser acessado
diretamente, em qualquer sequencia, independente da
posio de memria anteriormente acessada. Exemplo
de dispositivo de armazenamento de acesso aleatrio:
Memria principal, tambm conhecida como memria RAM
(Random Access Memory)1.
 Associativo: o acesso associativo pode ser visto como
uma juno do acesso direto com o acesso aleatrio. Nos
sistemas que adotam o acesso associativo cada posio de
memria possui, alm do espao para o armazenamento da
informao propriamente dita, um espao para o endereo
associado aquela informao. Desta forma, os espaos
GHDUPD]HQDPHQWRQmRWHPPDLVXPHQGHUHoR[RFRPR
acontece no acesso aleatrio, podendo ser utilizados de
XPD PDQHLUD PXLWR PDLV HFLHQWH 2 DFHVVR DRV GDGRV
feito comparando-se o endereo da informao que
se deseja acessar com os endereos associados aos
elementos armazenados. Esta comparao pode ser feita
simultaneamente com todos os elementos de memria,
R TXH SHUPLWH XP DFHVVR UiSLGR H HFLHQWH GRV GDGRV
armazenados. Exemplo de dispositivo de armazenamento
de acesso associativo: Memria cache. Mais a frente,
no prximo captulo, estudaremos em detalhes como
o endereamento associativo importante para o
funcionamento deste tipo de memria.
Desempenho:
Juntamente
com
a
capacidade
de
armazenamento, o desempenho uma das caractersticas mais
importantes de um elemento de memria. Este desempenho
pode ser medido a partir de trs medidas bsicas descritas a
seguir:
 Tempo de acesso: Em uma memria de acesso aleatrio,
este o tempo necessrio para se efetuar um processo
de escrita ou leitura em uma determinada posio de
memria, ou seja, o tempo necessrio para que se
11

6DLED0DLV
1
Pesquise
na Internet o
VLJQLFDGRGD
expresso:
Random Access
Memory

Infraestrutura de Hardware

possa efetivamente gravar um dado em uma operao de


escrita ou para que se possa disponibilizar um dado lido
no barramento de dados da memria em uma operao de
leitura de memria. Em elementos de memria de acesso
direto ou em elementos de memria de acesso sequencial,
este o tempo necessrio para acessar a primeira posio
da regio de memria desejada, por este motivo tambm
conhecido como tempo de posicionamento.
 Tempo de ciclo de memria: Em memrias de acesso
aleatrio, este tempo pode ser calculado como sendo o
somatrio do tempo de acesso mais o tempo necessrio
liberao do barramento para um novo acesso. Em
memrias de acesso direto e em memrias de acesso
sequencial, este o tempo necessrio para acessar duas
posies sucessivas em uma mesma regio de memria.
 Taxa de transferncia: a taxa ou a velocidade com que
os dados podem ser transferidos de ou para a memria.
Em memrias de acesso aleatrio, esta igual ao inverso
do tempo de ciclo de memria. Em memrias de acesso
direto ou de acesso sequencial, vale a seguinte relao:

Figura 3 - Taxa de transferncia

Tecnologia: A tecnologia de construo de um elemento de


memria tem impacto direto sobre todas as suas caractersticas.
Normalmente uma tecnologia que apresenta excelentes
resultados em determinados parmetros no apresenta to bons
resultados em outros parmetros. Por exemplo: os elementos de
armazenamento baseados na tecnologia Magntica costumam
ter um excelente custo de implementao, apresentando,
assim, um baixo custo por bit, entretanto o seu tempo de
acesso costuma ser milhares de vezes mais lento que os das
memrias baseadas na tecnologia de semicondutores. As
12

Infraestrutura de Hardware

principais tecnologias atualmente empregadas na construo


de elementos de memria so:
 Semicondutor: Atualmente existe um grande nmero de
dispositivos de armazenamento construdos a partir das
tecnologias baseadas em semicondutores, entretanto as
principais, do ponto de vista da construo da hierarquia de
memria dos computadores so os dispositivos construdos
a partir das seguintes tecnologias:
Capacitiva: Esta tecnologia tem dominado o mercado
de fabricao das memrias tipo DRAM (Dynamic
Random Access Memory), ou seja, das memrias de
armazenamento dinmico e acesso randmico, desde
o seu lanamento no inco da dcada da 70 do sculo
passado. Nela a unidade bsica de informao, o bit,
armazenado em capacitores construdos diretamente
na pastilha de silcio dos componentes de memria.
A grande vantagem desta tecnologia a sua alta
densidade de armazenamento por rea de silcio, o
que reduz em muito o preo por bit armazenado. Seu
tempo de acesso e taxa de transferncia, ainda que
superior a grande maioria das outras tecnologias,
no tem conseguido acompanhar a velocidade
dos processadores atuais, sendo menor que os
apresentados nas memrias construdas a partir de
Flip-Flops, motivo pelo qual esta tecnologia ocupa o
ponto mediano da hierarquia de memria.
Flip-Flop: Esta tecnologia a que apresenta
as melhores taxas de acesso e de transferncia
dentre todas as tecnologias atualmente disponveis,
entretanto devido a sua baixa densidade de
armazenamento, cada bit de memria ocupa muita
rea na pastilha de silcio, o seu custo por bit
armazenado tambm o mais caro entre todas as
tecnologias atualmente empregadas. Desta forma,
esta tecnologia normalmente empregada apenas
na construo dos dispositivos que ocupam o topo da
hierarquia de memria, ou seja, dos registradores e
da memria cache.
 Magntica: Esta tecnologia tem sido desde o seu
13

Infraestrutura de Hardware

lanamento a principal tecnologia para a construo de


elementos de armazenamento persistente da informao.
Nela a informao armazenada mudando-se a orientao
do campo magntico de partculas de material ferrimagntico depositados nas mdias de armazenamento. A
grande vantagem desta tecnologia o seu baixo custo de
construo e sua alta densidade de armazenamento, o que
resulta em um baixssimo custo por bit armazenado. Os
principais dispositivos construdos com esta tecnologia so
RVGLVFRVUtJLGRVRVGLVFRVH[tYHLVHDVWDVPDJQpWLFDV$
principal desvantagem desta tecnologia o seu alto tempo
de acesso e de ciclo de leitura e escrita, o que resulta em
uma baixa taxa de transferncia.
 tica: A tecnologia de armazenamento em mdias ticas
surgiu como uma alternativa ao armazenamento de dados
em mdias magnticas, principalmente em substituio
s mdias removveis. Suas principais caractersticas so
sua alta densidade de armazenamento e sua capacidade
de manter os dados praticamente inalterados por tempo
LQQLWDPHQWHORQJRVVHFRPSDUDGRVjVGHPDLVWHFQRORJLDV
desde que armazenados de maneira adequada. Na
tecnologia tica a unidade bsica de informao
armazenada a partir da mudana do ndice de refrao
da luz da mdia no ponto em que a informao gravada.
Atualmente os principais dispositivos construdos com esta
tecnologia so os CDs, DVDs e Blue-Rays.
Caractersticas Fsicas: As caractersticas fsicas da tecnologia
empregada na construo dos elementos de armazenamento
determinam o grau de persistncia da informao armazenada.
'HVWDIRUPDDVPHPyULDVSRGHPVHUFODVVLFDGDVHP
 Volteis ou no-volteis: Dizemos que uma memria
voltil quando esta depende de algum estmulo externo,
para manter os dados nela armazenados. So, portanto,
no-volteis todos os demais tipos de memria que
no dependem de tais estmulos para manter os dados
armazenados. Atualmente apenas as memrias DRAM,
as quais so construdas com tecnologia capacitiva so
consideradas memrias volteis.
 Apagveis ou no apagveis: Esta caracterstica quase
14

Infraestrutura de Hardware

dispensa comentrio. Atualmente, apenas alguns tipos de


mdias ticas e alguns tipos de memrias baseadas em
semicondutores podem ser consideradas como memrias
no apagveis, uma vez que os dados nelas gravados
no podem ser alterados sem que as mesmas sejam
destrudas. Todas os demais tipos de memria podem ser
consideradas como memrias apagveis.
Organizao: A organizao da memria a caracterstica
TXH UHHWH FRPR RV VHXV ELWV HVWmR GLVSRVWRV RX VHMD TXDO
o tamanho da palavra de dados com o qual a memria pode
ser acessada. Observe a Figura 4 a seguir, nela podemos
ver trs formas distintas como uma memria com 96 bits de
armazenamento pode ser organizada.

Figura 4 - Trs formas distintas de organizar uma memria com 96 bits de armazenamento

Muito bem, agora que j conhecemos as principais caractersticas


dos elementos que compem um sistema de memria, estamos
prontos para estudar os principais tipos de elementos de memria
utilizados na construo da hierarquia de memria.
Vamos comear nosso estudo pelos elementos que compem a
memria primria da nossa hierarquia de memria:

Memria Primria
Conforme dissemos a princpio, fazem parte da Memria Primria
15

Infraestrutura de Hardware

os elementos aos quais o processador tem acesso direto e imediato,


ou seja, aqueles que esto conectados diretamente ao barramento
de memria do processador. Por este motivo, a memria primria
tambm conhecida como memria interna. Tomando como referncia
a hierarquia disposta na Figura 1, vamos estudar primeiramente os
registradores, em seguida a memria cache e, por ltimo, a memria
principal.
Registradores
Como podemos observar pela Figura 1, os registradores so os
elementos mais prximos do processador, ocupando assim o topo da
nossa hierarquia de memria. Os registradores nada mais so que
palavras de memria construdas com tecnologia de semicondutores,
Flip-Flops, diretamente na pastilha de silcio do processador, sendo
desta forma os elementos de memria de acesso mais rpido em
toda a hierarquia de memria. A maioria dos registradores presentes
em um processador so dispostos na forma de um banco de memria
de acesso aleatrio, organizado em palavras do tamanho exato da
palavra do processador, as quais so acessveis uma a uma em
unidades de transferncia tambm do tamanho exato da palavra do
processador. Os registradores so considerados memrias apagveis
e no volteis
Memria Cache
A memria cache um espao de memria, organizado na forma
de bancos de memria, normalmente construda em dois ou trs
nveis, um diretamente na pastilha do processador, chamada de
cache L1, e os demais, denominados de cache L2 e L3, construdos
como componentes a parte do processador. Conforme dissemos
anteriormente, da mesma forma que os registradores, a memria
cache construda com tecnologia de semicondutor, Flip-Flop, com
acesso associativo, e organizado em palavras com tantos bits quantos
necessrios para armazenar uma ou mais palavras do processador
e uma referncia ao endereo de memria associado aos dados
armazenados. Dada a sua importncia para o desempenho da
hierarquia de memria como um todo, a memria cache ser estudada
em maiores detalhes no prximo captulo.
Memria Principal
A memria principal, como o prprio nome sugere o elemento
16

Infraestrutura de Hardware

central da hierarquia de memria. na memria principal que


QRUPDOPHQWH FDP DUPD]HQDGRV RV WUHFKRV GH FyGLJR H RV GDGRV
dos programas em execuo.
Em linhas gerais, podemos dizer que a memria principal e o
banco de registradores so os nicos espaos de memria visveis
ao processador. Tanto a memria cache quanto os elementos de
DUPD]HQDPHQWRSUHVHQWHVQDPHPyULDVHFXQGiULDH[LVWHPDPGH
melhorar as caractersticas de velocidade de acesso e de espao
de armazenamento da memria principal. O que se busca com a
hierarquia de memria que o processador veja a memria principal
como se esta tivesse a velocidade de acesso da memria cache e o
espao de armazenamento da memria secundria.
Atualmente, a memria principal construda a partir da utilizao
de vrios chips de memria DRAM, organizados na forma de bancos de
memria que podem variar de centenas de Mega-Bytes a dezenas de
Giga-Bytes de memria. Conforme j foi dito, as memrias DRAM so
memrias construdas com tecnologia capacitiva, volteis, apagveis,
de acesso aleatrio, organizadas e acessadas normalmente em
palavras do tamanho da palavra do processador.
Entretanto, existe um outro tipo de memria que tambm faz parte
GD PHPyULD SULQFLSDO QD TXDO FD DUPD]HQDGR R 6LVWHPD %iVLFR
de Entrada e Sada da placa me, tambm conhecido como BIOS
(Basic Input Output System). O BIOS o programa responsvel pela
YHULFDomR LQLFLDO GD LQWHJULGDGH GRV FRPSRQHQWHV EiVLFRV GD SODFD
PmH H SHOD FDUJD LQLFLDO GR VLVWHPD RSHUDFLRQDO (OH FD JUDYDGR
em uma memria construda com tecnologia de semicondutor, no
apagvel, somente de leitura, denominada de memria ROM (Read
Only Memory). Assim como a memria DRAM, a memria ROM uma
memria de acesso aleatrio, organizada e acessada em palavras do
tamanho da palavra do processador.
Bem, agora que j conhecemos os elementos que compem a
memria primria, que tal conhecermos os elementos que compem
a memria secundria da nossa hierarquia de memria?

Memria Secundria
A memria secundria formada pelos elementos de memria
que no esto diretamente conectados ao barramento de memria
do processador, sendo desta forma acessados de maneira indireta
17

Infraestrutura de Hardware

a partir do barramento de entrada e sada. De um modo geral,


podemos dizer que a memria secundria formada por elemento
GHDUPD]HQDPHQWRGHPDVVDWDLVFRPRGLVFRUtJLGRHWDPDJQpWLFD
e pelos elementos de armazenamento removveis, tais como discos
H[tYHLV GLVFRV yWLFRV H SHQGULYHUV 3RU QmR HVWDUHP GLUHWDPHQWH
conectados ao barramento de memria do processador, estes tambm
so conhecidos como memria externa.
Ainda seguindo a ordem apresentada na Figura 1, estudaremos
primeiramente os Discos Magnticos, em seguida os Discos ticos,
DV)LWDV0DJQpWLFDVHSRUPRVSHQGULYHUV
Disco Magntico
Conforme j dissemos, os discos magnticos recebem esta

6DLED0DLV
Conhea
um pouco da
histria, com
fotos, dos
primeiros discos
Magnticos.
Visite o site http://
www-03.ibm.
com/ibm/history/
exhibits/storage/
storage_350.html
2

realmente
muito
interessante!

designao por armazenarem a informao a partir da mudana da


orientao magntica de minsculas partculas Ferri-magnticas
depositadas sobre uma mdia suporte.
Desde o seu lanamento, feito pela IBM em meados da dcada de
50 do sculo passado, os discos Magnticos evoluram2 muito, tendo
o seu tamanho sido reduzido a fraes do tamanho original ao mesmo
tempo em que sua capacidade de armazenamento e velocidade de
acesso foram aumentadas de centenas a milhares de vezes a dos
primeiros dispositivos. Os primeiros discos apresentados mediam
60x68x29 polegadas, aproximadamente 152 x 172 x 74 cm, e tinham
uma capacidade de armazenamento de 50 MB de informao.
Ao longo do tempo foram surgindo diversas variantes para este
WLSRGHGLVSRVLWLYRVHQGRRVPDLVLPSRUWDQWHVRGLVFRH[tYHOWDPEpP
chamado de disquete, e o disco rgido, nosso conhecido HD. Dada a
sua importncia, tanto no contexto histrico quanto no contexto atual,
aqui estudaremos apenas os discos rgidos.
A Figura 5,DVHJXLUQRVWUD]XPHVTXHPDVLPSOLFDGRGDHVWUXWXUD
interna de um disco rgido. Como podemos perceber, seus principais
componentes so a mdia magntica, o motor de trao da mdia,
tambm conhecido como spinde motor, a cabea de leitura e escrita
e o dispositivo de posicionamento da cabea, tambm conhecido
como YRLFHFRLO.

18

Infraestrutura de Hardware

Figura 5 Estrutura interna de um disco rigido

$ P GH DXPHQWDU D FDSDFLGDGH GH DUPD]HQDPHQWR GR GLVFR


os dois lados da mdia magntica so utilizados como discos
independentes, cada qual sendo acessada por sua prpria cabea de
leitura e escrita. comum tambm utilizar-se um conjunto com vrias
mdias em conjunto, presas ao eixo de um nico motor de trao, as
quais so acessadas por um conjunto de cabeas de leitura e escrita
controladas por um nico dispositivo de posicionamento. A Figura 6, a
VHJXLUSRGHQRVGDUXPDLGHLDGHFRPRHVWHFRQMXQWRFDGLVSRVWRQR
interior do disco rgido.

Figura 6 - Disposio das mdias Magnticas e das cabeas de gravao e leitura de um


disco rgido

O princpio de funcionamento de um disco rgido de certa forma


at bem simples. Conforme dissemos a princpio, os bits de dados
19

Infraestrutura de Hardware

VmRJUDYDGRVQDPtGLDDOWHUDQGRVHRVHQWLGRGRX[RPDJQpWLFRGR
material Ferri-magntico que est depositado sobre esta, da mesma
IRUPDFRPRVHJUDYDXPDLQIRUPDomRGHiXGLRHPXPDWDPDJQpWLFD
$PGHSHUPLWLURDFHVVRRUGHQDGRGRVGDGRVJUDYDGRVHVWHVFDP
organizados em blocos denominados de setores do disco, os quais
so gravados em regies distintas da mdia denominadas de trilhas.
$)LJXUDDVHJXLUQRVWUD]XPGLDJUDPDVLPSOLFDGRGHFRPRFD
a disposio das trilhas e setores do disco. Observe que cada trilha
nada mais que a regio disposta sob a cabea de leitura e escrita
durante o processo de rotao que a mdia sofre ao ser tracionada
pelo eixo do motor. Observe ainda que cada trilha, por sua vez,
dividida em pequenas regies ou setores, em que so gravados os
dados.
Desta forma, o processo de acesso aos dados gravados no
disco exige primeiramente que a cabea de leitura e escrita seja
posicionada sobre a trilha onde se encontra o setor com os dados.
Isto feito variando-se a corrente eltrica aplicada ao voice-coil. Em
seguida, simplesmente aguarda-se que o setor com os dados passe
VRE D FDEHoD GH OHLWXUD H HVFULWD RQGH R X[R PDJQpWLFR SUHVHQWH
na mdia convertido em corrente eltrica a qual enviada placa
FRQWURODGRUD GR GLVFR SDUD SRU P VHU FRQYHUWLGD HP LQIRUPDomR
lgica. O processo de escrita anlogo a este, com exceo que em
vez de ler a informao, a cabea de leitura e escrita ir gravar a
informao no setor desejado.

Figura 7 - Organizao dos dados na mdia

20

Infraestrutura de Hardware

Apenas para concluir, na Figura 8, a seguir, temos uma viso mais


detalhada da organizao dos dados nos setores do disco. Observe
que antes dos dados propriamente ditos cada setor do disco tem uma
regio com um prembulo, ou seja, uma regio com um padro de
JUDYDomRSUHYLDPHQWHHVWDEHOHFLGRTXHSHUPLWHLGHQWLFDURSRQWRHP
TXHFRPHoDRVHWRUHTXDODVXDLGHQWLFDomR(DSyVDUHJLmRHP
que os dados esto gravados, temos uma regio com um cdigo de
YHULFDomRGHHUURWDPEpPFRQKHFLGRFRPR(&&2(&&pXWLOL]DGR
WDQWR SDUD D YHULFDomR GD LQWHJULGDGH GRV GDGRV JUDYDGRV TXDQWR
para uma possvel recuperao dos mesmos. Ainda como medida
GHVHJXUDQoDDPGHPHOKRUGHPDUFDUDUHJLmRRFXSDGDSRUFDGD
setor, sempre entre dois setores existe uma regio que deixada sem
gravao conhecida como gap de interseo.

Figura 8 - Organizao dos dados nos setores do disco

Conforme citamos na introduo desta seo, com o passar do


tempo a evoluo dos discos rgidos no se deu apenas com vista
reduo de suas dimenses fsicas e no aumento da sua capacidade
GHDUPD]HQDPHQWR+RXYHWDPEpPDYDQoRVVLJQLFDWLYRVQDWD[DGH
transferncia dos dados e na reduo das taxas de erro de leitura e
escrita dos dados.
Sendo o disco rgido basicamente um elemento de memria,
como de se esperar, de suma importncia que os dados nele
armazenados possam ser recuperados de maneira rpida e livre de
falhas.
Observe que a princpio a taxa de transferncia dos dados entre a
mdia e o sistema funo direta da velocidade de rotao desta e da

21

Infraestrutura de Hardware

rea fsica ocupada pela unidade bsica de informao gravada. Ou


seja, quanto menor a rea ocupada por um bit de informao e quanto
mais rpido a mdia passar na frente da cabea de leitura e gravao,
maior a taxa de transferncia dos dados.
Atualmente a rea ocupada por um bit de informao est na
ordem do micrometro e a rotao da mdia na ordem das 10.000
rotaes por minuto.
Por outro lado, quanto menor a rea ocupada por um bit de
informao na mdia e quanto maior a velocidade de rotao da mdia
maior o risco de ocorrer falhas de gravao e escrita.
Desta forma, historicamente, o mercado de discos rgidos teve
sempre que buscar um ponto de equilbrio entre a taxa de transferncia
e a segurana dos dados. Discos rpidos e seguros eram caros,
discos baratos ou no eram rpidos ou no eram seguros.
3HQVDQGRQLVWRQRPGDGpFDGDGHGRVpFXORSDVVDGRXP
dos inventores dos processadores RISC, David Patterson, props
uma nova arquitetura para os discos rgidos que permitiria aumentar
a velocidade de transferncia dos dados ao mesmo tempo em que
aumentaria a segurana dos dados gravados, tudo isto a custa de
inserir uma certa taxa de redundncia nos dados gravados de tal
forma que estes pudessem ser acessados em paralelo, e no mais
sequencialmente como de costume, e que na ocorrncia de uma
falha os dados pudessem ser recuperados mais facilmente. Esta nova
arquitetura recebeu o nome de RAID (Redundant Array of Independent
Drives).
A proposta de Patterson na verdade apresentava no apenas
uma, mas sete possibilidades diferentes de organizar um conjunto
GHGLVFRVUtJLGRVDPGHH[SORUDUGLIHUHQWHVQtYHLVGHVHJXUDQoDH
taxas de transferncia dos dados. Veremos aqui apenas duas destas
SURSRVWDVTXHFDUDPFRQKHFLGDVFRPR5$,'H5$,'
RAID Nvel 0
A proposta da RAID 0 visa basicamente aumentar velocidade de
acesso aos dados, ou seja, a taxa de transferncia, sem entretanto
apresentar nenhuma alterao no nvel de segurana dos mesmos.
Conforme podemos ver pela Figura 9, a seguir, nesta proposta,
os discos so internamente divididos em reas, chamadas de strip.

22

Infraestrutura de Hardware

2EVHUYH TXH QR H[HPSOR DSUHVHQWDGR QD JXUD QyV WHPRV TXDWUR
discos rgidos os quais foram divididos em 16 strips. Veja que, se
fosse possvel dividir um arquivo em diversos arquivos menores, que
estivessem distribudos pelas strips dos quatro discos, poderamos
acessar 4 partes do arquivo simultaneamente, uma de cada disco,
aumentando assim em quatro vezes a nossa velocidade de leitura e/
ou leitura.

Figura 9 - Organizao dos dados na RAID 0

RAID Nvel 1
A proposta da RAID 1 muito semelhante a anterior, e visa
aumentar velocidade de acesso ao mesmo tempo em que busca
aumentar o nvel de segurana dos mesmos.
Conforme podemos ver pela Figura 10, a seguir, nesta proposta, os
discos tambm so internamente divididos em reas, s que alm dos
quatro discos iniciais temos mais quatro discos divididos exatamente
como os quatro primeiros. O objetivo aqui que este segundo conjunto
de discos sirva como armazenamento de segurana para os dados
gravados nos primeiros discos. Desta forma, sempre que um dado
gravado ou alterado no primeiro conjunto de discos o mesmo tambm
gravado ou alterado no segundo conjunto, de tal forma que caso seja
LGHQWLFDGDDOJXPDIDOKDQRVGDGRVJUDYDGRVWDQWRQRSULPHLURFRPR
no segundo conjunto de discos, a cpia existente no outro conjunto
GHGLVFRVSRVVDVHUXWLOL]DGDSDUDUHFXSHUDUDIDOKDLGHQWLFDGD

Figura 10 - Organizao dos dados na RAID 1

Como voc deve ter percebido, a utilizao de uma arquitetura


23

Infraestrutura de Hardware

RAID exige a utilizao de um controlador especial, um hardware


dedicado, responsvel por prover tanto a leitura e/ou leitura simultnea
GDVVWULSVQRVGLVFRVFRPRSRUSURYHUDVYHULFDo}HVHFRUUHo}HVGH
segurana necessrias nos arquivos gravados.
Disco tico
Os discos ticos recebem este nome por utilizarem a refrao da luz
como meio de gravao e leitura dos dados na mdia, ou seja, durante
o processo de gravao a mdia recebe marcas, chamadas de Pits,
que alteram o ndice de refrao da luz. As regies que no recebem
estas marcas recebem o nome de Lands. O mais interessante que a
informao no esta associada diretamente a presena ou no destas
marcas, mas sim transio entre elas. utilizada a passagem de
um Pit para um Land ou de um Land para um Pit indicar um bit em 1 e
a ausncia destas transies para indicar um bit em 0. A Figura 11, a
seguir, pode nos dar uma ideia melhor do que estamos falando.

Figura 11 - Gravao dos dados na mdia tica

Diferentemente dos discos magnticos, onde os dados so


gravados em trilhas concntricas, nos discos ticos os dados so
gravados sequencialmente em uma trilha espiral nica, que nos CDs
mede em torno de 5,6km, que se projeta no centro para a borda do
GLVFR 'HYLGR D LVWR D P GH HYLWDU TXH D YHORFLGDGH GH OHLWXUD H
ou escrita do disco varie ao longo da trilha, a velocidade de rotao
do disco varia, de forma a manter a taxa de gravao e/ou leitura
aproximadamente constante.

24

Infraestrutura de Hardware

O processo de leitura de uma mdia tica se d pela atravs de


uma cabea tica de leitura e escrita, conforme podemos ver pela
Figura 12, D VHJXLU 1HVWD JXUD WHPRV XP HVTXHPD VLPSOLFDGR
em corte dos elementos que formam esta cabea tica de leitura e
escrita. Observe que temos uma fonte de luz lazer a qual aplicada
diretamente sobre a mdia e uma clula fotossensvel que detecta se
DOX]SURMHWDGDUHHWHRXQmRQDPtGLD1DYHUGDGHSDUDTXHDOX]
SRVVDUHHWLUQDPtGLDHVWDSRVVXLXPDFDPDGDGHPDWHULDOUHH[LYR
colocada aps a camada em que os dados esto gravados, no lado
oposto em que incide o lazer. Dependendo, assim, do dado gravado,
a luz aplicada pelo laser pode ou no transpassar a regio em que o
ODVHU p DSOLFDGR UHHWLQGR DVVLP QD FDPDGD UHH[LYD H UHWRUQDQGR
em seguida para ser conduzida pelo espelho prismtico clula
fotossensvel.

Figura 12 - Estrutura de uma cabea tica de leitura e escrita

Do ponto de vista do mtodo de gravao, existem atualmente


no mercado trs tipos de mdias ticas. As mdias apenas para
leitura, tambm conhecidas como mdias ROM, as mdias gravveis,
conhecidas como mdias R, e as mdias regravveis, conhecidas
como mdias RW.
As mdias ROM tem o seu contedo gravado por processo de
prensagem no seu substrato durante a sua fabricao. A estrutura de
25

Infraestrutura de Hardware

uma mdia ROM com dupla face e dupla camada de gravao pode
ser vista na Figura 13, a seguir. Como voc pode observar, esta mdia
formada por vrias camadas de policarbonato, o qual moldado
internamente com a informao a ser gravada, por este motivo diz-se
que os dados gravados em uma mdia tica deste tipo no podem ser
afetados por arranhes ou riscos acidentais em sua superfcie, uma
vez que esto gravados no interior do disco.

Figura 13 - Estrutura de uma mdia ROM

Tanto as mdias R como as RW possuem uma estrutura interna


conforme podemos ver na Figura 14, a seguir. Nestes tipos de mdias
tanto o processo de leitura quanto o de gravao tico, sendo feito
D SDUWLU GD DSOLFDomR GH OX] OD]HU &RPR SRGHPRV YHU SHOD JXUD
estas mdias possuem 4 camadas. A primeira, que serve de suporte
s demais, um substrato de policarbonato. A segunda camada a
FDPDGDIRWRVVHQVtYHO$WHUFHLUDFDPDGDpDFDPDGDUHH[LYDHSRU
~OWLPRWHPRVPDLVXPDQDFDPDGDGHYHUQL]TXHVHUYHGHSURWHomR
jFDPDGDUHH[LYD
Nas mdias tipo R, a camada fotossensvel recebe uma aplicao
de algum corante fotossensvel, normalmente cianina ou ftalocianina.
Desta forma, ao receber uma aplicao da luz lazer de alta intensidade,
RTXHRFRUUHGXUDQWHRSURFHVVRGHJUDYDomRRFRUDQWHPRGLFDDVXD
cor, tornando-se opaco, permitindo assim a gravao da informao
na mdia. Durante o processo de leitura aplica-se uma luz lazer de
EDL[DLQWHQVLGDGHDTXDOQmRpVXFLHQWHSDUDVHQVLELOL]DURFRUDQWH
presente na camada fotossensvel.
Nas mdias RW, utiliza-se uma mistura de prata, ndio, antimnio
e telrio no lugar do corante da camada fotossensvel. Esta liga
tem a propriedade de mudar o seu estado de cristalino para amorfo
26

Infraestrutura de Hardware

quando exposto luz laser intensa, o que ocorre durante o processo


de gravao, e de retornar ao estado cristalino se exposto a luz laser
moderada, o que ocorre durante o processo de apagamento do disco.
O restante do processo de leitura e escrita semelhante aos demais
tipos de mdias ticas.

Figura 14 - Estrutura das mdias tipo R e RW

3RUPYDOHXPFRPHQWiULRDUHVSHLWRGDVGLIHUHQoDVH[LVWHQWHV
entre os CDs, DVDs e Blue Rays.
A princpio, todos funcionam da mesma forma, conforme j foi
descrito. A grande diferena est no comprimento de onda do lazer
utilizado e no tamanho da regio fsica utilizada para gravar um bit de
informao. A Figura 15, a seguir, demonstra estas diferenas.

Figura 15 - Diferenas entre CDs, DVDs e Blue Rays

27

Infraestrutura de Hardware

Fita Magntica
$V WDV 0DJQpWLFDV VmR D PDLV DQWLJD IRUPD GH DUPD]HQDPHQWR
de dados ainda em uso. Este meio de armazenamento foi inventado
no incio da dcada de 50 do sculo passado.
$VVLP FRP RV GLVFRV PDJQpWLFRV DV WDV PDJQpWLFDV  XWLOL]DP D
mudana da orientao magntica de algum tipo de material ferrimagntico como meio de gravar a informao na mdia suporte.
Apesar de toda evoluo dos outros meios de armazenamento, as
WDV 0DJQpWLFDV DLQGD DSUHVHQWDP LQ~PHUDV YDQWDJHQV WDLV FRPR
grande capacidade de armazenamento, baixo custo por unidade
DUPD]HQDGDORQJDH[SHFWDWLYDGHYLGDHDFRQDELOLGDGHQDUHWHQomR
dos dados ao longo de sua vida til. Por este motivo ainda so um
dos meios mais utilizados como meio de armazenamento removvel
6DLED0DLV
Conhea um
pouco da histria
dos pen-drivers
no link http://
pt.wikipedia.org/
ZLNL86%BDVKB
drive

para grandes volumes de informao e onde se necessita garantir


maior segurana aos dados armazenados.

Pen-Driver
Conhecido pelos nomes de Pen-Driver, USB Flash Driver, Flash
Driver, Thumb-driver entre outros nomes, este dispositivo faz parte
da nova gerao dos meios de armazenamento, construdos com o
uso de memria no voltil baseada em semicondutor3. A Figura 16, a
seguir, nos traz o formato de um pen-driver tpico, ainda que hoje em
dia no incomum ver pen-drivers com as mais variadas formas.
Desde o seu lanamento no ano de 2000 pela IBM, os pen-drivers
evoluram substancialmente, passando de 8MB para atuais 128 GB
de memria.
'HYLGR D VXD H[LELOLGDGH GH XVR DOWD FDSDFLGDGH GH
armazenamento e reduo de custo pelo qual tem passado, os pendrivers so a mdia removvel preferida pela maioria dos usurios de
computadores pessoais.

28

Infraestrutura de Hardware

Figura 16 - Pen-Driver tipico

Conforme podemos ver pela Figura 17, a seguir, a estrutura interna


de um pen-driver bastante simples, composta basicamente de um
controlador UBS e de um ou dois chips de memria FLASH4.

6DLED0DLV
Voc sabe
o que uma
memria
FLASH?
Conhea um
pouco mais
sobre este tipo
de memria
visitando a
pgina
4

http://
pt.wikipedia.org/
wiki/Mem%C3%
%ULDBDVK
Figura 17 - Estrutura interna de um pen-driver

Aprenda Praticando
Chegou a hora de voc por em prtica o que aprendeu neste
captulo. A seguir temos alguns exerccios que visam consolidar o
contedo que acabamos de apresentar.
1) Responda com suas prprias palavras:
D $TXHFRQFOXVmRDVWUrVDUPDo}HVDSUHVHQWDGDVQRLQtFLRGHVWH
captulo nos levam no tocante a quantidade e a velocidade de
acesso dos elementos de memria de um computador ideal?
b. Qual o objetivo da hierarquia de memria? Como ela funciona?
c. Que princpio norteou a organizao da hierarquia de memria?
2TXHGHQHRQtYHOTXHXPGHWHUPLQDGRHOHPHQWRLUiRFXSDU
na hierarquia?
d. O que memria primria e memria secundria? Como
SRGHPRV LGHQWLFDU IDFLOPHQWH VH XP GHWHUPLQDGR HOHPHQWR
de memria pertence a memria primria ou a memria
secundria? O que determina a qual destas classes um
determinado elemento de memria pertence?

29

Infraestrutura de Hardware

e. Como deveria estar organizada uma memria com 1024


bits considerando que a mesma dever ser conectada a um
processador que utiliza palavras de 64 bits?
f. Considere uma memria de acesso aleatrio. Qual o tempo
mdio necessrio para transferir 4096 bytes considerando
um tempo mdio de acesso de 10 ns e um tempo de ciclo de
memria de 12 ns, considerando ainda que os dados esto
agrupados em um nico pacote com 4096 bytes.
Resposta: T = 4096 * 8 * 12 ns = 393,22 Ps
g. Considere uma memria de acesso seqencial. Qual seria o
tempo mdio necessrio para transferir 4096 bytes considerando
um tempo mdio de acesso de 10 ns e um tempo de ciclo de
memria de 6 ns, considerando ainda que os dados estivessem
agrupados em pacotes no consecutivos de 256 bytes.
Resposta: Como queremos transferir 4096 bytes em pacotes de
256 bytes, teremos que efetuar 16 operaes de transferncia.
Desta forma temos:
T = 16 * (10ns + ( 256 * 8 * 6ns) ) = 196,77 Ps
h. Considere a mesma memria do quesito anterior. Qual
seria o tempo mdio necessrio para transferir 4096 bytes,
considerando que os dados estivessem agrupados em pacotes
no consecutivos de 16 bytes.
i. Considere agora um outro tipo de memria de acesso
seqencial, a qual tivesse um tempo de acesso de 15 ns e uma
taxa de transferncia de 200 MBits/Seg. Qual seria o tempo
de necessrio para transferir os mesmos 4096 bytes para esta
memria se o mesmo tivesse que ser transferido em pacotes
de 128 bytes?
j. Quais
as tcnicas mais empregadas para aumentar a
capacidade e a velocidade de acesso dos discos rgidos?
k. O que e para que serve o ECC?
l. Que diferenas voc pode destacar entre os discos RAID 0 e
RAID 1?
m. Qual o meio de gravao e leitura dos dados em um disco
tico?

30

Infraestrutura de Hardware

n. Qual a diferena entre a trilha de um disco tico e a trilha de um


disco magntico?
o. Por que a velocidade de rotao dos discos ticos varia durante
um processo de leitura ou gravao?
p. De um modo geral, como so gravados os dados nos discos
ticos tipo R e RW? Desconsidere as diferenas qumicas entre
os elementos foto sensveis utilizados em cada tipo de mdia.
q. Na sua opinio, a que classe de memria, primria ou
VHFXQGiULD SHUWHQFHP RV GLVFRV YLUWXDLV" -XVWLTXH D VXD
resposta.
2) Associe as informaes presentes na primeira coluna com as
caractersticas dos elementos de armazenamento presentes na
segunda coluna:
( ) Conexo direta ao barramento de memria

(1) Localizao

( ) Expressa em Bytes

(2) Desempenho

( ) Determina como a informao transferida


(Tamanho do pacote de dados)

(3) Capacidade
(4) Tecnologia de
semicondutor

( ) Posio N s pode ser acessada aps acessar


a posio N-1
( ) Mtodo de acesso utilizado nas memrias RAM

(5) Tecnologias tica e


magntica

( ) Permite que se associe um endereo diferente


a cada posio de memria

(6) Unidade de
Transferncia

( ) Pode ser calculado pelo tempo de acesso ou

(7) Acesso Randmico

pelo tempo de ciclo de memria ou pela taxa


de transferncia
( ) Pode ser utilizada para construir memrias
capacitivas ou baseadas em Flip-Flops
( ) Tecnologia normalmente empregada na
construo de elementos de memria

(8) Memrias volteis


(9) Organizao interna
(10) Acesso sequencial
(11) Endereamento
associativo

secundria
( ) Os dados devem ser mantidos a partir de
estmulos externos
( ) Palavras com 16, 32 ou 64 bits

31

Infraestrutura de Hardware

Conhea Mais
(P QRVVDV UHIHUrQFLDV ELEOLRJUiFDV YRFr SRGHUi HQFRQWUDU
inmeras informaes interessantes sobre os assuntos que acabamos
de estudar. Se desejar ter uma viso tanto da perspectiva histrica
quanto das possveis tecnologias que devero tem um grande impacto
nesta reas, leia tambm:
Histria das memrias de computador (em ingls) http://
inventors.about.com/od/rstartinventions/a/Ram.htm
Histria

dos

discos

rgidos

http://pt.wikipedia.org/wiki/

Disco_r%C3%ADgido#Hist.C3.B3ria_do_disco_r.C3.ADgido
Kingston lana primeiro pen-driver de 128G
guiadohardware.net/noticias/2009-06/4a37cec2.html

http://www.

Memristor - Tecnologia inovadora que dever revolucionar


a hierarquia de memria (em ingls) http://www.embedded.
com/210201673?cid=NL_embedded

$WLYLGDGHVH2ULHQWDo}HVGH(VWXGR
Como voc deve ter percebido, neste captulo o nosso assunto foi
muito mais terico do que prtico, o que vai exigir que voc dedique
XPSRXFRPDLVGHWHPSRSDUDUHYLVDURDVVXQWRDPGH[DUPHOKRU
o conhecimento aprendido.
Procure manter sempre um bom ritmo de estudo e voc no ter
GLFXOGDGHVFRPHVWDSDUWHGRDVVXQWR
Consulte sempre os tutores da disciplina, eles so as pessoas
mais indicadas para tirar as suas dvidas.

Vamos Revisar?
Neste captulo, voc conheceu a hierarquia de memria e
seus principais componentes. Viu que o sistema de memria dos
computadores atuais formado conjuntamente pela memria primria
32

Infraestrutura de Hardware

e pela memria secundria. E que a memria primria formada


pelos elementos de memria que esto conectados diretamente ao
barramento de memria do processador, ao passo que a memria
secundria formada pelos elementos de memria que esto
conectados ao processador indiretamente atravs do barramento de
entrada e sada.
Neste captulo, voc tambm pode perceber que o objetivo da
hierarquia de memria apresentar ao processador um sistema de
memria com uma velocidade de acesso prxima da memria cache
e com um espao de armazenamento to grande quanto o disponvel
nos elementos da memria secundria.
Voc aprendeu tambm que a memria primria formada pelo
conjunto de registradores, pela memria cache e pela memria
principal. E que a memria secundria, atualmente, formada pelo
GLVFR UtJLGR SHOD XQLGDGHV yWLFDV &' '9' H %OXH5D\  SHOD WD
magntica e pelos pen-drivers.
3RUPYRFrFRQKHFHXRVGHWDOKHVGHFRQVWUXomRHDWHFQRORJLD
empregada em cada um dos elementos de memria apresentados,
indo desde as memria baseadas em semicondutores, passando pela
memria de armazenamento em mdia magntica e concluindo com a
memria de armazenamento tico.

33

Infraestrutura de Hardware

Captulo 2

O que vamos estudar?


Neste captulo, vamos estudar os seguintes temas:
A memria cache e suas polticas de leitura e escrita de dados
Troca de dados entre as estruturas de memria dos
computadores
Mapeamento de dados entre as memrias principal e cache
Polticas de substituio de dados na memria cache

Metas
Aps o estudo deste captulo, esperamos que voc consiga:
Entender qual o objetivo da cache no subsistema de memria;
Compreender como acontecem os diversos tipos de
mapeamento de dados entre a memria principal e a memria
cache;
Conhecer as polticas de escrita e substituio de dados em
cache.

34

Infraestrutura de Hardware

Captulo 2 Memria Cache

Vamos conversar sobre o assunto?


Antes de comear a estudar a disciplina infraestrutura de hardware,
voc j tinha ouvido falar em memria cache? Possivelmente sim,
mas o que talvez voc no saiba o porqu de seu uso e as suas
principais funcionalidades. Isso o que veremos nesse captulo.
Vamos estudar a memria cache e como os dados so trocados
entre as memrias cache e principal. Para iniciarmos a nossa
conversa, podemos dizer que a cache uma memria menor e
mais rpida que a memria principal, estando localizada entre os
registradores e a memria principal de acordo com a hierarquia de
memria que estudamos no Captulo 1. Por estar entre a CPU e a
memria principal, normalmente, os dados so trocados da CPU com
a cache e desta com a memria principal. Devido ao seu tamanho ser
menor que a memria principal, a cache s contm cpia de pores
da memria principal. Podemos observar a localizao da cache no
esquema apresentado na Figura 1.

Figura 1 - Cache x Principal - Memria Cache: Elementos de memria intermedirio


entre o processador e a Memria Principal

Voc deve estar se perguntando qual o objetivo de se criar uma


memria menor que a principal, j que ela no poderia comportar todos
os dados da principal. A principal motivao para a criao da cache
foi acelerar a velocidade de transferncia das informaes entre CPU
e a memria principal, aumentando o desempenho dos sistemas.

35

Infraestrutura de Hardware

Pelo fato de ser menor, a memria cache armazena de instrues


e dados de acordo com algum algoritmo de substituio. Por
exemplo, pode-se utilizar um algoritmo que mantenha na cache
apenas as informaes mais frequentemente acessados do programa
em execuo. Esses algoritmos de substituio de dados sero
abordados nesse captulo em sees posteriores. O importante agora
pTXHYRFrHQWHQGDDORVRDGDFDFKHHRVHXSULQFtSLREiVLFRGH
funcionamento.

Acesso a Dados na Memria Cache


&RPRDFDFKHFDORFDOL]DGDHQWUHD&38HDPHPyULDSULQFLSDO
todo e qualquer informao acessada ser incialmente procurada
na cache. Somente no caso da informao no estar armazenada
na cache que a busca se dar na memria principal. Essa tcnica
naturalmente aumenta o desempenho dos sistemas computacionais,
uma vez que a cache menor que a principal. Sendo assim, procurar
dados em um espao menor tende a ser mais rpido que procurar
dados num espao maior.
4XDQGR XP GDGR QmR S{GH VHU HQFRQWUDGR QD FDFKH VLJQLFD
que aquela informao no est l, estando, portanto, apenas na
principal ou no disco. Como esses dois ltimos tipos de memria
HVWmRPDLVDEDL[RGDFDFKHQDSLUkPLGHGHKLHUDUTXLDVLJQLFDTXH
so mais lentas, embora maiores. Sendo assim, o fato da busca por
informaes se d inicialmente na cache reduz o nmero de acessos
principal e aos discos aumentando o desempenho dos sistemas
computacionais.
9DPRVREVHUYDUQD)LJXUDXPX[RJUDPDLQGLFDQGRFRPRRFRUUH
a leitura de dados na memria. No primeiro momento, a CPU solicita
a leitura de um determinado endereo em memria. Como falamos
36

Infraestrutura de Hardware

anteriormente, esse dado ou palavra ser buscada inicialmente na


FDFKH 3RU LVVR R X[RJUDPD DSUHVHQWD R ORVDQJR GD HVWUXWXUD GH
deciso onde feita a pergunta se aquela palavra procurada est na
cache. Caso positivo ( o losango aponta a sada Sim), o contedo
do endereo ser buscado e entregue CPU. Caso negativo ( o
losango aponta a sada No) a informao a ser buscada deve ser
acessada na memria principal. Porm, para trazer esses dados, a
informao deve passar da MP para a cache e desta para a CPU.
Assim, um espao (aqui chamaremos de slot) ser alocado na cache
para comportar a informao, e em seguida, o dado ser carregado
na cache para posteriormente seguir para a CPU.

Figura 2 - Operao de Leitura na Cache

A memria principal apresenta a uma organizao dividida em


blocos. Um bloco composto por um conjunto de palavras. Cada
palavra possui um endereo para que a mesma possa ser alcanada
e este endereo armazena um contedo, que pode ser dado ou
instruo. J para a memria cache, a organizao se d em
linhas, tambm denominadas slots e cada slot (linha) armazena um
conjunto de palavras. Voc deve estar pensando que coincidncia
37

Infraestrutura de Hardware

o fato de que tanto uma linha da cache quanto um bloco da memria


principal armazenarem um conjunto de palavras. Entretanto, no
coincidncia, e sim uma obrigatoriedade. Para que o subsistema de
PHPyULDIXQFLRQHHFLHQWHPHQWHRQ~PHURGHSDODYUDVGHXPEORFR
da memria principal deve ser igual ao nmero de palavras de uma
linha da cache. Voc pode observar na Figura 3 a diviso da memria
principal e da memria cache.

Figura 3 - Estrutura da MP e da Cache

Ao observar a Figura 3, notamos que a memria principal possui


2n palavras endereveis. Cada palavra tem um endereo de n bits.
([LVWHXPQ~PHUR[RGHEORFRVFRP.SDODYUDV$PHPyULDFDFKH
por sua vez, apresenta C slots ou linhas, e cada um possui K palavras.
Note que o nmero de palavras de uma linha da cache igual ao
nmero de palavras de um bloco da memria principal. Para que
HVVHHVTXHPDIXQFLRQHFRPHFLrQFLDRQ~PHURGHOLQKDVGDFDFKH
deve ser bem menor que o de blocos da memria principal, j que a
memria principal deve ser bem maior que a cache. Lembre-se que a
a memria cache s pode ter parte dos dados da memria principal.
Sendo assim, se nem todos os dados da memria principal esto
na cache e se inicialmente os dados so procurados na cache (vide
)LJXUD FRPRRSURFHVVDGRUSRGHUiLGHQWLFDUVHRGDGRSURFXUDGR
est na cache?
importante salientar que o processador armazena em seus
registradores, o endereo de uma palavra da memria principal e no
da memria cache. Entretanto, o dado s procurado na memria
principal aps no ser encontrado na cache. Mas se o dado est na
38

Infraestrutura de Hardware

cache, como acess-lo de forma rpida, uma vez que s se conhece


o seu endereo da memria principal?
A soluo para esse problema o que chamamos de mapeamento
de memria. Voc j ouviu falar disso? Essa tcnica existe para
possibilitar a descoberta da localizao de um bloco da memria
principal entre as linhas da cache. Isso necessrio j que o nmero
de linhas da cache bem menor que o nmero de blocos da MP.
Dessa forma, no existe uma linha da cache dedicada para cada
bloco da MP. Caso isso acontecesse, o nmero de linhas da cache
deveria ser igual ao nmero de blocos da MP e isso iria de encontro
ao princpio bsico que vimos no captulo 1 , que pela hierarquia de
PHPyULDDFDFKHFDDFLPDGD03QDSLUkPLGHGHKLHUDUTXLDVHQGR
mais rpida e menor que a MP.
Agora que voc j sabe o porqu da necessidade do mapeamento,
vamos estudar trs maneiras diferentes para se mapear de dados
entre a MP e a cache. So eles: mapeamento direto, mapeamento
associativo e mapeamento associativo por conjunto.

Mapeamento de Memria
A primeira tcnica que vamos estudar a mais simples e
denominada Mapeamento Direto. Atravs dele, cada bloco da memria
SULQFLSDOpPDSHDGRHPXPDOLQKDHVSHFtFDGDFDFKH
O nosso problema inicial localizar uma determinada palavra na
cache, conhecendo apenas o seu endereo na MP. Lembre-se que
a troca de dados entre os registradores e a memria cache feito
palavra a palavra, enquanto que a troca de dados entre a MP e a cache
feito por bloco (conjunto de palavras). Sabendo qual o endereo
da MP que contm a palavra procurada, possvel saber qual bloco
da MP a contm. Conhecendo-se o bloco na MP, pode-se utilizar as
tcnicas de mapeamento direto para se calcular qual a linha da cache
armazena aquele bloco e consequentemente, a palavra procurada.
3DUD VH FDOFXODU TXDO p D OLQKD HVSHFtFD GD FDFKH TXH XP
determinado bloco da MP se encontra, o subsistema de memria
utiliza uma equao matemtica, quando o mapeamento direto:

39

Infraestrutura de Hardware

i = j modulo m onde
i = linha da cache onde o bloco est armazenado
j = nmero do bloco da memria principal
m = nmero total de linhas na cache

Apenas para relembrar, a operao aritmtica mdulo retorna o


resto da diviso inteira de j por m. Perceba que j o nmero do bloco
da memria principal que se deseja encontrar. Como ele est numa
determinada linha na cache, precisa-se encontrar que linha essa, no
nosso caso, representado pela equao por i. A varivel m refere-se
ao total de linhas da cache.
3DUDFDUPDLVIiFLOGHFRPSUHHQGHUYDPRVREVHUYDURH[HPSOR
apresentado na Figura 4. Deseja-se descobrir onde est localizado
na cache o bloco da MP de nmero 12. Sabe-se que a memria cache
utiliza o mapeamento direto e que possui 8 linhas ao total.

Figura 4 - Mapeamento Direto

Aplicando-se a equao i = 12 modulo 8 , encontramos 4 como


UHVXOWDGRVLJQLFDQGRTXHREORFRFDVRHVWHMDQDFDFKHGHYHUi
estar ocupando a linha 4, j que o mapeamento direto obriga que
XPGHWHUPLQDGREORFRGD03RFXSHXPDOLQKDHVSHFtFDQDFDFKH
Vamos pensar agora que desejamos descobrir onde o bloco de nmero
20 da MP encontra-se na cache. Aplicamos novamente a equao
i = 20 modulo 8 e novamente encontramos 4 como resultado. Assim, o
bloco 20 da MP tambm ocupar a linha 4 caso ele esteja na cache.
40

Infraestrutura de Hardware

Nesse momento, voc deve estar se perguntando, como os 2


blocos podem ocupar a mesma linha na cache. Eles podem sim, desde
que em momentos diferentes. Nunca podero estar os dois blocos
ao mesmo tempo, j que a quantidade de palavras de um bloco
equivalente a quantidade de palavras comportadas por uma linha da
cache. Ns consideramos o mapeamento como direto, porque sempre
que o bloco 12 estiver na cache nessa organizao de memria, o
mesmo estar na linha 4. O mesmo dizemos do bloco 20 e tambm
GR,VVRFRPSURYDDQRVVDDUPDomRLQLFLDOTXHFDGDEORFRGD
PHPyULDSULQFLSDOpPDSHDGRHPXPDOLQKDHVSHFtFDGDFDFKH
Neste momento, voc deve estar com um novo questionamento:
como o subsistema de memria saber se num momento, o
bloco 12, bloco 20 ou 28 que est na linha 4 da cache?
Para isso, o esquema de mapeamento direto faz uso de uma outra
informao, que denominada TAG e est contida no registrador de
endereo (MAR).
A TAG para o mapeamento direto calculada pela seguinte
equao:
TAG = j div m onde
TAG = nmero do bloco armazenado naquela linha
j = nmero do bloco da memria principal
m = nmero total de linhas na cache

Voc consegue perceber qual a diferena de uma equao para


a outra? A primeira utiliza a operao mdulo que representa o resto
da diviso inteira. A segunda utiliza a operao div que representa o
quociente da diviso. Assim, a TAG ser obtida atravs da obteno
do quociente entre o nmero do bloco da MP e o nmero total de
linhas da cache.
Pensando no exemplo da Figura 4, para o bloco de nmero 12,
seria calculada a TAG = 1, enquanto para o bloco de nmero 20,
seria calculada a TAG = 2. A TAG = 3 equivaleria ao bloco de nmero
28. Quando se escreve esses nmeros em binrio, se obtm a
UHSUHVHQWDomRQDFROXQDQD7$*GDOLQKD(VVD7$*pRTXHGHQH
TXHQRPRPHQWRHVSHFtFRTXHPHVWiQDOLQKDGDFDFKHpREORFR
12 e no o bloco 20.
'HVVDIRUPDSRGHUHPRVGHQLU7$*FRPRXPFDPSRSDUDLQGLFDU
41

Infraestrutura de Hardware

que bloco em particular da memria principal est sendo armazenado


naquela linha da cache. Ele sempre ser necessrio, pois uma linha
da cache no pode ser dedicada a um nico bloco, j que o nmero
de linhas da cache bem inferior ao de blocos da MP.
Vamos agora resolver um exerccio que consolidar esses conceitos
que estudamos sobre mapeamento direto. Vamos considerar uma
cache que trabalha com mapeamento direto e possui tamanho total
de 64 Kbytes. A memria principal, por sua vez, tem capacidade total
16Mbytes e os seus endereos possuem 24 bits. O tamanho do bloco
da memria principal 4bytes. Descubra ento qual o formato do
endereo da memria principal.
Para resolver esse exerccio o que voc precisa saber da teoria?
Em primeiro lugar, voc deve lembrar que o MAR um registrador
(memria interna CPU) que armazena endereos de palavras da
memria principal. Em segundo lugar, voc precisa lembrar que o
mapeamento direto transfere um dado bloco da memria principal
SDUD XPD OLQKD HVSHFtFD GD FDFKH 7DPEpP p LPSRUWDQWH OHPEUDU
que o tamanho do bloco da MP o mesmo da linha da cache, ou seja,
em outras palavras, o nmero de bytes que cabem no bloco da MP
o mesmo comportado por uma linha da cache.
Acrescentaremos ainda uma informao adicional com relao
a diviso de campos do MAR para o mapeamento direto: O MAR
precisar conter um conjunto de bits para representar a linha da
cache ocupada pela palavra procurada; um outro conjunto de bits
SDUDUHSUHVHQWDUD7$* FLWDGRSUHYLDPHQWHXWLOL]DGRSDUDLGHQWLFDU
TXDOpREORFRTXHRFXSDDTXHODOLQKDQDTXHOHPRPHQWR HSRUP
um ltimo conjunto de bits para representar a prpria palavra, dentro
da linha, uma vez que uma linha da cache comporta um conjunto
de palavras. Em sntese, o MAR, para o mapeamento direto, est
subdividido em trs agrupamentos de bits, como podemos observar
na Figura 5.

Figura 5 - MAR para o mapeamento Direto

Voltando ao nosso exemplo original, j estamos cientes da base


terica para resolver o exerccio. Dessa forma, precisamos descobrir

42

Infraestrutura de Hardware

a quantidade de bits de cada um desses grupos (tag, linha e palavra)


e a quantidade total dos bits do MAR. Essa ltima informao, foi nos
passada no exemplo: observe a frase A memria principal, por sua
vez tem capacidade total 16Mbytes e os seus endereos possuem
 ELWV ,VVR VLJQLFD TXH R 0$5 SRVVXL  ELWV DJUXSDGRV HP
trs campos. Precisamos ento descobrir a quantidade de linhas
disponveis na memria cache. Como faremos isso? J sabemos o
tamanho total da cache e tambm sabemos quantos bits cada linha
comporta (lembre-se que uma linha tem a mesma capacidade de
um bloco da MP). Dividindo-se o tamanho total da cache (64 kbytes)
pela quantidade de bytes de 1 linha (4 bytes) chegamos a 64Kbytes/4
bytes = 16 K linhas.
Note que so 64 Kbytes e no 64 bytes. Por isso, voc no poder
eliminar o K, pois ele representa a ordem de grandeza 1000.
(QWUHWDQWRGHYHPRVXWLOL]DUDQRWDomRHPELQiULRRTXHVLJQLFDTXH
1K = 1024 = 210.
Ao colocarmos 16K em potncia de 2, obtemos 16 K = 24 . 210 =
214,VVRVLJQLFDTXHWHPRV14 linhas possveis na cache. Um bloco
da MP pode ocupar alguma dessas linhas e para represent-las sero
necessrios 14 bits. Em outras palavras, voc dever observar o
expoente da potncia de 2 da quantidade de linhas. No nosso caso, j
descobrimos que o campo slot/linha dever ter 14 bits.
Vamos agora tentar descobrir quantas TAGs existem e
consequentemente, quantos bits so necessrios para representlas. A TAG ir indicar qual bloco est naquela linha num dado
momento. Para isso, deveremos dividir o nmero de blocos da MP
pelo nmero de linhas da cache. Essa ltima informao, acabamos
de descobrir (214). O nmero de blocos, ainda no temos, pois nos foi
dado o tamanho da MP e a capacidade de um bloco. Ora, mas essas
GXDVLQIRUPDo}HVMiVmRVXFLHQWHVSDUDDGHVFREHUWDGRQ~PHURGH
blocos. Basta dividirmos a capacidade toral da MP pela capacidade
de 1 bloco, ento teremos a quantidade de blocos.
Assim teremos 16Mbytes/4bytes = 4M. Entretanto, 1M equivale a
1K x 1K, ou seja 210 x 210 = 220. Assim, para esse caso, teremos 4M
= 4 x 220 blocos.
Mas a nossa busca pelo nmero de bloco objetivou descobrimos
o nmero de TAGs. Para descobrir o nmero de TAGs vamos dividir
o nmero de blocos pelo nmero de linhas. Assim temos o seguinte
43

Infraestrutura de Hardware

clculo:
nmero de TAGs = 4 x 220 blocos/214 linhas
nmero de TAGs = 22 x 220 blocos/214 linhas
nmero de TAGs = 222 blocos/214 linhas
nmero de TAGs = 22 x 220 blocos/214 linhas
nmero de TAGs = 28 TAGs

8PEORFRGD03GHYHUiWHUXPD7$*SDUDLGHQWLFDORQDFDFKH
e para representar essa TAG sero necessrios 8 bits. Em outras
palavras, voc dever observar o expoente da potncia de 2 da
quantidade de TAGs. No nosso caso, j descobrimos que o campo
TAG dever ter 6 bits.
Com isso poderemos descobrir o nmero de bits para representar
a palavra, calculando o que falta para completar os 24 bits do MAR.
Temos 14 para representar a linha e 8 para TAG, totalizando 22 bits.
Como o MAR possui 24 bits, conclumos que os 2 bits restantes
representam a palavra. O formato do MAR para a cache do exemplo,
utilizando mapeamento direto ilustrado na Figura 6.

Figura 6 - Formato do MAR

'HDFRUGRFRPRH[HPSORHVWXGDGRYHULFDPRVTXHTXDQGRXPD
palavra precisa ser procurada na memria, o subsistema de memria
faz a leitura do endereo no barramento de endereos (conforme
estudado no volume 2). Esse endereo est armazenado no MAR,
registrador de endereo da CPU. Para interpretar a informao do
MAR e fazer inicialmente a busca pela palavra na memria cache,
caso o MAR contenha a informao :000000010000000000111011,
o subsistema de memria interpretar esse endereo da seguinte
maneira:

44

Infraestrutura de Hardware

- Os 8 primeiros bits (00000001) indicam a TAG de nmero 0


- Os 14 bits seguintes (00000000001110) indicam a linha de nmero 14
- Os 2 ltimos bits (11) indicam a palavra de nmero 3.
$VVLPDLQIRUPDomRDVHUEXVFDGDpDSDODYUDGDOLQKDHLGHQWLFDGR
pela TAG 0.

Essa interpretao se d devido ao tipo do mapeamento. Caso


seja utilizado um outro tipo de mapeamento, a interpretao do MAR
ser diferente. O mapeamento direto foi o primeiro tipo estudado,
mas estudaremos a seguir mais dois tipos de mapementos.
Para concluirmos o estudo deste primeiro tipo de mapeamento,
vamos observar quais os pontos positivos e os pontos negativos.
O mapeamento direto apresenta um custo em termos de hardware
menor (circuitos mais simples e menos custoso), uma tcnica rpida,
ganhando assim em velocidade na hora da busca por informaes na
cache, uma vez que os dados so procurados diretamente em uma
OLQKDHVSHFtFDVHPSUHFLVDUYDUUHUDFDFKHFRPSOHWD
Em se tratando dos pontos negativos, poder se ter um mau
aproveitamento do tamanho da cache, a depender dos endereos
EXVFDGRV 3DUD FDU PDLV FODUR GH SHUFHEHU LVVR LPDJLQH QDTXHOH
nosso exemplo anterior, se o bloco 12 fosse alocado para cache
inicialmente. Ele iria para a linha 4, como vimos. Se imediatamente
depois fosse acessado o bloco 20 e o mesmo no tivesse na cache,
ele seria buscado na principal e trazido para a cache. O bloco 20
tambm seria alocado na linha 4, mesmo que a cache estivesse com
outras linhas vazias. Isso comprova o mau aproveitamento da mesma.
Alm disso, o subsistema de memria reserva um espao na cache
para o controle de informaes. Observe na Figura 7, uma sntese
dos pontos positivos e negativos do mapeamento direto.

Figura 7 - Mapeamento Direto

A segunda tcnica de mapeamento de memria que vamos estudar


denominada Mapeamento Associativo. Atravs dele, cada bloco da
45

Infraestrutura de Hardware

memria principal pode ser mapeado em qualquer linha da cache.


O nosso problema inicial localizar uma determinada palavra na
cache, conhecendo apenas o seu endereo na MP. Lembre-se que
a troca de dados entre os registradores e a memria cache feito
palavra a palavra, enquanto que a troca de dados entre a MP e a cache
feito por bloco (conjunto de palavras). Sabendo qual o endereo
da MP que contm a palavra procurada, possvel saber qual bloco
da MP a contm. Conhecendo-se o bloco na MP, pode-se utilizar as
tcnicas de mapeamento direto para se calcular qual a linha da cache
armazena aquele bloco e consequentemente, a palavra procurada.
Para o mapeamento associativo, a lgica de controle da cache
interpreta um endereo de memria simplesmente como um tag
e uma palavra, conforme possvel observar na Figura 8. Como a
linha a ser ocupada por um determinado bloco aleatria, no h
necessidade de um conjunto de bits no registrador de endereo (MAR)
para represent-la.

Figura 8 - Mapeamento Associativo

Voc deve estar se perguntando como o subsistema de memria


descobre que um determinado bloco est numa linha. Normalmente,
D7$*pRLGHQWLFDGRUTXHLQGLFDTXDOEORFRHVWiQDTXHODOLQKD1R
mapeamento associativo isso tambm verdade porm a TAG ir
conter o nmero do bloco escrito na base binria. Observe na Figura 9,
o mesmo exemplo da Figura 4 quando o mapeamento o associativo.
O bloco 12 teria como TAG, a sequncia 01100.

46

Infraestrutura de Hardware

Figura 9 - Mapeamento Associativo

Na Figura 9, optamos por alocar o bloco 12 da MP na linha 2 da


cache. Essa escolha foi aleatria. Poderamos ter escolhido, por
exemplo, a linha 7, 5 ou 0, j que o mapeamento associativo.
Vamos agora resolver um exerccio que consolidar esses
conceitos que estudamos sobre mapeamento associativo. Como
FDULDDGLYLVmRGHELWVGRUHJLVWUDGRUGHHQGHUHoR 0$5 SDUDXPD
cache associativa com 64 linhas (slots). Considere que o MAR possui
24 bits e que cada bloco da MP possui 64 palavras.
Aqui novamente recorreremos a teoria para resolver. Novamente,
voc deve lembrar que o MAR um registrador (memria interna
CPU) que armazena endereos de palavras da memria principal. Em
segundo lugar, voc precisa lembrar que o mapeamento associativo
transfere um dado bloco da memria principal para qualquer linha da
cache. Tambm importante lembrar que o tamanho do bloco da MP
o mesmo da linha da cache, ou seja, em outras palavras, o nmero
de bytes que cabem no bloco da MP o mesmo comportado por uma
OLQKDGDFDFKH3RUPOHPEUHVHTXHDGLYLVmRGHELWVGR0$5SDUD
o mapeamento associativo ser em dois agrupamentos de bits. A TAG
e a palavra.
Com relao aos dados do exemplo, o nmero de linhas da
cache ser irrelevante, j que esse dado no aparece no MAR. J
sabemos que o nmero total de bits do MAR 24. Como cada bloco
47

Infraestrutura de Hardware

da MP e consequentemente cada linha da cache possui 64 palavras,


precisaremos de 6 bits para representar a palavra. Como chegamos
nos 6 bits? Vamos escrever 64 palavras/bloco em potncia de 2.
64 = 26 palavras em cada bloco ou em cada linha

Dessa forma, precisamos de 6 bits para representar as palavras


de uma linha, restando 18 bits do MAR para armazenar informaes
de TAG, conforme observamos na Figura10.

Figura 10 - Exemplo do MAR no Mapeamento Associativo

9DPRVDJRUDLQWHUSUHWDUDPHVPDLQIRUPDomRGR0$5TXH]HPRV
no mapeamento associativo. Caso o MAR contenha a informao:
000000010000000000111011, o subsistema de memria interpretar
esse endereo da seguinte maneira:
- Os 18 primeiros bits (000000010000000000) indicam a TAG de nmero 1024
- Os 6 bits seguintes (111011) indicam a palavra de nmero 59
Assim a informao a ser buscada a palavra 59 do bloco 1024.

Vamos agora observar quais os pontos positivos e os pontos


negativos deste tipo de mapeamento. O mapeamento associativo
apresenta um custo adicional no momento em que se vai procurar
uma informao na cache pois precisar comparar a TAG de cada
linha com o nmero do bloco para tentar localiz-lo, j que o bloco
procurado pode estar em qualquer linha. Isso poderia ser citado como
um ponto negativo. Por outro lado, o que era um ponto negativo no
mapeamento direto passa a ser um ponto positivo no associativo, pois
a memria cache tende a ser melhor aproveitada. Como o bloco da
MP pode ser alocado em qualquer linha da cache, o subsistema de
memria ir procurar uma linha livre na cache para alocar um bloco
da MP, no momento em que este for trazido para a cache.
J quando a cache estiver lotada, uma linha precisar ser escolhida
para alocar um novo bloco. Essa escolha feita de acordo com algum
48

Infraestrutura de Hardware

algoritmo de substituio de linhas na cache que veremos mais a


diante. A depender do algoritmo escolhido, essa substituio poder
trazer benefcios ou no ao desempenho. Observe na Figura 11, uma
sntese dos pontos positivos e negativos do mapeamento associativo.

Figura 11 - Mapeamento Associativo

A terceira e ltima tcnica de mapeamento de memria que


estudaremos aqui conhecida por Mapeamento Associativo por
Conjunto. Atravs dele, a memria cache est subdividida em
conjuntos cada bloco da memria principal pode ser mapeado em
qualquer linha da cache.

Aprenda Praticando
Agora a hora de voc treinar o que foi apresentado no captulo 2,
por meio de exerccios. Sero apresentados 3 exerccios resolvidos,
referentes aos trs tipos de mapeamentos e em seguida, teremos
os exerccios propostos. Inicialmente, tente resolver os exerccios
UHVROYLGRVVHPROKDUDVVXDVUHVSRVWDV$SyVDUHVROXomRFRQUPH
VXD UHVSRVWD FRP DTXHOD DSUHVHQWDGD QHVVD VHomR 3RU P WHQWH
resolver os exerccios propostos. No esquea de resolver tambm
aqueles que forem solicitados pelo seu professor formador como
atividade somativa.

([HUFtFLRV5HVROYLGRV
([HUFtFLR
&RPR FDULD D GLYLVmR GH ELWV GRUHJLVWUDGRUGH HQGHUHoR 0$5 
para uma cache que utiliza mapeamento direto com 1024 linhas
(slots). Considere que o MAR possui 32 bits e que cada bloco da MP
possui 4 palavras.
49

Infraestrutura de Hardware

Resoluo: Como o mapeamento direto, o MAR precisar


conter um conjunto de bits para representar a linha da cache ocupada
pela palavra procurada; um outro conjunto de bits para representar a
7$*HSRUPXP~OWLPRFRQMXQWRGHELWVSDUDUHSUHVHQWDUDSUySULD
palavra, dentro da linha, uma vez que uma linha da cache comporta
um conjunto de palavras.
Nos foi informado que o MAR possui 32 bits ao total. Vamos ento
calcular quantos desses 32 bits so necessrios para representar as
1024 linhas da cache. Colocando 1024 como potncia de 2, temos
210 . Pegamos ento o expoente da potncia de 2 para representar
o nmero de bits do MAR utilizados para enderear as linhas da
FDFKHRXVHMD(PVHJXLGDYDPRVYHULFDUTXDQWRVELWVXVDUHPRV
para representar as TAGs ou o nmero de bits para representar as
palavras. Note que de posse de uma das duas informaes, voc
automaticamente descobrir a outra, uma vez que j conhece o
nmero de bits total do MAR e das linhas.
6HQGRDVVLPYHUHPRVQRHQXQFLDGRGRH[HPSORRTXHFDUiPDLV
fcil para ns. Foi dito que cada bloco da MP possui 4 palavras.
Dessa forma, colocando 4 em potncia de 2, teremos 22 palavras.
Pegando o expoente teremos 2 bits para representar as palavras.
Com essa informao conclumos a questo, pois o MAR possui 32
bits, dos quais 10 representam a linha, 2 bits representam a palavra
HRVELWVUHVWDQWHVUHSUHVHQWDPD7$*$UHSUHVHQWDomRJUiFDGR
MAR pode ser observada na Figura 12.

Figura 12 - Resoluo do Exerccio 1

50

Infraestrutura de Hardware

([HUFtFLR
&RPR FDULD D GLYLVmR GH ELWVGR UHJLVWUDGRU GHHQGHUHoR 0$5 
para uma cache associativa com 512 linhas (slots). Considere que o
MAR possui 64 bits e que cada linha da cache possui 32 palavras.
Resoluo: Para o mapeamento associativo, temos que o MAR
est dividido em 2 conjuntos de bits: um para representar a TAG e outro
para representar a palavra, j que no ser necessrio representar
a linha, uma vez que no mapeamento associativo um bloco da MP
qualquer ocupa aleatoriamente as linhas da cache.
O MAR possui 64 bits ao total. Se descobrirmos quantos bits sero
utilizados para representar a TAG, subtrairemos dos 64 totais, obtendo,
ento o nmero de bits para representar a palavra. Se descobrimos
primeiro o nmero de bits para representar a palavra, chegamos ao
nmero de bits para TAG.
9HULFDPRVSHORHQXQFLDGRTXHcada linha da cache possui 32
palavras. Colocando 32 em potncia de 2, temos 25 palavras. Assim,
pegando o expoente da potncia de 2, temos 5 bits para representar as
palavras. Dos 64 bits do MAR, 5 so utilizados para a representao
da palavra, sobrando 59 bits para as TAGs. Observe a representao
do MAR na Figura 13.

Figura 13 - Resoluo do Exerccio 2

/LVWDGH([HUFtFLRV3URSRVWRV
  &RPR FDULD D GLYLVmR GH ELWV GH HQGHUHoR SDUD XPD FDFKH
mapeada diretamente com 2048 linhas que trabalhe com blocos
de 8 palavras de 32 bits?
2) A memria cache possui 64 linhas (slots).A palavra contm 24
ELWV8P EORFR SRVVXL  SDODYUDV &RPR FDULD D GLYLVmR GH
bits de endereo para esta cache considerando mapeamento
direto?
3) Memria cache possui 512 linhas (slots). Cada slot possui
 SDODYUDV H FDGD SDODYUD SRVVXL  ELWV &RPR FDULD D
diviso de bits de endereo para esta cache, quando mapeada
51

Infraestrutura de Hardware

diretamente?
4) Considere o mapeamento associativo e uma memria cache
com 512 slots. Cada slot possui 32 palavras e cada palavra
SRVVXLELWV&RPRFDULDDGLYLVmRGHELWVGHHQGHUHoRSDUD
esta cache?

$WLYLGDGHVH2ULHQWDo}HVGH(VWXGR
Dedique, pelo menos, 6 horas de estudo para o Captulo 2.
Organize uma metodologia de estudo que inicie com a leitura dos
conceitos e acompanhamento dos exerccios resolvidos.
Voc poder esclarecer suas dvidas com o professor e os tutores
utilizando os chats e os fruns tira-dvidas no ambiente virtual de seu
curso.
No esquea de ler atentamente o guia de estudo da disciplina,
pois nele voc encontrar a diviso de contedo semanal, ajudando-o
a dividir e administrar o seu tempo de estudo.
Observe os prazos estabelecidos pelo seu professor para essa
atividades virtuais. Lembre-se que as atividades somativas propostas
pelo professor no ambiente virtual so importantes para o aprendizado
e para a composio da sua nota.

52

Infraestrutura de Hardware

Referncias
STALLINGS, William.
Computadores. 5. ed

Arquitetura

Organizao

de

PATTERSON, D. A. e Hennessy, John L. Organizao e


Projeto de Computadores. LTC, 2000.
TANENBAUM, Andrew S. 2UJDQL]DomR (VWUXWXUDGD GH
Computadores. 4. ed. Traduo Helio Sobrinho. Rio de Janeiro:
Prentice-Hall, 2001.

53

Infraestrutura de Hardware

Conhea os Autores
Juliana Regueira Basto Diniz possui graduao em engenharia
eletrnica pela Universidade Federal de Pernambuco, mestrado e
doutorado em Cincia da Computao pela Universidade Federal de
Pernambuco. Atualmente professora da Universidade Federal Rural
de Pernambuco (UFRPE), desenvolvendo trabalhos no grupo de
Educao a Distncia desta universidade. Seus temas de interesse
em pesquisa so: Sistemas Distribudos, Computao Ubqua e
Ensino a Distncia.
Abner Corra Barros mestre em Cincia da Computao com
foco em Engenharia de Hardware pelo Centro de Informtica da
Universidade Federal de Pernambuco. Possui graduao em Cincia
da Computao pela mesma universidade. Atualmente professor
da disciplina de Organizao e Arquitetura de Computadores da
Faculdade Maurcio de Nassau e Engenheiro de Hardware da
Fundao de Apoio ao Desenvolvimento da UFPE (FADE), atuando
em um projeto de convnio entre o Centro de Informtica da UFPE
e a Petrobrs. Suas reas de interesse e pesquisa so: Hardware
5HFRQJXUiYHO $UTXLWHWXUD GH &RUHV $ULWPpWLFDV H &RPSXWDomR GH
Alto Desempenho em Field-Programmable Gate Array (FPGA).

54

Anda mungkin juga menyukai