Articulo de referencia

Simulación de CPU

[http://www.eric.ed.gov/ERICWebPortal/custom/portlets/recordDetails/detailmini.jsp?_nfpb=true&_&ERICExtSearch_SearchValue_0=EJ506897&ERICExtSearch_SearchType_0=no&accno=EJ506897...

CPU Sim es un entorno de desarrollo de software para la simulación de ordenadores sencillos. Fue desarrollado por Dale Skrien para ayudar a los estudiantes a comprender las arquitecturas de ordenadores . Con esta aplicación, el usuario puede simular CPU sencillas, tanto nuevas como existentes. Los usuarios pueden crear nuevas CPU virtuales con instrucciones personalizadas en lenguaje máquina , implementadas mediante una secuencia de microinstrucciones. CPU Sim permite al usuario editar y ejecutar programas en lenguaje ensamblador para la CPU que se está simulando.

CPU Sim se ha programado utilizando el paquete Java Swing . Esto significa que es independiente de la plataforma (se ejecuta en cualquier plataforma que tenga instalada una máquina virtual Java ).

CPU de muestra Wombat 1

Se incluye un sistema informático de ejemplo, el Wombat 1, con CPU Sim . Dispone de los siguientes registros:

El lenguaje ensamblador del ordenador Wombat 1 consta de 12 instrucciones. Cada instrucción se almacena en 16 bits; los primeros 4 son el código de operación y los otros 12 son el campo de dirección.

Características

CPU Sim tiene las siguientes características:

  • Permite la creación de una CPU (virtual), incluyendo los registros, la RAM, las microinstrucciones y las instrucciones de máquina;
  • Permite la creación, edición y ejecución de programas en lenguaje ensamblador para la CPU simulada;
  • Permite avanzar y retroceder en la ejecución de programas en lenguaje ensamblador.

Programa de ejemplo para la CPU Wombat 1

Este programa lee números enteros hasta que encuentra un número negativo. Luego, muestra la suma de todos los números enteros positivos.

Inicio: leer // leer n -> acc jmpn Hecho // salta a Hecho si acc < 0. agregar suma // agregar suma a la cuenta almacenar suma // almacenar la nueva suma Salto Iniciar // volver atrás y leer el siguiente número Listo: cargar suma // cargar la suma final escribir // escribir la suma final detener // detener suma: .datos 2 0 // Ubicación de 2 bytes donde se almacena la suma 

En ocasiones también se utiliza la siguiente modificación del programa:

Inicio: leer // leer n -> acc jmpz Hecho // salta a Hecho si nacc es 0. agregar suma // agregar suma a la cuenta almacenar suma // almacenar la nueva suma Salto Iniciar // volver atrás y leer el siguiente número Listo: cargar suma // cargar la suma final escribir // escribir la suma final detener // detener suma: .datos 2 0 // Ubicación de 2 bytes donde se almacena la suma 

Este puede usar una entrada negativa para restar, o 0 para romper el bucle.

Véase también

Referencias

  1. CPU SIM: Un simulador informático para usar en una clase introductoria de organización y arquitectura de computadoras. Autores: Skrien, Dale
  • Sitio web oficial
  • Repositorio de código fuente de GitHub
  • Lista de reproducción de CPUSim en YouTube
  • Applet del simulador de CPU