Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_lab_OFK.doc
Скачиваний:
41
Добавлен:
12.02.2016
Размер:
1.13 Mб
Скачать

2.2. Пульт управління навчального комп’ютера

З правого боку панелі навчального комп’ютера розміщений пульт управління, що призначений для безпосереднього керування роботою навчального комп’ютера людиною. За допомогою пульта управління можна “вручну” занести інформацію (дані або інструкції) до регістрів процесора або пам’яті, а також виконувати операції запису та читання з пам’яті. Крім того, за допомогою пульта управління програміст “запускає” комп’ютер для виконання програми, яка знаходиться у пам’яті.

Головною частиною пульта управління є набірне поле з 16 перемикачів, які можуть знаходитись у 2-х станах: “натиснуто” і “не натиснуто” (відповідно “1” та “0”) Усі перемикачі пронумеровані від 0 до 15 справа наліво і відповідають розрядам 16-розрядного двійкового числа від наймолодшого розряду (0) до найстаршого (15). Для того, щоб встановити усі розряди набірного поля в 0, використовується спеціальна кнопка “Скидування набірного поля”.

Вище набірного поля знаходиться поле „Занесення з набірного поля” з 5-а кнопками, що дозволяють занести значення набірного поля у один з внутрішніх регістрів процесора:

РА – Регістр Адреси пам’яті,

РД – Регістр Даних пам’яті,

А – Aкумулятор,

РІ – Регістр Інструкцій,

ЛАІ – Лічильник Адреси Інструкції.

Оскільки регістри РА та ЛАІ пов’язані із адресами комірок пам’яті і є 12-розрядними, тому при занесенні значення набірного поля до них потрапляють тільки 12 молодших розрядів (від 0-го до 11-го).

Для роботи із комірками пам’яті використовується поле “Операція з пам’яттю” у верхній частині пульта управління. Як вже зазначалось вище, перш ніж виконувати операції запису або читання (кнопки “Запис” таЧитання”),необхідно у Регістр Адреси занести адресу потрібної комірки, а у випадку операції запису – також до Регістра Даних занести число, яке буде записуватись. Якщо операція доступу до пам’яті буде виконуватись із групою комірок, які розташовані підряд, то у цьому випадку зручно використовувати кнопку “+1”, яка автоматично збільшує значення Регістра Адреси на 1. Наприклад, це зручно, коли необхідно занести у пам’ятьпрограму,або коли необхідно “онулити” (очистити) ряд комірок (занести число 0).

Тепер перейдемо до поля внизу пульта управління, де розміщені кнопки вибору одного з 3-х режимів роботи: кнопки початку "ПУСК" і зупинки роботи "СТОП" та кнопка включення живлення навчального комп’ютера. Використання кнопки „Живлення” пояснення не вимагає. Використання інших кнопок розглянемо детальніше.

Кнопка “Пуск” “примушує” процесор почати виконувати інструкції, які знаходяться у пам’яті, починаючи з комірки, на яку вказує Лічильник Адреси інструкцій. При цьому в залежності від обраного режиму роботи процесор буде виконувати програму таким чином:

  1. у автоматичному режимі будуть виконуватись підряд усі інструкції до тих пір, доки не зустрінеться інструкція зупинки HLT (від англ. to halt – зупинятись), натиснута кнопка “Стоп” або не буде досягнуто кінця пам’яті.

Автоматичний – це стандартний режим роботи комп’ютера, коли уся програма, що розміщена у пам’яті, виконується від початку до кінця відзразу, без участі людини, яка бачить лише готові результати роботи програми. Зрозуміло, що у випадку помилки програміста, процесор може виконувати непередбачувані дії (наприклад, „тлумачити” дані як інструкції) або потрапляти у нескінчені цикли. Вони виникають тоді, коли один і той самий фрагмент програми повторюється знову і знову без оновлення даних. У таких випадках говорять про “зависання” або “зациклення” програми. У сучасних комп’ютерах така ситуація вимагає лише закриття такої програми, тоді як у перших комп’ютерах помилка призводила до “зависання” усього комп’ютера, що вимагало його перезавантаження. Для уникнення такої ситуації і для створення можливості відлагодження програми використовується поле Зупинка за адресою”, що розміщене під полем роботи з пам’яттю. За допомогою 12-розрядної Адреси зупинки можна встановити адресу інструкції, на якій процесор буде зупиняти виконання програми. Для того, щоб точка зупинки почала працювати, її необхідно “Ввімкнути...”. Отже, автоматичний режим використовується для остаточного виконання програми.

  1. у покроковому режимі виконується лише одна інструкція, на яку вказує Лічильник Адреси Інструкцій, після чого Лічильник Адреси Інструкції вкаже на наступну інструкцію і процесор зупиниться, чекаючи наступного натискання кнопки “Пуск”. Покроковий режим використовується для відлагодження алгоритму виконання програми і для дослідження сценарію виконання програми у процесорі навчального комп’ютера DeComp;

  2. у потактовому режимі виконується лише один мікрокрок, з послідовності яких насправді складається виконання одніє інструкції. Потактовий режим роботи використовується для дослідження процесу виконання окремих інструкцій навчального комп’ютера.

    1. Закладка “Документація до “Навчальної ЕОМ”

Відкриємо закладку “Документація до “Навчальної ЕОМ”, щоб ознайомитись з набором інструкцій процесора (рис.2.3). Для цього необхідно, у свою чергу, активізувати закладку “Набір інструкцій ЕОМ” внизу вікна симулятора.

Рис.2.3. Набір інструкцій процесора навчальної ЕОМ

Перш ніж ми почнемо більш детально розглядати інструкції навчального комп’ютера-симулятора DeComp, нагадаємо принципи його роботи, що безпосередньо витікають з парадигм фон Неймана:

      1. Усі операції та обчислення здійснює процесор;

      2. Яку саме операцію буде виконувати процесор, визначає інструкція, що розташована у Регістрі Інструкцій;

      3. Послідовність дій процесора визначають інструкції, які розташовані у пам’яті;

      4. Процесору достатньо знати лише адресу першої інструкції, решту він сам знайде за допомогою Лічильника Адреси Інструкцій;

      5. Усі адреси інструкцій повинні розташовуватись строго одна після одної, крім інструкцій переходів, у яких адресу визначає програміст згідно алгоритму виконання програми. Саме це дозволяє процесору знаходити решту інструкцій автоматично.

      6. У пам’яті окрім інструкцій за визначеними адресами повинні знаходитись дані (числа, інакше - операнди), які й будуть оброблятись процесором.

      7. Адреси даних, які повинні оброблятись інструкціями, вказує поле адреси у інструкції;

Для виконання конкретної задачі у пам’ять записується відповідна програма, яка складається із множини інструкцій. Інструкції по черзі пересилаються з пам’яті у процесор, який їх виконує. У відповідності до розглянутих принципів процесор працює таким чином:

  • за вказаною адресою зчитує першу інструкцію;

  • виконує дії, вказані у цій інструкції;

  • збільшує вказану адресу на 1 і переходить до виконання наступної інструкції.

Як видно на рис. 2.3, таблиця “Набір інструкцій” складається з таких полів: Кодування, Мнемоніка, Виконання і Ознаки. Процесор навчальної ЕОМ містить 26 інструкцій.

Поле „Кодування” подане у вигляді 4-х чотирирозрядних груп (тетрад). Будь-яка інструкція описується її двійковим кодом, у якому старші розряди означають, власне, двійковий код інструкції. Буква “a” означає двійковий розряд 12-розрядної адреси комірки пам’яті, яку буде використовувати дана інструкція, а “x” – довільне двійкове значення.

Поле „Мнемоніка” містить символьне позначення, яке у більшості випадків є скороченням або абревіатурою англійських слів, що описують операцію даної команди.

Поле „Виконання” містить скорочений опис операції, яка буде виконуватись.

Поле „Ознаки” містить інформацію про вплив результатів виконання останньої інструкції на регістр ознак (“–” – не впливає, “*” – впливає згідно з результатом операції, “0” – встановлює в 0).

Усі інструкції можна розділити на адресні та безадресні. У адресних командах найстарші 4 розряди коду інструкції (старша тетрада) містять код, який визначає операцію (рис. 2.4), яку буде виконувати дана інструкція (наприклад, команда читання з пам’яті LOAD – 0000, команда додавання ADD – 0010) .

Код операції (КОп)

Поле адреси операнда або наступної інструкції

15 12 11 0

Рис.2.4.. Формат “адресних” інструкцій симулятора DeComp

Відповідно, у 12 молодших розрядах коду інструкції розташована адреса комірки пам’яті. За цією адресою комірки пам’яті може бути або один з операндів цієї операці (якщо це, наприклад, команда ADD), або наступна інструкція, що буде згодом виконуватись (наприклад, команда JMP).

У випадку безадресних команд (рис. 2.5) код інструкції може займати 6 або 7 старших розрядів, а решта молодших розрядів не використовується. Оскільки 25 = 32, то це означає, що 5 старших розрядів могло б вистачити для кодування усіх 26-ти інструкцій, але з метою об’єднання подібних інструкцій у групи з подібними кодами розробники симулятора використали більшу кількість розрядів для кодування безадресних інструкцій (фактично старших 4 розряди визначають код групи інструкцій).

Код операції (КОп.)

Поле з довільними двійковими кодами

15 9 8 0

Рис.2.5.. Формат “безадресних” інструкцій симулятора DeComp

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]