12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ECODE: Entorno Integrado <strong>de</strong> Desarrollo para CODE-2Antonio Martínez Alberto Prieto Héctor Pomares Pedro CastilloDepartamento <strong>de</strong> Arquitectura y Tecnología <strong>de</strong> ComputadoresE.T.S.I. InformáticaUniversidad <strong>de</strong> GranadaE-18071 Granada. e-mail: aprieto@ugr.esResumenEn este artículo, se <strong>de</strong>scribe el funcionamiento y<strong>la</strong>s características más sobresalientes <strong>de</strong> ECODE,un entorno integrado <strong>de</strong> <strong>de</strong>sarrollo (IDE) para elComputador Didáctico Elemental CODE-2.ECODE permite editar, ensamb<strong>la</strong>r y <strong>de</strong>purarprogramas escritos en lenguaje ensamb<strong>la</strong>dor <strong>de</strong>CODE-2, al modo tradicional, a<strong>de</strong>más <strong>de</strong> emu<strong>la</strong>r<strong>la</strong> ejecución <strong>de</strong> programas en lenguaje máquina.El entorno pue<strong>de</strong> trabajar en dos modos: modoreal y modo ampliado, con el que se visualizan ymonitorizan los contenidos <strong>de</strong> cualquier elementointerno <strong>de</strong>l computador, pudiendo en cualquierinstante interactuar con ellos, modificándolosdirectamente.1. IntroducciónCODE-2, es <strong>la</strong> segunda versión <strong>de</strong> un ComputadorDidáctico Elemental diseñado en el Departamento<strong>de</strong> Arquitectura y Tecnología <strong>de</strong> Computadores <strong>de</strong><strong>la</strong> Universidad <strong>de</strong> Granada [1,2]. Se trata <strong>de</strong> uncomputador <strong>de</strong> tipo von Newmann, que contiene<strong>la</strong>s unida<strong>de</strong>s típicas <strong>de</strong> este mo<strong>de</strong>lo: entradas,salidas, unidad <strong>de</strong> control, unidad <strong>de</strong> procesamiento<strong>de</strong> datos y memoria para datos einstrucciones. La filosofía <strong>de</strong> concepción y diseño<strong>de</strong> este computador, es eminentemente pedagógica,y está completamente <strong>de</strong>scrito a nivel <strong>de</strong>lenguaje máquina, lenguaje ensamb<strong>la</strong>dor ymicromáquina en [2]. La longitud <strong>de</strong> pa<strong>la</strong>bra <strong>de</strong>CODE-2 es <strong>de</strong> 16 bits, y dispone <strong>de</strong> tan sólo 16instrucciones máquina. Los elementos a los que setiene acceso directamente <strong>de</strong>s<strong>de</strong> el nivel <strong>de</strong><strong>de</strong>scripción <strong>de</strong> lenguaje máquina son:• Un banco <strong>de</strong> 16 registros (r0 a rF).• Unidad Aritmético Lógica (ALU), que realiza<strong>la</strong> operaciones que más a<strong>de</strong><strong>la</strong>nte <strong>de</strong>tal<strong>la</strong>remos.La ALU tiene asociados biestables indicadores,que funcionan <strong>de</strong> forma usual, <strong>de</strong>acuerdo con los resultados obtenidos en el<strong>la</strong>:biestable <strong>de</strong> cero (Z), <strong>de</strong> signo (S), <strong>de</strong> acarreo(C) y <strong>de</strong> <strong>de</strong>sbordamiento (V).• Memoria Principal: <strong>de</strong> 2 16 =64Kpa<strong>la</strong>bras <strong>de</strong> 16bits (128 Kbytes), direccionable por pa<strong>la</strong>bras.• Puertos <strong>de</strong> entrada y salida: Se admiten 256puertos <strong>de</strong> entrada (IP00...IPFF) y otros 256puertos <strong>de</strong> salida (OP00...OPFF).El lenguaje máquina <strong>de</strong> CODE-2 se compone<strong>de</strong> 16 instrucciones, todas el<strong>la</strong>s <strong>de</strong> 16 bits, y son<strong>la</strong>s siguientes:• Transferencia <strong>de</strong> datos: Carga en un registro<strong>de</strong> un contenido <strong>de</strong> memoria (LD),almacenamiento <strong>de</strong>l contenido <strong>de</strong> un registroen memoria (ST), carga inmediata en registro(byte alto, LLI, o byte bajo, LHI), entrada (IN)y salida (OUT).• Aritmético-Lógicas: Suma (ADDS), resta(SUBS), NAND (NAND), y <strong>de</strong>sp<strong>la</strong>zamientoslógicos y aritméticos (SHL, SHR, SHRA).• Bifurcaciones incondicionales y condicionales:salto (B-), l<strong>la</strong>mada a subrutina (CALL-),retorno (RET) y• Parar (HALT).A continuación se presenta <strong>la</strong> primera versión<strong>de</strong> ECODE (Entorno CODE), un conjuntointegrado <strong>de</strong> herramientas para <strong>de</strong>sarrol<strong>la</strong>rprogramas en lenguaje ensamb<strong>la</strong>dor (<strong>de</strong>finidosegún el estándar IEEE 694 [4]) o máquina,<strong>de</strong>purarlos, y analizar con <strong>de</strong>talle el comportamientodinámico <strong>de</strong> CODE-2 al ejecutarprogramas en código máquina.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!