Файл: Мультипроцессоры(ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ ИНТЕГРАЛЬНЫЕ СХЕМЫ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 69

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ГЛАВА 1. ВЫБОР АППАРАТНО-ПРОГРАММНЫХ И ПРОГРАММНЫХ СРЕДСТВ ДЛЯ РАЗРАБОТКИ МНОГОПРОЦЕССОРНОЙ СИСТЕМЫ

1.1 ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ ИНТЕГРАЛЬНЫЕ СХЕМЫ

1.2. СРЕДСТВО АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ QUARTUSII

1.3. СРЕДА СИСТЕМНОЙ ИНТЕГРАЦИИ QSYS

1.4. ВСТРАИВАЕМЫЙ ПРОЦЕССОР NIOS II

1.5 ВСТРАИВАЕМЫЙ ПРОЦЕССОР MICROBLAZE

1.6. СРЕДСТВО РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ NIOS II SBT FOR ECLIPSE

1.7. СЕМЕЙСТВО ПЛИС CYCLONЕ V

ГЛАВА 2. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ

2.1. ПРЕИМУЩЕСТВА ИЕРАРХИЧЕСКИХ МНОГОПРОЦЕССОРНЫХ СИСТЕМ

2.2. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ NIOS II

2.3. КОНСТРУКЦИИ АППАРАТНЫХ СРЕДСТВ ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ

2.3.1. ОСНОВНОЕ РАЗДЕЛЕНИЕ

2.3.2. АВТОНОМНЫЕ МУЛЬТИПРОЦЕССОРЫ

2.3.3. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ С ОБЩЕЙ ПЕРИФЕРИЕЙ

2.4. ИСПОЛЬЗОВАНИЕ ОБЩИХ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ В МНОГОПРОЦЕССОРНЫХ СИСТЕМАХ

2.4.1. РАЗДЕЛЯЕМЫЕ ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА

2.4.2. СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ПАМЯТИ

2.4.3. ЯДРО АППАРАТНОГО МЬЮТЕКСА

2.4.4. СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ

2.5. ПЕРЕКРЫТИЕ АДРЕСНОГО ПРОСТРАНСТВА

2.6. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ НЕСКОЛЬКИХ ПРОЦЕССОРОВ

2.6.1. ПРОГРАММИРОВАНИЕ ПАМЯТИ

2.6.2 АДРЕСА ЗАГРУЗКИ

2.6.3 ОТЛАДКА МНОГОПРОЦЕССОРНЫХ ПРОЕКТОВ NIOS II

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Содержание:

ВВЕДЕНИЕ

Актуальность работы. В настоящее время цифровые видеокамеры становятся неотъемлемым элементом повседневной жизни человека, и основными направлениями совершенствования видеокамер являются: повышение их разрешения и расширение встраиваемых функций по обработке видео. Отсюда появляются требования по повышению производительности цифрового процессора видеокамер. Достигнуть высокой производительности можно за счет применения методов параллельного выполнения команд (конвейер команд, векторизация, суперскалярность) и параллельного выполнения потоков команд (многопотоковость).

Для облегчения работы цифрового процессора и для дальнейшей об- работки цифрового потока в систему видеокамеры можно внедрить много- процессорную систему, так как она лучше справляется с задачами обработки и архивации цифровых потоков.

Данная система должна обладать малыми габаритами, высокой скоростью обработки потоков и высокой степенью интегрируемости с конечным устройством.

Мультипроцессорные системы реализуются в системах обрабатывающих цифровой поток уже в течение нескольких десятилетий, однако сейчас интерес к ним снова возрастает в связи с появлением возможности использовать встраиваемые в кристалл процессоры.

Целью работы является изучение многопроцессорной системы

Объектом исследования является процесс создания и отладки устройств, выполненных на программируемой логической интегральной схеме.

Предметом исследования являются методы и алгоритмы создания многопроцессорных систем.

Для достижения поставленной цели были решены следующие задачи:

1. Исследование особенности работы встроенных процессоров;

2. Исследование взаимодействия системы с периферийными устройствами входящих в систему;

3. Исследование особенностей многопроцессорных систем и их работы с общими периферийными устройствами;

Для достижения поставленной цели были использованы общелогические методы – анализ, синтез, классификация, типологизация, системный подход и метод теоретического познания – формализация.


ГЛАВА 1. ВЫБОР АППАРАТНО-ПРОГРАММНЫХ И ПРОГРАММНЫХ СРЕДСТВ ДЛЯ РАЗРАБОТКИ МНОГОПРОЦЕССОРНОЙ СИСТЕМЫ

1.1 ПРОГРАММИРУЕМЫЕ ЛОГИЧЕСКИЕ ИНТЕГРАЛЬНЫЕ СХЕМЫ

По мере развития цифровых микросхем возникло противоречие между возможной степенью интеграции и номенклатурой выпускаемых микросхем. Экономически оправдано было выпускать микросхемы средней интеграции, таких как регистры, счетчики, сумматоры. Более сложные схемы приходилось создавать из этих узлов. Разместить более сложную схему на полупроводниковом кристалле не было проблем, но это было оправдано либо очень большой серийностью аппаратуры, либо ценой аппаратуры (военная, авиационная или космическая). Заказные микросхемы не могли удовлетворить возникшую потребность в миниатюризации аппаратуры. Решение могло быть только одним — предоставить разработчикам аппаратуры возможность изменять внутреннюю структуру микросхемы (программировать). [1][1]

История развития программируемых логических интегральных схем (ПЛИС) начинается с появления программируемых постоянных запоминающих устройств. Первое время программируемые ПЗУ использовались исключительно для хранения данных, однако вскоре их стали применять для реализации цифровых комбинационных устройств с произвольной таблицей истинности. В качестве недостатка подобного решения следует отметить экспоненциальный рост сложности устройства в зависимости от количества входов. Добавление одного дополнительного входа цифрового устройства приводит к удвоению требуемого количества ячеек памяти ПЗУ. Это не позволяет реализовать многовходовые комбинационные цифровые схемы.

Для реализации цифровых комбинационных устройств с большим числом входов были разработаны программируемые логические матрицы (ПЛМ). В иностранной литературе они получили название — Programmable Logic Arrays (PLA). Именно программируемые логические матрицы можно считать первыми программируемыми логическими интегральными схемами (Programmable Logic Devices — PLDs). ПЛМ получили широкое распространение в качестве первых универсальных микросхем большой интеграции [1].

Преимущества ПЛИС в качестве платформы для создания процессорных систем можно описать следующими параметрами: настройка, устранение устаревания, снижение затрат за счет системной интеграции и аппаратного ускорения.


Настройка. Разработчик встроенной процессорной системы обладает полной гибкостью для настройки встроенного процессора на основе пара- метров конфигурации. В качестве настраиваемого функционального блока (IP core) несколько процессоров могут быть созданы на одном устройстве, в зависимости от потребностей конечного приложения. Наличие конфигурируемых периферийных устройств также помогает в создании пользовательских встроенных решений, поскольку инструменты разработки ПЛИС облегчают как проектирование, так и интеграцию определенных периферийных устройств.

Устранение устаревания. Некоторые отрасли промышленности, особенно те, которые поддерживают сегмент рынка аэрокосмической и оборонной промышленности, предъявляют строгие требования к разработке, чтобы продлить срок службы изделия дольше, чем срок службы стандартного электронного изделия. Необходимость смягчения устаревания компонентов может рассматриваться как сложная проблема. Настраиваемые процессоры, тем не менее, обеспечивают отличное решение, поскольку одно и то же ядро может поддерживаться и переноситься между различными семействами устройств в течение длительного срока службы.

Снижение затрат за счет системной интеграции. Преимуществом программируемого устройства является не только настраиваемая цифровая логика; Это, скорее, широкий спектр функций - в некоторых случаях, не цифровых, доступных в современных технологиях. Высокоценные цифровые компоненты системы могут содержать процессоры, цифровые сигнальные процессоры (DSP), стандартные компоненты для конкретных приложений (ASSP), программируемые пользователем вентильные матрицы (FPGA), системы на кристалле (SoC) или их комбинацию. Их нецифровые компоненты могут включать в себя, помимо прочего, аналого-цифровые преобразователи (АЦП), датчики и интерфейсы интегральных схем, предназначенных для подключения к физической среде передачи (PHY). Устройства ПЛИС могут интегрировать большую часть этой функции в один чип. Уменьшая количество компонентов в устройстве, компания может сократить размер платы и управление запасами, что экономит время и затраты на разработку. [1][2]

Аппаратное ускорение. Пожалуй, наиболее веская причина выбора встроенного процессора программируемого устройства - это гибкость, позволяющая делать компромисс между аппаратным и программным обеспечением, что повышает эффективность и производительность. Например, если алгоритм идентифицирован как узкое место программного обеспечения, в ПЛИС специально для этого алгоритма может быть сконструирован пользовательский механизм совместной обработки. Этот сопроцессор может быть подключен к встроенному процессору ПЛИС через специальные каналы с малой задержкой.


Для реализации многопроцессорной системы на кристалле была выбрана система автоматизированного проектирования (САПР) QuartusII, фирмы Altera, с входящими в ее состав QSYS и NIOSII.

Для решения данной задачи были рассмотрены программируемые логические интегральные схемы (ПЛИС) фирмы Altera и Xilinx.

1.2. СРЕДСТВО АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ QUARTUSII

Quartus II – это средство проектирования устройств с высокой степенью интеграции, включая разработку законченных систем на одном программируемом кристалле (System-on-a-programmable-chip (SOPC)).

Программное обеспечение Quartus II предоставляет полный цикл для создания высокопроизводительных систем на кристалле. Quartus II объединяет в себе проектирование, синтез, размещение элементов, трассировку соединений и верификацию, связь с системами проектирования других производителей.

Разработка систем на кристалле требует от разработчиков эффективной командной работы. Изменения в одной части проекта должно иметь минимальное влияние на других членов команды. Программное обеспечение Quartus II - это наиболее комплексная среда для разработки систем на кристалле SOPC, доступная в настоящее время [2].

1.3. СРЕДА СИСТЕМНОЙ ИНТЕГРАЦИИ QSYS

Qsys - это инструмент системной интеграции, входящий в состав программного обеспечения Quartus II. Qsys фиксирует аппаратные конструкции системного уровня на высоком уровне абстракции и автоматизирует задачу определения и интеграции настраиваемых компонентов HDL, которые могут включать в себя IP-ядра, IP-проверки и другие модули дизайна. Qsys облегчает повторное использование дизайна путем упаковки и предоставления пользовательских компонентов и систем, а также интегрирует пользовательские компоненты Altera с сторонними компонентами разработчика [3].

Qsys автоматически создает логику межсоединений из указанных на- ми параметров подключения, устраняя подверженную ошибкам и трудоемкую задачу записи HDL для определения соединений на системном уровне.

Qsys использует стандартные интерфейсы Avalon , AMBA AXI3 (вер- сия 1.0) и AMBA AXI4 (версия 2.0), которые можно использовать для создания своих пользовательских IP-компонентов. Связи между интерфейсами Avalon и AXI разрешены и могут быть достигнуты без использования мостов. Взаимодействие Qsys обеспечивает необходимую рабочую логику соединений. [2][3]


Qsys interconnect поддерживает полную 64-битную адресацию для всех интерфейсов и компонентов Qsys, с диапазоном 0x0000 0000 0000 0000 до 0xFFFF FFFF FFFF FFFF, включительно. Это включает в себя поддержку ведущих и ведомых устройств Avalon, ведущих и ведомых AXI3, и ведущих и ведомых AXI4, отображаемых в памяти, соединениях, переводчиков, адаптеров и маршрутизаторов.

В Qsys можно добавлять экземпляры компонентов, настраивать их и устанавливать связи между их интерфейсами. После создания системы Qsys генерирует HDL для системного модуля, который создает экземпляр системы, включая экземпляр системных межсоединений.

Также Qsys можно использовать для построения встроенных микропроцессорных систем, включающих процессоры, интерфейсы памяти и периферийные устройства. Можно создавать системы потоков данных, которые не включают процессор. Qsys позволяет создавать топологии шины с несколькими ведущими и ведомыми устройствами.

Двойной щелчок на экземпляре на панели подключения открывает редактор параметров, который позволяет настраивать аппаратные настройки. Например, для контроллеров памяти можно определить ширину данных, размеры пакетов, задержки трассировки и тайминги устройств.

Для некоторых компонентов можно создавать, изменять и сохранять пользовательские параметры компонента в виде файла предварительной настройки, который затем можно использовать в других системах Qsys. Если компонент или ядро IP поддерживает пресеты, то редактор настроек появится в правой части редактора параметров.

1.4. ВСТРАИВАЕМЫЙ ПРОЦЕССОР NIOS II

Процессор Nios II, представленный компанией Altera в 2004 году, предназначен для замены оригинального процессора Nios, характеризующегося 16 битным набором инструкций и 16 битным регистровым окном. В настоящее время процессор Nios II признан самым популярным конфигурируемым в кристалле FPGA процессором, лидером по гибкости использования [4].

Процессор Nios II может быть сконфигурирован под требуемую задачу. Существует 3 различные версии конфигурации процессора:

1) Nios II/f (fast) – версия процессора, предназначенная для достижения максимальной производительности. Конфигурация имеет широкий набор опций для оптимизации процессора по производительности;

2) Nios II/s (standart) – стандартная версия процессора, требующая меньше ресурсов для реализации, и характеризующаяся меньшей производительностью; [2][4]