logo
AOM / Мельник А

9.2.5. Динамічна та статична організація збереження даних в регістрових файлах

В розглянутих структурах регістрових файлів дані зберігаються в конкретних ре­гістрах. Доступ до цих регістрів відбувається шляхом задання їх адреси. Така статична організація збереження даних часто є неефективною для виконання деяких класів алго­ритмів. Наприклад, задачі роботи із зображеннями, звуком, стиском даних в реальному масштабі часу вимагають від регістрового файлу одночасного прийому вхідних масивів даних з декількох вхідних каналів, 'їх затримки на потрібну кількість тактів та видачі декількома вихідними каналами раніше прийнятих масивів даних з впорядкуванням за заданим законом. Для вирішення таких задач доцільно використовувати динамічне збе­реження даних в регістрових файлах. Основою апаратних рішень динамічних регістро­вих файлів є черги. Динамічний принцип збереження даних для складних задач обробки інформації в реальному масштабі часу на основі черг має наступні переваги:

■ доступ до черги є простіший, ніж доступ до статичного регістрового файлу, оскільки відсутні адреси;

■ збільшення кількості регістрів у черзі не призводить до вагомого зростання складності регістрового файлу та не сповільнює його роботу;

Слід зауважити наступну статистику: 40 % результатів виконання арифметичних операцій використовуються на наступному такті виконання програми, а ще 45 % - через такт. Такі дані ще раз переконують в ефективності реалізації регістрових файлів на осно­ві черг.

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

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

321

Тут модуль черги (МЧ) побудовано на основі двопортової адресної пам'яті. Один порт дозволяє читати дані з пам'яті, а інший - записувати дані в пам'ять. Зчитування даних виконується аналогічно до пам'яті FIFO, тобто через кожний тактовий імпульс читається комірка за адресою, більшою на одиницю від попередньої. Збільшення адреси забезпечується лічильником. Алгоритм просування даних в модулі представляє собою генерування сигналу зчитування для потрібної комірки пам'яті даного модуля. Таким чином кожна комірка є пронумерована і зберігає свій номер. Лічильник пам'яті генерує послідовні значення, що визначають номер комірки, яка повинна видавати дані назовні. Отже, як бачимо, система зчитування дуже проста - дані зчитуються тоді, коли прихо­дить їх черга. А впорядкування здійснюється на етапі запису: до комірки якого номера запишуться дані, на такті з тим номером вони і видадуться назовні. Адреса запису фор­мується за допомогою лічильника та суматора шляхом додавання значення затримки (адреса А) та значення лічильника. Двхі - і-й вхідний порт даних, Двихі - і-й вихідний порт даних (і=1,2,...,к).