1 / 97

2. Buses locales normalizados.

2. Buses locales normalizados. Concepto de bus normalizado. Bus AT, ISA, EISA. Bus PCI, AGP. Plug and Play. Ejemplos de aplicación. 2. Buses locales normalizados. 2.1. Concepto de bus normalizado. Gestor del bus (Bus Master). Mecanismos de contienda.

montana
Télécharger la présentation

2. Buses locales normalizados.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2. Buses locales normalizados. • Concepto de bus normalizado. • Bus AT, ISA, EISA. • Bus PCI, AGP. • Plug and Play. • Ejemplos de aplicación. 2. Buses locales normalizados.

  2. 2.1. Concepto de bus normalizado Gestor del bus (Bus Master) Mecanismos de contienda • Bus: Conjunto de líneas eléctricas (tiras de metal sobre una placa de circuito impreso). • Medio compartido: Impresora Teclado Monitor H.D. CPU Memoria MóduloE/S MóduloE/S MóduloE/S MóduloE/S Bus del sistema 2.1. Concepto de bus normalizado.

  3. Estructura: Impresora Teclado Monitor H.D. CPU Memoria MóduloE/S MóduloE/S MóduloE/S MóduloE/S direcciones datos control sincronización 2.1. Concepto de bus normalizado.

  4. Líneas típicas del bus de control. • Escritura en memoria (Memory write). • Lectura de memoria (Memory Read). • Escritura de E/S (I/O Write). • Lectura de E/S (I/O Read). • Transferencia reconocida (Transfer ACK-Acknowledge). • Petición del bus (Bus Request). • Cesión del bus (Bus Grant). • Petición de interrupción (Interrupt Request). • Interrupción reconocida (Interrupt ACK). • Reloj (Clock). • Inicio (Reset). 2.1. Concepto de bus normalizado.

  5. Procesos de transferencia. • Escritura de E/S. • El módulo de E/S que quiere iniciar la transferencia solicita el uso del bus (Bus Request). • El arbitrador le concede el bus (Bus Grant). • Sitúa en el bus de direcciones la dirección de memoria o puerto de E/S donde se quiere transferir el dato. • Sitúa el dato a transferir en el bus de datos. • Activa la línea de I/O Write del bus de control. • El destinatario ha recibido el dato (Transfer ACK). • Deja libre el bus para ser usado por otro módulo. 2.1. Concepto de bus normalizado.

  6. Lectura de E/S. • El módulo de E/S que quiere iniciar la transferencia solicita el uso del bus (Bus Request). • El arbitrador le concede el bus (Bus Grant). • Sitúa en el bus de direcciones la dirección de memoria o puerto de E/S donde se quiere transferir el dato. • Sitúa el dato a transferir en el bus de datos. • Activa la línea de I/O Read del bus de control. • El destinatario ha recibido el dato (Transfer ACK). • Lectura del dato en el bus de datos. • Deja libre el bus para ser usado por otro módulo. 2.1. Concepto de bus normalizado.

  7. Notación. • Módulo que inicia la transferencia: Bus Master. • Módulo direccionado por el Bus Master se denomina Bus Slave. • Arbitrador: circuito especial que recoge las peticiones para tomar el control del bus y decide quién debe tomarlo en cada momento. 2.1. Concepto de bus normalizado.

  8. Elementos de diseño. • Criterios: • Tipo: • dedicados o • multiplexados • (en sentido temporal o físico) • Método de arbitraje: • Centralizado o • distribuido • Temporización: • Síncronos o • asíncronos • Anchura del Bus: • Dirección o datos • Ancho de banda. 2.1. Concepto de bus normalizado.

  9. Ancho de banda de algunos buses típicos. 2.1. Concepto de bus normalizado.

  10. Ancho de banda requerido en algunas aplicaciones. 2.1. Concepto de bus normalizado.

  11. Bus de expansión: • Varias (6, 8, …) ranuras (slots) en los que conectar • tarjeta controladora de CD-ROM, video, fax-modem, … Reseña histórica. • Inicialmente el bus del PC se concibe para la comunicación entre CPU y Memoria. • Necesidad de sacar el bus de sistema al exterior del PC. • Con la aparición del PC-XT (IBM, 1980) se provee al PC de la posibilidad de expandir el bus del sistema mediante un zócalo en el cual conectar tarjetas para conexión con los distintos buses de periféricos. 2.1. Concepto de bus normalizado.

  12. ISA (Industry Standard Arquitecture), 1988 • Inicialmente el bus de expansión XT presentaba las mismas características que el bus de sistema (procesador Intel 8088): • Bus de datos de 8 bits • Reloj: 4.77 MHz • Con la aparición del PC-AT (IBM, 1984) se rompe la relación entre bus y microprocesador (Intel 80286). • En principio el reloj de procesador de un AT funcionaba a la misma velocidad de reloj de bus. • Bus de datos de 16 bits • Reloj: 8.33 MHz • Sin embargo, IBM posibilitó que el microprocesador fuese más rápido que el bus, abriendo una puerta importante a la arquitectura del PC. 2.1. Concepto de bus normalizado.

  13. Bus de datos de 32 bits, reloj: 10 MHz • Objetivo: • mejora de la velocidad de comunicación de datos entre los buses de dispositivos externos y el bus de sistema. • Estrategias: • diseño de arquitecturas y software de comunicación (protocolos) • Ejemplos: ISA, EISA, EDSI, SCSI, IDE, ect. • Las limitaciones del bus de expansión ISA impulsaron nuevas propuestas. • IBM sacó al mercado otro bus que rompía con la compatibilidad con el estándar ISA: MCA Microchannel, montado en la gama PS/2. 2.1. Concepto de bus normalizado.

  14. Cuello de botella en el bus • MCA tuvo poca aceptación entre los fabricantes de tarjetas de expansión puesto que debían ser diseñadas exclusivamente para él. • Buscando compatibilidad con las tarjetas ya existentes los fabricantes establecieron las especificaciones del bus EISA (Extended ISA): • Bus de datos de 32 bits • Reloj: 8.33 MHz (por compatibilidad con ISA) • La revolución en el mercado de los buses surgió con la aparición del procesador Intel 80486 (reloj: 33 MHz) y los sistemas gráficos de ventanas (Microsoft Windows). 2.1. Concepto de bus normalizado.

  15. Bus de datos de 32 bits y en su versión 2.0 de 64 bits. Reloj: partiendo de 33 MHz podía alcanzar hasta 50 MHz. Creación de buses locales • Solución: Enlazar el adaptador gráfico y otros periféricos directamente al microprocesador • Comité VESA (Video Electronics Standards Association, organismo para la estandarización de dispositivos de video) presentó el primer tipo de bus local: VLB. 2.1. Concepto de bus normalizado.

  16. Inicialmente bus de datos de 32 bits y la actualidad de 64 bits. Reloj: partiendo de 20 MHz ha llegado en la actualidad a 66 MHz. Posibilidad de conectar tarjetas que trabajen a distinto voltaje. • En 1992 Intel saca al mercado su bus local: PCI(Peripherical Component Interconnect). No mejoraba a VLB en rendimiento, pero sí superaba carencias que presentaba este último. 2.1. Concepto de bus normalizado.

  17. Evolución de los procesadores Intel para PC. 2.1. Concepto de bus normalizado.

  18. Arquitectura de un PC actual. 2.1. Concepto de bus normalizado.

  19. 2.2. Bus AT, ISA, EISA. • Diferencias entre bus AT y XT: • Para garantizar compatibilidad entre ambas tarjetas se le asigna a las tarjetas de ampliación de un freno de seguridad (señal de estado de espera, wait state), para dar más tiempo a las tarjetas lentas para depositar los datos deseados en la CPU. 2.2. Bus AT, ISA, EISA.

  20. Bus MCA: • La aparición a mediados de los 80 del procesador Intel 80386DX (bus de datos 32 bits) decidió a IBM apostar por la creación de un bus que se adaptara a este tamaño de bus de datos. El bus MCA incorpora, además de este cambio, las siguientes prestaciones: • Reloj: 10 MHz. • Tasa de transferencia de hasta 40 Mbytes por segundo. • (teniendo en cuenta que existe una transferencia por ciclo de reloj). • Incluye un circuito de control especial a cargo del bus (conocido como CAP, punto de decisión central), permitiéndole operar independientemente de la velocidad e incluso del tipo de procesador empleado. 2.2. Bus AT, ISA, EISA.

  21. Bus MCA: • Se establece un mecanismo de arbitraje mediante el cual la CPU no es más que uno de los posibles dispositivos que pueden gestionar transferencias. Un proceso denominado control del bus enlaza con el CAP para determinar y responder a las prioridades de cada uno de los dispositivos. Bus Mastering. • Para permitir la conexión de más dispositivos se introduce un sistema de interrupciones sensibles al nivel, más fiable que el sistema de interrupciones del bus ISA. Compartición de interrupciones. • Plug & Play (8 años antes de que Microsoft lo introdujera en el mercado). • Se introduce una línea de tierra cada cuatro líneas, con lo cual se reducen interferencias. 2.2. Bus AT, ISA, EISA.

  22. Bus MCA: • Errores cometidos: • Consecuencia de las anteriores características hacen que el bus MCA no sea compatible con ISA (solo trabajan con ranuras Micro Canal). • IBM no cedió patentes a los fabricantes de tarjetas y periféricos • Alto coste de los equipos con MCA. 2.2. Bus AT, ISA, EISA.

  23. Bus EISA: • Rival de MCA, diseñado por la mayoría de ordenadores compatibles PC, en un intento por evitar el monopolio de IBM con su bus MCA. • (AST, Compaq, Epson, Hewlett Packard, NEC, Olivetti, Tandy, Wyse y Zenith). • Basado en la idea de controlar el bus desde la CPU y ensanchar la ruta de datos. Mantuvo compatibilidad con ISA (8.33 MHz) y aportó • Sistema abierto. • La arquitectura permite multiproceso: • Varios buses dentro del sistema, cada uno con su procesador. • Presencia de un chip (Chip de Sistema Peripérico Integrado, ISP) en el bus, encargado de controlar el tráfico de datos señalando prioridades para cada posible punto de colisión o bloqueo mediante las reglas de control de la especificación EISA. 2.2. Bus AT, ISA, EISA.

  24. Comparación de tarjetas de ampliación AT y MCA 2.2. Bus AT, ISA, EISA.

  25. Bus EISA. 2.2. Bus AT, ISA, EISA.

  26. 2.3. Bus PCI, AGP. • Bus PCI: • Aparición en 1990 de la mano de IBM. Más adelante se liberalizó su patente. • Bus de conexión de periféricos de alta velocidad. • Independiente de la CPU: • Entre el bus y la CPU se instala un controlador de bus PCI. • Esto permite independencia del microprocesador dentro de un mismo tipo de arquitectura (procesadores Pentium de Intel, procesadores Alpha de DEC) y entre distintos tipos de arquitectura (procesadores PowerMacintosh de Apple). • Bus rápido 33/66 MHz con 32 o 64 bits de datos. • Soporta un ancho de banda máximo de 132/264 MB/s. • Conector estilo Miro Channel de 124 pines (188 en su implementación de 64 bits de datos). • Cada señal activa del bus PCI está junto o frente a una señal de alimentación o de tierra. Con ello se minimiza la radiación. 2.3. Bus PCI, AGP.

  27. 2.3. Bus PCI, AGP. • Bus PCI: • Límite máximo de conectores PCI: 3. • Diseño basado en la simplicidad y flexibilidad. • Permite varios procesadores funcionando simultáneamente. • Configuración automática de dispositivos conectados a él. • Posibilidad de adaptar tarjetas de expansión ISA a PCI, mediante un puente (PCI-To-ISA-Bridge). 2.3. Bus PCI, AGP.

  28. Escenario de desarrollo del bus PCI. • Dispositivos que precisan transferencias de grandes bloques de datos (ej.: tarjeta de video, SCSI, tarjeta de red) estaban conectados a una de las ranuras del bus de expansión (ISA, EISA o MCA). • Todos estos buses sufren de una inadecuada tasa de transferencia de datos. • En muchas ocasiones, subsistemas (tarjeta de video), eran integradas en la misma placa base. Esto podría hacer pensar que no estaban conectadas al bus de expansión. Sin embargo sí lo hacía a través de una versión del bus con buffer. A este bus se le conocía como X-bus (eXtension del bus de expansión) 2.3. Bus PCI, AGP.

  29. X-bus. 2.3. Bus PCI, AGP.

  30. Métodos de conexión de un dispositivo al bus local del microprocesador. • Conexión directa. • Restricciones: • Dependencia del procesador. • Sólo puede ser utilizado un dispositivo local para evitar problemas de impedancia por extra carga. • Interfaz de conexión del dispositivo con el bus local costosa, dada la alta frecuencia a la que se trabaja. • No permite transferencias de datos entre la CPU y otros dispositivos mientras el dispositivo conectado directamente al bus local mantenga transferencias con otros periféricos. • Ejemplo: VLB tipo A. • Conexión mediante buffer. • Mejoras respecto a la conexión directa: • Al estar el bus local con buffer eléctricamente aislado del bus local del procesador, sólo presenta una impedancia. Usualmente se pueden ubicar hasta tres dispositivos. 2.3. Bus PCI, AGP.

  31. Restricciones: • En esencia, el bus local con buffer y el bus local del procesador son un único bus: cualquier transferencia iniciada por la CPU alcanzará el bus local con buffer, aunque no se dirija a ninguno de los dispositivos alojados allí. Es decir, no es posible la utilización simultánea. • Ejemplo: VLB tipo B. • Conexión con filosofía de estación de trabajo. • Mejoras respecto a los anteriores: • Introducción de un a caché de nivel 2 unida a un puente para adaptar las velocidades de transferencia entre el bus local del procesador y el bus de entrada/salida de alta velocidad. • Independencia del procesador que implementa la CPU. • Ejemplo: PCI. 2.3. Bus PCI, AGP.

  32. Conexión directa al bus local. 2.3. Bus PCI, AGP.

  33. Conexión al bus local mediante buffer. 2.3. Bus PCI, AGP.

  34. Conexión al bus local mediante filosofía de • estación de trabajo. 2.3. Bus PCI, AGP.

  35. VLB. • Características: • Aparición en Agosto de 1992 (coetáneo al Intel 80486). • VLB es una expansión homogeneizada del bus local, que funciona a 32 bits. • Puede realizar operaciones a 16 bits. • No existen límites de frecuencia (ni superiores ni inferiores). • Problemas de fiabilidad cuando hay muchas conexiones que incrementan la capacitancia y aumenta la frecuencia de reloj. • Recomendaciones del fabricante: • Con frecuencias de reloj > 33 MHz, máximo 3 dispositivos. • Con frecuencias de reloj a 40 MHz, máximo 2 dispositivos. • Con frecuencias de reloj a 50 MHz, máximo 1 dispositivo. 2.3. Bus PCI, AGP.

  36. VLB. 2.3. Bus PCI, AGP.

  37. VLB. • Restricciones: • Fuerte dependencia del diseño VLB de la arquitectura 486. • Dificultad para ser readaptado a las familias Pentium. • Poca viabilidad eléctrica del sistema al ser capaz de soportar un número muy reducido de tarjeta VLB (como mucho 3). • No compatibilidad del VLB con las normas “Bus Mastering” y “Plug & Play”. 2.3. Bus PCI, AGP.

  38. Bus PCI. 2.3. Bus PCI, AGP.

  39. Bus PCI. 2.3. Bus PCI, AGP.

  40. Señales funcionales de maestro y esclavo. 2.3. Bus PCI, AGP.

  41. Características físicas de las tarjetas de ampliación PCI. • Dos formatos según anchura de bus: 32 o 64 bits. • Dos formatos según voltaje de alimentación: 5 y 3.3 V. 2.3. Bus PCI, AGP.

  42. Tarjeta universal. 2.3. Bus PCI, AGP.

  43. Pines de las tarjetas de ampliación PCI. 2.3. Bus PCI, AGP.

  44. Comandos PCI. 2.3. Bus PCI, AGP.

  45. Mapeado de caminos de datos y ubicación dentro del bus AD. 2.3. Bus PCI, AGP.

  46. Interpretación de los bytes habilitados durante una fase de datos. ... 2.3. Bus PCI, AGP.

  47. Protocolo de transacciones: ejemplo de proceso de lectura (de un maestro a un esclavo). El maestro tiene el control del bus, adjudicado por el arbitrador El iniciador comienza la transacción, activando FRAME# y seleccionando el dispositivo e indicando la orden El iniciador desactiva FRAME#, para indicar que es la última transferencia de la transacción Bytes habilitados Bytes habilitados CMD DATO 1 D 2 DATO 3 Selección del dispositivo esclavo Bytes habilitados Estado de espera El iniciador desactiva IRDY#, volviendo el bus a un estado libre Estado de espera El esclavo desactiva TRDY Transferencia de datos Transferencia de datos El esclavo desactiva DEVSEL 2 3 4 5 6 7 8 9 10 1 CLK GNT# FRAME# C/BE# AD IRDY# TRDY# Transferencia de datos DEVSEL# 2.3. Bus PCI, AGP.

  48. Protocolo de transacciones: ejemplo de proceso de escritura (de un maestro a un esclavo). 2.3. Bus PCI, AGP.

  49. Arbitraje en el bus PCI. • Procedimiento por el que se selecciona el maestro que adquiere el control del bus para la próxima transferencia. • Arbitraje centralizado síncrono. • EL arbitrador suele estar integrado en el chipset PCI (específicamenete en el chip host/PCI o en el chip puente de bus de expansión PCI). 2.3. Bus PCI, AGP.

  50. Algoritmo de arbitraje en bus PCI. • La especificación no define un algoritmo de arbitraje. • El arbitrador utilizará uno de los algoritmos usuales: • Prioridad fija. • Primero-en-llegar-primero-en-servirse: el bus se cede por orden de llegad de las peticiones. • Prioridad rotacional. (Cesión cíclica) • Round Robin: el bus se cede por turnos a cada maestro. Si uno no tiene una petición en un momento dado, se pasa al siguiente. • Combinación de los anteriores (rotacional dentro de un grupo de un grupo de maestros y fijo dentro de otro grupo). 2.3. Bus PCI, AGP.

More Related