Programación nano en formato de micro instrucción

En este artículo, discutiremos la programación Nano en formato de microinstrucción en detalle y también entenderemos con la ayuda de ejemplos y también discutiremos la necesidad de la programación Nano. Discutámoslo uno por uno.

Prerrequisitos – Microinstrucción horizontal y vertical

Formato de microinstrucción:
el campo de control de la microinstrucción decide las señales de control que se van a producir. Es de dos formatos diferentes Horizontal o Vertical. Discutámoslo uno por uno.

Tipo-1:
microinstrucción horizontal:  
aquí, analizaremos el formato de microinstrucción horizontal de la siguiente manera.

  • Cada bit de la microinstrucción corresponde a una señal de control.
  • El bit que es 1, esa señal de control correspondiente será producida por la microinstrucción. Si hay N bits en la microinstrucción, entonces puede producir N señales de control mediante esa microinstrucción.
  • A medida que aumentan las señales de control, la microinstrucción se amplía. Por lo tanto, la memoria de control crece horizontalmente.
  • Se ejecuta más rápido porque no se usa decodificador.
  • La memoria de control es grande porque las microinstrucciones son amplias.

Formato de micro instrucción horizontal

Tipo-2:
microinstrucción vertical: 
aquí, analizaremos el formato de microinstrucción vertical de la siguiente manera.

  • Los bits de la microinstrucción se decodifican.
  • La salida decodificada decide la señal de control que se va a producir.
  • N bits en la microinstrucción generarán totalmente 2 N señales de control.
  • Pero un control puede ser generado por una microinstrucción.
  • Se necesitan más microinstrucciones.
  • Además, la decodificación hace que la ejecución sea más lenta.
  • El circuito es complejo.

Formato de micro instrucción vertical

  

Necesidad de programación nano:

  • Las microinstrucciones horizontales pueden producir múltiples señales de control simultáneamente, pero son muy amplias. Esto hace que la memoria de control sea muy grande.
  • Las microinstrucciones verticales son estrechas, pero después de la decodificación, solo producen una señal de control. Esto hace que la memoria de control sea pequeña, pero la ejecución es lenta.
  • Ambos métodos tienen sus pros y sus contras.
  • Por lo tanto, se necesita una combinación de ambas técnicas para llamarse nanoprogramación.

Nanoprogramación:

  1. Aquí tenemos una memoria de control de dos niveles.
  2. La instrucción se obtiene de la memoria principal en el registro de instrucciones IR.
  3. Usando su código de operación, cargamos la dirección de su primera microinstrucción en µPC,
  4. Con esta dirección, buscamos la microinstrucción de la memoria de microcontrol (µCM) en el registro de microinstrucciones µIR.
  5. Esto está en forma vertical y decodificado por un decodificador.
  6. La salida decodificada carga una nueva dirección en un contador de programa nano (nPC).
  7. Al utilizar esta dirección, la nanoinstrucción se obtiene de la memoria de nanocontrol (nCM) en el registro de nanoinstrucciones (nIR).
  8. Esto está en forma horizontal y puede generar directamente señales de control que pueden ser múltiples a la vez.
  9. Tal combinación da la ventaja de ambas técnicas.
  10. El tamaño de la memoria de control es pequeño ya que las microinstrucciones son verticales.

Nano circuito de programación.

Ejemplo –

  • Supongamos que los procesadores tienen 32 instrucciones (8 para operaciones aritméticas, 8 para operaciones de transferencia de datos, 8 para operaciones lógicas y 8 para operaciones de desplazamiento). Supongamos que necesitamos un total de 32 señales de control en las que 8 son responsables de realizar la operación de transferencia de datos, 8 para lógica, 8 para un cambio y 8 para aritmética.
  • Si lo implementamos mediante microinstrucciones horizontales, entonces el tamaño de cada microinstrucción debería ser de 32 bits. Lo más probable es que para la operación de transferencia de datos no necesitemos una señal de control para los otros 3 tipos de instrucciones, por lo que en toda la microinstrucción, los 27 bits para generar señales de control para los diferentes 3 tipos de instrucciones son 0 (basura), lo que genera mucha memoria. desperdicio de espacio, también aumenta el tamaño de la memoria de control.
  • Si usamos nanoprogramación, entonces la memoria de microcontrol tiene instrucciones para identificar el tipo de instrucción mediante decodificación, es decir, usando microinstrucción vertical. Después de identificar el tipo de instrucción, la memoria de control nano es responsable de generar señales de control para ese tipo de instrucción en particular que se identificó previamente. Entonces, la ventaja de eso es que cada tamaño de nanoinstrucción se reduce a 8 bits y cada tamaño de microinstrucción se reduce a 2 bits (para identificar 4 tipos diferentes de instrucción y para decodificador 2×4), es decir, la ventaja de la microinstrucción vertical también podemos producir señal de control múltiple para un tipo de instrucción en particular simultáneamente, lo cual es una ventaja de la instrucción horizontal.

Desventaja de la programación Nano

Mayor tiempo de acceso a la memoria: la principal desventaja de los enfoques de memoria de dos niveles es la pérdida de velocidad debido al acceso de memoria adicional requerido para la memoria de control Nano.

Publicación traducida automáticamente

Artículo escrito por goutamnagpal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *