Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
/
ЗВІТ
до лабораторної роботи № 2
з дисципліни
«Архітектура комп'ютерів, частина 1»
на тему:
“ Дослідження макроалгоритмів та мікроалгоритмів виконання машинних інструкцій ”
Мета: зрозуміти і дослідити макроалгоритм та мікроалгоритм виконання кожної машинної інструкції машини Ноймана.
Завдання:
Покроковим режимом протестувати виконання кожної машинної інструкції, проаналізувати і пояснити отримані результати, потактовим режимом протестувати поокреме виконання кожної машинної інструкції, проаналізувати і пояснити отримані результати, скласти звіт з виконання лабораторних досліджень та захистити.
Завдання згідно варіанту:
10
r =110+111+…+125
/
Мал.1 Програма для вирішення виразу r =110+111+…+125
Виконання програми
/
Мал.1.1 Перший крок
Копіюємо число 11010 за адресою [1101] в адресу [1001] призначену для зберігання суми (110+111+…+125).
ТАКТ:
МК1: memory(0000) -> IR
МК2: PC+1 -> PC
МК3: memory (1101) -> ACC
МК4: ACC -> memory(1001)
/
Мал. 1.2 Крок другий
На цьому кроці збільшуємо початкове число 110 (в циклі дане число буде збільшуватись) на одиницю щоб дістати доданок. Результат зберігаємо в комірці за адресою [1010] next.
ТАКТ:
МК1: memory(0001) -> IR
МК2: PC+1 -> PC
МК3: memory (1101) -> ACC
МК4: ACC + memory(1100) -> ACC
MK5: ACC -> memory(1010)
/
Мал. 1.3. Крок третій
Ця інструкція реалізує додавання двох чисел: 1- результат додавання попередньої дії, 2 – наступний доданок. Результат зберігаємо в 1-шу адресу.
ТАКТ:
МК1: memory(0010) -> IR
МК2: PC+1 -> PC
МК3: memory (1001) -> ACC
МК4: ACC + memory(1010) -> ACC
MK5: ACC -> memory(1001)
/
Мал. 1.4. Крок четвертий
Пересилаємо значення доданка у комірку раніше використовувану для числа 110. Ця дія необхідна для подальшого знаходження доданка.
ТАКТ:
МК1: memory(0011) -> IR
МК2: PC+1 -> PC
МК3: memory (1010) -> ACC
MK4: ACC -> memory(1101)
Мал. 1.5. Крок п’ятий
Інструкція порівняння: Якщо доданок менший від границі( тобто 125 згідно умови), то переходимо до команди за адресою [0001].
ТАКТ:
МК1: memory(0100) -> IR
МК2: PC+1 -> PC
МК3: memory (1011) -> ACC
МК4: ACC > memory(1101) -> memory(0001)
Мал. 1.6. Крок шостий
Аналогічно другому кроку, виконується робота з новими значеннями і так дальше поки доданок не буде рівний 125.
ТАКТ:
МК1: memory(0001) -> IR
МК2: PC+1 -> PC
МК3: memory (1101) -> ACC
МК4: ACC + memory(1100) -> ACC
MK5: ACC -> memory(1010)
/
Мал. 1.8. Результат виконання програми.
Такт команди після виходу з циклу.
Адреса 0101
ТАКТ:
МК1: memory(0101) -> IR
МК2: PC+1 -> PC
МК3: memory (1110) -> Вивід на екран 1-го числа
МК4: memory (1001) -> Вивід на екран 2-го числа
MK5: memory (1001) -> Вивід на екран 3-го числа
ВИСНОВОК
На даній лабораторній роботі я зрозумів і дослідив макроалгоритм та мікроалгоритм виконання кожної машинної інструкції машини Ноймана.