Память и хранилище. Часть 3. Спецификации шины

Опубликовано: 23 Марта, 2023

  • Память и хранилище — часть 1
  • Память и хранилище. Часть 2. Новые технологии памяти

подпишитесь на информационный бюллетень WindowsNetworking.com, посвященный обновлению статей в реальном времени

В двух последних статьях я писал о различных технологиях памяти, в том числе; жесткие диски, RAM, MRAM и хранилище голографических данных. Конечно, технология, используемая для физического хранения данных, является лишь частью того, что будет определять производительность, которую вы видите. Чтобы полностью понять производительность вашей памяти, вы должны понять, как память подключается к ЦП и как ею можно манипулировать.

Как правило, память подключается к ЦП так же, как любое периферийное устройство подключается к ЦП; через системную шину. В следующий раз, когда вы будете разбирать компьютер, взгляните на нижнюю часть материнской платы. Здесь вы увидите много проводов; это системная шина.

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

Одной из старейших и постоянно используемых спецификаций шины является спецификация межинтегральной схемы или I2C. Имея только два двунаправленных провода, один для данных и один для тактового сигнала, это относительно простая спецификация.

Изображение 20504
Рисунок 1: Представление шины I2C, любезно предоставлено www.wikipedia.org. Vcd — мощность, SDA — данные, SCL — тактовый сигнал.

Межинтегральная схема

Разработанный в начале 1980-х годов компанией Philips Semiconductor, I2C был разработан как низкоскоростной стандарт для бортовой последовательной связи. Первоначально разработанный для использования в телевизорах, он получил широкое распространение всего за несколько коротких лет. I2C до сих пор используется во многих приложениях, таких как компьютерные мониторы.

До I2C каждое устройство, используемое микроконтроллером, должно было быть подключено непосредственно к микроконтроллеру. Проблема заключалась в том, что по мере увеличения сложности системы вам приходилось увеличивать количество выводов на микроконтроллере для размещения дополнительных устройств.

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

Текущая версия спецификации I2C — версия 3.0. Эта версия поддерживает четыре категории скоростей шины:

  • Стандарт 100 кбит/с
  • Быстрый 400 кбит/с
  • Быстрый режим плюс 1 Мбит/с
  • Высокоскоростной режим 3,4 Мбит/с

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

Другие компании также были заняты в начале 1980-х разработкой собственных спецификаций автобусов. IBM была одной из таких компаний. Одной из их первых шин была промышленная стандартная архитектура или шина ISA. На самом деле, когда она была разработана, IBM назвала ее шиной XT.

Спецификации IBM

Разработанная в 1981 году как 8-битная шина, ISA позже была модифицирована до 16-битной архитектуры шины. Шина ISA поддерживает скорость до 8 Мбит/с. В 1980-х годах ISA приобрела широкую популярность, но она не была идеальной. Одним из основных недостатков ISA было то, что в спецификации отсутствовала подробная информация о синхронизации шины и правилах, регулирующих использование шины. В результате многие компании были вынуждены внедрять собственные версии ISA с уникальными спецификациями. Эти уникальные версии ISA редко были совместимы и вызывали много головной боли.

Еще одним недостатком ISA были интенсивные настройки, необходимые для подключения устройства к шине. В 1993 году для решения этой проблемы была разработана ISA Plug and Play. Эта архитектура plug and play позволяла операционной системе компьютера выполнять настройку вместо пользователя. Это был большой шаг вперед в компьютерной архитектуре, и многие современные компьютеры до сих пор поддерживают ISA plug and play.

В конце 1980-х IBM попыталась заменить устаревшую шину ISA шиной Micro Channel Architecture или MCA. Эта спецификация предлагала 32-битную шину и автоматическую настройку.

В то время как MCA смягчил ограничения 16-битной шины ISA и позволил передавать данные со скоростью до 40 МБ/с, были также недостатки, которые сильно мешали промышленному внедрению этой спецификации шины. Одним из недостатков было то, что MCA была проприетарной технологией, что, конечно, означало, что любая компания, которая хотела использовать MCA, должна была платить IBM. Излишне говорить, что эта идея понравилась не многим.

Расширенная отраслевая стандартная архитектура

Вскоре после того, как IBM разработала MCA, конкуренты IBM, включая Compaq и HP, предложили решение. Они организовались, их часто называют «бандой девяти», и разработали расширенную отраслевую стандартную архитектуру или EISA. На самом деле, они также переименовали шину IBM XT в шину ISA, чтобы не нарушать права на торговую марку IBM.

Как и MCA, EISA представляла собой 32-битную шинную архитектуру. Но, как следует из названия, EISA была расширением ранней спецификации шины ISA, что означало, что она была обратно совместима с устройствами ISA. И, конечно же, EISA была открытой спецификацией. EISA поддерживает параллельную связь со скоростью 8,33 МБ/с.

Изображение 20505
Рисунок 2: Изображение трех слотов EISA. Предоставлено www.wikipedia.org

Во многом благодаря тому, что EISA была открытой архитектурой, она быстро завоевала популярность в отрасли. Однако эта популярность была недолгой. EISA вскоре была заменена шиной Intel PCI.

Шина PCI теперь заменяется PCI Express или PCIe. Эта спецификация шины действительно крута и еще больше стирает грань между сетью и шиной. PCIe — это последовательная шина, но притворяется параллельной шиной. Это достигается благодаря наличию концентратора на материнской плате. Этот концентратор может маршрутизировать связь между устройствами. Это также позволяет более чем одной паре устройств обмениваться данными одновременно, что приводит к параллелизму. Спецификация PCIe допускает передачу данных со скоростью до 8 ГБ/с, а PCI — всего 133 МБ/с.

Прямой доступ к памяти

Как я упоминал ранее, современные компьютерные шины могут быть довольно сложными. Одной из сложностей, которая значительно повышает производительность (по крайней мере, с точки зрения пользователя), является прямой доступ к памяти, или DMA.

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

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

Еще одна интересная особенность HyperTransport заключается в том, что он поддерживает два типа команд записи. Одна команда записи, используемая для прямого доступа к памяти, называется отправленной командой записи. В отличие от неопубликованной команды записи, опубликованная команда записи не требует сигнала подтверждения от целевого устройства. Это в сочетании с тем фактом, что HyperTransport основан на пакетах, означает, что HyperTransport действительно можно считать сетью. На самом деле его также можно использовать для соединения нескольких компьютеров.

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

  • Память и хранилище — часть 1
  • Память и хранилище. Часть 2. Новые технологии памяти

подпишитесь на информационный бюллетень WindowsNetworking.com, посвященный обновлению статей в реальном времени