Funcionamiento de la CPU

Slides:



Advertisements
Presentaciones similares
Procesadores Superescalares
Advertisements

El modelo de Von Neumann
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Intoduccion a la Arquitectura y Organizaciòn del Computador
Planificación de Monoprocesadores
Arquitectura de Computadores I
El Microprocesador.
CICLO DE EJECUCION DE UNA INSTRUCCION
Computación PROGRAMACIÓN.
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
Pipelines: Riesgos.
El procesador: la ruta de datos y el control (II Parte)
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
El nivel de la Microprogramación
Arquitectura de Conjunto de Instrucciones (ISA)
Funcionamiento de una Computadora
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
TRADUCTOR DE UN PROGRAMA

ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MICRO Y MACRO ARQUITECTURA
Unidad 2: Organización del CPU
Introducción a la Ingeniería en Sistemas
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
Procesador Introducción - Funcionamiento - Memoria caché
Arquitectura de Computadoras
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Universidad Tecnológica de la Selva Ing. Emmanuel Gordillo Espinoza.
Asignación de Espacio No Contiguo
Conceptos Arquitectónicos del computador
TEMA 2: Organización de computadores
Capítulo 5. El procesador: Camino de datos y control.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
Arquitectura de Von Neumann
PROCESADOR Por: Luis Gonzaga Trujillo Cuervo USCO
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
“Organización y Arquitectura de Computadores” William Stallings
Capítulo 4 CPU y la memoria.
Hecho por: M.C. Luis Fernando Guzmán Nateras v3 Organización de Computadoras Preparación: Examen 1 JEOPARDY.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
1.1 Introducción A Los Sistemas Informáticos
ARQUICTECTURA DE SERVIDORES
Capítulo 8 Segmentación de Instrucciones.
introducción al Lenguaje Ensamblador
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
INTERRUPCIONES – ABRAZO MORTAL
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
LA CPU Ing. Manuel Andrés Belalcázar S. Corporación Universitaria Autónoma del Cauca.
José Alvarado – Cristian Anzola
Curso: Fundamentos de Computación
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
ARQUITECTURA DEL COMPUTADOR INTEGRANTES: CASTRO MYCHAEL ALVEAR NELSON FLORES DANILO RODRIGUEZ CARLOS IZQUIERDO HARRY INTEGRANTES: CASTRO MYCHAEL ALVEAR.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
CAPITULO V Arquitectura de Von Neumann
FUNCIONAMIENTO DEL EQUIPO DE COMPUTO. COMPUTADORA: una computadora es una máquina electrónica capaz de procesar datos para convertirlos en información.
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
Estructura y funcionamiento de un sistema de cómputo
Transcripción de la presentación:

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

1. Introducción Objetivo Objetivos específicos 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

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:

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

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

Organización CPU (cont.) Estructura Interna CPU

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.

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

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

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

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

Ciclo de Instrucción (cont) Diagrama de estados completo del Fetch

Ciclo de Instrucción (cont Ciclo de Instrucción (cont.) Flujo de datos, ciclo búsqueda de instrucción

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.

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.

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

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

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

Segmentación de Instrucciones (cont.)

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.

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.

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

6. Pentium y PowerPC Procesador Pentium Registros

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

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

Pentium y PowerPC (cont.) Registros

Pentium y PowerPC (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

Pentium y PowerPC (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.

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.

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