Buses de sistema

Informática. Computación. Hardware. Arquitectura de ordenadores. Estructura del PC (Personal Computer). Microprocesadores. Memoria. Transmisión de datos. USB (Universal Serial Bus)

  • Enviado por: Miguel Belenguer Aparicio
  • Idioma: castellano
  • País: España España
  • 22 páginas

publicidad
cursos destacados
Crea una página web con PHP, AJAX y jQuery
Crea una página web con PHP, AJAX y jQuery
Curso para crear una página web en PHP a partir de una plantilla base para aprovechar el tiempo al máximo en la...
Ver más información

conviértete en un desarrollador web desde cero aprendiendo xml, json y ajax (Capítulo 4)
conviértete en un desarrollador web desde cero aprendiendo xml, json y ajax (Capítulo 4)
¡Bienvenidos a la versión española del curso más completo y más vendido en la web...
Ver más información


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

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

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.

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

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

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

'Buses de sistema'
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.

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

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

    Terminal

    Línea

    Nº de líneas

    Habilita

    Descripción

    Sistema

    CLK

    1

    Externo

    Reloj de frecuencia 33 o 66 Mhz

    RST#

    1

    Externo

    Restablece el sistema y los dispositivos

    Datos y direcciones

    AD

    32

    Maestro/ Destino

    Líneas de dirección y datos multiplexados

    C/BE#

    4

    Maestro/ Destino

    Indica que líneas transportan información

    PAR

    1

    Maestro/ Destino

    Bit de paridad de dirección de datos

    Control

    FRAME#

    1

    Maestro

    Transferencia (AD y C/BE preparadas)

    IRDY#

    1

    Maestro

    Lectura: maestro acepta 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

    Error

    PERR#

    1

    Maestro/ Destino

    Se ha detectado un error de paridad en los datos

    SERR#

    1

    Todos

    Error crítico o error de paridad en la dirección

    Figura: 8 Señales de Control PCI.

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

    Terminal

    Línea

    Nº de líneas

    Habilita

    Descripción

    Interrupciones

    INTx#

    4

    Externo

    Solicitud de interrupción

    Soporte de caché

    SBO#

    1

    Maestro/Destino

    Acceso a caché remoto

    SDONE

    1

    Maestro/Destino

    Indica que el bus ha terminado de sondear la caché

    Extensión

    AD

    32

    Maestro/Destino

    Ampliación de las líneas de datos y direcciones

    C/BE

    4

    Maestro/Destino

    Ampliación de la selección de líneas

    RFQ64

    1

    Maestro

    Petición de extensión a 64 bits

    ACK64

    1

    Destino

    Aceptación de extensión a 64 bits

    PAR64

    1

    Externo

    Paridad de los 32 bits extras

    Test

    TCK

    1

    Externo

    Reloj de test: sincronización de entrada y salida

    TDI

    1

    Externo

    Entrada de test

    TDO

    1

    Maestro

    Salida de test

    TMS

    1

    Externo

    Selector de modo de test

    TRST#

    1

    Externo

    Inicio de test

    Control

    LOCK

    1

    Maestro

    Bloqueo del bus para realizar varias 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

    Nombre

    Ancho ( bits)

    Velocidad (Mhz)

    Ancho de Banda (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.

    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.

    • 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

    VERSIÓN

    VELOCIDAD TRANSFERENCIA MAXIMA (Mbit/seg)

    Nº DISPOSITIVOS

    USB 1.1

    1.5 (velocidad baja)

    12 (velocidad media)

    127

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

    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.

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

    'Buses de sistema'

    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.

    'Buses de sistema'

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

    [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