Arquitectura interna del microprocesador

Rafa Morales 17 Mayo 2019
11min
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. Procesador gráfico.
  5. Procesador NPU.

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 modernos suelen existir más de un núcleo (core) de procesamiento. Cada núcleo es un unidad física de procesamiento independiente dentro del mismo microprocesador. 

Cada núcleo se compone de su propia Unidad de Control (UC), Unidad Aritmético-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 su precio es más elevado.

 

Frecuencia

Frecuencia base

La frecuencia base, frecuencia interna o frecuencia de reloj se corresponde con la frecuencia del reloj interno de su arquitectura e indica el número de ciclos o cambios por segundo del reloj. No todos los núcleos del microprocesador tienen por qué tener la misma frecuencia base. 

Esta frecuencia se mide en hercios y en sus múltiplos, MegaHercios o GigaHercios, donde 1GHz = 1.000MHz = 1.000.000.000Hz.

 

Frecuencia de turbo máxima

La frecuencia de turbo máxima (Max Turbo Frequency), frecuencia de reloj de aumento o frecuencia aumentada, es una tecnología que permite a los microprocesadores trabajar a una frecuencia base y, en el momento que exista más carga de procesamiento, aumentar su frecuencia hasta este máximo establecido. 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 overclocking consiste en aumentar la frecuencia de reloj más allá de los valores establecidos por el fabricante. Esto se traduce en un mayor rendimiento, pero también implica riesgos como el sobrecalentamiento y la reducción de la vida útil del componente.

Algunos fabricantes ofrece algunas familias diseñadas específicamente para el overclocking.

 

Hilos

Un hilo de software (thread) o hilo de ejecución o subproceso es la unidad de ejecución más pequeña que puede ser planificada por un sistema operativo. Un proceso puede estar formado por uno o varios hilos, que comparten determinados recursos, como la memoria y los archivos abiertos. Cualquier proceso estará formado como mínimo por un hilo.

Un hilo de hardware es una unidad lógica de ejecución dentro del núcleo del microprocesador que permite gestionar y ejecutar un hilo de software de forma independiente. Por ejemplo, un microprocesador que tiene 4 núcleos y 8 hilos de hardware hace que el sistema operativo detecte como si tuviera 8 procesadores lógicos, aunque físicamente solo tenga 4 núcleos.

Estas tecnologías permiten aprovechar mejor los recursos internos del microprocesador, ya que cuando un hilo no está utilizando determinadas unidades de ejecución del núcleo, otro hilo puede aprovecharlas. Sin embargo, ambos hilos comparten determinados recursos, por lo que el rendimiento no llega a duplicarse.

Intel utiliza la tecnología llamada HyperThreading Technology (HTT o HT). Gracias a ella, cada núcleo físico puede gestionar dos hilos de hardware simultáneamente.

AMD utilizó inicialmente la tecnología Clustered Multi-Threading (CMT), en la que dos núcleos compartían determinados recursos internos, como la unidad de coma flotante (FPU). Posteriormente, en 2017, AMD recuperó la tecnología Simultaneous Multi-Threading (SMT), similar a la utilizada por Intel.

 

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.

 

Núcleos P-Core y E-Core de Intel

A partir de la 12ª Generación de microprocesadores Intel Core, algunos modelos introducen diferentes tipos de núcleos en el mismo microprocesador. 

  • Los núcleos P (P-Core o Performance Core - Núcleo de rendimiento) proporcionan un mayor rendimiento, una mayor frecuencia y tecnología HyperThreading, pero con un mayor consumo de energía y necesitando más espacio físicamente. Estos núcleos están enfocados a aplicaciones altamente exigentes como videojuegos, aplicaciones CAD, herramientas profesionales de edición de fotografía y similares.

  • Los núcleos E (E-Core o Efficiency Core - Núcleo de eficiencia) proporcionan menor rendimiento y frecuencia, pero también con un menor consumo energético y menor espacio físicamente. Estos núcleos están enfocados tareas livianas como navegar, reproducir multimedia u ofimática.

Los microprocesadores Intel Core Ultra introducen también un nuevo tipo de núcleo además de los dos anteriores.

  • Los núcleos LP-E (Low Power Efficiency Core) proporcionan un menor consumo energético, llegando a un mínimo consumo en caso de no ser utilizados. Orientados a equipos portátiles.

Intel ha desarrollado la tecnología Thread Director para la administración de los núcleos P (Performance) o núcleos E (Efficiency). Esta tecnología se incorpora al hardware y firmware del microprocesador, el cual monitoriza y envía a tiempo real información de la carga y rendimiento de cada núcleo al sistema operativo. Con esta información, el sistema operativo puede tomar una mejor decisión de a qué tipo de núcleo debe enviar cada hilo de proceso. Desde Windows 11 (21H2) y Ubuntu 22.10 existe soporte nativo.

 

Virtualización

La virtualización es una tecnología incluida en los núcleos del microprocesador que permite crear y ejecutar entornos virtuales independientes (máquinas virtuales) de forma eficiente y segura en un mismo ordenador físico. La mayoría de microprocesador de escritorio suelen traer esta tecnología.

En Intel se denomina Intel VT-x (Intel Virtualization Technology) y en AMD se denomina AMD-V (AMD Virtualization / Secure Virtual Machine). Esta tecnología se puede habilitar o deshabilitar en BIOS.

 

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 la palabra "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:

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

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

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 integrado (IMC - Integrated Memory Controller) es el bloque 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.
  • Cantidad máxima de canales de memoria: 2.

 

Procesador gráfico

El procesador gráfico integrado (iGPU - Integrated Graphics Processing Unit) es el bloque del microprocesador que se encarga de crear y manejar las imágenes que se envían al monitor. AMD denomina a sus procesadores que incorporan controlador gráfico con un elevado rendimiento para cómputo y juego 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á normalmente la memoria RAM del equipo para almacenarlos, aunque hay microprocesadores que también incluyen VRAM (Video RAM) para almacenar internamente los píxeles de la imagen.

 

Procesador NPU

El procesador NPU (Neural Processing Unit o Unidad de Procesamiento Neural) es bloque especializado en acelerar tareas de Inteligencia Artificial y Machine Learning de forma muy eficiente, descargando de este trabajo a los núcleos y al procesador gráfico integrado.

En Intel se denomina Intel AI Boost y en AMD se denomina AMD Ryzen AI.

 

Bibliografía