Está en la página 1de 97

2. Buses locales normalizados.

1. Concepto de bus normalizado. 2. Bus AT, ISA, EISA. 3. Bus PCI, AGP. 4. Plug and Play. 5. Ejemplos de aplicacin.

2. Buses locales normalizados.

Perifricos e Interfaces , 3 ITIS

2.1. Concepto de bus normalizado


Bus: Conjunto de lneas elctricas (tiras de metal sobre una placa de circuito impreso). Medio compartido: Impresora
Teclado Monitor H.D.

CPU

Memoria

Mdulo E/S

Mdulo E/S

Mdulo E/S

Mdulo E/S Bus del sistema

Gestor del bus (Bus Master)


2.1. Concepto de bus normalizado.

Mecanismos de contienda
Perifricos e Interfaces , 3 ITIS
2

Estructura:
Teclado Monitor

Impresora H.D.

CPU

Memoria

Mdulo E/S

Mdulo E/S

Mdulo E/S

Mdulo E/S
direcciones datos control sincronizacin

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Lneas tpicas del bus de control.


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 ACKAcknowledge). Peticin del bus (Bus Request). Cesin del bus (Bus Grant). Peticin de interrupcin (Interrupt Request). Interrupcin reconocida (Interrupt ACK). Reloj (Clock). Inicio (Reset).
4

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Procesos de transferencia.
Escritura de E/S.
El mdulo de E/S que quiere iniciar la transferencia solicita el uso del bus (Bus Request). El arbitrador le concede el bus (Bus Grant). Sita en el bus de direcciones la direccin de memoria o puerto de E/S donde se quiere transferir el dato. Sita el dato a transferir en el bus de datos. Activa la lnea de I/O Write del bus de control. El destinatario ha recibido el dato (Transfer ACK). Deja libre el bus para ser usado por otro mdulo.

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Lectura de E/S.

El mdulo de E/S que quiere iniciar la transferencia solicita el uso del bus (Bus Request). El arbitrador le concede el bus (Bus Grant). Sita en el bus de direcciones la direccin de memoria o puerto de E/S donde se quiere transferir el dato. Sita el dato a transferir en el bus de datos. Activa la lnea de I/O Read del bus de control. El destinatario ha recibido el dato (Transfer ACK). Lectura del dato en el bus de datos. Deja libre el bus para ser usado por otro mdulo.

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Notacin.

Mdulo que inicia la transferencia: Bus Master. Mdulo direccionado por el Bus Master se denomina Bus Slave. Arbitrador: circuito especial que recoge las peticiones para tomar el control del bus y decide quin debe tomarlo en cada momento.

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Elementos de diseo.
Criterios:
Tipo:
dedicados o multiplexados

Mtodo de arbitraje: Temporizacin: Anchura del Bus: Ancho de banda.


Sncronos o asncronos Centralizado o distribuido

(en sentido temporal o fsico)

Direccin o datos

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Ancho de banda de algunos buses tpicos.


BUS PC original ISA EISA MCA VLB PCI AGP Pentium (system) SCSI-2 PCMCIA
2.1. Concepto de bus normalizado.

Reloj (MHz) 4.77 8 8 10 33 33 66 10 1

Bits 8 16 32 32 32 32/64 64 16/32 16

A.B. (MB/S) 4.77 16 32 40 132(lectura) 66(escritura) 132/264 528 20/40 2


9

Perifricos e Interfaces , 3 ITIS

Ancho de banda requerido en algunas aplicaciones.


Aplicacin Puerto serie 9600 bps Modem 56 K Sonido telefnico Sonido CD Ethernet 10 Mps Ethernet 100 Mps CD-ROM 32X Video 1024x768 A.B. (MB/S) 1.1710-3 710-3 810-3 0.15 1.25 12.5 4.7 67.5

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

10

Resea histrica.
Inicialmente el bus del PC se concibe para la comunicacin entre CPU y Memoria. Necesidad de sacar el bus de sistema al exterior del PC. Con la aparicin del PC-XT (IBM, 1980) se provee al PC de la posibilidad de expandir el bus del sistema mediante un zcalo en el cual conectar tarjetas para conexin con los distintos buses de perifricos.

Bus de expansin:

Varias (6, 8, ) ranuras (slots) en los que conectar

tarjeta controladora de CD-ROM, video, fax-modem,


Perifricos e Interfaces , 3 ITIS
11

2.1. Concepto de bus normalizado.

Inicialmente el bus de expansin XT presentaba las mismas caractersticas que el bus de sistema (procesador Intel 8088): Con la aparicin del PC-AT (IBM, 1984) se rompe la relacin entre bus y microprocesador (Intel 80286).
En principio el reloj de procesador de un AT funcionaba a la misma velocidad de reloj de bus. Bus de datos de 16 bits Reloj: 8.33 MHz Sin embargo, IBM posibilit que el microprocesador fuese ms rpido que el bus, abriendo una puerta importante a la arquitectura del PC. Bus de datos de 8 bits Reloj: 4.77 MHz

ISA (Industry Standard Arquitecture), 1988


2.1. Concepto de bus normalizado. Perifricos e Interfaces , 3 ITIS
12

Objetivo: Estrategias:
mejora de la velocidad de comunicacin de datos entre los buses de dispositivos externos y el bus de sistema. diseo de arquitecturas y software de comunicacin (protocolos) Ejemplos: ISA, EISA, EDSI, SCSI, IDE, ect.

Las limitaciones del bus de expansin ISA impulsaron nuevas propuestas. IBM sac al mercado otro bus que rompa con la compatibilidad con el estndar ISA: MCA Microchannel, montado en la gama PS/2. Bus de datos de 32 bits, reloj: 10 MHz
2.1. Concepto de bus normalizado. Perifricos e Interfaces , 3 ITIS
13

MCA tuvo poca aceptacin entre los fabricantes de tarjetas de expansin puesto que deban ser diseadas exclusivamente para l. Buscando compatibilidad con las tarjetas ya existentes los fabricantes establecieron las especificaciones del bus EISA (Extended ISA): La revolucin en el mercado de los buses surgi con la aparicin del procesador Intel 80486 (reloj: 33 MHz) y los sistemas grficos de ventanas (Microsoft Windows). Cuello de botella en el bus
2.1. Concepto de bus normalizado. Perifricos e Interfaces , 3 ITIS
14

Bus de datos de 32 bits Reloj: 8.33 MHz (por compatibilidad con ISA)

Solucin: Enlazar el adaptador grfico y otros perifricos directamente al microprocesador Creacin de buses locales Comit VESA (Video Electronics Standards Association, present el primer tipo de bus local: VLB.
organismo para la estandarizacin de dispositivos de video)

Bus de datos de 32 bits y en su versin 2.0 de 64 bits. Reloj: partiendo de 33 MHz poda alcanzar hasta 50 MHz.
2.1. Concepto de bus normalizado. Perifricos e Interfaces , 3 ITIS
15

En 1992 Intel saca al mercado su bus local: PCI (Peripherical Component Interconnect). No mejoraba a VLB en rendimiento, pero s superaba carencias que presentaba este ltimo.
Inicialmente bus de datos de 32 bits y la actualidad de 64 bits. Reloj: partiendo de 20 MHz ha llegado en la actualidad a 66 MHz. Posibilidad de conectar tarjetas que trabajen a distinto voltaje.

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

16

Evolucin de los procesadores Intel para PC.


PROCESADOR 8086 8088 80186 80188 80286 80386 SX 80386 DX 80486 DX 80486 SX PENTIUM PENTIUM PRO Bus de direcciones 20 20 20 20 24 32 32 32 32 32 32 Bus de datos 16 8 16 8 16 16 32 32 32 64 64
17

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

Arquitectura de un PC actual.

2.1. Concepto de bus normalizado.

Perifricos e Interfaces , 3 ITIS

18

2.2. Bus AT, ISA, EISA.


Diferencias entre bus AT y XT:
XT Sncrono Bus de datos de 8bits Reloj: 4.77 MHz AT Asncrono Bus de datos de 16bits Reloj: 8.33 MHz

Bus de direcciones de 20 bits Bus de direcciones de 24 bits

Para garantizar compatibilidad entre ambas tarjetas se le asigna a las tarjetas de ampliacin de un freno de seguridad (seal de estado de espera, wait state), para dar ms tiempo a las tarjetas lentas para depositar los datos deseados en la CPU.
2.2. Bus AT, ISA, EISA. Perifricos e Interfaces , 3 ITIS
19

Bus MCA:
La aparicin a mediados de los 80 del procesador Intel 80386DX (bus de datos 32 bits) decidi a IBM apostar por la creacin de un bus que se adaptara a este tamao de bus de datos. El bus MCA incorpora, adems de este cambio, las siguientes prestaciones: Reloj: 10 MHz. Tasa de transferencia de hasta 40 Mbytes por segundo. Incluye un circuito de control especial a cargo del bus (conocido como CAP, punto de decisin central), permitindole operar independientemente de la velocidad e incluso del tipo de procesador empleado.
(teniendo en cuenta que existe una transferencia por ciclo de reloj).

2.2. Bus AT, ISA, EISA.

Perifricos e Interfaces , 3 ITIS

20

Bus MCA:
Se establece un mecanismo de arbitraje mediante el cual la CPU no es ms que uno de los posibles dispositivos que pueden gestionar transferencias. Un proceso denominado control del bus enlaza con el CAP para determinar y responder a las prioridades de cada uno de los dispositivos. Bus Mastering. Para permitir la conexin de ms dispositivos se introduce un sistema de interrupciones sensibles al nivel, ms fiable que el sistema de interrupciones del bus ISA. Comparticin de interrupciones. Plug & Play (8 aos antes de que Microsoft lo introdujera en el mercado). Se introduce una lnea de tierra cada cuatro lneas, con lo cual se reducen interferencias.
2.2. Bus AT, ISA, EISA. Perifricos e Interfaces , 3 ITIS
21

Bus MCA: Errores cometidos:


Consecuencia de las anteriores caractersticas hacen que el bus MCA no sea compatible con ISA (solo trabajan con ranuras Micro Canal). IBM no cedi patentes a los fabricantes de tarjetas y perifricos Alto coste de los equipos con MCA.

2.2. Bus AT, ISA, EISA.

Perifricos e Interfaces , 3 ITIS

22

Bus EISA:

Rival de MCA, diseado por la mayora de ordenadores compatibles PC, en un intento por evitar el monopolio de IBM con su bus MCA.
(AST, Compaq, Epson, Hewlett Packard, NEC, Olivetti, Tandy, Wyse y Zenith).

Basado en la idea de controlar el bus desde la CPU y ensanchar la ruta de datos. Mantuvo compatibilidad con ISA (8.33 MHz) y aport
Sistema abierto. La arquitectura permite multiproceso: Varios buses dentro del sistema, cada uno con su procesador. Presencia de un chip (Chip de Sistema Periprico Integrado, ISP) en el bus, encargado de controlar el trfico de datos sealando prioridades para cada posible punto de colisin o bloqueo mediante las reglas de control de la especificacin EISA.

2.2. Bus AT, ISA, EISA.

Perifricos e Interfaces , 3 ITIS

23

Comparacin de tarjetas de ampliacin AT y MCA

2.2. Bus AT, ISA, EISA.

Perifricos e Interfaces , 3 ITIS

24

Bus EISA.

2.2. Bus AT, ISA, EISA.

Perifricos e Interfaces , 3 ITIS

25

2.3. Bus PCI, AGP.


Bus PCI:
Aparicin en 1990 de la mano de IBM. Ms adelante se liberaliz su patente. Bus de conexin de perifricos de alta velocidad. Independiente de la CPU: Entre el bus y la CPU se instala un controlador de bus PCI. Esto permite independencia del microprocesador dentro de un mismo tipo de arquitectura (procesadores Pentium de Intel, procesadores Alpha de DEC) y entre distintos tipos de arquitectura (procesadores PowerMacintosh de Apple). Bus rpido 33/66 MHz con 32 o 64 bits de datos. Soporta un ancho de banda mximo de 132/264 MB/s. Conector estilo Miro Channel de 124 pines (188 en su implementacin de 64 bits de datos). Cada seal activa del bus PCI est junto o frente a una seal de alimentacin o de tierra. Con ello se minimiza la radiacin.
Perifricos e Interfaces , 3 ITIS
26

2.3. Bus PCI, AGP.

2.3. Bus PCI, AGP.


Bus PCI:
Lmite mximo de conectores PCI: 3. Diseo basado en la simplicidad y flexibilidad. Permite varios procesadores funcionando simultneamente. Configuracin automtica de dispositivos conectados a l. Posibilidad de adaptar tarjetas de expansin ISA a PCI, mediante un puente (PCI-To-ISA-Bridge).

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

27

Escenario de desarrollo del bus PCI.


Dispositivos que precisan transferencias de grandes bloques de datos (ej.: tarjeta de video, SCSI, tarjeta de red) estaban conectados a una de las ranuras del bus de expansin (ISA, EISA o MCA). Todos estos buses sufren de una inadecuada tasa de transferencia de datos. En muchas ocasiones, subsistemas (tarjeta de video), eran integradas en la misma placa base. Esto podra hacer pensar que no estaban conectadas al bus de expansin. Sin embargo s lo haca a travs de una versin del bus con buffer. A este bus se le conoca como X-bus (eXtension del bus de expansin)
28

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

X-bus.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

29

Mtodos de conexin de un dispositivo al bus local del microprocesador.


Conexin directa.
Restricciones: Dependencia del procesador. Slo puede ser utilizado un dispositivo local para evitar problemas de impedancia por extra carga. Interfaz de conexin del dispositivo con el bus local costosa, dada la alta frecuencia a la que se trabaja. No permite transferencias de datos entre la CPU y otros dispositivos mientras el dispositivo conectado directamente al bus local mantenga transferencias con otros perifricos. Ejemplo: VLB tipo A. Mejoras respecto a la conexin directa: Al estar el bus local con buffer elctricamente aislado del bus local del procesador, slo presenta una impedancia. Usualmente se pueden ubicar hasta tres dispositivos.
30

Conexin mediante buffer.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

Conexin con filosofa de estacin de trabajo.

Restricciones: En esencia, el bus local con buffer y el bus local del procesador son un nico bus: cualquier transferencia iniciada por la CPU alcanzar el bus local con buffer, aunque no se dirija a ninguno de los dispositivos alojados all. Es decir, no es posible la utilizacin simultnea. Ejemplo: VLB tipo B. Mejoras respecto a los anteriores: Introduccin de un a cach de nivel 2 unida a un puente para adaptar las velocidades de transferencia entre el bus local del procesador y el bus de entrada/salida de alta velocidad. Independencia del procesador que implementa la CPU. Ejemplo: PCI.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

31

Conexin directa al bus local.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

32

Conexin al bus local mediante buffer.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

33

Conexin al bus local mediante filosofa de estacin de trabajo.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

34

VLB. Caractersticas:

Aparicin en Agosto de 1992 (coetneo al Intel 80486). VLB es una expansin homogeneizada del bus local, que funciona a 32 bits. Puede realizar operaciones a 16 bits. No existen lmites de frecuencia (ni superiores ni inferiores). Problemas de fiabilidad cuando hay muchas conexiones que incrementan la capacitancia y aumenta la frecuencia de reloj. Recomendaciones del fabricante:
Con frecuencias de reloj > 33 MHz, mximo 3 dispositivos. Con frecuencias de reloj a 40 MHz, mximo 2 dispositivos. Con frecuencias de reloj a 50 MHz, mximo 1 dispositivo.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

35

VLB.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

36

VLB.

Restricciones:

Fuerte dependencia del diseo VLB de la arquitectura 486. Dificultad para ser readaptado a las familias Pentium. Poca viabilidad elctrica del sistema al ser capaz de soportar un nmero muy reducido de tarjeta VLB (como mucho 3). No compatibilidad del VLB con las normas Bus Mastering y Plug & Play.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

37

Bus PCI.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

38

Bus PCI.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

39

Seales funcionales de maestro y esclavo.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

40

Caractersticas fsicas de las tarjetas de ampliacin PCI.


Dos formatos segn anchura de bus: 32 o 64 bits. Dos formatos segn voltaje de alimentacin: 5 y 3.3 V.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

41

Tarjeta universal.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

42

Pines de las tarjetas de ampliacin PCI.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

43

Comandos PCI.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

44

Mapeado de caminos de datos y ubicacin dentro del bus AD.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

45

Interpretacin de los bytes habilitados durante una fase de datos.

...
2.3. Bus PCI, AGP. Perifricos e Interfaces , 3 ITIS
46

Protocolo de transacciones: ejemplo de proceso de lectura (de un maestro a un esclavo).


1 CLK GNT# FRAME# C/BE# AD
Seleccin del dispositivo esclavo

10
El maestro tiene el control del bus, adjudicado por el arbitrador

El iniciador comienza la transaccin, activando FRAME# y seleccionando el dispositivo e indicando la orden

Bytes habilitados Bytes habilitados

El iniciador desactiva FRAME#, para indicar que es la ltima transferencia de la transaccin

CMD DATO 1 D2 DATO 3

Bytes habilitados Estado de espera

IRDY#

Estado de espera

El iniciador desactiva IRDY#, volviendo el bus a un estado libre El esclavo desactiva TRDY

TRDY#
Transferencia de datos

Transferencia de datos

DEVSEL#

Transferencia de datos

El esclavo desactiva DEVSEL

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

47

Protocolo de transacciones: ejemplo de proceso de escritura (de un maestro a un esclavo).

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

48

Arbitraje en el bus PCI.


Procedimiento por el que se selecciona el maestro que adquiere el control del bus para la prxima transferencia. Arbitraje centralizado sncrono. EL arbitrador suele estar integrado en el chipset PCI (especficamenete en
el chip host/PCI o en el chip puente de bus de expansin PCI).

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

49

Algoritmo de arbitraje en bus PCI.


La especificacin no define un algoritmo de arbitraje. El arbitrador utilizar uno de los algoritmos usuales: Prioridad fija.

Prioridad rotacional. (Cesin cclica)

Primero-en-llegar-primero-en-servirse: el bus se cede por orden de llegad de las peticiones.

Round Robin: el bus se cede por turnos a cada maestro. Si uno no tiene una peticin en un momento dado, se pasa al siguiente. Combinacin de los anteriores (rotacional dentro de un grupo de un grupo de maestros y fijo dentro de otro grupo).

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

50

Ejemplo de arbitraje entre dos maestros.


Escenario: 2 maestros (Bus Master A, Bus Master B) compitiendo por el control del bus PCI. Asunciones:

Las seales PCI son muestreadas en el flanco de subida del reloj PCI. Proceso:

El maestro de bus A solicita el bus para realizar dos transacciones. En la primera desea escribir en un dispositivo esclavo tres secuencias de datos y en la segunda desea escribir una nica secuencia de datos. El esquema de arbitraje es de prioridad fija, siendo el maestro B el de ms prioridad. El maestro B slo solicita el bus para ejecutar una nica transaccin consistente en una secuencia de datos.

1. El Maestro A activa su REQ# para solicitar el control del bus PCI. El arbitrador recoge la peticin en el flanco de subida del reloj del bus. En este punto, el maestro B no ha requerido an el bus.
51

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

Durante un ciclo de reloj, el arbitrador activa la seal GNT# del bus A, indicando que es l el que controla el bus PCI. Durante este mismo ciclo, el maestro B solicita el control del bus, activando su seal REQ#. 2. El maestro A muestrea su lnea GNT# en el flanco de subida del segundo ciclo de reloj, capturando su activacin. Por ello, muestrea tambin las seales IRDY# y FRAME#, encontrando que se encuentran desactivadas, lo que significa que el bus se encuentra en un estado de desocupacin. En respuesta a esto, el maestro A inicia la primera de sus dos transacciones. Activa la lnea FRAME# y sita en las lneas del bus de direcciones/datos (AD[31:0]) el comienzo de la direccin del dispositivo esclavo. Simultneamente especifica la orden a realizar en las lneas C/BE. Si el maestro A no tuviera otra transaccin que realizar despus de esta, desactivara su lnea REQ# durante el segundo ciclo de reloj. En el ejemplo que tratamos, el maestro A s tiene que realizar otra transaccin, por lo que mantiene su lnea REQ# activa. 3. El arbitrador del bus PCI muestrea las solicitudes de control del bus de los maestros A y B, en el flanco de subida del segundo ciclo de reloj. En este momento ejecuta el algoritmo de arbitraje, para determinar el maestro que gana la contienda.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

52

Durante el segundo ciclo de reloj, el arbitrador desactiva la lnea GNT# del maestro A. En el flanco de subida del tercer ciclo, el maestro A determina que ha sido deseleccionado, pero continua su transaccin mientras no pase el periodo de latencia (perodo desde que un maestro solicita el bus, hasta que completa la primera transferencia de datos de la transaccin). Durante el tercer ciclo de reloj, el arbitrador activa la lnea GNT# del maestro B. En el flanco de subida del cuarto ciclo, el maestro B muestrea su lnea GNT#, reconociendo que ha sido elegido como ganador de la contienda. Deber continuar muestreando su lnea GNT# en cada ciclo de reloj, hasta que obtenga el control del bus. Esto es necesario, porque el arbitrador puede asignar el control del bus a otro maestro antes de que el bus alcance un estado de desocupacin. El maestro B no puede comenzar a usar el bus hasta que el bus no alcance este estado de desocupacin. El maestro A ubica el primer dato en el bus AD (se trata de una transaccin de escritura), durante el tercer ciclo de reloj. En este mismo ciclo los bytes habilitados en el bus AD mediante en el bus C/BE. Tambin activa la lnea IRDY# para indicarle al esclavo que el dato est presente en el bus. En el flanco de subida del cuarto ciclo de reloj, IRDY# y TRDY# se encuentran activadas, por lo que tiene lugar en este momento la primera transferencia de datos.
53

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

1. En el flanco de subida del quinto ciclo de reloj, IRDY# y TRDY# siguen estando activadas, por lo que se completa la segunda transferencia de datos. 2. Durante el quinte ciclo de reloj, el maestro A mantiene IRDY# activa y desactiva FRAME#, indicando con ello el final del progreso de transferencia de datos. En el flanco de sbida del sexto ciclo de reloj, IRDY# y TRDY# siguen en estado activo para completar la tercera transferencia de datos. 3. Durante el sexto ciclo de reloj, el maestro A desactiva IRDY#, devolviendo el bus a un estado desocupado. 4. En el flanco de subida del sptimo ciclo de reloj, el maestro B muestrea FRAME# y IRDY#. Ambos se encuentran desactivos determinando el estado ocioso del bus. El maestro B tambin muestrea su lnea GNT#, la cual permanece todava activa, indicando que tiene el control del bus. En respuesta, el maestro B comienza la transaccin y desactiva su lnea REQ# durante el sptimo ciclo de reloj (puesto que slo requiere el bus para realizar una transaccin). 5. Durante el sptimo ciclo de reloj, el maestro B activa FRAME# y coloca la direccin del esclavo en el bus AD y la orden en el bus C/BE. 6. En el flanco de subida del octavo ciclo de reloj, el arbitrador muestrea la lnea REQ# de los maestros A y B. (REQ# A activa y REQ# B desactiva). En consecuencia, el arbitrador desactiva la lnea GNT# del maestro B y activa la del A, durante el octavo ciclo de reloj. 2.3. Bus PCI, AGP. Perifricos e Interfaces , 3 ITIS
54

2.

3. 4. 5.

El maestro A, ahora muestrea la lnea IRDY# y FRAME# en el flanco de subida de cada ciclo de reloj siguiente hasta encontrar el bus ocioso. En ese momento podr comenzar su siguiente transaccin. Durante el octavo ciclo de reloj, el maestro B desactiva la lnea FRAME#, indicando que su primera (y nica) fase de transferencia de datos est en progreso Comienza a escribir en el bus AD y configura el bus C/BE de forma apropiada. Activa la lnea IRDY# para que el esclavo sepa que tiene los datos en el bus AD. En el flanco de subida del noveno ciclo de reloj, IRDY# y TRDY# estn activas y la transferencia del dato tiene lugar. El iniciador, el maestro B, desactiva IRDY# para devolver al bus a un estado de desocupacin. El maestro A muestrea el bus para reconocer el estado ocioso del bus y detecta activa su seal GNT# en el flanco de subida del dcimo ciclo de reloj. Desactiva su REQ#, despus de activar la lnea FRAME#, indicando al arbitrador que no require el bus de nuevo tras completar de su transaccin.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

55

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

56

Espacio de configuracin del Interfaz PCI.


Todos los dispositivos deben implementar 256 bytes de espacio de configuracin para albergar informacin relativa a la identificacin del dispositivo, funcionalidades, espacio de direcciones, etc. Estructura del espacio de configuracin: Configuracin:
64 bytes de cabecera. 192 bytes dedicados al dispositivo.

Un PC al arrancar realiza ciclos de configuracin en todos los dispositivos conectados al bus PCI. Parte de la configuracin de cada dispositivo PCI permite a la BIOS del sistema habilitar el dispositivo PCI y asignarle un espacio de memoria de sistema (de esto se encarga el software de arranque).

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

57

31

16

15

Device ID Status Class Code BIST Header Type

Vendor ID Command Rev ID Latency Timer (slo maestros) Cache Line

BAR0

Max_Lat (slo maestros)

Min_Gt (slo maestros)

Interrupt Pin

Interrupt Lin

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

58

Los registros de direccin base (Base Address Register), BARs son los encargados de informar a la BIOS del nmero y tamao de los espacios de memoria o de E/S necesarios (para el dispositivo PCI) Proceso de informacin a la BIOS:

Ejemplos:
BAR

1. El contenido de cada BAR es ledo para determinar si se relaciona con un espacio de memoria o de E/S, y qu tamao precisa. Bit 0 de cada bar: 0 = memoria, 1 = espacio E/S. Los dems bits indican el espacio necesario (primer bit no nulo). 2. Posteriormente, el sistema decodifica esta informacin y escribe en cada BAR la direccin de memoria que le ha asignado el software de arranque.
Tamao y tipo Valor asignado en tiempo de configuracin Valor asignado por la BIOS

BAR0 BAR1 BAR2


2.3. Bus PCI, AGP.

8 bytes E/S 128 Bytes Memoria Inhabilitado

FFFF FFF9 FFFF FF80 0000 0000

000 FFF1 FFFB FF80


59

Perifricos e Interfaces , 3 ITIS

Registro de estado.
Describe la funcionalidad del dispositivos PCI (operaciones/comandos que puede realizar, velocidad de respuesta, capacidad de sealizar un error de paridad, ) El registro de estado puede ser programado mediante escritura en tiempo de configuracin o bien implementado por el propio dispositivo (hardwired).

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

60

Registro de clase.
23 16 15 8 7 0

Class Code

Sub-Class Code

Prog. I/F

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

61

Diseo de interrupciones PCI.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

62

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

63

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

64

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

65

Bus AGP.
Necesidad de un nuevo bus grfico para grficos:
1er objetivo: Aceleracin grfica 2D. 2 objetivo: Aceleracin grfica 3D. Solucin aportada por los fabricantes, haciendo uso del bus PCI: Tratamiento de grficos a una velocidad de 33 MHz procesando simultneamente 32 bits de informacin -> 133 MB/s. Problema de comparticin de otras aplicaciones de gran demanda de ancho de banda: tarjeta de red (100 MB/S), discos duros UltraDMA, etc. Problemtica de generacin de grficos 3D: 1. Lectura de mapas de textura de disco duro o CD-ROM e instalacin en la memoria principal. 2. Cuando debe aparecer en memoria, la textura se traslada a la CPU. sta realiza operaciones de transformacin para definir el tamao, posicin, iluminacin de la textura en la escena renderizada. Despus se devuelve a memoria principal. 3. El procesador de la tarjeta grfica lee la textura transformada y la lleva a la memoria grfica, mediante el bus PCI.
Perifricos e Interfaces , 3 ITIS
66

2.3. Bus PCI, AGP.

1. El procesador grfico realiza una serie de transformaciones dentro del buffer de cuadros (porcin de memoria pequea), para establecer la aplicacin de color, conversin digital/analgico,

Inconvenientes: 2 copias exactas de la textura (en la memoria principal y en la memoria grfica). Limitacin de calidad y resolucin debido al buffer de cuadros.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

67

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

68

Solucin: Acelerated Graphics Port:


Controversia bus-puerto. Rendimiento, especificacin AGP 1x, basada en la PCI 2.1: Bus de datos de 32 bits Reloj: 66 MHz Tasa de transferencia de 266 MB/s Versiones posteriores AGP 2x (533 MB/s), 4x (1066 MB/s) y 8x (2133 MB/s). Modos de tratamiento de la informacin grfica: 1. Memoria AGP. 2. Modo SBA y Pipeline. 3. Bus Mastering.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

69

1. Memoria AGP:

Adopcin del modo DIME (Ejecucin directa en Memoria) -> la memoria principal se trata como memoria grfica -> posibilidad de tratar grficos mas grandes que la capacidad de la memoria de la tarjeta de video. Ejemplo: PC con 32 MB de RAM y 4 MB de AGP, ejecutando un programa de 16 MB y representando imgenes como si su tarjeta dispusiera de 20 MB de tamao (32 + 4 16). Variacin: DIMEL. Utiliza memoria principal y de video (local) para procesar texturas. Las texturas ms usadas se sitan en la memoria local (ms rpido) y las dems en la memoria principal. Dispositivo GART (Tabla de remapeado de direcciones grficas), para solucionar conflictos de direcciones entre ambas memorias. Con ello se consigue que el chip grfico vea las direcciones de una forma nica, consiguindose la transparencia.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

70

GART:

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

71

1. Modo SBA:

Direccionamiento de lneas de seal adicionales. 8 bits adicionales para generar nuevos comandos, pudiendose realizar mltiples peticiones (hasta 35) mientras se transfieren datos a travs del bus AD[31..0]. Esto es conocido como Pipeline.

2. Bus Mastering:

Independencia de la CPU, siendo posible la simultaneidad de transferencias entre ambas entidades.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

72

Procesamiento de grficos 3D resultado:

Las texturas son accedidas directamente en memoria principal durante el renderizado, evitando el paso previo de transferirla a la memoria local, y permitiendo el tratamiento de imgenes de mayor tamao, dando mayor realialismo.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

73

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

74

Modelo de programacin como estacin de trabajo.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

75

Transferencias de datos 1x.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

76

Transferencias de datos 2x.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

77

Transferencias de datos 4x.

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

78

Seales PCI

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

79

Seales AGP

2.3. Bus PCI, AGP.

Perifricos e Interfaces , 3 ITIS

80

2.4. Plug and Play.


PnP, definicin:
Sistema de deteccin automtica de dispositivos (discos, tarjetas de sonido, NIC, modems, etc.) Configuracin a bajo nivel. Establecimiento de canales de comunicacin entre dispositivo fsico y su controlador. Asignacin los recursos de bus: Direcciones de I/O. Regiones de memoria. IRQs. Canales DMA (slo para ISA). Para controlar un dispositivo, la CPU (bajo el control del driver de este dispositivo), enva rdenes y datos a ste. Posteriormente lee el estado del perifrico. Para ello, la CPU deber conocer la direccin del dispositivo que pretende controlar. Direccin de acceso al dispositivo = canal de comunicaciones. Ejemplo: un puerto serie utiliza dos de los cuatro posibles recursos: una IRQ y una direccin de E/S. Ambos datos deben ser conocidos tanto por el perifrico como por su controlador. Para el caso de PnP esta asignacin debe ser realizada cada vez que el PC arranca.

PnP, qu debera hacer?

2.4. Plug and Play.

Perifricos e Interfaces , 3 ITIS

81

Espacios de direcciones del PC dedicados a E/S:

Acceso a un dispositivo: direccin -> rango de direcciones. Acceso a la CPU por parte de un dispositivo: interrupciones.

Puertos de E/S (IO ports o Base Address). E/S mapeada en memoria principal (IO memory). Configuracin. Todas comparten el mismo bus, pero se discriminan mediante la ausencia o presencia de voltaje en algunas lneas de control.

2.4. Plug and Play.

Perifricos e Interfaces , 3 ITIS

82

2.4. Plug and Play.

Perifricos e Interfaces , 3 ITIS

83

2.4. Plug and Play.

Perifricos e Interfaces , 3 ITIS

84

Puertos de E/S (IO ports).

Pasos para alojar una direccin de E/S (u otro tipo de recurso de bus, como IRQs en bus ISA):

Estas labores, a menudo, son desarrolladas por el driver (analoga con encontrar el nmero de la casa de alguien en una calle).

1. Establecer la direccin de E/S en la tarjeta (en uno de sus registros). 2. Permitir al controlador del dispositivo (driver) conocer cul es la direccin de E/S.

E/S mapeada en memoria principal (IO memory).

IRQ.

A muchos dispositivos se les asigna un espacio de direcciones de la memoria principal (memoria compartida o E/S mapeada en memoria). Esta memoria est fsicamente alojada en el dispositivo. En el bus ISA a cada dispositivo le es asignado una IRQ especfica. Para el bus PCI, est permitida la comparticin de IRQ, existiendo un dispositivo programable encaminador de interrupciones (APIC) encargado de asignar la IRQ correspondiente. Perifricos e Interfaces , 3 ITIS
85

2.4. Plug and Play.

DMA.

Proceso de transferencia de datos desde un perifrico hacia memoria, mediante la CPU: 1. Lectura de la CPU de unos datos de un dispositivo accesible a travs de un espacio de memoria de E/S. 2. Escritura de la CPU de esos datos en la memoria principal. Proceso de transferencia de datos desde un perifrico hacia memoria, mediante DMA: 1. Envo de datos directamente del perifrico hacia la memoria principal. No todos los dispositivos tienen est capacidad implementadas. Los canales DMA son slo usados por el bus ISA. El bus PCI no implementa este mecanismo, en cambio utiliza un mecanismo mejor: gestin del bus (bus mastering). Es parecido a DMA (discos duros denominados UltraDMA). Permite a los dispositivos convertirse en gestores del bus temporalmente. No utiliza canales DMA, puesto que la organizacin del bus PCI, permite conocer qu dispositivo tiene el control del bus y cul lo tendr. Por ello no hay ninguna asignacin de canales DMA para el bus PCI.
Cuando un dispositivo en el bus ISA quiere utilizar el mecanismo DMA, realiza una peticin DMA usando una lnea dedicada a tal efecto (similar a una interrupcin). Al igual que las interrupciones, las peticiones DMA son numeradas. Cada nmero es un canal DMA.

2.4. Plug and Play.

Perifricos e Interfaces , 3 ITIS

86

El problema.

Solucin PnP.

Nmero limitado de IRQs, canales DMA, puertos de E/S y regiones de memoria de E/S) -> Necesidad de flexibilidad de conexin de perifricos a buses. Algunas IRQs y direcciones estn muy estandarizadas (ej.: teclado, reloj) -> No hay necesidad de flexibilidad. No automatizacin de las tareas de configuracin de dispositivos perifricos. 1. El programa de configuracin PnP encuentra todos los dispositivos que soportan PnP y pregunta a cada uno qu recursos de bus necesita. 2. Decide qu recursos puede adjudicar (hace un listado de los recursos adjudicados a dispositivos no-PnP). 3. Establece un criterio (no determinado en la especificacin PnP) mediante el cual adjudicar los recursos de bus.
Perifricos e Interfaces , 3 ITIS
87

2.4. Plug and Play.

1. Comunica a cada dispositivo qu recursos le ha sido asignado. 2. El software de control de cada dispositivo busca, de alguna manera, los recursos asignados al dispositivo que controla. Ejemplo:

Diferentes particularidades para PCI e ISA. Un criterio comn de adjudicar recursos consiste en:

Una tarjeta necesita los siguientes recursos: Una interrupcin IRQ. 1 MB de memoria compartida. El programa de configuracin PnP lee la peticin de la tarjeta. Asigna la IRQ 5 y 1 MB del espacio de direcciones de memoria, comenzando por la 0xe9000000. Informa al controlador del dispositivo la asignacin de recursos realizada. Las peticiones pueden tener restricciones (ej.: se peticiona una IRQ determinada).

Se comienza atendiendo la peticin de un dispositivo. Se continua con el siguiente, hasta que todos los dispositivos estn servidos. Perifricos e Interfaces , 3 ITIS
88

2.4. Plug and Play.

Atajos de PnP:

Si en el proceso de adjudicacin hay un conflicto por escasez de recursos, se vuelve hacia atrs, reasignando recursos (Rebalanceo, rebalancing). Linux no realiza esta tcnica mientras que MS Windows s, en algunas casos. Guardar la forma en la que se realiz la ltima asignacin de recursos. Las versiones Windows9x (y posteriores) y las BIOS PnP realizan esta labor. Linux en cambio no. Windows9x (y posteriores) guarda esta informacin en su registro en el disco duro y una BIOS PnP almacena esta informacin en una memoria no-volatil del PC (conocida como ESCD, Extended System Configuration Data) Cuando el PC se arranca por primera vez, el chip BIOS ejecuta su programa. Lo primero que realiza es una comprobacin del hardware existente. Si existe S.O. en el disco la BIOS deber reconocer el disco y su driver. Si el disco es PnP entonces la BIOS utilizar un mtodo PnP para encontrarlo. Por otro lado, para permitir al usuario la configuracin manual de la BIOS CMOS y responder a los mensajes de error cuando arranca el PC, deben estar habilitadas la pantalla y el teclado. De esta forma, la BIOS debe siempre utilizar una configuracin PnP de dispositivos para cargar el S.O. desde el disco. Perifricos e Interfaces , 3 ITIS
89

Iniciando el PC:

2.4. Plug and Play.

Una vez que la BIOS ha identificado el disco, la tarjeta de video y el teclado, est preparado para arrancar (cargar el S.O. dentro de la memoria desde disco duro). duro) Si se le especifica a la BIOS que el S.O. es PnP (PnP SO), la BIOS arrancar el PC y permitir al S.O. finalizar la configuracin PnP. En caso contrario, la BIOS-PnP intentar realizar la configuracin PnP de todos los dispositivos.

Aplicaciones
Utility de configuracin ISA

ICU

Base de datos de configuracin del fabricante

Administrador de cofiguracin

CM

BIOS PnP
2.4. Plug and Play.

(Datos de configuracin
del sistema ampliado)

ESCD

Perifricos e Interfaces , 3 ITIS

90

UPnP:

Network PnP, desarrollado por Microsoft, disponible para Linux. Destinado a instalacin de routers, pasarelas, impresoras en red, etc. UPnP utiliza: Protocolo SSDP (Simple Service Discovery Protocol) para encontrar los dispositivos. Arquitectura GENA (General event Notification Architecture). Protocolo SOAP (Simple Object Access Protocol) para controlar los dispositivos. http://www.cs.umbc.edu/~dchakr1/papers/mcommerce.html

2.4. Plug and Play.

Perifricos e Interfaces , 3 ITIS

91

2.5. Ejemplos de aplicacin.


PCI:
ASICs PCI: Circuitos integrados que admiten cierta programacin. Se pueden utilizar libreras de macroceldas. Dispositivos programables FPGA: sistemas de desarrollo de interfaces PCI en los que ciertos detalles de implementacin estn ya previamente definidos. Existen herramientas para la sntesis y verificacin del diseo. Modelados de alto Nivel, LogiCores: se trata de descripciones de alto nivel (VHDL o C) configurables de componentes sintetizables para implementar el interfaz en un ASIC o en un dispositivo lgico programable.
Ejemplos: Altera, Ciprs, QuickLogic, Xilinx. Ejemplo: sistema de desarrollo S5920DK1 AMCC.

2.5. Ejemplos de aplicacin.

Perifricos e Interfaces , 3 ITIS

92

Ejemplo de implementacin PCI mediante chipset VL82C59x con tecnologa VLSI.

2.5. Ejemplos de aplicacin.

Perifricos e Interfaces , 3 ITIS

93

El chipset VL82C59x provee el diseo lgico necesario para la implementacin de buses PCI e ISA basados en microprocesadores Pentium. Caractersticas de diseo:

Miembros del Chipset:

Puentes de host a buses PCI. Puentes de PCI a ISA. Cach L2 integrada. Controlador del sistema de memoria DRAM integrado. Arbitrador del bus PCI integrado. Provisin de buffers de memoria en ambos puentes. Soporte de pipelining para Pentium. Soporte de relojes de procesador y de bus PCI sncronos o asncronos. VL82C591: Controlador del sistema Pentium. VL82C592: Buffer de datos del procesador Pentium. VL82C593: Puente PCI/ISA.
94

2.5. Ejemplos de aplicacin.

Perifricos e Interfaces , 3 ITIS

Registros de configuracin del 591.

2.5. Ejemplos de aplicacin.

Perifricos e Interfaces , 3 ITIS

95

Registros de configuracin del 593.

2.5. Ejemplos de aplicacin.

Perifricos e Interfaces , 3 ITIS

96

Ejemplo de uso del bus PCI en un PC

(comando scanpci en SO Linux):

pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x1106 device 0x0305 VIA Technologies, Inc. VT8363/8365 [KT133/KM133] pci bus 0x0000 cardnum 0x01 function 0x00: vendor 0x1106 device 0x8305 VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] pci bus 0x0000 cardnum 0x07 function 0x00: vendor 0x1106 device 0x0686 VIA Technologies, Inc. VT82C686 [Apollo Super South] pci bus 0x0000 cardnum 0x07 function 0x01: vendor 0x1106 device 0x0571 VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE pci bus 0x0000 cardnum 0x07 function 0x02: vendor 0x1106 device 0x3038 VIA Technologies, Inc. USB pci bus 0x0000 cardnum 0x07 function 0x03: vendor 0x1106 device 0x3038 VIA Technologies, Inc. USB pci bus 0x0000 cardnum 0x07 function 0x04: vendor 0x1106 device 0x3057 VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] pci bus 0x0000 cardnum 0x07 function 0x05: vendor 0x1106 device 0x3058 VIA Technologies, Inc. VT82C686 AC97 Audio Controller pci bus 0x0000 cardnum 0x0a function 0x00: vendor 0x10ec device 0x8139 Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x10de device 0x002d nVidia Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] 97

2.5. Ejemplos de aplicacin.

Perifricos e Interfaces , 3 ITIS

También podría gustarte