Arquitectura de Computadores Prof. Domingo Mery I-1 15/09/05 Ciencia de la Computación Universidad Católica POR FAVOR SEA MUY ORDENADO EN SUS RESPUESTAS. ADEMÁS APAGUE EL CELULAR (SI SUENA SU CELULAR SE DESCUENTA 1 PUNTO). PREGUNTA 1) [1 pt]: Simplifique la siguiente función boolena usando Álgebra de Boole: f = a b c + a bc + ab c + abc + a b c PREGUNTA 2) [1 pt]: Implemente un NAND de tres entradas usando sólo compuertas NAND de dos entradas. J 0 0 1 1 K 0 1 0 1 Q Q 0 1 Q PREGUNTA 3) [2 pt]: Usando compuertas y flip-flops JK, implemente un circuito secuencial con dos estados A y B, una señal de control x y una señal de reloj CK tal que: • cuando la señal de control x = 1, por cada pulso de subida de CK, los estados A y B cambian siguiendo un contador de 2 bits hacia arriba: 00, 01, 10, 11, 00, 01, … • cuando la señal de control x = 0, por cada pulso de subida de CK, los estados A y B cambian siguiendo un contador de 2 bits hacia abajo: 11,10,01,00,11,10,01, … La solución debe tener: a) Diagrama de estados, b) Tabla de estados, c) Mapa de Karnough y d) Diagrama del circuito digital. PREGUNTA 4) [2 pt]: Los registros AL, BL, CL de una CPU Intel 8086 contienen cada uno un número de 8 bits. Escriba un programa en Assembler que encuentre el mayor de estos tres registros y almacene su número en el registro DL, es decir DL = max(AL,BL,CL). Asuma que los registros AL, BL y CL ya están cargados con los números y que al final del programa los contenidos de los registros AL, BL, CL pueden ser distintos que al principio. Usar sólo las siguientes instrucciones: Registros AL, BL, CL, DL (R) MOV R,dato ; copia dato en registro R ; ej: MOV AL,00h MOV R1,R2 ; copia registro R2 en R1. ; ej: MOV AL,CL DEC R INC R ; R = R – 1, ej: DEC DL ; R = R + 1, ej: INC CL ADD R,dato ADD R1,R2 ; R = R + dato, ej: ADD AL,03h ; R1 = R1 + R2, ej: ADD CL,AL Otras operaciones aritméticas: SUB (resta), AND, OR, XOR (su sintaxis es igual a ADD) JNBE dirección JBE dirección ; salta a dirección si última operación aritmética > 0 (dirección es un label) ; salta a dirección si última operación aritmética ≤ 0 (dirección es un label) FELIZ 18!!