You are on page 1of 18

Buses de un PC:

Buses Procesador−Memoria Sistema

Resumen:

Las distintas unidades funcionales de un computador necesitan comunicarse. Por ello, deben existir líneas, que
compondrán el bus, para interconectar estos módulos. Por esta razón es por la que decidimos elegir los buses
del ordenador como tema de estudio. Existen dispositivos mucho más conocidos que los buses del sistema,
pero incluso la tarjeta gráfica más potente del mercado necesitará comunicar los datos con el sistema, y no
sólo eso, porque además serán las características del bus las que marcarán el rendimiento de dicha tarjeta.

En este documento se realiza una descripción genérica de los buses de comunicación del computador.

Para comenzar, establecemos una definición detallada de los mismos y su utilización. Seguidamente
describimos las diferentes especificaciones que debe cumplir, su jerarquía (clasificación en sus diferentes
tipos), la estructura propia del bus, sus características más importantes y además sus políticas de arbitraje
correspondientes.

Finalmente, para comprender mejor el funcionamiento del bus, explicaremos y nos centraremos en el
funcionamiento de dos tipos de buses, como son el bus serie USB y el bus paralelo PCI que están
ampliamente extendidos en la actualidad.

INDICE nº página

1.− INTRODUCCIÓN 3

2.− GENERALIDADES 3

2.1− BUSES NORMALIZADOS 4

2.2− JERARQUÍA DE BUSES 4

2.3− ESTRUCTURA DEL BUS 7

2.4− CARACTERÍSTICAS DE LOS BUSES 8

2.5− ARBITRAJE 10

3.− BUSES PARALELO: EL CASO DEL PCI 12

4.− BUSES SERIE: EL CASO DEL USB 17

5.− CONCLUSIONES 20

6.− REFERENCIAS 2

7.−ÍNDICE DE FIGURAS 2

1. INTRODUCCIÓN

1
Las distintas unidades funcionales de un computador necesitan comunicarse. Deben existir, por lo tanto, líneas
para interconectar estos módulos.

El bus es el elemento fundamental de interconexión en la arquitectura de von Neumann y el encargado de


comunicar estos módulos. Es un canal de comunicación compartido que utiliza un conjunto de cables para
conectar múltiples subsistemas. Cada cable o línea transmite un único bit de información en un determinado
momento.

Los buses por tanto son el elemento permite transferir toda la información, desde las operaciones más
sencillas de la UCP, así como toda transferencia de datos entre los distintos dispositivos conectados al sistema
central. Memoria, tarjetas gráficas, teclados, etc. y en definitiva cualquier periférico o dispositivo del
ordenador se comunica a través de este elemento. Esta es la razón por la que decidimos elegir los buses del
ordenador como tema de estudio. Existen dispositivos mucho más conocidos que los buses del sistema, pero
incluso la tarjeta gráfica más potente del mercado necesitará comunicar los datos con el sistema, y no sólo eso,
porqué además serán las características del bus las que marcarán el rendimiento de dicha tarjeta.

Por todo ello realizaremos una explicación general de la estructura de los buses. Así como indicaremos las
especificaciones necesarias para que un bus este normalizado, y una clasificación jerárquica de los mismos.
También veremos una visión en conjunto de las características que definen un bus y que permiten distinguir
fácilmente unos de otros (la anchura del bus o número de bits o líneas de direcciones y datos, la temporización
o método de sincronización, etc.). El arbitraje o método de obtención de permiso para acceder al medio será
el último punto que trataremos en general de los buses.

Ante la imposibilidad de realizar una exposición pormenorizada de todos y cada uno de los bus existentes para
PC, trataremos de resumir y mostrar a modo de ejemplo, las particularidades de dos buses: el USB y el PCI.

2. GENERALIDADES

El bus es el elemento más corriente de comunicación en los computadores y consta de un camino que permite
comunicar selectivamente un número de componentes o dispositivos, de acuerdo a unas ciertas reglas o
normas de conexión. Desempeña por tanto las tareas de enlace y de conmutador, puesto que permite, en cada
momento, seleccionar los dispositivos que se comunican a través suyo.

En las transferencias de información que se realizan en los buses, hay como mínimo dos agentes involucrados:
el que origina la transferencia, que denominaremos maestro de la transferencia y el que responde a la misma,
que denominaremos esclavo de la transferencia. No todos los elementos conectados a un bus pueden actuar
como a estos de la transferencia; se denominan maestros potenciales aquellos elementos que sí tienen esta
capacidad.

La operación básica del bus se denomina ciclo de bus. Un ciclo permite realizar una transferencia elemental
de un dato entre dos dispositivos. En esta transferencia, la información se lleva de un elemento que se
denomina fuente a otro que se denomina destino. Los buses modernos permiten agrupar varias transferencias
en una sola operación, que denominaremos transacción, estas pueden tener los mismos o distintos destinos, o
incluso un mismo elemento puede actuar como fuente y como destino en distintas transferencias de una
misma transacción.

2.1. BUSES NORMALIZADOS

Un bus debe cumplir las siguientes especificaciones:

Nivel mecánico

2
En el nivel mecánico deben definirse aspectos tales como el tipo de soporte, el número de hilos del bus, el tipo
de conector, etc. Por ejemplo, en los buses para la conexión de placas impresas, hay que definir, entre otras
cosas, la altura de las placas, los conectores y las posiciones de éstos, para garantizar la compatibilidad de las
distintas placas.

Nivel eléctrico

El nivel eléctrico (u óptico, en el caso de emplear como soporte la fibra óptica), debe especificar el circuito
equivalente de los dispositivos que se conectan a las líneas del bus, tanto de los emisores como de los
receptores. También debe especificar las tensiones y corrientes utilizadas para establecer el valor de las
señales. En este nivel, debe quedar definida la forma en la que los distintos dispositivos deben conectarse
eléctricamente.

Nivel lógico

Este nivel define estáticamente todas las líneas del bus, estableciendo las equivalencias entre los valores
eléctricos de las señales y sus valores lógicos. Por ejemplo, se definirá que los hilos 0−7 su nivel alto (5V)
equivale a un 1 lógico y los hilos 8−15 su nivel activo es a nivel bajo (0V).

Nivel de temporización básica

En este nivel se establecen los cronogramas para la realización de la operación más elemental del bus, esto es,
de un ciclo.

Nivel de transferencia elemental

En este nivel se establece el procedimiento empleado para realizar una transferencia de un dato por el bus. En
el caso de un bus de ciclo completo, este nivel coincide con el anterior puesto que la temporización básica
establece todas las condiciones necesarias para transferir un dato. Sin embargo, en el caso de un bus de ciclo
partido, se especifican las ranuras que forman cada tipo de ciclo o transferencia.

Nivel de transferencia de bloque

En algunos buses, la operación básica esta formada por una serie de transferencias elementales, que tiene por
objetivo el transferir un bloque de información con entidad propia. En este nivel, deberá definirse el protocolo
de comunicación empleado para realizar esta transferencia de bloque.

Se definirán aspectos tales como cabeceras, codificación de los datos para detección de errores,
procedimientos de recuperación para el caso de error, identificación del receptor, etc.

[1] [3]

2.2. JERARQUÍA DE BUSES

¿Por qué es necesaria la jerarquía de buses?

Cuando queremos conectar un gran número de dispositivos nos encontramos con una serie de problemas
fundamentales:

• La diferencia de velocidad de los dispositivos afecta negativamente al rendimiento global, ya que


mientras los dispositivos lentos realizan una única transferencia, otro dispositivo más rápido podría
haber realizado muchas más.

3
• Los buses pueden actuar de cuello de botella si la demanda de la transferencia es mayor que la
capacidad del bus, los dispositivos deberán esperar mucho tiempo para poder transmitir.
• Existe un mayor retardo de propagación, dado que el bus ha de tener mayor longitud para poder
soporta implementar un mayor número de dispositivos

Ventajas de las jerarquías de buses:

• El bus local entre el procesador y la caché aísla el tráfico de E/S del procesador.

Se puede transferir información entre la memoria y la E/S sin interrumpir la actividad del procesador.

• El bus de expansión reduce el tráfico en el bus del sistema.

La transferencia entre caché y memoria principal se pueden realizar de forma más eficiente.

♦ Se pueden realizar una transferencia de memoria caché a memoria principal al mismo tiempo
que el interfaz recibe datos desde un dispositivo de E/S
♦ El procesador+caché o el coprocesador tienen la misma prioridad en el acceso al bus que
todos los dispositivos conectados al bus de expansión de forma conjunta.

• Se elimina el problema de la incompatibilidad.

♦ El bus local y del sistema suelen ser propietarios (no estándar) y están optimizados para cada
arquitectura particular.
♦ Los buses de expansión son buses estándares o abiertos (ISA, EISA, PCI, VME, etc.).

Esto permite tener características y especificaciones perfectamente definidas, con conectores estándar,
podemos utilizar los mismos controladores y periféricos en otro computador que disponga del mismo bus
estándar. [4]

Figura: 1 Jerarquía de los buses.

Buses de tipo 0

Los buses de tipo 0 son los buses internos de las pastillas. La utilización de buses internos de gran ancho de
palabra unido a la incorporación de memoria caché interna facilita que se puedan conseguir
microprocesadores de grandes prestaciones.

Buses de tipo 1

El bus de tipo 1 es el bus de interconexión de componentes de una placa o circuito impreso.

Buses de tipo 2

Estos buses sirven para interconectar las distintas placas de un modulo, formando lo que se llama el panel
posterior. La práctica totalidad de los computadores actuales se componen de un solo módulo, por lo que no
existe bus de nivel 3 y este bus se convierte en el bus del sistema.

Buses de tipo 3

El bus de tipo 3 o bus del sistema permite interconectar diversos módulos del computador. Hoy en día hay
muy pocos sistemas que contengan varios módulos. Por lo que generalmente coinciden los buses de nivel 2 y

4
3.

La gran diferencia entre los tipos 2 y 3 es la distancia que debe tener el bus, que puede llegar a los 10m en el
tipo 3. Ello obliga a tratar este bus como una línea de transmisión. Además, es muy frecuente que el bus de
tipo 3 exija unos repetidores o buffers, para pasar de un panel posterior a otro.

Buses de tipo 4

Los buses de tipo 4 lo forman los buses paralelos para conexión de periféricos. En realidad se pueden
considerar cuatro situaciones, que a veces se pueden dar simultáneamente en el mismo computador:

En la primera, los controladores de los periféricos se conectan directamente al bus del sistema (bus tipo 2 ó 3).

En la segunda se dispone de un bus especial para la E/S, como es un canal 370 de IBM, como es el Unibus en
el caso de la arquitectura VAX, o como son los buses PCI e EISA en un computador personal.

La tercera consiste en diseñar un bus reducido, derivado del bus del sistema, que permita la conexión en
paralelo de una serie de periféricos específicos.

La cuarta consiste en emplear un bus paralelo de conexión de periféricos, de acuerdo con una norma
preestablecida. La diferencia con el caso anterior es que ahora no se trata de una versión reducida del bus del
sistema, sino de una configuración que puede ser muy distinta. El ejemplo clásico es el puerto paralelo o
Centronics, previsto para la conexión de impresoras, el bus IEEE−488, previsto para la interconexión de
instrumentos de laboratorio a computadores o los buses QIC, SCSI e IPI, para conexión de discos.

Buses de tipo 5

Los buses serie suelen constituir el tipo más elemental del espectro de las comunicaciones de un sistema
informático. Se emplean para cubrir las mayores distancias.

El bus serie puede ser simple o doble. El simple puede permitir la transmisión en un solo sentido o en ambos
sentidos de forma alternativa (semi−duplex). El doble permite la transmisión en los dos sentidos
simultáneamente (full−duplex).

Un ejemplo de bus serie es el bus USB, que tratamos más adelante.

[1] [2]

2.3. ESTRUCTURA DEL BUS

Un bus está constituido por muchas líneas, por ejemplo el bus del sistema está constituido por entre 50 y 100
líneas. A cada línea se le asigna una función determinada. Las líneas del bus se pueden clasificar en tres
grupos funcionales: líneas de datos, de direcciones, y de control.

" Las líneas de datos del bus proporcionan el camino para transmitir datos entre los módulos del sistema. El
bus de datos consta de 8, 16, 32 líneas distintas, cuyo número se conoce como anchura del bus de datos. Este
número de líneas determina cuantos bits se pueden transmitir al mismo tiempo. La anchura del bus es un
factor clave a la hora de determinar las prestaciones del sistema.

" Las líneas de dirección se utilizan para direccionar la fuente o el destino de los datos situados en el bus de
datos. La anchura del bus de direcciones determina la cantidad máxima de memoria direccionable en el
sistema.

5
" Las líneas de control se emplean para gestionar el acceso y el uso de las líneas de datos y dirección,
señalizando peticiones y reconocimientos e indicando que tipo de información pasa por las líneas de datos.

Figura: 2 Estructura de Bus típica.

Algunas líneas de control típicas son:

• Escritura en memoria (Memory Write): hace que el dato del bus se escriba en la posición
direccionada.
• Lectura de memoria (Memory Read): hace que el dato de la posición direccionada se sitúe en el bus.
• Escritura de E/S (I/O Write): hace que el dato del bus se transfiera a través del puerto de E/S
direccionado.
• Lectura de E/S (I/O Read): hace que dato del puerto de E/S direccionado se sitúe en bus.
• Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado en bus.
• Petición de bus (Bus Request): Indica que un modulo necesita disponer del control del bus.
• Cesión de bus (Bus Grant): indica que se cede el control del bus a un módulo que lo había solicitado.
• Petición de interrupción (Interrupt Request): indica si hay una interrupción pendiente.
• Interrupción reconocida (Interrupt ACK): señala que la interrupción pendiente se ha aceptado.
• Reloj (Clock): se utiliza para sincronizar las operaciones.
• Inicio (Reset): pone los módulos conectados en su estado inicial

2.4 CARACTERÍSTICAS DE LOS BUSES

Paralelismo del bus

Un bus puede ser paralelo, multiplexado o serie.

Normalmente, el bus paralelo tiene un ancho de palabra que coincide con el ancho de la información a
transmitir.

El bus multiplexado se originó como consecuencia de tener que ahorrar conexiones (patas) debido a la
necesidad de una alta integración de los componentes del ordenador. Un ejemplo de este uso es comunicar las
direcciones de memoria entre el microprocesador y la memoria (en su forma física de chips). Consiste en
utilizar los mismos hilos para enviar, en momentos distintos, informaciones distintas, permitiendo con el uso
de señales adicionales, identificar la información o tipo de información que circula por el bus en cada
momento. Generalmente el resto del sistema exige que el bus no esté multiplexado. En estos casos en los
extremos del bus se encontrarán multiplexores para realizar la multiplexación / demultiplexación.

El bus serie esta formado únicamente por un par de hilos, por los que circula la información bit a bit. Durante
el envío es necesario dividir la palabra en bits así como realizar un agrupamiento de estos bits para formar una
palabra en la recepción.

Función

El bus puede ser de carácter general o específico.

Los buses específicos, dedicados cada uno a una función permiten un diseño sencillo, y que la capacidad de
transferencia total sea mayor.

Los buses de carácter general reducen el número de hilos que llegan a la UCP, por lo que es especialmente
útil para microprocesadores. El esquema formado por estos buses es comparativamente más sencillo, aunque
cada bus individualmente sean más complejos que los de carácter global.

6
Ciclo de Funcionamiento

Bus de ciclo completo

En un bus de estas características todas las fases a realizar se efectúan una detrás de otra, sin ningún espacio
entre ellas.

Normalmente se utiliza en sistemas sencillos, en especial con un único dispositivo que actúe como maestro.

Bus de ciclo partido o de paquetes

El tiempo de ciclo partido se divide en una serie de ranuras, cada una de las cuales permite enviar un mensaje.
Estas ranuras pueden tener duración fija y predefinida, y en caso de utilizarse una señal de reloj; es síncrona.
Este bus es más rápido que el anterior a costa de complicar los dispositivos que lo integran, por tanto se suele
emplear en sistemas multiprocesador.

Algunas consideraciones adicionales sobre el esquema de este último tipo:

• En caso de existir múltiples peticionarios se debe almacenar la identificación de éste.


• Debe disponer de mecanismos de control a la memoria, evitando accesos múltiples.
• Se diseñará de forma que se eviten colisiones, es decir que dos dispositivos puedan acceder a una
ranura simultáneamente.

[1] [2]

Transferencias síncronas y asíncronas

Transferencia en ciclo completo

Figura: 3 Transferencia en ciclo completa.

En este caso de forma resumida podemos decir que:

• Lectura síncrona. El maestro pone en el bus la dirección deseada, y supone que el esclavo, a su vez,
pone el dato en el bus en el tiempo T, momento en el que el maestro lo toma.
• Escritura síncrona. El maestro pone en el bus la dirección y el dato, y supone que el esclavo toma esta
información antes de cierto tiempo T.

7
• Lectura asíncrona. El maestro pone en el bus la dirección deseada, y se queda esperando hasta que el
esclavo conteste, confirmando que ha puesto el dato en el bus, o bien hasta que la espera sobrepase
determinado tiempo, en cuyo caso se genera una señal de error.

• Escritura asíncrona. El maestro pone en el bus la dirección y el dato, y se queda esperando que el
esclavo confirme que ha tomado esta información. Si la espera sobrepasa un cierto intervalo, el
maestro genera un error. [4]

Transferencia en ciclo partido

Muy similar a la operación de ciclo completo tan sólo está dividida en fase de inicio de la transferencia y fase
de fin de transferencia, ocupando cada una de ellas una ranura.

La transferencia la inicia un maestro, empleando una de las ranuras del bus, y la finaliza el esclavo,
empleando otra ranura, por lo que los esclavos deben tener la capacidad de solicitar y emplear ranuras del bus,
para poder finalizar adecuadamente las transferencias. Como ya hemos visto antes si existen varios maestros
potenciales, a la solicitud enviada por el bus deberá incluir la identificación del maestro, de forma que el
esclavo pueda contestar adecuadamente.

• Lectura síncrona. Esta lectura se compone de dos ranuras. En la primera, el maestro envía la orden de
lectura, así como la dirección deseada. Un cierto tiempo después, cuando dispone del dato pedido, el
esclavo solicita otra ranura, para enviar el dato. Después de x tiempo de espera sin contestación se
genera una señal de error.

• Escritura asíncrona. En una única ranura el maestro envía el dato y la dirección.

• Lectura asíncrona. La lectura asíncrona puede ser igual a la síncrona anterior, en algunos casos se
utiliza una ranura adicional para comprobar que la dirección es correcta o se ha generado un error.

• Escritura Asíncrona. Se utiliza una ranura para que el maestro envíe la dirección y el dato, y una
segunda ranura para que el esclavo confirme que ha realizado la operación de escritura.

Figura: 4 Transferencia en ciclo partido. [4]

2.5 ARBITRAJE

Protocolos de Arbitraje

Es la política de asignación del bus en el caso de que varios dispositivos compartan su uso. Es similar a los
protocolos de comunicaciones en redes de área local. La función de estos protocolos es garantizar el acceso al
bus sin conflictos cuando existen varios dispositivos que pueden actuar como master.

Existen dos tipos básicos:

Arbitraje centralizado

Cuando hay un master principal, denominado árbitro, que controla el acceso al bus.

Lo realiza un módulo central de arbitraje.

Figura: 5 Arbitraje Centralizado.

8
Ejemplo:

• Un maestro que desea usar el bus activa la señal común de petición de bus si observa que el bus no está
ocupado.
• El árbitro activa la señal de bus ocupado.
• El árbitro concede el bus al maestro 1.
• Si este no lo necesita se la pasa al siguiente, y así sucesivamente hasta que llega al que solicitó el Bus.
• Al terminarse se desactiva esta señal de petición de bus, lo que hace que el árbitro desactive la señal de
concesión y la de bus ocupado.

Ventajas:

Sencillez: Podemos añadir nuevos maestros añadiéndolos a la cadena donde queramos.

Desventajas:

La prioridad es fija (daisy−chain), no es un criterio justo.

La propagación de señales es lenta.

Si un maestro falla, los de menor prioridad a este no tendrían acceso al bus, a no ser que queden puenteadas
las señales correspondientes de petición de bus y concesión de bus (2 hilos) o sólo la de concesión (3 hilos).
[6]

Arbitraje distribuido

En este arbitraje no existe un maestro que actúe de árbitro en la gestión de la prioridad, por lo que son los
propios peticionarios quienes se ponen de acuerdo para decidir quién se queda con el servicio. Cada módulo
tiene un árbitro y un número de arbitraje único.

Cada línea de identificación tiene asignada una prioridad, de manera que si varios master activan sus líneas
simultáneamente, gana el de mayor prioridad.

Un master que quiera tomar el control del bus deberá activar su línea y comprobar el estado de las demás.

El problema de este protocolo es que tenemos limitado el número de posibles master por el número de líneas
de arbitraje que podamos utilizar.

Empleado en MultiBUS II y FutureBUS +. [5]

Figura: 6 Arbitraje distribuido.

3. BUS PARALELO PCI

Son las siglas de Peripheral Component Interconnect ("Interconexión de Componentes Periféricos"). Se


trata de un bus de ordenador estándar para conectar dispositivos periféricos directamente a su placa base. Es
común en PCs, donde ha desplazado al ISA como bus estándar, pero también se emplea en otro tipo de
ordenadores.

Es el bus PCI actualmente es utilizado como bus de altas prestaciones en arquitecturas para ordenadores de
sobremesa, o como bus de expansión de periféricos en arquitecturas para servidores. Es decir, permite varias
configuraciones y usos diferentes. El bus PCI es un bus especial para la E/S considerado del tipo 4. Dicho bus

9
suele ir montado en la placa base.

Estructura

El bus PCI es un bus multiplexado que utiliza los mismos hilos para direcciones y para datos. Consta de 49
líneas de señales obligatorias. En las cuales se dividen en señales de sistema (reloj y reset), en señales de
dirección y datos, donde hay 32 líneas multiplexadas y líneas para valida, señales de control de interfaz la
cuales coordinan el envío y la recepción, señales de arbitraje, y señales de errores. Dichas señales se muestran
en la siguiente tabla:

Figura: 7 Ejemplo de PCI

Nº de
Terminal Línea Habilita Descripción
líneas
Reloj de frecuencia 33 o 66
CLK 1 Externo
Mhz
Restablece el sistema y los
RST# 1 Externo
dispositivos
Datos y Líneas de dirección y datos
AD 32 Maestro/ Destino
direcciones multiplexados
Indica que líneas transportan
C/BE# 4 Maestro/ Destino
información
Bit de paridad de dirección de
PAR 1 Maestro/ Destino
datos
Transferencia (AD y C/BE
Sistema Control FRAME# 1 Maestro
preparadas)
Lectura: maestro acepta
IRDY# 1 Maestro datos/Escritura: destino
acepta datos
TRDY# 1 Destino
STOP# 1 Destino Lectura: datos en AD/Es
IDSEL 1 Maestro Detener transacción
DEYSEL# 1 Destino Dispositivo escuchando
Arbitraje REQ# 1 Externo Solicitud de bus
GNT# 1 Maestro Bits concedido
Se ha detectado un error de
Error PERR# 1 Maestro/ Destino
paridad en los datos
Error crítico o error de
SERR# 1 Todos
paridad en la dirección

Figura: 8 Señales de Control PCI.

Para el bus de 64 bit aparecen 51 señales opcionales:

Nº de
Terminal Línea Habilita Descripción
líneas
Solicitud de
Interrupciones INTx# 4 Externo
interrupción

10
SBO# 1 Maestro/Destino Acceso a caché remoto
Indica que el bus ha
SDONE 1 Maestro/Destino terminado de sondear
la caché
Ampliación de las
Extensión AD 32 Maestro/Destino líneas de datos y
direcciones
Ampliación de la
C/BE 4 Maestro/Destino
selección de líneas
Soporte de Petición de extensión
RFQ64 1 Maestro
caché a 64 bits
Aceptación de
ACK64 1 Destino
extensión a 64 bits
Paridad de los 32 bits
PAR64 1 Externo
extras
Reloj de test:
Test TCK 1 Externo sincronización de
entrada y salida
TDI 1 Externo Entrada de test
TDO 1 Maestro Salida de test
Selector de modo de
TMS 1 Externo
test
TRST# 1 Externo Inicio de test
Bloqueo del bus para
LOCK 1 Maestro realizar varias
Control
transacciones
M66EN 1

Figura: 9 Señales para PCI 64 bits.

Características

Dicho bus fue desarrollado por Intel en 1990 para superar las limitaciones del bus ISA estándar en la
arquitectura de los computadores personales o PC. La temporización con la que esta implementada el bus es
síncrona. Otra característica del PCI es la simplicidad de uso. El Plug and Play permite la configuración
automática de los periféricos, sin que el usuario necesite asignar "a mano" la IRQ, el DMA y los puertos de
entrada/salida. Además permite que varios periféricos compartan la misma interrupción, aliviando de esta
forma uno de los mayores problemas que tenía el PC. . La longitud máxima que puede alcanzar es de 0,50m.

PCI
Ancho de Banda
Nombre Ancho ( bits) Velocidad (Mhz)
(MB/seg)
PCI 32 33,33 133,33
PCI−x2 32 66,66 266,66
PCI 64−bit 64 33,33 266,66
PCI−x2 64−bit 64 66,66 533,33

Figura: 10 Velocidades de Transferercia de datos PCI.

11
Los ciclos del bus tienen siempre una fase inicial en la que un maestro adquiere acceso al bus. Seguidamente
especifica el tipo de transacción o ciclo, de entre las siguientes alternativas:

• Aceptación de interrupción. El dispositivo que funciona como controlador de interrupciones lee el


identificador de interrupción del dispositivo que interrumpe.

• Ciclo especial, utilizado por el maestro para enviar un mensaje a uno a o varios esclavos.

• Lectura E/S. El maestro lee una o varias palabras del esclavo.

• Escritura E/S. El maestro escribe una o varias palabras del esclavo.

• Lectura de memoria. En sistemas con memoria caché se lee ½ línea de caché o menos.

• En sistemas sin caché se leen una o dos palabras.

• Lectura de línea de memoria. En sistemas con memoria caché se utilizara para leer de ½ línea de
caché a 3 líneas. En sistemas sin caché se leen 3 a 12 palabras.

• Lectura múltiple de memoria, En sistemas con memoria caché sirve para leer más de 3 líneas de
caché. En sistemas sin caché se leen mas de 12 palabras.

• Escritura en memoria. Se emplea para escribir en memoria.

• Lectura de configuración. Sirve para que el maestro lea la configuración de un esclavo.

• Escritura de configuración. Sirve para que el maestro establezca la configuración de un esclavo.

• Escritura en memoria con invalidaciones. Este ciclo se utiliza para volcar líneas de la caché a la
memoria principal.

• Ciclo de doble dirección. Mediante este ciclo un maestro indica que está usando direcciones de 64 bits

Arbitraje

El arbitraje es centralizado y síncrono donde cada maestro tiene una línea de Grant y otra de Reset. El
algoritmo de asignación puede ser FIFO o cíclico.

Figura: 11 Arbitro del bus PCI.

Un posible modo de funcionamiento sería el siguiente

• En algún momento anterior al ciclo de reloj 1, A activa sus señal REQ. El árbitro muestrea esta señal
al comienzo del ciclo 1.
• Durante el ciclo de reloj 1, B solicita el BUS.
• Al mismo tiempo, el árbitro activa GNT−A para ceder el bus a A.
• Al comienzo del ciclo 2, el maestro A muestrea su GNT−A, de lo cual deduce que es el siguiente a
usar el BUS. Como IRDY, TRDY y FRAME están desactivados, activa FRAME y coloca la
información de dirección en el bus de direcciones, y la orden correspondiente en las líneas C/BE.
Además mantiene activa REQ−A, para realizar otra transferencia después de la actual.
• eEl árbitro, al comienzo del ciclo 3 muestrea todas las GNT y decide ceder el BUS a B activando
GNT−B y desactivando GNT−A. Pero B no puede usar el BUS hasta que no esté libre.

12
• fA desactiva FRAME para indicar que su última transferencia está en marcha. Pone los datos en el
bus de datos y se lo indica mediante IRDY al destino. El dispositivo lee el dato al siguiente ciclo.
• Al comienzo del ciclo 5, B encuentra IRDY y FRAME desactivados, toma el control activando
FRAME y desactivando REQ−B

[4] [6]

Figura: 12 Cronograma de funcionamiento de PCI.

4. USB

Introducción

La falta de flexibilidad en la reconfiguración de todo computador, ha sido siempre el enemigo de todas las
personas que sin conocer mucho de computación y hardware, desearían mantener actualizado su Computador.
Sin embargo, no todas las arquitecturas son auto configurables.

En estos momentos existe una tecnología para facilitar, por ejemplo la reconfiguración de hardware,
expansibilidad e interconexión del equipo con otros periféricos, etc. Como ejemplo de bus de tipo 5 (serie)
hablaremos sobre él. Este es el USB.

Definición del bus serie universal

Las siglas USB corresponden a Universal Serial Bus, Bus Serie Universal, por lo que como su nombre indica,
se trata de un sistema de comunicación entre dispositivos electrónicos−informáticos que sólo transmite una
unidad de información a la vez.

USB
VELOCIDAD TRANSFERENCIA MAXIMA
VERSIÓN Nº DISPOSITIVOS
(Mbit/seg)
1.5 (velocidad baja)
USB 1.1 127
12 (velocidad media)
USB 2.0 480 (velocidad alta) 127

Todo el sistema USB es inteligente, esto significa que una vez que se ha insertado un nuevo dispositivo al
sistema, el bus automáticamente determina que recursos del host requiere, incluyendo controladores de
software (drivers), ancho de banda necesario (el ancho de banda se refiere a la capacidad del canal de
comunicaciones que requiere un dispositivo cualquiera para enviar sus datos. Mientras más información
manipule el dispositivo, más ancho de banda necesitará, y a la inversa). El mismo proceso se da al remover un
dispositivo del equipo, ya que el host automáticamente elimina todos los componentes asociados al mismo
con el fin de disponer de los recursos otorgados en su momento para futuros dispositivos.

Figura: 13 Velocidad de Transferencia USB.

El bus USB 1.1 puede trabajar en dos modos, a baja velocidad (1,5 Mbps, para dispositivos como teclados,
ratones, que no barajan grandes cantidades de información) y a alta velocidad (12 Mbps, para dispositivos
como unidades de CDROM, altavoces, módems RTC e ISDN, etcétera) USB 2.0 llega 480 Mbps para
dispositivos de alta velocidad conexiones de Internet de banda ancha más rápidas, cámaras para
videoconferencias de mayor resolución, impresoras y escáneres de la siguiente generación y unidades de
almacenamiento externo de alta velocidad..

13
Ahora, es conveniente resaltar que todos los dispositivos deben seguir reglas de comportamiento básicas,
estandarizadas. Por tanto, todos los dispositivos se configuran de la misma forma y por el mismo driver, y es
mucho más fácil gestionar los recursos que proveen; sin embargo, esto no significa que todos los dispositivos
son iguales, sino, que todos tienen un sistema de configuración idéntica.

Figura: 14 Diferentes tipos de conexiones USB.

Host USB

A diferencia de los dispositivos y los hubs, existe tan solo un host dentro del sistema USB, que como ya
dijimos es el computador mismo, particularmente una porción del mismo denominado Controlador USB del
Host. Este tiene la misión de hacer de interfaz entre el computador mismo y los diferentes dispositivos.
Existen algunas particularidades respecto a este controlador. Su implementación es una combinación de
hardware y software específico para éste, es decir Firmware. Puede proveer de uno o dos puntos de conexión
iniciales, denominados Hub raíz, a partir de los cuales y de forma ramificada irán conectándose los
periféricos.

Estructura del bus

El cable USB está compuesto por solo cuatro cables: Vbus, D+, D− y GND. La información y los datos se
mueven por los cables D+ y D−. Esto supone un gran ahorro, tanto de espacio como de material.

Características del bus

• Fácil expansión de periféricos en la PC, no debe hacer falta, más que conectar el periférico y
emplearlo.
• Bajo coste para aplicaciones que demandan velocidades por los 12 Mbps, particularmente
aplicaciones multimediales: micrófonos, parlantes, teléfonos, etc.
• No requiere IRQs, direcciones lógicas , o DMA ya que el controlador USB asigna direcciones únicas
a los dispositivos
• Soporte completo para transmisión en tiempo real de voz, audio, y video.
• Flexibilidad de protocolos para transmisiones mixtas isocrónicas y asincrónicas (las cuales serán
analizadas mas adelante, ya que es el eje de transmisión de USB).
• La corriente máxima que el bus puede proporcionar es de 500 mA a 5 voltios de tensión.
• Cómoda integración de dispositivos de tecnología y fabricantes diferentes.
• Soporte para plataformas diversas de la línea de las PCs compatibles (algunos problemas para
MACINTOSH)
• Posibilitar la producción de nuevos dispositivos capaces de aprovechar sus ventajas.
• Los detalles de consumo y administración eléctrica del dispositivo deben ser completamente
transparentes para el usuario.
• Los dispositivos pueden ser desconectados mientras el computador está en uso.
• Deben poder compartir un mismo bus tanto dispositivos que requieren de unos pocos Kbps como los
que requieren varios Mbps.
• Más de 127 dispositivos diferentes pueden estar conectados simultáneamente y operando con una
misma computadora sobre el cable. Aún así, existirán dispositivos específicos destinados a ampliar la
cantidad de conectores, estos se denominan hubs.
• El bus debe permitir periféricos multifunción, es decir aquellos que pueden realizar varias tareas a la
vez, como lo son algunas impresoras que adicionalmente son fotocopiadoras y máquinas de fax.
• Capacidad para manejo y recuperación de errores producidos por un dispositivo cualquiera.
• Bajo coste.

14
• No se necesita un cable extra de alimentación − la mayoría de los periféricos USB obtienen la
alimentación del bus USB, con lo cual no requieren un cable de alimentación adicional.
• Más rápido − USB transfiere los datos 10 veces más rápido que los puertos serie tradicionales.
• Cuenta con una especificación abierta, esto significa que cualquiera puede diseñar productos USB sin
tener que pagar ninguna licencia.

Transmisión del bus serie universal:

Transmisión Asincrónica

En este modelo cabe entender que ambos equipos poseen relojes funcionando a la misma frecuencia, por lo
cual, cuando uno de ellos desea transmitir, prepara un grupo de bits encabezados por un BIT conocido como
de arranque, un conjunto de 7 u 8 bits de datos, un BIT de paridad (para control de errores), y uno o dos bits
de parada. El primero de los bits enviados anuncia al receptor la llegada de los siguientes, y la recepción de
los mismos es efectuada. El receptor conocer perfectamente cuántos bits le llegarán, y da por recibida la
información cuando verifica la llegada de los bits de parada. El esquema de los datos se muestra en la Figura
siguiente.

Figura: 15 Cronograma Transmisión Asincrónica del bus USB.

Se denomina transmisión asincrónica no porque no exista ningún tipo de sincronismo, sino porque el
sincronismo no se halla en la señal misma, mas bien son los equipos mismos los que poseen relojes o clocks
que posibilitan la sincronización.

Transmisión Sincrónica

En este tipo de transmisión, el sincronismo viaja en la misma señal, de esta forma la transmisión puede
alcanzar distancias mucho mayores como también un mejor aprovechamiento de canal.

15
Figura: 16 Cronograma Transmisión Sincrónica del bus USB.

Las transmisiones sincrónicas ocupan en la actualidad gran parte del mundo de las comunicaciones seriales,
especialmente las que emplean el canal telefónico.

Transmisión Isocrónica:

La transmisión isocrónica ha sido desarrollada especialmente para satisfacer las demandas de la transmisión
multimedial por redes, esto es integrar dentro de una misma transmisión, información de voz, video, texto e
imágenes. La transferencia isocrónica provee comunicación continua y periódica entre el host y el dispositivo,
con el fin de mover información relevante a un cierto momento.

Transmisión Bulk:

La transmisión Bulk, es una comunicación no periódica, explosiva típicamente empleada por transferencias
que requieren usar todo el ancho de banda disponible o en su defecto son demoradas hasta que el ancho de
banda completo esté disponible. Esto implica particularmente movimientos de imágenes o video, donde se
requiere de gran potencial de transferencia en poco tiempo.

Transmisiones de control:

Es un tipo de comunicación exclusivamente entre el host y el dispositivo que permite configurar este último,
sus paquetes de datos son de 8, 16, 32 o 64 bytes, dependiendo de la velocidad del dispositivo que se pretende
controlar.

Transmisión de Interrupción:

Este tipo de comunicación está disponible para aquellos dispositivos que demandan mover muy poca
información y poco frecuentemente. Tiene la particularidad de ser unidireccional, es decir del dispositivo al
host, notificando de algún evento o solicitando alguna información.

Arbitraje

Tras su encendido, el dispositivo anfitrión −el PC− se comunica con todos los dispositivos conectados al bus
USB, asignando una dirección única a cada uno de ellos (este proceso recibe el nombre de enumeración).

16
Además, el PC consulta qué modo de transferencia (enunciados anteriormente) desea emplear cada
dispositivo.

Para la temporización, el bus USB divide el ancho de banda en porciones, controladas por el PC. Cada
porción mueve 1.500 bytes, y se inicia cada milisegundo. Ante todo, el PC asigna ancho de banda a los
dispositivos que emplean transferencias isócronas y por interrupciones, garantizando el ancho de banda
necesario. Las transferencias por bloques emplean el espacio restante, quedando en última prioridad. [10]

5. CONCLUSIONES

La progresión que podemos apreciar es que actualmente los buses están en un proceso de transición de
paralelo a serie. Esto es debido a:

• Es más económico, al utilizar un número menor de líneas.


• Al no disponer de distintas líneas muy próximos se evita el ruido cruzado. Es decir una posible
modificación del envío de los datos debido a que la señal de una línea puede interferir sobre las líneas
más próximas.
• Elimina el Skewing; los datos de algunas de las líneas pueden llegar retrasadas respecto a las otras,
debido a la geometría de las líneas, electricidad, ruido, etc.
• Al aumentar el número de líneas para el envío de información se aumenta la intensidad, la potencia, y
el calor desprendido será mayor.

Además de todas estas ventajas la última generación de buses responde a las necesidades de un gran número
de usuarios que requieren velocidad, versatilidad, facilidad de uso, etc.

Por ejemplo el bus USB cuenta con las ventajas de ser serie, Plug and Play, Hot Plugging, una gran
escalabilidad, etc.

En conclusión el USB permite disminuir los costes de los dispositivos periféricos, al no requerir tarjetas
adicionales ni transformadores de energía; simplificar su instalación al no tener que configurar cada
dispositivo y utilizar un mismo conector para todos y acceder a mejores prestaciones dada la mayor velocidad
del bus comparada con las puertas serial y paralela.USB sigue una especificación muy reservada, orientada a
la comodidad de los usuarios y a la facilidad de manejo por personas sin formación técnica, así como la
flexibilidad para ser adaptable a muchos usos. Con la aparición de este nuevo estándar de comunicación de
periféricos, las computadoras tienen acceso a la instalación de periféricos de una forma segura y rápida.

Debido a todas estas ventajas de los buses serie sobre los paralelo, la tendencia será desarrollar nuevos
estándares serie.. Así por ejemplo PCI− Express, que es un nuevo desarrollo del bus PCI basándose en un
sistema de comunicación serie mucho más rápid, está sustituyendo al actual PCI (paralelo). PCI−Express en
2006 es percibido como un estándar de las placas base para PCs, especialmente en tarjetas gráficas.

6. Referencias

[1] Fundamentos de los computadores, Pedro De Miguel Anasagasti. Mc Graw Hill

[2] Organización y arquitectura de computadores, William Stallings. Prentice Hall.

[3] Organización de computadores, Carl Hamacher, Zvonko Vranesic, Safwat Zaky. Thomson 9º edición.

[4] http://www.fdi.ucm.es/profesor/ehuedo/EC_IE_0506/Tema5.pdf

[5] http://www.teleco.upct.es/docencia/material/4/arqcom/capitulo8.pdf

17
[6] http://dac.escet.urjc.es/docencia/FCII−Teleco/Tema2.pdf

[7]http://www.agalisa.es/article268.html

[8]https://dac.escet.urjc.es/asignaturas/AC/TEMA_I_BUSES.pdf

[9]http://www2.ing.puc.cl/~dmery/arqui/Capitulo05.pdf

[10]http://www.cienciasmisticas.com.ar/informatica/hardware/usb/index.php

[11]PC Cuadernos Técnicos Arquitectura del PC Teoría y Práctica nº 177. Índice de Figuras nº página

Figura: 1 Jerarquía de los buses 5

Figura: 2 Estructura de Bus típica 8

Figura: 3 Transferencia en ciclo completa 9

Figura: 4 Transferencia en ciclo partido 10

Figura: 5 Arbitraje Centralizado 11

Figura: 6 Arbitraje distribuido 12

Figura: 7 Señales de Control PCI. 12

Figura: 8 Señales de Control PCI 13

Figura: 9 Señales para PCI 64 bits 13

Figura: 10 Velocidades de Transferercia de datos PCI 14

Figura: 11 Arbitro del bus PCI 15

Figura: 12 Cronograma de funcionamiento de PCI 15

Figura: 13 Velocidad de Transferencia USB 16

Figura: 14 Diferentes tipos de conexiones USB 17

Figura: 15 Cronograma Transmisión Asincrónica del bus USB 18

Figura: 16 Cronograma Transmisión Sincrónica del bus USB 19

22

18

You might also like