Елементарні машинні операції

Кожна ЕОМ розробляється для розв’язання в основному задач деякого класу.

У зв’язку з цим потрібно, щоб ЕОМ забезпечувала можливість виконання у необхідних сполученнях деякого набору операцій, прийнятих за елементарні.

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

1) реалізована апаратно;

2) має вихідні дані, що є результатами елементарних машинних операцій і фіксовані в одній або декількох комірках;

3) дає результат, фіксований в одній окремій комірці і доступний, але не

обов’язковий для використання в якості вихідного даного для деяої елементарної операції машини;

4) не може розглядатися як комплекс більш простих машинних операцій, які

 

 


задовольняють трьом попереднім умовам.

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

команди і поняття операції. Команда являє собою елементарний наказ, що передбачає виконання деякої групи операцій.

Формати команд та кодування операцій ЕОМ

Код команди, що описується ЕОМ має структуру виду q a 1 a 2… an, тобто складається з коду операції q (операційне поле) і адрес операндів a 1… an (адресне поле). Кількість таких адрес називається адресністю команди. Звичайно викори- стовуються команди з адресністю 1, 2 або 3. В одноадресній команді перша (і єдина) адреса вказує на операнд – джерело. У двох- і трьохадресних командах перша адреса вказує на операнд – приймач результату виконання команди.

Розрядність коду операції визначається об’ємом системи операцій ЕОМ. Наприклад, якщо ЕОМ підтримує 100 операцій, розрядність q визначається як:

n q= ] log2 q [ = ] log2 100 [ = 7 біт. Тут розгорнуті дужки означають примусове округлення вгору.

Розрядність адрес операндів a 1… an визначається максимально можливою адресою операнда в оперативній пам’яті:

 

 

na = ] log2 a [.

 

 

Під форматом команди розуміють структуру полів кода команди з вказівкою їх границь. Наприклад, якщо ЕОМ підтримує 30 операцій, а оперативна пам’ять складається з 500 комірок, трьохадресна команда матиме наступний формат:

 

  Код операції   Операнд-приймач   Операнд-джерело 1   Операнд-джерело 2

 


31 27 26


18 17 9 8 0


Рисунок 1 – Формат команди

 

 

МЕТОДИЧНІ ВКАЗІВКИ

 

 

В даній роботі пропонується розробити програму розрахунку заданого ариф-

метичного виразу для ЕОМ з нейманівською архітектурою.

Для виконання роботи необхідні грунтовні знання систем числення, основ двійкової арифметики, форматів команд і кодування операцій ЕОМ.

Роботу слід виконувати в наступній послідовності:

1. Розробити схему алгоритма розв’язку задачі.

2. Написати програму в змістовній формі.

3. Визначити систему операцій ЕОМ.

4. Виконати кодування операцій ЕОМ.

5. Адресну інформацію представити в 16-й системі числення.

 

 


6. Виконати розподіл пам’яті ЕОМ.

7. Написати програму в машинних кодах.

При написанні програми у змістовні формі слід користуватися мнемонічними позначеннями команд, приведеними в наступній таблиці.

 

 

Таблиця 1 – Мнемонічні коди команд

 

Номер п/п Мнемонічний код Пояснення
  LOAD Завантаження даних з ОП в регістр
  SEND Запис даних з регістра в комірку ОП
  ADD Складання
  SUB Віднімання
  MUL Множення
  DIV Ділення
  JMP Безумовний перехід
  NOP Пуста операція
  STOP Зупин

 

Регістри процесора (у двох- і трьохадресних командах) адресуються як комірки оперативної пам’яті з молодшими адресами. При написанні програми слід використовувати мінімально можливу кількість регістрів.

Усі дані зберігаються в оперативній пам’яті в додаткових кодах.

 

 

ЛІТЕРАТУРА

 

 

1. Вступ до комп’ютерної інженерії: Методичні вказівки та завдання до контрольної роботи / Уклад.: В. М. Єфимець, І. А. Жуков, Т. Г. Кудзиновська та ін. – К.: НАУ, 2001. – 16 с.

2. Программирование и алгоритмические языки. Н. А. Криницкий, Г. А. Ми-

ронов, Г. Д. Фролов, под ред. А. А. Дородницына. – М.: “Наука”, 1975. – 496 с.

 

 

ЗАВДАННЯ

 

 

Таблиця 2 – Варіанти завдань

 

ВАР n АК АПР y a b c d Вираз
                  y = (a + b) / (c – d) + a
                  y = a + b / c – d ´ a
                  y = a ´b – (c – d) / b
                  y = (a + b ´ c) / (d – a)
                  y = (a ´ b + c ´ d) / b – c
                  y = (c – b / a) ´d + a
                  y = (a + c) / d – b / c
                  y = (a – b) / c + (a + b) / d
                  y = (c – a) ´b + (b – a) ´d
                  y = d ´ b – (b – a ´ c) / d
                  y = b ´ c / (d + a) – a

 

 


   
    r = r / y
   
    y = r
   

 

Продовження таблиці 2

 

                  y = (d ´ a + b ´ c) / (c – d)
                  y = b – c ´a / (b + d)
                  y = a ´ b + (c – d ´ b) / a
                  y = (a + b ´ c) / (c + a / d)

 

В таблиці 2 прийняті наступні позначення: ВАР – варіантний номер; n – розрядність команди; АК – адресність команди; АПР – адреса початку програми; y, a, b, c, d – адреси відповідних комірок пам’яті (змінних).

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: