Sie sind auf Seite 1von 5

Arquitectura del Computador

Sebastin Cejas a

Microprogramacin o
1. Concepto
Vamos a considerar como una tcnica adicional de llevar a cabo el control, llamada Microe programacin. Como veremos, una computadora controlada por microprograma es, en cierto o sentido, una computadora dentro de otra. Hemos visto que las microoperaciones de nuestra computadora, descripta en una arquitectura bsica, tienen lugar en respuesta a seales aplicadas a los terminales de control de los a n registros de la ALU y de la memoria. Estas seales se llaman Seales de Mando. n n Ahora haciendo un zoom en el diseo de un controlador de una arquitectura mejorada de n 12 bits podremos vericar en la gura que se muestra abajo que hay 18 entradas terminales de control que, uno u otro momento, requeriran una seal de mando para llegar a estar activas. n Imaginemos ahora una memoria de slo lectura en que las palabras tienen 18 bits de longitud o de forma que podemos establecer una asociacin uno a uno entre los bits de la palabra y las o entradas de control de los terminales. En la gura estan establecidas de forma arbitraria 3 bits asociados a tres terminales de control que cuando son activadas realizan las microoperaciones segn la linea de seal de control que representan. u n Cuando se necesitan ejecutar varias microoperaciones en un mismo ciclo de reloj, el correspondiente nmero de bits estarn en 1 lgico. u a o As pues, leyendo conjuntamente una sucesin de palabras llamadas Palabras de Control o o Micropalabras, realizamos una secuencia de microoperaciones almacenadas en la memoria de slo lectura y el resultado nal es que se ejecuta la operacin que se requiere. Las palabras que o o identican las microoperaciones en la ROM se llaman tambin Microinstrucciones. e Una computadora cuyo controlador opera como aqu se ha descrito se llama Computadora Microprogramada. Notar que una tal computadora tiene dos memorias y son: RAM: que contiene las instrucciones y los datos. ROM: que se encuentra alojada en el controlador, que contiene las microinstrucciones para ejecutar las instrucciones y que se llama Memoria de Slo Lectura de Control CROM o y consiguiente su registro de direcciones se llama Registro de Direcciones de la Memoria de Control CMAR.

Pg.1 a

Arquitectura del Computador

Sebastin Cejas a

El formato de las Microinstrucciones esta dado de la forma en que se toma la disposicin o de los bits y puede ser: Horizontal : estan formadas por N bits que son seales de control aplicadas en lugares n adecuados (un bit por seal de control). Estos diseos tienen un nmero bastante pequeo n n u n de microinstrucciones anchas. Verticales: poseen un pequeo nmero de campo muy codicados. Estas tienen muchas n u microinstrucciones estrechas.

2.

Bifurcacin en Microprogramas o

Suponemos que hay M bits de mando para proporcionar N , entradas a los terminales de control de los registros de la computadora, y convenimos en que el nmero de microinstrucciones u para ser almacenadas es tal que se requiere una direccin de memoria de control de M bits. o As pues, hemos dispuesto en la ROM que la palabra sea de N +M +1 bits, donde N son los bits de mando y M bits a la direccin en la cual hay que bifurcar cuando ocurra una bifurcacin. o o El bit extra que posee es el que se denomina Bit de Control de Carga. Si este bit est en 0 a lgico, la entrada Incremento est en 1 lgico y el registro de direcciones ser incrementado en o a o a cada intervalo de reloj. Si por el contrario su lugar tendr amos un 1 lgico no habr lugar a o a el incremento del registro de direcciones. En su lugar tendrmos un 1 lgico en el terminal de e o entrada de direccin de bifurcacin y carga del registro de direcciones y durante el anco de los o o impulsos del reloj la direccin de M bits a la que queremos bifurcar ser cargada en el registro o a de direcciones. En la ROM de control del controlador microprogramado hemos proporcionado sucientes bits por palabra para que una palabra contenga una direccin as como su microinstruccin. o o Esta proliferacin de bits es algo generalmente prohibido cuando se establece la longitud de o palabra de una memoria RAM. Hay dos buenas razones a favor de esta extensin en la longitud o de palabra: 1. las RAM son ms caras que las ROM de igual tamao. a n 2. una palabra ms larga en la RAM, que contiene instrucciones (ms bien de microinstruca a ciones) y datos, requerir consiguientemente una longitud de palabra ms larga en casi a a todos los registros del ordenador.

Pg.2 a

Arquitectura del Computador

Sebastin Cejas a

3.

Bifurcacin Condicional o

Suponemos que disponemos de 2 bits de seleccin de carga S1 y S0 . Los bits C1 y C2 son o bits de estatus que derivan de algn sitio de la computadora y se proponen para indicar si se u satisface o no alguna condicin. As el bit C1 da informacin acerca del estatus del GP R o sea o o el terminal Z. Anlogamente, C2 puede ser la entrada del ip-op F . Dichos bits de estatus a cuando hacen disponibles al controlador, le permiten seguir una secuencia u otra dependiendo del nivel lgico del bit de estatus. o El bloque de lgica que se encuentra en la gura de abajo es un circuito combinacional o cuya tabla de verdad tambien se encuentra detallada en el graco dice que cuando S1 S2 = 00, la salida del bloque lgico I = 1 y B = 0 entonces el registro de direcciones de memoria se o incrementar. Anlogamente, cuando S1 S2 = 01 el registro bifurcar a la direccin especicada a a a o por el campo de direccin de micropalabra cuya instruccin se esta implementando. Cuando o o S1 S2 = 10, el bit de estatus C determina si tiene lugar un incremento o una bifurcacin, o mientras que cuando S1 S2 = 11 el bit de estatus C2 determina si tiene lugar el incremento o la bifurcacin. o

Pg.3 a

Arquitectura del Computador

Sebastin Cejas a

4.

Conduccin (Pipelining) o

La adicin del Registro de Conduccin sirve para incrementar la velocidad a la cual debe o o operar el controlador microprogramado. En ausencia de este registro, los retardos asociados al controlador y al sistema que controla. Si ocurre una transiccin de disparo en t = t0 , el o instante t0 es el comienzo de la operacin de establecer una nueva direccin en el CMAR, bien o o sea incrementando o cargando. Para permitir la siguiente transicin de reloj, primero hay que esperar un tiempo tA para o permitir que se establezca una direccin vlida en la salida del registro de direcciones (la o a direccin es vlida despus que todas las M l o a e neas de salida del registro de direccin presenten o un nuevo bit propio a la ROM y no ocurran ms cambios). A continuacin debemos esperar el a o tiempo adicional tM del retardo de propagacin a travs de la memoria de control. Despus de o e e un tiempo tA + tM la microinstruccin direccionada se establecer validamente en la salida de o a la memoria de control. Ahora debemos esperar para que el sistema controlado responda a las microinstrucciones, complete su respuesta y est preparado para la siguiente instruccin. e o Si tR es el tiempo de respuesta del sistema, el per odo de reloj m nimo permitido es tA +tM + tR . El mayor de estos tiempos componente es tR , que debe ser bastante grande para acomodar la microoperacin ms lenta, generalmente la operacin de leer, o escribir en una RAM. o a o Como no debemos permitir cambios en la salida de la ROM hasta que el sistema haya completado su respuesta, debemos esperar que se complete una respuesta del sistema antes qwue comencemos el proceso de cambio de direccin. o Realmente este registro no constituye la conduccin, ya que es el retardo de propagacin por o o el bloque lgico, registro de direcciones y la ROM, que son anlogos a una l o a nea de conduccin. o El registro sirve como una valvula al n de la l nea permitiendola operar con efectuvudad. El registro esta gobernado por la misma seal de reloj que gobierna el registro de direcciones. n La transicin de reloj que incrementa o carga el registro de direcciones es la misma transicin o o que carga el registro de conduccin con la micropalabra de salida de la ROM. La respuesta del o sistema controlado puede ahora comenzar en el instante que se cargue el registro de conduccin. o En este momento podemos comenzar a cambiar la direccin con el n de llamar la siguiente o microinstruccin. o Mientras el sistema microcontrolado est completando la respuesta, los bits de la palabra de a salida de la ROM pueden estar cambiando, pero estos cambios no provocarn problemas, ya que a el sistema est separado de la microinstruccin cambiante debido al aislamiento proporcionado a o por el registro de conduccin. o

5.

Controlador Microprogramado

En el primer grgico sealamos que el controlador posee entradas del registro de operaciones a n (OP R), del registro de propositos generales (GP R) y del bander (ag) del acumulador F . n Ahora bien la condicin de bifurcacin C1 es el bit Z suministrado por el GP R. Cuando el o o registro del GP R es cero, Z = 1 y de otra forma Z = 0. Anlogamente la l a nea lgica F o sustituyendo a C2 , suministra un bit de estatus al controlador para informar si el ip-op del bander F est en set o reset. n a Ahora hemos provisto a nuestro controlador la capacidad de incrementar el registro de direcciones de memoria (CM AR) o para cargar en l la direccin de bifurcacin. En el caso e o o presente hemos previsto tambin cargar en el (CM AR) una direccin determinada por el cdigo e o o de operacin registrado en el registro de operaciones. La orden para cargar esta direccin o o determinada del registro de operaciones se denomina Rutina de Carga Notar que el campo de seleccin de control de carga en el grco de abajo consta de 3 bits en lugar de dos. o a

Pg.4 a

Arquitectura del Computador

Sebastin Cejas a

Ahora describiremos como funciona el microcontrolador programado. La secuencia de microoperaciones (escritas en la ROM de control como una secuencia de micropalabras) que realizan los pasos necesarios para buscar una instruccin se denomina Rutina de Bsqueda, anlogao u a mente tenemos tambin la Rutina de Ejecucin. En alguna posicin de la ROM de control e o o escribiremos la rutina de bsqueda. El controlador gobernar la secuencia a travs de la rutina u a e de bsqueda incrementando el CMAR despus de cada microoperacin. Al n de la rutina de u e o bsqueda, la operacin indicada por la instruccin buscada habr sido cargada en el OP R. u o o a Es necesario interponer entre el OP R y el CM AR un bloque conbinacional apropiado que acepte el cdigo de operacion como entrada y suministre como salida la direccin de comienzo o o de la rutina de isntruccin. Esta traduccin de codigo de operacin a la direccin de comienzo de o o o o una rutina se denomina correspondencia (Mapping) que se realiza por el bloque combinacional de lgico-correspondencia. o En cualquier situacin ahora es necesario suministrar la facultad no slo de incrementar o o y cargar la direccin de salto, sino tambin de carga de rutina de ejecucin cuyo cdigo de o e o o operacin est en el OP R. o a La tabla de verdad abajo mostrada para el grco se ampli devido a el bit de carga adicional a o que le suministramos a nuestro nuevo microcontrolador, as que cuando S2 = 0 y R = 0, el resto de la tabla es igual al del grco de bifurcacin de microprograma. Cuando S2 = y R = 1 a o y la direccin de la rutina de ejecucin de la instruccin especicada por el OP R se cargar en o o o a el CM AR.

Pg.5 a

Das könnte Ihnen auch gefallen