Buses y Subsistemas Internos de 32 bits Universidad Tecnológica Nacional - FRBA Técnicas Digitales III Autor: Alejandro Furfaro 1 Evolución de ISA 1 Bus EISA: 1 1 1 1 Se introduce con el procesador 80386 de 32 bits EISA (ISA extendido) es un bus de 32 bits. Electrónica compleja, poco escalable y continúa a 8 MHz. VESA Local Bus : 1 Desarrollado por un consorcio de fabricantes de controladoras de video. 1 Plantea una extensión al bus ISA de alta velocidad (25 MHz), pero muy orientada a video. No contempla el resto de los dispositivos que demandan velocidad de bus y tampoco muestra escalabilidad suficiente. Autor: Alejandro Furfaro 2 Bus PCI (Periferical Component Interconnect) 1 1 Se desarrolla debido a la baja velocidad del bus ISA, y las poco eficaces alternativas de alta velocidad. (la mayoría, caras y de poca escalabilidad) Intel en 1990 propone el borrador de la especificación 1.0: 2 2 2 2 1 1 Se forma PCISIG (PCI Special Interest Group como consorcio de fabricantes). Versión 2.0 2 1 32 líneas de datos 33MHz Posee una electrónica sencilla. Permite interconexión con otros buses (como ISA) 66 MHz ->4.224 Gbps (528MB/s). Versión 2.1 2 64 bits de datos Autor: Alejandro Furfaro 3 PCI: Diagrama Genérico Autor: Alejandro Furfaro 4 PCI: estructura y señales: 1 1 Se configura como bus de 32 ó 64 bits. 49 líneas de señal obligatorias. 2 2 2 1 Sistema: reloj y reset Direcciones y datos 32 líneas multiplexadas (datos y direcciones) Líneas para interpretar y validar 2 2 2 Control de interfaz: coordinan envío y recepción Arbitraje: pares de líneas dedicadas maestros-árbitro Señales de error (ej: paridad). Autor: Alejandro Furfaro 5 PCI: Señales obligatorias Autor: Alejandro Furfaro 6 PCI 64 bits 1 Aparecen 51 señales opcionales. 2 2 2 2 2 2 Interrupción: líneas dedicadas para cada dispositivo Soporte de caché para que se conecten al PCI 32 líneas multiplexadas (datos y direcciones) (adicionales) Líneas de interpretación y validación 2 líneas que permiten que 2 dispositivos PCI utilicen 64 bits. Terminales de test: estándar IEEE 1149.1 Autor: Alejandro Furfaro 7 PCI: Transferencia de Lectura Autor: Alejandro Furfaro 8 PCI: Transferencia de Lectura a) El master obtiene el control del bus, inicia la comunicación activando FRAME, que deberá permanecer activa hasta que el master termine la comunicación. El master también coloca la dirección de inicio en el bus de direcciones en el flanco ascendente del primer ciclo de clock, y con C/BE (líneas de comandos / Byte Enable), establece la operación a realizar (lectura o escritura de memoria, o de entrada Autor: Alejandro Furfarosalida). 9 PCI: Transferencia de Lectura b) Al comienzo del clock 2, el dispositivo slave (del cual se leerán los datos) reconoce la dirección colocada en AD. Autor: Alejandro Furfaro 10 PCI: Transferencia de Lectura c) El master deja las líneas AD libres. El maestro cambia las líneas C/BE para indicar cuáles de los bytes de las líneas AD se utilizarán para transferir el dato direccionado. El master activa IRDY (Initiator ready) para indicar que está preparado para recibir datos. Autor: Alejandro Furfaro 11 PCI: Transferencia de Lectura d) El slave (dispositivo de lectura seleccionado) activa DEVSEL (Device Select) para indicar que ha reconocido las direcciones y va a responder. Coloca el dato solicitado en las líneas AD y activa TRDY (Target ready) para indicar que hay un dato válido en el bus. Autor: Alejandro Furfaro 12 PCI: Transferencia de Lectura e) El master lee el dato al comienzo del clock 4 y cambia las líneas de habilitación de byte según se necesite para la próxima lectura. Autor: Alejandro Furfaro 13 PCI: Transferencia de Lectura f) El slave necesita un tiempo adicional para preparar el segundo bloque de datos para la transmisión. Por consiguiente desactiva TRDY para señalar al master que no proporcionará un nuevo dato en el próximo ciclo. En consecuencia, el master no lee las líneas de datos al comienzo del clock 5 y no cambia la señal de habilitación de byte durante ese ciclo. El bloque de datos es Autor: Alejandro Furfaro leído al comienzo del clock 6. 14 Präsentat ion PCI: Transferencia de Lectura g) Durante el clock 6, el slave sitúa el tercer dato en el bus. Pero (en este ejemplo específico) el master está ocupado y por lo tanto desactiva IRDY. Esto hará que el esclavo mantenga el tercer dato en el bus durante un ciclo de reloj extra. Autor: Alejandro Furfaro 15 PCI: Transferencia de Lectura h) El master sabe que el tercer dato es el último y por eso desactiva FRAME. Además, activa IRDY para indicar que está listo para completar esa transferencia. Autor: Alejandro Furfaro 16 PCI: Transferencia de Lectura i) El master desactiva IRDY, con esto hace que el bus vuelva a estar libre, y el slave desactiva TRDY y DEVSEL. Autor: Alejandro Furfaro 17 PCI: Arbitraje 1 Arbitraje centralizado 2 Cada maestro tiene dos líneas dedicadas 2 REQ (petición del bus) 2 GNT (concesión del bus) 1 Transmisión 2 Dispositivo PCI (o CPU) solicita bus activando REQ 2 Espera GNT 2 Usa el bus mientras tenga GNT Autor: Alejandro Furfaro 18 PCI: Arbitraje Árbitro de PCI Autor: Alejandro Furfaro GNT REQ Dispositivo PCI GNT REQ Dispositivo PCI GNT REQ Dispositivo PCI 19 Comparación de buses Bus Type Bus Width Bus Speed MB/sec ISA 16 bits 8 MHz 16 MBps EISA 32 bits 8 MHz 32 MBps VL-bus 32 bits 25 MHz 100 MBps VL-bus 32 bits 33 MHz 132 MBps PCI 32 bits 33 MHz 132 MBps PCI 64 bits 33 MHz 264 MBps PCI 64 bits 66 MHz 512 MBps PCI-X 64 bits 133 MHz 1 GBps Autor: Alejandro Furfaro 20 Bus AGP (Accelerated Graphics Port) 1 1 1 Bus de alto rendimiento para controlador gráfico. AGP reduce cuellos de botella ya que es un bus dedicado de alta velocidad. Necesidades de las aplicaciones gráficas: 2 2 2 2 2 2 1 1 1 Acceso rápido a memoria local de video (refresh) Elementos de píxel (3D) Información del eje Z Planos superpuestos Malla poligonales Texturas 32 líneas multiplexadas: direcciones/datos Alta velocidad (reloj del bus de la CPU) Transmisión: 528 MB/s ó 1 GB/s Autor: Alejandro Furfaro 21 Procesamiento de Video 3D en PCI Buffer de trama Buffer Local de Texturas Textura 2 Monitor Chip Gráfico Los mapas de textura se leen del disco duro, y se cargan en la memoria del sistema, pero antes pasan a través de la interfaz IDE al bus y al chipset de video. Autor: Alejandro Furfaro RAM del Sistema a Local CPU Textura 1 Chipset PCI BUS PCI Drive de DISCO Memoria Del Sistema Textura 2 Cuando se necesita en mapa de textura para procesar una escena, el procesador lo toma de la memoria del sistema. Lo procesa y cachea en disco los resultados. Finalmente se almacena en memoria para que lo tome el Chip Gráfico 22 Procesamiento de Video 3D con AGP CPU Buffer de trama Memoria Del Sistema Textura 1 Chip Gráfico Monitor Chipset AGP Textura 2 BUS PCI Drive de DISCO Autor: Alejandro Furfaro 23 Cache L2 Memoria Local 2.0 GB/s Core AGP 800 MB/s Procesador Pentium III Acelerador Gráfico 528 MB/s Intel 740 132 MB/s I/O Autor: Alejandro Furfaro PCI I/O Intel 440BX 800 MB/s AGPset Memoria del Sistema Texturas BUS AGP sobre Procesador Pentium III 24 Plataforma PCI: Arquitectura y Performance 1 A medida que aumentan los requerimientos de ancho de banda de bus por parte de los dispositivos, las plataformas PCI evolucionaron en una arquitectura compuesta por dos puentes: 2 Norte: representado por el Hub de Memoria. 2 Sur: representado por el Hub de E/S. 1 El concepto Primario es que los recursos de alta performance se conectan al Hub Controlador de Memoria y los de baja performance al Hub Controlador de E/S. 1 Dentro de los recursos de baja performance del Hub Controlador de E/S, algunos requieren conexión de alta performance (p.ej. un CD) y otros se pueden utilizar como un segmento compartido del bus PCI (p.ej. Ethernet y SCSI) Autor: Alejandro Furfaro 25 Arquitectura PCI Autor: Alejandro Furfaro 26 Plataforma PCI: Arquitectura y Performance 1 Ya implementado el modelo North Bridge – South Bridge, la evolución de la tecnología siguió incrementando la necesidad de soportar mas recursos de alta performance. 2 El Hub Controlador de Memoria no provee suficiente performance para todos los recursos relativos a la Plataforma de Memoria. 2 Para resolverlo se agregaron segmentos PCI adicionales de alta performance al Controlador del Hub de Memoria. 1 Además de la conexión al Hub Controlador de Memoria, se aumentó el tamaño y la frecuencia del segmento del bus PCI. 1 Con 64 bits en el bus de datos PCI, alcanzó anchos de banda de 532.8 MBps. 1 Es posible integrar los dos Hubs en un solo Host/PCI Bridge. Autor: Alejandro Furfaro 27 Arquitectura PCI-X 1 PCI-X fue desarrollado para extender la performance de PCI. 1 El Bridge HOST/PCI-X representa una consolidación de los controladores de Hub en una estructura de Bridge único. 1 Inicialmente PCI-X simplemente incrementa la frecuencia de la línea de la señal CLK respecto de PCI con el objeto de incrementar el ancho de banda del segmento del bus. 1 Eventualmente PCI-X DDR y QDR proveen una fuente de sincronismo para mejorar el ancho de banda del segmento. “D” y “Q” se refieren a dual y quad como múltiplos respectivamente de la señal de strobe, dentro de un mismo período de la señal CLK. 1 El incremento en el ancho de banda del segmento del bus reduce ampliamente el número de slots de conexión de placas por cada segmento de bus. 1 El aumento en la performance de los PCI-X DDR y QDR resulta en interconexiones punto a punto. Autor: Alejandro Furfaro 28 Arquitectura PCI-X Autor: Alejandro Furfaro 29 Interfaces para dispositivos • SCSI: - HD - CD-ROM - DVD • IDE: - HD - CD-ROM - DVD Autor: Alejandro Furfaro 30 SCSI (Small Computer System Interface) 1 1 1 1 1 Introducido por Macintosh en 1984 Periféricos externos (8, 16, 32 líneas) Se usa para conectar CDs, DVDs, Audio y HDs. SCSI-1: 5MB/s, SCSI-2: 40MB/s, SCSI-3: 160MB/s Dispositivos encadenados (2 conectores) Autor: Alejandro Furfaro 31 SCSI (señales) • • • • • • • • BSY: SEL: C/D: MSG: REQ: ACK: ATN: RST: Autor: Alejandro Furfaro ocupado selecciona dispositivo datos / control mensaje solicita transferencia reconoce REQ mensaje disponible inicio del bus 32 SCSI: Temporización Autor: Alejandro Furfaro 33 IDE (Integrated Drive Electronics) 1 Integrada en placas base (incluyen 2 canales IDE para 4 dispositivos). 1 Comunica CPU con periféricos 1 Costo reducido 1 DMA Integrado en el controlador 1 Rendimiento comparable al SCSI 1 Compatible con ISA, PCI y bus local Autor: Alejandro Furfaro 34 IDE (cables y conectores) • PATA SATA 133MB/s 150MB/s Autor: Alejandro Furfaro 35 Conector IDE ATAPI - 40 Pines Autor: Alejandro Furfaro 36 Interfaz IDE ATAPI: Direcciones de E/S HEX 1FX 3FX 17X 37X BINARY 0001 1111 0011 1111 0001 0111 0011 0111 XXXX XXXX XXXX XXXX DESCRIPTION Primary Command Registers Primary Control Registers Alternate Command Registers Alternate Control Registers Address bit A7 Autor: Alejandro Furfaro 37 Interfaz IDE ATAPI: Registros Autor: Alejandro Furfaro 38 Interfaz IDE ATAPI: Registros Registros para lectura: - datos - error - sectores totales - Nº cilindro - Disco/cabeza - Estado Registros para escritura: - datos - características - sectores totales - Nº cilindro - Disco/cabeza - Comando Autor: Alejandro Furfaro 39 Interfaz IDE ATAPI: Comandos Autor: Alejandro Furfaro 40 SCSI vs. IDE 1 Velocidad de transferencia de datos: 2 1 1 IDE: 133MB/s Nº de dispositivos: 2 1 SCSI: 160MB/s SCSI: 32 IDE: 7 Controladora: 2 SCSI es necesario añadirla con bus PCI a la placa base 2 IDE viene incluida Discos duros: 2 Velocidad: SCSI 15.000 rpm IDE: 7.200 rpm 2 Tiempos de acceso: SCSI: 3-4ms IDE: 8ms 2 Precio: SCSI: X IDE: 0.7 X Autor: Alejandro Furfaro 41