+ All Categories
Home > Technology > Simulador Ms

Simulador Ms

Date post: 29-Jun-2015
Category:
Upload: daniel-remondegui
View: 490 times
Download: 0 times
Share this document with a friend
4

Click here to load reader

Transcript
Page 1: Simulador Ms

Simulador de Maquina Sencilla*

Juan A. Ortega, Natalia Ayuso, Luis M. RamosDpto. Informatica e Ingenierıa de Sistemas - Universidad de Zaragoza

Centro Politecnico Superior - 50.018 Zaragoza

[email protected], [email protected], [email protected]

Resumen

Maquina Sencilla es una herramienta de apoyoa la docencia en cursos basicos de arquitectu-ra de computadores. Esta basada en la simu-lacion de un procesador simple que presentaa los alumnos los bloques funcionales basicosque comprenden un computador. Para llevara cabo esta simulacion, se apoya en la ejecu-cion controlada de programas escritos en unensamblador muy basico.

1. Introduccion

La maquina sencilla fue creada por Juan J.Navarro para ser usada en primer curso de laFacultad de Informatica de Barcelona en 1984.Posteriormente se publico un libro que recogeesta arquitectura pedagogica [1]. El simuladorMaquina Sencilla implementa un entorno quepermite tanto la edicion y compilacion de fuen-tes en ensamblador como su posterior ejecu-cion, pudiendo el usuario conocer el estado delprocesador en todo momento. La herramientapuede simular tres variantes del procesador.La primera es la version base, en la cual seapoyan el resto de versiones. La segunda esuna variacion de la primera en la que se hananadido tres nuevas instrucciones. Por ultimo,dispone de una version microprogramable enla que tanto el comportamiento como el for-mato de las instrucciones debe ser definido porel usuario y que anade un modo de direcciona-miento. Este simulador va dirigido a alumnosde asignaturas basicas de arquitectura de com-putadores y de diseno digital.

*Financiado por el proyecto de innovacion docen-te “Simulador de Procesadores Virtuales para Docen-cia”, convocatoria 2004. Universidad de Zaragoza.

Figura 1: Montador

La interfaz de usuario esta basada en el si-mulador COVI [2] y ha sido pensada para tresescenarios distintos: apoyo al profesor en lasclases teoricas, apoyo al alumno en el estudio yherramienta de practicas de laboratorio. Paraadaptarse a sus diferentes usos, Maquina Sen-cilla dispone de diferentes elementos de ayudaque guıan al usuario a traves del programa.

Maquina Sencilla es de libre distribucion ypuede obtenerse a traves de la pagina web delgrupo de Arquitectura de Computadores de laUniversidad de Zaragoza (gaZ) 1.

Para su funcionamiento requiere 8 Megaby-tes de espacio en el disco duro y sistema ope-rativo Windows (98, NT, 2000 o XP).

1http://webdiis.unizar.es/gaz/docencia/simula.html

Page 2: Simulador Ms

Figura 2: Organizacion

2. Maquina Sencilla

2.1. Descripcion de la herramienta

La herramienta esta compuesta por dos modu-los: el montador (figura 1) y el simulador. Elmontador permite la edicion de fuentes en en-samblador, ası como su compilacion, en un en-torno amigable con resaltado de sintaxis y deerrores.

El simulador permite ejecutar de forma con-trolada los programas compilados en el mon-tador, mostrando al usuario en todo momentoel estado de la maquina. Para ello cuenta conlas siguientes ventanas:

• Organizacion o unidad de proceso (fi-gura 2). Muestra la organizacion de laMaquina Sencilla, compuesta por los ele-mentos basicos de un computador: me-moria RAM unificada, unidad aritmetico-logica (ALU), contador de programa(PC), registro de instrucciones (IR), re-gistros de operandos (A, B), registro dedeteccion de cero (FZ) y varios compo-nentes combinacionales.

• Unidad de control. Muestra la unidad decontrol de la maquina. Dependiendo de

Figura 3: Memoria

la version de Maquina Sencilla que este-mos simulando, podra 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-grama.

• Memoria (figura 3). Permite observar elel programa y los datos en todo momen-to. La instruccion que se esta ejecutandoaparece resaltada.

• Ventanas auxiliares. Hay cuatro ventanasmas que muestran el contenido de algunosregistros y senales del procesador.

En cuanto a la ejecucion controlada, laherramienta permite llevarla a cabo de cuatromodos distintos:

• Ejecucion ciclo a ciclo.

• Ejecucion instruccion a instruccion.

• Ejecucion de un determinado numero deinstrucciones dado por el usuario. En estecaso, cada 50 instrucciones se pregunta alusuario si desea proseguir con la simula-cion.

• Ejecucion hasta breakpoint. El simuladorpermite insertar puntos de ruptura en lasinstrucciones, a traves de la ventana dememoria. Al igual que en el caso anterior,se pregunta al usuario cada 50 instruccio-nes si se desea continuar, para evitar queun punto de ruptura situado en una ins-truccion inaccesible, “cuelgue” el progra-ma.

Page 3: Simulador Ms

Figura 4: Monitorizacion de senales

Ademas, para facilitar el seguimiento de laejecucion por parte del usuario, se realzan loscables que han estado activos en el ultimo ci-clo. Asimismo, tambien es posible monitorizarsu contenido en tres formatos distintos: bina-rio, hexadecimal y entero (figura 4).

El repertorio de instrucciones es muy basi-co, dada la simplicidad del procesador. Todaslas instrucciones del repertorio utilizan direc-cionamiento directo, ya que la maquina carecede banco de registros.

Como se ha mencionado anteriormente, laherramienta permite simular tres variantes deMaquina Sencilla. Cada version introduce lige-ras modificaciones en el repertorio de instruc-ciones. La primera de ellas, que es la base delresto, cuenta con las siguientes operaciones:

• Instrucciones aritmeticas. Cuenta con unainstruccion de suma (ADD) y una ins-truccion de comparacion (CMP), que ac-tiva el flag FZ dependiendo de si los datoscomparados son iguales o no.

• Instrucciones de transferencia de datos.Proporciona la instruccion MOV, que per-mite mover datos de una posicion a otrade memoria.

• Instrucciones de control. Proporciona lainstruccion BEQ, que salta a una posicionde memoria especificada dependiendo delvalor del flag FZ sobre el que opera lainstruccion de comparacion.

En cuanto a la unidad de control de esta pri-mera version, la herramienta permite al usua-rio elegir si la desea cableada o microprogra-mada. A su vez, si se elige cableada, se puedenescoger dos automatas diferentes con distintonivel de optimizacion.

La segunda version extiende el repertorio dela 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 instruccion, es de-cir, es un inmediato. Las nuevas instruccionesson: CLEAR, que pone a cero una posicion dememoria; MOVD, que carga una constante enuna posicion de memoria y ACUM, que acu-mula una constante en una direccion de me-moria. En este caso la unidad de control solopuede ser cableada.

La ultima version no posee ningun reper-torio de instrucciones definido, sino que seproporcionan cuatro instrucciones genericas(inst0, inst1, inst2 e inst3 ) que el usuario de-be configurar, microprogramando cada una deellas y especificando el numero de operandos.Ademas, en la ruta de datos se ha anadido unregistro que permite direccionamiento indirec-to. La unidad de control de esta version solopuede ser, obviamente, microprogramada. Setrata de una version abierta pensada para queel usuario pueda crear su propio repertorio deinstrucciones.

2.2. Aplicacion docente

La herramienta Maquina Sencilla solo suponeconocimientos basicos de diseno digital, es de-cir, sistemas combinacionales (multiplexores,sumadores, ALU, . . . ) y secuenciales. Su uso,por tanto, quedarıa encuadrado en asignaturasbasicas de arquitectura de computadores y dediseno digital.

El simulador se ha utilizado con resultadospositivos en las asignaturas “Sistemas Logi-cos” y “Fundamentos de Computadores I” (1o

de Ingenierıa Informatica e Ingenierıa de Tele-comunicacion) del Centro Politecnico Superiorde la Universidad de Zaragoza.

Page 4: Simulador Ms

2.2.1. Apoyo en las clases de teorıa

La herramienta Maquina Sencilla sirve de apo-yo al profesor en las clases de teorıa ya que,tras explicar los fundamentos del procesador,los alumnos pueden ver un ejemplo real de fun-cionamiento. El simulador les permite observarcomo los datos recorren la unidad de proceso,apreciando al mismo tiempo el estado y con-tenido de la memoria, el valor que poseen losregistros, el estado de la unidad de control yel valor de sus senales.

2.2.2. Practicas

Hasta ahora, el contacto de los alumnos conMaquina Sencilla se limitaba a las clases deteorıa y no se tenıa un contacto real con elprocesador. Gracias a la herramienta, ahoraes posible que los alumnos apliquen los cono-cimientos teoricos adquiridos en las sesiones depracticas.

Durante el desarrollo del simulador, se hautilizado en una de las practicas de la asigna-tura “Fundamentos de Computadores I”, paraevaluar su funcionamiento y corregir errores.Dicha practica ha consistido en:

• Analizar un programa con codigo auto-modificable para averiguar que hace, eje-cutandolo posteriormente en el simulador.

• Calcular el CPI del programa anterior pa-ra cada unidad de control (cableada nor-mal, cableada optimizada y microprogra-mada).

• Escribir el microprograma de una instruc-cion de acumulacion de una constante enuna posicion de memoria.

A pesar de que la version que se utilizo noera la final y todavıa tenıa gran cantidad defallos, la valoracion media otorgada por losalumnos ha sido de 7,6. El comentario masgeneralizado entre los alumnos fue que lapractica les resulto muy util para afianzar susconocimientos de Maquina Sencilla, al poderseguir la ejecucion de un programa sobre elsimulador que era, precisamente, el objetivo

que se perseguıa.

2.2.3. Herramienta de apoyo al estudio

Uno de los problemas de Maquina Sencilla esla abstraccion que debe realizar el alumno parasu estudio y comprension. Esta herramienta sepresenta como fundamental durante el tiempode estudio, ya que los alumnos pueden escri-bir sus propios programas y microprogramas y“ver” su ejecucion paso a paso.

La herramienta esta pensada para que pue-da ser utilizada sin problemas por el alumno,debido a su facilidad de instalacion y su com-pleta ayuda, tanto en el montador como en elsimulador. La del montador indica el significa-do de los errores que se obtienen al compilar, yotros aspectos de la interfaz de usuario. La delsimulador proporciona un tutorial y presentaal usuario las funciones de simulacion basicas.Por otra parte, la herramienta cuenta tambiencon ayuda contextual y con un dialogo de bien-venida que guıa al estudiante por las diferentestareas que se pueden realizar.

3. Conclusiones

El simulador de Maquina Sencilla facilita alos alumnos la comprension de la misma y sirvede apoyo tanto en la clase de teorıa, como enlas sesiones de practicas y en el estudio per-sonal. Los alumnos valoran positivamente laherramienta, ası como su utilizacion en practi-cas.

Referencias

[1] Eduard Ayguade i Parra, Juan Jose Na-varro Guerrero, Miguel Valero Garcıa,La Maquina senzilla : introduccio al’estructura basica d’un computador,ISBN 84-7653-213-X, Departamentd’Arquitectura de Computadors, UPC,1992.

[2] J. Alastruey, O. Blasco, A. Hurtado, P.Ibanez y V. Vinals, COVI: ComputadorVirtual, XIII Jornadas de Paralelismo,Lerida (Espana), 9-11 Sept. 2002.


Recommended