ТОП 10:

Загальні властивості матричних процесорів.



Матричні процесори є КС типу ОКМД (SIMD) з одним потоком команд та множиною даних. Всі вони мають ряд загальних властивостей:

1. Організація на принципах архітектури ОКМД.

2. Високо синхронізація виконання.

3. Наявність великого числа простих процесорів, та з’єднувальної мережі.

4.Вимога високої швидкодії обміну даних.

Базова матрична архітектура типу ОКМД.

Типовий матричний процесор складається із скалярної послідовної частини і паралельного масиву процесорних елементів (ПЕ):

Матр. с-ма склад. з скалярної послід. частини та парал. масиву процесорних ел-тів. Для більшості задач зустрічаються дані скалярного типу (аргументи та параметри), та данні векторного типу (вектори, матриці, таблиці, файли записів, які містять елементи з однаковими форматами.). Данні скалярного типу розміщуються та обробляються у послідовній частині процесора(в контролері), а дані паралельного типу- у паралельному масиві процесора.

Послідовна частина процесора керує усією машиною, оскільки вміщує програму і узгоджує виконання скалярних та векторних обчислень. Частина процесора, яка містить послідовний пристрій керування є по суті звичайною ЕОМ. При послідовному керуванні мусить існувати або відрізнятися 3 множини команд:

1) Множина команд керування послідовною частиною процесора

2) Множина команд керування паралельними ПЕ

3) Множина команд керування потоками команд та даних між 2-ма компонентами матричного процесора(між ПЕ і пам.)

Перші 2 множини містять звичайні команди послідовної ЕОМ (зчитування запис регістра, порівняння та інші)

Перша множина містить також звичайні команди керування такі як умовні та без умовні переходи. Друга множина не містить команд переходів, які здатні внести зміни у порядок виконання команд. Навпаки, умовне виконання 2 множини команд керуються локально кожним процесорним елементом матриці процесора в залежності від стану його даних.

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

Для команд 3-го типу контролер(пристрій послідовного керування) та матричний процесор узгоджує виконання команд.

Множина команд 3-го типу керує обміном даними між скалярними та векторними частинами процесора. Вона містить команди, які змінюють потік видачі команд у послідовній частині в залежності від результату отриманих в паралельних частинах.

В 3 частині містяться команди, що дозволяють виділити окремі процесорні елементи і переносити їх вміст у послідовну частину. Таким чином, якщо багато ПЕ і тільки один потік команд, то у кожен момент часу можливий обмін лише 1-го процесорного елемента з пристроєм керування. З іншого боку за допомогою однієї послідовності команд можна передати загальні дані усім ПЕ паралельно. Важливо, особливістю режиму роботи МП є виконання умовних переходів у залежності від стану усіх процесорів.

В загальному випадку послідовний контролер посилає послідовність команд в паралельний процесор, а логічний результат(істина або хиба, або повідомл. про переповнення, або відсутність переповн.) кожної окремої взятої операції, яка обчислює на паралельному процесорі розміщення у спеціальні регістри, які є у кожному ПЕ.

Спеціальні команди з множини команд керування потоком та апаратура дають можливість зчитувати(опитування) спеціальні регістри. Це опитування (зчитування) виконується паралельно. Отримуємо ознаки готовності або неготовності. Ці ознаки можуть далі аналізуватися командами умовного переходу у послідов. процесорі. Такі команди забезпечують послідовність керування з можливістю одного опитування усіх ПЕ. У результаті пошук виконуються за квазіпостійний час(майже пост.).

Нехай c- постійний час; n- число елементів даних; p- число ПЕ;

Тоді час пошуку n елементів дорівнює c при n<=p

2c p<n<=2p; n*c при (m-1)p < n<=m*p

Оскільки р достатньо величина у порівнянні з n (числом елементарних даних), то для пошуку потрібно лише декілька операцій причому, пошук буде дуже ефективний.

Якщо навпаки n>>pnj то дані можна розбити на впорядковані купи причому в кожному вузлі дані є не впорядковані, а обмін даних між вузлами впорядкований за купами.

Шляхом такої організації даних можна здійснювати ефективний пошук у випадку дуже великого обсягу даних.

Крім команд відклику за запитом в деяких МП маємо спеціал. ком., що дозволяє вибрати 1 ПЕ з декількох, які відкликнулися за один крок . Після такого вибору відкрив. доступ до пам’яті відповідного ПЕ і є можливі перенесення відпов. даних у послідовному контролері.

Після виконання переносу ПЕ звільняється і можна вибирати наступний ПЕ. У результаті досягнуто можливість формувати ітерац. циклів не за допомогою лічильника або індексації, а за допомогою окремих даних, що обробляється. При паралельній обробці великих обсягів даних імовірна ситуація, коли не над усіма елементами мусять виконуватися однакові операції.

В цьому режимі послідовний пристрій керування передається по суті програмі повністю усім ПЕ. Окремі ПЕ обслуговують всю програму для своїх даних вибірки(може вибірковим) виконан. послідовності команд.

Якщо регістр маски (або контекстний регістр) у ПЕ знаходяться в стані 1, то команда виконується, а якщо в стані 0, то ігнорує.

ПЕ виконує декілька команд керування незалежно від стану регістра маски.

ПЕ можуть встановлювати стани регістра маски в залежності від своїх локальних даних. Таким чином виконання на рівні ПЕ може повністю визначатися даними.

Слід відзначити, що більшість МП має додаткові рівні керування, наприклад, якщо послідовне керування здійснюється за допомогою стандартної ЕОМ, то це звичайно не дозвіл модифікацій для виконання команд 2-го і 3-го типу.

 

Синхронні операції.

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

На практиці, в деяких схемах матр. проц. забезпечується буферизація черги між послідовним керуванням і операціями на матричному процесорі.В цьому випадку після передачі команди на матричний процесор послідовний пристрій може не зупиняти роботу, а знаходити параметри і адреси для наступних парал. команд.

Але можливість такого паралельного режиму роботи послідовного пристрою керування і МП дуже обмежена, бо ПК потрібні значення деякого параметру, що познач. МП, тому для продовження роботи він змушений чекати завершення попередньої виданої матр. ком.

У середині матричного процесору мусить бути строга покрокова синхронізація. Матричний контролер передає сигнали керування синхронізації усім паралельним процесорам. Цей рівень синхронізації використовується для забезпечення міжпроц. комутації та обміну даними.

Широко використовується метод розгалуження процесорів у вигляді одно або дво-вимірної сітки, і наступного з’єднання з найвищих процесорних елементів.

Завдяки паралельності та високого ступеня синхронізації обміну такі мережі є дуже ефективними. Наприклад, на МП команди пересилки даних ”вліво” всім процесорам передають команди пересилки даним наліво. Це призводить до одночасної пересилки даних ПЕ(проц. елемент) наліво та отримання ними даних справ.

Регулярність та синхронність комутаційної мережі призводить до відсутності непродуктивних витрат на зв’язок. Не потрібно обчислювати шляхи в мережі та адреси приймаючих ПЕ.

Процес комутації зводиться до 3 операцій:

1. Отримання даних в пам’яті.

2. Пересилання даних сусідньому ПЕ з одночасним отриманням даних від сусіднього ПЕ з іншої сторони.

3. Розміщення даних в пам’яті.

Треба підкреслити, що високі швидкодії обміну даних можливі лише між сусідніми ПЕ. На передачу між віддаленими ПЕ вимагається більше часу.

Важливою є проблема комутації процесів. Існує один загальний для всіх конфігурацій режим між процесорної комутації і зветься він механізм циркулярної передачі через послідовний контролер.

Якщо вимагається переслати значення змінної з одного ПЕ на більше число інших ПЕ, або на декількох випадково розподілених і достатньо віддалених ПЕ, то іноді буває швидше передати сигнал на послідовний контроль, а потім передати його звідси на всі ПЕ. На відповідні ПЕ встановлені також регістри маски, а на всі інші ПЕ маски відключаються.

 

Кутовий поворот

Порозрядне виконання команд на ПЕ призводить до ускладнення формату представлення даних, по скільки домінують звичайні послідовні ЕОМ, то ми програмуємо з врахуванням послідовної ідеології, тобто послідовні алгоритми. Це означає, що більша частина даних поступає в послідовній формі з паралельними розрядами. А для роботи з порозрядними процесорами вимагається організація даних у порозрядному форматі з паралельним представленням слів. Процес перетворення таких форматів називаємо кутовим поворотом.

Двох вимірний кутовий поворот:

A) Послідовний. Послідовне уявлення з паралельними розрядами.

B) Порозрядний.Порозрядна організація даних з паралельними словами, яка необхідна для роботи порозрядних асоціативних процесорів.

C)Суміщений.Приклад перекриття цих двох видів орг. і зберігання даних.

У всіх матричних процесорах, ця реорганізація даних виконується схемно. Типовою операцією перетворення з послідовного представлення в порозрядне є операція зчитування «n» (наприклад 2048) слів по «m» (напр. 32) розрядів з послідовної ЕОМ з допомогою паралельно послідовного доступу з наступним записом:

«m»(32)- розрядність шарів

«n»(2048)- розрядність для порозрядного доступу.

Маємо і зворотною операцію, яка перетворює порозрядне представлення у послідовне представлення.

 

 

Системи класу МКМД.

В системі МКМД є два класи:

1. Комп’ютери із загальною пам’яттю.(Мультипроцесорні системи)

2. Комп’ютер із розподіленою пам’яттю.(Багатомашинні системи)

Ці два класи мають свої переваги, які плавно переходять в недоліки.

Для Кс з загальною пам’яттю легше створити паралельні програми, але їхня максимальна продуктивність дуже обмежена з невеликою кількістю процесорів. Для КС з розподіленою пам’яттю все навпаки.

Бажано об’єднати переваги цих двох класів. Одним з можливих напрямків є проектування комп’ютерів з архітектурою NUMA – Non Uniform Memory Access (системи з неперервним або послідовним доступом до пам’яті).

Ця архітектура є досить розповсюдженою і на її шляху досить неочікувано з’явилась проблема з кеш-пам’яттю. Кеш-пам’ять, яка дозволяє значно прискорити роботу окремих процесорів, для багато процесорних систем, створила складності. В перших комп’ютерах NUMA не було кеш-пам’яті і не було подібної проблеми. Але в сучасних комп’ютерах з’явилась кеш-пам’ять.

Нехай процесор Р1 зберігає значення х в комірці Q, а далі процесор Р2 хоче прочитати зміст тої самої комірки Q. Що отримає проц Р2?Бажано, щоб він отримав х, але як він отримає, якщо х знаходиться в кеші Р1 процесора.

Ця проблема має назву – “проблема узгодження змісту кеш-пам’яті” (Cache coherence problem).Ця проблема актуальна і для сучасних SMP-компів(Symmetric Multi Processors).

В SMP все, крім декілька проців, в одному примірнику:1 пам.,1 ОС,1 підсистема вв-вив. Симетрична значить, що

CcNUMA

Для вирішення даної проблеми була розроблена спеціальна модифікація NUMA архітектура сс NUMA. На основі цієї архітектури випускаються багато реальних систем, які поширюються можливості традиційних комп’ютерів загальної пам’яті. Причому, якщо конфігурація SMP сервер має 8-16-32-64 процесори, то сс NUMA дає можливість об’єднати 8-16-32-64-256 та більше процесорів.

В цих системах крім декількох процесорів в одному примірнику: 1 пам’ять, 1 ОС, 1 система інтерфейсу вводу виводу. Слово симетричний означає, що кожен процесор може робити все те, що може інша.

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

Значно збільшується число процесорів у порівнянні з класом архітектури. В цій архітектурі час звертання до пам’яті залежить від того чи є це звертання до локальної або віддаленої пам’яті.

Процес написання програми залишається тим самим і фізично розподіл пам’яті у програмі не бачить.







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

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