Arquitectira De Computadores
ARQUITECTURA DE COMPUTADORES
PRUEBA DE ENSAYO
CAPITULO 1.
2.1 Sean A=A(1), A(2)…, A(1000) y B=B(1), B(2)…, B(1000) dos vectores (unidimensionales) que comprenden 1000 números cada uno, que van a ser sumados para formar un vector C tal que C(i)=A(i)+B(i), donde i=1,2…, 1000. Usando un conjunto de instrucciones IAS, escribir un programa para resolver este problema. RESPUESTA Los vectores A, B y C son almacenados cada uno en 1.000 lugares contiguos en memoria a partir de las localidades 1001, 2001 y 3001 respectivamente. La variable N inicia en 999 y disminuye después de cada paso hasta que llega a ‐1. Así los vectores son procesados de una alta a una baja ubicación de memoria. LOCALIZACION 0 1 2 3L 3R 4L 4R 5L 5R 6L 6R 7L 7R 8L 8R 9L 9R 10L 10R INSTRUCCIÓN 999 1 1000 LOAD M(2000) ADD M(3000) STOR M(4000) LOAD M(0) SUB M(1) JUMP+ M(6, 20:39) JUMP M(6, 0:19) STOR M(0) ADD M(1) ADD M(2) STOR M(3, 8:19) ADD M(2) STOR M(3, 28:39) ADD M(2) STOR M(4, 8:19) JUMP M(3, 0:19) Constante (contador N) Constante Constante Transfiero A(I) a AC Calculo A(I) + B(I) Transfiero la suma a C(I) Cargo contador N Resto 1 a N voy a 6R si no es negativo salto actualizo N incremento AC en 1 modifico la dirección en 3L modifico la dirección en 3R modifico la dirección en 4L
2.3 En el IAS, describir con palabras el proceso que tiene que seguir la CPU para leer un valor de memoria y escribir un valor en memoria, indicando como cambian MAR, MBR, el bus de direcciones, el bus de datos y el bus de control. RESPUESTA Para leer un valor de memoria, el CPU coloca el valor de la dirección que quiere en MAR. Luego el CPU lo confirma y ubica esta dirección en el bus de direcciones. La memoria sitúa el contenido de la ubicación de memoria en el bus de datos. Esta información es luego transferida a la MBR. Para escribir un valor en memoria, el CPU pone el valor de la dirección que quiere escribir en la MAR. El CPU también coloca los datos que quiere escribir en el MBR. El CPU confirma la escritura de la línea de control a la memoria y coloca la dirección en el bus de direcciones y los datos en el bus de datos. La memoria transfiere el dato al bus de datos dentro de la respectiva ubicación de memoria. 2.4 Dados los contenidos de memoria siguientes de un computado IAS: Direcciones 08A 08B 08C Contenidos 010FA210FB 010FA0F08D 020FA210FB
Mostrar el código del programa en lenguaje ensamblador, empezando en la dirección 08A. Explicar lo que hace el programa. RESPUESTA DIRECCION 08A 08B 08C 08D Este programa almacenará el valor absoluto del contenido de una ubicación de memoria 0FA dentro de la ubicación de memoria 0FB CONTENIDO LOAD M(0FA) STOR M(0FB) LOAD M(0FA) JUMP +M(08D) LOAD –M(0FA) STOR M(0FB)
CAPITULO 2.
3.3 Considere un hipotético microprocesador de 32 bits cuyas instrucciones de 32 bits están compuestas por dos campos: el primer byte contiene el código de operación (codop) y los restantes un operando inmediato o una dirección de operando. a) ¿Cuál es la máxima capacidad de memoria (en bytes) direccionable directamente? b) Discuta el impacto que se produciría en la velocidad del sistema si el microprocesador tiene: RESPUESTA a) 2^24 = 16 MBytes b) 1) Si el bus de direcciones local es de 32 bits, toda la dirección puede ser transferida a la vez y se decodifica en memoria. Sin embargo, debido a que el bus de datos es sólo de 16 bits, se requieren 2 ciclos para dialogar con una instrucción o un operando de 32‐bits. 2) Los 16 bits puestos en el bus de direcciones no pueden acceder a toda la memoria. Es necesario un control más complejo de interfaz de memoria para acceder primero a la primera parte de la dirección y luego para la segunda parte ya que el microprocesador ...
Regístrate para leer el documento completo.