Робота обчислювальної системи з асоціативною пам'яттю

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

*  введення керуючих слів і слів даних з пристрою введення даних 1.1,...,1.k і введення результатів з обчислювальних блоків 10.1,...,10.n в асоціативну пам'ять через РА і РД;

*  формування команд в асоціативній пам'яті і пересилка поточної у вихідний регістр;

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

               

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

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

Формування команди здійснюється таким чином. Керуюче слово записується в блок 6 асоціативній пам'яті у відповідне поле осередку АП за адресою, співпадаючою з номером операції. Слова даних у міру приходу записуються так само в АП за тією ж адресою, але в свої поля. Кожне керуюче слово або даних, має поля ознаки типу інформації (для керівників - «1», для слів даних - «0»). Спочатку асоціативна пам'ять містить у відповідних полях осередків «0» для акторов і «1» для слів даних. Коли в АП записується слово з РД за адресою РА, воно міняє значення ознаки типу інформації для кожного поля команди на протилежне. Команда вважається сформованою, якщо значення полів «ознаки» для всіх три складових команди - актора і двох слів даних - будуть відповідно 1,0 і 0, об'єднання цих умов і дає сигнал в блок 5 управління сигнал готовності команди до обробки. Блок 5 управління перевіряє зайнятість вихідного регістра команд блок 7 і у разі його невиконання аналізує теги осередків АП на готовність команди і записує першу готову команду у вихідний регістр, при цьому скидається тег, що означає те, що команда вибрана на обробку.  

 

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

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

 

 

 

рис.2 Обчислювальна система з асоціативною пам'яттю даних.



Формати слів даних

Формат керуючого слова:

Формат слова даних.

 

· Тип слова - для керуючого слова - «1», для слова даних - «0».

· Номер операції визначає адреса в пам'яті керуючих слів і пам'яті операндів або в АП для відповідних систем.

· Номер операнда використовується в операціях віднімання, ділення і в інших, де має значення порядок обчислення. При цьому слово із значенням поля «0» ділиться, наприклад, на слово із значенням «1». Однооперандні операції (наприклад sqrt) проводяться над аргументом з номером «0», інший не має сенсу. У операціях, де порядок обчислення нічого не міняє (сума, множення) все одно необхідно розділяти аргументи з номером «0» і з номером «1». У командах управління потоком (галуження) порядок операндів так само строго визначений.

     Для керуючого слова це поле визначає номер обчислюваного операнда.

· КОП визначає код операції.

· У полі Операнд слова даних визначають конкретне значення операнда.     

· Номер наступної операції визначає адресу обчислюваного операнда.

· Пристрій введення указує на пристрій, з якого повинне проводитися введення слова.

· Порядок введення повинен виключати ситуації введення керуючого слова після слів даних.

· Поле К визначає для слова даних чи є воно константою. При створенні команди (якщо керуюче слово і обидва операнди з різними номерами поступили в систему) операнди віддаляються з відповідних блоків, за винятком констант. Для керуючих слів це поле означає приналежність до класу констант обчислюваного командою операнда. Проте необхідно пам'ятати, що команда може мати тільки одну константу їх двох операндів (оскільки лише одна пам'ять операндів в системі з БПД)


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



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