Monday, November 20th, 2017

Память и устройства хранения информации — Часть 3: Спецификации шин

Published on Февраль 18, 2009 by   ·   Комментариев нет

Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:

В своих последних двух статьях я написал о различных технология памяти, включая жесткие диски (hard disk), RAM, MRAM и голографический устройства для хранения информации (holographic data storage). Конечно, технологии, используемые для физического хранения данных, являются не единственным элементом, влияющим на производительность. Чтобы лучше понять, от чего зависит производительность вашей памяти, вы должны знать, как память подключается к процессору, и как ей можно управлять.

Обычно, память подключается к центральному процессору CPU точно также, как к нему подключается и любое другое периферийное устройство, т.е. по системной шине (system bus). В следующий раз, когда будете разбирать свой компьютера, посмотрите на вашу материнскую плату (motherboard). На ней вы увидите множество шин; это и есть системная шина (system bus).

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

Одна и древнейших и долго использующихся спецификаций для шин – это спецификация inter integrated circuit (I2C или взаимно интегрированная цепь). Она имеет лишь два двунаправленных канала, один для данных и один для синхронизирующего сигнала (clock signal), поэтому это относительно простая спецификация.

Слоты eisa

Рисунок 1: Схемы шины I2C, с позволения сайта www.wikipedia.org. Vcd – это для подачи питания, SDA для данных, и SCL для синхронизирующего сигнала

Взаимно интегрированная цепь (Inter Integrated Circuit)

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

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

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

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

  • Standard (стандартный) 100 kb/s
  • Fast (быстрый) 400 kb/s
  • Fast mode plus (быстрый плюс) 1 Mb/s
  • High speed mode (высокоскоростной) 3.4 Mb/s

Действительно отличная возможность I2C называется clock stretching (удержание тактовых импульсов). Сlock stretching означает, что подключенное устройство может удерживать синхронизирующий сигнал в низком состоянии. Это очень полезно, если подключенное устройство получает запрос на чтение, оно может удержать тактовые импульсы, пока подготавливает информацию для отправки и освобождает их, когда готово к отправке.

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

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

Разработанная в 1981 изначально она была 8-ми битной шиной, но затем шина ISA была модернизирована и стала 16-то битной шиной. Шина ISA поддерживает скорость до 8Mb/s. На протяжении 1980-х годов шина ISA стала широко распространяться, но это было не очень хорошо. Самым главным недостатком шины ISA была недостаточно полная информация о временных распределениях шины (bus timing) и правилах, описывающих использование шины. В результате этого многие компании были вынуждены реализовывать свои собственные версии 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 и ее скорость составляла до 40MB/s, она также обладала недостатками, которые сильно мешали промышленному внедрению это шины. Одним из недостатков было то, что MCA была частной технологией, что означало, что компании, которые хотели использовать шину MCA должны были платить IBM. Нужно сказать, что немногим людям нравилась эта идея.

Расширенная архитектура для промышленного стандарта (Extended Industry Standard Architecture)

Вскоре после разработки компанией IBM шины MCA, конкуренты IBM, включая Compaq и HP, вышли с новым решением. Они объединились, их часто называют “Gang of Nine” (партия девяти), и разработали шину Extended Industry Standard Architecture EISA (расширенная архитектура для промышленного стандарта). В действительности они также переименовали шину IBM XT в ISA, чтобы не нарушать закон об авторском праве для торговой марки IBM.

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

Слоты eisa

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

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

Шина PCI в настоящее время вытеснена шиной PCI Express или PCIe. Эта спецификация для шины действительно очень мощная и еще сильнее размывает границы между сетями и шинами. PCIe – это серийная шина (serial bus), но она претендует также на звание параллельной шины (parallel bus). Он делает это с помощью хаба (hub), расположенного на материнской плате (motherboard). Этот хаб (hub) позволяет осуществлять взаимодействие от устройства к устройству. Он также позволяет одновременно взаимодействовать более одной паре устройств, что обеспечивает параллелизм. Спецификация PCIe поддерживает взаимодействие при скорости до 8GB/s, в то время, как PCI разрешает лишь 133MB/s.

Прямой доступ к памяти (Direct Memory Access)

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

DMA позволяет определенным аппаратным подсистемам (hardware subsystem), например, графическим и звуковым картам, напрямую обращаться к памяти с операциями чтения или записи, миную процессор (CPU). Конечно, процессор CPU по-прежнему нужен для инициации транзакции, но DMA убирает необходимость участия процессора CPU в нудных транзакциях с памятью, в результате чего процессор может использоваться для выполнения других задач.

Еще одна новая спецификация для шины от компании AMD – спецификация HyperTransport которая разработана консорциумом HyperTransport consortium. HyperTransport поддерживает еще большие скорости и расширенные возможности, как DDR или Double Data Rate (удвоенный коэффициент данных). DDR позволяет устройствам посылать данные по восходящим и нисходящим волнам цикла синхронизации (clock cycle). В результате этого удваивается пропускная способность.

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

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

www.windowsnetworking.com


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

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]