You are on page 1of 30

Unidad Central de Procesamiento (CPU)

Arquitecturas, Tipos, Caractersticas, Funcionamiento

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Unidad Central de Procesamiento


La parte de la computadora que ejecuta el grueso de las operaciones de procesamiento de datos se llama unidad de procesamiento central (CPU) (Mano, p 255) Unidad central de procesamiento (CPU, Central Processing Unit): controla el funcionamiento del computador y lleva a cabo sus funciones de procesamiento de datos. Frecuentemente se le llama simplemente procesador (Stallings, p 9)

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

La CPU y el bus del sistema


Bus de control

Unidad Aritmtica -Lgica (ALU)

Bus de datos Bus de direcciones

Unidad de Control

Registros

Bus del Sistema


Arquitectura de Computadoras
Ma. Elena Martnez Durn

Estructura interna de la CPU


Unidad aritmtica y lgica
Indicadores de estado Desplazador

Bus interno de la CPU

Registros

Complementador

Lgica aritmtica y booleana

Unidad de control
Caminos de control

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Unidad aritmtica y lgica


Sumador completo
CE
0

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

Circuito Sumador completo


A S B
Circuito con compuertas

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

Consideraciones para los registros


Los registros que las instrucciones tendrn implcitos en su cdigo El nmero de registros generales y de direccin que deben incluirse, recomendado de 8 a 32 registros. Longitud de los registros, para direcciones lo suficientemente grandes para direccionar las posiciones de memoria, los de datos deben ser capaces de contener valores de la mayora de tipos de datos

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Registros
Registros visible para el usuario:
Utilizados por el programador de lenguaje mquina o ensamblador

Registros de control y de estado:


Utilizados por la unidad de control para controlar el funcionamiento de la CPU, y por programas privilegiados del sistema operativo para controlar la ejecucin de programas
Arquitectura de Computadoras
Ma. Elena Martnez Durn

Registros visible para el usuario


Uso general:
Asignados por el programador a diversas funciones, ya sea operandos en instrucciones o para almacenar direcciones

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

Registros de control y de estado


Se emplean para controlar el funcionamiento del CPU, en la mayora de los casos no son visibles para los usuarios Bsicamente se tienen cuatro registros para la ejecucin de una instruccin:
Contador de programa (Program Counter, PC): contiene la direccin de la instruccin a captar Registro de instruccin (Instruction Register, IR): contiene la instruccin captada ms recientemente Registro de direccin de memoria (Memory Address Register, MAR): contiene la direccin de un posicin de memoria. Registro intermedio de memoria (Memory Buffer Register, MBR): contiene la palabra de datos a escribir en memoria, o la palabra leda ms recientemente.
Arquitectura de Computadoras
Ma. Elena Martnez Durn

Ejemplos de organizaciones de registros de microprocesadores


Reg. de datos D0 D1 D2 D3 D4 D5 D6 D7 Reg.deDirecciones A0 A1 A2 A3 A4 A5 A6 A7 A7 AX BX CX DX Reg. Generales Acumulador Base Contador Datos Puntero e ndices Puntero de pila Puntero Base ndice fuente ndice destino Segmento Cdigo Datos Pila Extra Estado del programa Puntero. Instr. Indicadores EAX EBX ECX EDX Reg. Generales AX BX CX DX SP BP SI DI Estado del Programa Registro FLAGS Puntero de Instruc.

SP BP SI DI
CS DS SS ES

ESP EBP ESI EDI

80386-Pentium II

MC6800

Estado del Programa Cont. del Programa Reg. de Estado

8086
Arquitectura de Computadoras
Ma. Elena Martnez Durn

Ejemplo de registros de condicin


CF ( acarreo ): muestra si ocurri acarreo despus de una suma o un prstamo despus de una resta. PF ( paridad ): indica la paridad del resultado de una operacin aritmtica o lgica. AF ( auxiliar ): utilizado en las instrucciones DAA y DAS para ajustar el resultado de una suma o resta CD. ZF ( cero ): indica que el resultado de una operacin aritmtica o lgica es cero o no cero. SF ( signo ): indica que el signo del resultado est activo o desactivado. TF ( trampa ): activado para habilitar la depuracin IF ( habilitacin de interrupciones ): habilita la terminal INTR si este bit est activo. DF ( direccin ): selecciona una operacin de autoincremento o autodecremento para las instrucciones de cadenas. OF ( sobreflujo ): indica que el resultado de una operacin aritmtica con signo ha rebasado la capacidad del destino. IOPL ( nivel de privilegio de E/S ): indica el nivel de privilegio mximo actual asignado al sistema de E/S. NT ( tarea anidada ): se activa para indicar que el 80486 est realizando una tarea que est anidada en otra tarea. VM ( modo virtual ): se activa este bit mientras que el 80486 se opere en el modo protegido. RF ( resume ): utilizado en conjunto con los registros de depuracin. AC ( verificacin de alineacin ): nueva para el microprocesador 80486, utilizada para indicar que el microprocesador ha tenido acceso a una palabra en una direccin de paridad non o una doble palabra almacenada en un lmite que no es de doble palabra.

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

Captar siguiente instruccin

Ejecutar la instruccin

Comprobar interrupciones; procesar Interrupinterrupciones ciones

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

Diagrama de estados del ciclo de instruccin


Indireccin Indireccin
Captacin de instruccin Captacin de operando Almacena miento de operando

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

Operacin con los datos


Clculo de la direccin del operando

Instruccin finalizada, Captar la instruccin siguiente

Volver por otro dato de una cadena o un vector

No interrupcin

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Flujo de datos: Ciclo de captacin


PC MAR Memoria
Unidad de Control

IR

MBR

MAR <- MAR UC -> Memleer IR <- MBR PC <- PC + 1

Bus de Bus de direcciones datos

Bus de control

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Flujo de datos: Ciclo indirecto


PC MAR Memoria
Unidad de Control
MAR <- MBR
N bits derecha

UC -> Memleer

IR

MBR

MBR <- direccin del operando

Bus de Bus de direcciones datos

Bus de control

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Flujo de datos: Ciclo de interrupcin


PC MAR
Memoria
Unidad de Control
PC -> MBR Direccin -> MAR MAR -> Bus direcciones UC -> Mem Grabar Direccin rutina Interrupcin -> PC

MBR IR

Bus de Bus de direcciones datos

Bus de control

Arquitectura de Computadoras
Ma. Elena Martnez Durn

Entrada Salida de Informacin


Una computadora no puede tener un propsito til a menos que se comunique con un ambiente externo. La entrada de datos provee al procesador de la informacin necesaria para su operacin, y los resultados son presentados a travs de un dispositivo de salida. Una configuracin de entrada salida utiliza un esquema como el siguiente:
Interfaz receptora OUTR

Impresora

FGO

AC

Teclado
Terminal de Entrada-salida

Interfaz transmisora

INPR

FGI

Interfaz de Registros de computadora comunicacin Y flip-flops Arquitectura de Computadoras


Ma. Elena Martnez Durn

Entrada Salida Programada


La computadora comprueba continuamente el bit de bandera, y cuando lo encuentra activo en uno, inicia una transferencia de informacin Mediante un bus un mdulo se conecta a un par de registros de entrada-salida en la unidad central de procesamiento. La entrada proveniente del perifrico se transfiere a su mdulo, una palabra a la vez, desde el registro de datos de entrada/salida y de all a un registro acumulador bajo el control del programa. En forma parecida, las palabras individuales de datos de salida se dirigen de un registro acumulador al de datos donde los lee el mdulo correspondiente, una vez ms bajo el control del programa. Cada instruccin genera una sola entrada o salida. La entrada-salida programada es lenta, ya que se tiene que realizar un ciclo completo de instruccin captar-ejecutar con todos los datos por transferir. En la actualidad se emplea principalmente en los teclados.

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

Ejemplo del ciclo de interrupcin


Memoria Memoria

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

0 PC = 1 255 256 1120

256 0 BUN 1120 Programa Principal Programa de I/O 1 BUN 0

Interrupcin del programa


Se refiere a la transferencia del control del programa de un programa que corre en cierto momento a otro programa de servicio, como resultado de una solicitud generada en forma externa o interna. El control retorna al programa original despus de que se ejecuta el programa de servicio. El procedimiento de interrupcin es muy similar a una solicitud de subrutina, excepto por: Por lo general la interrupcin se inicia mediante una seal externa o interna ms que por la ejecucin de una instruccin La direccin del programa de servicio de interrupcin la determina la circuitera y no el campo de direccin de una instruccin Un procedimiento de interrupcin por lo general almacena toda la informacin necesaria para definir el estado de la CPU en lugar de slo almacenar el contador del programa.
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

Diferencias entre las interrupciones


La interrupciones internas se inician por alguna condicin excepcional causada por el programa mismo, ms bien que por un evento externo. Las interrupciones internas son sncronas con el programa en tanto que las externas no lo son. Si el programa se vuelve a ejecutar, las interrupciones internas ocurrirn en el mismo lugar cada vez. Las interrupciones externas dependen de condiciones independientes al programa que se ejecuta en ese momento.

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

You might also like