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 фірми Western Digital і 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 фірми Distributed Proccessing Е Technology. Він використовує інтерфейс відомого дискового контролера WD1003 фірми Western Digital, в результаті чого комп'ютер "бачить" контролер як звичайний пристрій, сумісний з інтерфейсом 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 шини. Наприклад, при використанні команд блокової

пересилання при роботі з розосередженими блоками даних за одну

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

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
58.3кб. | скачати


Схожі роботи:
Багатодокументний інтерфейс
Інтерфейс IDE
Користувальницький інтерфейс
Системний інтерфейс CompactPCI
Графічний інтерфейс ОС Windows
Графічний інтерфейс користувача Linux
Нейро-комп`ютерний інтерфейс
Інтерфейс передачі даних оптоволоконними каналами
Сервісне програмне забезпечення Інтерфейс користувача
© Усі права захищені
написати до нас