Microprogramacion68000
-
Upload
falco-corvaro -
Category
Documents
-
view
216 -
download
0
Transcript of Microprogramacion68000
-
8/3/2019 Microprogramacion68000
1/10
Dpto. de Automtica 1
EL MICROPROCESADOR MC68000:UN EJEMPLO DE ARQUITECTURA MICROPROGRAMADA
1. INTRODUCCINAlgunos de los beneficios que
tradicionalmente se exponen acerca de lamicroprogramacin son:
regularidad, lo que disminuye lacomplejidad de la unidad de control;
flexibilidad, lo que facilita los cambios enel diseo; y
costes de diseo reducidos.
A continuacin se describe la estructurade la unidad de control del microprocesadorMC68000 de Motorola aparecido en 1979. Estaunidad de control es microprogramada en dosniveles y fue diseada poniendo especial atencina las limitaciones tecnolgicas del momento:restricciones sobre el tamao del circuito,velocidad del circuito, complejidad de lasinterconexiones y nmero mximo de patillas delintegrado.
2. ALGUNAS IDEAS SOBRE LASLIMITACIONES TECNOLGICAS DELMOMENTO
En 1978, momento en el que seterminaba de desarrollar el microprocesadorMC68000, el arquitecto de computadores tenaque contar con las siguientes barrerastecnolgicas:
densidad de integracin de puertaslimitada.
velocidad mxima limitada.
dificultades de interconexin de elemen-tos en el chip.
limitaciones en el nmero de patillas.
2.1. Densidad de integracin de puertaslimitada.
Exista (y existe) un lmite en la densidadde integracin de puertas en un circuito integrado.Aunque este lmite es cada vez ms alto hay quetenerlo en cuenta siempre a la hora de disear unprocesador.
2.2. Velocidad mxima limitada.La velocidad de trabajo de los circuitos
tiene un lmite impuesto por la mxima disipacinde potencia en el interior del integrado. Esteproblema se debe aadir al que genera la lentitudde acceso a la memoria principal del sistema. Lavelocidad de acceso a la memoria puedemejorarse pero siempre a costa de un grandesembolso econmico.
2.3. Dificultades de interconexin deelementos en el chip.
La interconexin de elementos dentro delintegrado puede consumir mucha ms superficiede Si que las propias puertas lgicas que locomponen. Por otra parte, las conexiones han dehacerse siempre sobre la superficie, es decir, nose pueden tirar cables ms all de los lmites delintegrado. En algunos casos puede ser mejorduplicar elementos funcionales en distintaslocalizaciones del integrado para dar un mismoservicio a bloques diferentes.
Respecto a esto, se observa que ocupan
mucho menos estructuras regulares tales comoarrays de memoria que otros circuitos lgicosmenos ordenados.
2.4. Limitaciones en el nmero de patillas.
La tecnologa del empaquetamiento limitael nmero de patillas que puede tener unintegrado. En 1978 los encapsulados normalescontaban entre 24 40 patillas considerando elnmero de 64 como un lmite muy lejano. Estasrestricciones en el nmero de patillas se pueden
eludir mediante la multiplexacin en el tiempo deluso de las mismas pero la ralentizacin resultanteno suele ser aceptable.
3. LGICA CABLEADA FRENTE AMICROPROGRAMACIN
La implementacin de microprogramacinen el MC68000 supuso la utilizacin de estatcnica por primera vez en Motorola. A pesar dela falta de experiencia de los arquitectos de lacompaa y de la brevedad de los plazos para
-
8/3/2019 Microprogramacion68000
2/10
La unidad de control
2
finalizar el diseo se opt por ella debido a lasgrandes ventajas que ofreca en el momento:
regularidad y flexibilidad; y
nitidez en las funciones de reloj.
3.1. Regularidad y flexibilidad
La complejidad de la unidad de controldecrece con la regularidad que introduce la ROMde control usada en la microprogramacin. Estoadems reduce el tiempo de diseo.
Por otra parte, la integracin en Si sehace ms simple y es ms fcil depurar loserrores.
Finalmente, una vez determinada la
estructura de control, se puede trabajar enparalelo en el diseo sin tener que tomardecisiones que se dejaran hasta el final cuandose escriba el microcdigo completo.
Ademas podemos hablar de otrosbeneficios:
el tamao en Si es menor ya que sereduce la complejidad de interconexin.
es muy fcil realizar simulaciones.
se pueden aadir nuevas instruccionesen el futuro con ms que escribir una
nueva ROM de control sin tener queredisear todo el circuito.
3.2. Nitidez en las funciones de reloj
La utilizacin del reloj se hace ms clarade forma que se pueden calcular con masprecisin los retardos introducidos por diferenteselementos y ajustar mejor el periodo de reloj sinintroducir incrementos dados por tolerancias.
4. ROM DE CONTROL INTEGRADA EN ELCHIP O FUERA DE L
Sera muy conveniente poder poner laROM de control fuera del integrado delprocesador de forma que se evitaran laslimitaciones de tamao. Sin embargo esto no esposible debido a la limitacin en el nmero depatillas. Esta restriccin reduce el ancho de lapalabra de control. Para poder trabajar conpalabras de control con un pequeo nmero debits hemos de recurrir a dos soluciones:
realizar microprogramacin vertical; o multiplexar el uso de las patillas.
Ambas soluciones ralentizan el sistema.La primera por que requiere decodificacin y lasegunda debido al secuenciamiento en el accesoa la palabra de control.
5. MICROPROGRAMACIN HORIZONTALFRENTE A VERTICAL
Ambas tcnicas tienen sus ventajas y susinconvenientes. Respecto a la microprogramacinhorizontal podemos enumerar las siguientesventajas:
la microprogramacin horizontal norequiere decodificacin y por tanto puedeatacar directamente los elementos de launidad de ejecucin sin necesidad delgica combinacional.
la decodificacin necesaria para laspalabras de control verticales llevaasociado un retardo que ralentiza lasoperaciones.
Respecto a la microprogramacin verticalpodemos dar las siguientes ventajas:
el tamao que ocupan en Si laspalabras verticales es mucho menor queel de las horizontales.
las palabras de control horizontalestienden a estar repetidas en la ROM de
control mientras que las verticales sesuelen escribir una sola vez.
Una solucin hbrida entre ambas es elutilizar dos niveles de microcdigo. El primer nivel(nivel de microprogramacin) est absolutamentecodificado. En lugar de decodificarse se tomacomo una direccin que apunta a una palabra decontrol residente en otra memoria de control (nivelde nanoprogramacin).
6. MICROPROGRAMACIN EN DOS NIVELES
En la estructura de control de dos nivelescada macroinstruccin es ejecutada como unasecuencia de microinstrucciones. Las mi-croinstrucciones son estrechas y consistenfundamentalmente en punteros a nanoins-trucciones del segundo nivel. Las microins-truciones tambin contienen informacin nece-saria para soportar el secuenciamiento y lasbifurcaciones dentro de la microsecuencia.
Las nanoinstrucciones son anchas ycontienen todas las seales de control necesariaspara operar sobre la unidad de ejecucin. Lasnanoinstrucciones se pueden situaraleatoriamente en su ROM de control ya que se
-
8/3/2019 Microprogramacion68000
3/10
ARQUITECTURA DE COMPUTADORES
Dpto. de Automtica 3
accede a ellas mediante punteros en lugar desecuencialmente. Por otra parte, solo se necesitatener una sola copia de cada palabra de controldiferente sin importar cuantas veces sea utilizadapor la microsecuencia. Esto conlleva un ahorro detamao en superficie de Si tal y como se prueba
ms adelante en el apndice.
Figura 1. Modelo de microprogramacin en dosniveles.
Existe un modelo de microprogramacinen dos niveles algo ms complejo. En l cadamicroinstruccin especifica una secuencia denanoinstrucciones. El procesador MC68000 nofue finalmente diseado con esta tcnica por dosrazones: la primera es que las secuencias denanoinstrucciones tienden a ser muy cortas (dos otres) con lo que no se consiguen grandesventajas; y segundo que sera inevitable el escribirvarias veces una misma palabra de control en laROM de 2 nivel a no ser que se proporcione aeste nivel algn tipo de capacidad de bifurcacin.
7. IMPLEMENTACIN DE LA UNIDAD DE
CONTROL DEL MC68000Una vez seleccionado el tipo de
implementacin para la unidad de controlhubieron de resolverse otros muchos problemas.Algunos de estos problemas son la minimizacindel tamao de la ROM de control, la aceleracindel funcionamiento de la unidad de control y lainterconexin de la unidad de ejecucin con la decontrol.
La minimizacin del tamao de la ROMde control se consigue haciendo un
secuenciamiento explcito en el que se procuracompartir al mximo secuencias de cdigo.
La acelaracin de la velocidad de trabajode la unidad de control se consigue haciendo quela bsqueda de la nanoinstruccin se realice enparalelo con la bsqueda de la siguientemicroinstruccin.
Finalmente los problemas de inter-conexin se resuelven colocando la ROM decontrol directamente encima de la unidad deejecucin. Los campos del formato de lananoinstruccin tienen tal disposicin que caenmuy cerca de los diferentes bloques de hardwareque controlan.
Figura 2. Diagrama del interconexionado debloques en Si .
8. LA UNIDAD EJECUCIN DEL MC68000
La unidad de ejecucin o data path del
procesador MC68000 cuenta con 8 registros dedirecciones (A0 - A7) de 32 bits cada uno y otros8 registros de datos (D0 - D7) de 32 bits. El bancode registros de direcciones permite operacionesde 16 y 32 bits mientras que el banco de registrosde datos permite operaciones de 8, 16 y 32 bits.Todos los registros de ambos bancos sonaccesibles al programador. Adems tenemos unregistro contador de programa al que se tiene unacceso restringido y una serie de registros noaccesibles al programador que se utilizan paraguardar datos temporalmente.
El conjunto de todos los registros sedivide en tres secciones tal y como ilustra lafigura 3. La divisin est hecha de forma que losregistros se dividen en parte alta (A0 - A7 HIGH yD0 - D7 HIGH) y pa rte baj a (A0 - A7 LOW y D0- D7 LOW). Cada una de las secciones cuentacon una unidad aritmtica. Dos busesinterconectan todos los bloques de cada secciny, a su vez, las secciones estn concatenadasentre si utilizando buffers bidireccionales quepermiten enlazar o aislar cada una de ellas. Laseccin en la que est localizada la parte baja delbanco de registros de datos tiene una unidad
aritmtica y lgica de capacidad completa. Estaseccin se denomina seccin de datos y puede
NIVEL DE MICROINSTRUCCIN
MICROCONTROL
1 niveler
puntero ananoinstruccin
siguientemicroinstruccin
NIVEL DE NANOINSTRUCCIN
NANOCONTROL
2 nivel
palabra de control
ALU
SUSTRATO DE SILICIO
decodificador de seleccin de operacin en ALU
interconexiones
-
8/3/2019 Microprogramacion68000
4/10
La unidad de control
4
realizar operaciones especiales tales comomanipulacin de bits o empaquetamiento ydesempaquetamiento de datos.
La arquitectura descrita permite realizarclculos en datos y direcciones de formasimultnea gracias a los buffers bidireccionales
que conectan los buses. Por ejemplo, es posiblerealizar una suma registro-registro
concurrentemente con un incremento en elcontador de programa.
La implementacin de esta arquitecturaha sido posible debido al uso de celdas RAM dedos puertos de manera que son capaces de
volcar su contenido en cualquiera de los dosbuses que tiene cada seccin.
(parte baja)
(16 bits)
BANCO DEREGISTROS
DE DIRECCIONES
UNIDADARITMTICA
(parte baja) (parte baja)
(16 bits)
DE DATOS
BANCO DEREGISTROS
UNIDADARITMTICA
YLGICA
UNIDADDE
FUNCIONESESPECIALES
UNIDADARITMTICA
(parte alta)(parte alta)
(16 bits)
BANCO DEREGISTROS
DE DIRECCIONES
(parte alta)
(16 bits)
DE DATOS
BANCO DEREGISTROS
Figura 3. Diagrama de bloques simplificadode la unidad de ejecucin del MC68000.
9. EL JUEGO DE INSTRUCCIONES DELMC68000
El juego de instrucciones que soporta elMC68000 consiste fundamentalmente en ope-raciones
con uno o dos operandos de tamao byte, palabra (16bits) o doble palabra (32 bits). Las operaciones serealizan normalmente entre registros o entre memoria yregistro con la excepcin de las transferencias de datosque pueden darse entre dos posiciones de memoria.
A la hora de disear la unidad de control sesupuso que el juego de instrucciones estaba cerrado,es decir, no se consideraba ninguna posibleactualizacin. Por ello, la primera versin del procesadorasumi que los cdigos de operacin y los formatos deinstruccin permaneceran siempre tal y como sehaban definido aunque se dejaron huecos entre los
cdigos de operacin originales para permitir unaexpansin posterior del juego de instrucciones.
Respecto al formato del juego de instruccionesse impusieron algunas restricciones que tienenimportantes consecuencias. Estas limitaciones son:
1. Ciertos campos, tales como losidentificadores de registros, ocupan campos localizadosen posiciones fijas de manera que pueden ser extradosdirectamente del formato de la instruccin. Esto tiende a
reducir el tamao de la memoria ROM de control ysimplifica la decodificacin de la instruccin.
2. La seleccin de registro y de funcin de ALUtiende a permanecer sin cambios durante la ejecucinde una instruccin. Los identificadores de los registros yde la funcin de ALU se decodifican del formato de lainstruccin y son encaminados directamente a la unidadde ejecucin puenteando la unidad de control.
3. La unidad de control necesita solamentecontener informacin acerca de la temporizacin conque debe operar un registro o la ALU.
Aprovechando estas caractersticas podemossimplificar la unidad de control y reducir el tamao de lamemoria ROM de control.
-
8/3/2019 Microprogramacion68000
5/10
ARQUITECTURA DE COMPUTADORES
Dpto. de Automtica 5
de entradaacarreo
de salida
acarreo
BANCO DE
DE DATOS
(parte alta)
REGISTROS
BANCO DE
DE DIRECCIONES
(parte alta)
REGISTROS
BANCO DE
DE DATOS
(parte baja)
REGISTROS
BANCO DE
DE DIRECCIONES
(parte baja)
REGISTROS
SP (parte alta)
BUS DE DIRECCIONES EXTERNO
32 bits
BUS DE DATOS EXTERNO
16 bits
SP (parte baja)
AT (parte alta) AT (parte baja)
PC (parte alta) PC (parte baja)
DT (parte alta) DT (parte baja)
16 bits
16 bits
ROM
CTES.
MUX
REGISTRO
ROM
CTES.
MUX
ROM
CTES.
MUX
sumador
REGISTRO REGISTRO
sumador ALU
buffer bidireccional
bufferbidireccional
MUL / DIV
Figura 4. Diagrama de la unidad de ejecucin o data pathdel MC68000.
10. LA ESTRUCTURA DE CONTROL DELMC68000
Basndonos en el diseo de la unidad deejecucin implementada en el MC68000 y en lasrestricciones impuestas a los formatos del juego
de instrucciones del mismo, se llega a laestructura de control que de forma simplificada seilustra en la figura 4. La idea bsica consiste enextraer de la palabra de la instruccin todaaquella informacin que permanecer sin cambiardurante su ejecucin, es decir, la informacin queno depende del instante de tiempo en el que nosencontremos. Este conjunto de informacingobernar una serie de seales de control que sellevan directamente a la unidad de ejecucin sinpasar por la unidad de control.
En una implementacin de microcontrol
tpica la decodificacin de la instruccin generauna microdireccin de comienzo de micro-programa en la ROM de control. La ROM de
control proporciona entonces un conjunto deseales de control para la unidad de ejecucin yla microdireccin de la siguiente microinstruccin.La secuencia de microinstrucciones puede versealterada por determinadas condiciones generadasen la unidad de ejecucin. Esta informacin se
toma, por tanto, de la unidad de ejecucin y seprocesa convenientemente como informacin deestado de secuencia.
-
8/3/2019 Microprogramacion68000
6/10
La unidad de control
6
Figura 5. Diagrama de bloques simplificado de laestructura de control del MC68000.
Como ya se ha indicado, se estudi la
implementacin de microprogramacin de un solonivel pero se encontr que era impracticable
en aquel momento debido a que resultabademasiado grande para un solo chip. Finalmente,se pudo conseguir una sustancial reduccin delrea de ROM de control gracias a la utilizacin dedos niveles de microprogramacin. En la figura 5se ilustra como qued la estructura de controlpara el MC68000.
En una estructura de dos niveles, elprimer nivel (microcontrol) contiene secuencias depalabras de control que son punteros (nano-
direcciones) al segundo nivel. Este segundo nivelcontiene una ordenacin arbitraria de palabras decontrol no duplicadas. La eficiencia de estaestructura doble descansa en dos hechos.
En primer lugar, el nmero de estados decontrol realmente implementados debe ser unafraccin pequea del nmero total de posiblesestados de control. Por ejemplo, para elprocesador MC68000 una palabra de controlhorizontal tiene del orden de 70 sealesdiferentes. Esto nos da un total de 270 estados decontrol diferentes. La mayor parte de ellos no
tienen ningn valor. La implementacin delconjunto completo de instrucciones de ensam-blador de este procesador no necesita ms de200 300 estados de control diferentes lo querepresenta menos de 29 estados de control. Esteconjunto es una fraccin realmente pequea deltotal y puede ser direccionado con 9 bits, es decir,solo necesitamos incluir un campo de 9 bits porcada microinstruccin.
Figura 6. Diagrama de bloques simplificadode la estructura de control del MC68000.
En segundo lugar, debe de darse unacierta redundancia en el uso de lasnanoinstrucciones para que sea efectiva lareduccin de rea de Si empleada enimplementar la ROM de control. Si lacorrespondencia fuera uno a uno entre ladireccin incluida en el primer nivel y la palabra de
control accedida en el segundo, la direccin delprimer nivel sera sustituida por la palabra delcontrol de la nanoinstruccin y se eliminara elsegundo nivel de ROM de control. En realidad lospunteros se repiten del orden de 2 3 veces cada
uno en el procesador MC68000de forma quelo repetido es de menor tamao que las palabrasde control a las que apuntan.
Otro parmetro que influye en el rea deSi ocupada por la unidad de control es como deprofunda es la codificacin de la palabra decontrol. En el sistema del MC68000, cada palabra
de control del primer nivel est representada poruna direccin. Esta nanodireccin puedeconsiderarse como la mxima codificacin de lapalabra de control ya que hay unacorrespondencia unvoca entre direcciones ypalabras de control. La ROM de control desegundo nivel se puede ver como una simpletabla que sirve para traducir estados codificados asu significado horizontal en seales de control.Esta tabla sustituye a la lgica combinacionalnecesaria para desarrollar un cdigo en suscorrespondientes activaciones y desactivacionesde conmutadores en la unidad de ejecucin.
UNIDAD DE EJECUCIN
y de funcin de ALUseales de seleccin de registro
seales de control
DE INSTRUCCIN
DECODIFICADOR
DE CONTROL
UNIDAD
INSTRUCCINREGISTRO DE
UNIDAD DE EJECUCIN
seales de control
INSTRUCCIN
REGISTRO DE
y de funcin de ALU
seales de seleccinde registro
condiciones
UNIDAD DE CONTROL
DE INSTRUCCINDECODIFICADOR
DIRECCIN
DIRECCIN
CONTROL
de saltoseleccin
ROM DE MICRO CONTROL
tamao estimado
640 x 10
ROM DE NANO CONTROL
tamao estimado
280 x 70
INSTRUCCIONES
BUFFERde
instruccin en ejecucin
instruccin que se est extrayendo
instruccin que se est decodificando
-
8/3/2019 Microprogramacion68000
7/10
ARQUITECTURA DE COMPUTADORES
Dpto. de Automtica 7
Por otra parte, las palabras de controlestn divididas en pequeos campos (hasta untotal de 38) en los que se codifica informacinpara gobernar el funcionamiento de algn bloquede la unidad de ejecucin. Estos campos sehayan fsicamente encima de los elementos que
gobiernan y son decodificados de forma rpidacon un hardware sencillo ya que no contienenmuchos bits (del orden de 2 3). De esta maneralas palabras de control en ROM tienen 70 bitsmientras que el nmero total de conmutadores enla unidad de ejecucin del MC68000 es de 180.
11. PROBLEMAS DE LAMICROPROGRAMACIN EN DOS NIVELESDEL MC68000
El objetivo de la implementacin de
microprogramacin en dos niveles fue conseguirreducir el rea de Si empleada en la unidad decontrol. Esta superficie fue significativamentereducida pero en contraste aparecieron algunosproblemas.
El primero de los problemas que nosencontramos es que los accesos a memoria noson instantneos. Adems, en una estructura dedos niveles dichos accesos han de sersecuenciales. Sin embargo la alternativa, es decir,los circuitos combinacionales de decodificacin,tampoco trabajan en tiempo cero. Para conseguir
acelerar la lectura de la memoria se recurre atcnicas de prebsqueda, solapamiento deaccesos y acceso simultneo a varias palabras.
Otro problema es el retardo asociado alos saltos condicionales. Visto en una primeraaproximacin tenemos que la evaluacin de unacondicin en la unidad de ejecucin afecta a lasecuencia de ejecucin de la siguientemicroinstruccin y seguidamente afecta a lasecuencia de ejecucin de nanoinstrucciones.Para minimizar el tiempo invertido en realizar estaserie de reajustes se recurre a lecturas
simultneas de varias palabras de controlseleccionando finalmente solo aquella queconvenga de acuerdo a la evaluacin de lacondicin. En otros casos se comprueba como delas dos posibles ramas de un salto una estprivilegiada por darse en ms ocasiones. En esecaso es deseable realizar la prebsqueda de larama ms probable. Este es el caso de lainstruccin 'decrementar y saltar si no cero'(bucles) en la que el salto tiene una probabilidadmuy alta y por tanto, la prebsqueda minimizagrandemente los retardos asociados a los bucles.
Los mecanismos de bifurcacin debenestudiarse con detenimiento ya que los saltos sonmuy comunes. En el procesador MC68000
encontramos que en el primer nivel demicroprogramacin se da una media de un saltopor cada dos microinstrucciones ledas. Laimplementacin de mecanismos eficientes debifurcacin es crtica a la hora de proporcionartiempos de ejecucin suficientemente cortos con
unidades de control microprogramadas.
12. OTROS ASPECTOS A TENER EN CUENTA
12.1. Minimizacin
Se ha procurado que los microprogramascontuvieran el mayor nmero posible de palabrasde control comunes. Para conseguir esto serecurre a almacenar los operandos en registrosintermedios de forma que las operaciones arealizar dependan muy poco de los operandos y,
por tanto, tengan palabras de control iguales.
Tambin se ha tenido en cuenta eldetectar fracciones de microcdigo que se repitende modo que pueda saltarse a ellas dentro de laROM de control del primer nivel. Estassecuencias suelen corresponder a los finales delas microrutinas.
12.2. Sencillez de la estructura
La sencillez de la unidad de ejecucin
lleva a una microprogramacin ms fcil. Es porello que la unidad de ejecucin del MC68000es muy sencilla tal y como se puede ver en lafigura 4.
13. APNDICE: Reduccin del tamao de lamemoria de control con dos niveles demicroprogramacin.
Sean las siguientes variables:
n: nmero de seales de control
diferentes en la arquitectura de unprocesador (o dicho de otro modo,nmero de conmutadores presentesen la unidad de ejecucin). Esteparmetro es el ancho de una palabrade control (microinstruccin) horizontal(sin codificar).
k: nmero total de microinstrucciones(palabras de control) necesarias paraimplementar todas las instrucciones (odicho de otro modo, nmero total deestados de control que ejecutan el
conjunto de instrucciones del juego).
-
8/3/2019 Microprogramacion68000
8/10
La unidad de control
8
: relacin entre el nmero de mi-croinstrucciones no repetidas (nicas) y elnmero total de microinstrucionesnecesario para implementar todo el juego.
13.1. Tamao de una unidad de controlmicroprogramada en un solo nivel.
Una unidad de control microprogramadaen un solo nivel cuenta con una nica memoriaROM de control. Suponemos que elsecuenciamiento es explcito y que la micro-programacin es horizontal. Si k es el nmero demicroinstrucciones y cada una de ellas contieneuna palabra de control de n bits y una direccin dela siguiente microinstruccin, tendremos elsiguiente tamao:
( )T1 k n log2k= + (1)
Figura 7. Unidad de control microprogramada enun solo nivel.
13.2. Tamao de una unidad de controlmicroprogramada en dos niveles.
En una unidad de control micropro-gramada en dos niveles contamos con dosmemorias ROM de control. En la primera (nivel demicroprogramacin) se sustituye la palabra decontrol por una direccin (nanodireccin) quehace referencia a la segunda memoria (nivel denanoprogramacin) en la que se han escrito laspalabras de control no repetidas.
El ancho de la nanodireccin vendr dadopor el nmero de palabras de control diferentes,es decir,
v = k (2)
El tamao del primer nivel ser por tantoal ancho de la nanodireccin ms el ancho de lamicrodireccin:
( )k log2
v log2
k + (3)
El tamao del segundo nivel vendr dado
por el nmero de palabras de control no repetidas(nanoinstrucciones) y el nmero de seales decontrol que contienen:
n v (4)
El tamao total ser la suma de lasecuaciones (3) y (4).
( )T2
k log2
v log2k n v= + +
(5)
Figura 8. Unidad de control microprogramada endos niveles.
13.3. Comparacin de tamaos.
El objetivo es que T2 sea menor que T1.
Para que valores de n, k y es cierto esto? Enprimer lugar debemos tener una idea de losrangos en los que se mueven estos parmetrospara procesadores reales. Tenemos que:
n (20, 750)
k (50, 8500)
Vamos a representar en primer lugar eltamao utilizado para implementar una unidad decontrol microprogramada en un nivel y en dos
niveles con diferentes en funcin de k para un nfijo.
log k2
n
k
MEMORIA DE CONTROL
DE UN SOLO NIVEL microinstrucciones
BITS DE CONTROL DIRECCIN DE LA SIGUIENTEMICROINSTRUCCIN
k
log k2
microinstrucciones
nanoinstrucciones
MICROCONTROL
1 niveler
v
n
NANOCONTROL2 nivel
log v2
-
8/3/2019 Microprogramacion68000
9/10
ARQUITECTURA DE COMPUTADORES
Dpto. de Automtica 9
Figura 9. Grfica comparativa de tamaos de
unidad de control microprogramada en un nivel yen dos niveles para diferentes valores de y en
funcin de k para n fijo.
Figura 10. Grfica comparativa de tamaos deunidad de control microprogramada en un nivel y
en dos niveles en funcin de n para k fijo.
13.4. Microprogramacin en dos nivelesen el MC68000
Para el procesador MC68000 tenemosque:
n = 70k = 650
= 0,4v = 260
De donde:
T1 = 650 (70 + log2 650) = 52.400 bits
T2 = 650 ( log2 260 + log2 650) +70 260 = 30.550 bi ts
T2 / T1 = 0,58
T = T1 - T2 = 21.850 bits
13.5. Microprogramacin en un nivelen el 8088
Como ejemplo de microprogramacin enun solo nivel tenemos el procesador 8088 deINTEL. Para este los parmetros son los quesiguen:
n = 21k = 504
= desconocidov = desconocido
De donde:
T1 = 504 (21 + log2 504) = 15.120 bits
Es significativo notar que el nmero deseales de control que se manejan en esteprocesador es muy pequeo en comparacin conlas 70 del MC68000. Esto es debido a laarquitectura de la unidad de ejecucin y, por otraparte, a una mayor codificacin de la palabra decontrol.
La ROM de control implementadarealmente en el 8088 tiene un tamao menor delobtenido como consecuencia de realizar losclculos anteriores. La reduccin es de
aproximadamente un 30% el tamao es de
10.584 bits y se debe a que las fracciones demicrocdigo que se hayan repetidas en lasmicrorutinas no se escriben varias veces sino quese bifurca a ellas siempre que es posible.
Tamaos de memorias de control en 1 y 2 niveles
0
50000
100000
150000
200000
250000
300000
350000
400000
450000
0 1000 2000 3000 4000
k
Tamao n = 100
1 nivel
2 niveles
= 0,4
= 0,6
= 0,2
= 0,8
Tamaos de memorias de control en 1 y 2 niveles
0
50000
100000
150000
200000
250000
0 20 40 60 80 100
n
Tamao
1 nivel
2 niveles
k = 2000
-
8/3/2019 Microprogramacion68000
10/10
La unidad de control
10
14. REFERENCIAS
Documento AR235de MOTOROLA. SigmicroNewsletter. Volumen 9. Nmero 4. Diciembre1978.
M68000 Family Programmer's ReferenceManual. MOTOROLA, 1992. Referenciadocumento: M68000PM/AD Rev. 1.
M68000 Microprocessor User's Manual. NinthEdition. MOTOROLA, 1993. Referenciadocumento: M68000UM/AD Rev. 8.
Organizacin de Computadores. Un enfoqueestructurado. Andrew S. Tanenbaum. PrenticeHall, 1992.
Sistemas Digitales. Ingeniera de losMicroprocesadores 68.000. Antonio Garca
Guerra y Enrique Fenoll Comes. Editorial Centrode Estudios Ramn Areces, S.A., 1993.
Frequently Asked Questions (FAQ) about 68Kchips. Direccin Internet:http://www.lib.ox.ac.uk/internet/news/faq/archive/motorola.68k-chips-faq.html, febrero 1996.