
- •1.1 Пояснити що таке мікроархітектурний рівень комп’ютера
- •1.2 Дати опис послідовності мікрооперацій в іjvm Міс-1 в одному циклі синхронізації?
- •1.3 Дати опис взаємодії іjvm Міс-1 з основною пам’яттю.
- •1.5 Скільки команд має іjvm Міс-1. Перерахуйте основні групи команд і дайте пояснення їх призначення.
- •1.6 Поясніть роботу стека операндів на прикладі
- •1.7 Опишіть інтерпретацію в Міс-1 команди умовного переходу ifeq
- •1.8 Поясніть призначення мікрокоманди Маіn1
- •1.9 Як побудована кеш-пам’ять прямого відображення? Поясніть, що таке тег. Що таке «промах кеш-пам’яті»
- •1.10 Опишіть типи даних і формати команд віртуальної машини Java
- •1. Намалювати тракт даних мікроархітектури віртуальної машини іjvm. Пояснити призначення і його функціонування.
- •2. Намалювати схему мікроархітектури Міс-1 і коротко пояснити управління її мікрокомандами.
- •3. Пояснити що таке старший біт і призначення бітів n і z.
- •4. Яке призначення регістра sp і які значення він набуває?
- •5. Приведіть простий приклад компіляції з мови Java на мову ассемблера Java
- •6. Опишіть інтерпретацію в Міс-1 команди bipush
- •7. Опишіть інтерпретацію в Міс-1 команди if_icmeq
- •8. Які типи організації (моделі) кеш-пам’яті вам відомі. Які типи взаємодії процесор пам’ять вам відомі?
- •9. Поясніть як здійснюється прогнозування переходів (галужень)
- •10. Опишіть типи команд віртуальної машини Java
- •Пояснити синхронізацію тракту даних із використанням часової діаграми віртуальної машини Java
- •Пояснити що таке мікрокоманда іjvm. Дати опис формату мікрокоманд віртуальної машини Java.
- •Пояснити, що таке стек і його призначення. Привести приклад графічного зображення стеку і пояснити його роботу.
- •Описати принцип організації пам’яті іjvm. Пояснити призначення і адресацію різних областей пам’яті: констант, фреймів локальних змінних і області процедур
- •Поясніть в загальних рисах, як здійснюються інтерпретація команд іjvm Міс-1.
- •Опишіть інтерпретацію в Міс-1 команди iload.
- •Опишіть інтерпретацію в Міс-1 команди istore
- •Що таке просторова і часова локалізація адрес в кеш-пам’яті
- •Опишіть, як здійснюється програмне введення-виведення.
1. Намалювати тракт даних мікроархітектури віртуальної машини іjvm. Пояснити призначення і його функціонування.
Т
ракт
даних
– частина ЦП,що складається з АЛП. Тракт
даних управляє рухом даних, та їх
обробкою.
Він
має в собі ряд 32-розряних
регістрів (PC,SP,MDR). Зміст
більшості регістрів перtдається
на шину В. Вихідний сигнал АЛП запускає
схему зсуву, а потім шину С. Значення з
шини С може записуватися в один або
кілька регістрів одночасно. Його
функціонування залежить від ліній
управління. В ньому є 6 ліній управління
АЛП. З них Fu
і р! служать для визначення операції,
ENА і ENB - для дозволу вхідних сигналів А
і В відповідно, 1NVA - для інверсії лівого
входу і INC – інкременту результату.АЛП
містить
2 входи для даних: лівий (А) і правий (В).
З лівим пов'язаний регістр тимчасового
зберігання Н. З правим пов'язана шина
В, в яку можуть надходити значення з
одного з дев'яти джерел, що показано за
допомогою дев'яти сірих стрілок, дотичних
до шини.
2. Намалювати схему мікроархітектури Міс-1 і коротко пояснити управління її мікрокомандами.
3. Пояснити що таке старший біт і призначення бітів n і z.
Старший біт – це лівий крайній біт, часто він несе деяке спеціальне значення. А тепер пояснимо, навіщо потрібні
тригери N і Z. Справа в тому, що після наростаючого фронту сигналу (і аж до заднього фронту) шина В більше не запускається, тому вихідні сигнали АЛП вже не можуть вважатися правильними. Збереження прапорів стану АЛУ регі-
страх N і Z робить правильні значення стабільними і доступними для обчиcлення регістру МРС, незалежно від того, що відбувається навколо АЛП.
4. Яке призначення регістра sp і які значення він набуває?
Р
егістр
SP, як і LV вказує на ділянки пам’яті
стеку,початок якого вказується регістром
LV. SP, вказує на старше слово локальних
змінних процедури А. Якщо значення
регістра LV
дорівнює 100, а слова складаються з 4 байтів, то значення SP буде 108. Для звернення до
змінної потрібно обчислити її зсув від адреси LV. Структура даних між LV і SP (включаючи обидва зазначених слова) називається фреймом локальних змінних.
5. Приведіть простий приклад компіляції з мови Java на мову ассемблера Java
Листинг 4.2. Программа на языке ассемблер Java 1 ILOAD j //i=J+k 2 ILOAD k 3 IADD 4 ISTORE l 5 I LOAD l //if (1—3) 6 BIPUSH 3 7 IFJCMPEQ LI 8 ILOAD j //J-J-l 9 BIPUSH 1 10 ISUB 11 ISTORE j 12 GOTO L2 13 LI BIPUSH 0 //k-0 14 ISTORE k 15 L2
|
Листинг 4.3. Программа IJVM в шестнадцатеричном коде 0x15 0x02 0x15 0x03 0x60 0x36 0x01 0x15 0x01 0x10 0x03 0x9F 0x00 OxOD 0x15 0x02 0x10 0x01 0x64 ОхЗб 0x02 0xA7 0x00 0x07 0x10 0x00 0x36 0x03
|
Скомпільована програма проста. Спочатку j і до поміщаються в стек, додаються, а результат зберігається в i Потім i і константа 3 поміщаються в стек і порівнюються Якщо вони рівні, то відбувається умовний перехід до L1, де до отримує значення 0 Якщо вони не рівні, то виконується частина програми після IF_ICMPEQ Після цього здійснюється перехід до L2, де зливаються частини else і then