PIPPIN

15
INVESTIGACIÓN Simulador: PIPPIN Elaboró: Yesenia Guadalupe Balderas Ortigosa Roberto Omar Eguia de León Rosi Estrella Estrada Medrano Julio César Juárez Villanueva Docente: Ing. Martín Luis Ledezma Hernández Carrera: Ingeniería en Sistemas Computacionales Grupo: Sexto Semestre Unidad 4: Simuladores en Ensamblador Semestre: Enero-Junio 2011

Transcript of PIPPIN

Page 1: PIPPIN

INVESTIGACIÓN

Simulador: PIPPIN

Elaboró:

Yesenia Guadalupe Balderas Ortigosa

Roberto Omar Eguia de León

Rosi Estrella Estrada Medrano

Julio César Juárez Villanueva

Docente: Ing. Martín Luis Ledezma Hernández

Carrera: Ingeniería en Sistemas Computacionales

Grupo: Sexto Semestre

Unidad 4: Simuladores en Ensamblador

Semestre: Enero-Junio 2011

Page 2: PIPPIN

PIPPIN

Page 3: PIPPIN

INTRODUCCION

Page 4: PIPPIN

El simulador PIPPIN traduce un programa escrito en el lenguaje

ensamblador PIPPIN y simula su ejecución, mostrando cómo se

ejecuta el programa en la máquina.

Page 5: PIPPIN

SIMULADOR PIPPIN

Page 6: PIPPIN

PIPPIN es un simulador de una computadora simple que respeta la

arquitectura Von Neumann. El simulador es un programa escrito en el

lenguaje de alto nivel JAVA que se ejecuta como un applet en una

página HTML. Pertenece al libro “The Analitical Engine – An

Introduction to Computer Science” de Decker & Hirshfield.

El simulador consta de un espacio de memoria y un conjunto de

componentes que – mínimamente – funcionan como una CPU (UC –

Unidad de Control y UAL – Unidad Aritmético Lógica). A efectos

didácticos, la memoria (RAM) se divide en dos partes. Las direcciones

iniciales (de 0 a 110) permiten almacenar instrucciones de programa y

las finales a los datos (W, X, Y, Z, T1, T2, T3 y T4). Las direcciones de

memoria son de 16 bits. El registro de instrucciones es de 16 bits, por

lo cual la palabra es de 2 bytes.

Page 7: PIPPIN

La UC está compuesta por el decodificador capaz de interpretar las

instrucciones y organizar los ciclos de máquina y por un MUX, capaz

de seleccionar la operación a ejecutar en la UAL.

La UAL posee dos registros internos, por eso trabaja utilizando el

registro acumulador ACC. Los valores leídos de la memoria son

puestos en ACC y las operaciones de suma son siempre hechas

teniendo en cuenta el valor disponible en ACC y un valor de

memoria. Posee dos registros internos que no son visibles desde el

exterior.

Complementariamente, existen dos registros más: el Registro de

Instrucciones (IR), donde se almacena el código de la instrucción a

ejecutar (leída de memoria) y el Contador de Programa (PC).

Las líneas que comunican todos los componentes representan los

buses del sistema. Aquí se puede ver que no se encuentran divididos

en buses de direcciones, datos y control sino que se encuentran

todos en uno.

Page 8: PIPPIN
Page 9: PIPPIN

MODO DE OPERACIÓN

Page 10: PIPPIN

Para operar el simulador se requiere de un programa y un conjunto de

datos de entrada. El programa se escribe instrucción por instrucción a

partir de la posición de memoria 0 y los datos de entrada se ingresan en

las posiciones especiales antes descriptas.

El programa se puede ejecutar en modo continuo (Play) o en modo

paso a paso (Step), para visualizar el resultado de cada instrucción

ejecutada. Además, se pueden visualizar datos e instrucciones en

notación binaria (Binary) o en símbolos más inteligibles (Symbolic). Aquí

es interesante observar que la visualización en binario se la puede

corresponder con el lenguaje máquina, donde tanto instrucciones como

datos se encuentran expresadas como códigos numéricos. Por otra

parte, la visualización simbólica corresponde al lenguaje ensamblador

del simulador, el cual resulta más sencillo de interpretar.

Finalmente, el simulador permite almacenar (Save) el estado de la

memoria en un archivo local para su posterior recuperación (Open) y

utilización.

Page 11: PIPPIN

EJEMPLO SENCILLO

Page 12: PIPPIN
Page 13: PIPPIN
Page 14: PIPPIN

Paso PC IR UAL

R1|OP|R2

ACC Z

1 2 LOD W = 10 10 0

2 4 ADD X 10 + 17 27 0

3 6 STO Z 27 27

4 8 HLT 27 27

Page 15: PIPPIN