
- •Мови, рівні і віртуальні машини
- •Сучасні багаторівневі машини
- •Поняття архітектури пк
- •1.4. Розвиток комп’ютерної архітектури
- •Розвиток багаторівневих машин
- •Типи сучасних еом
- •Питання до лекції
- •2.1. Принципи розробки сучасних комп'ютерів
- •2.2. Паралелізм на рівні команд
- •2.3. Конвеєри
- •2.4. Суперскалярні архітектури
- •2.5. Паралелізм на рівні процесорів
- •2.6. Векторні комп'ютери
- •Блок управління
- •2.7. Мультипроцессори
- •2.8. Мультикомпьютери
- •Питання до лекції
- •3. Основи комп’ютерної організації : пам’ять
- •3.1. Ієрархічна структура пам'яті
- •3.2. Загальні відомості про пам'ять
- •3.4. Методи звертання до пам'яті
- •3.5. Модулі пам'яті
- •3.6. Ряди і банки пам'яті
- •3.8. Код з виправленням помилок
- •3. 9. Скільки потрібно пам'яті
- •Питання до лекції
- •4. Цифровий рівень побудови ом
- •4.1. Вентилі і булева алгебра
- •4.2. Булева алгебра
- •4.3. Реалізація булевих функцій
- •4.4. Еквівалентність схем
- •Основні цифрові логічні схеми Інтегральні схеми
- •4.5. Комбінаційні схеми
- •3 Входи і 8 виходів
- •4.6. Арифметичні схеми.
- •4.7. Тактові генератори
- •Питання до лекції
- •Цифровий рівень побудови ом.
- •5. Цифровий логічний рівень архітектури: пам’ять, мікропроцесори
- •5.2. Синхронні sr-защіпки
- •5.3. Синхронні d-защіпки
- •5.4. Тригери (flip-flops)
- •5.5. Регістри
- •5.6. Організація пам'яті
- •Тригер (б)
- •Кожний ряд представляє одне з 3-бітних слів. При операції зчитування і запису завжди зчитується або записується ціле слово
- •5.7. Мікросхеми пам'яті
- •5.9. Мікросхеми процесорів
- •Стрілочки указують вхідні і вихідні сигнали. Короткі діагональні лінії вказують на наявність декількох висновків.
- •Питання до лекції
- •6. Шини
- •6.1. Ширина шини
- •6.2. Синхронізація шини
- •6.3. Синхронні шини
- •6.5. Асинхронні шини
- •6.6. Арбітраж шини
- •6.7. Принципи роботи шини
- •Питання до лекції
- •7. Мікроархітектурний рівень
- •7.1. Приклад мікроархітектури
- •7.2. Тракт даних
- •В цьому розділі
- •Табліця 7.1. Деякі комбінації сигналів аллу і відповідні їм функції
- •7.3. Синхронізація тракту даних
- •7.4. Робота пам'яті.
- •7.5. Мікрокоманди
- •7.6. Управління мікрокомандами: Mic-1
- •7.7. Приклад архітектури команд: ijvm
- •7.8. Модель пам'яті ijvm
- •Питання до лекції
- •8. Рівень архітектури команд
- •8.1. Моделі пам'яті
- •8.2. Загальний огляд рівня архітектури команд
- •8.3. Властивості рівня команд
- •8.4. Регістри
- •8.5. Команди
- •8.6. Загальний огляд рівня команд машини Pentium II
- •8.8. Загальний огляд рівня команд системи ultrasparc II
- •8.9. Загальний огляд віртуальної машини Java
- •8.10. Типи даних
- •8.11. Числові типи даних
- •8.12. Нечислові типи даних
- •8.13. Типи даних процесора Pentium II
- •Підтримувані типи відмічені хрестом (х)
- •8.14. Типи даних машини UltraSparc II
- •8.16. Типи даних віртуальної машини Java
- •8.17. Формати команд
- •Питання до лекції
- •9. Адресація
- •9.1. Способи адресації
- •9.2. Безпосередня адресація
- •9.3. Пряма адресація
- •9.4. Регістрова адресація
- •9.5. Непряма регістрова адресація
- •Лістинг 9.1 - Програма на асемблері для обрахунку суми елементів масиву.
- •9.6. Індексна адресація
- •Листинг 9.2. Програма на мові асемблера для обчислення операції або від (Аі і Ві ) для масиву з 1024 елементів.
- •9.7. Відносна індексна адресація
- •9.8. Стекова адресація
- •9.9. Зворотній польський запис
- •9.10. Обчислення формул в зворотнім польськім записі
- •Питання до лекції
6.6. Арбітраж шини
До цього моменту ми неявно припускали, що існує тільки один задаючий пристрій шини — центральний процесор. Насправді мікросхеми вводу-виводу можуть ставати задаючим пристроєм при прочитуванні інформації з пам'яті і запису інформації в пам'ять. Крім того, вони можуть викликати переривання. Співпроцесори також можуть ставати задаючим пристроєм шини. Виникає питання: «Що відбувається, коли задаючим пристроєм шини можуть стати два або декілька пристроїв одночасно?» Щоб запобігти хаосу, який може при цьому виникнути, потрібен спеціальний механізм — так званий арбітраж шини.
Механізми арбітражу можуть бути централізованими або децентралізованими. Розглянемо спочатку централізований арбітраж. Простий приклад централізованого арбітражу показаний на рис. 6.5, а. У даному прикладі один арбітр шини визначає, чия черга наступна. Часто буває, що арбітр вбудований в мікросхему процесора, але іноді потрібна окрема мікросхема. Шина містить одну лінію запиту (монтажне АБО), яка може запускатися одним або декількома пристроями у будь-який час. Арбітр не може визначити, скільки пристроїв запрошують шину. Він може визначати тільки наявність або відсутність запитів.
Коли арбітр бачить запит шини, він запускає лінію надання шини. Ця лінія послідовно зв'язує всі пристрої вводу-виводу (як в ялинковій гірлянді). Коли фізично найближчий до арбітра пристрій сприймає сигнал надання шини, воно перевіряє, чи немає запиту шини. Якщо запит є, пристрій користується шиною, але не поширює сигнал надання далі по лінії. Якщо запиту немає, пристрій передає сигнал надання шини наступному пристрою. Цей пристрій теж перевіряє, чи є запит, і діє відповідним чином залежно від наявності або відсутності запиту. Передача сигналу надання шини продовжується до тих пір, поки який-небудь пристрій не скористається наданою шиною. Така система називається системою послідовного опиту. При цьому пріоритети пристроїв залежать від того, наскільки близько вони знаходяться до арбітра. Найближчий до арбітра пристрій володіє головним пріоритетом.
Щоб обійти таку систему, в якій пріоритети залежать від відстані від арбітра, в деяких шинах влаштовується декілька рівнів пріоритету. На кожному рівні пріоритету є лінія запиту шини і лінія надання шини. На рис. 6.5, б зображено 2 рівні (хоча насправді шини звичайно містять 4, 8 або 16 рівнів). Кожен пристрій пов'язаний з одним з рівнів запиту шини, причому, чим вищий рівень пріоритету, тим більше пристроїв прив'язано до цього рівня. На рис. 6.5 б можна бачити, що пристрої 1, 2 і 4 використовують пріоритет 1, а пристрої 3 і 5 — пріоритет 2.
Рис. 6.5 - Однорівневий централізований арбітраж шини з використанням системи послідовного опиту (а); дворівневий централізований арбітраж (б)
Якщо одночасно запрошується декілька рівнів пріоритету, арбітр надає шину найвищому рівню. Серед пристроїв однакового пріоритету використовується система послідовного опиту. На рис. 6,5, видно, що у разі конфлікту пристрій 2 -«перемагає» пристрій 4, а пристрій 4 «перемагає» пристрій 3. Пристрій 5 має нижчий пріоритет, оскільки воно знаходиться у самому кінці самого нижнього рівня.
Лінія надання шини другого рівня необов'язково повинна послідовно зв'язувати пристрої 1 і 2, оскільки вони не можуть посилати на неї запити. Проте набагато простіше провести всі лінії надання шини через всі пристрої, чим сполучати пристрої особливим чином залежно від їх пріоритетів.
Деякі арбітри містять третю лінію, яка запускається, як тільки пристрій приймає сигнал надання шини, і бере шину в своє розпорядження. Як тільки запускається ця лінія підтвердження прийому, лінії запиту і надання шини можуть бути відключені. В результаті інші пристрої можуть запрошувати шину, поки перший пристрій використовує її. До того моменту, коли закінчиться поточна передача, наступне задаюче пристрій вже буде вибрано. Цей пристрій може почати роботу, як тільки відключається лінія підтвердження прийому. З цієї миті починається наступний арбітраж. Така структура вимагає наявність додаткової лінії і більшої кількості логічних схем в кожному пристрої, та зате при цьому цикли шини використовуються раціональніше.
У системах, де пам'ять пов'язана з головною шиною, центральний процесор повинен завершувати роботу зі всіма пристроями вводу-виводу практично на кожному циклі шини. Щоб вирішити цю проблему, можна надати центральному процесору найнижчий пріоритет. При цьому шина надаватиметься процесору тільки в тому випадку, якщо вона не потрібна жодному іншому пристрою. Центральний процесор завжди може почекати, а пристрої вводу-виводу повинні дістати доступ до шини щонайшвидше, щоб не втратити дані. Диски, що обертаються з високою швидкістю, теж не можуть чекати. У багатьох сучасних комп'ютерах пам'ять поміщається на одну шину, а пристрої вводу-виводу — на іншу, тому їм не доводиться завершувати роботу, щоб надати доступ до шини.
Можливий також децентралізований арбітраж шини. Наприклад, комп'ютер може містити 16 пріоритетних ліній запиту шини. Коли пристрою потрібна шина, воно запускає свою лінію запиту. Всі пристрої контролюють всі лінії запиту, тому в кінці кожного циклу шини кожен пристрій може визначити, чи володіє воно в даний момент вищим пріоритетом і, отже, чи дозволено лінії користуватися шиною в наступному циклі. Такий метод вимагає наявність більшої кількості ліній, та зате не вимагає витрат на арбітра. Він також обмежує число пристроїв числом ліній запиту.
При іншому типі децентралізованого арбітражу використовується тільки три лінії незалежно від того, скільки пристроїв є в наявності (рис. 6.6). Перша лінія — монтажне АБО. Вона використовується для запиту шини. Друга лінія називається BUSY. Вона запускається поточним задаючим пристроєм шини. Третя лінія використовується для арбітражу шини. Вона послідовно сполучає всі пристрої. Почало цілі пов'язано з джерелом живлення з напругою 5 В.
Коли шина не потрібна жодному з пристроїв, лінія арбітра передає сигнал всім пристроям. Щоб дістати доступ до шини, пристрій спочатку перевіряє, чи вільна шина, і чи встановлений сигнал арбітра IN. Якщо сигнал IN не встановлений, пристрій не може стати задаючим пристроєм
Рис. 6.6 – Децентралізований арбітраж шини
шини. В цьому випадку воно скидає сигнал OUT. Якщо сигнал IN встановлений, пристрій також скидає сигнал OUT, внаслідок чого наступний пристрій не одержує сигнал IN і, у свою чергу, скидає сигнал OUT. Отже, всі наступні по ланцюгу пристрої не одержують сигнал IN і скидають сигнал OUT. У результаті залишається тільки один пристрій, у якого сигнал IN встановлений, а сигнал OUT скинутий. Воно стає задаючим пристроєм шини, запускає лінію BUSY і сигнал OUT і починає передачу даних.
Трохи розміркувавши, можна виявити, що зі всіх пристроїв, яким потрібна шина, доступ до шини дістає найлівіший. Така система схожа з системою послідовного опиту, тільки в даному випадку немає арбітра, тому вона стоїть дешевше і працює швидше. До того ж не виникає проблем із збоями арбітра.