materias:75:03:parcial_1_20051118_1
Tabla de Contenidos

Examen Parcial - 75.03. Organización del Computador

Cátedra: Saubidet
Fecha: Segunda Oportunidad - Segundo Cuatrimestre 2005
Día: 18/11/2005

Esta página está incompleta; podés ayudar completando el material.

Enunciado

Punto I

Abacus: [ 5 ptos. ]

Se tiene una lista (L) cuya dirección de inicio se encuentra almacenada en la celda 200. Los nodos de la lista (L) representan la mantisa de números binarios de punto flotante de precisión simple. Cada nodo está formado por siete celdas contiguas en memoria:

Las seis primeras celdas contienen 6 dígitos hexadecimales (uno en cada celda) que corresponden a cada uno de los nibbles de la mantisa de un número binario de punto flotante de precisión simple. La séptima celda contiene la dirección del siguiente nodo de la lista. El final de la lista (L) se indica con un valor -1 en la séptima celda del último nodo. Se sabe que todos los binarios de punto flotante representados en la lista tienen la misma característica que se encuentra almacenada en dos celdas contiguas que comienzan en la celda 201. Todos los binarios de punto flotante representados son positivos.

Se pide realizar un programa ABACUS con punto de carga en la celda 300 que recorra la lista (L) y sume todos los binarios de punto flotante de precisión simple y almacene el resultado en un vector (V) a partir de la celda 400. Tener en cuenta que la suma puede provocar que la característica resultante difiera de la oríginal.

Datos de la máquina: L(RPI) = 12 bits; L(CO) = 4 bits.

Códigos de operación:
0 - Carga Inmediata
1 - Carga
2 - Almacenar
3 - Suma
6 - Not (Ac)
7 - Bifurcación si (Ac) = 0
8 - Bifurcación si (Ac) > 0
9 - Bifurcación si (Ac) < 0
F - Fin de programa

Punto II

Sistemas Numéricos: [2,5 ptos.]

Se tiene la siguiente secuencia de caracteres EBCDIC. Su codificación hexadecimal representa una cadena de 2 BPF c/signo de 32 bits. (sin superposiciones)

7<$J00R#

Se pide:

  1. Indicar cuáles son los números almacenados en base 10. [0,5 ptos.]
  2. Restar ambos números en formato BPF c/signo de 32 bits indicando la validez del resultado. [1 pto.]
  3. Si es posible, expresar el resultado hallado en “2” en formato empaquetado y dar su configuración octal. [1 pto.]

Punto III

Sistemas Numéricos: [2,5 ptos.]

El siguiente es el contenido de memoria de una IBM/370 que ocupa desde la dirección 61A(16) a la 621(16), ambas inclusive:

01303111003033033311230110030122

Se pide:

  1. Indique en qué base se encuentra la cadena. [0,5 ptos.]
  2. Tomar el zoneado de mayor longitud y el empaquetado de mayor longitud e indicar cuales son los números almacenados en base 10 en ambos casos. [1 pto.]
  3. Sumar los números obtenidos en el punto anterior en formato BPFlotante de precisión simple y dar su configuración hexadecimal. [1 pto.]

IMPORTANTE: Para aprobar el parcial es necesario tener correctamente resuelto el 60% del mismo y como mínimo 40% de cada tema. (Abacus y Numéricos) Las respuestas que no estén justificadas o estén mal justificadas se considerarán erróneas. Por favor, lea bien el enunciado.

Punto IV

Matriz imagen: [8 ptos. ]

Se tiene una matriz cuadrada de 70 filas por 70 columnas (Inicio en X=l,Y=1) que contiene información de los puntos de una imagen (píxeles) ya cargada en memoria. Cada pixel de la imagen está formado por 3 valores que determinan el color del mismo:

Intensidad de color Rojo - 8 bits en BPF s/signo
Intensidad de color Verde - 8 bits en BPF s/signo
Intensidad de color Azul - 8 bits en BPF s/signo

Se pide codificar un programa assembler que realice lo siguiente:

  1. Genere una nueva matriz del mismo tamaño que la original, en donde cada pixel está rotado 90°. (sentido horario) (Dados XI e YI como valores de una coordenada origen, los nuevos valores X2 e Y2 de la matriz rotada serán: X2 = Y1 ; Y2 = 70 - X1 + 1)
  2. Transforme el color de la sub imagen que queda por debajo de la diagonal secundaria de la matriz obtenida en el punto anterior a escala de grises. Esto se logra tomando cada pixel de la subimagen, hallando el promedio de los tres valores de intensidad de color y poniendo ese promedio (valor entero) como nuevo valor de las tres intensidades de ese pixel. Para determinar el promedio de las intensidades se hará uso de una rutina externa llamada AGRIS que recibirá como parámetros cada uno de los 3 bytes con los valores de intensidad de un pixel y devolverá en un byte de respuesta el valor promedio.
  1. Codificar la parte del programa principal que rota la matriz. [2,5 ptos.]
  2. Codificar la rutina externa AGRIS. [2 ptos.]
  3. Codificar la parte del programa principal que genera la imagen a escala de grises. [3,5 ptos.]

Punto V

Instrucciones varias: [2 ptos.]

Explique claramente cuál es el resultado de la ejecución de las siguientes instrucciones assembler IBM/370 y cuál es el contenido final (en hexadecimal) de cada uno de los operandos que intervienen. Además, si es posible, ensamble las instrucciones.

Instrucción Parámetros Estado Inicial 1 Estado Inicial 2
STCM 6,12,DUE <tex>R6 = C3C4F1F2_{(16)}</tex> <tex>DUE \ DS \ XL2</tex>
TR UNO,DOS <tex>UNO = 040502030001_{(16)}</tex> <tex>DOS = F1F8F1F1F0F5_{(16)}</tex>
XR 6,7 <tex>R6 = AA_{(16)}</tex> <tex>R7 = 55_{(16)}</tex>
SLA 9,1(7) <tex>R9 = C0A09A10_{(16)}</tex> <tex>R7 = 1_{(16)}</tex>

IMPORTANTE: Para aprobar el parcial es necesario tener correctamente resuelto el 60% del mismo. Las respuestas que no estén justificadas o estén mal justificadas se considerarán erróneas. Por favor, lea bien el enunciado.

Resolución

Punto I

Punto II

  1. A = -145990703 (base 10)
    B = -252651141 (base 10)
  2. A-B = 110010110111000001001010110 (base 2)
  3. 10146300411614 (base 8)

Punto III

  1. Base 4
  2. -35 (base 10) y +1431 (base 10)
  3. 44AF4000 (base 16)

Punto IV

Punto V

Discusión

Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.