ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    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 шини. Наприклад, при використанні команд блоковоїпересилки при роботі з розосередженими блоками даних за одну команду може бути передана сторінка даних для програми користувача.


         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status