Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Арбітраж шини

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Оскільки може скластися ситуація, коли кілька пристроїв одночасно хочуть зробити переривання, тут мають місце ті ж проблеми дозволу конфліктних ситуацій, що й у звичайних циклах шини. Щоб уникнути таких проблем, потрібно кожному пристрою приписати певний пріоритет і використовувати централізований арбітр для розподілу пріоритетів. Існує стандартний контролер переривань, що широко використається… Читати ще >

Арбітраж шини (реферат, курсова, диплом, контрольна)

Реферат на тему:

Арбітраж шини.

План.

1. Арбітраж шини.

2. Принцип роботи шини.

Арбітраж шини До тепер припускалось, що існує тільки один задаючий пристрій шини — центральний процесор. У дійсності мікросхеми вводу-виводу можуть ставати задаючим пристроєм при зчитуванні информації з пам «яті та запису в память. Крім того, вони можуть викликати переривання. Сопроцесори також можуть ставати задаючим пристроєм шини.

Виникає питання: «Що відбувається, що коли задає пристроєм шини статають два або кілька пристроїв одночасно? » .

Щоб запобігти хаосу, що може при цьому виникнути, потрібний спеціальний механізм — арбітраж шини.

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

Простий приклад централизованного арбітражу показаний на рис. 6, а. У даному прикладі один арбітр шини визначає, чия черга наступна. Часто буває, що арбітр убудований у мікросхему процесора, але іноді потрібна окрема мікросхема. Шина містить одну лінію запиту (монтажне АБО), що може запускатися одним або декількома пристроями в будь-який час. Арбітр не може визначити, скільки пристроїв дають запит на шину. Він може визначати тільки наявність або відсутність запитів.

Коли арбітр бачить запит шини, він запускає лінію надання шини. Ця лінія послідовно зв «язує всі пристрої вводу-виводу. Коли фізично найближчий до арбітра пристрій сприймає сигнал надання шини, воно перевіряє, чи є запит шини. Якщо запит є, пристрій користується шиною, але не поширює сигнал надання далі по лінії. Якщо запит — ні, пристрій передає сигнал надання шини наступному пристрою. Цей пристрій теж перевіряє, є чи запит, і діє відповідним чином залежно від наявності або відсутності.

запиту.

Передача сигналу надання шини триває до тих нір, поки який-небудь пристрій не скористається наданою шиною. Така система називається системою послідовного опитування.

При цьому пріоритети пристроїв залежать від того, наскільки близько вони перебувають до арбітра. Найближчий до арбітра пристрій має головний пріоритет.

Щоб обійти таку систему, у якій пріоритети залежать від відстані від арбітра, у деяких шинах влаштовується кілька рівнів пріоритету. На кожному рівні пріоритету є лінія запиту шипи й лінія надання шини.

На рис. 6, б зображено 2 рівні (хоча в дійсності шини звичайно містять 4, 8 або 16 рівнів). Кожний пристрій пов «язаний з одним з рівнів запиту шипи, причому, чим вище рівень пріоритету, тим більше пристроїв прив «язано до цього рівня. На рис. 6, б можна бачити, що пристрою 1, 2 і 4 використають пріоритет 1, а пристрою 3 і 5 — пріоритет 2.

Рис. 6. Одноуровневый централізований арбітраж шини з використанням системи послідовного опитування (а); дворівневий централізований арбітраж (б) Якщо одночасно запитується кілька рівнів пріоритету, арбітр надає шину найвищому рівню. Серед пристроїв однакового приоритету використається система послідовного опитування. На рис. 6, 6 видно, що у випадку конфлікту пристрій 2 «перемагає «пристрій 4, а пристрій 4 «перемагає «пристрій 3. Пристрій 5 має нижчий пріоритет, оскільки воно знаходиться в самому кінці самого нижнього рівня.

Лінія надання шини другого рівня необов «язково повинна послідовно зв «язувати пристрої 1 і 2, оскільки вони не можуть посилати на неї запити. Однак набагато простіше провести всі лінії надання шини через всі пристрої, ніж з «єднувати пристрої особливим чином залежно від їх приорітетів.

Деякі арбітри містять третю лінію, що запускається, як тільки пристрій приймає сигнал надання шини, і бере шину у своє розпорядження. Як тільки запускається лінія підтвердження прийому, лінії запиту й надання шини можуть бути відключені. У результаті інші пристрої можуть запитувати шину, поки перший пристрій використає її. До того моменту, коли закінчиться поточна передача, наступний задаючийпристрій уже буде обрано. Цей пристрій може почати роботу, як тільки відключається лінія |підтвердження прийому.

Із цього моменту починається наступний арбітраж. Така структура вимагає наявності додаткової лінії й більшої кількості логічних схем у кожному пристрої, але зате при цьому цикли шини використаються рациональніше.

У системах, де пам «ять пов «язана з головною шиною, центральний процесор повинен завершувати роботу з усіма пристроями вводу-виводу практично на кожному циклі шини. Щоб вирішити цю проблему, можна надати центральному процессору найнижчий пріоритет. При цьому шина буде надаватися процессору тільки в тому випадку, якщо вона не потрібна жодному іншому пристрою.

Центральный процесор завжди може почекати, а пристрою вводу-виводу повинні одержати доступ до шини якнайшвидше, щоб не втратити дані. Диски, що обертаються з високою швидкістю, теж не можуть чекати. У багатьох сучасних компьютерах пам «ять міститься на одній шині, а пристрою вводу-виводу — на іншій, тому їм не доводиться завершувати роботу, щоб надати доступ до шини.

Можливий також децентралізований арбітраж шини. Наприклад, комп «ютер може містити 16 пріоритетних ліній запиту шини. Коли пристрою потрібна шина, воно запускає свою лінію запиту. Всі пристрої контролюють всі лінії запиту, тому наприкінці кожного циклу шини кожний пристрій може визначити, чи володіє воно в цей момент вищим пріоритетом і, відповідно, чи дозволено лінії користуватися шиною в наступному циклі.

Такий метод вимагає наявності більшої кількості ліній, але зате не.

вимагає витрат на арбітра. Він також обмежує число пристроїв числом ліній запиту.

При іншому типі децентралізованого арбітражу використається тільки три лінії, незалежно тому, скільки пристроїв є в наявності (рис. 7). Перша лінія — монтажне АБО. Вона використається для запиту шини. Друга лінія називається BUSY. Вона запускається поточним пристроєм, що задає, шини. Третя лінія використається для арбітражу шини. Вона послідовно з «єднує всі.

пристрої. Початок цінуй пов «язане із джерелом живлення з напругою 5 В.

Рис. 7. Децентралізований арбітраж шини.

Коли шина не потрібно жодному із пристроїв, лінія арбітра передає сигнал всім пристроям. Щоб одержати доступ до шини, пристрій спочатку перевіряє, чи вільна шина, і чи встановлений сигнал арбітра ІN. Якщо сигнал ІN не встановлений, пристрій не може стати пристроєм, що задає, шини. У цьому випадку воно скидає сигнал OUT. Якщо сигнал ІN установлений, пристрій також скидає сигнал OUT, у результаті чого наступний пристрій не одержує сигнал ІN і, у свою чергу, скидає сигнал OUT. Отже, всі наступні по ланцюзі пристрої не одержують сигнал ІN і скидають сигнал OUT.

У результаті залишається лише один пристрій, у якого сигнал ІN установлений, а сигнал OUT скинутий. Воно стає пристроєм, що задає, шини, запускає лінію BUSY і сигнал OUT і починає передачу даних.

Можна виявити, що із всіх пристроїв, яким потрібна шина, доступ до шини одержує саме ліве. Така система подібна із системою послідовного опитування, тільки й даному випадку немає арбітра, тому вона коштує дешевше й працює швидше. До того ж не виникає проблем зі збоями арбітра.

Принципи роботи шини До цього моменту ми обговорювали тільки звичайні цикли шинизадаючий пристрій шини (звичайно центральний процесор) зчитує інформацію з підлеглого пристрою (звичайно з пам «яті) або записує в нього інформацію. Однак існує ще кілька типів циклів шини. Давайте розглянемо деякі з них.

Звичайно за раз передається одне слово. При використанні кеш-пам «яті бажано відразу викликати весь рядок кеш-пам «яті (тобто 16 послідовних 32;

бітних слів). Часто передача блоками може бути більше ефективна, ніж така послідовна передача інформації. Коли починається читання блоку, задаючий пристрій повідомляє підлеглому пристрою, скільки слів потрібно передати (наприклад, поміщаючи загальне число слів на інформаційні лінії в період T1). Замість того щоб видати у відповідь одне слово, що задає пристрій видає одне слово протягом кожного циклу доти, поки не буде передана необхідна кількість слів.

На рис. 8 зображена схема, на якій зобржено додатковий сигнал BLOCK, що вказує, що запитує передача блоку. У даному прикладі зчитується блок з 4 слів займає 6 циклів замість 12.

Рис. 8. Передача блоку даних.

Існують також інші типи циклів шини. Наприклад, якщо мова йде про системи із двома або декількома центральними процесорами на одній шині, потрібно бути впевненим, що в конкретний момент тільки один центральний процесор може використати певну структуру даних у пам «яті. Щоб упорядкувати цей процес, у пам «яті повинна утримуватися змінна, котра приймає значення 0, коли центральний процесор використає структуру даних, коли структура даних не використається.

Якщо центральному процесору потрібно отримати доступ до структури даних, він повинен зчитувати змінну, і якщо вона дорівнює О, додати їй значення 1. Проблема полягає в тім, що два центральних процессори можуть зчитвати змінну на послідовних циклах шини. Якщо кожний процесор бачить, що змінна дорівнює 0, а потім кожний процесор міняє значення змінної на 1, начебто тільки він один використає цю структуру даних, то така послідовність подій веде до хаосу.

Щоб запобігти такій ситуації, у багатороцессорных системах передбачно спеціальний цикл шини, що дає можливість будь-якому процесору зчитувати слово з пам «яті, перевірити та змінити його, а потім записати назад в память; весь цей процес відбувається без звільнення шини.

Такий цикл не дає можливості іншим центральним процесорам використати шину, та забороняє роботу першого процесора.

Ще один важливий цикл шини — цикл для здійснення переривань. Коли центральний процесор командує пристрою вводу-виводу зробити якусь дію, вона очікує переривання після завершення роботи. Для сигналу преривания потрібна шина.

Оскільки може скластися ситуація, коли кілька пристроїв одночасно хочуть зробити переривання, тут мають місце ті ж проблеми дозволу конфліктних ситуацій, що й у звичайних циклах шини. Щоб уникнути таких проблем, потрібно кожному пристрою приписати певний пріоритет і використовувати централізований арбітр для розподілу пріоритетів. Існує стандартний контролер переривань, що широко використається. У компьютерах ІBM PC і наступних моделях застосовується мікросхема Іntel 8259A. Вона зображена на рис. 9.

Рис. 39. Контролер переривання 8259А.

До восьми контролерів вводу-виводу можуть бути безпосередньо пов «язані з вісьма входами ІRx (Іnterrupt Request — запит переривання) мікросхеми 8259А.

Коли кожне із цих пристроїв хоче зробити переривання, воно запускає свою лінію входу. Якщо активізується один або кілька входів, контролер 8259А видає сигнал ІNT (ІNTerrupt — переривання), що подається на відповідний вхід центрального процесора. Коли центральний процесор здатний здатен провести переривання, він посилає мікросхемі 8259А імпульс через висновок (ІNTerrupt Acknowledge — підтвердження переривання). У цей момент мікросхема 8259А повинна визначити, на який саме вхід надійшов сигнал переривання.

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

Мікросхема 8259А містить кілька регістрів, які центральний процессор може зчитувати й записувати, використовуючи звичайні цикли шини й висновки R (Rea — читання), WR (WRіte — запис), CS (Chіp Select — вибір елемента пам «яті). Коли програмне забезпечення опрацювало переривання й готове одержати наступне, воно записує спеціальний код в один з регістрів, котрий викликає скидання сигналу ІNT мікросхемою 8259А, якщо не з «являється інша затримка переривання. Регістри також можуть записуватися для того, щоб увести мікросхему 8259А в один з декількох режимів, і для виконання деяких інших функцій.

Коли є присутнім більше восьми пристроїв вводу-вводу, мікросхеми 8259А можуть бути з «єднані каскадно. У самій екстремальній ситуації всі вісім входів можуть бути пов «язані з виходами ще восьми мікросхем 8259А, з «єднуючи до 64 пристроїв вводу-виводу у двоступінчасту систему переривання. Мікросхема 8259А містить кілька висновків для керування каскадурованням.

Показати весь текст
Заповнити форму поточною роботою