Академический Документы
Профессиональный Документы
Культура Документы
Computadores II
Teora y problemas
Enero, 2009
1.1 Ejercicios
EXAMEN DE ETCII 1 I.T.I. GESTION SEPTIEMBRE 2001
1.- Enunciado
Disear una1-1 unidad de control (carta ASM, implementacin con 1 biestable por estado) que
acte sobre la unidad de datos de la figura de forma que pueda usarse para realizar divisiones enteras.
El usuario coloca los valores a dividir en los registros DIVIDENDO y DIVISOR, tras lo cual activa la
sealDisene
de inicio
una Xs. Cuando
unidad el sistema
de control termina
que actue su laoperacin,
sobre unidad deactivar
datos delalaseal FIN
figura indicando
1 para que el
que pueda
resultado de la
realizar divisinenteras.
divisiones est disponible en los registros COCIENTE y RESTO.
DIVIDENDO
RT
Xs DIVISOR
Unidad de
control
ALU
FIN COCIENTE
AC
RESTO
El usuario coloca los valores a dividir en los registros DIVIDENDO y DIVISOR, tras lo cual
activa la senal de inicio Xs. Cuando el sistema termina su operacion, activara la senal FIN
indicando que el resultado de la division esta disponible en los registros COCIENTE y RESTO.
Debera especificar claramente que senales de control debe presentar cada subsistema de la
unidad de datos, elaborar las cartas ASM de datos y control e implementar la unidad de control
mediante la tecnica de 1 biestable por estado.
Enunciado 1-2
Disene un sistema digital (unidad de datos, carta ASM y controlador 1 biestable/estado) que
permita programar memorias ROM. El sistema dispone de una memoria RAM cuyo contenido
es fijado externamente antes de recibir un pulso por la lnea de inicio Xs. Tras dicho pulso, el
sistema debe realizar el proceso de programacion, es decir, copiar todo el contenido de la memoria
RAM en la memoria ROM (ambas tienen la misma capacidad). Tenga en cuenta lo siguiente:
Enunciado 1-3
Se desea realizar el diseno de un sistema (unidad de datos, carta ASM de control e implementacion
de un biestable por estado) que permita el control de un tunel de lavado de coches. Para ello
hay que tener en cuenta la siguiente informacion:
PUEDES ENTRAR: senal que el sistema activa para poner en verde el semaforo de
entrada. Si no esta activada, el semaforo de entrada permanece en rojo
MUEVE: senal que el sistema activa para mover el coche por los carriles situados al
efecto
AGUA: senal que el sistema activa para la salida de los chorros de agua
JABON: senal que el sistema activa para la salida del jabon
1.1. EJERCICIOS 3
Notas:
Enunciado 1-4
A [n]
Sumador RA ZA
n bits
B [n]
RAC
WAC RB WB
AC [n] CLAC
SHRAC CONT
md-4
CL UP CY
Funcionamiento:
Notas:
1. Dado que el sistema solo debe considerar las medidas distintas de 0, puede que el
sistema necesite recibir mas de 4 medidas para poder calcular la media.
2. El registro A tiene una senal de salida, ZA, que se activa si A = 0.
3. El registro AC tiene entradas de desplazamiento a la derecha, SHRAC, y puesta a
cero, CLAC.
Enunciado 1-5
Se desea disenar un sistema digital con el esquema de bloques indicado en la figura 3 y que realice
las siguientes macro-operaciones:
C 4A - B
C 4A + B
Prueba de evaluacin continua: Sistemas Digitales
Curso 2006/2007
C 4A B
1.2. EJERCICIOS 5
C 4A + B
D nmero de unos que hay en A
D numero de unos que hay en A
D nmero de ceros que hay en A
D numero de ceros que hay en A
FIN
Salidas de control A
UC B
IR1-0 UD
C
Estado de la UD o D
entradas de control
Xs
Figura 3: Esquema de bloques del sistema digital (enunciado 1-5)
a) Disee la unidad de datos necesaria para ello, realizando una descripcin completa con
el lenguaje RT de todos los elementos que considere necesarios.
a) Disene la unidad de datos necesaria para ello, realizando una descripcion completa con el
lenguaje RT de todos los elementos que considere necesarios.
b) Realice las cartas ASM de datos y de control para esas cuatro macrooperaciones.
b) Realice las cartas ASM de datos y de control para esas cuatro macrooperaciones.
c) Implemente la unidad de control del sistema utilizando la tcnica de un biestable por
estado.
c) Implemente la unidad de control del sistema utilizando la tecnica de un biestable por
estado.
1.2 Ejercicios
Enunciado 1-6
Se desea implementar un programa con las instrucciones del CS2 que, con los valores almacenados
desde la direccion de memoria $DF hasta la $D0, sume, por un lado, todos los datos pares y,
por otro, todos los datos impares; y almacene los resultados en las direcciones SUMPAR y
SUMIMPAR respectivamente. Ademas, el programa tambien debe calcular la media de los
valores y almacenarla en la direccion MEDIA.
Enunciado 1-7
Se dispone de una variante del computador simple 2 (CS2) tal que incluye una nueva instruccion
de almacenamiento con direccionamiento indirecto: STAI $n. Usando esta instruccion, y las
convencionales del CS2, implemente un programa que sume dos vectores de 16 componentes,
obteniendo como resultado un tercer vector. Los vectores operando estan almacenados en las
6
posiciones $D0-$DF y $E0-$EF, mientras que el vector resultado debe ocupar las posiciones
$A0-$AF.
NOTA: el programa debe usar un bucle, de tal forma que resulte sencillo modificar el algoritmo
para que acepte vectores de tamano distinto a 16.
Enunciado 1-8
Escriba un programa para el CS2 (pseudocodigo y ensamblador) que calcule el producto escalar,
P , de dos vectores X (X0 , X1 , X2 , . . . X15 ) e Y (Y0 , Y1 , Y2 , . . . Y15 ), almacenados en las
posiciones $A0-$AF y $B0-$BF, respectivamente. El producto escalar es un valor (no un vector)
que se calcula del siguiente modo:
P = X0 Y0 + X1 Y1 + X2 Y2 + . . . + X15 Y15
donde Xi e Yi son las componentes i-esimas de los vectores X e Y . No se tendran en cuenta los
problemas de desbordamiento.
Enunciado 1-9
Suponiendo que el CS2 tiene una instruccion de almacenamiento con direccionamiento indirecto
(stai PUNT):
(a) Rellene la tabla 1 describiendo lo que hace el codigo e indicando el pseudocodigo. Nota: Si
lo considera necesario para su explicacion, puede hacer agrupaciones de lneas de codigo.
operacion:
laim 0
sta PUNT
bucle:
laim 0
addi PUNT
clc
rol
sta TEMP
sta TEMP
laim 1
Sigue . . .
1.3. EJERCICIOS 7
Enunciado 1-10
Supongase que una de las 16 instrucciones del CS2 es: LSL n,$A (desplazar a la izquierda n
veces el contenido de la posicion de memoria $A), en la que, por cuestiones de almacenamiento,
el valor inmediato n se encuentra en la direccion de memoria siguiente a la propia instruccion (que
contiene el codigo de operacion y la direccion $A). Represente, en una carta ASM, la secuencia
de micro-operaciones necesarias para la busqueda y ejecucion de esta instruccion.
1.3 Ejercicios
Enunciado 1-11
(b) Si el microprocesador coloca en su bus de direcciones el valor $A03B, que chip sera
seleccionado, y que posicion del mismo sera accedida?
(c) Suponiendo que el penultimo chip de RAM (segun el orden del mapa de memoria disenado)
esta siendo seleccionado, y que se esta accediendo a la posicion $1EC2 del mismo, que valor ha
colocado el microprocesador en su bus de direcciones?
Enunciado 1-12
(b) Determinar que chip sera seleccionado, y que posicion del mismo sera accedida, si el
microprocesador coloca en el bus de direcciones los valores: (b.1) $25F8, (b.2) $F01A, (b.3)
$6ABD.
Enunciado 1-13
Determinar cuales de los subsistemas de memoria de la figura 4 esta mal disenado, justificando
brevemente las respuestas.
1.3. EJERCICIOS 9
A15 CS A15 CS
CS CS
(a) (b)
A15 CS A0 CS
D7-4
a14-0 d3-0 a14-0 d7-0
4
ROM 32K4 ROM 32K8
CS CS
D3-0
a14-0 d3-0 a14-0 d7-0
4
ROM 32K4 ROM 32K8
A14-0 A15-1
15 15
D7-0 D7-0
8 8
(c) (d)
Figura 4: Mapa de memoria (enunciado 1-13)
Enunciado 1-14
Enunciado 1-15
(a) Disenar un subsistema de memoria de 2MB de RAM, ubicados en las posiciones mas altas
10
del espacio de direccionamiento. Considerar que las senales de seleccion de byte BE1 y BE0 son
activas a nivel bajo.
(d) Determinar la posicion logica que implique un acceso de tamano palabra de 16 bits a la
direccion fsica $10FA0 de los chips que ocupan las posiciones mas bajas.
1.4 Ejercicios
Enunciado 1-16
Partiendo del estado inicial indicado, ejecutar independientemente las instrucciones (a)-(j), es-
pecificando como quedan los registros y la memoria.
$0001FE 00
A0 0000 0200 $0001FF 02
D0 0000 0011 $000200 00
D1 1F0B 0002 $000201 03
$000202 0B
$000203 1F
2. LEA $1000, A0
3. ADDQ.W #6, D0
4. MULU (A0), D0
6. CMP.L D1, D0
8. ROL.W #4, D0
9. SWAP D0
Enunciado 1-17
Partiendo del estado inicial siguiente, determine la ejecucion del siguiente programa:
A0 0020 0000
D0 FFFF 0003 MOVE.W D1,(A0)
D1 ???? 2410 ASR.W (A0)
MOVE.L -1(A0,D0.W),D2
D2 ???? ????
CMP.B D2,1(A0)
BNE fin
ADD.W D2,D0
Direccion Contenido SWAP D0
$200000 ???? EXT.L D0
$200002 ABCD LEA $200003, A0
$200004 0008 fin: BRA fin
Enunciado 1-18
Enunciado 1-19
Se desea conocer, a partir de una tabla de menos de 255 datos tipo byte con signo almacenados en
la direccion de memoria TABLA, cuantos datos son positivos y cuantos negativos, descartando
aquellos que son cero. El tamano de la tabla se almacena en la direccion N, el numero de datos
positivos se almacenara en la variable POSITIVOS y el numero de los negativos en NEGATIVOS.
12
Todas las variables que use el programa, junto con la propia tabla, deben estar situadas a partir
de la direccion $4000. Asimismo el programa debe estar ubicado a partir de la direccion $1000.
Enunciado 1-20
Se dispone de chips RAM y ROM de 8 bits para implementar un mapa de memoria entorno
al MC68000 teniendo en cuenta que, para acceder a ROM, se han reservado el rango de direc-
ciones: $000000-$00FFFF y, para la RAM, el rango: $020000-$023FFF. Disene el sistema de
decodificacion.
Enunciado 1-21