Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб3и4_Арх.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
297.98 Кб
Скачать

1.2. Робота обчислювальної системи з буферною пам'яттю даних.

У початковому стані блоки 3 буферної пам'яті даних і 9 буферної пам'яті команд порожні (у них виробляються сигнали “Буфер порожній”).

При функціонуванні системи можна виділити три незалежні процеси :

  • введення керуючих слів і слів даних з пристрою введення даних 1.1,...,1.k і введення результатів з обчислювальних блоків 10.1,...,10.n в блок 3 буферної пам'яті даних;

  • формування команд і засилання їх в блок 9 буферній пам'яті команд;

  • розподіл команд між обчислювальними блоками 10.1,...,10.n для їх подальшої обробки і пристроями виведення даних 11.1,...,11.m.

Блок 4 управління аналізує сигнал “Буфер даних заповнений”, що формується в блоці 3 буферної пам'ять даних, якщо воно заповнене повністю і запис в нього неможливий. За відсутності цього сигналу, в блоці 3 буферної пам'яті даних можна записати інформацію. Якщо алгоритм опиту буферної пам'яті даних - «з вільним осередком» перевіряється також сигнал «Один вільний осередок», і у разі істинності вказаного сигналу видається заборона на введення даних з пристроїв введення. Блок 4 управління перевіряє вихідні сигнали “Готовність видачі даних” від всіх пристроїв введення даних 1.1...,1.k (за відсутності сигналу заборони введення з блоків 1.1...,1.k) і обчислювальних блоків 10.1,...,10.n циклічно, починаючи від пристрою 1.1 введення даних і закінчуючи обчислювальним блоком 10.n. Готове до видачі даних пристрою 1.1...,1.k введення даних і обчислювальні блоки 10.1,...,10.n виставляють вказаний сигнал “Готовність видачі даних”. При виявленні готового до видачі даних пристрою введення даних 1.i (обчислювального блоку 10.i) по сигналу блоку 4 управління інформація з цього пристрою через комутатор 2 записується в блок 3 буферної пам'яті даних. У функції комутатора входить також аналіз поля слова «Порядок ВВ», зі всіх слів в обчислювальних блоках і пристроях введення, готових до видачі інформації, вибирається слово з мінімальним значенням поля «Порядок ВВ». У пристрій, з якого прийнята інформація, передається сигнал “Інформація прийнята”. Далі вищевикладений процес повторюється, тобто аналізується можливість запису в блок 3 буферної пам'яті даних нової інформації (сигнал “Буфер даних зайнятий”). Процес для алгоритму «з вільним осередком» аналогічний, тільки перевіряється сигнал «Один вільний осередок» і у разі його виконання пристрою введення в процесі не беруть участь до моменту зняття цього сигналу.

Якщо блок 3 буферної пам'яті даних не готовий до запису інформації (воно заповнене повністю), то здійснюється очікування моменту, коли запис в блок 3 буферної пам'яті даних буде можливий (коли знімається сигнал “буфер даних заповнений”). В процесі введення початкової інформації з пристрою 1.1,...,1.k введення керуюче слово повинне вводитися раніше, ніж слова даних для відповідної операції.

Формування команди здійснюється таким чином. Керуюче слово записується в блок 8 пам'яті керуючих слів за адресою, співпадаючою з номером операції. Перше із слів даних, що поступають, для цієї операції запам'ятовується по цьому ж даних в блоці 7 пам'яті операнда. Потім керуюче слово і один з операндів чекають надходження з блоку 3 буферної пам'яті даних бракуючого операнда. Під час вступу відповідного слова даних компонується команда, що містить керуюче слово і обидва операнди, яка записується в блок 9 буферній пам'яті команд (у чергу для виконання).

Блок 4 управління перевіряє наявність в блоці 3 буферної пам'яті даних слів, тобто аналізує сигнал “буфер порожній”. За наявності такого сигналу відбувається очікування моменту, коли в блоці 3 буферної пам'яті даних з'явиться хоч би одне слово. Якщо блок 3 буферної пам'яті даних не порожній, то слово з його виходів записується в регістр 5 даних і регістр 6 адреси, причому в регістрі 6 адреси записується поле номера операції. Решта частини керуючого слова або слова даних заноситься в регістр 5 даних. Блок 4 управління перевіряє в регістрі 5 даних ознака типу інформації, який має одиничне значення для керуючого слова і нульове для слова даних.

Керуюче слово записується в блок 8 пам'яті керуючих слів. Одночасно з цим в блок 7 пам'яті операндів записується 1 в розряд ознаки наявності операнда (1 в цьому розряді означає, що для даного керуючого слова в блоці 7 пам'яті операндів немає жодного операнда).

В процесі запису адресою для блоку 7 пам'яті операндів і блоку 8 пам'яті керуючих слів є вміст регістра 6 адреси, де записаний номер операції.

У блок 8 пам'яті керуючих слів дані записуються з регістра 5 даних, а в блок 7 пам'яті операндів одиничне значення на вхід розряду ознаки наявності операнда подається з блоку 4 управління. У разі, коли в регістрі 5 даних ознака типу інформації рівна нулю (слово є даним), здійснюється перевірка ознаки наявності операнда в блоці 7 пам'яті операндів. Для цього здійснюється блоків 7 пам'яті операндів і 8 керуючих слів і перевірка на виході блоку 7 пам'яті операндів вказаної ознаки. Якщо ознака наявності операнда рівна “1”, тобто в блоці 7 пам'яті операндів немає операнда для даного керуючого слова, то слово даних записується в блок 7 пам'яті операндів. Одночасно з цим в ознаку наявності операнда записується “0” (наявність нуля указує, що один операнд для даної операції є в блоці 7 пам'яті операндів). Коли один з операндів вже є в блоці 7 пам'яті операндів (ознака наявності операнда має нульове значення), то готова до виконання команда (керуюче слово з блоку 8 пам'яті керуючих слів один операнд з блоку 7 пам'яті операндів і інший операнд з регістра 5) записується в блок 9 буферній пам'яті команд. Ознака наявності операнда після цього встановлюється в “1”, оскільки з блоку 7 пам'яті операндів операнд лічений. Якщо блок 9 буферній пам'яті команд заповнений, то запис команди в нього затримується, поки сигнал “Буфер заповнений” не знімається (поки чергова команда з блоку 9 буферній пам'яті команд не буде перероблена в обчислювальний блок 10.i або пристрій 11.i виведення даних).

Вказаний процес формування команди повторюється циклічно.

Якщо в блоці 9 буферній пам'яті команд є хоч би одна команда (немає сигналу “Буфер порожній”), то блок 4 управління аналізує поле типу команди на виходах блоку 9 буферній пам'яті команд і забезпечує передачу команди в пристрій 11.i виведення даних або в один з обчислювальних блоків 10.i. Готовий до прийому команди обчислювальний блок 10.i видає блоку 4 управління сигнал “Готовність прийому команди”. Блок 4 управління по черзі аналізує готовність кожного обчислювального блоку 10.i, здатного виконати дану команду. Якщо черговий при перегляді обчислювальний блок 10.i готовий прийняти команду, то блок 4 управління видає йому керуючий сигнал “Прийняти команду”. Після введення команди обчислювальний блок 10.i знімає сигнал “Готовність прийому даних”. В цьому випадку блок 4 управління просуває черга в блоці 9 буферній пам'яті команд.

В процесі обробки команди кожен обчислювальний блок 10.i обмінюється з блоком 4 управління двома вхідними і двома вихідними керуючими сигналами. Одна пара сигналів (вхідною і вихідною) використовується для введення команди, а інша — для видачі результату після виконання команди. Операнди, які використовуються для ініціалізації виконання операції і не мають смислового значення в обчислювальних блоках 10.1,...,10.n не обробляються. Команда висновку, як наголошувалася вище, містить два операнди. У одному слові даних в полі значення операнда знаходиться інформація, що виводиться, а в іншому — номер пристрою виведення даних (11.1,...,11.m). Ці слова відрізняються значеннями номерів операндів (у одному встановлюється “0”, в іншому “1”). Якщо на виходах блоку 9 буферній пам'яті команд присутні команди висновку, то блок 4 управління аналізує номер пристрою виведення даних і передає команду в пристрій 11.i виводу з таким номером.

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