Sei sulla pagina 1di 4

Simulador de Máquina Sencilla*

Juan A. Ortega, Natalia Ayuso, Luis M. Ramos


Dpto. Informática e Ingenierı́a de Sistemas - Universidad de Zaragoza
Centro Politécnico Superior - 50.018 Zaragoza
juanortega@able.es, nayuso@unizar.es, luisma@unizar.es

Resumen

Máquina Sencilla es una herramienta de apoyo


a la docencia en cursos básicos de arquitectu-
ra de computadores. Está basada en la simu-
lación de un procesador simple que presenta
a los alumnos los bloques funcionales básicos
que comprenden un computador. Para llevar
a cabo esta simulación, se apoya en la ejecu-
ción controlada de programas escritos en un
ensamblador muy básico.

1. Introducción

La máquina sencilla fue creada por Juan J.


Navarro para ser usada en primer curso de la
Facultad de Informática de Barcelona en 1984.
Posteriormente se publicó un libro que recoge
esta arquitectura pedagógica [1]. El simulador
Máquina Sencilla implementa un entorno que Figura 1: Montador
permite tanto la edición y compilación de fuen-
tes en ensamblador como su posterior ejecu-
ción, pudiendo el usuario conocer el estado del La interfaz de usuario está basada en el si-
procesador en todo momento. La herramienta mulador COVI [2] y ha sido pensada para tres
puede simular tres variantes del procesador. escenarios distintos: apoyo al profesor en las
La primera es la versión base, en la cual se clases teóricas, apoyo al alumno en el estudio y
apoyan el resto de versiones. La segunda es herramienta de prácticas de laboratorio. Para
una variación de la primera en la que se han adaptarse a sus diferentes usos, Máquina Sen-
añadido tres nuevas instrucciones. Por último, cilla dispone de diferentes elementos de ayuda
dispone de una versión microprogramable en que guı́an al usuario a través del programa.
la que tanto el comportamiento como el for- Máquina Sencilla es de libre distribución y
mato de las instrucciones debe ser definido por puede obtenerse a través de la página web del
el usuario y que añade un modo de direcciona- grupo de Arquitectura de Computadores de la
miento. Este simulador va dirigido a alumnos Universidad de Zaragoza (gaZ) 1 .
de asignaturas básicas de arquitectura de com- Para su funcionamiento requiere 8 Megaby-
putadores y de diseño digital. tes de espacio en el disco duro y sistema ope-
rativo Windows (98, NT, 2000 o XP).
*
Financiado por el proyecto de innovación docen-
1
te “Simulador de Procesadores Virtuales para Docen- http://webdiis.unizar.es/gaz/docencia/simula.
cia”, convocatoria 2004. Universidad de Zaragoza. html
Figura 3: Memoria

la versión de Máquina Sencilla que este-


mos simulando, podrá ser cableada o mi-
croprogramada. En caso de ser cableada,
permite acceder al diagrama de estados,
mientras que en el caso contrario ofre-
ce al usuario el correspondiente micropro-
Figura 2: Organización grama.
• Memoria (figura 3). Permite observar el
2. Máquina Sencilla el programa y los datos en todo momen-
to. La instrucción que se está ejecutando
2.1. Descripción de la herramienta aparece resaltada.
La herramienta está compuesta por dos módu- • Ventanas auxiliares. Hay cuatro ventanas
los: el montador (figura 1) y el simulador. El más que muestran el contenido de algunos
montador permite la edición de fuentes en en- registros y señales del procesador.
samblador, ası́ como su compilación, en un en-
En cuanto a la ejecución controlada, la
torno amigable con resaltado de sintaxis y de
herramienta permite llevarla a cabo de cuatro
errores.
modos distintos:
El simulador permite ejecutar de forma con-
trolada los programas compilados en el mon- • Ejecución ciclo a ciclo.
tador, mostrando al usuario en todo momento
el estado de la máquina. Para ello cuenta con • Ejecución instrucción a instrucción.
las siguientes ventanas: • Ejecución de un determinado número de
instrucciones dado por el usuario. En este
• Organización o unidad de proceso (fi- caso, cada 50 instrucciones se pregunta al
gura 2). Muestra la organización de la usuario si desea proseguir con la simula-
Máquina Sencilla, compuesta por los ele- ción.
mentos básicos de un computador: me-
moria RAM unificada, unidad aritmético- • Ejecución hasta breakpoint. El simulador
lógica (ALU), contador de programa permite insertar puntos de ruptura en las
(PC), registro de instrucciones (IR), re- instrucciones, a través de la ventana de
gistros de operandos (A, B), registro de memoria. Al igual que en el caso anterior,
detección de cero (FZ) y varios compo- se pregunta al usuario cada 50 instruccio-
nentes combinacionales. nes si se desea continuar, para evitar que
un punto de ruptura situado en una ins-
• Unidad de control. Muestra la unidad de trucción inaccesible, “cuelgue” el progra-
control de la máquina. Dependiendo de ma.
En cuanto a la unidad de control de esta pri-
mera versión, la herramienta permite al usua-
rio elegir si la desea cableada o microprogra-
mada. A su vez, si se elige cableada, se pueden
escoger dos autómatas diferentes con distinto
nivel de optimización.
La segunda versión extiende el repertorio de
la primera con tres nuevas intrucciones, carac-
terizadas por tener un único operando en me-
moria. Dos de ellas tienen el segundo operan-
do codificado en la propia instrucción, es de-
cir, es un inmediato. Las nuevas instrucciones
son: CLEAR, que pone a cero una posición de
Figura 4: Monitorización de señales
memoria; MOVD, que carga una constante en
una posición de memoria y ACUM, que acu-
mula una constante en una dirección de me-
Además, para facilitar el seguimiento de la
moria. En este caso la unidad de control sólo
ejecución por parte del usuario, se realzan los
puede ser cableada.
cables que han estado activos en el último ci-
clo. Asimismo, también es posible monitorizar La última versión no posee ningún reper-
su contenido en tres formatos distintos: bina- torio de instrucciones definido, sino que se
rio, hexadecimal y entero (figura 4). proporcionan cuatro instrucciones genéricas
El repertorio de instrucciones es muy bási- (inst0, inst1, inst2 e inst3 ) que el usuario de-
co, dada la simplicidad del procesador. Todas be configurar, microprogramando cada una de
las instrucciones del repertorio utilizan direc- ellas y especificando el número de operandos.
cionamiento directo, ya que la máquina carece Además, en la ruta de datos se ha añadido un
de banco de registros. registro que permite direccionamiento indirec-
Como se ha mencionado anteriormente, la to. La unidad de control de esta versión sólo
herramienta permite simular tres variantes de puede ser, obviamente, microprogramada. Se
Máquina Sencilla. Cada versión introduce lige- trata de una versión abierta pensada para que
ras modificaciones en el repertorio de instruc- el usuario pueda crear su propio repertorio de
ciones. La primera de ellas, que es la base del instrucciones.
resto, cuenta con las siguientes operaciones:

• Instrucciones aritméticas. Cuenta con una 2.2. Aplicación docente


instrucción de suma (ADD) y una ins-
trucción de comparación (CMP ), que ac- La herramienta Máquina Sencilla sólo supone
tiva el flag FZ dependiendo de si los datos conocimientos básicos de diseño digital, es de-
comparados son iguales o no. cir, sistemas combinacionales (multiplexores,
sumadores, ALU, . . . ) y secuenciales. Su uso,
• Instrucciones de transferencia de datos.
por tanto, quedarı́a encuadrado en asignaturas
Proporciona la instrucción MOV, que per-
básicas de arquitectura de computadores y de
mite mover datos de una posición a otra
diseño digital.
de memoria.
El simulador se ha utilizado con resultados
• Instrucciones de control. Proporciona la positivos en las asignaturas “Sistemas Lógi-
instrucción BEQ, que salta a una posición cos” y “Fundamentos de Computadores I” (1o
de memoria especificada dependiendo del de Ingenierı́a Informática e Ingenierı́a de Tele-
valor del flag FZ sobre el que opera la comunicación) del Centro Politécnico Superior
instrucción de comparación. de la Universidad de Zaragoza.
2.2.1. Apoyo en las clases de teorı́a que se perseguı́a.
La herramienta Máquina Sencilla sirve de apo- 2.2.3. Herramienta de apoyo al estudio
yo al profesor en las clases de teorı́a ya que,
tras explicar los fundamentos del procesador, Uno de los problemas de Máquina Sencilla es
los alumnos pueden ver un ejemplo real de fun- la abstracción que debe realizar el alumno para
cionamiento. El simulador les permite observar su estudio y comprensión. Esta herramienta se
como los datos recorren la unidad de proceso, presenta como fundamental durante el tiempo
apreciando al mismo tiempo el estado y con- de estudio, ya que los alumnos pueden escri-
tenido de la memoria, el valor que poseen los bir sus propios programas y microprogramas y
registros, el estado de la unidad de control y “ver” su ejecución paso a paso.
el valor de sus señales. La herramienta está pensada para que pue-
da ser utilizada sin problemas por el alumno,
debido a su facilidad de instalación y su com-
2.2.2. Prácticas pleta ayuda, tanto en el montador como en el
Hasta ahora, el contacto de los alumnos con simulador. La del montador indica el significa-
Máquina Sencilla se limitaba a las clases de do de los errores que se obtienen al compilar, y
teorı́a y no se tenı́a un contacto real con el otros aspectos de la interfaz de usuario. La del
procesador. Gracias a la herramienta, ahora simulador proporciona un tutorial y presenta
es posible que los alumnos apliquen los cono- al usuario las funciones de simulación básicas.
cimientos teóricos adquiridos en las sesiones de Por otra parte, la herramienta cuenta también
prácticas. con ayuda contextual y con un diálogo de bien-
Durante el desarrollo del simulador, se ha venida que guı́a al estudiante por las diferentes
utilizado en una de las prácticas de la asigna- tareas que se pueden realizar.
tura “Fundamentos de Computadores I”, para
evaluar su funcionamiento y corregir errores. 3. Conclusiones
Dicha práctica ha consistido en:
El simulador de Máquina Sencilla facilita a
• Analizar un programa con código auto- los alumnos la comprensión de la misma y sirve
modificable para averiguar qué hace, eje- de apoyo tanto en la clase de teorı́a, como en
cutándolo posteriormente en el simulador. las sesiones de prácticas y en el estudio per-
sonal. Los alumnos valoran positivamente la
• Calcular el CPI del programa anterior pa- herramienta, ası́ como su utilización en prácti-
ra cada unidad de control (cableada nor- cas.
mal, cableada optimizada y microprogra-
mada). Referencias
• Escribir el microprograma de una instruc- [1] Eduard Ayguadé i Parra, Juan José Na-
ción de acumulación de una constante en varro Guerrero, Miguel Valero Garcı́a,
una posición de memoria. La Màquina senzilla : introducció a
l’estructura bàsica d’un computador,
A pesar de que la versión que se utilizó no
ISBN 84-7653-213-X, Departament
era la final y todavı́a tenı́a gran cantidad de
d’Arquitectura de Computadors, UPC,
fallos, la valoración media otorgada por los
1992.
alumnos ha sido de 7,6. El comentario más
generalizado entre los alumnos fue que la [2] J. Alastruey, O. Blasco, A. Hurtado, P.
práctica les resultó muy útil para afianzar sus Ibáñez y V. Viñals, COVI: Computador
conocimientos de Máquina Sencilla, al poder Virtual, XIII Jornadas de Paralelismo,
seguir la ejecución de un programa sobre el Lérida (España), 9-11 Sept. 2002.
simulador que era, precisamente, el objetivo

Potrebbero piacerti anche