Arquitectura interna del microprocesador

Rafa Morales 17 Mayo 2019
10min
0
Arquitectura interna del microprocesador

Bloques internos del microprocesador

El microprocesador posee dentro los siguientes bloques de los que detallaremos sus características en los siguientes apartados. No todos los microprocesadores incluyen todos los bloques, dependerán de las características del mismo.

  1. Núcleos.
  2. Memorias caché.
  3. Controlador de memoria.
  4. Controlador gráfico.

En la siguiente imagen podemos ver el diseño de los bloques que componen la arquitectura de un microprocesador Intel Core.

Arquitectura interna del Intel Core

 

Núcleos

En los microprocesadores moderno suelen existir más de un núcleo (core) de procesamiento. Cada núcleo es un pequeño microprocesador independiente dentro del mismo microprocesador.

Cada núcleo se compone de su propia Unidad de Control (UC), Unidad Aritmetico-lógica (UAL), Unidad de Punto Flotante (UPF), Registros y los primeros niveles de Memoria Caché.

Gracias a los núcleos, el microprocesador será capaz de realizar a la vez una tarea por cada núcleo que posea. De esta manera el sistema responderá de manera más cómoda aunque una tarea monopolice uno de los núcleos. Como regla general, a mayor número de núcleos, los microprocesadores presentan mejores prestaciones, pero a la vez son más caros. Sin embargo, por desgracia, existen pocas aplicaciones que puedan sacar rendimiento a más de cuatro de ellos.

 

Velocidad del microprocesador

La velocidad interna (frecuencia interna o velocidad de reloj) del microprocesador se corresponde con la frecuencia del reloj interno de su arquitectura, que es la misma frecuencia para todos sus núcleos, e indica el número de cambios por segundo del reloj. Esta frecuencia se mide en Hercios y en sus múltiplos, Megahercios o Gigahercios, donde 1GHz = 1.000MHz = 1.000.000.000Hz.

La velocidad externa (frecuencia externa o velocidad del bus del sistema) se corresponde con la frecuencia del reloj con la que el microprocesador se comunica con el chipset norte, es decir, la velocidad del bus del sistema. La velocidad del bus del sistema siempre será más baja que la velocidad del reloj del microprocesador, así que se fija un multiplicador que indica la diferencia de velocidad entre dichas velocidades. Por ejemplo, un Pentium D a 3,6 GHz utiliza un bus frontal de 800MHz, el multiplicador será 4,5, ya que 800x4,5 da como resultado 3600MHz (3,6 GHz).

No debemos confundir la velocidad con el rendimiento de un microprocesador, que se mide en IPC (Instructions Per Cycle), e indica el número de instrucciones que puede ejecutar el microprocesador en un ciclo de reloj. Como es lógico, a mayor IPC mayor rendimiento poseerá un microprocesador ya que podrá ejecutar más instrucciones en un único ciclo de reloj. Leer más sobre la importancia del IPC.

 

Frecuencia de Turbo Máxima

La Frecuencia de Turbo Máxima (Max Turbo Frequency) es una tecnología que permite a los microprocesadores trabajar a una velocidad base y, en el momento que exista más carga de procesamiento, aumentar su velocidad hasta una frecuencia máxima. Esto se podrá hacer siempre y cuando el procesador no supere un cierto consumo de energía y temperatura.

Intel denomina a esta tecnología Turbo Boost, mientras que AMD la denomina Turbo Core.

En las especificaciones del microprocesador suele venir indicado de la siguiente manera por ejemplo:

  • Frecuencia base: 2.90 GHz.
  • Frecuencia turbo máxima o de aumento: 4.30 GHz.

 

Overclocking

El caso en el que nosotros ampliamos la velocidad del microprocesador por nuestra cuenta y riesgo sin que el fabricante lo haya permitido en sus especificaciones se conoce como overclocking.

 

Hilos

Un hilo de ejecución (thread) o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo. Aunque un núcleo solamente pueda realizar una tarea al mismo tiempo, se pueden usar los hilos para hacer creer al usuario (y al propio ordenador) que sí se puede hacer más de una cosa al mismo tiempo. En vez de realizar una tarea por completo, se divide la tarea en porciones (cada hilo se encarga de un aspecto concreto del programa), de modo que se va alternando entre porciones de tareas para que parezca que ambas se ejecutan al mismo tiempo. Es decir, hacemos un poco de un proceso y otro poco de otro proceso; cada uno de esos trozos se corresponde con el hilo. Así, no tenemos que esperar a que una tarea acabe para comenzar otra.

Intel utiliza una tecnología llamada HyperThreading Technology (HTT). Gracias a ella consigue duplicar el número de tareas que es capaz de ejecutar cada núcleo en un determinado momento. Un equipo con esta tecnología parecerá tener el doble de núcleos.

AMD utiliza realiza su propia versión con Clustered Multi-Threading (CMT). En este caso replica casi todo el núcleo en bloques de dos unidades excepto la unidad de punto flotante que es compartida. Esto puede hacer que tenga ciertos problemas con las prestaciones que es capaz de dar a algunas aplicaciones que hagan mucho uso de números flotantes. AMD desde el 2015 ha vuelto a recuperar y mejorar la tecnología Simultaneous Multi-Threading (SMT), que proviene de IBM en los años 70 para dejar la tecnología CMT.

 

Registros

Los registros del núcleo son espacios de memoria donde se almacenan los datos o direcciones con los que trabaja el microprocesador.

El tamaño del registro se conoce con el nombre de ancho de registro, ancho de palabra o tamaño de palabra. Los diferentes tamaños de registro que podemos encontrar en los microprocesadores son 32 bits, 64 bits o 128 bits. Actualmente a penas se fabrican microprocesadores de 32 bits.

Los microprocesadores de 32 bits se diferencian de los de 64 bits porque tienen una serie de limitaciones que enumeramos a continuación:

  • Números en rango 232: Este límite implica que toda operación realizada se encuentra limitada a números en rango de 232. Al utilizar un procesador de 64 bits, este rango dinámico se hace 264, lo cual se incrementa notablemente comparado con un procesador de 32 bits. Para aplicaciones matemáticas y científicas que requieren de gran precisión, el uso de esta tecnología puede ser imprescindible.

  • Límite memoria del sistema 4Gb: La arquitectura de 32 bits se encuentra en la incapacidad de direccionar o controlar la asignación sobre más de 4Gb de memoria RAM.

  • Límite memoria por proceso 2Gb: Con 32 bits el sistema operativo sólo puede ofrecerle a un proceso un máximo de 2Gb de memoria RAM.

Aunque parecen todo ventajas, el inconveniente de utilizar arquitecturas de 64 bits es que no todo el software, sea sistema operativo o aplicación, está diseñado para explotar los recursos ofrecidos por un microprocesador de 64 bits.

 

Memorias caché

La función de la memoria caché es sencilla, conseguir que los datos más usados estén lo más cerca del microprocesador para ser accedidos de la manera más rápida.

Se organiza en niveles, de menor a mayor tamaño según lo alejada que esté del micro, si el procesador necesita un dato de la memoria se comprueba si este se encuentra en el primer nivel. En caso de no encontrarlo, se busca en el segundo nivel y si no en el tercero. Todo funciona si se colocan los datos más utilizados en los niveles más cercanos al procesador.

Todos los microprocesadores actuales suelen tener una memoria caché de nivel 1 (L1), una memoria caché de nivel (L2), que es más grande que la L1 aunque menos rápida, e incluso una memoria caché de nivel 3 (L3). "L" proviene de Level.

Cada uno de estos niveles tiene un bloque de control el cual se encarga de almacenar y poner los datos a disposición del micro. El tiempo que tarda en buscar la información es proporcional al tamaño de la propia memoria que administra. Como queremos que los datos lleguen lo antes posible al micro los niveles más bajos tendrán menor capacidad. Cada nivel superior, por tanto, es bastante más grande que el anterior.

En los microprocesadores de dos o más núcleos, la memoria caché puede ser de diferentes tipos. Suele ser común reflejarlo de la siguiente manera:

  • Dedicada (dedicated): Cada núcleo posee su propia memoria caché. Aparece reflejado como caché 2 x 4 Mb, quiere decir que son 4 Mb por cada núcleo.

  • Compartida (shared): Sólo existe una memoria caché que se comparte entre los núcleos. Aparece reflejado como caché 2 Mb, entonces los 2 Mb son compartidos por todos los núcleos del procesador.

  • Instrucciones y datos (Instructions and data): La memoria caché se divide en memoria para instrucciones y memoria para datos. Aparece reflejado como caché 1 Mb + 1 Mb, quiere decir que 1 Mb es para instrucciones y 1 Mb es para datos.

Lo normal es que en cada nivel de memoria caché se utilice un tipo diferente de memoria.

Un ejemplo de memorias cachés en un microprocesador sería el siguiente, obtenido de un software de análisis hardware, donde:

  • En el nivel 1 (L1) existe una memoria de instrucciones y datos de 32KB cada una.
  • En el nivel 2 (L2) existe una memoria dedicada de 256 KB en cada núcleo.
  • En el nivel 3 (L3) existe una memoria compartida de 8192 KB (8 MB) para todos los núcleos.

 

Controlador de memoria

El controlador de memoria es la parte del microprocesador encargado de facilitar el acceso a la memoria RAM. En un principio, esta funcionalidad se implementaba en un chip que se encontraba sobre la placa base, sin embargo desde hace un tiempo ya se encuentra integrado en el interior del microprocesador.

La ventaja de tenerlo integrado es que las lecturas y escrituras son más rápidas al saltarnos un intermediario además de que se consume menos energía.

El inconveniente es que el microprocesador limita de fábrica la memoria RAM que puedes usar en el ordenador. En las especificaciones del microprocesador suele venir indicada la memoria RAM que se puede utilizar (tipo, cantidad y velocidades). Por ejemplo:

  • Tamaño de memoria máximo: 32 GB.
  • Tipos de memoria: DDR3-1333/1600, DDR3L-1333/1600 @ 1.5V.
  • Cantidad máxima de canales de memoria: 2.

 

Controlador gráfico

El controlador gráfico es la parte del microprocesador que se encarga de crear y manejar las imágenes que se envían al monitor. También se denomina tarjeta gráfica integrada (iGPU - Integrated Graphics Processing Unit). AMD denomina a sus procesadores con controlador gráfico como APU (Accelerated Processing Unit).

Este controlador no será tan potente como una tarjeta gráfica dedicada, pero es más que suficiente para realizar tareas básicas, como ofimática, películas, navegación e incuso diseño de fotografía o arquitectura.

El controlador gráfico necesita almacenar los píxeles que forman la imagen que se muestra en el monitor, para ello utilizará la memoria RAM del equipo para almacenarlos, ya que el microprocesador no incorpora memoria para ello.

 

Bibliografía