Está en la página 1de 38

Control Microprogramado

Alma Yesenia Almaguer Cavazos 1486162 Sergio Eduardo Rocha Mendoza 1526438 Jonathan Alejandro Gmez Dvila 1449793

Memoria de Control

Jonathan Alejandro Gmez Dvila

Memoria de Control
La funcin de la unidad de control en una computadora digital es iniciar secuencias de mircooperaciones. La cantidad de tipos de operaciones en un sistema es finita. La complejidad del sistema se deriva de la cantidad de secuencias de microopeaciones que se ejecutan. El flujo de control que especifica una microoperacin es una variable binaria, una variable de control en estado binario opuesto no cambia el estado de los riesgos en el sistema.

En un sistema organizado con Bus, las seales que especifican las microopercaciones son grupos de bits que seleccionan trayectorias en los multiplexores, decodificadores y unidades lgicas. Las variables de control pueden representarse en cualquier momento mediante una cadena de dgitos 1 y 0, que se denomina palabra de control.

Una unidad de control cuyas variables de control binario se almacenan en memoria se llama unidad de control microprogramada. Cada palabra en la memoria de control contiene una microinstruccin. La microinstruccin especifica una microoperaciones para el sistema. o ms

Una secuencia de microinstrucciones constituye a un microprograma.

Palabras de ROM
El contenido de las palabras en la ROM(read-only memory) no puede alterarse mediante la programacin ya que no es posible escribir en ella. El uso de un microprograma implica la colocacin de todas las variables de control en palabras de ROM para que las use la unidad de control a travs de operaciones de lecturas sucesivas.

Microprogramacin Dinmica
Permite que un microprograma se cargue al principio desde una memoria auxiliar; Ejemplo: un disco magntico.

Las unidades de control que utilizan la microprogramacin dinmica, emplean una memoria de control en la que se puede escribir. Una memoria que es parte de una unidad de control se denomina memoria de control.

Control Microprogramado
Una computadora que emplea una unidad de control microprogramada tendr dos memoria separadas: Memoria principal Memoria de control

La memoria principal esta disponible para que el usuario almacene programas. Su contenido varia cuando se manipulan los datos y cada vez que se cambie el programa.

El programa del usuario en la memoria principal esta formado por instrucciones de maquina y datos.

La memoria de control contiene un microprograma fijo que el usuario no puede alterar.

El microprograma consta de instrucciones que especifican diferentes seales de control interno para la ejecucin de microoperaciones de registros.
Cada instruccin de maquina inicia una serie de microoperaciones en la memoria de control.

Estas microinstrucciones generan las microoperaciones para llevar acabo la bsqueda de instrucciones en la memoria principal; para evaluar la direccin efectiva, para su ejecucin y para retornar a la fase de bsqueda con en fin de repetir el ciclo para la siguiente instruccin.

Organizacin de Control Microprogramada

Memoria de Control
La memoria de control se considera como ROM, dentro de la cual se almacena toda la informacin en forma permanente. La microinstruccin contiene una palabra de control que especifica una o mas microoperaciones para el procesador de datos. Una vez que se ejecuta estas operaciones, el control debe determinar la siguiente direccin y despus se transfieren al registro de direccionamiento de control para leer la prxima microinstruccin.

El generador de la siguiente instruccin se llama secuenciador de microprograma, porque determina la secuencia de direccin que se lee en la memoria de control. Las funciones tpicas son incrementar el registro de direccionamiento de control en 1: Cargar una direccin de memoria de control en el registro Transferir una direccin externa Cargar una direccin inicial.

El registro de datos en ocasiones se denomina registro de arquitectura paralela (pipeline). Permite la ejecucin de la microoperciones mediante la palabra de control simultneamente con la generacin de la siguiente microinstruccin que requiere un reloj de dos fases: Registro de direccionamiento Registro de datos.

Cada pulso de reloj ejecutara las microoperaciones especificas mediante el panel de control y tambin transferir una nueva direccin al registro de direccin de control.

Control Programado
La principal ventaja del control programado es que, una vez establecida la configuracin de la circuitera, no hay necesidad de cambios posteriores.

Para establecer una secuencia diferente se necesita es especificar un conjunto de microinstrucciones diferentes en la memoria de control. La mayora de las computadoras que se basan en el concepto de arquitectura utiliza un control de circuitera en lugar de una memoria de control con un microprograma.

Secuencia de la Direccin

Sergio Eduardo Rocha Mendoza

Secuencia de la Direccin
Las microinstrucciones se almacenan en la memoria de control en grupos, y cada grupo especifica una rutina. Cada instruccin de computadora tiene su propia rutina de microprograma en la memoria de control para generar las microoperaciones que ejecutan la instruccin.

Al final de la rutina de bsqueda, la instruccin esta en el registro de instruccin de la computadora.

En resumen
Las posibilidades de secuencia de direccin que se requieren en la memoria de control son: 1.Incrementar el registro de direccionamiento de control. 2.Transferencia de control del programa condicional o incondicional, dependiendo de las condiciones de los bits del estado. 3.Un proceso de mapeo de los bits de la instruccin a una direccin para una memoria de control. 4.Una opcin para llamar y regresar solicitud de una subrutina y retorno.

La microinstruccin en la memoria de control contiene un conjunto de bits para iniciar microoperaciones en los registros de la computadora y otros bits para especificar el mtodo con el que se obtiene la siguiente direccin.

El diagrama muestra 4 trayectorias diferentes de las que recibe la direccin el registro de direccionamiento de control.
Se incrementa el contenido de registro de direccionamiento de control en uno, para seleccionar la microinstruccin siguiente en la secuencia.

La transferencia de control del programa se consigue al especificar la direccin en uno de los campos de la microinstruccin. La transferencia de control adicional se obtiene al usar una parte de la microinstruccin para seleccionar un bit de estado especifico con el fin de determinar su condicin.

Se transfiere una direccin externa a la memoria de control mediante un circuito lgico de apeo. La direccin de retorno para una subrutina se almacena en un registro especial cuyo valor se utiliza despus, cuando el microprograma desea retornar de la subrutina.

Transferencia Condicional
Las condiciones de estado son bits especiales del sistema que proporciona informacin con parmetros, como el acarreo de un sumador, el bit de signo de un numero, los bits de salida. En cambio, una instruccin de transferencia incondicional puede obtenerse al cargar la direccin de ramificacin de la memoria de control en el registro de direccionamiento de control.

Mapeo de Instrucciones
Existe un tipo de transferencia cuando una microinstruccin especifica un brinco a la primera palabra de la memoria de control donde se ubica una rutina de microprograma para una instruccin. Ejemplo tenemos un cdigo de operacin de 4 bits que puede especificar hasta 16 instrucciones diferentes. Adems la memoria de control tiene 128 palabras, lo que requiere una direccin de 7 bits. Para cada cdigo de operacin que ah se encuentre existe una rutina de microprograma en la memoria de control que ejecuta la microinstruccin.

Un proceso de mapeo simple que convierte al cdigo de operacin en 4 bits en una direccin de 7 bits para la memoria de control.
Cdigo de operacin. Instruccin de computadora 1 0 1 1 0 0 0 0 X X X X 1 0 1 1 DIRECCION 0 0

Bits de mapeo

Subrutinas
Las subrutinas son programas que utilizan otras rutinas para realizar una tarea en particular. Puede llamarse una subrutina de cualquier punto desde el cuerpo principal del programa. Los microprogramas que utilizan subrutinas deben tener una parte para almacenar la direccin de retorno durante una llamada de subrutina y restablecer la direccin durante un retorno de subrutina.

Diseo de una Unidad de Control

Alma Yesenia Almaguer Cavazos.

Micro (programacin/ instruccin)


Microprogramacin: Es un mtodo sistemtico para disear la unidad de control de cualquier sistema digital.

Microinstruccin: Se define como el conjunto de micro rdenes que se ejecutan simultneamente y contenidas en una palabra de la memoria de control .

Microinstruccin
Los bits de una microinstruccin se dividen en campos. Cada campo debe definir una funcin separada y distinta. Los campos que se encuentran en los formatos de instruccin proporcionan:
Bits de control: para iniciar microoperaciones del sistema. Bits especiales: para especificar la manera en que se va a evaluar la siguiente instruccin Campo de direccin: para transferir el control del programa.

Puede reducirse la cantidad de bits de control que inician microoperaciones al agrupar variables mutuamente exclusivas en campos y codificar los bits k de cada campo para proporcionar 2^k microoperaciones.

Cada campo requiere de un decodificador para producir seales de control, se reduce el tamao de los bits de microinstruccin.

Decodificador de Instruccin
El decodificador de instruccin es el elemento encargado de transformar el contenido del cdigo de operacin almacenado en el registro de instruccin en una informacin ms amplia e inteligible por el secuenciador.

Diseo de una Unidad de Control Componentes bsicos de una unidad de control microprogramada:
Memoria Secuenciador Unidad de procesamiento

Secuenciador de microprograma
Secuenciador de microprograma: su propsito es presentar una direccin a la memoria de control con el fin de que pueda leerse y ejecutarse una microoperacin.
Es el centro esencial de gestin, control y planificacin del microprocesador, por tanto su funcin es fundamental para el desarrollo de cualquier instruccin software.

Secuenciador de Microprograma

Es un autmata (mquina de Mealy o Moore) que, tras analizar e interpretar la informacin de entrada (salida del decodificador, registro de estado, reloj), enva un conjunto de seales a las unidades que las precisen para proceder a la ejecucin de la instruccin y para llevar a cabo el inicio de la siguiente. Estas seales que enva el secuenciador se conocen con el nombre de "micro rdenes".

Operaciones de secuenciador
Operaciones de secuenciador tpicas
incrementar Transferir o Hacer saltar Llamar y Retornar de Subrutina Cargar una direccin externa Salvar(en) o leer(De) la pila Operaciones de secuenciamiento de direccin