Шина (компьютеры)

Шина (компьютеры)
Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16), по сравнению с обычным 32-битным разъемом шины

Компьютерная ши́на (от англ. computer bus, bidirectional universal switch — двунаправленный универсальный коммутатор) — в архитектуре компьютера подсистема, которая передаёт данные между функциональными блоками компьютера. Обычно шина управляется драйвером. В отличие от связи точка—точка, к шине можно подключить несколько устройств по одному набору проводников. Каждая шина определяет свой набор коннекторов для физического подключения устройств, карт и кабелей.

Ранние компьютерные шины представляли собой параллельные электрические шины с несколькими подключениями, но сейчас данный термин используется для любых физических механизмов, предоставляющих такую же логическую функциональность, как параллельные компьютерные шины. Современные компьютерные шины используют как параллельные, так и последовательные соединения и могут иметь параллельные (multidrop) и цепные (daisy chain) топологии. В случае хабы.

Содержание

История

Первое поколение

Ранние компьютерные шины были группой проводников, подключающей компьютерную память и периферию к процессору. Почти всегда для памяти и периферии использовались разные шины, с разным способом доступа, задержками, протоколами.

Одним из первых усовершенствований стало использование прерываний. До их внедрения компьютеры выполняли операции ввода-вывода в цикле ожидания готовности периферийного устройства. Это было бесполезной тратой времени для программ, которые могли делать другие задачи. Также, если программа пыталась выполнить другие задачи, она могла проверить состояние устройства слишком поздно и потерять данные. Поэтому инженеры дали возможность периферии прерывать процессор. Прерывания имели приоритет, так как процессор может выполнять только код для одного прерывания в один момент времени, а также некоторые устройства требовали меньших задержек, чем другие.

Некоторое время спустя, компьютеры стали распределять память между процессорами. На них доступ к шине также получил приоритеты.

Классический и простой способ обеспечить приоритеты прерываний или доступа к шине заключался в цепном подключении устройств.

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

Первые миникомпьютерные шины представляли пассивные объединительные платы, подключенные к контактам микропроцессора. Память и другие устройства подключались к шине с использованием тех же контактов адреса и данных, что и процессор. Все контакты были подключены параллельно. В некоторых случаях, например в IBM PC, необходимы дополнительные инструкции процессора для генерации сигналов, чтобы шина была настоящей шиной ввода-вывода.

Во многих микроконтроллерах и встраиваемых системах шины ввода-вывода до сих пор не существует. Процесс передачи контролируется ЦПУ, который в большинстве случаев читает и пишет информацию в устройства, так, как будто они являются блоками памяти. Все устройства используют общий источник тактового сигнала. Периферия может запросить обработку информации путём подачи сигналов на специальные контакты ЦПУ, используя какие-либо формы прерываний. Например, контроллер жёсткого диска уведомит процессор о готовности новой порции данных для чтения, после чего процессор должен считать их из области памяти, соответствующей контроллеру. Почти все ранние компьютеры были построены по таким принципам, начиная от Altair с шиной S-100 (англ.), заканчивая IBM PC в 1980‑х.

Такие простые шины имели серьёзный недостаток для универсальных компьютеров. Всё оборудование на шине должно было передавать информацию на одной скорости и использовать один источник синхросигнала. Увеличение скорости процессора было не простым, так как требовало такого же ускорения всех устройств. Это часто приводило к ситуации, когда очень быстрым процессорам приходилось замедляться для возможности передачи информации некоторым устройствам. Хотя это допустимо для встраиваемых систем, данная проблема непозволительна для коммерческих компьютеров. Другая проблема состоит в том, что процессор требуется для любых операций, и когда он занят другими операциями, реальная пропускная способность шины может значительно страдать.

Такие компьютерные шины были сложны в настройке, при наличии широкого спектра оборудования. Например, каждая добавляемая карта расширения могла требовать установки множества переключателей для задания адреса памяти, адреса ввода-вывода, приоритетов и номеров прерываний.

Второе поколение

Компьютерные шины «второго поколения», например NuBus решали некоторые из вышеперечисленных проблем. Они обычно разделяли компьютер на две «части», процессор и память в одной и различные устройства в другой. Между частями устанавливался специальный контроллер шин (bus controller). Такая архитектура позволила ускорять скорость процессора без влияния на шину, разгрузить процессор от задач управления шиной. При помощи контроллера устройства на шине могли взаимодействовать друг с другом без вмешательства центрального процессора. Новые шины имели лучшую производительность, но также требовали более сложных карт расширения. Проблемы скорости часто решались увеличением разрядности шины данных, с 8-ми битных шин первого поколения до 16 или 32-х битных шин во втором поколении. Также появилась программная настройка устройств для упрощения подключения новых устройств, ныне стандартизованная как Plug-n-play.

Однако новые шины, так же как и предыдущее поколение, требовали одинаковых скоростей от устройств на одной шине. Процессор и память теперь были изолированы на собственной шине и их скорость росла быстрее, чем скорость переферийной шины. В результате, шины были слишком медленны для новых систем и машины страдали от нехватки данных. Один из примеров данной проблемы: видеокарты быстро совершенствовались, и им не хватало пропускной способности даже новых шин (PCI). Компьютеры стали включать в себя (AGP) только для работы с видеоадаптерами. В 2004 году AGP снова стало недостаточно быстрым для мощных видеокарт и AGP стал замещаться новой шиной PCI Express

Увеличивающееся число внешних устройств стало применять собственные шины. Когда были изобретены приводы дисков, они присоединялись к машине при помощи карты, подключаемой к шине. Из-за этого компьютеры имели много слотов расширения. Но в 1980‑х и 1990‑х были изобретены новые шины IDE решившие эту проблему и оставив большую часть разъёмов расширения в новых системах пустыми. В наше время типичная машина поддерживает около пяти различных шин.

Шины стали разделять на внутренние (local bus) и внешние (external bus). Первые разработаны для подключения внутренних устройств, таких как видеоадаптеры и звуковые платы, а вторые предназначались для подключения внешних устройств, например, сканеров. IDE является внешней шиной по своему предназначению, но почти всегда используется внутри компьютера.


Третье поколение

Шины «третьего поколения» в настоящее время[когда?] находятся в процессе выхода на рынок, включая компьютерные сети, чем на изначальные идеи шин, с большими накладными расходами, чем у ранних систем. Также они позволяют использовать шину нескольким устройствам одновременно.

Современные интегральные схемы часто разрабатываются из заранее созданных частей, так называемых «intellectual property» или IP. Разработаны шины (например Wishbone) для более простой интеграции различных частей интегральных схем.


Примеры внутренних компьютерных шин

Параллельные


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Шина (компьютеры)" в других словарях:

  • Шина расширения — Шина расширения  компьютерная шина, которая используется на системной карте компьютеров или промышленных контроллеров, для добавления устройств (плат) в компьютер. Есть несколько видов: Персональные компьютеры ISA  8 и 16 разрядная,… …   Википедия

  • Шина VME — шина, предназначенная для объединения устройств, работающих в режиме реального времени. Шина VME ориентирована на компьютеры, работающие под управлением операционной системы UNIX. По английски: VME bus См. также: Шины Обработка данных в реальном… …   Финансовый словарь

  • Шина (компьютер) — Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16). Ниже обычный 32 битный разъем шины PCI. У этого термина существуют и другие значения, см. Шина. Компьютерная шина (от …   Википедия

  • Шина (топология компьютерной сети) — У этого термина существуют и другие значения, см. Шина (значения). Топология типа общая шина, представляет собой общий кабель (называемый шина или магистраль), к которому подсоединены все рабочие станции. На концах кабеля находятся терминаторы,… …   Википедия

  • Шина (компьютерные сети) — Топология типа шина, представляет собой общий кабель (называемый шина или магистраль), к которому подсоединены все рабочие станции. На концах кабеля находятся терминаторы, для предотвращения отражения сигнала. Содержание 1 Работа в сети …   Википедия

  • Шина (автомобиль) — Эта статья об автомобильных пневматических шинах; для прочих значений, смотрите шина. Колесо экскаватора Автомобильная шина  один из наиболее важных элементов, представляющий собой упругую оболочку, расположенную на ободе колеса. Шина… …   Википедия

  • Шина автомобиля — Эта статья об автомобильных пневматических шинах; для прочих значений, смотрите шина. Колесо экскаватора Автомобильная шина  один из наиболее важных элементов, представляющий собой упругую оболочку, расположенную на ободе колеса. Шина… …   Википедия

  • Шина (значения) — Шина (нем. Schiene): Содержание 1 Этноним 2 В науке и технике 3 В искусстве …   Википедия

  • Компьютерная шина — Разъёмы шины PCI Express (сверху вниз: x4, x16, x1 и x16), по сравнению с обычным 32 битным разъемом шины Компьютерная шина (от англ. computer bus, bidirectional universal switch двунаправленный универсальный коммутатор) в архитектуре компьютера… …   Википедия

  • Автомобильная шина — Эта статья об автомобильных пневматических шинах; для прочих значений, смотрите шина …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»