Successfully reported this slideshow.

Simulador Ms

679 views

Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Simulador Ms

  1. 1. Simulador de M´quina Sencilla* a Juan A. Ortega, Natalia Ayuso, Luis M. Ramos Dpto. Inform´tica e Ingenier´ de Sistemas - Universidad de Zaragoza a ıa Centro Polit´cnico Superior - 50.018 Zaragoza e juanortega@able.es, nayuso@unizar.es, luisma@unizar.es Resumen M´quina Sencilla es una herramienta de apoyo a a la docencia en cursos b´sicos de arquitectu- a ra de computadores. Est´ basada en la simu- a laci´n de un procesador simple que presenta o a los alumnos los bloques funcionales b´sicos a que comprenden un computador. Para llevar a cabo esta simulaci´n, se apoya en la ejecu- o ci´n controlada de programas escritos en un o ensamblador muy b´sico. a 1. Introducci´n o La m´quina sencilla fue creada por Juan J. a Navarro para ser usada en primer curso de la Facultad de Inform´tica de Barcelona en 1984. a Posteriormente se public´ un libro que recoge o esta arquitectura pedag´gica [1]. El simulador o M´quina Sencilla implementa un entorno que a Figura 1: Montador permite tanto la edici´n y compilaci´n de fuen- o o tes en ensamblador como su posterior ejecu- La interfaz de usuario est´ basada en el si- a ci´n, pudiendo el usuario conocer el estado del o mulador COVI [2] y ha sido pensada para tres procesador en todo momento. La herramienta escenarios distintos: apoyo al profesor en las puede simular tres variantes del procesador. clases te´ricas, apoyo al alumno en el estudio y o La primera es la versi´n base, en la cual se o herramienta de pr´cticas de laboratorio. Para a apoyan el resto de versiones. La segunda es adaptarse a sus diferentes usos, M´quina Sen- a una variaci´n de la primera en la que se han o cilla dispone de diferentes elementos de ayuda a˜adido tres nuevas instrucciones. Por ultimo, n ´ que gu´ al usuario a trav´s del programa. ıan e dispone de una versi´n microprogramable en o M´quina Sencilla es de libre distribuci´n y a o la que tanto el comportamiento como el for- puede obtenerse a trav´s de la p´gina web del e a mato de las instrucciones debe ser definido por grupo de Arquitectura de Computadores de la el usuario y que a˜ade un modo de direcciona- n Universidad de Zaragoza (gaZ) 1 . miento. Este simulador va dirigido a alumnos Para su funcionamiento requiere 8 Megaby- de asignaturas b´sicas de arquitectura de com- a tes de espacio en el disco duro y sistema ope- putadores y de dise˜o digital. n rativo Windows (98, NT, 2000 o XP). * Financiado por el proyecto de innovaci´n docen- o 1 te “Simulador de Procesadores Virtuales para Docen- http://webdiis.unizar.es/gaz/docencia/simula. cia”, convocatoria 2004. Universidad de Zaragoza. html
  2. 2. Figura 3: Memoria la versi´n de M´quina Sencilla que este- o a mos simulando, podr´ ser cableada o mi- a 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 o grama. • Memoria (figura 3). Permite observar el el programa y los datos en todo momen- 2. M´quina Sencilla a to. La instrucci´n que se est´ ejecutando o a aparece resaltada. 2.1. Descripci´n de la herramienta o • Ventanas auxiliares. Hay cuatro ventanas La herramienta est´ compuesta por dos m´du- a o los: el montador (figura 1) y el simulador. El m´s que muestran el contenido de algunos a montador permite la edici´n de fuentes en en- o registros y se˜ales del procesador. n samblador, as´ como su compilaci´n, en un en- ı o En cuanto a la ejecuci´n controlada, la o 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. o tador, mostrando al usuario en todo momento • Ejecuci´n instrucci´n a instrucci´n. o o o el estado de la m´quina. Para ello cuenta con a las siguientes ventanas: • Ejecuci´n de un determinado n´mero de o u instrucciones dado por el usuario. En este • Organizaci´n o unidad de proceso (fi- o caso, cada 50 instrucciones se pregunta al gura 2). Muestra la organizaci´n de la o usuario si desea proseguir con la simula- M´quina Sencilla, compuesta por los ele- a ci´n. o mentos b´sicos de un computador: me- a • Ejecuci´n hasta breakpoint. El simulador o moria RAM unificada, unidad aritm´tico- e permite insertar puntos de ruptura en las l´gica (ALU), contador de programa o instrucciones, a trav´s de la ventana de e (PC), registro de instrucciones (IR), re- memoria. Al igual que en el caso anterior, gistros de operandos (A, B), registro de se pregunta al usuario cada 50 instruccio- detecci´n de cero (FZ) y varios compo- o nes si se desea continuar, para evitar que nentes combinacionales. un punto de ruptura situado en una ins- • Unidad de control. Muestra la unidad de trucci´n inaccesible, “cuelgue” el progra- o control de la m´quina. Dependiendo de a ma.
  3. 3. En cuanto a la unidad de control de esta pri- mera versi´n, la herramienta permite al usua- o 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 o nivel de optimizaci´n. o La segunda versi´n extiende el repertorio de o la primera con tres nuevas intrucciones, carac- terizadas por tener un unico operando en me- ´ moria. Dos de ellas tienen el segundo operan- do codificado en la propia instrucci´n, es de- o cir, es un inmediato. Las nuevas instrucciones son: CLEAR, que pone a cero una posici´n de o Figura 4: Monitorizaci´n de se˜ ales o n memoria; MOVD, que carga una constante en una posici´n de memoria y ACUM, que acu- o mula una constante en una direcci´n de me- o Adem´s, para facilitar el seguimiento de la a moria. En este caso la unidad de control s´lo o ejecuci´n por parte del usuario, se realzan los o puede ser cableada. cables que han estado activos en el ultimo ci- ´ La ultima versi´n no posee ning´n reper- ´ o u clo. Asimismo, tambi´n es posible monitorizar e torio de instrucciones definido, sino que se su contenido en tres formatos distintos: bina- proporcionan cuatro instrucciones gen´ricase rio, hexadecimal y entero (figura 4). (inst0, inst1, inst2 e inst3 ) que el usuario de- El repertorio de instrucciones es muy b´si- a be configurar, microprogramando cada una de co, dada la simplicidad del procesador. Todas ellas y especificando el n´mero de operandos. u las instrucciones del repertorio utilizan direc- Adem´s, en la ruta de datos se ha a˜adido un a n cionamiento directo, ya que la m´quina carece a registro que permite direccionamiento indirec- de banco de registros. to. La unidad de control de esta versi´n s´lo oo Como se ha mencionado anteriormente, la puede ser, obviamente, microprogramada. Se herramienta permite simular tres variantes de trata de una versi´n abierta pensada para que o M´quina Sencilla. Cada versi´n introduce lige- a o el usuario pueda crear su propio repertorio de ras modificaciones en el repertorio de instruc- instrucciones. ciones. La primera de ellas, que es la base del resto, cuenta con las siguientes operaciones: • Instrucciones aritm´ticas. Cuenta con una e 2.2. Aplicaci´n docente o instrucci´n de suma (ADD) y una ins- o trucci´n de comparaci´n (CMP ), que ac- o o La herramienta M´quina Sencilla s´lo supone a o tiva el flag FZ dependiendo de si los datos conocimientos b´sicos de dise˜o digital, es de- a n comparados son iguales o no. cir, sistemas combinacionales (multiplexores, sumadores, ALU, . . . ) y secuenciales. Su uso, • Instrucciones de transferencia de datos. por tanto, quedar´ encuadrado en asignaturas ıa Proporciona la instrucci´n MOV, que per- o b´sicas de arquitectura de computadores y de a mite mover datos de una posici´n a otra o dise˜o digital. n de memoria. El simulador se ha utilizado con resultados • Instrucciones de control. Proporciona la positivos en las asignaturas “Sistemas L´gi- o cos” y “Fundamentos de Computadores I” (1o instrucci´n BEQ, que salta a una posici´n o o de memoria especificada dependiendo del de Ingenier´ Inform´tica e Ingenier´ de Tele- ıa a ıa valor del flag FZ sobre el que opera la comunicaci´n) del Centro Polit´cnico Superior o e instrucci´n de comparaci´n. o o de la Universidad de Zaragoza.
  4. 4. 2.2.1. Apoyo en las clases de teor´ ıa que se persegu´ ıa. La herramienta M´quina Sencilla sirve de apo- a 2.2.3. Herramienta de apoyo al estudio yo al profesor en las clases de teor´ ya que, ıa Uno de los problemas de M´quina Sencilla es a tras explicar los fundamentos del procesador, la abstracci´n que debe realizar el alumno para o los alumnos pueden ver un ejemplo real de fun- su estudio y comprensi´n. Esta herramienta se o cionamiento. El simulador les permite observar presenta como fundamental durante el tiempo como los datos recorren la unidad de proceso, de estudio, ya que los alumnos pueden escri- apreciando al mismo tiempo el estado y con- bir sus propios programas y microprogramas y tenido de la memoria, el valor que poseen los “ver” su ejecuci´n paso a paso. o registros, el estado de la unidad de control y La herramienta est´ pensada para que pue- a el valor de sus se˜ales. n da ser utilizada sin problemas por el alumno, debido a su facilidad de instalaci´n y su com- o 2.2.2. Pr´cticas a pleta ayuda, tanto en el montador como en el simulador. La del montador indica el significa- Hasta ahora, el contacto de los alumnos con do de los errores que se obtienen al compilar, y M´quina Sencilla se limitaba a las clases de a otros aspectos de la interfaz de usuario. La del teor´ y no se ten´ un contacto real con el ıa ıa simulador proporciona un tutorial y presenta procesador. Gracias a la herramienta, ahora al usuario las funciones de simulaci´n b´sicas. oa es posible que los alumnos apliquen los cono- Por otra parte, la herramienta cuenta tambi´n e cimientos te´ricos adquiridos en las sesiones de o con ayuda contextual y con un di´logo de bien- a pr´cticas. a venida que gu´ al estudiante por las diferentes ıa Durante el desarrollo del simulador, se ha tareas que se pueden realizar. utilizado en una de las pr´cticas de la asigna- a tura “Fundamentos de Computadores I”, para 3. Conclusiones evaluar su funcionamiento y corregir errores. Dicha pr´ctica ha consistido en: a El simulador de M´quina Sencilla facilita a a los alumnos la comprensi´n de la misma y sirve o • Analizar un programa con c´digo auto- o de apoyo tanto en la clase de teor´ como en ıa, modificable para averiguar qu´ hace, eje- e las sesiones de pr´cticas y en el estudio per- a cut´ndolo posteriormente en el simulador. a sonal. Los alumnos valoran positivamente la • Calcular el CPI del programa anterior pa- herramienta, as´ como su utilizaci´n en pr´cti- ı o a 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- e e ci´n de acumulaci´n de una constante en o o varro Guerrero, Miguel Valero Garc´ ıa, una posici´n de memoria. o La M`quina senzilla : introducci´ a a o l’estructura b`sica d’un computador, a A pesar de que la versi´n que se utiliz´ no o o ISBN 84-7653-213-X, Departament era la final y todav´ ten´ gran cantidad de ıa ıa d’Arquitectura de Computadors, UPC, fallos, la valoraci´n media otorgada por los o 1992. alumnos ha sido de 7,6. El comentario m´s a generalizado entre los alumnos fue que la [2] J. Alastruey, O. Blasco, A. Hurtado, P. pr´ctica les result´ muy util para afianzar sus a o ´ Ib´nez y V. Vi˜als, COVI: Computador a˜ n conocimientos de M´quina Sencilla, al poder a Virtual, XIII Jornadas de Paralelismo, seguir la ejecuci´n de un programa sobre el o L´rida (Espa˜a), 9-11 Sept. 2002. e n simulador que era, precisamente, el objetivo

×