Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

[0.13.2] SCSI2 [0

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.5.2024

Внутренние интерфейсы

Содержание

[0.1] Понятия интерфейс и внутренний интерфейс

[0.2] Системная шина GTL

[0.3] Шина HyperTransport

[0.4] Шина набора микросхем системной логики

[0.5] Шина ISA/EISA

[0.6] Шина PCI

[0.7] Технология Bus Mastering

[0.8] Шина AGP

[0.9] Шина PCI Express

[0.10] Шина ATA (IDE)

[0.11] Спецификация ATAPI

[0.12] Шина Serial ATA

[0.13] Шина SCSI

[0.13.1] SCSI-1

[0.13.2] SCSI-2

[0.13.3] SCSI-3

[0.14] Шина Serial Attached SCSI (SAS)

[0.15] Интерфейс ACPI

[0.16] Шина SMBus

Понятия интерфейс и внутренний интерфейс

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

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

Как правило, шины ПК можно представить в виде некой иерархической структуры — шинной архитектуры. Важнейший принцип шинной архитектуры компьютеров класса IBM PC — открытость1, то есть доступность спецификаций для всех производителей.

К внутренним традиционно относят интерфейсы, предназначенные для подключения компонентов, находящихся внутри системного блока компьютера. Среди внутренних интерфейсов можно выделить системные шины, которые обеспечивают работу базовых компонентов платформы и не рассчитаны на подключение каких-либо дополнительных устройств. Например, к системным относятся шины GTL, HyperTransport, SMBus, V-Link, DMI и подобные им специализированные интерфейсы. 

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

Появление и развитие системной шины (Front Side Bus, FSB) неразрывно связано с историей развития архитектуры процессоров компании Intel. Первые процессоры вообще не имели системной шины, представляя собой только арифметико-логическое устройство. Нынешняя параллельная системная шина Gunning Transceiver Logic (GTL) и ее модификации Asynchronic Gunning Transceiver Logic (AGTL), AGTL+ и GTL+ обслуживает 32-разрядные процессоры архитектуры Р6 Pentium 4 (Celeron D). Системная шина связывает собственно процессор и северный мост НМС2. Шина представлена линиями, подключенными к транзисторам с открытым стоком и терминированные нагрузочными резисторами. Такая топология обеспечивает работу на высоких частотах при хорошей устойчивости к помехам. На выводы шины GTL+ поступает опорное напряжение (GTLREF), которое используется абонентами шины, чтобы определить, является ли сигнал логическим нулем или логической единицей. Входные схемы приемников являются дифференциальными, то есть сигнал воспринимается относительно опорного уровня.

Электрическая схема шины GTL+

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

Шина данных. Разрядность шины данных в значительной мере определяет производительность процессора. Это параллельная шина, то есть каждый разряд данных передается по отдельной линии. Чем выше разрядность шины, тем больше линий. Шина данных в процессоре i286 была 16-разрядной, в нынешнем процессоре Pentium 4 используется 64-разрядная шина, хотя исполнительные устройства ядра остаются при этом 32-разрядными. В итоге число выводов современного процессора для подключения шины данных увеличилось вчетверо по сравнению с i 286.

Шина адреса. Вторая группа сигналов, используемых процессором, — адресная. Адреса описывают номера ячеек памяти, в которых хранятся данные. Чем выше разрядность адресной шины, тем большее число ячеек памяти можно использовать для хранения данных, тем больше адресуемая память вычислительной системы. Шина адреса в процессоре i286 была 24-разрядной, что позволяло адресовать 16 Мбайт физической памяти. 1386, i486 и Pentium имели адресную шину шириной 32 бит и адресовали 4 гигабайта физической памяти. Шина адреса также является параллельной, то есть увеличение ее разрядности влечет увеличение числа адресных выводов процессора. Так, в процессоре Pentium 4 адресная шина 36-разрядная, что позволило расширить адресуемую память до 64 Гигабайт.

Шина управления. Третья группа сигналов, необходимая процессору для работы, относится к служебным. С их помощью чипсет и процессор обмениваются командами и запросами, по служебной шине осуществляется тактирование и синхронизация процессора, управление напряжением питания. Число сигналов управления и, соответственно, количество выводов разъема, необходимое для обмена служебными сигналами, зависит от архитектуры процессора и чипсета, количества поддерживаемых команд и инструкций. С усложнением архитектуры число служебных линий и сигналов управления увеличивается. Так, процессор i286 имел 18 выводов служебной шины, а процессор Pentium — уже 83.

Подсчитаем число задействованных выводов для перечисленных выше магистралей системной шины современного процессора, например Pentium 4 (Socket 775):

36 для адресной шины;

64 для шины данных;

124 для шины управления.

Остальные выводы в разъеме Socket 775 процессора Pentium 4 резервируются (например, 28 выводов в процессоре Pentium 4 520МГц) или используются для подачи питания. Эти выводы на принципиальных схемах обычно называются Vcc (плюс питания), Vss (земля) и VTT (терминаторы). Так, в разъеме Socket 775 выводов VСС — 226 штук, выводов Vyy— 24, выводов Vss — 273.

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

Шина HyperTransport

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

Архитектура шины HyperTransport предусматривает различные уровни организации интерфейса:

на физическом уровне шина представлена линиями данных, управления, тактовыми, а также контроллерами и стандартными электрическими сигналами;

на уровне передачи данных определяется порядок инициализации и конфигурирования устройств, установления и прекращения сеанса связи, циклического контроля адекватности данных, выделения пакетов для передачи данных;

на уровне протокола определены команды для выделения виртуальных каналов связи, правила управления потоком данных;

на уровне транзакций команды протокола конкретизированы в управляющие сигналы, например чтения или записи;

на уровне сессии определены правила управления энергопотреблением и прочие команды общего характера.

Физические устройства в рамках интерфейса HyperTransport подразделяются на несколько типов:

Host («контроллер шины») — основное устройство, полностью реализующее все функции интерфейса;

Принципиальная схема шины HyperTransport

Типы устройств и топология шины HyperTransport

Cave («ячейка») — оконечное устройство на двунаправленном канале связи;

Tunnel («тоннель») — устройство на двунаправленном канале связи, установленное «на проходе» (но не мост);

Bridge («мост») — устройство на двунаправленном канале связи, один из абонентов которого считается главным и связывает устройство с контроллером шины (Host), а другие соединяют с прочими устройствами.

Таким образом, топологию совокупности устройств на шине HyperTransport можно построить в виде цепочки или дерева. Спецификации шины предусматривают ее масштабируемость в зависимости от решаемых задач. В минимальной конфигурации (ширина канала 2 бит, на каждый бит требуется две физические линии) потребуется 24 вывода (8 для данных + 4 для тактовых сигналов + 4 для линий управления + 2 сигнальных + 4 заземления + 1 питания + 1 сброса), в максимальной конфигурации (ширина канала 32 бит) речь идет уже о 197 выводах. Для сравнения укажем, что спецификация параллельной шины PCI 2.1 предусматривает 84 вывода.

Физически сигнальные линии HyperTransport построены по технологии низковольтных дифференциальных сигналов (Low Voltage Differential Signaling, LVDS). Для всех линий (данных, управления, тактовых) используются шины с дифференциальным сопротивлением 100 Ом при уровне сигнала 1,2 В. Благодаря этому длина шины может достигать 24 дюйма(около 61 см) при полосе пропускания на одной физической линии до 800 Мбит/с.

Электрический интерфейс шины HyperTransport

Следует заметить, что спецификация HyperTransport предусматривает разделение «восходящих» (Upstream) и «нисходящих» (Downstream) потоков данных. Такой подход обеспечивает возможность существенного увеличения тактовых частот по сравнению с существующими архитектурами, поскольку каждый сигнал LVDS функционирует в пределах своей физической линии. Кроме того, пакет, объединяющий адреса, команды и данные, всегда кратен 32 бит. Тем самым обеспечивается его безошибочная передача по масштабируемым каналам шириной от 2 до 32 бит. Это позволяет применять единую технологию HyperTransport для соединения потребителей ресурсов шины различной производительности: процессор, оперативнаяпамять,видеоконтроллер,низкоскоростныеустройстваввода-вывода — используя в каждом случае лишь необходимое число линий.

Устройства, поддерживающие протокол HyperTransport (процессоры, микросхемы из набора системной логики, контроллеры) соединены по принципу «точка-точка» (peer-to-peer). Поэтому теоретически можно соединять между собой любые компоненты системы без применения каких-либо коммутаторов или мостов. Каждый канал состоит из линии «передачи» (Тх) и линии «получения» (Rx), работающих асинхронно. Передача данных организована в виде пакетов длиной до 64 байт (значение должно быть кратно четырем). Протокол HyperTransport предполагает передачу данных по обоим фронтам сигнала. Канал HyperTransport может иметь магистраль шириной от 2 до 64 бит в каждом направлении (Тх или Rx). Таким образом, шина HyperTransport обладает высокой гибкостью:

для соединения процессоров можно использовать пару 32-битных соединений с частотой шины 800 МГц, что обеспечит пропускную способность 6,4 Гбайт/с в каждом направлении;

для подключения устройства PCI можно задействовать двунаправленную магистраль шириной 4 бита, работающую на частоте 200 МГц, что обеспечит пропускную способность по 100  Мбайт/с в каждом направлении.

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

Основным идеологом и разработчиком интерфейса HyperTransport выступила компания AMD. Позднее был образован консорциум HyperTransport, который утвердил спецификации шины HyperTransport версии 1.0. Первоначально шина использовалась в платформах для процессоров AMD Athlon и VIA C3 в качестве магистрали соединения северного и южного мостов наборов микросхем системной логики. С появлением процессоров AMD Athlon 64/FX и AMD Opteron шина HyperTransport стала системной в платформах для этих процессоров.

Развитие архитектуры многоядерных процессоров поддержано утверждением спецификации HyperTransport 2.0, рассчитанной на возросшие тактовые частоты и возможность сопряжения (mapping) с хост-адаптерами для шины PCI Express. Согласно спецификациям, шина HyperTransport 2.0 может работать на тактовой частоте до 1,4 ГГц.

Передача информации осуществляется на обоих фронтах тактового сигнала, то есть эффективная частота шины вдвое больше физической. Максимальная пропускная способность в обоих направлениях достигает 22,4 Гбайт/с, что с лихвой покрывает потребности многопроцессорных двухъядерных систем. По электрическим спецификациям шина HyperTransport 2.0 обратно совместима с первой версией.

Таблица . Параметры шины HyperTransport

t

Шина набора микросхем системной логики

Изначально для соединения северного и южного мостов набора микросхем системной логики использовались стандартные шины архитектуры ПК. До недавних пор в типовом НМС мосты соединялись параллельной шиной PCI. Такое решение было приемлемо, пока клиенты южного моста были не слишком требовательны к пропускной способности шины. Действительно, пропускной способности интерфейса PCI было достаточно для обслуживания устройств ввода-вывода на портах COM, LPT, IrDA, PS/2, MIDI, накопителей IDE/ATAPI спецификации АТА-66/100 и карт расширения с шинами ISA или PCI. Однако с ростом производительности клиентов, подключенных к южному мосту, с появлением высокоскоростных интерфейсов ввода-вывода, возможности шины PCI перестали удовлетворять современным требованиям.

Среди требовательных к ресурсам клиентов южного моста можно отметить следующие:

интерфейс Serial ATA (150 Мбайт/с на канал) или Serial ATA2 (300 Мбайт/с на канал);

интерфейс PCI Express (200 Мбайт/с на канал);

шина PCI (133 Мбайт/с);

интерфейс IDE (до 133 Мбайт/с);

шина Gigabit Ethernet (около 128 Мбайт/с);

интерфейс USB 2.0 (около 60 Мбайт/с);

интерфейс FireWire (около 50 Мбайт/с).

Теоретически можно предположить одновременное обращение к ресурсам процессора и памяти (то есть к северному мосту) пары RAID-накопителей, устройства PCI Express и клиента локальной сети, что дает пиковый трафик около 1 Гбайт/с. Таким образом, мостовая шина должна обеспечить не меньшую пропускную способность.

Исходя из этих требований, ведущие разработчики НМС (чипсетов) применяют самые скоростные шины для связи мостов НМС:

компания Intel в современных НМС использует вариант последовательной шины PCI Express под названием Digital Media Interface с пропускной способностью до 2048 Мбайт/с;

компания nVidia использует последовательную шину HyperTransport в интегрированных НМС для платформы AMD Athlon 64, туже шину используют компании ATI и ULi в своих дискретных чипсетах (пропускная способность до 2048 Мбайт/с);

компания SiS предпочитает использовать шину MuTIOL с пропускной способностью 1066 Мбайт/с;

компания VIA до сих пор применяет параллельную шину V-Link с пропускной способностью 533 Мбайт/с.

Таким образом, возможности межмостовой шины в различных вариантах различаются примерно в четыре раза. Очевидно, что при построении современной платформы следует ориентироваться на перспективные решения, то есть последовательные шины DMI или HyperTransport.

Шина ISA/EISA

Архитектура ISA (Industry Standard Architecture) — архитектура промышленного стандарта, другое название AT-Bus. Шина ISA с разрядностью данных 8 бит (разрядность адреса 20 бит) впервые появилась на платформе PC XT. На платформе PC AT разрядность шины данных расширили до 16 бит (разрядность адреса 24 бита). На современных платформах этот интерфейс либо отсутствует, либо представлен внутренними шинами, обеспечивающими совместимость с устаревшими компонентами. Разъем шины состоит из двух частей: 62-контактного (ISA-8) и примыкающего к нему 36-контактного сегментов (ISA-16). Шина обеспечивает устройствам возможность отображения регистров в пространстве памяти и адресов ввода-вывода. В распоряжение устройств на шине ISA выделяется до 11 линий запросов прерываний (в варианте ISA-16) и до шести каналов прямого доступа к памяти. Пиковая пропускная способность шины не превышает 5,55 Мбайт/с.

Спецификации ISA предусматривают выделение каждому устройству на шине своих системных ресурсов: области адресов в пространстве памяти, в регистрах ввода-вывода, линий запроса прерываний, каналов прямого доступа к памяти. При этом автоматический арбитраж не предусмотрен, то есть устройства не должны конфликтовать по ресурсам. Задача арбитража возлагается на пользователя, а ее выполнение усложняется отсутствием механизма передачи параметров устройств системному и прикладному программному обеспечению. Конфигурирование устройств ISA производится перемычками (джамперами). На шине все сигналы со всех слотов соединяются параллельно, а никакого буфера для хранения информации о конфигурации не предусмотрено.

В 1994 г. была разработана спецификация ISA Plug and Play version 1.0a, которая решила самые важные проблемы конфигурирования устройств на шине ISA. Процедура конфигурирования имеет несколько этапов:

происходит блокировка всех устройств, кроме текущего;

текущему  устройству  назначается  идентификатор  Card Select Number;

Слот шины ISA (16-бит) для карт расширения

в буфер BIOS записываются данные о поддерживаемых текущим устройством ресурсах;

активным становится следующее устройство, а остальные блокируются, процедура повторяется для всех устройств;

по завершении опроса всех устройств происходит арбитраж ресурсов;

каждое устройство конфигурируется в соответствии с выделенными ресурсами и становится активным.

Описанная технология поддерживается РпР BIOS системной платы и выполняется в период процедуры POST. Параметры конфигурации для всех типов устройств (не только шины ISA) в формате ESCD (Extended System Configuration Data — расширенные данные системной конфигурации) хранятся в энергонезависимой памяти. Если BIOS не поддерживает спецификацию РпР ISA, конфигурирование возлагается на операционную систему.

EISA {Enhanced ISA) — расширенная шина ISA. Является расширением интерфейса ISA. В разъемы можно вставлять как платы для шины ISA, так и для EISA. Платы EISA имеют более высокую ножевую часть разъема с дополнительными рядами контактов, а слот имеет расположенный в глубине такой же ряд дополнительных контактов. Пиковая пропускная способность — 32 Мбайт/с. Поддерживает режим управления шиной со стороны любого из устройств, установленных в разъем (технология Bus Mastering). На современных системных платах не встречается.

Шина PCI

Создание интерфейса происходило весной 1991 г. в недрах корпорации Intel. Перспективные процессоры 80486 и Pentium требовали новой организации взаимодействия с периферийными компонентами. Инженеры Intel решили начать с нуля и в результате разработали шину PCI (Peripheral Component Interconnect) local bus — шину соединения периферийных компонентов, напрямую не связанную с системной. Так удалось обеспечить независимость интерфейса от конкретного типа процессора. Новый интерфейс оказался не совместимым ни с одним из предшествующих и потребовал разработки соответствующего набора системных микросхем. С целью обеспечить поддержку сторонних производителей Intel сделала архитектуру и спецификации PCI открытыми, поэтому вскоре образовалась группа заинтересованных организаций (PCI Special Interest Group), создавшая и утвердившая все спецификации. В настоящее время действует спецификация PCI 2.2 (утверждена в декабре 1998 г.). Шина PCI является синхронной — регистрация сигналов выполняется по положительному фронту тактовых импульсов.

Слот шины PCI для карт "расширения

Популярность PCI объясняется рядом преимуществ, предоставляемых интерфейсом по сравнению с его предшественниками. Во-первых, поддерживается синхронный обмен данными формата 32 или 64 бита. При этом используется метод мультиплексирования (передача адресов и данных по очереди по одним линиям), что позволило снизить число контактов в разъемах. Во-вторых, предусмотрена установка компонентов с уровнями сигналов 5 В или 3,3 В. Механические ключи (пластмассовые перемычки) на разъемах исключают установку плат в «чужой» слот. Возможно изготовление универсальных плат, поддерживающих оба уровня сигналов (что сейчас и делает большинство производителей). Сочетание частот шины 33 МГц или 66 МГц с разрядностью данных предоставляет широкий диапазон пропускных способностей шины. Заметим, что при 66 МГц допустим уровень сигнала только 3,3 В (а 33 МГц устройства могут выйти из строя на более высокой частоте).

Спецификация PCI требует поддержки режима Multiple Bus Mastering (многостороннее управление шиной). В таком режиме устройства перехватывают управление шиной и самостоятельно распределяют ее ресурсы. Специальный таймер, имеющийся на устройстве, определяет максимальное время, в течение которого возможен монопольный доступ. Кроме того, предусмотрено автоматическое конфигурирование компонентов при включении питания.

По шине PCI возможна передача комбинированных данных (до восьми типов), например звуковых, видео, цифровых. Один канал контроллера PCI поддерживает до четырех слотов расширения. Для удвоения их числа применяется мост между парой контроллеров.

Метод передачи данных по шине называют Linear Burst (метод линейных пакетов). То есть данные при записи-чтении идут единым пакетом, так как адрес для каждого следующего байта автоматически увеличивается на единицу. Таким образом, отпадает необходимость передавать адресный блок. Для ускорения передачи применяется кэширование (поддерживаются методы отложенной «write-back» и сквозной «write-through» записи).

Важной особенностью интерфейса PCI является поддержка протокола Plug-and-Play (PnP). Спецификацией определены три типа ресурсов: диапазон памяти, диапазон ввода-вывода и так называемое «пространство конфигурации». Последний ресурс включает три региона: заголовок (не зависит от конкретного типа устройства), блок устройства, пользовательский блок. Заголовок содержит информацию об изготовителе, классе устройства (контроллер жесткого диска, адаптер SCSI и пр.), другие служебные сведения. Содержание блока устройства зависит от конкретного его типа. Конфигурация устройства производится либо через BIOS (если в нем присутствует эта функция), либо программно через драйвер. Поле CIS (Card Information Structure — информационная структура платы) используется для идентификации устройств с интерфейсом PCMCIA. Еще одно поле определяет прерывание и время монопольного владения шиной.

Шина PCI соединяется с системной шиной процессора через северный мост. Остальные шины расширения и ввода-вывода, а также контроллер LPC, к которому подключены микросхемы системной платы (ROM BIOS, контроллеры прерываний, клавиатуры, DMA, портов СОМ и LPT, НГМД и прочие), подключаются к шине PCI через южный мост. В системных платах с хабовой архитектурой шину PCI отодвинули на периферию, сняв с нее транзитный трафик между чипсетами.

С устройствами PCI процессор взаимодействует посредством команд обращения к памяти и портам ввода-вывода в областях, выделенных каждому такому устройству при конфигурировании. Устройства могут вырабатывать запросы маскируемых и немаскируемых прерываний. Устройство на шине может выступать в роли инициатора, поддерживая обмен с памятью, не занимая ресурсов центрального процессора. Спецификация PCI требует от устройств способности перемещать все занимаемые ресурсы в пределах доступного пространства адресации. Это позволяет обеспечивать бесконфликтное распределение ресурсов для многих устройств. Устройство PCI может быть многофункциональным, то есть поддерживать несколько (от 1 до 8) встроенных функций, каждой из которых отводится свое конфигурационное пространство.

Собственно шина PCI представляет набор сигнальных линий, соединяющих различные устройства (слоты расширения, микросхемы на системной плате). В системе может присутствовать несколько шин PCI, соединенных мостами PCI-PCI Bridge. Мосты электрически отделяют интерфейсные сигналы одной шины от другой, соединяя их логически. Головной мост (Host Bridge) соединяет шину с ядром системы (процессором и памятью). Каждая шина имеет свой номер (PCI bus number). Шины нумеруются последовательно; главная шина имеет нулевой номер.

С точки зрения конфигурирования, младшим адресуемым элементом в этой иерархии является функция. Ее полный адрес состоит из трех частей: номера шины, номера устройства и номера функции. В шине PCI принята географическая адресация — номер устройства определяется местом его подключения. Номер устройства определяется той линией шины, к которой подключена линия сигнала идентификации данного слота. В соседних слотах PCI, как правило, задействуют соседние номера устройств. Их нумерация определяется разработчиком системной платы. Группы соседних слотов могут подключаться к разным шинам, при этом на каждой шине PCI нумерация устройств независимая. Устройства PCI, интегрированные в системную плату, используют ту же систему адресации. Их номера неизменяемы, в то время как адреса карт расширения можно изменять перестановкой их в разные слоты.

Технология Bus Mastering

В каждой транзакции по шине PCI участвуют два устройства — инициатор обмена, он же ведущее (Master) устройство, и целевое устройство, оно же ведомое (Slave). В каждый момент времени шиной может управлять только одно ведущее устройство, получившее на это право от арбитра. Для максимального использования возможностей шины устройства должны иметь буфера для пакетных транзакций. Ведущее устройство генерирует сигнал для запроса на управление шиной и получает сигнал, подтверждающий предоставление управления шиной. Арбитражем запросов на использование шины занимается специальный узел, входящий в чипсет системной платы. Схема приоритетов (фиксированный, циклический, комбинированный) определяется программированием арбитра.

Прерывания от устройств PCI обслуживаются контроллерами 8259А, расположенными на системной плате. Устройство PCI вводит сигнал прерывания низкого уровня на выбранную линию INT A#, INT B#, INT С# или INT D#.

Управление прерываниями на шине PCI

Этот сигнал удерживается до тех пор, пока программный драйвер, вызванный по прерыванию, не сбросит запрос прерывания, обратившись по шине к данному устройству. Каждая функция устройства PCI может задействовать свою линию запроса прерывания в монопольном или совместном режимах. Если устройству требуется одна линия запроса, оно занимает линию INT А#, если две — INT А# плюс INT В#, и так далее. С учетом циклического сдвига линий запроса это правило позволяет установить в четыре соседних слота четыре простых (однофункциональных) устройства, каждое из которых задействует отдельную линию запроса прерывания. Коммутатор организует объединение нескольких линий запросов PCI на один вход контроллера. Драйвер, работающий с устройством PCI, определяет вектор прерывания, доставшийся устройству (функции), считывая конфигурационный регистр. Обычным решением проблемы совместного использования прерываний служит перестановка карты расширения в подходящий слот.

На шине PCI имеется механизм оповещения об асинхронных событиях, основанный на передаче сообщений (PCI Message-Based Interrupts). Для сигнализации запроса прерывания устройство запрашивает управление шиной и, получив его, выполняет запись номера прерывания по заранее оговоренному адресу. Этот механизм может использоваться на системных платах, имеющих контроллер прерываний APIC. Запись номера запроса производится в соответствующий регистр APIC. Степень интеллектуальности ведущего устройства может быть различной. В простейшем варианте ведущее устройство обеспечивает пересылку блоков данных между устройством и системной памятью (или памятью других устройств) по указанию процессора. Более сложный контроллер DMA может выполнять обмен по собственной программе.

Шина PCI имеет несколько конструктивных вариантов исполнения, оговоренных в соответствующих спецификациях.

Low-Profile PCI — низкопрофильный вариант карт расширения PCI с измененным способом крепления. Такие карты можно устанавливать в низкопрофильные корпуса. Типовой слот PCI поддерживает напряжение питания интерфейсных схем только 3,3 В (но шина питания устройств 5 В сохраняется).

Small PCI (SPCI) — спецификация на карты расширения и слоты в миниатюрном исполнении. Шина логически совместима с обычной шиной PCI. В дополнение к обычному набору сигналов появился сигнал, с помощью которого хост и устройства могут управлять частотой синхронизации в целях снижения энергопотребления. Для подключения карт SPCI на системной плате устанавливается двухрядный 108-контактный штырьковый разъем с шагом контактов 2 мм. Карта расширения может подключаться к нему непосредственно или через шлейф. Карты SPCI могут иметь напряжение питания 5В, 3,3В или двойное 5/3,3В. Благодаря уменьшению длины проводников понижены требования к мощности сигналов.

Mini PCI Specification — малогабаритный вариант карт PCI. По логическим и электрическим сигналам соответствует спецификации PCI. Дополнительно используется сигнал для снижения энергопотребления. Имеется набор дополнительных сигналов для обмена аудио и видеоданными.

Шина AGP

Фирма Intel, заметив, что дальнейшее повышение общей производительности персонального компьютера «упирается» в видеоподсистему, в свое время предложила выделить для передачи потока видеоданных отдельную интерфейсную шину AGP (Accelerated Graphics Port — ускоренный графический порт). Этот стандарт быстро вытеснил существовавшие ранее интерфейсы, использовавшиеся видеокартами: ISA, VLB и PCI. 

Главным преимуществом шины AGP стала высокая пропускная способность. Если шина ISA позволяла передавать до 5,5 Мбайт/с, VLB — до 130 Мбайт/с, a PCI — до 133 Мбайт/с, то шина AGP теоретически имеет пиковую пропускную способность до 1066 Мбайт/с (в режиме передачи четырех 32-разрядных слов).

Компания Intel разрабатывала интерфейс AGP для решения двух основных проблем, связанных с особенностями обработки 3D-графики на персональном компьютере. Во-первых, 3D -графика требует выделять как можно больше памяти для хранения данных текстур и Z-буфера. Чем больше текстурных карт доступно для 3D -приложений, тем лучше выглядит картинка на экране монитора. Обычно для Z-буфера используют ту же память, что и для текстур. Разработчики видеоконтроллеров и раньше имели возможность использовать обычную оперативную память для хранения информации о текстурах и Z-буфере, но серьезным ограничением здесь выступала пропускная способность шины PCI. Ширина полосы пропускания PCI оказалась мала для обработки графики в режиме реального времени. Эту проблему компания Intel решила путем внедрения стандарта шины AGP.

Слот шины AGP для видеокарт

Во-вторых, интерфейс AGP обеспечивает прямое соединение между графической подсистемой и оперативной памятью. Таким образом, выполняются требования вывода, 3D -графики в режиме реального времени и, кроме того, более эффективно используется память буфера кадра (frame buffer), тем самым увеличивается скорость обработки 2D-графики. В действительности шина AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя доступ с центральным процессором компьютера.

Через AGP возможно подключение единственного типа устройств — графических плат. При этом видеоконтроллеры, встроенные в материнскую плату и использующие интерфейс AGP, не подлежат модернизации.

Для контроллера AGP конкретный физический адрес, по которому информация хранится в оперативной памяти, не имеет значения. Это является ключевым решением новой технологии, обеспечивая доступ к графическим данным как к единому блоку, независимо от физической «разбросанности» информации по блокам памяти. Кроме того, AGP работает с частотой системной шины до 133 МГц.

Спецификация AGP фактически базируется на стандарте PCI версии 2.1, но отличается от него следующими основными особенностями:

шина способна передавать два (AGP 2х), четыре (AGP 4х) или восемь (AGP 8х) блоков данных за один цикл;

устранена мультиплексированность линий адреса и данных;

конвейеризация  операций  чтения/записи  позволяет  устранить влияние задержек в модулях памяти на скорость выполнения операций.

Шина AGP работает в двух основных режимах: DIME (Direct Memory Execute) и DMA (Direct Memory Access). В режиме DMA основной памятью считается память на карте. Текстуры могут храниться в системной памяти, но перед использованием копируются в локальную память видеокарты. Таким образом, интерфейс AGP действует в качестве поставщика текстур в локальную память. Обмен ведется большими последовательными пакетами данных

В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится передавать сравнительно небольшие случайно расположенные куски. Поскольку системная память требуется и другим устройствам, она выделяется динамически, блоками по 4 Кбайт. Поэтому для обеспечения приемлемого быстродействия предусмотрен специальный механизм, отображающий последовательные адреса на реальные адреса блоков в системной памяти. Эта задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.

Адреса, не попавшие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). Точная спецификация на правила функционирования GART не определена, и конкретное решение зависит от управляющей электроники видеокарты.

Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных. Такой подход позволяет AGP-устройству генерировать очередь запросов, не дожидаясь завершения текущей операции, что также повышает быстродействие шины.

Версия AGP 2.0 благодаря использованию низковольтных электрических спецификаций предусматривает осуществление четырех транзакций (пересылок блока данных) за один такт (режим AGP— четырехкратного умножения). В 2003 г. в массовое производство пошли видеокарты с интерфейсом AGP версии 3.0 (часто обозначаются как AGP 8х). Двукратное увеличение пропускной способности достигнуто за счет повышения тактовой частоты шины до 66 МГц и применения нового уровня сигналов 0,8В (в AGP 2.0 использовался уровень 1,5В). Тем самым при сохранении основных параметров интерфейса удалось повысить пропускную способность шины примерно до 2132 Мбайт/с. Хотя разъем сохранился прежним, механически совместимым с AGP 2.0, его электрические характеристики изменились благодаря снижению напряжения на сигнальных линиях. В настоящее время на современных платформах шина AGP заменяется последовательной шиной PCI Express.

Шина PCI Express

Корпорация Intel взяла на себя роль неформального лидера в организации PCI-SIG (Special Group for Interesting PCI Interface) в период создания архитектуры интерфейса ввода-вывода третьего поколения (Third Generation Input/Output Interconnection, 3GIO), известного также под названием Arapahoe. В 2001 г. было утверждено название PCI Express, а в 2003 г. появилась официальная спецификация версии 1.0.

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

Спецификация PCI Express предусматривает схему организации, аналогичную универсальной сетевой архитектуре ISO/SOI. На самом верхнем уровне располагаются прикладные программы, использующие PCI-устройство. Для них в архитектуре ничего не меняется: при обмене данными через шину PCI Express приложения просто обращаются к операционной системе. На уровне драйверов и конфигурирования архитектура PCI Express полностью совместима с интерфейсом PCI и потому является прозрачной для любой операционной системы, поддерживающей PCI. Тем самым обеспечена поддержка спецификаций ACPI и Plug-and-Play без какой-либо доработки общих программных компонентов.

Структура интерфейса PCI Express

Однако на других уровнях архитектуры произошли кардинальные изменения. Прежде всего, добавлено два новых уровня (Transaction Layer и Link Layer), функции которых аналогичны сетевым протоколам TCP/IP. На уровне Transaction Layer происходит первоначальная упаковка данных, передача их конкретному получателю и контроль доставки сообщения. На уровне Link Layer указывается физический адрес назначения пакета. Получив адрес, контроллеры, шины принимают решение о направлении пакета в конкретную физическую линию. На этом же уровне располагается код обнаружения и исправления ошибок в принятом пакете (CRC), номер пакета, позволяющий отличить один пакет от другого, и прочие атрибуты. Маршрутизация пакетов (принятие решений о том, на какую шину перенаправить пакет, какой из нескольких пакетов передать первым) осуществляется на уровне транзакций. Пакет передается только в том случае, когда поступил сигнал готовности от буфера приема. Как следствие, уменьшается число повторов при передаче и шина используется более эффективно.

Между участниками обмена данными по шине PCI Express устанавливается выделенный канал связи, ширина которого и тактовая частота обговариваются устройствами в процессе инициализации канала. Здесь же происходит представление данных в формате 8 или 10 бит. При необходимости 2 бита используются для контроля за целостностью данных. Тем самым реализуется концепция обмена данными «точка - точка».

Слот шины PCI Express X4. Черным цветом выделены контакты линий данных

В основании архитектурной модели PCI Express размещается собственно физическая реализация шины передачи данных: две дифференциальные пары проводников с импедансом 50 Ом (первая пара работает на прием, вторая на передачу). Никакого внешнего синхронизирующего сигнала от тактового генератора в PCI Express не предусмотрено. В качестве рабочих напряжений выбраны уровни от 0,2 В до 0,4 В для логического нуля и от 0,4В до 0,8 В для логической единицы.

Интерфейс PCI Express позволяет объединять в шину несколько независимых линий передачи данных. Стандартом предусмотрено использование 1, 2, 4, 8, 16 и 32 линий. Передаваемые данные поровну распределяются между ними по схеме «первый байт на первую линию, второй байт на вторую линию,... п+1 -й байт снова на первую» и так далее. Так достигается гибкая масштабируемость PCI Express, позволяющая организовывать шины с максимальной пропускной способностью до 6,4 Гбайт/с в одном направлении.

Шина PCI Express поддерживает питание устройств достаточно большой мощности: на слот x1 подается до 10 Вт, на слот х4 — до 25 Вт, а на слот х16 — до 75Вт. Спецификацией предусмотрена установка на системную плату второго разъема питания. Суммарно две линии питания обеспечат функционирование устройств мощностью до 140 Вт. Соответственно стандартный 20-контактный разъем питания АТХ 2.01 увеличился на четыре контакта (добавились линии +12 В, +5 В, земля и +3,3 В).

Номинальной рабочей частотой шины PCI Express сейчас является 2,5 ГГц. При этом пиковая пропускная способность (на один канал передачи данных) достигает 200 Мбайт/с, что составляет 100Мбайт/с на контакт. Электрические параметры (пониженное затухание в линиях передачи и повышенная чувствительность приемников данных) позволяют увеличить длину проводников шины на платах. Сейчас она ограничивается 30,5 см для системных плат и 9 см для карт расширения. Причем топология разводки может быть четырехслойной, без особых технологических требований.

Помимо оконечных устройств архитектурой интерфейса предусмотрено наличие контроллеров (Host), мостов (Bridge) и переключателей (Switch), что позволяет организовать сложную топологию каналов и обеспечить совместимость с другими интерфейсами.

Шина ATA (IDE)

Интерфейс ATA (AT Attachment for Disk Drives) разработан в 1986 г. для подключения накопителей на жестких магнитных дисках в компьютерах IBM PC/AT с шиной ISA-Bus. Интерфейс появился в результате установки контроллера жесткого диска в сам накопитель, то есть создания устройства со встроенным контроллером — IDE (Integrated Device Electronic). Фактически контроллер жесткого диска был перенесен с материнской платы PC/AT на плату электроники накопителя. Поскольку стандартный контроллер жестких дисков AT позволял подключать до двух накопителей, эту возможность включили и в новый интерфейс.

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

Поскольку набор сигналов получился достаточно универсальным, он позволяет подключать любое устройство со встроенным контроллером, которому в пространстве портов ввода/вывода достаточно того же набора регистров и которое способно поддержать принятый режим выбора устройства. Принятая система команд и регистров, являющаяся частью спецификации ATА, ориентирована на блочный обмен данными с устройствами прямого доступа. Для иных устройств существует спецификация ATAPI, основанная на тех же аппаратных средствах.

В системе адресации данных интерфейса ATА изначально указывается адрес цилиндра (Cylinder), головки (Head) и сектора (Sector) CHS. Позже стали различать физическую (реальную для накопителя) и логическую (по которой с устройством общается программа) адресацию CHS. При этом одно и то же устройство могло иметь разные варианты логической архитектуры. Взаимное преобразование логической и физической адресации выполняется встроенным контроллером устройства. В настоящее время используется линейная адресация логического блока LBA (Logical Block Addressing), где адрес блока (для дисков — сектора) определяется 2 8-битным числом.

Архитектурой интерфейса ATА предусмотрены следующие компоненты:

хост-адаптер для сопряжения интерфейса ATА с системной шиной;

шлейф с 40 или 80 проводниками, с двумя или тремя разъемами;

ведущее устройство (Master), официально именуемое Device 0;

ведомое устройство (Slave), официально именуемое Device 1.

Если к шине ATА подключено одно устройство, оно должно быть ведущим. Если подключены два устройства, одно должно быть ведущим, другое — ведомым. Все иные варианты назначения устройств неработоспособны. Существует два способа задания адреса устройства на канале шины ATА: с помощью кабельной выборки или явным заданием адреса на каждом из устройств. Режим кабельной выборки включается перемычкой CS (Cable Select — кабельная выборка). В этом случае оба устройства на шине конфигурируются одинаково (в режим CS), а адрес устройства определяется его положением на шлейфе. Режим кабельной выборки работоспособен, если он поддерживается всеми устройствами данного канала шины, включая и хост-адаптер. Недостатком кабельной выборки является привязка физического положения устройств к кабелю: ведущее устройство должно быть ближе к адаптеру, чем ведомое устройство

Более распространен режим явной адресации, когда адрес каждого устройства задается перемычками, состав которых у разных моделей варьируется. В принципе достаточно лишь указать устройству его роль (Master/Slave). Следует учитывать, что перестановка джамперов воспринимается устройством зачастую только по включении питания.

Оба устройства воспринимают команды от хост-адаптера одновременно. Однако исполнять команду будет лишь выбранное устройство, определяемое состоянием регистра выборки. Выходные сигналы на шину ATA имеет право выводить только выбранное устройство. Такая система подразумевает, что, начав операцию обмена с одним из устройств, хост-контроллер не может переключиться на обслуживание другого устройства той же шины ATА до завершения начатой операции обмена. Параллельно могут работать только устройства IDE, подключаемые к разным шинам (каналам) ATА.

Таблица . Параметры циклов обмена интерфейса ATA

Стандарт ATА имеет систему команд, рассчитанную на приводы магнитных дисков. Для операций, связанных с обменом данными, предназначены команды, использующие программные режимы РIO (Programmed Input /Output) или блочные режимы DMA (Direct Memory Access). Блочный режим за счет сокращения числа прерываний, которые должен обслужить процессор, в многозадачной системе позволяет повысить производительность дискового обмена. Обмен по каналу DMA в отличие от РIO занимает только шины ввода/вывода и памяти. Процессору требуется выполнить только процедуру инициализации канала, после чего до прерывания от устройства, полученному в конце передачи блока, он свободен. Режимы обмена по каналу DMA могут быть одиночными и множественными. При множественном режиме (Multiword DMA) на сигнал запроса хост отвечает потоком циклов DMA. Если устройство не справляется с этим потоком, оно может приостановить поток, а по готовности к продолжению — возобновить. Множественный режим позволяет развивать более высокую скорость передачи. В режиме Ultra DMA за каждый такт передаются два слова данных, одно по фронту синхронизирующего сигнала, другое по спаду. Это позволяет повысить пропускную способность шины, не увеличивая максимальную частоту переключений сигналов.

На сегодняшний день последней спецификацией интерфейса считается АТА-133. Ее появление обусловлено тем, что спецификацией АТА-100 допускалось использование жестких дисков объемом до 137 Гбайт, что связано с 28-битной адресацией сектора. Однако современные диски быстро преодолели этот рубеж. В спецификации АТА-133 используется 48-битная адресация сектора, что позволяет адресовать диски объемом до 144 петабайт. Кроме того, внедрение режима Multiword DMA Mode 7 позволило увеличить скорость передачи до 133 Мбайт/с.

Спецификация ATAPI

Для подключения к интерфейсу ATА накопителей CD-ROM, стримеров и ряда других устройств набора регистров и системы команд ATА оказывается недостаточно. Для них существует аппаратно-программный интерфейс ATAPI (ATA Package Interface — пакетный интерфейс ATA). Устройство ATAPI поддерживает минимальный набор команд AT A, a также 16-байтный командный пакет, который пересылается хост-контроллером в регистр данных устройства. Структура командного пакета аналогична таковой для шины SCSI, что обеспечивает схожесть драйверов одних и тех же устройств, имеющих интерфейсы SCSI и ATAPI. Классификация устройств совпадает с принятой в SCSI, информация о классе устройства размещается им самостоятельно в начале блока параметров идентификации.

Интерфейс ATAPI можно использовать с любыми адаптерами ATА, поскольку для контроллера поддержка ATAPI иногда выполняется чисто программными средствами. Специфические команды вместе с необходимыми параметрами передаются по команде Packet, код которой является недействительным для устройств ATА.

Шина Serial ATA

Спецификации последовательного интерфейса Serial ATA (SATA) версии 1.0 были опубликованы в августе 2001 г., а спецификация Serial ATA II — в октябре 2002 г. В настоящее время интерфейс SATА считается основным для подключения накопителей различных типов в современных платформах настольных ПК.

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

По сравнению с традиционным параллельным интерфейсом ATА шина Serial ATA имеет большую помехозащищенность и мало восприимчива к электромагнитным помехам благодаря использованию низкоуровневых дифференциальных сигналов. Уровень сигнала измеряется не по отношению к «земле», а по отношению к уровню сигнала в соседнем проводе, то есть как разница сигналов в двух проводниках. Любая наведенная помеха сказывается на обоих сигналах, однако их дифференциальная разница при этом не меняется.

На логическом уровне для передачи данных используется двухэтапное кодирование 8bit/10bit. При логическом кодировании 8b/10b каждые 8 бит исходной последовательности данных замещаются 10-битным кодом в соответствии с определенными правилами. В результате для 256 возможных комбинаций из 8 бит на входе получают 1024 возможные комбинации для 10 бит на выходе. При классическом подходе разрешенными из этих 1024 комбинаций считаются только 256, а остальные — запрещенными. Такая избыточность используется для повышения помехоустойчивости кодирования.

Однако в протоколе SATА используется больше, чем 256 разрешенных комбинаций, за счет двухэтапного кодирования. При этом каждой входной последовательности может соответствовать несколько выходных, а какая именно выходная комбинация будет использована, зависит от контрольного сигнала rd, формируемого в процессе передачи.

Функциональная схема шины SATA

Преобразование сигналов ATA в сигналы SATA

При кодировании согласно протоколу SATА исходные 8 бит разбиваются на подгруппы длиной 5 бит и 3 бит. На первом этапе подгруппа 5 бит подвергается кодированию 5bit/6bit, то есть каждые 5 бит заменяются на 6 бит. На втором этапе оставшиеся 3 бита подвергаются кодированию 3bit/4bit. При кодировании каждой группы (сначала 5 бит, а потом оставшихся 3 бит) формируется специальный бинарный контрольный сигнал rd (Running Disparity), который может быть либо отрицательным (rd-), либо положительным (rd+). Кодирование 5bit/6bit для 32 возможных 5-битных комбинаций на входе обеспечивает 46 комбинаций по 6 бит на выходе. Получают эти 46 комбинаций следующим образом: каждой из 32 возможных 5-битных комбинаций на входе ставятся в соответствие две 6-битные выходные последовательности: прямая и инверсная, за исключением тех 6-битных последовательностей, в которых количество единиц совпадает с количеством нулей — отсюда именно 46 возможных комбинаций на выходе.

При кодировании 3bit/4bit для 8 возможных 3-битных комбинаций на входе существует 14 возможных 4-битных комбинаций на выходе. Здесь также прямая или инверсная выходная последовательность определяется текущим значением контрольного сигнала rd. Если сигнал rd положителен, то используется прямая последовательность, а если отрицателен — то инверсная. При этом текущее значение сигнала rd определяется по предыдущей переданной последовательности из 6 или 4 бит.

Правило для формирования сигнала rd достаточно простое. Сигнал положителен, если количество единиц больше количества нулей в группе закодированных бит. Исключение составляют последовательности с равным количество нулей и единиц. Например, для последовательностей 000111 (подгруппа 6 бит) и 0011 (подгруппа 4 бит) сигнал считается положительным, а для последовательностей 111000 и 1100 — отрицательным. Во всех остальных случаях сигнал rd нейтрален и не меняет своего состояния. Кроме логического двухэтапного кодирования, при передаче данных используется метод циклического избыточного контроля CRC-32 (Cyclic Redundancy Check). На физическом уровне используется код NRZ (Non Return to Zero).

Другой особенностью интерфейса SATА является организация взаимодействия между контроллером и диском по принципу «точка-точка». Напомним, что интерфейс ATА предусматривает подключение на один канал до двух устройств (Master и Slave); соответственно полоса пропускания 133 Мбайт/с разделяется между устройствами. В интерфейсе SATA к одному контроллеру можно подключить только один жесткий диск, поэтому каждому устройству стандарта SATА предоставляется вся полоса пропускания 150 Мбайт/с.

Сигнальные разъемы SATA

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

Развитием спецификации SATА стал интерфейс Serial ATA II, который поддерживают современные версии южных мостов НМСЛ ведущих производителей, например компаний Intel, nVidia, VIA и SiS. Явным отличием спецификации SAT AII выглядит увеличение пропускной способности шины до 300 Мбайт/с. Однако спецификация имеет много внешне малозаметных улучшений, существенно влияющих на эффективность накопителей. Например, в спецификацию введены специальные мосты-умножители, позволяющие подключать до 15 устройств на один канал SATА. Но главные усовершенствования связаны с оптимизацией очереди команд.

Жесткий диск, в отличие от чисто электронных компонентов компьютера, представляет собой электронно-механическое устройство. Наличие электромеханической части, имеющей гигантское, по «электронным» меркам, время реакции, обусловливает неизбежные задержки в поиске и передаче данных. В спецификации SAT AII приняты меры по уменьшению задержек за счет изменения порядка выполнения команд, поддержанные средствами организации очередей команд.

Наиболее известный алгоритм минимизации задержек поиска (перемещения головок) и вращения называется Rotational Position Ordering (упорядочение по вращению). Используя этот алгоритм, накопитель может расположить команды обращения к магнитным носителям так, чтобы сократить время доступа до минимума. Первоначально использовались алгоритмы, минимизирующие расстояние, на которое перемещается головка, сокращая тем самым время поиска. Но при этом общее время доступа могло увеличиваться, поскольку после быстрого перемещения головки на нужную дорожку приходилось ждать почти полного оборота пластины для появления под головкой требуемого сектора. Алгоритм Rotational Position Ordering при выстраивании очереди команд учитывает оба фактора — дистанцию поиска и текущее положение головок на окружности пластин. В результате команды выполняются в таком порядке, чтобы сократить до минимума общее время доступа, включающее обе задержки — поиска и вращения. Именно этот алгоритм был положен в основу технологии Native Command Queuing (NCQ).

Жесткие диски SATA II могут не только выстраивать принятые команды наиболее оптимальным с точки зрения механических перемещений образом, но и динамически добавлять поступившие в процессе обработки команды в нужные позиции очереди. Перестановка ожидающих выполнения команд производится с учетом не только положения головок после выполнения последней команды, но и множества других факторов. Для определения того, какая команда будет выполняться следующей, используются сложные алгоритмы, учитывающие переключение головок, времена поиска определенных дорожек, режимы работы (например, в режиме с пониженным уровнем шума последовательность может отличаться от обычного режима, поскольку здесь учитывается, что поиск должен создавать минимум шума). Принимаются во внимание такие параметры, как расстояние, на которое перемещаются головки, начальное положение и направление поиска, характеристики ускорения и замедления позиционера, различные времена установления головок на дорожке для чтения и записи, попадания и промахи в кэш-памяти при чтении, наличие кэширования записи и многие другие. Кроме того, применяются алгоритмы, предупреждающие «зависание» отдельных команд в очереди.

Другая составляющая технологии — уменьшение задержек вращения жесткого диска. Эффект достигается двумя методами. Первый - это перегруппировка ожидающих выполнения команд аналогично тому, как это делается для минимизации задержек поиска. Если накопитель выполняет команды в порядке их поступления, то в ситуации, когда сначала поступает команда чтения сектора А, затем В, а затем С, для выполнения всех трех команд потребуется примерно 1,5 оборота дисковых пластин. Изменив же порядок выполнения команд так, чтобы после А считывался сектор С и только потом В, можно «уложиться» менее чем в один оборот и сократить общее время выполнения запроса более чем на треть.

Второй способ — это так называемый измененный порядок доставки данных (out-of-order data delivery). Это значит, что головка не обязательно должна начинать чтение (запись) с первого LBA-сектора запрошенного блока данных. Она может начать передачу с любого наиболее «удобного» для нее сектора, входящего в запрошенный блок, а недостающее начало блока передать в конце текущего оборота диска. Использование измененного порядка доставки позволяет в наихудшем случае затратить на передачу блока данных не более одного оборота пластины. Без него в наихудшем случае время передачи составит один оборот плюс время передачи всех входящих в блок секторов.

Для реализации изменения порядка следования команд необходима маркировка каждой команды, отличающая ее от других команд в очереди. В NCQ для этого используется 5-битный тег, поэтому максимальное число команд в очереди не может превышать 32. Базой для реализации NCQ в рамках протокола Serial ATA стали три механизма: сообщения о статусе завершения команды без состязаний (race-free status return), агрегирования прерываний (interrupt aggregation) и прямого доступа к памяти по инициативе устройства (First Party DMA).

Механизм Race-Free Status Return позволяет устройству сообщать о статусе выполнения любой команды в любое время. Никаких специальных «переговоров» с хост-адаптером для посылки статусного сообщения не требуется. Накопитель может сообщать о завершении нескольких команд подряд или даже одновременно.

Механизм Interrupt Aggregation позволяет обрабатывать одно прерывание для нескольких команд. Обычный алгоритм общения накопителя с хост-адаптером предусматривает обработку прерывания каждый раз, когда завершается выполнение очередной команды. Чем больше прерываний, тем больше нагрузка на хост-адаптер и центральный процессор. При использовании NCQ среднее количество прерываний, генерируемых на одну команду, может быть меньше единицы. Если накопитель завершает несколько команд в течение короткого промежутка времени, отдельные прерывания могут объединяться (агрегироваться). Тогда хост-контроллеру достаточно обработать одно прерывание на несколько команд.

Механизм First Party DMA позволяет накопителю инициировать операцию прямого доступа к памяти для передачи данных без участия хост-контроллера и центрального процессора. Накопитель выбирает контекст ПДП, посылая хост-контроллеру так называемую DMA Setup FIS (Frame Information Structure, базовая единица обмена данными в протоколе Serial ATA). Эта FIS сообщает тег команды, для которой следует создать канал ПДП.

На основании значения тега хост-контроллер загружает в контроллер ПДП компьютера указатель на соответствующую этой команде PRD-таб-лицу (Physical Region Descriptor -— структура, используемая для описания областей памяти, с которыми производится обмен данными), после чего передача данных происходит без вмешательства со стороны ЦП. Именно благодаря этому механизму накопитель может эффективно реорганизовывать команды, поскольку место в памяти для обмена данными он выбирает по собственной инициативе. Получив команду, накопитель должен знать, исполнять ли ему ее немедленно или ставить в очередь. Он также должен знать, какой протокол передачи данных будет использоваться — NCQ, DMA, PIO и т. д. Эту информацию он получает, декодируя код операции команды.

В целом внедрение интерфейса Serial ATA позволило серьезно повысить эффективность подсистемы накопителей в настольных компьютерах и вывести ее на уровень, ранее характерный для профессиональных серверных решений. Например, использование RAID-массивов с дисками SATА заметно улучшает производительность мультимедийных приложений, игр и других программ, требующих обработки больших объемов информации.

Шина SCSI

Спецификация SCSI (Small Computer System Interface) определяет физическую шину ввода-вывода и поддерживаемый ею логический интерфейс для подключения периферийных устройств. Основная идея разработки — обеспечение возможности подключения разных устройств к единой скоростной шине без необходимости модернизации аппаратной и программной части хост-системы. К шине SCSI могут подключаться накопители различного типа, принтеры, сканеры, фото- и видеокамеры. Шина SCSI практически не встречается в настольных компьютерах, но рабочие станции и серверы практически всегда имеют ее в составе платформы.

Возникновение SCSI относится к 1970-м годам, когда компанией Shugart Associates был предложен интерфейс восьмиразрядной параллельной шины и высокоуровневого протокола, обеспечивающего логический доступ к устройству, не зависящий от его внутренней конфигурации. Главное достоинство такого высокоуровневого подхода к доступу — обеспечение взаимозаменяемости оборудования разных производителей. Используя однополярную передачу сигнала, имея 8-разрядную шину, работающую в асинхронном режиме, интерфейс стал значительным шагом вперед, обеспечивая полосу пропускания 1,5 Мбайт/с.

В 1982 г. комитет Американского национального института стандартов (ANSI) одобрил предварительную спецификацию SCSI, в значительной мере основанную на разработках Shugart Associates.

Отличительными чертами интерфейса SCSI стали:

использование дифференциальной передачи электрического сигнала,  обеспечившей  высокий уровень  помехоустойчивости  при длине шины до 25 метров;

использование режима синхронной передачи данных на скоростях до 5 Мбайт/с;

определение расширенного набора команд для поддержки дисков большой емкости и возможности самостоятельного конфигурирования устройств;

определение команд для поддержки других устройств (принтеров, накопителей на магнитных лентах и оптических дисках).

SCSI-1

В 1986 г. спецификация SCSI-1 была утверждена ANSI окончательно. Первая версия стандарта определяла логический интерфейс, функционирующий на 8-разрядной разделяемой шине, работающей на частоте 5 МГц и позволяющей подключать до восьми устройств. Устройства объединялись в цепочку с помощью кабеля, образуя шину, которая терминировалась (нагружалась) с обоих концов. Два любых устройства, подключенных к шине, могут установить соединение друг с другом и произвести обмен данными. Устройство, инициирующее соединение, называется инициатором (Initiator), а его абонент называется целевым устройством или адресатом (Target). Спецификацией SCSI предусматривается, что любое устройство, подсоединенное к шине, может быть как инициатором, так и целевым устройством. Соединение в один момент времени возможно только между двумя устройствами на шине.

Все SCSI -устройства подразделяются на несколько групп, для каждой из которых определен свой базовый набор команд:

  1.  Direct Access Device — устройство прямого доступа (жесткие диски).
  2.  Sequential Access Device — устройство последовательного доступа (ленточные накопители).

Printer device — принтер (устройство печати).

Processor device — устройство обработки данных.

Write Once Read Many Device — некоторые виды оптических накопителей с однократной записью.

CD-ROM Device — оптический накопитель с возможностью чтения данных.

Scanner device — сканеры.

Other — прочие устройства.

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

Физически шина SCSI-1 представляет собой набор из 25 пар проводников, часть которых используется для передачи данных и управляющих сигналов, а другая часть — для служебных целей или же зарезервирована для будущих расширений. Всего на шине SCSI-1 18 сигнальных линий: 9 используются для передачи управляющих сигналов и 9 — для передачи данных. Шина SCSI является инверсной, то есть высокому уровню сигнала соответствует состояние «ложь», а низкому — «истина». Для внутренних соединений проводники образуют шлейф из 50 проводников.

Для адресации каждое устройство, подключенное к шине, должно иметь свой идентификатор — SCSI ID, представляющий собой позиционный код, выдаваемый на шину данных: каждой линии шины данных соответствует определенный идентификатор (и, соответственно, определенное устройство). Поскольку шина SCSI-1 имеет ширину 8 бит, максимально может быть адресовано (идентифицировано) 8 устройств. Каждое устройство SCSI-шины может быть структурировано на логические единицы (Logical Units, LUN), число которых в устройстве, адресуемом одним SCSI ID, может достигать 8 (от LUN0 до LUN7). Это имеет смысл, когда конечное устройство состоит из какого-то числа компонентов (возможно, выполняющих разные функции) и есть необходимость обращаться к каждому отдельно. В этом случае адресация компонента осуществляется парой тегов (SCSI ID, LUN). Чтобы использовать на шине как можно большее число устройств, применяют мосты — контроллеры, подключаемые к основной шине SCSI и образующие новую ветку, позволяющую подсоединить несколько устройств, имеющих один SCSI ID и разные LUN.

Вариант топологии цепочки устройств SCSI

Принципиальная схема сегмента шины SCSI SE

Устройства на SCSI-mime неравноправны: каждое имеет свой приоритет в соответствии с номером ID. Максимальный приоритет имеет устройство с максимальным ID. Хост-адаптер шины всегда имеет ID7, для того чтобы он мог занять шину в любой нужный ему момент. Обычно ID распределяют следующим образом. 

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

Как уже упоминалось, стандартом SCSI предусматривались два режима передачи сигнала по линиям связи: дифференциальный и однополярный. Преимуществами однополярного интерфейса являются упрощенная конструкция самого устройства и разъемов, уменьшение числа проводов в соединительном кабеле. Однако в однополярном режиме максимально допустимая длина шины составляет 6 метров. Дифференциальный SCSI более сложен в реализации, но его использование позволяет увеличить длину шины до 25 метров. Дифференциальный и однополярный SCSI не являются совместимыми, и одновременное подключение к шине устройств, использующих ее в разных режимах, невозможно без специальных переходников и преобразователей.

Для предотвращения распространения отраженного сигнала шина SCSI должна быть терминирована с обоих концов. В SCSI-1 оговаривается два варианта терминаторов: активные и пассивные. Пассивные используются в основном для шины, работающей в однополярном режиме, для дифференциальной шины рекомендуется использование активных терминаторов. Часто устройства уже имеют в своем составе терминатор, избавляя от необходимости приобретать его отдельно, и допускают управление им — включено/выключено.

SCSI-2

В 1988 г. началась работа над спецификацией SCSI-2. Основными направлениями для совершенствования стали увеличение производительности, расширение числа адресуемых устройств, улучшение совместимости. В новой спецификации значительно был расширен список поддерживаемых устройств (сканеры, коммуникационные компоненты, магнитооптические накопители), расширены существующие наборы команд.

Увеличение максимального числа устройств на шине при сохранении прежнего механизма адресации обеспечено за счет ее расширения до 16 или 32 бит. Для сохранения совместимости была оставлена поддержка 8-разрядной шины. Кроме увеличения числа адресуемых устройств, такой подход позволяет также поднять производительность. Для обозначения разновидностей шины были введены два термина: узкая (Narrow) и широкая (Wide). Термин «узкая» относится к первоначальной 8-разрядной шине, а термин «широкая» — к 16-разрядной. Также была увеличена до 10 МГц частота шины при работе в синхронном режиме. Шина, работающая на такой частоте, получила название Fast (отсюда и второе название стандарта — FastSCSI). Таким образом, стандарт SCSI-2 обладает следующими возможностями:

♦ узкая шина, работающая на частоте 10 МГц (FastSCSI или SCSI-2), обеспечивает передачу данных на скорости 10 Мбайт/с и поддерживает до 8 устройств;

♦ широкая шина на частоте 10 МГц (WideFastSCSI или WideSCSI-2) передает данные на скорости 20 Мбайт/с и поддерживает до 16 устройств.

Важным дополнением SCSI-2 служит механизм организации маркированных очередей. Маркированные очереди для канала инициатор — целевое устройство — логическое устройство позволяют создавать очередь размером до 256 процессов, каждый из которых маркируется тегом. Очередность выполнения процесса определяется передаваемыми с ним сообщениям в момент постановки в очередь.

SCSI-3

Разработка стандарта SCSI-3 началась в 1993 г. Авторы отказались от определения привычной параллельной шины и ряда последовательных технологий на нижнем уровне интерфейса . Это было сделано специально, чтобы обеспечить универсальность шины за счет снятия ограничений на скорость и протяженность соединений. Внутри спецификации определены специальные разделы, описывающие отдельные шины. Технология параллельной медной шины SCSI названа SCSI-3 Parallel Interface и определяется серией стандартов SPIx. Стандарт SPI—1 описывает шину с тактовой частотой до 20 МГц, благодаря чему он получил название UltraSCSI. Пропускная способность достигает 20 Мбайт/с для «узкой» и 40 Мбайт/с для «широкой» версий шины. Хотя теоретически число поддерживаемых устройств осталось прежним (8 для узкой и 16 для широкой версий), при использовании кабельного соединения более четырех устройств объединять нельзя. Терминаторы в UltraSCSI можно использовать только активные. Такова плата за высокую производительность.

Стандарт SPI-2 описывает шину с тактовой частотой 40 МГц, что обеспечивает пропускную способность 40 Мбайт/с или 80 Мбайт/с, в зависимости от ширины шины. Стандарт получил название Ultra2SCSI. На шине применена технология низковольтных уровней дифференциального сигнала (Low Voltage Differential, LVD). По аналогии прежняя технология получила название High Voltage Differential (HVD). Устройства HVD и LVD не могут использоваться одновременно. Максимальная длина соединения составляет 12 метров для шины LVD и 25 метров для шины HVD.

Стандарт SPI-3 (иногда называется Ultra3SCSI) принят в 1998 г. В спецификации произошел полный отказ от высоковольтных сигналов и ликвидирована 32-разрядная шина. Из нововведений к наиболее существенным относятся двойная синхронизация, использование контрольно-циклических кодов (CRC) и контроль окружения. Повышение пропускной способности шины до 160 Мбайт/с достигнуто за счет синхронизации по обоим фронтам тактового сигнала. Применение механизма CRC позволяет обнаруживать все одиночные разрядные ошибки, все двойные разрядные ошибки, нечетное число ошибок и все ошибки пакета длиной до 32 бит, благодаря чему существенно возрастает надежность передачи. Контроль окружения выполняется в автоматическом режиме и представляет собой процедуру, проверяющую канал передачи данных на соответствие выбранному режиму. Если обнаружится опасность потери данных, будет автоматически осуществлен переход в менее скоростной режим.

Стандарт SPI-4 (Ultra 320 SCSI) описывает 16-битную шину с тактовой частотой 80 МГц и двойной синхронизацией, что обеспечивает пропускную способность 320 Мбайт/с. Спецификация содержит несколько технологических новшеств, повышающих надежность обмена данными.

Стандарт SPI-5 (Ultra 640 SCSI) описывает параллельный интерфейс со скоростью передачи 640 Мбайт/с. Окончательная спецификация шины так и не была утверждена, хотя некоторые компании выпускали устройства Ultra 640 SCSI. Промышленная ассоциация SCSI отвергла планы по его разработке и сфокусировалась на Serial Attached SCSI.

Шина Serial Attached SCSI (SAS)

Вершиной эволюции параллельного интерфейса SCSI стала спецификация Ultra320 SCSI, обеспечившая пропускную способность шины 320 Мбайт/с, что вполне соответствовало требованиям современных систем хранения данных. Но тенденция повсеместного перехода на последовательные шины не миновала и SCSI. В результате появился новый стандарт Serial Attached SCSI (SAS), утвержденный в 2004 г. Пиковая пропускная способность шины Serial Attached SCSI в сегодняшней версии составляет до 5 Гбит/с (около 600 Мбайт/с).

Впрочем, основное достоинство интерфейса SAS заключается не в пропускной способности, а в поддержке полнодуплексного режима работы, возможности подключения до 128 корневых устройств (всего до 16256 устройств с учетом всех веток), в обратной совместимости на физическом уровне с шиной Serial ATA.

Возможная топология системы Serial Attached SCSI

В качестве сигнальных линий шины SAS используются две дифференциальные пары, что позволяет организовать полнодуплексный режим работы. Обмен данными по дифференциальным парам происходит низковольтными сигналами в противофазе, что исключает перекрестные помехи. Один или несколько физических каналов, каждый из которых образован дифференциальной парой, образуют порт. Порт с одним каналом называют «узким» (Narrow port), порт с двумя и более каналами называют «широким» (Wide port). Каждое физическое SАS-устройство должно иметь один или несколько узких или широких портов. Кроме оконечных устройств (например, жестких дисков) и контроллеров спецификацией SAS предусмотрены расширители (Expander), также оснащенные портами. К расширителям подключаются как оконечные устройства, так и другие расширители. Причем используется два типа расширителей: оконечный (Edge Expander) и корневой (Fanout Expander). К оконечным расширителям подключаются только конечные SАS-устройства, например жесткие диски. Корневой расширитель предназначен для подключения к нему только оконечных расширителей и выполняет функции маршрутизатора. Использование корневого и оконечных расширителей позволяет создавать разветвленные топологии шины SAS.

Архитектура интерфейса SAS предусматривает несколько уровней: физический (физической линии и физического порта), логического канала, логического порта, транспортного протокола, приложений. Поскольку различия, препятствующие взаимодействию с SATА, начинаются лишь на самом низком физическом уровне, к шине SAS возможно подключение дисков SATА, но обратная операция исключена. Монтаж хост-контроллера и устройств SAS на платформу ПК не представляет сложности, так как уже на логическом уровне они воспринимаются операционной системой и приложениями как стандартные накопители. Однако вряд ли все возможности SAS понадобятся в настольной платформе, поэтому наличие шины Serial Attached SCSI станет, по-видимому, отличительной чертой рабочих станций и серверов.

Интерфейс ACPI

Механизм ACPI (Advanced Configuration and Power Interface, расширенный интерфейс конфигурирования и управления питанием). Поддержка ACPI должна обеспечиваться на уровне компонентов, BIOS и ядра операционной системы. Система ACPI занимается менеджментом энергосберегающих функций компьютера и распределением системных ресурсов посредством расширенного контроллера прерывания APIC (Advanced Programmable Interrupt Controller). Поддержка обширного перечня функций со стороны ACPI вызывает определенные трудности в реализации интерфейса. С момента своего появления в 1997 г. и до настоящего времени некоторые возможности ACPI либо не поддерживаются, либо поддерживаются лишь частично платформами настольных ПК.

На интерфейс ACPI опирается технология On~Now, призванная сократить длительный процесс при включении (выключении) компьютера, обеспечить служебным приложениям (например, процедурам проверки жесткого диска) возможность работы в то время, когда компьютер выключен, улучшить положение с энергопотреблением.

Согласно спецификации ACPI компьютер может находиться в следующих состояниях:

G1 спящий режим (suspend);

G2 — питание отключено, но блок питания находится под напряжением (softoff);

G3 - питание отключено механическим выключателем (mechanical off).

Технология On-Now предусматривает расширения для режима G1. Добавляются следующие уровни функционирования.

S1 (Standby 1) — останавливаются таймеры системной платы, но сохраняется состояние оперативной памяти. Выход из режима S1 в рабочий режим происходит мгновенно.

S2 (Standby 2) — дополнительно отключается питание кэш-памяти системной платы и процессора, а данные, хранившиеся там, переправляются в оперативную память. Переход в рабочий режим происходит достаточно быстро.

S3 (Suspend-to-memory) — обесточиваются все компоненты системы, кроме оперативной памяти. Текущее состояние системы записывается в оперативную память. Включение с восстановлением предыдущего состояния компьютера занимает чуть больше времени, чем из режима S2.

S4 (Suspend-to-disk) — данные о состоянии системы и содержимое памяти записываются в специально отведенное место на жестком диске. Переход в рабочий режим занимает сравнительно много времени.

Для поддержки режима S3 необходимо, чтобы системная плата имела схемы раздельного питания компонентов и обеспечивала запись в память на уровне BIOS.

Так как спецификацию On-Now разрабатывала фирма Microsoft, то управляющим центром всей технологии, естественно, стала операционная система Windows. Учитывая любовь Билла Гейтса к идее информационной магистрали, было предусмотрено многое для работы в локальных и глобальных сетях. В частности, обеспечивается автоматическая загрузка файлов из Интернета и выполнение системных задач. Например, можно задать включение компьютера ночью для просмотра Web-страниц и получения новых файлов. По такому же принципу функционируют другие программы (антивирусы, средства резервного копирования, проверки диска и пр.).-

Сохранение сетевых соединений обеспечивается автоматической записью используемых файлов на локальный диск и восстановлением соединения после включения компьютера. Поддержка специфических функций предусматривает, например, непрерывную 24-часовую работу факс-модема независимо от состояния компьютера. При необходимости сетевая карта включает систему и запускает необходимые приложения.

Откровенно говоря, автор до сих пор не видел ни одной настольной платформы, поддерживающей функции энергосбережения ACPI и OnNow в полном объеме. Обязательно что-то не работает или работает не так, как положено. Совсем иначе обстоят дела в сфере переносных компьютеров. Здесь интерфейс ACPI поддерживается в полной мере на уровне железа, BIOS и приложений.

Для настольных систем самой важной функцией ACPI является система IRQ Sharing (поддерживается APIC), занимающаяся динамическим распределением прерываний между компонентами. Если на одной линии IRQ висит несколько устройств, менеджмент между ними обеспечивается системой IRQ Sharing. Физически в компьютере имеется 16 линий аппаратных прерываний, но некоторые прерывания имеют статус системных, поэтому их использование или переназначение линии невозможно. В современной компьютерной системе свободных прерываний осталось очень мало.

Все линии прерываний имеют свои приоритеты. Чем выше приоритет у линии прерывания, тем быстрее процессор ответит на запрос устройства, находящегося на этой линии. Прерывания приведены в таблице в порядке приоритета.

Режимы функционирования компонентов согласно спецификации ACPI On-Now

Таблица распределение прерываний

.

Устройств, требующих собственное прерывание и не представленных в таблице, может быть куда больше. Например: сетевая карта, контроллер RAID или SCSI, ТВ-тюнер, SAT A, IEEE1394 (FireWire) и так далее. То есть, вполне может сложиться ситуация, когда на два свободных прерывания будет несколько устройств, требующих собственного прерывания. Совместное использование ресурса означает пропорциональное снижение эффективности компонентов. Если на одном прерывании сидят видеокарта и звуковая карта, «торможение» для обоих практически гарантированно. Существует три метода решения этой проблемы. Первый метод — полноценное использование систем ACPI и IRQ Sharing. Если системы ACPI, а соответственно и APIC, включены, то операционная система считает, что имеется 256 виртуальных прерываний, при этом реальных прерываний остается 16. ACPI автоматически распределяет прерывания и не позволяет менять их произвольно

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

Второй метод заключается в отказе от использования ACPI и APIC, но задействовании IRQ Sharing. Отказ от систем ACPI и APIC означает, что операционная система знает о наличии только 16 прерываний. Система IRQ Sharing позволит находиться на одном прерывании нескольким устройствам. При этом можно изменять распределение прерываний по усмотрению пользователя. Правда, компьютер больше не будет выключаться программно (его придется выключать кнопкой «Power») и откажется поддерживать функции энергосбережения.

Третий метод — самый эффективный в смысле улучшения производительности, но требует определенных усилий пользователя. Суть метода в полном отказе от систем ACPI и IRQ Sharing и ручном распределении линий прерываний. Каждое устройство должно иметь отдельное прерывание и ни с кем не пересекаться. Неиспользуемые устройства отключаются от линий прерываний. При использовании данного метода половина компьютера может оказаться «в отключке», зато все остальное будет работать самым эффективным образом.

Предположительный список отключаемых устройств:

Midi Port Adress;

Onboard Parallel Port (если к нему не подключен принтер);

Onboard COM Port (если порт не используется);

Onboard Audio (если установлена отдельная звуковая карта);

Onboard LAN Control (если компьютер не подключен к локальной сети);

USB Host Controller (если нет устройств, подключенных к портам USB);

Onboard Serial ATA (если нет дисков SAT А);

Onboard ATA (если установлены диски SAT А, один канал AT А мож
но отключить, оставив второй для
CD/DVD привода);

Onboard RAID (если функция RAID не используется).

Шина SMBus

Интерфейс System Management Bus представляет собой двухпроводную низкоскоростную шину менеджмента устройств. Протоколы работы SMBus основаны на принципах технологии I2C, разработанной фирмой Phillips.

Суть архитектуры SMBus заключается в определении конфигурации аппаратных средств без привлечения других шинных интерфейсов. Хост-контроллер шины обычно встроен в южный мост НМСЛ. Например, контроллер шины SMBus, реализованный в микросхеме Intel 82801DB I/O Controller Hub 4 (ICH4) позволяет передавать и получать данные от компонентов, постоянно находящихся на шине. Эти сигналы используются исключительно хост-контроллером SMBus для менеджмента устройств.

Интерфейс SMBus позволяет процессору связываться с абонентами шины напрямую. Обычно в качестве абонентов выступают модули на шине памяти и устройства на шине PCI (PCI Express). Протокол I2C поддерживает восемь типов команд: Quick Command (быстрые команды), Send Byte/Receive Byte (отправка/получение байта), Write Byte/Word (запись байта/слова), Read Byte/Word (чтение байта/слова), Process Call (вызов процедуры), Block Read/Write (блокировка чтения/записи), Host Notify (уведомление хост-контроллера).

Топология шины SMBus

В обмене участвуют два устройства: ведущее (хост-контроллер) и ведомое (Slave). Каждое из этих устройств может выступать как в качестве передатчика, помещающего на линию информационные биты, так и в качестве приемника, в зависимости от типа обмена. Синхронизацию задает хост-контроллер, но линия данных поочередно управляется обоими устройствами, участвующими в обмене. Каждое ведомое устройство имеет свой адрес, который используется при инициализации обмена. Протокол I2C позволяет использовать одну шину многим устройствам, определяя коллизии и выполняя арбитраж. Если два передатчика пытаются установить на линии данных различные логические уровни сигналов, то приоритет получает тот, кто выставил низкий уровень. Передатчик следит за уровнями выставляемых им сигналов и при обнаружении коллизии отказывается от передачи, так как согласно протоколу устройство инициирует обмен только при пассивном состоянии сигналов. Коллизия возникает только при одновременной попытке начала обмена, но, как только конфликт обнаружен, он автоматически разрешается за счет отказа одного абонента от передачи.

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

2 НМС – набор микросхем системной логики, чипсет.

PAGE  27




1. Статья 16 Особенности правового положения национальных парков 1
2. Таня Таня ТаняТаня Пьеса Действующие лица- ТАНЯ ИВАНОВ ~ ее муж Мальчик их сын
3. Реферат- Перитонит
4. Гнездо и жизнь пчелиной семьи
5. выражение равное разности произведения элементов стоящих на главной и побочной диагоналях
6. одиниця Її впізать можна здалеку
7. по месту образования;2 способу образования;3 уровню шума сонорность-шумность;4 глухость-звонкость;5 тверд
8. Жилые дома блокированной застройки жилые дома с количеством этажей не более чем три состоящие из несколь
9. Рекламное агентство Сверхновая
10. Электронный документооборот для SMB
11. тема керування технікоекономічний аналіз охорона праці
12. Организация производства и менеджмент предприятия 1
13. Религия и атеизм в условиях социализма
14. исторических разновидностях относятся - жертвенногероическое отношение к жизни в которой необходимо
15. реферат дисертації на здобуття наукового ступеня кандидата технічних наук Х
16. Понятие и свойства доказательств в уголовном процессе
17. Стороны заключили настоящий договор о нижеследующем- 1
18. Тема- Організація праці і виробництва на заводі
19. Лабораторна робота 3 З дисципліни
20. тема и источники римского частного права