Componentes de un Microprocesador
1. Unidad de Control (UC)
Esta unidad es la encargada de poner en ejecución las instrucciones del programa que se ha de ejecutar. Solo entiende instrucciones en código máquina compuestas de unos y ceros. Después de leer la instrucción, la ejecuta generando las señales pertinentes que envía a todos los componentes del ordenador para que se realicen las tareas necesarias.
Se compone de varias partes (Decodificador, Secuenciador, y varios registros como: el Contador de Programa, el puntero de pila (SP) o el Registro de Instrucción)
2. Unidad de Procesamiento
Esta unidad realiza la mayoría de las operaciones aritméticas (+,-,/,*), lógicas (and, or, xor, not) y de comparación (<,>,<=,>=,==,!=).
Se compone de la Unidad Aritmético Lógica (ALU), que es la que realiza las operaciones y algunos registros más (Acumulador, Palabra de estado y otros registros intermedios).
3. Memoria Caché y Controladora de Memoria Caché
Es una memoria mucho más rápida que la memoria principal del ordenador. La emplea el procesador para almacenar ciertos datos que está utilizando y otros que, previsiblemente, serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM, reduciendo así el tiempo de espera. Existen varios niveles de memoria caché (por ejemplo L1 y L2). Para realizar el intercambio de información entre memoria principal y caché y entre los mismos niveles de caché se encarga una controladora de manejo de esta memoria que se encuentra también en el encapsulado.
4. Reloj del Sistema
Dentro del procesador existe un reloj que da una serie de pulsos a una determinada frecuencia. En cada pulso el procesador ejecuta una operación básica. El periodo de tiempo entre un pulso y el siguiente es lo que se llama ciclo y es el tiempo que se tiene para la ejecución de una operación básica. La velocidad del procesador se mide en Hercios (Hz): número de ciclos en un segundo. Así un procesador que vaya a 1 GHz, significa que su reloj realiza 1.000.000.000 ciclos/segundo. O lo que es lo mismo, el procesador puede realizar 1.000.000.000 operaciones básicas en un segundo.
5. Núcleo o Core
El núcleo es la parte central del diseño del microprocesador. Está formado por la unidad de control, la ALU, la caché de los primeros niveles, los registros y los buses internos. Núcleos, significa, que en un mismo chip existe varios procesadores (la partes más fundamentales). La ventaja de los núcleos es que cada uno puede ejecutar una instrucción distinta a la vez. Esto es una gran ventaja porque con 2 núcleos se duplica la ejecución al doble.
6. Coprocesador Matemático (FPU)
Trabajar con números de muchos decimales y operar con ellos es una tarea costosa para el procesador. Con este elemento se pretende liberar a la ALU de estos cálculos especializados por medio de este componente (FPU) que está diseñado específicamente para realizarlos.
7. Controladora de Memoria
En AMD desde hace ya algo de tiempo. En Intel desde algunos Core i. La controladora de memoria que antes estaba en el chipset puente norte se ha trasladado al procesador para que el intercambio de información de memoria principal con el procesador, que es tan frecuente, se haga lo más rápido posible.
Arquitectura
La arquitectura de un microprocesador define su estructura, funcionalidad básica y modelo de programación; es decir, número de bits de los registros internos, juego o set de instrucciones, número de ciclos de reloj por instrucción, método de gestión de memoria, número de líneas de los buses, etc. Dependiendo del tipo de instrucciones que se implementen en un microprocesador, podemos distinguir entre arquitecturas CISC y RISC.
CISC
En un chip con arquitectura CISC (Complex Instruction Set Code) las instrucciones son muy complejas y con varios operandos. Esto optimiza los programas, pero debido a la complejidad de las instrucciones tiene el inconveniente de que algunas de ellas requieren varios accesos a memoria; cada instrucción necesita varios ciclos de reloj, lo que hace que el ordenador resulte lento. Tradicionalmente esta ha sido la arquitectura que ha seguido Intel por compatibilidad con todos sus procesadores.
RISC
La arquitectura RISC (Reduced Instruction Set Code) pretende evitar este problema mediante el uso de juegos de instrucciones muy sencillas, con un único operando, de modo que las tareas más complejas se puedan descomponer en tareas más simples. Las instrucciones menos utilizadas fueron eliminadas, con lo que se consiguieron juegos de instrucciones más sencillos que se podían ejecutar en un solo ciclo de reloj, lo que redujo el tiempo medio de ejecución y la simplificación del diseño. Pero por contrapartida los programas son más largos.
Esta es la arquitectura de AMD.
Anchura de Buses
El ancho de los buses determinará la capacidad de comunicación de la CPU con el resto del sistema.
El número de bits del bus de direcciones determina el número máximo de direcciones, tanto en la memoria como en las unidades de E/S a las que se puede acceder. Si en ancho son n bits, entonces el número de posibles direcciones distintas será de 2n.
El ancho del bus de datos o, lo que es lo mismo, su número de líneas, nos indica el número de bits de datos a los que se puede acceder simultáneamente y con los que opera internamente. Este factor influye directamente en el rendimiento del sistema pues significa que a mayor número de bits, menos operaciones hay que realizar para leer o escribir datos. Por ejemplo, para leer 8 bytes de memoria, en un Pentium (64 bits) se necesita de una sola operación, en un 486 o 386 (32 bits) se necesitarán dos operaciones, cuatro serán necesarias en un 286 (16 bits) y ocho en el caso de un 8086 (8 bits).
Segmentación de Cauce (Pipeline)
Una técnica, utilizada en los modernos microprocesadores, para acelerar el tiempo de ejecución de las instrucciones es la denominada pipeline. En una CPU sin esta característica cada instrucción es ejecutada completamente de forma que no se carga la siguiente instrucción hasta que la anterior ha terminado. Con esta técnica, la ejecución de cada instrucción se divide en etapas. Cada una de ellas se ejecuta en una determinada unidad o stage, de forma que cuando una instrucción ha terminado su ejecución en una etapa pasa a la siguiente, y una nueva instrucción es cargada en la primera. De esta forma se procesan varias instrucciones simultáneamente; cuantas más etapas existan, más instrucciones podrán ejecutarse a la vez.
Las etapas son pasos independientes. Por ejemplo la ejecución de cada instrucción podría dividirse en: 1- lectura de la instrucción, 2- identificación, 3- lectura de datos, 4- ejecución y escritura de resultados. Estos pasos se pueden ejecutar en una parte diferente del procesador, por lo que si lo hacemos así, podemos ejecutar varias instrucciones en el tiempo que antes se ejecutaba una sola.
Hyperthreading
La tecnología HyperThreading fue creada por Intel y básicamente consiste en que el microprocesador trabaja como dos CPU virtuales ejecutando varios subprocesos en paralelo, es decir, engaña al sistema operativo haciéndole creer que son dos CPU cuando solamente es una. Esto lo consigue aprovechando las unidades que están inactivas en un momento dado para ejecutar las instrucciones del segundo procesador virtual, de forma que se aprovecha un conjunto de componentes integrados en el chip de la CPU que antes estaban parados.
Overclocking
Consiste en la técnica de forzar el procesador u otros componentes por encima de las frecuencias o velocidades para las que fue fabricado y consiguiendo que trabaje a mayor velocidad. Es una operación totalmente desaconsejable.
Hay dos tipos de overclocking:
- Aumentando la velocidad del Bus del sistema: Con esto se consigue aumentar la velocidad del procesador y también la del resto de componentes del sistema como la memoria RAM. → más potencia de cálculo y más memoria.
- Aumentando el multiplicador: Aumenta sólo la velocidad del procesador. → más potencia de cálculo.
TDP
Parte de los vatios que genera el procesador se convierten en calor. El TDP son el mínimo de vatios convertidos en calor que hay que disipar para que el procesador funcione bien sin estropearse. Cuanto menor sea significa que consume menos corriente y que el disipador que hay que colocarle es menor.
GT/S
En Intel, con el Bus del Sistema QPI ya no se habla de MHz o GHz. Se habla GT/S (giga transferencias por segundo) porque lo que se mide son las transferencias por segundo debido a que este bus puede enviar y recibir a la vez.
Sistema Turbo Boost
El propio procesador internamente hace overclocking por núcleos. Si tiene un TDP determinado del encapsulado, si no se están trabajando todos los núcleos, los que sí trabajan pueden aumentar su velocidad de tal manera que no se supere el TDP global. Esto se da en los Core i (con la arquitectura Nehalem).