Capítulo 1 Introducción

El uso cotidiano de dispositivos como computadoras personales, teléfonos móviles y relojes inteligentes está sustentado en arquitecturas computacionales específicas, cuya comprensión es fundamental para el desarrollo eficiente de soluciones informáticas.

Es esencial que los estudiantes de Arquitectura de Computadoras comprendan tanto la estructura como el funcionamiento interno de una computadora, y adquieran experiencia práctica con ellas. Para lograrlo, es fundamental disponer de un laboratorio bien equipado con el hardware adecuado y suficiente tiempo para que los estudiantes se familiaricen con las herramientas prácticas. En este contexto, se han desarrollado numerosos simuladores que facilitan la comprensión de la estructura y el funcionamiento de las computadoras, proporcionando valiosas experiencias de aprendizaje. Este trabajo se inscribe en dicha problemática educativa y busca contribuir con el desarrollo de una herramienta de simulación adaptada a las necesidades de la enseñanza de arquitectura de computadoras.

Esta tesis, inscrita en la Maestría en Sistemas de Información de la Facultad de Ciencias de la Administración, está directamente vinculada con el proyecto de investigación I/D novel PID-UNER 7065, titulado “Enseñanza/aprendizaje de Arquitectura de Computadoras con herramientas de simulación de sistemas de cómputo”, desarrollado en la Facultad de Ciencias de la Administración de la Universidad Nacional de Entre Ríos (Colombani, Falappa, et al. 2022).

La asignatura Arquitectura de Computadoras forma parte del plan de estudios de la carrera de Licenciatura en Sistemas, Universidad Nacional de Entre Ríos. Su objetivo es que los estudiantes comprendan la estructura y funcionamiento de las computadoras, y la ejecución lógica de un programa a nivel de instrucciones de máquina.

Para comprender los fundamentos de la arquitectura de computadoras, resulta necesario abordar su estructura básica y funcionamiento interno, comenzando por una descripción funcional general del sistema.

Desde una perspectiva funcional, una computadora es un sistema que capta datos de entrada, los procesa de acuerdo con instrucciones codificadas, y produce salidas a través de dispositivos periféricos o almacenamiento. Esta dinámica operativa constituye la base para comprender su arquitectura interna y los principios que rigen su diseño.

El procesamiento se realiza a través del procesador o CPU, y es en este componente donde los estudiantes encuentran mayor complejidad y dificultades para comprender su funcionamiento.

A pesar de que es posible explicar las partes del procesador, su funcionamiento, la interacción de sus componentes y enseñar lenguaje ensamblador mediante prácticas, los estudiantes suelen tener dificultades para lograr una comprensión completa del funcionamiento.

Sin embargo, la utilización de simuladores permite afianzar los conocimientos de los temas vistos en las clases teóricas, por ello, los simuladores deben ser simples, intuitivos y visualmente atractivos, para que los estudiantes puedan centrarse en los conceptos de arquitectura y no en el aprendizaje de la herramienta en sí.

La simulación es un término de uso diario en muchos contextos: medicina, militar, entretenimiento, educación, etc., debido a que permite ayudar a comprender cómo funciona un sistema, responder preguntas como “qué pasaría si”, con el fin de brindar hipótesis sobre cómo o por qué ocurren ciertos fenómenos.

En este contexto, es necesario comprender con mayor profundidad qué se entiende por simulación y cómo esta técnica puede aplicarse en entornos educativos, se define simulación como el proceso de imitar el funcionamiento de un sistema a medida que avanza en el tiempo. Para llevar a cabo una simulación, es necesario construir un modelo conceptual que represente las características y comportamientos del sistema de interés. La simulación permite observar cómo dicho modelo evoluciona en el tiempo, replicando dinámicas reales o hipotéticas (Banks et al. 2010; Law 2015; Robinson 2014).

Con los avances en el mundo digital, la simulación se ha convertido en una metodología de solución de problemas indispensable para ingenieros, docentes, diseñadores y gerentes. La complejidad intrínseca de los sistemas informáticos los hace difícil comprender y costosos de desarrollar sin utilizar simulación (Law 2015).

Muchas veces en el ámbito educativo, resulta difícil transmitir fundamentos teóricos de la organización y arquitectura interna de las computadoras debido a la complejidad de los procesos involucrados. Cuando se emplean exclusivamente métodos de enseñanza tradicionales —como pizarras, libros de texto o diapositivas—, estos resultan insuficientes para representar de manera efectiva las complejidades involucradas en la arquitectura de las computadoras (Lion 2005; Contreras, Torres, and Montoya 2010; Garcia-Garcia et al. 2020).

Es evidente la necesidad de utilizar nuevas tecnologías como recursos didácticos y medios de transferencia de conocimiento, ya que ayudan a los estudiantes a relacionar conceptos abstractos con realidades concretas. Estas tecnologías permiten situar al estudiante en un contexto que imita aspectos de la realidad, posibilitando la detección y análisis de problemáticas semejantes a las que se presentan en entornos reales. Este enfoque promueve un mejor entendimiento a través del trabajo exploratorio, la inferencia, el aprendizaje por descubrimiento y el desarrollo de habilidades (Nova, Ferreira, and Araújo 2013; Mustafa 2010; García-Carballeira et al. 2020; Prasad et al. 2016).

Un simulador de arquitectura es una herramienta que imita el hardware de un sistema, representando sus aspectos arquitectónicos y funciones. Permiten realizar cambios, pruebas y ejecutar programas sin riesgo de dañar componentes ni depender de equipos físicos disponibles (Radivojevic, Cvetanovic, and Ðordevic 2011).

Algunas herramientas ofrecen una representación en forma visual e interactiva de la organización y arquitectura interna de la computadora, facilitando así la comprensión de su funcionamiento. En este sentido, los simuladores juegan una pieza clave en el campo de la Arquitectura de Computadores, permitiendo conectar fundamentos teóricos con la experiencia práctica, simplificando abstracciones y facilitando la labor docente (Nikolic et al. 2009; Akram and Sawalha 2019a; John L. Hennessy and Patterson 2017a; Stallings 2021).

Dentro del estudio de las arquitecturas de computadoras, la arquitectura x86 ocupa un lugar destacado debido a su amplia difusión y compatibilidad. A continuación, se presenta una breve evolución de esta arquitectura, que justifica su inclusión en el diseño de herramientas de simulación para la enseñanza. Comenzó con el procesador Intel 8086 en 1978 como una arquitectura de 16 bits. Evolucionó a una arquitectura de 32 bits con el procesador Intel 80386 en 1985 (i386 o x86-32) y posteriormente a 64 bits con las extensiones de AMD (AMD64) y su adopción por Intel (Intel 64) (Intel Corporation 2025; AMD 2024).

A pesar de la aparición de nuevas arquitecturas como ARM o RISC-V, que serán analizadas comparativamente en capítulos posteriores, la arquitectura x86 conserva una alta relevancia en contextos educativos y profesionales. Por ello, se considera pertinente su inclusión como base para el desarrollo de herramientas de simulación.

Un procesador x86-64 mantiene la compatibilidad con los modos x86 existentes de 16 y 32 bits, y permite ejecutar aplicaciones de 16 y 32 bits, como así también de 64 bits. Esta compatibilidad hacia atrás protege las principales inversiones en aplicaciones y sistemas operativos desarrollados para la arquitectura x86 (Intel Corporation 2025; AMD 2024; Abel 2000).

Por ello, la enseñanza de la arquitectura x86 es de gran relevancia en la asignatura Arquitecturas de Computadoras debido a los diferentes temas que aborda.

Como alternativa al equipamiento físico, los simuladores permiten suplir limitaciones de hardware y tiempo, brindando una experiencia de aprendizaje más accesible y replicable (Skrien 2001).

Bibliografía

Abel, Peter. 2000. IBM PC Assembly Language and Programming. 5th ed. Upper Saddle River, NJ, USA: Prentice Hall PTR.
Akram, Ayaz, and Lina Sawalha. 2019a. “A Survey of Computer Architecture Simulation Techniques and Tools.” IEEE Access 7: 78120–45. https://doi.org/10.1109/ACCESS.2019.2917698.
AMD. 2024. “Developer Guides, Manuals & ISA Documents.” https://www.amd.com/en/search/documentation/hub.html.
Banks, Jerry, John S. Carson, Barry L. Nelson, and David M. Nicol. 2010. Discrete-Event System Simulation. 5th ed. Prentice Hall.
Colombani, Marcelo A., Marcelo Alejandro Falappa, Amalia G. Delduca, and José M. Ruiz. 2022. PID Novel 7065: Enseñanza/Aprendizaje de Asignatura Arquitectura de Computadoras Con Herramientas de Simulación de Sistemas de Cómputos.” https://proyectos.uner.edu.ar/aplicacion.php?ah=st668e6d47663eb&ai=gestion_extinv||23000105.
Contreras, Gloria, Rosa García Torres, and María Soledad Ramírez Montoya. 2010. “Uso de Simuladores Como Recurso Digital Para La Transferencia de Conocimiento.” Apertura: Revista de Innovación Educativa 2 (1): 86–100.
García-Carballeira, Félix, Alejandro Calderón-Mateos, Saúl Alonso-Monsalve, and Javier Prieto-Cepeda. 2020. “WepSIM: An Online Interactive Educational Simulator Integrating Microdesign, Microprogramming, and Assembly Language Programming.” IEEE Transactions on Learning Technologies 13 (1): 211–18.
Garcia-Garcia, Adrian, Juan Carlos Saez, José Luis Risco-Martin, and Manuel Prieto-Matias. 2020. PBBCache: An Open-Source Parallel Simulator for Rapid Prototyping and Evaluation of Cache-Partitioning and Cache-Clustering Policies.” Journal of Computational Science 42: 101102.
Hennessy, John L., and David A. Patterson. 2017a. Computer Architecture: A Quantitative Approach. 6th ed. Boston: Morgan Kaufmann.
———. 2025. Intel® 64 and IA-32 Architectures Software Developer’s Manual (version 086). https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html.
Law, Averill M. 2015. Simulation Modeling & Analysis. 5th ed. New York, NY, USA: McGraw-Hill.
Lion, Carina. 2005. “Los Simuladores. Su Potencial Para La Enseñanza Universitaria.” Cuadernos de Investigación Educativa 2 (12): 53–66.
Mustafa, Besim. 2010. “Evaluating A System Simulator For Computer Architecture Teaching And Learning Support.” Innovation in Teaching and Learning in Information and Computer Sciences 9 (1): 100–104. https://doi.org/10.11120/ital.2010.09010100.
Nikolic, B., Z. Radivojevic, J. Djordjevic, and V. Milutinovic. 2009. “A Survey and Evaluation of Simulators Suitable for Teaching Courses in Computer Architecture and Organization.” IEEE Transactions on Education 52 (4): 449–58. https://doi.org/10.1109/TE.2008.930097.
Nova, Bruno, Joao C Ferreira, and António Araújo. 2013. “Tool to Support Computer Architecture Teaching and Learning.” In Engineering Education (CISPEE), 2013 1st International Conference of the Portuguese Society for, 1–8. IEEE.
Prasad, PWC, Abeer Alsadoon, Azam Beg, and Anthony Chan. 2016. “Using Simulators for Teaching Computer Organization and Architecture.” Computer Applications in Engineering Education 24 (2): 215–24.
Radivojevic, Zaharije, Milos Cvetanovic, and Jovan Ðordevic. 2011. “Design of the Simulator for Teaching Computer Architecture and Organization.” In 2011 Second Eastern European Regional Conference on the Engineering of Computer Based Systems, 124–30. IEEE.
Robinson, Stewart. 2014. Simulation: The Practice of Model Development and Use. 2nd edition. Wiley.
Skrien, Dale. 2001. CPU Sim 3.1: A Tool for Simulating Computer Architectures for Computer Organization Classes.” Journal on Educational Resources in Computing (JERIC).
Stallings, William. 2021. Computer Organization and Architecture: Designing for Performance. 11th ed. Boston, MA: Pearson.