Componentes, estructura y funcionamiento de la CPU.pdf

10  13  Descargar (0)

Texto completo

(1)Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. Tema 3: Componentes, estructura y funcionamiento de la CPU 1.. Introducción ___________________________________________________________ 1. 2.. Componentes de la UCP __________________________________________________ 2 2.1. Registros_____________________________________________________________ 2 2.2. Unidad de control (UC) _________________________________________________ 3 2.3. ALU (Unidad Aritmético Lógica) _________________________________________ 5 2.4. Otros elementos que forman parte de CPU __________________________________ 5. 3.. Estructura de la UCP _____________________________________________________ 6 3.1. 8085 ________________________________________________________________ 6 3.2. Estructuras avanzadas __________________________________________________ 7. 4.. Funcionamiento_________________________________________________________ 8 4.1. Fases de ejecución de una instrucción ______________________________________ 8. 5.. Bibliografía ___________________________________________________________ 10. 1. Introducción El computador es un sistema muy complejo que precisa de varios niveles de abstracción para su estudio. En el más alto se definen los componentes, estructura y funcionamiento de este, independientemente de la construcción física. La arquitectura que se utiliza hoy en día fue descrita en 1945 por el físico Von Newmann, su más importante aportación fue la de construir una computadora con programa almacenado. Los computadores existentes hasta entonces trabajaban con programas cableados, éstos se introducían estableciendo manualmente las conexiones entre las distintas unidades. La idea de Von Neumann consistió en conectar permanentemente las unidades de la computadora, siendo coordinado su funcionamiento bajo un control central. Es conveniente conocer esta arquitectura para identificar dentro de todos los componentes a la CPU y entender más fácilmente como interacciona con el resto de elementos. Vamos a centrarnos en estudiar: 9 Los componentes de la UCP y las funciones de cada uno de ellos 9 La estructura, es decir, ¿cómo se organizan?, ¿cómo se conectan?, prestando especial importancia a las estructuras avanzadas según su diseño (CISC, RISC) y según el paralelismo (superescalares, vectoriales, segmentados, VLWI) 9 El funcionamiento de la CPU, para comprender exactamente cómo interactúan todos sus componentes y consiguen su objetivo (ejecutar programas) Fernando Mollinedo. Página 1 de 10. Últ. Revisión Febrero 2004.

(2) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. 2. Componentes de la UCP Nos vamos a centrar en los principales componentes de la UCP que son la UC, ALU, registros, FPU y caches. A continuación presentamos un diagrama de bloques de la CPU. 2.1. Registros La UCP es la encargada de captar las instrucciones, interpretarlas, ejecutarlas y escribirlos resultados, es evidente que para realizar correctamente todas esta operaciones se precisa de elementos de memoria, de almacenamiento, estos son los registros. Los registros son un grupo de bits de memoria RAM situados dentro del procesador, que contienen los datos que van a ser ejecutados en la ALU o en la FPU Sus características son: 9 El tamaño o la longitud, es el responsable del tipo de datos e instrucciones que pueden ser utilizados por el procesador, determina la eficiencia del computador a mayor tamaño se reducirá el trafico en la UCP En la primera y segunda generación de PC (8088, 8086, 286) sólo disponían de registros de 16 bits, solamente podían ejecutar software de 16 bits (DOS y Windows 3.x.). El 80386 fue el primer modelo que incluyo registros de 32 bits en su UCP y por consiguiente ejecutar software de 32bits (todas las UCP de los 386, de los 486 y de los primeros Pentium estaban limitadas a 32 bits). Las UCP de los Pentium MMX y de los Pentium II disponían de algunos registros de 128 bits, lo que permitía a la ALU operar con varios números de 32 bits con una sola instrucción, a esta técnica se la denominó SIMD (single-instruction, multiple-data). Sin embargo, esto solo implica 32 bits aritméticos por lo que todos los Pentium están considerados como procesadores de 32 bits. El Itanium fue el primer procesador para PC, de Intel que contiene registros de 64 bits 9 Especialización, nos indican la funcionalidad de los registros, si hay registros que siempre realizan la misma función, la lógica de la unidad de control se simplifica ya que siempre usaré los mismos registros, pero esto es menos flexible. Fernando Mollinedo. Página 2 de 10. Últ. Revisión Febrero 2004.

(3) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. 9 Cantidad, a mayor cantidad de registros menos accesos a memoria y mayor rapidez Tipos de registros: Los registros que solemos encontrarnos varían en función de la UCP, pero principalmente tenemos: De control, no son modificables por el usuario, ejemplos: 9 MAR: (Memory Access Register), indica la siguiente posición de memoria a la que hay que acceder para coger o dejar datos o instrucciones 9 MBR: (Memory Buffer Register), contiene el resultado de la última lectura hecha en memoria o lo que se va a escribir en está 9 IR: (Instrucction Register), contiene la instrucción actual que se ejecuta 9 SP: (Stack Point), es el puntero de pila, almacena la dirección de la cabecera de la pila 9 PC: (Program Count), es el contador de programa, contiene la dirección de la siguiente instrucción a ejecutar 9 AC: (Acumulador), se emplea para las operaciones aritmético lógicas. De usuario, son modificables por el usuario, ejemplos: 9 PSW: (Program Status Word), contiene el resultado de las operaciones más recientes 9 Generales: tienen un uso polivalente, podemos almacenar datos e instrucciones. 2.2. Unidad de control (UC) Capta las instrucciones, las interpreta, capta los operandos y los lleva a los circuitos adecuados de la unidad de procesamiento, envía las señales oportunas a la ALU para completar las operaciones implicadas en la instrucción y ordena el almacenamiento de los resultados en el destino correspondiente. Los pasos en el proceso de ejecución de una instrucción (ciclo de instrucción) son: 8 8 8 8 8 8. Captación Decodificación Captar los operandos Ejecución de la operación Escribir los resultados en Memoria o E/S Comprobar las interrupciones. Es evidente que para realizar todos estos pasos, la CPU debe almacenar temporalmente algunos datos, es decir, necesitará de alguna memoria interna. Esta memoria está constituida por una serie de registros que conforman el nivel más alto en la jerarquía de memoria (es la memoria más pequeña, más cara, más rápida). Fernando Mollinedo. Página 3 de 10. Últ. Revisión Febrero 2004.

(4) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. Segmentación: La tendencia actual es la de dividir en el mayor número de fases el proceso de ejecución de una instrucción, de modo que podamos solapar y ejecutar al mismo tiempo algunos de estas fases Por ejemplo, cuando estamos ejecutando una operación podemos estar captando la siguiente instrucción, a esto se le llama segmentación y es una constante en todos los computadores Diseño: Existen principalmente dos métodos de construir una unidad de control: 8 Lógica cableada, consiste en un gran circuito combinacional, en el que se sueldan todas las posibles combinaciones de entradas mediante puertas lógicas, de modo que automáticamente cuando se detecta la entrada se generan las señales de salida, que componen la señalización de control. Muy costoso su diseño y difícil de modificar, pero muy rápidas 8 Microprogramada, (basadas en el modelo de Wilkes), la UC consta de una memoria de control, que contiene el conjunto de instrucciones del procesador. Aquí se consulta cuales son las señales de control (microinstrucciones) que se deben generar según la instrucción que se ejecuta. Su diseño es más fácil y barato pero es más lenta y ocupa más espacio Arquitecturas de procesador (CISC/RISC) 8 CISC (Complex Instruction Set Computer), dispone de un grupo muy amplio de instrucciones complejas y potentes, Inicialmente los ordenadores tendían a aumentar su potencia a base de ampliar su repertorio de instrucciones e incrementar la potencia de estas, de manera que se adaptasen más a los lenguajes de más alto nivel. El hecho de que el tiempo de ejecución de una instrucción fuera de varios ciclos de reloj no representaba un problema puesto que la UC era mucho más rápida que la memoria principal 8 RISC (Reduced Instruction Set Computer), posee un juego de instrucciones lo más reducido posible, con un porcentaje alto de estas se completa en un ciclo de reloj y un alto número de registros de propósito general. Cuando se necesita realizar una instrucción compleja, se suele componer a partir de instrucciones simples. Características CISC ) ) ) ) ) ) ). Características RISC. Formatos de instrucción de varios tamaños Interpreta microinstrucciones Muchos modos de direccionamiento Pocos registros de propósito general Repertorio de instrucciones flexible Son lentas, ejecución intermedia por software Unidad de control microprogramaza. Fernando Mollinedo. Página 4 de 10. ) ) ) ) ) ) ). Formatos de instrucción de pocos tamaños Interpreta microoperaciones Pocos modos de direccionamiento Muchos registros de propósito general Repertorio de instrucciones rígido Son rápidas, ejecución directa por hardware Unidad de control cableada. Últ. Revisión Febrero 2004.

(5) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. 2.3. ALU (Unidad Aritmético Lógica) Ver Tema 2. 2.4. Otros elementos que forman parte de CPU 9 Unidad de decodificación de la instrucción Parte de la CPU que decodifica la instrucción, es decir, traduce las instrucciones a código máquina. Los diseños más modernos incluyen varias unidades de decodificación 9 Unidad de proceso de coma flotante (FPU) Desde el 8086-80386, la FPU estaba constituida por un circuito externo que se conectaba en su propio zócalo (coprocesador matemático). A partir del 486 excepto el 486SX disponen de una FPU integrada dentro del propio núcleo de la CPU. Está aumenta de la velocidad de procesamiento de la CPU (2 a 10 veces) en la realización de operaciones de coma flotante 9 Caché de nivel 1 (interna) y caché de nivel 2 Se usa para guardar las posiciones de la lenta memoria principal utilizadas más frecuentemente y más recientemente. Cuando la caché contiene los datos que necesita la CPU, no se produce ninguna espera y se denomina acierto de caché. Cuando no contiene los datos, se denomina un fallo de la caché y tendrá que esperar un tiempo hasta que reciba los datos de la memoria principal más lenta (DRAM). ‰ Diseño ƒ. 386 caché SRAM de 64 K en la placa base, aciertos 90%. ƒ. 486 incluye una pequeña cantidad de caché dentro del chip del procesador, no siendo necesaria así la caché de la placa base. ƒ. 486DX, al aumentar la velocidad del procesador aumento el porcentaje de fallos. Para solucionarlo volvieron a incluir la caché SRAM en la placa base (caché de nivel 2), la caché incluida en el procesador (caché de nivel 1). ƒ. Pentium y procesadores posteriores la caché de nivel 1 se dividió en dos partes para separar dentro de la ALU los bits procedentes del bus de datos: ) Caché I: que contenía exclusivamente instrucciones ) Caché D: que contenía exclusivamente datos. ƒ. Pentium II, III y IV incluyen una caché de nivel 2 que funciona a la misma velocidad que la CPU (situada al lado del chip). 9 Bus frontal, FSB (Font Side Bus) Es el bus que conecta la placa base con la CPU. Fernando Mollinedo. Página 5 de 10. Últ. Revisión Febrero 2004.

(6) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. 9 Bus posterior, BSB (Back Side Bus) Bus que sirve de interfaz entre la caché de nivel 1, en el núcleo del procesador y la caché de nivel 2. 3. Estructura de la UCP 3.1. 8085 Hasta el momento hemos visto los componentes y las funciones, ahora vamos a ver cómo se organizan y cómo se conectan éstos. Vamos a analizar la estructura de una UCP real, la del 8085: 8 El 8085 es un procesado de 8 bits fabricado por Intel, precursor de la familia x86, es decir, del 8086, 80286, 80386, 80486, y pentium 8 La estructura de un procesador sencillo podría ser la siguiente. Del circuito de control salen una serie de señales que sirven para indicar a la ALU la operación a realizar, y habilitar el flujo de datos y direcciones entre los distintos elementos. Algunos de estos son: 8 Registro contador del programa (CP), almacena la dirección de la siguiente instrucción a ejecutar 8 Registro de dirección de memoria (RD), almacena las direcciones de memoria sobre las que se va a leer o escribir 8 Registro de datos de memoria (RM), registro intermedio entre la memoria y el bus de datos, almacena temporalmente los datos que se van a escribir o que se acaban de leer 8 Memoria. Fernando Mollinedo. Página 6 de 10. Últ. Revisión Febrero 2004.

(7) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. 3.2. Estructuras avanzadas Las arquitecturas actuales tratan de potenciar el paralelismo, es decir, la ejecución de varias instrucciones simultáneamente, para ello utilizan los siguientes mecanismos 3.2.1. Segmentada Consiste en dividir en el mayor número posibles de etapas el proceso de ejecución de una instrucción, de modo que mientras una instrucción se ejecuta en una fase, puede dar comienzo otra 3.2.2. Super-segmentada No incorpora nada nuevo solo que el nivel de segmentación se lleva a más profundidad 3.2.3. Super-escalar Dentro de la CPU hay varias unidades funcionales, es como varias CPU juntas, hay sólo una UC pero varias ALUs, registros, acumuladores por lo que se pueden ejecutar varias instrucciones al mismo tiempo. Su estructura es la siguiente:. Esto implica una serie de problemas: 8 Dependencia de las instrucciones, es posible que para poder ejecutar una instrucción necesites el resultado de otra, por lo que no pueden ejecutarse al mismo tiempo, se debe detener una 8 Saltos, al poder ejecutar dos instrucciones al mismo tiempo, estás se van leyendo de dos en dos, con lo que es posible que la primera indique un salto y la siguiente ya no sea la segunda que ha leído Para minimizar estos problemas en la UCP se han incluido unidades que predicen en la medida de lo posible los saltos Como ejemplo podemos citar a la familia de los Pentium que poseen dos unidades funcionales, es decir, pueden ejecutar dos instrucciones al mismo tiempo Fernando Mollinedo. Página 7 de 10. Últ. Revisión Febrero 2004.

(8) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. 3.2.4. VLIW (Very Long Instrucction Word) Procesadores superescalares, es decir, con varias unidades de ejecución, que pueden ejecutar varias instrucciones al mismo tiempo. A diferencia de los superescalares no se preocupan de las dependencias entre las instrucciones, ni de los saltos. Suponen que es el compilador el que ha detectado todas las dependencias, y los saltos, agrupando las instrucciones en bloques que si pueden ejecutarse al mismo tiempo, con lo que la eficiencia del procesador sube espectacularmente al no tener que preocuparse de nada más que de ejecutar los bloques de instrucciones paralelas. Este sistema implica una mayor complicación en los compiladores que ahora además de todas las funciones que realizan, deben agrupar las instrucciones en bloques que permitan la ejecución paralela. Nos podemos encontrar con el problema de que cada vez que aparezca un nuevo modelo de procesador VLIW haya que rescribir los compiladores de modo que puedan adaptarse a las cualidades de los nuevos procesadores 3.2.5. Vectoriales Son procesadores normales a los que se les han añadido unos registros y unas operaciones especiales que permiten el tratamiento automático de los vectores, es decir, de matrices de datos unidimensionales. De este modo se pueden realizar operaciones con matrices completas en el tiempo que se tarda en ejecutar una sola instrucción. También podemos vectorizar bucles, lo que implica que se puedan realizar todas las iteraciones de un bucle de una sola vez. Es adecuado precisar que de todas las estructuras vistas ninguna se implementa pura, en un solo procesador, si no que normalmente se realizan fusiones de varias de ellas, aprovechando las ventajas de algunas. El Pentium es superescalar y segmentado. 4. Funcionamiento Resulta más fácil entender el funcionamiento de la CPU entendiendo la funciones de cada una de las unidades que la componen y como interactúan entre ellas. La primera función de un ordenador es ejecutar programas. Un programa es un conjunto de instrucciones que son almacenadas secuencialmente en posiciones o direcciones sucesivas de memoria y que serán ejecutadas una tras otra El funcionamiento del ordenador consistirá en ir extrayendo sucesivamente instrucciones de la memoria, interpretarlas, extraer de memoria los operandos implicados en la operación, enviarlos a la unidad que realiza las operaciones y hallar el resultado. 4.1. Fases de ejecución de una instrucción Las instrucciones y sus operandos se guardan en posiciones sucesivas de la memoria del ordenador, desde donde son transferidas una a una a la UCP, donde se decodifican y ejecutan. Fernando Mollinedo. Página 8 de 10. Últ. Revisión Febrero 2004.

(9) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. Fases de ejecución: ) Carga (fech), el procesador genera las señales necesarias para cargar la siguiente instrucción de la memoria del sistema. Desde allí, la instrucción es transferida a una localización dentro del procesador conocida como registro de instrucción (RI). El contenido actual del contador de programa (CP) es la dirección 0100. Este valor es colocado en el bus de direcciones, tras lo que se activa una señal de lectura en el bus de control. La memoria recibe esta señal y encuentra el contenido de la dirección 0100, que es la instrucción MOV AX, 0. Coloca la instrucción en el bus de datos, y el procesador procede a copiarla desde aquí al registro de instrucción desde donde pasarán a ejecutarse. ) Descodificación (decode), la instrucción es decodificada por el procesador. El procesador transfiere la instrucción del registro de instrucción (RI) a la unidad de decodificación (UD). Esta compara la instrucción leída buscando en una tabla interna y lee en la tabla las microinstrucciones que es necesario ejecutar para realizar la instrucción. Fernando Mollinedo. Página 9 de 10. Últ. Revisión Febrero 2004.

(10) Tema3 SIMM: “Componentes, estructura y funcionamiento de la UCP”. ) Ejecución de la operación (execute), el procesador, si la instrucción así lo requiere, obtendrá los operandos necesarios para el trabajo de la instrucción. ) Almacenamiento de los resultados, si es necesario se producirá el almacenamiento del resultado en la posición indicada por la instrucción . Por último se procederá al cálculo de la siguiente instrucción ) Peticiones de interrupción, si el procesador está habilitado para atender interrupciones, al finalizar el procesamiento de la instrucción actual y antes de cargar la siguiente instrucción se salvará el estado del proceso actual y se atenderá a la interrupción. 5. Bibliografía Zacker, Craig, Rourke, John: “Pc Hardware, Manual de Referencia”. Mc Graw Hill, 2001 Stalling, William: “Organización y arquitectura de computadores”. 4ª Ed. Prentice Hall. 1997 De Miguel Anasagasti, Pedro: “Fundamentos de los computadores”, 6ª Ed. Paraninfo, 1998 Hermida, Román: “Fundamentos de los comptadores”. Síntesis. 1998. Fernando Mollinedo. Página 10 de 10. Últ. Revisión Febrero 2004.

(11)

Figure

Actualización...

Referencias

Actualización...