WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаТехнічні науки → Арбітраж шини - Реферат

Арбітраж шини - Реферат

шини, пристрій спочатку перевіряє, чи вільна шина, і чи встановлений сигнал арбітра І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А містить кілька висновків для керування каскадурованням.
Loading...

 
 

Цікаве