Пам'ять з паралельним доступом 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Пам'ять з паралельним доступом



 

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

В ПЦОС багатопортова пам'ять переважно використовується в парі з однопортовою пам'яттю. Прикладом такого поєднання служить процесор фірми Motorola DSP561xx (рис. 10.3). В даному процесорі за один командний цикл може виконуватись одне звертання до пам'яті програм і два звертання до пам'яті даних. Переміщення багатопортової пам'яті за межі кристалу викликає потребу у додатковому виведенні назовні декількох шин адреси і даних. Це в свою чергу вимагає збільшення кількості контактів, розмірів кристалу і відповідно його ціни.

 


Рис.10.3 Система пам’яті з використанням модуля багатопортової пам’яті

 

Поряд із пам'яттю загального призначення існують спеціалізовані мікросхеми пам’яті, оптимізовані для використання в пристроях визначеного класу. У комп'ютерній індустрії найчастіше використовується спеціалізована пам'ять у відеоконтролерах.

 

10.3 Кеш-пам¢ять

 

Використання в складі ПЦОС швидкодіючої кеш-пам'яті програм дозволяє підвищити його швидкодію шляхом уникнення звертань до менш швидкодіючої пам'яті програм при зчитуванні даних і команд. В ПЦОС використовуються простіші і менші за ємністю кеш-пам'яті ніж в універсальних процесорах. Типи кеш-пам'яті, що використовуються в ПЦОС відрізняються за функціонуванням і ємністю.

Найпростішим типом кеш-пам'яті є буфер повторення однієї інструкції. Це є кеш на одне слово команди з використанням спеціальної команди повторення. Команда, яка буде виконуватись декілька разів завантажується в буфер перед її першим виконанням. Виконання даної команди здійснюється шляхом її зчитування з кеш-пам'яті, що дозволяє звільнити пам'ять програм для доступу до даних. Даний тип кеш-пам'яті використовується в процесорах TMS320C2x і TMS320C5x [], де він дозволяє при повторному виконанні команди забезпечити продуктивність, яка може бути досягнута при трьох звертаннях до пам'яті за один командний цикл. Очевидним недоліком використання буферу повторення є те, що він працює тільки з однією командою. Якщо для деяких алгоритмів цей метод використання кеш-пам'яті є ефективним, то для алгоритмів з повторенням блоків команд він є недоцільним.

Концепція буферу повторення може бути вдосконалена шляхом його розширення на запам'ятовування кодів декількох команд. Прикладом такої конфігурації кеш-пам'яті може бути буфер повторення на 16 команд процесора DSP16xx (ATT&T). В даному процесорі при першому виконанні блоку команд, він копіюється в буфер, а при кожному його повторі, команди читаються з буфера, звільняючи таким чином процесор від додаткових звертань до пам'яті. Такий тип кеш-пам'яті є ефективним при виконанні алгоритмів ЦОС, так як більшість з них використовують цикли з декількох команд.

Завдання узгодження буферу повторення декількох команд вирішує проста односекторна кеш-пам'ять команд. Ця кеш-пам'ять дозволяє зберігати деяку кількість команд, які найчастіше використовуються. Односекторна кеш-пам'ять команд завантажується кожною командою, що виконується і відстежує адрес команд в кеші. Коли процесор звертається за командою, то при наявності її в кеш-пам'яті, вона зчитується, а при її відсутності - вміст кеш-пам'яті стає недійсним. Дана кеш-пам'ять є ефективною при доступі до єдиної неперервної ділянки пам'яті програм. Прикладом ПЦОС з використання односекторної кеш-пам'яті є процесор ZR3800x фірми Zoran. Як і буфери повторення для декількох команд, так і односекторна кеш-пам'яті використовується для вирішення задач повторного виконання невеликих груп команд.

Більш гнучкою структурою є кеш-пам'ять з декількома незалежними секторами. Кеш такого типу функціонує подібно до простої односекторної кеш-пам'яті, але може зберігати дві або і більше незалежні ділянки пам'яті програм. Такий тип кеш-пам'яті використовується в високопродуктивних ПЦОС. Так в процесорі TMS320C3x [] ця пам'ять складається з двох секторів ємністю 32 слова. Кожен сектор може використовуватися для зберігання команд з незалежних ділянок пам'яті програм об'ємом 32 слова. Дана кеш-пам'ять працює наступним чином: при попаданні адреси в один з секторів кеш-пам'яті (співпадіння кешу), слово зчитується з кешу, а при не співпадінні адреси - генерується сигнал промаху сектору. В цьому випадку весь вміст одного з секторів оновлюється за алгоритмом LRU (least recently used), за яким вибирається той сектор, до якого довгий час не було звертань.

В деяких ПЦОС для управління кеш-пам'яттю використовуються спеціальні команди або біти управління, які дозволяють програмісту заблокувати вміст кешу в деякій точці виконання програми або заборонити кеш-пам'ять взагалі. Ці можливості дозволяють програмісту здійснювати ручний контроль за кеш-пам'яттю, який в деяких випадках дозволяє підвищити продуктивність ПЦОС.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 168; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.134.118.95 (0.005 с.)