Está en la página 1de 20

Tema 

10
 

Tecnología de Computadores

CPU: microprogramación
Índice 
Esquema  3 

Ideas clave  4 
10.1. Introducción y objetivos  4 
10.2. Microprogramación  5 
10.3. Modelo de Wilkes  6 
© Universidad Internacional de La Rioja (UNIR) 

10.4. Estructura de una unidad de control 
microprogramada  8 
10.5. Cuaderno de ejercicios  13 
10.6. Referencias bibliográficas  16 

A fondo  17 

Test  18 
 
 
Esquema 
 
© Universidad Internacional de La Rioja (UNIR) 

Tecnología de Computadores 

Tema 10. Esquema 
Ideas clave 

10.1. Introducción y objetivos 
 
En un sistema digital cualquiera, la microprogramación se considera una alternativa 
al  diseño  y  realización  de  la  unidad  de  control.  Actualmente  se  utiliza  en 
computadores  con  un  tamaño  medio.  En  los  computadores  pequeños  no  es 
interesante económicamente porque es muy complejo y en los grandes, hace que el 
sistema sea muy lento. Conceptualmente, se trata de una estrategia muy simple que 
permite  llevar  a  cabo  modificaciones  y  ampliaciones  de  forma  muy  sencilla  y  sin 
dificultades en el hardware. También, es posible microprogramar un computador que 
ejecute  distintos  repertorios  o  listas  de  instrucciones  únicamente  modificando  el 
contenido de la memoria de control. Esto último supone que es posible utilizar un 
único  computador  para  emular  las  prestaciones  de  diferentes  juegos  de 
instrucciones. 
 
Los objetivos de este tema son: 
 
 Estudiar los conceptos básicos de la microprogramación 
 Estudiar el modelo de Wilkes.  
 Conocer la estructura de la unidad de control microprogramada. 
 
 

   
© Universidad Internacional de La Rioja (UNIR) 

Tecnología de Computadores 

Tema 10. Ideas clave 
10.2. Microprogramación 
 
La  unidad  de  control  de  un  procesador  se  encarga  de  gestionar  o  controlar  la 
ejecución  de  distintas  microoperaciones  de  su  unidad  de  procesamiento.  
Generalmente,  este  elemento  transfiere  una  serie  de  microórdenes  por  cada 
microperación.  
 
Las  microórdenes  se  definen  como  las  señales  lógicas  que  llevan  a  cabo  una 
microoperación. Se dice que la microórden está activada si su valor es 1 y desactivada 
si  su  valor  es  0.  Según  el  valor  de  la  microórden,  las  microoperaciones  serán 
ejecutadas o no en la unidad de control. 
 
Cuando los datos generados por la unidad de control se guardan en una memoria que 
se denomina memoria de control o memoria de microprogramación, se dice que el 
procesador está microprogramado.  
 
Se  denomina  microinstrucción  al  conjunto  de  microórdenes  o  microoperaciones 
indistintamente, según contenga en cada caso en función del contexto. 
 
Un microprograma es una serie llevada a cabo por la ruta de datos. En este sentido, 
una unidad de control microprogramada está fundamentada en los siguientes ítems 
(Dormido, Canto, Mira y Delgado, 2002): 
 
1. Debe  ser  capaz  de  vincular  a  cada  instrucción  la  dirección  de  comienzo  del 

microprograma. 
 
© Universidad Internacional de La Rioja (UNIR) 

2. Debe  ser  capaz  de  leer  las  sucesivas  microinstrucciones  del  microprograma  en 

curso y bifurcar a uno nuevo cuando termina el que se está ejecutando.  
 
3. Su memoria debe ser capaz de almacenar todos los microprogramas de todas las 
instrucciones máquina de su repertorio. 

Tecnología de Computadores 

Tema 10. Ideas clave 
El secuenciamiento de los microprogramas puede ser explícito e implícito.  
 
1. Secuenciamiento  explícito:  Cada  instrucción  posee  las  microórdenes 

correspondientes y la dirección de la microinstrucción siguiente y se necesita una 
memoria  de  gran  tamaño  porque  las  microórdenes  han  de  ser  independientes 
entre sí para ejecutarse simultáneamente durante un mismo periodo del reloj. 
 
2.  Secuenciamiento  implícito:  La  memoria  puede  ser  menor  porque  las 

microinstrucciones se colocan consecutivamente en la memoria y se llevan a cabo 
en el mismo orden en que están escritas en la memoria. Sin embargo, se necesita 
una microinstrucción especial que señale la bifurcación. 
 
 

10.3. Modelo de Wilkes 
 
La idea base del modelo de Wilkes se fundamenta en que  
 
cada instrucción máquina del repertorio de un computador es un grupo de 
microórdenes que definen las transferencias de datos entre los distintos 
componentes de su parte operacional. La forma de controlar el flujo de datos 
entre los distintos módulos funcionales del computador es activando sus 
puntos de control.  
 
En  su  primer  diseño,  se  configuró  el  modelo  de  Wilkes  a  partir  de  una  matriz  de 
núcleos de ferritas con selección lineal que está completamente cableada a través de 
puertas OR que pueden activar a un subconjunto de líneas de control que forman la 
© Universidad Internacional de La Rioja (UNIR) 

salida de la matriz. El modelo está formado por dos matrices, la matriz de control C y 
la matriz de secuencia S, un registro de dirección de memoria MAR de n bits y un 
decodificador binario (Dormido, Canto, Mira y Delgado, 2002). 
 

Tecnología de Computadores 

Tema 10. Ideas clave 
Microórdenes

Reloj MAR

Decodificador
Línea de
Matriz C Matriz S
condición

Microinstrucción condicional

Línea de condición
 
Figura 1. Modelo original de Wilkes. Fuente: Dormido, Canto, Mira y Delgado, 2002. 

 
El modelo de Wilkes se basaba, de forma general, en los siguientes ítems: 
 
1. El número de instrucciones que se pueden almacenar está representado por las 
líneas horizontales que parten del decodificador. 
 
2. Las líneas verticales de la matriz C, que representan las microórdenes, no tienen 
que ser decodificadas porque se asignan directamente a los puntos de control con 
una correspondencia uno a uno. 
 
3. El tamaño de la palabra de la memoria de control está representado por el número 
total de líneas verticales que poseen las matrices C y S. 
 
4. La inserción de las señales de condición se produce entre la matriz de control C y 
© Universidad Internacional de La Rioja (UNIR) 

la de secuencia S. 
 
Este  modelo  inicial  ha  sido  modificado  varias  veces.  Sin  embargo,  los  conceptos 
básicos que subyacen en todos los modelos se explican a continuación. 
 

Tecnología de Computadores 

Tema 10. Ideas clave 
En el vídeo  Modelo original de Wilkes, se explica de manera básica el modelo de 
Wilkes y sus ventajas e inconvenientes. 
 

 
 
 

10.4. Estructura de una unidad de control 
microprogramada 
 
Se  define  la  microinstrucción  como  un  conjunto  de  microórdenes  que  se  pueden 
llevar a cabo simultáneamente formando una palabra que se almacena en la memoria 
de control. Cada microinstrucción está representada, por tanto, por un grupo de unos 
y ceros. 
 
La  unidad  de  control  microprogramada  se  encarga  del  secuenciar  las 
microinstrucciones (dicho de otra manera, obtiene la siguiente microinstrucción de 
la memoria de control) y de la ejecución de la microinstrucción (es decir, produce las 
señales de control que lleva a cabo la microinstrucción).  
 
La unidad de control de un procesador microprogramado se divide en dos bloques 
básicos:   
 
▸ Memoria de control: Genera las microórdenes. 
▸ Secuenciador: Define el paso siguiente en la secuencia de ejecución. 
© Universidad Internacional de La Rioja (UNIR) 

 
La arquitectura básica de una unidad de control microprogramada consta de estos 
dos bloques básicos y dos registros. El registro de dirección de la memoria de control 
(RDC)  contiene  la  dirección  de  la  próxima  microinstrucción  que  se  leerá.  Mientras 
que, si se lee una microinstrucción de la memoria de control, se envía al registro de 

Tecnología de Computadores 

Tema 10. Ideas clave 
datos de la memoria de control (RMC). Las señales de control que produce la unidad 
de  control  se  almacenan  en  este  registro.  Esto  quiere  decir  que  ejecutar  una 
microinstrucción  es  lo  mismo  que  leer  una  microinstrucción  de  la  memoria  de 
control.  Por  su  parte,  el  secuenciador  que  carga  los  datos  en  el  RDC  y  envía  las 
órdenes de lectura. 
 

Cargar
RDC

Leer Memoria de
Secuenciador
control

RMC (opcional)
 
Figura 2. Arquitectura básica de una unidad de control microprogramada. Fuente: Dormido, Canto, Mira y 
Delgado, 2002. 

 
La forma más simple de construir un secuenciador es utilizando un contador porque 
a la microinstrucción que se esté ejecutando le seguirá aquella cuya dirección sea la 
de la instrucción actual sumándole un 1. Sin embargo, son pocos los procesos que se 
pueden diseñar con este secuenciador de direccionamiento implícito porque muchas 
veces el procesador tiene que elegir una secuencia entre varias secuencias posibles 
(por ejemplo, en el caso de que deba cambiar la microinstrucción dependiendo del 
resultado obtenido en una microoperación). En estos casos, es necesario añadir al 
contador un dispositivo con el que se pueda elegir entre diferentes direcciones. Si las 
direcciones están definidas empleando el código binario, la propia microinstrucción 
es  capaz  de  tener  dos  direcciones  de  forma  explícita  o  tener  una  y  la  otra  estar 
© Universidad Internacional de La Rioja (UNIR) 

definida de forma explícita (incrementando la posición actual). 
 
En el direccionamiento explícito, la dirección se almacena en el registro de dirección 
de  la  memoria  de  control  (RDC).  Si  un  microprograma  incluye  en  su  estructura 
rupturas  de  secuencia  condicional,  se  necesitarán  dos  o  más  direcciones  por 

Tecnología de Computadores 

Tema 10. Ideas clave 
microinstrucción. Por eso, la memoria de control es capaz de ser interpretada como 
una  lista  encadenada  de  direcciones.  Este  tipo  de  direccionamiento  es  rápido  y 
flexible pero las longitudes de palabra que emplea son muy grandes. 
 
Para  reducir  la  longitud  de  las  palabras  de  una  microinstrucción  se  utiliza  el 
direccionamiento  implícito  y  estas  son  ejecutadas  secuencialmente  en  el  mismo 
orden  en  que  se  encuentran  en  la  memoria  de  control.  Con  este  sistema,  no  se 
requiere de ningún dato dedicado al secuenciamiento en la propia microinstrucción. 
En este caso, la microinstrucción solo incluye en su formato campos de control, lo 
que la hace muy interesante en aplicaciones en las que no hay ninguna ruptura de 
secuencia condicional. En el caso de que existan secuencias condicionales se necesita 
una  microinstrucción  especial  que  defina  esa  bifurcación  por  lo  que  con  el 
direccionamiento implícito se necesitan dos microinstrucciones diferentes (una para 
las señales de control y otra para las bifurcaciones). 
 
El formato más sencillo que se puede diseñar en una microinstrucción posee 1 bit por 
cada señal de control y su ejecución se lleva a cabo en un periodo permitiendo el uso 
en paralelo de varios elementos del computador. Sin embargo, con esta estructura, 
las  microinstrucciones  tienen  un  tamaño  elevado  y  suelen  estar  llenas  de  ceros 
(microórdenes desactivadas) porque muchas microórdenes son incompatibles entre 
sí  y  no  pueden  ejecutarse  simultáneamente  (porque  interactúan  con  el  mismo 
recurso de cálculo).  Para evitar este problema, se codifican las microinstrucciones. 
Esto disminuye el grado de paralelismo y necesita un codificador adicional.  
 
Como una microinstrucción puede llevar a cabo la tarea de enviar microórdenes a la 
unidad  de  procesamiento  y  al  secuenciador,  se  considera  que  la  microinstrucción 
está compuesta por dos campos: campo de dirección y campo de control. Este último 
© Universidad Internacional de La Rioja (UNIR) 

campo  define  los  valores  de  las  señales  de  control  durante  la  ejecución  de  una 
microinstrucción  a  través  de  subcampos.  Cada  subcampo  gestiona  una 
microoperación concreta por lo que el número de microoperaciones concurrentes 
tiene que ser igual o inferior al de subcampos de control.  
 

Tecnología de Computadores 
10 
Tema 10. Ideas clave 
La  estructura  del  microprograma  define  las  microórdenes  que  se  envía  al 
secuenciador,  su  número  y  la  función  de  cada  una.  Sin  embargo,  hay  deferentes 
estrategias para organizar las microórdenes: 
 
▸ Microprogramación horizontal: Hace referencia a las microórdenes que no 
están codificadas. Cada uno de los bit de la micromemoria se conecta con un 
punto  físico  de  control  de  los  distintos  recursos  de  la  unidad  de 
procesamiento y cada uno de los bit de la memoria de control es un subcampo 
independiente que se pertenece a una microórden. De esta forma se obtiene 
la  mayor  cantidad  de  microórdenes  por  instrucción  posibles.  Ya  están 
decodificadas las señales de control y su generación es muy rápida, pero es 
una estrategia cara porque se necesita una memoria muy ancha si son muchas 
microórdenes.  
 
▸ Microprogramación  vertical:  Hace  referencia  al  formato  que  emplea 
microórdenes  codificadas.  Si  el  sistema  emplea  una  microprogramación 
vertical pura es redundante porque se limita el número de microoperaciones 
que se pueden ejecutar en paralelo. El campo de control se divide en varios 
subcampos  y  cada  uno  controla  un  conjunto  de  operandos,  operadores  o 
caminos  de  datos.  Este  sistema  es  lento  porque  necesita  tiempo  en 
decodificar  los  subcampos,  pero  emplea  tamaños  de  palabra  menores  y 
necesita memorias de control menores. 
 
De  forma  resumida  se  considera  que  la  microprogramación  puramente  horizontal 
está orientada al hardware de la microprogramación (cada punto físico de la unidad 
de procesamiento está directamente conectado con un bit de la micromemoria). Por 
su  parte,  la  microprogramación  completamente  codificada  (o  puramente  vertical) 
© Universidad Internacional de La Rioja (UNIR) 

tiene  un  enfoque  más  próximo  a  la  programación  (se  define  un  repertorio  de  las 
microoperaciones que se utilizarán). 
 
Estos dos casos son extremos y entre la microprogramación puramente horizontal y 
la microprogramación puramente vertical existen otros casos, mezclas de los dos.  

Tecnología de Computadores 
11 
Tema 10. Ideas clave 
 
En  los  casos  en  los  que  las  microoperaciones  de  la  microinstrucción  no  deben 
activarse a la vez, sino de forma consecutiva durante más de un subciclo de reloj, la 
unidad de control tendrá un contador de periodos o un generador de subciclos. De 
esta  forma  se  consiguen  microinstrucciones  más  pequeñas,  asegurando  el 
secuenciamiento de las microoperaciones de forma correcta. 
 
El ciclo de ejecución de una microinstrucción es similar al ciclo de ejecución de una 
instrucción máquina visto en anteriores temas. Sus fases son (Dormido, Canto, Mira 
y Delgado, 2002): 
 
1. Búsqueda de una microinstrucción. 
2. Decodificación de los campos de la microinstrucción. 
3. Ejecución de las microoperaciones. 
4. Cálculo de la dirección de la siguiente microinstrucción. 
 
Las microinstrucciones se pueden clasificar en: 
 
▸ Monofásicas: Todas las microoperaciones de la microinstrucción se pueden 
llevar a cabo a la vez. 
▸ Polifásicas:  Los  campos  de  las  microinstrucciones  se  ejecutan 
escalonadamente (en subciclos consecutivos).  
 
 

   
© Universidad Internacional de La Rioja (UNIR) 

Tecnología de Computadores 
12 
Tema 10. Ideas clave 
10.5. Cuaderno de ejercicios 
 
Problema 1 
 
En una unidad de control, ¿qué función tiene el registro de dirección de la memoria 
de control? 
 
Solución  
 
El registro posee la dirección de la próxima microinstrucción que se leerá. 
 
Problema 2 
 
En una unidad de control, ¿qué función tiene el registro de datos de la memoria de 
control? 
 
Solución 
 
Almacena la microinstrucción que se lee de la memoria de control. 
 
Problema 3 
 
¿Qué  diferencia  hay  entre  una  microprogramación  puramente  vertical  y  una 
microprogramación puramente horizontal? 
 
Solución 
© Universidad Internacional de La Rioja (UNIR) 

 
La  microprogramación  puramente  horizontal  tiene  un  enfoque  hardware  de  la 
microprogramación mientras que la microprogramación completamente codificada 
tiene un enfoque más cercano a la programación. 
 

Tecnología de Computadores 
13 
Tema 10. Ideas clave 
Problema 4 
 
¿Cuáles son las fases del ciclo de instrucción de una microinstrucción? 
 
Solución 
 
Búsqueda  de  la  microinstrucción,  decodificación  de  los  compas  de  la  instrucción, 
ejecución  de  las  microoperaciones  y  cálculo  de  la  dirección  de  la  siguiente 
microinstrucción. 
 
Problema 5 
 
¿Qué diferencia hay entre la microprogramación monofásica y la polifásica? 
 
Solución 
 
En la programación monofásica se pueden ejecutar todas las microoperaciones a la 
vez mientras que en la polifásica se deben ejecutar de forma escalonada.  
 
Problema 6 
 
¿Qué estrategia es más costosa: la microprogramación vertical o la horizontal? ¿Por 
qué? 
 
Solución 
 
© Universidad Internacional de La Rioja (UNIR) 

Si la estrategia posee un conjunto elevado de microórdenes, la estrategia más costosa 
es  la  puramente  horizontal  porque  requerirá  una  memoria  muy  ancha  para 
almacenar esa información. 
  
 

Tecnología de Computadores 
14 
Tema 10. Ideas clave 
Problema 7 
 
¿Qué ventaja tiene el direccionamiento implícito frente al explícito? 
 
Solución 
 
Permite reducir el tamaño de la palabra. 
 
Problema 8 
 
¿Qué ventajas tiene el direccionamiento explícito frente al implícito? 
 
Solución 
 
Es más flexible y rápido. 
 
Problema 9 
 
¿Cuál  es  el  formato  más  sencillo  que  se  puede  utilizar  para  diseñar  una 
microinstrucción? 
 
Solución 
 
Utilizar 1 bit por cada señal de control. 
 
   
© Universidad Internacional de La Rioja (UNIR) 

Tecnología de Computadores 
15 
Tema 10. Ideas clave 
Problema 10 
 
Investiga  por  qué  el  modelo  de  Wilkes  original  utilizaba  núcleos  de  ferrita  en  su 
diseño. 
 
Solución 
 
Porque era la tecnología disponible en la época. 
 
   

10.6. Referencias bibliográficas  
 
S. Dormido, M. A. Canto, J. Mira y A. E. Delgado. (2002). Estructura y tecnología de 
computadores.  Madrid. Editorial Sanz y Torres. 
 
 
© Universidad Internacional de La Rioja (UNIR) 

Tecnología de Computadores 
16 
Tema 10. Ideas clave 
A fondo 
¿Qué CPU elijo para mi computador? 
 

López, J.C. y Xataka. (2020, junio 25). La megaguía para construirte un PC desde cero en 
2020:  la  CPU  y  la  refrigeración.  Recuperado  el  6  de  mayo  de  2021  de 
https://www.xataka.com/componentes/megaguia‐para‐construirte‐pc‐cero‐2020‐cpu‐
refrigeracion  

Si quieres montar un PC a medida, pero no sabes cómo elegir correctamente la CPU 
y su refrigeración, esta guía te puede ayudar en la tarea.  
 
La placa base del computador 
 

López, J.C. y Xataka. (2020, abril 28). La megaguía para construirte un PC desde cero en 
2020:  la  placa  base.  Recuperado  el  6  de  mayo  de  2021  de 
https://www.xataka.com/componentes/megaguia‐para‐construirte‐pc‐cero‐2020‐
placa‐base  
 
Si la elección de una buena CPU para nuestro computador es un aspecto capital, no 
lo  es  menos  la  elección  de  la  placa  base.  ¿Aún  no  sabes  en  qué  características  te 
debes fijar si quieres comprar una placa base? En esta guía te dan todas las claves.  
 
 
 
© Universidad Internacional de La Rioja (UNIR) 

 
 
 

 Tecnología de Computadores 
17 
Tema 10. A fondo 
Test 
1. ¿En qué tipo de computadores se utiliza la microprogramación? 
A.  Computadores de tamaño medio.  
B.  Computadores de tamaño grande. 
C.  Computadores de tamaño pequeño. 
D.  Computadores lentos. 
 
2. ¿Cuándo se dice que un procesador está microprogramado? 
A. Cuando se diseña un procesador para que pueda ejecutar distintos juegos de 
instrucciones. 
B. Cuando los datos producidos por la unidad de control se almacenan en la 
memoria de control.  
C. Cuando el secuenciamiento de los microprogramas se lleva a cabo de forma 
implícita. 
D. Cuando el secuenciamiento de los microprogramas se lleva a cabo de forma 
explícita. 
 
3. ¿En qué tipo de secuenciamiento cada orden posee las microórdenes y la dirección 
de la microinstrucción siguiente? 
A. Implícito. 
B. Explícito.  
C. Indexado. 
D. Directo. 
 
   
© Universidad Internacional de La Rioja (UNIR) 

 Tecnología de Computadores 
18 
Tema 10. Test 
4. ¿En  qué  tipo  de  secuenciamiento  las  microinstrucciones  se  colocan  de  forma 
consecutiva  en  la  memoria y  se  llevan  a  cabo en  el  mismo  orden  en que  están 
almacenadas? 
A. Implícito.  
B. Explícito.  
C. Indexado. 
D. Directo. 
 
5. ¿Cuál  de  las  siguientes  características  no  corresponde  al  modelo  original  de 
Wilkes? 
A. Las líneas verticales de la matriz C tienen que ser decodificadas.  
B. La longitud de la palabra de la memoria de control está representado por el 
número total de líneas verticales que tienen las matrices C y S. 
C. La inserción de las señales de condición tiene lugar entre la matriz de control 
C y la de secuencia S. 
D. El número de instrucciones que se pueden almacenar está representado por 
las líneas horizontales que parten del decodificador. 
 
6. ¿Qué es una microinstrucción? 
A.  Es  un  conjunto  de  microórdenes  que  se  pueden  llevar  a  cabo 
simultáneamente  y  que  está  contenida  en  una  palabra  de  la  memoria  de 
control.  
B. Es el dispositivo encargado de genera las microórdenes. 
C. Es la arquitectura básica de una unidad de control microprogramada. 
D. Es una serie ordenada de instrucciones que deben ser ejecutadas por la ruta 
de datos. 
 
© Universidad Internacional de La Rioja (UNIR) 

   

 Tecnología de Computadores 
19 
Tema 10. Test 
7. ¿De qué material estaba construido el modelo de Wilkes? 
A. Núcleos de ferrita.  
B. Transistores. 
C. Puertas digitales. 
D. Tubos de vacío. 
 
8. ¿Cómo se puede construir un secuenciador? 
A. Utilizando un contador digital.  
B. Utilizando un acumulador y un multiplexor. 
C. Utilizando una CPU. 
D. Utilizando un decodificador. 
 
9. ¿Qué nombre reciben la microprogramación basada en microórdenes codificadas? 
A. Microprogramación polifásica. 
B. Microprogramación monofásica. 
C. Microprogramación horizontal.  
D. Microprogramación vertical.  
 
10. ¿En qué tipo de microoperaciones es necesario incluir un contador de ciclos? 
A.  En  microoperaciones  mixtas  que  no  son  ni  puramente  horizontales  ni 
puramente verticales. 
B. En microoperaciones puramente horizontales. 
C. En microoperaciones puramente verticales. 
D. En microoperaciones que deben activarse secuencialmente a lo largo de más 
de un ciclo.  
 
© Universidad Internacional de La Rioja (UNIR) 

 Tecnología de Computadores 
20 
Tema 10. Test 

También podría gustarte