
- •Вказівки до виконання лабораторних робіт 3 і 4
- •1 Лист 6 . Обчислювальна система з буферною пам'яттю даних.
- •1.1. Опис системи.
- •1.2. Робота обчислювальної системи з буферною пам'яттю даних.
- •1.3. Алгоритми обслуговування буферної пам'яті даних.
- •2 Лист 6 . Обчислювальна система з асоціативною пам'яттю.
- •2.1. Опис системи.
- •2.2. Робота обчислювальної системи з асоціативною пам'яттю.
- •3. Формати слів даних
- •4. Опис команди і набір команд.
- •1. Арифметичні команди, призначені безпосередньо для обчислення.
- •2. Команди управління, призначені для організації циклів і галужень.
- •5. Графічне представлення команд
- •6. Асемблер обчислювальної системи
- •6.1 Команди і їх опис
- •6.2 Формальний опис мови програмування:
- •6.3 Приклад програми на асемблері циклів і умовних переходів з прикладу
- •7. Приклад програмування послідовно-паралельних алгоритмів
- •Приклад
- •8. Приклад програмування циклів і умовних переходів
- •Приклад
- •9. Лабораторний практикум
- •9 Лист 6 .1 Завдання на лабораторну роботу №3.
- •9 Лист 6 .2 Завдання на лабораторну роботу №4.
- •Кількість ітерацій
- •Пристрій виводу
3. Формати слів даних
Формат керуючого слова:
Формат слова даних.
Тип слова - для керуючого слова - «1», для слова даних - «0».
Номер операції визначає адреса в пам'яті керуючих слів і пам'яті операндів або в АП для відповідних систем.
Номер операнда використовується в операціях віднімання, ділення і в інших, де має значення порядок обчислення. При цьому слово із значенням поля «0» ділиться, наприклад, на слово із значенням «1». Однооперандні операції (наприклад sqrt) проводяться над аргументом з номером «0», інший не має сенсу. У операціях, де порядок обчислення нічого не міняє (сума, множення) все одно необхідно розділяти аргументи з номером «0» і з номером «1». У командах управління потоком (галуження) порядок операндів так само строго визначений.
Для керуючого слова це поле визначає номер обчислюваного операнда.
КОП визначає код операції.
У полі Операнд слова даних визначають конкретне значення операнда.
Номер наступної операції визначає адресу обчислюваного операнда.
Пристрій введення указує на пристрій, з якого повинне проводитися введення слова.
Порядок введення повинен виключати ситуації введення керуючого слова після слів даних.
Поле К визначає для слова даних чи є воно константою. При створенні команди (якщо керуюче слово і обидва операнди з різними номерами поступили в систему) операнди віддаляються з відповідних блоків, за винятком констант. Для керуючих слів це поле означає приналежність до класу констант обчислюваного командою операнда. Проте необхідно пам'ятати, що команда може мати тільки одну константу їх двох операндів (оскільки лише одна пам'ять операндів в системі з БПД)
4. Опис команди і набір команд.
Результатна для обчислень інформація вводиться з пристроїв 1.1,...,1.k і є послідовністю керуючих слів і слів даних. Розряд ознаки типу інформації для всіх керуючих слів рівний 1. Інформація, яка записується в решту полів керуючого слова визначається заданим графом алгоритму обчислень, який будується незалежно від числа обчислювальних блоків.
Кожній вершині графа, яка відповідає певній операції, привласнюється номер, відмінний від номерів інших вершин. Розряд номера обчислюваного операнда має сенс для операцій, що використовують даний операнд, які не володіють властивістю комутативної (наприклад, ділення, віднімання і ін.). В цьому випадку ділиме і дільник, зменшуване і таке, що віднімається мають різні номери (0 або 1). Для операції, відповідній першій вершине, в розряді номера обчислюваного операнда, відміченого прочерком, можна записати будь-яку цифру, оскільки наступна (четверта) операція множення володіє властивістю комутативної. Крім того, номер операнда має значення при організації галужень і циклів.
У системі використовуються дві групи команд:
1. Арифметичні команди, призначені безпосередньо для обчислення.
Для
визначеності передбачається, що для
обчислення використовуються операції
множення (x), складання (+), віднімання
(-), ділення (/) і витягання кореня(
).
Операнд
1
для операції витягання кореня необхідний
лише для ініціалізації виконання даної
операції. У розряді номера цього операнда
записується “1”, а в операнді, з якого
витягується корінь, — “0”. Слово даних,
в якому записано значення результату,
має нульову ознаку операнда. Для
ініціалізації або початку передачі
результату в пристрій висновку служить
операнд
2,
в полі значення операнда якого записується
номер пристрою висновку, а ознака номера
операнда має значення “1”. Граф для
кожного алгоритму будується незалежно
від інших. Номери вершин ні в одному
графові не повинні повторюватися.
Довжина q поля коду операції визначається кількістю команд і повинна включати не менше ]log2N[ двійкових розрядів. Розрядність повинна забезпечувати можливість запису найбільшого номера операції (Вершини на графі), а розрядність S — або максимального номера, або максимальної по модулю різниці номерів операцій. Розрядність поля значення операнда залежить від форми і точності представлення операндів. Це поле може включати знакові розряди, розряди мантиси і порядку.
Набір арифметичних команд системи:
-
Операція
КОП
Вивод (out)
0
Додавання (+)
1
Віднімання (-)
2
Множення (*)
3
Ділення (/)
4
Зведення в квадрат (sqr)
5
Витягання кореня (sqrt)
6