stringtranslate.com

Системная шина

Пример единой системной компьютерной шины

Системная шина — это единая компьютерная шина , которая соединяет основные компоненты компьютерной системы, объединяя функции шины данных для передачи информации, адресной шины для определения того, куда ее следует отправлять или откуда считывать, и шины управления для определения ее работы. Эта технология была разработана для снижения затрат и улучшения модульности, и хотя она была популярна в 1970-х и 1980-х годах, более современные компьютеры используют множество отдельных шин, адаптированных к более конкретным потребностям.

Шина системного уровня ( в отличие от внутренних шин каналов передачи данных ЦП ) соединяет ЦП с памятью и устройствами ввода-вывода. [1] Обычно шина системного уровня предназначена для использования в качестве объединительной платы . [2]

Фоновый сценарий

Многие из компьютеров были основаны на Первом проекте отчета по отчету EDVAC, опубликованном в 1945 году. В том, что стало известно как архитектура фон Неймана , центральный блок управления и арифметико-логическое устройство (АЛУ, которое он назвал центральной арифметической частью) были объединены с памятью компьютера и функциями ввода и вывода , чтобы сформировать компьютер с хранимой программой . [3] Отчет представил общую организацию и теоретическую модель компьютера, однако не реализацию этой модели. [4] Вскоре проекты объединили блок управления и АЛУ в то , что стало известно как центральный процессор (ЦП).

Компьютеры в 1950-х и 1960-х годах, как правило, конструировались по принципу ad-hoc. Например, процессор, память и блоки ввода/вывода представляли собой один или несколько шкафов, соединенных кабелями. Инженеры использовали распространенные методы стандартизированных пучков проводов и расширили концепцию, поскольку объединительные платы использовались для размещения печатных плат в этих ранних машинах. Название «шина» уже использовалось для « шинных шин », которые передавали электроэнергию к различным частям электрических машин, включая ранние механические калькуляторы. [5] Появление интегральных схем значительно уменьшило размер каждого компьютерного блока, и шины стали более стандартизированными. [6] Стандартные модули могли быть соединены между собой более единообразными способами и их было легче разрабатывать и обслуживать.

Описание

Чтобы обеспечить еще большую модульность при сниженной стоимости, шины памяти и ввода-вывода (а также необходимые шины управления и питания ) иногда объединялись в одну унифицированную системную шину. [7] Модульность и стоимость стали важными, поскольку компьютеры стали достаточно маленькими, чтобы поместиться в одном корпусе (и клиенты ожидали аналогичного снижения цен). Digital Equipment Corporation (DEC) еще больше снизила стоимость для серийно выпускаемых мини-компьютеров и отобразила ввод-вывод в памяти на шине памяти, так что устройства казались ячейками памяти. Это было реализовано в Unibus PDP -11 около 1969 года, что устранило необходимость в отдельной шине ввода-вывода. [8] Даже компьютеры, такие как PDP-8 без отображенного в память ввода-вывода, вскоре были реализованы с системной шиной, которая позволяла подключать модули в любой слот. [9] Некоторые авторы называли это новой оптимизированной «моделью» компьютерной архитектуры. [10]

Многие ранние микрокомпьютеры (обычно с центральным процессором на одной интегральной схеме ) были построены с одной системной шиной, начиная с шины S-100 в компьютерной системе Altair 8800 примерно в 1975 году. [11] IBM PC использовал шину промышленной стандартной архитектуры (ISA) в качестве своей системной шины в 1981 году. Пассивные объединительные платы ранних моделей были заменены стандартом размещения центрального процессора и оперативной памяти на материнской плате , с использованием только дополнительных дочерних плат или карт расширения в слотах системной шины.

Простая симметричная многопроцессорная обработка с использованием системной шины

Multibus стал стандартом Института инженеров по электротехнике и электронике как стандарт IEEE 796 в 1983 году. [ 12] Sun Microsystems разработала SBus в 1989 году для поддержки меньших карт расширения. [13] Самым простым способом реализации симметричной многопроцессорной обработки было подключение более одного ЦП к общей системной шине, которая использовалась в течение 1980-х годов. Однако общая шина быстро стала узким местом, и были исследованы более сложные методы подключения. [14]

Даже в очень простых системах в разное время шина данных управляется программной памятью, ОЗУ и устройствами ввода-вывода. Чтобы предотвратить конфликт шины на шине данных, в любой момент времени только одно устройство управляет шиной данных. В очень простых системах только шина данных должна быть двунаправленной шиной. В очень простых системах регистр адреса памяти всегда управляет адресной шиной, блок управления всегда управляет управляющей шиной, а декодер адреса выбирает, какому конкретному устройству разрешено управлять шиной данных во время этого цикла шины. В очень простых системах каждый цикл инструкций начинается с цикла READ памяти, где программная память передает инструкцию на шину данных, в то время как регистр инструкций фиксирует эту инструкцию на шине данных. Некоторые инструкции продолжаются циклом WRITE памяти, где регистр данных памяти передает данные на шину данных в выбранное ОЗУ или устройство ввода-вывода. Другие инструкции продолжаются другим циклом READ памяти, где выбранное ОЗУ, программная память или устройство ввода-вывода передает данные на шину данных, в то время как регистр данных памяти фиксирует эти данные на шине данных.

Более сложные системы имеют многомастерную шину — они не только имеют много устройств, каждое из которых управляет шиной данных, но также имеют много мастеров шины , каждое из которых управляет адресной шиной. Адресная шина, а также шина данных в системах отслеживания шины должны быть двунаправленными, часто реализуемыми как трехсостоянная шина . Чтобы предотвратить конфликт шин на адресной шине, арбитр шины выбирает, какому конкретно мастеру шины разрешено управлять адресной шиной во время этого цикла шины.

Двойная независимая шина

Intel использовала термин Dual Independent Bus (DIB) для двух различных целей. Первая возникла, когда Intel перешла с одной локальной шины на DIB, используя внешнюю фронтальную шину для основной системной памяти и устройств ввода-вывода, а внутреннюю тыльную шину для кэша L2 CPU . Это было введено в Pentium Pro в 1995 году. [15] [16] [17]

В 2005 и 2006 годах Intel представила чипсеты 8500 и 5000, где DIB ссылался на две передние шины на чипсете, что удваивает пропускную способность системы по сравнению с использованием только одной FSB, общей для всех процессоров. Однако информация, необходимая для обеспечения согласованности кэша общих данных, расположенных в разных кэшах, должна быть отправлена ​​в широковещательном режиме (snooped) для проверки состояния кэша процессоров других FSB, что снижает доступную пропускную способность. Чтобы уменьшить трафик согласованности, в чипсеты более высокого класса был включен фильтр snoop , чтобы иметь информацию о состоянии кэша, доступную на чипсете. В 2007 году Intel расширила идею нескольких шин в чипсете 7300 с четырьмя независимыми FSB, назвав это выделенными высокоскоростными межсоединениями (DHSI). [18]

Подход системной шины устарел в современных персональных и серверных компьютерах, которые вместо этого используют более производительные технологии соединения, такие как HyperTransport и Intel QuickPath Interconnect , в то время как архитектура системной шины продолжала использоваться на более простых встроенных микропроцессорах. Системная шина может быть даже внутренней для одной интегральной схемы, создавая систему на кристалле . Примерами являются AMBA , CoreConnect и Wishbone . [19]

Примеры

Интерфейс Intel Direct Media

Direct Media Interface — пример системной шины (помимо линий PCIE с прямым доступом ), реализованной Intel и известной как минимум с 2004 года. Она в основном используется для доступа к устройствам ввода-вывода, отображенным в памяти , и для связи ЦП с чипсетом .

Смотрите также

Ссылки

  1. ^ Эдвард Босворт. «Глава 10 – Обзор автобусов».
  2. ^ Хуэй Ву. «Компьютерные шины и параллельный ввод/вывод». 2006.
  3. ^ Джон фон Нейман (30 июня 1945 г.). «Первый черновик отчета по EDVAC» (PDF) . Архивировано из оригинала (PDF) 14 марта 2013 г. . Получено 27 мая 2011 г. .Введение и редактирование Майкла Д. Годфри, Стэнфордский университет, ноябрь 1992 г.
  4. ^ Майкл Д. Годфри; Д. Ф. Хендри (1993). «Компьютер, каким его задумал фон Нейман» (PDF) . IEEE Annals of the History of Computing . 15 (1): 11–21. doi :10.1109/85.194088. S2CID  569933. Архивировано из оригинала (PDF) 25.08.2011.
  5. ^ Патент США 3,470,421 «Непрерывная шина для проводки задней панели соединительной пластины машины» Дональд Л. Шор и др., подан 30 августа 1967 г., выдан 30 сентября 1969 г.
  6. Патент США 3,462,742 «Компьютерная система, адаптированная для построения больших массивов интегральных схем» Генри С. Миллер и др., подан 21 декабря 1966 г., выдан 19 августа 1969 г.
  7. ^ Линда Налл; Джулия Лобур (2010). Основы организации и архитектуры компьютера (3-е изд.). Jones & Bartlett Learning. стр. 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). "Новая архитектура для мини-компьютеров — DEC PDP-11" (PDF) . Весенняя объединенная компьютерная конференция : 657–675.
  9. ^ Small Computer Handbook (PDF) . Digital Equipment Corporation. 1973. С. 2–9.
  10. ^ Майлз Дж. Мёрдокка; Винсент П. Хойринг (2007). Архитектура и организация компьютера: комплексный подход . John Wiley & Sons. стр. 11. ISBN 978-0-471-73388-1.
  11. ^ Герберт Р. Джонсон. «Истоки компьютеров S-100».
  12. ^ "796-1983 — IEEE Standard Microcomputer System Bus". Институт инженеров по электротехнике и электронике . 1983. Получено 25 мая 2011 г.
  13. ^ Frank, EH (1990). "SBus: высокопроизводительная системная шина Sun для рабочих станций RISC". Сборник статей Compcon Spring '90. Тридцать пятая международная конференция IEEE Computer Society по интеллектуальному рычагу . стр. 189–194. doi :10.1109/CMPCON.1990.63672. ISBN 0-8186-2028-5. S2CID  25815415.
  14. ^ Дональд Чарльз Уинзор (1989). Организация шины и кэш-памяти для мультипроцессоров (PDF) . Кафедра электротехники Мичиганского университета.Кандидатская диссертация.
  15. ^ Генеральный директор Intel раскрывает новую архитектуру шины, которая будет реализована в готовящемся микропроцессоре Pentium® II
  16. ^ Тодд Лэнгли и Роб Ковальчик (январь 2009 г.). «Введение в архитектуру Intel: основы» (PDF) . Белая книга . Корпорация Intel. Архивировано из оригинала (PDF) 7 июня 2011 г. . Получено 25 мая 2011 г. .
  17. ^ "Accelerated Graphics Port". Next Generation . № 37. Imagine Media . Январь 1998. С. 94–96.
  18. ^ Введение в Intel® QuickPath Interconnect, рисунки 4 и 5.
  19. ^ Рудольф Уссельман (9 января 2001 г.). "Обзор шины OpenCores SoC" (PDF) . Получено 30 мая 2011 г.