miércoles, 20 de febrero de 2013

Control microprogramado


Control microprogramado

    Usa secuencias de instrucciones para controlar operaciones complejas

  Llamado micro-programación o firmware

Implementación (1)

•   Todo lo que hace la unidad de control es generar
  un conjunto de señales de control
•   Cada señal de control está encendida o apagada
•   Representar cada señal de control por un bit
•   Tiene una palabra de control por cada
  microoperación
•   Tiene una secuencia de palabras de control por
  cada instrucción máquina
•   Añade una dirección para especificar la siguiente
  micro-instrucción, dependiendo de condiciones

Implementación (2)
•   Microprocesadores actuales

–  Muchas instrucciones y asociadas al nivel de registro  del hardware
–  Muchos puntos de control a ser manipulados

•   Esto resulta en memoria de control que

–  Contiene un número grande de palabras   •  Correspondiente al número de instrucciones a ser ejecutadas
  –  Tiene un tamaño amplio de palabra
  •  Debido al gran número de puntos de control a ser manipulados


Longitud de palabra de  microprograma

•  Basado en 3 factores
  Número máximo de microoperaciones
  simultáneas soportado
  – La forma como la información de control es
  representada o codificada
  – La forma en la cual se especifica la siguiente
  dirección de microinstrucción

  Tipos de microinstrucción

•  Cada microinstrucción especifica una sola
  (o pocas) microoperaciones a ser ejecutadas
  –  (microprogramación vertical)
•  Cada microinstrucción especifica varias
  microoperaciones diferentes a ejecutarse en
  paralelo
  – (microprogramación horizontal)

Microprogramación vertical

* Son más compactas (ocupan menos bits)
* N señales de control condificadas en log2n bits
* Capacidad limitada para expresar paralelismo
* Información de codificación de control requiere
una palabra decodificadora externa de memoria
para identificar la línea de control exacta que está
siendo manipulada


  Microprogramación horizontal

•  Palabra de memoria amplia
•  Alto grado de operaciones paralelas
  posibles
•  Poca codificación de información de control

Compromiso

•  Divide las señales de control en grupos
•  Implementa cada grupo como un campo
  separado en la palabra de memoria
•  Soporta niveles razonables de paralelismo
  sin mucha complejidad





Función de la unidad de control

*La unidad de secuenciamiento carga el registro de dirección de control (CAR) y emite un comando de lectura* El registro de dirección de control contiene la dirección de la siguiente microinstruccion a leer*Cuando se lee una microinstruccion de la memoria de control, se transfiere al registro intermedio de control (CBR)* El contenido del registro intermedio de control se conecta a las señales de control - leer microinstruccion es lo mismo ejecutarla* La lógica de secuenciamiento carga la nueva dirección en el registro de dirección de control basado en la información de la siguiente dirección del registro intermedio de control y las banderas de la ALU.

Ventajas y desventajas

•  Simplifica el diseño de la unidad de control
  – Más barata
  – Menos propensa a errores
•  Más lenta

Tareas hechas por una unidad de control microprogramada

•  Secuenciamiento de microinstrucciones
•  Ejecución de microinstrucciones
•  Deben considerarse ambas a la vez

Consideraciones de diseño

•  Tamaño de las microinstrucciones
•  Tiempo de generación de direcciones
  – Determinado por el registro de instrucción
  • Una por ciclo, después de que se captó la instrucción
  – Siguiente dirección secuencial
  • Lo más común
  – Saltos
  • Condicionales e incondicionales




Técnicas de secuenciamiento

•   Basadas en:
  - La microinstrucción actual
  - Banderas de condición
  - Contenidos del IR
  - La dirección de la memoria de control debe   generarse
•   Basado en el formato de la información de la
  dirección
  –  Dos campos de dirección
  –  Un campo de dirección
  –  Formato variable


Generación de direcciones

Explícitas

Implícitas

Doscampos
Saltoincondicional
Saltocondicional

Traducción
Adición
ControlResidual

Ejecución

•  El ciclo es el evento básico
•  Cada ciclo está formado de dos eventos
  – Captación
  • Determinado por la generación de la dirección de la
  microinstrucción
  – Ejecución
El efecto es generar señales de control
•  Algunos puntos de control internos al
  procesador
•  El resto va al bus de control u otra interfase












1 comentario: