x
1

Code-2



CODE-2 (Computador Didáctico Elemental, versión 2), y su predecesor ODE son dos procesadores ideados por los profesores Alberto Prieto y Antonio Lloris, de la Universidad de Granada, para facilitar la compresión del funcionamiento y el diseño hardware de un computador.

Ambos procesadores son de tipo RISC, con un formato de instrucciones completamente regular, y con 16 instrucciones máquina. La longitud de palabra (tanto de la ALU como de la memoria) de ODE es de 12 bits, mientras que la de CODE-2 es de 16 bits.

La concepción y diseño de estos ordenadores se realizó con los siguientes objetivos:

Existe una abundante documentación sobre CODE-2, así como material didáctico (ensamblador cruzado, emulador, etc.) definido como software libre. Además hay una versión comercializada del mismo.

La concepción del Ordenador Didáctico Elemental (ODE) fue realizada en 1982 por los profesores Alberto Prieto y Antonio Lloris de la Universidad de Granada, habiendo obtenido por esta idea un accésit en el Concurso Nacional de Módulos Experimentales Destinados al Uso y Aprendizaje de la Informática convocado el año citado por FUNDESCO (Fundación Social para el Desarrollo de las Comunicaciones, de la Compañía Telefónica).

El proyecto de ODE fue perfeccionado y se abordó su diseño e implementación completa con la colaboración de los alumnos Francisco Gómez Mula y Francisco José Pelayo Valle (en la actualidad Profesor Titular y catedrático, respectivamente, del Departamento de Arquitectura y Tecnología de Computadores de la Universidad de Granada). El trabajo desarrollado quedó descrito en diversas publicaciones.[1][2][3]

La difusión de ODE se asentó con la aparición del libro de texto: Prieto, A.; Lloris, A.; Torres, J.C.: Introducción a la Informática, McGraw-Hill, 1989; donde se describía el funcionamiento, lenguaje máquina, lenguaje ensamblador y el diseño de las distintas unidades del ordenador. ODE gozó de gran popularidad entre los alumnos; llegando incluso a realizar un cortometraje de ciencia ficción titulado ODE: El día del juicio final[4]​ (Figura 1)

En el año 2001 se desarrolló una nueva versión del ODE que se denominó CODE-2 (Computador Didáctico Elemental, versión 2), apareciendo descrito completamente en la tercera edición del texto citado anteriormente.[5]

En la definición del repertorio de instrucciones máquina y en el desarrollo de CODE-2 colaboraron, con el profesor Prieto, los también profesores Antonio Cañas, Julio Ortega, Francisco Pelayo y Francisco Gómez Mula.[6][7]​ El alumno Antonio Martínez Álvarez (actualmente profesor de la Universidad de Alicante) se hizo cargo de la realización de un emulador y un ensamblador de CODE-2, así como de todo un entorno didáctico (denominado ECODE)[8]​ que permite comprobar el funcionamiento tanto externo como interno del computador, y que puede ser descargado como software libre.

Además. se han realizado diversas implementaciones de CODE-2 utilizando distintas tecnologías y arquitecturas, en las que también intervinieron Begoña del Pino y Javier Díaz.[9][10][11]

Posteriormente Pedro Castillo utilizó el CODE-2 para experimentar en diseño de procesadores utilizando computación evolutiva;[12]​ y Héctor Pomares, contando con la colaboración de las estudiantes Lidia López Mansilla y Sara Egea Serrano actualizo el entorno software,[13][14]​ que incluye el simulador de Antonio Martínez Álvarez y un ensamblador realizado por el alumno Andrés Jiménez Hubeaux.

En la Figura 2 se muestra un esquema simplificado de CODE-2, que incluye los elementos accesibles directamente desde el lenguaje máquina; estos son:

El repertorio de instrucciones de CODE-2 considera cinco tipos de formatos (F0 a F4), utilizando cada instrucción uno de ellos (ver Figura 3). Todas las instrucciones comienzan con un campo de 4 bits que corresponde al código de operación (codop). Por tanto CODE-2 puede tener como máximo 16 instrucciones. Los otros campos de la instrucción hacen referencia a los operadores de la instrucción y dependen del formato asociado a la instrucción.

En la Figura 3, cada operando que comienzan por r representa un registro (r0 a rF), el operando v corresponde a un valor inmediato de 8 bits, y cnd hace alusión a un código de condición de salto o llamada a subrutina de acuerdo con los códigos que se dan en la Figura 4.

El repertorio de las 16 instrucciones máquina de CODE-2 es el que se muestra en la Figura 5. Cualquier programa (en código máquina) de CODE-2 solo puede contener instrucciones tomadas de entre las 16 del repertorio. Cada instrucción queda identificada por un código de operación (codop) de 4 bits (o una cifra hexadecimal), y se forma de acuerdo con los formatos de la Figura 3: primero se incluyen los 4 bits del codop, y luego los códigos que identifican los operandos de dicha instrucción (0000 para el registro r0, 0001 para el registro r1,.... 1111 para el registro rF). Por ejemplo, la instrucción que sume el contenido de los registros r4 y r5 y el resultado lo almacene en el registro rF es la siguiente: 0110 1111 0100 0101 (Código de operación de sumar: 0110; código del registro del resultado rF: 1111, código del registro del primer sumando r4: 0100, y código del registro del segundo sumando: 0101). En código hexadecimal esa instrucción sería: 6F45.

Para facilitar la redacción de un programa, previamente a codificarlo en binario, se puede describir con un lenguaje símbólico en el que en vez de códigos binarios se utilizan nemónicos para los códigos de operación, y no es necesario poner en binario los códigos de los operandos. La instrucción anterior (6F45) en nemónicos sería: ADDS rF,r4,r5.

→ Las operaciones que hace cada una de las instrucciones son las siguientes:


Para la mejor comprensión de CODE-2 se han desarrollado diversas herramientas, como un emulador y un ensamblador cruzado que están catalogados como software libre[15]​ (Licencia pública general GNU). En la Figura 6 se muestra la interfaz de usuario de uno de los emuladores construidos.

Los diseños de ODE y CODE-2 no solo se realizaron para facilitar el aprendizaje del funcionamiento interno de un ordenador y el uso de su lenguaje máquina, sino que además su diseño completo está descrito en las referencias[16]​ y.[17]

También ODE se construyó, utilizando circuitos de media y gran escala (ver Figura 7), estando operativo durante 15 años.

Respecto a CODE-2 se dispone de una versión comercializada desarrollada con un circuito integrado (FPGA) por la empresa Seven Solutions (Figura 8)



Escribe un comentario o lo que quieras sobre Code-2 (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!