
- •Мови, рівні і віртуальні машини
- •Сучасні багаторівневі машини
- •Поняття архітектури пк
- •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. Обчислення формул в зворотнім польськім записі
- •Питання до лекції
Питання до лекції
Шина
Комп'ютерна система з декількома шинами
Прмнцмп роботи шини
Ширина шини
Перекос шини
Проблеми які виникають при збвльшенні швидкості роботи шини та методи їх вирішення.
Мультиплексна шина
Синхронізація шини
Синхронні шини
Тимчасова діаграма процесу прочитування на синхронній шині
Асинхронні шини
Діаграма роботи асинхронної шини
Арбітраж шини
Схеми однорівневого і дворівневого централізований арбітраж шини
Механізми арбітражу шини
Система послідовного опиту
Діаграма децентралізованого арбітражу шини
Принципи роботи шини
Схема передачі блоку даних
Схема контролеру переривання 8259А
7. Мікроархітектурний рівень
Над цифровим логічним рівнем знаходиться мікроархітектурний рівень. Його завдання - інтерпретація команд рівня 2 (рівня архітектури команд), як показано на рис. 1.2. Будова мікроархітектурного рівня залежить від того, який рівень архітектури команд, а також від вартості і призначення комп'ютера. В даний годину рівень архітектури команд часте містить прості команди, які виконуються за один цикл (такі, зокрема, системи RISC). Біля інших системах (наприклад, в системах Pentium II) на цьому рівні є складніші команди; виконання одній такої команди займає декілька циклів. Щоб виконати команду, потрібно знайти операнди в пам'яті, рахувати їх і записати отримані результати назад в пам'ять. Управління рівнем команд з складними командами відрізняється від управління рівнем команд з простими командами, оскільки в першому випадку виконання однієї команди вимагає певної послідовності операцій.
7.1. Приклад мікроархітектури
В ідеалі ми повинні були спочатку описати загальні принципи розробки мікро-архітектурного рівня. Нажаль, таких загальних принципів не існує. Кожна розробка індивідуальна. Ми просто детально розглянемо конкретний приклад. Як приклад ми вибрали підмножину віртуальної машини Java . Ця підмножина мистить тільки команди з цілими числами, те ми назвали її IJVM (Integer JVM; integer - ціле число). Почнемо з опису мікроархітектури, на основі якої ми втілимо IJVM. Система IJVM містить декілька досить складних команд. Подібна архітектура часте реалізується за допомогою мікропрограмування. Хоча структура IJVM нероблена, вона може послужити відправною крапкою в описі основних принципів управління командами і послідовності їх виконання.
Наша мікроархітектура містить мікропрограму (біля ПЗП), яка повинна викликати, декодувати і виконувати команди IJVM. Ми не можемо використовувати для цієї мікропрограми інтерпретатор JVM, розроблений компанією Sun оскільки нам потрібна крихітна мікропрограма, яка запускає окремі вентилі апаратного забезпечення. Інтерпретатор JVM компанії Sun був написаний на мові С, щоб забезпечити мобільність програмного забезпечення. Цей інтерпретатор не може управляти апаратним забезпеченням на такому деталізованому рівні, який нам потрібен. Оскільки реальне апаратне забезпечення складається тільки з компонентів, то теоретичне після вивчення цього розділу читач зможе піти в магазин, купити величезну кількість транзисторів і сконструювати машину IJVM. Тому, хто успішно виконає це завдання, буде наданий додатковий кредит (а також повне психіатричне обстеження).
Розробку даної мікроархітектури зручно вважати проблемою програмування, при цьому кожна команда рівня архітектури команд – функція, що викликається основною програмою. В даному випадку основна програма досить проста. Вона є нескінченним циклом. Спочатку програма визначає, яку функцію потрібно виконати, потім викликає цю функцію, а потім починає все знову.
Мікропрограма містить набір змінних, до яких мають доступ всі функції. Цей набір змінних називається станом комп'ютера. Кожна функція змінює по крайній мирі декілька змінних, формуючи при цьому стан. Наприклад, лічильник команд - це частина стану. Він указує місцезнаходження функції (тобто команди рівня архітектури команд), яку потрібно виконати наступною. Півгодинне виконання кожної команди лічильник команд вказує на наступну команду.
Команди IJVM дуже короткі. Кожна команда складається з декількох полів, звичайно одного або двох, кожне з яких виконує певну функцію. Перше поле є кодом операції. Цей код визначає тип команди і повідомляє, що це, наприклад, команда складання або команда галуження, або ще яка-небудь команда. Багато команд містять додаткове поле, яку визначає тип операнда . Наприклад, команди, які мають доступ до локальних змінних, повинні мати спеціальне поле, щоб визначити, яка це змінна.
Така модель виконання команди, звана іноді циклом вибірка-виконання, корисна для теорії, а також може служити основою втілення рівня архітектури команд з складними командами (наприклад, IJVM). Нижче ми опишемо, як працює ця модель, що є мікроархітектура і як нею управляють мікрокоманди, кожна з яких займає тракт даних на один цикл. Повній список команд формує мікропрограму, яка буде розглянута дуже детально.