Title: Funcionamiento de la CPU
1Funcionamiento de la CPU
- Arquitectura y Organización de Sistemas de
Computación - Universidad de Concepción
- D.I.I.C.C
- Johana Pérez M.
- Abril 2002
2Temas
- Introducción
- Organización del Procesador
- Memoria Interna Registros
- Registros visibles al usuario (programador)
- Registros de Control y Estado
- Ciclo de instrucción
- Segmentación de instrucciones
- Cómo se ejecuta?
- Riesgos de la segmentación
- Manejo de excepciones
- Registros del procesador Pentium vs PowerPC
- Conclusiones y Comentarios
31. Introducción
- Objetivo
- Estudiar el funcionamiento general de la CPU,
diferenciando sus componentes - Objetivos específicos
- Conocidos los componentes de la CPU ahondar en
ciertos aspectos relevantes del funcionamiento - Estudiar alguna forma de optimizar el tiempo de
usos de los componentes de la CPU
42. Organización del Procesador
- El procesador o CPU (Unidad Central de Proceso)
- Controla el funcionamiento del computador
- Realiza procesamiento de datos
- Es uno de los componentes estructurales del
computador - Memoria Principal transfiere datos internamente
- Entrada / Salidas transfiere datos desde y hacia
los periféricos - Sistema de Interconexión comunica Cpu, memoria
principal y E/S - Se compone también de cuatro elementos
estructurales
5Organización CPU (cont.)
- Unidad de Control (UC)
- Controla funcionamiento CPU
- Unidad Aritmético Lógica (ALU)
- Procesa datos
- Registros
- Almacenamiento interno
- Interconexiones
- Comunicación entre UC, ALU y los registros
6Organización CPU (cont.)
- Funciones de la CPU
- Captar Instrucciones desde memoria
- Interpretar instrucciones
- Captar datos
- Procesa datos
- Escribir datos en memoria o en módulo de E/S
- Notar similitud de la estructura de la CPU con la
estructura interna del computador
7Organización CPU (cont.)
Estructura Interna CPU
83. Memoria Interna Registros
- Registros celdas de memoria de alta velocidad
que permiten el almacenamiento temporal de los
datos mientras se realizan operaciones. - Para este estudio se clasificarán en
- Registros Visibles al Programador
- Registros de Control y Estado
- Otro registro importante es PSW (palabra de
estado del procesador) - Contiene códigos de condición
- Información de estado
- Información de Modo
- etc.
9Memoria Interna Registros (cont.)
- La decisión de diseño para los registros
mencionados depende de - Sistema operativo
- Distribución de información de control entre
memoria y registros - Costos vs. Velocidad
10Memoria Interna Registros (cont.)
- R. Visibles al Usuario
- Registros de Propósito General
- Registros de Dirección (parcialmente generales,
registros índices o Stack Pointer) - Registros de Datos
- Registros de Condición (flags, son fijados por
Hw.)
- R. Control y Estado
- Contador de Programa (PC)
- Registro de Instrucción (IR)
- Registro de dirección de Memoria (MAR)
- Registro Intermedio de Memoria (MBR)
- Estos registros tienen gran importancia en la
ejecución del ciclo de instrucción
114. Ciclo de Instrucción Fetch
- Este ciclo se puede resumir en la figura.
- Cuando están involucrados más de un operando cada
uno de ellos requiere un acceso. - Se debe realizar un tratamiento especial cuando
hay direccionamiento indirecto
12Ciclo de Instrucción (cont)
- Cuando hay direccionamiento indirecto se alternan
la búsqueda y la ejecución de instrucciones. - Luego de ejecutar una instrucción de este tipo se
puede producir una interrupción antes de buscar
la siguiente instrucción
13Ciclo de Instrucción (cont) Diagrama
de estados completo del Fetch
14Ciclo de Instrucción (cont.) Flujo de
datos, ciclo búsqueda de instrucción
155.Segmentación de Instrucciones Pipelining
- Idea
- Instrucciones utilizan los recursos distintos en
distintas etapas de la ejecución, entonces se
ejecutan múltiples instrucciones simultáneamente
siempre y cuando TODAS se encuentren en distintas
etapas de ejecución. - Por qué a la segmentación se le llama
Pipelining? - Porque al igual que en una tubería, se aceptan
entradas nuevas en un extremo antes de que las
anteriores sean salidas en el otro extremo.
16Segmentación de Instrucciones (cont.)
- Lavandería Secuencial
- Recibir Cargas
- Lavar Carga i
- Secar Carga i
- Planchar Carga i
- Las máquinas quedan desocupadas en algunos
ciclos - Total (4 cargas) 6 horas.
17Segmentación de Instrucciones (cont.)
- Lavandería Segmentada
- Recibir Cargas
- Lavar Carga i
- Secar Carga i y lavar Carga i1
- Planchar Carga i, secar Carga i1 y lavar Carga
i2 - Total (4 cargas) 3.5 horas
18Segmentación de Instrucciones (cont.)
- Cómo se ejecuta la segmentación?
- En cada ciclo se inicia la ejecución de una
instrucción - Existen múltiples instrucciones en ejecución
- Se inicia una ejecución en cada ciclo de reloj
- La segmentación
- No mejora latencia individual
- Mejora el throughput global
- Está limitada por la instrucción más lenta
19Segmentación de Instrucciones (cont.)
- Se descomponen las instrucciones para evitar el
desbalanceamiento - Buscar Instrucción (FI)
- Decodificar Instrucción (DI)
- Calcular Operandos (CO)
- Buscar Operandos (FO)
- Ejecutar instrucción (EI)
- Escribir Operando (WO)
- Como se ve en la figura, el tiempo de ejecución
se reduce de 54 a 14 unidades de tiempo
20Segmentación de Instrucciones (cont.)
21Segmentación de Instrucciones (cont.)
- Riesgos del Pipelining
- Estructurales ocurren conflictos de Hw. En
distintas etapas de ejecución. - Cada unidad funcional de memoria puede ser usada
sólo una vez por instrucción - Cada unidad funcional debe ser usada en el mismo
estado por todas las instrucciones - Solución Definir un estado de memoria que no
hace nada. - De control
- Bloqueos después de cada salto, por si hay que
esperar la próxima instrucción - Predicción de saltos, ejecutar el salto en forma
paralela con todas las instrucciones.
22Segmentación de Instrucciones (cont.)
- Riesgos del Pipelining (cont.)
- De Datos
- Una instrucción depende del resultado previo.
- Es necesario actualizar a tiempo el valor de las
variables que van a ser ocupadas, - La segmentación incrementa el número de
instrucciones que se ejecutan a la vez, y también
su rapidez. - El resultado obtenido al utilizar esta técnica
no depende de la metodología escogida, sino que
también del set de instrucciones del procesador.
23Segmentación de Instrucciones (cont.)
- Manejo de Excepciones
- Las excepciones se pueden producir en los
siguientes casos - Desbordamiento aritmético
- Petición de E/S
- Intento de uso de instrucciones privilegiadas
- Mal funcionamiento de la circuitería
- El problema de los computadores segmentados es
asociar correctamente la excepción con al
instrucción que la causó.
246. Pentium y PowerPC
- Procesador Pentium
- Registros
25Pentium y PowerPC (cont.)
- Procesador Pentium (cont.)
- Registros Eflags representan el estadoi del
procesador - Indicadores de trampa (se utilizan para
depuración de programas) - Indicador de habilitación de interrupciones
- Indicador de dirección
- entre otros...
- Registros de Control (4 de 32 bits cada uno)
- Protección
- Tareas conmutadas
- Coprocesador aritmético (cuando se ejecutan
programas de maquinas anteriores al Pentium) - Indicadores de Paginación
- entre otros...
26Pentium y PowerPC (cont.)
- Procesador Pentium (cont.)
- Procesamiento de Interrupciones se suspende el
flujo de instruccione sen curso - Interrupción señal Hw (durante la ejecución del
programa) - Excepción señal sw (durante la ejecución de la
instrucción) - Programadas
- Detectadas por el procesador
- En ambos casos el procesador guarda el contexto
del proceso actual y pasa a una rutina definida
previamente - Tabla de vectores de interrupción (256 vectores
de 32 bits) - Para retornar después de una interrupción, la
rutina de servicio ejecuta la instrucción IRET,
se retoma la ejecución a partir del punto de
interrupción
27Pentium y PowerPC (cont.)
28Pentium y PowerPC (cont.)
- Power Pc (cont.)
- Registro 0
- se utiliza como carga, almacenamiento y en
algunas instrucciones de suma, el valor es
siempre 0 independiente del contenido - Registros de excepción
- 3 bits, se manejan excepciones en operaciones
aritméticas, o también como contador - Registro de enlace
- se utiliza con instruccioens de bifurcación
condicional para direccionamiento indirecto de
las direcciones de destino
29Pentium y PowerPC (cont.)
- Power Pc (cont.)
- Procesamiento de interrupciones
- Interrupciones
- Por ejecución de una instrucción
- Por condición o evento dle sistema
- Se maneja un registro de estado de la Máquina
MSR - Obj. Recuperar después de una interrupción el
estado que tenía el procesador en el momento de
la interrpción. Se utiliza en modo monitor, nunca
en modo usuario. - Manipulación de interrupciones
- Para retornar después de una interrupción se
ejecyçuta la instrucción RFI.
30Conclusiones y Comentarios
- El procesador es el responsable de la mayor parte
de las funciones del computador, por lo tanto
toda decisión tomada sobre su diseño debe ser
tomada en forma muy responsable. - El procesador puede ser considerado como un
mini computador interno ya que coordina,
controla y ejecuta instrucciones. - La interdependencia existente entre ciertas
instrucciones hace los intentos de optimizar el
uso de la CPU muy difíciles.
31Consultas y comentarios http//www.udec.cl/johpe
rez