Sie sind auf Seite 1von 79

Mdulo II Buses

Oliverio J. Santana Jaria


Perifricos e Interfaces Ingeniera en Informtica Curso 2009 2010

Buses

Un bus es un camino de comunicacin compartido entre dos o ms dispositivos Cualquier seal transmitida estar disponible para todos los dems dispositivos
Slo un dispositivo puede transmitir en un momento dado Si dos dispositivos transmiten al mismo tiempo, sus seales se solaparn y, probablemente, se distorsionarn Los dispositivos deben obtener el control del bus antes de poder utilizarlo para transferir informacin

[STALLINGS 3.4]

Lneas de comunicacin

Un bus suele estar formado por varias lneas de comunicacin


Cada lnea tiene un significado o funcin particular Fsicamente, las lneas de comunicacin no son sino un conjunto de conductores elctricos

Cada lnea transmite seales digitales binarias (0,1)


Se puede transmitir una secuencia de dgitos binarios a travs de una nica lnea durante un intervalo de tiempo Se pueden utilizar varias lneas del bus para transmitir dgitos binarios simultneamente en paralelo

[STALLINGS 3.4]

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

El bus del sistema


Los computadores poseen diferentes tipos de buses que proporcionan comunicacin a distintos niveles entre sus componentes El bus que conecta los componentes principales del computador (procesador, memoria y E/S) es el llamado bus del sistema

[STALLINGS 3.4]

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

Estructura del bus del sistema


Aunque existen diseos muy diversos, las lneas que forman el bus del sistema pueden clasificarse en tres grupos funcionales: datos, direccin y control Tambin pueden existir lneas de alimentacin para suministrar energa a los mdulos conectados al bus

[STALLINGS 3.4]

Lneas de datos

Las lneas de datos proporcionan un camino para transmitir datos entre los mdulos del sistema El conjunto de las lneas de datos suele denominarse bus de datos
Se suele hablar de anchura del bus para referirse al nmero de lneas de datos La anchura del bus de datos es un factor clave para determinar el rendimiento de un sistema
Cada lnea puede transportar un nico bit cada vez La anchura del bus determina cuantos bits se puden transmitir de forma simultnea y, por tanto, la velocidad de transferencia

[STALLINGS 3.4]

Lneas de direccin

Las lneas de direccin se utilizan para designar la fuente o el destino del dato situado en el bus de datos
Posicin de memoria Dispositivo de E/S

La anchura del bus de direcciones determina el tamao mximo del espacio de direcciones del sistema
Cuando la E/S est asignada en memoria, el espacio de direcciones se comparte entre memoria y E/S Cuando la E/S est aislada de memoria, los espacios de direcciones estn separados y tienen el mismo tamao mximo

[STALLINGS 3.4] [STALLINGS 7.3]

Lneas de control

Dado que las lneas de datos y direcciones son compartidas por todos los dispositivos conectados al bus, debe existir alguna forma de controlar su uso
El propsito de las lneas de control es:
Determinar quien accede a las lneas de datos y direcciones Gestionar el uso que se hace de esas lneas
Transmitir rdenes que especifican las operaciones a realizar Transmitir informacin de temporizacin que indica la validez de los datos y direcciones

[STALLINGS 3.4]

10

Algunas lneas de control tpicas


Escritura en memoria: hace que el dato presente en el bus se escriba en la posicin direccionada Lectura de memoria: hace que el dato de la posicin direccionada se site en el bus Escritura de E/S: hace que el dato presente en el bus se transfiera a travs del puerto de E/S direccionado Lectura de E/S: hace que el dato presente en el puerto de E/S direccionado se site en el bus Transferencia reconocida: indica a un dispositivo que el dato que envi ha sido aceptado o que el dato que desea est disponible en el bus

[STALLINGS 3.4]
11

Algunas lneas de control tpicas


Peticin de bus: indica que un dispositivo necesita disponer del control del bus Cesin de bus: indica que se cede el control del bus a un dispositivo que lo haba solicitado Peticin de interrupcin: indica que hay una interrupcin pendiente Interrupcin reconocida: seala que la interrupcin pendiente ha sido aceptada Reloj: se utiliza para sincronizar operaciones Reinicio: devuelve los dispositivos conectados a su estado inicial

[STALLINGS 3.4]
12

Estructura fsica

El bus del sistema se extiende a traves de todos los componentes del sistema, cada uno de los cuales se conecta a algunas o a todas las lneas del bus
Una organizacin clsica consiste en una distribucin longitudinal a lo largo de la que se distribuyen ranuras de conexin (slots) a intervalos regulares

[STALLINGS 3.4]

13

Estructura fsica

El sistema completo se introduce dentro de un chasis que tambin contiene la fuente de alimentacin, algunos dispositivos perifricos, etc
Cada uno de los componentes principales del sistema ocupa una o varias tarjetas que se conectan al bus a travs de las ranuras de conexin

[STALLINGS 3.4]

14

Estructura fsica

Esta disposicin es muy prctica porque permite expandir el sistema aadiendo nuevas tarjetas o actualizarlo/repararlo sustituyendo tarjetas
No obstante, los sistemas actuales tienden a tener sus componentes principales en una misma tarjeta
El procesador, la memoria cach y el bus que los comunica se integran en un nico componente La memoria y otros dispositivos siguen estando en tarjetas separadas que se comunican con el procesador por medio del bus del sistema

[STALLINGS 3.4]

15

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

16

Inconvenientes de tener un bus nico

El rendimiento de un bus puede disminuir si se conecta un gran nmero de dispositivos


A ms dispositivos conectados, mayor retardo de propagacin
Los dispositivos tardarn ms en coordinarse para usar el bus Si el control del bus pasa con frecuencia de un dispositivo a otro, los retardos afectarn al rendimiento

Entre ms peticiones reciba el bus, ms probable ser que se cruce la barrera de su capacidad mxima, convirtindose el bus en un cuello de botella
Puede resolverse usando buses ms rpidos y/o ms anchos La velocidad y la anchura tienen lmites fsicos, mientras que la velocidad de transferencia que necesitan los dispositivos conectados al bus se est incrementando rpidamente

[STALLINGS 3.4]

17

Jerarqua de buses
El bus nico est destinado a dejar de utilizarse La mayora de los computadores utilizan varios buses organizados de forma jerrquica

[STALLINGS 3.4]

18

Jerarqua de buses

El procesador se conecta con la memoria cach por medio de un bus local al que tambin pueden conectarse dispositivos de E/S locales

[STALLINGS 3.4]

19

Jerarqua de buses

El controlador de la memoria cach se conecta tanto al bus local como al bus del sistema, donde se encuentran los distintos mdulos de la memoria principal

[STALLINGS 3.4]

20

Jerarqua de buses
Los controladores de E/S se pueden conectar directamente al bus del sistema Las transferencias entre la memoria y la E/S no interferirn en la actividad del procesador

[STALLINGS 3.4]

21

Jerarqua de buses
Es ms eficiente conectar los controladores de E/S a un bus de expansin Su interfaz regula las transferencias de datos entre los controladores E/S conectados a l y el bus del sistema

[STALLINGS 3.4]

22

Jerarqua de buses

El bus de expansin permite:


Conectar una amplia variedad de dispositivos de E/S Aislar el trfico de informacin Memoria Procesador del trfico correspondiente a la E/S

[STALLINGS 3.4]

23

Jerarqua de buses de alto rendimiento

La jerarqua de buses tradicional es razonablemente eficiente, pero no consigue adaptarse al continuo aumento del rendimiento de los dispositivos de E/S
La respuesta a este problema consiste en utilizar un bus de alta velocidad
Estrechamente integrado al resto del sistema Slo se requiere un adaptador (bridge) entre el bus del procesador y el bus de alta velocidad

Esta arquitectura recibe el nombre de arquitectura de entreplanta


24

[STALLINGS 3.4]

Jerarqua de buses de alto rendimiento


El procesador se conecta por medio de un bus local al controlador de la memoria cach El controlador de la memoria cach se conecta a su vez al bus del sistema donde est la memoria principal

[STALLINGS 3.4]

25

Jerarqua de buses de alto rendimiento

El controlador de la memoria cach est integrado junto con el adaptador o dispositivo de acoplo que permite la conexin con el bus de alta velocidad

[STALLINGS 3.4]

26

Jerarqua de buses de alto rendimiento


El bus de alta velocidad se utiliza para conectar los controladores de E/S rpidos que as lo necesiten Los ms lentos pueden conectarse al bus de expansin, que usa una interfaz para adaptar el trfico que circula

[STALLINGS 3.4]

27

Jerarqua de buses de alto rendimiento

La ventaja de esta organizacin es que el bus de alta velocidad acerca al procesador los dispositivos que exigen un rendimiento elevado pero, al mismo tiempo, es independiente del procesador

[STALLINGS 3.4]

28

Jerarqua de buses de alto rendimiento


Los adaptadores e interfaces tratan con las diferencias de velocidad y de definicin de lneas de los buses Los cambios realizados en una parte de la arquitectura no afectan a las dems partes

[STALLINGS 3.4]

29

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

30

Elementos de diseo de un bus

Existe una gran variedad de diseos de buses pero, en general, hay unos pocos elementos comunes de diseo que permiten clasificarlos y distinguirlos unos de otros

[STALLINGS 3.4]

31

Tipos de buses

Las lneas de bus se pueden dividir en dos tipos genricos:


Dedicadas: estn permanentemente asignadas a una funcin o a un conjunto de componentes del computador
Un ejemplo tpico de dedicacin funcional es el uso de lneas separadas para direcciones y datos

Multiplexadas: pueden utilizarse para propsitos diferentes


Direcciones y datos podran transmitirse por la misma lnea si se utilizara una seal de control Direccin Vlida Se pone la direccin en el bus y se activa la lnea de control, dando un tiempo para que los distintos controladores lean el bus y comprueben si estn siendo direccionados Despus de un periodo de tiempo se quita la direccin del bus y se utilizan las mimas lneas para realizar la transferencia
[STALLINGS 3.4]
32

Tipos de buses

La dedicacin fsica requiere el uso de mltiples buses, cada uno de los cuales conecta solo a un conjunto de controladores
Ventaja: alto rendimiento por el menor nmero de conflictos Desventaja: incremento del costo y el tamao del sistema

El multiplexado en el tiempo de las lneas permite utilizar las mismas lneas para usos diferentes
Ventaja: normalmente ahorra espacio y costes Desventajas:
Los controladores necesitarn una circuitera ms compleja La falta de paralelismo puede reducir el rendimiento

[STALLINGS 3.4]

33

Mtodo de arbitraje

En un momento dado puede haber ms de un controlador intentando usar el bus, pero slo uno de ellos puede obtener el control y usarlo para transmitir
Es necesario disponer de un mtodo de arbitraje que determine quin utiliza el bus En general, los diversos mtodos de arbitraje se pueden clasificar en:
Centralizados Distribuidos

[STALLINGS 3.4]

34

Mtodo de arbitraje

El objetivo de ambos mtodos de arbitraje es designar un dispositivo como maestro del bus, el cual iniciar una transferencia hacia otro dispositivo (esclavo)
En un esquema centralizado hay un nico dispositivo fsico llamado controlador de bus o rbitro
El rbitro es el responsable de asignar tiempos en el bus Puede ser un mdulo separado o parte del propio procesador

En un esquema distribuido no existe un rbitro central


Cada mdulo dispone de lgica para controlar el acceso Los mdulos actan conjuntamente para compartir el bus

[STALLINGS 3.4]

35

Temporizacin

El trmino temporizacin hace referencia a la forma en la que se coordinan los eventos en el bus
Con temporizacin sncrona, la presencia de un evento en el bus est determinada por una seal de reloj
El reloj es una lnea del bus a travs de la que se transmite una secuencia de 1s y 0s a intervalos regulares de igual duracin El ciclo de reloj o de bus es el intervalo mnimo en el que la seal toma los dos valores posibles y define la unidad de medida del tiempo dentro del bus (time slot) Todos los eventos empiezan al principio del ciclo de bus

Con temporizacin asncrona, la presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo
[STALLINGS 3.4]
36

Temporizacin

La temporizacin sncrona es ms fcil de implementar y comprobar Sin embargo, la temporizacin sncrona es menos flexible debido a que todos los dispositivos conectados al bus deben operar a la misma frecuencia de reloj y, por tanto, no siempre se aprovecharn sus posibilidades
La temporizacin asncrona permite que una mezcla de dispositivos rpidos y lentos, construidos con distintas tecnologas, compartan un mismo bus
37

[STALLINGS 3.4]

Temporizacin sncrona

[STALLINGS 3.4]

38

Temporizacin asncrona: lectura

[STALLINGS 3.4]

39

Temporizacin asncrona: escritura

[STALLINGS 3.4]

40

Anchura del bus

La anchura de un bus es el nmero de lneas distintas que lo componen La anchura del bus afecta tanto a la capacidad como al rendimiento del sistema
Cuanto ms ancho es el bus de datos, mayor es el nmero de bits que se transmiten a la vez y, por tanto, mayor es el rendimiento del sistema Cuanto ms ancho es el bus de direcciones, mayor es el rango de posiciones a las que se puede hacer referencia y, por tanto, mayor es la capacidad mxima del sistema

[STALLINGS 3.4]

41

Tipos de transferencia de datos

Un bus permite varios tipos de transferencias de datos


Todos los buses permiten transferencias de lectura y escritura
Transferencias de lectura: Transferencias de escritura: esclavo maestro maestro esclavo

En el caso de un bus multiplexado, primero se especifica la direccin y luego se transmite el dato


Las lecturas implican esperar la respuesta del esclavo Tanto en lecturas como en escrituras pueden aparecer retardos adicionales si es necesario tomar el control del bus dos veces por medio de un procedimiento de arbitraje
[STALLINGS 3.4]
42

Tipos de transferencia de datos

Un bus permite varios tipos de transferencias de datos


Todos los buses permiten transferencias de lectura y escritura
Transferencias de lectura: Transferencias de escritura: esclavo maestro maestro esclavo

En el caso de lneas dedicadas, la direccin se sita en el bus de direcciones y se mantiene ah mientras que el dato se ubica en el bus de datos
En una escritura, el maestro pone el dato tan pronto se estabiliza la direccin y el esclavo ha podido reconocerla En una lectura, el esclavo pone el dato tan pronto como haya reconocido la direccin y disponga del mismo
[STALLINGS 3.4]
43

Tipos de transferencia de datos

Algunos buses permiten operaciones combinadas


Una lectura-modificacin-escritura es una lectura seguida inmediatamente de una escritura en la misma direccin
La direccin se proporciona una sola vez al comienzo de la operacin La operacin se considera indivisible para evitar el acceso al dato por parte de otros maestros del bus (proteccin de memoria compartida)

[STALLINGS 3.4]

44

Tipos de transferencia de datos

Algunos buses permiten operaciones combinadas


Una lectura-despus-de-escritura consiste en una escritura seguida de una lectura en la misma direccin
Tambin es una operacin indivisible La lectura puede tener el propsito de comprobar el resultado

[STALLINGS 3.4]

45

Tipos de transferencia de datos

Algunos buses permiten transferencias de bloques de datos


Hay un ciclo de direccin y luego varios ciclos de datos El primer dato se transmite a/desde la direccin especificada, mientras que el resto de datos se transfieren a/desde las direcciones siguientes

[STALLINGS 3.4]

46

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

47

El bus PCI

El bus PCI (Peripheral Component Interconnect) es un bus muy popular de ancho de banda elevado e independiente del procesador
Est diseado para permitir una cierta variedad de configuraciones basadas en sistemas monoprocesador y sistemas multiprocesador
Proporciona un conjunto de funciones de uso general Las direcciones y datos estn multiplexadas en el tiempo El esquema de arbitraje empleado es centralizado Utiliza temporizacin sncrona
48

[STALLINGS 3.5]

El bus PCI

El diseo del bus PCI se ha realizado especficamente para ajustarse a los requisitos de E/S de los sistemas actuales
Podemos distinguir tres ventajas del bus PCI
Es econmico: se implementa con muy pocos circuitos Es flexible: permite que otros buses se conecten a l Es rpido: comparado con otras especificaciones comunes de bus, proporciona un mejor rendimiento para los subsistemas de E/S de alta velocidad
Puede utilizarse como bus de perifricos Tambin puede utilizarse para una arquitectura de entreplanta

[STALLINGS 3.5]

49

El bus PCI

Las especificaciones del bus PCI son de dominio pblico


Son respetadas por un amplio abanico de fabricantes de procesadores y perifricos, por lo que los productos de diferentes compaas son compatibles La asociacin PCI SIG (special interest group) contina el desarrollo de las especificaciones y vela por que se mantenga la compatibilidad

El resultado ha sido que el bus PCI no solo est ampliamente adoptado en la actualidad sino que su uso se sigue extendiendo
50

[STALLINGS 3.5]

PCI en sistemas monoprocesador

Un dispositivo integra el controlador de memoria y el adaptador al bus PCI


Proporciona el acoplamiento al procesador (buffer temporal) Asla la capacidad de E/S del procesador de la velocidad real del bus, lo que posibilita transmitir datos a alta velocidad

[STALLINGS 3.5]

51

PCI en sistemas multiprocesador

Se pueden conectar una o varias configuraciones PCI al bus del sistema por medio de adaptadores
Al bus del sistema slo se conectan las unidades procesador/cach, la memoria principal y los adaptadores Los adaptadores mantienen la independencia procesador-PCI

[STALLINGS 3.5]

52

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

53

Estructura del bus PCI

El estndar actual permite configurar el bus PCI como un bus de 32 64 bits


Hay 49 lneas de seal obligatorias que se dividen en los siguientes grupos funcionales:
Terminales de sistema: reloj y reinicio Terminales de direcciones y datos
32 lneas para direcciones y datos multiplexadas en el tiempo Lneas adicionales para interpretar y validar las direcciones y datos

Terminales de control de interfaz: controlan la temporizacin de las transferencias y permiten la coordinacin entre emisor y receptor Terminales de arbitraje: no son lneas compartidas cada maestro tiene su propio par de lneas que lo conectan con el rbitro del bus Terminales para seales de error: utilizadas para indicar errores (paridad)
[STALLINGS 3.5]
54

Estructura del bus PCI

[STALLINGS 3.5]

55

Estructura del bus PCI

[STALLINGS 3.5]

56

Estructura del bus PCI

[STALLINGS 3.5]

57

Estructura del bus PCI

El estndar actual permite configurar el bus PCI como un bus de 32 64 bits


La especificacin tambin define 51 seales opcionales que se dividen en los siguientes grupos funcionales:
Terminales de interrupcin: no son lneas compartidas cada dispositivo tiene sus propias lneas para generar peticiones a un controlador de interrupciones Terminales de soporte de cach: necesarios para permitir memorias cach en el bus asociadas a un procesador o a otro dispositivo Terminales de ampliacin a bus de 64 bits
32 lneas para direcciones y datos multiplexadas en el tiempo que se pueden combinar con las obligatorias para tener un total de 64 Lneas adicionales para interpretar y validar las direcciones y datos, as como para permitir que dos dispositivos acuerden el uso de los 64 bits

Terminales de test: siguen estndar IEEE para procedimientos de test


[STALLINGS 3.5]
58

Estructura del bus PCI

[STALLINGS 3.5]

59

Estructura del bus PCI

[STALLINGS 3.5]

60

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

61

rdenes del bus PCI

La actividad del bus consiste en transferencias entre dispositivos conectados al bus


El dispositivo que inicia la transferencia es el maestro Cuando el maestro adquiere el control del bus determina el tipo de transferencia que se realizar (lneas C/BE)

Los tipos de rdenes son:


Reconocimiento de interrupcin
Orden de lectura generada por el controlador de interrupciones del bus Las lneas de direccin no se utilizan para direccionar el dispositivo Las lneas de byte activo (byte enable) indican el tamao del identificador de interrupcin a devolver

[STALLINGS 3.5]

62

rdenes del bus PCI

Los tipos de rdenes son:


Ciclo especial: se utiliza para iniciar la difusin de un mensaje a uno o ms destinatarios Ciclo de direccin dual: el maestro utiliza esta orden para indicar que la transferencia utiliza direcciones de 64 bits Lectura de E/S y Escritura de E/S
Se utilizan para intercambiar datos entre el maestro y un controlador de E/S Cada dispositivo de E/S tiene su propio espacio de direcciones Las lneas de direcciones se utilizan para indicar un dispositivo concreto y para especificar los datos a transferir a/desde ese dispositivo

[STALLINGS 3.5]

63

rdenes del bus PCI

Los tipos de rdenes son:


Lectura de memoria
Se utiliza para especificar la transferencia de una secuencia de datos desde memoria durante uno o ms ciclos de reloj Si el controlador de memoria utiliza el protocolo PCI para las transferencias entre la cach y la memoria principal, la transferencia se realizar en trminos de lneas de cach Hay tres rdenes de lectura de memoria distintas:

[STALLINGS 3.5]

64

rdenes del bus PCI

Los tipos de rdenes son:


Escritura en memoria
Se usa para transferir datos a memoria durante uno o ms ciclos del bus Hay dos rdenes de escritura en memoria distintas
Escritura en memoria Escritura e invalidacin de memoria
Transfiere datos e indica que al menos se ha escrito una lnea de cach Permite el funcionamiento de una cach write back (postescritura)

Lectura de configuracin y Escritura de configuracin


Permiten que el maestro lea y actualice los parmetros de configuracin de un dispositivo conectado al bus Cada dispositivo puede disponer de hasta 256 registros internos que permitan configurarlo
[STALLINGS 3.5]

65

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

66

Transferencias de datos en el bus PCI

Toda transferencia de datos en un bus PCI es una transaccin nica que consta de una fase de direccionamiento y una o ms fases de datos
Como ejemplo veremos la temporizacin de una operacin de lectura tpica (la de escritura es anloga)
Los dispositivos conectados al bus interpretan las lneas en los flancos de subida de la seal de reloj (comienzo del ciclo) Todos los eventos se sincronizan en los flancos de bajada de la seal de reloj (punto medio del ciclo)

[STALLINGS 3.5]

67

Transferencias de datos en el bus PCI

[STALLINGS 3.5]

68

Transferencias de datos en el bus PCI


a.

Una vez que el maestro del bus tiene el control del mismo inicia la transaccin
Sita la direccin de inicio en AD y la orden de lectura en C/BE Activa la seal FRAME, la cual debe permanecer activa hasta que el maestro est listo para terminar la ltima fase de datos

b.

c.

Al comienzo del segundo ciclo de reloj, el dispositivo del que se lee reconocer su direccin en las lneas AD El dispositivo de lectura activa DEVSEL para indicar que reconoce su direccin (se mantendr activa durante toda la transmisin) mientras que el maestro deja libre AD

En todas las lneas que pueden ser activadas por ms de un dispositivo se necesita un ciclo de cambio para que la liberacin se complete El maestro cambia las lneas C/BE para indicar cules de las lneas AD se utilizarn para transferir el dato El maestro activa IRDY indicando que est listo para recibir el primer dato
69

[STALLINGS 3.5]

Transferencias de datos en el bus PCI


d.

El dispositivo de lectura responde


Sita el dato solicitado en las lneas AD Activa TRDY para indicar que hay un dato vlido en el bus

e.

f.

El maestro lee el dato al comienzo del cuarto ciclo de reloj y cambia las lneas de habilitacin de byte segn se necesite para la prxima lectura En este ejemplo, el dispositivo de lectura necesita algn tiempo para preparar el segundo bloque de datos
Desactiva TRDY para indicar que no transmitir el prximo ciclo El maestro, en consecuencia, no lee las lneas de datos al comienzo del quinto ciclo de reloj y no cambia la seal de habilitacin de byte El nuevo bloque de datos se leer al comienzo del sexto ciclo

[STALLINGS 3.5]

70

Transferencias de datos en el bus PCI


g.

Durante el sexto ciclo de reloj, el dispositivo de lectura sita el tercer bloque de datos en el bus, pero el maestro no est preparado para leerlo
El maestro desactiva IRDY El dispositivo de lectura mantiene el dato en el bus durante un ciclo extra Desactiva FRAME para indicarle al dispositivo de lectura que ste es el ltimo dato a transferir Activa IRDY para indica que est listo para completar la transferencia

h.

El maestro sabe que el tercer bloque de datos es el ltimo,

i.

El maestro desactiva IRDY y el dispositivo de lectura desactiva TRDY y DEVSEL: el bus vuelve a estar libre

[STALLINGS 3.5]

71

Estructura del tema


Introduccin Buses: conceptos generales

Estructura de un bus Jerarquas de buses mltiples Elementos de diseo de un bus

El bus PCI
Estructura rdenes Transferencia de datos Arbitraje

72

Arbitraje del bus PCI


El bus PCI utiliza un esquema de arbitraje centralizado sncrono en el que cada maestro tiene una nica seal de peticin (REQ) y cesin (GNT) del bus Estas lneas se conectan a un rbitro central, lo que permite que los dispositivos accedan al bus tras un simple intercambio de seales de peticin y cesin

[STALLINGS 3.5]

73

Arbitraje del bus PCI

La especificacin del bus PCI no indica un algoritmo particular de arbitraje


El rbitro puede utilizar cualquier esquema de prioridad
Primero en llegar, primero en servirse Rotatorio (round robin)

El maestro establece, para cada transferencia que desee realizar, si tras la fase de direccin sigue una o ms fases de datos consecutivas

Como ejemplo veremos el intercambio de seales necesario para decidir cual de entre dos dispositivos, A y B, obtiene el control del bus
74

[STALLINGS 3.5]

Arbitraje del bus PCI

[STALLINGS 3.5]

75

Arbitraje del bus PCI


a.

b. c. d.

Al comienzo del primer ciclo de reloj el rbitro detecta que A ha activado su seal REQ Durante el primer ciclo de reloj, B activa tambin su seal REQ Al mismo tiempo, el rbitro activa GNT-A para ceder el bus a A A detecta al comienzo del segundo ciclo de reloj que se le ha cedido el bus
IRDY y TRDY estn desactivadas, por lo que el bus est libre En consecuencia activa FRAME, pone la direccin en el bus AD y la orden correspondiente en las lneas C/BE Adems, mantiene activa su seal REQ porque debe realizar otra transferencia despus de sta

[STALLINGS 3.5]

76

Arbitraje del bus PCI


e.

Al comienzo del tercer ciclo de reloj el rbitro vuelve a comprobar las lneas REQ y decide ceder el bus a B para la siguiente transaccin
El rbitro desactiva GNT-A y activa GNT-B A pesar de tener acceso al bus, B tendr que esperar a que est libre, pues IRDY y TRDY indican que sigue ocupado

f.

A desactiva FRAME para indicar que su ltima transferencia de datos est activa
Pone los datos en el bus AD y se lo indica al dispositivo destino con IRDY El dispositivo lee el dato al comienzo del siguiente ciclo de reloj

g.

Al comienzo del quinto ciclo de reloj, B encuentra IRDY y TRDY desactivadas


Toma el control del bus activando FRAME Desactiva REQ porque no desea transmitir un segundo dato

[STALLINGS 3.5]

77

Arbitraje del bus PCI

Ms adelante, el dispositivo A (que mantena REQ activa) recuperar el control del bus y continuar la transmisin pendiente
Es importante destacar que el arbitraje se produce al mismo tiempo que el actual maestro del bus realiza una transferencia
No se pierden ciclos de bus para realizar el arbitraje Esto se conoce como arbitraje oculto o solapado (hidden arbitration)

[STALLINGS 3.5]

78

Bibliografa
[STALLINGS]

Organizacin y arquitectura de computadores


William Stallings Pearson Education Prentice Hall, 2005 (7 edicin)

79

Das könnte Ihnen auch gefallen