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

arquitectura de computadoras morris mano

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

arquitectura de computadoras morris mano

arquitectura de computadoras morris mano

Tabla 1l-? Ejecutar las inst¡ucciones de referencia de memona

AND Fqot3l A < - A ¡ \ B MicrooperaciónAND
ADD
STO FqJ3'. A <- A + B, E <- Arrastre Microoperacióndesuma
ISZ Trasferir A a B
Fqzt2i B<--A
BSB Almacenaren Ia memoria
Fq2t3: M<_B
F%t2i lncrementar Ia Palabrade memoria
Fqlt3: B<-B+l
Fq3B"t3:. Almacenardenuevoen la memoria
Fq4tz: M<-B
OmitirsiB. : 1(B: 0)
PC<.PC+I
B(AD) <- PC,B(OP) <--0101, Trasferir a la dirección de regreso,
trasferirIa direcciónal PC
PC <- MAR
Almacenarla direcciónderegreso,
Fq4t3: M < - B , P C < - P C + I incrementarla direcciónen el PC

f.lpvra3ia¿au,clrtmuiiáLaóLe¡ü.anb*aomnslrdeeio.náe"iüdrn.seip€eesatorstpmthurricuueracerdecmicmitsdceiupióioe.droornarnotnierStutleoi.iaipras".OrAs,usñurfJfNyf,ieeeet"Dr".ctsi.'eddo-peyuoeinéjre"lteAcarecciciDunafoBcitibcDinadoalctruoenessodnseeenneaasietdlhAt2ájfroeouadcsrvecsaeueaorfoeterBmtarinrnaanoetatbscr-nr-elfoarlceiaeensildaomfrpdleeesaaperpstrillliredaaevcigabmzamoiosrrsneapia'EtatrrodelolobentsMalvoeimBd'ABpsoedeLRydmyeraeaAtolcnioAa'erodpimaonaoepedprlIesaaaeo---
p e c i f i c a d aP o r M A R :

Fq2tzi B <--A

Fqrtr: M <- B

La instrucción ISZ se ejecutacon las siguientes microoperaciones:

Fqrtr: B<-B* I

Fqrtr: M <- B

FqrB"tr: PC <- PC + | B,:lifB:0

LsTnñpznpcreea"oa"aaar"godabucáepipalls;sa"mLnaa;oatem;arllsara"no1abuic:bc1iB.iñnelnm.aira-rlónasa6,actenatam¿)bodorme.uru.rnEmeUesanoct-mlui.ilar"ecersairnraollandi,u¿eóa.rpc,eerfritgr.oua"oo";u,r,i;gur-.ssrnn;-m*arSi;itDtái""crÑ-efnufibro";riiioúfoeótr;Bpu"t.mrn;rMtoü.""eMes.'si"dsiileersUenolapoeaunrsiffedn"udtittvmcnrrrecepedaaauisrefutsesslicceteomcoerfcomeqceaurldoiolcjsureócoeeeriiicecndniceónc"aei"a.aumentBó..raLddtloDna;paeaeiansndsrurneu'eúci"veirnnsrameeleas"apnrls*Blrreaoo.tied0taneriyngiio'detbnritasieiumbelsosnedecrlsttdcperaaricBionourmogin"eóccpeuttámncreu2rcsaesiodsutóeelm.eycaeacnanleteodnltitMeseeainmadbelam.sdtoeimnpdnaocRpneeuoslapoioseleerclrmodtaPicaevéaoouoúlodCúlln1émorMasvldetrcipsa(aidAgenamvialceuRosleeetieasee-arrll-e:

"o-prrt"áot. 495

Fqotr: B(AD) <_pC, B(Op)<__0101,pC <_MAR
Fqotr: M <_B, pC <__pC + |

cegiMLdcLoisreaciaAeórlaeosRtodnnrotpadidtisreeeseeceermrfoacbeliaorcncúprleirimtesóoóigsenqnandenciucdesdeieheaetemlddarnalreaocaeaempiee'gnsJM1indrtes{aeAu1merlrsaarRáooa."dédmqnóaei"rusleedreUpeigm"ilpou-qaoipcns¿;r;"tióii";ibrn.rai"oli";rs".ó;e".e*it.¿Reü'ürl?u"nei'Ll"ecceimu'cutlaé-ididóee*pxredenmcllea1l.qtap"si.s.te.oer.ieiaum..J¿qt"sr.rpurtruia..ñeeo*sel"*;e"fti";í¿irul";e.;iip^r"rraece';aLgriaü"aeiislrdeat,psirtmroipi"aengarccandertcraelteleiedpdósmdacdenii.greelwedcnudcTreótiiceaordiremeóndeicnntog.-e_o

Instruccionesde referencia entre registros
elo:0tacfandec.Llre.1:LsuuuinaprraiAecer.0e1osaefaLdcvgn:tprlmn:a1ieatticerótsiites0oreeiivrerntcas0ea-rrnapdreelomp0igce_orerglnA0eiili,oieaousmttunq0rriplbtnmaeónaue0recelelomole0earróarEsesedda0andpdrs.qjgee:0sceee<ieusgiLi0cscb,sosúri.oa0eaeueitoun,aEts.rs.latttrseor.dital"erd-tmadssrrbeazEbeia."nieinrdacgÍayisrtgrieissóoc'r.lt,ioe"antie1esd,e..r".g"ern2niidiu""ng-rn"ir;a"ñeáacsuo;tseed;alüortcsTat;ntráour;;ia"oae."o;ur¿*lo";;¡ebq-eno""";,'"rg¿"rgÁu"inpe'lJai;ráideiZáes".qndiItidJo.eitilu.ea,",o-,".jtlo"grecrail"r-rre^B.i..coea,.óau;mr,;u.b,fu"E"ntsaeerrt.;i;p.p..ao",rol6iiut;i;ore"aniur"t;c.;.s"i"nd";l.o;r.pra;B;.c"-"oor;;"ois"a,ir1i;"Jonflí"aer;".;""izi;i;ñ;n:;-."si;i"e";""iei""s;p;,ii";ju;;";T;ntetrori;lróJ;*B'tmnu;"J'r"eLt-dceipzpsucie'al.n;uioielosri.,onstgecs"rnri,a.oocreós.ier"susr.ntduids,eeotcnddltiereagmcrdrsdoeeejtoeioteeeefsoefjrrcbruieclrunrnenodimnruacncetfeenecoteucaiisuagoninderitrrónódiceaasieensnoanean_nn-_ns_

Tabla 11-g Ejecución de ras instruccionesde referenciaentre registros

r : Qatt Borrar A
CLA rB12: A <-0 Borrar E
CLE rB1¡: ,g<-0
ComplementarA
CMA 18¡6: A<_A-
C o m p l e m e n t a Er
CME rBe: E<_E Desplazara la derechaA v E
Desplazara la izquierdaA v E
SHR TB¿: I <--slr¡A, A6 <- E, E <_A_ , I n c r e m e n t a rA
SHL rB7: I < - s h lA , A 1 < _E , E < _A ¡ 6 IncrementarpC si A espositivo
INC rBu: A<-A*l IncrementarPC si A esnegativo
IncrementarpC si A escero
SPA rB5Aiu: P C < - . P C + I IncrementarpC si E escero
Borra el flip-flop de comienzoy parada
SNA rBaA16: PC<_PC+I

SZA rB3A,: P C < _ P C + 1

SZE rB2E,: P C < - P C + I

HLT rBy: S+-0

E

SEC, 11-6 D I S E Ñ O D E L O S R E G I S T R O SD E C O M P L T - I ) C = J : -

omisión ejecutadassolamente si se satisfacen las condicionescS'.&r,,-ri.c::

La omisión de una instrucción se logra incrementando de nuevo P(' ace=--.
del incremento que se hace en el tiempo üt (ver Tabla 11-5). Ei e.i¿ü,
del bit de condición para la omisión se convierte en parte de la funcron ce
control. Así, el acumuladores positivo si 41o:0 y negativosi Ar,,:1. E.

símbolo A, es una variable binaria igual a 1 cuando el registro A contiene

sólo ceros. E' es igual a 1 cuando el flip-flop E contiene 0.
La instrucción de parada (halt) borra el flip-flop de comienzo y parada

S y detiene la secuencia de tiempo. El registro de secuencia G para de con-
tar mientras que su valor sea 0. Esto causa que el computador esté latente
con fe siempre a la salida del decodificador de tiempo. Como F es.también
0, la función de control F'úo es la única que se produce mientras que el com-
putador esté inactivo. Esta función de control trasfiere el contenido del PC
al MAR continuamente (ver Tabla 11-5). Esta trasferencia continua se pue-
de tolerar cuando el computador hace una parada latente. Si esto es inde-
seable se pueden quitar los pulsos de reloj de| MAR y de la misma manera
prevenir que esta trasferencia ocurra cuando S: 0. El computador puede
recomenzar cuando se active el interruptor de "comienzo", el cual pone a 1
el flip-flop S. Esto causa que los pulsos de reloj alcancen la secuencia del
registro G y comiencen a producir Ias otras variables de tiempo.

Instruccionesde entrada-salida

Las microoperaciones de trasferencia entre registros que ejecutan las cua-
tro instrucciones de entrada-salida se listan en la Tabla 11-9. Estas ins-
trucciones son reconocidas en el terminal de salida qt del decodificador
de operación y se ejecutan durante el tiempo ú3. Se define una nueva va-
riable p: ez¿3 y se usa en todas las funciones de control de entrada-sali-
da. Las funciones de control para estas instrucciones contienen un solo bit
del registro B, el cual es parte de la definición del código de instrucción. Las
dos instrucciones de omisión dependen del estado de las condiciones de los
bits indicadores N" y Ug.

Tabla 1l-9 Ejecución de las instrucciones de entrada-salida

SKI P : 4tlt lncrementarPC si el indicadordeNo : 1
INP pBeNs: PC<-.PC+I
SKO
OUT pBti A t - a < - N ¡ - s ,N 9 < - - 0 AlimentarA, borrarindicador

pBrcUe: P C < _ P C + I InprementarPC si el indicadordesalidaU,,: I

pBs: U t - a + A ¡ - s ,U e < - 0 ExtraerdeA, borrarindicador

1 1 - 6 D I S E Ñ OD E L O S R E G I S T R O SD E C O M P U T A D O R

El diseñode un sistemadigital sincrónicosigueun procedimientoprescrito.
A partir del conocimientode las necesidadeds el sistemase formula una red
de control y se obtiene una lista de operacionesde trasferenciaentre re-
gistros del sistema.Una vez que se haya derivado esa lista, el resto del

498 DtsEño DE CoMPUTADORES cAP l 1

diseño es directo. Algunas instalapionesutilizan técnicas de automatiza-
ción para el diseño de computadorparalraducir las proposicionesde tras-
ferenciaentre registrosa un diagrama de circuitos compuestode circuitos

integrados.
La Sección 11-5 especificalas proposicionesde trasferenciaentre re-

gistros para el computadoren cinco tablas separadasL. as entradasen las

tablas consistende funciones de control y microoperacionesL. a lista de
funcionesde control presentalas funcionesde Boole para las compuertas

en la red lógica de control. La lista de microoperacionedsa una indicación
del tipo de registros que deben escogersepara el computador. Aunque estas
tablas son suficientespara completar el diseño lógico del sistema, podría

ser convenienteredistribuir la informaciónen las tablas de una maireramás

convenientedurante el procesode configuraciónactual.

O p e r a c i o n e sd e r e g i s t r o

Para determinar el tipo de terminal de control que se debetener en cada
registroes necesarioobteneruna lista de microoperacioneqsue afectenca-
da registro separadamenteE. sto puede lograrserepasandolas tablas de Ia
Sección11-5y escogiendoaquellasproposicionesque cambien el contenido
de un registro en particular. Esto se aplica también a las operacionesde
Iectura y escrituraen la unidad de memoria.Por ejemplo,una operaciónde
iecturade memoriasesimbolizacon la microoperación:

B<_M

La proposiciónindica también que el contenidodel registroB cambiaráel
valor. Esta proposiciónse encuentra dos vecesen la lista de microopera-
ciones.En la Tabla 11-5,se encuentracon la función de control F'ü1 y en la
Tabla 11-6con la función de control F(qo + Qt*es)¿r. Como ambasfun-
cionesdé control producenla misma operación,se puedencombinarcon una
OR para dar la proposieión:

R : F'tt + F(qo,* q, * q.r)tr: B <- M

El símbolofi se usa por convenienciapara desigrrarla operaciónde lectura
con una sola variable de control de Boole. El símboloigual despuésde R de-
signa su igualdad con las funcionesde control listadas.

Este procesose repite para la operaciónde escritura en memoria y para
todos los registros del computador. El resultado es como se muestra en la
Tabla 11-10.A cada función de control listada en ia tabla se le a-.ignaun
nombrede variablede control. Las variablesde una sola letra no son nece-
sarias, pero ayudan a acortar las expresionesalgebraicasdel control de en-
trada de los registros. En la mayoría de los casosse asigna a la variable de
control una letra subíndiceidéntica a la letra mayúscula reservadapara
simbolizar el registro correspondiente.Las variables de control comunesal
mismo registro se distinguen por subíndicesnuméricos diferentes.

La Tabla 11-10se deriva directamentede las Tablas 11-5a 11-9.El re-
gistro al cual perteneceuna microoperaciónse reconocepor la presenciade

s E c . 11 - 6 D I S E Ñ OD E L O S R E G I S T R OOSE C O V P r ' : : ^ :

un símbolo en el lado izquierdo de la flecha. Para reconocer las rc.c¡:.-;'..
raciones que pertenecen al registro A se repasan las operaciones ilstaca-'
en las Tablas 11-5 hasta 11-9y se escogenlas que tienen una A como re$:-
tro de destino. Las microoperaciones para los otros registros se obtienen
de manera similar. Si la microoperación ocurre más de una vez' las funcio-
nes de control correspondientes se aplican a una OR para producil la fun-
ción de control compuesta.

Las operaciones ;para el flip-flop E deben separarse de las operaciones
para el tegist.o A, aúnque ellas se habían listado conjuntamente en las ta-
ñlas anteiiores. La operación de desplazamiento circular a la derecha' por
ejemplo, se enuncia en la Tabla 11-8como:

rBs: I <- shrA, Arc<- E, E <- A,

Nótese que r es una variable igual a Qats Y rB, se le asigna una varia-
ble de control or. En la Tabla 11-10bajo el registro A se tiene:

q5 : rB8:. ,4 <- shr A, A6<- E

el cual es parte de la operación de desplazamiento que cambia el contenido
de A. Debajo del flip-flop E se tiene:

a, - rBr: E <- Ay

lo cual muestra Ia parte de la operación de desplazamiento que cambia el
flip-flop E. Así, la variable au de control del desplazamiento a la derecha,
desplaia el contenido de A a la derecha y coloca el valor de E en el bit de la
extiema izquierda de A. Trasfiere también el bit de la extrema derecha de

AaE.
La secuencia del registro G no tiene ningunas microoperaciones lista-

das en las tablas previas. Este registro se muestra en la Figura 11-6 como
un contador cuyos pulsos de reloj se habilitan por medio del flip-flop s de
comienzo y parada. Esto se incluye en la Tabla 11-10con Ia proposición:

S: G<-G+l

Diseño del computador

La lista de microoperaciones dadas en la Tabla 11-10suministra la informa-
ción necesaria para diseñar los registros del computador. Las operaciones
que Se van a realizar en cada registro se demuestran claramente en las
proposiciones listadas. Por ejemplo, el contador del programa PC tiene tres
microoperaciones:

ctt PC<-PC+l

czt PC <- B(AD)

bzi PC <- MAR

Tabla l1-lO Microoperaciones pa¡a los registros

Memoria de control Be-M Leer dememoria
M<--B Escribirenmemoria
R-F'tt+F(qo * q1* q)t¡
I l = F ( q z + q t * q+)t{ A<--A ¡\B AND
A<_A } B Sumar
ReerstroA A <-0 Borrar
at : Fqo!3:
A<-r Complementar
a2: Fq1t3: Desplazamientoa la derecha
a^ = rBp; I <- shrA, A6<- E Desplazamientoa la izquierdr
I <-shlA,A1<- E Incremento
ar: rBPi A<-A*l Trasferencia
a, : rBgi
lr-¡- {r-¡
au: rB7:
a1 : 186: B+-A Trasferencia
as : pBli
B<-B+l Incremento
Registro B
B(AD) <- PC, B(Op) +- 0i0l Trasferencia
b¡: Fq2t2:
b2 = Fq3tr: PC<-PC+I Incremento
b3 = Fqol2: PC <- B(AD) Trasferencia
PC <-_MAR Trasferencia
Registro PC
ct : F'tt MAR <_PC Trasferencia
MAR <- B(AD) Trasferencia
+(q$, * q)Ft,
+@ya\a+ B4Arc r <- B(oP) Trasferencia
+ B3A, + B2E')r
+(BnNe * BrcU)p: E <-0 Borrar
c2: qst3: Complementar
b3= Fq4t2: E.- E Trasferencia
Desplazamientoa la derech
Registro MAR - E < - -a r r a s t r e Desplazamientoa la izquie:
dt : F'to: E+-A1
d, = Fls: E <- A¡6 Ponera 1
Borrar
Registro I F<-l
it : F'tz: F <-0 Borrar

Flip-flop E s <-0 Contar
e 1: r B ¡ r :
G < - - G+ I Trasferir
e2: rBe:
a2: Fq1t3: Ur-ae A1-s,U9<-0 Borrar
a5: rBs:
.Ay'<e_ 0
a6: rB7:

Flip-flop F
i: F'(qo* qt* qz
+ % + q)t3i
fr: Ft3:

Flip-flop S
s¡ : r-B¡:

Registro G
.S:

Registro Li
u, = PBe:

Registro N
as: pBn:

F

s E c . 11 - 6 D I S E Ñ OD E L O S R E G I S T R O SD E L C O M P U T A D O R5 O l

Este registrodebetener condicionesde incrementoy trasferencia.Se puede
configurar por medio de un contldor con carga en paralelo del tipo mostra-
do en Ia Figura 7-19.Comoel PC recibeinformaciónde entradade dosfuen-
tes, éste requiereun multiplexor para seleccionarentre dos entradas,como
se explica en asociocon la Figura 8-3. Los otros registrosse diseñan de

manerasimilar.
El diagrama de bloque que muestra los tipos de registrosnecesarios

para el computadorse da en la Figura 17-7.La unidad de memoriase inclu-
ye también para mostrar su conexión al procesador.La lógica de control
presentatodas las variablesde control de los registros.El diseñode la ló-
gica de control se discute en la siguientesección.Las variablesde control
que .e generanen la unidad de control son aplicadasa los registrosde la
manera que se indica en el diagrama.Ademásde los registros,el procesa-
dor usa cuatro multiplexores para seleccionarde dos o más fuentes. Todos
los registrosy multiplexores son funciones MSI dispohiblesen circuitos
integrados normales. Los tres flip-flops E y F y S y su correspondienteló-
gica combinacionaldebediseñarsecon compuertasSSI y con flip-flops.

Todos los registros en el computador excepto el registro A requieren
terminales de entrada de control de carga,incrementoo de cargae incre-
mento juntos. Se puede escogerel uso de un contador MSI con carga en
paralelopara todos los registros.De esta manera se podríatener un inven-

tario de un circuito integrado normal para los registros.Un componente
comercialposiblees el CI tipo 74161.Este circuito MSI contieneun conta-
dor de 4 bits con una cargaen paraleloy un terminal de entradade borrado
asincrónico. Los terminales de entrada de borrado de los registros pueden
conectarsea un interruptor de puesta a cero maestro en el computador pa-
ra borrar todos los registros asincrónicosantes de las operacionescon reloj.
Los registrosde 12bits, el PC y el MAR necesitantres CI y el registroB de
16 bits-, cuatro CI. Los registros I y G pueden configurarsecon un solo CI
cada uno. El contador de 4 bits de CI puedeconvertirsea un contadorde
2 bits para G por el métodoenunciadoen la Sección7-5 en asociocon la Fi-
gura 7-20.

El registro A es el más complicado porque realiza todas las tareas de
p.o""r"-iunto del computador. Este registro es un registro acumulador del
iipo diseñadoen Ia Sécción9-10 y puede usar la configuraciónmostrada
etr l" Figota 9-22.Puedeconfigurarsetambién con un registrode desplaza-
miento bidireccionalcon la cargaen paralelocomosemuestraen la Figura
?-g, conjuntamentecon un ALU del tipo discutido en la sección 9-6. una
mejor fórma sería usar un circuito acumulador MSI tal como el CI tipo
745281.Cuandose configuracon un ALU o acumuladorde CI, la unidad de
control debe generar las variables de control correspondientespara selec-
cionar las microoperacionesrequeridas en el ALU. Estas serán diferentes
de las funciones áe control definidas por la unidad de control en este di-

seño.
El registro de entrada N y el registro de salida U puedenser parte de Ia

interconexión normal de una teleimpresora. Los circuitos integrados que

hacen interconexión con una unidad teleimpresora están disponibles co-
mercialmentey se les llaman a menudo trasmisores-receptoreassincróni-
cos uniuersales (universal asynchronousreceiver-transmittersabreviado

Btse

0l
s
MUX

B tt-rc

Registro 1

Salidas de cont¡ol

Cargar

ul-

Figura ll-7 Diagrama de bloque detallado der comnutador

UART). Tal circuito integradoincluye un circuit o de entraday de salida
dentro de la unidad conjuntamentecon dos ind icadoresneces a r i o sp a r a
sincronizarla trasfer encia.

issnatc?ee:eus0sloaadecsndecTidsdecarleeoeideeósessocnnelcetdtstluorleeerearncrcadlymocecadsiili.soónemEronnaemsluaeldgoldlteeitnetseimteptre0ermrlor,eomnmrlixBtaniiroianaanertahldaeinelaansddtncrdedeleaeaeeeedtsslnrnaeaoeettns:rrslF1teeaariflcddaguecádauecin*arócnnaiú"inútso"mmee1mins.l1ae"aeed-rrrdrce7c'ooqsac0ape"ei1drdo"nloo-eendtv1.rcaleoiaMcedlrdin,aUMoa,,e.cnr.iU¿-..uLaüruXa"anrelsEn-spnadslecvtneomsr.aee1sruacdeiL.mlaetolcaebibuspclsaaefelcueesnsnieñxoddl ínao0neo--lra

502

:l

s E c . 11 - 7 D I S E Ñ OD E L C O N T R O T5 O 3

,0(np1eo.drDiqlenutemebal,a:n0eernactsruaimadnaildaqoruRela:p1rv)o.avriieLanabeleedndeterlaacdouannntidrúoamldbed1reoplmrodedemul ocMreiUala,Xcsuseaelensdcecolie'órcn''csrr.r-'na
cual causala seleccióndel contenid odel registr oA '
: 10la computadorentero mostradoen la Figura 11- ?p- ued ee nc ap su l ars e
EI
dpdmJá"reoa."eo"noef*nrnil"pm.I"td"rac"ru"oe"oa"urSradtdCdi"uepaoaoeI,.cdnrnr,ctueeílianppg,u¿yrieinncndssfrgooletcoicr-pllolorooi--*.omrenf,icolc.rpjoprIurÑioapilunl""prsritoáaaaos*eldrrepi,nardosrlurrétr"fedrteeo.aulrismfrsdtumsmceteoaniioeesñracpmtmn-riueooedúuomenrennrcdeeaimaaelqJ.mornueLmadsidinacceeáresrttreseeodeBdgfrcupquoíeiosescunolmttiqectlirreicuisopploaaeesouqnspeñutlenRoóaTnesurgdO!tedi?eeéocMvelsrraam.up.mBmsdcnEioeeéncaolnltioJmfolcdieoslcdoaiircadqsomrpsneeupopeaeñtrfcucroueooctctdinesaonmiaecódntdspinneofoeiutdrrglnana-tleuaseadosl-es-o

de Boole.

11-7 DISEÑODEL CONTROL
L.mt-c"riaa"goarpilouy.:ítpontreu.riolodíl,aocgado.dytuenod-uet"ersn.lolceialdop"sa"nrls"d,eteursdo-l"eri"olsrndr-t-rptae"iaionrlarnc"oedeoonnn.mtidrltueapeesu.sTctmHaaaobaénldaitytoamroroigd1+bleo1.dnrsv-áepe1aolar0rca.irca,loaoaebmmesll elvcopsdaofuudirntsniaetaercdbc-ñiooooloerlPndnspeetLdursAoeeldalcdeydoelcióenfosegltenrcrirocteoraldnonpidtltsae'reeErosañcylnadol oledenaslal-
usandbcualquierade estostres métodos'

C o n t r o l c o n c o m p o n e n t e sa l a m b r a d o s

L,á"pcroiá"aró.riro,u"n1u-ro.ua"gi"ral.ramgá",n"^,iairniytcrz"l"erraiuranarycicuaii.ddódó"onenUe"cocdnnooá-ednie.fc"iilfcgc-oi.aocun-dam"ntgoddrpiroóo*otrldntp.dEo/ee_r.lneetErticseeel9esmgb{aniiplsl.otafotiaqrm,coduebadeanrdedtaeorsesdenereoglluacsaasupFrcaeeoiudngpra-cauetdirrrlaoaeGa^lóemlelegls-éni1ctctaóoe6adddsedoiotgessedoedcceoadsel neserceotnoroegocpnislsietgaurtroreanlolm-- e n t e
tnfñdciá"auoe$erenonreccacsLolioitposanodrnntdtdriecrts"eeaordodesdsol,neñdulllfRoioaecislgbasdi,tcrtuasefeWoeurdlnu.nlnaoc,e.tccs-i.oaráipioesronl",ice'nrtnadur"ehelo."eiastatsl"o¡pdl.sT"caeectoasrcaocenb2iacomfdl4iocasncdbom,fat1bueirmnnbo1nrllaipó,lc-anp1cogibsaoia0niorcncer.Le,inaeaocanabsdnuestlderaeal.E,felscccueacsoioBnslortanmeq,conmtuiocpeicooelb2usinedrlrt,cgeeeqaaduesnudddBrineootl,eaooes¡ddol'B.-FaneE,lonei'ofgsioníldtusal"aeeeersnalcdlei21lasoia"4b1tsnsau-ff€cd6viujgauczaanuroa'rscáfirmlcaitaeoao'bpcsnqmlfilseeuóezeossín-'
sr Y ur.

Control por PLA

El control por PLA ess imilar al métodode registrode secuenciay decodifi-
cador,exc e p t oq u e todo slos c ircuitos combinacionale sse configurandentro

f u 4 D I S E Ñ oD E c o M P U T A D o R E S cAP 11

tpFPgtdd2ddaarieiLe4eeslegcA.llctcsuumorPLoPIenornr_nLnnLasefca1tAatAPidproagn1oe.Lafmdu-e-loAr\ear6Lre'teraaaqissmo.serddcqutcs2noeaiaueió4dasd2eldnp.aeleo4re.EeuePcsaeslelrmlconceedodnirutpcpesóaúreeclacanscamrissordooózdtteedaninnaaorrislfaefco1eiiiviasglict1lerotzu2acc-castór45oduaotnana.nosilnLtr,esatrosdtlareatrlnseoeaisoscsdlcblltouepaádeoelnnrassermisopnimsudTpdlbgcnosaioealienesundsnbqaayámciúdlulcceaceom"euuinissoomoeecedn1ndps"roree1¿.aeotontrse-dolnumnatebuneitieoehsarít-tnnotrfn.airnuraitáaJpdmeilsdra-saoesrJaalofurnebFlpl1idbaia^reibLldegeml"-alA.ciguneocsbso.rcItraednrEeiadaisepfbn1ledietLgu1fno"acusAu¿i-tsmoragnrdr.psenal.cbeeriEtcdir.irdóél,seiaaolóenn_á_sln

tcdrddb.E1tdPciPeaueeeeú1oesLnLcé.nsoatncneAciaArqepdóottdniLsrruaseonn1aeootaveórrdtslcnaarasdl.dleaeooFooedLcreqaslimnciiaolau)ygópelfeeisPqbeeiunrssgrnldeulmLdBrtaoenutaeadeAor.soserTdraes.eda.r1yceaadtdinele1eaNssabaeer-s)c.eesluóscm8alaodElnntovcmerniep1asadonilstaaultL1rinarvpeafireo-AtiaaaTqoes6crslbrouragafd(tipquiolrla€bideesaáaunpblopsnctaerecterldreotorelioeeire1oennrcabdlnshs1nidcciercoadrn-eeaoielp7ysJoaossnngL(aeddnorceetliAidceéernasoanjouiecstnclcnFrilaeoscyogeioel.ósneuminuxcsGEndcccvitaetuoriuiolaadlasóonenGesrdpaeanleisendaiat.rrs,r1iseuciespluÉdeaoiign"c;anenlalsa;"veaiurda"esqüa"ass¡aeinto¿iusrucrengiir"olín-ocálJ"ray.isstut.n¡uuocsáuiupttele-iteer-mJcqaü¡nuxpl'otl¡.raiituocorriasó.a.re.cydmnr1isglclaedoaaaG1aeoeirenss"e-sinlc,uatebfjrvor.teseune(srioa8nnlidccnuiaBgdr.cfiueucrl.icuialióagaciqrmcliododbeieRu.ouóneilfnJErdneigeneeaunetle--os)_senl_.

g i s t rEolsyt edr ec eernPt rLaAd ag- seanlei dr aalliasst afduansc ei onnleassdTeacbol ntrol de refe r en ciaentre re-
nesde control tienen dos variablescomunes: as rr-á v iig. E stas funcio-

r: eatz para las operacionesde referenciaentre registros.

p : htz para las operacionesde entrada_salida.

BeEns(ttbraaistdsdaols-sat2vl )aPrLiayAbdl3ee.soLctaorasmsouctnroaenssdseiocnnitorgánedenasdeseraallbdtiaetsrecdneerecploLpnALdAicplró1onvy.i-es'neeanpdleiclarnegciosmtroo
tmfdndbdveueieaeaasncsr.ne.lcoiaEsaPñLciLmsoesbooaoanftorlmdruaeeed:even.bpsedslajcihiereacnrtiiaiemoov.aaclnnnnairbpodstecdsllnraeeoiseoicótd.dlrlsdaonn.oeoaeenduLlvscpeaeusaciolmvenirolnctaioaanpagtaserbtlbceoairntlfloonaallei cmllrebtdadiaócrsrpeeadar1tTum;ecpasadeion.sdnibaornnpectl;gtataaaorprieele"rdor1-axndmool"1te,dslsgee-aeeer1rlnsaaonrnl1teemspTáaat tcrogaoetaaÉ'rrrtbpRldeueLclaacsaüg^orpodsqaapnnanedrrLvlrtioairae-apAn"ssse."dp".cr"tno.iravreroLeer.ilnJ.;mársat;i,co"J-preii0ba"aaLipni.rtA.b.A..te.oouEllorsagdg"nscru.esria.todg"n"aalme-sipaslanoiacpspdf.alu.rdplaaleonmaeEsstgcraaedsltriaeilotneariasl--__-

-Tt

R: F'tt+ F(qo+qr* qr)t,
Las variables de salida decodificadrrsgo, gr y ez son una función de
las variablesen el registroI y puedenser simplificádasde la siguientema-
nera:

4ot Qt* Qt: I;I;Ií + 4I;It + IíI2I.: IíIt + I:I;
vncai.eornimatbeoeluelsdPaeLrcAlaonafutcrneocpl i/tóranlsadesesvidamoripsaltbiéflirecmas.idIneeonsuvneeanzmvdeeaznldaeesravusanirmaiaidlbaelret.srLeqasestséomrtmráaisnscovosan.rLivaae__

/-. lI d l Bl a3
L' l> cl to
Btz el
\) R
F ¡r Arc PLA3 A4
G r l fl
"z e2
4) C2
E Tablas as
Q1 11-8 a6
u9 11-9 4.1
fz ,'9
sl
p

L a.l

'It- ^
PLA 2 "'

It bl

F rabla w
tt-7 b2

G2

Gt b3

Bz cl

Figura l1-8 Control PLA para computador

tu5

Tabla 1l-11 Funciones de control para el pLA t

dt : F'to: F(IíIt + Illi)tr: MAR <_PC
cr : F'ti IiI)t': PC<.PC+I
B<_M
R: F'tt + r <- B(oP)
it : F'tz:
/fl<_ I
"ft: F'(I!+
cz: qst3i PC <- B(AD)
MAR <- B(AD)
dz: Fto: F<- 0
Registrode referencia
ft: F4: Entrada-salida

r : q6t3:
P : 4ttt:

bles de Boole necesitan una traducción de la designación f a un estado en
el registro de secuencia G y de la designación q ai código de operación co-
rrespondiente en el registro 1.

L a t a b l a d e p r o g r a m a p a r a e l P L A I s e d a e n l a T a b l a 1 1 - 1 2 .E l p L A t i e -
ne 6 entradas, 12 términos producto y 10 salidas. Las entradas para G, y
G', son 00,01, 10 y 11 y
)' t¡ respectivamente. La c o r r e s p o n d e na las variables de tiempo t ¡ ., t ¡ , t 2
entrada para 1,, I.¿ e 1, es un número binarió

igual al valor del suscrito i en q, a no ser que se simplifique la función. Nó-
tese que el registro 1 tiene- cuatro bits pero 1o no se usa ya que siempre es
0. El procedimiento para obtener una tabla de program, pt,R a partir de un
conjunto de funciones de Boole se explica en la Selción b_g.

. La tabla de programa para el PLA 2 puede derivarse de manera simi-
lar. pero no se incluye aquí. El tercer pLA requiere12términos AND y una
compuerta oR de 6 entradas (para generarla variable de control c, ). Esta

Tabla 1l-12 Tabla de programapara el pLA 1

Termino Entradas Salidas

del dtctRir.fic2d2hrp
Pr o d uc t o 1 3 1 2 I t F G 2 G l
l-
r-00 0 F'to
j-00 I _I ;- F',tt
I l- FIiIll
30110 I l- FIáritl
400-10 0 l- F'tz
5-01 -l F'Iát3
6001 I
7-0001 I -l F'r;rít3
8l0l-l
9-10 I -l .r5,3
lo-ll I Fto
ll I I 0_ I 0 Ftt
12 lll-l I
I 4ott
I - l 4ttz

sEc. 11-7 D l s E Ñ o D E LC O N T R O Lf i 7

'pSaSr tl e del control puede configurarse más económicamente con compuertas
o con un arreglo de compuertas programables a voluntad (FPGA, field-

programmable gate array). El FPGA es similar al FPLA field-programma-

ble logic array) en concepto, excepto que contiene solamente compuertas
AND programables. Un FPGA típico tiene 9 compuertas AND o (NAND)

q,re 16 entradas comunes.* Se requieren dos circuitos integra-
dos F"op-GpAartpeanra remplazar el PLA B en Ia Figura 11-8. En Ia compuerta OR

externa puede combinarse con otras líneas que generan la variable c1.

Control del microprograma

La organización de la unidad de control para el computador es más adecua-
da paia el control del PLA que para el control del microprograma' principal-
-".rt" por la forma como fueron formuladas originalmente las instrucciones
de refeiencia entre registros. La configuración del control del microprogra-
ma que se va a desariollar aquí, configura las funciones de control para el
ciclo de búsqueda y las instrucciones de referencia de memoria. Las opera-
ciones de referencia de registro de entrada-salida pueden configurarse más
eficientemente con un conirol de componentes interconectados o un control
PLA.

El control del microprograma no necesita los registros I, G y F. El códi-
go de operación está en B(OP) y al final del ciclo de búsqueda puede ser
usado para especificar una dirección de macrooperación para la memoria
de conirol sin necesidad de un registro 1. Las variables de tiempo geneladas
en el registro de secuencia G pueden ser remplazadas por una secuencia de
pulsos d"ereloj que leen microinstrucciones consecutivas de la memoria de
control. La traslerencia del ciclo de búsqueda al ciclo de ejecución puede
hacerse en la memoria de control por medio de una microinstrucción de bi-
furcación, la cual trasfiere el control al siguiente ciclo sin usar el flip-flop
F. La configuración del control de microprograma que se va a desarrollar
aquí remplaáa todo el control de componentes interconectados de la Figura
11-6 (exceptopor el registro B)'

Repasandólas Tablas 11-5, 11-6y 11-7se nota que todas las microins-
trucciones pueden secuenciarse incrementando la dirección de la memoria
de control, excepto cuando se va a ejecutar una instrucción de referencia
de memoria particular o para regresar al ciclo de búsqueda. Un rutina par-
ticular de instrucción dé referencia de memoria puede ser accesible con
una dirección de macrooperación externa. Si se comienza el ciclo de búsque-
da a partir de la direccién 0, es posible bifurcarlo al ciclo de envío borrando
el registro de dirección de la memoria de control CAR. Por tanto, la parte de
secuéncia de dirección del control del microprograma necesita solamente
tres operaciones:

1. Incrementar el CAR para leer Ia siguiente microinstrucción en se-
cuencia.

2. Borrar el CAR para iniciar el ciclo de búsqueda'

*El CI tipo 82S103 de Signetics.

5O8 DrsEÑoDE COMPUTADORES cAP. 11

3. Entregar Ia trasformaciónde bits del B(OP) a una direcciónexterna
del CAR (control memory addressregister).

Un control de microprogramapara el computadorse muestra en la Fi-
gura i1-9. La memoriade control ROM tiene 32palabrasde 7 bits cadauna.
Los primeros cuatro bits se codifican para producir 16 combinacionesde
bits, cada uno para cada función de control. Aunque el computadortiene
24 funcionesde control 16 son suficientespara generaraquellasfunciones

de control asociadascon el ciclo de búsqueday las instruccionesde referen-

cia de memoria.En vez de usar 16bits de ROM para especificar16salidas,
se escogeusar solamente4 bits y decodificarlosmedianteun decodificador
de 4 a 16 líneaspara producir hasta 16 variablesde salida distinguibles.
Este esquemaahorra bits de ROM pero requierede un decodificadorexter-
no. Este limita también Ia capacidadde las microinstruccionesporquesola-
mente se puede especificaruna función de control en cualquier microins-

trucción dada.

La parte de secuenciamientode direccionesde la unidad de micropro-
grama no requiereun multiplexor para seleccionarlas condicionesdel bit
de condición. Hay solamenteun bit de condiciónque se debeconsiderary
se mostrarámás adelantecómo puedeincluirse en un circuito externo.No
hay necesidadpara un campo de dirección en la microinstrucciónporque

no se presentannecesidadesde bifurcación exceptopara el regresoal co-

mienzo del ciclo de búsquedao Ia trasferenciaa un registro de dirección.

Los últimos tres bits de la microinstruccióndeterminan la siguientedirec-

ción. El bit 7 incrementael control del registrode dirección.El bit 6 borra

el CAR, lo cual causaun regresoal ciclo de búsqueda.El bit 5 cargauna

dirección externa al CAR. La dirección de entrada debe contener5 bits
porqueel ROM tiene 32:25 palabras.Tres de estosbits vienende la parte

del registroB que retiene el códigode operación.Los últimos dos bits son

siempre igualesa 11. Esta es una trasformaciónde códigode los bits del

códigode operaciónde la instrucción a una direcciónexternade la memoria

[ncrementar

Cargar entrada
Figura ll-9 Unidad de control del microprog¡ama para el computador

s E c . 11 - 7 D I S E Ñ OD E L C O N T R O L

de conlrol. Esta trasformacióncausaque la instrucción AND, cuyo código
de operaciónes 000,cambiea una direccióndel CAR ig.ral a 00011.La ins-
trucción ADD se trasforma de 001 a 00111y así sucesivamentehasta una
instrucción de entrada-salidacuyo códigode operaciónes 111y cuya tras-
formación de dirección es 11111.El bit más significativo en B(OP) no se

usa porque es siempre 0. del microprograma,mostrada en la Figura 11-9,
La unidad de control
es muy simple y requieresolamentetres circuitos MSI. Debidoa su simpli-
cidad no ut'*rry flexible y como se muestrasubsecuentementreequierecir-
cuitos adicionaiesputu uttu configuracióncompletade la unidad de control'
Las microinstruccionespara el ciclo de búsqueday de ejecuciónde las
instruccionesde referenciade mem oria se listan en las Tablas 11-5,11-6y
11-7.Las microoperacionepsara los registros,I y F no son necesariasya que
esosregistrot .to se usan. Las microoperacionesrestantesy sus funciones
de cont"rolcodificadasse listan en la Tabla 11-13.Los primeroscuatro bits
de una palabraROM en la memoriade control producen16combinaciones
y cada combinaciónespecificauna microoperación.Las combinacionesde
y sólo uno. tto inicia una microoperaciónL. as otras 14 combina-
áóIo
cione""stsoe. decodificanpara entregarvariablesde control para las microope-
racioneslistadas. La salida del decodificador14 inicia la operaciónde es-
critura en memoriaM *B y también especificaun control condicionalpara
incrementarel PC dependiendode la variableBz.La razón para repetir es-
tas dos microoperacioneesn una microinstrucciónse clarificará más tarde.
Nóteseque la rtri".oopur"ciónde escritura de memoriase inicia con la sali-
da 11 dei decodificadóry la variable de control que incrernenta el PC está

disponiblede la salida 2 del decodificador.

Tabla l1-13 codificación de losbits de RoM para las microoperaciones

Bits deROM Salidadel Función Microoperación
| 2 3 4 decodificadordecontrol

0000 0 Ninguna
0001 I dl MAR <_PC
0010 2
0011 C1 PC<--PC+I
0100 4
5 n B<_M
0l0l 6
0l l0 7 C2 PC <- B(AD)
0l l l 8
1000 9 d2 MAR <- B(AD)
l00l l0 r Operaciónde referenciaentre registros
l0l0 ll p Operacióndeentrada-salida
l0l I t2 A¡ A<.A ¡\B
I100 A2 A <- A + B, E <--arrastre
1l0l IJ
I I l0 bl B <-.4
llll t4
l5 W M<_B

b2 B<-B+l
b3 B(AD) <--PC, B(OP) <- 0101,PC <- MAR
,:, M <- B,si(8, : l)entonces(PC +- PC + l)

Ninguna

I

Tabla 11-14 Tabla de ve¡dad del ROM para el control del microprograma

Instruccion Direc- S a l i d a sd e l R O M D e s i g n a c i ó ns i m b ó l i c a
cióndel
ROM 234 56 M ic rooperaciones Sizuiente dirección

B U S Q L ' E D A 0ün0 0 0 0 r 0 0 1 MAR <_PC CAR<- CAR + I
00001 0 0 r l 0 0 1 B<-M CAR<_CAR + I
00010 0 0 r 0 1 0 0 PC<_PC+I CAR<-228(OP)+ 3

.{\D 0001l 0 l 0 l 001 MAR <- B(AD) CAR <_CAR + I
CAR<_CAR + I
00100 0 0 1 l 001 B<-M CAR <--O
C A R< - O
00101 1000 010 A<-A \B

001l0 0000 010 Ninguna

\L \TA 00lll 0l0l 001 MAR +- B(AD) CAR<_CAR + I
01000 001l 001
01001 l00l 010 B<_M CAR <- CAR + I
01010 0000 010
A <- A + B, E <- arrastre CAR<-O

Ninguna C A R< _ O

0 l 0 iI 0 l 0 l 001 MAR <- B(AD) CAR<- CAR + I
B<_A CAR<- CAR + I
0l100 l0l0 001 M<--B C A R< - O
Ninguna CAR <_O
0ll0l l0r I 010

0lll0 0000 010

0lllt 00 MAR <- B(AD) CAR <- CAR + 1
10000
r000t 00 B<_M CAR<_CAR + I
r0010
00 BeB+l CAR<_CAR + 1

M <- B,si (8. : l) enton- CAR<-O

i ces (PC <- PC + l)

I

t 0 0 lI 00 MAR <- B(AD) CAR<_CAR + I
10r00
l0l0l 0 0 B(AD) <- PC,PC <-MAR CAR <_CAR + I
l0ll0
00 M<_B CAR<- CAR + I

PC<-PC+I CAR <_O

BUN 0100 010 PC <- B(AD) CAR<_O
0000 010 Ninguna CAR<--O
0000 010 Ninguna C A R< _ O
0000 010 Ninguna CAR<_O

REGISTRO l 1 0 lr 0000 010 Operaciónde registro C A R< - O
il 100 0000 Ninguna C A R< - O
r/o 0000 010 Ninguna CAR<--O
il l0l 010 Ninguna C A R+ - 0
010
nll0 O p e r a c i ó nd e C A R< _ O
ent¡ada-salida

510

S E C .1 1 - 7 D I S E Ñ OD E LC O N T R O L5 1I

üdE;ciejfi";sour;t;in.ñeg;"eEO.freu,sl=uMs"qimt;ótaua.;ime,"cbláralbpouaisepédisrrnim,torereergbtnsrcaróuuecaltbiicdmóaleaden¡anitválpyiapadasrldecereocasieninevcnsltenaletortrnnadumuiadcdeeedceovlmi-eopbmdonaúrerierucsiaastrqciopnáuddpradeeoersadogcagcprqoaorayunammletmarlapabomarusrluateaesemldnessRioetcdofrrroeaa.MorsnimeL.¡nrnalsaeaHtclsracsauifoimycimTclcuiaa3bcimonrb2óonnlelpaiiecannasasl1latdalrpby-eu1artcaa-rll-aa1as- '

secuencia de direcciones para el CAR' tres mtcroopera-
El ciclo de búsqueda comienza con la dirección 0. Las
ciones consecutiva*'." tu rutina de búsqueda trasfieren el contenido del
pc ul MAR,leen la instrucción al registio B e incremen tan el PC. En la
áir"c"i¿r, 2 (0010)el bit 5 de Ia microinitrucción es igual a 1. El mismo pul-

so de reloj que incrementa el PC también ejecuta la microoperación:

CAR <-228(OP) + 3

Ba,.cu"g(A"rOr1,ReiP"¿g.)aot1r¡"patca"so-freneiaentjerifteeoecnureemtlaaaclnorodlsanuottnrirzoealaqlsudabiiienriuetrssndctarcaudidóce(encml ilócupaónlastdirpriágueliotsceipnaldeaneCcsdíAooflpiRicsep.atrao.aLdrLcaaai2ós2dne)ic.rnoeyEnclsaecftiiolgtó.asbunbirbnalraiacetsricyóioinbseei3ldddca(eoe1ens1enpt)rslsoeataell-
t.pc!.bfri"iuiaai¿óf"lsuñ.npa¿,frr,,bEoAciru-rre"sai"ram¿gtxctisa¿uo"ciaóecRdeucnpienosoó-taMoinnoel.árftpnpiodgeladláepeu"rria.rasarclpeac.tróuauaciicóÁdclicuóuniecigibnónis"0oóJrint1dunaa.s41"aselr.Xdd.iuiiEgelótunli3ánpnsla+aecaat rorcamda3muei:Iairslie,caeet/tnrrOácn1oornczl.5upaioptórlePioaaFdnnnoglieacágrrl1uabaluea9BasrmrjaaSelpradsumeBo,i1tsrrd'pi1eqnneel-cCuooal9ceR,ob'isqlmoiOae^enunsoMa-eipetnr,anuseisooejpt1derda05ihcurer,1uaeca11tybcca6ic1icófce,ia1uónas1dr'nLpct7aaIaaaSycscirinZnoi1dcssna8utatttirri.daeuueuNntncncdreo-a-eeo

p"r"¡*deRoMnousada;portantocadarutinadebecompletarsecon

cuatro microinstruccioneso menos' con tres microinstrucciones. La di-
MAR, el operandose lee de la me-
La rutina AND puede configurarse
rección de la instru""ió.r.. trasfiere al

moria a Byseuj"""tula microoperaciónA N Dentrel o sre gis tro s6A iygBu.aLl aa 1'
última microinstrucció n en la d^irección 5 (00101) ti ene el bit 0 para co-
ñ.io ol
que el CAfi se borre y el contr regresea la dirección

m;ádcñed"re""si1eerut;enIam,,barcz;"emca""*.rundiiruaó""turtnned.noiaune.eoo6arLdpnupa^n.u,uAreoeuúaeNlRv"lidstiDooOioeema.eMed,art.ljeri,.eercjc.apniaLcuraeasluetlonaaennrmbadveálraeoleafncájabboiídnlibúarttegaisty,urqse'a'ynuusiatetg.qláraduuh"oraraeampau.tsetsLetiadreanamaea1sdc4o,oeirpóeyclbiorannueibmpcylodeaaue.esetrardpulcaleietosrcsccenoetaidcatfnluriocctopsCisraól^ao-rmnalAsq_leiRura6aceeb-ercnglorngoeoraiconpenleusassseceeatrAlnranurubofátstclriaaaatecl'sis6toeEceap'nnibseicDentlclIaaseo-ai -

de búsqueda. y STO necesitantres microinstrucciones' La ins-
Las rutinas de ADD Ias cuatro palabras disponibles en la rutina. La
a s o l a m e n t e u n a m i c r o i n s t r u c c i ó n . T J n ai n s t r u c
trucción BSB usa todas ción
instrucción BUN necesit

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

de referencia de registro in icia una variable de control r, la cual puedeser
usaoa conJuntamente con un bit en el regi stroB para iniciar una de las
operaclones especificadas. Lo mismo se apl ica a la instrucción (I,/O) de

entrada-salida.

edcdfobdpccscdls¡cbormcxooiipieoruoauaeecfoiréitr.nitenoememlceaar'mrcanimdrretirdnnrddraEgoaaaúritupnLtfaeatcoeodaranresccnneuaaesmiirlouaAiiermóc.de.dóódRgserinshEorosnNnreennyeiaedunoatandrclvpucpD.aeticiLMacvraedusaranineActlioneaoprlionaeMrcnecuRiNaiecmsammlalarrntiixdaaienmOóciDbtIgr*espitmeistrSmtaccnleeMertinoreenanrunri.oZrenBneetcsnsoeEulnaiopiter?ntx:repsddcanssldedoodaetrtenraecateueeoocaidyegroeentiulpcadnolrs.reeilócgixsrnslp.despaeobnotasanrvtotstdaearascrealrrnrseaeoaa.earcinup.sormcttlnlmbpvlnroiscacdyoocildbnoraaAdaaocmc.eilornneelicnadraurdilt"bnomórpigrpaauoLRéaá9ueesjd1nurutlnu-aatb"oemaetin4cyeo4renepndilofsalnon,pseraucinu"tudc.ddtpt*aama.Lsrso.eeaorefrpeaé,llmdAaEandidItmiriorecdc"Seáse.1dasiieedR.."alrspaaa-tr1Ziutc,r.nocecrat-p.artle-2isya.suoetiocoilsfodegsóitpieEs,noxpdbdacrmneaoceonactatdeesaaoeleolisrnrpBi.pibtrlndvdonsuopefrmeeaa.odiledntarnúLtáonrcer.acenéorpraroaaa""a.atesoiepslsceuricsd;ocasdli;aecsp;"uooeea¿n;i;lbó;otos-";e,dFn;nsn"e"ai;;ii;",.mn;.c".;cfi;,yf;io;snJJ"f;p;l¿f;"i1eJioaiiágr;;rpfipt-.úru;r;;;"r,siene"u"ur;uoJ;-"c-r;;snpi,gdns..L;;áa;raea;bua-"ip"ta;ai;ai,"o,or,"i¡nilcú1rainiccearto,i¿"giia1"rdioaas¿mtprórau"coi_andpiterieynaonaR"a1eu"1eoerlnydinrsatp0la¿4sscdfmuadoefdtEu.ypcceni.iruumdnigfeeeEunqoaialosirneaólulccnisccmuargtrasdclanbraaaotctcisnaredcearoóepcidantcriaoctstoececsaodniuoeomoutloodinosocmnodidutóndmdnpnoaltoddalexeenrafea_aaae_s_ai_i.i_asr-__-_

Inc¡ementa¡ el PC Control de Operaciones
componentes de
Operaciónde registro rnte¡conectados
6 registro y
Decodificador , Operación de ent¡ada-sali Po ent¡ada-salid¿
ROM PLA 3 de

la Figura 11-8

Figura 11-lO Circuitos adicionales para un cont¡ol de microprograma

1 1 - 8 C O N S O L AD E LC O M P U T A D O R

Cualquiercomput a d o rt i e ne un panel de control o consola con lnt,erruptores
y lámparaspara p e rmitir c o m u n i c a c i ó nm a n u a l y visual entre el operador

-l

S E C .1 1 . 8 C O N S O LDAE LC O M P U T A D O5R/ 3

y el computador. Esta comunicación es necesaria para comenzar la opera-
ción del computador (bcntstrapping) y para propósitos de mantenimiento.
Para completar se enumera un conjunto de funciones de la consola útiles
para el computador aunque no se muestren los circuitos necesarios para
configurar estas funciones.

Las lámparas indican al operador la condición de los registros del com-
putador. La salida normal de un flip-flop conectado a una lámpara indica-
dora causará que la lámpara alumbre cuando el flip-flop se pone a 1 y se
apague cuando el flip-flop se borra. Los registros cuyas salidas van a ser
o b s e r v a d a se n l a c o n s o l a d e l c o m p u t a d o r s o n : A , B , P C , M A R , 1 , E , F y S .
Cuando se muestra el número total del flip-flop se encuentra que es nece-
sario 63 lámparas indicadoras.

Un conjunto de interruptores y sus funciones para la consola pueden
incluir lo siguiente:

1. Dieciséis interruptores de "palabra" para establecer manualmente
los bits de una palabra.

2. Un interruptor de "comienzo" para preparar el flip-flop S. La señal
de este interruptor borra el flip-flop F, Nn, Us V el registro G.

3. El interruptor de "parada" para borrar el flip-flop S. Para asegurar
que se complete esta instrucción la señal que viene del interruptor
se aplica conjuntamente con la función de Boole (F* qs I qa * qz *
qt)tz a una compuerta AND antes de que se aplique para el borra-
do de Ia compuerta S.

4. Un interruptor de "cargar dirección" para trasferir una dirección
al registro PC. Cuando se activa este interruptor, el contenido de
los 12 interruptores de "palabra" se trasfieren al PC.

5. Un interruptor de "depósito" para almacenar manualmente palabras
en la memoria. Cuando se activa este interruptor, el contenido del
PC se trasfiere al MAR y se inicia el ciclo de memoria. Después de
1 ¡rs, el contenido de los 16 interruptores de "palabra" se trafieren
al registro B y se incrementa el PC en 1.

6. Un interruptor de "exposición" para examinar el contenido de la
palabra en la memoria. Cuando se activa este interruptor, el conte-
nido del PC se trasfiere al MAR, se inicia un ciclo de memoria y se
incrementa el PC en 1. El contenido de la palabra de memoria es-
pecificado por la dirección en el PC, está en el registro B y puede
verse en las correspondientes lámparas indicadoras.

Para asegurarseque el computador no esté funcionando cuando la ener-
gía se aplica, el flip-flop S debe tener un círculo especial que lo force a una
posición de borrado inmediatamente después de aplicar energía a la má-
quina.

R E F RE E N CI A S

1. Mano, M. M., Computer System Architecture. Englewood CIiffs, N.J.: Prentice-
Hall. Inc.. 1976.

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

2 . Small ComputerHandboofrM. aynard, Mass.:Digital Equipment Corp.,1973.

I B o o t h ,T . H . , D i g í t a l N e t w o r k sa n d C o m p u t e rS y s t e m sN. u e v a Y o r k :J o h n W i l e y
& S o n s .I n c . . 1 9 7 1 .

H i l l , F . J . y G . R . P e t e r s o nD, i g i t a l S y s ú e m .Hs :a r d w a r eO r g a n i z a t i o na n d D e s i g n .
\ueva York: John Wiley & Sons,Inc., 1973.

I Bell, C. G., J. Grasony A. Newell, DesigningComputersand Digital Sysúems.
\{aynard, Mass.: Digital Press,1972.

Kline, R. M., Digítal ComputerDesign.EnglewoodCliffs, N.J.: Prentice-Hall,Inc.,
79i7.

Soucek,8., Minícomputers in Data Processingand Simulafion. Nueva York:
J o h n W i l l e y & S o n s ,I n c . , 1 9 7 2 .

PROBLEMAS

11-1. Repas. ,^ ,.rnjunto de instrucciones del computador diseñado en este capítulo
(Tablas 11-2, 11-3y 11-4)y haga la lista de las instrucciones útiles para:

(a) trasferencias entre la memoria y el acumulador;
(b) trasferencias entre la entrada-salida v el acumulador:
(c ) manipulaciones aritméticas;
(d) operacioneslógicas;
(e) operacionesde desplazamiento;
(f) decisiones de control basadas en condiciones de estado;
(g) subrutina de bifurcación y regreso.

ll-2. Dé una lista de instrucciones para que el computador ponga a uno el flip-flop E.

11-3. (a) Haga una lista de la secuencia de instrucciones para que el computador
ejecute un desplazamiento aritmético a la derecha de un número almacenado
en el acumulador. El número está en la representación de signo complemento
de 2. (b) Repita lo anterior para un desplazamiento aritmético a la izquierda.
Indique cómo se detecta una sobrecapacidad.

11-1. Muestre que la lista de instrucciones obtenidas en el Problema 11-1(d) cons-
tituye un conjunto suficiente para configurar todas las 16 operaciones lógicas
listadas en la Tabla 2-6.

11-5. (a) Escriba una secuencia de tres instrucciones que se almacenen en los lu-
gares de memoria l, 2 y 3. Ellas deben constatar si hay un caracter en un
dispositivo de entrada y si es así, trasferirlo al acumulador. (b) Escriba una
secuencia de tres instrucciones que se almacenen en los lugares de memoria
5, 6 y 7. Ellos deben constatar si el dispositivo de salida está desocupadoy si
es así, trasferir un caracter del acumulador.

11-6. El computador descrito en este capítulo no tiene una indicación de sobreca-
pacidad después de sumar dos números con siglo. Asuma que los dos números
agregados con la instrucción ADD están en la representación de signo com-
plemento de 2. Describa un algoritmo en forma de flujograma para un progra-
ma de computador que sume dos números y detecte una sobrecapacidad.

ll-7. El programa siguiente es una lista de instrucciones en código hexadecimal.
El computador ejecuta las instrucciones comenzando por Ia posición hexade-
cimal 100.

5 1 6 D I S E Ñ OD E C O M P U T A D O R E S cAP. t 1

Código Descripción Función
Simbolo hexadecimal A<_A\/ M
A<_A6M
ORA 8 m OR con A A<_M,M<_A

XRA 9 m OR-exclusiva con A A<-.M _ A
A<-PC,PC<-m
S\['P A m IntercambiarA con
si(l > 0)entonces(PC <--m)
la memoria si(r ( 0)entonces(PC <- m)
si(r : 0)entonces(PC<--m)
SUB Bm RestarA de la memoria

BSA C m Bifurcar y conservar la

dirección en A

BPA Dm Bifurcar con A positivo

BN,d E m Bifurcar con A negativo

BZA F m Bifurcar si A es cero

11-13E. l computad,.,dr iseñadoen este capítulo usa un flip-flop F para distinguir
entre los cicl{)s de búsqueday ejecución. Este flip-flop no se necesitasi ef re-
gistro de secuenciaG es un contador de 3 bits y su decodificadorentregaocho
señales de tiempo, üo hasta ¿7. El registro G puede borrarse ran pronlo
como se complete la ejecuciónde la instrucción. (Esta es la forma como fue
diseñadoel control en el computadorsencillo de la Seccióng-12.)
(a) Reviselas Tablas 11-5,11-6y 11-zpara estar de acuerdocon este nuevo
esquemade control.
(b) Determine el tiempo de ejecuciónde cadainstrucciónincluvendoel tiem-
po de búsquedade la instrucción.

11-14.Haga una lista de las proposicionesde trasferenciaentre registrospara Ia eje-
cución de las instruccionesque se listan a continuación.Asuma que el com-
putador no tiene un flip-flop F, pero que el registro de secuenciaG tiene 16
variables de tiem¡n fo hasta úr". El registro G debe borrarsecuando se
completela ejecuciónde la instrucción.El ciclo de búsquedapara el compu-
tador esahora:

toi PC <_MAR
tti B<_M,PC<_PC+1
tzi r <- B(oP)

cada una de las siguientesinstruccionescomienzanel ciclo de ejecucióna
partir de la variable de tiempo t3. La última proposiciónincluye la micro-
operaciónG.- 0.

Código

Símbolo hexadecimal Descripción Función

SBA 8m SubstraerdeA A<_A _ M
ADM 9m
BEA Am Agregara la memoria M <- A + M (A no cambia)

Bifurcar si A esigual S i ( A : M ) e n t o n c e s( P C * m )

(A no cambia)

P R O B L E M A5S17

11-15.Compare las proposicionesde trasferencia entre registrosdel registro A lista-
das en Ia Tabla 11-10con el acumuladordiseñadoen la Sección9-10.Diseñe
una etapa típica del registro A para el computador usandoel procedimiento
esbozadoen la Sección9-10.Incluya el circuito para la variableA, de detec-
ción de cero.

11-16.Dibuje las compuertaslógicasque generanlas funcionesde control ot has-
ta a, para el registroA (Tabla 11-10).

11-17.Comenzandopor Ia proposiciónde trasferenciaentre registrosdada en la Ta-
bla 11-10para el flip-flop E derive las funcionesde entrada de Boolepara E.
Useun flip-flop JK.

11-18U. na manerade simplificar un circuito cuandose usa el métodode trasferen-
cia entre registroses usar los caminos comunesmientras se desarrollala
lista de proposicionesP. ara ilustrar con un ejemploparticular considereel
multiplexor para la entrada del PC en la Figura 11-7.Este multiplexor no
seríanecesariosi se puederemplazarla proposición:

PC <- MAR

por la proposición:

Fqat2; PC <- B(AD)

en la instrucción BSB de la Tabla 11-7.Explique por qué puedehacerseesto
y cómo resulta en la eliminación del multiplexor del diagramade bloquedel
computador.

11-19U. n contado¡de 4 bits con cargaen paralelose encapsulaen un circuito inte-
grado. ¿Cuántos CI se necesitanpara construir los siguientesregistrosde
computador:PC, MAR, Iy G?

11-20D. iseñe el registroG del computadorusandoun contadorde 4 bits con carga
en paralelodel tipo mostradoen la Figura 7-19.

11-21D. é una lista de la tabla del programadel PLA 2 de la Figura 11-8.
11-22.Cambie la instrucción AND del computadora una instrucción OR y modifi-

que el microprogramade la Tabla 11-14para que estéacorde.Asignela micro-
operaciónOR a la salida 15 del decodificadoer n Ia Tabla 11-13.

11-23.Cambie la instrucción BSB del computadora la instrucción BSA definidaen
el Problema 11-12.Modifique el microprogramade la Tabla 11-14para estar
acordecon esecambio.La codificaciónde los bits de ROM en la Tabla 11-13
puedennecesitarun cambiotambién.

11-24.Diseñeuna unidad de control de microprogramapara un computadorque con-
figure el ciclo de búsqueday ejecución de las instrucciones de referenciade
memoria listadas en Ia Tabla 11-2y el Problema 11-12.Incluya dos salidas
para la referenciade registrosy las operacionesde entrada-salida,

Diseñodel sistema
del

"'Tff*i *-microcomputador

12-1 TNTRODUCCTON l

Un sistema digital se define por los registrosque contieney las operacio-
nes que hace con la informaciónbinaria almacenadaen ellos. Una vez que
se ha especificadoun sistema digital, el papel del diseñadores desarrollar
los materialesque configuranla secuenciarequeridade operacionesE. l nú-
mero de microoperacionedsiferentesde un sistema dado es finito. La com-
plejidad para el diseñoes una secuenciade operacionespara lograr Ia tarea
necesariade procesamientode datos. Esta abarca la formulación de las
funcionesde control o el desarrollodel microprograma.Una tercera alter-
nativa es usar un microcomputadorpara configurarel sistemadigital. Con
un microcomputador,la secuenciade operacionespuedeformularsecon un
conjunto de instruccionesque constituyenun programa.

Un sistemadigital puedeser construidopor medio de los circuitos MSI
tales como registros,decodificadoresA, LU, memoria y multiplexores.Tal
sistemahechoa Ia medidatiene la ventajaque se ajustaa las necesidades
de una aplicación particular. Sin embargo,un sistema digital construido
con circuitos MSI podríarequerirun gran númerode circuitos integrados.
Sin embargo,cualquier modificación que pueda necesitarseu, na vez haya
sido construidoel sistema,se debe lograr por medio de cambiosde alam-
bradoentre los componentes-

Algunos sistemasdigitales son adecuadospara el diseño del LSI con
componentestales como la unidad de proceso,el secuenciadordel micro-
programay la unidad de memoria. Estos sistemaspuedenser microprogra-
madospara adecuarsea especificacionersequeridas.El método del micro-
programaopera a nivel de trasferenciaentre registrosy debe especificar
cada microoperaciónen el sistema. La organízacióndel LSI microprogra-
mado usa menosCI que la configuracióncon MSI.

El númerode CI puedereducirseaún más si el sistemadigital es ade-
cuado para ser construidocon componentesLSI del microcomputador.Es-
tos componentespuedenser clasificadospor funcionesde la siguientema-
nera:

1. Un microprocesadoerl, cual es una unidad centralde proceso(CPU)
encapsuladeon una pastilla LSI.

518

sEc.12-1 T N T R O O U C C T O N5 / 9

2. La memoria de accesoaleqtorio (RAM) y la rnemoria de sólo lect:t.c
(ROM) o circuitos integrados que pueden combinarse para formar
cualquier tamaño de memoria necesaria para una aplicación.

ll. Las unidades programables de interconexión cuya función es inter-
conectar entre el CPU o la memoria una amplia variedad de disposi-
tivos de entrada y salida.

El usuario puede interconectar esos componentes LSI para formar un sis-
tema de microcomputador que se ajuste a las necesidadesdel diseño y que

reduzca drásticamente el número de CI.
Un microprocesador combinado con los módulos de memoria y de inter-

conexión se llama microcomputador. La palabra micro se usa para indicar
el pequeño tamaño fisico de los componentes integrantes. La segunda parte
de la palabra en microprocesador y microcomputador es lo que realmente los
diferencia. Procesador se usa para indicar aquella sección del sistema, la
cual ejecuta las funciones básicas para realizar instrucciones y procesar da-
tos de la manera especificadapor el programa. Esta parte se llama usualmen-
te el CPU. El término microcomputador se usa para indicar un sistema de
computador de pequeño tamaño consistente de tres unidades básicas: CPU,
memoria e interconexión de entrada-salida. El microprocesador se encap-

sula comúnmente en un CI y se llama pastilla de microprocesador.Un micro-

computador se refiere, en la mayoría de los casos,a una interconexión con
componentes LSI. Por otra parte, algunas pastillas microprocesadoras in-
cluyen dentro de la cápsula no solamente el CPU sino una parte de la me-

moria. Tal componente LSI se llama algunas vecesmicrocomputador de una

cápsula.
Un microcomputador puede ser usado como un computador para propó-

sitos generales de bajo costo, para proporcionar capacidades similares a
aquellas de cualquier otro sistema de computador. Aunque ésta es una apli-
cación importante, no es la que se quiere enfatizar. En muchas aplicaciones,
el microcomputador se usa como un sistema general para propósitos espe-
ciales para proporcionar las operaciones de trasferencia entre registros del
sistema. Este tiene la ventaja que pocas cápsulas LSI remplazan una gran
cantidad de circuitos MSI que serían necesarias para generar estas opera-
ciones. Otra ventaja es que las operaciones de trasferencia entre registros
para el sistema pueden especificarsecon un programa. El programa de una
aplicación para propósitos especialeses inalterable y por esta razón puede
ser almacenado en una memoria de sólo lectura. Una vez que un programa
fijo reside en una ROM no hay diferencia de comportamiento entre un sis-
tema digital y el diseño con base en los materiales para un cliente.

La característica más importante del microcomputador es que un siste-
ma digital para propósito especial, de aplicación única, puede ser diseñado
para escribir un programa para un computador digital para propósitos gene-
rales. La ejecución de los programas fijos e inalterables causa que el micro-
computador se comporte de una manera preestablecida, justamente como
se comportaría un sistema digital correspondiente basado en MSI. Este
método de diseño digital no era económicamente factible de configurar, an-
tes del desarrollo de los componentes de microcomputador pequeños 1' de

bajo costo.

5 2 O D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

EI programa almacenado en la parte de la ROM de un sistema de mi-
crocomputador es un programa de computador que no necesita alteracio-
nes. Como la RAM es una memoria volátil, al cortar el suministro de poten-
cia ¡' activarlo de nuevo, se destruye la info¡mación binaria almacenada en
ella. La ROM es una memoria no volátil y el programa almacenado en ella
está disponible cada vez que se le suministre potencia. Por esta razón, la
parte de ROM de un sistema de microcomputador se llama también la me-
moria de programa.

En este punto se debe distinguir entre un microprograma y un micro-

computador. Aunque ambos usen la palabra micro, el primero se deriva del
concepto de las microoperaciones mientras que el segundo se refiere al ta-
maño pequeño de los componentes. Ambos usan una ROM para almacenar
un programa que especifica las operacionesen el sistema. Un microprogra-
ma almacenado en la memoria de control configura la unidad de control en
el CPU. Las instrucciones almacenadas en un microcomputador pueden ser
consideradas como macrooperacionespara el CPU en vez de microinstruc-
ciones para los registros de proceso.Además, el microprograma con palabras
se refiere a la forma como se ha configurado la unidad de control. Un micro-
computador es un computador de tamaño pequeño cuyo CPLI puede o no te-
ner una unidad de control de microprograma.

El microcomputador de bajo costo y pequeño tamaño ha cambiado la
di¡ección del diseño lógico digital. En vez de realizar un grupo de operacio-
nes de trasferencia entre registros por funciones de control o un micro-
programa, se realizan funciones lógicas especificando un conjunto de ins-
trucciones, las cuales se almacenan en una ROM y se ejecutan en el CPU
microprocesador. Este método de diseño puede ser clasificado como un mé-
todo Lógicoprogramable ya que las operaciones secuenciales son especifica-
das con un programa almacenado en la memoria.

El microprocesador es un componente central en un sistema de micro-
computador. La cantidad y tipo de memoria en el sistema, Io mismo que la
naturaleza de las unidades de interfase de I/O que se usan son una fun-
ción de Ia aplicación particular. El programa fijo que reside en la ROM de
un sistema de microcomputador particular es también dependiente de una
aplicación específica.

El diseño de un sistema de microcomputador puede ser dividido en dos
partes: diseño de materiales y diseño de programación. El diseño de los ma-

teriales consiste en la conexión de los componentes fisicos para producir

un sistema digital completo. El diseño de la programación trata del desa-
rrollo de los programas para una aplicación particular. Escribir programas
para un microcomputador es esencialmente igual que hacerlo para cualquier
otro computador. La única diferencia es que ei programado¡ de microcom-
putador debe estar familiarizado con la configuración de los materiales y
debe tener en cuenta los problemas asociados con la aplicación particular.
Escribir programas para un computador establecido para propósitos gene-

rales incluye por lo general procedimientos de cómputo que requieren muy
pocos conocimientos de la construcción de los materiales del computador
en sí, en caso de que los haya.

Este capítulo abarca los aspectos dg los materiales de los microcompu-
tadores sin tener en consideración los problemas de programación. Escribir

a

sEc. 12-2 O R G A N I Z A C I ODNE L M I C R O C O M P U T A D O R

programas para un microcomputador es similar a escribir un microprogra-

ma para la memoria de control, excepto que se debe usar el conjunto de ins-
trucciones para el microprocesador comercial seleccionado. El estudio del
diseño de los materiales es un tema que por sí solo podría llenar todo un

volumen.
En este capítulo se definen primero varios componentes de un sistema

de microcomputador y la forma como se comunican entre sí. La organiza-
ción del microprocesador típico se presenta entonces y sus operaciones
internas y externas se explican. Algunas características importantes co-
munes a todos los microprocesadoresson discutidas. Se muestra entonces
la organización de Ia sección de memoria y se explican varios tipos de uni-
dades de interconexión usados comúnmente en el diseño de sistemas de

microcomputadores.

1 2 - 2 O R G A N I Z A C I ODNE L M I C R O C O M P U T A D O R

Un sistema típico de microcomputador consiste de un microprocesador más
memoria y una interconexión I/O. Los diferentes componentes que forman
el sistema están enlazados por medio de buses que trasfieren instrucciones,
datos, direcciones e información de control entre los componentes de CI' La
Figura 12-1 muestra el diagrama de bloque de un sistema de microcompu-
taáor. Típicamente el microcomputador tiene un solo microprocesador. Si

Microprocesador

Bus de Líneas Bus Bus
liO de datos
direcciones de control

Figura 12-1 Diagrama de bloque del sistema de microcomputador

5 2 2 D I S E Ñ OO E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

se incluyen varios procesadores,se tiene entonces un sistema multiproce-
sador. el cual es una posibilidad válida. Un número de cápsulas RAM y

ROM son combinadas para formar un tamaño dado de memoria. Las unida-

des de interconexión se comunican con dispositivos externos a través del

bus I,'O. En un tiempo dado el microprocesador selecciona una de las uni-

dades por medio del bus de direcciones. Los datos se trasfieren de la unidad

seleccionadaal microprocesador vía el bus de datos. La información de con-

trol se trasfiere usualmente por medio de líneas individuales, cada una

especificandouna función de control particular.

El propósito del microprocesador es suministrar un cPU que interprete
códigos de instrucción recibidos de la memoria y ejecutar operacionesarit-
méticas, lógicas y de control basadas en datos almacenados en registros
internos, palabras de memoria o unidades de interconexión. EI micropro-
cesador contiene un número de registros, una unidad lógica aritmética,
una unidad de tiempo y una lógica de control. Externamente, éste entrega
un sistema de buses para trasferir instrucciones, datos e información de
control hacia los módulos conectados con é1. Las operaciones internas de
un microprocesador típico y las funciones de las líneas de control se des-

criben en la Sección 12-3.
La memoria de acceso aleatorio es una memoria del tipo de lectura-es-

critura y consiste de varios CI conectados entre sí. La RAM se usa para
almacenar datos, parámetros variables y resultados intermedios que nece-
sitan renovación y que están sujetos a cambio. La ROM consiste de un
número de CI y se usa para almacenar programas y tablas constantes que
no están sujetas a cambio una vez que se haya terminado la producción
del sistema del microcomputador. El método de conectar pastillas de me-

moria al microprocesador se describe en la Sección 12-6'
Las unidades de interconexión presentan los caminos necesarios para

trasferir información entre el microprocesador y los dispositivos externos
de entrada y salida conectados al bus l/O. El microprocesador recibe in-
formación de condiciones y datos de los dispositivos externos por medio de
la interconexión. Este responde enviando información de control y datos

para los dispositivos externos por medio de la interconexión. Esta comuni-
cación se especifica por medio de instrucciones programadas que dirigen
Ios datos por medio del bus en el sistema del microcomputador. Los dife-
rentes módulos de interconexión disponibles en los microcomputadores y

su operación se presentan en la Sección 12-7.

La comunicación entre las compuertas LSI en el microprocesador se

lleva a cabo vía el bus de direcciones y el de datos. El bus de direcciones es

unidireccional desde el microprocesador a otras unidades. La información

binaria que el microprocesador coloca en el bus de direcciones especifica

una palabra de memoria particular en la RAM o ROM. El bus de direcciones

uia para seleccionar una de las diferentes unidades interconectadas al
"seistema o a un registro particular de una unidad de interconexión. Una pa-
labra de memoria y un registro de interconexión pueden distinguirse asig-
nando una dirección diferente a cada uno. De manera alterna, una señal de
control puede usarse para especificar si la dirección en el bus es para una
palabra áe -emotiá o para un registro de interconexión. El número de líneas
disponible en el bus de direcciones determina el tamaño máximo de memo-

-l

sÉc. 12-2 O R G A N I Z A C I O N D E L M I C R O C O M P U T A O O R5 2 3

ria que puedeser acomodadoen el sistema.Para n líneas,el bus de drrec-
cionéepuedeespecificarhasta 2" palabrasde memoria. La capacidadtrp:-
ca de ún bus de direccionesde un microprocesadoer s 16, para tener una
capacidadmáxima de memoriade 216:65.536 palabras.La cantidad de me-
mória empleadaen un sistema de microcomputadordependede la aplicación
particulai y a menudo es menor que la máxima disponible en el bus de di-

recciones.

El bus de datos trasfiere los datos del microprocesa$ora la memoria
o interconexióny viceversa,la cual es seleccionadapor el bus <1e_direccio-
nes. El bus de áatos es bidireccional,lo cual significa que la información
binaria puedefluir en cualquier dirección.Un bus de datosbidireccional
patillas en un circuito integrado.S i la unidad no usa-
se usa par a ahorrar onal sería necesariocolocarletermi nales de entrada y
ra un 6us bidirecci
salida, separadosen la cápsuladel circuito integrado.El número de líneas
' en el bus de datos del mióroprocesadorvaría entre 4 y 16 siendo 8 líneas el

I \ meffum"qddsee"suseeaá*errqaeectiusm1rourmunudc6ssedoce,ooaebmdirinrrmaipiee"eagctarsaú.scirv-1eoarucnuqá6sa-ltipd.súoureboqáetarneri,lusslntoaessfeebunsseepeuonqfgreeanisniurdltbrrceueciaaluomracdotdvsnoeu.imoapttcssnordLarú.iaaamoetalPandápsbúodnabdyreunrioremerrsalecesnaeeeeedjvcessnlseecnlmcdooacniedóressudpticaantaolpdematojrlodaaas,epeiseetutci,inodslsantrls"1aoatmlaldra6pydsim"budbrbmaodlaeiy.tsisrceiteemuipeseaamdnnllsoúeeisdraoencxtre-eidlreec-aegiatoita1cdmioueserc6.oneiníLpmidloeaselíoaaonpn.rLn.dusdeoevaAotneaseideprleasegnvsaeumcxrettrnlpnaooatdnpaaeojmsitoadlrvasappn,udoíjpbamauaoneeraeledpiaandecrdseaaberspeeeortrttulnanreerapaueasserrdslsdoseetas-eeoe--r--
ts1d1eoe66nlaeldlíírmnaneteleoaaanssstdiepiuiupru.eue"qc.d"tc""etitóu"dln.as"fat.drdrebeir8nuelcsacliícdanmieeóladenssmesibsoeditrdiedriiaemirv.eciacAcdceielogiñonuetnrennaesotlr.esdEesasmltptaooiascsrrra8yoepqtldrírunaoiriesceefaerceesscracedioodnenomcl eribapesuasd._usrecntd-irodebmaeudtlposabastduorytessen
I y las 8 líneasrestantesdisponibles.
En vez de usar la cápsulamicroprocesadorcaomo la que se muestraen

la Figura 12-1,en algunasaplicacionesse remplazaestebloquecon una cáp-
sula microcoáputadora.Típicamente una cápsula microcomputadoracon-
tiene un CPU con 64 palabiasde RAM y 1.024palabrasde ROM, todo en-
capsuladoen el circuiio integrado.Tiene a d e m á sa l g u n a sc a r a c t e r í s t i c a sd e
interconexión.Si el sistema digital que se va a diseñar no requieremás
memoria o característicasde interconex ión adicionales,entoncesel siste-

ma microcomputadorpuede construirsecon una sola cápsula,componente
manera, esta cápsula puede usarsecomo un
microcomputadora.De esta escasotamaño para una aplicación indepen-
.olnpo.r"ni" de bajo costo y
diente. La mayoríá de las cápsulasmicrocomputadoraspuedenser.expan-
didas con RO-M externa, RÁM y característicasde interconexión para
control más poderosa.En las discusionessub-
.f Droduciruna aplicación de interconexión estarán separadosdel C-PU,pero
;lg,riente., la memoria y la
debetenerseen cuenta que algo de memoria e interconexiónpuedeser in-
cluido dentro de la cápsulade CI que contieneel CPU'

5 2 4 D r s E ñ oD E Ls t s r E M AD E LM t c R o c o M p u r A D o R cAP.12

Para facilitar el desarrollo de los sistemas digitales para propósitos
espccialespor medio de un microcomputador, muchás fuenies ofiecón una
unidad microprocesadoracompleta en un solo tablero impreso. El micro-
pmcesador,un grupo de CI ROM, RAM y de interconexiónconjuntamente
ccn otras cápsulasMSI y SSI, necesariaspara la construcciónde la unidad
de mic¡ocomputadors, e montan en un solo tablero impreso.Los terminales
de los CI se conectanpor medio de alambresimpresospara formar una uni-

dad microcomputadoracompleta. Al usuario se le da accesoa la inter-
conexión de los dispositivosl/O por medio de los contactosdel conec-
tor del tablero. El conector tiene otros contactos para acomodartodos los
busesde información y permitir expansiónexterna de memoriay de inter-

conexiónal tablero.La expansiónde memoriae interconexiónseencuentran
disponiblesen tableros impresosya fabricados.

Separadordel bus

El sistema de buses de un microprocesadorse configura comúnmente por
medio de separadoresdel bus (bus buffer) construidos con compuertas de
\ tres estados.Una compuertade tres estadoses un circuito digital que tiene
tres condicionesa la salida. Dos de las entradasson señalesequivalentes
al binario 1 ó 0, como en las compuertasconvencionalesE. l tercer estado
se llama el estadode alta impedancia.Este último se comportacomosi la
salida estuviera inhabilitada o "flotara", lo cual significa que no puede
afectar ni ser afectadopor alguna señal externa en el terminal. El circuito
electrónicode una compuertade tres estadosse explica en la Sección13-5
conjuntamentecon la Figura 13-16.

El símbolo gráfico de una compuerta separadorade tres estados se
muestraen la Figura I2-2. Esta tiene una entradanormal y una entradade
control que determina el estadode la salida. Cuando la entrada de,control
es igual al binario 1, la compuerta se comporta como un separadorconven-
cional con la salida igual a la entradanormal. Cuandoel terminal de con-
trol es 0 se inhabilita la salida y la compuertapasaal estadode alta impe-
dancia,sin tener en cuenta el valor de la entrada normal. El estadode alta
impedancia le imprime a la compuerta de tres estadosuna característica
no disponible en otras compuertas.Debido a esta característicase puede
conectar un gran número de compuertas de tres estadosa alambres para
formar un bus común de líneas sin causar efectosde carga. Sin embargo,en
un tiempo dado no puede estar más de una compuerta en estado activo.
Las compuertas conectadas deben ser controladas de manera que sola-

Entrada no¡malA Y:AsiC:1
Entradadecont¡ol C Y sehabilitacuandoC : 0

Figura l2-2 Símbolo gráfico para una compuerta separadorade t¡es estados

sEc.12-2 ORGANIZACIONDEL MICROCOMPUTADOA 525

mente una compuerta de tres estadostenga acces-oal bus de líneas mien-

! ' tcn*sdpíbii,rldrc;cspi"sln.d;ñ"na"o;maaaa";deo;i"*i;e-oe"-edhreólóein;slfildf;"rlisigmrpiEcrip;a;"*tcnnti.idoJú""po.nas"r.uc-o"qaibrt"¡,uEaCáo."r;r;..erfoIders;muii-r,e",irio.n.af"ls;nl"ya-upa¡euaeliscm.eripot"eEt.drdcb.atbr"marup"Aepedl,u",olsoauaaeuaphnlraanuifdeacaadrnroesssIaueadnscreesercasmeaspeyláx.ctdaoduoeeissmb"atsó"ispslLi"cpiraoctraaa..síelrire.*rtn"rása¡naotnda"oy^etdfoantáelnr:lriuses."itipoenrcr1odo.ud*srcr"d.a,paia,iarecia.s"rdn;odeeartoycícrCgecrss;iccrtádaeofda*lóttu;udároaoere"gic"u,ááia:;i.áátell""adat"--s;m;e0Lroiúoaeia-tlu"t;torabinelei-ápl"i**nso"--qnd-pn"n.áó;dsia.pidbnr"riÑrrudálpt.uudo.anwfeodo?,a"e"tugetio.eu,péltlueels"nárnse"us.s"rer"oaaoi'umero"ibpettirtsnábtc1c"gir"adasr*aImuun"aeuac:a"ecai"icu,laodrr"ádsecbosetrlolisn".ogpiaeóc.rofe"-iitdfau"dmsodftuaterm"etu"lsonlZidsreaseeCeoisecesbda*"aprnutdcLp-sclsa"pó,dénuuagdcsapionoee¿oncncaddentaasneo.arnnccenodifedpblonelcrncenooeetuEttdeceaaaro.uaevlmraidssnrnnaoroaoeneollesdpmx"dttotatl.isnitnraltadbeeitncpceaomalboeseualeeaeítdem"urolsiaacSqirnnu.,rxiveprcoepcLnornsanirelnuessttébdinss:aptxeaafelóddsaae"usaeosopeyeoattrrdsrdnateeeaiop1nslspaadsnraeapise'dcseridd.bciror,odydyeasntundUomeoeluLdnaeooueroscotetlceoorvnlsnenatttéstrssmososppiaraddessee,bacalac.eoulmneaarseeíg-nasclsuau.AdssnídtetirslnhcuEorieenspdrmrieaoíaaarse0aesapgoninnapnesaereerllínadtdp'ncratpalem,eatbaetbrcnradsbeueeoeprouoaatncrdtmuinocaiooddaulbdioaldndntúfleeidsúoildasísloeemelaesardtoaeaamnqnemnoasedurlnoseccrlsdyebpeduelmteirpe.bonyecoerxetsraoblaueeaiesreaaruseiqtratmraldduaissadsoblseeeeaosrrssrurdddosse'u-aeaupmrcmllealpeetdrEecenafEesnnpdtbcsorsfebmeunioeaiaorospaiscaoicneutlbdureeóddmeírstsrbdtiaerrruemnpulauseadvsnnzeoilafoaeosrneúnneescuípeas.etecdpdcaasmrccnnitmfriapud-doiacfedooooseepenointproseeaapicarmdisorerlm'sciannhcparesLcrdmaoiddadteprmrcodirsaporudaoSperooraeeoesaaiea-iea-oyr-ea-nau-n-rIs--l---

y el sistemade bus común.

C o n t r o ld e s a l i d a

Control si Línea del bus
debus .r0 bidireccional

Control deentrada
Bus habilitado

(alta imPedancia)

Figura l2-3 Separador de bus bidi¡eccional

1 2 - 3 O R G A N I Z A C I ODNE L M I C R O P R O C E S A D O R

Pcbaeacrt iaeongneaerrsua.Lnnaat iszooar grr guaannniazi zamacpci é.iloni oinnr.eat sednregnolaodasedmaeiccceurpoatpdarabpóiucl ie.d"saa.drdn,uo"nrgemus--iuccor oampmerpor clciiaeáslddeaeisfdiaeopdrrelei n--
entre sí, pero ellas tienen la propiedadcomún de una unidad procesadora
central. como tal, ellas son capacesde interpretar códigosd.elnstrucción
recibidosde la m emoriay de re alizar tareas de procesam"ientdoe datos es_
p e c i f i c a d o sp o r u n programa.E llas respondená los comandosde control

externos y generanseñalesde control para ser usadaspor módulos ex-
ternos.

Conjunto típico de señalesde control

La operaciónadecuadade un microprocesadorequiereque se presenten
ciertas señaiesde cont¡ol y tiempo para lograr funcioneséspecíficasy que
otras señalesd e E:ontrosl ean med
procesadoru. n conjuntotípico de idaspara determina¡ el estadod el micro_
líneasde control disponiblesen la mayo-
ría-de los microprocesadoresse muestra en la Figuruiz-q. para compleiar
el diagra mase muestra también el bus de datos,ll bus de direccionesy el
terminal de entrada de la fuente de poder a la unidad. Las necesidadedi e
potencia de un microprocesadorparticular se especificanpor el nivel de

v'ltaje y consumode poder que debesuministrar.L puru op"i", el cI.
gtgreeonnl eeEprrlaaadrrtapeourrlmelasxsiontesafrudlnneodcredieoeelnonpejtusrdal-esidnomatseuddrlneetailfrsraee.slloAeojijygpeuapsnrruaoossdpaurmdocoidicipusroocetpicrr"uoiloecmsnecpsiciauardlossdocoerosem.tsirEepenmuqtupaeiodsetoryeerlpncoaau.srrna-o

Busde datos

Fuente de poder Microprocesador Salida del reloj
Ent¡ada del reioj
Reconocimientode interrupción
Poner a ce¡o Bus garantizado
Petición de interrupción Lectura
Escritu¡a
Petición de bus

Bus de dirección
Figura 12-4 Señalesde control en un microprocesador
526

sEc. 12-3 O R G A N I Z A C I O N D E L M I C R O P R O C E S A D5O2F7

ei reloj de salida lo produce el generadorde reloj en vez del microprocesad"r
en sí. Algunas unidades generan el pulso de reloj dentro de sí, pero requie-
ren un .ii.tul externo o circuito para controlar la frecuencia del reloj' Lc''
pulsos de reloj son usados por los módulos externos para sincronizar sus

óperacionescon las operacionesdel microprocesador.
El terminal de puesta a cero o reset se usa para reposlcronar o rnlcrar

el microprocesador áespués de haber activado la potencia o en cualquier
momentó en que el usuario quiera comenzar el proceso desde el principio.
El efecto de la señal de puesta a cero es iniciar el microprocesador,forzando
una dirección dada al contador del programa. El programa comienza la eje-
cución con la primera instrucción en esa dirección. La manera más simple
de iniciar una puesta a cero es borrar el contador del programa y comenzar
el programa deide la dirección cero. Alg¡nos microprocesadoresresponden
a la señal de puesta a cero trasfiriendo el contenido de un lugar de memoria
específicoal óontador del programa. El diseñador debe almacenar Ia direc-

ción de comienzo del programa en el lugar de memoria adoptado'
La requisición de interrrupción (interrupt) al microprocesador, vierl

típicamente de un módulo de interconexión para informar al microprocesa-
dár que esté listo para trasferir la información. Cuando el rnicroprocesador
recib-euna requisición de interrupción, suspende la ejecución del programa

corriente y se bifurca a un programa que sirve de módulo de interconexión.
Al completar la rutina de servicio, el computador regresaal programa pre-
vio. La facilidad de interrupción se incluye para producir un cambio en la
secuencia del programa como resultado de las condiciones externas. El con-
cepto de interrupción y el método de responder a una requisición de inte-

rrupción se discute en la Sección 12-5.
El terminal de entrada de bus-request (requisición del bus) es una re-

quisición al microprocesador para suspender su operación y llevar todos los

É.,.", u su estado de mayor impedancia. Una vez reconocida la requisición,
el microprocesador responde habilitando la línea de salida de control de
garantía de bus (bus-granted). Así, cuando un dispositivo externo desea
Irasferir la información directamente a la memoria, éste solicita que el mi-
croprocesador abandone el control del bus común' Una vez que el bus sea
intrabititado por el microprocesador el dispositivo que originó la requisición
toma control sobre el bui de direcciones y datos para conducir las trasfe-
rencias de memoria sin Ia intervención del procesador. Esta característica
se llama accesodirecto de mernoria y se discute en la Sección 12-8.

Lectura y escritura son líneas de control que informan el componente
seleccionado por el bus de direcciones de la dirección de la trasferencia es-
perada en el bus de datos. La línea de lectura informa a la unidad seleccio-
nada que el bus de datos está en el modo de entrada y que el procesador
aceptaiá datos del bus de datos. La línea de escritura indica que el proce-
sad-or está en el modo de salida y que los datos válidos están disponibles
en el bus de datos. Cuando los buses están inhabilitados, las dos líneas de
control estarán en el estado de alta impedancia; así, la unidad externa que
controla los buses puede especificar las operaciones de lectura y escritura.

Existen otras posibilidades para el control de los buses. El bus de di-
recciones puede sei controlado con una línea adicional para indicar si la
dirección é* pa.u una palabra de memoria o para una unidad de intercone-

5 2 8 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R CAP.12

mynlcscnltexeouuooieeisocrórmnlcníaantnjaeputéumeL.esarrnsaeadeiarotclsnaendoortoirteysasusealmfonenpmuccsídoñaanpnuuaimarcfoiamanamelilsbneoínerinioircdsnd¡ebneearoeoniddosaldstiqiepsedeeucuqersaasseoceufdarssuocpe0odpnlenacoeloecstisuriscsrsnciaaeáooiidaccdtanlnadiqfoooldceueeummeraosn"esnínopb.c.soudu.oiieum,ntnoemnsinaaneticeecrnirenrarnrodarsieaatltnuianuedrdtddResrsraeaieoc.c/srselw.lceaí.xcniec.rpóutodaenceannnicaifr.óatetlasncvarenruooádre;saslírv;Fensie;náári;ttgiscerdleiadiñcuuosoáséar;nnpeaonspdtos,"ctr*uanitodecá11edlerolu2adaeísdln-decnní4ee.oonyraeacn"rr.uloeutnrrdnbcasooetsaulu"ltrs*ínircntaaeoudnedfcnyeLoyaieectamidrs;iRneooáiabsm¡,lnirre/;cuiewaaucarens-_i-_s_

E j e m p l od e C p U

mcsbulcncct1Píioronooenebe2uananlnrealm-oecrrs5aspulaastoiDam,assind.darvBltsiAtuaaeeapob¡eUcesbaddrdui.oísnrSlesee,eslantafvcnered1Gytdmaeitlrrea6re4oescemaordlKll8otlní.aiiandbbncdAcgsbteryeysiiaqoiaoattatiteuearsslespgusansbtí.¡rr.peu-e.ansEioedodaemaalrlceoirg.rmsabebaccoerasuutdáueecceanssepehscatd.ispdsoioblzoEoiutee,tlzaernrloeílcadas"caaqlbienimdif"rruuóciau,seucaeiuisnrpoccanns.adducrrirt.aaol2ebi*,epo.mpcturuoadn6uo.rnseni"ar:eonnn6a¿nastc"sfo4ddetoometue,Keeirr¿ls,ntaoim"s'uuaci(i;suirdi;yd-nare:;.gloaeo;rcacíngindpriu.c"óau"aern"ip"ndo.:oia-.Er'acionp"inocs.l-;oáóoedoec;*n;J2isíámes-;l-;J;seactiu]b-la-nod*-prrd,dmieeinrro*ipdirornrb,tpcerr,aurrertou,aa.odaeee"cilrul-.iconLedaouaninaoeldrsidasdoAt.oeceFr,seaBeuclandidorsi.eUlgoeaifcíenndruSmtdhrlnatserí,aoa__-ra-s
etcodetcarumoieenpoulecndassnaeunevaruardlrmaelcsqeIlarentmaleiuguaoclatdasliieidlirescpoaóebsrortdrasrninradtooeoudraBdepapddlenmetcereeeb_ehoolebrumiacjaacdtlnyenoocspeittcoafsdneietosiuoapced,.rasitneaanaiEedGeescrlsprloiali.is,stgóa7lircmrnaAunr-n.uriatóeiLdnocecEin,Uencdryrgsrnossieuiétósaeptooltnrgnaetsrsupratiorrosscumeiracotnscee.rnesppiuidognófstre-eiiiroaanecs"aarlocrd.taracsreeC.occuolfErasliriimaPsoetóóla_isUssrennudAtteoeneladodanycaemrlaoedu"ldtc.posleor.aaeoreorensnesmgir!tsc"isgiqrllriuo"azbíia"r-;sn"ra!evui;dltctte.éd"ga""re;"a";s"osoiqdrs"sámrrá¿o"tdy""dra"á"ieroc.e-otr.srci*oáulsrofceop,i'nloo,".nrtgrnportebicirrntecntnulo¡roraerrao"asrna¿s.llic¿cslaidóyeenióuyidoenctxtpdproeniltTaóeiueArreg(ennrer.sLyoAvnIsonddrURidaeseeeeaye,)sa-_nl-,

al microprocesad8o0¡ 80,/8e5xceptoque los registrosF y G se llaman
"r;.}iffi%'j:t

*El registro de condición fue discutido en la Sección 9_2.

I

t, Bus de datos
bidireccional
(DBUS)
+
I
8il

Separadores
de datos

Businternode8 bits

Multiplexor

i(eg Regrstro Registro BC
temporal (7') de corLdición
deinstrucción DE
Registro (/R )
acumulado¡ c

(A) AU Decodificador Contado¡ de
de instrucción
ú programa (PC )

e

Indicador

de pila (SP)

Registro de
di¡ección (4fi )

Temporizador +H+ L---->

J 16 9 8

control Separadores de
direcciones
Otras WR RD
Iíneas (escri- (lec- (ABUS)
de cont¡ol tura) tura) Busdedirección

Figura 12-5 Diagrama de bloque del microprocesador

el rceoLgnoitssatdrsooedrpedaedrlai rpderocorig"eirsodanemedas(i(rAPeRcC)c).i,oEenllePisnrCed cimci baaednnot irleadneienplfaiol ardmioraesccticaóicnókndpdeoetirnmetseemrf u(oSernPi at)ed- yse:
el
la iñstrucción corriente del programa y se incrementa despuésde c-ada
búsquedade instrucción. El ÁR .u usa para almacenamientotemporal de
las áireccionesque se leen de la memoria.Las funcionesde estosdos regis-
tdreolscsPeUreá. nnSlcPalasSreiefuiccscaaidócanorsnic-j5uu.natnEadlmobesunestdedceeosdnciurrienbcaacnpioillanasedsspeeumceuedemenroceficiaaisb,dyiersiuonpffuoenrrmcaicaóicnoinsóeens
d"-epfdii*reccionamientode un par de legistrosprocesadoresS. e puedenformar
tres parespara conformaruna dirección de 16 bits. Estos se demarcancon
los simbolósde registroscombinadosBC, DE y FG. Cada registroproce-
sador contiene8 bits y cuando se combina con el adyacente,conformaun
par de registrosde 16 bits. Es convenientealgunas vecesdividir los tres

529

5 3 O D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

r e g i s t r o sd e 16b di1tesanP8yCde,elSlsPPímCybyAoplfotC,Le(nllol)dsogssebpriate.rftidee"sre.mEa lelonssoímbroibtrsodl9eo1na1.A1d6seí.sPigCn(a,lLo)ss8e
bits de may or or
refierea los bits

Ciclode memoria
La unidadde memoriaconsistede RAM y RoM. Esta se conectaal micro-
procesadorpor medio de los busesde direccionesy datos y el control de
lectura y escritura. Esta se muestra esquemáticamenteen la Figura 12-6.
un ciclo de memoria se define como el tiempo que se requierepara tener
accesoa la memoria con el objeto de leer o escribirun byte.

Micro- d e d i r e c c i ó nA B I I S \ Memo¡ia
procesador Busdedatos(DBUS ) (RAM o ROM)

Lectura (.RD)
Escritura (WB)
(para la RAM solamente

Figura 12-6 Comunicación ent¡e el microprocesador y la memorla

y En el ciclo de lectura,el microprocesadocrolocauna direcciónen ABUS
habilita la línea de control RD. La memoria respondeleyendoel byte y
colocándoloen el DBUS. El microprocesadoar ceptáel byte y lo trasfiereá
un registro externo. Para expresarel ciclo de lectura simbólicamentese
asumeque la dirección viene del AR y el byte de datos se trasfiereal re-
g i s t r oA :

ABUS <- AR, RD <- I dirección en el bus para lectura
DBUS <--MIABUS] la memoria leeel byte
A <- DBUS, RD <- 0 el byte setrasfiereaA

Primero, el microprocesadocr oloca la dirección de memoria en el ABUS e
informa a la memoriaque hay una direcciónválida disponiblepara lectura.
La memoriar eaesnpoDnBdU_7Sel .REDl
y colocándol leyendoel byte en la direccióndaáa por ABus
microprocesadotrrasfiere entoncesei byte del
DBUS a A. Al mismo tiempo la señalde control .RDseinhabilita indicando
el final de la trasferenciade memoria.

so-laLparosptoressicoiópne:racioneslistadas anteriormentepuedencombinarseen una

A <-MIARI

Esta es la operación de lectura que trasfiere el byte de memoria direcciona-
d<rpcrrel AR al registro A.

\

sEc. 12-3 O H G A N I Z A C I ODNE L M I C R O P R O C E S A D O R 3 J t

En el ciclo de escrítura, el microprocesadorcoloca una dirección en
ABUS y un byte de datos en DBUS. Al mismo tiempo setrabilita Ia línea
WR. L; memóriarespondea WR escribiendoel byte del DBtlS en un lugar
de memoria especificádopor la dirección en ABUS. Este procesopuedeser
e x p l i c a d os i m b ó l i c a m e n t e :

ABUS <_AR, DBUS <- A, WR <- I

M I A B U S ] + - -D B U S , W R < - 0

Este proceso establece que el contenido-del registroA se trasfiera al bYte
de mámoria en la dirección dada por AR' De nuevoes posibleescribir esta

operación con una proposición compuesta:

MIAR)<-A

Las trasferencias de memoria al microprocesador deben estar acordes
con ciertas relaciones de tiempo que deben existir entre las señales dd
control y la información de Ios buses. Estas relaciones de tiempo son espe-
que -s e incluy en en la s unidades
cificadas por formas de onda de tiempo produ cto. El inte rva lo de tiempo
.á-po"""i"s con las especificaciones del
de un ciclo de memoria es una función de la frecuencia de reloj interna del
memoria. Una vez que el micrr¡-
-i"-pto""rador y el tiempo de accesode la una respuesta dentro de un in-
prt."-rfi"r envía la dirección, éste espera

ie.valo dado de tiempo. una memoria capaz de responder dentro del inter-
uuto ¿. tiempo del procesadorpuede ser controlada directamente por el ciclo

de memoria del microProcesador.
Si el micropro".üdo. se comunica con una memoria lenta, podúa to-
mar más tiempo el accesode la memoria que el intervalo de tiempo Rerm-i-
.i¡tu- putu pod., ,rru. memorias lentas el microprocesador debe ser capaz de
demorar la trasferencia hasta que se complete el accesode la memoria. Una
iot*u es expandir el período del reloj del microprocesador es reduciendo
la frecuenciá del reloj p".u q.t" se ajuste al tiempo de accesode la memoria.
Álg.rno. microprocesádor"r uien"tt con un terminal de control especial, lla-
permitir que la memoria coloque su propio tiempo
mído ,"ady, (listo) para él microprocesador no recibe la señal ready (listo)
de ciclo dé memoria-. Si
áe la memoria, después de enviai Ia dirección, entrará en un estado de es-
línea de ready (listo) esté en el es-
iiri tiart¡, duranté el tiempo en que Ia la memoria, la línea de ready pasa
i"do O. Cuando se complete-el accésode

ai estado 1 para indicar que la memoria está lista para una trasferencia

específica.

Secuenciamiento del microprocesador

La secuencia y control en el microprocesador determina la secuencia de
trasferencias a través de los buses internos y externos, el ALU y los regis-
tros procesadores.Durante el ciclo de búsqueda, el corttrol lee un código de
operáción de la memoria y Io deposita en un registro de instrucción. La ins-
trucción se clei:odifica y se traslada a actividades de procesamiento espe-

5 3 2 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

cíficas. Las referenciasposteriores a la memoria dependendel código de
operacióndecodificado.Asúmaseque todos los códigosde operacióncon-
sisten de ocho bits y se almacenanen un byte de metoria. Las operadores
son también de un byte de longitud porqueel bus
de longitud.una direcci ónse especificacbn dosbyt de datoses debcho bits
eso 16bits. considérese
ahora tres instruccionesde suma con rongitudesdiferentesde formato.

r. sumar B o A. Esta es una instrucción para sumar el contenidodel
registroB al contenidopresentedel acumulador.Toda la informa-
ción necesariapara especificarla instrucción está contenida dentro
de un código de operaciónde un byte.

2. sumar eI operandoinmediato o A. Esta es una instrucción que su-
ma un operandoal contenidopresentedel acumulador.El byte aet
operandose colocaen ia memoriasiguiendoel byte del códigod" op"-
ración. Esta instrucción ocupadosbytes de memoria.

3. sumar eLoperandoespecificadopor una dirección o A. Esta es una
instrucción que suma un byte almacenadoen alguna parte de la
memoria al co¡rtenidopresente del acumulador. La dirección del
operandose coloca en la memoria siguiendoel byte del código de
operación.Esta instrucción ocupatres bytes de memoria,yu qrrl"1",
direccionesen sí mismas ocupandos bytes.

_ El formato y la funcit'rnde las tres instruccionesse sumarizan en la
Tabla 12-1.cada instrucc;ióntiene al menosun byte para el códigode ope-
ración. La unidad de control se diseñapara reconoce.el númerodé bytes^en
una instrucción particular del códigode operacióndecodificadodel primer
byte.
pulilonarnssi mFtlcruiLeóuggardcuaacirgrraiieenoolspsnd28tree-r5e7susooy.cepcLc8nueai6ótpra:anpaccreniiiómsódnn2oded6ser ea0omyi8nterssbemetisrtdousbercayitcaetsieódri gsmnenrsileanaesdasapodsteseraucelrmtsnbi vúeiitanumrmasbetriercri auonamcbtdeciaenL.i oenaanntreiedoe.siLlrdsealeeucsgic1loaiu6ótrsrbngatirdt1sasecdeeool annns

(0000000100000100)2: (260)¡s
EI operandopara esta instrucción se muestra localizadoen la memoria en
el lugar 260.En una aplicación típica, las tres instruccionesresidirán nor-

Tabla l2-l Tres instrucciones típicas de un microprocesador

I¡strucción Byte I Byte 2 Byte 3 Función

SumarB y A Código de Operando A<_A* B
operación A?A +byte2
Sumar el operando
en turno y A Código de Mitad de Mitad de A<- A +M [dirección
operación mayor menor
Sumar el operando
especificado por una Código de orden de orden de
dirección y A operaciórr a dirección
a dirección

't

Contenido
binario de
la memoria

Direccióndecimal--1

lnstrucción de 1byte 8 I 10000000 Op-code para agregar B a A

f a z I 1000l10 Op-code para agregar el operando en turno y A
Operando
Instrucciónde2bytes {

183

laq 00000I 00 Op-code para sumar el byte de memoria y A
Mitad de mayor orden de la dirección
I Mitad de menor orden de Ia dirección

Instrucciónde3 bVtesI 85
I

186

8',l 0 1 0 1 0 1 0 1Siguiente op-code

2 6 0ol o o o r r rOoperando

Figural2-?Representacióndelamemoriadetresinstruccrones

RovmapAaleoMl mrra. eenEnsdttsoáetneesonuo"jpcleaeat ormRaaObncidMaao,n,mdomebbhii oeeandrbeturrsáraiandsneiqrtcueeeeensel iIldcaoaáRpdl cdeAuerMlaoan.sdpDoooecerinqoautrerleoladcl ufoeognbrameurana2sa6su0idmeei rislertsvcaeacrqláioóuernend.sleaul
Figura 12-5para los nombresde los registrosy buses,
se Refiriéndosea la lista de la secuenciade operacionesnecesariaspara
puede hacer una
procesarcada instrucción. se asumeque el contadordel programacontiene

i n i c i a l m e n t e8 1 .

SumarB o A: leer el códigode oPeración
IR <--MlPCf, PC <- PC + 1 trasferir B a T
T<_B sumar T a A
A<_A*T

La primera línea representael ciclo de búsquedapara-leere1códigode ope-
*"i¿" al registro de sustracción.La o p e r a c i ó nd e c o d i f i c a d ae s p e c i f i c au n
regist.o proósador; de manera que el cbntenido de B se trasfiere a T y la

ofrración de suma se realiza en el ALU. Nóteseque el PC se ha incremen-

tado y contieneahora el número82. ciclo de memoriaporque
ia instrucción de un byte se ejecutacon un
todos los operandosresiden en los registros del procesador.S- i un operando
resideen lá memoria,es necesarioacclsar la memoriapara leer el operando.

533

5 3 4 D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP. 12

Sumar el operandoinmediato a A:

IR <- M[PC], PC <- PC + 1 leer el código de operacrón

T <- M[PC]. PC <- PC + | leer el operando

A<-A * T sumar el operando a A

La primera línea representa el ciclo de búsqueda una vez más. El PC se in.
crementa para que contenga la dirección 83. En esta dirección se lee el ope
rando de la memoria y se coloca en ? para ejecutar la suma en el ALtl.

si la instrucción contiene la dirección del operando, el microprocesador
debe pasar por cuatro ciclos de memoria para ejecutar Ia instrucción.

Sumar a A el operando especificadopor una dirección:

IR <- M[PC], PC <--PC + | Ieer el código de operación

AR\H) <- MIPC\, PC <- PC + | leer el primer byte de la dirección

AR(L) <- MlPCl, PC<- PC + | leer el segundo byte de la dirección

T <- MIAR] leer el operando

A<_A*T sumar el operando a A

La parte de la dirección de la instrucción se almacena temporalmente en el
registro de dirección (AR). La dirección de 16 bits formada en el AB se usa
entonces para leer el operando.

No se requiere un gran número de ciclos de memoria en los microproce-
sadores porque consumen gran cantidad de tiempo de proceso. Este es uno
de los factores limitantes de la velocidad de los microprocesadores de 8 bits

con direcciones de 16 bits. El número de accesosa la memoria puede ser
reducido si se usa el bus de datos de 16 bits. Los microprocesadoresde 16
bits requieren menos referencias a la memoria comparados con los micro-
procesadoresde 8 bits. Aunque se ha escogidodescribir la operación de un
microprocesador de 8 bits, la operación con un bus de datos de 16 bits po-
dría ser similar, tomando en consideración las diferencias en longitudes de
las palabras usadas por los registros del procesador y las palabras de me-
moria.

1 2 - 4 I N S T R U C C I O N E SY M O D O S
DE DIRECCIONAMIENTO

La estructura lógica de los microprocesadoresse describeen los manuales
de referenciasuministradospor el fabricante.un manual para un micropro-
cesadorparticular describela organizacióninterna en el CPU, la función
de todos los terminales de entrada y salida y los registrosprocesadoredsis-
poniblesdesdeel punto de vista del usuario. El manual describetodas las
instruccionesdisponiblesen el computadory explica susfunciones.Demues-

I

sEc. 12-4 I N S T R U C C I O N EYSM O D O SD E D I R E C C I O N A M I E \ - :

tra también cómo los bits de condiciónson afectadospor cada instrucc. :.
El códigointerno para cadainstrucción se lista en binario, octal ¡'he¡ac¿-
cimal. En la mayoría de los casosse adopta un códigoequivalenteoctai -
hexadecimal porque estos códigosnecesitan menosdígitos que la represen-
tación binariá. Cuandose escribeun programapara un computadorse asig-
na a cadainstrucciónun nombresimbólicopara identificarlo.

Los nombres simbólicos y códigosasignadosa las instruccionesusa-
das en un microprocesadorson diferentes de los nombres y códigosusados
en un microprocésadodr iferenteaun para instruccionessimilares.Por esta
razón, el usuario debe estudiar y recordar el conjunto de instrucciones y
sus nombressimbólicoscada vez que se usa un microprocesadodr iferente.
Aunque el grupo de instrucciones de diferentes microprocesadoresdifieren
de uno a o[.o, hay ciertas instruccionesque realizan operacionesbásicas
y que son incluidas en todos los microprocesadores.

Conjunto básico de ¡nstruccionesde un microprocesador

Las instrucciones del microprocesadorpueden clasificarseen tres tipos
diferentes.

1. Instruccionesde trasferenciaque mueven datos entre registros,pa-
labras de memoria y registrosde interconexiónsin cambiar el con-
tenido de la informaciónbinaria.

2. Instruccionesde operaciónque realizan operacionescon los datos
almacenadosen los registroso palabrasde memoria.

3. Instruccionesde control usadospara probar el estadode las codifi-
cacionesen los registrosy causarun cambioen la secuenciadel pro-
grama dependiendode los resultados.

El conjunto de instruccionesde un microprocesadopr articular especifica
las operacionesde trasferencia entre registros y decisionesde control que
están presentesen el sistema del microcomputador.Un programa espe-
cífico para un microcomputadores equivalentea especificarla secuencia
de operacionespara un sistema digital particular que sea config¡rado por
el microcomputador.

Las instrucciones de tipo trasferencia en los microprocesadoreson
indicadas por diferentesnombres.Una instrucción de mouimienüo(move)
causauna trasferenciade datos desdela fuente hasta su destino. La fuen-
te o el destinopuedeser un registroprocesadoor un lugar de memoria' Las
instruccionesde carga (load) y almacenar (store) son similares en la ins-
trucción de movimiento exceptoque se refierennormalmentea trasferen-
cias a la memoriay al acumuladory viceversa.La instrucciónde intercam-
bio (exchange)cambia la informaciónentre dos registroso entre un registro
y una palabra de memoria. Las instruccionesde insertar (push) y sacar
(pop) trasfieren datos entre los registros procesadoresy la pila de memo-
ria.-Las instruccionesde entrada y salida trasfierendatos entre los regis-
tros procesadoresy los registros de interconexión.

5 3 6 D t s E ñ oD E Ls t s r E M Ao E L M t c R o c o M p u r A D o R cAP.12

y. Las instruccionesde ripo operativo ejecutan operacionesaritméticas
dc desplazamientoentre los registrosprócesadoreos palabrasde memo-

ria- Ellas ponen a coro,a uno o complementanlos bits de condicióno bits
indicadoresL. as instruccionesde opeiacióntípicassonsumar,restar,AND,
oR, complementary poner a uno .l bit de arrastre.La mayoríade las ins-
truccionesde tipo operativocambiantambién los bits de condiciónen el
registrode condicióndel procesador.

Las ei nsys tcr uacmcbi oi anrees-l dcea tipo control rienen caracte¡ístic aspara tomar
decision mino tomado por el programacua ndóse ejec"ia

en el computador.Las instruccionesse almacen"n.r, lugaresde memoria
consecutivosy se ejecutanuna detrás de otra en secuenciá.el programador
agregauna instrucción de control cada vez que el control debe-seitrasferi-
do a una instrucción que esté fuera de Ia secuencianormal. Las instruccio-
nes de control puedenser condicionaleso incondicionalesU. na instrucción
de control condicional causauna bifurcación de la secuenciade programa
normal solamentecuando se detecta una condición de estado..p.óín.*.
Una inst¡ucción de control incondicional causauna bifurcaciónincóndicio-
nal. La bifurcaciónde la secuenciadel programanormal se logracambiando
el contador del programade manera que?rte .ontenga la dirección de la
instrucción que esté próxima a ejecutarse.

. Hay tres tipos de instruccionesde contror ¡' cada tipo puedeser condi-
cionalo incondicional:

1. Instruccionesde salto o bifurcación.
2. Instruccionesde llamado y regresoa Ia subrutina.
3. Instruccionesde omisión.

T,aspalabrassaltar o bifurcar se usan igualmentepara implicar lo mismo y
algunas vecesse usan para denotar modosdiferentesde áireccionamiento.
Estas instruccionesestán asociadascon una dirección que especificadón-
de se debe hacer el salto o la bifurcación. Las instruccionesde subrutina
de llamado y de regresose explicaránen la siguientesecciónconjuntamente
con la pila de memoria.una instrucción de sálto ,r omisión (skip) es la que
evita la siguiente instrucción en secuencia.Al colocar una inslrucción de
bifurcación incondicionalenseguidade una instrucción de omisión o salto,
es posible hacer una bifurcación a uno de dos lugaresposibles,dependien-
do del-valor especificadode la condicióndel bit dé status.

l n s t r u c c i o n e sp a r a e l m i c r o p r o c e s a d o r
El número de instruccionesdiferentes en un microprocesadopr articular
puede variar entre 50 y 250. Estas instruccionesdeLen ser estudiadasv
memorizadaspor el usuario quien escribelos programaspara el microcom-
putador. Una lista parcial de instruccionesfoimuladas para el microproce-
sadorde la Figura 12-5se presentaen la Tabla 12-2.Eslas instruccionesse

Tabla l2-2 Lista parcial de instruccionespara el microprocesador

Códigc Símbolo

hexa- dela

decimal instrucción Descripción ¡ uncron

78 MOV A,B MoverB haciaA A<_B

3E M V I A , D 8 Moverel operandoinmediatoa A A<_DE

7 E MOV A, FG MoverhaciaA conregistroindirecto A <- MIFGI

11 MOV FG,A MoverA conregistroindirecto MIFGI<- A

3A LDA ADI6 CargarA directamente A <- MlADlíl

?') STA AD16 AlmacenarA directamente M \ A D 1 6 l < -A

0l LXI FG,DI6 Cargarel par de registros FG + D16

inmediatamente

80 ADD B Sumar B a A A<-A 1B
C6 ADI D8 Sumarel operandoinmediatoa A A<_A+D8
86 ADD FG Sumara A conregistroindirecto A<-A+MlFGl
90 SUB B SustraerI deA A+-A - B
AO ANA B AND B yA
BO ORA B AeA \B
04 INR B ORBvA A<-A\/ B
05 DCR B I n c r e m e n t a rB B<-B+l
03 INX BC D e c r e m e n t a B¡ B<-B-l
OB DCX BC Incrementarel par de registrosBC BC<_BC+I
2F CMA Decrementaer l par de registrosBC BC<_BC_I
07 RLC ComplementarA
OF RRC RotarA a la izquierdaconarrastre A<-r
37 STC RotarA a la derechaconarrastre
Ponera i el bit dearrastre A<-clcA
c3 JMP ADIó
A<-crcA
DA JC ADI6 c<- I

C2 JNZ ADI6 Saltarincondicionalmente P C < _A D I 6
Saltar si existearrastre S i ( C : 1 )e n t o n c e s
CD CALL ADI6
(PC <- ADr6)
c9 RET
76 HLT Saltarsi existevalordiferentea cero S i ( Z : 0 ) e n t o n c e s

(PC+ ADt6)

Llamar subrutina PiIa <- PC,

Regresode la subrutina P C < _A D I 6
Detenerel procesador pC <- pila

'A : registroacumulador;B: registroB; FG :par de registrosF y G; fif :par de re-
gistrosB y C; D8: operandode datosde 8 bits (1 byte); D16- operandode datosdc 16
b i t s ( 2 b y t e s ) ; 4 D 1 6 : d i r e c c i ó nd e 1 6b i t s ( 2 b y t e s ) .

5 3 8 D I S E Ñ OD E L S I S T E M AO E L M I C R O C O M P U T A D O R CAP,12

dividen en tres seccionespara dar ejemplosde instruccionesdel tipo de
trasferencia,operacióny control.

El código hexadecimal listado en la tabla es un número de 2 dígitos
equivalenteal códigode operaciónde 8 bits asignadoa la instrucción. (La
representaciónde 4 bits equivalentepara los 16 dígitos hexadecimalesestá
dadaen la Tabla 1-1.)El nombresimbólicode cadainstrucciónes una de-
signaciónde 2 a 4 letras seguidasde uno o dos símbolosde un registro,un
operandoo una direcciónde memoria.La columna de descripciónexplica la
instrucción en palabrasy la columna de función define la instrucción pre-
cisamentecon una proposiciónde trasferenciaentre registros.Nótese que
las instrucciones de computador especificanmacrooperacionespara él mis-
mo y pueden ser simbolizados con proposicionesapropiadaspor el método
de trasferencia entre registros. Sin embargo,por razonesprácticas, las ins-
trucciones de computador se escriben con símbolos específicoscomo en la
segunda columna de la tabla. Estos símbolos especialesson asignadospor
el fabricante del computadory tienden a ser diferentesen los diferentes
computadores.

Las primeras cuatro instruccionesde la Tabla 12-2son instrucciones
de movimiento y trasferenciade información de una fuente a un destino
dado. Las siguientesson instruccionesde carga y almacenajeque logran
un objetivo similar. Un númerorepresentativode instruccionesdel tipo ope-
rativo se listan en la segundaparte de la tabla. En la última secciónse da
la lista de varias instruccionesde control.

La instrucciónde movercon registroindirecto:

MOV A, FG

simboliza la operación de trasferenciaentre registrosA *MlFGl. Es-
ta trasfiereal registroA el byte de memoria, cuya dirección está en el par
de registrosFG. Esta es llamada instrucción indirecta de registroya que
el par de registrosFG especificanla dirección del operandoen vez del ope-
randoen sí.

La instrucciónde cargainmediata:

LXI FG, DI6

simboliza la operaciónde trasferenciaentre registrosFG *D 16 dondeD16
es un númerode 2 bytes que puederepresentaruna dirección.Esta instruc-
ción puedeser usada para trasferir una dirección al par de registrosFG.
Cuando se usa de esta manera el par de registrosFG constituyenun con-
tador de datos o un indicador que señalauna direcciónde memoriadonde
se almacenael operando.FG puedeser incrementadocon la instrucción de
incrementodel par de registros:

INX FG
la cual simbolizala operaciónde trasferenciaentre registrosFG*FG*7.
De esta manera, el contador de datos o indicador puede ser incrementado
para indicar las direccionesconsecutivasen la memoria donde el progra-
mador almacenauna tabla de bytes de datos consecutivos.

t

sEc. 12-4 I N S T R U C C I O N EYSM O D O SD E D I R E C C I O N A M I E N T O 539

Las instrucciones de operación contienen las operacionescomunes
aritméticas, lógicas y de desplazamiento.Nóteseque hay más instruccio-
nes del mismo tipo que puede.t ser formuladas si se especificauno de los
cinco registro. p.o""üdores C, D, E, F o G en vez del registro específic-o
Sái.mrpilli'caarmdaenutseá,nudnoauinnostrcuucaclqióunieqiauedeeslopsectrifeicsapuanrepsadredreegreisgtirsotsropsoPsi|b9ldees
B.
.ei

BE, DE o FG.
Las últimas seis instruccionesen Ia tabla son instruccionesde control'
Las instruccionesde salto y llamado necesitanuna dirección de 16 bits
simbolizada AD76. Las diretciones de regresoo paro son instruccionesde
ellas que incluyen el símbolo AD76 o D16 son instrucciones
un byte. Aqu y uqrr-ella.qrr" rr.un el símbolo D8 son instrucciones de dos
de trls bytes ias demás son instrucciones de un byte especifiqueno no un
bytes. Todas

registro.
La mejor manera de apreciar un conjunto de instrucciones de un com-

prrt"áát es escribir programas que realicen tareas de procesamiento de
datos significativos. Lot ptogtamas escritos para el sistema de microcom-
putadoriequieren el mismo razonamientológicoal escribir_microprogramas
puru ,r.r sisiema digital como se vio en el ejemplo del Capítulo 10.

Modos de direccionamiento

El códigode operaciónde una instrucción especificala operaciónque va a
,e, e¡e"itada despuésde haberseleído de la memoria y colocadoen la uni-
control debesaberdóndeencontrar
dad áe control aét CpU. La unidad de la operación.Los operandospueden
al operandocon el cual se va a ejecutar
estar localizadosen los registrosde procesoen palabrasde memoria o en
los registrosde interconexión. La forma comoson determinadoslos operan-
dos dúrante la ejecución del programa se determina a partir del modo de
direccionamientode la instruóción. En computadoresgrandes'el modo de
direccionamientode una instrucción se especificacon un código binario
de la misma forma como se especificael códigode operación.En los micro-
prccesadoresde 8 bits, el primer byte de una instrucción es un códigobi-
nario combinado que especifica la operación y el modo de la instrucción'
Una vez colocadoéstebyte en el registrode instrucción, durante el ciclo de
búsquedaes interpretado por el control para determinar no solamente la
opeüción que debéser ejecutadasino también la forma comose van a loca-

lizar los operandos.
En la Tabla 12-1sepuedeencontrarun ejemplode tres modosde direc-
cionamientopara la misma operación.La tabla definetres tipos de modos
de direccionamientopara la instrucción sumar a A. La operaciónpuede
referirsea un registro, u.r operandoinmediato o a un operandoespecífico

para una direccién de'm" emoria,si ésta se especificade-mododiferente.un
de modos de direccionamiento
iot"p"tuao. puede usar una gran variedad ent esmanerasde localizar ope-
pur" lu misma operació np a r a empleardifer

randos. Para el usuario sin experiencia,la variedad de modosde direccio-
namiento en algunoscomputadorespuedeparecerexcesivamentecomplica-
da. Sin embargó,la disponibilidad de diferentesesquemasde programación

5 4 O D I S E Ñ OD E L S I S T E M AD E L M I C R O C O M P U T A D O R cAP.12

dan al programador con experiencia la flexibilidad de escribir programas
que son más eficientes con respecto al número de instrucciones y tiempo de
ejecución.

Se han discutido algunos modos de direccionamiento en los ejemplos
anteriores y se sumarizan aquí como referencia.

Modo implícito: En este modo se especifica el operando implícita-

mente en la definición de la instrucción. Las instrucciones de este tipo son
instrucciones de 1 byte. Por ejemplo, la instrucción "complementar el acu-
mulador" es una instrucción en modo implicado porque el operando en el
registro acumulador está implícito en la definición de la instrucción.

Modo de registro: En este modo los operandos están en los registros
que residen dentro del CPU. Las instrucciones del modo de registro son
instrucciones de 1 byte y puede ser ejecutadas dentro del cPU sin nece-
sidad de hacer referencia a las memorias para los operandos.

Modo indirecto de registro: En este modo la instrucción especifica
un registro o un par de registros en el procesador cuyo contenido da la di-
rección del operando en la memoria. Este modo usa instrucciones de 1 byte
aunque el operando esté en la memoria. Antes de usar una instrucción de
modo indirecto de registro, el programador debe asegurarseque la dirección
del operando se coloque en el registro procesador con una instrucción pre-
via de tipo trasferencia. una referencia al registro es equivalente a eÁpe-
cificar una dirección de memoria.

Modo inmediato: En este modo el operando se especifica en la direc-

ción en sí. En un microprocesador de 8 bits se coloca el operando en la me-
moria inmediatamente después del byte del código de operación. Una
instrucción de modo inmediato que tiene un operando de 8 bits es una ins-
trucción de 2 bytes. una con un operando de 1Gbits es una instrucción de
3 bytes.

Modo de direccionamiento directo: En este modo el operando resi-
de en Ia memoria y su dirección está dada directamente en Ia parte de di-
rección de la instrucción. Una instrucción directa consiste de tres bytes en
un microprocesador de 8 bits con direcciones de 16 bits. En computadores
con palabras de memoria mayores, la parte de dirección se combina con la
operacióir y los bits del código de modo para unir toda la instrucción en una
palabra de memoria. La mayoría de las instrucciones de modo directo asu-
men que los otros operandos residen en los registros procesadores.Si hay

más de un operando que resida en la memoria, la instrucción debe incluir

direcciones adicionales para especificar sus posiciones.

Algunos microprocesadores de 8 bits con direcciones de 16 bits tienen
modos de direccionamiento directo que requieren solamente un byte para
especificar una dirección. Tales microprocesadores dividen los 216 bytes
de mernoria en bloques llamados páginas. A cada página se le asigna usuai-

!

SEC.12.4 I N S T R U C C I O NYE SM O D O SD E D I R E C C I O N A M I E N T C Y '

mente 256bytes de espaciode memoria consecutiva.Una páginaen ia ¡ie-
moria se especificaco; Ios ocho bits de mayor orden de una dirección. Los
8 bits de méno¡ orden dan el byte dentro de la página. Así, una memoria cie
64K puede dividirse en 256páginas de 256bytes cada una. La primera pa-
llama página 0 y riltima página 255.Por medio del oeds qi rueecmt o" 4d"e p-l-
girrur" . posibietesarro la r algunas variacionesen el mod di-
firru. u lla

reccionamiento.

Direccionamiento de la página cero: Este essimilar al modode di-
reccionamientodirecto exceptoque Ia parte de la dirección de la instruc-
ción contienesolamente1 byte. Esta es una inst¡ucción de 2 bytes con un
.ugo"Jo byte especificandolos ocho bits de menor orden de la memoria de
diieccionei. LoJ ochobits de mayor orden de la direcciónse asumencomo
ceros.Esto restringeel rangode las direccionesa los 256bytes menoresde
memoria(0-255)los cualesdefinen Ia página0.

op Direccionamient o de página presente: Este modo asume que el
erandoresideen la memoria dent ro de la misma páginad e memoriaq ue

lá instrucción que la usa. Como el contadordel programaretiene siempre
la direcciónde ia siguienteinstrucción, sus ochobits de mayor orden con-
tienen también el númerode páginapresente.Este modode direccionamien-
to usa instruccionesde 2 byleJ con una parte de dirección de 8 bits. La
dirección del operandot" obti"tte del número de página encadenadocon la
putll ¿" dirección de la instrucción. La direcciónde 16 bits del operando

secalculaa partir de:

PC(N + AD\

dondePC (H) denota los ochobits de mayor orden del PC y ADS los 8 bits
de direcciónde la instrucción. El resultadoes una direcciónde 16bits con
el PC (Il) dando los primeros8 bits y ADS los 8 bits restantes'

Direccionamiento relativo: Este es similar al modo de direcciona-
miento de páginapresenieexceptode que no es sensiblea los límites de las
páginas.Una instiucción de modo relativo es una instrucción de 2 bytes
co" el segundobyte que especificaun número con signo en el rango entre
- 128y + tZl. E.stose lográ representandoel número en la forma de signo
compiementode 2. La direcciónde 16bits del operandose calcula aglegan-
do el contenidode 16 bits disponiblesal presenteen el contadordel progla-
ma a la dirección de 8 bits con signo en la instrucción. Si esta última se
denotacomoAD8 el cómputode la direcciónpuedesimbolizarsecomo:

PC + AD8

Esto requiereque el operando(o el lugar donde Ia instrucción relativa de
bifurcacióntraifiere el control) estéenire I27 y - 128bytes separadode.la

direcciónde la siguienteinstrucción. Los límites de la páginano tienen nin-
en el modo relativo porquetodos los 16bits del contador
gonu
del pr"oog.rrra""m.ra".sre.iuusan en el cálculo.

g2 DISEÑODEI- SISTEMADEL MICROCOMPUTADOR cAP.12

tipufuterrvccni¿iaevanseunnos¿ncaraaactngttr'cdderlutoeesbLiruosasoi.Eeodiarcleepfonanlecucsoeecasparlidtrnalnacmóaa.adietlalnrrecrciiddletcfeie.luuen'iiccienr¡clóllsaceoeadratPantoeicncesrpólUonauccptanrdliitcauaoóóreddpicrarnlnnseeatieddcaóilcedrrciiulnaroarasoicdaeenplodinlecincocsaeebndulccdtnrtsrevlmiidoeaeuaotóasrsennscronnuledeledocdelcdaaboerorioscóeedqijpe.Lfieddnlaóuuenuoociisdnerrrrnesupqeeaeé.ailteucccEnnnaplrctoedltinlaocanleiamoaóen,msre,lnvlippdtmialnarnieucod"umsdáasodr.tectraoostornip"crruud,lodnuteaiasnrcoótoccroer"crnptccora.leiidreairóisepsósóuelrnqeáneanetnsn.e.lertsayLeuroaicdelvnfasmuanáeeolsanoadlicpmdlcnlpatoaaaturiduioer.ovpdeidelddrmrosaaisiceiirr,lrmretroceaceseaeasriaccocecóciuicaidcdccgnóudni.iioi"óudAnnóseóiisdnóaetnblanidg"sanllndeceedeauodáágetffelnupeediutdllsloaaeacciaiae--r,sl-__

El cálculo de la direcciónefectivapara los últimos cuatro modosde di-
reccionamientodiscutidos anteriormentese listan en la Tabla 12-3.En la
tab.lase da la lista de otros cinco modosde direccionamientoencontrados
comúnmente en los microprocesadores(y en computadoresde gran tama-
ño). El símboloAD16 denotauna dirección de 2 Lytes y ADg áenotauna
direcc_iónde 1byte. PC es el contadordel programiv xR es un registroín-
dice. Xx es un registro del cPU usado
cenar di r ecciones.La dirección a l m a c e" nn '''n"ho. computadorespaia alma-
adaen X ft púedeser referenciada
con una instrucción de modo indicado. Una inst¡ucóió.r.e colocainicial-
menteenel Xrt por mediode una instrucción del tipo trasferencia.El cálcu-
lo de la dirección efectiva en cada modo se especificaen la tabla con una
expresiónde cómputo del reg istro.La di recciónefe
para accesarla memoriaa fin de leerun o p e r a n d oo ctivade cómputo se usa
convertirseén la direc-
ción de bifurcaciónen una instrucción dei tipo de control. Los otros modos
de direccionamientolistados en la tabla se explican a continuación.

Tabla 12-3 Cálculo de la dirección efectiva para varios modos de di¡eccionamiento

Modo de Dirección Comentarios
di reccionamiento efectiva

Directo AD 16 Partede la direcciónde 16bits de la instrucción
Páginacero AD8 Partede la direcciónde8 bits de la instrucción

Páginapresente PC(H) + AD\ Los 8 bits de mayorordendel PC encadenados

Relativo enADS

PC + AD8 Contenidodel PC másAD8 consigno

Indexado X R + A D I 6 Contenidodel Xr? másAD 16

Registrobase XR + AD8 ContenidodeXr? másAD 8

Indirecto M\AD16l Direcciónalmacenadaen el lugardadoporAD 16
Indirecto-indexado
Indexado-indirecto MIXR + ADS\ Direcciónalmacenadaen el lugar (XR + ADg)
MÍADS) + XR Direcciónalmacenadaen el lugarADg másel

c o n t e n i d od e X / i


Click to View FlipBook Version