Professional Documents
Culture Documents
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Qu debe hacer?
Captar instruccin:
Leer una instruccin de la memoria
Interpretar instruccin:
Decodificarla para determinar que accin es necesaria
Captar datos:
La instruccin puede necesitar leer datos de la memoria o de un mdulo de E/S
Procesar datos:
La ejecucin puede requerir llevar a cabo alguna operacin aritmtica o lgica con los datos
Escribir datos:
Los resultados de una ejecucin pueden exigir escribir datos en la memoria o en un mdulo de E/S
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Unidad de Control
Registros
Registros
Complementador
Unidad de control
Caminos de control
Arquitectura de Computadoras
Ma. Elena Martnez Durn
A
0
B
0
S
0
CS
0
0
0 0
0
1 1
1
0 1
1
1 0
0
0 1
S = CE A B + CE A B + CE A B + CE A B = CE (A B + AB) + CE (A B + A B) = CE (A B) + CE ( A B) = CE A B
1
1
0
0
0
1
1
0
0
1
1
1
1
1
0
1
0
1
1
1
CS = CE A B + CE A B + CE A B + CE A B = A B (CE + CE) + CE (A B + A B) = A B + CE ( A B)
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Ce
Cs
A A B B C CE
S FA
CS
Diagrama en bloque
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Circuito sumador-restador
B3 A3 B2 A2 B1 A1 B0 A0 M
M = 0 Sumador M = 1 Restador
C4
FA
C3
FA
C2
FA
C1
FA
C0
S3
S2
S1
S0
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Registros
Registros visible para el usuario:
Utilizados por el programador de lenguaje mquina o ensamblador
Datos:
Uso nicamente para contener datos
Direcciones:
Pueden ser de uso general o pueden utilizarse para un modo de direccionamiento, por ejemplo los punteros de segmento, registros ndice o puntero de pila
Cdigos de condicin:
Tambin llamados indicadores , banderas o flags, son bits fijados por el hardware de la CPU como resultado de alguna operacin, son revisados posteriormente para tomar decisiones. Se renen en uno o ms registros, llamados registros de control. Ejemplos: cero, paridad, sobreflujo, signo, interrupcin. Algunas mquinas guardan el estado de estos indicadores al ejecutar una subrutina, restaurando sus valores al retornar de la misma. En otros casos es responsabilidad del programador
Arquitectura de Computadoras
Ma. Elena Martnez Durn
SP BP SI DI
CS DS SS ES
80386-Pentium II
MC6800
8086
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Arquitectura de Computadoras
Ma. Elena Martnez Durn
El ciclo de instruccin
Captacin: Llevar la siguiente instruccin de la memoria a la CPU Ejecucin: Interpretar el cdigo de operacin y llevar a cabo la operacin indicada Interrupcin: Si las interrupciones estn habilitadas y ha ocurrido una interrupcin, salvar el estado del proceso actual y atender la interrupcin
Ciclo de captacin
Ciclo de ejecucin
Interrupciones inhabilitadas
Ciclo de interrupcin
Inicio
Ejecutar la instruccin
habilitadas
Parada
Arquitectura de Computadoras
Ma. Elena Martnez Durn
El ciclo indirecto
Cuando la ejecucin de una instruccin involucra a uno o ms operandos en memoria, cada uno de los cuales requiere un acceso a memoria. Tambin puede darse si se usa direccionamiento indirecto, en el cual es necesario acceso a memoria adicionales
Captacin
Interrupcin
Indirecto
Ejecucin
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Ms de un operando
Clculo de la direccin de la instruccin
Decodificacin de la operacin de la Instruccin
Ms de un resultado
Clculo de la direccin del operando Comprobacin de interrupcio nes
Interrupcin
No interrupcin
Arquitectura de Computadoras
Ma. Elena Martnez Durn
IR
MBR
Bus de control
Arquitectura de Computadoras
Ma. Elena Martnez Durn
UC -> Memleer
IR
MBR
Bus de control
Arquitectura de Computadoras
Ma. Elena Martnez Durn
MBR IR
Bus de control
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Impresora
FGO
AC
Teclado
Terminal de Entrada-salida
Interfaz transmisora
INPR
FGI
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Interrupciones
Una alternativa al procedimiento controlado que se programa es permitir que el dispositivo externo informe a la computadora cunado est listo para la transferencia. Mientras tanto, la computadora puede ocuparse con otras tareas. Este tipo de transferencia utiliza la opcin de interrupcin. El ciclo de interrupcin es una implementacin de hardware de una transferencia de programa y salva la direccin de retorno de la siguiente instruccin. La direccin de retorno disponible en el PC se almacena en una localidad especfica donde pueda encontrase despus, cuando el programa retorne a la instruccin en la cual fue interrumpido. Esta localidad puede ser un registro del procesador, una pila de memoria, o una posicin de memoria especfica.
Arquitectura de Computadoras
Ma. Elena Martnez Durn
0 1 255 PC=256 1120 0 BUN 1120 Programa Principal Programa de I/O 1 BUN 0
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Interrupcin externa
Provienen de dispositivos de entrada y salida, de un dispositivo de temporizacin, de un circuito que monitorea la fuente de alimentacin o de cualquier otra fuente externa. Ejemplos: Dispositivos de E/S que solicitan transferencia de datos, dispositivos de E/S que terminan transferencia de datos, tiempo trascurrido de un evento o una falla de energa Una interrupcin por falla de energa puede tener como su rutina de servicio a un programa que transfiere el estado completo de la CPU a una memoria no vlatil en los pocos segundos anteriores a una falla de energa
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Interrupcin interna:
Surgen debido a la utilizacin ilegal o errnea de una instruccin o datos. Tambin se llaman trampas. Estas condiciones de error ocurren como resultado de una terminacin prematura de la ejecucin de una instruccin. El programa de servicio que procesa la interrupcin interna determina la medida correctiva que se debe tomar. Ejemplos: sobreflujo de registros, intentar dividir entre cero, un cdigo de operacin no vlido, desbordamiento de pila, y violacin de proteccin.
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Interrupciones de programa:
Se inicia al ejecutar una instruccin Es una instruccin de solicitud especial que se comporta como una interrupcin ms que como una solicitud de subrutina. El programador puede utilizar para iniciar un procedimiento de interrupcin en cualquier punto que se desee del programa.
Arquitectura de Computadoras
Ma. Elena Martnez Durn
Fuentes consultadas
El microprocesador 8086/8088, documento electrnico tomado de: http://computacion.cs.cinvestav.mx/~ameneses/pub/tesis/ltesis/node14.html Mano, Morris. 1994. Arquitectura de Computadoras. Tercera Edicin. PrenticeHall. Mxico Captulos I, IV, V Stallings, William. 2000. Captulo 11. Organizacin y Arquitectura de Computadores. 5. Edicin. Prentice Hall. Espaa. Zator, Interrupciones, documento electrnico tomado de http://www.zator.com/Hardware/H2_4.htm
Arquitectura de Computadoras
Ma. Elena Martnez Durn