Académique Documents
Professionnel Documents
Culture Documents
Objetivo: analizar los elementos de interconexin que unen los diferentes componentes de un computador Bus: conjunto de lneas de seal que enlaza la CPU, la memoria y los perifricos de E/S, permitiendo la transferencia de informacin entre ellos
Lneas de direccin: @ de memoria o de puertos de E/S Lneas de datos: informacin a leer o escribir Lneas de control: + operaciones a realizar: lectura, escritura, ... + control de transferencia: protocolo y temporizacin + arbitraje: determina qu dispositivo utiliza el bus (CPU, DMA, dispositivos E/S,...) en caso de conflicto
Introduccin
Funcionamiento general: el dispositivo debe obtener el uso del bus y transferir el dato a travs del bus, todo ello siguiendo un determinado protocolo Operaciones en un bus: lectura/escritura (dato/bloque), ReadModify-Write, etc.
Conexin entre Subsistemas: Buses (AC1) 2
Introduccin: definiciones
Ciclo de bus: tiempo necesario para realizar una transferencia elemental de un dato entre dos dispositivos
Operacin bsica del bus Etapas: peticin del bus, arbitraje, direccionamiento, transferencia, deteccin de error, notificacin
Anchura del bus: nmero de lneas de datos en el bus Ancho de banda del bus: parmetro que expresa el mximo nmero de elementos de informacin (bytes) que se pueden transmitir por el bus en unidad de tiempo
Ejemplo: 1 MB/s 106 bytes/s Velocidad de transmisin: longitud, medio fsico, lgica de control, etc.
Protocolo del bus: pautas que tienen que seguir los dispositivos conectados al bus para lograr una comunicacin correcta
Conexin entre Subsistemas: Buses (AC1) 3
Introduccin: definiciones
Maestro y esclavo: Dispositivo maestro (master): capaz de iniciar una transferencia de bus ya que es el dueo del bus Dispositivo esclavo (slave): dispositivo pasivo, que espera peticiones Ejemplos:
Maestro CPU CPU DMA Esclavo Memoria Dispositivos E/S Memoria Operacin Bsqueda de inst. y datos Inicializar transferencia Transferencia de datos
Relacin dinmica: el dispositivo A puede ser maestro en una transferencia, pero esclavo en otra. Por ejemplo, el controlador de DMA
Conexin entre Subsistemas: Buses (AC1) 4
Bus local: buses para la conexin procesador/DRAM y dispositivos de E/S con altas prestaciones. Pueden ser buses de carcter general, como el PCI, o dedicados, como IDE, SCSI, AGP, USB... Bus de expansin: conexin de dispositivo de E/S con menores prestaciones (fax, puerto serie, modems,). Ejemplo: ISA, MCA
Gran nmero de dispositivos diferentes, con ancho de banda variable
Bus del sistema: conexin entre distintos sistemas procesador que forman un mismo sistema. Ejemplo: VME
Conexin entre Subsistemas: Buses (AC1) 6
Cache
Bus de expansin
Bus Interno
Interfaz
Video, Grficos SCSI, etc.
Interfaz
Bus local
MP Sistema monoprocesador
Interfaz
Sistema procesador
Bus sncrono
Transferencias controladas por una seal de reloj en el bus Una transferencia requiere un nmero entero de ciclos Ejemplo de protocolo:
TAD: tiempo mximo que transcurre entre el flanco ascendente de reloj del primer ciclo y la estabilizacin de la direccin TDS: los datos ledos deben estar en el bus al menos 50 ns antes del flanco descendente del tercer ciclo, para que se estabilicen antes de que se lean TM y TRL: indican que las seales IO/M.L y RD/WR.L deben activarse en los primeros 85 ns que transcurren despus del flanco de bajada del primer ciclo
Signal Clk
TAD
T1
T2
T3
RD/WR
TRL TDH
Frecuencia 4 MHz 250 ns (ciclo de reloj) 750 ns de ciclo de lectura TAD: 110 ns (mximo) Ancho de banda: 1,33 Mbyte/s (1 byte / 750 ns) TDS: 50 ns (mnimo) TM y TRL: 85 ns (mximo) la memoria dispone de 365 ns en el peor ciclo 1 -> 125-85 = 40 ns de los casos para colocar los datos en el ciclo 2 -> 250 ns bus desde que se activa la seal RD ciclo 3 -> 125 -50 = 75 ns
Conexin entre Subsistemas: Buses (AC1) 10
Bus sncrono
Aumentar el ancho de banda del bus: aumentar la frecuencia de reloj
problemas con los dispositivos requiere menor tiempo respuesta problema en el bus (bus skew): asegurar la estabilizacin de las seales (cada seal tiene su retardo de propagacin)
Bus semisncrono
Mismas caractersticas que el bus sncrono, pero aade una nueva seal: READY (o tambin BUSY o WAIT) Cuando un dispositivo no pueda realizar su trabajo en el tiempo prefijado, indica esta situacin al maestro con la NO activacin de la seal READY se dedican ms ciclos: ciclos de espera (wait state) Cuando los datos estn disponibles, el esclavo activa la seal READY La seal READY permite ajustar el protocolo a la velocidad de cada dispositivo. El nmero de ciclos de espera aadidos depende del dispositivo Los protocolos con seal de reloj no consiguen aprovechar todas las posibilidades del dispositivo.
En el ejemplo anterior, una operacin que necesita 550ns con un protocolo con 250ns de tiempo de ciclo, utilizar 3 ciclos de reloj (750ns) prdida de rendimiento
Conexin entre Subsistemas: Buses (AC1) 12
Bus semisncrono
Signal Clk A0-A7 D0-D7 RD/WR T1 T2 T3 T1 T2 TWAIT T3
@ datos
@ datos
READY
13
Bus asncrono
No existe seal de reloj en el bus. La comunicacin entre dispositivos se realiza mediante una conversacin (handshake) entre ambos, en base a dos nuevas seales: MSYN.L (master synchronization) y SSYN.L (slave synchronization)
El maestro activa las seales de direccin y control (p.e., lectura mem.) Tras un breve intervalo de estabilizacin de las seales, activa la seal MSYN.L, indicando la presencia de seales de direccin y control vlidas Tras un tiempo no determinado a priori, el esclavo proporciona los datos y activa la seal SSYN.L para indicar que los datos estn listos El maestro recoge los datos y desactiva MSYN.L El esclavo desactiva SSYN.L
14
Bus asncrono
Address IO/M RD/WR MSYN Data SSYN
Data
15
Seales MSYN.L y SSYN.L (bus asncrono) Primera fase (por ejemplo, lectura de memoria):
El maestro enva la direccin y activa las seales IO/M.L, RD/WR.L, adems debe enviar su identificador Tras el intervalo de estabilizacin de las seales, activa la seal MSYN.L El esclavo activa SSYN.L, con lo que el maestro desactiva las seales y se desconecta. Finalmente, el esclavo desactiva SSYN.L
17
El hardware es ms sencillo, pero el protocolo es ms lento (no se puede enviar toda la informacin en paralelo)
Conexin entre Subsistemas: Buses (AC1) 18
T1
T2
T3
T1
T2
TWAIT
T3
READY
GRANT
in
out
Encuesta (Polling)
Cuando el controlador detecta una peticin (Bus Request), realiza una encuesta para determinar el dispositivo enva el cdigo de cada dispositivo por medio de k seales cuando el dispositivo que realiz la peticin detecta su cdigo, activa Busy, con lo que se interrumpe la encuesta El controlador puede iniciar una nueva encuesta a partir del dispositivo ltimo atendido (round robin) o desde el principio Prioridad: depende del orden de encuesta (podra ser dinmica)
Disp. 1 Controlador del REQUEST Bus BUSY k
k
Disp. 2
k
Disp. n
k
k=log2(n)
Conexin entre Subsistemas: Buses (AC1) 22
Peticiones independientes
Cada dispositivo tiene su lnea de peticin (Ri) y de atencin (Gi), pero todos utilizan la misma lnea Busy Un rbitro centralizado decide a quin concede el control del bus de acuerdo a una determina poltica de prioridades Ventaja: mtodo rpido. Ejemplo de bus: PCI Desventaja: ms lneas en el bus (Ri, Gi)
Dispositivo 1 Dispositivo 2 Dispositivo n
R1 G1 R2
G2 Rn Gn BUSY
23
Arbitrajes distribuidos
Por autoseleccin (ejemplo, SCSI):
Al igual que en el mtodo anterior, los dispositivos solicitan el uso del bus de forma independiente Los propios dispositivos que piden el acceso al bus determinan a quin se le concede el bus Cada dispositivo pone en el bus su identificador Los dispositivos consultan los identificadores para determinar cul es el dispositivo ms prioritario entre los que han hecho la peticin de uso
Transmisin serie/paralelo
Transmisin serie:
Los bits son enviados uno tras otro a travs del bus La transmisin puede ser sncrona o asncrona (se utiliza informacin de control al comienzo y final de la transmisin: bits de start y stop). Es ms habitual la transmisin asncrona. Estndar: RS-232C (1969, Electronic Industries Alliance) Mximo ancho de banda: 115 kb/s (poca distancia y buenos cables) Conectores de 9 o 25 pines Comunicacin entre un terminal de datos, DTE (Data Terminal Equipment), y un transmisor de datos, DCE (Data Carrier Equipment) Por ejemplo, DTE procesador / DCE mdem La transmisin puede ser:
simplex: en una nica direccin (DTE DCE DCE DTE) half-duplex: en ambos sentidos de forma no simultnea full-duplex: bidireccional, en ambos sentidos de forma simultnea
Circuito UART 8250 (Universal Asynchronus Receiver/Transmitter): conversin de datos en paralelo a serie para su transmisin PC 4 puertos COM (@s: 3F8H,2F8H,3E8H,2E8H / IRQs: 4,3,4,3) Utilizacin: conexin de ratones, mdems, impresoras, plotters, etc. Otros buses serie: USB, Fire Wire, Serial ATA, PCI Express
Conexin entre Subsistemas: Buses (AC1) 25
Transmisin serie/paralelo
Transmisin paralelo:
Los bits son enviados en bloques de n a travs del bus Estndar: Centronics (1970, Centronics Data Computer Corporation+ Epson) Estndar de 8 bits, con ancho de banda mximo: 150 kB/s Conectores de 25 pines, longitud 4.5m (15m con cables especiales) PC 2 puertos LPT (@s: 378H, 278H / IRQs: 7, 5) comunicacin unidireccional Nuevos estndares. Objetivo: aumentar el ancho de banda de la transmisin EPP (Extended Parallel Port): comunicacin bidireccional de 8 bits, con ancho de banda hasta 500 kB/s ECP (Extended Capabilities Port) [Microsoft y HP]: capacidad de DMA, daisy chain para varios perifricos, buffers internos, con un ancho de banda hasta 1 MB/s IEEE 1284 (1994): incluye 5 modos de transferencia de datos (entre ellos los anteriores), con un ancho de banda de 2 MB/s Utilizacin original: conexin impresora (actualmente, dispositivos varios)
Conexin entre Subsistemas: Buses (AC1) 26
Bibliografa
Libros
Arquitectura del PC (volumen II), M. Ujaldn Hardware y componentes, J.E. Herreras Upgrading and repairing PCs, S. Mueller
Revistas
Byte, PC Actual, PC World, PC Plus, PC Magazine
Pginas web
http://www.techfest.com/hardware/bus/isa.htm http://www.pcisig.com http://www.agpforum.org http://www.1394ta.org (bus Fire Wire) http://www.usb.org http://www.t10.org (bus SCSI) http://www.t13.org (bus IDE) http://www.scsita.org (bus SCSI y Serial Attached SCSI)
Conexin entre Subsistemas: Buses (AC1) 28
ATA-4 y ATA-5 requieren buses de 80 lneas, frente a las 40 lneas del resto, aunque el conector final es del mismo tamao
Conexin entre Subsistemas: Buses (AC1) 33
11,11 16,66 ATA-4 PIO 0-4 + DMA 0-2 + Ultra-DMA 0-2 33 ATA-5 PIO 0-4 + DMA 0-2 + Ultra-DMA 0-4 66 ATA-6 PIO 0-4 + DMA 0-2 + Ultra-DMA 0-5 100
En un PC existen:
2 canales IDE de 40/80 lneas para discos duros y CDs (PRIMARY IDE o IDE1 (IRQ14) + SECONDARY IDE o IDE2 (IRQ15)), cada uno con conexin para 2 dispositivos. Configuracin maestro/esclavo (jumpers) que determina la prioridad de uso del bus 1 canal IDE para discos flexibles (FLOPPY) , de menor anchura (34 lneas)
Conexin entre Subsistemas: Buses (AC1) 34
Los dispositivos al mismo bus por medio de daisy chain. El primer dispositivo se conecta a una controladora SCSI en el PC y el ltimo dispositivo es un terminador de cadena Lneas datos/direcciones multiplexadas. Arbitraje: autoseleccin (dilogo entre los propios dispositivos) Protocolo inteligente: dilogo directamente entre dispositivos, sin la intervencin del procesador
Conexin entre Subsistemas: Buses (AC1) 35
Cable de 15 contactos
Positivo/negativo/tierra en cada sentido (3+3) 6 contactos para hacer posible las capacidades hot plugging Menor tamao que IDE, facilita la refrigeracin dentro de la carcasa Conexin en caliente
Permite conexin punto a punto a una longitud mxima de 1 metro Cada unidad Serial ATA emplea una sola conexin de este tipo (no comparte bus no configuracin maestro/esclavo)
Conexin entre Subsistemas: Buses (AC1) 37
Ventajas:
unificacin de conectores y cableado facilidad de montaje: no tarjetas y Plug&Play conexin de hasta 127 perifricos en una topologa en estrella basada en hubs o concentradores (comparten IRQ y ancho de banda total) conexin en caliente: sin necesidad de rearrancar el equipo alimentacin directa desde el conector USB (mximo de 2,5 W)
Conexin entre Subsistemas: Buses (AC1) 39
Interfaz ms inteligente que USB (comandos, etc.), pero ms caro que USB Orientado a dispositivos multimedia (video digital)
Conexin entre Subsistemas: Buses (AC1) 40
Bus AC97
Intel, 1997 Bus especfico para la transmisin de informacin analgica: sonido (tarjeta de sonido), lnea telefnica (mdem) Se integra en una tarjeta que se conecta a la placa por medio de un zcalo AMR (Audio Modem Riser) [similar a AGP], cuya salida es el conector para la lnea telefnica y los conectores de sonido Evita la utilizacin del bus PCI para la transmisin de estos datos, liberando recursos (IRQs utilizadas por el mdem y la tarjeta de sonido) Existe en placas base a partir del Pentium III. En algunas placas base, este bus est integrado en la placa (no tarjeta)
41
Bus PCMCIA
(Personal Computer Memory Card International Association) Introducido en 1990 como tarjeta de expansin de memoria para ordenadores porttiles Actualmente se pueden conectar tarjetas de mdem, sonido, SCSI, discos, etc. Existen tres tipos de tarjetas de 68 pines (tamao 54 x 85,6 mm): Tipo I: 3,3 mm anchura, conexin de memoria Tipo II: 5 mm, mdems y sonido, plug&play Tipo III: 10,5 mm, anteriores+discos La especificacin original era de 8 y 16 bits a la misma frecuencia que el bus ISA (8,33 MHz). En 1996 aparece la especificacin de 32 bits a 33 MHz (misma frecuencia que PCI)
42
FUTUREBus+
estructura bsica similar al bus VME bus asncrono, multiplexado arbitraje centralizado o distribuido posibilidad de conectar 32 nodos, longitud de 0,5 metros direcciones de 64 bits y datos de 32, 64, 128 o 256 bits ancho de banda mximo: 3200 Mbytes/s
Conexin entre Subsistemas: Buses (AC1) 43