Tema 3 Buses de Entrada/Salida



Documentos relacionados
BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

BUSES GRUPO 8 Miguel París Dehesa Ricardo Sánchez Arroyo

Estructura de Computadores 2 [08/09] Buses de interconexión

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

Arquitectura de Computadores 3º Plan 96. Buses

Tema 10: Buses de comunicación

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

I2C. Ing. Pablo Martín Gomez

Sistemas de Computación I/O. 2º Semestre, 2008 José Miguel Rubio L.

RAID 0 : No redundante

Entrada salida y comunicación

TEMA 3: Buses, puertos e interfaces

COMUNICACIONES. Medios para transmitir señales: Conexión por lazo de corriente 4 20 ma. Transmisión analógica: corriente proporcional a una magnitud

Dispositivos de Entrada/Salida

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

Protocolo USB CDM /11/2012 Autor: Ing. Jorge R. Osio 1

Unidad 1: Conceptos generales de Sistemas Operativos.

Organización de Computadoras. Turno Recursantes Clase 8

DESCRIPCION DEL SITEMA MASTER.

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Introducción. Trabajo Práctico de TAI 2 - PCI Express Página 1

Diseño de Redes de Área Local

Tarjeta Principal. Disco Duro. Memoria RAM. Procesador. Fuente de Poder. Tarjetas de Expansión. Jair Acosta Núñez

Estructura general de una Computadora Arquitectura Estructura Von Neumann

Arquitectura de sistema de alta disponibilidad

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Trabajo 3. PROTOCOLOS DE COMUNICACIÓN SERIAL INDUSTRIALES Edwin Gilberto Carreño Lozano, Código:

Introducción a los Sistemas Operativos

TELECOMUNICACIONES Y REDES

Protocolo PPP PPP Protocolo de Internet de línea serie (SLIP)

HARDWARE DE UN ORDENADOR. 2. Cómo se llama a la parte de los ordenadores formada por los programas y las instrucciones para que funcione el ordenador?

Tarjeta IEEE Versión 1.0

Almacenamiento y estructura de archivos

Version 3. Capítulo 9. Fundamentos de hardware avanzado para servidores

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

4. Programación Paralela

Rendimiento rápido y fiable

Información del Producto: XenData X2500 LTO-6 Digital Video Archive System

Rendimiento rápido y fiable

Práctica 8 - DMA y Almacenamiento Masivo

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 6: Estándares en LAN

Convivencia. Gestión del Sistema de Entrada/Salida

Adaptador Tarjeta PCI Express PCI-E 4 Puertos USB 3.0 UASP 2 Canales de 5Gbps con Alimentación Molex SATA

Memoria Principal. Departamento de Arquitectura de Computadores

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

COMUNICACIÓN I2C (INTER-INTEGRATED CIRCUIT)

Capítulo 3 Fundamentos de una PC

Relación de la RDSI con el modelo de referencia OSI

Periféricos Interfaces y Buses

CAPÍTULO 1. Introducción.

TARJETA MADRE y sus PARTES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

CONTENIDO. Capítulo 1. Capítulo 3. Capítulo 2. Contenido

Experiencia 2 y 3 : Cableado y Switchs (Documentación)

Tema 1. Hardware. Fundamentos de Informática Grado en Ingeniería Mecánica

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

TELECOMUNICACIONES Y REDES

A continuación se mencionan en orden cronológico, los sistemas de conexión entre la tarjeta gráfica y la placa base. ISA

Tarjeta Adaptadora Controladora PCI Express PCIe 1 Puerto esata 1 Puerto SATA - SATA III

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Tema 1 Estructuras de interconexión de un computador.

Tarjeta Adaptador ExpressCard/34 USB 3.0 SuperSpeed de 1 Puerto con UASP - Montaje al Ras - Flush

Almacenamiento magnético, 4

Taller de Operaciones Informáticas

Tema 4. Gestión de entrada/salida

Estructura de Computadores

Redes de Almacenamiento


Redes de Altas Prestaciones

CHIPSET. Conjunto de circuitos integrados que controla funciones y comunicación entre dispositivos cursos.

Curso sobre Microcontroladores Familia HC9S08 de Freescale

CAPÍTULO HTML Y DHCP DE H0/H2-ECOM100 CONFIGURACIÓN. En este capítulo...

Tema 4. Subsistema de Memoria

Dispositivos de almacenamien to secundario. Almacenamiento de datos

Capítulo 5. Cliente-Servidor.

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

Arquitectura basica de un computador

- ENetwork Chapter 9 - CCNA Exploration: Network Fundamentals (Versión 4.0)

DISCOS DUROS. Grupo 11: Arkaitz Lázaro Abel Velasco

REGISTROS DE DESPLAZAMIENTO

5 Cuales de las siguientes opciones son formas de medición del ancho de banda comúnmente utilizadas? (Elija tres opciones).

k 11 N. de publicación: ES k 51 Int. Cl. 5 : G01R 21/133

Arquitectura de protocolos

Módulo CJ1W-ETN11 GUIA RAPIDA ESTE MANUAL CONTIENE: 1.- CARACTERÍSTICAS 2.- INSTALACIÓN Y CONFIGURACIÓN DEL MÓDULO 3.- CONFIGURACIÓN DEL MÓDULO

Fundamentos de Ethernet. Ing. Camilo Zapata Universidad de Antioquia

MODBUS TCP. 1. Especificaciones 2. Códigos de función 3. Respuesta de error 4. Contadores de estado 5. Programa PLC y ejemplos CS1W-ETN21 CJ1W-ETN21

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica.

Estación de Conexión con Ventilador USB 3.0 UASP para Disco Duro SATA 6Gbps 2,5" y 3,5" Hub USB - Negro

USB (Universal Serial Bus)

WAN y Enrutamiento WAN

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

PUERTOS DE COMUNICACIÓN EXTERNOS TIPO VELOCIDAD DESCRIPCION GRAFICO

Tecnología de la Información y las Comunicaciones. Colegio Bosque Del Plata. UNIDAD 6 Hardware Procesador y Unidades de Almacenamiento.

CAPITULO V. REDES INDUSTRIALES

Transcripción:

Tema 3 Buses de Entrada/Salida Periféricos e Interfaces Referencias: [Stallings03] Chapter 3 [Messmer02] Chapter 25 Tema 3/1

Tema 3/2 Conceptos Generales Estructura Universal del Bus Operaciones en un Bus Ventajas y Desventajas Tipos de Buses Solución en Computadores: Jerarquía Normalización de un Bus Niveles de Especificación Físico, Eléctrico y Lógico Temporización de las Señales Protocolo de Transferencia Método de arbitraje Direccionamiento Anchura del bus Tipos de transferencias Estudio de Casos: Bus PCI Organización de Computadores Basados en Bus PCI Nivel Físico Protocolo: arbitraje, lectura/escritura Autoconfiguración Programación a través de PCI-BIOS Sumario

Conectores a Buses en Placa Base 2 conectores ISA 5 conectores PCI 2 conectores IDE Placa base Periférico esclavo Periférico maestro USB Tema 3/3

Estructura Universal de un Bus Procesador Memoria Principal Interfaz serie Interfaz paralelo LÍNEAS: Datos, Direcciones, Control Controlador de disco Controlador de cinta Maestro Esclavo Esclavo Líneas de Direcciones Tema 3/4 Líneas de Datos

Operaciones Básicas Transacciones: agrupación de eventos que se producen en un bus entre Fuente y Destino Partes en las que frecuentemente se dividen las Transacciones Tema 3/5 1: Petición del bus 2: Obtener el uso del bus (Cesión) 3: Direccionamiento del destinatario 4: Transferir dato 5: Espera confirmación de envío correcto (control de errores)

Ventajas BUS Procesador E/S E/S E/S Memoria Tema 3/6 Versatilidad: Nuevos dispositivos pueden ser añadidos fácilmente Los Periféricos pueden ser conectados a distintos computadores que usen el mismo estándar de bus La reparación consiste en sustituir los módulos dañados Bajo Costo: Un único conjunto de cables es compartido de múltiples formas Se maneja la complejidad particionando el diseño

Desventajas BUS Procesador 1 2 3 Memoria Se crea un cuello de botella en las comunicaciones El ancho de banda de un bus puede limitar el ritmo de transferencia máximo de E/S El ritmo de transferencia del bus está básicamente limitada por: La longitud del bus El número de dispositivos conectados al bus La necesidad de soportar un rango de dispositivos con distintas características: Latencias (tiempo de ciclo) que varían grandemente Ritmos de transferencias de datos que varían ampliamente Tema 3/7

Tipos de Buses Dedicados: asignar un conjunto de líneas a una función determinada (datos, direcciones, etc.) Mayor rendimiento debido a menor contención del bus Incremento del tamaño del sistema Maestro Esclavo Esclavo Líneas de Control Líneas de Dirección Líneas de Datos Multiplexados: por un determinado conjunto de líneas se transmiten varios tipos de información Ventajas: menos líneas Desventajas: HW más complejo y menor prestaciones Serie: se transmiten bit a bit Paralelo: se transmiten palabra a palabra Tema 3/8

Jerarquía de Buses: Un Sistema de 3 Buses Memoria Cache Bus Local Adaptador Bus Interfaz de Memoria Procesador Vídeo LAN FireWire PCI, AGP Bus Sistema Adaptador Bus Adaptador Bus Memoria Principal Bus Expansión E/S (IDE, USB, etc.) Bus Expansión E/S Un pequeño número de buses de la placa base se obtienen a partir del Bus Local La interfaz de memoria se usa para el tráfico entre procesador y memoria A través de adaptador se obtienen los buses del sistema (PCI) Los buses de E/S se conectan al bus del sistema (IDE, USB, SCSI, etc.) Ventaja: la carga del bus del procesador se reduce Tema 3/9

Ejemplo: Computador basado en Jerarquía PCI Bus LOCAL: Procesador/Cache Interfaz de MEMORIA Bus del SISTEMA (PCI) Tema 3/10 Buses de EXPANSION E/S: ISA, USB

Ejemplo: Computador basado en Jerarquía PCI Tipos de Transferencias: Procesador-Memoria Procesador-E/S E/S-Memoria Tema 3/11

Especificación Normalizada de un Bus Protocolo Transacción Temporización de Señales Nivel Lógico Especificación Eléctrica de las Señales v R/W Direc Datos t Características Físicas/Mecánicas BUS Tema 3/12

Normalización de un Bus Características Físicas/Mecánicas Tema 3/13 Topología de conexión, Número máximo de dispositivos conectados al bus (Capacidad de Conexión), Tipos de cables y conectores, Longitud Especificación Eléctrica de las Señales Características eléctricas de las señales (V, I, Z), Fiabilidad eléctrica de las líneas de bus (interferencias, corto circuito, tensión del cable), Modos de suministro de alimentación Nivel Lógico Asigna un nivel lógico binario (0 ó 1) a cada nivel eléctrico estable de las señales de un bus (Vcc ó Gnd) Señales: Datos, Direcciones, Escritura/Lectura de Mem/ES, Reconocimiento de transacción, Petición/Cesión del bus, Petición/Reconocimiento de Interrupción, Reloj, Reset

Temporización de Señales Definición: forma en la que se coordinan los eventos en el bus Temporización Síncrona (Bus Síncrono): Incluye una señal de reloj entre las líneas de control La activación de señales siempre se realiza de forma relativa a la señal de reloj Ventaja: implica muy poca lógica y puede ser muy rápido Desventajas: Cada dispositivo en el bus debe funcionar a la misma velocidad Para evitar el desfase de reloj, las líneas del bus no deben ser muy largas si se quiere que sea rápido Temporización Asíncrona (Bus Asíncrono): No está sincronizado por reloj, la activación de una señal depende de activaciones de otras señales Requiere un Protocolo de Intercambio (Handshaking) Ventaja: Puede acomodar un rango amplio de dispositivos Ventaja: El bus puede ser alargado sin preocuparse del desfase de reloj Tema 3/14

Temporización Síncrona RELOJ Bus- Acceso Bus- Petición Dirección + Orden Cmd+Addr Espera (Wait) Datos Data1 Data1 Data2 Tema 3/15 El destinatario indica cuándo está preparado para transferir datos La transferencia real se realiza a la frecuencia del RELOJ

Temporización Asíncrona Transacción de ESCRITURA Dirección Datos Lectura/Escritura Petición Reconocimiento CICLO de Bus Maestro activa Dirección Maestro activa Datos Próxima Dirección Tema 3/16 t0 t1 t2 t3 t4 t5 t0 : Maestro ha obtenido el control y activa Dirección y Datos Espera una cantidad de tiempo para que los esclavos decodifiquen t1: El Maestro activa las líneas de Petición (Request) t2: El Esclavo activa Reconocimiento (Ack), reconociendo que el dato se ha recibido t3: El Maestro desactiva Petición t4: El Esclavo desactiva Reconocimiento

Protocolo de Transferencia: Arbitraje La transferencia de información se realiza a través de un convenio entre Maestro y Esclavo: Sólo el maestro del bus puede controlar el acceso al bus: Inicia y controla todas las peticiones del bus Un esclavo responde a peticiones de lectura y escritura El sistema más sencillo: Maestro Unico El Procesador es el único maestro del bus Todas las peticiones de bus deben estar controladas por el procesador Inconveniente: el procesador se implica en cada transacción Uno de los aspectos más importantes en el diseño de un bus: Cómo se reserva el bus a un dispositivo que desea usarlo en un Bus Multimaestro?: se necesita arbitraje Tema 3/17

Petición del Bus : Tema 3/18 Arbitraje Un maestro que quiere usar el bus activa la señal de petición del bus Que se dirige a un árbitro central (Arbitraje Centralizado) Que es compartida por otros maestros y éstos detectan la actividad de esta línea compartida (Arbitraje Distribuido por Detección de Colisión de Señales) Dependiendo del estado de unas señales de arbitraje (código identificativo, habilitación), los módulos se abstienen de usar el bus o acceden a él (Arbitraje Distribuido por Autoselección) Cesión del Bus : 2 tipos: Estática (bajo encuesta), Dinámica (bajo demanda) Un maestro no puede usar el bus hasta que la petición sea atendida Un maestro debe indicar al árbitro que ha terminado de usar el bus Los esquemas de Cesión equilibran 2 factores : Prioridad del Bus: el dispositivo de más alta prioridad debe ser atendido primero Completitud: Incluso el dispositivo de prioridad más baja debe ser atendido

Tipos de Arbitrajes Centralizado BUS Arbitro PCI PCI GNT# REQ# PCI GNT# REQ# PCI GNT# REQ# PCI GNT# REQ# Centralizado Daisy Chain BUS Arbitro PCI PCI REQ# GNT# PCI REQ# GNT# PCI REQ# GNT# PCI REQ# GNT# Tema 3/19

Tipos de Arbitrajes BUS PCI GNT# REQ# PCI GNT# REQ# PCI GNT# REQ# PCI GNT# REQ# Distribuido por Detección de Colisión de Señales (Ethernet) Tema 3/20

Tipos de Arbitrajes Distribuido por Autoselección (SCSI) Tema 3/21

Protocolo: Direccionamiento Lógico: información de dirección de destino está almacenada en el destinatario Geográfico: la dirección está asociada a una posición física Multicast: forma de distribuir información a más de un destinatario Broadcast: forma de distribuir información a todos los destinatarios Tema 3/22

Protocolo: Anchura del Bus Anchura del Bus de Datos: Afecta a las prestaciones del sistema Anchura del Bus de Direcciones: Afecta a la capacidad del sistema Ritmo de Transferencia (Ancho de Banda): MB/s. PCI(1X), BW= 32 bits x 33 MHz /8 = 132 MB/s Tiempo (s) RELOJ Datos Data1 Data2 Data3 Tema 3/23

Transferencias de Ciclo Completo Tiempo Buses Multiplexados Buses Dedicados Dirección Dato Dirección Operación de escritura (multiplexada) Dirección Tiempo acceso Dato Operación de lectura (multiplexada) Dirección Lect Escr Lectura-Modificación-Escritura Dirección Escri Lect Lectura después de escritura Dato Operación de escritura (no multiplexada) Dirección Dato Operación de lectura (no multiplexada) Tema 3/24

Transferencias de Ciclo Partido Dirección Dato Dato Dato Transferencia de un bloque de datos (Burst) BCLK Trasacción 1 Arbitraje Petición Error Snoop Respuesta Datos Trasacción 2 Arbitraje Petición Error Snoop Respuesta Datos Tema 3/25

Demandas de Ritmo de Transferencia en los Periféricos Gráficos Resolución Colores Redisplay Ancho de Banda 160x120 8 bits 15 Imag/s 288 KB/s 640x480 8 bits 10 Imag/s 1.9 MB/s 640x480 24 bits 30 Imag/s 26.3 MB/s 1024x768 24 bits 30 Imag/s 67.5 MB/s ISA: 8 MHz x 2 Bytes x (1/2)= 8 MB/s EISA: 8 MHz x 4 Bytes x (1/2)= 16 MB/s Tema 3/26

Estudio de Casos: Bus PCI Bus PCI 0 BRIDGE Agente PCI Bus PCI Tema 3/27

Tema 3/28 Principales Características PCI Peripheral Component Interconnect, estándar independiente del procesador para expansión de computadores PCI SIG (Special Interest Group, www.pcisig.org): asociación industrial, PCI Express, PCI-X 2.0, PCI 2.3 Bus de tipo multiplexado Temporización síncrona (33/66 MHz) y 32/64 bits de datos Alto Ritmo de Transferencia: 1X=132 MB/s (33MHz, 32 bits), 4X=528 MB/s (66 MHz, 64 bits)

Estructura General PCI CLK IDSEL Control PCI PCI HOST HOST (Puente (Puente Norte) Norte) Arbitro PCI PCI (Slot 1) GNT# REQ# PCI (Slot 2) GNT# REQ# C/BE0-3 AD0-31 PCI (Slot 3) GNT# REQ# PCI (Slot 4) GNT# REQ# Tema 3/29 /INTA..D Controlador de Interrupciones (Puente Sur)

Principales Características PCI Multimaestro. El procesador no es el único maestro del bus. Aplicado a sistemas multiprocesadores Hasta 256 buses con 32 periféricos/bus y 8 controladores/periférico Permite establecer conexiones a través de puentes con buffers internos con otras normas de bus: ISA, EISA, SCSI, etc. Permite el paralelismo de transacciones procesadormemoria y periférico PCI-periférico PCI Autoconfiguración: Plug&Play Tema 3/30

5 voltios Niveles Físico- Mecánico-Eléctrico: Conector PCI Tema 3/31 Organización de pines para eliminar Paradiafonía (Crosstalk)

Nivel Lógico PCI Grupos funcionales de líneas obligatorias (49): Sistema: reloj (CLK), reset (/RST) Direcciones y Datos: Dir/Dat mux (AD[31:0]), interpretación Dir/Dat (/DEVSEL), validación/comando (C/BE[3:0]) Control de la Interfaz: temporización (/FRAME), coordinación fuente/destino (/IRDY, /TRDY), parar transacción (/STOP) Arbitraje: par de líneas desde cada maestro al árbitro (/REQ, /GNT), líneas no compartidas Control de Errores de paridad (PAR, /PERR, /SERR) Activación del Espacio de Configuración: IDSEL Grupos funcionales de líneas opcionales (+51): Interrupciones: para pedir servicio Soporte cache: permite utilizar protocolos de coherencia de memorias caches en el bus, para sistemas multiprocesadores Ampliación del bus a 64 bits Test: JTAG/Boundary Scan Alimentación/Tierra (+24): Soporta: 5 v / 3.3 v (marcas físicas Tema 3/32 en el conector distinitas dependendiendo de 5/3.3 v.)

Sincronización PCI Interpretación de eventos: Activación de eventos por maestro del bus: en transiciones negativas de clk Interpretación de eventos por esclavos del bus: en transiciones positivas de clk Interrupciones activadas por nivel, lo cual permite compartir las líneas entre varios periféricos Tema 3/33

Arbitraje PCI Centralizado Interrupciones activas por nivel, se pueden unir varias líneas Sin algoritmo especificado para prioridad No relentiza las transferencias BUS PCI Arbitro PCI PCI PCI PCI PCI GNT# REQ# GNT# REQ# GNT# REQ# GNT# REQ# Tema 3/34

Tema 3/35 Bus PCI Arbitraje PCI FRAME#, IRDY#, TRDY#, AD, CLK A B REQ#A GNT#A REQ#B GNT#B Arbitro PCI

Transferencias de Datos Modos multiplexados : Tema 3/36 ciclo completo (escritura: 2 clk/dato, lectura: 3 clk/dato), ciclo partido (bloques datos, 1 clk/dato) Estructura de la transferencia: 1 fase de direccionamiento 1 ó varias fases de datos Ritmos de Transferencia Ciclo Completo 1X: escritura= 66 MB/s, lectura= 44 MB/s Ciclo Partido: 1X=132 MB/s (33MHz, 32 bits), 4X=528 MB/s (66 MHz, 64 bits)

Comandos/Ordenes PCI Se utilizan las señales C/BE(3:0) Lectura/Escritura E/S: leer/escribir en registros del controlador de periféricos Lectura/Escritura Memoria: transferencias de bloques de datos, permite ser utilizado en sistemas multiprocesadores en el que se utiliza un algoritmo de coherencia de cache Lectura/Escritura Configuración: permite al usuario del bus leer y escribir en registros de configuración del dispositivo conectado a PCI, máximo número registros: 256, utilizado en Plug&Play Ciclo de Dirección Dual: permite la utilización de direcciones de 64 bits Reconocimiento de Interrupción: el controlador de interrupciones utiliza el bus de datos para leer el identificador de la interrupción Ciclos Especiales Tema 3/37

Tema 3/38 Transacción PCI de Lectura

Tema 3/39 Transacción PCI de Escritura

Autoconfiguración PnP-PCI: Mecanismo Configuración #1 3er tipo de espacio direccionamiento en PCs Registros de Configuración: 2 registros E/S de 32 bits para acceso a la Memoria de Configuración PCI CONFIG_ADDRESS: 0x0cf8 CONFIG_DATA: 0x0cfc, 32 bits Memoria de Configuración: 256 bytes por controlador Tema 3/40

Autoconfiguración PnP-PCI: Mecanismo Configuración #1 ECD=1: acceso a Espacio Configuración PCI ECD=0: acceso a Direccionamiento E/S CONFIG_ADDRESS (E/S= 0x0cf8) 31 30 24 23 16 15 11 10 8 7 2 1 0 EC RESERVADO Nº de BUS PCI en la estructura Nº de dispositivo Función Nº de Registro de la D= jerárquica (0...255) PCI (0...31) (multifunci Ventana Configuración 1 conectado a bus onales) (64 regs) Tipo CONFIG_DATA (E/S= 0x0cfc) 31 0 DATO Tema 3/41

Area de Configuración PCI CONFIG_ADDRESS En el interior del controlador PCI CONFIG_DATA 64 Byte Header Cabecera 192 Bytes available for PCI Unit Dependiente del Formato Fijo 16B 31 16 15 Unit ID Manufacturer ID Status Command Class Code Revision BIST Header Latency CLS Base Address Register (6) Reserved Reserved Expansion ROM Base Address Reserved Reserved MaxLat MinGNT INT-Pin INT-Line Offset 0 00h 04h 08h 0Ch 10h 24h 28h 2Ch 30h 34h 38h 3Ch 256-byte Configuration Area and 64-byte Header Tema 3/42

Campos de Configuración Command (16 bits: 9+7): configura cómo reacciona el módulo PCI a los distintos ciclos de bus Status (16 bits): estado del módulo PCI Class code (24 bits): indica el tipo de módulo PCI. MSB=clase, MediumSB=sub-clase, LSB= interfaz de programación Latency (8 bits): duración máx de operaciones de bus (/FRAME=0, >8 clks) Header: permite indicar el contenido de los otros 48 bytes de la cabecera BIST (8 bits): autotest BAR (32/64 bits): punteros a zonas de memoria o E/S donde se almacenan datos o programas INT-Line (8 bits): línea interrupción asignada, IRQx (0.. 15) INT-Pin (8 bits): petición de interrupción, 0000 (no int), 0001 (/INTA), 0010 (/INTB), etc (MaxLat,MinGNT): máxima y mínima latencia que requiere el módulo PCI, y que es indicado por el fabricante de la placa Tema 3/43

Tema 3/44 Programación a través de BIOS Ensamblador: INT 1aH pci_bios_present: indica si BIOS PCI presente AH= 0xb1, AL=0x01 find_pci_device(); encuentra periféricos PCI AH= 0xb1, AL=0x02, num. fabricante, num. dispositivo read_configuration_area(); lee espacio configuración sobre registro ECX AH= 0xb1, AL=0x08 (byte), AL=0x09 (word) write_configuration_area(); escribe registro de configuración desde registro ECX AH= 0xb1, AL=0x0c (byte), AL=0x0c (word)

Ejemplo pci_bios_present: find_pci_device(); DX: fabricante (8086= Intel ) CX: unidad (7190= 440BX Host/PCI ) SI= indice Versión: x.y; x=bh, y=bl EDX=PCI; 00 49 43 50 Carry=NC; si PCI-BIOS BH=Nº bus; BL[7..3]=unidad; BL[2..0]=función Carry=NC; comando OK Tema 3/45

Programación a través de BIOS con C++ getinterrupt(0x1a); pci_bios_present(); indica si BIOS PCI presente find_pci_device(); encuentra periféricos PCI read_configuration_byte(); lee espacio configuración write_configuration_byte(); escribe registro de configuración Tema 3/46

Ejemplo: Arranque PC Bus No Device No. Func. No. Vendor ID Device ID Device Class IRQ 0 4 1 8086 7111 IDE controller 14/15 0 4 2 8086 7112 Serial bus controller 10 0 11 0 1307 000B Unknown PCI device N/A 1 0 0 12D2 0018 Display controller 11 Tema 3/47

Ejemplo: PCItree (www.pcitree.de) Jerarquía PCI Interrupción IRQx Interrupción PCI DID.VID Situación del módulo en la jerarquía PCI Area de Configuración Tema 3/48