LECCIÓN 10. INTRODUCCIÓN AL CONTROL MICROPROGRAMADO MICROPROGRAMACIÓN LECCIÓN 10. INTRODUCCIÓN AL CONTROL MICROPROGRAMADO Departamento de Informática. Curso 2005-2006
TÉRMINOS DE USO FRECUENTE Palabra de control : Es una palabra binaria cuyos bits indican los valores de las señales de control de la máquina. También recibe el nombre de microinstrucción Microprograma: Recibe este nombre la secuencia de palabras de control necesarias para ejecutar una instrucción. Memoria de control: Es una memoria especial que almacena los microprogramas. Departamento de Informática. Curso 2005-2006
Departamento de Informática. Curso 2005-2006 MODELO DE WILKES Departamento de Informática. Curso 2005-2006
CODIFICACIÓN DE LAS MICROINSTRUCCIONES Codificación 1 bit- 1 señal de control: Es la que hemos estudiado en el apartado anterior. Codificación por campos: Consiste en agrupar las señales de control que no se puedan activar simultáneamente, cada uno de estos grupos se codifican de modo que la palabra de control consta de varios campos, en cada uno de los cuales se codifican señales del mismo tipo.. Codificación tipo instrucción: Consiste en que el formato de microinstrucción sea similar al formato de instrucción en lenguaje máquina con un código de operación y dirección del operando Departamento de Informática. Curso 2005-2006
Departamento de Informática. Curso 2005-2006 SECUENCIAMIENTO Secuenciamiento explícito: Es el usado por el modelo de Wilkes, cada microinstrucción contiene un campo con la dirección de la siguiente microinstrucción. Secuenciamiento implícito: A semejanza del comportamiento de un programa ordinario, lo normal es que la microinstrucción siguiente esté situada físicamente a continuación de la que se está ejecutando. en este modelo se necesita la presencia de un contador de microprograma que se vaya incrementando con la ejecución de cada microinstrucción. Departamento de Informática. Curso 2005-2006
OBTENCIÓN DE LA DIRECCIÓN INICIAL Departamento de Informática. Curso 2005-2006
OBTENCIÓN DE LA DIRECCIÓN INICIAL Tabla de saltos: Otro método a utilizar es generar un microsalto en el microprograma de forma que sumando el código de operación a una dirección dada se obtiene la dirección de los distintos microprogramas. Memoria de traslación: Un método adicional consiste en el uso de una memoria ROM que tomando como entrada el código de operación nos dé como salida la dirección de cada microprograma. Departamento de Informática. Curso 2005-2006
HARDWARE DE LA UNIDAD DE CONTROL MICROPROGRAMADA Memoria de control : contiene los microprogramas Contador de microprograma: Es el registro de dirección de memoria correspondiente a la memoria de control Registro de Microinstrucción: contiene la microinstrucción que se está ejecutando, equivale al registro buffer de memoria. Circuito para la toma de decisiones: es un multiplexor que en función del código que suministra el campo de bifurcaciones de la microinstrucción en curso y de las condiciones externas decide cuál es la entrada siguiente al contador de microprograma Departamento de Informática. Curso 2005-2006
DISEÑO DE UN MULTIPLICADOR MICROPROGRAMADO Departamento de Informática. Curso 2005-2006
Departamento de Informática. Curso 2005-2006 PROGRAMA DE CONTROL 0 A 0 , B Inbus , L 4 1 Q[4:1] Inbus , Q[0] 0 2 Bucle: Si Q[1:0] = 01 saltar a Suma; 3 Si Q[1:0] = 10 saltar a Resta; 4 Saltar a Desplaza ; 5 Suma: A A+ B ; 6 Saltar a Desplaza ; 7 Resta: A A- B ; 8 Desplaza: ASR(A&Q) , L L- 1 ; 9 Si L<>0 saltar a Bucle; 10 Outbus A ; 11 Ourbus Q[4:1] ; 12 Alto: Saltar a Alto; Departamento de Informática. Curso 2005-2006
Departamento de Informática. Curso 2005-2006 SEÑALES DE CONTROL C0 = A 0 ; C1 = B Inbus ; C2 = L 4 ; C3 = Q[4:1] Inbus ; C4 = F = L + R ; C5 = A F ; C6 = ASR(A&Q) ; C7 = L L -1 ; C8 = Outbus A ; C9 = Outbus Q[4:1] ; Departamento de Informática. Curso 2005-2006
SALTOS EN EL MICROPROGRAMA La memoria de control tiene 13 palabras, luego necesita un campo de dirección de salto de 4 bits. Los saltos presentan 5 casos posibles: 000 no saltar 001 saltar si Q[1] = 0 y Q[0] = 1 010 saltar si Q[1] = 1 y Q[0] = 0 011 saltar si Z = 0 100 salto incondicional Departamento de Informática. Curso 2005-2006
FORMATO DE MICROINSTRUCCIÓN Departamento de Informática. Curso 2005-2006
ESQUEMA DE LA UNIDAD DE CONTROL MICROPROGRAMADA Departamento de Informática. Curso 2005-2006
CONTENIDO DE LA MEMORIA DE CONTROL Departamento de Informática. Curso 2005-2006