- •1.1 Пояснити призначення і використання віртуальної машини jvm. Пояснити відмінність іjvm і jvm.
- •1.2Пояснити призначення і роботу регістрів пам’яті віртуальної машини іjvm.
- •1.3 Пояснити призначення контролера мікрокоманд іjvm Міс-1. Намалювати його структурну схему і пояснити призначення кожного його функціонального модуля.
- •1.4 Що таке стек операндів? Яке його призначення де він розміщений і як організований?
- •1.5??????????????????? Вкажіть який максимально допустимі розміри областей пам’яті в іjvm Міс-1: фрейму локальних змінних? а області процедур? а області констант?
- •1.7 Опишіть інтерпретацію в Міс-1 команди goto
- •1.9 Поясніть як побудована асоціативна кеш-пам’ять?
- •1.10 Опишіть способи адресації віртуальної машини Java
1.9 Поясніть як побудована асоціативна кеш-пам’ять?
Як було сказано вище, різні рядки основної пам'яті конкурують за право
зайняти одну і ту ж область в кеш-пам'яті. Якщо програмі, яка застосовує кеш-
пам'ять, зображену на рис. 4.26, а, часто потрібні слова з адресами 0 і 65 536,
то будуть мати місце постійні конфлікти і кожне звернення потенційно
потягне за собою витіснення якоїсь певної рядка кеш-пам'яті. Щоб
вирішити цю проблему, потрібно зробити так, щоб у кожному елементі кеш-пам'я-
ти містилося по дві і більше рядків. Кеш-пам'ять з п можливими елементами для
кожної адреси називається n-входові асоціативної кеш-пам'яттю. Чотирьох-
входові асоціативна кеш-пам'ять зображена на рис. 4.27.
Асоціативна кеш-пам'ять з множинним доступом по суті набагато складність
неї, ніж кеш-пам'ять прямого відображення, оскільки хоча елемент кеш-пам'яті і
можна обчислити з адреси основної пам'яті, потрібно перевірити п елементів
кеш-пам'яті, щоб дізнатися, чи є там потрібна нам рядок. Тим не менш практи-
ка показує, що двувходовая або четирехвходовая асоціативна кеш-пам'ять
дає хороший результат, тому впровадження цих додаткових схем цілком
виправдано.
1.10 Опишіть способи адресації віртуальної машини Java
Найпростіший спосіб визначення операнда - утримувати в адресній частині самоперанд, а не адресу операнда або яку-небудь іншу інформацію, що описує, де знаходиться операнд. Такий операнд називається безпосереднім операндом,
оскільки він автоматично викликається з пам'яті одночасно з командою; сле- довно, він відразу безпосередньо стає доступним.2 спосіб називається прямою адресацією. Як і безпосередня адресація, пря-Травень адресація має деякі обмеження: команда завжди буде мати доступтільки до одного і того ж адреси пам'яті. Тобто значення може змінюватися, аадреса - ні.Реєстрова адресація по суті схожа з прямою адресацією, тільки в даному слу- чаї замість комірки пам'яті визначається регістр. Оскільки регістри дуже важ- ни (з-за швидкого доступу і коротких адрес), цей спосіб адресації є
найпоширенішим на більшості комп'ютерів. Багато компілятори доходять до величезних розмірів, щоб визначити, до яких змінним доступ буде здійснюватися найчастіше (наприклад, індекс циклу), і поміщають ці пе- ремінні в регістри.При такому способі адресації визначається операнд береться з пам'яті або від- правляться в пам'ять, але адреса не зафіксований жорстко в команді, як при прямій адресації. Замість цього адресу міститься в регістрі. Якщо адреса використовується
таким чином, він називається покажчиком. Перевага непрямої адресації полягає в тому, що можна звертатися до пам'яті, не маючи в команді повної адреси. Крім того, при різних виконаннях даної команди можна використовувати раз-
ні слова пам'яті.Часто потрібно вміти звертатися до слів пам'яті за відомим зсуву. Подоб-ні приклади ми бачили в машині IJVM, де локальні змінні визначають-ся по зсуві від регістру LV. Звернення до пам'яті по регістру і константізміщення називається індексного адресацією