Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арх_2модуль_шпора.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
412.46 Кб
Скачать

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