Общие сведения об интерфейсах
Создание современных средств вычислительной техники связано с задачей обьединения в один комплекс различных блоков ВМ, устройств хранения и отображения информации, аппаратупы данных и непсредственно ЭВМ. Эта задача возлагается на унифицированные системы сопряжения – интерфейсы. Под интерфейсом погимают совокупность схемо-технических средств, обеспечивающих непосредственное взаимодействие сосотавных элементов вычислительной сиситемы. Интерфейс обеспечивает взаимосвязь между составными функциональными блоками или устройствами системы.
Классификация интерфейсов:
1) Машинные интерфейсы предназначены для организации связей между составными элементами ЭВМ, т.е. непосредственно для их построения и связи с внешней средой.
2) Интерфейсы периферийного оборудования выполняют функции сопряжения процессоров, контроллеров, запоминающих устройств и аппаратурой передачи данных.
3) Интерфейсы мультипрцессорных систем представляют собой в основном магистральные системы сопряжения, ориентированные в единый комплекс нескольких процессоров, модулей памяти, контроллеров запоминающих устройств, ограничено размещенных в пространстве.
SCSI
История создания интерфейса SCSI
Интерфейс SCSI уходит своими корнями в начало 1960-х годов. В то время в широко распространенных больших машинах корпорации IBM применялась байтовая параллельная шина, называемая блок мультиплексным каналом и ориентированная на блочные передачи. Осознавая необходимость стандартизации интерфейсов, комитет X3T9.3 Американского национального института стандартов (ANSI) в начале 1980-х годов приступил к разработке подобного стандарта. Несмотря на широкую популярность блок-мультиплексного канала корпорации IBM, комитет решил не принимать его в неизменном виде - отчасти, быть может, потому, что «это не наше», а отчасти под давлением конкурентов компании IBM. Стандарт, который разрабатывал ANSI, получил название интеллектуального периферийного интерфейса(IPI). Шина IPI представляла собой по существу функциональный эквивалент блок-мультиплексного канала с добавлением некоторых новых свойств. В качесиве альтернативы блок-мультиплексному каналу корпорации IBM другие группы специалистов в то время разрабатывали собственные параллельные шины.
Так фирма Shugart Associates разработала Системный интерфейс SASI (Shugart Associates System Interface). Эта фирма была одним из ведущих производителей дисковых накопителей, под влиянием чего ряд других изготовителей также применил этот интерфейс в своих изделиях. В результате интерфейс SASI получил относительно широкое распространение. Компания Shugart была исключительно заиртересована в том, чтобы комитет принял ее интерфейсную шину, а не шину IPI. Когда выяснилось, что интерфейс SASI может проиграть в этой борьбе, компания присвоила ему новое нименование SCSI и представила в комитет X3T9.2, который заинтересовался проблемами интерфейсов нижнего уровня, где конкуренция была менее жесткой.
В 1984 г. комитет ANSI закончил разработку спецификацииSCSI-1, и она была опубликована в своем окончаиельном виде в 1986 г. Последующие дополнентя и усовершенствования привели к созданию спецификации SCSI-2,SCSI-3.
Концепция SCSI
Шина SCSI – это шина ввода-вывода, а не системная шина и не интерфейс приборного уровня. Интерфейсные средства типа шины SCSI особенно эффективны для машин, которые требуют подключения нескольких дисковых накопителей или других устройств. Интерфейс SCSI повышает гибкость и вычислительную мощность системы, поскольку он позволяет подключить к одной шине несколько различных ПУ, которые могут непосредственно взаимодействовать друг с другом. Скорость передачи данных по шине безусловно не будет ограничивающим фактором, поскольку этот показатель для шины SCSI в настоящее время достигает 40Мбайт/с.
Шина SCSI предусматривает возможность подключения до восьми устройств. На первый взгляд это может показаться довольно серьезным ограничением, однако, если учесть, что каждое устройство может представлять восемь логических блоков, а каждый логический блок – 256 логических подблоков, то, очевидно, что возможности расширения здесь более чем предостаточные.
Каждому из устройств шины SCSI должен быть назначен индивидуальный идентификатор ID, значение которого обычно задается при помощи коммутационных перемычек непосредственно в устройстве. Идентификатор ID выполняет две функции: он идентифицирует устройство на шине и определяет его приоритет в арбитраже за доступ к шине (чем больше номер устройства, тем выше его приоритет).
Каждое из восьми устройств шины может играть роль инициатора(initiator), исполнителя(target), либо совмещать обе эти роли. Инициатор – это часть хост(главного) адаптера SCSI, который служит для подключения главного компьютера к шине SCSI. В типичной системе к одному инициатору подключается один или несколько исполнителей. Система повышенной сложности может содержать более одного хост- адаптера SCSI(много инициаторов). В таких системах могут устанавливаться взаимодействие не только любого процессора с любым ПУ, но также хост - адаптеров друг с другом, поскольку хост – адаптер сам является устройством шины SCSI и может играть роль как инициатора, так и исполнителя. Два ПУ (оба исполнителя) не могут взаимодействовать друг с другом, поскольку только пара инициатор – исполнитель может вести обмен даннами по шине в каждый конкретный момент времени.
Хост – адаптер содержит аппаратные и програмные средства для сопряжения с ЦП.
Интерфейс контроллера SCSI и системной шины может быть как совсем простым (строится по принципу програмного опроса канала В/В), так и более сложным (предусматривающим высокоскоростные обмены даннами в режиме прямого доступа к памяти, ПДП). Такие контроллеры воспринимают высокоуровневые комманды и освобождают ЦП от необходимости обработки и контроля сигналов шины SCSI.
Програмное обеспечение главного компьютера упрощается, поскольку ему не приходится учитывать физические характеристики конкретного устройства. Интерфейс SCSI предусматривает использование логических, а не физических адресов для всех блоков данных.
Фазы работы шины SCSI
Протокол шины SCSI предусматривает восемь отдельных фаз :
Bus Free – «Шина свободна»
Arbitration – «Арбитраж»
Selection – «Выборка»
Reselection – «Обратная выборка»
Command – «Комманда»
Data – «Данные»
Status – «Состояние »
Message – «Сообщение»
Шина SCSI в каждый конкретный момент времени может находится только в одной из этих восьми фаз.
Фаза «Шина свободна» означает, что ни одноустройство в данный момент не работает с шиной SCSI в активном режиме, и шина свободна для обращения. Эта фаза обычно возникает после системного сброса или после сброса шины сигналом RST. Признаком фазы «Шина свободна» является отсуствие сигналов занятости BSY и выборки SEL.
Шина переключается в фазу – «Арбитраж», когда какое – либо SCSI- устройство хочет взять на себя управление шиной, т.е стать инициатором на шине. Это происходит в случаях, когда инициатор хочет выбрать исполнителя или исполнитель хочет произвести перевыборку запрашивавшего его ранее инициатора. В фазу «Арбитраж» шина может переключится только из фазы «Шина свободна». После того, как устройство определяет, что шина свободна, начинается фаза «Арбитраж». Для этого формируется сигнал BSY, на соответствующую линию данных выдается идентификатор ID SCSI – устройства(ID – бит). При этом каждое из восьми возможных устройств шины SCSI может выдавать свой ID – бит только на закрепленную за ним линию данных как признак своего участия в арбитраже. Устройство с максимальным значением идентификатора ID выигравает арбитраж и берет на себя управление шиной.
Фаза «Выборка» дает возможностбь инициатору выбрать исполнителя, чтобы инициировать выполнение им соответствующей функции, например комманды чтения READ. Согласно протоколу спецификации SCSI-2 фаза «Выборка» всегда наступает после фазы «Арбитраж». В спецификации SCSI-1 предусматривается вариант системы с одним инициатором, где необходимость арбитража отсуствует, и в фазу выборки можно входить сразу же после фазы «Шина свободна». В обоих случаях для выборки исполнителя инициатор выдает его ID-бит на соответствующую линию данных шины SCSI и формирует сигнал выборки SEL.
Необязательная фаза перевыборка возможна, когда исполнитель хочет воссиановить связь с тем инициатором, который ранее послал ему комманду. Эта фаза в принципе напоминает фазу «Выборка», с тем исключением, что вместе с сигналом выборки SEL переходит в активное состояние линия I/O, что позволяет различать эти две фазы.
Фазы «Комманда», «Данные», «Состояние » и «Сообщение» образуют группу фаз передачи информации, поскольку все они используются для передачи данных или управляющей информации по шине данных. Чтобы их различать, используются сигналы C/D – управление, I/O – ввод-вывод и MSG – сообщение, вырабатываемые исполнителями, который тем самым управляет всеми переходами из одной фазы в другую. Для управления передачей данных между исполнителем и инициатором в фазах передачи информации используются сигналы линий REQ/ACK – запрос/подтверждение (в версии SCSI-2 дополнительно применяются линии REQB/ACKB).
Реальный обмен данными может осуществляться синхронным и асинхронным способом. В обоих случаях для выполнения квитирования используются сигнальные линии ACK и REQ. Для исполнителя режим синхронной передачи является необязательным. Инициатор может потребовать, чтобы исполнитель осуществлял синхронную передачу, одноко если последний отвергнет этот запрос, то будет использоваться асинхронный режим.
Чтобы передать данные инициатору в ассинхронном режиме, исполнитель выдает их на линии данных шины SCSI вместе с сигналом REQ. Данные должны удерживаться на шине до тех пор, пока от нициатора не будет принят сигнал подтверждения ACK. После этого на шину выдаются следующие данные, и процесс повторяется. Если передача данных должна происходить в противоположном направлении, исполнитель выдает сигнал запроса REQ, говорящий о том, что он готов к приему данных. Инициатор выдает данные на линию данных шины SCSI, а за тем формирует сигнал ACK. Инициатор продолжает удерживать данные на шине до тех пор, пока линия REQ, не переключится в пассивное состояние. Затем исполнитель сбрасывает сигнал REQ, инициатор выдает новые данные, и процесс повторяется.
Если в фазе «Сообщения» устройства согласились использовать синхронный режим обмена, то исполнитель не будет ждать поступления сигнала подтверждения ACK перед выдачей сигнала REQ для приема следующих данных. Он может генерировать один или более импульсов REQ без ожидания соответствующих импульсов ACK(до заранее оговоренного максимума, называемого смещением REQ/ACK).
При выдаче всех запланированных импульсов REQ исполнитель сравнивает число запросов REQ и подтверждений ACK, чтобы удостовериться в том, что каждая группа данных принята успешно. При подготовке синхронного режима обмена устройства задают смещение REQ/ACK и период передачи. Период передачи определяет интервал времени между окончанием передачи очередного байта и началом передачи следующего.
Дополнительные средства спецификации SCSI-2
Хотя исходная спецификация SCSI, опублткованная в 1986г.(SCSI-1), представляла большой шаг вперед, у нее были и некоторые серьезные недостатки. В частности не бало четкой регламентации всех аспектов, гарантирующих совместимость между устройствами, были ссылки на целый ряд различных комманд, однако в действительности она требовала обязательной реализации только одной комманды REQUEST SENSE («уточнить состояние»). В результате различные устройства поддерживали различные комманды, что существенно ограничивало число контроллеров, которые могли бы работать в любой SCSI-системе. Специалисты осознали это ограничение уже на завершающем этапе выработки спецификации SCSI-1, поэтому была создана группа по разработке единого набора комманд (CCS), которая должна была решить данную проблему, предложив расширенный набор комманд SCSI. Набор комманд был расширен с тем, чтобы устройство могло посылать и принимать более детальную информацию. Подмножество всех возможных комманд было выбрано таким образом, чтобы его могли без особого труда реализовать изготовители ПУ. Ограничение числа комманд, на которые должно реагировать SCSI-устройство, увеличивает вероятность того, что все эти комманды будут реализованы. Хотя документ CCS включен в спецификацию SCSI-1, он был опубликован, и его принципы были рекомендованы как стандарт де-факто, которому должны следовать изготовители устройств с интерфейсом SCSI. Благодаря этому уменшился уровень несовместимости SCSI-устройств, не позволяющий использовать готовые ПУ в системе без дополнительных доработок.
Принципы SCSI были включены в спецификацию SCSI-2, где команды делятся на три категории: обязательные, факультативные и определяемые изготовителем. SCSI-устройства должны поддерживать все обязательные комманды устройств своего типа. В спецификации SCSI -2 были описаны комманды для ПУ непосредственного доступа (дисковых накопителей), последовательного доступа (НМЛ), принтеров, процессоров, устройств памяти с однократной записью (оптических дисковых накопителей), ПЗУ на базе компакт-дисков, сканеров, устройств оптической памяти.
В спецификацию SCSI-2 была включена также еще одна концепция, предложенная в документе CCS, а именно - концепция обратной выборки, или перевыборки. Согласно протоколу SCSI–1, если инициатор посылает комманду исполнителю, он будет занимать шину до тех пор, пока исполнитель не завершит выполнение этой комманды. Когда исполнитель выполнит комманду, он через механизм арбитража потребует доступа к шине с целью перевыборки инициатора, который выдал ему эту комманду. Операция завершается передачей исполнителем соответствующих данных и статуса. Таким образом, инициатору не приходится ждать, пока исполнитель закончит текущую комманду, и он может в принципе посылать комманды другим исполнителям с целью их параллельного выполнения.
Это может быть полезно для системы, содержащей более одного исполнителя, однако чаще бывает необходимо послать следующую комманду тому же самому исполнителю. Спецификация SCSI-1 предусматривает передачу только одной комманды от инициатора логическому устройству SCSI-контроллера исполнителя. При работе с дисковыми накопителями такой режим может быть весьма неэффективным. Предположим, например, что у ЦП имеются четыре отдельных запроса от операцирнной системы на чтение секторов диска, размещающихся на дорожках 1,50,2 и 52. Поскольку ЦП работает c устройствами шины SCSI в терминах логических блоков данных, он не имеет представления о том, где( или каким образом) эти данные хранятся в устройстве), и, следовательно, не в состоянии оптимизировать последовательность комманд перед их выдачей в SCSI- устройство. Такая возможность, называемая формированием очереди или цепочки комманд, предусмотрена в спецификации SCSI-2(в очередь могут быть установлены до 256 команд). Чтобы устройство могло одновременно следить за несколькими командами, ждущими выполнения, каждой команде присваивается тег очереди, определяющий однозначный механизм обращения к ней. Когда устройство выбрано на шине SCSI и передано сообщение идентификации IDENTIFY, посылается двухбайтовое сообщение тега очереди QUEUE TAG, которое содержит нужную команду очереди и идентификатор инициатора. Когда контроллер исполнителя производит перевыборку инициатора, это сообщение с тегом посылается после идентификатора устройства. Команды, посылаемые без тега очереди, выполняются в порядке поступления, однако при этом ожидать выполнения может только одна команда, что регламентируется стандартным протоколом SCSI-1.
В спецификации SCSI-2 предусмотрено также существенное увеличение скорости передачи данных, максимальное значение которой согласно спецификпции SCSI-1 составляло 5Мбайт/с. Проблема повышения скорости была разрешена двумя различными способами. Наиболее простым способом является увеличение числа разрядов шинны данных. В настоящее время широкое распространение получили 16- и 32- разрядные процессоры, на фоне которых 8- разрядная шина SCSI-1 выглядит просто примитивно. В связи с этим в спецификацию SCSI -2 был введен «широкий» многоразрядный вариант шины(WIDE), предусматривающий введение дополнительно 24 линий данных, т.е. увеличения их общего числа до 32. Для повышения пропускной способности шины также было предложено увеличить тактовую частоту обмена в два раза. Это составляет суть «быстрого» (высокоскоростного) варианта (FAST) шины SCSI-2.
Сочетание быстрого и широкого вариантов реализации шины SCSI дает возможность передавать данные с максимальной пропускной способностью 40 Мбайт/с. Это может показаться весьма впечатляющим, однако для большинства обычных приложений шины SCSI столь высокая пропускная способность просто не требуется. В конце концов, такая скорость нужна только для дискового накопителя! Устройства с интерфейсом SCSI обычно содержат буферы памяти, так что эффективность использования шины SCSI определяется обьемом данных, принимаемых устройством из дисковой памяти в свое буферное ЗУ, и интеллектуальностью алгоритма их обработки. При этом необходимо также учитывать, с какой скоростью сама вычислительная машина способна принимать данные. В общем не имеет смысла тратить усилия, увеличивать стоимость и скорость шины SCSI, реализуя «быстрый» или «широкий» ее варианты, если главная система не может воспользоваться увеличенной пропускной способностью.
Хост – адаптеры
Хост-адаптер реализует функции сопряжения шины SCSI с системными ресурсами, прежде всего с системной шиной и операционной системой компьютера. Он, как правило выполняет роль инициатора на шине SCSI, хотя в сложных (например, в мультипроцессорных и мультимашинных) SCSI-системах может динамически изменяться (инициатор/исполнитель).
К числу основных функций хост-адаптера, определяющих его структуру и характеристики, относятся:
- реализация протокола шины SCSI, а также физических и электрических спецификаций стандарта;
- сопряжение с аппаратными ипрограмными системными ресурсами;
Реализация протокола шины SCSI, как правило, осуществляется специализированной БИС контроллера шины SCSI. Обычно эта схема обеспечивает и реализацию электрических спецификаций стандарта. Сопряжение с аппаратными системными средствами предполагает прежде всего согласование разрядности и пропускной способности шины SCSI и системной шины хост-системы, а также реализацию развитых средств доступа к системной памяти. Структура узла согласования разрядности шин зависит от назначения хост-адаптера и используемой версии стандарта SCSI (8 разрядов для SCSI-1;16 или 32 разряда для SCSI-2). Основным средством согласования пропускной способности системной и SCSI-шин является буфферная память, реализуемая обычно в виде буффера FIFO, либо двухпортового ОЗУ. Наиболее распротраненный алгоритм доступа к системной памяти – прямой доступ, реализуемый чаще всего с помощью контроллера ПДП хост-системы.
IDE
Основные понятия
Спецификация IDE/ATA была предложена в качестве недорогой альтернативы интерфейсам ESDI и SCSI для персональных компьютеров семейств IBM PC XT/AT. В результате сотрудничества компании Western Digital с Compaq Computer Corporation был разработан интерфейс IDE (Integrated Drive Electronics), называемый также АТА (AT attachment). Первые промышленные устройства на базе IDE/ATA были выпущены в 1986 году. Интерфейс был стандартизован (ANSI X3T9.2/90-143) в 1990г. как ATA (AT Attachment). Основным отличием нового интерфейса была реализация большинства функций контроллера непосредственно на плате дискового накопителя. Такой подход упростил и удешевил хост-адаптеры, используемые для подключения винчестеров к компьютеру, и позволил обеспечить высокий уровень совместимости устройств разных фирм.
Используемые устройствами IDE адреса ввода/вывода совпадают с адресами ST506/412, но функции контроллера перенесены на плату управления приводом диска и головок винчестера. Информация о геометрии диска (число головок, цилиндров и секторов) хранится в самом устройстве. Зачастую в BIOS передаются логические параметры диска, не совпадающие с его физическими параметрами, т.е. используется трансляция, что позволяет устанавливать винчестеры в компьютеры со старыми BIOS, не обеспечивающими возможность произвольной установки параметров устройства (в большинстве современных реализаций BIOS такая возможность поддерживается как тип 47 - User Defined).
Базовый набор команд интерфейса IDE полностью соответствовал набору команд контроллера WD1002/1003 компании Western Digital, который был использован в компьютере IBM PC AT. При стандартизации интерфейса IDE к 12 базовым командам было добавлено еще столько же. Перенос большинства функций контроллера на плату управления позволяет несколько повысить скорость обмена данными с диском. Как правило диски IDE имеют небольшую встроенную кэш-память (до 256Кб) и позволяют работать с фактором чередования 1:1 (дорожка может быть прочитана целиком за один оборот диска).
Хост-адаптер для подключения дисков IDE зачастую устанавливается на системной плате (Mother board) или совмещается с контроллером дисководов и портами ввода-вывода (последовательными и параллельным) на специальной, вставляемой в гнездо расширения, плате (мультикарте). Подключение устройств к хост-адаптеру осуществляется с помощью 40-проводного плоского шлейфа, к которому можно присоединить два винчестера. Для корректной адресации устройств один из винчестеров должен быть установлен в режим Master (ведущий), другой - в режим Slave (ведомый). Режим работы диска задается с помощью перемычек, расположенных, как правило, около сигнального разъема винчестера. Рисунок 1. Перемычки для установки режима Master/Slave
Ограниченность АТА
Первоначальная версия стандарта IDE обеспечивала возможность подключения к компьютеру четырех винчестеров и позволяла обмениваться данными с диском на скорости до 10Мбайт/сек, однако реальная скорость ограничивалась прежде всего возможностями самого винчестера. Подключение четырех устройств, предусмотренное спецификацией IDE, в компьютерах семейства IBM PC AT, в спецификации ATA/IDE реализовано не было. Кроме того, совместное использование стандарта ATA и программного интерфейса Int 13 BIOS ограничивало размер дисковых устройств 528Мб. Природу этого ограничения, связанную с форматами чисел, используемых для адресации головок, секторов и цилиндров винчестера (CHS-адрес) в стандарте IDE и BIOS, можно понять из приведенной ниже таблицы и рисунка 2, иллюстрирующего взаимодействие операционной системы с диском IDE. Рисунок 2. Взаимодействие диска IDE с операционной системой.
Таблица 1.
BIOS
IDE
Результат
Максимальное число секторов на дорожке
63
255
63
Максимальное число головок
255
16
16
Максимальное число цилиндров
1024
65536
1024
Максимальный размер диска
8.4Гб
136.9Гб
528Мб
Другим существенным ограничением стандарта IDE/ATA является невозможность подключения к контроллеру IDE каких-либо устройств, за исключением винчестеров.
Присущие интерфейсу IDE/ATA ограничения тормозили развитие недорогих компьютерных систем, рассчитанных на массового пользователя, в связи с чем целый ряд фирм предпринял попытки расширения возможностей классического IDE. Наибольших успехов на этом пути добилась компания Western Digital, разработавшая спецификацию Enhanced IDE (EIDE), позволяющую использовать диски, размер которых превышает 528 Мб, и обеспечившую реальную возможность подключения к компьютеру до четырех устройств IDE (не только винчестеров, но и приводов CD-ROM или стриммеров).
Fast ATA
Спецификация Fast ATA разработана компанией Seagate Technology и поддержана фирмой Quantum и еще рядом компаний. Это расширение стандарта IDE/ATA преследует цель увеличения емкости винчестеров и скорости обмена между диском и программами. К настоящему моменту существует два варианта спецификации Fast ATA и Fast ATA-2. Винчестеры, соответствующие Fast ATA, обеспечивают высокую скорость обмена за счет реализации скоростных режимов PIO mode 3 (11.1 Мб/сек) или Multiword DMA mode 1 (13.3 Мб/сек). Выбор конкретного режима предоставляется производителю устройства. Fast ATA-2 поддерживает PIO mode 4 или Multiword DMA mode 2 (пока не реализован "в железе"), обеспечивающие скорость обмена 16.6 Мб/сек.
Для обеспечения возможности использования дисков, размер которых превышает 528Мб, используется режим трансляции параметров диска (рис.3); реальные адреса CHS (цилиндр-головка-сектор) пересчитываются в фиктивные, удовлетворяющие ограничениям BIOS. Контроллер и BIOS используют в этом случае разную геометрию для адресации данных на диске. Если диск содержит 2000 секторов и имеет 16 головок, то в результате трансляции BIOS будет воспринимать его как устройство с 1000 цилиндров и 32 головками.
Рисунок 3. Трансляция параметров диска.
Технология Fast ATA основана на признанных промышленных стандартах, что обеспечивает ей высокий уровень совместимости со старыми контроллерами и дисками. Протоколы обмена данными соответствуют официальному документу АТА-2 (Ref: 9048D).
Enhanced IDE
Технология Enhanced IDE компании Western Digital была разработана в результате анализа потребностей современного рынка ПК. В 1984 году компания Western Digital создала контроллеры дисководов (WD1002) и винчестеров (ST506), которые были использованы фирмой IBM при разработке компьютера IBM PC AT. Успех архитектуры АТ привел к значительному расширению рынка IBM-совместимых ПК и сделал контроллеры Western Digital стандартом de facto.
В процессе становления рынка персональных компьютеров фирма Western Digital пришла к выводу о необходимости интеграции электроники контроллера АТ и дискового устройства. В результате сотрудничества с Compaq Computer Corporation был разработан интерфейс IDE (Integrated Drive Electronics), называемый также АТА (AT Bus attachment). Первые промышленные устройства на базе IDE/ATA были выпущены в 1986 году.
Продолжая лидировать в сфере IDE-устройств, компания Western Digital предложила расширение интерфейса IDE. Новая спецификация - Enhanced IDE - повышает скорость обмена с диском, допускает применение более скоростных дисков и обеспечивает возможность установки в компьютере до четырех устройств IDE. Кроме того, Enhanced IDE позволяет подключать к контроллеру не только винчестеры, но и другие устройства (приводы CD-ROM, стриммеры), поддерживающие спецификацию ATAPI (AT Attachment Packet Interface). Эта спецификация определяет интерфейс с приводами CD-ROM и другими недисковыми устройствами, позволяющий использовать стандартные контроллеры и кабели. Стандарт ATAPI получил широкую поддержку среди производителей CD-ROM-устройств и разработчиков операционных систем, что еще более расширило сферу распространения интерфейса IDE/ATA.
Спецификация EIDE позволяет избавиться от целого ряда ограничений, присущих интерфейсу IDE/ATA. Такое расширение обеспечивает существенный рост возможностей устройств долговременного хранения информации без роста цен, усложнения использования и потери совместимости. Ограничения, присущие IDE, по сравнению с другими интерфейсами (такими, как SCSI) не угрожают доминированию IDE на современном рынке недорогих систем. Однако повышение производительности процессоров, разработка новых ОС и высокие запросы современных приложений к дисковому пространству привели к тому, что стандарт IDE уже не может удовлетворять всем современным требованиям. Существенно и то, что стандартный интерфейс IDE менее гибок и более ограничен по сравнению со SCSI:
· IDE поддерживает только два винчестера, а SCSI обеспечивает возможность подключения большого количества блочных устройств различных типов (принтеры, CD-ROM, стриммеры и др.);
· размер дисков IDE не может превышать 528Мб, поскольку для доступа к диску используется интерфейс Int 13 BIOS, тогда как SCSI не ограничивает размер диска;
· IDE обеспечивает скорость обмена с диском 2-3 Мб/сек, а SCSI - 10 или 20Мб/сек (Fast/Wide).
Технология Enhanced IDE позволяет избавиться от основных ограничений стандарта IDE/ATA:
· предельный размер диска 528Мб;
· малая скорость обмена с диском;
· поддержка только двух устройств;
· невозможность подключения приводов CD-ROM и стриммеров.
Технология Enhanced IDE включает в себя четыре основных компоненты, реализуемые совместно в периферийных устройствах, контроллерах EIDE, BIOS и операционной системе:
1. Использование винчестеров размером более 528Мб. Эта возможность обусловлена внесенными в BIOS изменениями, позволяющими адресовать большие диски. Для работы с дисками более 528Мб требуется поддержка со стороны винчестера, BIOS и операционной системы. Винчестер должен поддерживать спецификацию ATA (этому требованию удовлетворяет большинство современных винчестеров). BIOS также должна поддерживать спецификацию ATA; большинство производителей системных плат и разработчиков BIOS уже поддерживают этот режим.
Может потребоваться поддержка работы с большими дисками и со стороны операционной системы. Windows 3.1 не полностью соответствует ATA, поэтому приходится использовать специальные драйверы (Windows "32-bit disk access"), обычно поставляемые вместе с контроллерами EIDE. Большинство 32-разрядных операционных систем (таких, как OS/2) изначально поддерживают работу с большими дисками.
2. Ускоренный обмен данными.
Основан на использовании скоростных режимов программируемого ввода-вывода (PIO mode 3) и прямого доступа к памяти (DMA mode 1). Эти режимы обеспечивают скорость обмена 11.1 и 13.3 Мб/сек, соответственно. Для реализации скоростного обмена требуется поддержка со стороны винчестера и BIOS. BIOS должна поддерживать один из скоростных режимов обмена с диском (PIO mode 3 или DMA mode 1), как правило это режим PIO. Со стороны дискового устройства также должна обеспечиваться поддержка скоростного обмена. Эту возможность обеспечивает большинство современных винчестеров (в том числе диски Fast ATA). Скоростные режимы обмена позволяют полнее реализовать возможности дисковых контроллеров, использующих широкополосную локальную шину VESA или PCI.
3. Поддержка двух портов ATA.
Для обеспечения этой возможности используются зарезервированные для второго контроллера адреса портов ввода-вывода и прерывание IRQ15. Для реализации этой возможности требуется поддержка со стороны контроллера (хост-адаптера), BIOS и операционной системы. К самим устройствам (винчестерам, приводам CD-ROM или стриммерам) не предъявляется никаких дополнительных требований. Контроллер должен обеспечивать возможность установки адресов второго порта (это реализовано отнюдь не во всех современных моделях).
Не все BIOS поддерживают возможность использования четырех устройств IDE, однако, современные разработки включают этот режим. Важную роль играет поддержка использования четырех устройств со стороны операционной системы. Эта возможность реализована в большинстве 32-разрядных ОС и в последних версиях DOS.
4. Возможность подключения приводов CD-ROM и стриммеров.
Этот режим является недорогой альтернативой SCSI. Для обеспечения такой возможности требуется требуется поддержка нескольких новых команд. Спецификация ATAPI (ATA Packet Interface), находящаяся в стадии разработки, содержит описание новых команд.
Для обеспечения возможности подключения к хост-адаптеру недисковых устройств требуется поддержка спецификации ATAPI со стороны BIOS, хост-адаптера, операционной системы и самих периферийных устройств.
В настоящее время большинство устройств CD-ROM уже использует интерфейс IDE/ATAPI для подключения ко второму порту современных контроллеров. Очевидно, что при таком обилии вариантов расширения возможностей IDE отнюдь не все устройства, рекламируемые как "Enhanced", поддерживают все четыре режима, добавленные в спецификацию Enhanced IDE. Не следует забывать также о том, что для обеспечения полной поддержки EIDE, этой спецификации должны удовлетворять BIOS, хост-адаптер, операционная система и, наконец, сами периферийные устройства.
PIO и DMA
Изначально общеупотребительным способом передачи данных через интерфейс IDE/ATA был протокол, называемый Programmed I/O или PIO. Существует пять режимов PIO, различающихся максимальными скоростями пакетной передачи данных (burst transfer rates). Общеупотребительное английское название - PIO modes.
PIO
mode
Максимальная скорость
передачи (МВ/сек)
Поддерживается стандартами
0
3.3
Всеми
1
5.2
Всеми
2
8.3
Всеми
3
11.1
ATA-2, Fast ATA, Fast ATA-2,ATA3,ATAPI, Ultra ATA, EIDE
4
16.6
ATA-2, Fast ATA-2, ATA-3, ATAPI?,Ultra ATA, EIDE
Естественно, речь идет о внешней скорости передачи данных и определяет скорость интерфейса, а не диска. Необходимо также учитывать (хотя сейчас это уже вряд ли актуально), что PIO mode 3 и 4 требуют использования шины VLB или PCI, так как шина ISA не может обеспечить скорость передачи данных больше 10 МВ/сек. До появления режима DMA-33 максимальная скорость передачи данных у режимов PIO и DMA была одинаковой. Главным недостатком режимов PIO является то, что передачей данных управляет процессор, что существенно увеличивает его загрузку. Зато эти режимы не требуют специальных драйверов и идеально подходят для однозадачных операционных систем. Похоже, однако, что это вымирающий вид…
Direct Memory Access (DMA) - прямой доступ к памяти - собирательное название протоколов, позволяющих периферийному устройству передавать информацию непосредственно в системную память без участия центрального процессора. Современные жесткие диски используют эту возможность в сочетании с возможностью перехватывать управление шиной и самостоятельно управлять передачей информации (bus mastering подробно обсуждался в серии статей по шинам). Существует несколько режимов DMA (DMA modes), которые приведены в таблице. Стоит отметить, что так называемые single word режимы в настоящее время не используются и приведены только для сравнения.
DMA mode
Максимальная скорость передачи (МВ/сек)
Поддерживается стандартами
Single word 0
2.1
Всеми
Single word 1
4.2
Всеми
Single word 2
8.3
Всеми
Multiword 0
4.2
Всеми
Multiword 1
13.3
ATA-2, Fast ATA, Fast ATA-2, ATA-3, Ultra ATA, EIDE
Multiword 2
16.6
ATA-2, Fast ATA-2, ATA-3, Ultra ATA, EIDE
Multiword 3 (DMA-33)
33.3 (66)
Ultra ATA(АТА/66)
Еще одной забавной вещью, связанной с интерфейсом IDE/ATA, является 32-разрядный доступ к диску. Как уже отмечалось выше, интерфейс IDE/ATA был и остается 16-битным. Резонный вопрос: А почему тогда при отключении драйверов 32-разрядного доступа к диску в Windows скорость работы оного диска падает? Не менее резонный ответ: Во-первых, как работает Windows - отдельный разговор. А во-вторых, шина PCI, на которой в настоящий момент располагаются IDE host-контроллеры, 32-разрядная. Поэтому 16-битная передача по этой шине есть зряшнее расходование пропускной способности. В нормальных условиях host-контроллер формирует из двух 16-битных пакетов один 32-битный и пересылает его дальше по шине PCI (повторяю, я не берусь объяснять, как с диском работает Windows).
Ultra ATA/66
Ultra ATA/66 – один из стандартов передачи данных по интерфейсу IDE и, как и сам интерфейс, является недорогим способом подключения жестких дисков, допуская при этом высокую скорость передачи данных. Как и его предшественник Ultra ATA/33, был предложен Quantum и принят большинством производителей дисков и наборов системной логики. Также известен под именами Ultra DMA/66. По сранению с Ultra ATA/33, Ultra ATA/66 удваивает предельное значение для скорости передачи данных между кэш-буфером жесткого диска и системной шиной - до 66.6 MB/s, против 33.3 MB/s у Ultra DMA/33. Несмотря на то, что ограничения на быстродействие дисков накладываются прежде всего их механическими характеристиками и технологией изготовления компонентов, задача разработчиков электроники и протоколов передачи данных состоит в том, чтобы не допускать сближения пиковых значений внутренней скорости передачи данных между рабочими поверхностями через головки во внутренний кэш дисков с ограничениями кремния. Благодаря удвоенному "запасу прочности" Ultra ATA/66 гарантирует, в еще большей степени чем Ultra ATA/33, что электроника дисков и материнских плат не окажется узким местом при передаче данных, и в особенности, при операциях последовательного чтения и записи. Кроме этого Ultra ATA/66 обеспечивает целостность данных, что имеет важное значение для интерфейса EIDE, недостатком которого является слабая помехозащищенность. Для этого вводится добавочное экранирование, с использованием 40-контактного 80-жильного кабеля и проверка ошибок по циклически избыточному коду CRC (Cyclic Redundancy Check). Дополнительные к обычным 40 линиям сигнала и земли еще 40 линий заземления уменьшают наводки и повышают качество сигнала. Разъем является совместимым по контактам с существующей 40-контактной распайкой, что минимизирует дополнительные расходы на кабель нового типа.
Предшествующий Ultra ATA/66 протокол передачи данных Ultra ATA/33 гарантирует потоки данных с максимальной пиковой скоростью 33.3 MB/s. В свою очередь, до появления Ultra ATA/33 его роль играли стандарты передачи данных с участием центрального процессора PIO Mode 4 и пакетных посылок с непосредственным доступом к системной памяти DMA Mode 2 с предельной скоростью 16.6 MB/s. Ultra ATA/66 вдвое превышает возможности Ultra ATA/33 и вчетверо - PIO Mode 4/DMA Mode 2. Развитие возможностей интерфейса происходит на сигнальном уровне, путем изменения спецификации следования данных синхронизирующим импульсам. С изменением механических параметров современных жестких дисков, скоростей их вращения, совершенствованием подвесок головок, изменением их типа, материала, и технологии нанесения магнитного слоя на рабочие поверхности дисков, внутренняя скорость передачи данных заметно возросла, и будет расти дальше, все больше приближаясь к пределам, задаваемым интерфейсом диска с системной шиной. Ultra ATA/66 приводит в разумное соответствие эффективную скорость передачи по системной шине с внутренней скоростью дисков. Новый протокол позволяет гарантировать большую пропускную способность шины, что особенно актуально для режимов непрерывной последовательной передачи данных, характерных для аудио/видеоприложений.
Скорость передачи данных в системную шину и из нее должна превышать внутреннюю скорость работы с поверхностью, в противном случае производительность падает - необходимы дополнительные обороты привода для опустошения буфера при считывании с поверхности и наполнения его при записи. Бороться с этим можно, увеличивая размер кэш-буфера диска или повышая эффективность его обменов с системной шиной. Первый способ связан с использованием дорогостоящей памяти и противоречит самому назначению IDE-дисков, производители как раз-таки всячески минимизируют размер кэша.
Продолжающееся увеличение емкости дисков и скоростей их вращения, внутренние их скорости также продолжают расти. Передача больших по размеру файлов, особенно записанных последовательно на диск, особенно чувствительна к возможностям интерфейса. При последовательном чтении диск, благодаря высокой внутренней скорости, может наполнять буфер быстрее, чем система считывает из него данные. Производительность дисковой подсистемы чаще всего падает из-за таких узких мест. Ultra ATA/66 - средство усовершенствования интерфейса, актуальное именно сейчас в силу изменения структуры потоков передаваемой информации в сторону мультимедийных данных.
Стандартная передача данных по ATA-шине в спецификации DMA Mode 2 (16.6 MB/s) состояла из посылок данных, синхронизируемых импульсами, но только по переднему фронту строб-сигнала. Основная идея расширения Ultra ATA/33 состояла в использовании и переднего и заднего фронтов сигнала для синхронной передачи данных, достигая удвоенной скорости передачи данных без увеличения частоты импульсов. Имея жесткий диск в качестве генератора и импульсов и данных в процессе чтения, спецификация Ultra ATA/33 исключала задержки прямого и обратного прохождения данных, что позволило улучшить временную диаграмму передачи. Ultra ATA/66 использует ту же частоту следования строб-импульсов, но опять удваивает пиковое значение возможной скорости передачи, на этот раз за счет уменьшения времен вхождения в режим передачи. Тактирование данных происходит вдвое быстрее. Однако, при этом для обеспечения целостности данных требуется новый 80-жильный кабель. Стандартный 40-контактный 40-жильный кабель не справляется с обработкой временных циклов при скоростях передачи порядка 66 MB/s. 80-жильный кабель будет использоваться с тем же 40-контактным разъемом, но сигнальные линии в нем будут разделены линиями земли, играющими роль экрана. Никакие новые сигналы генерироваться и передаваться не будут.
В Ultra ATA/33 впервые была применена проверка ошибок по циклически избыточному коду CRC, новая для интерфейса IDE опция, предназначенная для верификации данных. Ultra ATA/66 использует ту же процедуру: CRC рассчитывается в момент передачи хост-системой и жестким диском и информация размещается в соответствующих CRC-регистрах. После каждого пакета данных хост-система посылает содержимое CRC-регистра жесткому диску, который сравнивает полученное значение со своим. При этом, в случае расхождения, переданные данные запрашиваются еще раз.
Заключение
Спор "Что лучше: IDE или SCSI" входит в число самых распространенных во многих телеконференциях. Однако этот вопрос, как и знаменитое "Windows NT or OS/2 or Unix" является неразрешимым.
Чтобы не складывалось впечатление, что IDE это очень плохо отмечу и положительные качества IDE интерфейса:
1. Цена.
2. Не всем нужно подключать 4 HDD и 3 CD. Часто двух каналов IDE более чем достаточно, а всякие там сканеры идут со своими карточками
3. В корпусе minitower сложно использовать шлейф, длиннее 80см)
4. IDE HD установить гораздо проще, там всего один jumper, а не 4-16 как на SCSI)
5. IDE контроллер уже есть у большинства материнских плат
6. У IDE устройств шина всегда 16 бит и для моделей, сравнимых по цене, IDE выигрывает по скорости
Литература
1. http://www.ixbt.com/storage/scsi.html
2. http://www.ixbt.com/storage/ide.html
3. http://www.ixbt.com/storage/ata66.html
4. http://www.ixbt.com/storage/scsi-ext.html