buses pci

18
BUSES PCI 9/11/2014 UNIVERSIDAD DE CARTAGENA ARQUITECTURA DE COMPUTADORES BUSES PCI ING. ALEX JIMENEZ PRESENTADO POR: ALBERTO LUNA RIVERA FABIAN ESCUDERO PAREJA INGENIERIA DE SISTEMAS VI

Upload: alberto-luna

Post on 31-Jan-2016

3 views

Category:

Documents


0 download

DESCRIPTION

BUSES PCI

TRANSCRIPT

Page 1: Buses pci

BUSES PCI

9/11/2014 UNIVERSIDAD DE CARTAGENA

ARQUITECTURA DE

COMPUTADORES

BUSES PCI

ING. ALEX JIMENEZ

PRESENTADO POR:

ALBERTO LUNA RIVERA

FABIAN ESCUDERO

PAREJA

INGENIERIA DE

SISTEMAS VI

Page 2: Buses pci

TABLA DE CONTENIDO

1. Introducción

2. Metodología

3. El bus PCI

4. Estructura

5. Versiones y actualización

6. Reloj

7. Tipo de bus

8. Ancho de Banda

9. Arbitraje

10. Temporización

11. Transferencia de datos

Page 3: Buses pci

Introducción

¿Qué es un bus de interconexión?

Un bus es un camino de comunicación compartido entre dos o más dispositivos.

Cualquier señal transmitida estará disponible para todos los demás dispositivos:

Sólo un dispositivo puede transmitir en un momento dado

Si dos dispositivos transmiten al mismo tiempo, sus señales se

solaparán y, probablemente, se distorsionarán

Los dispositivos deben obtener el control del bus antes de poder

utilizarlo para transferir información

¿De qué están formados los buses de interconexión?

Un bus suele estar formado por varias líneas de comunicación:

Cada línea tiene un significado o función particular

Físicamente, las líneas de comunicación no son sino un conjunto de

conductores eléctricos

Cada línea transmite señales digitales binarias (0,1):

Se puede transmitir una secuencia de dígitos binarios a través de una

única línea durante un intervalo de tiempo

Se pueden utilizar varias líneas del bus para transmitir dígitos binarios

simultáneamente en paralelo.

Page 4: Buses pci

Metodología

Para la realización de este trabajo se tuvo en cuenta los conceptos sobre los

diferentes tipos de buses de interconexión y nos centramos en el estudio de buses

PCI, para ello se hizo una investigación profunda sobre el tema ayudándonos con

las herramientas puestas a disposición por parte del profesor, además se buscó

ayuda externa consultando a personas relacionadas con el tema para poder

despejar dudas y así tener una mejor comprensión acerca de los buses PCI.

Page 5: Buses pci

BUSES PCI

El bus PCI (Peripheral Component Interconnect), es un bus muy popular de

ancho de banda elevada e independiente del procesador, está diseñado 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 están multiplexadas en el tiempo

El esquema de arbitraje empleado es centralizado

Utiliza temporización síncrona

El diseño del bus PCI se ha realizado específicamente para ajustarse a los

requisitos de E/S de los sistemas actuales.

Podemos distinguir tres ventajas del bus PCI

Es económico: se implementa con muy pocos circuitos

Es flexible: permite que otros buses se conecten a él

Es rápido: comparado con otras especificaciones comunes de bus,

proporciona un mejor rendimiento para los subsistemas de E/S de alta

velocidad.

Consiste en un bus de ordenador estándar para conectar dispositivos periféricos

directamente a su placa base.

“El principal motivo de su gran desarrollo no se debió a las altas prestaciones,

sino lo económico de su implementación.”

Page 6: Buses pci

Estructura

El estándar actual permite configurar el bus PCI como un bus de 32 ó 64 bits

Hay 49 líneas de señal obligatorias que se dividen en los siguientes grupos

funcionales:

Terminales de sistema: reloj y reinicio

Terminales de direcciones y datos

32 líneas para direcciones y datos multiplexadas en el tiempo

Líneas adicionales para interpretar y validar las direcciones y datos

Terminales de control de interfaz: controlan la temporización de las

transferencias y permiten la coordinación entre emisor y receptor

Terminales de arbitraje: no son líneas compartidas – cada maestro tiene

su propio par de líneas que lo conectan con el árbitro del bus

Terminales para señales de error: utilizadas para indicar errores

(paridad…)

Page 7: Buses pci

La especificación también define 51 señales opcionales que se dividen en los

siguientes grupos funcionales:

Terminales de interrupción: no son líneas compartidas – cada dispositivo

tiene sus propias líneas 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 ampliación a bus de 64 bits

32 líneas para direcciones y datos multiplexadas en el tiempo que se

pueden combinar con las obligatorias para tener un total de 64

Líneas 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 estándar IEEE para procedimientos de test

Page 8: Buses pci
Page 9: Buses pci

Versiones y actualización

La versión original del bus PCI es de 32 bits de ancho y su velocidad de reloj es de

33 MHz, lo que en teoría permite un rendimiento de 132 Mb/s a 32 bits. En las

arquitecturas de 64 bits, el bus funciona a 64 bits y su rendimiento teórico es de 264

Mb/s.

Con el fin de actualizar el estándar PCI, se formó un grupo de interés compuesto

por un gran número de fabricantes, apodado PCI-SIG (Grupo de interés especial de

PCI). Se publicaron actualizaciones del bus. La versión 2.0 del 30 de abril de 1993

definió la forma de los conectores y las tarjetas adicionales, y le confirió una

velocidad de reloj de 66 MHz, en contraste con los 33 MHz de la versión 1.0. De

esta manera se logró duplicar el rendimiento teórico hasta alcanzar los 266 MHz a

32 bits.

El 1 de junio de 1995, la revisión 2.1 del bus PCI mejoró su uso hasta 66 MHz. En

ese momento, los ingenieros anticiparon un movimiento progresivo desde un voltaje

señalizado de 5 V hasta 3,3 V.

La versión 2.2 del bus PCI, que apareció el 18 de diciembre de 1998, incorporó la

capacidad de conectar los periféricos directamente (conexión en caliente).

La revisión 2.3, editada el 29 de marzo de 2002, eliminó la posibilidad de utilizar

tarjetas de 5 V adicionales, pero incorporó el uso de tarjetas que admiten ambos

voltajes con el fin de garantizar la compatibilidad descendente. La revisión 3.0 del

estándar PCI eliminó por completo el uso de tarjetas de 5 V compatibles.

En septiembre de 1999, tuvo lugar un cambio importante en el bus PCI, cambio que

fue conocido como PCI-X. El bus PCI-X 1.0 admite frecuencias de 66, 100 y 133

MHz. Dicho bus es completamente compatible con el formato PCI, y las ranuras

PCI-X admiten tarjetas de formato PCI y viceversa.

La revisión 2.0 del bus PCI-X admite frecuencias de 66, 100, 133, 266 y 533 MHz,

y permite un rendimiento de 4,27 Gb/s a 64 bits.

Page 10: Buses pci

ANCHO DE BANDA y DE BUS (bits)

El ancho de bus PCI puede ser de 32 bits o 64 bits. Con el bus de 32 bits, se alcanza

una tasa de transferencia (ancho de banda) máxima de 133 MB por segundo (33,33

MHz × 32 bits ÷ 8 bits/byte = 133 MB/s), mientras que con el bus de 64 bits se

alcanza una tasa de transferencia (ancho de banda) máxima de 266 MB por

segundo (MB/s).

Las nuevas versiones PCI-X también trabajan con un ancho de bus de 32 o 64 bits,

pero disponen de un ancho de banda más grande que las versiones iniciales (PCI

1.0, 2.0 y 3.0), teniendo una tasa de transferencia máxima de hasta de 4GB/s a 64

bits……

Aquí las versiones y su ancho de banda.

Page 11: Buses pci

Reloj (frecuencia)

Los buses PCI manejan distintos tipos de frecuencia de reloj.

Las versiones iniciales y las comúnmente usadas por los usuarios finales manejan

velocidades de 33 MHz, para los buses con ancho de bits de 32 y de 66 MHz para

los buses con ancho de bits de 64.

Estas velocidades de reloj fueron ampliadas con la llegada de la versión PCI-X,

aumentando la velocidad desde 100 MHz hasta los 133 MHz en la versión PCI-X

1.0. En la versión PCI-X 2.0, se amplían aún más las velocidades de reloj, llegado

estas hasta los 533 MHz.

Tipo de bus

Las líneas de bus se pueden dividir en dos tipos genéricos:

Dedicadas: están permanentemente asignadas a una función o a un conjunto de

componentes del computador

Un ejemplo típico de dedicación funcional es el uso de líneas separadas para

direcciones y datos

La dedicación física requiere el uso de múltiples buses, cada uno de los cuales

conecta solo a un conjunto de controladores.

Ventaja: alto rendimiento por el menor número de conflictos

Desventaja: incremento del costo y el tamaño del sistema

Multiplexadas: pueden utilizarse para propósitos diferentes direcciones y datos

podrían transmitirse por la misma línea si se utilizara una señal de control “Dirección

Válida”

Se pone la dirección en el bus y se activa la línea de control, dando un tiempo para

que los distintos controladores lean el bus y comprueben si están siendo

direccionados

Después de un periodo de tiempo se quita la dirección del bus y se utilizan las mimas

líneas para realizar la transferencia

El multiplexado en el tiempo de las líneas permite utilizar las mismas líneas para

usos diferentes

Ventaja: normalmente ahorra espacio y costes

Desventajas:

Page 12: Buses pci

Los controladores necesitarán una circuitería más compleja

La falta de paralelismo puede reducir el rendimiento

Arbitraje

El bus PCI utiliza un esquema de arbitraje centralizado síncrono en el que

cada maestro tiene una única señal de petición (REQ) y cesión (GNT) del

bus

Estas líneas se conectan a un árbitro central, lo que permite que los

dispositivos accedan al bus tras un simple intercambio de señales de petición

y cesión

La especificación 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 dirección sigue una o más fases de datos consecutivas

Como ejemplo veremos el intercambio de señales necesario para decidir cuál de

entre dos dispositivos, A y B, obtiene el control del bus.

Page 13: Buses pci

a. Al comienzo del primer ciclo de reloj el árbitro detecta que A ha activado su

señal REQ

b. Durante el primer ciclo de reloj, B activa también su señal 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 están desactivadas, por lo que el bus está libre

En consecuencia activa FRAME, pone la dirección en el bus AD y la

orden correspondiente en las líneas C/BE

Además, mantiene activa su señal REQ porque debe realizar otra

transferencia después de ésta.

e. Al comienzo del tercer ciclo de reloj el árbitro vuelve a comprobar las líneas

REQ y decide ceder el bus a B para la siguiente transacción

El árbitro desactiva GNT-A y activa GNT-B

Page 14: Buses pci

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

h. Más adelante, el dispositivo A (que mantenía REQ activa) recuperará el

control del bus y continuará la transmisión pendiente

i. 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)

Page 15: Buses pci

TEMPORIZACIÓN

SÍNCRONA ASÍNCRONA

Está determinado por un reloj.

El bus incluye una línea de reloj a

través de la cual una señal de rejo

secuencia y valida todas las

transferencias (con misma duración

de tiempo). Las señales de duración

transfieren de 1 o 0. Cuando ocurre

un único intervalo de 1 seguido a

otro de 0, se lo llama ciclo de reloj.

Éste intervalo llama al tiempo de

unidad<<Time slot>>.

Los eventos se prolongan durante

un único ciclo reloj.

EJEMPLO:

La CPU activa una señal de lectura

y sitúa una dirección de memoria en

las líneas de dirección. Al mismo

tiempo se activa una señal de inicio,

que indica la presencia en el bus de

dirección y de la información de

control.

El módulo de memoria reconoce la

dirección y luego de un retardo de

ciclo, sitúa el dato y la señal de

reconocimiento en el bus...

No existe reloj.

Se habla de un interbloqueo (se confirman

las transferencias que se están llevando a

cabo), donde se dispone de señales que

validan interactivamente el envío y recogida

de información.

El bus puede ser compartido por una mezcla

de dispositivos lentos y rápidos.

EJEMPLO:

El procesador sitúa las señales de dirección

y lectura en el bus. Después de un breve

intervalo, cuando las señales han sido

estabilizadas, se activa la señal MSYN

(Sincronización del maestro), que indica la

presencia de las señales de dirección y

control válidas.

Luego de ello, el módulo de memoria

responde proporcionando el dato y una

señal SSYN(Sincronización del esclavo)

Page 16: Buses pci

Transferencia de datos

Toda transferencia de datos en un bus PCI es una transacción única que

consta de una fase de direccionamiento y una o más fases de datos

Como ejemplo veremos la temporización de una operación de lectura típica

(la de escritura es análoga)

Los dispositivos conectados al bus interpretan las líneas en los flancos

de subida de la señal de reloj (comienzo del ciclo)

Todos los eventos se sincronizan en los flancos de bajada de la señal

de reloj (punto medio del ciclo)

a. Una vez que el maestro del bus tiene el control del mismo inicia la

transacción

Sitúa la dirección de inicio en las líneas AD y la

orden de lectura en las líneas C/BE

Activa la señal 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 dirección en las líneas AD

Page 17: Buses pci

c. El maestro deja libres las líneas AD

En todas las líneas que pueden ser activadas por más de un dispositivo

se necesita un ciclo de cambio para que la liberación se complete y el

bus pueda ser utilizado por el dispositivo

El maestro cambia las líneas C/BE para indicar cuáles de las líneas AD

se utilizarán para transferir el dato

El maestro activa IRDY indicando que está listo para recibir el primer dato

d. El dispositivo de lectura se prepara para responder

Activa DEVSEL para indicar que ha reconocido la dirección y va a

responder; la señal permanecerá activa mientras dure la transferencia

Sitúa el dato solicitado en las líneas AD

Activa TRDY para indicar que hay un dato válido en el bus

e. El maestro lee el dato al comienzo del cuarto ciclo de reloj y cambia las líneas

de habilitación de byte según se necesite para la próxima lectura

f. En este ejemplo, el dispositivo de lectura necesita algún tiempo para preparar

el segundo bloque de datos

Desactiva TRDY para indicar que no transmitirá el próximo ciclo

El maestro, en consecuencia, no lee las líneas de datos al comienzo

del quinto ciclo de reloj y no cambia la señal de habilitación de byte

El nuevo bloque de datos se leerá al comienzo del sexto ciclo

g. Durante el sexto ciclo de reloj, el dispositivo de lectura sitúa el tercer

bloque de datos en el bus, pero el maestro no está preparado para

leerlo

a. El maestro desactiva IRDY

b. 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,

a. Desactiva FRAME para indicarle al dispositivo de lectura que éste es

el último dato a transferir

b. Activa IRDY para indica que está listo para completar la transferencia

Page 18: Buses pci

i. El maestro desactiva IRDY y el dispositivo de lectura contesta desactivando

TRDY y DEVSEL: el bus vuelve a estar libre