Асоціативний процесор (АП) - це асоціативна пам'ять, яка припускає паралельний запис в усі осередки, для яких було зафіксовано збіг з асоціативним ознакою. Ця особливість АП, що носить назву мультізапісі, є першою відмінністю асоціативного процесора від традиційної асоціативної пам'яті. Зчитування і запис інформації можуть проводитися за двома зрізами запам'ятовує масиву - або це все розряди одного слова, або один і той же розряд всіх слів. При необхідності виділення окремих розрядів зрізу зайві позиції допустимо маскувати. Кожен розряд зрізу в АП забезпечений власним процесорним елементом, що дозволяє між зчитуванням інформації та її записом виробляти необхідну обробку, тобто паралельно виконувати операції арифметичного додавання, пошуку, а також емулювати багато рис матричних ВС.
Асоціативні ВС - ВС класу SIMD, в основі якої лежить асоціативний процесор. Таким чином, асоціативні ВС є n процесорних елементів ПЕ (вертикальний розрядний зріз пам'яті), як правило, послідовної поразрядной обробки для кожної з осередків пам'яті. Операція здійснюється одночасно всеміnПЕ. Все або частина елементарних послідовних ПЕ можуть синхронно виконувати операції над усіма осередками або над обраним безліччю слів асоціативної пам'яті.
Приклад асоціативної ВС - система STARAN, розроблена Goodyear Aerospace Corporation в 1972 році.
У фон-Неймановская машинах дані, лічені з пам'яті, одноразово обробляються в процесорному елементі, після чого знову повертаються в пам'ять. У систолических структурах дані на своєму шляху, від зчитування з пам'яті до повернення назад, пропускаються через якомога більшу кількість ПЕ.
Якщо провести паралель в фізіології, то систоли найбільше нагадують систему судин і серце, яке постійно посилає кров в усі артерії, судини і капіляри тіла.
Систолічний системи є дуже спеціалізованими обчислювачами і виробляються в основному під конкретну задачу. Фактично, завдання побудови систолічного обчислювача зводиться до побудови апаратного конвеєра, що має досить великий час отримання результату (тобто велика кількість ступенів) але при цьому порівняно невеликий час між послідовної видачею результатів, так як значна кількість проміжних значень обробляється на різних щаблях конвеєра.
Розглянемо як приклад систолическую структуру, що виконує процес векторного множення матриць. В основі схеми лежить ритмічне проходження двох потоків даних xi і уj назустріч один одному. Послідовні елементи кожного потоку розділені одним тактовим періодом, щоб будь-який з них міг зустрітися з будь-яким елементом зустрічного потоку. Обчислення виконуються паралельно в процесорних елементах, кожен з яких реалізує один крок в операції обчислення скалярного твори (IPS, Inner Product Step) і носить назву IPS-елемента.
Значення ПВЗ. надходить на вхід ПЕ, підсумовується з твором вхідних значень xвх і АВХ. Результат виходить з ПЕ як увих. 3наченіе хвх. крім того, для можливого подальшого використання іншою частиною масиву транслюється через ПЕ без змін і залишає його у вигляді xвих.
Функціональна схема IPS-елемента
Процес векторного множення матриць
Систолическая структура - це однорідна обчислювальне середовище з процесорних елементів, що поєднує в собі властивості конвеєрної і матричної обробки і володіє наступними особливостями:
- обчислювальний процес в систолических структурах є безперервною і регулярну передачу даних від одного ПЕ до іншого без запам'ятовування проміжних результатів обчислення;
- кожен елемент вхідних даних вибирається з пам'яті одноразово і використовується стільки раз, скільки необхідно за алгоритмом, введення даних здійснюється в крайні ПЕ матриці;
- утворюють систолическую структуру ПЕ однотипні і кожен з них може бути менш універсальним, ніж процесори звичайних багатопроцесорних систем;
- потоки даних і керуючих сигналів мають регулярністю, що дозволяє об'єднувати ПЕ локальними зв'язками мінімальної довжини;
- алгоритми функціонування дозволяють поєднати паралелізм з конвеєрної обробкою даних;
продуктивність матриці можна поліпшити за рахунок додавання в неї певного числа ПЕ, причому коефіцієнт підвищення продуктивності при цьому лине.
В даний час досягнута продуктивність систолических процесорів близько 1000 мільярдів операцій / с.