Está en la página 1de 8

28/10/2014

Estructura de Computadores
UTILIZACIÓN DE CODE-2

Tema 3. Estructura de computadores

• L3.1 Elementos constitutivos de un procesador.


• L3.2 Funcionamiento del procesador: ejecución de instrucciones.
• L3.3 Diseño de la Unidad de Control. Procesadores integrados.
• L3.4 Lenguaje máquina del procesador CODE2.
• L3.5 Programación de CODE2.
• L3.6 Utilización de CODE2.
• L3.7 Lenguaje ensamblador para el CODE2.
• L3.8 Organización y jerarquía de memoria.
• L3.9 Memoria interna.
• L3.10 Memoria externa.
• L3.11 Conectando todo: estructura de un PC.

Utilización de CODE-2
Alberto Prieto 1
28/10/2014

Implementaciones de ODE y CODE-2

D/3

Panel forntal de CODE-2


Puertos de salida
Interruptor
(OP1, OP2)
on/off

Interruptor
paso a paso

Teclas de
órdenes
(SO)

Biestables indicadores ALU Visualizadores IR y PC Teclado de entrada (IP01)


D/4

Utilización de CODE-2
Alberto Prieto 2
28/10/2014

Tareas realizables por el monitor de CODE-2

• Al pulsar una tecla de órdenes se lanza a ejecución una rutina del


monitor (pequeño sistema operativo).

• Las rutinas del monitor hacen lo siguiente:


– Seleccionar una posición de memoria y visualizar su contenido.
– Cargar información en memoria.
– Seleccionar un registro y visualizar su contenido.
– Cargar información en un registro.
– Ejecutar un programa.

D/5

Tareas asociadas a las teclas de órdenes

• Seleccionar y visualizar una posición de memoria.


– Teclear dirección y pulsar DIRECCION
• Acción: En OP1 aparece la dirección tecleada y en el OP2
el contenido de esa posición.
– Pulsar CONTINUAR
• Acción: se avanza una posición de memoria: aparece
dirección (OP1) y contenido (OP2) de la siguiente
posición.

• Cargar una información en una posición de memoria.


– Teclear la dirección y pulsar DIRECCIÓN.
– Teclear la información a memorizar y pulsar CARGAR.
• Acción: Se memoriza la información tecleada, y se
avanza en una unidad la dirección.
D/6

Utilización de CODE-2
Alberto Prieto 3
28/10/2014

Tareas asociadas a las teclas de órdenes

• Seleccionar los registros.


– Pulsar REGISTROS
• Acción: en OP1 aparece el código del registro 0; es decir 0000,
y en OP2 su contenido.
– Pulsar sucesivamente CONTINUAR,
• Acción: van apareciendo en OP1 el código del siguiente
registro (0001, 0002, ....,000F) y en OP2 su contenido.

• Cargar una información en un registro.


– Seleccionar un registro,
– Teclear la información a memorizar y
– Pulsar CARGAR.
• Acción: Se guarda en el registro seleccionado la información
tecleada, y se avanza al siguiente registro.

D/7

Tareas asociadas a las teclas de órdenes

• Ejecutar un programa.
– Introducir en el teclado (IP01) la
dirección de inicio del programa Se
pulsar EJECUTAR.
• Acción: Se inicia la ejecución del
programa (se ejecuta una instrucción
de salto a la dirección de inicio del
programa: PC ←dirección del
programa)
– En modo “paso a paso” al final de la
ejecución de cada instrucción Code2
entra en estado de espera, y para
seguir debe pulsarse CONTINUAR.

D/8

Utilización de CODE-2
Alberto Prieto 4
28/10/2014

Ejemplo de carga y ejecución de un programa

• Planteamiento del problema:


– Hacer un programa que:
• Muestre por el puerto de salida OP1 el texto “CODE”
• Muestre por el puerto de salida OP2, sucesivamente:
0000, 0001, 0002, …. FFFF, 0000, 0001, …

• Análisis
– Cargar en un registro “C0DE”, y visualizarlo en OP01
– Cargar en un registro H’0000, visualizar su contenido en OP2 e
incrementar de 1 en 1.
D/9

Organigrama y asignación de registros


inicio
• Parámetros iniciales:
– para incrementar el contador Parámetros iniciales: r1  0001
• r1  0001 r2  CODE; r3  0000

– texto que aparece en OP1


• r2  CODE OP01  r2
– Contador a
• r3  0000
OP02  r3

• El programa lo ubicamos a partir de H’0000.


r3  r3 +1

• A pesar de lo sencillo del programa, el


organigrama nos permite observar con rD  (a)
facilidad que se puede hacer una mejora,
para reducir el tiempo de ejecución. saltar

D / 10

Utilización de CODE-2
Alberto Prieto 5
28/10/2014

Organigrama inicio

Parámetros iniciales: r1  0001


r2  CODE; r3  0000
• La mejora consiste en sacar
OP01  r2
rD  (a) fuera del bucle

rD  (a)
a

OP02  r3

r3  r3 +1

saltar

D / 11

Programa en nemónicos y código máquina

Dirección Nemónico Máquina


0000 LLI, r2,DE 22DE
0001 LHI r2,CO 32C0
0002 OUT OP01,r2 5201
0003 LLI, r1,01 2101
0004 LLI r3,00 2300
0005 LLI rD,06 2D06
0006 OUT OP02,r3 5302
0007 ADDS r3,r3,r1 6331
0008 BR C000

D / 12

Utilización de CODE-2
Alberto Prieto 6
28/10/2014

Programa a cargar en memoria

Dirección Instrucciones máquina


0000 22DE
0001 32C0
0002 5201
0003 2101
0004 2300
0005 2D06
0006 5302
0007 6331
0008 C000

D / 13

Entorno integrado de programación y emulación de CODE-2.


Permite:
• Visualizar cualquier registro, puerto de E/S y
contenido de memoria
– de forma mucho más sencilla que a través
del panel frontal.

• Cargar directamente los programas a partir de


un fichero “.EHC” ó “.HEX”
– así el usuario tenga que teclear
directamente cada instrucción.

• Incluye un Editor de textos donde podemos


escribir, ensamblar y depurar los errores
tipográficos de nuestro programa.
– Para ello, seleccionamos la pestaña Editor
y escribimos nuestro programa en
lenguaje ensamblador de CODE-2.
D / 14

Utilización de CODE-2
Alberto Prieto 7
28/10/2014

Resumen y conclusiones

• Esta lección la hemos dedicado a presentar el funcionamiento de un emulador de CODE-2


– Un emulador de un computador A es un programa que simula el comportamiento de
este computador A en otro computador B.
• CODE-2 dispone de teclas de órdenes que lanza a ejecutar rutinas de un monitor que nos
permiten hacer cosas tales como: visualizar contenidos de memoria o registros, cargar
valores directamente en memoria o registros y ejecutar programas.
• Hemos realizado un pequeño programa y hemos puesto en práctica los conceptos
expuestos.
• También hemos descrito brevemente un entorno de programación y emulación integrado.
• El entorno de programación y emulación de CODE-2 esta a libre disposición en la página
web de este curso:
– http://atc.ugr.es/pages/personal/propia/alberto_prieto/videoclases
– También el entorno puede ejecutarse desde Linux a través de Wine
(http://www.winehq.org/). Para ello tecleamos: wine code2_entorno.exe

15

Utilización de CODE-2
Alberto Prieto 8

También podría gustarte