Para poder diferenciar estos términos, debemos definir cada uno de ellos.
Micro-arquitectura: En computación, una micro-arquitectura es una descripción del circuito eléctrico de una computadora, de la unidad central de proceso o del procesador digital de señal, que es suficiente para describir completamente el funcionamiento del hardware.
En ámbitos académicos, suele emplearse el término "organización de la computadora", mientras que en la industria de la computación suele utilizarse el término micro-arquitectura Ambas palabras son sinónimos.
La micro-arquitectura de una máquina, generalmente es representada empleando un diagrama de bloques que describe las interconexiones entre registros, buses y bloques funcionales de la máquina. Esta descripción incluye el número de unidades de ejecución, el tipo de las unidades de ejecución (como punto flotante, entero, SIMD, etc.), la naturaleza del pipelining, el diseño de la memoria caché y el soporte de periféricos.
El esquema físico del circuito, las construcciones de hardware y otros detalles físicos son llamados implementación de esa micro-arquitectura Dos máquinas pueden tener la misma micro-arquitectura y por lo tanto el mismo diagrama de bloques, pero diferentes implementaciones de hardware.
Arquitectura: La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria.
También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo.
El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que está compuesta por la memoria principal, la UAL y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones).
La micro-arquitectura y la arquitectura de conjunto de instrucciones constituyen la arquitectura de computadora.
Las características que se pretende que tenga un conjunto de instrucciones son cuatro, principalmente:
- Completo: Que se pueda realizar en un tiempo finito cualquier tarea ejecutable con un ordenador (computable o decidible).
- Eficiente: Que permita alta velocidad de cálculo sin exigir una elevada complejidad en su UC y ALU y sin consumir excesivos recursos (memoria), es decir, debe cumplir su tarea en un tiempo razonable minimizando el uso de los recursos.
- Autocontenidas: Esto es, que contengan en sí mismas toda la información necesaria para ejecutarse.
- Independientes: Que no dependan de la ejecución de alguna otra instrucción.
Se puede comprobar que para que un conjunto de instrucciones sea completo solo se necesitan cuatro instrucciones:
-> escritura
-> mover a la izquierda una posición y leer
-> mover a la derecha una posición y leer
-> parar
En esta idea se basan las arquitecturas RISC, no obstante, con este conjunto no se puede conseguir la eficiencia del repertorio de instrucciones por lo que en la práctica el conjunto suele ser más amplio en aras de conseguir un mejor rendimiento, tanto en uso de recursos como en consumo de tiempo.
DIFERENCIAS ENTRE ARQUITECTURA Y MICRO-ARQUITECTURA
La micro-arquitectura debe distinguirse de la arquitectura de conjunto de instrucciones. Esta última es una imagen abstracta de un sistema de computación como sería visto por un programador en lenguaje máquina, e incluye el conjunto de instrucciones, modos de dirección de memoria, registros del procesador, y formatos de direcciones y datos.
La micro-arquitectura en cambio, es de nivel más inferior, más concreto. Muestra las partes constituyentes del sistema y cómo se interconectan e interoperan, para así implementar la especificación de arquitectura.
Diferentes máquinas podrían tener una misma arquitectura de conjunto de instrucciones, y así ser capaces de ejecutar los mismos programas, sin embargo pueden tener diferentes micro-arquitecturas.
Estas diferentes micro-arquitecturas (junto con los avances en las tecnologías de fabricación de semiconductores) son las que permiten nuevas generaciones de procesadores que permiten alcanzar mejores niveles de rendimiento comparadas con las generaciones previas. En teoría, una única micro-arquitectura (especialmente si ésta incluye microcódigo) podría ser usada para implementar dos conjuntos de instrucciones diferentes, por la programación de dos almacenes de control diferentes (el almacén de control almacena el microprograma del CPU).
Ejemplos de arquitectura RISC
Los diseños RISC han llevado a un gran número de plataformas y arquitecturas al éxito, algunas de las más grandes:
- La línea MIPS Technologies Inc., que se encontraba en la mayoría de las computadoras de Silicon Graphics hasta 2006, y estuvo en las consolas ya descatalogadas Nintendo 64, PlayStation y PlayStation 2. Actualmente se utiliza en la PlayStation Portable y algunos routers.
- La serie IBM POWER, utilizado principalmente por IBM en Servidores y superordenadores.
- La versión PowerPC de Motorola e IBM (una versión de la serie IBM POWER) utilizada en los ordenadores AmigaOne, Apple Macintosh como el iMac, eMac, Power Mac y posteriores (hasta 2006). Actualmente se utiliza en muchos sistemas empotrados en automóviles, routers, etc, así como en muchas consolas de videojuegos, como la Playstation 3, Xbox 360 y Wii.
- El procesador SPARC y UltraSPARC de Sun Microsystems y Fujitsu, que se encuentra en sus últimos modelos de servidores (y hasta 2008 también en estaciones de trabajo).
- El PA-RISC y el HP/PA de Hewlett-Packard, ya descatalogados.
- El DEC Alpha en servidores HP AlphaServer y estaciones de trabajo AlphaStation, ya descatalogados.
- El ARM – El paso de hardware de instrucciones x86 en operaciones RISC llega a ser significativo en el área y la energía para dispositivos móviles e integrados. Por lo tanto, los procesadores ARM dominan en PALM, Nintendo DS,Game Boy Advance y en múltiples PDAs, Apple iPods, Apple iPhone, iPod Touch (Samsung ARM1176JZF, ARM Cortex-A8, Apple A4), Apple iPad (Apple A4 ARM -based SoC), videoconsolas como Nintendo DS (ARM7TDMI, ARM946E-S), Nintendo Game Boy Advance (ARM7TDMI).
- El Atmel AVR usado en gran variedad de productos, desde mandos de la Xbox a los coches de la empresa BMW.
- La plataforma SuperH de Hitachi, originalmente usada para las consolas Sega Super 32X, Saturn y Dreamcast, ahora forman parte de el corazón de muchos equipos electrónicos para el consumo.SuperH es la plataforma base de el grupo Mitsubishi - Hitachi. Estos dos grupos, unidos en 2002, dejaron aparte la propia arquitectura RISC de Mitsubishi, el M32R.
- Los procesadores XAP usados en muchos chips wireless de poco consumo (Bluetooth, wifi) de CSR.
Ejemplos de arquitectura CISC
Motorola 68000, Zilog Z80 y toda la familia Intel x86, AMD x86_64 usada en la mayoría de las computadoras personales actuales.