Dispositivos periféricos Trasmisión serie y paralelo William Marin 2007 Escuela de Ingeniería Electrónica
Contenido Transmisión serie y paralelo Transmisión en banda base Códigos de detección y corrección de errores Buses de la PCI: El bus PCI. 2
Transmisión serie y paralelo Transmisión serie Se transmite bit por bit Transmisión en paralelo Se transmiten varios bits simultáneamente 3
Transmisión en paralelo Se transmiten grupos de bits en paralelo Alta velocidad Muchas conexiones (n-líneas + control) Longitud limitada a varios metros Velocidad en bytes/segundo o múltiplos como Mbytes/segundo 4
Transmisión en paralelo Apta para comunicación dentro de una placa de circuito impreso Usada para comunicar equipos a muy corta distancia entre sí ej: computadora a impresora o a discos externos 5
Transmisión serie Baja a mediana velocidad Requiere menos conexiones (3 líneas) Mayor alcance: sin modulación algunos cientos de metros con modulación ilimitado La velocidad de comunicación se expresa en bits/segundo (bps) o múltiplos como Mbps. 6
Transmisión serie: requisitos El receptor tiene que identificar el inicio y el fin del mensaje o secuencia de bits También debe ser capaz de identificar el inicio y el fin de cada bit 7
Transmisión serie: tipos Dependiendo de la forma empleada para sincronizar el receptor con el transmisor se conocen dos tipos Serie asincrónica Serie sincrónica 8
Transmisión serie asincrónica La señal de reloj no se incluye con los datos, el receptor y el transmisor deben ponerse de acuerdo antes sobre la velocidad de transmisión Ya que los relojes en el receptor y transmisor sólo se sincronizan al inicio de la secuencia, se limita la cantidad de bits para que el error de sincronización no sea demasiado grande 9
Transmisión serie asincrónica La unidad de datos es el byte o caracter, que se transmite separado de otros por un tiempo totalmente variable La trama de un byte incluye un bit de inicio, varios bits de datos, uno o varios bits de parada y opcionalmente un bit de paridad La línea toma el valor marca cuando está inactiva 10
Transmisión serie asincrónica T T=Tiempo de bit 11
Eficiencia de la transmisión serie asincrónica Tenemos que para transmitir un byte se requieren al menos 2 y a veces hasta 3 bits extra; por lo que la eficiencia de transmisión máxima es: BitsdeDatos 8 ηasinc = = = 0.8 = TotaldeBits 10 80% 12
Transmisión serie sincrónica La señal contiene información del reloj entremezclada con los datos El receptor extrae el reloj de la señal para sincronizarse Como el receptor está siempre sincronizado con el transmisor, el número máximo de bits se puede incrementar sin aumentar el error de sincronización 13
Transmisión serie sincrónica La unidad de datos es la trama, la cual contiene varios bytes de datos Para sincronizar el inicio y el fin de la trama se utilizan secuencias especiales de bits (flag), que no pueden ocurrir en el campo de los datos u otro 14
Transmisión serie sincrónica Formato de una trama sincrónica típica Bytes: 1 2 2 variable (1500 máx.) 2 1 Flag Dirección Control Datos FCS Flag 15
Eficiencia de la transmisión serie sincrónica Las tramas sincrónicas usan aproximadamente 8 bytes extra para transmitir hasta 1500 bytes de datos por lo que la eficiencia máxima es de: BytesdeDatos 1500 ηsinc = = = 0.9947 = TotaldeBytes 1508 99.47% 16
Corrección de errores En sistemas de comunicación digital se usan dos tipos de corrección de errores: Solicitud de repetición automática (ARQ : Automatic Repeat Request) Corrección anticipada de errores (FEC : Forward Error Correction) 17
Corrección de errores Solicitud de repetición automática Se emplea en sistemas de comunicación bidireccionales simultáneos (full-duplex) Si el receptor encuentra que el mensaje está bien envía un ACK al transmisor Cuando el receptor detecta errores en un bloque de datos, solicita que se retransmita el mensaje por medio de un NACK 18
Corrección de errores Corrección anticipada de errores Se emplea en sistemas de comunicación en canales de una vía (simplex) o en sistemas duplex con demoras grandes en la transmisión Los datos transmitidos se codifican de forma tal que el receptor pueda detectar y corregir los errores Estos métodos se clasifican como codificación del canal 19
Tasa de error de bits (BER: Bit Error Ratio) Es una medida del deterioro de la información en un sistema de comunicaciones digital (similar a la relación señal a ruido de los sistemas analógicos) Es la probabilidad de error de bit En forma simple, es el número de errores dividido entre el número total de bits en un intervalo de tiempo determinado 20
Tasa de error de bits (BER: Bit Error Ratio) BER = BitsConError BitsTotales Ejemplo: si se reciben 10 bits erróneos por cada millón de bits totales tenemos: BER = 10 = 0.00001 = 1*10 1000000 Lo que significa que hay un bit con error por cada 100000 bits recibidos 5 21
Códigos de detección de errores Paridad simple paridad transversal paridad longitudinal Verificación de redundancia cíclica (CRC: Cyclic Redundancy Check) CRC-16 o CRC-32 22
Paridad simple La paridad P, es el número de bits 1 de una secuencia de bits Si se acuerda paridad par, el número de bits 1 debe ser par en la secuencia. Para lograrlo, se inserta un 0 o un 1 el el campo correspondiente a P 0 1 1 0 1 0 0 1 3 unos P = 1 23
Paridad simple Original 0 1 1 0 1 0 0 1 Ocurre un error durante la comunicación y se altera un bit Alterado 0 1 1 01 1 0 0 1 4 unos P = 0 1 No importa cual bit se altere, siempre que solo sea uno, y la paridad calculada en el receptor será diferente del valor de P y se puede detectar el error Si se alteran dos bits cualesquiera, no se detectará error 24
Verificación de redundancia cíclica (conceptual) Se divide la secuencia de bits a transmitir entre un número escogido especialmente El residuo de la división se coloca en el campo del CRC En el receptor se vuelve a dividir la secuencia recibida y si el residuo obtenido es diferente del CRC recibido, entonces hubo error en la comunicación 25
Tramas típicas PCI Express 26
Los buses de la PC Los buses en la PC han evolucionado desde el antiguo bus ISA de 8 bits, pasando por el ISA de 16 bits, el EISA y el Microchanel, y el VESA Local de 32 bits. Estos buses, en su mayoría, eran dependientes del microprocesador usado. Eso daba problemas de compatibilidad y diseño. Ello derivó en la adopción del estándar PCI de Intel. Ahora el estándar que deja atrás el PCI es PCI Express (PCIE o PCIX No confundir con PCI-X que es el PCI esxtendido) 27
Jerarquía de buses en la PC I/O PCI Bus del procesador a velocidad del CPU Bus Local PCI 32 o64 bits CPU Chipset tarjeta madre Bus I/O Estándar Caché Level 2 Bus de memoria o sistema (Front side bus) Memoria de sistema Nota Antes del Pentium PRO, la caché externa se conectaba directamente al bus del procesador. Ahora tiene su propio bus. I/O 16 bits 28
29
30
El bus PCI Creado en Intel, en 1993. Estándar original: bus de 32 bits a 33 MHz. Tiene su propio control, independiente del microprocesador. Esto hace que se utilice en computadores con micros como PowerPC (Macintosh), SPARC o Dec ALPHA, aparte de los compatibles con arquitectura Intel. El PCI ver 2.1 corre a 66MHz, sobre un bus de 64 bits. Se usa sobre todo en estaciones de trabajo y servidores. En su modo sincrónico, el bus PCI corre a la mitad de la velocidad del bus de sistema o de memoria. 31
Capacidades del bus PCI El bus PCI presenta las siguientes caraterísticas: Trabaja en modo ráfaga, o burst. Puede transmitir información en ráfagas de múltiples conjuntos de datos con solo proveerle de una dirección inicial. Bus Mastering. Otros dispositivos pueden tomar control del bus. Alto ancho de banda Puede correr en modo síncrono, a la mitad de la velocidad del bus de memoria o sistema. Esto significa que si se hace overclocking del procesador, los dispositivos periféricos PCI pueden ser sobre/relojeados también En modo asíncrono, la velocidad es independiente del bus de memoria y se controla por BIOS/Setup o por medio de jumpers. Tiene su propio esquema de interrupciones, que mapea sobre las interrupciones clásicas del BIOS. 32
Opciones de Bus Mastering El bus PCI permite a cualquier dispositivo convertirse momentáneamente en dueño del bus. El controlador de bus se encarga de evitar colisiones entre el procesador, la memoria y los dispositivos PCI que traten de usar el bus. Los discos tipo ATA, también conocidos como UltraDMA o UltraATA aprovechan esta opción para hacer transferencias de 33 MB/s a 100 MB/s de DMA. 33
Uso del bus mastering del PCI Para poder usar las capacidades de control del bus PCI, se necesita: Hardware capaz de manejar Bus Mastering IDE: Esto incluye la tarjeta madre, el chipset, el bus y el BIOS. Las tarjetas Intel 430 Pentium chipset family (FX, HX, VX, TX) o el Intel 440FX Pentium Pro chipset soportan bus mastering IDE. Un disco capaz de usar bus mastering: El disco debe ser capaz al menos de transferencias DMA multipapalabra modo 2. Todos los discos tipo Ultra ATA soportan esto. Sistema operativo multitarea de 32-Bit: Windows NT, 2000, XP, 98SE, Vista, GNU/Linux 34
PCI 32 bits 35
PCI 64 bits 36
37
PCI-X (PCI extended) Es una mejora al bus PCI originalmente planteada por IBM, que guarda compatibilidad fìsica con su predecesor Los slots PCI y PCI-X 32-bit son físicamente iguales, aunque una tarjeta PCI en un slot PCI-X funcionará más lentamente que PCI-X. Los slots PCI-X de 64 bits son más largos. Introducido en 1999 ofrece velocidades 30 veces mayor al bus PCI original. NO confundir PCI-X con PCX que es la abreviación de PCI Express. 38
PCI-X 39
Comparación PCI MTs = megatransferenciass por segundo (ver MT/sec). Megatransfers are used when megahertz is not accurate (not actual clock cycles). PCI-X 266 is running at 133MHz, but data is double clocked. PCI-X 533 is quadruple clocked http://www.thefreedictionary.com/ 40
PCI Express PCI Express (denominado aún a veces por su nombre clave 3GIO, por "tercera generación de E/S") es el sucesor de la tecnología PCI, disponible en las máquinas de escritorio desde 1992. Sistema de interconexión serie punto a punto, capaz de ofrecer transferencias con un altísimo ancho de banda, desde 250MB/seg para la implementación 1X, hasta 4GB/seg para el PCI Express 16X que se emplea con las tarjetas gráficas. 41
PCI Express La notación 1X y 16X se refiere al ancho del bus o número de líneas disponibles. La conexión en el PCI Express es, además, bi-direccional, lo que permite un ancho de banda teórico de hasta 8GB/seg para un conector 16X, o unos asombrosos 16GB/seg para el actual máximo de 32X. 42
PCI Express PCI Express también incluye características novedosas, tales como gestión de energía, conexión y desconexión en caliente de dispositivos (como USB) Una simple conexión serie de PCI-Express consta de una conexión dual utilizando dos pares de señales diferencialmente dirigidas y de baja tensión - un par de recepción y otro de envío (cuatro cables). Una señal diferencial se deriva usando la diferencia de potencial entre dos conductores. 43
Cambio en el controlador PCIX 44
PCI Express Transmisión síncrona La señal de reloj está mezclada con la propia información. Para ello, usa una codificación 8b/10b que transmite 10 bits por cada 8 de información, por lo que genera una sobrecarga del 20 %. Ésta técnica evita el ruido e interferencia entre datos previos. Transmisión bidireccional Una conexión está compuesta de 2 canales, uno de ida y otro de vuelta que transmiten simultáneamente (dos canales simplex). 45
PCI Express Conexión múltiple PCI Express puede utilizar varias conexiones para la misma comunicación dando lugar a configuraciones llamadas x1, x2, x4, x8, x12, x16, x32. Las conexiones x16 y x32 están pensadas para conectar dispositivos como tarjetas gráficas. 46
47 Comparación de tamaños PCI Express
4x 16x 1x PCI 16x 48
Comparación PCIx vs AGP 49
Switch PCI Express 50