Micro-arquitectura.- Es el segundo nivel de la maquina contemporánea por encima de la lógica
digital y debajo de la arquitectura de conjunto de instrucciones. Su función es
la de implementar el nivel ISA (arquitectura de conjunto de instrucciones, ISA=
Instruction Set Architecture) que esta un nivel por encima. El diseño del nivel
de micro-arquitectura depende de la ISA que
se está implementando, objetivo de costo y desempeño de la computadora.
La micro-arquitectura contiene un
microprograma en la memoria ROM cuya tarea es buscar, decodificar y ejecutar
las instrucciones de la ISA, este microprograma tiene un conjunto de variables
llamadas estado de la computadora, al que todas las funciones tienen acceso.
Cada función modifica al menos algunas de las variables que constituyen el
estado. Por ejemplo el contador de programa (PC) forma parte del estado; indica
donde se encuentra la siguiente función (instrucción ISA) a ejecutar.
Fig. 1 Niveles de una computadora moderna
Fuente: Tanenbaum A. S. (1999), Organización de computadoras: un enfoque
estructurado, México, Editorial Prentice Hall Hispanoamericana S. A.
Diseño
de nivel de micro-arquitectura.- Las computadoras
pueden tener muchas características deseables como ser velocidad,
confiabilidad, bajo consumo de energía, facilidad de uso, etc. Pero siempre que
se mejore uno de estos, se paga el precio de empeorar otra u otras características,
esto depende del diseñador de la CPU que deberá busca un equilibrio entre todas
o una gran mayoría de las características.
Rapidez
VS Costo.- Existen varias formas de medir la
rapidez, dependiendo de la tecnología de circuitos y su ISA. Hay 3 estrategias
para de aumentar la velocidad de ejecución
*Reducir
los ciclos de trabajo para ejecutar una instrucción
*Simplificar
la organización para que el ciclo de reloj pueda ser más corto
*Cubrir
la ejecución de instrucciones
El costo depende del área del chip,
mientras más grande sea más costara y será más complejo. El diseñador tiene que
decidir si el aumento de terreno justifica el aumento de velocidad.
Uno de los factores clave para determinar
con qué rapidez puede operar el reloj es conociendo cuanto trabajo tendrá que realizar
en cada ciclo de reloj, mientras más trabajo tenga que hacer más largo será el
ciclo de reloj.
Reducción
de la longitud de trayectoria de ejecución.- El número
de ciclos de reloj para ejecutar un conjunto de operaciones se llama longitud
de trayectoria
*Fusión del ciclo de intérprete con el micro-código.-
Consiste en traslapar (cubrir) la instrucción anterior a la que se está
ejecutando, reduciendo ciclos de reloj en la ejecución del programa.
*Una arquitectura de tres buses.- Consiste
en poner a la entrada de la ALU dos buses, accesibles para cualquier registro,
haciendo que cualquier suma que realice esta, lo haga en un solo ciclo de reloj.
*Unidad de obtención de
instrucciones.- Consiste en añadir una segunda
ALU para ahorrar tareas a la ALU original, esta nueva ALU se llama unidad de búsqueda
de instrucciones (IFU) que interpreta cada código de operación y luego prepara
lo necesario para que la unidad de ejecución principal se limite a usar lo
preparado por la IFU.
Nivel
de Arquitectura de conjunto de instrucciones (ISA).- También conocido como nivel de máquina, consiste en el reconocimiento
del lenguaje maquina por parte de una arquitectura particular de la computadora.
Un programa escrito en verdadero lenguaje maquina no necesita intérpretes,
traductores o compiladores, la circuitería lo puede ejecutar directamente.
El ISA especifica las instrucciones que la
computadora puede realizar y el formato para cada instrucción. Este nivel es
como un intermediario entre el software y el hardware. La mayoría de los ISAs
contiene set de instrucciones de movimiento, procesamiento de datos y controlar
la secuencia de ejecución del programa.
Fig. 2 Procesador IBM con arquitectura PowerPC
Fuente:
http://arquitectura-powerpc.blogspot.com/2008/04/la-arquitectura-de-powerpc.html, La arquitectura del PowerPC, Orliana Parra, recuperado (19/10/12)
Relación
entre micro-arquitectura y arquitectura.- La
micro-arquitectura y arquitectura se encuentran en distintos niveles de una
computadora moderna, por lo tanto tienen mucha relación, la micro-arquitectura
es la que interpreta, decodifica y ejecuta las instrucciones del nivel superior
que es el nivel de arquitectura. Un nivel depende del otro, se necesitan
mutuamente para poder realizar sus trabajos a cabalidad, y hacer que la computadora
trabaje de una forma más eficiente y rápida.
Unificación
de set de instrucciones
*Ventajas.- -
Compatibilidad entre arquitecturas
-Mayor facilidad de aprender el
set de instrucciones, que sería universal
-Capacidad
de migrar de arquitectura sin problemas
*Desventajas.-
-Surgimiento de problemas de intereses de las empresas fabricantes
de dispositivos haciendo que el
avance tecnológico sea lento.
-Estancamiento
en la creación de nuevas arquitecturas
Ejemplos
de micro- arquitectura y arquitectura en procesadores
Procesador
|
Micro-arquitectura
|
Set de Instrucciones
|
Pentium IV
|
NetBurst
|
SSE2
|
Procesadores Intel Core de 4º Generación
|
Haswell | AVX 2.0 |
AMD Athlon
|
Trinity
|
AES, AVX |
No hay comentarios:
Publicar un comentario