31
Funcionamiento de la Funcionamiento de la CPU 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

Funcionamiento 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

Embed Size (px)

Citation preview

Page 1: Funcionamiento 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

Funcionamiento de la CPUFuncionamiento 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

Page 2: Funcionamiento 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

Temas

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

Page 3: Funcionamiento 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

1. 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

Page 4: Funcionamiento 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

2. 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:

Page 5: Funcionamiento 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

Organizació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

Page 6: Funcionamiento 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

Organizació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

Page 7: Funcionamiento 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

Organización CPU (cont.) Estructura Interna CPU

Page 8: Funcionamiento 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

3. 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.

Page 9: Funcionamiento 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

Memoria 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

Page 10: Funcionamiento 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

Memoria 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

Page 11: Funcionamiento 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

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

4. Ciclo de Instrucción: Fetch

Page 12: Funcionamiento 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

Ciclo 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

Page 13: Funcionamiento 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

Ciclo de Instrucción (cont)

Diagrama de estados completo del Fetch

Page 14: Funcionamiento 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

Ciclo de Instrucción (cont.)

Flujo de datos, ciclo búsqueda de instrucción

Page 15: Funcionamiento 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

5.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.

Page 16: Funcionamiento 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

Segmentació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.

Page 17: Funcionamiento 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

Segmentación de Instrucciones (cont.)

Lavandería Segmentada

Recibir Cargas Lavar Carga i Secar Carga i y lavar

Carga i+1 Planchar Carga i, secar

Carga i+1 y lavar Carga i+2

Total (4 cargas): 3.5 horas

Page 18: Funcionamiento 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

Segmentació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

Page 19: Funcionamiento 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

Segmentació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

Page 20: Funcionamiento 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

Segmentación de Instrucciones (cont.)

Page 21: Funcionamiento 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

Segmentació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.

Page 22: Funcionamiento 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

Segmentació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.

Page 23: Funcionamiento 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

Segmentació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ó.

Page 24: Funcionamiento 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

6. Pentium y PowerPC

Procesador Pentium Registros

Page 25: Funcionamiento 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

Pentium 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...

Page 26: Funcionamiento 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

Pentium 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

Page 27: Funcionamiento 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

Pentium y PowerPC (cont.)

Power Pc Registros

Page 28: Funcionamiento 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

Pentium 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

Page 29: Funcionamiento 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

Pentium 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.

Page 30: Funcionamiento 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

Conclusiones 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.

Page 31: Funcionamiento 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

Consultas y comentarios: http://www.udec.cl/~johperez