Este Simulador Hipotético muestra como funciona un procesador internamente.
En el cual se puede ver que realiza este en cada Ciclo.
El Ciclo de un Procesador consta de:
1. El ciclo de Fetch
-Va al PC
-Va a la dirección que apunta el PC
-Hace IR = MEM[PC]
-Incrementa PC
2. El ciclo de Ejecución
-Si tiene que ir a Memoria
-va a Memoria
-ejecuta instrucción
-almacena resultados.
Que es el ensamblador o Assembler?
El assembler es un lenguaje de programación de bajo nivel.
Necesitas saber un Poco de la estructura de un computador para poder entender algo.
La CPU es el corazón de un computador, casi todas las computaciones ocurren dentro de esta. La memoria Ram es el lugar donde los programas están cargados para poder ser ejecutados.
La CPU trabaja usando binario. Electrónicamente esto es hecho con switches que están o encendidos o apagados. Esto es representado por ceros y unos. Un solo BIT o digito binario requiere un cable o switch dentro de la CPU. Usualmente los datos son manipulados en BYTES o múltiplos de bytes. Un byte es un grupo de ocho bits. Un byte luce así: 01101011
Esto es un inconveniente para leer, decir y escribir, así que los programadores usan hexadecimal para representar los bytes. Convertir entre binario y hexadecimal no es difícil. Primero se divide el byte en dos nybbles (Medio byte) así:
0110 1011
Luego usando la siguiente tabla:
BINARIO HEXADECIMAL DECIMAL
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15
0110 1011 = 6B
Gracias a la cantidad de instrucciones que soporta el SimuProc tienes muchas posibilidades para resolver bastantes problemas y hacer una gran variedad de programas, y como se trata de un Simulador puedes programar sin miedo a equivocarte y hacerle un daño a tu computador.
Empezemos a Programar!
Para empezar a programar primero necesitas tener un problema a resolver, luego planteas un algoritmo o pseudocódigo que resuelva dicho problema. Teniendo ya el algoritmo, procedes a convertirlo en assembler, esto no es muy difícil, en la pagina de Programas para el SimuProc puedes ver varios ejemplos.
El simulador solo entiende lenguaje ensamblador(assembler).
Para ejecutar programas en el simulador, hay que escribirlos primero en este lenguaje. En la sgte página explico cada instrucción con sus parámetros si los necesita para que pueda comenzar a escribir los programas.
Luego de tener el programa ya en ensamblador se carga en el simulador, ya sea desde un archivo, usando el Editor interno ó entrándole las instrucciones manualmente.
Como crear programas en SimuProc:
Se pueden entrar instrucciones manualmente desde la ventana ppal, pero la manera mas fácil es hacerlo desde El editor 2. Entramos a los Editores presionando el botón Editor
Siglas:
PC: Program Counter
También conocido como Instruction Pointer, este contiene la próxima dirección de memoria a ejecutar.
IR: Instruction Register
Es donde se decodifica e interpreta la instrucción y sus parámetros.
en la barra de herramientas.
En el panel derecho (Editor 2) podremos escribir el programa, las instrucciones serán resaltadas; puedes presionar el botón derecho del Mouse en este editor para acceder a más opciones.
Después de escribir tu programa, procedes a enviarlo al Editor 1 usando el botón
, ya aquí puedes observar como va a quedar distribuido tu programa en memoria.
Para finalmente enviarlo a memoria presionas el botón .
Si tu programa no presenta errores de sintaxis, este pasará inmediatamente a la memoria de SimuProc.
En el cual ya podrás comenzar la simulación.
Luego de tener el programa ya cargado en la memoria simulada del procesador, se puede salvar en un archivo .SMP o .ASM desde el editor que el simulador crea para no tener que volver a escribir el programa nuevamente.
SimuProc es Freeware (Gratis), Puede ser usado y distribuido libremente.
(c)2003 Vlaye