2.7. 2.7.
ELEM ELEMEN ENTO TOS S DE DIS DISEÑ EÑO O DE UN UN BUS BUS
Aunque existe una gran diversidad de diseños de buses, hay unos pocos parámetros parámetros o elementos de diseño que sirven para distinguir y clasifcar los buses. La tabla 3.2 enumera los elementos clave.
tabla 3.2 Elementos de diseño de un bus
2.7.1.
TIOS DE BUSES
Las lneas del bus se pueden dividir en dos tipos gen!ricos" dedicadas y multiplexadas. #
Dedi!adas. # $na lnea de bus dedicada está permanente permanente asignada a una %unci&n o a un subcon'unto %sico de componentes del computador. $n e'emplo de dedicaci&n %uncional, com(n en muchos buses, es el uso de lneas separadas para direcciones y para datos. )in embargo, no es esencial. *or e'emplo, la in%ormaci&n de direcci&n y datos podra transmitirse transmitirse a trav!s del mismo con'unto de lneas si se utili+a una lnea de control de irecci&n -álida. Al comien+o de la trans%erencia de datos, la direcci&n se sit(a en el bus y se activa la lnea de irecci&n -álida. n ese momento, cada m&dulo dispone de un periodo de tiempo para copiar la direcci&n y determinar si es !l el m&dulo direccionado. espu!s la direcci&n se quita del bus, y las mismas conexiones se utili+an para la
subsecuente trans%erencia de lectura o escritura de datos.
/igura 3.01. edicadas #
Multi"le#ado. #ste m!todo de uso de las mismas lneas para usos di%erentes se llama multiplexado en el tiempo. La venta'a del multiplexado en el tiempo es el uso de menos lneas, cosa que ahorra espacio y, normalmente, costes. La desventa'a es que se necesita una circuitera más comple'a en cada m&dulo. Además, existe una posible reducci&n en las prestaciones debido a que l os eventos que deben
compartir las mismas lneas no pueden producirse en paralelo. /igura 3.2. ultiplexado
2.7.2. M$TODO DE %&BIT&%'E. n todos los sistemas, exceptuando los más simples, más de un m&dulo puede necesitar el control del bus. *or e'emplo, un m&dulo de 4) puede necesitar leer o escribir directamente en memoria, sin enviar el dato al procesador. *uesto que en un instante dado solo una unidad puede transmitir a trav!s del bus, se requiere alg(n m!todo de arbitra'e. Los diversos m!todos se pueden clasifcar aproximadamente como centrali+ados o distribuidos. #
n un es(uema !ent)ali*ado, un (nico dispositivo hard5are, denominado controlador del bus o árbitro, es responsable de asignar tiempos en el bus. l dispositivo puede estar en un m&dulo separado o ser parte del procesador.
#
n un es(uema dist)ibuido+ no existe un controlador central. n su lugar, cada m&dulo dispone de l&gica para controlar el acceso y los m&dulos act(an con'untamente para compartir el bus.
n ambos m!todos de arbitra'e, el prop&sito es designar un dispositivo, el procesador o un m&dulo de 4) como maestro del bus. l maestro podra entonces iniciar una trans%erencia de datos 6lectura o escritura7 con otro dispositivo, que act(a como esclavo en este intercambio concreto.
2.7.3. TEMO&,-%,/N. l t!rmino tempori+aci&n hace re%erencia a la %orma en la que se coordinan los eventos en el bus. Los buses utili+an tempori+aci&n sncrona o asincrona.
#
S0n!)ona. 8on tempori+aci&n sncrona, la presencia de un evento en el bus está determinada por un relo'. l bus incluye una lnea de relo' a trav!s de la que se transmite una secuencia en la que se alternan intervalos regulares de igual duraci&n a uno y a cero. $n (nico intervalo a uno seguido de otro a cero se conoce como ciclo de relo' o ciclo de bus y defne un intervalo de tiempo unidad 9time slot7. :odos los dispositivos del bus pueden leer la lnea de relo', y todos los eventos empie+an al principio del ciclo de relo'. La /igura 3.01 muestra el diagrama de tiempos de una operaci&n de lectura sncrona 6en el Ap!ndice 3 A se puede consultar una descripci&n de los diagramas de tiempo7. ;tras señales del bus pueden cambiar en el
#
%s0n!)ona. 8on la tempori+aci&n asncrona, la presencia de un evento en el bus es consecuencia y depende de que se produ+ca un evento previo. n el e'emplo sencillo de la /igura 3.2a, el procesador sit(a las señales de direcci&n y lectura en el bus. espu!s de un breve intervalo para que las señales se estabilicen, activa la orden de lectura, indicando la presencia de señales de direcci&n y control válidas. l m&dulo de memoria correspondiente decodifca la direcci&n y responde proporcionando el dato en la lnea de datos. $na ve+ estabili+adas las lneas de datos, el m&dulo de memoria activa la lnea de reconocimiento para indicar al procesador que el dato está disponible. 8uando el maestro ha ledo el dato de las lneas correspondientes, deshabilita la señal de lectura. sto hace que el m&dulo de memoria libere las lneas de datos y reconocimiento. *or (ltimo, una ve+ se ha desactivado la lnea de reconocimiento, el procesador quita la in%ormaci&n de direcci&n de las lneas correspondientes.
/igura 3.20 :empori+aci&n sncrona de las ;peraciones de bus
La /igura 3.2b muestra una operaci&n sencilla de escritura asincrona. n este caso, el maestro sit(a el dato en las lneas de datos al mismo tiempo que la direcci&n y la in%ormaci&n de estado en las lneas correspondientes. l m&dulo de memoria responde a la orden de escritura copiando el dato de las lneas de datos y activando la lnea de reconocimiento. ntonces, el maestro retira la señal de escritura y el m&dulo de memoria la señal de reconocimiento. La tempori+aci&n sncrona es más %ácil de implementar y comprobar. )in embargo, es menos
lentos y rápidos, utili+ando tanto las tecnologas más antiguas, como las más recientes.
2.7.. %NU&% DEL BUS. l concepto de anchura del bus se ha presentado ya. La anchura del bus de datos a%ecta a las prestaciones del sistema" #uanto m4s an!5o es el bus de datos, mayor es el n(mero de bits que se transmiten a la ve+. La anchura del bus de direcciones a%ecta a la capacidad del sistema" #uanto m4s an!5o es el bus de di)e!!iones , mayor es el rango de posiciones a las que se puede hacer re%erencia.
/igura 3.20 :empori+aci&n sncrona de las ;peraciones de bus 6a7 8iclo de lectura del bus de sistema. 6b7 8iclo de escritura del bus sistema.
2.7.6. TIO DE T&%NSE&ENI% DE D%TOS. *or (ltimo, un bus permite varios tipos de trans%erencias de datos, tal y como ilustra la fgura. :odos los buses permiten tantas trans%erencias de" # #
Es!)itu)a 6dato de maestro a esclavo7 como de" Le!tu)a 6dato de esclavo a maestro7.
n el caso de un bus con direcciones y datos multiplexados, el bus se utili+a primero para especifcar la direcci&n y luego para trans%erir el dato. n una operaci&n de lectura, generalmente hay un tiempo de espera mientras el dato se está captando del dispositivo esclavo para situarlo en el bus. :anto para la
lectura como para la escritura, puede haber tambi!n un retardo si se necesita utili+ar alg(n procedimiento de arbitra'e para acceder al control del bus en el resto de la operaci&n 6es decir, tomar el bus para solicitar una lectura o una escritura, y despu!s tomar el bus de nuevo para reali+ar la lectura o la escritura7. /igura 3.22 ;peraci&n de scritura y Lectura 6multiplicado7 n el caso de que haya lneas dedicadas a datos y a direcciones, la direcci&n se sit(a en el bus de direcciones y se mantiene ah mientras que el dato se ubica en el bus de datos. n una es!)itu)a, el maestro pone el dato en el bus de datos tan pronto como se han estabili+ado las lneas de direcci&n y el esclavo ha podido reconocer su direcci&n. n una operaci&n de lectura, el esclavo pone el dato en el bus de datos tan pronto como haya reconocido su direcci&n y disponga del mismo. n ciertos buses tambi!n son posibles algunas operaciones combinadas.
/igura 3.23 ;peraci&n de scritura y Lectura 6no multiplicado7
$na operaci&n de le!tu)amodi8!a!i9nes!)itu)a es simplemente una lectura seguida inmediatamente de una escritura en la misma direcci&n. La direcci&n se proporciona una sola ve+ al comien+o de la operaci&n. La operaci&n completa es generalmente indivisible de cara a evitar cualquier acceso al dato por otros posibles maestros del bus. l ob'etivo primordial de esta posibilidad es proteger
los recursos de memoria compartida en un sistema con multiprogramaci&n /igura 3.2= ;peraci&n Lectura#modifcaci&n#scritura
La le!tu)ades"u:s dees!)itu)a es una operaci&n indivisible que consiste en una escritura seguida inmediatamente de una lectura en la misma direcci&n. La operaci&n de lectura se puede reali+ar con el prop&sito de comprobar el resultado.
/igura 3.2= ;peraci&n de Lectura#despu!s#de#scritura
Algunos buses tambi!n permiten trans%erencias de blo(ues de datos. n este caso, un ciclo de direcci&n viene seguido por n ciclos de datos. l primer dato se transfere a o desde la direcci&n especifcada> el resto de datos se transferen a o desde las direcciones siguientes.
/igura 3.2= trans%erencias de datos