stringtranslate.com

Sistema de autobús

Ejemplo de un bus informático de un solo sistema.

Un bus de sistema es un bus de computadora único que conecta los componentes principales de un sistema de computadora, combinando las funciones de un bus de datos para transportar información, un bus de direcciones para determinar desde dónde se debe enviar o leer y un bus de control para determinar su operación. La técnica se desarrolló para reducir costos y mejorar la modularidad y, aunque fue popular en las décadas de 1970 y 1980, las computadoras más modernas utilizan una variedad de buses separados adaptados a necesidades más específicas.

El bus a nivel del sistema (a diferencia de los buses de ruta de datos internos de una CPU ) conecta la CPU a la memoria y a los dispositivos de E/S. [1] Normalmente, un bus a nivel de sistema está diseñado para usarse como backplane . [2]

Escenario de fondo

Muchas de las computadoras se basaron en el Primer Borrador de un Informe sobre el informe EDVAC publicado en 1945. En lo que se conoció como la arquitectura de Von Neumann , se creó una unidad de control central y una unidad lógica aritmética (ALU, a la que llamó parte aritmética central). se combinaron con la memoria de la computadora y funciones de entrada y salida para formar un programa almacenado en la computadora . [3] El Informe presentó una organización general y un modelo teórico de la computadora, sin embargo, no la implementación de ese modelo. [4] Pronto los diseños integraron la unidad de control y la ALU en lo que se conoció como la unidad central de procesamiento (CPU).

Las computadoras en las décadas de 1950 y 1960 generalmente se construían de manera ad hoc. Por ejemplo, las unidades de CPU, memoria y entrada/salida eran cada una de ellas uno o más gabinetes conectados mediante cables. Los ingenieros utilizaron técnicas comunes de haces de cables estandarizados y ampliaron el concepto a medida que se usaban placas posteriores para sostener placas de circuito impreso en estas primeras máquinas. El nombre "bus" ya se utilizaba para las " barras colectoras " que transportaban energía eléctrica a las distintas partes de las máquinas eléctricas, incluidas las primeras calculadoras mecánicas. [5] La llegada de los circuitos integrados redujo enormemente el tamaño de cada unidad de computadora y los autobuses se volvieron más estandarizados. [6] Los módulos estándar podían interconectarse de formas más uniformes y eran más fáciles de desarrollar y mantener.

Descripción

Para proporcionar aún más modularidad con un costo reducido, los buses de memoria y E/S (y los buses de control y alimentación necesarios ) a veces se combinaban en un único bus de sistema unificado. [7] La ​​modularidad y el costo se volvieron importantes a medida que las computadoras se volvieron lo suficientemente pequeñas como para caber en un solo gabinete (y los clientes esperaban reducciones de precios similares).Digital Equipment Corporation (DEC) redujo aún más el costo de las minicomputadoras producidas en masa y las E/S asignadas en memoria al bus de memoria, de modo que los dispositivos parecían ser ubicaciones de memoria. Esto se implementó en el Unibus del PDP-11 alrededor de 1969, eliminando la necesidad de un bus de E/S separado. [8] Incluso las computadoras como la PDP-8 sin E/S asignadas en memoria pronto se implementaron con un bus de sistema, que permitía conectar módulos en cualquier ranura. [9] Algunos autores llamaron a esto un nuevo "modelo" simplificado de arquitectura informática. [10]

Muchas de las primeras microcomputadoras (con una CPU generalmente en un solo circuito integrado ) se construyeron con un solo bus de sistema, comenzando con el bus S-100 en el sistema informático Altair 8800 alrededor de 1975. [11] La PC IBM usaba la arquitectura estándar de la industria (ISA) como bus del sistema en 1981. Los backplanes pasivos de los primeros modelos fueron reemplazados por el estándar de colocar la CPU y la RAM en una placa base , con solo placas secundarias o tarjetas de expansión opcionales en las ranuras del bus del sistema.

Multiprocesamiento simétrico simple utilizando un bus de sistema

El Multibus se convirtió en un estándar del Instituto de Ingenieros Eléctricos y Electrónicos como estándar IEEE 796 en 1983. [12] Sun Microsystems desarrolló el SBus en 1989 para admitir tarjetas de expansión más pequeñas. [13] La forma más sencilla de implementar el multiprocesamiento simétrico era conectar más de una CPU al bus del sistema compartido, que se utilizó durante la década de 1980. Sin embargo, el autobús compartido rápidamente se convirtió en el cuello de botella y se exploraron técnicas de conexión más sofisticadas. [14]

Incluso en sistemas muy simples, en varios momentos el bus de datos es controlado por la memoria del programa, por la RAM y por los dispositivos de E/S. Para evitar la contención del bus de datos, en cualquier instante solo un dispositivo controla el bus de datos. En sistemas muy simples, sólo se requiere que el bus de datos sea bidireccional. En sistemas muy simples, el registro de direcciones de la memoria siempre controla el bus de direcciones, la unidad de control siempre controla el bus de control y un decodificador de direcciones selecciona qué dispositivo en particular puede controlar el bus de datos durante este ciclo de bus. En sistemas muy simples, cada ciclo de instrucción comienza con un ciclo de memoria LECTURA donde la memoria del programa dirige la instrucción al bus de datos mientras el registro de instrucciones bloquea esa instrucción del bus de datos. Algunas instrucciones continúan con un ciclo de memoria de ESCRITURA en el que el registro de datos de la memoria envía datos al bus de datos hacia la RAM o el dispositivo de E/S elegido. Otras instrucciones continúan con otro ciclo de memoria LECTURA donde la RAM, la memoria de programa o el dispositivo de E/S elegidos introducen datos en el bus de datos mientras el registro de datos de la memoria bloquea esos datos del bus de datos.

Los sistemas más complejos tienen un bus multimaestro : no solo tienen muchos dispositivos que controlan el bus de datos, sino que también tienen muchos buses maestros que controlan el bus de direcciones. Se requiere que el bus de direcciones, así como el bus de datos en los sistemas de vigilancia de bus , sean bidireccionales, a menudo implementados como un bus de tres estados . Para evitar la contención del bus en el bus de direcciones, un árbitro de bus selecciona qué maestro de bus en particular puede conducir el bus de direcciones durante este ciclo de bus.

Autobús doble independiente

Intel ha utilizado el término bus dual independiente (DIB) para dos propósitos diferentes. El primero se produjo cuando Intel cambió de un único bus local al DIB, utilizando el bus frontal externo para la memoria principal del sistema y los dispositivos de E/S, y el bus interno posterior para la caché de la CPU L2 . Esto se introdujo en el Pentium Pro en 1995. [15] [16] [17]

En 2005 y 2006, Intel introdujo los conjuntos de chips 8500 y 5000, donde DIB se refería a los dos buses frontales de un conjunto de chips, lo que duplica el ancho de banda del sistema en comparación con tener solo un FSB compartido por todas las CPU. Sin embargo, la información necesaria para garantizar la coherencia de la caché de los datos compartidos ubicados en diferentes cachés debe enviarse en difusión (snooped) para verificar el estado de la caché de las CPU del otro FSB, reduciendo el ancho de banda disponible. Para reducir el tráfico de coherencia, se incluyó un filtro de vigilancia en los conjuntos de chips de gama alta, para tener información del estado de la caché disponible en el conjunto de chips. En 2007, Intel amplió la idea de múltiples buses en el chipset 7300 con cuatro FSB independientes, llamándolos interconexiones dedicadas de alta velocidad (DHSI). [18]

El enfoque del bus del sistema está obsoleto en las computadoras personales y servidores modernas, que en su lugar utilizan tecnologías de interconexión de mayor rendimiento como HyperTransport e Intel QuickPath Interconnect , mientras que la arquitectura del bus del sistema continuó utilizándose en microprocesadores integrados más simples. El bus de sistemas puede incluso ser interno a un único circuito integrado, produciendo un sistema en un chip . Los ejemplos incluyen AMBA , CoreConnect y Wishbone . [19]

Ejemplos

Interfaz de medios directa Intel

Direct Media Interface es un ejemplo de un bus de sistema (además de los carriles PCIE a los que se accede directamente ) implementado por Intel y conocido desde al menos 2004. Se utiliza principalmente para acceder a dispositivos de E/S asignados en memoria y comunicar la CPU al chipset .

Ver también

Referencias

  1. ^ Eduardo Bosworth. "Capítulo 10 - Descripción general de los autobuses".
  2. ^ Hui Wu. "Buses informáticos y entradas/salidas paralelas". 2006.
  3. ^ John von Neumann (30 de junio de 1945). «Primer Borrador de Informe sobre el EDVAC» (PDF) . Archivado desde el original (PDF) el 14 de marzo de 2013 . Consultado el 27 de mayo de 2011 .Introducción y edición de Michael D. Godfrey, Universidad de Stanford, noviembre de 1992.
  4. ^ Michael D. Godfrey; DF Hendry (1993). "La computadora como la planeó von Neumann" (PDF) . Anales IEEE de la historia de la informática . 15 (1): 11–21. doi : 10.1109/85.194088. S2CID  569933. Archivado desde el original (PDF) el 25 de agosto de 2011.
  5. ^ Patente estadounidense 3.470.421 "Barra colectora continua para cableado de máquina del panel posterior de la placa conectora" Donald L. Shore et al., presentada el 30 de agosto de 1967, expedida el 30 de septiembre de 1969.
  6. ^ Patente estadounidense 3.462.742 "Sistema informático adaptado para ser construido con grandes conjuntos de circuitos integrados" Henry S. Miller et al., presentada el 21 de diciembre de 1966, expedida el 19 de agosto de 1969.
  7. ^ Linda nula; Julia Lobur (2010). Los fundamentos de la organización y arquitectura de las computadoras (3ª ed.). Aprendizaje de Jones y Bartlett. págs.36, 199-203. ISBN 978-1-4496-0006-8.
  8. ^ C. Gordon Bell; R. Cady; H. McFarland; B. Delagi; J. O'Laughlin; R. Noona; W. Wulf (1970). "Una nueva arquitectura para minicomputadoras: la DEC PDP-11" (PDF) . Conferencia informática conjunta de primavera : 657–675.
  9. ^ Manual de computadoras pequeñas (PDF) . Corporación de equipos digitales. 1973, págs. 2–9.
  10. ^ Miles J. Murdocca; Vicente P. Heuring (2007). Arquitectura y organización de computadoras: un enfoque integrado . John Wiley e hijos. pag. 11.ISBN _ 978-0-471-73388-1.
  11. ^ Herbert R. Johnson. "Orígenes de las computadoras S-100".
  12. ^ "796-1983 - Bus del sistema de microcomputadora estándar IEEE". Instituto de Ingenieros Eléctricos y Electrónicos . 1983 . Consultado el 25 de mayo de 2011 .
  13. ^ Frank, EH (1990). "El SBus: el bus del sistema de alto rendimiento de Sun para estaciones de trabajo RISC". Resumen de artículos Compcon Spring '90. Trigésima quinta conferencia internacional de la IEEE Computer Society sobre apalancamiento intelectual . págs. 189-194. doi :10.1109/CMPCON.1990.63672. ISBN 0-8186-2028-5. S2CID  25815415.
  14. ^ Donald Charles Winsor (1989). Organización de la memoria caché y bus para multiprocesadores (PDF) . Departamento de Ingeniería Eléctrica de la Universidad de Michigan.Doctor. disertación.
  15. ^ El director ejecutivo de Intel revela una nueva arquitectura de bus que se implementará en el próximo microprocesador Pentium® II
  16. ^ Todd Langley y Rob Kowalczyk (enero de 2009). "Introducción a la arquitectura Intel: conceptos básicos" (PDF) . Papel blanco . Corporación Intel. Archivado desde el original (PDF) el 7 de junio de 2011 . Consultado el 25 de mayo de 2011 .
  17. ^ "Puerto de gráficos acelerados". Próxima generación . Núm. 37. Imagine Media . Enero de 1998. págs. 94–96.
  18. ^ Introducción a la interconexión Intel® QuickPath, figuras 4 y 5.
  19. ^ Rudolf Usselmann (9 de enero de 2001). "Revisión del bus OpenCores SoC" (PDF) . Consultado el 30 de mayo de 2011 .