Está en la página 1de 4

Simulador de Mquina Sencilla* a Juan A. Ortega, Natalia Ayuso, Luis M.

Ramos
Dpto. Informtica e Ingenier de Sistemas - Universidad de Zaragoza a a Centro Politcnico Superior - 50.018 Zaragoza e juanortega@able.es, nayuso@unizar.es, luisma@unizar.es

Resumen
Mquina Sencilla es una herramienta de apoyo a a la docencia en cursos bsicos de arquitectua ra de computadores. Est basada en la simua lacin de un procesador simple que presenta o a los alumnos los bloques funcionales bsicos a que comprenden un computador. Para llevar a cabo esta simulacin, se apoya en la ejecuo cin controlada de programas escritos en un o ensamblador muy bsico. a

1.

Introduccin o

La mquina sencilla fue creada por Juan J. a Navarro para ser usada en primer curso de la Facultad de Informtica de Barcelona en 1984. a Posteriormente se public un libro que recoge o esta arquitectura pedaggica [1]. El simulador o Mquina Sencilla implementa un entorno que a permite tanto la edicin y compilacin de fueno o tes en ensamblador como su posterior ejecucin, pudiendo el usuario conocer el estado del o procesador en todo momento. La herramienta puede simular tres variantes del procesador. La primera es la versin base, en la cual se o apoyan el resto de versiones. La segunda es una variacin de la primera en la que se han o aadido tres nuevas instrucciones. Por ultimo, n dispone de una versin microprogramable en o la que tanto el comportamiento como el formato de las instrucciones debe ser denido por el usuario y que aade un modo de direccionan miento. Este simulador va dirigido a alumnos de asignaturas bsicas de arquitectura de coma putadores y de diseo digital. n
* Financiado por el proyecto de innovacin doceno te Simulador de Procesadores Virtuales para Docencia, convocatoria 2004. Universidad de Zaragoza.

Figura 1: Montador

La interfaz de usuario est basada en el sia mulador COVI [2] y ha sido pensada para tres escenarios distintos: apoyo al profesor en las clases tericas, apoyo al alumno en el estudio y o herramienta de prcticas de laboratorio. Para a adaptarse a sus diferentes usos, Mquina Sena cilla dispone de diferentes elementos de ayuda que gu al usuario a travs del programa. an e Mquina Sencilla es de libre distribucin y a o puede obtenerse a travs de la pgina web del e a grupo de Arquitectura de Computadores de la Universidad de Zaragoza (gaZ) 1 . Para su funcionamiento requiere 8 Megabytes de espacio en el disco duro y sistema operativo Windows (98, NT, 2000 o XP).
1 http://webdiis.unizar.es/gaz/docencia/simula. html

Figura 3: Memoria

Figura 2: Organizacin o

la versin de Mquina Sencilla que esteo a mos simulando, podr ser cableada o mia croprogramada. En caso de ser cableada, permite acceder al diagrama de estados, mientras que en el caso contrario ofrece al usuario el correspondiente microprograma. Memoria (gura 3). Permite observar el el programa y los datos en todo momento. La instruccin que se est ejecutando o a aparece resaltada. Ventanas auxiliares. Hay cuatro ventanas ms que muestran el contenido de algunos a registros y seales del procesador. n En cuanto a la ejecucin controlada, la o herramienta permite llevarla a cabo de cuatro modos distintos: Ejecucin ciclo a ciclo. o Ejecucin instruccin a instruccin. o o o Ejecucin de un determinado nmero de o u instrucciones dado por el usuario. En este caso, cada 50 instrucciones se pregunta al usuario si desea proseguir con la simulacin. o Ejecucin hasta breakpoint. El simulador o permite insertar puntos de ruptura en las instrucciones, a travs de la ventana de e memoria. Al igual que en el caso anterior, se pregunta al usuario cada 50 instrucciones si se desea continuar, para evitar que un punto de ruptura situado en una instruccin inaccesible, cuelgue el prograo ma.

2.
2.1.

Mquina Sencilla a
Descripcin de la herramienta o

La herramienta est compuesta por dos mdua o los: el montador (gura 1) y el simulador. El montador permite la edicin de fuentes en eno samblador, as como su compilacin, en un en o torno amigable con resaltado de sintaxis y de errores. El simulador permite ejecutar de forma controlada los programas compilados en el montador, mostrando al usuario en todo momento el estado de la mquina. Para ello cuenta con a las siguientes ventanas: Organizacin o unidad de proceso (o gura 2). Muestra la organizacin de la o Mquina Sencilla, compuesta por los elea mentos bsicos de un computador: mea moria RAM unicada, unidad aritmticoe lgica (ALU), contador de programa o (PC), registro de instrucciones (IR), registros de operandos (A, B), registro de deteccin de cero (FZ) y varios compoo nentes combinacionales. Unidad de control. Muestra la unidad de control de la mquina. Dependiendo de a

En cuanto a la unidad de control de esta primera versin, la herramienta permite al usuao rio elegir si la desea cableada o microprogramada. A su vez, si se elige cableada, se pueden escoger dos autmatas diferentes con distinto o nivel de optimizacin. o La segunda versin extiende el repertorio de o la primera con tres nuevas intrucciones, caracterizadas por tener un unico operando en me moria. Dos de ellas tienen el segundo operando codicado en la propia instruccin, es deo cir, es un inmediato. Las nuevas instrucciones son: CLEAR, que pone a cero una posicin de o memoria; MOVD, que carga una constante en una posicin de memoria y ACUM, que acuo mula una constante en una direccin de meo moria. En este caso la unidad de control slo o puede ser cableada. La ultima versin no posee ningn reper o u torio de instrucciones denido, sino que se proporcionan cuatro instrucciones genricas e (inst0, inst1, inst2 e inst3 ) que el usuario debe congurar, microprogramando cada una de ellas y especicando el nmero de operandos. u Adems, en la ruta de datos se ha aadido un a n registro que permite direccionamiento indirecto. La unidad de control de esta versin slo o o puede ser, obviamente, microprogramada. Se trata de una versin abierta pensada para que o el usuario pueda crear su propio repertorio de instrucciones.

Figura 4: Monitorizacin de se ales o n

Adems, para facilitar el seguimiento de la a ejecucin por parte del usuario, se realzan los o cables que han estado activos en el ultimo ci clo. Asimismo, tambin es posible monitorizar e su contenido en tres formatos distintos: binario, hexadecimal y entero (gura 4). El repertorio de instrucciones es muy bsia co, dada la simplicidad del procesador. Todas las instrucciones del repertorio utilizan direccionamiento directo, ya que la mquina carece a de banco de registros. Como se ha mencionado anteriormente, la herramienta permite simular tres variantes de Mquina Sencilla. Cada versin introduce ligea o ras modicaciones en el repertorio de instrucciones. La primera de ellas, que es la base del resto, cuenta con las siguientes operaciones: Instrucciones aritmticas. Cuenta con una e instruccin de suma (ADD) y una inso truccin de comparacin (CMP ), que aco o tiva el ag FZ dependiendo de si los datos comparados son iguales o no. Instrucciones de transferencia de datos. Proporciona la instruccin MOV, que pero mite mover datos de una posicin a otra o de memoria. Instrucciones de control. Proporciona la instruccin BEQ, que salta a una posicin o o de memoria especicada dependiendo del valor del ag FZ sobre el que opera la instruccin de comparacin. o o

2.2.

Aplicacin docente o

La herramienta Mquina Sencilla slo supone a o conocimientos bsicos de diseo digital, es dea n cir, sistemas combinacionales (multiplexores, sumadores, ALU, . . . ) y secuenciales. Su uso, por tanto, quedar encuadrado en asignaturas a bsicas de arquitectura de computadores y de a diseo digital. n El simulador se ha utilizado con resultados positivos en las asignaturas Sistemas Lgio cos y Fundamentos de Computadores I (1o de Ingenier Informtica e Ingenier de Telea a a comunicacin) del Centro Politcnico Superior o e de la Universidad de Zaragoza.

2.2.1.

Apoyo en las clases de teor a

que se persegu a. 2.2.3. Herramienta de apoyo al estudio

La herramienta Mquina Sencilla sirve de apoa yo al profesor en las clases de teor ya que, a tras explicar los fundamentos del procesador, los alumnos pueden ver un ejemplo real de funcionamiento. El simulador les permite observar como los datos recorren la unidad de proceso, apreciando al mismo tiempo el estado y contenido de la memoria, el valor que poseen los registros, el estado de la unidad de control y el valor de sus seales. n 2.2.2. Prcticas a

Hasta ahora, el contacto de los alumnos con Mquina Sencilla se limitaba a las clases de a teor y no se ten un contacto real con el a a procesador. Gracias a la herramienta, ahora es posible que los alumnos apliquen los conocimientos tericos adquiridos en las sesiones de o prcticas. a Durante el desarrollo del simulador, se ha utilizado en una de las prcticas de la asignaa tura Fundamentos de Computadores I, para evaluar su funcionamiento y corregir errores. Dicha prctica ha consistido en: a Analizar un programa con cdigo autoo modicable para averiguar qu hace, ejee cutndolo posteriormente en el simulador. a Calcular el CPI del programa anterior para cada unidad de control (cableada normal, cableada optimizada y microprogramada). Escribir el microprograma de una instruccin de acumulacin de una constante en o o una posicin de memoria. o A pesar de que la versin que se utiliz no o o era la nal y todav ten gran cantidad de a a fallos, la valoracin media otorgada por los o alumnos ha sido de 7,6. El comentario ms a generalizado entre los alumnos fue que la prctica les result muy util para aanzar sus a o conocimientos de Mquina Sencilla, al poder a seguir la ejecucin de un programa sobre el o simulador que era, precisamente, el objetivo

Uno de los problemas de Mquina Sencilla es a la abstraccin que debe realizar el alumno para o su estudio y comprensin. Esta herramienta se o presenta como fundamental durante el tiempo de estudio, ya que los alumnos pueden escribir sus propios programas y microprogramas y ver su ejecucin paso a paso. o La herramienta est pensada para que puea da ser utilizada sin problemas por el alumno, debido a su facilidad de instalacin y su como pleta ayuda, tanto en el montador como en el simulador. La del montador indica el signicado de los errores que se obtienen al compilar, y otros aspectos de la interfaz de usuario. La del simulador proporciona un tutorial y presenta al usuario las funciones de simulacin bsicas. o a Por otra parte, la herramienta cuenta tambin e con ayuda contextual y con un dilogo de biena venida que gu al estudiante por las diferentes a tareas que se pueden realizar.

3.

Conclusiones

El simulador de Mquina Sencilla facilita a a los alumnos la comprensin de la misma y sirve o de apoyo tanto en la clase de teor como en a, las sesiones de prcticas y en el estudio pera sonal. Los alumnos valoran positivamente la herramienta, as como su utilizacin en prcti o a cas.

Referencias
[1] Eduard Ayguad i Parra, Juan Jos Nae e varro Guerrero, Miguel Valero Garc a, La M`quina senzilla : introducci a a o lestructura b`sica dun computador, a ISBN 84-7653-213-X, Departament dArquitectura de Computadors, UPC, 1992. [2] J. Alastruey, O. Blasco, A. Hurtado, P. Ibnez y V. Vials, COVI: Computador a n Virtual, XIII Jornadas de Paralelismo, Lrida (Espaa), 9-11 Sept. 2002. e n

También podría gustarte