Bienvenido a mis Tutorías © en la UNED
Exámenes
Estructura y Tecnología de Computadores I (Sistemas)
1ª Semana, Febrero 2001:
  1. El programa objeto: (Apdo. 13.5.1)
       *** a) Es el resultado de la traducción del programa fuente.
    b) Es el resultado de la traducción del programa base.
    c) Es el resultado de la traducción del programa simbólico.
    d) Es el resultado de la traducción del programa traductor.
  2. En el proceso de conversión de una señal digital en otra analógica, el intervalo de tiempo que debe transcurrir entre la aparición de un punto de la señal discreta y el siguiente se denomina: (Apdo. 1.2.2.2)
       *** a) Periodo de conversión
    b) Periodo de bloqueo
    c) Periodo de muestreo
    d) Periodo de discretización
  3. ¿ Cuál de los siguientes no corresponde a un registro de segmento? (Apdo. 8.3.3)
    a) Registro de segmento de pila
    b) Registro de segmento de datos
       *** c) Registro de segmento de modo
    d) Registro de segmento de código
  4. El solapamiento (overlay) es: (Apdo. 12.2.2.3)
    a) Una técnica que permite dividir tanto la memoria física como la lógica en bloques regulares de igual tamaño.
       *** b) Un mecanismo que permite ejecutar programas de mayor tamaño que la memoria principal disponible.
    c) Una técnica que permite dividir tanto la memoria física como la lógica en bloques de cualquier tamaño.
    d) Un mecanismo que permite generar direcciones que se refieren a un espacio de mayor tamaño que la memoria principal disponible.
  5. El programa montador necesita de la colaboración del programa ensamblador para que le proporcione: (Apdo. 18.4.2.1)
    a) El nombre simbólico de las macroinstrucciones.
       *** b) La tabla de direcciones absolutas para la reubicación.
    c) El nombre simbólico de las subrutinas.
    d) El nombre simbólico dado a la pila.
  6. En el M68000, el direccionamiento relativo al contador de programa con índice utiliza como desplazamiento: (Apdo. 15.5)
    a) El resultado de sumar un número fijo al contenido de una posición de memoria
    b) El resultado de sumar un número fijo al contenido del registro de instrucción.
    c) El resultado de sumar un número fijo al contenido de la pila del sistema.
       *** d) El resultado de sumar un número fijo al contenido de un registro de datos.
  7. Los sistemas de numeración con base negativa: (Apdo. 5.3.1.2)
    a) Son aquellos que emplean dígitos con signo.
    b) Son aquellos que emplean únicamente dígitos negativos.
       *** c) Permiten representar tanto cantidades positivas .como negativas sin tener que añadir signo al número.
    d) Permiten representar una misma cantidad mediante distintas cadenas de dígitos.
  8. ¿Cuáles de estas instrucciones son de tipo lógico? (Apdo. 7.1.2.2)
       *** a) NOT, XOR
    b) NEO, ADD
    c) DIV, EXT
    d) Ninguna de las anteriores es una instrucción de tipo lógico.
  9. Los códigos mayoritarios: (Apdo. 6.4.3)
    a) Representan un método para compactar información
       *** b) Representan un método para corregir errores
    c) Representan un método de codificación diferencial
    d) Representan un método de codificación directa.
  10. ¿Qué es un biestable? (Apdo. 2.1.2 y 7.1.1)
       *** a) Un elemento capaz de almacenar un bit de información.
    b) Un elemento de almacenamiento muy grande.
    c) Un elemento constituido por dos registros.
    d) Un elemento de software para modificar la información de la memoria.
  11. Cuál es el código hexadecimal correspondiente a la instrucción del M68000 LSR (A5)+
    a) E2ES
    b) E6DD
    c) Ninguna de las otras es cierta
       *** d) E2DD

    Solución:

      De acuerdo con la addenda del libro, el código máquina de esta instrucción será el siguiente, teniendo en cuenta que el operando de destino es una palabra de memoria:
         Cógd Oper        dr           Modo    Reg
         1 1 1 0 0 0 1    #     1 1   # # #   # # #
      
      En nuetro caso:
         dr = 0 (desplazamiento a la derecha)
       Modo = 011 (indirecto por registro con postincremento)
        Reg = 101 (5)
      
      Por tanto:
         1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 = 1110 0010 1101 1101 = E2DD
      

  12. Para transmitir una información se utiliza paridad longitudinal y transversal (paridad par). Decir si el siguiente bloque de información es correcto y, en caso contrario, decir por que secuencia se traduciría la errónea: F9 72 A5 C8 6A 41 B8 35
    a) No hay error
    b) FS
       *** c) 88
    d) D8

    Solución:

      Si representamos estos valores de formato binario tenemos:
         F9   1 | 1 1 1 1 0 0 1
         72   0 | 1 1 1 0 0 1 0
         A5   1 | 0 1 0 0 1 0 1
         C8   1 | 1 0 0 1 0 0 0
         6A   0 | 1 1 0 1 0 1 0
         41   0 | 1 0 0 0 0 0 1
         B8   1 | 0 1 1 1 0 0 0
             ------------------
         35   0 | 0 1 1 0 1 0 1
      
      Si contamos ahora el número de 1s que hay en filas y columnas, y tenemos en cuenta que la primera columna y la última fila son las paridades transversal y longitudinal respectivamente, nos debería salir un número par (0) en todos los casos. Si en alguna fila o columan hay un número impar se marca (1). Donde se intersecten las fila y columna marcadas, ahí estará el error.
         F9   1 | 1 | 1 1 1 0 0 1   0
         72   0 | 1 | 1 1 0 0 1 0   0
         A5   1 | 0 | 1 0 0 1 0 1   0
             ---+---+----------------
         C8   1 | 1 | 0 0 1 0 0 0   1
             ---+---+----------------
         6A   0 | 1 | 1 0 1 0 1 0   0
         41   0 | 1 | 0 0 0 0 0 1   0
         B8   1 | 0 | 1 1 1 0 0 0   0
         35   0 | 0 | 1 1 0 1 0 1   0
                |   |
              0 | 1 | 0 0 0 0 0 0   0
      
    Es decir, el 2 bit más significativo de la cuarta fila (C8) debería ser un 0. Por lo tanto el dato corregido será 88.
  13. Calcular el número de ciclos de reloj necesarios para que se ejecute completamente en el computador descrito en el tema 7 una instrucción que inicialice uno de los registros de la batería de registros: CLEAR REGn. (Suponer que la decodificación de la instrucción ocupa 1 ciclo, los accesos a memoria 3, y cada operación del operador 1, y que el operador cuenta con la operación de puesta a cero).
    a) 7
       *** b) 8
    c) 9
    d) 10

    Solución por Pedro García Sena:

      Se realizará una fase búsqueda de la instrucción (ver pág.200) y después se cargará un cero en el registro n empleando el acumulador previamente puesto a cero.

      Ciclo de reloj 1: Acceso a memoria para obtener la instruccion:
      - salida al bus de direcciones del PC: (CP) => BA [BACP]
      - carga del registro de dirección de la memoria: (DB) => RD [CRDBA]

      Ciclo de reloj 2-3-4: Ciclo de lectura de la memoria e incremento del CP:
      - orden de lectura: L
      - carga del registro de memoria con el operando: (Mem) => RM [CRMM]
      - incremento del contador de programa: (CP) + 1 => CP [ICP]

      Ciclo de reloj 5: Transferencia al RI de la instrucción contenida en RM:
      - salida al bus de datos del RM: (RM) => BD [SBDRM]
      - carga de RI con el operando de memoria: (BD) => RI [CRIBD]

      Ciclo de reloj 6: Decodificacion de la instrucción:
      - no se activa ninguna señal de control (ahora ya se sabe de que instrucción se trata)

      Ciclo de reloj 7: se programa la ALU para que ponga a cero el Acumulador:
      - se programa la ALU para ponerse a cero: OP => 0 [OP]
      - se carga el acumulador: (ALU) => ACC=0 [CAC]

      Ciclo de reloj 8: Salida al Bus de Datos del Acumulador y carga del Registro n:
      - se saca el acumulador al bus de datos: (AC) => DB [SBDAC]
      - se selecciona la batería como entrada y se carga: (DB)=0 => Rn [SBRE]


  14. Sea la función lógica de 4 variables f(A,B,C,D) expresada en maxterms como f=M0.M2.M4.M5.M6.M7.M8.M10.Ml2.M13.M14.MI5. La simplificación de esta función conduce a una de las siguientes:
       *** a) B.D'
    b) B+D'
    c) B'+D'
    d) B'.D'

    Solución:

      Lo que yo he hecho es pasarlo a minterms y aplicar Karnaugh:
         f=m4+m6+m12+m14
      
      El mapa quedaría de la siguiente forma:
      donde, agrupando términos obtenemos
         B.D'
      

  15. Obtener el equivalente decimal del número 42F80000 teniendo en cuenta que se ha empleado para su codificación el formato normalizado IEEE 754 para coma flotante de 32 bits.
    a) -124
    b) 1,93·10 6
    c) -1,93·10 6
       *** d) 124

    Solución:

      Pasamos la notación hexadecimal a binario y extraemos los diferentes términos:
          42F80000 = 0100 0010 1111 1000 0000 0000 0000 0000
      
          signO = 0
          exponente = 133 - 127 = 6
          mantisa = [1.] 1111 = 1.9375
      
      por lo que el número pedido será:
      		+1.9375 * 2^6 = 124
      

  16. Señalar cuál es el contenido del registro D2, siendo inicialmente D0: 0000 000F, D1: 0000 0010 y D2: 1357 AF86 después de ejecutar las siguientes instrucciones:
       ROR.W    D0, D2
       MULU     D1, D2
       ANDI.B #$F0, D2
    
    a) 0000 F0F0
    b) 0000 F0D0
       *** c) 0005 F0D0
    d) 0005 F0F0

    Solución:

      1) Rotamos 15 posiciones a la derecha AF86, lo que equivale a girarlo 1 vez a la izquierda:
      AF86 = 1010 1111 1000 0110 (1 a la izquierda) 0101 1111 0000 1101
      
      Es decir, el registro D2 contiene ahora 5F0D

      2) Multiplicamos los 16 bits de la derecha de D2, ojo MULU multiplica registros de 16 bits y da resultados de 32, por lo que los 16 bits de la izquierda de D2 no influyen para nada. Como D1 vale 16, D2*D1 es lo mismo que desplazar 4 (16=2^4) posiciones a la izquierda D2. Por lo tanto el resultado de este paso sera: D2 = 0005 F0D0

      3) Hacemos el AND lógico del primer byte de la derecha de D2 con $F0, el resto del registro no se altera: $D0 AND $F0 = $D0. Por lo tanto, el valor final de D2 será 0005 F0D0

No dudes en escribir si tienes alguna duda sobre estos ejercicios
abellogijon.uned.es