Microcódigo es el nombre que reciben una serie de instrucciones o estructuras de datos que intervienen en la implementación del lenguaje máquina de alto nivel en muchos procesadores, especialmente los microprogramados. El microcódigo está en una memoria de acceso muy rápido. Cuando hay que ejecutar una instrucción a nivel de máquina, el microcódigo indica al procesador qué circuitos electrónicos debe utilizar. Cuando se diseña un nuevo procesador, un ingeniero también escribe el microcódigo para las instrucciones del lenguaje máquina. Esto se denomina microprogramación, y el código resultante se llama microprograma.
En los primeros procesadores, cada instrucción estaba cableada. Esto tiene varios inconvenientes, el más obvio es que corregir un error en el diseño del procesador significa que hay que sustituir el procesador.
Ejemplo
Un procesador debe sumar dos valores, que se encuentran en los registros A y B.
Los puntos 1-3, así como los 5-6, pueden codificarse como una sola instrucción. También es posible cablear la lógica necesaria para esta operación. Esto tiene la ventaja de ser más rápido, pero el inconveniente de que ya no permite realizar cambios que podrían ser necesarios más adelante.
El concepto de microprogramación fue desarrollado por Maurice Wilkes en 1951, utilizando matrices de diodos como elemento de memoria.