ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6818
Скачиваний: 22
317
локальний регістровий файл. Відповідно, такі регістрові файли містять меншу кількість портів та регістрів, що зменшує затрати обладнання на їх реалізацію. Як ми вже бачили, існує три типи розподілених регістрових файлів: кластерні, з керованою комутацією та з віконною організацією. Розглянемо принципи їх побудови.
9.2.3. 1. Кластерний розподілений регістровий файл
Локальні регістрові файли можуть бути повністю незалежними, тобто дані для певної групи функціональних елементів процесора доступні тільки з конкретного локального регістрового файла. Такий розподілений регістровий файл, який складається з незалежних локальних регістрових файлів, відповідно до наведеної вище класифікації, називають кластерним.
Кластерні регістрові файли здебільшого використовуються у векторних процесорах. В таких процесорах одна операція над всіма п компонентами векторних операндів задається однією командою. Кожен з таких векторних операндів міститься в локальному регістровому файлі біля відповідного функціонального елемента процесора, і відпадає необхідність у повноцінних зв'язках між локальними регістровими файлами.
На рис. 9.11 показана кластерна організація регістрового файла процесора TMS320 С64х фірми Texas Instruments. В цьому процесорі функціональні елементи поділені на підмножину A(L1, S1, Ml, D1) та підмножину В (L2, S2, М2, D2). Функціональні елементи процесора L (LI, L2) виконують арифметичні операції та операції порівняння. Функціональні елементи процесора S (SI, S2) виконують арифметично-логічні операції та команди керування. Функціональні елементи процесора М (Ml, M2) виконують множення 16-ти розрядних операндів, а функціональні елементи процесора D (Dl, D2) виконують арифметичні операції, та виконують роль генераторів адрес.
Кожна підмножина має свій локальний регістровий файл. Для пересилання даних з регістрового файла однієї підмножини до функціональних елементів іншої підмножи-ни використовуються додаткові мультиплексори МП. Фактично, можливість повноцінної пересилки обмежена, оскільки для цього в кожному з локальних регістрових файлів виділяється тільки один порт. Саме з цієї причини організацію регістрового файла TMS320C64x можна назвати кластерною. Зрозуміло, що описана організація регістрового файла для приведеного типу процесорів дозволяє зменшити затрати обладнання та прискорити час доступу до регістрів у порівнянні з інтегрованим регістровим файлом того ж об'єму.
318
9.2.3.2. Розподілений регістровий файл з керованою комутацією
Якщо будь-якій групі функціональних елементів процесора доступні дані з будь-якого локального регістрового файла, то це буде інший варіант організації розподіленого регістрового файла. Його називають розподіленим регістровим файлом з керованою комутацією.
Розподілений регістровий файл з керованою комутацією, структура якого приведена на рис. 9.12, складається з локальних регістрових файлів (ЛРФ), що зв'язані з функціональними елементами (ФЕ) процесора через комутуючу мережу, керування якою виконує контролер комутуючої мережі (ККМ).
Тут для кожного входу функціонального елемента ФЕ процесора виділяється окремий локальний регістровий файл ЛРФ з одним портом для зчитування та одним портом для запису даних. Тому кількість локальних регістрових файлів є в два рази більшою кількості функціональних елементів процесора. Об'єм (кількість регістрів) кожного локального регістрового файла є сталим, і не залежить від кількості функціональних елементів.
Порівняно з багатопортовим інтегрованим регістровим файлом тут додатково введена комутуюча мережа та її контролер, що потребує додаткових затрат обладнання.
Час доступу до регістрів розподіленого регістрового файла з керованою комутацією складається з затримки в комутуючій мережі, яка не є значною із-за невеликої кількості входів, та із часу доступу до локального регістрового файла, який не залежить від кількості функціональних елементів процесора і є сталою величиною для заданої кількості регістрів. В сумі ця величина є меншою часу доступу до регістра багатопортового інтегрованого регістрового файла з тією ж сумарною кількістю регістрів.
9.2.3.3. Розподілений регістровий файл з віконною організацією
В розглянутих структурах розподілених регістрових файлів доступ до регістрів для обчислювальних модулів розмежовувався в просторі. Існує інша організація розподілених регістрових файлів, яка передбачає розподілений доступ до регістрів в часі. Така організація отримала назву регістрових вікон. В основному вона використовується для зменшення довжини команди та споживаної потужності процесора, а також дає можливість нарощувати кількість регістрів без зміни формату команди. За затратами обладнання та часом доступу розподілений регістровий файл із віконною організацією близький до розподіленого регістрового файла з керованою комутацією. На рис. 9.13 показано структуру розподіленого регістрового файла з віконною організацією. Тут регістровий
319
файл поділений на N вікон, кожному з яких відповідає один з регістрових файлів РФО - РФ N-1. Для зміни активного вікна використовується сигнал вибору файла з блоку керування.
Потрібно зазначити, що організація регістрового файла у вигляді регістрових вікон є неефективною для систем із високим рівнем паралелізму, оскільки вона дозволяє збільшити кількість регістрів, але не дозволяє організувати паралельний доступ до будь-якого регістру в один момент часу.
9.2.4. Ієрархічний регістровий файл
В універсальних комп'ютерах важливим є той факт, що звернення процесора до пам'яті завжди локалізовано в невеликому діапазоні змін її адрес. Саме він дозволяє застосовувати ієрархічну організацію системи пам'яті, аби розв'язати невідповідність швидкодій процесора та пам'яті, яка передбачає введення кількох рівнів кеш пам'яті та ефективну організацію обміну інформацією між цими рівнями. Однак існує множина алгоритмів з великими наборами вхідних даних, що характеризуються дуже низьким рівнем повторного використання тих же комірок пам'яті. При виконанні таких алгоритмів кеш пам'ять є зайвою ланкою в системі пам'яті комп'ютера. В цьому випадку для того, щоб більш ефективно реалізувати доступ до основної пам'яті, будуються ієрархічні регістрові файли шляхом поділу інтегрованого регістрового файла на регістровий файл великого об'єму з декількома портами для виконання операцій з пам'яттю і регістровий файл меншого об'єму з великою кількістю портів для обслуговування функціональних елементів процесора. Такий поділ дозволяє зменшити затрати обладнання на реалізацію ієрархічного регістрового файла у порівнянні з інтегрованим.
320
Регістровий файл процесора SPARC фірми Sun можна з деякими застереженнями віднести до ієрархічних регістрових файлів, оскільки крім віконної організації він містить асоціативну регістрову кеш пам'ять.
9.2.5. Динамічна та статична організація збереження даних в регістрових файлах
В розглянутих структурах регістрових файлів дані зберігаються в конкретних регістрах. Доступ до цих регістрів відбувається шляхом задання їх адреси. Така статична організація збереження даних часто є неефективною для виконання деяких класів алгоритмів. Наприклад, задачі роботи із зображеннями, звуком, стиском даних в реальному масштабі часу вимагають від регістрового файлу одночасного прийому вхідних масивів даних з декількох вхідних каналів, 'їх затримки на потрібну кількість тактів та видачі декількома вихідними каналами раніше прийнятих масивів даних з впорядкуванням за заданим законом. Для вирішення таких задач доцільно використовувати динамічне збереження даних в регістрових файлах. Основою апаратних рішень динамічних регістрових файлів є черги. Динамічний принцип збереження даних для складних задач обробки інформації в реальному масштабі часу на основі черг має наступні переваги:
■ доступ до черги є простіший, ніж доступ до статичного регістрового файлу, оскільки відсутні адреси;
■ збільшення кількості регістрів у черзі не призводить до вагомого зростання складності регістрового файлу та не сповільнює його роботу;
-
простота оптимізації структури регістрового файлу під заданий алгоритм;
-
необхідна менша кількість адресних ліній, порівняно зі статичними регістровими файлами;
-
вирішується проблема розподілу регістрів, оскільки дані записуються не в конкретний регістр, а в чергу.
-
можливість реалізації регістрового файла на основі модулів напівпровідникової пам'яті з довільним доступом.
Слід зауважити наступну статистику: 40 % результатів виконання арифметичних операцій використовуються на наступному такті виконання програми, а ще 45 % - через такт. Такі дані ще раз переконують в ефективності реалізації регістрових файлів на основі черг.
Регістровий файл на основі черг може бути побудований за принципом пам'яті з послідовним доступом типу FIFO. Недоліком такої організації є те, що для алгоритмів, в яких умови сумісності черг не виконуються, різко збільшуються затрати обладнання на його реалізацію.
Кращою є реалізація регістрового файлу на основі черг, побудованого на пам'яті з програмованою затримкою. Структура такого регістрового файла, який можна віднести до розподілених регістрових файлів із керованою комутацією та динамічним збереженням даних, наведена на рис. 9.14. Такий тип структури має найбільші можливості врахування особливостей алгоритмів, що дозволяє виконувати алгоритми з максимальною продуктивністю.
321
Тут модуль черги (МЧ) побудовано на основі двопортової адресної пам'яті. Один порт дозволяє читати дані з пам'яті, а інший - записувати дані в пам'ять. Зчитування даних виконується аналогічно до пам'яті FIFO, тобто через кожний тактовий імпульс читається комірка за адресою, більшою на одиницю від попередньої. Збільшення адреси забезпечується лічильником. Алгоритм просування даних в модулі представляє собою генерування сигналу зчитування для потрібної комірки пам'яті даного модуля. Таким чином кожна комірка є пронумерована і зберігає свій номер. Лічильник пам'яті генерує послідовні значення, що визначають номер комірки, яка повинна видавати дані назовні. Отже, як бачимо, система зчитування дуже проста - дані зчитуються тоді, коли приходить їх черга. А впорядкування здійснюється на етапі запису: до комірки якого номера запишуться дані, на такті з тим номером вони і видадуться назовні. Адреса запису формується за допомогою лічильника та суматора шляхом додавання значення затримки (адреса А) та значення лічильника. Двхі - і-й вхідний порт даних, Двихі - і-й вихідний порт даних (і=1,2,...,к).
9.3. Пам'ять з асоціативним доступом
9.3.1. Організація та типи пам'яті з асоціативним доступом
Пам'ять з асоціативним доступом (або асоціативна пам'ять) широко використовується в сучасних комп'ютерах. У першу чергу за принципом пам'яті з асоціативним доступом побудовано запам'ятовуючі пристрої кеш пам'яті більшості комп'ютерів. Крім того, за принципами пам'яті з асоціативним доступом побудовано буферну пам'ять в конвеєрних процесорах, зокрема це буфер попередньої вибірки команд, буфер впорядкування і т. д. Асоціативна пам'ять ефективна також для побудови пристроїв для виконання операцій числового пошуку (min, max, сортування і т. д.).
Пам'ять з асоціативним доступом передбачає зберігання разом із даними і їх ознаки, в ролі якої може бути і саме дане. Дані вибираються з такої пам'яті на основі збігу їх ознак із заданою. Тому цю пам'ять іще називають пам'яттю, що адресується за вмістом або за даними. Ядро пам'яті з асоціативним доступом приведене на рис. 9.7. На рис. 9.15 приведена детальніша структура одного з варіантів побудови пам'яті з асоціативним доступом.