Сравнение SAD-процессоров позиционный vs модулярный — различия между версиями
Материал из Модулярная арифметики
								
												
				Turbo  (обсуждение | вклад)  (Новая страница: «= Сравнение SAD-процессоров позиционный vs модулярный =  Сравнение обычного позиционного SAD…»)  | 
				Turbo  (обсуждение | вклад)  м (Turbo переименовал страницу Результат сравнения SAD-процессоров модулярный vs позиционный (промежуточный отчет 12.2012) в [[Сравнение SAD-процес…)  | 
				
(нет различий) 
 | |
Версия 11:53, 25 декабря 2012
Сравнение SAD-процессоров позиционный vs модулярный
Сравнение обычного позиционного SAD-процессора с модулярной реализацией в базисе {2n-1, 2n, 2n+1} показало что:
- Cхема похоже является слишком простой и содержит слишком малое количество уровней, что бы модулярная реализация дала выигрыш при наличии прямых и обратных преобразователей.
 - В SAD варианте даже отдельные модулярные каналы имеют задержку выше чем у позиционного варианта устройства, из-за того что, во-первых, сама схема содержит только сложения и вычитания (т.е. отсутствует умножение), а во-вторых, модулярные сумматоры и вычитатели работают хуже обычных сумматоров, даже не смотря на то что у них ниже разрядность входных данных.
 - Площадь модулярных устройств в 3-4 раза больше, чем у позиционной реализации. В модулярном виде она растет быстрее, чем в позиционном.
 - В SSD варианте удается приблизиться по времени работы к позиционному варианту даже с учетом преобразователей, более того скорость на модулярных каналах выше чем у позиционного варианта.
 
Выводы:
- Для SAD-процессора в варианте без умножения нет смысла использовать его модулярное представление
 -  Модулярное представление имеет смысл для SSD варианта, однако есть несколько ограничений: 
- необходимо покрыть затраты на прямые и обратные преобразователи, либо делая схему счета трёхтактовой (прямое и обратное преобразование здесь менее затратны, чем прямой канал), либо делая модулярным не только SAD-процессор но и вышестоящий диспетчер кадров.
 - SSD реализация применяется на практике гораздо реже
 - SSD реализация требует больше площади на кристале
 
 
Замечания по эксперименту:
- Для генерации SAD-процессоров использовали следующие скрипты: <a href="/2012/sad_generator.php">Позиционный</a>, <a href="/2012/sad_modular_generator.php">Модулярный</a>
 - В качестве технологической библиотеки использовалась: Nangate Open Cell Library 45 nm
 - Для расчета задержки и площади использовался Synopsys Design Compiler, а для верификации ModelSim Student Edition
 - Реализация модулярных сумматоров и вычитателей может быть не самой эффективной, что теоретически может сделать исследование слегка пессимистичным.
 
Результирующая таблица:
| DIM1 | DIM2 | Bit Pixel | Type (SSD or SAD) | Timing | Timing | Area | Area | Forward | Channel | Backward | |
| Standard | Modular | Standard | Modular | Conversion | Time | Conversion | |||||
| 4 | 4 | 8 | SAD | 1.25 | 3.05 | 5984 | 14442 | 0.78 | 1.54 | 0.72 | |
| 4 | 4 | 16 | SAD | 1.62 | 4.55 | 13748 | 42956 | 1.46 | 2.23 | 0.86 | |
| 4 | 4 | 8 | SSD | 2.65 | 3.54 | 14037 | 48042 | 0.56 | 2.19 | 0.8 | |
| 4 | 4 | 16 | SSD | 4.33 | 4.83 | 41026 | 1424569 | 0.5 | 3.5 | 0.84 | 
Задержки в таблице в нс, площадь в мкм2.