scieee Science in your language
[es] (orig)

Un simulador de memorias cache multinivel

Abstract

En este trabajo, se describe un simulador gráfico denominado Simula Cache 1.0, que facilita la realización de prácticas sobre jerarquía de memoria en cursos de arquitectura y estructura de computadores. Está inspirado en el conocido Dinero III [1], aunque diseñado para un entorno W9x-NT, con una interfaz gráfica muy intuitiva y fácil de utilizar. Además, incluye algunas características avanzadas (hasta tres niveles de cache, prebúsqueda, subbloques, etc.) así como parámetros normalmente no incluidos en otros simuladores. Por ello, puede también ser útil para evaluación de sistemas realistas o como validación de modelos de prestaciones

Read accessible full text

Un simulador de memorias cache multinivel

Author: Almisas, Ricardo; Paz Vicente, Rafael; Linares Barranco, Alejandro; Amaya Rodríguez, Claudio Antonio; Sevillano Ramos, José Luis
Publisher: Universidad de las Islas Baleares, Servicio de Publicaciones
Year: 2001
Source: https://idus.us.es/bitstreams/6aea6c1d-2a5f-45f1-976e-c70d33b3d4dd/download
Un simulado de memo ias cache mul ini el.
Rica do Almisas, Ra ael Paz, Alejand o Lina es, Claudio Amaya, José Luis
Se illano(*).
Facul ad de In o má ica. Uni e sidad de Se illa.
A da. Reina Me cedes, s/n. 41012, Se illa.
e-mail: (*)
[email p o ec ed]
Resumen
En es e abajo, se desc ibe un simulado g á ico
denominado Simula Cache 1.0, que acili a la
ealización de p ác icas sob e je a quía de
memo ia en cu sos de a qui ec u a y es uc u a de
compu ado es. Es á inspi ado en el conocido
Dine o III [1], aunque diseñado pa a un en o no
W9x-NT, con una in e az g á ica muy in ui i a y
ácil de u iliza . Además, incluye algunas
ca ac e ís icas a anzadas (has a es ni eles de
cache, p ebúsqueda, subbloques, e c.) así como
pa áme os no malmen e no incluidos en o os
simulado es. Po ello, puede ambién se ú il pa a
e aluación de sis emas ealis as o como
alidación de modelos de p es aciones.
1. In oducción
Aunque exis e un buen núme o de simulado es de
caches y je a quías de memo ia [2-9], es di ícil
encon a uno que cub a odos los aspec os
eque idos. En gene al, pa ecen exis i dos
ap oximaciones di e en es. Po un lado,
simulado es o ien ados a la docencia de los
concep os undamen ales, a la ilus ación del
uncionamien o in e no y al e ec o de pa áme os
básicos de diseño. Es os simulado es suelen ene
una in e az de usua io g á ica, sencilla de u iliza ,
pe o ienen como limi aciones undamen ales el
hecho de que no admi en con igu aciones
complejas ( ípicamen e es án limi ados a un solo
ni el de cache, po ejemplo) y que los esul ados
o ecidos suelen educi se al miss a e ( azón de
allos) de un conjun o de accesos. Es o es lógico,
pues o que es a ían especialmen e indicados pa a
asigna u as in oduc o ias o básicas, en las que
inclui más de alles o con igu aciones complejas
esul a casi con ap oducen e. En e ec o, eso
eque i ía dedica mucho iempo de aula en
asigna u as en las que el es udio de la je a quía de
memo ia debe se necesa iamen e b e e. Ejemplos
de es e ipo de simulado es se ían VC [7]
(ejecu ado en una página Web), Visual Cache,
diseñado en nues o g upo [6], CVT [4] (aunque
es e simulado es bas an e más ambicioso), y o os
[5,8].
En el o o ex emo es a ían simulado es que
aunque ambién pueden se usados como
he amien a docen e, ienen una se ie de
ca ac e ís icas que los hacen más adecuados al
es udio de aspec os más a anzados o incluso pa a
la ealización de pequeños p oyec os de
in es igación. En la mayo ía de es os simulado es,
la in e az con el usua io suele se pob e,
no malmen e equi iendo da la con igu ación en
línea de comandos o en iche os. Es e es el caso
del popula Dine o III [1], y su e sión más
ecien e Dine o IV [3], el A gen Cache Simula o
[2], Acme [9], e c.
El simulado p esen ado aquí, denominado
SimulaCache1.0, p e ende si ua se en un pun o
in e medio en e es os dos ex emos. Man iene
una in e az de usua io g á ica e in ui i a que
pe mi i ía su uso en p ác icas sin demasiado
es ue zo po pa e de los alumnos, pe o incluye
ambién algunas ca ac e ís icas (como caches
mul ini el), que pe mi i ían su uso en digamos
es udios más a anzados como el compo amien o
de sis emas eales an e aplicaciones eales,
alidación de modelos de p es aciones, e c. Es as
ca ac e ís icas se án desc i as con más de alle en
las siguien es secciones.
2. Fo ma o de azas.
La p ime a decisión a la ho a de diseña un
simulado de je a quías de memo ia es la elección
del o ma o de las azas. En e ec o, la inmensa
mayo ía de los simulado es son ace-d i en [13],
430 Demos
es deci , la en ada del simulado es un iche o de
azas de memo ia, cuyos egis os poseen
in o mación e e en e a la di ección de memo ia
accedida po el p ocesado , al ipo de acceso del
que se a a (lec u a o en esc i u a) y el ipo de
in o mación al que se es á accediendo (Da os o
Ins ucciones). Es o es lo habi ual en los es udios
de p es aciones de sis emas de memo ia. No
in e esa que la en ada de da os sea código
máquina, que necesa iamen e es dependien e del
p ocesado , ni código de al o ni el, donde es
di ícil aisla los accesos al sis ema de memo ia
(aunque po ejemplo CVT [4] pe mi e simula
pequeños bucles en Fo an).
Sin emba go, la longi ud de los iche os de azas
es mucho mayo que la del código uen e o iginal,
pues en los iche os de azas de memo ia los
bucles se “desen ollan”. Además, en sis emas
ealis as (y po an o complejos), pa a ob ene
es adís icas iables deben simula se millones de
e e encias a memo ia, necesi ando cada una de
ellas has a 10 by es, lo que nos lle a a iche os del
o den de decenas de megaby es [10]. Muchos de
los es ue zos en in es igación an o ien ados a
desa olla écnicas pa a supe a es e p oblema,
como la comp esión [10] o el mues eo es adís ico
de los iche os de azas [11].
Sin emba go en nues o caso las azas deben se
en lo posible au oexplica i as. Es deci , si se
p e ende su uso docen e, un simple is azo de la
aza debe da una idea de los accesos que se es án
ealizando en de e minados pun os del p og ama,
sob e odo si in e esa comp oba el
uncionamien o en de e minados pun os de la
aza. Es o impide usa o ma os comp imidos
como PDATS. O o o ma o muy ex endido,
ETCH [12] usa códigos numé icos e incluye casos
a anzados como accesos múl iples.
Pa a es e caso, no hemos op ado po un o ma o
único, sino que man enemos es posibles
o ma os, pe mi iendo la aducción de uno a o o.
Todos ienen en común que son iche os de ex o
donde cada línea se co esponde con un acceso,
pe mi iendo al alumno iden i ica ácilmen e los
accesos básicos.
2.1.- T azas DIN.
Es e es el o ma o que econoce el p og ama
Dine o en sus e siones e ce a y cua a [1,3].
Es á compues o po dos campos. El p ime campo
es á o mado po un ca ác e que indica el ipo de
acceso a la memo ia caché. El segundo campo
indica la di ección del acceso y se p esen a en
o ma o hexadecimal, con la opción de ene como
p e ijo “0x”, siendo de longi ud máxima de 32
bi s. En el caso de que ue a meno de 32 bi s se le
añadi ían ce os a la izquie da.
Los di e en es ca ac e es que pe mi e es e o ma o
pa a indica el ipo de acceso son:
• 0 : lec u a de da os en la caché.
• 1: esc i u a de da os en la caché.
• 2: lec u a de ins ucciones en la caché.
• 3: misc, lec u a de da os en la caché que no
gene a p ebúsquedas (en caso de se posible).
• 4: in alida una posición de la caché.
• 5: copyback, ealiza una esc i u a en el
siguien e ni el de memo ia si la posición
e e enciada es u ie a “sucia”.
En cuan o al amaño de los accesos que se ealizan
a memo ia siemp e son de 4 by es.
2.2.- T azas X-DIN.
Es e o ma o, usado po el p og ama Dine o IV
[3], es una ex ensión del o ma o an e io . La
p incipal di e encia es que en és e el amaño del
acceso es á indicado exp esamen e como un
campo más. Así, enemos es campos, el p ime o
es á compues o po un ca ác e e indica el ipo de
acceso a la memo ia caché que se ealiza. El
segundo campo indica la di ección del acceso y
es a á en o ma o hexadecimal, con la opción de
ene como p e ijo “0x”, y se á de longi ud
máxima de 32 bi s. En el caso de que ue a meno
de 32 bi s se le añadi ían ce os a la izquie da. El
e ce campo indica el amaño del acceso en by es,
es e campo es a á en o ma o hexadecimal.
También puede ene con ca ác e opcional el
p e ijo “0x”.
Los di e en es ipos de acceso que pe mi e indica
es e o ma o son: R (lec u a), W (esc i u a), I
(ins ucción), M (misc), V (in alidación) y C
(copyback), equi alen es a los accesos DIN 0, 1,
2, 3, 4 y 5, espec i amen e.
2.3 T azas Visual Caché 1.0.
Po úl imo, ambién se pe mi e el uso de un
o ma o de azas u ilizado po o o simulado
diseñado en nues o g upo, denominado Visual
Cache [6], y que es á o ien ado undamen almen e
Demos 431
a la ilus ación del p oceso in e no que iene luga
en caches sencillas. Aquí no in e esa an o el
esul ado es adís ico inal como la isualización
de la e olución paso a paso de la ejecución de una
aza, po lo que es más impo an e si cabe que la
aza sea muy ácil de en ende . Los campos son:
• Un ca ác e indica i o del ipo de acceso que
se es á ealizando (L
‡
Lec u a o W
‡
Esc i u a).
• Un campo con la di ección e e enciada (en
hexadecimal, 8 dígi os).
• Un ca ác e indica i o de si el acceso es a un
da o o a una ins ucción (D
‡
Da o o I
‡
Ins ucción).
• Finalmen e, un campo de 2 dígi os decimales
con el amaño del da o accedido en by es.
Po ejemplo, L 0x00000FF0 I 04. Es e o ma o de
azas puede conside a se como un subconjun o de
o ma os más complejos.
En ealidad es os o ma os son simila es, lo que
pe mi e una aducción muy sencilla. Nues a
aplicación pe mi e la aducción de azas de un
o ma o a o o (con las limi aciones lógicas).
3. Ca ac e ís icas simuladas.
El simulado incluye po supues o odas las
ca ac e ís icas habi uales en cualquie simulado
de cache: amaño de la cache, núme o de palab as
po bloque, modo de ubicación de los da os
(Co espondencia Di ec a, Po ías o To almen e
asocia i a), ipo de esc i u a (Copy Back o W i e
Th ough), modo de ubicación de la esc i u a
(W i e Alloca e o No W i e Alloca e), p ime
ni el de caché uni icada o sepa ada pa a da os e
ins ucciones y algo i mo de eemplazo (LRU,
FIFO o Alea o io) cuando exis e asocia i idad.
Pe o además de es os pa áme os básicos, se
incluyen o os que pe mi en su u ilización po
ejemplo en cu sos más a anzados, como:
• has a es ni eles de caché en la je a quía de
memo ia, siendo cada uno de ellos con igu able
independien emen e.
• pe mi e di idi los bloques de caché en
subbloques.
• pe mi e ealiza p ebúsquedas de bloques o
subbloques, dependiendo de si se ha elegido
di idi los bloques en subbloques o no.
Pudiéndose con igu a las p ebúsquedas pa a
ealiza se siemp e que se simule un acceso de ipo
ins ucción o de lec u a de da os, o pa a que se
ealiza an las p ebúsquedas sólo en el caso de que
ocu iese un allo en el acceso pa a los ipos de
accesos an e io men e comen ados.
• pe mi e con igu a el amaño, en bi s, de la
palab a que usa á el sis ema de memo ia du an e
la simulación.
• pe mi e con igu a el ancho de los buses de
memo ia que comunican a cada ni el de cache
con su ni el inmedia amen e in e io .
Todas es as ca ac e ís icas pueden con igu a se
median e en anas in e ac i as ( e igu a 1),
pudiéndose ambién almacena en iche os
(.CFG), lo que posibili a dispone de una especie
de “lib e ía de o ganizaciones de cache” de
sis emas eales.
4. Resul ados.
En lo que espec a a los esul ados que o ece es a
aplicación as la simulación, end íamos:
• el núme o de accesos o ales y po ipo de
acceso, con sus espec i os po cen ajes.
• el núme o de allos o ales y po ipo de
acceso, con sus espec i os po cen ajes.
• el núme o de by es leídos en el siguien e
ni el y el núme o de by es esc i os en el siguien e
ni el.
• el núme o de by es que deben se esc i os en
el siguien e ni el al e mina la simulación y su
po cen aje espec o al núme o o al de by es
esc i os en el siguien e ni el.
el núme o de by es medio esc i os en el siguien e
ni el po cada acceso de ipo esc i u a simulado.
También han sido añadidos una se ie de esul ados
que se han conside ado in e esan es, y que no son
habi uales en o os simulado es de la li e a u a.
Uno de los mo i os ha sido que el simulado ha
sido usado como alidación de modelos analí icos
simples sob e memo ias cache desa ollados po
nues o g upo [14]. Algunos de es os pa áme os
son:
• el núme o de accesos de más simulados,
dis inguiendo los que hayan sido mo i ados po
accesos desalineados o po que el ancho del bus no
podía accede en un solo acceso a odos los da os
eque idos en un momen o dado.
• el núme o medio de lec u as y esc i u as
ealizados po cada bloque o subbloque de la
caché, dependiendo de si la caché simulada
u ie a los bloques di ididos en subbloques o no,
432 Demos
en elación al núme o o al de bloques o
subbloques ( ambién se p opo ciona, a modo de
in o mación, el núme o de bloques o subbloques
o al).
• el núme o medio de lec u as y esc i u as
ealizados po cada bloque o subbloque de la
caché en elación al núme o de bloques o
subbloques a los que se ha accedido du an e la
simulación ( ambién se p opo ciona es e núme o
de bloques o subbloques o al).
A los iche os de aza que son ca gados en una
en ana se les pod á asigna pun os de co e
(b eakpoin s), pa a los cuales se mues an los
esul ados de la simulación has a ese momen o,
además, cla o es á, de mos a los esul ados
ob enidos al inal de la simulación.
Finalmen e, es á la pa e de compa a i as de los
esul ados ob enidos. Si los esul ados mos ados
al inal de cualquie simulación son gua dados en
un a chi o (.RST), después es os a chi os pod án
se u ilizados pa a ealiza compa a i as de
esul ados en e ellos. Pa a ello, se pe mi e elegi
qué iche os de esul ados se desean mos a en la
compa a i a y cuáles se án compa ados. Además
puede elegi se qué pa áme os se desean compa a
( e igu a 2). El núme o o al de pa áme os que
o ece el simulado es g ande, y a menudo sólo
in e esan unos pocos en conc e o, po lo que no
iene mucho sen ido p esen a odos po de ec o.
T as es o la aplicación mues a una abla, en la
que po columna se pueden e los esul ados de
cada iche o y po ilas se pod án compa a los
esul ados de unos iche os con o os ( igu a 3).
5. Conclusión
En es e abajo se ha desc i o un simulado que
pe mi e e alua el compo amien o de un sis ema
de memo ias cache an e la ejecución de
de e minadas azas de memo ia. Se admi en es
o ma os de aza, pudiéndose aduci iche os de
un o ma o a o o. Las ca ac e ís icas simuladas
incluyen aspec os a anzados como pueden se
a ios ni eles de cache (has a es), p ebúsquedas,
sub-bloques, e c. Las con igu aciones pueden
edi a se median e en anas in e ac i as, y sal a se
como iche o. Como esul ado de la simulación, se
o ece un buen núme o de pa áme os que pueden
se sal ados, edi ados e incluso compa ados desde
la p opia aplicación. El p og ama es á esc i o
usando Visual Basic, y se ejecu a bajo Windows
9x o NT.
Re e encias
[1] J.L. Hennessy, D.A. Pa e son “Compu e
A chi ec u e: A Quan i a i e App oach” (2ª Ed.).
Mo gan Kau mann, 1996.
[2]
h p://papi.ee.duke.edu/a gen /a gen .h m
.
[3]
h p://www.neci.nj.nec.com/homepages/edle /d
4/
[4] E. Deijl, G. Kanbie , O. Temam, E.D.
G ans on, “A Cache Visualiza ion Tool”.
Compu e , ol. 30, no. 7, July 1997.
[5] R.N. Ibbe , Compu e a chi ec u e
isualisa ion echniques, Mic op ocesso s and
Mic osys ems 23-5 (1999) 291-300
[6] M.A. Rod íguez e al. “Un simulado g á ico
pa a la enseñanza de memo ias cache”. IV
Cong eso sob e Tecnologías aplicadas a la
Enseñanza de la Elec ónica. Ba celona,
Sep iemb e de 2000.
[7]
h p://www.cc.ga ech.edu/ ac/Bill.Leahy/ csa/
cs.h ml
[8]
h p://www.ece.ga ech.edu/ esea ch/labs/ e en
g/cachesim/
[9]
h p://a anaso .nmsu.edu/~acme/acs.h ml
.
[10] E.E. Johnson, J. Ha, “PDATS: Lossless
Add ess T ace Comp ession o Reducing File
Size and Access Time”. P oc. IEEE In . Phoenix
Con . Comp. and Commun., 1994.
[11] T.M. Con e, M.A. Hi sch, W.W. Hwu,
“Combining T ace Sampling wi h Single Pass
Me hods o E icien Cache Simula ion”. IEEE
T ans. Comp., ol. 47, no. 6, June 1998.
[12]
h p://memsys.cs.washing on.edu/memsys/h
ml/e ch.h ml
.
[13] R.A. Uhlig, T.N. Mudge, T ace-D i en
Memo y Simula ion: A Su ey, ACM Compu ing
Su eys, 29-2 (1997) 129-170.
[14] F. Díaz e al. “A Dynamic Equilib ium based
Model o Caches”. En p oceso de e isión pa a
Mic op ocesso s and Mic osys ems.