1 - MES conference

advertisement
Устройство для вычисления
скалярного произведения
векторов с коррекцией
ошибок на базе системы
остаточных классов
Авторы: Соловьев Р.А. (докладчик)
Д.В. Тельпухов, Е.С. Балака
Институт проблем проектирования в
микроэлектронике ИППМ РАН
.
Скалярное произведение векторов (СПВ)
.
Ускорение вычислений СПВ
Схема конвейеризации умножителя
.
Модулярная арифметика
Позиционная система счисления
Система счисления, в
которой значение каждой
цифры в записи числа зависит
от его позиции.
Система остаточных классов (СОК)
Для системы взаимно простых чисел
p1, p2 , … pn, любое число X из диапазона
[0; M), M = p1*p2*…*pn представимо в
виде вектора (a1, a2, …, an), где ai = X
mod pi. p1, … pn – модули системы
a1, a2, …, an – остатки числа по
заданной системе модулей.
 Параллелизм вычислений
 Низкая разрядность
вычислений
 Простая реализация
арифметических операций
 Возможность для
коррекции ошибок
 Сложность сравнения чисел
 Сложность определения
переполнения
 Необходимость в
преобразователях в /из
позиционной системы
счисления
Обнаружение и коррекция ошибок в СОК
p1
p2
p3
…
pu-1
Информационные
модули
pu pu+1 pu+2
…
Контрольные
модули
M=p1⋅p2⋅…⋅ pu
K=pu+1⋅pu+2⋅…⋅ pn
Численный пример
Информационные модули: 3, 5, 7
Контрольные модули: 8, 11
Легитимный диапазон: [0;105)
Легитимный
Диапазон
[0;M-1]
Нелегитимный
Диапазон
[M;M*K]
pn
56 = (2,1,0,0,1)
(2,3,0,0,1)
Набор модулей
Значения в СОК
Значение в позиционной
записи
(5,7,8,11)
(3,0,0,1)
1288
(3,7,8,11)
(2,0,0,1)
56
(3,5,8,11)
(2,3,0,1)
848
(3,5,7,11)
(2,3,0,1)
518
(3,5,7,8)
(2,3,0,0)
728
Выбор базисных оснований в СОК
Что
бы
избежать
затратной
операции
округления,
можно
выбрать
динамический
диапазон покрывающий все возможные значения
результата скалярного произведения.
Размерность
элемента
вектора в
битах (k)
Количество
элементов
вектора l
Возможный базис
M
Размерность
максимального
результата
вычислений
(бит)
8
16
{5, 7, 11, 13, 17, 19}
1616615
20
10
128
{ 2, 3, 5, 7, 11, 13, 17, 19, 23 }
223092870
27
12
256
{7, 11, 13, 17, 19, 23, 29, 31}
6685349671
32
16
1024
{31, 37, 41, 43, 47, 53, 59, 61}
4397912294400
42
Прямой преобразователь в СОК
A0
A1
0 бит
1 бит
Х
Пирамида
льный
сумматор
2 бит
…
k бит
A2
Ak
S
Блок
финальной
редукции
|Х|p
Умножение и сложение по модулю в СОК
Схема индексного умножения
Схема сложения по модулю
+
IF (R ≥ P)
O=R–P
ELSE
O=R
Пример индексного умножения
по модулю 5
3 метода умножения
по модулю
1) Обычное умножение с
последующей коррекцией
2) Индексный метод
3) Метод разности квадратов
Обратный преобразователь СОК
Схема обратного преобразователя
для системы из 4 модулей
В конвейерных схемах обычно
применяют преобразователи на
базе полиадического кода из-за
однородности их структуры.
Основная операция для блоков ROM:
Из-за малой размерности a и b, а
также в силу того что константы
p известны на этапе
проектирования, эти блоки на
критичных к скорости участках,
могут быть заменены на таблицы.
Общая схема работы СПВ в СОК
Экспериментальные результаты
Скалярные умножители (8
точек), задержка
1
0.8
0.6
Бинарный
0.4
Модулярный
0.2
0
Скалярные умножители (8 точек),
площадь
35000
30000
25000
20000
15000
10000
5000
0
4 6 8 10 12 14 16 18 20 22 24
Бинарный
Модулярный
4 6 8 10 12 14 16 18 20 22 24
Скалярные умножители (64
точки), задержка
1
Скалярные умножители (64 точки),
площадь
40000
0.8
30000
0.6
Бинарный
0.4
Модулярный
0.2
0
4
Скалярные умножители (1024
точки), задержка
1
0.8
Бинарный
0.4
Модулярный
0.2
0
4 6 8 10 12 14 16 18 20 22 24
Модулярный
10000
0
4 6 8 10 12 14 16 18 20 22 24
0.6
Бинарный
20000
6
8 10 12 14 16 18 20 22 24
Скалярные умножители (1024
точки), площадь
35000
30000
25000
20000
15000
10000
5000
0
Бинарный
Модулярный
4 6 8 10 12 14 16 18 20 22 24
Преимущества подхода и нерешенные
проблемы
1)
2)
3)
Не уступает, а иногда и
превосходит по скорости
двоичную реализацию
Гибкий контроль набора
модулей для исправления
кратных ошибок
Не требует
преобразователей в случае
работы в модулярном
представлении
1)
2)
3)
Превосходит по площади двоичные
аналоги
Более сложная структура
Массивный обратный
преобразователь, вносящий
потенциальные ошибки во время
выбора правильного ответа
Дальнейшее направление исследований:
1) Проверка эффективности устройства для исправления
многократных ошибок
2) Использование улучшенных блоков модулярной
арифметики с целью увеличения выигрыша по площади и
скорости работы скалярного произведения
Download