
- •Мови, рівні і віртуальні машини
- •Сучасні багаторівневі машини
- •Поняття архітектури пк
- •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. Обчислення формул в зворотнім польськім записі
- •Питання до лекції
8.14. Типи даних машини UltraSparc II
UltraSPARC II підтримує широкий ряд форматів даних (табл. 8.3). Ця машина може підтримувати 8-, 16-, 32- і 64-бітові цілочисельні операнди із знаком і без знаку. Цілі числа із знаком використовують додатковий код. Крім того, є операнди з плаваючою крапкою по 32,64 і 128 бітів, які відповідні до стандарту IEEE 754 (для 32-бітових і 64-бітових чисел). Двійково-десяткові числа не підтримуються. Всі операнди повинні бути вирівняні в пам'яті.
ТИП |
8 бітів |
16 бітів |
32 біта |
64 біта |
128 біт |
Цілі числа із знаком Цілі числа без знаку Двійково-десяткові цілі числа Числа з плаваючою крапкою |
х х
|
х х |
х х
х |
х х
х |
х |
8.15. UltraSPARC II
UltraSPARC II є регістровою структурою, і майже все команди оперують з 64-розрядними регістрами. Символьні і рядкові типи даних спеціальними командами апаратного забезпечення не підтримуються.
8.16. Типи даних віртуальної машини Java
Java — це мова із строгим контролем типів. Це означає, що кожен операнд має особливий тип і розмір, який відомий в період компіляції. Це відображено в типах, підтримуваних JVM. JVM підтримує числові типи, наведені в табл. 8.4. Цілі числа із знаком використовують додатковий код.
Цілі числа без знаку в мові Java не присутні і не підтримуються JVM, як і двійково-десяткові числа.
Таблиця 8.4 - Числові типи даних для JVM
ТИП |
8 біт |
16 біт |
32 біти |
64 біти |
128 біт |
Цілі числа із знаком Цілі числа без знаку Двійково-десяткові цілі числа Числа з плаваючою крапкою |
х
|
х
|
х
х |
х
х |
|
JVM підтримує символи, але не традиційні 8-бітові символи ASCII, а 16-бітові символи UNICODE. Покажчики підтримуються головним чином для внутрішнього використання компілятора і системи обслуговування. Користувацькі програми не можуть безпосередньо звертатися до покажчиків. Покажчики використовуються в основному для посилань на об'єкти.
8.17. Формати команд
Команда складається з коду операції і деякої додаткової інформації, наприклад, звідки поступають операнди і куди повинні відправлятися результати. Процес визначення, де знаходяться операнди (тобто їх адреси), називається адресацією.
На малюнку 8.5 показано декілька можливих форматів для команд другого рівня. Команди завжди містять код операції, який повідомляє, які дії виконує команда. У команді може бути присутнім нуль, один, два або три адреси.
КОД ОПЕРАЦІЇ |
|
КОД ОПЕРАЦІЇ |
АДРЕСА |
Код поерації |
Адреса 1 |
Адреса 2 |
|
Код операції |
Адреса 1 |
Адреса 2 |
Адреса 3 |
Мал. 8.5 - Чотири формати команд: безадресна команда (а); одноадресна команда (б); двоадресна команда (в); триадресна команда (г)
У одних машинах всі команди мають однакову довжину; у інших команди можуть бути різної довжини. Команди можуть бути коротше за слово, довше за слово або бути рівними слову по довжині. Якщо всі команди однієї довжини, то це спрощує декодування, але часто вимагає більшого простору, оскільки всі команди повинні бути такої ж довжини, як щонайдовша.