
Note que en este paso se requieren permisos de adminis-
trador para montar y copiar al disco que se busca emular.
La aplicaci
´
on por ejecutar estar
´
a disponible en /home.
Evidentemente, si el objetivo principal de un experimento
es editar el archivo binario que se ha creado, no ser
´
a
del todo atractivo el tener que simular todo el arranque
del sistema operativo con cada modificaci
´
on. Para ello se
puede hacer uso de la instrucci
´
on m5 checkpoint dentro
de la simulaci
´
on. Posteriormente se puede hacer uso del
argumento --restore-from para especificar la ruta del
punto de restauraci
´
on deseado. Note que el n
´
umero asociado
con el punto de restauraci
´
on es asignado de forma din
´
amica.
./build/ARM/gem5.opt \
./configs/example/arm/Hikey960.py \
--big-cpus 4 \
--little-cpus 4 \
--cpu-type=timing \
--caches \
--dtb=./system/arm/dt/
armv8_gem5_v1_big_little_4_4.dtb \
--bootloader=./common/binaries/boot.arm64 \
--kernel=./common/binaries/vmlinux.arm64 \
--disk=./common/ubuntu-18.04-arm64-docker.img \
--dvfs \
--big-cpu-clock 2362MHz 2112MHz 1805MHz 1421MHz
903MHz \
--little-cpu-clock 1402MHz 999MHz 533MHz \
--big-cpu-voltage 1.0V 0.99V 0.98V 0.97V 0.96V \
--little-cpu-voltage 0.87V 0.86V 0.85V \
--power-models \
--stat-freq 1.0E-3 \
--restore-from=./m5out/cpt.1044789997495
Y con esto finalizamos la demostraci
´
on del uso de gem5
para emular un procesador moderno con algunas caracter
´
ısti-
cas pr
´
acticas. Los archivos fuente generados o editados se
pueden encontrar en [18]. Otras fuentes sobre el uso de
gem5 para emular las caracter
´
ısticas f
´
ısicas de procesadores
pueden consultarse en [19], [20].
VI. CONCLUSI
´
ON
En este art
´
ıculo hemos analizado uno de los retos que
se pueden encontrar en los procesos de formaci
´
on de estu-
diantes de educaci
´
on superior y posgrado. Hablamos de la
dificultad por tener acceso a sistemas de evaluaci
´
on y pro-
totipados modernos, que les permitan adquirir experiencia
con las nuevas tecnolog
´
ıas utilizadas en la industria o la
investigaci
´
on.
Hemos descrito herramientas usadas para estudiar siste-
mas digitales y enumerado los problemas que existen con las
soluciones conocidas. Concluyendo que emular un sistema
de c
´
omputo requiere una reproducci
´
on de su comportamien-
to l
´
ogico y la estimaci
´
on de diversos indicadores sobre su
operaci
´
on. El simulador gem5 ofrece ambas opciones.
Esta herramienta es un software de c
´
odigo libre y de
distribuci
´
on gratuita que puede ser empleada para emular
sistemas de c
´
omputo modernos como los que se basan en
procesadores ARM y RISC-V. Permite verificar la operaci
´
on
no solo de los programas que se han de ejecutar sobre
el sistema simulado y proporciona datos adicionales que
pueden ser de inter
´
es para el an
´
alisis de un chip.
No obstante, existen tres retos principales para poder
considerar a gem5 como una soluci
´
on de aplicaci
´
on pr
´
actica,
en particular para el caso de Latinoam
´
erica. Primero, la
complexidad del software obliga a utilizar sistemas de
c
´
omputo potentes que a menudo no ser
´
ıan disponibles para
los estudiantes de recursos limitados. Segundo, gem5 solo
funciona para sistemas Linux que no son ampliamente
conocidos. Y finalmente, tiene una curva de aprendizaje muy
lenta. Nuestro trabajo trata de abordar este
´
ultimo desaf
´
ıo.
RECONOCIMIENTOS
Los autores reconocen el financiamiento de la Agence
Nationale de la Recherche (ANR)—Francia—a trav
´
es del
proyecto ARCHI-SEC (ANR-19-CE39-0008).
REFERENCIAS
[1] J. M. Munera, A. Jimenez, M. A. Botero, K. Y. Rivas, and J. Lopez,
“La educaci
´
on moderna al alcance de arduino,” Revista ESPACIOS,
vol. 798, p. 1015, 2020.
[2] I. H. P. Tavera et al., “Arduino en el nivel medio superior,” Vida
Cient
´
ıfica Bolet
´
ın Cient
´
ıfico de la Escuela Preparatoria No. 4, vol. 11,
no. 22, pp. 10–11, 2023.
[3] J. C. Moreno-Brid and P. Ruiz-N
´
apoles, “La educaci
´
on superior y el
desarrollo econ
´
omico en Am
´
erica Latina,” Revista iberoamericana de
educaci
´
on superior, vol. 1, no. 1, pp. 171–188, 2010.
[4] H. K. Kondaveeti, N. K. Kumaravelu, S. D. Vanambathina, S. E.
Mathe, and S. Vappangi, “A systematic literature review on pro-
totyping with Arduino: Applications, challenges, advantages, and
limitations,” Computer Science Review, vol. 40, p. 100364, 2021.
[5] M. El-Abd, “A review of embedded systems education in the Arduino
age: Lessons learned and future directions,” International Journal of
Engineering Pedagogy, vol. 7, no. 2, pp. 79–93, 2017.
[6] A. Chakraborty, “Global Semiconductor Shortage Triggering Obstruc-
tions and Production Delays,” Ph.D. dissertation, Swiss School of
Business and Management Geneva, Switzerland, 2023.
[7] J. Voas, N. Kshetri, and J. F. DeFranco, “Scarcity and global inse-
curity: The semiconductor shortage,” IT Professional, vol. 23, no. 5,
pp. 78–82, 2021.
[8]
´
A. Guerra Mart
´
ın, “Aplicaci
´
on Android para simular una FPGA edu-
cativa,” Universidad Aut
´
onoma de Madrid, Trabajo Final de Grado,
2013.
[9] S. R. Yesa, J. Garc
´
ıa-Zub
´
ıa, J. L. G. Temi
˜
no, J. V. S
´
aez, and I. A.
Mart
´
ınez, “Uso de un laboratorio remoto de FPGAs para la realizaci
´
on
de pr
´
acticas en grados de ingenier
´
ıa,” in XIV Congreso de Tecnolog
´
ıas
Aplicadas a la Ense
˜
nanza de la Electr
´
onica. Instituto Superior de
Engenharia do Porto, 2020, pp. 293–300.
[10] F. Bellard, “QEMU, a Fast and Portable Dynamic Translator,” in
Proceedings of the Annual Conference on USENIX Annual Technical
Conference, ser. ATEC ’05. USA: USENIX Association, 2005, p. 41.
[11] A. Vladimirescu, The Spice Book. USA: John Wiley & Sons, Inc.,
1994.
[12] M. M. K. Martin, D. J. Sorin, B. M. Beckmann, M. R. Marty, M. Xu,
A. R. Alameldeen, K. E. Moore, M. D. Hill, and D. A. Wood, “Multi-
facet’s General Execution-Driven Multiprocessor Simulator (GEMS)
Toolset,” SIGARCH Comput. Archit. News, vol. 33, no. 4, p. 92–99,
nov 2005.
[13] N. L. Binkert, R. G. Dreslinski, L. R. Hsu, K. T. Lim, A. G. Saidi, and
S. K. Reinhardt, “The M5 Simulator: Modeling Networked Systems,”
IEEE Micro, vol. 26, no. 4, p. 52–60, jul 2006.
[14] N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi,
A. Basu, J. Hestness, D. R. Hower, T. Krishna, S. Sardashti, R. Sen,
K. Sewell, M. Shoaib, N. Vaish, M. D. Hill, and D. A. Wood, “The
Gem5 Simulator,” SIGARCH Comput. Archit. News, vol. 39, no. 2,
p. 1–7, aug 2011.
[15] Statcounter, “Web Analytics Made Easier - Statcounter,” https://
statcounter.com/, 2024, [Online; accessed 14-May-2024].
[16] gem5, “Building gem5,” https://www.gem5.org/documentation/
general docs/building, 2024, [Online; accessed 14-May-2024].
[17] Arm, “Downloads - Arm Developer,” https://developer.arm.com/
downloads, 2024, [Online; accessed 14-May-2024].
[18] C. A. Lara-Nino, “Clock and Power management on Gem5,” https:
//github.com/CarlosAndresLARA/hikey960-gem5, 2024, [Online; ac-
cessed 14-May-2024].
[19] L. Bossuet and C. A. Lara-Nino, “Emulating Covert Data Transmis-
sion on Heterogeneous SoCs,” in 2023 Asian Hardware Oriented
Security and Trust Symposium (AsianHOST), 2023, pp. 1–6.
[20] L. Bossuet, V. Grosso, and C. A. Lara-Nino, “Emulating Side Channel
Attacks on gem5: lessons learned,” in 2023 IEEE European Sympo-
sium on Security and Privacy Workshops (EuroS&PW), 2023, pp.
287–295.
Revista elektron, Vol. 8, No. 1, pp. 5-12 (2024)
http://elektron.fi.uba.ar