Sei sulla pagina 1di 96

ARQUITECTURA DEL

COMPUTADOR

Mag. Ing. Daniel Llamas

BUSES

Mag. Ing. Daniel Llamas

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
3

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
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
5

BUS DEL SISTEMA

Mag. Ing. Daniel Llamas

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

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
8

ESTRUCTURA DEL
BUS DEL SISTEMA

Mag. Ing. Daniel Llamas

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]

10

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
pueden transmitir de forma simultnea y, por tanto,
la velocidad de transferencia
11

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
12

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
13

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
14

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
15

Estructura fsica
El bus del sistema se extiende a travs 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
16

Estructura fsica
El sistema completo se introduce
dentro de un
chasis que
tambin contiene la fuente de
alimentacin, algunos dispositivos
perifricos
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
17

Estructura fsica
Esta disposicin 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
18

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
19

Inconvenientes de tener un bus nico


El rendimiento de un bus disminuye si se conecta varios 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 de un dispositivo a otro, los retardos
afectan el rendimiento
A 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

20

JERARQUIA DE
BUSES

Mag. Ing. Daniel Llamas

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

22

Jerarqua de buses
El procesador se conecta a la memoria cach a travs de
un bus local, as tambin los dispositivos de E/S locales

23

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

24

Jerarqua de buses
Los controladores de E/S se conectan directamente al
bus del sistema
Las transferencias entre la Mp y la E/S no interfieren en la
actividad del procesador (DMA).

25

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

26

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

27

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
28

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

29

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

30

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

31

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

32

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

33

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
34

ELEMENTOS DE
DISEO DE UN BUS

Mag. Ing. Daniel Llamas

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

36

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
37

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

38

JERARQUIA DE
BUSES

Mag. Ing. Daniel Llamas

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
en:
Centralizados
Distribuidos

pueden clasificar

40

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

41

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
42

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

43

Temporizacin sncrona

44

Temporizacin asncrona: lectura

45

Temporizacin asncrona: escritura

46

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

47

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: esclavo maestro
Transferencias de escritura: 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

48

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: esclavo maestro
Transferencias de escritura: 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

49

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)

50

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

51

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

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

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
54

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
55

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
56

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

57

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

58

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

59

ESTRUCTURA DEL
BUS

Mag. Ing. Daniel Llamas

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
61

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 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)
62

Estructura del bus PCI

63

Estructura del bus PCI

64

Estructura del bus PCI

65

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
66

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 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

67

Estructura del bus PCI

68

Estructura del bus PCI

69

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

70

ORDENES DEL BUS

Mag. Ing. Daniel Llamas

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)

72

rdenes del bus PCI

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

73

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

74

rdenes del bus PCI


Los tipos de rdenes son:
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
75

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
76

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:

77

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)
78

rdenes del bus PCI

Los tipos de rdenes son:


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.

79

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

80

Transferencia de
satos en el BUS

Mag. Ing. Daniel Llamas

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)

82

Transferencias de datos en el bus PCI

83

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. Al comienzo del segundo ciclo de reloj, el dispositivo del
que se lee reconocer su direccin en las lneas AD

84

Transferencias de datos en el bus PCI


c. 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
85

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. 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
f. 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

86

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

h. El maestro sabe que el tercer bloque de datos es el


ltimo,

i.

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

El maestro desactiva IRDY y el dispositivo de lectura


desactiva TRDY y DEVSEL: el bus vuelve a estar libre
87

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

88

ARBITRAJE DEL BUS

Mag. Ing. Daniel Llamas

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

90

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

91

Arbitraje del bus PCI

92

Arbitraje del bus PCI


a. Al comienzo del primer ciclo de reloj el rbitro detecta que
A ha activado su seal REQ
b. Durante el primer ciclo de reloj, B activa tambin su seal
REQ
c. Al mismo tiempo, el rbitro activa GNT-A para ceder el
bus a A
d. 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
93

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

f.

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

A desactiva FRAME para indicar


transferencia de datos est activa

que

su

ltima

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
94

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)

95

Bibliografa
[STALLINGS]
Organizacin y arquitectura de computadores
William Stallings
Pearson Education Prentice Hall, 2005 (7 edicin)

96