Arquitectura de Computadores I-1 Ciencia de la Computación Prof

Anuncio
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!!
Descargar