Sei sulla pagina 1di 35
54 Organizacién y arquitectura de computadores IMPUTADOR La funcién bisica que realiza un computador es la ejecucin de un programa, constituido por un conjunto de instrucciones almacenadas en memoria, El procesador es, precisamente, el que se encarga de ejecutar las instrucciones especificadas en el programa. Esta seccién pro- porciona una revisién de los aspectos claves en la ejecucisn de un programa, que en su forma mas simple consta de dos etapas: El procesador lee (capta) la instruccidn de memoria, y la gjecuta. La ejecucién del programa consiste en la repeticién del proceso de captacién de in truccién y ejecucién de instruccién, Por supuesto, la ejecucisn de la instruccién puede a su vez estar compuesta de cierto ntimero de pasos (obsérvese, por ejemplo, la parte inferior de la Figura 2.4) El procesamiento que requiere una instruceién se denomina ciclo de instruccién, Se repr senta en la Figura 3.3 utilizando la descripcién de dos etapas explicada mas arriba. Los dos pasos se denotan como ciclo de captacién y ciclo de efecucién. La ejecucién del programa se para, sdlo si la maquina se desconecta, se produce algiin tipo de error, o ejecuta una instruc- cidn del programa que detiene al computador. LOS CICLOS DE CAPTACION Y EJECUCION Al comienzo de cada ciclo de instruccién, la CPU capta una instruecién de memoria, En una CPU tipica, se utiliza un registro llamado «contador de programa» (PC, Program Counter) para seguir la pista de la instruccin que debe captare a continuacién. A no ser que se indi- que otra cosa, la CPU siempre incrementa el PC después de captar cada instruccién, de for- ‘ma que captard la siguiente instruccién de la secuencia (es decir, la instruccidn situada en la siguiente direccién de memoria), Censidérese, por ejemplo. un computador en el que cada ins- truccidn ocupa una palabra de memoria de 16 bits, Se supone que el contador de programa almacena el valor 300. La CPU captard la proxima instruccién almacenada en la posicién 300. En los si ciclos de instruccin, captard las instrucciones almacenadas en las posiciones 301, 302, 303, y asf sucesivamente. Esta secuencia se puede alterar, como se explica luego. La instruccién captada se almacena en un registro de la CPU conocido como «registro de instruccién» (IR, Instruction Register). La instruccién se escribe utilizando un cddigd binario que especifica la accién que debe realizar la CPU. La CPU interpreta la instruecién y leva a cabo la accién requerida. En general, ésta puede ser de cuatro tipos: ‘* Procesador-memoria: deben transferirse datos desde la CPU a la memoria, 0 desde la memoria a la CPU. * Procesador-E/S: deben transferirse datos a o desde el exterior mediante transferencias entre la CPU y un médulo de E/S. « Procesamiento de datos: la CPU ha de realizar alguna operacidn aritmética o l6gica con los datos. Cie de cataién Ciclo de eecuion (woo Capt Eject lacguerse Eee, PARADA Figura 3,3. Ciclo de Instruccién basico, Buses del sistema 55 + Controk una instruccisn puede especificar que la seeuencia de ejecucién se altere (como la instruecisin de salto LAS. “Tabla 2.1), Por ejemplo, ka CPU capla una instruceidn de la posicién 149 que especilica que Ia siguiente iastrucci6n debe captarse de ft posicién 182, La CPU registrars’ este hecho poniendo en el contidor de programa 182, Asien el proximo cielo de cuptacidn, la instruccisn se cargard desde la posicion 182 en lugar de hacerlo desde kt posieisn 150, La ciecucicin de una instruceién puede implicar una combinacion de estas acciones, Considérese un ejemplo seneillo utilizando una maquina hipotética, que inelaye las eara- teristicas enumeradas on la Figura 3.4, £1 procesuder posee un unico registro de datos, Hama- do cacumulader: (AC). Tanto kes instruceiones come los datos son de 16 bits. Asf, es conve- niente orgunizar la memoria ultilizando posiciones de 16 bits, o palabras, FI formato de instriceidn indica que puede haber 2+ ~ 16 codigos de eperacién codops) diferentes, y se pueden direccionar direetamente hasta 2'* = 4096 4K) palabras de memoria. 3.5 ilustea la ejecucién de una parte de wn programa, mostrando las partes re- levantes de la memoria y los registros de kt CPU, Se utiliza notacién bexadceimal', El Trag- mento de programa swma el contenido de ta pulsbra de memoria en ts direecién 940,,, con el contenido de ia palabra de memoria en ta direccisn 941, y almaccna el resultado en esta Glia posicién, Se requieren tres instruceiones, que consumen Wes cielos de captacién y Wes eucion, dle eh 1. Fl contador de programa (PC) contiene e] valor 30) la direecidin de la primera ins: truccidn, Esta instruccisn se carga en el registro de instruccién (IR). Obsérvese que este proceso implicaria ef uso dei registro de diteccion de memoria (MAR) y cl rezis- tro de datos de menioria (MBR). Por simplicidad. se han ignorado estos registros intermedios. Los primeros cuatro bits de IR indiean que el acumulader (AC) se va a cargar, Los restantes 12 bits especifican la direccin, que es 940, 2. El registro PC se incrementa. ¥ se upta la siguiente instruccién, « 6 Direccin r {a} Formato de instruccién a4 _ 19 s Magnitud ] () Formato de enteros Contador de programe (PC) Registra da instruccién{1R) = Instuccion en ejocucién Acurnulader (AC) = Almmacenamierto femoral (c) Revistras inarnes de la CPU Direccin de inetacessn D001 = Cargar AG desc memonis D010 = Almacenar AC en memona B1DT = Sumar AG un dato de memera {a} Lista parcial de Codaps (xcécigas e operacion») Figura 3.4. Caracter'sticas de una maquina hipotética. "Ln motivinin hessdeeinnat. ead digito espyosema cuanto bit tt las oumtenidas de la memoria y Tos regisins cuanelo bi Lom Para ins leetores ni fausibrizades eon est nota es kt noxaeton mids gonveniente para represen- ital le paubra es multiple de 4 (por ejemplo, §, 16 3) se resume en el apendice del Capitulo 8. 56 Orgenizacidn y arquitacture de computadores r __ — ogists Reciatros Memoria de ia CFU Memoria dela CPU soo [19 40 goo] PC 00 [79-40 Zoo] Pe j sof 5944 Jac | ser fis gas Poaag [ac | saleeat| Giveeolm | mlaeet) | [rede] | 10 [0 008 sao [00.0.3 silo 002 on [0.92 Paso Paso 2 Ragistros Rogistos Memoria esl CPU tenovia do lau sofa 4o] Sil ec | owfteas] [soal soils eat oooajac | srisead 005) Ac 302 vet) Lea n soz | 29. ‘Boat | IR t oo} 600.9 oo [5000.3 + 255-51 oti. 0 00.2. oi [ooos-—~ Paso Paso Regisiius Resistos Memoria ee lnCP Memoria aeiacru soo [ts 40 zea] pc | sof i sao) Bog] ro aif seat | ooo6 | ac | 01] 5194 00:8] Ac awheeat posi lim | sep eeas o4o| 0003. ovo [Jo 08 esl 0002 241 [10.0005 Paso Paso 6 . Figura 3.5. Ejemplo de ejecucisn de programa. el resuk 1 Fl contenido anterier de AC y el de la posicidn de memoria 941 se suman, 3 {ado se almacena en AC, Bb] registro PC se incrementa. y se eapta fa siguiente instruceion 6. Eleontenide de AC se almacena en In posicién 941 En eate efemplo, se necesitan tres cielos de instrucelbn, cada une eon un cele de captacién y tin cele de ejecucion, para sumar el contomdo ce I posicién 940 ye contenido de ao eee con a conjunt-de instrucciones més complejo se bubieran necesttado menos Slow, Tos procesadates actuales incluyen instruceiones que conticnen més de una direceién. see chao de viecuoion de una insiruceisn pucde ineluir mis de una referencia a memoria, Adenuis, en lugar de referencias a memoria, una instruveién pucde especificar una operas cidn de E'S. Por ejemplo. la instruccién del PDP-1 exp) resada simbdlicamente como ADD B,A alm Buses del sistema 57 ona [si suma de lox contenidos de las posiciones B y A en ki posicién de memoria A. Se pro- duce un solo cicky de instrucciés con Jos siguientes pase # Se capta la instruccida ADD. + El contenido de la posicign de memoria A se lee y pasa al procesados El contenido de la posicién de memoria B se Ive y pasa al provesador. Para que el eon- tenikio de A no se piers, el procesador debe (ener al menos dos registros para almace- nur valores de memoria, en Iugar de un solo acunaulador ¢ Sc suman los dos valoves. «FI procesador escribe ef resultado en ka posivion de memoria A. Asi, el ciclo de eiecucidn de ana instru amemor 3) particular puede ocasionar mals de una referencia | Ademats. en lagar de referencias «memoria, una instruecitin puede especificar una operacién de E/S. Con estas consideraciones adicionales en mente, la Figura 36 proporciona una visidn mis detallada del ciclo de instruccisn basico de la Figura 3.3. La figura Gene Ia forma de un diagruma de estados, Para un ciclo de instruccidn dado. algunos estados pueden no darse y otros pueden visitarse mais de una ve#, Los estadas se deseriben a continuaeisn: + Gileulo de la direccién de la instruceidn {iac, instruction address caleulationy: determina Ja direceién de la siguiente instruccisn a ejecutar, Normalmenty, esto implica afiadis un auimero fijo a la direceién de la instruccién previa, Por ejemplo, si las instruceiones te- nen un famaino de 16 bits ¥ kt memoria se organiza en palabras de 16 dits, se suma | a Ja direecidn previa. En cambio, si la memaria se organiza en bytes (8 bils) direcciona- bles individualmente, entonces hay que sumar 2 a la dircecisn previ + Captacién de inst cisn en memoria }6n (if, instruction fetch: Ja CPU lee la instruccidn desde su posi- ‘+ Decodificacién de la operacién indicada en la instruecidn (iod, instruction operation de= coding): analiza Ja instruceién para determinar el tipo de operaei6n 2 realizar y ellos operandets) at utilizar. « Cileulo de la dirce implica una relerenci nna la dir n del operandy (oac, operand address ealculation): si la.instruccién aun operando en memoria o disponible mediante E/S, determi- én del operando, . Captacién de instruccion Varios operandos Decouis- ceacion de la persion de la instruccién Caloulo do fe direccién ‘do oparanda Instrusetin completada Capiar siguiente insiruscion Figura 3.6. Diagrama de estados del ciclo de instruecion. 58 Organizacion y arquitectura de computadores « Captacién de operand (of, operand fetchy capta el operando desde memoria 0 se lee desde ef dispositive de E # Operacién con los datos (do, data operation): resliza la operaeisn indieada en fa instruc cidn. | cribe el resultado en memoria o te * Almacenamicato de operando (os, operand store): saica a través de un dispositive de E/S. Los estades en kt pare superior de Ix Figura 3.6 ocusienan intereambivs entre la CPU y la memoria 0 un médulo de F/S. Los estados en la parte inferior del diagrama sole ocu- sionan operaciones internits a Ja CPU, EL estide oae aparece dos veces, puesto que una ins Cucci6n puede ccasionar una fectura, una escritara, o ambas cosas, No obstante, kt accicn realizadi en ese estado es la misma eo amnbos casos y, por eso, silo se necesita un tiico ks tificadar de estado, Obsérvese ademiis que on Ul ditgrama se considera lu posibilidad de onttiples operandos y multiples resultados, puesto que se necesita en algunas imstradciones de ciertas maquines. Por cjemplo. la instruccién ADD A.B del PDP-11 da lugar a a siguiente secuencia de esta- dos: iae, if ied. oe, af, oe, of, do, aac, os. Por diltimo, en algunas miquinas, se puede especifiear con una tinica instruceién una op racién a realizar con un \elor (maltiz, unidimensional) de ntmeros o con una cadena (matriz unidimensional de etracieres. Come indica la Figura 36, esto impliearia una repelicién de estados de captaci6n yo aimacenamiento de operande. INTERRUPCIONES Prdcticamente todos los computadores disponcn de un mecanismo mediante el que otros inédulos (E'S, memoria) pueden interrampir el progesamtento normal de ka CPU. La Ta bli 3.1 enumera kas clases de interrupciones mas comunes. La naturaleza espeeifica de estas intetrupeiones s¢ examina on este libra mis warde, especiamente en los Capitulos 6 y 11. Sin embargo, necesitamos introduety ef eoncepto ahora para comprender mas claramente ta esen cia del ciclo de instruceidn ¥ los efectos de las interrupetones en la esirugtura de intercone- xidn, En este momento, el Sector 26 neeesita conocer los detalles de la eeneracisn y el proce- samiento de lis onerrupeiones, sino sékimente concentrarse en la comunicacién entre meédalos que resulisin de Tas interrup jones, En primer lagur, las interrupciones proporcionan una forma de mejorar ta eficieneia del procesador. Por ejemplo, la mayaria de los dispositives externos son mucho miis lentos que el procesador, Supdnuase que el procesador esta transfiriendo datos 2 una impresora utili- Tabla 3.1. Clases de interrupciones Programa Gonerads por alguna condicion que se produce como resultedo de Ia eje- ‘cucion de una instruccion, tal como desbardamiento aritmetico («aver flown}, division por cero, intento de ejecutar una instruccién maquina inexistente, e intento de acceder fuera dei espacio de memoria permiti- de para e! usuario. Temporizacion Generadas por un tomporizador interno al procesador. Esto permite al sis- tema operativo realizar ciertas funciones de manera regular. EIS Generades por un controlador de E/S, para indicar la finalizacidn sin pro- blemas de una oparacion o pare avisar de ciertas candicionos de error. Fallo de hardware | Generscas por un fallo tal como la falta de potencia de alimentacion o un arror de paridad en la memoria. Buses del sistema 59 vando ef esquema del cielo de instruecidn de la Figura 2.3. Despuds de ead operacin de exetitura, el procesadar tendra que parar y permanecer ociosy hasta que le impresera com= plete kt escritura, La longitud de esta pausa puede ser del orden de muchos cieatos, @ incluso miles. de ciclos de instruceién que no implican acceso « memoria, Claramente, esto supone un derroche ex ef uso del procesador La Figura 37a ilustra ke situacién del ejemplo releride ca ol pairrafo precedente. El progra- ma de usuario realiza wna sorie de Hamadas de eseritura (WRITE) entremezcladas con el proce- samiento. Los scementos de cédigo 1. 2, y 3 corresponden a secuencias de instrucciones que no ocasionan operaciones de B/S. Las Jamaudss de eseritura (WRITE) corrependen a Jamadas a un programa de ES que es una de las utilidades del sistema operative y que se enearga de kt operacién de LS considerada, 11 programa de FS esti constiluide por Ires seccionus’ # Una secuencia de instrucciones, rotulada eon 4 en la figura, de preparacién para la ope- Tacidn de LS a realizar, Fsto puede implicar la copia def dato que se va x proporcionar cn unt registro intermedio ( @ — Tf operacién o toes Procesador “es oe lower — — ib) Con interrupciones: ® (@) Sin interupeiones Figura 3.10. Temporizacién en un programa: espera de E/S cérta, | Figura 2.12 muestra ef diagrama de estados del cielo de instruecion modificade para ineluir al procesamiente del cielo de interrupeién, Hasta ahora doicumente se ba discutido la existencia de una sola interrupeidin, Supdngase, 9 obstante, que se puedan produeir varias interrupciones. Por ejemplo, un progrania puede estar recibiendo datos a través de una linea de comunicacion ¢ imprimiendo resultados. La impresora generard interrupciones cada ver que complete una operacién de escritura, El coa- trokidor de la nea de comonicacién generard una inferrapeisn cada vez que Hegue una uni dad Ge datos, La unidad de datos puede ser un earcicter 0 un blaque, segtin el protocol de comunicacidn, En cualquier caso. es posible que se produzea tina interrupeién de eomunica- clones mientras se esti procesando la interrupeién de la impresora, Se pueden seguir dos alternativas para trular lis interrupciones milliples. La primera es dessetivaar las interrupeiones migntras se est procesando una intecrupeién, Una interrupediin inbubiliteud (adisabled interrupt») simplemente significa que cl procesador puede y debe igno- rar la sefial de peticisin de interrupcidn, Si se produce una interzupeidn en ese momento, ge- nerulmente se manticne pendiente, y sera exsaminada por el procesador una vez éste haya ai tivado las interrupciones, Asi, cuando un programa de usuario se estd ejecutande y se pro- Buses del sistema 63 Tiempo: ——_ —" @ @ ® i) rocesador 2 * en “ Operagion ® Operacion cepera em | owes o — esses 3 @ © ® @ @ @ — Operaciin Procesador ae iS Procesadr er cn essere espera (0) Gon tenupsiones @ (aj Sin interrupeiones: Figura 3.11. Temporizacién en un programa: Espera de E/8 larga. catsin Sanacey\ 5 ns Un bus es un camino de comunicacisin entre dos « nuis dispositivos. Una caracteristica elave de un bus es que se trata de un medio de transmisin compartidy, Al bus se conecian varios dispesitives, y cualquier sefal transmitida por uno de esos dispesilivos esta disponible para que les otros dispositivos conectados :il bus puedan acceder a ella. Si dos dispositives trans: | miten durante el misma periodo de tiempo. sus sefales pueden solaparse y distorsionaise. Consiguientemente, solo un dispositivo puede usnsmitir con éxito en un momento dado. Usuatlmente. un bus esta constituide por varios caminos de comunigacion, o itneas, Cada linea es eapaz de (ransmitir sefitles binarias representadas por 1 y por 9. Ea un intervalo de tiempo, se puede transmilir una seeuencia de digitos binarios a través de una tinica tinea. Se» pucden utilizar varias hinets del hus para transmitir digitos binarios simultaineamente (ea pa ralelo}, Per ejemplo, un date de & bits pucde transmitirse mediante ocho Tacas del bus. 68 Organizacién y arquitectura de computadores Los computadores poseen distintos Gpos de buses que preporcionan comunicacion entre sus componenies a distintos niveles dentro de la jerarquta del sistema. Fl bus qiae conecta los componentes principales del computador (procesiidor, memoria y E'S} se denamina dus del sistema (exystem bus»). Las estructuras de interconexion mils communes dentio de un compu- tador estan basackiy en el use de uno © més buses del sistema ESTRUCTURA DEL BUS EL bus del sistema esti eonstituide, usualmente, por entre 30 y 100 Itneas. A eada Linea se le asigna un significado 0 una funeién particular. Aunque eaisien disefios de buses muy diver sos. of Lodos ellos las lineas se pucden clasificar en (res grupos funcionales (Figura 3.16) Jineais de datos, de direcciones. y de control. Adensis, pueden existir Kneas de alimentacisn para suministrar energia a los modules concetados al bus. Las fincas de datos proporcionan un camino para transmilir datos extre los médulos det sistema, El conjunto constituide por estas Iineds se denomina buy de datos. El bus de datos gencralmente const de 8, 16-0 32 laeas distintas, cuyo mimero se conece como enehura del bus de datos, Puesto que cada Hines slo puede transportar un bil cada ver, el ntimero de Nineas determina cuiiatos bits se pueden transierir al misme tiempo. La anchuta del bus es un factor clave a a hora de dcterminar las prestaciones del eonjunto del sistema. Por ejemplo, si el bus de datoy tiene una unehura de 8 bits. y las iastracciones sou de 16 bits, entonces el Procesador debe acceder al médulo dé memoria dos veces por cada cielo de instruceisu, Las titeus de direceisn se utilizan para designar li fuente o el destino del dato situado en el bus de datos. Por ciemplo, si ci procesador desea leer una palabra (8. 16 0 32 bits} de datos de la memoria, sila Ja dircceisin de La palabra deseada en las Iineas de direcciones. Clara. mente, la anchura del bus de dirceciones determina la maxima capacidad de memoria posible en cl sistema, Ademiis, las lineas de direeciones generalmente se utilizan también patra direc civnar los puertos de E'S, Usualmente, los bits de orden mas allo se vtilizan para seleccionar una posicién de memoria o un puerto de K/S dentro de un ersdale. Por ejemplo, en un bus de 8 bits, la diroccidn 0111111 ¢ inferiores arian referencia a posiciones dentro de un mé- dulo de memoria fe! modulo 0) con 128 palabras de memoria, y las cirecciones 10000000 y supeniores desigearian dispositives conectados a un tiddulo de ES (rédulo 1) Las Hiteas de controt se tilizan para controlar el acceso y ol uso de las Tineas de datos y de direceioucs. Puesto que las lineas de datos y de direcciones son compartidas por todos les componentes, dehe cxistir una forma de controlar su uso. Las sefales de control transmiten Lanto Grdenes como informacisa de temporizacisn enire los médules del sistema. Las sefales de temporisacién indican la valider de los datos y las direcciones, Las semales de drdenes es- pecifican lus operaciones a reslizar. Algunis tineas de control lipicas son: cpu Memoria Lineas de contrat tT LT Lineas de drescien J t — Lineas de aatos Bus Figura 3.16. Esquema de interconexién mediante un bus. i i } po ! Buses del sistema 69 «© Escritura en memoria (Memory W Gin, direecionada * Lectura de mem sittic en el burs. ite): have que el dato de] bus se eseriba en la posi- ia (Memory Read): hace que ef dato de la posicién direccionada se tura de E/S (/O Write): hace que el dato del bus se transfiera a través del puerto de F,S diteecionade. + Lectura de F/S (F/S Read): hace que el dato del puerto de LS direccionado se s el bu + Transferencia reconocida (Transfer ACK): indica que ef dato se ha aceptado 0 se ha si tuado en el bus, ie en. + Peticién de bus (Bus Request): indica que un module necesita disponer del control del bus. «© Cesiéa de bus (Bus Grant): indica que se cede el control del bus a un médulo que le habia solicitacde, # Peticion de interrupeién (Interrupt Request): © Interrupeién reconocida (Interrupt ACK); sch aceplado, indica si hay una intercupeién pendiente. ‘tlt que la interrapein pendiente se ha Reloj (Clock): se utiliza para sineronizar las operaciones. El funcionamients del bus se describe a continuacién. Si un médulo desea enviar un dato a otro debe bacey dos cosas: (11 obtener ef uso del bus, y (2) transferir ef dato a través del bus. Si us modulo desea pedir un date a otro mddulo, debe (1} obtener el uso del bus, y (2) trans ferir 1a peticion al etre modulo mediante las lineas de control y direccién apropiadas. Des- nds debe esperar a gue el segundo médulo enyic el dat, # Inicio (Reset): pone los médulos concet:tdes em su estade ini Hisicamente, el bus de sistema es de hecho un cogjunto de conductores eléetricos parale- Jos. Estos conductores son lineas de metal grabadas en una tarjeta (uirjeta de eircuito impee- 80). EL bus se extionde a (aves de todos los componentes del sistema, cada uno de los cuales se conccta a algunas 0 @ todas las lines del bus. Una disposicidn lisica muy eomein se mues- (raven tu Figura 3.17. Lin este gjemplo, cl bus consta de des columnaswerticales de conduct tes. A lo largo de esas columnas, 2 intervalos regulares, hay puntos de conexién en forma de bys fo ” “as cru Tee ~~ Memoria . es Figura 3.17. Implementacién fisica tipica de una arquitectura de bus. 70 Organizacion y arquitectura de computadores ranuras taslotse) dispucstas en sentide horizontal para sostencr kas tarjetas de eireuite tmpre- ser Cada uno dé Jos componenies principales del sistema eeupa una p varias tarjetas y se cenweta al bu a leaves de esas ramuras. Eb sistema complete se niroduee dentro de un chasis. Jon més convenienie, Asi se puede adquirir un computador pequeno y a, mddulos de ES} mils adelamie aftadiendo mas tarjetas. Siam linente. Fst es ha dispo expandirlo Gmpliar memot componente de unt tarjeta Falla, ki farert puede quitarse y sustitutrse JERARQUIAS DE BUSES aciones pueden disminuis. Hay Si se conceta un gran mimero de dispositives al bus, las pres dos causes principales: 1. Bn general, « unis dispositives eonectatios al bus, mayor es el retardo de propagacicn Fate rolardde cetermina el tiempo que necesitan los dispositives para coordinarse en él timo del bus, Si cl controb del bus pasa frecuentemente de an dispositive a otro, los rotardos cle propagacién pueden afectar sensiblemente a las prestaciones. 11 bus puede convertinse en un euclio de botella a medida que fas peticionos de trans forencly seeumuladas se aprositnan ¢ ki capacidad deb bus. Este problema se puede renalver et akeuna medici) iocrementando ki velocidad « la que el bus puede ansferie fon daios, ¥ ntifizands buses mas aanchos (por ejemplo inerementando el bus de dates de Ya 6 bist, Sin embargo, puesio que fa velocidad de tranferencia que mecesitan los dispositivos eoncctacios al bus (por ejemplo, controladores de graficos y de video, c yaterfaces de vedi esis incrementindose répidamente, es un hecho que el bus tinico est destinado a dejar de utilizarse. : Por consiguients, lv mayoria de los computadores utilizan varios bnses, normalments organt vpalos jordrquieamente, (na estructura tipiex se muestra en fa Figura 3.18a, Hay un bus lecal due coneota vf procesidor a-una memoria cache, ¥ al que pueden vonectarse WmBion UND & sis wrepositivas locales, HI controler de memoria cache eonecta fa cache 60 slo. al bas tncal aine también al bus de sistema, donde s¢ conectin todos los médulos de memoria prin: ma, Come se disents en el Capruulo 4. el uso de usa cache alivia Te exigencia de soportir les aenrmos tecacntes de! procesador a memoria principal, De hecho, la memeria principal pue- tie pen del hus local al bus de sistema, De esta forme Ins transferencias de b,S com La me- shor principal «eaves det bus de sistema no inferieren Ia actividad del procesador. Lis posible concotur eontrokidores de K'S direstamente al bus de sistema, Una solucign cfinienie consiste en utilizar ne o pris buses de expansion, Tat interfz del bus de oxparr oar renait las transferencias de datos entre vf bus de sistema y los controladores conectaclos al bus de expansion, Fats disposicicn permite conoctar al sistema una amplia variedad de dispositivos de E'S yal mismo tiempo. zusiar el wnitice de informacién entre fa memorit y dl procestdor del trilico correspondiente a las LS. 0 La Figura 3.18a muestra aiganos ejemplos tipicos de dispositivos de BS que pueden estar conectados al bos de expansidn, Lay conesiones at red incluyen conexiones a redes de dtea Joca (LAN, Laval Area Networks}, tales como una rod Fiheret de 10 Mops y conexiones a, pesado area aniplia (Wide Arca Networks), tales como fa red de eonmutacion dle pagquetes Cepackcv-awitehing neiworks). La ipterfa. SCST (Small Compater System Tnterface) es 69 8 tin tine de hus wtilizado para congctar controladores de disco ¥ ob'os penériees. ET puerto serie puede utilizarse para conecktr une impresora oun escsiner Kats arquitvctura de buses tradicional es taonublemente eficiente, pero muestra su dee bilidid a medidas que fos dispositives de B/S ofreven prestaciones cada vez mayores. La respuestr comin a estt sinuteidn, por parte de ka industria. ha sido proponer un bus de alta Buses del sistema 71 Bu local Procesador ‘Cache Controtader Momo Ieecal de EIS principal Bus del sistema “iateriaz con Red fl bus de Serie scst expansion Modem Bus de expansion (2) Amuitestura de bus tradicional Memoria principat Bus del sistema Bus local Procesadar scsi] [Pome [casees) | vie | | ta us de alla voloaidad Tnieriaz con ‘si bus de — Serie xpansin Modem Bus de expansion (0) Arcuileclura de atas prestacianes Figura 3.18. Ejemplos de configuraciones de bus. velocidad, que esti estrechamente integrady con el resio del sisteraa, y requiere s6lo. un adap- tador («bridge») cnure ol bus del procesador y ef bus de ally yeloeidad, En algunas ocasiones, esta disposicidn es conogida como arquitectura de cntreplanta («mezzanine architecturen), La Figura 3.18b muestra un ejemplo tipivo de esta aproximacisia, De nuevo, hay un bas I que coneeta el procesador a un controlador de cache, que a su vez este conectado al bus de sistema que soporta a fa memoria principal. Fl controlador de cache esta integrado jun- to con el adaptador. o dispositive de avoplo. que permite li conexidn al bus de alta velo- cidad. Fste bus permite [a conexién de LAN de alta velocidad. tales como Fast Ethernet a rd Organizacion y arquitectura de computadores 100 Mbps, controladores de estaciones de trabajo especilicos para aplicaciones graficas y de video, y tambign controladores de interfaz para buses de periléricos, tales como SCSI y Fire- wire, Este dlimo es un bus de alta velocidad disenade espectficamente para concetar disposi- tivos de B/S de alta capacidad, Los dispositives de velocidad menor pueden coneetarse al bus de cxpunsién, que utiliza una interfar paca adaptar el tréfico entre el bus de expansidn y el bus de alla velocidad La ventaja de esta organizacién es que ef bus de alla velocidad acerca al procesador los dispositivos que exigen prestaciones elevadas y, al mismo licmpo, es independiente del proce- sador, Asi, se pueden tolerar las diferencias de velocidad entre el procesador y cl bus de altas presticiones y las variaciones en fa definicisn de lis Iineas de los buses. 1.os cambios en Ja arquitectura del procesudor no afectan al bus de alta velocidad, y vieeversa, ELEMENTOS DE DISENO DE UN BUS Aunque existe una gran diversidad de disefias de buses, hay unos pocos pardmetros 0 cle- mentos de diseho que sirven para distinguir y clasificar los buses, La Tabla 3.2 enumera los clementos clave. Tipos de buses Las lineas del bus se pueden dividir ca dos lipos genéricos: dedicadas y multipiexadas. Una jinea de bus dedicada estd permanente asignada a una funcién oa un subconjunte fisico de componenies dei computador. Un ejemplo de dedicacisin funcional, comin en muchos buses, es el uso de lineas separa- das para direcciones y pata datos. Sin embargo, no es esencial. Por ejemplo, la informacin de direeeiin y datos podria transmilirse a través del mismo conjunto de lineas si se utiliza una Iinea de control de direceién valida, Al comienzo de la transferencia de datos, la direc- cién se sittia en el bus y se activa la Iinga de direceign valida. fn ese momento, cada médulo dispone de un perfode de tiempo para copiar la direccién y determinar si es él el médulo direccionado. Después la direccidn se quita def bus, y las mismas conexiones se wtilizan para la subsecuente (ranferencia de leetura o escritura de datos. Fste método de uso de las mismas lineas para usos diferentes se lima muftiplexado en ef tiempo. La ventaja del multiplexude en el tiempo es el uso de menos Tincas, cost que ahorra espa- cio y. normalmente, costes, La desventaje es que se necesita una cireuiteria mais compleja en cada médulo, Ademds, existe una posible reduceién cn las prestaciones dehido a que los eventos que deben compartir las mismas Iineas no pueden producirse en paralelo. La dedicacién fisica se refiere al uso de mviltiples buses, cada uno de los cuales conecta sélo un subconjunto de médulos. Un cjemplo tipico es el uso de un bus de ES para interco- Tabla 3.2, Elementos del disefio de un bus Tipo ‘Anchura de! bus Dedicado Direccion Multiplexado Datos Método de arbitraje Tipo de transferencia de datos Centralizado Lectura Distribuido Escritura Temporizacién Lectura-modificacién-escritura Sincrono Lactuca-después de-escritura Asinerono Bloque Buses del sistema 73 nectar todos los médulos de 4S; este bus, a su vez, se conecta al bus principal a través de algin tipo de médulo adaptacor de F/S. La ventaja potencial de la dedicacion fisica es su clevado rendimiento, debide a que hay menos disputas por el acceso al bus (cbus conten- tion»). Una desventaja cs es incremento en el tamano y el costo del sistema, Método de arbitraje En todos los sistemas, exceptuando les més simples, pacde necesitar ei control del bus mis de un médule. Por ejemplo, an modulo de F/S pucde necesitar leer o escribir directamente en memoria. sin enviar el dato al procesador. Puesto que, en un instante dado, sdlo una unidad puode Lransmitir a través del bus, se requiere algiin meétoda de arbitraje. Los diversos méto- dos se pueden clasificar aproximadamente como ventralizados o distribuides, En un csquema centralizado, un inico dispositive hardware, denominado controlador del bus o drbitro, es responsable de asignar tiempos en el bus. Fl dispositive puede estar en un médulo separado 0 sor parte del procesadar. En un esquema distribuido, no existe un controlador central. En su lugar, cada modulo dispone de Isgica para controlar ef acceso, y les médulos acttan con- juntamente para compartir el bus. En ambos métados de arbilraje, el propdsito es designar un dispositive, el procesador oun médulo de EyS, como maestro de! bus, El maestro: podria entonces iniciur una transferencia de datos (lectura o escritura) con otro dispositive, que ac- (aa como esclavo en este intercambio concreto. Veremos ejemplos de ambos métodos de ar- bitraje mais adelante, en esta seceion. Temporizacion El término tomporizacién have referencia a la forma en la que se coordinan los eventos en el bus. Con lemporizacion sinerona, la presencia de un evento en el bus esta determinada por un reloj. El bus incluye ana linea de reloj a través de la que se transmite una secuencia en la gue se alternan intervalos regulares de igual duracién a uno y a cero, Un Gnieo intervalo a uno seguido de otro a cero se conoes como ciclo de reloj o ciclo de hus y define un intervalo de tiempo unidad («lime slot»), Todos los dispositivos del bus pueden leer la linea de reloj, y todos los eventos empiezan al principio del cielo de reloj, La Figura 3"19a muestéa el diggers ma de tiempos de una operacién de lectura sincrona (en ef Apéndiee 3A se puede consultar tuna descripcién de los diagramas de tiempo). Otras sefiales del bus pueden cambiar en el flanco de subida de la sefial de reloj (eaccionan con un ligero telardo}. La mayoria de los eventos se profongan durante un dnice ciclo de reloj. Kn este ejemplo sencillo, la CPU activa una seal de lectura y sitéa una direcerén de memoria cn las lineas de direccin. Ademés, activa una sefial de inteio para indicar la presencia en el bus de la ditecci6n y de la informa cin de control. El médulo de memoria reconoce la direecién y, después de un retardo de un ciclo, sittin el dato y kt seal de reconocimiento en el bus Con la temporizacidn asineroma. la presencia de un evento en el bus es consecuencia y depende de que se produvea un evento previo. En al ejemplo sencillo de la Figura 3.19b, el procesador sittia las sefiales de direccidn y lectura en cf bus. Despnés de ua breve intervalo para que las senizles se estabilicen, activa la seal MSYN (master sync, «sincronizacidn dei maestro»), indicando Ia presencia de sefales de direceién y control vilidas. E] médulo de me- mcronizacién del al SSYN (slave sync, «s moria responde proporeionando el dalo y una s esclavon), La temporizacion sincrona_ es ovis fécil de implementar y comprobar. Sin embargo, es menos flexible que la temporizacién asinccona. Debido a que todos las dispositives en un bus sincrono deben utilizar lx misma frecuencia de reloi, ef sistema no puede aprovechar las 4 Organizacion y arquitectura de computadores: Relol i 1 1 Inicio L L L i v f f 1 1 1 Lectura —I | ___ 1 1 1 Lineas de . LL Hl i dreccion | ; + t ; ‘Lineas de z D D dsios — f 1 1 Reconaviniento (@) Temporzacién sincrona MSYN SSYN —— 4 Lectura oo Lineas os = Gireceién Lingas de atas 40) Temporizacion asincrona Figura 3.19, Temporizacidn de una operacion de lectura. Iejoras en las presticiones de los dispositives. Con la temporizacisn asinerona, pueden com- partir el bus uma mezela de dispositivos lentos y répidos. vtilizando tanto las tecrologtas més antiguas, como las mds recientes . Anchura del bus El eoncepto de anchura del bus se ha presentado ya, La anchura del bus de datos afecta 4 las prestaciones del sistema: cuanto mas ancho es cl bus cle datos, mayor ¢s el mrimero de bits que se transmitent a la vez, La anchuya def bus de dirceciones afeela a ln capacidad del siste- Ima! cuanto mas incko es el bus de direcciones. mayor es of range de posiciones a Tas que se puede hacer referencia. de datos Tipos de tranferen: Por titimo, un bus permite varios tipos de transferencias de datos, tal y como flustra fa Fig: ta 320, Todos los buses periniten tanto transferencias de escritura (dato de maestro a escla- yo}, como de Ieetura (data de eselave a maestro). En el ease de un bus con direeciones y da- tos multiplexsdos. el bus se utiliza primero para expecificur la direceién y. luego. para (ransferie el dato, En una operacisn de lectura, generalmente, hay un Gempo de espera mien- tras ef dato se esta captando del dispositivo eselave para sinarlo en el bus, Tanto para la ta escrilura, puede haher timbign un retardo si se necesita utilizar algdn lectura come par i Buses del sistema = 75 Tempo —e Tempo —e ta[ _Dwecoion [bam vosskm] Bato drecaisn u (pnmer ciclo) | (segundo eicto) Dirac enviados por eb } | tegen cit) re Geran de entra manip) Irae an vee sobre eas do | J pate] e's, — Operacion de ascrtura (no mutiplicada) (be) Direcoion |. TE} Dato. Direcoién ‘Operacién de lectura (mutiplexaca) Operacion de lectura {no multiplexada} of one fen Bae de dato [ce cato Operacion de lectura-mediicacicr-eseritura lEscritura Lectura de dato de dato (2) | Direceisn Operacidn de lecturs-después-de-eseritura (@)| Ditessidn | Dato | Date | Dato Transferencia de bloque de datos Figura 3.20. Tipos de transferencias de dates en un bus [GOORS9]. procedimiento de arhitraje para acceder al control dei bus en el re8to de la operacisn (es decir, tomar el bus para solicitar una lectura o una escritura y, despugs, tomar el bus de nue- vo pare realizar la lectura © ls eseritura) En el caso de que haya lineas dedi adas a datos y a direcciones. la direevisn se sitda en el bus de direcciones y se mantione abi, miontras que ef dato se ubica en el bus de datos. En una eseritura, cl maestro pone e! dato en el bus de datos tan pronto como se han estabilizado las lineas de direcci6n y el exclave ha podido reconocer su dizeecisn, En una operacién de lectu- ra, cl esckive pone el dato en e] bus de datos tan pronto como haya reconocide su direceisn y disponga del mismo. En ciertos buses también son posibles algunas operaciones combinadas. Una operaciéa de loctura-modilicucién-eseritura es simplemente yna Jectura seguida inmediatamente de una eseritura en kt misma direocidn, La dircecida se propurciona una sola vez al comienzo de la operacidn, La operacién completa vs generalmente indivisible, de cara a evitar cualquier ac- ceso al dulo por otzes posibles maestros del bus, El objetivo primordial de esta posibilidad es proteger los recursos de memoria compartids en an sistema con multiprogramacién {véase el Capitulo 7), La lectura-cespués de-escritura es una operacisn indivisible, que consiste en una escritura guida inmediatamonte de una lecture en Ja misma diveccidn. La operacién de lectura se puede realizar con el propdsito de comprobar el resultado. 76 Organizacién y arquitectura de computadores: Algunos buses timbién permiten tranferencias de bloques de datos, En esie caso, un ciclo de direccién viene seguido por 1 cielos de datos, Fl primer date se transfiere a. o desde. la direceion especificada; el resto de dalos se tansfieren a. 0 desde, las direeciones siguientes. 1 bus PCI (Peripheral Component Interconnect, ainterconexién de componente periféricos) es un bus muy popular, de ancho ce handa clevado, independiente del procesador, que se phede utilizar como bus de periféricos o bus para una arquitectura de entreplanta. Compara- do con otras especificaciones comunes de bus, el PCI proporeiona mejores presiaciones para os subsisiemas de KS de alta velocidad (por ejemplo, los adaptadores de pantalla grifica, los controladores de interfaz de red. los controladores de disco. etc.) El estindar actual permite cl uso de hasta 64 lineas de datos «66 MIlz, para una velocidad de wansferencia de $28 MBytes/s, 9 4,224 Gips. Pero no es precisanente su elevada velocidad la que hace atractive 4] PCL. El PCI hi sido disehado especificamente para ajustarse ccondmicamente a los requi- sitos de Ey$ de fos sistemas actusles: sc implementa con muy pocos cireuitos integrados, y perinite que otras buses se coneeton al bus PCL. Intel empezé a trabajar en el PCL en 1990, pensando en sus sistemas basados en el Pen- tium, Muy pronto, Inte! cedis sus patentes al dominio pablice y promovié la creacién de una asociacin industrial, la PCL SIG (Special Interest Group), pare continuar el desarrolle y mantener la computibilidad de las especificaciones del PCT. Fl resultado ha side que el PCL ha sido ampliamente adoptado, y se esta incrementands su aso en los computadares perso nales, estaciones de trabajo, y servidores de sistema, La versién actual, PCI 2.1, aparecié en 1994. Puesto que las especificaciones son de dominio puiblico y estin soportadas por una am- plia banda de la industria de procesadores y periféricos, los productos PCI fabricados por companius diferentes son compatibles. EL PCI esta disenado para permitir una cierta variedad de configuraciones basadas en mi- croprocesadores, incluyendo sistemas tanto de une como de varios procesadares. Por consi- guiente, proporcions un conjunto de funciones de uso general, Utiliza eemporizacisn sinero- na y un esquema de arbitraje centralizado. " La Figura 3.213 muestra [a forma usual de uttizar el bus PCL en un sistema uniprocesa- dor. Un dispositive que integra el controlador de DRAM y el adaptador al bus PCI propor- ciona el acoplamiento al procesador y la posibilidad de generar datos a velocidades elevadas. EL adaptador actiia como un registro de acoplo («buffer») de datos, puesto que la velocidad del bus PCI puede diferir de Ja capacidad de B/S del procesador, Ea un sistema multiproce- sador (Figura 3.21), se pueden conectar mediante adaptadores una o varias cofiguraciones PCI al bus de sistema del procesador. Al bus de sistema se conectan tinicamente las unidades procesadorieache, ka memoria principal, y los adaptadores de PCL De nueva.cl uso de adap- tadores mantione a1 PCT independiente de la velocidad del procesador, y proporciona la posi- bilidad de recibir y enviar datos répidamente. ESTRUCTURA DEL BUS EI bus PCI puede configurarse como un bus de 32 o 64 bits, La Tabla 3.3 define las 49 bineas de scial obligatorias en el PCI. Se dividen en los grupos funcionales signientes: « ‘Terminales («patillas») de sistema: conlituidas por los terminales de reloj y de inicio (

Potrebbero piacerti anche