Вы находитесь на странице: 1из 21

Buses de interconexion 1. Introduccin o 2. Estructura del bus y uso bsico a 3. Clases de buses y jerarqu as 4.

Elementos de diseo de un bus n Tipo de bus Anchura del bus Temporizacin o Mtodo de arbitraje e Tipo de transferencia de datos 5. Arbitraje del bus 6. Ejemplos de buses estndar a PCI (Peripheral Component Interconnect) SCSI (Small Computer Systems Interface) USB (Universal Serial Bus) y FireWire

Bibliograf a Organizacin y arquitectura de computadores, William Stallings. Prentice Hall. o Computer Organization and Design: The hardware/software interface, David A. Patterson and John L. Hennessy. Morgan Kaufmann Publishers, Inc. Estructura y diseo de Computadores (Tomo 2), David A. Patterson y John L. Hennessy. Ed. n Revert. e

Introduccin o
Las distintas unidades funcionales de un computador necesitan comunicarse. Deben existir, por lo tanto, l neas para interconectar estos mdulos. o

Read Write

Memory
N Words

Address Data

0 N1

Data

Read Write Address


Internal Data External Data

I/O Module

Internal Data External Data Interrupt Signals

M Ports

Instructions Data
Interrupt Signals

Address

CPU

Control Signals

Data

Figure 3.15 Computer Modules

Tipos de transferencias a las que debe dar cobertura la estructura de interconexin: o Memoria procesador Procesador memoria E/S procesador Memoria E/S (DMA)

Introduccin o
Un bus es un canal de comunicacin compartido que utiliza un conjunto de cables para o conectar mltiples subsistemas. Cada cable o l u nea transmite un unico bit de informacin o en un determinado momento. Ventajas: versatilidad bajo coste Desventaja: supone un cuello de botella, limitando la productividad mxima del sistema. a Caracter sticas deseables: heterogeneidad escalabilidad baja latencia alto ancho de banda

Estructura del bus


Las l neas que componen un bus se pueden clasicar en tres grupos funcionales:

Las l neas de datos del bus proporcionan el camino para transmitir datos entre los mdulos del sistema. El nmero de l o u neas del bus de datos determina el nmero u mximo de bits que es posible transmitir al mismo tiempo. a Las l neas de direccin se utilizan para designar (direccionar) la fuente o el destino o de los datos situados en el bus de datos. La anchura del bus de direcciones determina la cantidad mxima de memoria (y de dispositivos de E/S) direccionable en el a sistema. Las l neas de control se emplean para gestionar el acceso y el uso de las l neas de datos y direccin, sealizando peticiones y reconocimientos e indicando qu tipo de o n e informacin pasa por las l o neas de datos.

Estructura del bus


Clasicacin segn las caracter o u sticas elctricas: e Unidireccionales con un transmisor y mltiples receptores u Unidireccionales con mltiples transmisores y un unico receptor u Bidireccionales Algunas l neas de control t picas son: Escritura en memoria (Memory Write) Lectura de memoria (Memory Read ) Escritura de E/S (I/O Write) Lectura de E/S (I/O Read ) Transferencia reconocida (Transfer ACK ) Peticin de bus (Bus Request) o Cesin de bus (Bus Grant) o Peticin de interrupcin (Interrupt Request) o o Interrupcin reconocida(Interrupt ACK ) o Reloj (Clock ) Inicio (Reset)

Uso bsico del bus a


Cuando un mdulo necesita enviar un dato a otro mdulo: o o 1. Obtener el uso del bus 2. Transferir el dato a travs del bus e Cuando un mdulo necesita pedir un dato a otro mdulo: o o 1. Obtener el uso del bus 2. Transferir la peticin al otro mdulo mediante las l o o neas de control y direccin aproo piadas 3. Esperar a que el segundo mdulo env el dato o e

Clases de buses y jerarqu as


Bus Procesador-memoria Bus E/S Bus Backplane Las prestaciones del bus disminuyen con la conexin de un gran nmero de dispositivos o u (cuello de botella). Solucin: conguraciones con mltiples buses, normalmente organizao u das jerrquicamente. Ejemplos: a IBM PC

Apple Macintosh II

IBM RS-6000

Ms conguraciones a

Dise o de un bus n

Tipo de bus Dedicado Multiplexado

Anchura del bus Direccin o Datos

Temporizacin o S ncrono As ncrono

Mtodo de arbitraje e Centralizado Distribuido

Tipo de transferencia de datos Lectura Escritura Lectura-modicacin-escritura o Lectura-despus de-escritura e Bloque Transaccin partida o

Temporizacin o
Bus s ncrono. Entre sus l neas de control se incluye una seal de reloj. El protocolo para n la comunicacin es jo y est gobernado por la seal de reloj se asume que los env o a n os llegan correctamente. Ventajas: Puede funcionar a gran velocidad y se puede implementar con un sistema secuencial sencillo. Inconvenientes: No es adecuado para mezclar dispositivos con grandes diferencias de velocidad. Su diseo tiene que ser muy cuidadoso. Problema del sesgo del reloj (clock skew ). n Los buses de memoria suelen ser s ncronos.

Ejemplo de lectura s ncrona.

Bus as ncrono. Sin reloj. Las transmisiones de datos se coordinan con un protocolo de handshaking entre emisor y receptor: un evento origina el siguiente, y as sucesivamente. Ventajas: Permite la conexin de dispositivos de un amplio rango de velocidades diferentes. o Escalan mejor tanto con el nmero de dispositivos como con los cambios tecnolgicos en u o los mismos. No hay problemas de sesgo de reloj, por lo que permite distancias ms largas. a Inconvenientes: Es ms lento, debido a la sobrecarga introducida para sincronizar a emisor a y receptor. Puede necesitar un cierto nmero de l u neas de control adicionales para implementar el protocolo. Es ms dif predecir el tiempo que va a llevar una determinada a cil transaccin. o Los buses de E/S son habitualmente as ncronos.

Ejemplo de lectura as ncrona.

Ejemplo de escritura.

Temporizacin o
Otro ejemplo diferente de protocolo handshaking para realizar una lectura as ncrona:

0. El protocolo comienza con el maestro (el procesador, por ejemplo) poniendo una direccin de memoria en el bus de datos y activando la seal de peticin de lectura o n o (ReadReq). 1. El esclavo (la memoria, por ejemplo) ve la peticin y coge la direccin de memoria o o del bus de datos, activando la seal de aceptacin (ACK ). n o 2. El maestro ve activa la seal de ACK y libera el bus de datos y desactiva la seal n n de peticin de lectura, que sirve de aviso al esclavo. o 3. El esclavo ve la desactivacin de la seal de peticin y contesta as mismo con la o n o desactivacin de la seal de ACK. o n 4. Cuando el esclavo tiene listo el dato a leer lo pone en el bus y activa la seal que n indica que el dato est listo (DataReady). a 5. El maestro ve la seal DataReady, con lo que sabe que el dato est listo en el bus y n a realiza su lectura. Cuando completa la operacin activa la seal de ACK. o n 6. El esclavo ve la seal de ACK, lo que le dice que el maestro ya tiene el dato le n do, y desactiva la seal DataReady y libera el bus de datos. n 7. Por ultimo, el maestro responde a la desactivacin de DataReady con la bajada de o su seal de ACK, lo que da por concluida la transmisin. n o

Esquemas de arbitraje
Gestin del uso del bus por parte de mltiples maestros. o u Dos factores a considerar: prioridad imparcialidad (fairness) Clasicacin genrica de tcnicas de arbitraje: o e e 1. Arbitraje en serie (daisy chain arbitration). La l nea de concesin de bus (grant) o recorre los dispositivos desde el ms hasta el menos prioritario. Las prioridades se a determinan as en funcin de la posicin del dispositivo en el bus. o o

2. Arbitraje paralelo centralizado. Se utilizan mltiples l u neas de peticin, por las o que los diferentes dispositivos piden acceso al bus de forma independiente. Un rbia tro centralizado selecciona uno de entre los dispositivos que han solicitado el bus y le notica que ahora es el maestro del bus.

3. Arbitraje distribuido por autoseleccin. Se emplean tambin mltiples l o e u neas de peticin de bus, pero ahora cada dispositivo determina de forma independiente o si l es el solicitante de mayor prioridad sin necesidad de un rbitro. e a 4. Arbitraje distribuido por deteccin de colisin. Cada dispositivo solicita de o o forma independiente el bus. En caso de mltiples peticiones simultneas de bus u a se produce una colisin. Una vez detectada la colisin se aplica un esquema que o o determine el dispositivo que ser maestro de bus entre las partes en colisin. a o

Tipo de transferencia de datos

Decisiones de dise o n
Rendimiento vs. Coste Opcin o Alto rendimiento Ancho de bus l neas de datos y direcciones indep. Ancho de bus Ms ancho es ms rpido a a a Tamao transfers transfer bloq de mltiples palabras n u Maestros de bus mltiples maestros (req. arbitraje) u Transac. partida S Aumenta ancho de banda . Temporizacin o s ncrono Bajo coste l neas de datos y direcciones multiplexadas Menos ancho es ms barato a transfer bloq. de una palabra un unico maestro No. Conexin continua ms barata o a as ncrono

Ejemplos de buses estndar a


BUS ISA (Industrial Standard Architecture) (hoy obsoleto) Desarrollado por IBM primero para su PC XT (Intel 8088 y 8086), bus XT, y luego para el PC AT (80286), bus AT. Su xito lo convirti en un estndar de facto. e o a Especicaciones: 8 bits - 4,77 M hz Bus XT / 16 bits - 8 M hz Bus AT (5 8 M B/s) Posteriormente IBM desarrollar el bus MCA (Micro Channel Architecture) para sustia tuirlo (32 bits - 10 M hz para 40 M B/s). La falta de compatibilidad hacia atrs con ISA a lo hizo fracasar. Una alternativa algo ms exitosa (relativamente) fue el bus EISA (Extended Industrial a Standard Architecture), bus rpido de 32 bits (33 M B/s) con compatibilidad con ISA a desarrollado por la competencia para competir con el MCA de IBM. El cuello de botella que supone el bus del sistema se hace cada vez ms acusado en a aplicaciones con cierta exigencia grca. La solucin pasa por incorporar un nuevo bus a a o la arquitectura (local I/O bus) que permita una interfaz ms directa con el procesador: a 1. VESA local bus (VL-bus), por la Video Electronics Standards Association. Ofrece acceso directo a memoria a la velocidad del procesador (132 M B/s). Fuerte dependencia del procesador a nivel f sico (80486). 2. PCI, desarrollado por Intel (Pentium en adelante). Aislado de la CPU aunque manteniendo el acceso a memoria. BUS PCI (Peripheral Component Interconnect) Bus de 64 bits (64 l neas de datos), frecuentemente implementado como bus de 32 bits. Reloj: 33 o 66 M hz. Ejemplos de conguracin: 32 bits - 33 M hz: 133 M B/s, 64 bits o 66 M hz: 528 M Bs/s Multiplataforma e independiente de la arquitectura del procesador. De diseo sencillo (pocos circuitos integrados) y econmico, permite la interconexin de n o o otros buses (como ISA) y es fcilmente ampliable. a Frente al bus ISA tradicional incorpora mejoras como: Permite la comparticin de l o neas de peticin de interrupcin (IRQS ). o o Importantes mejoras en cuanto a bus mastering, que permite la introduccin de o DMAs en los propios mdulos de E/S. o

Despus de PCI: e PCI-X (PCI eXtended ): diseado para aumentar el rendimiento (hasta 1 GB/s) en la n conexin de dispositivos con grandes necesidades de ancho de banda: Gigabit Ethernet, o bra ptica, procesadores en un cluster. . . Es compatible con PCI. o AGP (Accelerated Graphics Port): interfaz diseada por Intel, basndose en PCI, para n a conexin de tarjetas grcas. Introduce canal punto-a-punto dedicado de 32 bits - 66 M hz o a para acceso de procesador grco a memoria principal (1X 266 M Bs/s). a PCI Express: diseado para sustituir tanto a PCI como a AGP. Basado en canales serie n punto-a-punto (200 M Bs/s por canal).

Bus PCI
Variedad de conguraciones diferentes, con uno o ms procesadores. a Conjunto de funciones de uso general. Temporizacin s o ncrona y esquema de arbitraje centralizado.

Bus PCI: estructura


Variedad de conguraciones diferentes, con uno o ms procesadores. a 49 l neas de seal obligatorias: (# indica seal activa a nivel bajo) n n Sistema: reloj y reinicio (CLK y RST#) Direcciones y datos 32 l neas multiplexadas para datos y direcciones (AD[31:0]). PCI es little endian 4 l neas de control multiplexadas (C/BE [3:0]#): o rdenes durante la fase de direccionamiento indicador de validez de los datos (byte enables) durante la fase de datos l nea de control de paridad (PAR) Control de interfaz: temporizacin y coordinacin de las transferencias (6 l o o neas) Indicacin de comienzo y duracin de transferencia por maestro (FRAME#) o o Maestro preparado (IRDY#, Initiator Ready) Esclavo preparado (TRDY#, Target Ready) Esclavo desea que maestro pare transaccin actual (STOP#) o Respuesta del dispositivo esclavo seleccionado cuando reconoce su direccin o (DEVSEL#) Seleccin de un dispositivo durante la fase de inicializacin del bus (IDSEL) o o Arbitraje (2 l neas punto-a-punto) Solicitud de bus (REQ#) Concesin de bus (GNT#) o Seales de error (2 l n neas) Error de paridad (PARR#) Error del sistema (SERR#) 51 seales opcionales n Interrupcin o Soporte cach e Ampliacin del bus a 64 bits o Test

Bus PCI: Espacio de direcciones y operaciones


Espacio de direcciones: La especicacin PCI establece tres espacios de direcciones o diferentes: Conguracin o 256 bytes: 64 bytes (00h 3F h) estndar predenido PCI a 192 bytes (40h F F ) congurables Informacin bsica del dispositivo o a Informacin Plugn Play o E/S Especicacin PCI permite 4 bytes - 4 Gbytes o La compatibilidad ISA restringe a 256 bytes Se suelen mapear perifricos como teclado, puerto serie. . . e Memoria (recomendado) Hasta 4 Gbytes de propsito general o Tipos de transferencia PCI: operaciones C/BE 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 COMANDO Reconocimiento de interrupcin o Ciclo especial Lectura de E/S Escritura en E/S Reservado Reservado Lectura de memoria Escritura en memoria Reservado Reservado Lectura de conguracin o Escritura de conguracin o Lectura mltiple de memoria u Ciclo de direccin dual o Lectura de l nea de memoria Escritura e invalidacin de memoria o

Transferencias de datos
Cada transferencia de datos en el bus PCI es una transaccin unica. o Transaccin PCI: 1 fase de direccionamiento + 1 o ms fases de datos. o a Todos los eventos se sincronizan en transiciones de bajada del reloj (mitad de ciclo de reloj). Los dispositivos del bus interpretan las l neas del bus en los ancos de subida (comienzo del ciclo del bus). Fase de direccionamiento 1. Maestro de bus identica dispositivo destino (esclavo) y tipo de transaccin o 2. Maestro de bus activa la sea F RAM E# n 3. Cada dispositivo conectado al bus PCI decodica la direccin para determinar si o pertenece a su espacio de direcciones. El dispositivo al que pertenece la direccin o activa la seal DEV SEL# n Fase de datos 1. Las seales C/BE# determinan el nmero de bytes habilitados para la transmisin n u o en el bus de datos 2. Las seales IRDY # y T RDY # controlan la transferencia. Los datos son transmin tidos solo cuando ambas seales estn activada. n a Duracin y nalizacin de la transaccin o o o 1. El maestro de bus mantiene la seal F RAM E# activada desde el comienzo de la n transaccin hasta que est preparado para nalizar la fase de datos o a 2. La nalizacin de la transaccin se indica mediante la desactivacin de F RAM E# o o o junto con la activacin de IRDY # o 3. Cuando el ultimo dato ha sido transferido se libera el bus mediante la desactivacin o de IRDY #

Transaccin de lectura o
CLK FRAME# AD C/BE# IRDY#
Wait ADDRESS

d c

h
DATA-1 DATA-2 DATA-3

BUS CMD

Byte Enable

Byte Enable

Byte Enable

g
Data Transfer Wait Wait

TRDY# DEVSEL#
Address Phase

Data Phase Wait State

Data Phase Wait State Bus Transaction

Data Transfer

Data Phase Wait State

Figure 3.23 PCI Read Operation

a) El maestro del bus ha obtenido control del bus e inicia transaccin activando F RAM E#. o Esta l nea permanecer activa hasta que el maestro se disponga a nalizar la ultima fase a de datos. El maestro sita la direccin de comienzo de lectura en el bus de direcciones y u o la orden de lectura en las l neas C/BE# b) A partir del comienzo del segundo ciclo de reloj el dispositivo del que se lee reconocer su a direccin en las l o neas AD. c) El maestro libera l neas AD. Ciclo de cambio para evitar contienda. Maestro cambia informacin en C/BE# para habilitar las l o neas de AD a utilizar. Tambin activa IRDY # e para indicar que est preparado para recibir primer dato. a d) El dispositivo de lectura seleccionado activa DEV SEL# para indicar que ha reconocido la direccin y va a responder. Sita dato solicitado en AD y activa T RDY # para indicar o u que hay un dato vlido en el bus. a e) El maestro lee el dato al comienzo del cuarto ciclo. f) En este ejemplo dispositivo de lectura requiere tiempo para preparar segundo bloque de datos. Desactiva T RDY # para indicar a maestro que NO proporcionar nuevo dato en a siguiente ciclo. Maestro no leer bloque de datos hasta el sexto ciclo. a g) Dispositivo de lectura coloca tercer dato en el bus. Ahora es maestro el que no est prea parado para leer el dato, desactivando IRDY #. h) El maestro desactiva F RAM E#, para indicar a dispositivo que es el ultimo dato a trans ferir, y activa IRDA# para indicar que est listo para completar la transferencia. a i) El maestro desactiva IRDY #, liberando el bus. El esclavo desactiva T RDY # y DEV SEL#.

Data Transfer

Transaccin de escritura (4 palabras 32 bits) o

Arbitraje del bus


Esquema de arbitraje paralelo centralizado s ncrono:

El arbitraje se solapa con la comunicacin del maestro de bus actual, de forma que no se pierden o ciclos: arbitraje de bus solapado u oculto. La especicacin PCI no indica un algoritmo particular de arbitraje. o Ejemplo de procedimiento de arbitraje:

CLK REQ#-A REQ#-B GNT#-A GNT#-B FRAME# IRDY# TRDY# AD

a b c e d f g

Address access-A

Data

Address access-B

Data

Figure 3.25 PCI Bus Arbitration Between Two Masters

La interfaz externa
Interfaz de comunicacin mdulo E/S - perifrico o o e Interfaz paralela vs. interfaz serie

Conexin punto-a-punto vs. multipunto o Enlaces externos punto-a-punto t picos: teclado, puerto serie, puerto paralelo. . . Enlaces externos multipunto: buses externos. Importancia creciente. Ejemplos: SCSI, USB y FireWire.

Interfaz SCSI (Small Computer System Interface)


Diseado para la conexin de mltiples perifricos a ordenadores personales, aunque tamn o u e bin es ampliamente utilizado en servidores. e Se trata de una interfaz paralela con, inicialmente, 8 l neas de datos y una velocidad de 5 M B/s (SCSI-1). Versiones posteriores aumentaron la velocidad, permitieron anchos de 8, 16 y hasta 32 l neas y aumentaron el nmero de dispositivos manejable (SCSI-2, Fast u Wide SCSI, Ultra SCSI. . . ). Modos de transferencia s ncronos y as ncronos. Aunque utiliza estructura de bus y se suele considerar como tal, en el fondo se trata de una conexin encadenada de dispositivos (daisy chain). o

Nuevos estndares en la interfaz externa a


El puerto serie tradicional, basado en el estndar RS232 y limitado a velocidades del a orden de 115 Kb/s, se ha venido utilizando de siempre para la conexin de los perifricos o e ms lentos. a El puerto paralelo ha venido supliendo la necesidad de conexin de dispositivos algo ms o a rpidos, aunque a costa de una mayor complejidad en el cableado. a La industria ha acabado desarrollando nuevas interfazes serie ms rpidas que presentan a a importantes ventajas en velocidad y abaratamiento de costes de frente a la mezcla existente de puertos serie, paralelo, de juegos, PS/2 y dems interfaces de E/S presentes en a los equipos: USB y FireWire. Caracter sticas: Interfaz de conexin muy simple. o Plugn Play: deteccin y conguracin automtica de los dispositivos conectados. o o a Conexin y desconexin en caliente. o o Conector simple y robusto para todos los dispositivos. Alimentacin para los dispositivos incluida (solo dispositivos de bajo consumo). o

USB (Universal Serial Bus)


Se trata de un eje ra que se conecta al bus principal. z Se permiten ramicaciones del eje principal mediante hubs: total de 127 dispositivos manejables en una topolog de estrella. a Hasta 5 metros de longitud por segmento de cable. 1,5 M b/s, 12 M b/s, 480 M b/s (USB 2.0).

FireWire (IEEE 1394)


Tasa de transferencia de hasta 400 M b/s en su especicacin inicial (IEEE 1394b hasta o 800 M b/s). Hasta 63 dispositivos en un unico bus. Mayor rendimiento bruto que USB: se utiliza principalmente para dispositivos de almacenamiento y v deo. Permite trabajar sin host y comunicaciones peer-to-peer. Hasta 100 metros en un unico segmento.

Вам также может понравиться