microarquitectura


En ingeniería informática , la microarquitectura , también denominada organización informática y, en ocasiones, abreviada como µarch o uarch , es la forma en que se implementa una determinada arquitectura de conjunto de instrucciones (ISA) en un procesador en particular . [1] Una determinada ISA puede implementarse con diferentes microarquitecturas; [2] [3] Las implementaciones pueden variar debido a los diferentes objetivos de un diseño determinado o debido a cambios en la tecnología. [4]

El ISA es aproximadamente el mismo que el modelo de programación de un procesador visto por un programador de lenguaje ensamblador o escritor de compilador. El ISA incluye las instrucciones , el modelo de ejecución , los registros del procesador , la dirección y los formatos de datos, entre otras cosas. La microarquitectura incluye las partes constituyentes del procesador y cómo estas se interconectan e interoperan para implementar la ISA.

La microarquitectura de una máquina generalmente se representa como diagramas (más o menos detallados) que describen las interconexiones de los diversos elementos microarquitectónicos de la máquina, que pueden ser desde compuertas y registros únicos hasta unidades aritméticas lógicas completas (ALU) e incluso más grandes. elementos. Estos diagramas generalmente separan la ruta de datos (donde se colocan los datos) y la ruta de control (que se puede decir que dirige los datos). [5]

La persona que diseña un sistema generalmente dibuja la microarquitectura específica como una especie de diagrama de flujo de datos . Al igual que un diagrama de bloques , el diagrama de microarquitectura muestra elementos de microarquitectura como la unidad aritmética y lógica y el archivo de registro como un solo símbolo esquemático. Normalmente, el diagrama conecta esos elementos con flechas, líneas gruesas y líneas finas para distinguir entre buses de tres estados (que requieren un búfer de tres estados para cada dispositivo que controla el bus), buses unidireccionales (siempre impulsados ​​por una sola fuente, como como la forma en que el bus de direcciones en computadoras más simples siempre está controlado por el registro de direcciones de memoria), y líneas de control individuales. Las computadoras muy simples tienen una sola organización de bus de datos  : tienen un solo bus de tres estados . El diagrama de computadoras más complejas generalmente muestra varios buses de tres estados, que ayudan a la máquina a realizar más operaciones simultáneamente.

Cada elemento de microarquitectura está a su vez representado por un esquema que describe las interconexiones de las puertas lógicas utilizadas para implementarlo. Cada puerta lógica está a su vez representada por un diagrama de circuito que describe las conexiones de los transistores utilizados para implementarla en alguna familia lógica particular . Las máquinas con diferentes microarquitecturas pueden tener la misma arquitectura de conjunto de instrucciones y, por lo tanto, ser capaces de ejecutar los mismos programas. Las nuevas microarquitecturas y/o soluciones de circuitos, junto con los avances en la fabricación de semiconductores, son lo que permite que las nuevas generaciones de procesadores logren un mayor rendimiento mientras usan el mismo ISA.

En principio, una sola microarquitectura podría ejecutar varias ISA diferentes con solo cambios menores en el microcódigo .


Diagrama de la microarquitectura Intel Core 2
Una microarquitectura organizada en torno a un único bus
Microarquitectura Intel 80286