Video

4.3 Ejemplo de un Microprograma

Un microprograma implementa un conjunto de instrucciones de CPU. Así como una sentencia en un lenguaje de alto nivel es compilada en una serie de instrucciones de máquina, en una CPU usando microcódigo, cada instrucción de máquina es implementada por una serie de microinstrucciones, a veces llamado microprograma o microcódigo.

Los elementos que componen un microprograma existen en un nivel conceptual más bajo aún que las instrucciones de asembler.Los microprogramas son cuidadosamente diseñados y optimizados para una ejecución lo más rápida posible, pues un microprograma lento podría causar una instrucción de máquina lenta, lo que causaría que todos los programas que emplean esa instrucción sean lentos.Los microprogramadores deben tener un extenso conocimiento de bajo nivel del circuiterío de una computadora.

En la mayoría de las computadoras que emplean microprogramas, éstos no residen en la memoria principal del sistema, sino que existen en una memoria de alta velocidad especial, llamada almacenamiento de control (control store), y que pertenece a la unidad de control de la CPU.

Esta memoria puede ser memoria de solo lectura, o puede ser memoria de lectura-escritura. En este caso, el microprograma podría ser cargado al almacenamiento de control desde otro medio de almacenamiento como parte de la inicialización del CPU. Si el microprograma se encuentra en una memoria que permite lectura-escritura, puede ser alterado para corregir errores en el conjunto de instrucciones, o para implementar nuevas instrucciones de máquina.