El nivel de microprogramacin esta determinado por el hardware de la CPU y sus funcionalidades
bsicas. El proceso de transformar una instruccin de lenguaje de mquina en sus microinstrucciones (ciclos de maquina) es llevado a cabo por un interprete, llamado microprograma. El Microprograma Este interprete es el encargado directo de hacer el proceso de decodificacin, es decir transforma las instrucciones de mquina (nivel 2) en la sealizacin de control (nivel 1) que gobiernan las transferencias de informacin (trayectorias de datos o data-path ) entre las unidades funcionales de la CPU. La codificacin de las sealizaciones de control, para los diferentes tipos de trayectorias de datos son las micro-instrucciones. De esta forma cada micro-instruccin corresponde a la informacin de las seales que permiten controlar de manera completa un ciclo de procesador (data-path). Dicha funcionalidad de decodificacin pertenece a la Unidad de Control de la CPU, luego el microprograma es el motor de esta unidad. Jerarqua de Software (Nivel1-Nivel2): El beneficio de esta tcnica es que abstrae la problemtica de las funcionalidades bsicas de hardware, proporcionando un conjunto de instrucciones al nivel del lenguaje de maquina (asembler) de mayor complejidad, y por otro lado implementadas en un diseo de hardware ms simplificado. As el hardware no necesita tener implementadas las funcionalidades del lenguaje de mquina, sino que solamente las funcionalidades ms bsicas (micro-instrucciones) con las cuales se puedan ejecutar las instrucciones de lenguaje de mquina. RISC: Pese a que el microprograma tiene incidencia en la simplificacin del diseo (costo), esto implica que la ejecucin de una instruccin de lenguaje de maquina ocupa ms ciclos de los que usara si dicha instruccin estuviera completamente implementada en la CPU. Existen arquitecturas que eliminan el nivel de microprogramacin, permitiendo que las instrucciones de mquina sean precisamente las funcionalidades bsicas de la CPU (arquitecturas RISC), es decir cada instruccin de mquina es una trayectoria de datos. Esto implica un mayor costo de diseo, hardware de prestaciones ms complejas y un lenguaje de mquina menos flexibles para programadores de nivel 2. Microprograma: El microprograma, por ser un programa es un conjunto de instrucciones que no pueden ser interpretadas por otra cosa que por el hardware, por tanto sus instrucciones estn codificadas en micro-instrucciones. El microprograma tpicamente esta almacenado en un bloque de memoria interna (de slo lectura, ROM) perteneciente a la Unidad de Control.