.q
!
.!
l
,Í
.:
': 1
Figura 9-13 Diagrama lógico de una unidad lógica aritmética (ALU)
395
3 9 6 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9 I
ayLpadl.iescaaclonidmaapudlneamefesunnitgcoucióaonlmOaoRXse¡ce@usap{nedcoyisfi2cpsáreo1ndsu6:l1ac1eT0laa, sbplo"aprgea-rpgar.cociodanudecasiorAlRá, -coeopxncelrBuas,cisvióean
o R comoseha discutidoantes.caaa a,
uandos2srso:110 para producir un óon Bi sé a plióan a una función oR
c licadopreviamente. a op er aci ó nA N D como se ha ex-
p
_ !". 12 operacionesgeneradasen el ALU se sumarizanen la Tabla 9-4.
itaoLmorpaipeetmornfuaréltncaaticio.coiónopne.eEsrapalracivtriamtóilcnéoudtriledcaa9lrascsuse,.nosinpdeaailderdaé-ycnlactaiiscoqacnuusaepaaioltarraosmqefuunenetdrclialoiaodsdnaleesis.ss"tláó2ádg, "aiscrsr"a,ups'sanoroactyoieenlnCXce,i.nrd.ceeuLfeniatcoos-
Tabla 9-4 Tabla de función para el ALU de la Fizu¡a g_13
Selección
J2 J ¡ Salida Función
0 0 0 0 F:A Trasferir A
0 0 0 I F:A+l IncrementarA
0 0 I 0 F:AtB Suma
0 0 I I F=A*B*l Sumaconarrastre
0 0 0 F:A-B-l Restaconpréstamo
0 0 I F:A-B Sustracción
0 I 0 F:A-l D e c r e m e n t aAr
0 I I F=A Trasferir A
I 0 0 X F:AVB OR
I 0 I X F=A@B OR-exclusiva
I I 0 X F:AAB AND
C o m p l e m e n t aAr
I I I X F=f
9 - 7 R E G I S T R OD E C O N D I C I O N
Las_magnitudesrelativas de dos núme¡os pueden ser dete¡minadasres-
tando un número de otro y luego combinando ciertas condiciones de los
bits en la diferenciaresultante. Si los dos númerosestán sin signo las con-
dicionesde los bits de algún interés,son el arrastrede salida y un resul-
tado posible de cero. si los dos númerosincluyen un bit de
posiciónde mayor orden, las condicionesprincipálesde los bits, signo en la
s o - ne l signo
del resultado,una indicación de cero y una cbndiciónde sobrecapacidád.
dEisc -i óc no ndvo- e n i e n tael g u n a s v e c e ss u p l e m e n t a re
nde se almacenanaquellas condic l ALU con un re gistrode con-
i o n e sd e los bi ts para análisis
posterior.El estadode los bits de condición se
go de condiciónde los bits o bits indicadores llama algunas vecescódí-
La Figura 9-14 muestra un diagramade bloquede un ALU de g bits
con un registrode condiciónde 4 bits. Los cuatrobits de condiciónsesim-
bolizan por mediode c, s, z y v. Los bits seponena uno ó cerocomoresul-
tado de una operaciónrealizadaen el ALU.
s E c ,9 - 7 R E G I S T R OD E C O N D I C I O N3 9 7
1 . El bit C seponea uno si el arrastrede salidadel ALU es I y'sepc,ne
a cero (borrado)si el arrastrede salida es 0.
2 . El bit S se pone a uno si el bit de mayor orden del resultadoen Ia
salida del ALU (bit del signo) es 1y se pone a cero (borrado)si ei
bit de mayor ordenes0.
.J. El bit Z se ponea uno si la salida del ALU contienesólo cerosy se
pone a cero (borrado)de otra manera.Z:1 si el resultadoes cero
y Z:0 si el resultadoes diferentede cero.
4 . El bit V se pone a uno si la OR-exclusivade los arrastresCs Y Cs
es 1y de otra manerase ponea cero (borrado.) Esta es la condición
de sobrecapacidadcuando los números están en la representación
de signo-complementode 2 (ver Sección8-5). Para el ALU de 8bits,
V se ponea uno si el resultadoes mayor que 127o menorque - 128.
Los bits de condición pueden comprobarsedespuésde una condición
de operaciónpara determinar ciertas relacionesque existen entre los va-
lores de A y B. Si el bit V se pone a uno despuésde la adición de los dos
númeroscon signo,éste indicará una condición de sobrecapacidadS. i Z se
pone a uno despuésde una operaciónde OR-exclusiva indica que A: B.
Esto es así porque¡ @ r:0 y la OR-exclusivade dos operandosigualesda
un resultadode sólo ceros,los cualesponena uno el bit Z. Un solobit de A
puede comprobarsepara determinar si es 0 ó 1, al enmascarartodos los
bits excepto el bit en prueba, para luego comprobarel bit de condícíónZ'
Selección
Registrode
condición
C - Arrast¡e
S - Signo
Z - Cero
V- Sobrecapacidad
Figura 9-14 Activación de los bits en un registro de estado
3 9 8 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9 I
Por ejemplo,seaA: 101¡1100donde ¡ es el bit que se va a comprobar.La
operaciónAND de A con B:00010000 produciráun resultado000¡0000.Si
¡ : 0 e l b i t d e c o n d i c i ó ns ep o n ea u n o p e r os i r : 1 e l b i t z s e b o r r ay a q u e
el resultadoescero.
La operaciónde comparaciónes una sustracciónde A menos B, ex-
ceptoque el resultadode la operaciónno
pero los bits de condiciónse afectan. El se trasfiereal registrode desiino,
registrode condiciónsuministra
entoncesla información acercade las magnitudesrelativas de A y B. Los
bits de condición que se van a considerar'dependende si se toman los dos
númeroscon signo o sin él en la representaciónde complementode 2.
considéresela operaciónA - B hechacon dos númerosbinarios sin sig-
no. Las magnitudes relativas de A y B pueden determinarsede los valorés
trasferidosa los bits de condición cl v z. si z: 1 se sabeque A: B ya que
A - B : 0 . S i Z : A s es a b eq u eA + 8 . D e l a T a b l a9 _ 2s et i l n e q u e C : 1 s e
t i e n eq u e c : 1 s i A > B y c : 0 s i A < 8 . E s t a sc o n d i c i o n eess t á nl i s t a d a s
en la Tabla 9-5. La tabla da en su lista otras dos condiciones.para que A
s e am a y o rp e r on o i g u a la B ( A > B ) s ed e b et e n e rc : l y z
pone a uno cuando el resultado es 0, se debe comprobarz : 0. comoc se
queel resultadono es0. Para qu eA seameno.queó igual a i para asegurarse
l(¿.Bi el bit
C debeser0 (paraA<B) o el bit Z debeser1 (párae: n¡. La Tabla g_5lis_
ta también las funcionesde Boole que debeniatisfacersepara cada una de
las seisrelaciones.
prpraueré.assAi.eAldgleubzunBinto_dspaoceepopremorréupasnucttiabóamindtdooeeerxesstsucreaosl tndcrseaoibcmdecepsiróleaenrnmdpeerleebAnsit-tto8ad.cdeolccuaounrmaranobsdeittolrebediedtiaepd.rseéapitLlraiadémascotooanbnmotdeoiodncceiiódusno--
cuandose hace la sustracción,tomandoel complementode 2 de B. por esta
razón un procesadoqr ue considerael bit c comoel bit de préstamodespués
de una sustracción,complementaráel bit c despuésde la sustracciónu
operaciónde ccimparar,ióyn denotaráestebit comópréstamo.
considéreseahora la operaciónA - B hecha
c:onsigno cuando los núrnerosnegativos están en "l ao nf odr omrandúemceormo spbl ei nmaer ni ot os
de_2. Las magnitudesrelativas de A y B puedenser determinadásde dos
valorestrasferidosa los bits de condición 2, s y v. si z: I se conoceque
A : 8 , c u a n d oz : 0 s e t i e n e q u eA + 8 . s i s : 0 , e l s i g r r od e l r e s u l t a d oe s
Tabla 9-5 Bits de condición despuésde la sust¡acción
de los númerossin signo (A - B)
Relación Estadodel bit Función
decondición deBoole
A>B
A>B C:l y Z=0 CZ'
A<B C
A<B c:l C'
A:B C=0 C,+ Z
A+n C:0oZ:l Z
Z:l
Z:0 z'
SEC9. .8 DISEÑDOEUN REGISTRDOEDESPLAZAMCIEf399 u
positivo de manera que A debe ser_mayor que B. Esto es verdad sl n¡- :.:" i
oiydobi¡cVt.ie"-ó.-nnud1pdüuee.usisdntooabridenresdyuciólatyapa:qad0uco. eiedrearSóldcinraeeemslobu.rFileatuaseeudlmlotsadoidegsobntresoaerddíeadohleearnsebblseaourrSsldtiaeadpdcoocopri.óPosnsoo8irbt-it5rvaeqoncuytaoepp,uaosncriait'csaci:noast¡c(i-ti-'
I
VAsefdaemVLbaateoysToteavrrbmqalaulao-eygrpoe-eerscqrlioousrntearoBeli.sagpsuosaenl iadsirceeenlartodce(iesoA?n>,eSsBpV)o,sVeiblelrenesqscuualedtapaducoeaddseeobn'PeeasxerisartpqiroueseniAttirv-eBoAoi ¡
o m o " u . ,r e s u l t a d od e cerodará un signopos tivo,sedebe
áii".u"iu de " ee -l .b C z es0 para excluir l a posibilida dde A:8. ParaA>-B I
ur"goruque ít
u* *fi"i"rrte comprobarun signo positivo cuando no ocurre sobrecapacidad I
o un signo negativocuandoo"rrrtl una sobrecapac idadP. an A < B, el re- t'!
sultado debeser negativo.Si el resultadoes negati voo cero'se tiene que I
A<8. Las funcionei de Boole listadas en la tabla expresanlas condiciones 1
del bit de condiciónen forma algebraica. I
Tabla 9-6 Bits de condición después de la sustracción de números (A-B)
en signo-comPlemento de 2
Relación Estado de los bits de condición Función de Boole
A>B Z:0 y (s:0,v:0ó s:l,I/:l) z'(som
A>B ,soz
A <B S:O,V:0ó S:l,V:r
A<B S@V
A:B S:l,V:0ó S:0,V:l
A+B (s@v)+z
s:1, I/:0ós:0,v:lóZ:r
Z
z:r Z'
z:0
9 - 8 D I S E Ñ OD E U N R E G I S T R OD E D E S P L A Z A M I E N T O
LJfipin"oeaagfrlroimaruArtamnrqL'ci"uaUdieóca¿nidaaó"allng"dbJduleuaeinrsdsaedpedscelsévatrpaeerslmaccaamehzel isaanidneomtaone.aisteLhoinplnaaatiyoouuaaidnzndtuqiijddacuuaeesni edfstleiaapddrlaeaeam.nzduSicaceniemrasoddppi oeeelrapnobl zetcAeoaerotLamesUcpaniiuedeóaenornldtdratopbreelaguuddsuesefendsidesapeeprtlpearlsarazlaeazsalcafirdesalm"aaruiil.crieilEdil-nóaaltno
ca;;p;i;u*;o";á;ü.ármi"p";;uút;u"tnfn.""i"umucd.ta*efriei"arnel;rcsa;sitnsup,ef.tfeniiloetzarloorquezibddouaniiaibdimc.ser"iipfrriaioeeodoaarncanlimptc.ior.aEbiaeeo.ñrlicggaensieiiaótusesontlntns"rs.oudtooar.nedeed,cloigneAuorsierLnspdpggUtf-euraiaigo'ssirsu"pdat.orrlletoaeasplzddcsóaaeeiopó.msnaándprsliaeeaeleagslnolnzprute.aeoleLyagmcgazaesoiadiese.nmdoinfntesoatiaeeosuerlcnpmnspetlaauouspazcnliulstaialóorrrsoeelnoantdggraedeoiisscellatpteArrrusooeLdal_ldUseordeo-ijoe
destino.
4 @ D I S E N OL O G I C OD E P R O C E S A D O R E S CAP. 9
dbcccheuoooamsnmcredepuLblerunaoisnsejecaartncritclreoaaicidcsnosuaefsniuestiaanonralle,rlrplnciaaeooucsegimlnasnisesboedetci.rñeneldoa_asesdulciierednsieosatdedlndroemeeadjsglleast.AiiisEndrLt¡sonernUeo.l pucpfuanuorollensrcbneofeitü"gedsgsueaiasradurt"oreu"orrl"naeouuá,jr."ripgáeáp""igou.r.it;pr'si.ot"ttu;r"a;orpa;n";rJ;-dt,oió'eeapn"eud.iilopegotts"s'rritczaiddnóa'aeomptolpopióseurrgnrdeliia;tsed;osole
smprddetsdeiale:jepeaeeglsocicxcssidpsoiouIe,ódaJlt.ltralrlnesaneeLozm_dcsdadroasneecudesepmeiglelóedstldiisiAeenrsepopacHstnLslsrlcecoatUptooisixnzalódoaioa!gneantzlrameaulaedaimnlinibsemoedelubcasneneiopsiseatltréeomlenpedransscetlenoyzoviihgctgasas.¡aialumeasaarodiatdslma-iriaelladobeasusnsardeseatiec.eañzosdLosqalted0daonrlueea,eselió'sseb"ctcsgtadprtltueoaideblcaalqldaieuaFatzua.rccaCeoFsgcaovm""iiañ-mg"uó0zinu¿ue"nbslyáórnc¿tiu.anioatrpolmora"-gul-"i.eCcor"a-stni1ixrlaiouoriá"5ozn-"rnrr-".ru"'iraLe:A.1rt1rllpser,s,"1r/ur"1s,orsedoe0.pediopla:".ece0s".luccul0roadvuoce"saseiicnnóomrislciinónnínatuinonaarfbdleulontdalseaieire_rese_lsls_
bcrsderaeulieserngatsv_atnipedesEddelntaeloor scozlsedeoaddesilmmeaenet ásgcoidepucreeeanilnnóansmtnoztpuasraaplaniasmduldazteeeaieaedsdsmlmnteae-aadtirsodeFeeecPo.nsci-:ogoeptheonurruam.iEreeoenasjdpp-atelgeaeel í-msrlan1aaúedep5ll"litealamziopcmsuq,ucplenutoieuronaiiesmnp-ttrpeaeoredsaa¡rrraupcrassraneeoéuylcrélsp0aaiúflpuvomiplceaet.aaeicrsmLrrinttaaqaioatvbuesdlaaelce"emetubiádernaeeápentt'cir"trseraa,ooae.dnoeddIl a,estsau.stitursceea1atindói,n1vrort,sadieesaedredu,iru1aeinne-,.-l
Salida Salida
se¡ial serial
Figura 04 13 .t2 ,Sl
g-15 Registro de desplazamiento de 4 bits a base de lógica combinacional
q
Tabla 9-7 Tabla de función para el registro de desplazamiento
Hl Ho Operación Función
0 0 S <- F Trasferir F a S (ningun desplazamientor
0 I ^S<- shr F DesplazarF a la derechahacia S
I 0 S <- shl F DesplazarF a la izquierdahaciaF
I I S<--0 Trasferir0aS
durante el desplazamiento.Cuando H2 está en el otro estadola informa-
ción puede circularseconjuntamentecon el valor del bit de condición.De
esta manera un arrastre producido durante una operaciónde suma puede
desplazarsea la derechaa la posición del bit más significativa de un re-
gistro.
9-9 UNIDAD PROCESADORA
Las variablesde selecciónen la unidad procesadoracontrola las microope-
racionesejecutadasdentro del procesadordurante cualquierpulso de reloj
dado. Las variablesde seleccióncontrolan los buses,el ALU, el registrode
desplazamientoy el registrode destino. Se demostraráahora por medio de
un ijemplo cómo las variablesde control seleccionanlas microoperaciones
en una unidad procesadora.El ejemplo define una unidad procesadoracon-
juntamente con todas las variablesde selección.Luego se discutirán las al-
ternativas de las variables de control para algunas microoperacionestí-
picas.
Un diagrama de bloque de una unidad procesadorase muestra en la
Figura 9-r6(a). Este consistede siete registrosRl hasta R? y el registro
de condición. Las salidas de los siete registrosvan a través de dos multi-
plexorespara seleccionarlas entradasdel ALU. La entradade datosde una
luente externase seleccionatambién con los mismosmultiplexores.La sali-
da del ALu pasaa través de un Iegistrode desplazamientoy luegova a un
grupo de terminales de salida externos.La salida del registrode desplaza-
miento puede trasferirsea cualquiera de los registroso a un destino ex-
terno.
Hay 16 variables de selecciónen la unidad y su función se especifica
por una palabra de control en la Figura 9-16(b).La palabrade control de
16bits cuandose aplica a las variablesde selecciónen el procesadore, spe-
cifica una microoperacióndada. La palabra de control se divide en seis
campos,con cadacampodesignadopor una letra. Todos los campos,excepto
C¡. tienen un códigode tres bits. Los tres bits de A seleccionanun registro
fuentepara la entrada en la parte izquierdadel ALU. El campoB es el mis-
mo, pe;o seleccionala fuente de información para la entrada derechadel
ALU. El campoD seleccionaun registrode destino.El campoF conjunta-
mente con el bit etr C1,seleccionanuna función en el ALU. El campoH se-
leccionael tipo de desplazamientoy el registrode desplazamiento.
401
Datos de entrada
registros
RlaRT
Selector
dedestino
Registrode condición
Registro de
desplazamiento
Datos de salida
(a) Diagrama de bloque
1 e l0 ll12 13141516
B D F lCr H
(b) Palabrade control
Figura 9-16 Unidad procesadoracon variables de control
Las funcionesde todas las variables de selecciónse esDecificanen la
Tabla 9-8. El códigobinario de 3 bits listado en la tabla espe;ificael código
para cada uno de los cinco camposA, B, D, F y H.El registroseleccionado
por A, B y D es aquel cuyo númerodecimal es equivalenteal númerobina-
rio en el código.Cuandoel campoA ó B es000,el correspondientemultiple-
xor seleccionala entrada de datos. CuandoD:000, no se seleccionaregis-
tro de destino. Los tres bits en el campoF conjuntamentecon el arrastre
de entrada C;a,surluristran las 12 operacionesdel ALU de la maneraespe-
402
sEc. 9-9 U N I D A DP R O C E S A D O R &^ 3 \
cif icada en la Tabla 9-4. Nótesequ e hay d os posibilidadespa ra F:A' En I
,rr ."ro el bit de arrastre C seboria y en el otro casose pone a 1 (ver Tabla I
d
e-2).
Tabla g-g Funcionesde las variables de control para el procesadorde la Figura 9-16
Función de las variables de selección
Código F con I con
binario
B D C,.: 0 Cn: I H
0 0 0 Datosentr. Datossal- Ning. A , C < - 0 A+l No desplazamiento
RI nl A+B A+B+1 Despl.a la der.,/^ : Q
001 RI A-B Despl.alaizq., It:O
0 al bus de salida
010 R2 R2 R2 A_B_I A,C<-l
R3 R3 A-l
0l I R3
100 R4 R4 n4 AVB Circular a la der.con C
Circulara la izq.conC
l0l R5 R5 R5 A@B
l l0 n6 Ró R6 AAB
lll R7 R7 R7 T
o,lálerap.nc*u-icigrazLiuó"q.aá".nupisáitseu""ce*rnruaduamdaáster.caioesodppnpm"lutra.oio,pmz"ia."ceirm"rirá-'.aprLieás"in."nlieatf"trinot.ctootcar"ciarrcocdenduasu.lseanlldrlaaeb0aliTdfpclaeaaódbcrdeldlaaiaegarlr9oaare-rescc?anih.sóeUaetnnrc-nte(loraccaCnardtcm.eaa:rrPpscrcooaedisrHrreatccruseveoelasnacrrpvoirieeaemrcbIni,ogilifeehiccentdra-cces-Ii'nhylasasieófaset-
with carry; clc: circular left-shift with carry):
R<-crcR
I esuna abreviaciónde la proposición:
R +- shrR, Rn<-C, C +- Rt
aRr"tmddoar.eeose-drComelmaapñSdsiaou"cmeetlrlruauaiosenab.saomeplrqápcapllou;aaee;.are|srzil*pda"aifa.ot.ubidaoasnre""ari|co,cr"as'i"r|li;o'á.órdtdp.nl;n-riee"uaü;JId;rinftIcle;tce";i;"obádlocnbramhtatidirtpoaot"md,rJal.nse"tdáetuLieps.omaboraostoinoriptscgir'bmgraeienoaiatlcseialsdnfuobi{,iecd.zelerLagneaacsactscopi1aivisnaamól6omtirdnrbgaaRdoeain-ne[nlcispeni'ecdfariopncoialcanaainamabtrrdrralrtáaoelaiasselvessseeossdepnetfReáielcclunac.uicnevimeafoanainlcnamtaceuatrmCianroaducidilyedcneeeasrangsoedlaeepvmdlnardaeioaed-eel-s-ao r
i"d*'-aÁ";od"ti¡r¿eci itáalmáyte.sánetdáei¿"s-e"c"-u"üttireo-e"1"ntümpúuár1.st"duedntaealslmeeielcenrcoecolipéCenardapecíftiióunnliodd1aa0sde'anpluaeTdaebslear
deriva-
9-8' La
microoperaciónde sustracción:
Rl<-Rl- R2
& DIsEÑoLoGIcoDEPRocEsADoRES c A P .9
especificaftl para la entrada izquieida del ALU, R2para la entra dadere_
cha del ALU. A - B para,l" op"r""iór, d" iÁLü;;i"*o'T;o;zamiento para
e l ^ r e g i s t r od e . d esprazamientvo Rr paia
palabrade control óuru q"ur r";i.;;?;'d;.;i;". D e r a Tabra
9-8se deriva la " esta operaciónse
a
0010100010101000:
A BD F q,H
001 0 r 0 0 0 1 0 r 0 r 000
Las palabrasde control para esta m i c r o o p e r a c i ó ny algunasotras se listan
en la Tabla 9-9.
AlmcFccdstlo:tLdmcie:aaóae:nsa¡eaiybcbrdlóe-conb:bnoculTinnfEas'LeiEaegPbui*ntL",to¡lrsscDaosiee_dapasaeaaneoddntperdaoel-sxeanroaelootuoerectoalr0eensopsltcpelvbc.fcc0csAuraboeeesoepaaoooe0oedcrirclnrtsertnne.esulavoodatesraLvfntadsacocqaneeceeapRdtcriniirureircernnónoi(óiáredi7oaetlóixlrinerifarnó.ededoqcc)sanvsEllldlnvaodaonialgioreasefulredm.ejcuefrnglce,eádhbeoeriqaxecduAulaanneiairripuftoltlildneLc,arAleecjcdeerAmrrendsiUs-ir¡eLeaerór,ó"vcsoLen_ApdogUed.snnnietUna0Bddaai-ciiel:aesscsnc01ede-urbaIptdieetoina"0aáde1atiranoe;stD.a_rDo0r.er1ne,Znbe'aófoq,Rdscs:opgeüeoase1'_uaipa0"e;icairlss1*.ii;st.ulr1tlretooaler0uiabarnnnrómrnrs"onoritnupbie:ai.sr:á'gio.ot.s"¿o"glmprEca_.0E_lrdcorniepnauosylirryr0onoesáeo"rtac'tccc"ntar.ar,'s.ór,leoet."t-oararáere¿oaJdsnun(i"lmdc"ll.JaáóleicJft.dr"iagñevuon,ae"dplrfi1gmeoam;bc"nn.yoad.uir1"ác1;li"cc;opd"o*ói.en;;c"1vácie"*-o;;eernsóai".;;rp";)súodslit;.i;on.zd.Lguotáii;Liineebn:;ol'ieAop"a"0.;i"oaslimoepá;;ñsbJet0Lsideroeetuti.tira0U"ir,diirbalpr-np-or-íaae¡saccinreoo"rtseeciaisr¿.aDnrógsf"si,gdaiócreenen.deiFraseBconeAs.oteartde:initecnLie1AsseórpsrecotU0oetrne,n.neodap*rond0scrdsee0ldm^eaydeuu0eFoteerRareiAcssepbníoacsln:dac1catnaiLbtionrtéuseasó.irdreAaóUilloaennessatnaaoscn._-or_.-
Tabla g-9 Ejemplos de microoperaciones para un procesador
Microoperación Palabrade control Función
F C¡n
Rl+--Rl-R2 001 0t0 001 010 I 000 Sustrae¡ R2deRl
0ll 100 000 010 I 000 Comparar RByR4
R3-R4 r00 000 l0l 000 0 000 Trasferir R4 a R5
R5 <--fi4 000 000 ll0 000 0 000 Entrada de datos a g6
Itó <-.Entrada ul 000 000 000 0 000 Salida dedatosde.RT
Salida<- R7 00r 000 001 000 0 000 Borrar el bit dearrastre C
Rl<-¡Rl,C<-0 oil 0ll 0ll t00 0 010 trsspl¿pr a la derechaR3 con.L : 0
001 001 001 100 0 l 0 l C i r c u l a r al a d e r .R l c o n b i t d e á r r a s t r e
R3 <- shlR3 000 000 010 000 0 0l I Borrar.R2
Rl<-crcRl
R2<-0
j!
sEc. 9-9 U N I D A DP R O C E S A D O R ^4 O 5
son afectadosdespuésde las operacionesaritméticas. Los bits de condicion
C y V se dejan sin cambiar durante una operaciónlógica ya que esosbits
no tienen significadopara las operacioneslógicas.En algunosprocesadores
es costumbreno cambiar el valor del bit de arrastre C despuésde una ope-
ración de incrementoo decremento.
si se quierecolocarel contenidode un registroa un registrode despla-
zamientosin cambiar el bit de arrastre,se puedeusar la operaciónlógica
OR con el mismo registroseleccionadopara las entradasA y B del ALU. La
operación:
R<-R!R
no cambiael valor del registroR, sin embargo,colocael contenidode R a las
entradasdel registrode desplazamientoy no cambio los valoresde los bits
decondiciónCyV.
Los ejemplosen la Tabla 9-9 discutidos hasta ahora usan el código000
de selecciónde desplazamientopara el campo H, para indicar una opera-
ción de no desplazamientoP. ara desplazarlos contenidosde un registrose
debe colocar el valor del registro en el registrode desplazamientosin ha-
cerle ningún cambio al ALU. La proposiciónde la microoperaciónde des-
plazamientoa la izquierda:
R3 <- shlR3
especificael código para la selecciónde desplazamientopero no el código
para el ALU. El contenidode R3 puedecolocarseen el registrode desplaza-
miento para especificaruna operaciónOR entre .R3y el registromismo. La
informaóión desplazadaregresaa R3 si ft3 se especificacomo el registro de
destino. Esto requiereque los camposde selecciónA, B y D tengan el có-
digo 011 para R3, que el código de función del ALU sea 1000para la opera-
ción oR y que el selectorIl de desplazamientosea 010 para el desplaza-
miento a la izquierda.
El desplazamientocircular a la derechacon arrastre del registroR1 se
simbolizapor mediode la proposición:
Rl<-crcRl
Esta proposiciónespecificael códigodel registrode desplazamientopero no
el códigopara el ALU. Para colocarel contenidode R3 en los terminalesde
salida del ALU sin afectarel bit C se usa la operaciónOR comose hizo an-
teriormente.De esta manerano se afectael bit C en la operacióndel ALU,
peropuedecambiarsedebidoal desplazamientocircular.
El último ejemploen la Tabla 9-9 muestrala palabrade control parabo-
rrar un registroa 0. Para borrar el registroR2, se haceque el bus de salida
contengasóloceroscon.FI:011. El campode destinoD se haceigual al có-
digo del registro R2.
Es obvio a partir de estosejemplosque muchas otras microoperaciones
pueden generarseen la unidad procesadora.Una unidad procesadoracon
un conjunto completo de microoperacioneses un elemento de propósito ge-
4 0 6 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S C A P .9 I
neral que puede adaptarse a muchas aplicaciones. El método de trasfe-
rencia entre registros es una herramienta conveniente para especificar las
operaciones en forma simbólica en un sistema digital que emplea una uni-
dad de proceso para propósitos generales" El sistema se define primero
con una secuencia de proposiciones de microoperación en el método de no-
tación de trasferencia entre registros o en cualquier otra notación disponi-
ble de trasferencia. Una función de control se representa aquí no por una
función de Boole sino por una cadena de variables binarias llamadas palabra
de control. La palabra de control para cada microoperación se deriva de la
tabla de función del procesador.
La secuencia de palabras de control para el sistema se almacena en la
memoria de control. La salida de la memoria de control se aplica a las va-
riables de selección del procesador. Leyendo consecutivamente las pala-
bras de control de la memoria, es posible darle secuencia a las microopera-
ciones del procesador. Así, todo el diseño puede hacerse por medio del
método de trasferencia entre registros, el cual en este caso particular se
refiere al método de la microprogramación. Este método para controlar la
unidad procesadora se demuestra en la Sección 10-5.
9 - 1 O D I S E Ñ OD E L A C U M U L A D O R
Algunasunidadesprocesadoradsistinguenun registrode otrosy lo llaman
registro acumulador. La organización de una unidad procesadora con un
registro acumulador se muestra en la Figura 9-4. El ALU asociado con el
registro puede ser construido como un circuito combinacional del tipo dis-
cutido en la Sección 9-5. En esta configuración, el registro acumulador es
esencialmente un registro de desplazamiento bidireccional con carga en
paralelo el cual es conectado a un AL[I. Debido a la conexión de retroali-
mentación de la salida del registro a una de las entradas en el ALU el re-
gistro acumulador y su lógica asociada, cuando se toman como una sola
unidad, constituyen un circuito secuencial. Debido a la anterior propiedad
un registro acumulador puede ser designado por técnicas de circuitos se-
cuenciales en vez de usar un ALU de circuito combinacional.
Ci¡cuito Variables de control
combinacional
Ent¡adasde datos
Figura 9-17 Diagrama de bloque del acumulador
--E
sEc.9-10 D I S E Ñ OD E L A C U M U L A D O R4 O 7
El diagramade bloquede un acumuladorque forma un circuito secuen-
cial se muéstra en la Figurag-17. El registroA y el circuito combinacional
asociado constituyen un circuito secuencial.El circuito combinacional
.e*plaru al ALU pero no puede separarsedel registroya que éste es sola-
menie la parte def circuito combinacionaldel circuito secuencial.EI regis-
tro A se irata algunas vecescomo el registroacumuladory se denota al-
gunasvecespor eI símboloAC. Aquí, el acumuladorse refiereal registroA
ciado.Las entradasexternas al acumu-
i!a d" ., n circulto combinacionalaso B y las variablesde control que deter-
o, s on las entradasde datos de
minan las microoperacionedsel registro.El siguienteestadodel registroA
es una función dé un estadopresentey de las entradas externas.
En el Capítulo ? se consideraronvarios registrosque realizan funcio-
nes específi""Átul". como la carga en paralelo, las operacionesde despla-
zamiento y el conteo. El acumulador es similar a estos registrospero es
más generálya que éste puederealizar no solamentelas funcionesanteric-
,", .ino tamLién otras operacionesde procesamientode datos. Un acumu-
lador es un registrode multifunción que por sí mismo puederealizar todas
las microopericionesen la unidad procesadora.Las microoperacionesin-
cluidas en un acumuladordependende las operacionesque debenincluirse
en el procesadorparticular. Para demostrarel diseño lógico de un registro
operaclonalde multipropósito tal como un acumuladorse diseña el circui-
tó con nuevemicrooperacionesE. l procedimientoenunciadoen esta sección
puede ser usado para extender el registro a otras microoperaciones.
El conjunto áe microoperacionepsara el acumuladorse da en Ia Tabla
pr hasta pe son generadaspor los circuitos
9-10.Las variables de control consideradascomo funciones de control que
iógi"o. de control y deben ser
inician las operacionescorrespondientesde trasferencia entre registros.
El registro A es un registrofuente en todas las microoperacioneslistadas.
En es*enciaéste representael estado presentedel circuito secuencial.El
registro B se usa como un segundo registro fuente para microoperaciones
qu"enecesitan dos operandos.El registro B se asume que está conectadoal
Tabla 9-lO Lista de microoperaciones de un acumulador
Variable Microoperación Nombre
decontrol
A<_A+ B Sumar
Pt
Pz A <-0 Borrar
Ps
A e-.f Cornplementar
Pq
A<-A \B AND
Ps A<_A\/ B OR
Pe
Pt A<-.A@B OR-exclusiva
Ps A <-shrA Desplazara la derecha
Ps
A +-sl:JA Desplazara la izquierda
A<-A*l Incremento
Si (A : 0) entonces(Z: l) Comprobarel cero
4 O 8 D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9
etcdvrsnda¡eosieauecclstncodueáiotdoujamven.leneaasnbLusanmiiaoaldntlcail-reofniúrdEoacnaoldorlsittd.mriL_rpetmcoayeauaausalsnrprci.saetarineouógotunmnivdossetateudrtirvnrarccaaoeiidueasssvAaueb^ftaerelnnraarreneciis1gddilsl-aabaaebm0lslab.iEeT,inecesAsaaerndstbrosateeiclorosardoacp"evnhd9o"racs;ar-n,biu1rtsrtuiii"r0,tala'oiuieuo.b;liry;snrrirecleuuv"e;eisinnar.les.lc#aaroos.iuüoaindngisrb"etlrr"ioroleeci*ie..á.lmrsa]ldi"i"etirrpev.iaáclr*¡suc.eor,eali"eoeaós,lni.lmntdcadra¡ideeaizméogucld,.dninoEuesentllctcplurtuoorcruareaomeiAlm¡gsnlgc.ociodeisuoesonLtdietrnnttareoole_-o
P r o c e d i m i e n t od e d i s e ñ o
tnappetcqrErooaiaoolucslsdmrpitauseaiaadreperiodicsednu:dcutenIcaeeeie,mroso.2snnedteEntu,iaicvaeñsmsldehcnaaeaiaccaddrceypiod.áounon.ouan.eatartrs,icvounvsaBoedtnaanacnnen,am.uudiAsyedCsnedoi-,nisrfng+rsa_tlttaaite.leedup.arrdñ"ra.!q_adoóleoeufo-gpqlfsyn"téóliaiuuancppudreirpea_stznueictdasfqc.ablAoaeiroiúgpedóm-,lpiupicaoneisbudpersreaeiyemosd.desr-in.e;enuan/tl-ofácslicta.ta;erofdai;"lsod;rneudiienpo.s;'omorrda;_ri""é;dru"arfo;rsa;lóe;ísroe;Jtn.roep.i;abo.c;tnssi-uiAii¿uoc;tia;.i,rilrd.,óa,-r;án¿m;r"";i-nA'o;sse"ra.irpln,seu,Aett"telpee.rcau,n.u"ip.faatn,yledrair,aapxes.Adt-tEsena,r,faileltmúovaedmnrlpepitteeulai.aaacmgmdpEriitianzeaísane___ssa__
slrsrmcspvuaaeeioaaeribcrclrcrdgáailitróueaeiomoCpcnimbbctouoae.oleaepelsDndamsnescitabereetrob.delvacumeeieP.acacnuscbiirraaoctnóailiaraoannanvmamsnaaAb.abqtcv¡relsaereiiuietíoaandona,ezrbreneepl.alqsraal,leaaaqcouilasdd,uon-eepcseeoennuaelepicutálmt.puxroeao'soucnuusrnaloledcltua'a-rbdpiióyccfrodteet,c"uiejt^oó.s¡:u,mpnrrfereitits,m"e,t.n"u2orerrrt,lpe,-,seagduá.*ln_s.di"n"r¡i.qbpriioac,cttsu"i¡iireaárieergáczsratnuiaeam""liiisi"pnfgdt;eios;aecr;n"ie.-;ac"nt;t;í}e;Áed'dipi"-cus,oil.;isir'icieJ.;atre.;aasopnun.adp-eáinp-.seon.,aa¡lssaa"rmuieaai"b.napci""rlcaoa"ouaey.ro.mrsdpomacce;auocd;oaiprclopadmaaarnemadorocsaroouea;aiil;rdpnnad;ecyeeatsalie_-ó,n
"o-pf"tá.---
dfttshl.erraeueearmcie.dvdphnaaAaorotsredq,raicavoaello"i,drb.ogfnlealleiaencepesr¡ld-npt.faAeallotEBaLrcpalUosplaAbei.nrgi,lettEoAursvo_ilseelcus(ennpopmulttrmeermaa)edepr:agteisuaadeLAespotn.ast,arer,ct.deEromolaesaa-dimtu'cceaoireprrnoupcnlteoutráeiatpiaroteldteouesnarsuacac.¿m,c"ea.e-i,lda"óá¿aadndacoe;;er;turt;b-"a;mJsr;;p-i¡-uu";,.at;mlloiiiar;a.,iaá""pc-s.rl.eee"pptdiorbtn"ea.iiabtrcu"áeitdcacsaoeuoecrmsmraruaatrooarrrsaefanutusnrsdnee_-_o
fccsl ooui mpme npLoAcluai,ifnai cacl .canoLidtnraecasruttsiaroiitubrosclaaseclei cdócpoenuunieelnsssntioetdcaredi andrelaoa,sdqredeeumeleor rujué.ernes.sxt,artcpr-ieauor ccedpuinoefii.rtlcaoaa"c""FsolÁuimg-pm"iro.rJa1rpatd;"Jago,or--rt"-1ec";&r"odeim¿ñef eolpunl,ent"es1t oce"e;ipc¡nucoduen;eidslt eoifdci ;sise:reer-ra_
sEc.9-10 O I S E Ñ OO E LA C U M U L A D O R4 O 9
cuito secuencial.El valor de A, despuésde la aplicación de un pulso de
reloj especificael siguiente estado.El siguiente estado de A, es una fun-
ción de sus estadospresentesy entradas B, y C,. El estadopresente)
las entradasen la tabla de estadocorrespondena las entradasdel sumado¡
completo.El estadosiguientey la salida C¡a1 corr€spondea las salidasdel
sumador completo. Pero como éste es un circuito secuencial,A, aparece
en ambas columnas de estadopresentey siguiente.El siguienteestadode
\ -{, da el bit suma que debetrasferirseal flip-flop.
Las entradasde excitaciónpara el flip-flop JK se listan en las colum-
t nas JA, y KA,. Estos valoresse obtienen por el método enunciadoen la
Sección6-7. Las funcionesde entrada del flip-flop y las funcionesde Boole
para la salida se simplifican en los mapasde la Figura 9-18. La entradaJ
del flip-flop A, designadacomo JA, y la entrada K del flip-flop A, desig-
nada como KA, no incluyen la variable de control pt. Estas dos ecuacio-
nes deben afectar el flip-flop solamentecuando pt esté habilitada, por
tanto debenaplicarsea una función AND con la variable de control pt. La
parte del circuito combinacionalasociadacon la microoperaciónde suma
puedeser expresadacon tres funcionesde Boole:
JA,: 3,6,'r, + BiC¡t,
KA,: B,C,'p,+ BiC¡t,
C¡*t: AiBi+ AiCi+ BiCi
Las primeras ecuacionesson idénticas y especificanuna condición para
complementarA,. La tercera ecuación generael arrastre de la siguiente
etapa.
Estado Estado Entradasde
presente Entradas siguiente flip-flops Salida
Ai Bi ci Ai JAí KAi C¡*t
0 00 0 OX 0
0 0l I IX 0
0 l0 I IX 0
0 tl 0 OX I
I 00 I XO 0
I 0t XI I
I l0 0 XI I
I ll I XO I
Bi
I XXX I
A., L{ X X w x II
A C¡*1=A,B, + AiCi + Bici
g--J
L,¡
JA¡=B¡C'¡+BiC¡ KAí= Bic'i + B'íCi
Figura 9-18 Tabla de excitación para la microoperación de suma
4 I O D I S E Ñ OL O G I C OD E P R O C E S A D O R E S CAP. 9
Borrar (pz't: La variable de control p, borra todos los flip-flops en
el registro A. Para causar esta transición en el flip-flop JK se necesita
solamenteaplicar la variable de control p2 a la entrada K del flip-flop. La
entradaJ se asumirá como 0 si nada se aplica a ella. Las funcionesde en-
trada para la microoperaciónde borradoson:
JA,: g
KA,: P,
Complementar (pa): La variable de control p, complementa el
estadodel registroA. Para causaresta transición en un flip-flop Jl( se ne-
cesitaaplicar p3 a ambasentradasJ y K:
JA¡: PI
KA': pt
AND (pn): La microoperaciónAND se inicia con la variable de con-
trol p. . Esta operaciónforma la operaciónlógica AND entre A, y B, y
B¡ B¡
Ai KAi B'i
JA¡' O
(a) AND
Entradas de
lA¡,=3' KAi'-- O
o) oR
Estado Entradas de B¡
Estado
presenteEntrada siguiente los flip-flops
TAi KA¡
OX I A¡: Bi KA¡:3'
tX
X0
XI
(c) OR-exclusiva
Figura 9-19 Tablas de excitación para las microoperaciones lógicas
I
sEc.9-10 DISEÑODEL ACUMUi-ADOF ¿: i
t r a s f i e r e e l r e s u l t a d o a A , . L a t a b l a d e e x c i t a c i ó n p a r a e s t a o p € r a c r L ) ns E
da en la Figura 9-19(a). La siguiente etapa de A, es l solamente cuancitr
B, y el estado presente de A, sea igual a 1. Las funciones de entrada dei
flip-flop, las cuales se simplifican en Ios mapas, indican que la entrada /r
del flip-flop se habilita con el valor del complemento de .B,. Este resultado
puede ser verificado de las condiciones listadas en la tabla de estado. Si
B, : I el estado presente y siguiente de A, son iguales de manera que el
flip-flop no tiene que sufrir un cambio de estado. Si B, :0, el siguiente es-
tado de A, debe ir a 0 y para lograrlo se habilita la entrada K del flip-flop.
Las funciones de entrada para la microoperación AND deben incluir las va-
riables de control que inician esta microoperación:
JA,: g
KA,: Bipa
OR (p, ): La variable de control p" inicia la operación lógica OR en-
tre A, y B, con el resultado trasferido a A,. La Figura 9-19(b) muestra
la deducción de las funciones de entrada del flip-flop para esta operación.
Las operaciones simplificadas en Ios mapas indican que la entrada J está
habilitada cuando B, : l. Este resultado puede ser verificado a partir de la
tabla de estado. Cuando B¡:0, el estado presente y siguiente de A' son
iguales. Cuando B¡ : l, la entrada J se habilita y el estado siguiente de A,
se convierte en 1. Las funciones de entrada para las microoperaciones OR
son:
JA, : B¡tt
KA,: g
OR-exclusiva (po): Esta operaciónforma la OR-exclusivalógica en-
tre A, y B¡ y trasfiere el resultadoa 4,. La informaciónpertinentepara
esta operaciónse muestra en la Figura 9-19(c).Las funcionesde entrada
de los flip-flopsson:
JA, : B¡t6
KA,: B¡tu
Desplazamiento a la derecha (pt ): Esta operacióndesplazael con-
tenido del registro A una posición a la derecha. Esto significa que el valor
del flip-flopA¿ar, €l cual está una posición a la izquierda de la etapa i, debe
ser trasferido al flip-flop A¡. Esta trasferencia se expresa por medio de las
funcionesde entrada;
JA,: A,*tp,
KA,: Ai*tpt
D e s p l a z a m i e n t o a l a i z q u i e r d a ( p ¡ ¡) : E s t a o p e r a c i ó n d e s p i a z a e l
registro A una posición a la izquierda. Para este caso el valor de A, r, el
4 12 D I S E Ñ OL O G I C OD E P R O C E S A O O R E S CAP. 9
cual está una posición a la derecha de la etapa i, debe ser trasferido a Ai.
Esta trasferencia se expresa por medio de las funciones de entrada:
JA, : A,-rps
KA': A"-tPa
rncremento (ps ): Esta operación incrementa el contenido del regis-
tro A en uno; en otras palabras, el registro se comporta como un contaáor
binario asincrónico con pe habilitando la cuenta. un contador sincrónico
de 3 bits se muestra en la Figurag-20. Este es similar al contador de la Fi-
gura 7-17 de la Seccién 7-5 donde se discute en detalle la operación de los
contadores binarios sincrónicos. Del diagrama, se observa que cada etapa
se complementa cuando un arrastre de entrada E,:1. Cada etapa genera
también un arrastre de salida 8,11 para la siguiente etapa de la izquierda.
La primera etapa es una excepción ya que ésta se complementa con ét ttaui-
litador de cuenta pn. Las funciones de Boole de uná etapa típica pueden
ser expresadasde la siguiente manera:
JA,: E, i:1,2,...,n
KA,: E,
E,*r: E,A,
Et:Ps
EI arrastre de entrada E, a la etapa, se usa para complementar el flip-flop
A cada etapa genera un arrastre para la siguiente, aplicando la función
Et: ps
L--- ----J
Figura g-2O Contador binario sinc¡ónico de 3 bits
T
S E C .9 . 1 O D I S E Ñ OD E LA C U M U L A O O4A1 3
AND al arrastre de entrada y a A¡. El arrastre de entrada que va a la pri-
mera etapa es E1 y debe ser igual a la variable de control pe la cuai habi-
lita la cuenta.
comprobación del cero (z)z La variable z es una salida del acumu-
lador usaáo para indicar un contenido de cero en el registro A' Esta salida
es igual al blnario 1 cuando todos los flip-flopl se hayan borrado. cuando
,rr, ñip-flop seborra, su salida complementada Q' es igual a 1. La Figura 9-21
-uu.[ru lás primeras tres etapas del acumulador para comprobar un conte-
Cudu etapa genera una variable z¡¡y &l aplicar la función
nido de
A N D a l"a".soai.l i d a c o m p l e m e n t a d a d e A ¡ Y a u n a v a r i a b l e - d e e n t r a d a z , . I ) e
esta manera una cadena de compuertas AND a lo largo de todas las etapas
indicará si todos los flip-flops están borrados. Las funciones de Boole para
una etapa típica pueden ser expresadas de la siguiente manera:
- -- .-i ^^t ' i:1,2,..,,n
¿i+l
zt: I
Zr+l: Z
La variable Z se convierteen 1 si Ia señalde salida de la última etapa2,. t
es1.
Una etapa del acumulador
Una etapa típica del acumuladorconsistede todos los circuitos que fueron
deducidáspara las microoperacioneisndividuales. Las variablesde control
p1 hasta pn rotr excluyenlesmutuamente de manera que los circuitos Ió-
combinadoscon una opera c i ó nO R . Com-
!Éi .ionra n"door .t lo.dpao sn dl ai p u e d e ns e r trada para las entradasJ y K del fli p-flop
es nfutenscionesde en
Etapa3
Figura 9-21 Cadena de compuertas AND para comprobar el contenido
de ceros en el registro
Fz Borrra¡
P3 Complementar
% AND
Ps oR
Po OR-exclusiva
"¡| |
P.t Desplazamiento
a la derecha
PB Desplazamiento
a la izquierda
Incremento
Figura g-22 Una etapatipica del acumulador
sEc.9-1O D l s E Ñ oD E ' ,i-c l - \ t u * : l ' : : ' '
A, se produce un conjunto compuesto de funciones de entracia cle B'" '¿
para un estado tíPico:
JA,: B,Cipr* B,'C¡tr+p3+ B,ps-fB'pu+ A'*tPt *A'-''p'+ E'
KA, : B,C,'p, + BiC¿t, * Pz * pt + BiPq * B,pot A''*tPt
+ A:-tPs * Ei
Cadaetapaenelacumuladordebegenerartambiénlosarrastresparala i
siguiente etaPa:
1
C+r: AiBi+ AiC¡+ BiCi
{I
E,*r: E,A,
1I
zr*r: z,A',
1
etIl oei nssstlacacEdiirrlFaccisudugaiiiutatnoorgtassergsair-neim2odc2raiomr.lrmónei ág-bnruii1ctnaeoual."eEd"nselclaaoudsnnoicaodacgánoredfsaitogcamsoúpacmraeaotpscní upiuáceincnardatdcai.radiseroemccRuuti acintredo.oareoc-ctllopua. ume.smrpefauuuncnletiarcósadintodoo'LnqarsoeusesJsedmdyieniufBKceelorsudeotyernleael-
fpctccdlrisoiiepaórncr-deneftucaulrdcoioasethepoldaaip.Aainln.A"Bd'ac.e,,isrc,ct,eeeauamspmnavaeepuiuenlldlnianbtáeuodlil;uoad,a-ráá"eic.relc*uuiIá¿¡adm- "s.aserutaorslotdalcueisehddldooalaaearmdrtllreeiaoieaclnsnsprfllortteri-eapiormrod-epmdfcaeelehoir8r'aopáae, ,lcneeqeithtnuosraáteanprBydeaeapasdosqpotalduarásseaeruidasbsInealshuaee^mcespiaot'sioLabnnesapiitnlsiraicotttvrpairlaóaarrplrndenai1aaavl oiasbhlaeapslaeaneedsd.rentelaeaal--- t
remuegel.s"a-rca-e"rhir"lurülaaa-a"rystru"crtA|lraa"ie,ddslautlerveaneiu"eaediprnrneruuitieri*inuñac;J"idiria;tá;e"npaipm"ui;",,pre-"áó-inón;ttn;upoo' áppbár-apqaeeréu.aftco'"uuer1I.amrtiuóotasárn.rriEug"udlluna*etiaccreineiapnrcdcpotreueaseeniritmatacoapeilptóaaniaerntsaonyaiye.lglazaucz¡diiu¡aezeasInqtetet€ruecuosiecsespitaóaarapndlpridaadaaera,'laE{acslte:'to*Asrj1roi,--.
1
AcumuladorcomPleto
{
1
I
l
UcTpaaond.daaLacascusolmanosutcrvlaaaadsdraieoaenrbttclárloa!fímd^da"peásl"yceto.ts"noia"tcrl"iooadlonaent-xb"c'ei-ettlps"cttrioie"ipcqnuueidtitoeearbpmeeanond_seestsbreateraadnpdoeloesictsnaacrldaocanosFenaigeccuctaatradaddao9ae-ss2teea2nn-' c a s -
i".*¿u para formar un acumuladorcompleto'
La interconexiónentre etapaspara fot-ar un acu-m--u-rladorcompletose
ilustra en el acum,,t,ao, de 4 bits mostradoen la Figura 9.23.Cadabloque
en el diagr"*",;;;;.;ta-ei circuito de la Fi gurag-zz-nt númerode Ia
partesuperi< lnrdrceoll-eqccrprae.;ds; ;aLi iba" "lso oqtuor aceh-rqoespev airser iesanebtln,értasadcilaaespyc oocnsutiracotilróponrsdale]l:ibtduiat sepenine )lcaalc:d:uam u l a -
dor. Todos io.
;;il";--Je-.eloj
o
o
fl so
! v.i
ü !4
i r58e
'rv\r{\
N,3 i-
NV\IQ
NU\QJ o
d ,s" rvÍ\)kr. ] \ <l
-É - ú N
\J\ta I
b¡
q"*.(r.{ao{
s
lb
Nl)\f¡J
l\ oco ú-
<.9
<ü
416
) R O B L E M A S4 / 7
bloqueson idénticas a aquellasde una etapa típica, exceptoque el suscrito
i se remplazarrl el númeroparticular en cadabloque.
El circuito tiene cuatro entradasB. La cadenade detecciónde cerose
obtiene conectandolas variables z en cascada,con el primer bloque que
recibeuna constantebinaria 1. La última etapa en esta cadenaproducela
variable de detecciónde cero Z. Los arrastresde la suma aritmética se co-
nectan en cascadacomoen los circuitos del sumadorcompleto.La entrada
en seriepara la operaciónde desplazamientoa la izquierda,va a la entrada
A6 la cual correspondea A,-t en la primera etapa. La entrada en serie
para la operaciónde desplazamientoa la derecha,va a la entrada A, la
cual correspondea A,+t en la cuarta y última etapa. La operaciónde in-
crementose habilita con la variable de control Pg €n la primera etapa.Los
otros bloquesrecibenel incrementode arrastrede la etapaprevia.
El númerototal de terminales en un acumuladorde 4 bits es 25 inclu-
yendo los terminales para las salidas A. Agregandodos terminales más
para la fuente de poderel circuito se puedeencapsulardentro de un CI que
tenga27 ó 28patillas. El númerode terminalespara las variablesde control
puedenreducirsede 9 a 4 si se agregaun decodificadoren el CI. En tal caso,
la cuenta de las patillas del CI puedenser reducidasa 22 y el acumulador
puedeser extendidoa 16 microoperacionesin agregarpatillas externas.
REFERENCIAS
1. Mano,M. M., ComputerSystemArchítectureE. nglewooCd liffs,N.J.: Prentice-
H a l l . I n c . .1 9 7 6 .
2. The TTL Data Bookfor DesignEngíneersD. allas,Texas:TexasInstruments,
I¡c., 1976.
3. The Am2N0BipolarMícroprocessFoar mílyData Booh.SunnyvaleC, alif.:Ad-
vancedMicroDevicesI.nc..1976.
4 . Sobel,H. 5., Introduction to Digital ComputerDesign.Reading,Mass.:Addison-
WesleyPublishing Co., 1970.
5 . Kline, R. M., Digítal ComputerDesign.EnglewoodCliffs, N.J.: Prentice-Hall,Inc.,
1977.
o . Chirlian, P. M., Analysisand Designof Digital Círcuitsand ComputerSystems.
Champaign,Ill.: Matrix Publishing,Inc., 1976.
PROBLEMAS
9-1. Modifique la unidad procesadorade la Figura 9-1 de manera que el registro
de destino seleccionadosea siempreel mismo registroque se seleccionacon
el bus A. ¿Cómoafectaestoal númerode multiplexoresy al númerode líneas
de selecciónusados?
9-2. Un procesadorcon un bus organizado como en la Figura 9-1 consiste de 15
registros.¿Cuántaslíneasde selecciónhay en cada multiplexor y en el deco-
dificador de destino?
9-3. Asuma que cada registroen la Figura 9-1 es de 8 bits de largo.Dibuje un dia-
grama de bloque detallado para el recuadro marcado MUX que seleccionael
4 I B D I S E Ñ OL O G I C OD E P R O C E 5 A D O R E S CAP. 9
9-4. registro para el bus A" Muestre que Ia selección puede hacerse con ocho mul-
tiplexores c¡e4 a 1 iínea.
9-5.
9-6. una unidad procesadora emplea una memoria tapón como en la Figura 9-2.
9-7' El procesador consiste de 64 registros de ocho bits cada uno.
(a) ¿Cuál es el tamaño de la memoria tapón? (scratchpad memory)
(b) ¿Cuántaslíneasse necesitanpara la dirección?
(c) ¿Cuántaslíneashay para los datos de entrada?
(d) ¿Cuál es el tamaño del MUX que seleccionaentre la entradade datos y
la salida del registrode desplazamiento?
Muestre un diagrama de bloque detallado para la unidad procesadorade Ia
Figura 9-4 cuandolas entradasB vienende:
(a) Ocho registrosprocesadoresque forman un sistema de bus.
(b) Una unidad de memoria con direccionesy registrosseparadores.
El ALU de 4 bits de la Figura9-5seincluyedentrodeun cI. Muestrelas co-
nexionesentre tres cI para conformar un ALU de 12 bits. Asigrrelos arras-
tres de entr¿:day salida en el ALU de 12bits.
El CI TTL ti¡xr 7487es un elemento de 4 bits verdadero,/complementoc,eto/
uno. Una etapade esteCI se muestraen la Figura P9-?.
Bi
Figura Pg-? Circuito verdadero,/complementou,no/cero
(a) Deduzca las f'uncionesde Boole para las salidas { como función de las
entradas ,B,, s, y s¡ "
(b) Dibuje la tal¡ia de verdad para el circuito.
( c ) Dibuje una r..ablade función (similar a aquella mostrada en Ia Figura 9-z)
y verifique la operación del circuito.
j-.q' Modifique el circuito aritmético de la Figura 9-8 incluyendo una tercera va-
riable de selección s2. Cuando sz : 1 el circuito modificado es idéntico al
circuito original. Cuando s¿:0, todas las entradas A a los sumadores com-
pletos son inhibidas y se colocan ceros de remplazo.
(a) Dibuje el diagrama lógico de una etapa del circuito modificado.
(bt Haga un análisis similar a aquel de la Figura 9-6 para determinar las
ocho operacionescuando s: :0.
(c ) Liste las nuevas funciones de salida en forma de tabla.
9-9. Dete¡mine las operacionesaritméticas obtenidas en ocho bloques de la Figura
9-6, sr en cada caso la entradaA se cambia aF(complementó de¿).
9-10. Diseñe un ci¡cuito aritmético con una variable de selección s y dos entradas
de datos a y B. cuando s : 0, el circuito realízala operación de suma F : A+
B. Cuando s:1, el circuito realiza la operaciónde incremento F:A* 1.
T
P R O B L E M A4S' I9
9-1 1. L a s u s t r a c c i ó nb i n a r i a d i r e c t aF : A - B p r o d u c eu n a d i f e r e n c i ac o r r e c t as i
A > 8 . ¿ C u á lp o á r i " s e r e l r e s u l t a d os i el a r e l a c i ó ne n t r ee l
resultaáoobteniJoen F y el bit de pré A<B? Determin
stamoen Ia posici ónmás significati'a'
g-12. Diseñeun circuito aritmético con dos variablesde selecciónst Y so que ge-
neralassigulentesoperacionesaritméticas.Dibujeeldiagramaiógicodeuna
etapa tíPica.
s l S6 Ctr:o Crn: I
0 F=A+B F:A+B+l
0 F:A F:A+l
I F:E F: E+r
r:l+E +l
I F:A+E
g-13. Diseñe un circuito aritmético con dos variables de seleccións1 ! s¡ Qu€
;;;;; ru. .leul."i.s operacionesaritméticas. Dibuje el diagrama lógico de
una etapa flplca'
J l s0 Cr': o C¡: I
0 F:A F:A+l
0 F:A-B-l F:A-B
I F:B-A-l F:B-A
I F:A+B F:A+B+l
g-14. Las siguientesrelacionesde la operaciónoR-exclusiva fueron usadaspara
derivai ias operacioneslógicasde la Tabla 9-3'
(a)xO0:x
(b)xOl=x'
(c)xOY':xOY
Pruebe que estas relacionesson válidas'
g-15. Deduz clmiasuutnal tdicpailsrec"xu.oriitlouácTeou4mbxlbui1n2ian- 5cvi.eoUrnst iaedlmoc u,í anetismr odoe, rcqáiurr,ieaugbseleensl aedsreeetsonedtl eraacsdclaai óssnn1.So6rufmguaenlrceeisondnceieals:
ló;i;;.
UJe ur
multiplexor c-omolas líneasde selecciónpara la unidad lógica.
9-16. Modifique el circuito arit mético de la Figura 9! en u¡ AlU con la variable
de selecciónde modo s2' Cuandosz: 0' ¡'l'U es idéntico al circuito arit-
ALU gener aia"st funci oneslógicasde acuerdoa la
mético. Cua.tdorr:1,'el
s i g u i e n t et a b l a :
S2 s l S6 Salida Función
0 F:AAB AND
I F:A@B XOR
0 F:AVB OR
I F__A- NOT
4 2 O D I S E Ñ oL o G l c oD E P R o c E S A D o R E S CAP. 9
9-17. una unidad lógicaaritmética es similar a la mostradaen la Figur a g-18,ex_
cept o que las entradasa cada circuito s uma d o rc o m p l e t oe s t á n t e u.,ru.ho
las s iguientesfuncionesde Boole:
"
X,: A,B¡ + (s2s\s[)'A+, s2s1si_B¡
Y, : ssB,+ s,Bi(s2s,si)'
21 : s2C¡
Determinelas 12funcionesdel ALU.
9-18. La operaciónrealizadaen un ALU es F: A+B @ más el complementode 1
de8).
(a) Determineel valor de salida F cuandoA:8. Permita queestaconclición
pongaa uno un bit de condiciónE.
(b) D e t e r m i n e , q u el a - . c o n d i c i óCn o u t : l . p e r m i t a
uno el bit decondiciónC. q u e e s t ac o n d i c i ó np o n g aa
(c) D e d u z c au n a tabla para las s eisrelac ioneslistadasen l a Tabla 9-5en tér-
minos de las cond icion e sd e los bits de condiciónE y c definidosa nte_
riormente.
9-19. dn[lcó-eaeIgnldsirac.aieoguugunmniasiaodtlsreadotsdredyadelnaeddcsepooscrnlaoiodgscniucecdiaosóilcomnei.osptsinuoeeennsreltcuiasonstmqarudeueagnsviesaestnanrodladaemeslabcTsaoassnbatdlalaiibcdsilaóga.n-sásd..)vei"ÁDdstii-be0uuz. j(beaLuitalnsos,sdcudionaienogzdrpbiacaimtirsoaa_
9-20' ttDeroo, lsaRnt.úrLamsoefserbroeistncscodi1ae.sp:iogrunnedobi-ce¡ieóqanugesrelag(sasinguenmnoau)ypnuvAedL(seUodbyivriesdcuirasspeu.m.arha¿orsrJeaistpreaoasrff2eiecdrteaeanardcruueergardinso--
a Ia proposlclon:
R<-shrR, rR,<-S@ /
dondeR, es el bit de signo (posiciónextrema izquierda)del registror?.
9-21. pddAeeogcrsreieflciígcnhuaeaerdaolestardloaeemnsstieugrallutediipcealcneeitxóenonmssr eeaarpnlieearrr.eafarg:didsautsGrroardnyetedGleaos.opEplaseztreaamcmiióuenlntdtiopedledexelosapr Flsaiegzuuasrmaaie9pn-a1trobaaceoIsan-
G l Go Función
0 Colocar ceros a 1.
I Hacer un desplazamiento ci¡cular
0 Hacer un desplazamiento circular con arrastre
I Coloqueel valor de S O Vpara el desplazamientoaritmético
(ver Problema 9-20)
Muestre la conexión del multiplexor entie el registro de condición y el despla-
miento.
9-22. El selector de desplazamiento I/ deñnido para el procesador de la Figura 9-16
tiene tres variables Hr, H, y fr6. Las dos últimas variables de selócción se
E
PROBLEMAS421
usan para el registro de desplazamiento especificado en la Tabla 9-7. Diseñe
el circuito asociado con la variable de selección H2 .
9-23. Especifique la palabra de control que puede ser aplicada al procesador de la
Figura 9-16 para configurar las siguientes microoperaciones:
(a) R2<-Rl+ I ( e )R l < - s h r R l
(l) R2 <- clc R2
(b) R3 <- R4 + R5 (g)R3<- R4 O R5
(h) Ró <- R7
(c) R6 <-R6
(d)R7<-R7 - I
9-24. Es necesario calcular el valor promedio de cuatro números binarios sin signo
almacenados en los registros R1, R2, R3 y fi4 del procesador definido en la
Figura 9-16. El valor promedio se debe alrnacenar en el registro 85. Los otros
dos registros en el procesador pueden usarse para resultados intermedios.
Se debe tener cuidado de no causar sobrecapacidad.
(a) Dé Ia lista de la secuencia de microoperacionesen forma simbólica.
(b) Liste las palabras de control binarias correspondientes.
9-25. La siguiente secuencia de microoperaciones se realiza en el acumulador defi-
nido en la Sección 9-10.
ptt A* F
ps: A<-A*l
pi A<-A* B
P{ A-l
ps; AeA * |
(a) Determine el contenido de A después de cada microoperación si inicial-
mente A : 1101y la entrada B: 0110.
(b) Repita (a) con las condicionesiniciales A:0110 y B:1101.
(c) Repita (a) con las condicionesiniciales A: 0110y B: 0110.
(d) Pruebe que la anterior secuencia de microoperaciones realiza (A-B)
si A >.B, o el complementode 2 de (B-A) si A <8.
9-26. Usando flip-flops JI( diseñe una etapa típica de un registro A que realiza la
microoperación de sustracción :
pio: A<-A-B
Use los circuitos sumadores completos (Sección 4-4) con bits de préstamo de
entrada y salida K, y K,+ t.
9-27. Usando flip-flops JI( diseñe una etapa típica de un registro que realice Ias
siguientes microoperaciones lógicas :
pfii A<-A\/B NOR
pnt A<-A¡\B NAND
ptti A +- AO B Equivalencia
4 2 2 D I s E Ñ oL o G l c o D E P R o C E S A D o R E S CAP. 9
9-28. Deduzca las operaciones de Boole de una etapa típica de una microoperación
de decremento:
pt¿i A<-A-l
9-29. Usando flip-flops tipo ? diseñe un registro de 4 bits que ejecute la microope-
ración de complemento de 2:
P: A<-f +l
Del resultado obtenido, muestre que, una etapa típica puede ser expresada
por las siguientes funciones de Boole:
7-4,: p¿ i:1,2,3,...,n
E¡*t: Ai + Ei
Et:0
9-30. Un acumulador de 4 bits realiza 15 microoperacionescon variables de control
Pt a Ptr . El circuito se encapsulaen un CI con sólo cuatro terminales dispo-
nibles para seleccionar la microoperación. Diseñe un circuito (dentro del Ci)
que se deba agregar entre los cuatro terminaies y las 15 variables de control.
Incluya una condición de no operación.
T
Diseñode lógica
de control
10-1 INTRODUCCION
dEi*iJ"áelqi-ls,"-pratVárrotlrifcAoel".l"saráonépdd.vreueoarlcprrdieoraoislsslcooe¿etñ¿ás"o-a.eánlmóiiprüigr"e.oninccotoeo.dedSdesieimndYdiineesaamento,ñtbtosaoasrnárregloleagolpoccauorosíemmtemdpspeilpucneeotjsaacsedi'p-fMroiacaruraauacctuhoiltooamongsmaeripatansiarztsiarltzaaadasleodalstocsayipiorsaenrtraeeeas--s
qpt=c,p;luuur"il;.o".i-lin';ntrÁ-"u*-únmi¿tdar-eorúusL;"ao"s.-;fi;o"úfd"oap-.""n;de"tluaglueu.fiirarrtisurrcangot-ruieeoiuqb'o.óñdr,nrlrnap.orelaca"ydodzrdiceo.aoe,"toisbq¿i.dón"""-eeou".*onad"dpfbivimlddpoi"n,*uájsroeifoiiiir.er..iece-i,.ii-"eñpuÉuináinpapñatontl"ttreloouo.doscodámndny"ibo"eandeepóleraesoeellneadnaa*lesruirgti-is.aqtannyiiotéeoeuolgócrnrsvcildiiebcmpltatreoemJonteo¿dguudlmupao"outlediáattp.psdr"iiilErcovsal.ataaaeiEdieulrdódltcaégdñnsapanaoiotaamlodcsdadngrdoprosdieefootnoopsotemnraarfnralihcltiutmrlogierodumgbéctud'asimoeiaSioslrióarir.aseeeddasinrsertlañgeneem'apñPedoulo-ql.eraolernd'uop-dindssdimipcreseyuoeooreneeronel'^bepdonrbceqsloriuaeplimesuoea,ndmdmuticemipaaoeeeelaeobrabdnsp.d'-clUUeetcaesriaocaooneamncn'Aonnbbisaatmimtluueipueleldgsgimneanumeacootnrannidoaa--r---s
"eo!iicrt,,niat,uir-"ncu.;.;ftLusno;oJeiaigrptpñomiuira"fsnloai"lanefdcconidsieitgróoedsminetaddaaddiemlceseoiepascréopnanonqoo,sdn"bároá"otigr-mnseso.ida*.'iplulcle.r.ianiro"Lápro"roanro.esoidprencetdesceearpmodmdatenaoiecacmttsimrioofsiadiesoncodinregáanaitsri"aeLoet.laynaaslpbeltupimioseennu"esnef-eocntsudduuritnmseeeo-itsfnseaepidencncmririiositadócoaccdonosdreesednis'gtesymooitpctisiadtacodulerrneioasdtciorenadioprfaeplceosldourrmuaumritmcacdoaiciasoircnetnldioinoóesisa-sns- '
gpict,"i"o"in"triaurs"io,oVleLeÁ.s"asci"iadoqaitt"eneu"" tmerrreeoiptpullolooooamsjjrrpnsii"rnlooei""pir.sui-*á;mtpht;rnñ;ioaeii¡.pnduiáásin.o"s1y¡edoa"rñeáeteaoocgu"ldosleinesonslstdsogtrtro*easeloosdncrls-.eoeoeLfgdrnlnaaiietps-rdsl-tuoáourfnvllorno'daspireedresinaápgydbuuislldnlte'oqresossocbiasrsodientnnegeato.imrrsr.oiestaarlleo'dsorLs,ijgqomqeuisuntaeaepeeleulscslltsosirrninooesctstgsrerc'ioóLsmol_otanranson-,i-
423
424 D I S E Ñ OD E L O G I C AD E C O N T R O L cAP.10
las variables de seleccióny las entradas de habilitación de lo,sregistros,
se generanen la unidad de control. Las salidasde la unidad de conirol se_
leccionan y habilitan la parte del procesadorde datos del sistema y tam-
bié n de ter mi nanel siguienteestadode la
La rel ac ión en tre-la unidad de contr unidad de control en sí mii ma .
ol y el procesadorde da tos en u n l
s_istemadigital se muestra en la Figura tO-t.
datos puede ser una. ulida_d procesadorade Lá parte del procesadorde
propósito general, o puede
tdsdsctcrlcióraeoeaiieoogogccnmdpnliniiuttoecospaerieraninonoslsdndeldi-tde.qcdciissereeiuiedeeaadnce_ancslcedotutieaonouoonredñcnisndetcnetratdagúoricclaoelsiealiasiallqrsltsccusplardpuoouincaseaesmsiorlsttgmaioencanosemdo-iidislcnnesinaieacrievtljcoeic.suirolidouamóinangulpegtraaeuoaenis.csillrceapeEdáasinsrseanecedtylmiñecseomuaueeinfnccliysuneecorotntorssateenJpociodnestieaoyrpoomosrpeeonaotleplreatsdiarorsdpnauaacáoridcmricsoiosaigiso"ieiandnnicennieoteaicoetsese,slurtsterpaenrarenasradlmnolesaaaeucssimJseisnefiao.naniaaiAlaccedrtsddotrircsiaeoaíceoce,doasidc;dodaplnmueenaie.eclilaEtarccnoipadrrosfcscorcanoi.fcuioasütooLciEdrp.ntnoenaoeel_el---s
tmdccsTdcraioeooiaécsdn.;l.ietenóaot.ysEñruindeeotanllaosnlaecdddtzsdsnaaioiaeeatsdpd-,rcgpearheotoorruñdavaaepneoaecsmlsodderafctsieeeaaauoissrdcdbnunueeieolantopnerrsneooccesl.iesiPlsonisa.stisdnaetscaltaevareniidóa.emtmodesnlrneo-eeedlaiilcesceadrumruinemiosntgetaigtóaceeieniteprdsnamcrosetitelisiopeaaroppqpapceesrouoceocseprenirnisámofaimirebnrcecueneieamlilyqotidsrdaeuden.ciaconiedeoeidtsdisóqmreodaeenuüep"druue-rqlen""óinucs".al,lraeilaetvios"d"ssau-ábeotJl"fricpa"."u-nurad.ni-ie"ro".csayndiip,oucise"nl"nitnu"ratieuedc"eimed"iseganmitdaaoacrcesppg,oiteaoorpcnraaf.roatomSrdnenroreae-ra__l
cmipmnouatanee..tdrLrDmSeoaoinlen,sdsds_eeioeracdenmupuplbeaocr eanrisrasrcsdgeiediaoanddeegtiesrasreccacrccoimiotobnananitmresrvdolseeaúel,nnyt.titi"ireeele"adnrmsrset"epe.rlaroaen"lly1gaee"ucsllonnipodsaeenisfcscleueeivfsjsñeidocaocegarea.cti sua¡"iadóu- use.nseif.raoe.ni r"pr-Ápeue-""n-nri,-"aca-li-crauireqoe.nunpteerrdeesnedsreleeepcl ngerstiosisasbitcttrlaeieoón__sn
Entradas Datos
externas deent¡ada
Lógica P¡ocesador
de control de datos
Condiciones
del status
Figura 1O-l Salida de datos
Interacción entre el cont¡ol y el procesador de datos
sEc.10-1 I N T R O D U C C I O4N2 5
Un diagrama de tiempo clarifica la secuenciade tiempo y otras rela-
cionesentre las diferentesseñalesde control del sistema. En un circuito
secuencialcon reloj, Ios pulsos de reloj sincronizan todas las operaciones
incluyendo las señalesde transición en las variablesde control. En un sis-
tema asincrónicouna señal de transición en una variable de control puede
causarun cambioa otra variablede control. Un diagramade tiempo es muy
útil en un control asincrónicoya que proveeuna representaciónilustrati-
va de los cambios requeridosy las transicionesde todas las variables de
control.
Un flujograma es una manera convenientede especificarla secuencia
de pasosde procedimientoy formas de decisiónpara un algoritmo. Un flu-
jograma para un algoritmo diseñadousaría normalmente los nombresde
las variablesde los registrosdefinidosen la configuracióninicial del equipo.
Este traslada un algoritmo de su enunciadoen palabrasa un diagramade
flujo de información que enumerala secuenciade operacionesde trasferen-
cia entre registros conjuntamente con las condicionesnecesariaspara su
ejecución.
Un flujograma es un diagrama que consiste de bloques conectadospor
medio de líneas directas. Dentro de los bloques se especificanlos pasos
procedimentalespara configurar el algoritmo. Las líneas directas entre
bloquesindican el camino que se va a tomar de un pasoprocedimentalal
siguiente. Se usan dos tipos mayoresde bloques:un bloque rectangular
indica un bloquede función dentro del cual se listan Ias microoperaciones.
Un bloqueen forma de diamantees un bloquede decisióndentro del cual se
lista una condiciónactual dada. Un bloque de decisióntiene dos o más ca-
minos alternos y el camino que se toma dependedel valor de la condición
de estadoespecificadadentro del bloque.
Un flujogramaes muy similar a un diagramade estado.Cada bloquede
función en el flujogramaes equivalentea un estadoen un diagramade es-
tado. El bloquede decisiónen el flujogramaes equivalentea la información
binaria escrita por conductode las líneasdirigidas que conectandos esta-
dos en un diagramade estado.Como consecuenciae, s convenientealgunas
vecesexpresarun algoritmo por medio de un flujograma del cual se puede
deducir el diagramade estadode control.
En este capítulo se presentan cuatro configuracionesposiblespara una
unidad de control. Las diferentes configuracionesse presentan en forma de
diagramade bloquepara darle énfasisa las diferenciasen organización.Se
demuestran entonces varios procedimientos disponibles para el diseño de
control lógicoanalizandoejemplosespecíficos.
El diseñode la lógica de control no puedesepararsedel desarrollodel
algoritmo para resolverun problema de diseño. Sin embargo,la lógica de
control se relaciona directamente a la parte del procesadorde datos del
sistemaque éste controla. Como consecuencial,os ejemplospresentadosen
este capítulo comienzancon el desarrollode un algoritmo para configurar
el problemadado. La parte del procesamientode datos del sistemase dedu-
ce entoncesdel algoritmo enunciado.Solamentehasta que se haga lo an-
terior se puedeprocedera mostrar el diseñodel control que da secuenciaal
procesadorde datos de acuerdoa los pasosespecificadospor el algoritmo.
1 O - 2 O R G A N I Z A C I O ND E L C O N T R O L
una vez que se haya establecidola secuenciade control se puede diseñar
el sistemasecuencialque configuralas operacionesde control. Comoel con-
trol es un circuito secuencial,éste se puede diseñar por el procedimiento
lógico secuencialenunciadoen el capítulo 6. sin embargo,este método es
poco práctico en Ia mayoríade los casosdebidoal gran ñúmero de estados
que el circuito de control puede tener. Los métodosde diseñoque usan es-
tados y tablas de excitación puedenusarseen teoría,pero en la práctica
son engorrososy dificiles de manejar. Además,los circuitos de control ob-
tenidos por estemétodo requierenpor lo generalun número excesivode flip-
flops y compuertas,lo cual implica el uso de compuertassSI. Este tipo de
configuraciónes ineficiente con respectoal número de CI que se usan y al
número de alambres que deben ser interconectados.El principal objetivo
del diseñode lógicade control debeser el desarrollode un circuito que con-
figure la secuenciade control deseadade una manera lógica y directa. El
esfuerzode minimizar el númerode circuitos tenderíaa producir una confi-
guración irregular, lo cual haría dificil para cualquier personadiferente al
diseñador,el reconocimientode la secuenciade eventospor los cualespasa
el control. Como consecuenciapodríaser dificil dar servicioy mantener el
equipocuandoestá en operación.
Debido a las razonescitadas anteriormentelos diseñadorescon expe-
riencia lógica usan métodospara el diseñode lógica de control que pueden
ser consideradoscomo una extensión del método lógico secuencialclásico
combinadocon el método de trasferenciaentre registros.En esta sección
se considerancuatro métodosde organizaciónde control.
1. Métodode un flip-flop por estado.
2. Método del registrode secuenciay el decodificador.
3. Control PLA.
4. Controldel microprograma.
Los primeros dos métodosresultan en un circuito que debe.rsa, ci.-
cuitos SSI v MSI para la configuración.Los diferentescircuitos se inter-
conectancon alambrespara formar una ¡ed circuito de control. una uni-
dad de control configuradacon elementossSI y MSI se denota como un
control a base de materiales interconectados.Si se necesitanalteraciones
o modificaciones,los circuitos se deben alambrar de nuevo para cumplir
con Ias nuevasespecificacionesE. sto es en contrasteal pLA o controi de
microprogramael cual usa un elementoLSI tal comoun arreglológicopro-
gramableo una memoriade solamentelectura. cualquier alteracióno modi-
ficación en el microprogramade control puedelograisefácilmentesin cam-
biar de alambradoremoviendola RoM de s,t baie y colocandootra RoM
programada para copar las nuevas especificaciones.
se explica ahora en términos generalescadamétodo.Las secciones ub-
siguientesde este capítulo tratan con ejemplosespecíficosque demuestran
el diseñodetalladode las unidadesde cóntrbl de lós cuatro *étodo..
426
--'
I
rI M é t o d o d e u n f l i p - f l o p p o r e s t a d o
Este método usa un flip-flop por estado en el circuito secuencial de control.
Solamente se pone a uno un flip-flop en un tiempo dado, Ios demás se ponen
a cero. Se hace programar un solo bit de un flip-flop a otro bajo el control
de la lógica de decisión. En tal arreglo cada flip-flop representa un estado
y se activa solamente cuando el bit de control se trasfiere a éste.
Es obvio que este método no usa un número mínimo de flip-flops para
t el circuito secuencial. De hecho, éste usa un número máximo de flip-flops.
Por ejemplo un circuito secuencial con 12 estados requiere un mínimo de
cuatro flip-flops porque 23 <12(21. Aun por medio de este método el cir-
cuito de control usa 12 flip-flops para cada estado.
La ventaja de un flip-flop por método de estado es la simplicidad con
la cual se diseña. Este tipo de controlador puede diseñarse por inspección
a partir de un diagrama de estado que describe la secuencia de control. A
primera vista, parece que este método aumentará ei costo del sistema ya
que se necesita un mayor número de flip-flops, pero, este método ofrece
otras ventajas que no son aparentes a primera vista. Por ejemplo, éste ofre-
ce un ahorro de esfuerzosen el diseño, un aumento en la simplicidad opera-
cional y una disminución potencial en los circuitos combinacionales reque-
ridos para configurar el circuito secuencial completo.
La Figura 10-2 muestra Ia configuración de una lógica de control se-
cuencial de cuatro estados, que usa cuatro flip-flops tipo D: un flip-flop por
estado 7,, i:0, I,2,3. En cualquier intervalo de tiempo dado entre dos
pulsos de reloj solamente un flip-flop es igual a 1, el resto será igual a 0. La
transición del estado presente al siguiente es una función del presente f
que es 1 y de ciertas condiciones de entrada. El siguiente estado se mani-
fiesta cuando el flip-flop anterior se borra y el nuevo se pone a uno. Cada
una de las salidas del flip-flop se conecta a la sección de procesamiento de
datos del sistema digital para iniciar ciertas microoperaciones. Las otras
salidas de control mostradas en el diaglama son una función de las 7 y de
las entradas externas. Estas salidas pueden también iniciar microopera-
ciones.
Si el circuito de control no necesita entradas externas para su caden-
cia, el circuito se reduce a un circuito de desplazamiento simple con un solo
bit que se desplaza de una posición a la siguiente. Si la secuenciade control
debe repetilse una y otra vez, el control se reduce a un contador de anillo.
[Jn contador de aníllo es un registro de desplazamiento con la salida del
último flip-flop conectado a la entrada del primer flip-flop. En un contador
de anillo el solo bit se desplaza continuamente de una posición a la siguien-
te de una manera circular. Por esta razón el método de un flip-flop por es-
tado se llama algunas vecesun controlador del contador de aniLlo.
Registro de secuencia y método del decodificador
Este método usa un registro para darle secuencia a los estados de control.
El registro se decodifica para suministrar una salida por cada estado. El
circuito tendrá 2" estados y el decodificador 2n salidas, p ra n flip-flops
427
Otras salidas de control
Condiciones
de entrada
exte¡nas
Lógica
de decisión
Figura 1O_2 Lógica de cont¡ol con un flip_flop por estado
edeel.nnadceseu,lucanroelldqgiupfiisiacetrarraoadcddoaeersdoslaoneesccsu1ote6mandepcosoidtanae.epdl noorterseg._úsMiensSjterdIom.e.Tpcoalodnu,itnfoic.riaedg*"igsoditr.retor de 4 bits puedeestar
¿x iO tendrá 16sali_
á'd-Jsecuenciacomo
apmnlftecaurdrruloeesneied.ncscnsneiLteiLtaóeocecanalninolituaadaeddFsltsa¡rediialf'asgasleircnuaddsleaacsrleessiasduidlatcaoaclad1ilaóoidrtsee0dsrnmodocs-ap3eeotoaseramnddellsvbotiestufasrlsaileaeiercdgdfindcsalauoeietatdp.beirscsseyo-al.oaefEneilelddlsoatxliseeidpd-ftrtaeciseláeecaos.snrgaesosntniaddsetcfs¿riáetooptgaasrorpnaausod.eudrlrodgasnaeipecuadcderinlaieoseióldasennspnurce¡eduie",nusnáe.;gqü"e;t"i;u.eins;ra"nie"t"currr"anp,i"dtaoi.t,umávl"rióe,i¿e"b-"ig-czuirlnri,i"rc-*rrde.oe.¿,a,er-ro*o"dedtpiueonoees"rsc.fr.cna,dliariauoar'tec",nsdrli oeft.icelrrcns;.oosep"oetnlugc,amssvetnid.a;eenoa_o_-_
n as si el circuito de control de la Figura 10 -3no nec e s i t ae n t r a d a s e x t e r _
, el registro de secuenci as e re duJea un contado rque continuamente
428
I
Otras salidas de control
Lógica Registro
de decisión desecuencia
Estado presente
Figura 1O-3 Lógica de control con registro de secuencia y decodificador
hace secuenciaspor los cuatro estados.Por esta razón, el m éto do es ll a-
mado algunasve¿esun métodod.ecodificadocrontador.Este m éto do y el de
contador de anillo se explicaron en el Capítulo ? y conjuntamenteen la
Figura 7-22.
Controldel PLA
El arreglo lógico programablefue introducido en la Sección5-8. Se había
mostrad-o ái"trá sJcciónque el PLA es un componenteLSI que puede
cánfigurar".crualquier circuito combinacionalcomplejo-El controi del PLA
es eséncialmentósimilar al registrode secuenciay al métododel decodifi-
cador excepto que todos los circuitos combinacionalesse configuran con
un PLA, incluyóndoel decodificadory la lógica de decisión.Bs posiblere-
ducir el'númeróde CI y el númerode alambresde interconexión,usandoun
PLA para el circuito combinacional.
LL Figura 10-4 muestra la configuraciónde un controlador PLA. Un
registro de*secuenciaexterno estableceel estado presentedel circuito de
co*ntrol.Las salidas PLA determinan cuáles microoperacionesdeben ini-
ciarse dependiendode las condicionesde entrada externas y del eslado
presentedel'registro secuencial.Al mismo tiempo, otras salidas del PLA
determinan el estadosiguientedel registrode secuencia.
El registrode secuenciaes externo al PLA si la unidad configurasola-
mente ciróuitoscombinacionalesS. in embargohay algunosPLA disponibles
que incluyen no solamentecompuertassino flip-flops dentro de la unidad'
Éste tipo"de PLA puedeconfiguiar un circuito secuencialespecificandolas
uniones que deben conectarsea los flip-flops de la misma manera que se
especificaronlas unionesde las compuertas.
429
I
Condicir¡nes Iniciar
de entrada mic¡o-
operaciones
externas
Figura lO-4 Lógica de control pLA
Control del microprograma
El propósito de.'Iaunidad de control es iniciar una serie de pasos secuencia_
les de microopefaciones. Durante cualquier tiernpo dado se deben iniciar
ciertas operaciones mientras que otras p"r-urr"""., latentes. Así, las va-
riables de cont¡ol en un tiempo dado pueden ser representadas por una
cadena de 1 ó 0 llamada parabra de coitror. como tÁles, clichas parabras
de control pueden ser programadas para iniciar las diferentes componentes
en el sistema de una manera organizada. {Jna unidad de control
.,ru-
r i a b l e s d e c o n t r o l s e a l m a c e n a n e n u n a m e m o r i a , s e l l a m a n u n i d a"d.rdyue.c o n -
t.roLmicroprogramada. cada palabra de contror de memoria se llama micro-
instrucción y una secuencia de microinstrucciones se Ilama mlcroprogramo.
corno poco se necesitan las alteraciones der microprograÁ., tu mlmária de
control puede ser una RoM. El uso del microprog*.ná comprende la ubica-
ción de todas las variables de control
por medio de las unidades de control en palabris de la RdM para usarlas
a tiavés de operaciones sucesivas de
lecturas. El contenido de la palabra en la RoM
pecifica las microoperaciones del sistema. en una dirección dada es-
-:l LIn desarrollo más avanzado, co nocido como mic¡oprogramación diná-
ie co permite carg ar inicialmente un
de una memoria a microp¡ograma a pártii de una consola
computador o uxiliai tál como un disco magnético.
Las u n id ades de cont¡ol q ue usa n micropro gra ma ción di n ámi ca e"m plean
'-;r. a. r e m oría de c ontrol e n la cual s epuede e icri bír (wc M: w rita blé con-
i:o1 memory). Este tipo de memoria puede se. usada para escribir (o cam-
1r-arel microprograma)-pero se usa mayormente para lectura. una RoM, un
PLA o un wcM cuando se usan en,rna
m e m t ) r . adi e c ' o n t r o l . unidad de control se los trata cómo
_ La Figura 10-.5ilustra la configuración general de la unidad de control
de microprograma. La memoria de control se asume como una ROM dentro
de la cual se almacena permanentemente toda la información de control.
El registro de control de las direcciones de ^e-o.ia-L.pu"ifi"u la palabra
de control leída de la memoria de control. se debe t".r".'"r, .rrenta que una
RoM opera como un circuito combinacional con el valor de la dirección co_
430
Generador de C o n t r o ld e l Memoria
la dirección registrode
decontrol
siguiente direcciones (ROM)
Lnformación de la siguiente dirección
Figura l0-5 Lógicade controldel microprograma
;m;sápd;fi1"iutor"a";eeeúüdc,s;,ná;ece;tipiñnr.oeaaondódl¿ceeidau.fsieylrcclaraalaliaeridmaRcpsit.baoiuemilMrcaaacub*ilpócitri..áon"ar.¡-mincr.upeáoorua,rr"ert-rm"*rne"uues.ruqtnrpnetuteeacoerneunimrlndasloeeeisnecmpaanaaoelmtllrlaraeieabrmbcegiiobáogairsemiesedtnatsroerocosddc1RaeiederlOseeisqdocMaTdaacl3iilrid.eódeeEaacnosltcpcrtyoéi,oorós,iurannoi núe..teealnUlNntnrpieoeieaadnmgslopauiepsdabsontleroraeaolqb'acuddrSeaeee-i
-ntullsdsñpMál(dulrdo-ca1eOónecau"e-u"enies0i*egoóirrcestndm_fIiuaurcincnciino"a¿caEagglnodbooiateauó1dcuntIrmaidnslicfdsa.no0iodsptildt"eerapaserisr.nr-i,eipueeneango"d7iorsLcsg_sntcsrtulaan.ciaeaotie.uedfotc,"oinloelelebt-neIgÁiieo'eeremnnnnóarcrtnu*rrp¡irajcnitt.nii¿aigtoein"orre.p¿decetl.ocrnpttuco"lees"oirs-o"ore.d.ulrau,rosrpí;otiEaipeleddu;..in¡rtj'i"l;;ir"riarcliai;a;io;irl;iti"ü;;i.;rctro";t.sá;;i;|;udtl"iitráá"á;i-;á;a,;^i"tió;n.egá.st.pái.á".d;rl;cruni;rtd.tuñs;á,ure.eci"eáid"ii;e¿.-ir.?niÁgmlj-"1;y"l"e"óge"aitr,"a.uigAiin.penaéiim.ldlóisitau"máeml'ento;eLptop"tUr;n.nr.etioe;,;oj*olSooc"dn)teots"pmd',esree*at.apjSoedrrdeeedomcoleíoirLee_epnmvetculnrsaciliaacireaicuo'slaicsólpe"cafrzarsitbditseinldogoiaroc-sioórliqaeucg.leniiadgeancud1-nntplucuucsot'ue"oc1e0smeSlrceonitriisonoét0r-jiecsn'cenaeriótu4,nn-cdpaliuun"occdmag6nctrtoerc.tnincrieocpuae.eupecioitiysdmcóipaiós.Pórsiljóleioodeoionrerngatrá9rLnnosanitcnpl-1eenur.su.lAetguetae0cdptcePinrdsLmear'tsrcc--eor-eoapeeatdn3oeecisLtilinór^md-lcceatnsinedaceeós.nelerumsletagaeosloceindrsevmelangusoiaídonl.itnsdScfdt,urnaulrliipotaameauiucfa'emirudreriepecoraeeaecldcnodousaárencsednagzcceeaatbesrtirjacócdoiglólecaeijaodmicineotgeeniddaceomyrnoeaomreelniiairexnsneortcpcmnselstasepepeaeinsler1efrónolsocéloñpcseelaro0prpneecSdtonloasracca-onacid.ir\aemlr'd5óidodrdsaíeróeascaveanonaa--o-n.-r
1o-3coNTRoLDECoMPoNENTESALAMBRADoS-EJEMPLoI
oE,ibstteieonieejtre"lamprlpóolgpoiocdsaeicdmieóuncdeoes.,lttprioarolebdlledelemssiasaytresrmoelpálr.oEqdcl eedu{igsnceaoñlngolsooesr ipllteamvsoaodsadeecdal idbsioeseeñnñooc.pSinaecrcaoo m i e n .
p a s o sc o r i s e c u t i v o s .
431
432 O I S E Ñ OD E L O G I C AD E C O N T R O L cAP. 10 I
l. Se enunciael problema.
2. Se asumeuna configuracióninicial del equipo.
3. Se forrnulael algoritmo.
4. Se especificala parte del procesadorde datos.
5. Se diseñala lógicade control.
mdnrsgdraEuaaieiuelnogslcgcnrastimiaaoiteottLoaelcrri_mganccilaistnóooeramrpaenolrnsu.órilsro'oEtfasenegm-ipEldemgsqieceioneucusbpajrnsroeeearuadeetnramñceaciesftddiaddpoi¡eoóa.codeolrsnnosnomloanceedpsi.neqniduesneeaotnuierrs,lcrdeaoítlceciéilpleassosroprdeotlilegmnsorerñemuodttdimerarscsneoféumueeuaeolltcmsnnodsmaediatdcdi.qiáeooiundiaocueoná;ioer"s;iidnc"orrpmntdireeerpoh"eaLéussru"uepsto"d:aoosnr"attgaiai.gdgretnqra.fooaisn"eulpisiead-m'p"cad;.lcra_aüe-.aeectfr.;s"dl",lritoe.aóiortil"paó$;rni,.";ni.sne;;"a"pu;"Lpfgsu;"eo';"aatlu;ri.re;r-iienr.áaaua"ni.Jc"pcl"siooisaeanadteopcaten.ra"ldoadritrroerlEfsea"eondlmmdsrserpmaeeuisiaccctcgiuororsrucialoosstmaoeeootdrndnrpmppeoefceoeeia-sil_l_a__.
Enunciadodel problema
*rrllEaonei lnaspTftron:leeafrúr"smimasealeneectrsdaoceldisasóobsinaseeii gntdnm-naiucforp.oii-ó^orrc:nesmy1odvmnaceudpus.npeluaécusnsmintaidrgtea,ouJnnecnofctrio.á-ij,aóom".nl"sgactá-.ogu-uerinaililiintd;t"m;duraáJodooupfl.";Sira;n;";;"*r;;a";,ap-oiü;l";a;";;t¿i;ia;o"ládul.s;üig;cJiarri óti "inrJraylfoor"ssiortdumm'enségtaprtd,uiaercerncsaatsctorácii gónocfninmeodjoonne__
'n-r"'riietrpacl oruLepriagstooiodssdbrtuerírmaobereaecevnadsepeuunalnditcraoibcrdsrietacn.nd,únuE.umnlnefanrlioipstsu-af"ml*lomiatp"a-qpcuue.e"*neaduxdrtc¡omeeseadqnceu"r-e""lor"is"-u;rJ;ep;¡'gái;i;i"*si.át"rJc"oáa"spdddaeeecsiladbolaonmdrgad.itcauemdniEfaeir-jne_
C o n f i g u r a c i ó nd e l e q u i p o
rlfnfEcnaLgolteolsotsob:pnsAlroil:asset:L:pdseon.AgUeI.o^.e:l.rasss9Lnartsp:a,enrcruerosaú'io8mocsslmmsi.Arnoze.ierebvaaqer]osrgildu'osaeasneies4cssib.atotslF.uoripupnoiydsgámLéaseudcarqArsaariiosuddoacs(yeeasdig1nodeocolBEoúno.los).-lmesnyr6sase;L"e;e;srr;sor;rñriii.eouitsgtralmts*!etnalbt;tye.éáo"aiostldsalssd(couqlea-dcs"l¿ss)eoeose.ys"nnsisürLagtteirrialsngeeliau"do"rgndpvomaesiea"asgtdiasntrtá"i"euerids."rao,r:to,i"brjsAles""oy-lioLleEur¿U-"e"dáár-doilel'e.u-erstiesarais'ea1ttq¡a.asrtbuoasrldfiiilaietdporeesprasyosisnfocidia¡rpes'oovlsieeorbnesioecnslatacaceiidleffoilmislaincimceEupdaaean.s_oo_nn.
,f
Signo Magnitud
trSobrecapacidad q" (Sumar)
q. (Restar)
r (Qperación
terminada)
Figura lO-6 Configuraciódnelregistroparael sumador-sustracto¡
el final de la operación.La lógica de control se comunicacon los circuitos
que la rodeana través de las variablesde entraday salida. El control re-
conocela señal de entrada eo ó e" y suministra la operaciónrequerida.
Una vez finalizada la operación,el control informa a los circuitos exteriores
l con la salida r que la suma o diferenciaestá en los registrosA y A" y el
t bit de sobrecapacidaedstáen E.
t,
tI D e d u c c i ó n d e l a l g o r i t m o
La representaciónde números por medio de signo-magnitudes familiar
debidoa que seusa para los cálculosaritméticosa lápiz y papel.El proce-
dimiento de sumar o restar dos númerosbinarios con signo a lápiz y papel
es muy simple y directo. Una revisión de este procedimientopodríaser útil
paradeducirel algoritmodiseñado.
Se designala magnitud de dos númerosA y B. Cuandolos númerosse
suman o restan algebraicamentese encuentra que hay ocho condiciones
diferentespara considerar,dependiendodel signo de los númerosy de la
operaciónrealizada.Las ocho condicionespuedenexpresarseen forma com-
pacta de la siguientemanera:
(*¿)n(ta)
Si la operaciónaritmética especificadaes la sustracción,se cambia el signo
de B y se suma. Esto se haceevidentea partir de las relaciones:
(t¿)-(+a¡:?.s)+(-B)
(tA)- (-B): (*,¿)+(+¡)
Lo cual.reduce el número de condiciones posibles a cuatro, a saber:
(tl) + (t¡)
CuandolossignosdeA y B sonigualess, eagreganlas dosmagnitudeys el
signodel resultadoes el mismoqueel sigro común.Cuandolos signosde
43s
4 3 4 D I S E Ñ OD E L O G I C AD E C O N T R O L CAP, 10
A y B no son iguales,se resta el númeromás pequeñodel mayor y el signo
del resultadoes el signodel númeromayor. Esto es evidentea partir de las
s i g u i e n t e sr e l a c i o n e:s
SiA>.8 sil <a
(+A)+ (+B): +(A+ B) +(A - B) : -(B - A) a:
(+A) + (-B) : -(A-B):+(B-A)
,]
(-A)+(+r¡:
(-A)+ (-B): -(A+ B)
El flujograma de la Figura 10-7 muestra cómo se puede configurar una
sustracción y una adición con signo magaitud con el equipo de la Figura
10-6. Se inicia una operación con la entrada q, o la entrada eo.La entra-
da q" inicia una operación de sustracción de manera que se complementa
el signo de B. La entrada qo inicia una operación de suma y el signo de B
se deja sin cambiar. El siguiente paso es comparar los dos signos. El bloque
de decisión demarcado con A" : B" simboliza esta decisión. Si los signos
son iguales se sigr,repor el camino demarcado por el símbolo : ; de otra ma-
nera se toma¡á el camino marcado por el símbolo + . El contenido de A se
suma al contenido de B y la suma se trasfiere a A en el caso de símbolos
iguaies. El valor del arrastre final en este caso es una sobrecapacidad de
manera que se hace el flip-flop E igual al arrastre de salida C",, . EI circuito
irá a su estado inicial 3,'la salida ¡ se convierte en 1. EI signo del resultado
en este caso es el mismo que el signo original A, de manera que el bit de
signo se deja sin cambiar.
Las dos magnitudes se restan si los signos no son iguales. La sustrac-
ción de las magnitudes se hace agregandoA al complemento de 2 de B. No
debe ocurrir sobrecapacidad si los dos números se sustraen de manera
que E se lleva a 0. Un 1 en E indica que A>By el número en A es el resul-
tado correcto. El signo del resultado es igual de nuevo al valor original de
4'. fln 0 en E indica que A <8. Para este caso es necesario formar el
complemento de 2 del valor en A y el complemento del signo en ,4,. El com-
plemento de 2 de A puede hacersecon una microoperaciónA*Á* 1. Sin
erirbargose requiere usar el ALU del Capítulo 9 y este ALU no tiene la ope-
ración de complemento de 2. Por esta razón el complemento de 2 se obtiene
de las operaciones de complemento e incremento que están disponibles en
el ALI-I.
Especificación del procesador de datos
El flujograma del algoritmo lista todas las microoperaciones para la parte
del procesador de datos del sistema. Las operaciones entre A y B pueden
hacerse con el ALU. Las operaciones con A", B" y E deben ser iniciadas
con variables de control separadas. La Figura 10-8(a) muestra el procesa-
dor de datos con las variables de control requeridas. como se había men-
T
A-A+E +l
'F * C' o u t
Figura lO-7 Flujograma para la adición y sustracción en signo-magnitud
cionado antes el ALU viene del Capítulo 9 donde se especifica su tabla de
función en la Tabla 9-4. Este ALU tiene cuatro variables de selección de la
manera que se ilustra en el diagrama. La variable L carga Ia salida del ALU
al registro A y también el arrastre de salida a E. Las variables -t-,z y ¿¿c)om-
plementan B" y A, y borran E respectivamente.
El diagrama de bloque de la lógica de control se muestra en la Figura
10-8(b). El control recibe cinco entradas: dos de Ios componentes externos
y tres del procesador de datos. Para simplificar el diseño se define una
nueva variable S:
S:lrOB,
435
I
'_-€
,*E (Tabla 9-4)
ALU
L (Carga)
(a) Registrosprocesadoredsedatosy ALU
-., . LóBica ,t (Estado inicial)
de control s2 (Selección demodo)
s1
s0 (Selecciónde función) -
C¡ (Arrastredeentrada)
L (CargarAyEdelALU)
y (ComplementaBr ")
z (ComplementarA,)
p (Borra¡E)
(b) Diag¡amade bloquedel control
Figura l0-g Diagrama de bloque del sistema
lEffsitia:E"'lra'crri'oaonb,tl*re"orld1.ar*-ei1'r:"'f:"i:."ll1rm'^e1bdsogisgduea,prlaaosctiotimsvio.plsoaosrnadecoigósan,etinicvt"or;es.-d;o;s b- .i ot sndi seus iugln"o.y. L a
".
cionat,;úi;;il;Ji:i:iülÍ"T,:iiiü#,.1:T,ü"ri.:,i,J,Ji;"1ffffi;de selecciósr '¡'s''
af oátyár c,.' iu
en el procesadádrl.áLJi"
4?6
. -oi.-".." , r " t " os a r i d a s; ; , losregistros
"üJitt", en el diagr"-u. au.,queno se
T
sEc. 10-3 C O N T R O LD E C O M P O N E N T EASL A M B R A D O S - E J E M P L O1 4 3 7
muestra en el diagrama,Ias salidasde la lógica de control debenestar co-
nectadas a las coirespondientesentradas en el procesadorde datos. Ahora
que se ha especificadóel procesadorse puedediseñar la lógica de control
del sistema.
Diagrama de estado de control
El diseño de un control con materialesinterconectadoses un problemade
lógicasecuencial.Como tal, podríaser convenienteformular el diagramade
eslado del control secuencial. Los recuadros de control en el flujograma
puedenser consideradoscomo estadosdel circuito secuencialy los recua-
dros de decisióncomo condicionesdel siguienteestado.Las microoperacio-
.r", qr" deben ser ejecutadasen un estado dado se especificandentro del
,..rr"d.o de función. Las condicionespara la transición del siguienteestado
se especificandentro del recuadrode decisióno en las líneasque se conec-
tan ütre dos recuadrosde función. Aunque se puedeformular esta relación
entre un flujograma y el diagrama de estado, la conversión entre una for-
ma y otra nó és únicá. En consecuencia,diferentes diseñadoresproducirán
diferentesdiagramasde estadopara el mismo flujograma y cada cual puede
ser una correctarepresentacióndel sistema.
Se comienzaaiignando un estadoincial ?6 al controladorsecuencial.
Se determina luegolá transición a otros estadosTr, Tz, Tz Y así sucesiva-
mente. Para cadá estado se determinan las microoperacionesque deben
iniciar el circuito de control. Este procedimientoproduce el diagrama de
estado para el controlador conjuntamente con una lista de operacionesde
trasferenciaentre registros,las cuales deben ser iniciadas mientras que
el circuito de control estéen todosy cadauno de los estados.
El diagrama de control y las correspondientesoperacionesde trasfe-
rencia entre registrosse deducenen la Figura 10-9.La información para
estediseñose toma directamentedel flujogramade la Figura 10-7y las va-
riables definidas en el diagrama de bloque de la Figura 10-8.El estadode
control inicial es ?o. Mientras que el control esté en eseestadola varia-
ble ¡ se debehacer igual a 1. Esta variable es 0 en todoslos demásestados'
Durante el tiempo en que Qoy Q, sean0, el control permaneceráen su es-
tado inicial. Si q" se convierte en 1 el control realizará una operaciónde
sustracciónal pasar al estado ?1. En este estadoel bit de signo B, se
complementa. El control pasa al estado T2 para sumar los dos números.
Si q-E, lse convierteen 1 el control irá directamenteal estado Tz.
.iguiette estado despuésde T2 dependede los valores relativos de
los bits dé signo,los cualesse determinana partir de la variableS. Si los
símbolosfuerán iguales, S será 0 y el control pa.saráal estado ?3. En este
estado,las dos mágnitudes se suman y se pone a uno el bit de sobrecapaci-
dad. Úna vez que ie haga lo anterior el control pasaráa su estadoinicial.
si los signossón diferentes, s es 1 y el control pasarádel estado ?2 al es-
tado ?4. En este estado las dos magnitudes se sustraén obteniendo el
complementode 2 de B. El arrastre final se trasfiere a E durante la sustrac-
ción y el control pasaráal estado?u.
Qo=0
qa Sumar
Restar
Qs Signosiguales
S=0 Signosdiferentes
S= I Arrast¡edesalida
E
(a) Diagrama de estado I
Salidas de control
J2 Jt Jo C, L .t, z ^
Io: Estadoinicial ,r = I 100 000000
Tr:B,*8,
Tr: nada 000 000100
T3:A+A +B,f -C.,,,
To:A+A +8+1,6-Cu,, 000 000000
15:I,+0
Tu:A-A 000 101000
Tj.A+A+1..4r-,1,
001 0t1000
000 000001
0ll 10t000
000 0ll0l0
(b) Secuenciade t¡asferenciasdel resist¡o
Figura 1o-g Diagrama del estado de cont¡ol y secuencia de microoperaciones
438
I
sEc.10-3 C O N T R O LD E C O M P O N E N T EASL A M B R A D O S - E J E M P L O1 4 3 9
Se debetener en cuenta que el arrastrefinal del ALU se trasfierea E
con un pulso de reloj. Esto sucedecon el mismo pulso de reloj que causaque
el control vaya del estadoTa al Tr. Aunquese muestrela operación:
E <- Cou,
conjuntamentecon la variable ?, e sta operaciónno s€ ejecutahasta que
á".rrr" el pulsode reloj.Una vezqu e est e p u l s o - e j e c - u 1t ea operación,el con-
trol se encontraráen él estado?r. Por tanto el valor de E pata el ar-rastre
hasta que el control alcanceel e stado?t '
final, no debe constatarsesino determinar las magnitudesrelativ asde A y
El va lor de E se constatapara
B. Si E : 1, estoindicará queA > B. Para'estecasoE debeborrarsepara así
completarla operación.si E: 0, estoindicaráqueA < B. El.control irá a los
n t a rA y A,. sNeóhtaecseecqouneE_ Ei sgeu ab loar r1a mien-
estaáo sTo y T¡ para comple me do?u. Esto ó 0 ya
tras qu e ei éo.tti oi estéen él e sta
que tiatar cleborrar un flip-flop que esté en 0 Io dejará de todas maneras
ü O. S" debenotar también que E se borra con el pulso de reloj que causa
que el control se salgadel estado?u. Se debetener en cuentaque despejar
É y trasferir el contiol al estado To ó T6 se hace con un pulso de reloj co-
mún sin problema.El valor original de E en el tiempo ?, determinael si-
guiente utt"do aunque este flip-flop se borre mientras que el pulso de reloj
p' a s ep o r una transición de flanco. em ploq ue la interpretaciónde un flujo-
Óeb eser manifiestocon esteej
grama podría resultar en un diagrama de estadodiferentepara la misma
iógi"u áe control. Esto es aceptablesiemprey cuandolas restriccionesde
loJ materialesse tomen en consideracióny el sistema funcionede acuerdo
a las especificaciones.Por ejemplo, en vez de comprobarE en el ti-empo?5
se hubiéra podido escogereL comprobar Co,t en el tiempo ?1 . Si Co', es 1,
el control pasaráal estado?, parrrdespejarE. si éste es 0, el control pue-
de ir directamenteal estado ?0, s n considerarel estado ?u ett este caso.
D i s e ñ o d e l c o n t r o l a b a s e d e c o m p o n e n t e sa l a m b r a d o s
Las salidas de control son función de los estadosde control y se listan en
la Figura 10-9(b).Estas salidas se definen en el diagramade bloque de la
Figura 10-8(b).Los valorespara las variablesde seleccióndel ALU se de-
teiminan a partir de la Tabla 9-4. La variable L (cargarA) debeser igual a
1 cada vez que la salida del ALU se trasfieraal registroA. De otra manera
l, es 0 y las salidas del ALU no tendrían efectosobreel registro. Para dise-
ñar el óontrol de este sistemase necesitadiseñarel diagramade estadode
la Figura 10-9(a)y dotarlo de las salidas de control como se especificanen
la Figura 10-9(b).
El control puedediseñarseusandoun procedimientoclásico lógico se-
cuencial.Este procedimientorequiereuna tabla de estadocon ocho estados,
cuatro entradasy nuevesalidas.El circuito secuencialque se va a deducir
de cada estadono será fácil de obtenel debido a la gran cantidad de varia-
bles. El circuito obtenido,usandoestemétodo,puedetener un númeromí-
nimo de compuertas,pero tendrá un patrón irreg¡lar y será muy dificil de
analizar e.t el ca.o de que ocurra una falla. Estas dificultadessonelimina-
das si se diseña el control por el método de un flip-flop por estado.
4 4 O D I S E Ñ OD E L O G I C AD E C O N T R O L CAP.10 I
[Jna organización del control que use un flip-flop por estado tiene la
característica conveniente de que el circuito p.rede deducirse directamen-
te del diagrama de estado por inspección. No ie necesitan tablas de estado
o excitación si se usan flip-flops D. Recuérdeseque ei siguiente estado de
un flip-flop n es una función de la entrada D y és independiente del esta-
do presente. como el método requiere un flip-fiop po. .ud" estado, se esco-
gen ocho flip-flops D y se marcan sus salidas Tu, Tr, Tr, . , Tr. Lu
dición p€ra poner a ulo un flip-flop dado se especiiica-en el.diagrama" odr re_
estado. Por ejemplo, el flip-flop 7, se pone u u.rb con el siguientJpulso de
reloj si Tt:t ó si I. : I y qo: 1. Esta condición puede áefinirse con la
función de Boole:
D T 2 : q o T o+ T ,
donde D?2 designa la entrada D del flip-flop ?2. De hecho, la condición
para.poner a 1 flip-flop se obtiene de la condición especificadapor las líneas
de dirección que van.a un estado de flip-flop dado y que a.u ue, se aplican
conjuntamente con el estado previo def lip-¡oo u
función AND. si tuy
más de una lí'ea de dirección que va a un ésta"d"ou, todas las condiciones
{9ben aplicarse a una función oR. usando este pto"edi-ie.rto para otros
flip-flops, se obtienen las funciones de entrada dadas en la Tabla 10-1.
Inicialmente, el flip-flop ?o se pone a uno y las demás se bor¡an. F)n
un tiempo dado solamente una
que las demás se mantienen en entráda D estará en el esta do 1 mientras
o. El siguiente pulso de reloj pone
flip-flop cuya entrada D es 1 y borra toi demás. rot a uno el
si al presente
ltlTTaoetosep:-1dnuyo,tlsrsaaodpecdauneeltsrDojo-anorc?s*áqe0e"s. lfs.,Lfielaiepssc.-eof_rlfnouáv0pnilec,y.ri?dotoeqen"eee:msn0na,de1nel,elreaeraasnettqeainaundtdetroraaae1ddl.aaass"DifiDgudndiduieepern-an?t"r?eo¡i.et""ile,-pp"f.ci-ieór¿raiol.mo.i,nfbpti-eyoaur.rtveaá.a,.l"aalmsoioegaenupnutieeetnrrnoeo_
excluy-entesy solamente un flip-flop puede ponerse u ,"o'un
y los demás se borran porque sus entiada, D son ceros. "" tiempo dado
Se necesita especificar las salidas de control corlo una función de los
estados de los flip-flops. Esto se hace con las entradas de Boole dadas en
la Tabla 10-1.Estas funciones de Boole se obtienen por inspección de la Fi-
Tabia l0-l Funciones de Booie para control
Funcionesdeentrada de flip-flops Funcionesde Boolepara el control desalida
D T 6 = q ' " q ! T s +T 3 + E T s + T j x:To
DT,: q,Ts sz: To
si:TotTu
DTl: q"Ts* T1 so: T, + Tu
DT_.: 5'7.- Cin: T4+ T.r
DTa: ST2 L=Tt+7|4+76+77
DT5: Ta /:Tt
z:Tt
DTu: ¿'7t w:Ts
DT1: T5
I C O N T R O LD E L M I C R O P R O G R A M A 4 4 1
t-
tt
sEc. 10-4
gura 10-9(b). Por ejemplo la salida I debe ser l durante los estados ?3,
Tr,7,., ó ?r. Estas variables son disponibles en las salidas de los flip-flops.
Lo que se necesita aquí es una compuerta OR de 4 entradas para generar
el control de salida ,L
El circuito para la lógica de control no se dibuja pero se puede obtener
fácilmente de las funciones de Boole en la Tabla 10-1. Este circuito puede
ser construido con ocho flip-flops D, siete compuertas AND, seis compuer-
tas OR y cuatro inversores. Nótese que cinco salidas de control se toman
directamente de las salidas de los flip-flops.
1 O - 4 C O N T R O DL E L M I C R O P R O G R A M A
En un microprograma de control, las variables de control que inician micro-
operacionesse alrnacenan en la memoria. La memoria de control es común-
mente una ROM ya que la secuencia de control es permanente y no necesita
alteración. Las variables de control almacenadas en la memoria son leídas
una a una para iniciar la secuencia de microoperaciones del sistema.
Las palabras almacenadas en la memoria de control son microinstruc-
ciones y cada una de ellas especifica una o más microoperaciones para los
componentes en el sistema. [Jna vez que se ejecutan estas microoperacio-
nes, la unidad de control debe determinar la siguiente dirección. Por tanto,
unos pocos bits de la microinstrucción se usan para controlar la generación
de la dirección para la siguiente microinstrucción. Así una microinstruc-
ción contiene bits para iniciar microoperaciones y bits para determinar Ia
siguiente dirección para la memoria de control en sí misma
Además de la memoria de control, una unidad de control de micropro-
grama debe incluir circuitos especialespara seleccionar la siguiente direc-
ción como se especifica por la microinstrucción. Estos circuitos y la confi-
guración de los bits de microinstrucción almacenados en la memoria varían
de una unidad a otra. En vez de profundizar en todas las posibilidades en-
contradas en las diferentes situaciones se escoge aquí introducir el con-
cepto de microprograma por medio de un ejemplo simple.
La lógica de control que se va a diseñar es para el sumador-sustractor
de signo-magnitud desarrollado en Ia sección anterior. El control a base de
componentes conectados, diseñado en la Sección 10-3 será remplazado por
un control de microprograma que se va a diseñar a continuación. Téngase
en cuenta sin embargo que el sistema digital considerado aquí es muy pe-
queño para un controlador de microprograma y en la práctica un control a
base de componentes conectados debe ser más eficiente. La organización
del control de microprograma es más eficiente en sistemas mayores y com-
plicados.
Un estado en la memoria de control se representa por la dirección de
una microinstrucción. Una dirección para la memoria de control especifica
una palabra de control dentro de una microinstrucción. El control que se
desea diseñar se especifica en la Figura 10-9. Como hay ocho estados en el
control se escogeuna memoria de control con ocho palabras que tienen las
direcciones 0 hasta 7. La dirección de Ia memoria de control correspondeal
número suscrito bajo las ? en el diagrama de estado.
4 4 2 D I S E Ñ OD E L O G I C AD E C O N T R O L cAP.10 I
La inspección del diagrama de estado revela que la secuencia de direc- Ii
ciones en el control del microprograma debe tener 1assiguientes cualidades:
I
1. Provisión para la carga de una dirección externa como resultado de
la ocurrencia de las señalesexternas eo y e". I
2. Provisión para la sucesión consecutiva de direcciones.
3. Provisión para escoger entre dos direcciones como una función de
los valores presentes de las variables de condición S y E.
Cada mic¡oinstrucción debe contener un número de bits para especificar
la manera en que se seleccionala nueva dirección.
Configuración de los materiales
La organización de la unidad de control del microprograma se muestra en
la Figura 10-10. La memoria de control es una RoM de g palabras por 14
bits. Los primeros nueve bits de una palabra de microinstrucción conlienen
las variables de control que inician las microoperaciones. Los últimos cinco
bits suministran información para seleccionar la siguiente dirección. El
registro de direcciones de control (CAR: Control Address Register) al-
macena la dirección de la memoria de control. Este registro recibé un valor
de entrada cuando se habilita su control de carga; dá otra manera se in-
crementa en 1. Un CAft es esencialmente un contador con capacidad de
carga en paralelo.
Los bits 10, 11 y 12 de una microinstrucción contienen una dirección
para el CAR. Los bits 13 y 14 seleccionan una entrada para un multiplexor.
El bit 1 suministra la condición de estado inicial denotada por la váriabie
r y también habilita una dirección externa cuando e, o eo es igual a 1. se
estipula que cuando ¡: 1 el campo de dirección de la microinstrucción debe
ser igual a 000. Entonces si q" : 1, la dirección 001 está presente en las en-
tradas del CAR, pero si eo: l,la dirección 010se aplica al CAfi. Si ambas
.1. y Qo son cero, la dirección cero de Ios bits 10, 11 y 12 es aplicada a las
entradas del CAfi. De esta manera la memoria de control se mantiene en la
di¡ección cero hasta que una variable externa se habilite.
E l m u l t i p l e x o r ( M U X ) t i e n e c u a t r o e n t r a d a s q u e s e s e l e c c i o n a nc o n l o s
¡i¡s 13 -v 14 de la microinstrucción. Las funcionesde los bits seleccionadas
p - r e l m u l t i p l e x o r s e t a b u l a n e n l a F i g u r a 1 0 - 1 0 .S i l o s b i t s 1 3 y 1 4 s o n 0 0 , s e
seleccionauna entrada de multiplexor que es igual a 0. La salida del mul-
tipleror es0 ¡'la entrada de incremento al CAft se habilita. Esta confizura-
ción inc¡ementa el cAR para escogerla siguiente dirección en secue'ncia.
u n a s a l i d a d e I e s s e l e c c i o n a d ap o r e l m u l t i p l e x o r c u a n d o l o s b i t s 1 3 y 1 4
son iguales a 01. La salida del multiplexor es 1y la entrada externa se car-
g a a l c Á f t . L a v a r i a b l e d e c o n d i c i ó n s e s s e l e c c i o n a d ac u a n d o l o s b i t s 1 8 v
1 4 s o n i g u a l e s a 1 0 . S i s : 1 , l a s a l i d a d e l m u l t i p- cl eAxro?r e s 1 y l o s b i t s d e d i -
rección de la microinstrucción son cargadosal
s : 0, la salida del multiplexor es0 y seincrementael (si seiiene r:0). si
cAR. con losbits 13y
14 iguales a 11 re seieccionala variable de condición E y el campo de direc-
ción se carga al cA,? si E: r; pero el cAR se incrementa si B: 0. Así. el
___-\
4
5
':1 \ 6
7
8
9
b! 'o
['o
I
l "Dirección
6
l .1 2
f',
Selección I
O [14
BitsdeROM Función de seleccióndel MUX
13 14
Incrementarel CAR
00 Cargarla entradaal CAR
0l Cargarlas entradasal CAR si S : 1,incrementarel CA^Rsi S : 0
l0 Cargarlasentradasal CAR si B: 1,incrementarel CA.Rsi E: 0
ll
Figura 10-10 Diagrama cie bloque de control del microprograma
443
4 t ' t D I S E Ñ OD E L O G I C AD E C O N T R O L cAP.10
multiplexor permite al_control escogerentre dos direccionesdependiendo
del valor del bit de condiciónseleccionado.
El microprograma
Una vez que se establecela configuraciónde la unidad de control del micro-
programala tarea del diseñadores generarel microcódigopara la memoria
de control. Fl,stageneraciónde códigose llama microprográmacióny es un
procesoque determina la configuraciónde bits para cadá una de lás pala-
bras en la memoria de control. Para apreciureite proceso,se deduciiá el
microprogramapara el ejemplodel sumador-sustractorL. a memoriade con-
trol tiene ocho palabrasy cada palabra contiene14 bits. para microprogra-
mar la memoriade cont¡ol se debedeterminar los valoresde los ¡its ae"las
ochopalabras.
El método de trasferenciaentre registrospuedeser adoptadopara de-
sarrollar un microprograma.La secuenciade microoperaciónpuedéser es-
pecificadacon declaracionesde trasferenciaentre régistros.ño hay nece-
sidad de listar las funcionesde control con las variabiósde Boole yu qrr"
este caso,las variablesde control son las palabrasde control almacenad".a, s
en la memoriade control. En vez de una función de control, se especifica
una direccióncon cadaproposiciónde trasfe¡enciaentre registros.La direc-
ción asociadacon cada proposiciónsimbólica correspondéa la dirección
donde la microinst¡ucciónes almacenadaen la memória. La secuenciade
una direccióna la siguientepuedeser indicada por medio de proposiciones
d e control condicionales.Este tipo d
d ir eccióna la cual va el control dep e proposici ónespuede usp""ifi"u. u'a i -
e n á i e t r d od " las condicionesestablec
das. Así, en vez de pensaren términos de 1 ó 0 que debenser
cada microinstrucción,es más convenientepensaren términos ag r e g a d o sa
dé simbolos
en el método de trasferenciaentre registros.una vez que se ha establecido
el micr o p r o g r a m as i m b ó lico,es posibletrasladar las
ferenci aentre registroso su forma binaria equivalent pr op os i cio ne sd e tras-
e.
El microprogramase da en forma simbólica en la Tabla 10-2.Las ocho
direccionesde la RoM se listan en la primera columna.La microinstrucción
Tabla lO-2 Microprograma simbólico para la memo¡ia de control
Dirección
deROM Microinstrucción Comentarios
0 x : 1 , s i ( q " : 1 ) e n t o n c e s( v a a 1 ) , s i ( q , : 1) Cargar0 o direcciónexterna
entonces (va a2), si (q, Aq, : g¡
entonces (va a 0)
1 B, <- B-, g" : 1,comenzarsustracción
2 If (S : l) entonces(va a 4) e " : l , c o m e n z asr u m a
3 A<-A*B,E<-Couuvaa0 Sumar magnitudesy regreso
4 A<-A*E+t,¿*Co,,, S u s t r a e rm a g n i t u d e s
5 Si (¿: 1) entonves (va a 0). E .-0 Operaciónfinalizadasi E: 1
6 A<-A- E: 0,complementarA
7 A+A*1,A,+A-,,vaaO Terminado, regresara la
d i r e c c i ó n0