
- •1. Симулятор WinDlx
- •1.1 Запуск та конфігурування
- •1.2 Завантаження тестових програм
- •1.3 Симулювання
- •1.3.1 Конвеєрне вікно (Pipeline window)
- •1.3.2 Кодове вікно (Code window)
- •1.3.3 Циклове вікно (Clock Cycle window)
- •1.3.4 Вікно точок зупинки ( Breakpoint window)
- •1.3.5 Регістрове вікно (Register window )
- •1.3.6 Вікно статистики (Statistics window)
- •Додаток. Таблиця інструкцій процесора
ВСТУП
Основний варіант DLX процесора (вимовляють як "делюкс") є конвеєрним. Симулятор цього процесора з назвою WinDLX створено студентами Віденського університету. Симулятор доцільно використовувати як наочний посібник до підручника американських викладачів-науковців, засновників RISC-архітектури, а саме:
J. Hennessy and D. Patterson. Computer Architecture. A quantitative approach.
- MKPublishing, CA, 1996.
Надана далі інформація з використання симулятора є нескладною. Але з її допомогою можна виконати перші кроки, тобто коротенькі програми DLX та опанувати методологію користування симулятором. Зауважимо, що симулятор надає контекстно-залежну допомогу у скрутних випадках, яка активується натисканням клавіші F1.
Увага! Спроможність симулятора оперувати з вкладеними каталогами є обмеженою, тому він, наприклад, відмовляється функціонувати на третьому і більших рівнях вкладеності. Отже, розміщуйте симулятор і програми ближче до кореня дерева директорій!
1. Симулятор WinDlx
Реальний процесор фірми MIPS, що з певним наближенням симулюється програмою WinDLX, містить процесор фіксованої коми (центральний процесорний вузол, CPU) разом із певними сопроцесорами, що виконують допоміжні або службові функції, наприклад, обробку в форматі рухомої коми, або ж керування пам'яттю і вводом-виводом (див. Рис.1). Наш симулятор симулює центральний процесорний вузол і лише один сопроцесор, а саме, сопроцесор 1, що є вузлом обробки форматів рухомої коми. Сопроцесор 0 обслуговує виключні ситуації, що виникають під час виконання програми (наприклад, ділення на нуль, переповнення тощо), переривання, що дозволяють апаратним засобам реагувати на асинхронні події і на події в системі віртуальної пам'яті.
Рис. 1 - Процесор MIPS R2000, CPU і FPU
На Рис.1:
Cause - причина (джерело) переривання (виключення),
EPC - допоміжний лічильник інструкцій, що зберігає адресу перерваної програми,
BadVAddr - некоректне значення адреси комірки пам'яті, Status - стан,
trap - пастка (для запуску тих системних програм, що опрацьовують ситуації виключення і переривання),
Lo - молодша частина, Hi - старша частина (результату множення/ ділення).
В подальшому для ознайомлення з функціонуванням симулятора використовується асемблерна програма, яку містить файл FACT.S. Програма обраховує факторіал цілого числа, яке треба уводити з клавіатури після запуску симулятора. Для вводу числа разом із цією асемблерною програмою використовують допоміжну асемблерну програма вводу. Її містить файл INPUT.S. Зауважимо, що розширення s в назві файлів відповідає асемблерним програмам.
1.1 Запуск та конфігурування
WinDLX стартує як звичайна Windows-програма (мінімально - ОС Win95). При цьому відчиняється головне вікно з шістьма іконками, що є зменшеними дочірніми вікнами. Подвійним щиголем миші на будь-якій іконці перетворюємо її на звичайне вікно.
Симулятор має приводитися до першостану (скидатися) натисканням клавіши миші, коли її курсор вказуе на опцію Reset all у пункті File меню головного вікна.
При цьому з'являється модальне вікно "Reset DLX" window", підтвердження пункту OK, аби зачинитися.
WinDLX спроможний функціонувати в декількох конфігураціях. Проте від початку роботи з симулятором важливо переконатися у його стандартному конфігуруванні, а коли треба, тоді поновити таке конфігурування. Для цього викликають пункт меню Configuration / Floating Point Stages і переконуються про встановлення наступних значень кодів конфігурування "апаратних" засобів (коли потрібно, тоді виправляють значення кодів на надані нижче значення).
|
Count |
Delay: |
Addition Units |
1 |
2 |
Multiplication |
1 |
5 |
Units |
|
|
Division Units |
1 |
19 |
На завершення натисканням мишею на OK зачиняють відчинене модальне вікно. Наступним кроком за допомогою пункту меню головного вікна Configuration / Memory Size, визначають місткість пам'яті як 0х8000 та вже відомим способом виходять з цього модального вікна.
Можна користуватися трьома іншими опціями меню Configuration , а саме - Symbolic addresses, Absolute Cycle Count та Enable Forwarding .