Реферат: SCSI-Интерфейс

                                               Содержание

Общие сведения обинтерфейсах…………………………………………2

Классификацияинтерфейсов……………………………………………..2

История создания интерфейса SCSI……………………………….……..3

Концепция SCSI……………………………………………………………4

Фазы работы шины SCSI…………………………………………………..5

Дополнительные средстваспецификации SCSI-2……………………….7

Хост-адаптеры………………………………………………………………9

Характеристики современныххост-адаптеров………………………….10

Програмная поддержка SCSI устройств…………………………….…...11

Програмированиеаппаратных средств периферийных устройств…….11

Реализация протокола SCSI-шины……………………………………….12

                             Общиесведения об интерфейсах .

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

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

 

                   Классификация интерфейсов:

1)   Машинныеинтерфейсы предназначены для организации связей между составными элементамиЭВМ, т.е. непосредственно для их построения и связи с внешней средой.

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

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

4)   Интерфейсыраспределенных ВС предназначены для интеграции средств обработки информации,размещенные на значительном расстоянии.

 

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

          История создания интерфейса 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.

       Шина 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 или записи 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, либодвухпортового ОЗУ. Наиболее распротраненный алгоритм доступа к системной памяти– прямой доступ, реализуемый чаще всего с помощью контроллера ПДП хост-системы.

     Сопряжение с програмными системами предполагает наличие SCSI- драйверадля конкретной ОС.

                        

                         

                       Характеристики  современных хост-адаптеров.

       Средииспользуемых БИС SCSI-контроллеров для шины AT доминирует модели фирмы NCR.Следом идут известные WD33C93 фирмы  WesternDigital и ALC 6250/60 фирмы Adaptec(США).Хост-адаптером чаще всего  поддерживают как синхронный, так и асинхронный

режимы обмена  по шине  SCSI. Скорость обмена существеннозависит от типа используемого контроллера. В простых хост-адаптерах онаколеблется от 0,25 до 1 Мбайт/с в ассинхронном режиме и сихронном режимахсоответственно.

       Размер буфера данных также варьируется в достаточно широких пределах: отиспользования внутренних буферов БИC SCSI-контроллеранебольшой емкости, до ОЗУ значительной емкости (1Мбайт). Наличие большогобуфера существенно увеличивает стоимость хост-адаптера.  

                   Програмная поддержка SCSIустройств.

 Задачапрограмирования SCSI систем и устройств являетсямногоуровневой и  может быть разделена следующие относительно независимыеподзадачи:

— Програмирование аппаратных средств периферийных устройств.

— Реализация протоколов SCSI шины.

— Реализация SCSI комманд.

-  Доступ кSCSI устройствам ОС и прикладных задач.

  

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

         I. Програмирование аппаратных средств периферийныхустройств.

    Конечнымзвеном средств програмной поддержки ПУ в силу специфичности физическихпринципов их реализации неизбежно являются узкоспециализированные программынизкого уровня.Из-за того, что программирование на таком уровне сложно даже дляобщесистемных, не говоря уже о прикладных програмистах, имеется тенденция кповышению уровня средств программирования ПУ за счет маскирования специфики ПУна уровне так называемого firmware( внутреннего 

програмногообеспечения –ВПО). Примером может служитть маскирование функцийнепосредственного управления дисковыми накопителями на уровне внутреннихкомманд дисковых контроллеров WD2010,8272 и др.

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

    Использование интерфейса SCSI еще более повышаетуровень программирования ПУ за счет использования определенного стандартомнабора комманд общего вида. Для прикладного програмиста использованиестандартных функций BIOS становится при этомпрактически невозможным.      

    Однако какэлементуправления устройствомони, естественно,

сохраняются науровне ВПО контроллера ПУ и реализуется либо локальнам микропроцессором (МП)контроллера, либо микроконтроллером, встроенным в базовую БИС контроллера ПУ.

      Вцелях сохранения наработанных програмных средств управления электроникой ПУ, внастоящее время широко используется эмуляция стандартных интерфейсов ПУ,предполагающая преобразование логических адресов SCSI вфизические адреса конкретного устройства. Примером может служить контроллер SmartConnex/ISA фирмы DistributedProccessing Е Technology. Он использует интерфейс известного дисковогоконтроллера WD1003 фирмы WesternDigital, в результате чего компьютер “видит” контроллеркак обычное устройство, совместимое с интерфейсом ST-506.

    Реальноэмуляцию интерфейса выполняет невидимый для пользователя драйвер, запоминаемыйпри форматировании в последнем блоке НМД. Соответствующие драйверы имеются длянаиболее распространенных ОС

(MS-DOS,OS/2,Xenix/Unix,Novell NetWare). Установка контроллераSmartConnex

в системуосуществляется с помощью специальной утилить, поставляемой фирмой.

        Визвестных контроллерах WD 33C92/93 фирмы Western Digital имеется даже встроенная коммандапреобразования форматов логических адресов в физические.

       Таким образом, для реализации различных ПУ в стандарте SCSIмогут

использоватьсяфрагменты готовых программ, поддерживающие такие стандартные функции управленияПУ в MS-DOS, как INT 13, INT 11 и др.

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

         

                     II. Реализация протокола SCSI-шины            

          При использовании интерфейса SCSI на ВПО хост-адаптераили контролера ПУ возлагается также функция  поддержки SCSI– операций.

При этомстепень необходимой прграмной поддержки зависит отуровня интеллектуальностииспользуемой БИС контроллера SCSI-шины. По некоторымоценкам, при использовании БИС SCSI-контроллеров первого, второго и третьего поколений обьем необходимого для реализации SCSI-протокола ВПО составляет около 400,2500 и несколькосотен комманд соответственно.

 Контроллеры разных поколений отличаются числом и сложностью возлагаемых на нихфункций принятия решения по ситуациям в SCSI-

системе.

    Например, контроллер первого поколения NCR 5380работаетна уровне обработки и формировании логических сигналов SCSI-шины.Функции анализа ситуаций и принятия решений полностью возлагаются на ВПО. Такойрежим характеризуется большим обьемом управляющего кода, высокой интенсивностьюпрерываний на уровне ВПО и, как следствие, высокими накладными расходами навремя выполнения операций.

    Подобная схема используется в SCSI-подсистемах ПК Macintosh фирмы Apple. Дляпрограммирования SCSI-подсистем фирмой разработаноспециальное програмное  средство – Mac’s SCSI Manager,   включающее   

14программ, обслуживающих различные фазы протокола SCSI шины.   Среди них:  чтение/запись  данныхв различных режимах, участие  в арбитраже, обработка комманд, статуса, сообщений,и др.   

Всеперечисленные функции реализуются путем непосредственного программированияаппаратных устройств SCSI-контроллера. Поскольку вовсех компьютерах семейства Mac используютсяхост-адаптеры SCSI-шины на базе контроллера NCR 5380, ВПО для всех моделей строится по одномупринципу.Однако имеются нюансы, существенные для программирования на нижнемуровне.Например, в разных моделях ПК контроллер 5380 имеет разные адреса. Крометого, по-разному используются   некоторые режимы работы контроллера 5380. Вчастности, имеется отличие в реализации

операциичтения/зыписи данных в синхронном режиме, чтообусловлено различной степенью аппаратной поддержки процедуры «рукопожатия» вразличных моделях семейства Мас. Если в модели Мас Plusсинхронный режим требует полного програмного контроля линий чтения/записи и данных, то а машинах Мас SE  иМас II реализована порлная аппаратная  поддержкаданного режима. Особенностью мождели Мас IIfx являетсяиспользование специальной заказной БИС – SCSI-контроллераПДП, в состав которой входит контроллер 5830.

     Похожие функции выполняет и програмный интерфейс ASPI(Advanced SCSI programming interface), предлагаемый фирмой  Adaptec для програмирования SCSI-устройств в среде MS-DOS. Интерфейс ASPI  такжеобеспечивает выполнение нижнего уровня протокола SCSI-штны  ивключает шесть команд, позволяющих выполнить следующие функции:

-    определение числа хост –адаптеров в составе системы;

-    определение типа периферийного SCSI- устройства;

-    определение операции ввода/вывода на SCSI-шине;

-    преккращение выполнения SCSI-операции;

-    сброс устройств на  SCSI-операции;

-    установка параметров хост-адаптера.

     

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

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

       Ктретьему поколению однокристальных SCSI-когтроллеровможно отнести БИС NCR 53С700 NCR53C710фирмы NCR, в которых внедрена новая програмнаяконцепция фирмы NCR – так называемый Script- процессор.Оба контроллера содержат мощный встроенный процессор производительностью 2 млн.операций в секунду, обеспечивающий автономное управление операциями на SCSI-шине, а также управление ПДП.

     Script- алгоритм включает программы управления такимиоперациями, как Выбор/Перевыбор; Отсоединение/Повторноесоединение; Изменение фазы SCSI-шины; Передача информации и др.

     Реализация развитых управляющих алгоритмов, естественно, требует большогообьема памяти. Если этот алгоритм выполняется средствами хост-системы(по типу BIOS), он становится зависимым от типа системной

шины и,следовательно теряет свою инвариантность. Если же он

выполняетсясамим контроллером, требуется большой обьем внутренней памяти. Особенностью инеоспоримым достоинством контроллеров серии 53C7XXявляется их способность непосредственно работать с памятью хост-системы, где иможет быть размещен Script-алгоритм.

     Набор Script-команд включает три основных типа операций:

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

2)    Команддыввода-вывода выполняющие различные операции на SCSIшине и напрямую адресующие узлы SCSI-ядра контроллера.

3)    Команды управления позволяющее сравнить содержимое  внутреннихрегистров с сигналами на SCSI-шине либо с первым байтом передаваемойпоследовательности. По результатам сравнения

4)   управлениеможет быть передано по другому адресу. Таким образом, все типы переходов (jump,call,return) в Script программемогут быть основаны на непосредственном сравнении фаз SCSI-шины,что удобно для принятия решений в реальном времени.

         Мощные Script-команды существенно сокращают накладныерасходы SCSI шины. Например, при использовании командблочной

пересылкипри работе с рассредоточенными блоками данных за одну

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

   

      

    

еще рефераты
Еще работы по информатике, программированию