Ниос II
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2018 г. ) |
Дизайнер | Другой |
---|---|
Биты | 32-битный |
Дизайн | РИСК |
Порядок байтов | Little-Endian |
Открыть | Нет |
Регистры | |
общего назначения | 32 |
Nios II — это 32-битная архитектура встроенного процессора, разработанная специально для Altera семейства программируемой вентильной матрицы (FPGA) интегральных схем . Nios II включает в себя множество улучшений по сравнению с исходной архитектурой Nios, что делает ее более подходящей для более широкого спектра встраиваемых вычислительных приложений, от цифровой обработки сигналов (DSP) до управления системой.
Nios II является преемником первого настраиваемого 16-битного встроенного процессора Altera Nios , представленного в 2000 году. [1]
Ключевые особенности [ править ]
Как и оригинальный Nios, архитектура Nios II представляет собой RISC -архитектуру с программным ядром , которая полностью реализована в программируемой логике и блоках памяти FPGA Altera. В отличие от своего предшественника, это полностью 32-битная конструкция:
- 32 32-битных регистра общего назначения,
- Полный 32-битный набор команд, путь к данным и адресное пространство.
- Одна инструкция умножения и деления 32 × 32 с получением 32-битного результата.
Программное ядро процессора Nios II позволяет разработчику системы определить и создать собственное ядро Nios II, адаптированное к его или ее конкретным требованиям приложения. Разработчики системы могут расширить базовую функциональность Nios II, например, добавив предварительно определенный блок управления памятью или определив собственные инструкции и специальные периферийные устройства.
Пользовательские инструкции [ править ]
Подобно собственным инструкциям Nios II, пользовательские инструкции принимают значения из двух 32- битных исходных регистров и при необходимости записывают результат обратно в 32-битный регистр назначения. Используя специальные инструкции, разработчики системы могут точно настроить аппаратное обеспечение системы для достижения целей производительности, а также легко обрабатывать инструкции как макросы на C. языке
Пользовательские периферийные устройства [ править ]
Для систем, критичных к производительности, которые тратят большую часть циклов ЦП на выполнение определенного раздела кода, определяемое пользователем периферийное устройство потенциально может переложить часть или все выполнение программного алгоритма на определяемую пользователем аппаратную логику , улучшая энергоэффективность или пропускную способность приложений. .
Блок управления памятью [ править ]
Опциональный MMU, представленный в Quartus 8.0, позволяет Nios II запускать операционные системы, требующие аппаратной подкачки и защиты, такие как ядро Linux. Без MMU Nios ограничен операционными системами, которые используют упрощенную модель защиты и виртуальной памяти: например, μClinux и FreeRTOS .
Блок защиты памяти [ править ]
Дополнительный MPU, представленный в Quartus 8.0, обеспечивает защиту памяти, аналогичную той, что обеспечивается MMU, но с более простой моделью программирования и без накладных расходов на производительность, связанных с MMU.
Семейство процессоров Nios II [ править ]
Nios II classic предлагается в трех различных конфигурациях: Nios II/f (быстрая), Nios II/s (стандартная) и Nios II/e (экономичная).Nios II gen2 предлагается в двух различных конфигурациях: Nios II/f (быстрая) и Nios II/e (экономичная).
Ниос II/ф [ править ]
Ядро Nios II/f спроектировано для максимальной производительности за счет размера ядра. Особенности Nios II/f включают в себя:
- Отдельные кэши инструкций и данных (от 512 Б до 64 КБ )
- Дополнительный MMU или MPU
- до 2 ГБ. Доступ к внешнему адресному пространству объемом
- Дополнительная тесно связанная память для инструкций и данных
- Шестиступенчатый конвейер для достижения максимального значения DMIPS /МГц
- Однотактный аппаратный умножитель и бочкообразный переключатель
- Дополнительная опция аппаратного разделения
- Динамическое предсказание ветвей
- До 256 пользовательских инструкций и неограниченное количество аппаратных ускорителей.
- JTAG- отладочный модуль
- Дополнительные улучшения модуля отладки JTAG, включая аппаратные точки останова, триггеры данных и трассировку в реальном времени.
Ниос II/с [ править ]
Ядро Nios II/s спроектировано так, чтобы поддерживать баланс между производительностью и стоимостью. Эта базовая реализация больше не поддерживается для Altera Quartus II v.17 и новее. Особенности Nios II/s включают в себя:
- Кэш инструкций
- До 2 ГБ внешнего адресного пространства
- Дополнительная тесно связанная память для инструкций
- Пятиступенчатый конвейер
- Статическое предсказание ветвей
- Возможности аппаратного умножения, деления и сдвига
- До 256 пользовательских инструкций
- JTAG- отладочный модуль
- Дополнительные улучшения модуля отладки JTAG, включая аппаратные точки останова, триггеры данных и трассировку в реальном времени.
Ниос II/е [ править ]
Ядро Nios II/e спроектировано для минимально возможного использования логики FPGA. Это особенно эффективно для недорогих приложений Cyclone II FPGA. Особенности Nios II/e включают в себя:
- До 2 ГБ внешнего адресного пространства
- JTAG- отладочный модуль
- Полные системы менее чем в 700 LE
- Дополнительные улучшения отладки
- До 256 пользовательских инструкций
- Бесплатно, лицензия не требуется
Интерфейс коммутатора Avalon [ править ]
Avalon Nios II использует коммутационную фабрику в качестве интерфейса для встроенных периферийных устройств. По сравнению с традиционной шиной в системе на базе процессора, которая позволяет только одному мастеру получать доступ к шине одновременно, коммутационная фабрика Avalon, используя схему арбитража на ведомой стороне, позволяет нескольким ведущим работать одновременно.
Процессы разработки [ править ]
Разработка для Nios II состоит из двух отдельных этапов: создания аппаратного обеспечения и создания программного обеспечения.
Разработка осуществляется внутри приложения Altera, называемого Embedded Design Suite (EDS). EDS содержит полную интегрированную среду разработки для управления аппаратным и программным обеспечением в два отдельных этапа:
Процесс создания оборудования [ править ]
Разработчики оборудования Nios II используют инструмент системной интеграции Qsys, компонент пакета Quartus-II, для настройки и создания системы Nios. (GUI) конфигурации Графический интерфейс пользователя позволяет пользователям выбирать набор функций Nios-II и добавлять периферийные устройства и блоки ввода-вывода (таймеры, контроллеры памяти, последовательный интерфейс и т. д.) во встроенную систему. Когда спецификация оборудования завершена, Quartus-II выполняет синтез, размещение и маршрутизацию для реализации всей системы на выбранной целевой FPGA.
Qsys заменяет старую версию SOPC (система-на-программируемом чипе), которую также можно использовать для сборки системы Nios II, и рекомендуется для новых проектов. [2]
Процесс создания программного обеспечения [ править ]
Разработкой программного обеспечения управляет отдельный пакет, называемый Embedded Design Suite (EDS). Основанная на Eclipse IDE, EDS включает в себя компилятор C/C++ (на основе набора инструментов GNU ), отладчик и симулятор набора команд. EDS позволяет программистам тестировать свои приложения в моделировании или загружать и запускать скомпилированные приложения на реальном хосте FPGA.
Поскольку цепочка разработки C/C++ основана на GCC, подавляющее большинство программного обеспечения с открытым исходным кодом для Linux компилируется и запускается с минимальными изменениями или без них. Сторонние операционные системы также были портированы на Nios II. К ним относятся Micrium MicroC/OS-II , eCos , Segger Microcontroller embOS, ChibiOS/RT , μCLinux и FreeRTOS .
Лицензирование [ править ]
Nios II можно сравнить с MicroBlaze , конкурирующим программным процессором для Xilinx семейства FPGA . В отличие от MicroBlaze, Nios II лицензируется для ASIC стандартных ячеек через стороннего IP-провайдера Synopsys Designware. С помощью лицензии Designware дизайнеры могут переносить проекты на базе Nios с платформы FPGA на ASIC-устройства массового производства.
См. также [ править ]
Ссылки [ править ]
- ^ Альтера. «Справочная информация о встроенном процессоре Nios II» (PDF) .
- ^ «5 причин перейти с SOPC Builder на Qsys» . Альтера . Проверено 16 марта 2012 г.