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

Опис системи.

Обчислювальна система містить пристрої 1.1,...,1.k введення даних, інформаційні входи яких через відповідні входи комутатора 2 підключено до блоку 3 буферну пам'ять даних, кожен пристрій 1.1,...,1.k введення сполучений з блоком 4 управління входом і виходом, а комутатор 2 — керуючими входами. (рис. 1)

 

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

 

           Керуючі входи блоку 3 буферної пам'яті даних, які забезпечують занесення інформації і просування черги, підключено до входів блоку 4 управління, відповідні входи яких сполучені з виходами сигналу блока 3 буферної пам'яті даних, що характеризує ступінь його заповнення (“буфер зайнятий”, ”буфер порожній”). З інформаційним входом регістра 5 даних і регістра 6 адреси підключені відповідно перша і друга групи інформаційних виходів блоку 3 буферної пам'яті даних. Керуючі входи занесення інформації регістра 6 адреси і регістра 5 даних сполучено з виходами блоку 4 управління, а вихід одного розряду регістра 5 даних (ознака типу інформації) підключений до відповідного входу блоку 4 управління. Інформаційні виходи регістра 6 адреси пов'язані з адресними входами блока 7 пам'яті операндів, і блоку 8 пам'яті керуючих слів. Інформаційні виходи регістра 5 даних до входів даних блоку 7 пам'яті операндів, блоку 8 пам'яті керуючих слів і першій групі інформаційних входів 9 буферній пам'яті команд. Друга і третя групи інформаційних входів 9 буферній пам'яті команд сполучені відповідно з виходами даних блоку 7 пам'яті операндів і блоку 8 пам'яті керуючих слів. Входи управління записом і читанням блока 7 пам'яті операндів і блока 8 пам'яті керуючих слів підключені відповідні виходи блоку 4 управління. Один вихід блоку 4 управління підключений до входу одного розряду даних блока 7 пам'яті операндів, вихід однойменного розряду даних якого сполучений з одним входам блоку 4 управління. До відповідних входів блоку 4 управління підведено виходи сигналів блоку буферної пам'яті команд 9, вказуючих на ступінь його заповнення, а також виходи групи розрядів, що характеризують тип команди і номер пристрою висновку. Керуючі входи запису і просування по черзі (читання) блоку 9 буферній пам'яті команд пов'язано з відповідними входами блоку 4 управління. Інформаційні виходи блоку 9 буферній пам'яті команд підключені до інформаційних входів обчислювальних блоків 10.1..., 10.n і інформаційним входам пристроїв виведення даних 11.1,...,11.m, керуючі входи і керуючі виходи яких підключені до відповідних входів і виходів блоку 4 управління. Інформаційні виходи кожного обчислювального блоку 10.1..., 10.n сполучені відповідні групи інформаційних входів комутатора 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 виводу з таким номером.


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



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