domingo, 29 de septiembre de 2013

Simuproc, " Simulador de procesador"

Autor : Felipe Hernández
Competencia (nivel I): Simulación CPU

¿Que es simuproc?

Simuproc es un Sistema ensamblador o simulador hipotético basado 16 bits para el
funcionamiento de los microprocesador,internamente, el cual funciona a
través del sistema numeración binario con esto podemos crear múltiples
tareas matemáticas y utilizarlo .
Simuproc contiene mas de 50 funciones para el usuario y infinitas
posibilidades de prueba.
veremos a continuación como convertir un algoritmo en un
código ensamblador.

En si el lenguaje ensamblador trabaja directamente con el procesador , este es de bajo nivel y trabaja bajo códigos binarios.
Para mas información sobre el lenguaje ensamblador:
http://es.wikipedia.org/wiki/Lenguaje_ensamblador



Descripción de la actividad:

Crear un programa en simuproc que entregue la raíz cuadrada de un número ingresado según el siguiente algoritmo:

double raiz(double x){
double r = x, t = 0;
while (t != r){
t = r;
r = (x/r + r)/2;
}
return r;
}



Codigo Basado en el Algoritmo Anterior ( solución ).

msg "ingrese numero para sacar su raiz cuadrada"
in ax,1 ;ingreso el numero x
stf 080 ; lo guardo en dir 070 (esta seria la x)
stf 082 ; variable r
ldf 084 ; variable t
subf 082 ; le resto r
jeq 00F ; salto si es verdadero, si no comienza el while
ldf 082 ; cargo r
stf 084 ; cambio valores t=r
ldf 080 ; cargo la x
divf 082 ; x / r
addf 082 ; + r
divf 086 ; / 2
stf 082 ; se almacena en la variable r
jmp 004 ; finalizo el ciclo, salto a la dir 4
msg ' la raiz sera '
ldf 082
out 1,ax
hlt
#084
0 ;valor 0 de 32bits asignado a t
0
0100000000000000 ;valor 2 de 32bits usado while
0000000000000000


Demostracion:


                   En este imagen podemos observar como traspasamos el codigo a la memoria.




Seleccionamos a que numero deseamos sacarle la raíz cuadrada.



Podemos observar como se procesa la información.



Finalmente nuestro resultado.


Conclusión/Reflexion:

Con este sistema ensamblador podemos observar como un
procesador realiza y simula cada función mediante
operaciones básicas escritas por teclado.
Además de reforzar el sistema nivel bajo de la
programación creando así una visualización de cómo se
va actualizando la programación año por año.
En si simuproc muestra a traves de animaciones cada
ciclo dado y podemos hacernos una idea del esfuerzo que
requiere un procesador para realizar tareas básicas como
sacar la raíz cuadrada como pudimos ver anteriormente.
Fue un real desafió utilizar este sistema ensamblador
ya que sale de lo común.

1 comentario: