Аннотация 2
ВВЕДЕНИЕ 9
1. ПРЕДМЕТНАЯ ОБЛАСТЬ И АНАЛИЗ ИСТОЧНИКОВ ИНФОРМАЦИИ 11
1.1. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ФУНКЦИЙ В ПРОЦЕССОРЕ 11
1.1.1. ВВЕДЕНИЕ 11
1.1.2. ЦЕЛЫЕ ЧИСЛА 12
1.1.2.1. ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ 12
1.1.2.2. СЛОЖЕНИЕ ЦЕЛЫХ ЧИСЕЛ 12
1.1.2.3. СДВИГ ЦЕЛЫХ ЧИСЕЛ 13
1.1.3. ЧИСЛА С ПЛАВАЮЩЕЙ ТОЧКОЙ 15
1.1.3.1. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ТОЧКОЙ 15
1.1.3.2. СЛОЖЕНИЕ И ВЫЧИТАНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ
ТОЧКОЙ 18
1.2. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ФУНКЦИЙ НА БАЗЕ
СУЩЕСТВУЮЩИХ АРХИТЕКТУР ПРОЦЕССОРОВ 18
1.2.1. ВИДЫ АРХИТЕКТУР И ИХ РАЗЛИЧИЯ 18
1.2.2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ В ЦЕНТРАЛЬНОМ
ПРОЦЕССОРЕ 20
1.2.3. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ В ГРАФИЧЕСКОМ
ПРОЦЕССОРЕ 22
1.3. МЕТРИКИ БЫСТРОДЕЙСТВИЯ ВЫПОЛНЕНИЯ ОПЕРАЦИИ.. 25
1.3.1. ВВЕДЕНИЕ 25
1.3.2. CPI 25
1.3.3. IPS 26
1.3.4. FLOPs (GFLOPs, TFLOPs) 26
1.4. ВЫВОД 27
2. АССОЦИАТИВНЫЕ ПРОЦЕССОРЫ 28
2.1. АРХИТЕКТУРА И ПРИНЦИП РАБОТЫ АССОЦИАТИВНЫХ
ПРОЦЕССОРОВ 28
2.2. ТЕКУЩЕЕ ИСПОЛЬЗОВАНИЕ 29
2.2.1. ИСПОЛЬЗОВАНИЕ В ПРОМЫШЛЕННЫХ МАСШТАБАХ 29
2.2.2. ИССЛЕДОВАНИЕ ТЕХНОЛОГИИ АССОЦИАТИВНЫХ
ПРОЦЕССОРОВ 30
3. РАЗРАБОТКА АЛГОРИТМОВ ВЫПОЛНЕНИЯ АРИФМЕТИЧЕСКИХ
ОПЕРАЦИЙ НА БАЗЕ АССОЦИАТИВНОГО ПРОЦЕССОРА 34
3.1. ТРЕБОВАНИЯ К АЛГОРИТМАМ 34
3.2. РАЗРАБОТКА АЛГОРИТМОВ 34
3.2.1. АЛГОРИТМЫ ДЛЯ ЦЕЛЫХ ЧИСЕЛ 34
3.2.1.1. АЛГОРИТМ СЛОЖЕНИЯ ЦЕЛЫХ ЧИСЕЛ 34
3.2.1.2. АЛГОРИТМ ВЫЧИТАНИЯ ЦЕЛЫХ БЕЗЗНАКОВЫХ ЧИСЕЛ
38
3.2.1.3. АЛГОРИТМ СДВИГА ЦЕЛЫХ ЧИСЕЛ 41
4.2.1.4. АЛГОРИТМ СРАВНЕНИЯ ЦЕЛЫХ ЧИСЕЛ 46
3.2.1.5. ПОЛУЧЕНИЕ ПРОТИВОПОЛОЖНОГО ЧИСЛА 48
3.2.2. АЛГОРИТМЫ ДЛЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ТОЧКОЙ 51
3.2.2.1. АЛГОРИТМ СЛОЖЕНИЯ ЧИСЕЛ С ПЛАВАЮЩЕЙ ТОЧКОЙ
51
4. РАЗРАБОТКА ДЕМОНСТРАЦИОННОГО ПРИЛОЖЕНИЯ 58
4.1. АКТУАЛЬНОСТЬ ДЕМОНСТРАЦИОННОГО ПРИЛОЖЕНИЯ... 58
4.2. ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ 58
4.3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 59
4.4. РАБОТА ПРИЛОЖЕНИЯ 59
5. АНАЛИЗ БЫСТРОДЕЙСТВИЯ СОСТАВЛЕННЫХ АЛГОРИТМОВ. 63
5.1. ВЫБОР МЕТРИКИ БЫСТРОДЕЙСТВИЯ 63
5.2. АНАЛИЗ БЫСТРОДЕЙСТВИЯ АЛГОРИТМОВ 63
5.2.1. СЛОЖЕНИЕ ЦЕЛЫХ ЧИСЕЛ 63
5.2.2 СДВИГ 64
5.2.3. СЛОЖЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ТОЧКОЙ 65
5.3. ВЫВОДЫ 66
6. ЗАКЛЮЧЕНИЕ 67
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 68
ПРИЛОЖЕНИЕ А ИСХОДНЫЙ КОД МОДУЛЕЙ
ДЕМОНСТРАЦИОННОГО ПРИЛОЖЕНИЯ 71
В настоящее время происходит поиск увеличения производительности вычислительных процессоров. Уже невозможно добиться мощностей, просто уменьшая размер транзисторов на интегральной схеме процессора. На выставке CES2019 соучредитель и генеральный директор NVIDIA подтвердил, что закон Мура, согласно которому число транзисторов в микросхеме удваивалось, не работает. [1] Затраты и сложность непрерывного размещения большого числа элементов на небольшой площади вынуждают искать новые архитектуры для более быстрого вычисления определенных алгоритмов. Одной из таких архитектур является ассоциативное запоминающее устройство (АЗУ).
Термин «ассоциативная» или «память с адресацией по содержимому» обозначается для класса запоминающих устройств, в которых к данным обеспечивается доступ не по адресу хранения, а по содержимому.
Применение АЗУ позволяет значительно ускорить поиск и обработку данных в больших массивах и обеспечивает удобное и компактное представление сложных алгоритмов решения информационно-логических задач - таких как планирование производства и материально-техническое снабжение, поиск научно-технической информации, поиск справочных данных о различных приборах, информационно-измерительных системах и других объектах.
В рамках данной работы будут рассмотрены операции хранения и сложения массива целых чисел и чисел с плавающей точкой на базе АП, а также проанализированы их скорость выполнения в сравнении с традиционной архитектурой процессоров конвейерных и матричных процессоров.
Целью создания системы обработки данных в АП является оптимизация обработки больших массивов данных. Уменьшение времени обработки операции происходит за счет:
- разработки новых алгоритмов обработки данных, которые потенциально быстрее существующих;
- параллельной обработки данных.
Для достижения поставленной цели необходимо решить следующие задачи:
- Проанализировать существующие схемотехнические методы реализации вычислительных устройств;
- Рассмотреть существующие архитектуры процессоров и то, как на них реализовано решение арифметических функций сложения целых чисел и чисел с плавающей точкой;
- Рассмотреть архитектуру ассоциативных процессоров и методы обработки информации по содержанию;
- Разработать алгоритмы вычисления арифметических функций на основе архитектуры ассоциативных процессоров;
- Проанализировать работоспособность разработанных алгоритмов;
- Произвести оценку быстродействия разработанных алгоритмов по сравнению с существующими;
- Сделать наглядную форму записи разработанных алгоритмов;
- Проанализировать целесообразность создания прототипа ассоциативного процессора;
В представленной работе были разобраны основные архитектуры цифровых процессоров и методы решения арифметических задач на существующих процессорах. Изучена архитектура ассоциативных процессоров и текущее состояние отрасли изучения и производства ассоциативных процессоров.
Разработаны алгоритмы вычисления сложения чисел с плавающей точкой и некоторые арифметический функции с целыми числами для ассоциативных процессоров.
Разработано приложения для демонстрации алгоритмов в наглядной форме. Для разработки приложения были использованы среды Unity и Visual Studio 2017.
Проанализирована целесообразность использования ассоциативных процессоров для работы с целыми числами и числами с плавающей точкой. Ассоциативный процессор для вычисления арифметических функций целесообразно использовать при обработке больших массивов чисел. Для дальнейшего исследования требуется создать рабочий прототип и произвести измерение быстродействия на реальной схеме.