ВЕКТОРНИЙ СПІВПРОЦЕСОР

Векторний співпроцесор - основний функціональний елемент Л1879ВМ1. Структурно він являє собою матрично-векторний операційний пристрій і набір регістрів різного призначення.

Операційний пристрій (ОУ) - регулярна матрична структура 64х64 комірки (рис. 2). Матриця може бути довільно розділена на стовпці і рядки. В утворені після поділу макрокомірки завантажуються вагові коефіцієнти Wіj . На вхід матриці подається вектор вхідних даних , кожному елементу якого відповідає рядок матриці. Ширина рядка (у бітах) - розрядність даного елемента вхідних даних. У макрокомірках відбувається множення елемента вектора вхідних даних на ваговий коефіцієнт і додавання зі значенням верхньої комірки (або значень входів і U ). Таким чином, для кожного стовпця обчислюється скалярне вираз . Для зниження розрядності вихідних даних і захисту від арифметичного переповнення використовується програмувальна функція насичення (рис. 7.2) .

Рис.7.2.

Операнди і вихідні значення упаковуються в 64-х розрядне слово. Всі операції в матриці ОП робить паралельно, за один такт. Завантаження вагових коефіцієнтів відбувається за 32 такти. У векторному співпроцесорі є "тіньова" матриця, в яку вагові коефіцієнти можна завантажувати у фоновому режимі. Переключення "тіньової" і робочої матриць займає один такт. Найважливіша особливість векторного співпроцесора - робота з операндами довільної довжини (навіть не кратного степеня двійки) у діапазоні 1-64 біт. Цим досягається оптимальне співвідношення між швидкістю і точністю обчислень: при однобітових операндах на тактовій частоті 40 МГЦ продуктивність складе 11 520 MMAC (мільйонів операцій множення з нагромадженням) чи 40 000 MOPS (мільйонів логічних операцій у секунду), при 32-бітових операндах і 64-бітовому результаті вона стане номінальною – 40 MMAC. Вміння динамічно, в процесі обчислень змінювати розрядність операндів дозволяє підвищити продуктивність в тих випадках, коли звичайні процесори працюють "вхолосту", з надлишковою точністю.

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

Для обчислення продуктивності використовуються наступні вирази:

де: МСРS - мільйон з'єднань у секунду (еквівалентно ММАС)

64 - ширина слова даних;

Nх- ширина синапсів;

Nw- ширина ваг;

F = 50 МГЦ - тактова частота.

У випадку Nх¹1 і Nw=1, вираз набуває вигляду:

У випадку Nх=1 і Nw¹1, вираз набуває вигляду:

У випадку Nх=Nw=1, вираз набуває вигляду:

У випадку Nх=Nw=32, вираз набуває вигляду: