Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GEK / Перечень вопросов Архитектура_2.docx
Скачиваний:
80
Добавлен:
18.05.2015
Размер:
5.89 Mб
Скачать

Стандартный параллельный порт пк

Стандартный параллельный порт называется SPP (Standard Parallel Port - Стандартный Параллельный Порт). SPP порт является однонаправленным, на его базе программно реализуется протокол обмена Centronics. Порт обеспечивает возможность генерации IRQ по импульсу ACK# на входе. Сигналы порта выводятся на стандартный разъем DB-25S (розетка), который размещен непосредственно на плате адаптера или соединяется с ним плоским шлейфом (в случае, если адаптер интегрирован с материнской платой). Названия сигналов соответствуют названиям сигналов интерфейса Centronics (таблица 1.2).

В таблице 1.2 I/O - направление передачи: I - вход; O - выход; O(I) - выход, состояние которого может быть считано при определенных условиях, O/I - выходные линии, состояние которых читается при чтении из соответствующих регистров порта.

Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).

Data Register (DR) — регистр данных, адрес=ВАSЕ. Данные, записанные в этот ре­гистр, выводятся на выходные линии Data[7:0]. Данные, считанные из этого реги­стра, в зависимости от схемотехники адаптера соответствуют либо ранее записан­ным данным, либо сигналам на тех же линиях, что не всегда одно и то же.

Status Register (SR) — регистр состояния (только чтение), адрес=ВАSЕ+1. Регистр отображает 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7) и флаг прерывания. Бит SR. 7 инвертируется — низкому уровню сигнала соответ­ствует единичное значению бита в регистре, и наоборот.

Ниже описано назначение бит регистра состояния (в скобках даны номера кон­тактов разъема порта).

  • SR.7 — Busy — инверсное отображение состояния линии Busy (11): при низ­ком уровне на линии устанавливается единичное значения бита — разрешение на вывод очередного байта.

  • SR. 6 — Ack (Acknowledge) — отображение состояния линии Ack# (10).

  • SR. 5 — РЕ (Paper End) — отображение состояния линии Paper End (12). Еди­ничное значение соответствует высокому уровню линии — сигналу о конце бу­маги в принтере.

  • SR. 4 — Select — отображение состояния линии Select (13). Единичное значение соответствует высокому уровню линии — сигналу о включении принтера.

  • SR. 3 — Error — отображение состояния линии Error* (15). Нулевое значение соответствует низкому уровню линии — сигналу о любой ошибке принтера.

  • SR.2 — PIRQ — флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Единичное значе­ние устанавливается по аппаратному сбросу и после чтения регистра состояния.

  • SR[1:0] — зарезервированы.

Control Register (СR) — регистр управления, адрес=ВА5Е+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов (биты 0-3) для которых возможно и чтение; выходной буфер обычно имеет тип «открытый кол­лектор». Это позволяет корректно использовать линии данного регистра как вход­ные при программировании их в высокий уровень. Биты 0,1,3 инвертируются.

Ниже описано назначение бит регистра управления.

  • CR [7:6] — зарезервированы.

  • CR.5 — Direction — бит управления направлением передачи (только для пор­тов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.

  • CR. 4 — AcklNTEN (Ack Interrupt Enable) — единичное значение разрешает пре­рывание по спаду сигнала на линии Ack# — сигнал запроса следующего байта.

  • CR.3 — Select In — единичное значение бита соответствует низкому уровню на выходе Select ln# (17) — сигналу, разрешающему работу принтера по интер­фейсу Centronics.

  • CR.2 — In it— нулевое значение бита соответствует низкому уровню на выхо­де Init# (16) — сигнал аппаратного сброса принтера.

  • CR. 1 — Auto LF — единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) — сигналу на автоматический перевод строки (LF — Line Feed) по приему байта возврата каретки (CR). Иногда сигнал и бит называют AutoFD или AutoFDXT.

  • CR.0 — Strobe — единичное значение бита соответствует низкому уровню на выходе Strobe* (1) — сигналу стробирования выходных данных.

Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указани­ем требуемого количества шинных операций процессора.

  1. Вывод байта в регистр данных (1 цикл IOWR#).

  2. Ввод из регистра состояния и проверка готовности устройства (бит SR. 7 — сигнал Busy). Этот шаг зацикливается до получения готовности или до сраба­тывания программного тайм-аута (минимум 1 цикл IORD#).

  3. По получению готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается. Обычно, чтобы пере­ ключить только один бит (строб), регистр управления предварительно считы- вается, что к двум циклам IOWR# добавляет еще один цикл IORD#.

Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с реги­страми порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандарт­ный порт — невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при полной загрузке про­цессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный — сложность использования в качестве порта ввода/

  1. Организация подсистемы ввода-вывода ПЭВМ. Программирование системы ввода-вывода.

Микропроцессорная система состоит из трех подсистем: микропроцессора, подсистемы памяти и подсистемы ввода/вывода. Подсистема ввода/вывода отвечает за связь с устройствами ввода/вывода. При рассмотрении подсистемы ввода/вывода все периферийные устройства будем называть устройствами ввода/вывода.

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

При разработке систем ввода/вывода должны быть решены следующие проблемы:

  • возможность реализации системы с переменным составом оборудования, в первую очередь с различным набором устройств ввода/вывода, с тем, чтобы пользователь мог выбирать состав оборудования (конфигурацию) системы в соответствии с ее назначением, легко дополнять систему новыми устройствами;

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

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

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

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

Различают два основных вида архитектуры систем ввода/вывода:

  • система непосредственного ввода/вывода;

  • система канального ввода/вывода.

В системе непосредственного ввода/вывода (рис. 21) обмен данными с устройствами ввода/вывода выполняется процессором.

Рис. 21 – Система непосредственного ввода/вывода

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

Рис. 22 – Система канального ввода/вывода

При любой форме взаимодействия с микропроцессорной системой аппаратура ввода/вывода обычно состоит из собственно устройства ввода/вывода и устройства управления этим устройством ввода/вывода – контроллера устройства ввода/вывода.

Интерфейс между процессором или каналом ввода/вывода и контроллером устройства ввода/вывода называется системным интерфейсом, а интерфейс между контроллером и устройством ввода/вывода – интерфейсом ввода/вывода. Системный интерфейс, как правило, является общим для всех видов устройств ввода/вывода, а интерфейсы ввода/вывода специализированы для конкретных видов устройств ввода/вывода.

С точки зрения программиста, работающего на уровне машинных команд, подсистему ввода/вывода можно представить в виде пространства ввода/вывода IOS и набора команд ввода/вывода, обеспечивающих к нему доступ. Организация пространства ввода/вывода подобна организации пространства памяти: IOS организовано в виде набора n-разрядных ячеек – портов, каждый из которых может быть адресован независимо от других.

Между микропроцессором и периферийными устройствами происходит обмен информацией двух типов:

  • служебной;

  • собственно данными.

Служебная информация от МП инициирует действия, связанные с обменом данными, и передается с помощью управляющих слов CW (Control Word). Служебные сообщения от периферийных устройств информируют МП об их текущем состоянии и называются словами состояния SW (Status Word). В отличие от них данные передаются с помощью слов данных DW (Data Word).

Объем служебной информации, которой обмениваются периферийные устройства и микропроцессор, а также ее интерпретация зависят от типа периферийного устройства. Для наиболее простых устройств, таких как прямо управляемые клавишные матрицы или светодиодные индикаторы, служебная информация не нужна. В других случаях, например при взаимодействии с НГМД, управляющая информация и данные о состоянии устройства могут иметь большой объем. При этом каждое периферийное устройство (ПУ) воспринимает определенный, присущий только ему набор команд управления. Организовать в этом случае передачу каждой команды ПУ по отдельной линии магистрали (шины управления) не представляется возможным по двум причинам. Во-первых, при разработке микропроцессора достаточно трудно предусмотреть все возможные применения микропроцессорной системы на его основе, а, следовательно, и используемые в ней ПУ. Во-вторых, для каждого дополнительного управляющего сигнала потребуется отдельный вывод в БИС микропроцессора, т.е. возникают чисто конструктивные ограничения на количество используемых в шине управления магистрали управляющих сигналов, связанные с числом выводов в БИС микропроцессора. Решение указанной проблемы осуществляется путем мультиплексирования шины данных: в одни моменты времени она используется для передачи данных, в другие моменты – для передачи служебной информации. При этом для связи с периферийным устройством отводится ряд портов ввода/вывода, через которые и проходит вся информация: управляющая, слова состояния и непосредственно данные. С точки зрения программиста множество портов ввода/вывода, связанных с данным периферийным устройством, образует пространство доступа к этому периферийному устройству.

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

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

В контроллере ПУ используются регистры четырех типов в зависимости от типа информации, для хранения которой они предназначены:

  • регистр входных данных или входной регистр (доступен микропроцессору только по чтению);

  • регистр выходных данных или выходной регистр (доступен микропроцессору только по записи);

  • регистр состояния (доступен микропроцессору только по чтению). Содержит информацию о текущем состоянии ПУ (включено/выключено, готово/не готово к обмену данными, ошибка и т.п.);

  • регистр управления (доступен микропроцессору только по записи). Служит для приема из МП команд для ПУ.

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

  • программно-управляемый обмен;

  • прямой доступ к памяти (ПДП).

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

Рис. 24 – Два основных способа организации передачи данных между системой и устройствами ввода/вывода

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

В зависимости от используемого способа обмена программно-управляемый ввод/вывод называется

  1. прямым вводом/выводом;

  2. условным вводом/выводом;

  3. вводом/выводом по прерыванию.

Прямой ввод/вывод.

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

Прямой ввод/вывод реализуется с помощью портов пространства IOS. Порты ввода/вывода являются простейшими схемными элементами, на основе которых реализуется связь с периферийными устройствами. Они образуют первый, наиболее близкий к МП уровень аппаратных средств подсистемы ввода/вывода. В простейшем случае этот уровень является единственным.

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

Условный ввод/вывод.

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

Типичное решение проблемы синхронизации обмена состоит в использовании условного ввода/вывода. При условном вводе/выводе операции обмена сопровождаются специальным сигналом готовности RDY, вырабатываемом периферийным устройством и входящим в состав его слова состояния SW. Этот сигнал служит для информирования МП о готовности периферийного устройства принять или передать новые данные. После завершения операции ввода/вывода сигнал готовности (соответствующий разряд слова состояния SW) должен быть снят и выставлен заново только при новой готовности к обмену. С этой целью периферийное устройство следует проинформировать об окончании операции, для чего используется включенный в управляющее слово CW сигнал подтверждения ACK. Протокол обмена служебной информацией такого типа называется квитированием. Он обеспечивает надежную асинхронную передачу данных со скоростями, определяемыми периферийным устройством.

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

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

Признаком окончания операции может служить само обращение к порту данных. Это упрощает как схему порта, так и процедуру обмена, освобождая пользователя от работы с управляющим словом. При этом на входе порта ввода предусматривается регистр-защелка, фиксирующий входные данные по стробу STB, генерируемому периферийным устройством. Запись во входной буфер устанавливает флажок готовности IBF (Input Buffer Full), инициируя операцию ввода. Флажок сбрасывается автоматически при чтении МП содержимого входного буфера. При выводе роль флажка готовности выполняет флажок OBF (Output Buffer Full). Сигналом окончания операции вывода и установки флажка OBF служит сигнал подтверждения ACK, генерируемый периферийным устройством.

Ввод/вывод по прерыванию.

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

При готовности приступить к очередной операции ввода/вывода ПУ посылает в микропроцессор запрос на прерывание, по получении которого МП временно приостанавливает (прерывает) выполнение текущей программы и передает управление специальной подпрограмме, организующей нужный вид обмена данными. После обслуживания ПУ микропроцессор возвращается к прерванной программе, продолжая ее с момента приостановки. Обслуживание прерываний осуществляется в незаметном для основной программы режиме, поэтому их наличие прямо не влияет на работу последней, за исключением времени ее исполнения.

Обслуживание ввода/вывода по прерыванию является альтернативой двум другим видам программно-управляемого обмена. Если при чисто программном управлении, как начало процедуры, так и непосредственное ее исполнение находятся под управлением программы, то обслуживание по прерыванию инициируется аппаратными средствами.

Таким образом, обмен с прерываниями отличается от условного (асинхронного) программно-управляемого обмена тем, что переход к выполнению команд, физически реализующих обмен данными (командам ввода/вывода), осуществляется с помощью специальных аппаратных средств. Команды обмена данными в этом случае выделяют в отдельный программный модуль – подпрограмму обработки прерывания. Задачей аппаратных средств обработки прерываний в МП является приостановка выполнения одной программы (основной) и передача управления подпрограмме обработки прерывания. Действия, выполняемые при этом МП, как правило, те же, что и при обращении к подпрограмме. Только при обращении к подпрограмме они инициируются специальной командой, а при обработке прерывания – сигналом от ПУ, который называют запросом прерывания.

Эта важная особенность обмена с прерыванием программы позволяет организовать обмен данными с ПУ в произвольные моменты времени, не зависящие от программы, выполняемой в МП. Таким образом, появляется возможность обмена данными с ПУ в реальном масштабе времени, определяемом внешней по отношению к микропроцессорной системе средой. Кроме того, обмен с прерыванием программы существенным образом экономит время процессора, затрачиваемое на обмен, за счет того, что исчезает необходимость в организации программных циклов ожидания готовности ПУ (особенно при обмене с медленнодействующими ПУ).

  1. Классификация интерфейсов внешних накопителей. Различие между интерфейсами и общие характеристики.

Интерфейсы подключения

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

  • сохранение (запись) информации из указанной области внутренней памяти хоста (размером в целое количество блоков) в указанное место на носителе устройств;

  • считывание указанных блоков с носителя устройства в указанную область внутренней памяти хоста;

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

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

Физическое местоположение контроллера зависит от реализации устройства. Обобщенная схема подключения устройства к хосту приведена на рис. 1. Если контроллер располагается отдельно от устройства, то интерфейс устройства хранения бывает сугубо специфическим. Если контроллер встроен в устройство хранения, то вся специфика взаимодействия с носителем скрывается внутри устройства — во внутреннем интерфейсе между средствами доступа к носителю и контроллером. При этом появляется свобода в выборе интерфейса подключения устройства (фактически — его контроллера) к хосту.

Рис 1 - Устройство хранения, подключенное к хосту, и его интерфейсы

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

Первые устройства хранения в ПК — накопители на гибких магнитных дисках (НГМД) — подключались интерфейсным кабелем-шлейфом к контроллеру, отделенному от самих устройств. Этот специализированный интерфейс (FDD) сохранился до сих пор, им подключают дисководы, требующие скорости передачи всего 500 Кбит/с (около 60 Кбайт/с). К интерфейсу дисководов подключали и старые стримеры (очень тихоходные).

Параллельная шина АТА (IDE) — самый массовый интерфейс, применяемый для устройств хранения, также является специфическим. Но эта специфика обусловлена историей его появления: чтобы не вводить новых интерфейсов, контроллер НЖМД, подключаемый к шине ISA, «разрезали» около интерфейса шины ISA. Цель этой операции — приблизить контроллер к приводу, из-за чего пришлось удлинить связь между основной частью контроллера (устройством АТА) и точкой его подключения (буферным адаптером, подключенным к шине ISA). По этому интерфейсу в параллельном виде передаются байты сохраняемых данных и содержимого регистров контроллера. Со временем место подключения изменилось (теперь это шина PCI и ее последователи), но ради совместимости и пре­емственности интерфейс АТА сохранялся (постепенно модернизируясь). Для устройств, логически отличающихся от жестких дисков, — оптических, магнитооптических, ленточных и любых других — в 1996 г. была принята спецификация ATAPI. Это пакетное расширение интерфейса позволяет передавать по шине АТА устройству блоки командной информации, структура которых позаимствована из SCSI. Достигнутый потолок скорости ATA/ATAPI — 133 Мбайт/с (Ultra DMA Mode 6). Первоначально интерфейс АТА обладал ограничением адресуемого объема данных в 137 Гбайт, в последних версиях (ATA/ATAPI-6) это ограничение преодолено, нынешний «потолок» — 144 Пбайт (248 блоков). Физически интерфейс АТА — это ленточный кабель-шлейф, предназначенный для подключения устройств внутри системного блока компьютера. Первоначально интерфейс не допускал «горячего» подключения-отключения; эта возможность появилась в реализациях АТА для блокнотных, а затем и для настольных ПК (для съемных устройств).

Последовательный интерфейс Serial АТА (SATА) — преемник своего параллель­ного предшественника. Здесь повышается скорость обмена с устройством, решается проблема одновременной работы с несколькими устройствами, сразу используется расширенная адресация. Кабели и разъемы последовательного интерфейса SATA компактны, «горячее» подключение реализуется естественным образом: в SATA каждое устройство подключается к собственному порту хост-контроллера, а не к общей шине. Поначалу интерфейс SATA предназначался только для подключения внутренних устройств, позже он стал и внешним интерфейсом. В SATA-II появились новые элементы: мультиплексоры, позволяющие подключать к одному порту хоста несколько устройств, и селекторы портов, позволяющие подключать одно устройство (или мультиплексор) к двум хостам (но работать устройство может только с одним хостом).

Интерфейс SCSI — главный конкурент АТА для устройств хранения — является универсальным. Он предназначен для подключения устройств различных классов: дисковых, ленточных, оптических и других устройств хранения, принтеров, сканеров, коммуникационных и прочих устройств. В интерфейсе SCSI определена идеология взаимодействия хоста с устройствами, эффективная при работе с множеством устройств в многозадачных системах. Интерфейс SCSI поначалу существовал только в виде параллельной шины. Согласно современным стандартам, протоколы интерфейса SCSI позволяют работать не только с параллельной шиной или последовательным интерфейсом SAS (недавно появившийся вариант SCSI), но и с другими средствами доставки: последовательной шиной IEEE 1394 (FireWire), Fibre Channel, SSA, а также любыми IP-сетями — iSCSI. Все варианты SCSI пригодны как для внутреннего, так и для внешнего подключения; они имеют поддержку «горячего» подключения-отключения, необходимую в больших и ответственных системах хранения данных. Предел адресации данных для устройств SCSI первоначально составлял 2 Тбайт (32-разрядная адресация блоков), позже ввели возможность 64-разрядной адресации блоков (объем хранения - до 9 444 732 965 739 290 427 392 байт).

Интерфейс SAS создан на основе дешевого интерфейса SATA и даже обеспечивает совместимость устройств SATA с контроллерами SAS (но не наоборот). Сферы применений этих интерфейсов различны. Устройства SAS предназначены для систем хранения данных предприятий (enterprise-class), они имеют одно- или двухпортовые интерфейсы. Устройства SATA (только однопортовые) предназначены для настольных систем, они дешевле устройств SAS. По схемотехнике и встроенному ПО (firmware) устройства SAS близки к устройствам Fibre Channel (двухпортовым), применяемым в сетях хранения данных (Storage Area Network, SAN) масштабов предприятия.

Для внешних устройств хранения с успехом применяют подключение и к шине USB, и к LPT-порту. Интерфейс LPT-порта обеспечивает невысокую скорость передачи (до 2 Мбайт/с), но он присутствует практически на всех компьютерах (даже очень старых). Шина USB 1.0 для устройства хранения может предоставить пропускную способность до 1,2 Мбайт/с, шина USB 2.0 — до 25 Мбайт/с. Более эффективна для подключения внешних устройств шина Fire Wire, выступающая в роли среды доставки SCSI.

Сравнительные характеристики интерфейсов устройств хранения данных приведены в табл. 1.1. Здесь показаны максимальные значения основных параметров. Реальная скорость передачи данных, естественно, всегда ниже. Топологические ограничения (число устройств и максимальное удаление) для ряда интерфейсов указаны формально (в пределах работоспособности). Реальные значения, отвечающие эффективной конфигурации, могут быть скромнее (например, считается, что FC-AL эффективно работает при числе узлов до 30 и длине кольца до 100 м). Под возможностью одновременного обмена подразумеваются физически одновременно выполняемые передачи информации, относящиеся к решению разных задач (от одного или нескольких инициаторов с одним или несколькими целевыми устройствами). Работа с несколькими инициаторами тоже имеется в виду одновременная (селектор порта SATA эту возможность не обеспечивает).

При всем разнообразии интерфейсов в большинстве случаев выбирать приходится между двумя основными — АТА (IDE) и SCSI, правда, теперь у каждого есть последовательный вариант (SATA и SAS). Шина АТА в современных системах работает в режиме UltraDMA, так что по быстродействию и защищенности от ошибок она не отстает от конкурентов. Для внешних устройств широко применяются интерфейсы USB и Fire Wire. Достоинства и недостатки основных интерфейсов подключения устройств хранения сведены в табл. 1.2. Не попавший в таблицу интерфейс Fibre Channel применяют для подключения устройств внешней памяти в больших системах. Этот интерфейс позволяет значительно разносить устройства памяти и компьютеры (допускается разделяемое использование устройств). Эти свойства ценны для особо ответственных применений, когда требуется обеспечить живучесть системы даже при частичных разрушениях (при стихийных бедствиях, катастрофах и прочих «радостях» современного бытия).

Таблица 1.1. Характеристики интерфейсов устройств хранения

Интерфейс

FDD

АТА

SATA

SCSI

SAS

FC-SW

FC-AL

1394

USB

1.Х/2.0

LPT

Скорость, Мбайт/с

0,06

133

150

160 320 (640)

150 300

100 200

100 200

10-160

1,2/24

2

Число устройств

2

2

4 и выше

16

16 384

224

126

63

127

1

Длина кабеля, м

0,5

0,5

1

25

3

60 500 10 км

60 500 10 км

4,5(100)

5

5

Максимальное уда­ление, м

0,5

0,5

1

25

10

10 км

10 км

72

25

5

Одновременный обмен

-

-

-

-

+

+

-

-

-

-

Работа

с несколькими инициаторами

+

+

+

+

+

Таблица 1.2. Сравнение интерфейсов устройств хранения

Интерфейс

Достоинства

Недостатки

АТА

Массовость. Низкая цена устройств и кабелей. Простота конфигурирова­ния. Эффективность при малом чис­ле устройств

Малое число устройств: до 2 на шине (обычно есть 2 шины). Только для внутренних устройств. Низкая эффективность при работе с двумя устройствами на шине. Высокая за­грузка ЦП и большое число прерыва­ний при отработке запросов

SATA

То же. Независимость устройств. Высокая эффективность при под­держке NCQ и устройствами, и кон­троллером

Малая распространенность уст­ройств и контроллеров с поддержкой NCQ

SCSI

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

Высокая цена контроллера, уст­ройств и аксессуаров (кабели, тер­минаторы). Сложность установки и конфигурирования

SAS

То же. Возможность физически од­новременного обмена с несколькими устройствами. Простота подключе­ния и конфигурирования

Высокая цена оборудования

USB

Удобство подключения. Распростра­ненность. Средняя скорость (USB 2.0)

Загрузка ЦП, возрастающая с увели­чением числа устройств. Низкая ско­рость (USB 1.0)

FireWire

Удобство подключения. Высокая ско­рость. Эффективная работа с мно­жеством устройств

Малая распространенность в «мире РС»