You are on page 1of 9

Funcionamento da Memria Cache

Nos micros atuais a memria cache possui uma importncia fundamental,


armazenando os dados mais requisitados pelo processador, e evitando na grande
maioria das vezes que seja necessrio buscar ou escrever dados diretamente na lenta
memria Ram.
Apesar de todos os processadores apartir do !" possu#rem uma pequena quantidade
de cache incorporado ao prprio n$cleo do processador, chamado de cache primrio ou
%&, ele ' muito pequeno (justamente pelas memrias usadas no cache %& serem
e)tremamente caras*, e por isso, usamos tamb'm uma quantidade um pouco mais
generosa de tipos um pouco mais baratos de memria cache na placa m+e. ,ste cache
' chamado de cache secundrio, ou %-.
. circuitos que controlam o cache primrio, s+o incorporados ao prprio n$cleo do
processador, enquanto os circuitos que controlam o funcionamento do cache %- s+o
localizados no chipset, que por sua vez fica localizado na placa m+e. .s processadores
/entium 00, 1eleron e 2eon s+o a e)ce3+o a esta regra, pois neles o cache %- e seus
circuitos controladores fazem parte do prprio cartucho do processador.
. cache %& e o cacha %- trabalham conjuntamente, formando uma esp'cie de escada
de tr4s degraus para os dados.
0nicialmente, o programa ' carregado na memria Ram. 1onforme o processador for
requisitando dados referentes ao programa aberto, estes dados v+o sendo
armazenados no cache %-, sendo os dados mais requisitados armazenados no cache
%&. No livro 5uia de 6ard7are 1ompleto, eu uso como e)emplo um secretrio de uma
companhia de seguros8 0magine que o servi3o deste secretrio seja atender &9.999
clientes da seguradora que ligam esporadicamente. 1ada cliente possui uma ficha
(imaginemos que seja uma companhia pobre que n+o tenha dinheiro para comprar
computadores, ehehe :;* sendo que todas as &9.999 fichas est+o organizadas num
grande arquivo do outro lado da sala. <uando um cliente liga, o secretrio (que tal se
o chamssemos de =o+o> :;* precisa se levantar e procurar a ficha do cliente no
arquivo, antes que possa atende;lo, fazendo com que o cliente precise esperar um
tempo razovel.
1om o passar do tempo, =o+o percebe que dos &9.999 clientes, ?9 ligam com mais
freq@4ncia. 1omo ele n+o ' nada bobo, ele coloca um pequeno fichrio sobre a mesa, e
nele guarda as fichas destes ?9 clientes que s+o responsveis pela maioria dos
chamados. <uando um destes clientes ligar, =o+o poder localizar sua ficha em muito
menos tempo, j que elas j estar+o sobre sua mesa. ,nquanto estiver atendendo o
cliente, ele manter sua ficha A m+o, para que possa atender imediatamente a
qualquer solicita3+o.
. grande arquivo ilustra a memria Ram, onde todos os programas abertos s+o
carregados, o pequeno fichrio sobre a mesa ilustra o cache %-, que armazena os
dados usados com mais freq@4ncia pelo processador, enquanto a ficha que ' mantida A
m+o enquanto o cliente ' atendido, ilustra o cache %&, que ' brutalmente mais rpido
do que a memria Ram e mesmo do que o cache %-, apesar do seu tamanho reduzido
n+o permitir a armazenagem de muitos dados, assim como n+o ' poss#vel (pelo menos
no e)emplo* manter mais do que uma ficha A m+o ao mesmo tempo.

Cache L1 e o Limite de Cacheamento
Na maioria dos processadores atuais, entre eles o /entium 00, o B" e o ")!" da 1Cri),
o cache %& ' subdividido em duas sessDes, do mesmo tamanho. Num ")!" E2 que
possui " BF de cache %& por e)emplo, temos duas sessDes de G- Hb cada uma. Im
se3+o se destina a armazenar dados usados pelo programa, enquanto a outra se
destina a armazenar instru3Des

/ara ilustrar este procedimento, vou escrever um pequeno programa em
pseudocdigo, que escreve os n$meros pares entre 9 e &998
)8 inteiro
0nicio
)J9
enquanto ()K&99* fa3a8
)J)L-
,screva )
Mim enquanto
Mim
Neste programa, o ) ' uma varivel, que ir armazenar um numero (dados* enquanto
a fun3+o NenquantoN, ' uma instru3+o. 1aso este pequeno programa fosse compilado
usando;se alguma linguagem de programa3+o, e fosse e)ecutado, a instru3+o
NenquantoN seria armazenada em uma se3+o do cache %&, enquanto o valor de ), que
representa os dados seria gravada na outra se3+o do cache. ,m programas maiores
vale o mesmo princ#pio, apenas em escala maior. ,sta divis+o do cache %& aumenta
sua efici4ncia.
Ima coisa interessante sobre o funcionamento do cache, ' que os controladores da
memria Ram e do cache s+o separados. Alguns chipsets mais antigos, como o
iG9M2, o iG9O2, e o iG9P2 possuem um problema quanto ao cacheamento da
memria Ram, pois apesar de possu#rem controladores de memria capazes de
acessar &-! EF de Ram (no caso do iG9M2 e do iG9O2* ou -?" EF (no caso do
iG9P2* possuem controladores de memria cache capazes de acessar apenas " EF
de memria. Eesmo usando os &-! ou -?" EF de memria suportados pelo
controlador da memria Ram, apenas os primeiros " EF seriam cacheados. quando o
processador precisasse ler ou escrever algum dado em algum endere3o de memria
acima de " EF, n+o poderia contar com a ajuda do cache %&, perdendo tempo devido
A bai)#ssima velocidade das memrias.
/ara piorar as coisas, o Qindo7s R?SR!, assim como o Tos acessa a memria apartir
do final. .u seja, primeiro seriam usados todos os endere3os que n+o s+o atendidos
pelo cache, para apenas depois que todos estivessem ocupados usar os primeiros "
EF atendidos cacheados. Uem d$vida, neste caso, aumentar a quantidade de memria
Ram acima de " EF, iria diminuir o desempenho do micro ao inv's de aumenta;lo, a
menos ' claro, que voc4 rodasse algum programa pesado o suficiente para ocupar toda
a memria Ram dispon#vel, como algum editor de v#deo, j que mesmo n+o cacheada,
a memria Ram sempre ser infinitamente mais rpida do que memria virtual em
disco.

Oale lembrar que este problema s ocorre em chipsets mais antigos. No caso de
chipsets usados em placas m+e Uuper;V, como o Oia Apollo EO/G, o Ali Aladdin O e o
U0U ?G9 a quantidade de memria Ram suportada ' de &-! ou -?" EF, enquanto o
controlador de cache %- do /entium 00 ' capaz de cachear at' ?&- EF de memria
Ram.
A algum tempo atrs, discuti durante algum tempo no ne7s de hard7are do Iol este
assunto com o %upini. /elo bom n#vel t'cnico e pelo respeito m$tuo demostrado nas
mensagens, resolvi inclui;las neste artigo. Ao longo destas mensagens o
funcionamento da memria cache, e o limite de cacheamento dos chipsets antigos
ser e)plicada com mais detalhes. ,spero que tenham paci4ncia para ler tudo :;*
As mensagens escritas pelo %upini est+o em Azul, enquanto as mensagens escritas por
mim est+o em preto.

Mensagem 1
/rimeira Eensagem do %upini8

Ateno Leo, mais uma vez vou repetir. No interessa a quantidade de
memria existente na mquina. e o !"# $er esta memria e$a % cacheve$. #
que muda % o M#&# de escrita'$eitura, pois sempre os dados estaro no
cache. #u voce acredita que (acima( dos $imites da )A* +AM a memria ,ica
sozinha sendo $ida pe$o processador sem ser escrita no cache-
Einha primeira mensagem em resposta A mensagem anterior do %upini (como voc4s
podem ver ca# de para;quedas na conversa, ehehehe :;*
No caso dos chipsets iG9P2, iG9O2, iG9M2 e equivalentes, o problema n+o era nem
a quantidade de memria 1ache nem a quantidade de memria Pag, e sim uma
limita3+o do prprio chipset. Tentro do chipset os controladores da memria e os
circuitos responsveis por cachear a memria s+o independentes. No caso destes
chipsets ultrapassados, o controlador do cache s en)ergava " EF, enquanto o
controlador da memria suportava um pouco mais de memria, &-! no caso do O2 por
e)emplo. Oc pode colocar a quantidade de memria Pag ou cache que vc quiser nesses
chipsets que o controlador s vai en)ergar " EF, n+o copiando para o cache um $nico
bit das reas de memria acima disso.
W a mesma coisa que acontece com o chipset e o processador. <ualquer processador
apartir do G!" suporta o uso de at' 5F de memria Ram. /or que n+o posso usar
tudo isso de memria na minha O2 ent+o> /or que o chipset s en)erga &-! EF de
memria. No caso do cache ' a mesma coisa, apesar do controlador da
memria suportar &-! EF, o controlador de cache s en)erga e cacheia ", o que voc4
colocar de memria acima disso n+o vai ser coberta pelo cache. . modo de
escritaSleitura (7rite bacH, 7rite trough, etc.* n+o tem nada a ver com o espectro
cachevel, simplesmente com a efici4ncia do cache.

Mensagem 2

No % isso naum !a.a... o que determina essa possi/i$idade de cachear toda a
memria % o modo de escrita ne$a. 0ste assunto 1 ,oi mais que discutido no
tempo do (.2nio( e eu continuo a,irmando que3
e voce uti$iza o modo (escrever atrs'depois( voce rea$mente ,ica $imitado 4
capacidade da )A*. Mas se voce uti$iza o modo (escrever durante o processo(
a memria cache ,ica com a in,ormao de qua$quer parte da memria +AM. #
processo desta mec5nica % simp$es3 suponha uma )A* que cacheia 67M!,
num computador com 89: M!. 0sta )A* ,oi in,ormada pe$a !"# que o modo
de escrita % (;rite /ac<( ' escrever aps, e para isso e$a uti$iza o /it su1o.
Muito /em... a C=> precisa de uma instruo e vai no cache, pe.a a instruo
se $ estiver e usa. e no estiver no cache, a C=> vai na +AM e pe.a? usa e
depois escreve no cache, se o endereo de memria estiver dentro do
espectro cacheve$, ou se1a, dentro dos 67 M! cacheveis. e o endereo de
memria estiver ,ora deste espectro, a instruo % descartada.

e voce pe.ar esta mesma mquina e in,ormar 4 !"# que o modo de escrita
% (;rite throu.( @ escrever duranteA , a !"# no mais uti$izar o /it su1o e
este /it servir para armazenar instruBes de endereamento. Muito /em... a
C=> vai ao cache e v2 se existe a instruo, se houver e$e pe.a e usa. e nao
houver, e$e /usca na +AM, escreve no cache e usa.

Ce1a que desta ,orma um cic$o ,oi atrasado no processamento @ a escrita
duranteA. e a instruo que est num $oca$ de endereamento acima dos 67
M/ @ $imite da )A* em D(! A ,ica no cache, escrita e disponEve$, ou se1a3 0st
cacheadaF .
G simp$es.... a di,erena de modos de escrita % 1ustamente o que provoca a
diminuio de ve$ocidade no processo.

6ehehe eu lembro dessa discuss+o entre voc4 e o NgenioN (que deus o tenha onde ele
estiver :;*

Eas voltando aos velhos tempos (lembra daquela discuss+o da formata3+o f#sica,
ehehe 8;*, novamente tenho que discordar das suas ideias, veja8

. espectro cachevel ' determinado por - fatores8

a* a capacidade do chipset e
b*a quantidade de memria Pag.

Assim como a quantidade m)ima de memria Ram que poder ser usada na mquina
' determinada pelo processador e pelo chipset. Isando um /entium &GG montado
sobre uma placa m+e com chipset iG9 O2 como e)emplo, poder#amos usar at' &-!
EF de memria Ram nesta mquina.

;Eas por que se o /entium suporta gigas de memria>

Apesar do processador suportar essa quantidade enorme de memria, o chipset O2
continua suportando apenas &-! EF, limitando a quantidade de memria que poder
ser usada na maquina a &-!. Note que neste e)emplo, pouco importaria se o
processador pudesse acessar ! 5F, &" PF, PF ou &-! EF, pois a quantidade m)ima
de memria continuaria limitada pelo chipset a apenas &-! EF.

Ooltando ao assunto principal, alterando o modo de escrita, estar#amos diminuindo a
efici4ncia do cache, mas liberando Pag Ram, o que permitiria aumentar o espectro
cachevel, este foi o seu racioc#nio. /or'm neste caso os " EF n+o s+o determinados
pela quantidade de Pag, e sim pela arquitetura do chipsetX /ouco importa qual fosse a
quantidade de memria cache que voc4 usasse numa placa m+e com chipset O2, ou o
modo de leitura que voc4 usasse, o espectro cachevel continuaria limitado a " EF
(desde que vc usasse a quantidade m#nima de Pag claro, caso contrario seria menos*,
' uma limita3+o da arquitetura do chipset e n+o da Pag Ram, assim como o /entium
acessa no m)imo 5F de memria independentemente de qualquer outro fator.

No caso de outros chipsets, como o 62, a arquitetura do chipset permite um espectro
cachevel de mais de " EF (?&- no 62*, neste caso sim, a sua ideia poderia
funcionar, caso a quantidade de memria Pag fosse pequena. Eas repito, no caso do
O2 a limita3+o ' da arquitetura do chipset, mesmo que vc usasse ?99 terabCtes de
PA5 em modo Qrite FacH o espectro cachevel continuaria sendo " EF, por limita3+o
da arquitetura destes modelos obsoletos de chipset.

Mensagem 3

Apartir desta mensagem eu passei a responder as mensagens do %upini trecho;a;
trecho, os trechos das mensagens do %upini est+o em azul.
De$$, ;e$$, ;e$$... A )A* % a contro$adora dos /ancos de memria cache. Ce1a
que em minha ms. anterior eu disse que 3 0 a !"# enxer.a e identi,ica as
memrias, e$as so cacheveis

/Y %upini, vc t fazendo uma confus+o dos diabos, a Pag n+o controla nada, ele '
simplesmente um espa3o que o controlador de memria cache usa para escrever os
endere3os a serem cacheados.

/or e)emplo, digamos que vc compre uma agenda para guardar telefones, com espa3o
suficiente para anotar &9.999 telefones. Ztimo, algu'm com muitos contatos talvez
enchesse a agenda em poucos dias, mas digamos que vc tenha apenas " telefones
para colocar nessa agenda, que n+o conhe3a mais ningu'm. A agenda continuaria com
espa3o pra mais uma porrada de telefones, mas como vc estaria NlimitadoN a "
telefones, este espa3o ficaria vago. Note que a agenda n+o escreve nem controla nada,
' um objeto inanimado, apenas um meio para vc n+o esquecer os telefones, quem
escreve os telefones ' vc.

Uimilarmente, a memria Pag, como toda memria, serve apenas para que o
controlador do cache (embutido no chipset* anote e n+o Nesque3aN os endere3os dos
dados cacheados, mas ele por si s n+o faz absolutamente nada, simplesmente
obedece as ordens do controlador do cache. Ue o controlador for capaz de en)ergar
apenas " megas de memria ent+o n+o importa se o Pag ' suficiente para &9.999
megas, simplesmente o espa3o ficar vago, assim como no e)emplo da agenda n+o
adiantaria comprar uma agenda maior, j que vc est NlimitadoN a " telefones.

No a e,ici2ncia, mas sim o tempo de execuo do processo da C=>? 1 que
necessitaria de mais um cic$o para depois ir para a C=>.

Acho que vc ainda est fazendo confus+o, quer dizer que um cache Qrite Phrough '
t+o eficiente quanto um cache Qrite FacH, apenas ocupando um pouco mais o
processador>

Qrite Phrough8

,sse tipo de memria cache funciona apenas no modo de leitura, apenas quando o
processador precisa consultar os dados contidos na RAE. <uando ' preciso escrever os
dados, ' usado o processo convencional, envolvendo os eventuais estados de espera
da RAE principal. ,ste ' um tipo obsoleto de cache encontrado
apenas em placas mais antigas ou de bai)a qualidade.

Qrite FacH8

Isado nas placas de melhor qualidade, este cache funciona tanto no modo de leitura
quanto no modo de escrita. ,sta caracter#stica ' suficiente para melhorar
perceptivelmente o desempenho do sistema. <uando o processador precisa escrever
um determinado dado, o sinal ' interceptado pelo chipset, que ao inv's de escrever
este dado na lenta memria Ram, o escreve no cache, que ' muito mais rpido,
perdendo menos tempo com a opera3+o e ficando livre para a pr)ima ordem.

,sta ' a diferen3a. N+o tem nada a ver com tempo de utiliza3+o do processador ou
com o espectro cachevel. Apenas o cache ' implementado de maneira diferente

Nananinan.... o que determina a quantidade de endereos possEveis de ser
cacheados % a arquitetura da )A*. 0 se a )A* pudesse cachear (Drite !ac<(
at% 8 )/ mas o chipset no, e$a simp$esmente ,icaria com capacidade ociosa.

0dem ao primeiro pargrafo. Apesar da memria Pag determinar [a quantidade
m)ima de memria que poder ser cacheada[, a quantidade que [efetivamente ser
cacheada[ depende da efici4ncia do chipset. Ue vc s conhece " pessoas n+o adianta
comprar uma agenda para ?9.999 telefones...

concordo nisso se o chipset tivesse esta $imitao, mas no % caso das CH,
cu1o chipset ,oi dimensionado para aceitar at% 89: M/ de +AM usandoIse um
pente de J89 K/ =ipe$ine !urst Lnchronous cache.
Oc n+o entendeu %upini, dentro do chipset, o controlador de cache e o controlador de
acesso A memria s+o dois circuitos distintos, com funcionamento independente.
%embre;se que o chipset n+o ' apenas um chip, mas sim um conjunto de vrios chips,
da# o nome NchipsetN. W perfeitamente normal, levando;se em conta o fator econmico,
e tbm estrat'gia de mercado que num chipset se use um controlador de memria
capaz de endere3ar &-! EF de memria e um controlador de cache capaz de cachear
apenas " EF desta memria. Ue vc der uma olhada em especifica3Des t'cnicas de
vrios chipsets vai perceber isso.

Mensagem 4

Como M$tima ms. neste thread 3 )A* +AM I % o Endice das in,ormaBes
contidas no cache /an<. @ ou chip de memria cacheA

A sua defini3+o est correta, eu s gostaria de refor3ar que (como e)pliquei na outra
mensagem* a Pag Ram ' apenas uma lista de endere3os. <uem ir escrever os
endere3os nesta lista ' o chipset. A quantidade de Pag Ram determina apenas o
m)imo de memria que o chipset (independente de qual fosse* poderia cachear, a
quantidade de memria que ser realmente cacheada depender por'm da capacidade
do chipset, como no e)emplo da agenda...

# modo como este Endice % uti$izado @ nas memrias e mquinas mais
anti.asA % determinado pe$o 0)>= do !"#.
Uim, geralmente voc4 encontrar no Uetup op3Des referentes A velocidade de opera3+o
do cache, e em maquinas mais antigas, tamb'm op3Des relacionadas ao m'todo de
escrita utilizado. /or'm, vc se esqueceu que o que determina a presen3a destas
op3Des no Uetup s+o os recursos do chipset, se o chipset s ' capaz de usar o m'todo
Qrite Phrough (um chipset antigo* ent+o n+o vai ter op3+o do Fios que o faca usar o
cache como Qrite FacH...

No existe tipo de memria (;rite qua$quer coisa ( , mas to somente o modo
como o cache /an< ser uti$izado. e .rava durante ou depois da uti$izao
pe$a C=>, da requisio da instruo. # modo =ipe$ine !urst mais moderno,
uti$iza um m%todo a$eatrio de preenchimento de /its, @ e$es mudam de
estado constantemente e se a C=> der sorte aumenta a ve$ocidade em JNO.
A,ina$ s existem dois estados.

1laro, o cache /ipeline Furst ' substancialmente mais rpido do que os caches
ass#ncronos usados at' certo tempo atrs.

Nas mquinas mais novas, @ o que no ,oi o caso da per.unta que ori.inou o
threadA o m%todo quase sempre % ,eito por =ipe$ine !urst sinchronous (;rite(
1orreto, o uso de caches ass#ncronos em maquinas modernas causaria uma queda
brutal no desempenho, pois com bus de "" mhz estes caches funcionariam com
temporiza3+o G;-;-;-, com bus de &99 mhz a temporiza3+o seria ;G;G;G, quase a
velocidade de uma memria /c;&99 comum... 8;*

Nas mquinas anti.as, voce tem a opo de aumentar o /anco de cache,
uti$izando para isso uma ta/e$a ,ornecida pe$o ,a/ricante da p$aca, e em
(todos( estes casos @ excetuandoIse quando usado o pente pipe$ineA voce
tinha que trocar a )A* +AM que % o chip contro$ador das memrias cache,
chip este @ o$hem os proprietrios de mquinas mais anti.asA menor que os
outros e que norma$mente ,ica ao $ado do cache /an<.
0sso ' obvio %upini, se vc aumenta a quantidade de cache, claro que voc4 ter que
aumentar tamb'm a quantidade de memria Pag, mas eu n+o entendi o que isso tem
a ver com o que estvamos discutindo...
A/raos.
ps3 tenho um monte de sucatas aquE, e ,ao um monte de testes com e$as, daE
minha certeza que o excesso de memria cacheve$ em modo (/ac<( torna
mais rpido o computador quando em modo ( throu. (.
N+o e)iste nenhuma e)plica3+o para a mquina ficar mais rpida usando cache
Phrough, mesmo operando com e)cesso de Ram, j que a $nica diferen3a entre estes
dois tipos de modo de leitura ' o fato de um cachear apenas as opera3Des de leitura e
o outro cachear tanto as opera3Des de leitura quanto as de escritas. 1omo o espectro
cachevel continua o mesmo, a $nica coisa que vc conseguiria mudando o modo de
opera3+o do cache seria uma pequena queda de performance. Ma3a uns benchmarHs
nessas maquinas que vc vai ver isso.

Mensagem 5

,sta mensagem foi postada pelo 6enrique durante nossa discuss+o, a seguir est a
minha resposta a ela8


Penrique !ranco ;rote3

Q que esto ,a$ando em cacheamento de +AM, pq nos processadores $ot #ne
% possEve$ usar at% 7*/ de memria- At% mesmo num Ce$eron, que nem cache
tem...
,m se tratando de /entium 00 \ 1ia o cacheamento da memria ' feito pelo
controlador de cache embutido no prprio cartucho do processador, e n+o pelo chipset.
. /;00 e o 1eleron A (com cache* s+o capazes de cachear at' ?&- EF de. A quantidade
m)ima suportada ' 5F pelo /00 e 1eleron e ! 5F pelo 2eon /orem, como a
quantidade m)ima de memria fica limitada tamb'm pelo chipset, temos8

& 5F com o chipset M2 (& 5F de memria M/E ou ,T., j que o M2 n+o suporta
memrias Udram*,
?&- de Udram ou & 5F de ,T. com o chipset %2,
?&- EF com o ,2,
& 5F com o F2,
- 5F com o 52,
e finalmente ! 5F com o i?9 N2, lembrando que o i?9 N2 ' um chipset e)clusivo
para o 2eon.
Ooltando ao assunto principal, so para concluir a minha discuss+o com o %upini8

Na verdade quem cacheia a memria n+o ' o processador, e sim o chipset, o
processador apenas diz Ndeposite na RamN ou Nleia na RamN o controlador de cache
embutido no chipset (ou no cartucho do processador no caso do /entium 00 \ 1ia* '
que intercepta esses comandos, escrevendo os dados no cache, ou lendo os dados do
cache, que obviamente ' mais rpido do que a memria Ram. 1laro que o controlador
de cache possui um limite de quanta memria Ram ' capaz de en)ergar, assim como o
prprio processador ' limitado a 5F de Ram. . quanto de memria que o controlador
de cache ' capaz de en)ergar ' informada nas especifica3Des de cada chipset, sendo
que o controlador embutido no cartucho do /;00 cacheia ?&- EF. No caso do iG9O2
por e)emplo, o limite do circuito controlador do cache ' de " EF, isso significa que
ele s en)erga " EF de Ram, isso independente da quantidade de Pag, ' uma
limita3+o T,%,. Ue o processador pede um dado gravado no V&] megabCte da Ram por
e)emplo, ele simplesmente vai ignorar a ordem, pois para ele o V&] megabCte n+o
e)iste, passando a tarefa para o controlador da memria, que no caso do iG9 O2
Nen)ergaN at' &-! EF de Ram, que por sua vez ira retirar o dados diretamente da
lenta Ram. Neste caso o cache ser usado apenas quando for solicitada a
leituraSescrita de dados at' o "] megabCte da memria, acima disso quem vai fazer o
trabalho ' o prprio controlador de memria, que ira escreverSler os dados
diretamente na Ram.

You might also like