The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

arquitectura de computadoras morris mano

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by sosavalealbertoa, 2021-05-20 13:11:21

arquitectura de computadoras morris mano

arquitectura de computadoras morris mano

"l

sEc.10-4 C O N T R O LD E L M I C R O P R O G R A M A 4 5

q.dc,="uie."a-e*ltfr,ádyaáues;p'bfferueo.r,;sedirenurvrc-craiauearl.iumaenbanalcteLresseonasateleidxcdgato-eiamserxtnenr:oaLncsst.aLa. radeLioa"asdydissriereiegecuocucs.ciiaeóiLónnnatttspesaoedtrriaedree"ascceleacpqnriruóiofifinpvcoaoadrmlrseeipacnleitaoesnsnidmaepelsbrdoóedeplseiocltsoaacisdcooievnonaintnrlelooia-sl-
una pro pos ición de ua o después
cond i cional en est a mic roinstrucción-usan terpr eta de mane ra que s i la-con-
áe la palabr aenton ces. Su significado-se in palabra
dició n se satisface el control*va a la dirección escrita despuésde la
el control permanece en ia dirección
,o-o. n"i, si arnbos Q, y Qo son cero Si q, o qo son 1, el control va a la
pu.u' repetir lu -iótoi"ttrucción.

d""irroección 1 ó 2 resPectivamente.
Las proposiciónesde control condicional en las otras microinstrucciones
proposiciónde ua a sin una con-
usan las"u"riubl"r de condición s y E.La incondicional a la dirección indi'
dición adjunta, especifica una alteinativa
.uá". pot ejemplo, va a cero significa que el control va a la dirección cero
despuésde ó¡ecuta. la microinsirucción presente' pi n9 \av una proposición
de ua a en lá microinstrucción, esto implica que la siguiente microinstruc-
ción se toma de la siguiente dirección de Ia secuencia.También, si la condi-
¿".p"¿s de una proposición si no se satisface, el control va a Ia siguien-
"t ei¿d" i r e c c i ó n e n l a s e c u e n c i a .
Las microinstrucciones asociadas con las ocho direcciones se deducen

directamente de las especificacionesde control de la Figura 10-9' Las mi-
croinstrucciones listadas son idénticas a aquellas listadas en la Figura
10-9(b). La proposición de control condicional especifica la secuencia de
direcciones como se da en el diagrama de estado de la Figura 10-9(a)' Nó-
tese que cada número de dirección es igual al número suscrito hajo las ? en
el diágrama de estado. Debe ser obvio que las proposicionesde control con-
dicionál presentan una manera diferente de especificar el diagrama de es-
tado. Esto muestra que el método de trasferencia entre registros puede ser

usado para especificar un circuito secuencial'
Ei microprograma en la Tabla 10-2 se hubiera podido deducir directa-
flujograma se usa para especi-
mente del flulogiama de la Figura 10-7. Este
iica. et algoriimo para el sistéma que se est á tratando de diseñar. Aunque
el microprograma desarrollado aqui parece necesitar muchos pasos inter-
cuenta q,ru fue hecho así para propósitos de la
,rr"dio., ." d"ebeterrer en se entienda "-tetol conc
.rpti.u.i¿". Una vez que epto del microprograma no.hay

,"rdi prru .ro poder especificar el algoritmo direct amente como un micro-
progr" de estado. Una vez que
ie üu ;u simbélico, sin la necesidad.del diagrama
el con e.tablecido la configuración del equipo para el proc_esadorde datos y

trol del micráprog."l-u se puede désairoilar el algoritmo por medio de

un microprograma.
La desifnación simbólica es un método conveniente para desarrollar el
.rrl.-projr"ira de una manera que la gente pueda leer y entender. Pero ésta
no es la manera como el microprograma e. almacenado en la memoria de
control. El microprograma simbótióo debe traducirse a binario porque ésta
L,a traducción se hace dividiendo los bits
es la forma como va i lu -"^o.ia. partes funcionales llamadas comp
de cada mi croinstrucción en sus , los bits t hasta 9 especifican la o.s.A.quí
se tienen t res partes funcionales palabra

de control para :niciar las microoperaciones. Los bits 10 hasta 12 especifi-

Tabla l0-3 Microprograma binario para la memoria cre control

Salidasde ROM

f)irección Ly z tr S e l e c ci ó n
de ROM x Ju .rl Jo C,n
6 t8 9 l0 lt t2 13 t4
t2 3 4 5
0l
0 00 r000 0 0 00 0 000 0l
0 0l 010 l0
0 IO 000000100 0 00 0 r00 0l
0 ll 100 0 000 0l
00 00 0 100 0 l0l il
00 0 00 i 000 0l
0 0 0l 0 100 0 0l
0l lll
0 010 I
l0 000
ll 0000 0

0l I I 0
000011010

pdmcoeaunbnldteuiipnenelnesctxceaoosmrg..pePorloodrsecbdaiitdrseaacmcdiiecócrnouylandlsootsrs;u;b.i"tiis;órn1c3qayum. 1ps4oessrdeiseletmacciecionronfioanrnsumtnrauasceicmniótbrnóacldoicarardesesel-
.dqccI1-iuoo3raenne#sstciLfLednt:toaiJaniitrcs"umiefiddapyoceouerrcnlcdimlaimateoeseannetdcmbaereaoibsindcpslradaroaaaorecrpdiFoaahlaeaipogrelvseaabuqerbpirumatrrrasidcaovea1iepadmod0noleneo_ns-cnRr9eie"acit(.acsoedipbáedMáa"inse.""ipáauilra.*msr,áioiifeaauu"ip,ctbád:ctartroáaootratlra.p_t,R.atp'roRE.oomro.;oogMr;bMgr;"c;lairo¿;;damr"n"";a,m-Ld.au;nsJiia;;ce.;ll;riiaird;ro"atapnrriR"aaeoealoln.nea"eMnlbcanbr.eaiaTbtlEddpiaassnerbetpaocaltaragooitto.nam1aa.tb0bmraEr-orna8arar.
edgCdvcrsioctsqnisfeuiaiureAeirelrcuriaLaiarcdefliegeddaeó.tnnoiinLcurueEiraascndenerta:eaneeiqcnelrosdmmoaclaaiieduciinnócllanecit-siaacedscirnacrdin0oiólei0óp'ddróbrlcre0tsneaco,eeeniinlodu¡r1ac.alnsimlcccaeeaoanaileepcuecórccmsnesmlioliannsbccóedócntadCiiiniirenlcoAzóóntctacruddaseAsscunnríReecaoe.oxFia00irsnoec-^?lea^iq0ie0onangnpihtsnuL00aósesudt"aat1se,aenrd.trsorabreu1_elrin'adoealsgeseut*an8dlraitlr1iu.a¡prc"uigao"elsee0áocai:eusvsse.sJn--eil."bfgpa1ióe"u8ceis.dl.ieoe0rngnisr,dc.t0ióaii'ric,*srtsuiaeo(e1nuaei0euyésbgfoaspcei1uee.ilecl]ra"cldset.q,.aaallcvirer¿ioei.l-óand-A"cadrrc.csc"i1rnauoRcleitc¡iuo0yÉs0rmnain."eeei:i1óq,nn;mgus1.ocloein0ar.eu;..)c"b"ptlt.;mr0nis.rrE;iriqeoct0uóu;tepüpodLat'unt.nc;olood.eaOmet"eJE;cda.ee,"md.,cefigspeúi;eióO*ciclüitJuobirn"lnotospi;ier.üa,doiq-ee.uné.crohle"n"ui1r-l,dnc*"es.ue"a-led3,itiai,-ocbc¿rcóry1i^s"rácacidvi"n,.eeaói1ieroa,esoórc.r1n4s,rlfiaeennsc,uiirEmtcaedsieaaceá"óas0berulalyedlne1otse1reauecnoolsoci.ea0sasldqpDilcsqtaa.mceuAeeri,RuleedoaaaenrclpeponomoqnmboiuosunaMeuradilneiiprntitarle_d-ea_-e_oo

46

=

1O-5 CONTROL DE LA UNIDAD PROCESADORA

La configuración con rnateriales de Ia unidad de control del microprograma
usada en la sección anterior es adecuada para el ejemplo particular consi-
derado. En una situación práctica, la organización de los materiales de una
unidad de control del microprograma debe tener una configuración de pro-
pósito general para adaptarse a una gran cantidad de situaciones. Una
unidad de control de microprograma debe tener una memoria de control
suficiente como para almacenar microinstrucciones. Se debe hacer provi-
sión para incluir todas las variables de control posibles en el sistema y no
solamente para controlar un ALU. El multiplexor y los bits seleccionados
deben incluir todos Ios demás bits de condición posibles que se quieran
comprobar en el sistema. Se debe tener una provisión para aceptar una di-
rección externa para iniciar muchas operacionesen vez de dos operaciones

solamente tales como suma y sustracción.
La principal ventaja del control del microprograma es el hecho que una

vez que se ha establecido la configuración de los materiales no debe haber
necesidad de cambios posteriores de las conexiones entre los componentes.
Si se quiere establecer una secuencia de control diferente para el sistema,
todo lo que se necesita es especificar un conjunto diferente de microinstruc-
ciones para la memoria de control. La configuración con los materiales no
debe cámbiar para las diferentes operaciones; el único cambio debe ser el
microprograma que reside en la memoria de control.

Para demostrar la propiedad general de la organización del micropro-
grama se expandirá la configuración de los componentes para incluir el
control de toda una unidad de proceso.Una unidad plocesadora de propósi-
to general se introdujo en la Sección 9-9. Al referirse a la Figura 9-16, se
nota que la unidad procesadora tiene siete registros, un ALU, un registro
de desplazamiento y un registro de condición. Se selecciona una microope-
ración con una palabra de control de 16 bits. Los bits para una palabra de
control dada pueden ser formulados del código binario que se Iista en la

Tabla 9-8.
Una organización del microprograma para controlar la unidad proce-

sadora se muestra en la Figura 10-11. Esta tiene una memoria de control
de 64 palabras, con 26 bits por palabra. Para seleccionar 64 palabras se ne-
cesita una dirección de 6 bits. Para seleccionar8 bits de condición se nece-
sitan 3 líneas de selección para el multiplexor. Un bit de la microinstrucción
seleccionaentre una dirección externa y el campo de dirección de la micro-
instrucción. Sumando los 16 bits para seleccionar la microoperación en el

procesador se requiere un total de 26 bits por cada microinstrucción.

La unidad procesadora se incluye en el diagrama para mostrar sus co-
nexiones a la unidad de control del microprograma. Los primeros 16 bits
seleccionan la siguiente dirección para el control del registro de direccio-
nes. Los bits de condición del procesador se aplican a las entradas del mul-
tiplexor. Se usan los dos valores normal y de complemento excepto pala el
bit de sobrecapacidad V. La entrada 0 del MUX 2 se conecta a una constan-
te binaria la cual es siempre 1. La entrada de calga al CAr? se habilita,
cuando esta entrada es seleccionada por medio de los bits 18, 19 y 20 en la
microinstrucción. Esto causa una trasferencia de información desde Ia sa-

447

I

I

a

Campo de pq Memo¡ia de l6
dirección control 17
:v 64Y.26 l8
Di¡ección
externa !';:* t0
t1
u!; !

co ¿. ; ! " ¡E
o9
vo

26

t¡l Selección

M U X]
0t23156.
ICC,ZZ'SS'V

Bits de Unidadprocesadora
condición
( F i g u r a9 - 1 6

v
T a b l a9 - 8 )

Salida

Figura lO-11 Cont¡ol del microprograma para la unidad procesadora

scdEmmLmleiaealdiiilrcccealbgdarrrciaodoiotcramieiienidnnlolcisescscnMctrttA¡acirorIuóodJuruicn?nXnoccecesdsccsixtoiriii0rcóótenu.aeinnlóecr¡ss..bnsnciiqciia(tóuAeeoensellRssbbepp.ucliiuuettLo"eec11oandcd?m?.eeieeeeo.plnn"ssnlp.et"c1arrásae,doipeegdropi.oulac-ó,*ceiualso.1nrsiuri)',nctu.pcáa,g,A¿ueu1.usr"tóRó"oi€u"ipenu"e0.iorinos."raicufLuá;lAdnaáo.iaiR,s"rduuef.ciru"ñric,olen;ñ"cm^iccá,i.;óci,p;uó";ino".óne"nn-xdde"Udte.ines,eirltttreeb.aeenccistntaeucaatsxe1i,rróitanTeentdcCddgrlainee,bAad2osrilRtae0esa..
etal mperPonactreeasccaóodmnoosr.Lterolusibribmt itidscerSocpo(rnsodiggircnaioóm)nyaescZso-ar(frceeeccrttoao)dseeosspioán,nec.auefJesucatrLaioideJos.osppoeopcreiftrioacdcaaireósxnlaeac.s,-

448

-5

sEc.10-5 C O N T R O LD E L A U N I D A D P R O C E S A D O R A 4 9

operacionesL. os bits C (arrastre)y V (sobrecapacidadn)o cumbiandespués
de las siguientesoperacionesdel ALU:

1. Las cuatro operacionesOR, AND, OR-exclusivay complemento.
2. Las operacionesde incrementoy decremento.

Para las demásoperacionese, l bit de arrastredel ALU va al bit C del regis-
tro de condición.El bit C se afecta también despuésde un desplazamiento
circular con operaciónde arrastre.

Ejemplode microprograma

Se puede demostrar por medio de un ejemplo, cómo se escribe un micropro-
grama para configurar una microoperación. Una microoperación inicia una
secuencia de microinstrucciones en Ia memoria de control. Esta secuencia
constituye una rutina de microprograma para ejecutar la macrooperación
especificada. Una macrooperación se inicia por una dirección externa que
aporta la primera dirección en la memoria de control para la rutina de mi-
croinstrucción. La rutina se termina con una microinstrucción que carga
una nueva dirección externa para comenzar a ejecutar la siguiente macro-
operación.

La macrooperación que se desea configurar cuenta el número de unos
almacenados actualmente en el registro procesador R1 y alista el registro
procesador R2 con ese número. Por ejemplo, si 111: 00110101, la rutina del
microprograma cuenta los cuatro unos almacenados en el registro y coloca
en el registro R2 el número binario 100.

Aunque el microprograma puede deducirse directamente del enunciado
del problema, sería conveniente construir un flujograma que muestre Ia se-
cuencia de microoperaciones y vías de decisión. El flujograma para el mi-
croprográma se muestra en la Figura 10-12. Se asume que la rutina del
microprograma comienza en la dirección 8. El registro R2 y el bit C (arras-
tre) se Ilevan primero a 0. Se examina entonces el contenido de R1. Si éste
es 0 esto significa que no hay unos almacenados en él; de esta manera la
rutina del microprograma finaliza con R2 igual a 0. Si el contenido de R1
no es 0, ello indica que hay algunos unos almacenados en é1. El registro R1
conjuntamente con el arrastre se desplaza de manera circular cuantas ve-
ces sea necesario hasta que se trasfiera un 1 a C. Por cada 1 que se detecta
en C, se incrementa el registro R2 y luego se comprueba si /?1 es igual a 0.
Esté círculo se repite hasta que se hayan contado todos los unos de R1. Nó-
tese que el valor de C es siempre 0 cuando se circula con 1ocontenido en R1.

La rutina del microprograma en forma simbólica se presenta en Ia Ta-
bla 10-4. La rutina comienza en la dirección 8 borrando el registro R2. La
microinstrucción de la dirección 9 borra el bit C y pone a uno el bit Z si el
registro El contiene sólo ceros. Esto se hace trasfiriendo el contenido de

R1 así mismo a través del ALU. La microinstrucción en la dirección 10 com-
prueba los,valores del bit Z. Si éste es 1, es un ind-icio de que el registro R 1
contiene sólo ceros y la rutina se termina aceptando una nueva dirección
externa para comenzar a ejecutar otra macrooperación. Si Z no es igual a

Comienzo (di¡ección 8)

ircular R1conarrastre

Rl+R2+l

Figura 10-12 Flujogramaparacontarel númerode unosen el registro-81

1el control continúa con Ia dirección 11. El desplazamientocircular a la
derecha con arrastre (crc) coloca el bit menos significativo de Rl en c. Lue-
go se verifica el valor de C. Si éste es cero el control regresaa la dirección
11 para circular de nuevo hasta que c se convierta en 1. cuando c:1 el
control pasa a la dirección 13 para incrementar R2 y luego regresará a la
dirección 9 para comprobar el contenido de ft1 para cada uno de los estados
cero.

El microprograma binario se da en la Tabla 10-b.Los 16bits para la pa-
labra de control que seleccionan las microoperaciones del procesador-se
deducen de la Tabla 9-8. De hecho, la mayoría de las palabras de control
listadas fueron explicadas en la sección 9-9 conjuntamente con la Tabla
9-9. Los bits selectores del multiplexor seleccionan las entradas de los dos
multiplexores. El bit 17 es 0 en la dirección 10 para seleccionar una di¡ec-
ción externa. En los demás casos es 1 para seleccionar el campo de direc-
ción de la microinstrucción. cuando los bits 18, 1g y 20 son 000 la siguiente
dirección se determina directamente del campo de direcciones. Cuando
estos bits son 011, éstos seleccionan el bit Z para el MUX 2. Si Z: 1 se

4fr

u

Tabla lo-4 Microprograma simbólico para contar el núme¡o de unos en Rl

Dirección Microinstrucción Comentarios
deROM

8 R2+-0 Borrar el contador¡rl2
9 Rl<-Rl.c<-0
t0 Si (Z:1) entonces Borrar C, ponera 1 losbits de condición
Acabarsi R1 : 0

(va a la direcciÓnexterna)

ll Rl<-crcRl Circular ft1a Ia derechaconarrastre

t2 Si (C : 0) entonces(vaa 11) Circular denuevosi C :-0

l3 R2<-R2* l,vaa9 furastre: 1,incrementarR2

Tabla 1O-5 Microprograma binario para contar el número de unos en /?1

Contenidodel ROM

Dirección Selectorde microoPeraciÓn Selector Campo de
deROM ABDFH de MUX dirección

l6 17 20 2l 26

001000 000 000 010 0000 0ll 00 0 001001
001001001 000 001 0000 000 00 0 001010
001010001 001 000 1000 000 0l I 000000
00101I 001 001 001 1000 l0l 00 0 001100
001100001 001 000 1000 000 010 00101I
001l0l 010 000 010 0001 000 00 0 001001

trasfiereuna direcciónexternaal CAR' Si Z:0 se incrementael CARy la
siguiente dirección será la siguiente en la secuencia.La microinstrucción
urr"ludir"..ión 12seleccionaei complementodelbit de arrastreoC'. Si C:
0, entoncesC':1y el campode dirección(binario1011)setrasfiereal CAR'
Si C : 1, entoncesC' : 0 y el CAR seincrementapara dar 13para la siguien-

te dirección.
El lector familiarizado con la programaciónde máquina o lenguajeen-
samblado para un computador,se dará cuenta que escribir programases
muy similár a escribir programasde lenguajede máquina para un computa-
dor. fuí, el conceptod" *ic.optograma es un procedimientosistemático
para disólar la unidad de contról de un sistemadigital. Una vez que se ha-
oel formato de la microinstrucción,se hace el diseñoesc¡i-
ya establecid roprogramae, l cual es similar a escribirun prog ramapara un
Lie ndoun mic
computador.Poi esia razón,el método del microprogramase refierealgunas
métodode los mate riales (hard-
vece; comofirm ware para distin gui rlo del n e n t e sc o n e c t a d o s y) el co ncepto
ware o llamado tamb ién control de compo

de softwarelo cual constituyeun métodode programación'

451

1 O - 6 C O N T R OAL B A S ED E C O M P O N E N T E S
C O N E C T A D O S - E J E M P L2O

ppscdEeerooloñcnaecaitflejrdigeocsoomlaa.crcdpciotiolonmoormjnpuoaderonaeesdtreasleintmesmlnieaesétlntalteetóidecmjgoeoceiamcony.anpDeddllesoaeetasauccpnosnouteennémcrtfsriicdgoéoieurtló,odrnsqadódeucolediedsóreinisnsfseuedtaeerehremsralnotogirt.lsaealeapmepl asdrairtetmaoeserdsaieriarsorlfeeoeosñllrl,amoapdrluigleralaoaurlnnóiltagilsraiopecsa,gáedrudtsiene---
glóisLgtaircooadrdegeasnceoicznuatecrnoiócl npiadoyerldmceoel nddtieroocdol eedsuifcnicoaFgdiLdoAarp..EaEnraslteaesseteijgEeumjeiepmnlopiedloseeemscuceeilósmntrséaetloaddirsoeedlñaea-l
re
la

ción directa que existe entre el registrode secuenciay el Á¿to¿o del deco-
dificador y su correspondienteconiiguraciónde contról pLA-

E n u n c i a d od e l p r o b l e m a

se deseadiseñar un circuito aritmé tico que multiplique dosnúm e r o sb i n a -
rios de_pu¡to fijo representadosen la forma signt-magnitud. El producto
obtenido de la rnultiplic
aci ón de dos n ú m e r o si i ".ii * i gn ." vas magnit udes
consisten-deá bits, pod ría tener hast a 2ft bits. El s o áe c ada*nú mero
ocupaun bit adicional.

use1inn0v1al.ea1Lsj 1.eafyyomrd1mmpe0ulas0ol pt1snilpi1uagl:mzincaoéam-rcmiiicóeaonng.tdsnoeeistEa.udsdolstaseenhmpúarumoclceteiepcrsool iosnc.bauricániiplaórirrnz.i loy.dsápedaáelpoupés,utrdmnr orteuosa*f,"üir¡jt,ooei -,"rreso-p"u,rrm,e"bsraiaesnnsautcraicoodenso- s

23 1 0 1 1 1 multiplicando

l9 10011 multiplicador

10111
10111
00000 +
00000
10111

437 I l0l l0l0t producto

- Este procesoconsisteen obse¡varsucesivamentelos bits del multipli-
cadorcon el bit menossignificativoen primer lugar. si el bit del multipli-
cador es 1 se copia el multiplicando; de lo contiario se copiansólo ceros.
Los núme¡os escritos en líneas sucesivasse desplazan,.n" posición a la
izquierdadel númeroprevio. Finalmente, r" ag.eg"n los númerosy su suma
forma el producto.

452

f

S E C . 1 0 . 6 C O N T R O LA B A S ED E C O M P O N E N T ECSO N E C T A D O S - E J E M P L2O 4 5 3

El signo del producto se determina de los signos del multiplicando y
multiplicador. Si son iguales el signo del producto será más. Si son diferen-
tes el signo del producto será menos.

Cuando el proceso anterior se hace en una máquina digital es conve-
niente cambiar un poco el proceso. Primero, en vez de tener circuitos digi-
tales que almacenen y sumen simultáneamente tantos números binarios
como unos haya en el multiplicador, es conveniente tener circuitos para Ia
suma de dos números binarios únicamente y sucesivamente acumular los
productos parciales en el registro. Segundo, en vez de desplazar el multipli-
cando a la izquierda, el producto parcial se desplaza a la derecha lo cual da
como resultado el colocar al producto parcial y al multiplicando en las posi-
ciones relativas requeridas. Tercero, cuando el bit correspondiente del
multiplicador es 0, no hay necesidad de agregar ceros al producto parcial
ya que no se alterará su valor. El ejemplo numérico previo se repite aquí pa-
ra clarificar el proceso de multiplicación propuesto:

multiplicando: l0lll
multiplicador: l00lI

1er.bit multiplicador: 1, copiar el multiplicando l0lll
desplazamiento a la derechapara obtener el primer
producto parcial 0 1 0 1II
l0lll
2o.bit multiplicador: 1, copiar el multiplicando
l000l0l
agregar el multiplicando al producto parcial previo
desplazamiento a la derechapara obtener el segundo 1000101
0l000lci
producto parcial
3er. bit multiplicador: 0, desplazamiento a la derecha 001000101
l0lll
para obtener el tercer producto parcial
4o. bit multiplicador:0, desplazamientoa la derech¿, l l0ll0l0l

para obtener el cuarto producto parcial 0ll0l10101
5o. bit rnultiplicador: 1, copiar el multiplicando

agregarel multiplicando al producto parcial previo
desplazamiento a la derecha para obtener el 5o. producto

parcial : producto final

C o n f i g u r a c i ó nd e l e q u i p o

La configuracióndel registropara el multiplicador binario se muestraen la
Figura 10-13.El multiplicando sealmacenaen el registroB, el multiplicador
se almacenaen el registroQ y el productoparcial se forma en el registroA.
El signo del multiplicando está en 8., el signo del multiplicador está en
Q, y el signodel productose forma en 4.. El flip-flop E almacenael arras-
tre de salida despuésde la adición de B y A. Los dos númerosque se van a
multiplicar consistende n bits. Uno de estosbits contieneel signoy los res-
tantes k: n - 1 contienenIa magnitud del número.El contadorP se prepa-

trMult iplicando
RegistroB

f p l l uI ur ,io r i - 0 ,

I ca dor

t

RegistroA t ""-""I"o

q, (Multiplicar)

Producto

Figura 1O-13 Registrospara el multiplicador bina¡io

ra con una cuenta o número binario igual al número de bits en la magnitud

del multiplicador. Este contadorse decrementadespuésde la formaclónde
cada nuevo productoparcial. Cuandoel contenidodel contadorlleguea ce-
ro, el producto estará formado en
proceso. los registrosA v Q y se ruspettderáel

La lógica de control permaneceen su estadoinicial hasta que la varia-
ble q,, se convi ertaen 1. El control realizaráentonc
La suma d eA y B forma u n productoparcial que setra esla mu^l t-ispil icación.
sfier ea ¿. hay un
arrastreproductode la suma, se trasfierea E. El productoparcial en A y {

el multiplicador en Q son ambosdesplazadosa la áerechu.únu u", qu" .L
cdhieaólynpaarroeldaauldiczetaordepocaehr lcadi.aDelesapelQsatzamamimeani ent nreatrosaaeqlluabedisteedr deeeclhsapaedl axeztAraetymtI oae. -d,t iest r.eetcdr haeaseáf ieeulrnreeaugnpiosbtsirito-
Q, designadocomo Q,, almacenasiempreer bit
debeser inspeccionadoen seguida. del multiplicador,ef cual

Derivacióndel algoritmo

El flujograma del multiplicador binario se muestra en la Figura 10-14.Ini-
cialmente-el multipl icand o_es t á_ e nB y el multiplicador
c o r r e s p o n d i e n t ees s t án en B, y 8". El procesodó multip er ie. sus signos
lic aci ón se in-=icia
cuandoe^:r.Se comparanlos dos símbolospor medio de una compuerta
oR-exclusiva.Si los dossignosson igualesla operacióncon la oR-exclusiva
produce un 0 el cual se trasfiere a A,, para dár un más para el producto.
Si los signosson diferentesse trasfiereun 1 a A", para dár un signo nega-
tivo para el producto.Los registrosA y E seborran y el contadorde secuón-
cia P se lleva a un númerobinario A, el cual es igual al númerode bits en el
multiplicador.

En seguidase cae en un bucle que continúa formando los productos
parciales.Se compruebael bit multiplicador en e, y si se encueñtraigual
a 1 se agregael multiplicando en B al productoparcial presenteen A. Cual-
quier arrastrede la adición se trasfierea E. El productóparcial en A sedeja
sin cambiar si Qr :0. se incrementael contadorp independientementdell

4g

Estado inicial

A"-B-qO^

¡ 1- 0 , E - 0
P-k

A-A+.B,Cuur+É-
P-P-l

AQ-shrEAQ,E+0

Figura lO-14 Flujograma para un multiplicador binario

valor de Q1. Los registrosA, Qy E de desplazanuna vezala derechapara
obtenerel nuevoproductoparcial. Esta operaciónde desplazamientosesim-
boliza en el flujogramaen forma compactapor mediode la proposición:

AQ * shrEAQ, E <*0
EAQ es un registrocompuesto,hecho de los registrosE, A y Q. Si se usan
símbolosindividuales para los registros,se puededescribir la operaciónde
desplazamientopor medio de las siguientesmicrooperaciones:

I <--shrA, Q.<- shr Q, A¡ <- E, Q* - A¡, E <- 0
AmbosregistrosA V Q se desplazana la derecha.La posiciónde la extrema
izquierdade A designadacomo4,, recibeel arrastre de E. El bit de la ex-
trema izquierdade Q ó Qo recibeel bit que estáen la posiciónde la extre-
ma derechade A en A1 y se borra E. Se trata entoncesde un desplaza-
miento largo del registrocompuestoEAQ con un 0 colocadoen la posición
de la extremaizquierdalocalizadaen E.

455

4 5 6 D I S E Ñ OD E L O G I C AD E C O N T R O L CAP.10

El valor del contador P se comprueba despuésde la formación de cada
producto parcial. Si P no es cero, se repite el proceso y se forma un nuevo
producto parcial. El proceso finaliza después dól produlto parcial A cuando
P:0. Nótese que el producto parcial formado
bit para eventualmerte remplazar el multiplicado"r.., A r" desplazaa Q bit a
El prodücto final estará
disponibie en A y Q con A conteniendo loi bits más significativos
menos significativos. El signo del producto estará en A"". y e los

Especificaciones del control

El algoritmo diseñado-dado en el flujograma puede especificarsemás preci-
samente por medio del diagrama de estado y una lista de operaciones de

trasferencia entre registros. Se ha hecho mención previamente al hecho de
que la conversión del flujograma al diagrama de esiado no es única. El flu-
jograma debe considerarse como una formulación preliminar del algoritmo.
El diagrama de c<lntrol de estado, conjuntamente con su lista de mlcroope-.
raciones, es más preciso ya que toma en consideración las restricciones
de los componentes del sistema.

La secuencia de control de las operacionesse define en la Figura 10-1b. d
El control tiene cuatro estados y las operaciones de trasferencia entre re-
gistros de cada estado se listan a continuación del diagrama de estado. El
control permanece en un estado inicial ?,, hasta eu€ go, se convierta en
1. Pasará luego al estado ?¡ para inicializar los registroi ¿,, n y p y for-
ma-rel signo del producto. El control pasa luego allstado r,.E"..i"
r.-
tado se decrementa el registro P y el contenido áe B se agregaa A si e, : 1,

qr. Multiplicar
P, = lstP=0

e,=Osif+O

Pr=0
(a) Diagrama de estado

Tr. Estado inicial

Tt: lr-8, úQs,A+0.¿ -0.1,-k

QtT2: A*A+B,f '-Cou,
T.: P-P-1

Tt -40-shrEAQ.t-+0-

(b) Secuencia de trasferencias del registro

Figura lO-15 Diagrama de estado de control y secuencia
de microoperaciones del multiplicador

E

S E C . 1 O - 6 C O N T R O LA B A S ED E C O M P O N E N T ECSO N E C T A D O S - E J E M P L2O 4 5 7

de lo contrario A se deia sin cambiar. Las dos funciones de control en el
tiempo ?, son:

QtTz: A<-A+B,E-Co,,

Tz: P<-P-l

La segunda proposición se ejecuta siempre, cuando Tz :1,. La primera pro-
posiciónse ejecutaen el tiempo ?2 solamentesi Q, - 1. Así, sepuedeincluir
una variable de condición (Q, en este caso) con una variable de tiempo
para formar una función de control. Nótese que es conveniente decrementar
P en el estado 7r, de manera que su nuevo valor se pueda comprobar en el
estado ?¡.

El control pasará a ?,3 después de ?2. En el estado ?3 el registro
compuesto EAQ se desplaza a la derecha y el contenido de P se comprueba
para buscar ceros. La variable binaria P. es 1 si el registro P contiene sólo
ceros, de lo contrario P. es cero. Si P. : 1 se termina la operación y el con-
trol pasa al estado inicial. Si ¿ - 0 el control pasa al estado 7'2 para for-
mar el nuevo producto parcial. Nótese que P se refiere al contenido del re-
gistro mientras que P. es la variable binaria.

Especificacióndel procesador de datos

La parte del procesador de datos del sistema puede derivarse de la lista de
microoperaciones de la Figura 10-15(b). Un diagrama de bloque del proce-
sador de datos se muestra en la Figura 10-16.Un sumador en paralelo se
agregaentre los registros A y B para formar la suma, la cual es trasferida
al registro A. El signo del producto se forma mediante una compuerta OR-
exclusiva y la variable binaria P. se genera con una compuerta NOR. Las
salidas de la lógica de control inician las microoperacionespara el procesa-
dor de datos. La variable T, carga el signo del producto a A. y el número
h a P y borra los registros A y E'. La variable ?2 decrementa el registro P
y si Qr :1se generala variable,L, la cual cargala suma del sumador en pa-
ralelo a A y E. La variable ?3 desplaza A V Q a la derecha y borra E. La
variable ?o no tiene efecto sobre el procesador de datos ya que solamente
indica que el sistema está en su estadoinicial.

Las entradas a la lógica de control son las señales externas q- y las
dos condicionesde status P, y Qr. Las salidas son Tr, Tr, L y Tr. Aun-
que no se muestran en el diagrama, estas salidas deben estar conectadas
a las correspondientes entradas en el procesador de datos. La compuerta
AND que genera la variable .L se muestra separadamente, aunque ésta sea
parte de la lógica de control.

Diseñodel circuitode control

La lógica de control para el multiplicador binario se especifica en el diagra-
ma de estado de la Figura 10-15. El diagrama de estado tiene cuatro esta-
dos y dos entradas. Se necesitan dos flip-flops y un decodificador de 2 x 4

D I S E Ñ OD E L O G I C AD E C O N T R O I cAP. 10

para configurarlo por medio del registro de secuencia y el método dei deco-
dificador. Aunque éste es un ejemplo sencillo, el procedimiento enunciado
a continuación se aplica a situacionesmás complicadasde la misma forma.

Se comienza con la tabla de excitación del circuito secuencialdado en
l a F i g u r a 1 0 - 1 7 ( a ) .L a p a r t e d e I a t a b l a d e e s t a d o s e o b t i e n e d i r e c t a m e n t e
del diagrama de estado. Las condiciones de entrada de los flip-flops son pa-
ra dos flip-flops Jl( demarcadas G, y Gr. Nótese que la tabla de excitación
tiene entradas.de no importa en la mayoría de las ent¡adas. Nótese también
que un estado presente se lista más de una vez si éste tiene dos o más
condiciones de estado siguiente. Las variables To hasta T3 se listan
conjuntamente con las variables binarias para identificación. Las excita-
ciones de entrada a los flip-flops se obtienen directamente a partir de Ia
tabla de excitación del flip-flopJIl como se muestra en la Tabla G-8(b).

EI circuito secuencial puede ser diseñado de la tabla de excitación por
medio de un procedimiento clásico. Este ejemplo tiene un pequeño número
de estados y entradas; en la mayoría de aplicaciones de lógica de control,
el número de estados y entradas es mucho ma!'or. La aplicación del método
clásico requiere un cantidad excesiva de trabajo para obtener las funciones
de entradas simplificadas para los flip-flops. El diseño puede ser simplifica-
do si se tiene en consideración el hecho de que las salidas del decodificador
están disponibles para ser usados en el diseño. En vez de usar las salidas
de los flip-flops como condiciones de estado presente, se podría usar Ias sa-
lidas del decodificador para entregar esta información. Si las salidas del
d e c o d i f i c a d o rs e d e s i g n a n p o r m e d i o d e l a s v a r i a b l e s T o , 7 , , ? 2 , T 3 e s -
tas variables pueden ser usadas para suministrar las condiciones de estado
presente del circuito.

Se podría decidir el obtener estas funciones directamente de la tabla
de excitación, en vez de usar los mapas para la simplificación de las funcio-
nes de entrada de los flip-flops. Aunque puede que no se logre un circuito
minimizado, el posible desperdicio de algrnas compuertas se recompensa
con el tiempo ahorrado. Por ejemplo, de la tabla de excitación se nota que
la entrada J de G2 (designada como JG2 en la tabla) debe recibir un 1
binario solamente cuando la salida presente del decodificador es Tr. La
entrada K de G¿ debe recibir un l-cuando la salida del decodificad-ores
T3 siempre y cuando P, : l. Estas observaciones pueden escribirse en
forma algebraica como:

JGr: 7

KG,: T'P,

En todos los demás casos, ambas entradas J y K de G2 recibirán un 0 y el
estado del flip-flop no cambiará. Esto es acepta[le porque todas las demás
entradas debajo de JG¿ y KG¿ tienen ceros o X de no importa.

De manera similar, es posible derivar las funciones de entrada del flip-
flop para Gr por imposición a partir de la tabla de excitación. Las funcio-
nes de entrada así obtenidas son:

JGr- Toq^* T,
KGr: 1

!

S E C . 1 0 . 6 C O N T R O LA B A S ED E C O M P O N E N T ECSO N E C T A D O S - E J E M P L2O 459

La raz6n para que KG1 sea siempre 1 es que todas las entradas en Ia tabla
para esta variable de entrada son 1 ó X.

No se puede estar seguro de que las funciones hayan sido simplificadas
de la mejor manera posible cuando se derivan las funciones de entrada por
inspecciones,partiendo de la tabla de excitación. Por esta razón se debería
analizar siempre el circuito para asegurar que las ecuacionesderivadas pro-
ducen en efecto las dos transiciones de estado requeridas de la manera es-
pecificada en la tabla de estado.

El diagrama lógico de la lógica de control se dibuja en la Figura 10-17
(c). Este consiste de dos flip-flops G, y G¿ y un decodificador. Las sali-
das del decodificador se usan para obtener el siguiente estado del circuito
de acuerdo a las funciones de Boole listadas en la Figura 10-17(b).Las sali-
das del controlador deben estar conectadas a la parte del procesador de
datos del sistema de la manera mostrada en la Fizura 10-16.

?, (Decrementar)
?r (Carga)

Borrar ?r (Borrar)
I (Cargarsuma)
13 (D.esplazamientdoerecha)

Lógica Q 1 T 2= L
de control

Figura 1O-16 Procesado¡ de datos para un multiplicador binario

Estado Estado Entradas del flip-flop
presente Entradas siguiente
JGz KGz JGt KGt
G2 Gl Q^ P, G2 G l
OX OX
00 OX 00 OX IX
to 00 IX 0l IX XI
Tl 0 l XX l0 XO IX
T2 l 0 XX ll XO XI
T3 l l XO l0 XI XI
T3 l l XI 00

(a) Tabla de excitación

JG2: T1 KG2: T3P"

JG1 : Tuq^ * T2 KGr: 1

(b) Funciones de entrada del flip-flop



rl
T2

T

L

(c) Diagrama lógico
Figura 1O-17 Diseñodel control para el multiplicadorbinario
4@

1O-7 CONTROL DEL PLA

se ha visto de los dos ejemplos presentados en este capítulo que el crs.r
de un ci¡cuito de control es esencialmente un problema de diseño de ic'g'-
ca secuencial.En la Sección 7-2se mostró que un circuito secuencialpuede
ser construido mediante un registro conectado a un circuito combinacional'
En Ia Sección 5-8 se investigó el arreglo lógico programable y se demostró
que puede usarse para configurar cualquier circuito combinacional. Es po-
slble ento.rces disóñar un circuito de control con un registro conectado a
un PLA simplemente remplazando el circuito combinacional con el PLA' El
registro opera como un régistro de secuencia que determina el estado del
co"ntrol. Ot pt ¡, ," p.ogruioa para suministrar Ias salidas de control y del

estado siguiente para dar secuencia al registro'
El diseño de una unidad de control con un PLA es muy similar al dise-
ño que usa Ios métodos de registro de secuencia y decodificador. De hecho,
el registro de secuenciu u--bo. métodos es el mismo. La diferencia de
los rñétodos es la forma "etn que se configura la parte lógica combinacional
del control. El PLA remplazá esencialménte el decodificador y otros circui-
tos lógicos de decisión necesariospara la configuración d_elos componentes'
L " o r g a n i z a c i ó n i n t e r n a d e t É t A s e p r e s e n t ó - e n l - a , s e c c i ó n5 - 8 . S e d e -
la tabla del programa del
mostró también en dicha sección cómo óbtener repasar dicha sección para
PLA. Se advierte al lector que sería conveniente

asegurar que se entiende ef significado de Ia tabla de programa del PLA'
Los*caminos internos dentro aet pln son "programados" de acuerdo a las

especificacionesdadas en la tabla de programa'
Bl diseño de un control PLA requiele que se obtenga la tabla de estado
del circuito. El método del PLA debe usarse si Ia tabla de estado contiene
muchas entradas de no importa, de lo contrario es más ventajoso usar una
ROM en vez de un PLA. La tabla de estado da esencialmente toda Ia in-
iormación requerida para obtener la tabla de programa del PLA (o la tabla

de verdad de la ROM).

Tabla 1O-6 Tabla de estado para el ci¡cuito de control

Estado Entradas Estado Salidas
presente 4^ P" Qt siguiente

G2 Gl G2 Gl ToTtT2LT3

OOOXX 0 010000
OOIXX 0 110000
OIXXX
IOXXO 001000
IOXXI
IIXOX 100100
IIXIX
l00ll0
0 0 0 001
0 0 0 001

461

4 6 2 D , S E \ OD E L O G I C DA EC O N T R O L C A P .1 0

scpcdilcsEc(tNLtde:nljo1QarleLaotLrao*amiiuaasiloaoó^ogl'i^frarn),tsGc:teeesplts.mt.rn.ulea"steldeilnryo-,iedarEEdedisaecegs:ieeoPrclE.ee:nodstaollen:cntnulnliaasadclaamesatdtpetriyLPdtqdrpe,'rreeaylsrenea,oeaaasi0usleLoennappSt"óedmslidelsp-rc.cAjurcvtggaaogi:naaPteerarvoriianluuvrrslsodfisgetcneeaasa;nclasaiariaoi-ia¡o:trcitesaal.baete:'mbprorAorelaier:fsenldpeilone*¡uarooc.careclinsa¡tnubisasgoPsnroeorpriebltsdrdtteaougrdyaceLvenrebmelieaerreeineaiineanreiAegeel_órsdnsesblerstflatbplltnonicdtlaaietaoe-¡tssiurricdtalmstnsseeaatlrooe.rrtayeierdsdieoddQrlaemldopdvuoeqaeáoaeroenecesraanrrsleoeu"gliidlot.sple.dinn.enllseeiindeocirtecoondpegrreedsaneaseLtqosneudeolrJslairetxsnadsaisgneetdraaéóetvcspteaoGp.eatoatisindellaulatrLeesmrdtcdiafendoed,taoarnrdce"entneuorbcicnsoerptebulosocedafdloe"t-upiaraoapllt,iunrnn"fesv;deasaaernaadiis.rrsnrte.tcrra-deeabsorctyenCmr.i"s,aEacaliLagosotiddidied"e,snl"aesuadeca;uafliieysemocíeuertafloénsaspi;cai"aelultnerprtcg,niotn*psp,iLeiegá";sirlecaurnuursóonc-tcoeoAuausiiriareistyetictsócin"emnrindtrrerlpáulmde.unianiaprcv"ntta"dadrls,n"e-a"iecbatudrae.tu;.ne^io1edaiettial;oiisisjáorrq.es"éao;..etaosE,",*u"i.lcp;Jar"oaueCansam.'b";-se¡láo"drr"ir"-Álasb.peietsei*oopilan;r;stJilfll"u,trtiloa.siclsi"mue"iiára.;o1ddsvsnpd.roe;urersd",ua,t;"u"oáaatai"unánnir"-o;A.r-irc,"issila"slúd;rit"u"tc"oin"o;i;r;fdeslyn-.fii!ead.;esalurtc,.nllüdii'aa"sr1iurern.uidennstprne"uocst,"ros¡aiiul.ce_lournratdalodsoa.iuricurpsnrfeseéósuoaealscseose,poSsurofnv"lreruntsedsgiofincar.iriopreddlnddeag,sa.nlricrieidtesaeulorseaa.ptmeeeui.ladeGieseseónitq"scec_.edsrdeascXgealna,suttaolodnfaunee,naoaleclpsrt,edmtcyatnvcydnoaoderri1srereiegraaaupceroteeontosd0,nnldcrrddaGo,esvdaltdi_.olo"anuoeedaaánddaieenesl"¿in1laoiyj-.ale--__lo._e-_..g {

un PLA se especificapor medio der númerode ent r ad as,el númerode
términos de prrducto y el númerode salidas.prr;;rt"-;;; .. tienen cinco
entradasv siete salidas. El número a--e t¿rÁi"o, ;;;ár; es una fünción
riel circuito que se deseaconfigurar.

sybcXncrrtenLdoeaoilaonooaalenrlaneutcussmdrslntlcnomDanapaaLeiodnnslodrbeancaenoeetaalmaacaasaedmxlttymosetbcaaixiuadsdoánsulbibcisdmaóeennssneltlaoaneaeootepuradiaplnds,tdnriaddmseuuadotouetqeerynralaregenaauaapeeoorriasdsledalteansar,eapatcoadApl!lmsaaaáasomapyga.brasp!rosmsLrre9adalleetsadáoArgeperdreicemiscl.m.d"urndeaalai0aeepndpesLsaddn"rLeépidirona"legcteaAcs"rias"eancflosoutisci0tapaaloegánp.a.aenbLninRnre.obannallAtneiureerc-egiúmadnu;smoncl"umiasep"i;elcaláe.efrseánaeesroiladl*g!cteprrt"Jrrsriaoodouedsuoo,apdspsiar..nieabádNacuyyeroisd"elgleoimóaaiodte;n;l1cr"ut;""eona"pdces*e0;",ab-ss;L,le.s-d-.."'g,a1tA¿ecr,v;.ia;e"üymu,rgtcña..rt.in;";i(irdorJi.án¿beLu.i,eá;l"a,;nu)pu:raenolrd;bil'i,"u;soáá'táji*;lilorpres;*u,u-l"áe"psgedás'""Jic"irc-ae""r"nrtudtitplailrfasaauóiaialLtcmciirLt.necmdcaoaa,ta"reosyaaanscm.ptinnbdsiaaenlcoteilXaditbtnaoeoafgnaexaseilamruemcadiidatórmrpépais.eeaeebonae¡.LLcpnspeinltmsréaiaAaldtsaeótiaaniss-_ie___snrs_.

..----'

I

(a) Diagrama de bioque

Término Entradas Salidas Comentarios
del producto t2345
| 23 4 5 6 7
I
2 000- l- To: l, 4^:0
001- -l I - To: l, q^: I
4 0l
5 l0 l- - I Tt:l
6 l0
7 ll-0 0 ll I - Tz:r, Qt:0
I l*l I
ll I I Tz:1. L:1. Qt:l

l- I Tt: l, P,:0

I Tt: I' P,: I

(b) Tabla del programa PLA
Figura 1O-18 Control del PLA para un multiplicador binario

tado. Las salidas del PLA son las mismas que las del siguiente estado y las
salidas de la tabla de estado.

El procedimiento para diseñar la lógica de control con un PLA debe ser
evidente a partir de este ejemplo. De las especificacionesdel sistema se ob-
tiene primero la tabla de cstado para el controlador. El número de estados
determina el número de flip-flops para el registro de secuencia. El PLA se
conecta al registro de secuencia y a las variables de entrada y salida. La
tabla del programa del PLA se obtiene directamente de Ia tabla de estado.

La unidad PLA en un control PLA puede visualizarse como una memo-
ria de control que almacena información de control para el sistema. Las sa-
lidas del registro de secuencia conjuntamente con las entradas externas,
podrían considerarse como una dirección para tal memoria de control. Las
salidas suministran una palabra de control para el procesador de datos y
la información del estado siguiente especifica un valor parcial para la si-
guiente dirección en Ia memoria de control. Desde este punto de vista un
control PLA puede clasificarse como una unidad de control de microprogra-
ma con el PLA remplazando la ROM para la memoria de control. Sin embar-

4 & D I S E Ñ OD E L O G I C AD E C O N T R O L cAP.10

go, la organrzación de los dos métodos es diferente aunque hay l una cierta
pLA y l os métodos d e contro l de micropro-
cantidad de similitud entre el
grama.

tro Lo s ejemplos ce c ontroi intr oducidos e n este capítulo dem uestran cua-
Ios mé todos de diseño de lógica de contro l. Estos ná debe rian considerarse
mul
únicos métodos posibles. un diseñador recursivo ¿eue ,e. capaz de for-
ar una configuración de co_ntrolpara adaptarse a una aplicatión pu.li

cular._Esta config ura ción puede rdi ret i .c de una f combinaci ón de mét odos
o puede constituir un a or g a n i z a c "i óon. r ont¡ol di erente de los qr re .e hu.,
presentado aquí.

dPdrdTaeeeLflmtlAcasomolEelynailctpderrpdrooolreilpomssdrepceéoeeñontgdoroturaidmanmdomeeei encddainoeai oletmlaonlmdpósequgilicalutgi arcemuooadipérseogdretnrooaetegddnecnroii gzaosuadimnentceatccarilcióoc.ainlóóynénpden.maexErueiauólesnntsucetnacarcao"pacmí.opcto'pmóíJ*tumápupt-olauoo"dti.áiac-o"Edporl ol.nl'"d.rf.,pie"gd"auptipgarr"eaioltlrpamdólsueséusnlittioogucddoungioneisdeteddarnñeoedeolll-

1 O - 8 S E C U E N C I A D ODRE L M I C R O P R O G R A M A

poculdcSycctuoalrioni.oniiósgoi-nolniróaonddan-ssndseeanerdetu.eaLmdrdisc_ecznuneaoeimubarilignsdsa¡ecacpispopacsunliraera.óradgciduortocniroeotnmadcopiten,sedideenradedtseoaosecamcce:graslerlodieaaogrondrpnesacceraopmtmtsumiianrraadaqiaoeibetatdseduupo9slmirmeoledacasniopds-eccrqapMvorraaoi.uoui-óimnadSsnpuepentdutdtrIitórdaccrroenoesoeaorppldcdiold.naats.óóueeopitdreusrnr.lraqeacnoqiotrtguicupialuógoiaeecsectdesrlannigerandaqósori"ecmcapausneepunitee,raaelraedéea"gaoadnlrnere"glsolucas,mbclneruurnleudieaeeaaa*eácevmrsaudcnu"auis,m"esocatecnerruIdnur.rnipaapeuóaealclngadnál;ilaiamoddiurei;czp-Jas,i".ubi,salrucumigéeupiprcrla"s"ango"oiasguc.e.rt,nupsc"ocrerairimroa-obó"nmgoJeinmllintnugarensili-coszpirosie"sarsetascaJcornetmonrrurocrituctinnaecIami.cunpcs"dsrcI"eupptuitiauirrornüa"ueulemunlancrredccca.ase-i_se_a_s-_
nes.*
ssperegncutcaiuieonninataess edcscii eriugereutconci esci óni abnt edi tpsosarcrddaaeereamllaccitceomrrnoíitcsprrtorioocl igandrsseat drml aueacmcsuieeónmcniud,oeo¡nidaace.i mlulaoni esmnsceteuomcaudol eeersinadcsiideraeeddcoeccrtoiteoínprntmirecoisonl: api nr elsa-_

1. lncrementa la dirección presente para la memoria de control.
2' Se ramifica a una di¡ección como se especifica en el campo de direc-

ción de Ia microinstrucción.
3. se ramifica a una dirección dada, si el bit de condición especificado

es igual a l.

* A l g u n o s s e c u e n c i a d o r e sc o m e r c i a l e s s o n C I tipo g X 02 (Signetics) 940g(Fai¡child) y 2910
(Advanced Mic¡o Devicesr.

- a

sEc. 10-8 S E C U E N C I A D ODRE L M I C R O P R O G R A M A 465

4. Trasfiereel control a una nuevadirecciónde la maneraespecificada
por una fuenteexterna.

5 . Tiene la facilidad para hacersubrutinascon llamadasy ¡etornos.

En la mayoría de los casos se leen las microinstrucciones de la memo-
ria de control en sucesión. Este tipo de secuencia puede lograrse fácilmente
incrementando el registro de dirección de la memoria de control. En algunos
formatos de microinstrucción, cada microinstrucción contiene un cámpo
de dirección aún para direcciones secuenciales. Esto elimina Ia necesidád
de incrementar el registro de dirección de la memoria de control porque el
campo de dirección disponible en cada microinstrucción especifica la di-
rección de la siguiente microinstrucción. En cada caso, se debe dejar la
alternativa de ramificarse a una dirección que esté por fuera de la secuen-
cia normal.

El control debe trasferirse de vez en cuando a una microinstrucción
no secuencial, de manera que el secuenciador debe suministrar la capaci-
dad de ramificarse a cualquiera de las dos direcciones dependiendo áe si
el bit de condición es 0 ó 1. La manera más sencilla de lograr lo anterior es
ramificándose a la dirección especificada por el campo de dirección de la
microinstrucción si el bit de condición especificadoes igual a 1 o si no pa-
sar a la siguiente dirección en secuencia si el bit de condición es igual a 0.
Esta configu¡ación requiere la capacidad de incrementar el registro de di-
rección.

El secuenciador trasfiere una nueva dirección para que la memoria de
control comience a ejecutar la nueva microoperación. La dirección externa
trasfiere el control a la primera microinstrucción en una rutina de micro-
programa que ejecuta la macrooperación especificada.

Las subrutinos son programas usados por otras rutinas para lograr una
tarea dada. Las subrutinas pueden llamarse desde cualquier pu.rto dentro
del cuerpo principal del microprograma. Frecuentemente muchos micropro-
gramas contienen secciones idénticas de código. Las microinstrucciones
pueden conservarse usando subrutinas que usan seccionescomunes de mi-
crocódigo. Los microprogramas q.r" .,run subrutinas deben tener una pro-
visión para almacenar direcciones de retorno durante una llamada de iub-
rutina y restaurar la dirección durante una subrutina de retorno. Esto
puede lograrse colocando la dirección de retorno en un registro esppcial y
luego ramificarse al comienzo de la subrutina. Este registrá especiáüpuede
entonces convertirse en la fuente dej dirección para alistar el registro de
dirección para el regreso a la subrutina principal. La mejor maneia de or-
ganízar un archivo de registro que almacene direcciones para llamadas de
subrutinas y que regrese,es usar una pila (LIFO) último en entrar primero
en salir. La organízación de la pila y su uso en las llamadas de subrutina y
regresose explica en mayor detalle en la Sección 12-5.

El diagrama de bloque de un secuenciador de microprograma se mues-
tra en la Figura 10-19. Este consiste de un multiplexor que selecciona una
dirección de cuatro fuentes y la dirige al registro de dirección de control.
La salida del cAR suministra la dirección para la memoria de control. El
contenido del cA¡R se incrementa y aplica al multiplexor y al archivo de
registro de la pila. El registro seleccionado de la pila se determina por me-

Di¡ección Di¡ección de

externa (EXA) bifurcación (BRA)

"0 I I 3
MUX

J0

Registrode
d i r e c c i ó nd e
control (CA,R)

Registro
indicadorde
la pila (SP)

Incremento f'l

o
o

Dirección de salida

Tabla de función

12ItIoT J¡ Jg Operación Comentarios

X O OX 0 CAR <_EXA Trasferir la dirección externa
XOI X
I CIR <- SR T¡asferir de la pila de registro
X I OX
0ll0 0 CAR <--CAR + I Inc¡ementar dirección
0lll
0 CAR <_CAR + I lncrementar dirección
rlr0
I CAR <_BRA Trasferir dirección de bifurcación
llll
0 CAR <_CAR + I Incrementar dirección

I CAR <- ARI, SR <_CAR + I Bifurcar a Ia subrutina

Figura 1O-19 Organizaciónde un secuenciadodr e microprogramatípico

dio del registro indicador de la pila (stack pointer). Las entradas 10,.fr
e 12 especifican la operación para el secuenciador y la entrada ? es el pun-
to de prueba para el bit de condición. Ei registro de dirección puede llevar-
se a cero para iniciar el sistema y los pulsos de reloj sincronizan la carga a
los registros.

La tabla de función listada en el diagrama especifica la operación del
secuenciador. Las entradas Iy e I¡ determinan las variables de selección
para el multiplexor. Una dirección externa (EXA) se trasfiere al CAR cuan-
do .1110:00. La trasferencia del registro de Ia pila (S.R) ocurre cuando

466

sEc.10-8 S E C U E N C I A D OORE L M I C R O P R O G R A M A 467

ItIo:Ol y el CAR se incrementacuando ItIo:1O. Las entradas T e I,
no-tienen efeCtodurante estas tres operaCioneys Se marcan con entradas
X de no importa. Cuando hlo:11, el secuenciadorejecutauna operación
de ramificación condicional dependientedel valor del bit de prueba en ?.
Si 12 es también igual a 1, la operaciónes una llamada condicional a la
subrutina. En cadicaso, el cA,R se incrementasi el bit de prueba ? es 0.
La direcciónde ramificación (BnA) se trasfiereal cAR si ?:1. Así, con
ItIo :11, el secuenciadosr e ramifica al BRA si el bit de condiciónen ? es
igull a I o incrementael CAft si el bit de condiciónescero.La direcciónde
rámificación normalmenteviene del campode la direcciónde la microins-

trucción.
La llamada de subrutina condicional (Ir:1) es similar a la ramifica-

cióncondicional(.fz:0),exceptoquelaprimerauselapilaylaúltimano.
La dirección almacenadaen la pila durante una llamada de subrutina se
toma del dispositivode incremento.Este es la siguientedirección en se-
cuencia y es llamada la di.recciónde regreso.La dirección de regresose
trasfiere de nuevo al CAR con una operación de regresoa la subrutina
( / 1 / o: 9 1 ¡ '

La operacióndel registrode la pila y el indicadorde pila (stackpointer)
seráentendidade mejor maneradespuésde leer la Sección12-5.Un registro
pila (o memoria)es similar a la unidad de memoriaexceptoque la direcciól
para la pila se determinaa partir del valor en el registrodel indicadorde
pit" (.t""t pointer register).El accesoa la pila está en la secuenciade úl-
limo en entiar primero en salir y se controla incrementandoo decrementan-
do el indicadorde la pila. Inicialmenteel indicadordepila seborray sedice
qveapunta a la dirección0 en la pila. La escrituro o la trasferenciade in-
formación a la pila se llama insercíón (push). Esto consistede escribir la
información de óntrada en la pila en la dirección especificadapor el indi-
cador de pila para luegoincrementarel registrodel indicadorde pila. De
esta manerase trasfiereinformacióna la pila y el indicadorde pila indica
el siguientelugar libre en la pila. La lecturao la trasferenciade información
haciá afuera de Ia pila se llama socar (pop). Esta consistede decrementar
primero el registrodel indicador de pila y luegoleer el contenidodel regis-
lro (o palabra)especificadopor el nuevovalor del indicadorde pila.

Una llamada de subrutinase ejecutacuandoI2I1I¡:111 y ?:1. Es-
ta causauna operaciónde socar de la pila (push-stack)y una ramificación
a la dirección especificadapor el BRA. Esto se configuraalmacenandopri-
mero el valor incrementadodel CAR a la pila. Cuandoel pulso de reloj CP
pasaa través de una transición de flanco positivo, la direcciónBRA setras-
?iereal CAR y se inhibe la entrada de lectura a la pila. El registrodel indi-
cador de la pila se incrementaposteriormentecuando CP pasepor su tran-
sición de flanco negativo.Esto se ilustra en la Figrrra10-20(a).

El regresode la subrutina se ejecutacuando ItIo:01. Este causauna
operaciónde sacarde la pila y una ramificacióna la direcciónalmacenada
en la cima de la pila. Esto se configuradecrementandoprimero el registro
indicador de la pila en la transición del flanco negativodel CP. EI valor en
la pila, dado por la dirección contenidaal presenteen el indicador de pila.
se lee y trasfiereal CAR en la transición del flancopositivodel CP. Esto se
ilustra en la Figura 10-20(b)N. óteseque el cAB se disparadurante el flan-

' l lEscribi¡CAR+
en la pila

CAR+BRA 5P€SP+\

(a) Sub¡utina de llamado (insertara la pila) /r1,1o?: ffll

t YLlraea"eppr"i ldr1aae: " t

I I
C A R- , ! R
SP+JP- |

l'igura ( b ) R e g r e s od e l a s u b r u t i n a ( s a c a r d e l a p i l a ) I , 1 o : 0 1
1o-20 operaciones de la pila en el secuenciado¡ de microprograma

co positivo y sP durante ei flanco negativode un pulso de reloj. El in dica-
do¡ de la pila (sP) se incrementadeipuésde la tiasferen ciaál cafi y ,.
decrementaantesde trasferirseal CAR^.

O r g a n i z a c i ó nd e l C p U m i c r o p r o g r a m a d o

pcldcseuuiiaaeeesnnerrsrlamlaaacccaui,cdloPcshanoormeUosionrdcirp.apsfacaieutrcidEruosótaualngndduiddrresoncaoueeemomrncpdndmeuariicdgosdmneoeipcountnofaeostcitranlssriisaaodioicedtydloyiocovdornrcoueceradsi-_nnporeúio-sunllmtdtatiere*liaissidicpf"prpureeraiaogoonsrurpupsaclanirar.itoiooaaircvsnggo1ouoea.rs0nnuadclt-esirmmce1datsi9raaóearpiu".dnnailieedartrpis.aealruuauoedcctnclaoitslieci-nledes;sptcalaraueocdld.miildóo.dueanrSedann.cdEeliateeflovsenlcaeu¡ctopercnpaanrnuiuodldvteeca(eencesdpnscp.s,aiupirueaarn"r)nrdddoa,otooó-e-rr
bcce' ,o;'n'e4amslu.raiLpaeaiudFsnfstoiuadgerndaiudacosuragiarnosre1neans0enmel-scaca2di lud1Filgoee.icignq.tobaucunllireoeasaqfsidgusuo-reEe1red.ds6ddei..esetuameuncñinocacarnd"ofouoipgemnrunoipdrgluaaartcdaasimódden.oacmpr;c,u;uii;n¿ce; ;ar"düos.mp:"gr"eo.ymg"árcoáaolry-mispaoauadadnreaioisaddecgaaomrdnaecutmosrepánasrfdteoryela_
secdduinaoomtsnuopiLensnoasami srrutaeuernncalniiiriubdpdusiauadnudldaaab,dslruopedi osseemardd_oleiaaftmaetroaml¡ogsevré'yéninmastaeeadoslpelrmpaivuarraeona.cccLleedeaonsisssdaeapildsáraooeoscsscrdoiictpenniivrsóvdootneircdrudneeeceicsececalnianiodtot.nomr.*raer""eedsp,my,spáuru.ro.du"Eera.ridltatr*oeip.pusnrunosc;r;aucoa;le;mma;is;nsib;ans;didintisrroauterrdrccase---e

468

T

Procesador de direcciones Dirección
Contador de programa
Unidad
Registro de dirección de memoria
de memoria

Registrode instrucción

I Secuenciador
del
cBontdtrlc4ro:In
microprograma
L (Figura 10-19)

Memoria decontrol
(ROM)

I -Selector desecuencta
SL
BRA -Selector MUX
MC
PS -Dirección debifurcación
DF -Control dememoria
-selector del Procesador
-CamPo dedatos

Figura lO-21 Organizacióndel computadormicroprogramado

469

4 7 O D I S E Ñ OO E L O G I C AD E C O N T R O L cAP.10

ción extraída de la memoria durante un ciclo de entregao envío (fetch)
pasaal registrode instrucción. Los bits del códigoinstruc-ciónen el registrá
de instrucción especificanuna macrooperaciónpara la memoriade control"
A menudo se necesitauna trasformacióttde códigopara convertir los bits
del códigode operaciónde una instrucción a la dirección de comienzopara
la memoriade control. Este códigode trasformaciónco
de planimetríay puedeser config'rada con una RoM o nst ituyeuna función
un pLA. El concep-
to de planimetríapre s e n t af l e x i b i l idad
instruccionespara la memoria de cont para agregarinst rucciorr ",o -r"-- d.
rbl cu"ndJ se pre s e n t el a necesida
La direccióngene radapor la f
digose aplica a la entradade unción planimétrico de trasformacióndel có- .
la direcciónexterna (EXA) del secuenciador
La unidad
la Figura 10-1 de control del microprogramaconsistedel s e c u e n c i a d o rd e
9 ,u na memoria de contról para almacenar microinstruccio-

srrpdnieilaaeeegsmxid(,sopueptr¡rnr.ucoe.oescm1nbeautalnperl)ataoci?lprlciazvlieqaadpxndneruoaeolndrsrosniyereodenucectenuatlsaeorrsmunseincemgeiaminaustdoptceroprhaoe¡eoc.unlrsaanaebsnacciatieesóldsninzdeatdraeraelida"odyooisuna.rr(.efápqoániiuruóptmeriecaóalloda.icn,nasyieótssrlnrooadelileángiddlpciesamloitsvcneudaadrlet)raii.icpElaaillsoalemnumxeanoenulirm.tdlrEteaaio-ls---
desen el cPU. El registrocanalizador,sin embargo,incrementala velocidad
ydcdoaeqnsluatperooocrlpalceamorparbrrciieeei óslnanetdenseeat egnlmi odei-aclnrdrtoreeiggnllais.Estsmtrrutoeeccmpcaeioónrrnami a.l iidtzeeaqdcuooernisnt reiocg[ióamnileea.nsetlmraaissció{guouepi eel anr atpei iadoli nar eebcsr cadidaóe_n

- un posibleformato de microinstrucciónpara la memoriade control se
ilustra dentro del registro canalizador.El cámpo I consistede tres bits y
suministra la información de entrada al secuenciadorE. l campo S.L selec-
ciona el bit de condiciónpara el multiplexor. El campoB¡tA es el campode
dirección d e la microinstrucciónque
ción (BfiA) al secuenciadorE. stos tre suministra uná direcciónde bifurca-
s camposd e la m i c r o i n s t r u c c i ó np r e -
sentan información al secuenciadorpara dele¡minar la siguientedirecóión
para la memoria de control. El
y la memoria de control lee la secuenc iadorgenerala siiu iente direc ción
siguiente micróinstrucción" mient r a sq u e se

Ylyan ejecutando las microoperacionespresentesen las otras unidadés del
CPU.

Los otros tres camposen la microinstrucciónson para controlar las mi-
mc reo mo poerriaacdieo nceosnetnr ol la( M- uCn i)d acdodnet rlopl ar oacl epsraodcoersyáddeo rdmeedmi roerci ac.i
El campo de la -
on esy lás opera
d9(PaloStol)9ssd. -eEdll9plúerolctcitmuersoaaydcoaermsccoprnoittureosrlaaeellnacslaaomuppneoirdadácedioddneaetmsoesenm(lDaoFrui)an.iuEdsaladcdadomepipaporraáoecinsetesroaleddáuoccrdiióren
constantesal microprocesadorE. l procedimientopara introducir datosal sis-
tema a partir de la memoriade control es una téónicafrecuentementeusada
en muchos sistemasde microoperación.Las salidas del campo de datos pue-
den usarsepara preparar regisfros de control e introducir datos en los régis_
tros-del procesador.Por ejemplo, se puedeagregaruna constante del
uednsepdveaactlí-ofoircsoaco.lo_ntrrseotgaiunsstteroo.dpEerlol ccceoasnmatapddooodrpreaddreaasltnoecscrueeesmnpeconinatseaerruusnsuaccoponantrataedncooi¡dndoteaprsoeer cluunne"ú"nvmrcaipeila'oroaor

\!

REFERENCIAS 471

de vecesque sepasapor un bucle de microprogfmq (loop), comose requiere
ud¿-i;!d.lui;"-aseuoi;r-f;mu"i*et.ln¡i"aa.rÚueireusltnm""n"*u.pmt"ttee.eaueuinvró¡ldcndaaeiInee.heszIrl.aaa.qtce"istmnuon,esr.siene,psroutt"lmetr"raraufotcreionbrcgcilfoliicü"oi-iisci"rtdicinoiáta"áiiafns"dcdsi"igeóiaeoe.doousnp.cendr".raaeoeteaNmd.r*nsscoadootueilreeórdllaolotslneRliudec.pcpncOeooSluotimmcl-Mecemotaepoppds.pc.umuuem"Eiute.óutpatlsaadtnasudt"dtedaotteootoacorirrmardp,iidycaymopaiaplavlroreumbliaidsssqecibaidciiaubgfóiroeeoeloqneenrlssueel'scseeimnl.PttePnTatcUiescrriarilccrmlmooamorusipebnpbinrrcimreoooaueergaosnslscrtpemeeueacrnhramfiooioctalagenaqrrRclmoerjeueuaOnpsiunmserMlltsooraaoaia---
Jtbided."má-ru.oa"elaeuaáa"rn.cbgindoieat"eoLuoro,"nsreoaUt,,ro.'"hsql""urdacdcet"..u.ae.oo-ec"ieoFrognuhpunddnilinsogodas""eetaubsjeorarluauarau.r..naoncjicc"orEtfu"ca.ofuat.,niepiOmijrdó.ori*e.i--edánbo"ñdtZ*ddco*pilliuarál-eeua.,calr"ptaopoulrifratn*drinnoeeepidaptcsegsarcesoeuñulreplPraasccnscnaUoabdoctoatretdaooimanroaou"saljtunpa.uirnppneucn,idaold'asotetiaiboransndtaddedpmiudeeporvronetieflrdccCanil.ceziroemdinSPaboxmdcseicUlippceebtoiprradróslmousuueorenccecántppboaeqcplrodenldCiosuaaonettoagerPmeinfeterdriinpUe.ancnanoUeesumiterrhmrnerf_lnmiaaesjeeLeiaur-CcclinlsS.dTtsnrhecPioIrcLfodoUepCuolcbenCar,eosPalrejmPunomfmjUnmoontUcitacoriteiepccmcro,ssy'oreorseouoadopdimmnpldeprialdoproriucieosoogln.Eeeitmrccórsso'tsneaen-eo-,----
sadoresse discutenen el Capítulo 12'

REFERENCIAS

1 . Mano, M. M., Computer SystemArchitecture.EnglewoodCliffs, N. J.: Prentice-
Hall, Inc., 1976.

2 . Rhyne,Y . "I ., Fundamentalsof Digital SysúemsDesign.EnglewoodCliffs, N' J.:
Prentice-Hall,Inc., 1973.

J . chu, Y., computer organizationand MicroprogramrningE. nglewoodcliffs, N. J.:
Prentice-Hall,Inc., 1972.

4 . Mick, J. R. y J. Brick, MicroprogrammingHandbooh.Sunnyvale,calif.: Advance
Micro Devices,Inc., 1977.

5 . Bípolar Mícrocornputer conr,ponentsData Booft. Dallas, Texas: Texas Instru-
ments, Tnc., L977.

6 . Agrawala,A. K.y T. G. Rauscher,Foundationsof MícroprogramrningN. uevaYork:
AcademicPress.1976.

7 . SigneticsField PrograrnmableLogic Array: An Application Manual. Sunnyvale,
Calif.: SigneticsCorp., 1977.

8. Clare, C. R., DeslgningLogíc SystemslJsíng StateMachines.Nueva York: Mc'
Graw-Hill BookCo.,1973.

9. Alexandridis,N. A., "Bit-sliced MicroprocessoAr rchitecture",Comp¿fer,Vol. 11.
N o . 6 , ( j u n i o 1 9 7 8 )p, á g s . 5 6 - 8 0 .

PROBLEMAS I

10-1. (a) Muestreque el control del contadorde anillo de la Figura T-22(a)es un
casoespecialde un flip-flop por cada control de estadodibujado en la Figura

1 0 - 2 .I n d i q ue cómo e l r''ltimopueder edu cir s ea l p r imero. (bj Muestre qu"eel
c o n t a d o ry el control del decodificad odr e la Figu ü 7-22(b).. , rn."ro especial

de un registrode secuenciay control de decoáificador'cámose dibuja en la
Figura 10-3.Indique cómo el úrtimo puede reducirseal piirn..o.

10-2. ¿Cuál e s Ia rdoifperroegnrcaimaean?¿trceuuánlecsosnotnrolal dsevceonntaejxaisoynedsedsevmenattaejraiasdleescyaedlacmoén_-
tro-ldel mic

todo?

10-3. El sistemasumador-sustractodr iseñadoen la secc ión 10-3usa un ALU. Re_
dibuje el diagramade bloquede la Figura r0-g sin usar un ALU. En vez de
ello use el circuito sumadorsustractorde la Figura 9-10y un registrocon las
característicasde complementar,incrementary car gar.Reviselas salidasde
controlde la Figura 10-9(b).

10-4' Repaseel flujograma de la Figura 1 0-?para buscarsi pod ría resultar un cero
negativoal final del cómpu to.un ce ronegat ivoocurre.i ¿: o y A" : 1.

10-5. Diseñe un sistema digital q_uesume y reste dos númerosbinarios de punto fijo
representadoesn la forma de signo-c omplementdoe 2. Incluya una indicación
de sobrecapacidad.

10-6' Reviseel diagramade estadode control de la Figura 10-9para constatarsi el
valor de cou,se compruebaen el tiempo T, en riz a..o-f-bur el valorde E
en el tiempo ?u.

10-7' scmsvEiuialógemrnunniaaitúdeadbmendoletecoresordsdounuestdrssrtaeorepnaleuctupseétsaotesdaarrladepecollusoaesetnpsaodjatpdueareonsadmretoaaeriicnmlscimicoóeconnionanfdtietlgee.rnuocrcqrloaóaundmmdeeótqpElcl¿l,aeonsmnyFe, esibgaéenou,ritrsor.ra.ep.agDsa'1iset.r0atiamEr-do9,udospes-aeuJesieettpnerd"eccre.qolmaurun"eyietndresaouu.e"lrnce.rilcrsstoies"emstsjértiparm.lld,eaa-o_

10-8' Derive las funcionesde_entradapara los flip-flops 8,, A" y E de la Figura
10-8(a).Use flip-flops Jl(.

10-9. ppDuoiser eertñlameseéyltoccdouonatdtrreooulfe¡lispfp-lif_ploe-fpclosifpiDcp.aodproersetal ddoia.lgiurrar¡meaedledeiasgtaradmodaelólagiFcoigisuarnad1o0 -1 b(a )
.o o,-

10-10.uosbatenndgoa0-0]npaa se,eun_dlaista para el microprogramabinario de la Tabla 10-3,
ra los bits de RoM 18 y 14 ."du".r., que se incrementaincondi_
cionalmenteel CAR.

10-11.Diseñe el circuito de entrada de la Figura 10-10remplazandolas compuertas
AND asociadascon eo y e" con un multiplexor dual de i i .on entradade
habilitación.
"

ro-L2.aynbgerLelaiilamBstsspte"turaarlodnocyraseiceddArlensoarasaiasdygavasnnaddtlBúroreoae.mirrarcdecCreboaeosr,lneomsiddtqstrsoarebou.etnileolncoE-d^sa¿esvneran+asilmoscraieg:soaincnpcmerooilcnoaabss.pdiru.iopersoc,o,opeidpqógisrne"uenricctased-lliamiueóest"ynnala.Fetubdlduiengeie.tdlulctóeaaqrbo.au.,itnFdta.Att.iódgups,-eu.oyis"g.rss*.(ag"áiaii;.c,g-1)r.ln,"en0loáno*lo-r-',1"f¿ih;ál0lil;.qjac;á;-lm"o"yfilli-n"leo.nrrjnptuea*pt"dnc"oraqeetraru"ssarmeidaiddgseeaeaunnldlqm2moodtu.e'saea.sLeccrrAuoo.eey"O-sn_'-
472

s

PROBLEMAS 473

ponga que las variables y y z usan las dos señales de control que ponen a uno
ó u el flip-flop de sobrecapacidad V. Si ocurre una sobrecapacidad, V es
pues".traóa uno con ia variable del control y. Si no ocurre una sobrecapa.cidad,

se borra V con la variable de control z.

(a) Escriba el microprograma en la forma simbólica.
(b) Liste la tabla de verdad de la ROM en binario.

10-13.Dé una microiñstrucción en forma binaria para la memoria de control de Ia Fi-
gura 10-11que mantenga el sistema en un bucle de no operación siempre que
ia dirección externa sea igual a la dirección donde se localiza la microinstruc-
ción en la memoria. Los valores que van al registro de condición no son impor-

tantes.

10-14.Escriba un microprograma en la forrna simbólica para el sistema de la Figura
el signo del número almacenado en el registro R1. El nú-
10-11que
''-'eroeitá "eonrtlráp.prrróebseuntación de signo-complemento de 2. Si el número es posi-

tivo, se divide por 2. Si es negativo se multiplica por 2. Si ocurre una sobreca-

pacidad, R1 se lleva a 0.

10-15.Escriba un microprograma que compare dos números binarios sin siglo alma-
cenadosen R1 y nz."nt registro que contiene el número menor se borra enton-
ces. Si los dos números.on igoui"., se borran ambos registros. Use el sistema
de microprograma de la Figura 10-11'

1--0--1-6.El procesador de Ia Figura 9-16 se usa para multiplicar dos números bina-
rios'sin signo. El multipiicando está en 81, el multiplicador en R3 y el producto
seforma .., Rz y R3. Eiíegistro R4 almacena un número binario igual al número
de bits en el multiplicadoi. Describa el algoritmo en la forma de flujograma.

10-17.Liste el contenido de los registros E, A, Q y P (Figura 10-16)despuésd- . 9199
pulso de reloj durante el pro-cesode multiplicación de las dos magnitudes 10111

(multiplicando) y 10011(multiplicador)'

10-18.El diagrama de estado de control de la Figura ro-15(a) no-usa Ia variable Qr
.o-o ünu condición de transición de estado. En vez de ello, Qr se usa como
parte de la función de control en la lista de registrosde trasferencia. Diseñe el
condición en el diagrama de
control de manera Que Qr aparezca como una de control. Muestre que pala
estado y que se elimine de la lista de funciones

este caso.l di"g."tn" de estado debe tener al menos cinco estados.

10-19.Determine el tiempo que se toma procesar la operación de muitiplicac^ión en e.l
sistema digital desc.iio en Ia Figura 10-15. Asuma que el registro Q tiene k

bits y que él intervalo entre dos pulsos de reloj es ú segundos'

10-20.Diseñe la lógica de control de la Figura i0-16 usando dos flip-flops ? y un de-

codificador.

10-21.Cambie el registro P de la Figura 10-16a un contado¡ creciente con carga en
paralelo. La éntrada ?, no incrementa el registro P. ¿,Cuál es el valor inicial

que debe cargarse a P en el tiemPo ?1 ?

10-22.pruebe que la multiplicación de dos números de n dígitos en cualquier base r
da un poroducto de no más de 2n dígitos de longitud. Muest¡e que esta decla-
ración implica que no puede ocurrir sobrecapacidaden el multiplicador dise-

ñado en la Sección 10-6.

10-23.Diseñe el control especificado en la Figura 10-9 por el método de registro de
secuencia y decodificador. Use los tres flip-flops JK, G3, Gz I Gt'

10-24.Diseñe el control especificado en la Figura 10-9usando un registro de secuen-
cia y un PLA. Liste la tabla de programa del PLA'

Multiplicador

l"-l Qn

Producto Lógica
de control
l-;l

P+P+B
A+A-l

Figura PIO-25 Multiplicaciónpor sumassucesivas I

10-25.La configuracióndel registroy el flujogramadei sistemadigital quemultiplica
dos númerosbinarios sin signo por el método de la adición repetida se mues-
tra en la FiguraP10-25.

(a) Convénzaseusted mismo que el sistemamultiplica el contenidode A y B
y colocael producto en el registro P.

(b) SeaA:0100 y B:0011. Pasandopor los pasosdel flujograma,demuestre
que el sistemaregresaa su estadoincial, con el registroP conteniendoel
producto 1100.

(c) Dibuje un diagrama de estadopara el control y liste las trasferenciasde
registro que van a ejecutarseen cada estado de control.

(d) Dibuje el diagrama de bloque de Ia parte del procesadorde datos.
(e) Diseñe el control por el método de un flip-flop por estado.

10-26.Las siguientes operaciones de trasferencia entre registros especifican un
control del tipo de cuatro estadosde registro de secuenciay decodificador.
G es un registro de secuenciade 2 bits y 7,,, Tt, Tt I ?3 son las salidas
del decodificador.

xT6: G<-G+l
G <- l0
!To: G<-ll
zT¡: GeG+l
T 1* T 2 * 7 3 :

(a) Dibuje el diagramade estadodel control.
(b) Diseñe el registro de secuenciacon flip-flops Jl(.

474

-l!

x=0

Figura PIO-27 Diagramade estadode controlparael Problema10-27

10-2?u. na unidad de control tiene dos entradasx y y y ocho estados.El diagrama
de estadode control se muestra en la Figura Pl0-27.
(a) Diseñeel control usando8 flip-flopsD.
(b) Diseñeel control usandoun registro,un decodificadoyr un PLA'

10-28.El diagrama de estado de una unidad de control sC muestra en la Figura
P10-28.Tiene cuatro estadosy dos entradas f y y. Diseñe el control por el
método de registro de secuenciay decodificadorcon los dos flip-flops JK, G2
Y Gr.
(a) Use las salidas del decodificadorcomo condicionesde estadospresentes.
(b) Use las salidas de los flip-flops como condicionesde estadospresentes.
compare los dos resultados y comente las ventajas y desventajasen ca-
da caso.

10-29.El registro canalizador de la Figura 10-21tiene una salida adicional demar-
cada P pa.racontrolar la polaridad de la entrada 7 en el secuenciador.Cuando
P:0 el valor del bit de condiciónseleccionadopor SL se aplica a la entrada
T. CuandoP:1, el complementodel bit de condiciónseleccionadose aplica
aT.

x=l.v--l

Figura PfO-28 Diagrama de estadode control para
el Problema 10-28

475

4 7 6 D I S E Ñ OD E L O G I C AD E C O N T R O L

( a I ¿Qué se logra por medio del control de polaridad p r
(b) Diseñe
por S.L el circuito que debe ser c<¡locadoentre el multiplexor seleccionado
y la entrada de prueba 2,.

1 0 - 3 0 .tcmtIEeProloemmLlJcRapood:Iarmaer earpsdnnueidtsrlaoaei dcssol caearislóuimdnsdaiace(rmdscooeAoplRralraaom)sgmerdanedemtmeenapoutdrrrnoiooaprdaddeegeegalilcsacosti róneFontci.rguoecuernor.nacmLcoapi1.a,a0tvdrr-eeao2ldr1óyt;tuc.i;iee;du;nlaJ".er"deogudcin"isaetourrepaosgeeairsca.utacrsoionaópand"reüepil.zuicaoseondidsnoe--r

( a ) Un CAr?sin un PlR.
(b) Un PLR sinun CAr?.

:

*¡ffiDiseñode comPutadores

11-1 INTRODUCCION

Este capítulo presenta un computador digital pequeño para propósitos ge-
nerales a partir de sus especificaciones funcionales para culminar con su
diseño. Aunque el computádor es pequeño, está muy lejos de ser útil. Su fi-
nalidad u. -.ry limitaáa cuando se compara con sistemas comerciales elec-
trónicos de prócesamiento de datos, aunque incluye especificacionesfuncio-
nales suficiéntes para demostrar el proceso de diseño. Es adecuado para
construir en el laboratorio con CI y el producto terminado puede ser un
sistema útil capaz de procesar datos digitales''

Ei computador consiste de una unidad procesadoracentral, una unidad
de memoria y una unidad teleimpresora de entrada-salida. El diseño lógico
de la unidad procesadora centrai será derivado aquí. Las otras dos unida-
des se asumen como elementos disponibles con características externas

conocidas.
Bl diseño de los materiales de un computador digital'puede derivarse
en tres fases interrelacionadas: diseño del sistema, diseño lógico y diseño
del circuito. El diseño del sistema versa sobre las especificacionesy propie-
áud". g"nurales del sistema. Esta tarea incluye el establecimiento de un
objetivó de diseño y filosofia de diseño, Ia formulación de las instrucciones
áái y Ia investigación de su factibilidad económica. Las espe-
cific"aocáiüpe"tsadodre, iá estructura del computador son traducidas por el diseña-
áor t¿gi.o para lograr la configuración de los materiales del sistema' El di-
de lo s diferentes circuitos
seño á el óircuito- e specifica l o. q u"iop-op oetlteecnttreosm e c á n i c o y suministro de po-
iJgi." ., .itcuitos de memoria , e

teicia.'El diseño de la parte de los mat eriales del computador es eno rme-
mente influenciado po. el sistema de programación (software) el cual
,rormalmente se des airolla al tiempo y gral
constituye una parte inte del

sistema de comPutador total.
El diseño áel computador digital es una tarea complicada. No se debe

..puo. el cubrimiento de todos lós aspectos del diseño en un solo capítulo'

*Las instrucciones para el computador son un subconjunto de las instrucciones en cl
computador PDP-8.

477

4 7 8 D I S E Ñ OD E C O M P U T A D O R E S cAP. 11

Aquí interesael sistemay el diseño rógicode un computadordigital peque-
ño cuyas especificacionesse formulan á" u.r" *u"ao'urultraria"para'poder
estableceruna configuraciónmínima para un
que-práctica.El procedimientoenunciadoen a máquina m uy peque ña ,a un-
e steápit"lo p"éd"'.", rii it en
el diseñológicode sistemasmás complicados.
El procesodel diseñose divide en seisfases:

1' f!i,c d e s c o m p o s i c i ó n . d ecl omputadordigital en registrosque especi-
an la configuraciór,g". ,"rál del sisteáa

2' La especificaciónde las instruccionesdel computador.

3. La formulaciónde los circuitosde tiempoy de control.

4. La l ista de op eracion esde trasferencia entre registro s necesari a
para ejecutarto das las instruccionesde computadir.

5. El diseñode la seccióndel computado¡.

6. El diseñode la seccióndel control.

dtsrCdE-eueeelagmmlpcippsaorírttarornruoioctzlcrroseaoeeys1nlsmo0amlspda.deulesoaldertzdsiiaspisesprleeedelñoñxecasooiffirpbsinecaleeosar.lqacpleSuioocveernaasa*edeósasaynaucuoimeóanplebo"ddq"o"ledua"plüeigoodrernlaiolaemmslg"*eaerteradccenmitoosofn;¡dotñmicereb-iénrdulctae;ousd"iinotlooii-ssosptrea"Mm"nsqtuSa"ut.ncaIe.icbóciuLLanolaadansodussssaiefesiesccctnecicqeiiduóenóeenl-n

1 1 . 2 C O N F I G U R A C I O ND E L S I S T E M A

petfcrrLaaeeaosancplcmroteérrcejeiinl-oebmasmtnneeeeezfadnsinasgeeitttsacuesnr.outurtrrandncooucyturuirdneóalreaagnanldidtlcsbeeóeotllrgloneocisqfcl,oiigueasmpuretdrcepro,eeamcuccpcoteaoiatnósofndjionunpfodtrnaoeroestlrnl.ae.tdlmEaEamitsnseiuuevtnenuaañtsinoedcdta.caoreaoEdsneunliftdinn"glneualu,oaiamrrdmctaF"eeicbriorsrgirinióioepu"gnrrrnasiaavae"a",1'ciis"if1ei."uóul-¿mp1n,guso.oceeindmarlrreieddqfbeigaicuó.s^iaesrbeditsccrñoraoooaa;átqnediseussnoei__er

pegultitptanrrorsanooiodscbicvr,fpioauioeprlcaEgoley¡lulomgelmceolgpscatn,egiaeaoilcsdaeprnmsmipaaónoesoceodenrrteerunecarttnaaloiottnleeuoedldenlsmndododorlasderapaouedsacosnmlueci.pc¡msulnEancaiiarlsauúnlrapelttymiedlueleotooloroelsmpejsras.vrremoca,q.oaLera.curaaalrópaeeeercaaoddfsludrlcsatosaaerairnidomclsepddaguetiiuaoiedeelsfirlymepnsnsduoreceoaoneeirgrad.savnamSuiueudctfneeanb'eitudaadrueetoerislrpo,onr.eun.Ere.tronmdeñgsrpbéd*epate"luaetueer"ia*";mnrpfprri¡áauódúrea"rldo¡fcss"air"is.udoe"c"apdee*scod"niendduruloiroceeep¿trrsriuen-"parafs¡edcunlfseoulielemoatspnadycjpoicy.eescudsissóoi1lr.oeóAsinemtsmnodagúeádisreeissnsesees-_e_,-

cad La un idad de mem_oritaiene una capacidadde 4.096palabrasde 16bits
auna. Esta capacidades suficientementelarga p"ru L., procesosignifi_

T

Registrode Unidad dememoria
4.096palabras
d i r e c c i ó nd e 16bits,/palabra
m e m o r i a( M A R )
Registro separador
de memoria (B)

E Registroacumulado¡
E (A)

Generadorde I Registrode | | Registrode I
pulsosde reloj
l' e- -n t r a d a ( N ) l l . " l j 9 4 j
maestros

Figura l1-l Diagrama de bloque del computadordigital

Tabla 1l-l Lista de registrospara el computador

Designación Número
simbólica de
bits
Nombre' Función

A Registroacumulador 16 Registroprocesador
B Registro seParadorde memoria 16 Retieneel contenidode la Palabra

PC de memoria

MAR ContadordePrograma 12 Retienela direccióndela siguiente
instrucción
I
E Registrode direcciónde memoria 12 Retiene la dirección de la
F palabra de memoria
S
G Registrode tnstrucción 4 Retieneel códigodeoperacióncorriente
N Flip-floP deextensión
Flip-flop debúsqueda 1 Extensión del acumulador
U Flip-floP decomienzo-Parada 1 Controla búsqueday ejecutaciclos
Registrode secuencia 1 Detieney comienzael comPutador
2 Entregaseñalesde tiemPo

Registrode entrada 9 Retieneinformacióndel dispositivo
deentrada

R e g i s t r od e s a l i d a I Retieneinformación del dispositivo
desalida

479

4 f f i D I S E Ñ OD E C O M P U T A D O R E S CAP. 11 aI

cativo. Se puede usar un tamaño menor si se desea construir un computa- i
l

dor en el laboratorio bajo restricciones económicas. Son necesarios doce
bits de una instrucción para especificar la dirección de un operando, el cual
deja cuatro bits para la parte de la instrucción. El tiempo de accesode la
memona se asume que 9s menor que
bra puede leerse o escribirse durante 1 milisegundo de manera que la pala_
el intervaio entre dos pulsos de reloj.
La parte del computador digital que se va a diseña. ," d"..o-pon"
subunidades de registro. Los siguientes parágrafos explican por qué ca"dia
registro es necesarioy qué función
'e descripción de s ',s func-ionesse realiza. Una lista de registros y una bre-
presenta en la Tabla 1l-1. Lo; registros
que alrnacenan
que alrnacenan palabras de memoria son de 16 b its de dl o.n g" oi ttur od.. Aq"uellos
una dirección son de 12 bits de lon gitu ."gl.r.o,
tie'nen un número diferente de bits, dependiendo de sü función.

Registro de dirección de memoria
y regtstro separador de memoria

El registro de dirección de nremoria, MAR, se usa para direccionar luga-
res de_memoriaespecíficos.Er MAR se carga del contador del programa (p-c)
cuando una instrucción se va a leer de
significativos del registro B, cuando un lá memoria y de los 12 bits -".roá
¡ia.. El registro separador de memoria B operando r. rru a leer de la memo-
aimacena la palabra leída o escrita
e.r ia m,emoria.La parte de operación de una palabra de instrucción coloca-
da en ,8, se trasfiere al registro
registro B para ser trasf'erida al I y la parte de Ia dirección se deja en el
MAR. una palabra de operando óolocada

en e1 registro B se hace accesible para op".u"ión con el ."gi.t.o A. La pala-
bra que va a ser almacenada en Iá memoria debe r".
antes de iniciar una operaeiónde escritura. "urgldu al ,egiri;b

Contador de programa

EI. contador de programa PC almacena la dirección de la siguiente instruc_
cron para ser leída de la memoria.
conteo paso a paso y causa que el Este registro pasa por.riu r"..,".rcia de
computador lea instrucciones sucesivas
alr¡acenadas previamente en la memoria. cuando el p.ograma llama una
t¡asferencia a otro lugar con el fin de evitar la siguienie i"nstrucción en se_
r-:ut'ncia.se modifica el PC al mismo tiempo, causa-ndoque el programa con-
tinúe a partir de un lugar de memoria que está fuera de la secuencia de
co.rteo. Para leer una instrucción, pc se trasfiere al MAR
y. se inicia la operación de lectura. el contenido del programa se incrementa
Ei contador del

siempre en 1 mientras que la operación de escritura de"memoria lee la ins-
trucción presente. Por tanto, la dirección de la siguiente inst¡ucción, mayor
u na unid ad qu9 q u e está siendo
d isp onib le e n el !a . ejecutada un u:lpro""sador, está siempre
PC

Registro acumulador

EI registro acumulador A es un regisircrprocesadorque opera con datos pre-
viamente almacenados en la mem,lria. Este registro se usa para ejecutar

'El

S E C1. 1 - 2 C O N F I G U R A CDIEOLSNI S T E M4A8 7

la mayoríade instruccionesy para aceptardatos del dispositivode entrada
o trasierir datos al dispositivode salida. El registroA conjuntamentecon
el registroB componenel cuerpode la unidad procesadora.declomputador'
Aunque la mayoríade los sistemasprocesadoredse datos incluyen más re-
gistrós para la unidad procesadora,se ha escogidoincluir solamenteun
ácumuládor,para no complicar el diseño.Es posibleconfigurarsolamente
la operaciór,á. r,r*u con un simple acumuladorcon elementoaritmético.
Otrás operacionesaritméticas tales como sustracción,multiplicación y di-
visión pueden ser configuradascon una secuenciade instruccionesque
formanuna subrutina.

Registrode instrucción

El registro de instrucción 1 retiene los bits del código de operaciónde la
instrucción corriente. Este registro tiene solamentecuatro bits ya que el

códigode operaciónde las instruccioneses de cuatro bits de longitud' Los
bits tel cóáigode operaciónse trasfieren al registro/ a partir del registro
B, mientrasque la párte de direcciónde la instrucciónsedejaen B. La par-
te aet código de operaciónse debesacar del registroB ya que una lectura
registrodestruirá la instrucción r etenida
d e un operándode la memoria al ónde la instrucción es necesariap ara que
p reviamente.La parte de operaci
ól control determinequé se le va a haceral operandoque se ha leído.

R e g i s t r od e s e c u e n c i a

El registrode secuenciaG es un contadorque producelas señalesde tiempo
puta él computador.El registro G es decodificadopara suministrar cuatro
variablesde tiempo para la unidad de control. Las variablesde tiempo con-
juntamente con otrai variables de control, producenlas-funcionesde con-
irol que inician todas las microoperacionedsel computador'

Flip-flopsE,FVS

cada uno de estosflip-flops se consideranun registrode un bit. El flip-flop
E es una extensiónáet régistroA. Se usa durante las operacionesde des-
plazamiento,recibeel arraitre final durante la suma y ademáses un flip-
ilop qu. puede simplificar las operacionesde procesamientode datos del
compütadbr.El flip--flopF distingue entre los ciclos de búsqueda(fetch) v
de eJecuciónC. uando F es 0, la palabra leída de la memoriase trata como
una instrucción. Cuando F es 1, la palabra se trata como un operando.S
es un flip-flop de parada e inicio que puedeborrarsepor medio del control
del programa-ymanejarsemanualmente.CuandoS es 1, el computadortra-
baja de acu"táo u una secuenciadeterminadapor el programaalmacenado

lu tn"-oria. cuando s es0, el computadordetienesu operación.
"n

R e g i s t r o sd e e n t r a d a Y s a l i d a
El dispcsitivo de entrada-salida(I,zO) no se muestra en el diagrama de
bloque de Ia Figura 11-1.Se asumecomo una unidad de teleimpre3oracon

4 8 2 D I S E Ñ OD E C O M P U T A D O R E S cAP. 11

un teclado y un impresor.La teleimpresoraenvía y recibe información en
serie. Cada paquetede informacióntiene ochobits de un códigoalfanumé-
rico. La informaciónen seriede un tecladose desplazaal registrode entra-
da. La información en serie de un impresorse almacenaen el registrode
salida. Estos dos registrosse comunicancon la teleimpresoraen seiie y con
el registroacumuladoren paralelo.

El registrode entrada N consistede nuevebits. Los bits 1 a g almace-
nan informaciónde entrada alfanumérica;el bit 9 es un bit de control lla-
mado indícador de entrada (flas). El bit indicador se pone a uno cuando
está disponibleun nuevo caracter de un dispositivode entrada y se pone
a cero cuando el caracter es aceptadopor el computador.El bit indicádor
es necesariopara sincronizarla baja velocidada la cual operael dispositivo
de entrada comparadacon la gran velocidadde los circuitos del computa-
dor. El procesode trasferenciade información es como sigue.Inicialmente
seborra el bit indicador en Nn. Cuandose oprime una tecla del teclado,el
códigode 8 bits se desplazaal registrode entrada (N, -Ns). una vez que
se termine la operaciónde desplazamientoe, l bit indicador en Nn se pone
a 1. EI computadorcompruebael bit indicador; si éste es 1, el óoaigbae
caracterdel registroN se trasfiereen paraleloal registroA y el bit indica-
dor se borra. una vez se haya borradoel registroindicador,se puededes-
plazarel nuevocaracteral registroN al oprimir otra tecla.

El registrode salida u trabaja de manerasimilar pero la direccióndel
flujo de informaciónse invierte. Inicialmente,el indicádorde salida en u.
se pone a 1. El computadorcompruebael bit indicador; si éste es l, un có-
digo de caracterdel registroA se trasfiereen paraleloal registrode salida
(ur.* ue) y el bit indicador un se borra a 0. El dispositivode salida acep-
ta la información codificadae imprime el caractercorrespondientec; uanáo
se completela operaciónse ponea 1 el bit indicador.El computadorno car-
ga un nuevo caracter al registro de salida, cuando el indicador es 0, porque
esta condición indica que el dispositivode salida está en procesode impri-
mir el caracterprevio.

1 1 - 3 I N S T R U C C I O N EDSE C O M P U T A D O R

El número de instruccionesdisponiblesen un computadory su eficiencia
en resolverel problemaentre manos,es una buenaindicaciónde lo bien que
el diseñadordel sistema previó la aplicación que se requeríade la máquina.
Los sistemasde cómputo mediano y de gran escala,puedentener cienios de
instrucciones, mientras que la mayoría de computadorespequeñoslimitan
la lista a menosde 100.Las instrucciones se debenescogeicon cuidado pa-
ra imprimir las característicassuficientes del sistema con el fin de resolver
un amplio rango de problemas de procesamientode datos. Los requerimien-

tos mínimos de tal lista deben incluir una capacidad para almacenar y
cargar palabras de la memoria, un conjunto suficiente de operacionesarit-
méticas y lógicas, algunas propiedades de modificación de direcciones,
bifurcación incondicional, bifurcación bajo condicionesde prueba, propie-
dades de manipulación de registro e instrucciones I/O. Lá lista áe i.r"-
trucciones escogidaspara el computador pretende ser la mínima requerida
para un procesadorde datos práctico pero restringido.

xf

Signo Magnitud (númerosnegativosen complemento de 2)

l6 IJ l4 l-l t2 ll 10 9 8 7 6 5 A 3 2 i
(a) Operandoaritmético

Palabra lógica 5A 32

l 6 t 5 l 4 l 3 1 2 l l t 0 9 8 7 f)
(b) Operandológico

Caracter Caracter

(c) Datossde entraaddaa,,//ssaalildtdaa
Figura ll-2 Formatosde datos

La formulación del conjunto de instrucciones para el computador va
mano a mano con la formuláción de los formatos para datos y palabras de
instrucciones. Una palabra de -memoriaconsiste de 16bits. Una palabra pu9-
de representar una unidad de datos o una instrucción. Los formatos de
palabias de datos se muestran en la Figura 11-2. Los datos para las ope-
raciones aritméticas se representan por un número binario de 15 bits con
un signo en la posición del bit décimo sexto. Se asume que los números están
en su-equivalente de complemento de 2. Las operacioneslógicas se realizan

Operación Dirección

l6 l5 t4 l3 l2 ll 10 9 8 7 6 ) ^ 2

(a) Instrucción de referencia de memoria

C ó d i g o0 1 1 0 Tipo de operación de registro o prueba

t 6 l 5 t 4 l - l r2 l l t 0 9 8 7 6 5 4 32I

(b) Instrucción de referenciade registro

C ó d i g o0 1 1 1 Tipo de operación de entrada-salida o prueba

l6 15 l4 13 l2 ull0 98765^J

(c) Instrucción deentrada,/salida

Figura l1-3 Fo¡matosde instrucción

483

4 U D I S E Ñ OD E C O M P U T A D O R E S cAP. 11

con bits individuales de la palabra, con el bit 16 tratado como cualquier
otro bit. cuando el computador se comunica con un dispositivo vó, la
información trasferida se considera compuesta de caracterés alfanuméricos
de 8 bits. Dos de estos caracteres pueden acomodarse en una palabra de
computador.

Los formatos de palabras de instrucción se muestran en la Figura 11-3.
I a parte operativa de la instrucción contiene cuatro bits; el significado de
los i2 bits restantes depende del código de operación encontrado. una ins-
trucción d,ereferencia de memorio usa los 12 bits restantes para especificar
una instrucción. una instrucción de referencia de registro implica ü.ra ope-
ración o prueba con el registro A o el E. No se necesita un operando de la
memoria; por tanto, los 12 bits menos significativos son usados para especi-
ficar la operación o la prueba que se va a ejecutar. una instrucción de refe-
rencia de registro se reconoce por el código 0110 en la parte de operación.
Similarmente una instrucción de entrada-salida no necésita una referencia
para la memoria y se reconoce por el cédigo de operación 0111. Los 12 bits
restantes se usan para especificar el dispositivo particular y el tipo de ope-
ración o prueba realizada.

Solamente cuatro bits de la instrucción están disponibles para el códi-
go de operación. Parecería que el computador está resiringido á un máximo
de 16 operaciones diferentes. Sin embargo, como las instrucciones de refe-
rencia de registro y de entrada-salida usan los 12 bits restantes como par-
te del gódigo de operación, el número total de instrucciones puede e*"édut
de 16. De hecho, el número total de instrucciones escogidopara el compu-
tador es 22.

De las 16 diferentes operaciones que pueden ser formuladas con cuatro
bits. solamente ocho pueden ser utilizadas por el computador, porque el bit
de la extrema izquierda de todas las instrucciones (bit 16) es si-empre0.
Esto deja abierta la posibilidad de agregar nuevas instrucciones y aumen-
tar la capacidad del computador, si se desea.

Las seis instrucciones de referencia de memoria para el computador se
listan en la Tabla 11-2. El diseño simbólico es una pulub.u de tres letras y

Tabla l1-2 Instrucciones de referencia de memoria

Código Descripción Función
hexa-
Símbolo decimal

AND 0 m* AND aA A<-A ¡\M*
ADD lm Sumara A A <- A + M, E <- A¡rastre
STO 2m
$Z 3m A l m a c e n a re n A MeA

BSB 4m Incrementary omitir si M<-M + l,si(M+ l:0)entonces
BUN 5m
escero (PC +- PC + l)

Bifurcar a unasubrutina M < - P C + 5 0 0 0 , P C < - m * l

BifurcarincondicionalmenteP C < - m

*¡n es la parte de dirección de la instrucción. M es la palabra de memoria direccionada oor m

-|{

S E C .1 1 . 3 I N S T R U C C I O NDE SC O M P U T A D O4 8R5

representa una abreviación que va a ser usada por programadores !'usua-
rios cuando se escriben programas simbólicos para el computador. EI códi-

go hexadecimal listado es un número hexadecimal equivalente al código
binario adoptado por el código de operación. Una instrucción de referencia
de memoria usa un dígito hexadecimal (4 bits) para el código de operación;
los tres dígitos hexadecimales restantes (12 bits) de la instrucción repre-
sentan una dirección designada por la letra m. Cada instrucción tiene una
breve descripción en palabras y se especifica más precisamente en Ia co-
lumna de función con una proposición de macrooperación.Una clarificación
de cada instrucción se da a continuación, conjuntamente con una explica-
ción de su uso.

AND de .4

Esta es una operaciónlógicaque ejecutauna operaciónAND a los paresde
bits correspondientees n A, con la palabra M de memoria especificadapor
la parte de dirección de la instrucción. El resultadode la operaciónse deja
en el registroA, remplazandosu contenidoanterior. Cualquier computador
debetener un conjunto básico de operacioneslógicaspara el manipuleode
los datosno numéricos.Las operacioneslógicasmás comunesque se encuen-
tran en las instruccionesdel computadorson el AND el OR, el OR-exclusivo
y el complemento.Aquí se usa solamenteel AND y el complemento.Este
último se incluye comoinstrucción de referenciade registro.Estas dos ope-
racioneslógicasconstituyenun conjunto mínimo del cual sepuedenderivar
todas las demásoperacioneslógicasporqueel AND y el complementojun-
tos, forman la operaciónNAND. En la Sección4-7 se observóque ésta es
una operaciónuniversal de la cual se puedeobtener cualquier otra opera-
ción lógica.

SUMAR a / (ADD)

Esta instrucción agregael contenidode Ia palabraM de memoria,especifi-
cada por la parte de dirección de la instrucción al contenidopresentedel
registroA. La suma se hace asumiendoque los númerosnegativosestén
en su forma de complementode 2. Esto requiereque el bit de signose agre-
gue de la misma forma que se agregantodos los demásbits. El arrastrede
salida provenientede la posicióndel bit de signo se trasfiereal flip-flop E.
Esta instrucción, conjuntamente con las instruccionesde referenciade
registro, es suficiente para escribir programaspara configurar todas las
demás operacionesaritméticas. La sustracción se logra complementando
e incrementandoel sustraendo.La multiplicación se logra sumandoy des-
plazando. El incrementoy desplazamientoson instruccionesde referencia
de registro.

La instrucción ADD (sumar) debeser usadapara cargaruna palabra
de la memoriaal registroA. Esto se haceborrandoel registroA con la ins-
trucción CLA de referenciade registro(definidaen la Tabla 11-3).La pala-
bra requeridase descargade Ia memoria agregándoleal registroA previa-
menteborrado.

ALMACENARen ,4 (STORE)

Esta i nstrucción almac en ael contenid odel registroA en la palabrade me-
moria e s p e c i f i c a d ap o r la dirección de instruóción. L as tre s instrucci ones

de referenciade memoria se usan para manipular los datos, entre la pala-
bra d9 mem oriay el r egistroA. Lás
e con trol que causanun t res instruc c i o n e ss i g u i e n t e ss o n i ns-
trucciones d cambio en la secue".rcinaormal del
programa.

lncrementary omitir en caso de cero flSZ)
tbermrLieeudnaaccca1.ccli.enisiyuóósindnnstderreyeunnpascúpsrlpcmameoiurgóleaaeérnrcesacoddepomneenoneaasrtig,danemsaercreeterinincedlvucomniooerlaúoeedvlmcmnomeataeleaaaurnclronayitendaanmosediatmneavrdeusmeiotltCcpironreurcrúesciieaqómvcs.uniiLeaúIóeSarmtnsoiZliIeeln.SlpneeEsZatgjtsóerraestauceaenuclngactclaúauieómumirdnmnooeas.ebddÁri gmouieífusc,iocuiereraen"iinnlcadactieefóeriinnenenpssdamrl aotoleregmduddnreciiiat--_-la-
tnbrcreiueuógcscnrldceeeidsódseanepdblue(ipBéfnursUdourNcegealrv)abcoemiuaóscanoel.emSIjeBdiicUeteuildNltpaan)rroúyeqgmlureebealrumiopcnaarlcoe.lomg. nsradaicimcéeiasnotcaneodalnollnemtiogneaúlnlaaet""geíc"ajeeyárcuouc,tleaaarlnoscd,ioegoimlunpisieertnornutgz"croeiacndmiseo-la-

B i f u r c a c i ó ni n c o n d i c i o n a l( B U N )

Esta instrucción trasfiere el control incondicionalmentea la instrucción
scceeionónvnetaaldadleuolgelraaedrresyeilgspeuprjioeeegccnuritfaetiacminara.sdNrtoeroputroicmercnaliaóelmnlapeeanndrtitsereeeemccl cupdiecóenncsldaieaei.dEnlailcrerpsecirrgcoiuirgóeirenn"nr.tRratpreeuaicdnruaosétt.dirreaudnrceelcsaileóqadnuipreqerueecel--
rrogativa de especificarcualquier otra instruccién luera de la secuencia
usando la instrucción BUN. Esta instrucción le dice al computadorque
tome la parte m de la direccióny la trasfieraar pc. La direcciónde la si-
guienteinstrucciónqu e se va a ejecutarestaráahora en el pc y es aquella
de la direcciónde la instrucciónBUN
que antesera la parte

La instrucción BUN está listada con las instruccionesde referencia
de memoriaporquenecesitauna parte m de dirección.sin
cesita una referenciade la memoria para tener accesoa embargo,no ne-
memoria (design caidada-ep omreelmsoí mr i ab.o l oM
c i o n e sd e referen ), como se requierep una pálabra de
or otras instruc-

B i f u r c a ra l a s u b r u t i n a( B S B )

Esta instrucción es útil para la bifurcacióna la parte de una subrutina de
programa.cuando se e jecuta,ésta almacena la dirección de la siguiente

pimnaasrtdte¡,uaddceicrdieóicrneceicnócnsióedncedureeenltaocriinanlo,sa)tcr, ueucnacllieaósnpt.áaTalaalmmbrbaaicédenenamaldmeaamalcoperrinaeaseeesl npcetóeecdinifgiecoladpd"?alppo"llr.luala--

486

E

SEC. 11-3 I N S T R U C C I O N EDSE C O M P U T A D O R4 8 7

ción del BUN (hexadecima5l ) en el mismo lugar de la memoria.El contenido
de la parte m de la direcciónmás 1 se trasfiereal PC para comenzarIa eje-
cución del programa de la. subrutina en esta parte específica.Una vez se
haya ejecut"ao-¡" subrutina, el control se trasfiereal programade llamado
medio de uná instrucción BUN colocadaal final de la subrutina.
p' oi El procesode bifurcacióna la subrutina y el regresoal programade lla-

mado sé muestraen la Figura 11-4por medio de un ejemplonuméricoespe-
cífico.El programade llamado está ahora en Ia posición32. El programade
subrutina comienzaen la posición65. La instrucción BSB causauna tras-
ferenciaa la subrutina y lá última instrucciónen la rutina causauna bifur-
caciónde regresohaciala posición33 en el programade llamado.El ejemplo
numérico ttt l" Figuta 11-4muestrauna instrucción BSB en la posición32
conuna parte m dó la direcciónigual al binario 64.Mientras queseejt:cuta
esta instrucción el PC almacenala dirección de la siguientei:':.::ii'.ilcioi:r
en secuencia,la cual es 33. La instrucción BSB realiza la macrooperación

(verTabla 11-2):

M<-PC+5000. PC<-m*l

El contenidodel PC másel hexadecimal5000(códigopara el BUN) sontras-
feridosa la posición64. Esta trasferenciaproduceuna instrucción BUN 33.
La parte de la dirección de la instrucción se incrementay se colocaen el
PC- El PC almacenael binario equivalentea 65 de maneraque el compu-
tador comienzaa ejecutarla subrutina en esta posición.La última instruc-
ción en la subrutina es BUN 64. Cuando esta instrucción se ejecute,el
control se trasfierea la instrucción en la posición64. Pero en la posición
64, hay una instrucción que se bifurca de regresoa la dirección 33. La di-

Dirección Memoria

(dec)

I+

J I 0 1 0 0 00000l 000000 BSB64
33

m=64 0l0l 0 0 0 0 0 0I 0 0 0 0I BUN33
m+l=65
I

t

Subrutina
I

)
0 l 0 l 00000I 000000 BUN 64

Figura 11-4 Demostración de una instrucción de bifurcación a la subruttna

4 8 8 D I S E Ñ OD E C O M P U T A D O R E S cAP. 11

trncrlreoueeiúómctccminanccpeliiauoióózrnrnnodaadaeddll muelbaemgel.eDaraasneercedtgmeerierlrsnaeseaiastecvdadomcoipamrireóper.aoqnnrcenpucdlieieaiegaó.lu,alanpaan,do"ploieslnoaircs.isle"mtiignó¡gcpurún"r"ociem6.ócros4ntedioaópuree,nonoltdldBraacoeUlusaidrnaNuaóisl¡nnr.dtr.suid"iutr"ieori"e".u;l¿;rc¿i;cá"c;;rct-iB¿l.Ji".ó'"";sán..a-tifrñBÁ"u."Spcar.Bc"ieNni ótasóenleatnedaduselrnmeálaaqalupaBcseoeusdsenBbii-la_-
""-".ü'"uro.

Instruccionesde refere,nciade registro

slctccrptbdeeLrraeuuoaiuneoíatcnadanlcssialoatntdóacdrebrpd1niiodíiecógrTeno2easinsiiarssotnitoaldonebtanaesbrcesslnatlluariremtóth-eiPurceendu1neeccClssolpo0c1xcmidatósoca1-ireoso8iiundr1nroenr.(lcee0ciacsnoeaiccga(intesmeiirhieidcmónssudr-esiartnstdcseartexot.áoceiliarmsóLponisruddóan^ebmse'coqensts)finclsr.te.,coaiustiypspriósaccmei.oónt¿eciocnumsan.ineuóciae€lcei'yainscl1Á)ia.rlokodeaDtsádniVáresep,"ee,e.á)r.rcel,seeninei;émosxc?psusgt€pni;átreet¿i-aletrssruivinucsl-teiso.arrr."ce,naropn".ricn..Erenpa.itiitlürobpula;aüpu;an;nrn;pa;ccae-trd"r"*;osisleai;,;emaodo-s,;l;5,ocnell;esicaoi;ose*ieriog;n-1.pslmi-.-uotnolprre;ispc"oseenarruilcn1rcielst",uiid6ti"am.zfióen,g.iebdai"cneonulionasdtnsipusdrneiuestctgrneornoneoudluoatgcanlieelcceoóirpscocaiunsudnrtiupmrtnóiaes1egraean-nea_2so_-
mdissnieiesgtnlnlraaLtuoaoces.ccsni .ginóAbudni,iteisceenilnódtceneusi neacdscloeutenressudntrciáaccceitiiaóuán;nsnde-pedei ,aennor'iatirpig.a-r..fua,lamo"s"dpai.noi.áAsr' ;e,ttiaráruu!dc"peicl_arbi"ouiocdn.,o;oe,;n'tpsa;dd;. r-iqeci;"u;io¿áem"n,e;-i;rsá";i¿"puó"c."tn"i n.soúnloaaponasseraielagAbipuniaiótcerrntEdei rte._e

Tabla 11-3 Instrucciones de referencia de ¡egist¡o

Código Función

hexa-
Símbolo decimal Descripción

CLA 6800 BorrarA A <-0
CLE
CMA 6400 Borrar E E <-0
CME
SHR 6200 ComplementarA A <-.4
SHL
INC 6100 Complementar,E E<--E
SPA
SNA 6080 Desplazara la derechaAy E I <--sh¡ A, A6<- E, E <- A1
SZA ó040 I <- shlA, A1<- E, E <- A6
SZE 6020 Desplazara la izquierdaAy E A<-A*l
HLT I n c r e m e n t a rA

6 0 1 0 Omitir conA positivo !l (Ar 6 : 0)e ntonces (pC<- pC + l)

6008 Omitir conA negativo 9 ifÁ ,o : 1) e n t o n c e(sP C < -P C + t)

ó004 Omitir conA cero Sli -itf¿t::0 )0 ) ee nn ttoonncceess((ppCC <<-- -p C + t)
6m.2 Omitir conE cero pC + l)
6001 Detenerel computador
s<--0

E

s E c . 11 - 4 SINCRONIZACIONDE TIEMPO Y CONTROL 489

La instrucción de detención (halt) se colocapor lo generaial ñnal ie
un programasi se deseadetenerel computador.Su ejecuciónborra el t-Irp-
flop de parada y comienzopara evitar operacionesposteriores.

l n s t r u c c i o n e sd e e n t r a d a - s a l i d a

El computadortiene cuatro instruccionesde entrada-salidaque se listan
en la Tabla 11-4.Estas instruccionestienen un código de operación0111
(hexadecimal7) y cada una contieneun 1 en solamenteuno de los 12 bits
restantesde la palabra de instrucción. Las instruccionesde entrada-salida
se especificancon cuatro dígitos hexadecimalescomenzandocon 7.

Tabla 11-4 Instrucciones de entrada-salida

Código Descripción Función
hexa-
Símbolodecimal

SKI 7800 Omitir conel indicador de entrada Si (No : l) entonces (PC <- PC + l)
INP 7400
SKO 7200 IntroduciraA A t - a + N 1- s , N e < - 0
OUT 7100 r)Omitir con el indicador de salida Si (Un : l) entonces(PC <- PC +

S a c a rd e A Ut-a+ A1-s,Ue<-0

La instrucción INP trasfiere el caracter de entrada de l/ hasta A y
borra también el indicador de entrada en Ns. La instrucción OUT tras-
fiere un código de caracter de 8 bits desdeA hasta el registro de entrada y
también borra el indicador de salida en [/s. Las dos instruccionesde
omisión compruebanlos indicadoresde condición correspondienteys cau-
san una omisión de la siguienteinstrucción si el bit indicadores 1. La ins-
trucción que se omite es una instrucción BUN. La instrucciónBUN no se
omite si el bit indicador es 0; ésta causauna bifurcación de regresoa la
instrucción de omisión para comprobarde nuevo el indicador. Si el bit
indicador es 1 se omite la instrucción BUN y se ejecutaIa operaciónde en-
trada o salida. Así, el computadorpermaneceen un bucle de dos instruc-
ciones(omisión en indicación y bifurcación de regresoa la instrucción an-
terior) hasta que el bit indicador seapuestoa uno medianteun dispositivo
externo. La siguiente instrucción en secuenciadebe ser una instrucción
de entradao salida.

1 ' I - 4 S I N C R O N I Z A C I O ND E T I E M P OY C O N T R O L

Todas las operacionesdel computadorestán sincronizadaspor un generador
de tiempo maestro cuyos pulsos de reloj se aplican a todos los flip-flops del
sistema. Además,está disponiblecierto número de variablesde tiempo en
la unidad de control para darle secuenciaa la operaciónen el orden ade-
cuado. Esas variables de tiempo se designancomo ü6, tt, tz y t3 y se
muestran en la Figura 11-5.Los pulsosde reloj ocurren una vez cada mi-
crosegundo(¡¿s).Cada variable de tiempo es de 1¡^rsde duración y ocu-
rre una vez cada 4 ¡rs. Se asume que el disparo de los flip-flops ocurre

4 9 0 D I S E Ñ OD E C O M P U T A D O R E S cAP. 11

durante el flanco negativode los pulsosde reloj. Se puedecontrolarel pulso
de reloj específicoque dispara el registro, aplicando una de las variables de

tiempo al terminal de entrada de habilitación de un registrodado.Las va-
riables de tiempo se repiten continuamente de manera que f6 aparezca
despuésde ü3. Cuatro variablesde tiempo son suficientespara la ejecución
de cualquier instrucción en el computadorque consideramosaquí. En otras
situacionespodría ser necesarioemplear un número diferente de variables

de tiempo.
Se asumeque el tiempo de accesode memoriaes menor que 1 ¡rs.Una

operaciónde lectura o escritura de memoriapuedeiniciarse con una de las
variablesde tiempo cuandoésta se pongaalta. La operaciónde memoriase
completaráen el momentoen que llegueel pulso siguientede reloj.

El computador digital opera con pasos discretoscontroladospor las
señalesde tiempo. Una instrucción és leída de la memoriay ejecutadaen
Ios registrospor medio de una secuenciade microoperacionesC. uando el
control recibe una instrucción, éste generalas funcionesde control ade-
cuadaspara las microoperacionersequeridas.En Ia Figura 11-6se muestra
un diagramade bloquede la lógica de control. Una instrucciónque se lee
de la memoria se colocaen el registroB separadorde la memoria. La ins-
trucción tiene un código de operaciónde 4 bits, designadopor el símbolo
OP. Si ésta es una instrucción de referenciade memoriatendrá una parte
de dirección designadapor el símboloAD. El código de operaciónse tras-
fiere siempre al registro de instrucción /. El código de operaciónen .I se
decodificaen ocho salidas eo- et, siendoel númerosuscrito igual al códi-
go hexadecimalpara la operación.El registroG es un contadorde 2 bits que
cuenta continuamentelos pulsos de reloj, durante el tiempo en que el flip-
flop S, de comienzo-paradae,stépuestoa uno. Las salidasdel registroG se
decodificanen cuatro variablesde tiempo to - te. El flip-flop F distingue
entre los ciclos de búsqueday de ejecución.Otras condicionesde status
son necesariaspara determinar Ia secuenciade control. Las salidas de los
circuitos de lógica de control indican todas las microoperacionespara el
computador.El diagramade bloquede la lógicade control esútil para visua-
lizar la unidad de control del computador,cuandose derivan las operacio-
nes de trasferenciaentre registrosdurante el procesode diseñode la lógica.

La red de lógica de control es un circuito combinacionalque consiste

de una conexión aleatoria de compuertas.Su configuraciónconstituye un
control de elementosinterconectadosS. e verá en la Sección11-7que la par-
te de control del computadorpuedeconfigurarsecon arregloslógicosprogra-
mables.La configuracióndel PLA remplaza la red lógica de control, como
también los decodificadoresde operacióny sincronízación.En la Sección
11-7se muestraque el control puedeser configuradoparcialmentecon una
unidad de microprograma.La configuraciónde control del microprograma
remplazaráIa red de lógicade control, Ios dosdecodificadoreys los registros

Iv G.

1 1 - 5 E J E C U C I ODNE I N S T R U C C I O N E S

Hasta el momento se ha considerado el diseño del sistema del computador.
Se ha especificado Ia configuración del registro, el conjunto de instruccio-

q'Fs

->l i r¿s >l

Pulsosde
reloj(CP)

t,

Figura 1l-5 Señales de tiempo del computador

16 13 rl
BQP) I BIAD)

Funciones de contro
para rnrclar

microoperaciones

:codificad
de tiempo

Otras condiciones
de status

Figura l1-6 Diagrama de bloque de la lógica de control

491

4 9 2 D I S E Ñ OD E C O M P U T A D O R E S cAP. 11

nes del computador, una secuencia de tiempo y la configuración de la uni-
d a d d e c o n r r o l . E n e s t a s e c c i ó n , s e c o m i e n z á c ó n l a f a s e " d ed i s e ñ o d e l c o m -
putador. El primer paso es especificar las microoperaciones conjuntamente
con las funciones de control necesarias para ejecutar cada instrucción de
máquina.

Las operaciones de trasferencia entre registros describen de una for-
ma concisa el proceso de trasferencia de información dentro de los registros
del computador. cada proposición de la descripción consiste de uná fun-
ción de control, segui_dade una coma, seguida de una o más microoperacio-
nes con notación simbólica. La función de control es una función de Boole
cuvas variables son las señales de tiempo to - tt, la operación decodificada
Q - Q; y ciertas condiciones de los bits de condición. Las microoperacio-
nes son especificadas de acuerdo con la notación simbólica definida en el
método de trasferencia entre registros.

una vez que se active el interruptor de comienzo, la secuencia del com-
putador sigue un patrón básico. Una instrucción cuya dirección está en el
PC se lee de la memoria.
el PC se incrementa en 1 su parte de operación se trasfiere al r e"gsi si gt ruoi eIn tyl
para prepara.la para la dirección de la
instrucción. Si la instrucción es del tipo róferencia de memoria, poJría ser
necesario accesar de nuevo la memoria para leer el operando. Asíj las pala-
bras leídas de la memoria al registro B pueden ser lnstrucciones o datos.
Elflip-flop F se usa para distinguir entre los dos. cuando F:0, la palabra
leída de la memoria,se interpreta como una instrucción y." hi""'que el
computador está en el ciclo de búsquedade la instrucción. óuando F:1, la
palabra leída de la memoria se toma como un operando y se dice que el cóm-
putador está en el ciclo de ejecución.

Ciclo de búsqueda (fetch)

una instrucción se lee de la memoria durante el ciclo de búsqueda. Las re-
laciones de trasferencia entre registros que especifican este proceso son:

F'to: MAR <- PC
F',tr: B <- M, PC <- PC + |
F'tr: I <--B(OP)

cuando F-0, las señales de tiempo to, tt y ü2 inician una secuenciade
operacionesque trasfieren el contenido del PC al MAR, inician una Iectura
de memoria, incrementan el PC y trasfieren el código de operación de la ins-
trucción al registro 1. Todas las microoperaciones se ejecutan cuando la
función de control es de lógica 1 y cuando ocurre un pulsó de reloj. Las mi-
crooperacionesen los registros y la trasferencia de la palabra de memoria
a B son ejecutadas durante el flanco negativo del pulsó de reloj. Esto ocu-
rre justamente antes del momento en que la variable de tiempo especifi-
cada va a cero.

El código de operación en el registro 1 se decodifica en el tiempo úr.
E l s i g u i e - n t ep a l o d e p e n d ed e l v a l o r d " q , , l : 0 , 1 , . . , 7 , q u e p r o d u c áu n ' 1
a la salida del decodificador. Si la salida decodificada es una instrucción de

SEC. 'I1-5 E J E C U C I O ND E I N S T R U C C I O \ E S 4 9 3

referencia de memoria, se puede necesitar un operando. Si no. se pueciee'e-

cutar la instrucción durante el tiempo ú3.
La instrucción BUN y las instrucciones de referencia de registros e

instrucciones de entrada-salida no necesitan un segundo acceso de la nre-
moria. El computador tiene que pasar a un ciclo de ejecución para accesar
de nuevo la memoria, cuando se encuentra con un código de operación 0, 1,
2, 3, ó 4. Esta condición se detecta a partir del decodificador de operación,
el cual causa una trasferencia al ciclo de ejecución, poniendo F a 1:

F'(qo * Qt * ez * qt * qo)tt: F<- I

Las operaciones comunes de trasferencia entre registros durante el ciclo
de búsqueda se listan en la Tabla 11-5.

Tabla ll-5 Operaciones de trasferencia entre registros durante el ciclo de búsqueda

F'to: MAR e PC Trasferirla direccióndeinstrucción
F'lt'. I Leer la instrucción, incrementar PC
F'tz'. B <- M, PC <- PC *
F'(qo + et * Trasferir código de operación
4stt'. r <-B(oP)
Qot{ Ir a ejecutar ciclo
Qz+ q3 + q)t3: F <- | Bifu rcar incondicionalmente (BUN)
q7t 3. PC<* B(AD) Instrucciónde referenciade registros
VerTabla 11-8 I n s t r u c c i ó nd e e n t r a d a - s a l i d a
VerTabla 11-9

Las instrucciones BUN tienen un código de operación 5 y su corres-
pondiente salida del decodificador de operación €s gs. Esta instrucción no
necesita un operando de la memoria, aunque esté listado como una instruc-
ción de referencia de memoria. Esta especifica que la siguiente instrucción
se tome de Ia posición dada por la parte m de la dirección. La parte de di-
rección de la instrucción está en B(AD) en el tiempo ú3 del ciclo de bús-
queda. La instrucción puede ejecutarse durante el ciclo de búsqueda en ese

tiempo:

Qst{ PC <- B(AD)

No hay necesidad de incluir F en Ia función de control porque el único tiem-
po en Que Q; puede ser 1 es durante el ciclo de búsqueda. La microopera-

q,ru ejéóula la instrucción especifica una trasferencia de los bits t has-
"taiO1n2 del registro B al PC. La siguiente variable de tiempo después de f3 es
siempre ü¡. Como F permanece en 0 para esta instrucción, el computador
t"g.eiu al comienzo del ciclo de búsqueda para leer la instrucción dada por

el PC.
Las instrucciones de referencia de registros son reconocidas a partir de

la salida del decodificador qo y las instrucciones de entrada-salida de qt.
Como estas instrucciones requieren solamente una microoperación más pa-
ra su ejecución, ellas se pueden determinar en el tiempo ú3 durante el
ciclo de búsqueda.Este hecho se indica en la Tabla 11-5.Las microopera-
ciones específicasse listan en tablas posteriores.

Ciclo de ejecución
El flip-flop F es igual a 1 du¡ante el ciclo de ejecución. Las cuatro variables
de tiempo que ocurren durante el ciclo realizan las microoperaciones para
ejecutar una de las instrucciones de referencia de memoria. La instrucción
que se va a ejecutar se especificapor medio de la variable q,, i:0, r,2,8,
4 disponible para el decodificador de operación. La parte de dirección ¿ó la
instrucción estará en los bits 1 a 12 del registro B, simbolizado B(AD), al
final del ciclo de búsqueda. Esta dirección Je trasfiere al MAR al comienzo
del ciclo de ejecución para servir como la dirección de memoria para la
palabra de memoria subsecuente:

Fto: MAR <- B(AD)

Las instruccion es que necesit an un operando de Ia memoria son el AND
(go) , ADD (q,) ISZ (q3). L as o t r a s d o s i n s t r u c c i o n e sS T O ( q z ) y BSB
e valo r en la me moria y son ejecutadasdu¡ante iá
( q n) almacenan un siguien-

te operaciónde lectura de memoria:

F(qo + qt * qz)tt: B <- M ,
La instrucción decodificada particular se ejecuta con las variables de tiem-
w tz y f3. En el tiempo f3 se borra el flip-flop F para que el computador
regreseal ciclo de búsqueda:

Ftr: F<_ 0

La siguiente variable de tiempo después de ú3 es üe. pero como ahora F
es igual a 0, por tanto la
primera función de control siguiente función de control es F,ún. Esta es la
en el ciclo de búsqueda. Así, despuésde ejecutar
la instrucción corriente, el control regresa siómpre al clclo ie btsquéaa pa-
ra leer la siguiente instrucción cuya di.ección eitá en el pC. Las operacio-
nes comunes realizadas durante el ciclo de ejecución se listan en lá Tabla
11-6.

Las cinco instrucciones de referencia de memoria y sus correspondien-
tes operaciones de registro se listan en la Tabla 11-?. Estas instrucciones
son ejecutadas cuando F:1 y con las variables de tiempo t2 y ts, La
operación decodificada q, determina la instrucción particular que só eje-
cuta.

Tabla 1l-6 Operaciones comunes para el ciclo de ejecución

Fts: MAR <- B(AD) Trasferir partedeIa dirección
F(qo+qr*qr)tr: B<_M Leerel operando
F(t2 + t): VerTabla 11-7 Ejecutarla instrucción dereferencia

Ft3:. F <-0 dememoria

Regresaral ciclo debúsqueda


Click to View FlipBook Version