Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
ЗВІТ
до лабораторної роботи №2
з дисципліни " АРХІТЕКТУРА КОМП’ЮТЕРІВ "
на тему:
“ Дослідження макроалгоритмів та мікроалгоритмів виконання машинних інструкцій”
Львів – 2012
Мета: зрозуміти і дослідити макроалгоритм та мікроалгоритм виконання кожної машинної інструкції машини Ноймана.
Завдання:
Покроковим режимом протестувати виконання кожної машинної інструкції, проаналізувати і пояснити отримані результати, потактовим режимом протестувати поокреме виконання кожної машинної інструкції, проаналізувати і пояснити отримані результати, скласти звіт з виконання лабораторних досліджень та захистити.
Завдання згідно варіанту:
29
r =(10+11+…+19)* (10+11+…+19)
/
Мал.1 Програма для вирішення виразу r =(10+11+…+19)* (10+11+…+19)
Виконання програми
/
Мал.1.1 Перший крок
Копіюємо число 1010 за адресою [1101] в адресу [1001] призначену для зберігання суми (10+11+…+19).
ТАКТ:
МК1: memory(0000) -> IR
МК2: PC+1 -> PC
МК3: memory (1101) -> ACC
МК4: ACC -> memory(1001)
/
Мал. 1.2 Крок другий
На цьому кроці збільшуємо початкове число 10 (в циклі дане число буде збільшуватись) на одиницю щоб дістати доданок. Результат зберігаємо в комірці за адресою [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. Крок четвертий
Пересилаємо значення доданка у комірку раніше використовувану для числа 10. Ця дія необхідна для подальшого знаходження доданка.
ТАКТ:
МК1: memory(0011) -> IR
МК2: PC+1 -> PC
МК3: memory (1010) -> ACC
MK4: ACC -> memory(1101)
/
Мал. 1.5. Крок п’ятий
Інструкція порівняння: Якщо доданок менший від границі( тобто 19 згідно умови), то переходимо до команди за адресою [0001].
ТАКТ:
МК1: memory(0100) -> IR
МК2: PC+1 -> PC
МК3: memory (1011) -> ACC
МК4: ACC > memory(1101) -> memory(0001)
/
Мал. 1.6. Крок шостий
Аналогічно другому кроку, виконується робота з новими значеннями і так дальше поки доданок не буде рівний 19.
ТАКТ:
МК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) -> ACC
МК4: ACC * memory(1001) -> ACC
MK5: ACC -> memory(1111)
Адреса 0110
ТАКТ:
МК1: memory(0110) -> IR
МК2: PC+1 -> PC
МК3: memory (1110) -> Вивід на екран 1-го числа
МК4: memory (1001) -> Вивід на екран 2-го числа
MK5: memory (1111) -> Вивід на екран 3-го числа
ВИСНОВОК
Зрозумів і дослідив макроалгоритм та мікроалгоритм виконання кожної машинної інструкції машини Ноймана.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!