Sistema de autobús


De Wikipedia, la enciclopedia libre
  (Redirigido desde bus dual independiente )
Saltar a navegación Saltar a búsqueda
Ejemplo de un bus de computadora 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 dónde debe enviarse o leerse 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 de nivel del sistema (a diferencia de los buses de ruta de datos internos de una CPU ) conecta la CPU a la memoria y los dispositivos de E / S. [1] Normalmente, un bus de 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 , una unidad central de control y unidad aritmética lógica (ALU, que él llamó la parte central aritmética) se combinaron con la memoria del ordenador y de entrada y salida funciones para formar un equipo de programa almacenado . [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 ALU en lo que se conoció como la unidad central de procesamiento. (UPC).

Las computadoras en las décadas de 1950 y 1960 se construyeron generalmente de manera ad-hoc. Por ejemplo, la CPU, la memoria y las unidades de entrada / salida eran cada uno o más gabinetes conectados por cables. Los ingenieros utilizaron las técnicas comunes de haces de cables estandarizados y ampliaron el concepto a medida que se usaban placas posteriores para sujetar placas de circuito impreso en estas primeras máquinas. El nombre "bus" ya se usaba para " barras de bus " que transportaban energía eléctrica a las diversas 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 buses se estandarizaron más. [6]Los módulos estándar podrí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 E / S y de memoria (y los buses de control y energía requeridos ) a veces se combinaban en un solo 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 de producción masiva y E / S mapeadas en memoria en el bus de memoria, de modo que los dispositivos parecían ser ubicaciones de memoria. Esto se implementó en el Unibus del PDP-11alrededor de 1969, eliminando la necesidad de un bus de E / S independiente. [8] Incluso las computadoras como la PDP-8 sin E / S asignadas en memoria pronto se implementaron con un bus de sistema, lo que permitió que los módulos se conectaran a 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 de IBM usó 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 madre , con solo placas hijas o tarjetas de expansión opcionales en las ranuras del bus del sistema.

Multiprocesamiento simétrico simple usando 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 bus compartido se convirtió rápidamente 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 impulsado por la memoria del programa, la RAM y los dispositivos de E / S. Para evitar la contención del bus en el bus de datos, en cualquier instante solo un dispositivo controla el bus de datos. En sistemas muy simples, solo se requiere que el bus de datos sea un bus bidireccional. En sistemas muy simples, el registro de direcciones de memoria siempre controla el bus de direcciones, la unidad de control siempre impulsa 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 READ donde la memoria del programa conduce la instrucción al bus de datos mientras elel registro de instrucciones bloquea esa instrucción desde el bus de datos. Algunas instrucciones continúan con un ciclo de memoria ESCRITURA en el que el registro de datos de la memoria conduce los datos al bus de datos hacia la RAM o el dispositivo de E / S elegido. Otras instrucciones continúan con otro ciclo de memoria READ donde la RAM elegida, la memoria del programa o el dispositivo de E / S conduce datos al bus de datos mientras que el registro de datos de la memoria retiene 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 maestros de bus que controlan el bus de direcciones. El bus de direcciones, así como el bus de datos en los sistemas de búsqueda de bus , debe ser un bus bidireccional, a menudo implementado 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 particular está autorizado para controlar el bus de direcciones durante este ciclo de bus.

Bus independiente dual

A medida que el diseño de la CPU evolucionó hacia el uso de buses locales más rápidos y buses periféricos más lentos , Intel adoptó la terminología de bus independiente dual (DIB) [ ¿cuál? ] , utilizando el bus frontal externo a la memoria principal del sistema y el bus posterior interno entre una o más CPU y las memorias caché de la CPU . Esto se introdujo en los productos Pentium Pro y Pentium II a mediados o finales de la década de 1990. [15] [16]El bus principal para comunicar datos entre la CPU y la memoria principal y los dispositivos de entrada y salida se denomina bus frontal , y el bus posterior accede al caché de nivel 2.

Desde 2005/2006, considerando una arquitectura en la que 4 procesadores comparten un chipset, el DIB está compuesto por dos buses, cada uno de ellos compartido entre dos CPU. El ancho de banda teórico se duplica en comparación con un bus frontal compartido de hasta 12,8 GB / s en el mejor de los casos. Sin embargo, la información de espionaje útil para garantizar la coherencia de la caché de los datos compartidos ubicados en diferentes cachés debe enviarse en difusión, reduciendo el ancho de banda disponible. Para mitigar esta limitación, se insertó un filtro de rastreo en el conjunto de chips, con el fin de almacenar en caché la información de rastreo. [17]

Las computadoras personales y de servidor modernas 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 incluso puede ser interno a un solo circuito integrado, produciendo un sistema en un chip . Los ejemplos incluyen AMBA , CoreConnect y Wishbone . [18]

Ver también

  • Bus (informática)
  • Interfaz de bus externo
  • Bus de expansión

Referencias

  1. ^ Edward Bosworth. "Capítulo 10 - Descripción general de los autobuses" .
  2. ^ Hui Wu. "Buses informáticos y entrada / salida en paralelo" . 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 por Michael D. Godfrey, Universidad de Stanford, noviembre de 1992.
  4. ^ Michael D. Godfrey; DF Hendry (1993). "La computadora como la planeó von Neumann" (PDF) . IEEE Annals of the History of Computing . 15 (1): 11-21. doi : 10.1109 / 85.194088 . Archivado desde el original (PDF) el 25 de agosto de 2011.
  5. ^ Patente de Estados Unidos 3.470.421 "Barra de bus continua para cableado de máquina de panel posterior de placa de conexión " Donald L. Shore et al., Presentada el 30 de agosto de 1967, emitida el 30 de septiembre de 1969.
  6. ^ Patente estadounidense 3.462.742 "Sistema informático adaptado para ser construido con matrices de circuitos integrados grandes" Henry S. Miller et al., Presentada el 21 de diciembre de 1966, emitida el 19 de agosto de 1969.
  7. ^ Linda Null; Julia Lobur (2010). Los fundamentos de la organización y la arquitectura informática (3ª ed.). Jones y Bartlett Learning. 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. Noonan; W. Wulf (1970). "Una nueva arquitectura para miniordenadores: el DEC PDP-11" (PDF) . Conferencia de Spring Joint Computer : 657–675.
  9. ^ Manual de computadoras pequeñas (PDF) . Corporación de Equipos Digitales. 1973. págs. 2-9.
  10. ^ Miles J. Murdocca; Vincent P. Heuring (2007). Arquitectura y organización informática: 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 de sistema de microordenador 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: bus de sistema de alto rendimiento de Sun para estaciones de trabajo RISC". Compendio de Papeles 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.
  14. ^ Donald Charles Winsor (1989). Organización de memoria de bus y caché para multiprocesadores (PDF) . Departamento de Ingeniería Eléctrica de la Universidad de Michigan. Doctor. disertación.
  15. ^ Todd Langley y Rob Kowalczyk (enero de 2009). "Introducción a la arquitectura Intel: conceptos básicos" (PDF) . Libro blanco . Corporación Intel. Archivado desde el original (PDF) el 7 de junio de 2011 . Consultado el 25 de mayo de 2011 .
  16. ^ "Puerto de gráficos acelerado". Próxima Generación . No. 37. Imagine Media . Enero de 1998. págs. 94–96.
  17. ^ Una introducción a la interconexión Intel® QuickPath, figura 4 https://www.intel.com/content/www/us/en/io/quickpath-technology/quick-path-interconnect-introduction-paper.html
  18. ^ Rudolf Usselmann (9 de enero de 2001). "Revisión de OpenCores SoC Bus" (PDF) . Consultado el 30 de mayo de 2011 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=System_bus&oldid=1042718181#Dual_Independent_Bus "