microprogramacion

6
 Arquitectura del Computador Sebastan Cejas Micropr ograma ci´on 1. Concepto V amos a considerar como una t´ecnica adicional de llev ar a cabo el control, llamada  Micro- programaci´ on . Como veremos, una computadora controlada por microprograma es, en cierto sentido, una computadora dentro de otra. Hemos visto que las microoperaciones de nuestra computadora, descripta en una arquitec- tura b´ asica, tienen lugar en respuesta a se˜ nales aplicadas a los terminales de control de los registros de la ALU y de la memoria. Estas se˜ nales se llaman  Se˜ nales de Mando. Ahora haciendo un zoom en el dise˜ no de un controlador de una arquitectura mejorada de 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 se˜ nal de mando para llegar a estar activas. Imaginemos ahora una memoria de s´ olo lectura en que las palabras tienen 18 bits de longitud de forma que podemos establecer una asociaci´ on uno a uno entre los bits de la palabra y las 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 seg´ un la linea de se˜ nal de control que representan. Cuando se necesitan ejecutar varias microoperaciones en un mismo ciclo de reloj, el corres- pondiente n´ umero de bits estar´ an en 1 l´ ogico. As ´ ı pues, leyendo conjuntamente una sucesi´ on de palabras llamadas  Palabras de Control o Micropalabras , realizamos una secuencia de microoperaciones almacenadas en la memoria de olo lectura y el resultado nal es que se ejecuta la operaci´ on que se requiere. Las palabras que identican las microoperaciones en la ROM se llaman ta mbi´ en  Microinstrucciones . Una comput adora cuyo controlador opera como aqu´ ı se ha descr ito 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 S´ olo Lectura de Control  CROM y consiguiente su registro de direcciones se llama Registro de Direcciones de la Memoria de Control  CMAR. ag.1

Upload: falco-corvaro

Post on 15-Jul-2015

91 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: microprogramacion

5/13/2018 microprogramacion - slidepdf.com

http://slidepdf.com/reader/full/microprogramacion 1/5

Arquitectura del Computador Sebastian Cejas

Microprogramacion

1. Concepto

Vamos a considerar como una tecnica adicional de llevar a cabo el control, llamada Micro-

programaci´ on . Como veremos, una computadora controlada por microprograma es, en ciertosentido, una computadora dentro de otra.

Hemos visto que las microoperaciones de nuestra computadora, descripta en una arquitec-tura basica, tienen lugar en respuesta a senales aplicadas a los terminales de control de losregistros de la ALU y de la memoria. Estas senales se llaman Se˜ nales de Mando.

Ahora haciendo un zoom en el diseno de un controlador de una arquitectura mejorada de12 bits podremos verificar en la figura que se muestra abajo que hay 18 entradas terminales decontrol que, uno u otro momento, requeriran una senal de mando para llegar a estar activas.Imaginemos ahora una memoria de solo lectura en que las palabras tienen 18 bits de longitudde forma que podemos establecer una asociacion uno a uno entre los bits de la palabra y las

entradas de control de los terminales. En la figura estan establecidas de forma arbitraria 3 bitsasociados a tres terminales de control que cuando son activadas realizan las microoperacionessegun la linea de senal de control que representan.

Cuando se necesitan ejecutar varias microoperaciones en un mismo ciclo de reloj, el corres-pondiente numero de bits estaran en 1 logico.

Ası pues, leyendo conjuntamente una sucesion de palabras llamadas Palabras de Control o

Micropalabras, realizamos una secuencia de microoperaciones almacenadas en la memoria desolo lectura y el resultado final es que se ejecuta la operacion que se requiere. Las palabras queidentifican las microoperaciones en la ROM se llaman tambien Microinstrucciones.

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 microinstruccionespara ejecutar las instrucciones y que se llama Memoria de S´ olo Lectura de Control  CROMy consiguiente su registro de direcciones se llama Registro de Direcciones de la Memoria 

de Control  CMAR.

Pag.1

Page 2: microprogramacion

5/13/2018 microprogramacion - slidepdf.com

http://slidepdf.com/reader/full/microprogramacion 2/5

Arquitectura del Computador Sebastian Cejas

El formato de las Microinstrucciones esta dado de la forma en que se toma la disposici onde los bits y puede ser:

Horizontal : estan formadas por N  bits que son senales de control aplicadas en lugaresadecuados (un bit por senal de control). Estos disenos tienen un numero bastante pequenode microinstrucciones anchas.

Verticales: poseen un pequeno numero de campo muy codificados. Estas tienen muchasmicroinstrucciones estrechas.

2. Bifurcacion en Microprogramas

Suponemos que hay M  bits de mando para proporcionar N , entradas a los terminales decontrol de los registros de la computadora, y convenimos en que el numero de microinstruccionespara ser almacenadas es tal que se requiere una direccion de memoria de control de M  bits.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 direccion en la cual hay que bifurcar cuando ocurra una bifurcaci on.El bit extra que posee es el que se denomina Bit de Control de Carga . Si este bit esta en 0logico, la entrada Incremento esta en 1 logico y el registro de direcciones sera incrementado encada intervalo de reloj. Si por el contrario su lugar tendrıamos un 1 logico no habra lugar ael incremento del registro de direcciones. En su lugar tendremos un 1 logico en el terminal deentrada de direccion de bifurcacion y carga del registro de direcciones y durante el flanco de losimpulsos del reloj la direccion de M  bits a la que queremos bifurcar sera cargada en el registrode direcciones.

En la ROM de control del controlador microprogramado hemos proporcionado suficientesbits por palabra para que una palabra contenga una direcci on ası como su microinstruccion.

Esta proliferacion de bits es algo generalmente prohibido cuando se establece la longitud depalabra de una memoria RAM. Hay dos buenas razones a favor de esta extension en la longitudde palabra:

1. las RAM son mas caras que las ROM de igual tamano.

2. una palabra mas larga en la RAM, que contiene instrucciones (mas bien de microinstruc-ciones) y datos, requerirıa consiguientemente una longitud de palabra mas larga en casitodos los registros del ordenador.

Pag.2

Page 3: microprogramacion

5/13/2018 microprogramacion - slidepdf.com

http://slidepdf.com/reader/full/microprogramacion 3/5

Arquitectura del Computador Sebastian Cejas

3. Bifurcacion Condicional

Suponemos que disponemos de 2 bits de seleccion de carga S 1 y S 0. Los bits C 1 y C 2 sonbits de estatus que derivan de algun sitio de la computadora y se proponen para indicar si sesatisface o no alguna condicion. Ası el bit C 1 da informacion acerca del estatus del GPR o seael terminal Z . Analogamente, C 2 puede ser la entrada del flip-flop F . Dichos bits de estatus

cuando hacen disponibles al controlador, le permiten seguir una secuencia u otra dependiendodel nivel logico del bit de estatus.

El bloque de logica que se encuentra en la figura de abajo es un circuito combinacionalcuya tabla de verdad tambien se encuentra detallada en el grafico dice que cuando S 1 S 2 = 00,la salida del bloque logico I  = 1 y B = 0 entonces el registro de direcciones de memoria seincrementara. Analogamente, cuando S 1S 2 = 01 el registro bifurcara a la direccion especificadapor el campo de direccion de micropalabra cuya instruccion se esta implementando. CuandoS 1 S 2 = 10, el bit de estatus C  determina si tiene lugar un incremento o una bifurcacion,mientras que cuando S 1 S 2 = 11 el bit de estatus C 2 determina si tiene lugar el incremento ola bifurcacion.

Pag.3

Page 4: microprogramacion

5/13/2018 microprogramacion - slidepdf.com

http://slidepdf.com/reader/full/microprogramacion 4/5

Arquitectura del Computador Sebastian Cejas

4. Conduccion (Pipelining)

La adicion del Registro de Conducci´ on  sirve para incrementar la velocidad a la cual debeoperar el controlador microprogramado. En ausencia de este registro, los retardos asociadosal controlador y al sistema que controla. Si ocurre una transiccion de disparo en t = t0, elinstante t0 es el comienzo de la operacion de establecer una nueva direccion en el CMAR, bien

sea incrementando o cargando.Para permitir la siguiente transicion de reloj, primero hay que esperar un tiempo tA para

permitir que se establezca una direccion valida en la salida del registro de direcciones (ladireccion es valida despues que todas las M  lıneas de salida del registro de direccion presentenun nuevo bit propio a la ROM y no ocurran mas cambios). A continuacion debemos esperar eltiempo adicional tM  del retardo de propagacion a traves de la memoria de control. Despues deun tiempo tA + tM  la microinstruccion direccionada se establecera validamente en la salida dela memoria de control. Ahora debemos esperar para que el sistema controlado responda a lasmicroinstrucciones, complete su respuesta y este preparado para la siguiente instruccion.

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 acomodarla microoperacion mas lenta, generalmente la operacion de leer, o escribir en una RAM.

Como no debemos permitir cambios en la salida de la ROM hasta que el sistema hayacompletado su respuesta, debemos esperar que se complete una respuesta del sistema antesqwue comencemos el proceso de cambio de direccion.

Realmente este registro no constituye la conduccion, ya que es el retardo de propagacion porel bloque logico, registro de direcciones y la ROM, que son analogos a una lınea de conduccion.El registro sirve como una valvula al fin de la lınea permitiendola operar con efectuvudad. Elregistro esta gobernado por la misma senal de reloj que gobierna el registro de direcciones.La transicion de reloj que incrementa o carga el registro de direcciones es la misma transicion

que carga el registro de conduccion con la micropalabra de salida de la ROM. La respuesta delsistema controlado puede ahora comenzar en el instante que se cargue el registro de conduccion.En este momento podemos comenzar a cambiar la direccion con el fin de llamar la siguientemicroinstruccion.

Mientras el sistema microcontrolado esta completando la respuesta, los bits de la palabra desalida de la ROM pueden estar cambiando, pero estos cambios no provocaran problemas, ya queel sistema esta separado de la microinstruccion cambiante debido al aislamiento proporcionadopor el registro de conduccion.

5. Controlador Microprogramado

En el primer gragico senalamos que el controlador posee entradas del registro de operaciones(OPR), del registro de propositos generales (GPR) y del banderın (flag) del acumulador F .Ahora bien la condicion de bifurcacion C 1 es el bit Z  suministrado por el GPR. Cuando elregistro del GPR es cero, Z  = 1 y de otra forma Z  = 0. Analogamente la lınea logica F 

sustituyendo a C 2, suministra un bit de estatus al controlador para informar si el flip-flop delbanderın F  esta en set o reset.

Ahora hemos provisto a nuestro controlador la capacidad de incrementar el registro dedirecciones de memoria (CMAR) o para cargar en el la direccion de bifurcacion. En el casopresente hemos previsto tambien cargar en el (CMAR) una direccion determinada por el codigo

de operacion registrado en el registro de operaciones. La orden para cargar esta direcciondeterminada del registro de operaciones se denomina Rutina de Carga  Notar que el campo deseleccion de control de carga en el grafico de abajo consta de 3 bits en lugar de dos.

Pag.4

Page 5: microprogramacion

5/13/2018 microprogramacion - slidepdf.com

http://slidepdf.com/reader/full/microprogramacion 5/5

Arquitectura del Computador Sebastian Cejas

Ahora describiremos como funciona el microcontrolador programado. La secuencia de micro-operaciones (escritas en la ROM de control como una secuencia de micropalabras) que realizanlos pasos necesarios para buscar una instruccion se denomina Rutina de B´ usqueda , analoga-mente tenemos tambien la Rutina de Ejecuci´ on . En alguna posicion de la ROM de controlescribiremos la rutina de busqueda. El controlador gobernara la secuencia a traves de la rutinade busqueda incrementando el CMAR despues de cada microoperacion. Al fin de la rutina debusqueda, la operacion indicada por la instruccion buscada habra sido cargada en el OPR.

Es necesario interponer entre el OPR y el CMAR un bloque conbinacional apropiado queacepte el codigo de operacion como entrada y suministre como salida la direcci on de comienzode la rutina de isntruccion. Esta traduccion de codigo de operacion a la direccion de comienzo deuna rutina se denomina correspondencia (Mapping ) que se realiza por el bloque combinacionalde logico-correspondencia.

En cualquier situacion ahora es necesario suministrar la facultad no solo de incrementary cargar la direccion de salto, sino tambien de carga de rutina de ejecucion cuyo codigo deoperacion esta en el OPR.

La tabla de verdad abajo mostrada para el grafico se amplio devido a el bit de carga adicional

que le suministramos a nuestro nuevo microcontrolador, ası que cuando S 2 = 0 y R = 0, elresto de la tabla es igual al del grafico de bifurcacion de microprograma. Cuando S 2 = y R = 1y la direccion de la rutina de ejecucion de la instruccion especificada por el OPR se cargara enel CMAR.

Pag.5