«Процессорные архитектуры QNX в системах реального времени» Махилёв Владимир, СВД Встраиваемые Системы Процессорная архитектура и аппаратная платформа Процессорная архитектура Архитектура команд Система команд, работа с памятью, регистры и пр. Примеры: ARM, MIPS, PowerPC, x86 … Архитектура процессорного ядра Организация конвейеров, кэш, взаимодействие между блоками (ALU, FPU, …) и пр. Примеры: ARM Cortex-­‐A9, PowerPC e500, MIPS32, Intel Atom … Аппаратная платформа Контроллеры, системы на кристалле (SoC) Производители : Freescale, TI, Intel, Atmel, Элвис … Процессорные модули Производители: Fastwel, НКБ ВС, Kontron … Законченные устройства, панельные станции, моноблоки Примеры: АТРИ «Орион» Целевые архитектуры QNX 4.25 и ЗОСРВ КПДА.00002-­‐01 QNX 4.25 • Intel x86 • Поддержка и обновление драйверов ЗОСРВ КПДА.00002-­‐01 • сертификат соответствия МО РФ № 2128 от 27.03.2013 Целевые архитектуры QNX Neutrino 6.5.1 Intel x86 ( SMP, APIC, Fastboot … ) RISC архитектуры (с MMU) ARM ( арх. v4-­‐v6, ARMv7, MPCore … ) MIPS ( MIPS32, MIPS64, BE/LE, SMP … ) PowerPC ( SMP, PPC SPE, … ) SH4 ( SMP …) Целевые архитектуры QNX Neutrino 6.6 Intel x86 ( Q87/77/67, Atom E6xx, E3800 … ) ARM v7 (i.MX6x, OMAP4430/4460/5432, AM335x … ) Целевые архитектуры ЗОСРВ «Нейтрино» КПДА. 10964-­‐01 сертификат соответствия МО РФ № 1740/1 от 13.12.2013 для АС класса защищенности до 1Б Intel x86 RISC архитектуры ARM LE MIPS BE/LE PowerPC BE … Целевая архитектура MIPS • MIPS -­‐ Microprocessor without Interlocked Pipeline Stages • Лицензируемая RISC архитектура MIPS32 и MIPS64 • Раздельные кэш команд и данных, плюс максимальное использование конвейеров • Дополнительные наборы инструкций (MIPS-­‐3D, MDMX (MaDMaX), MIPS16e, MIPS MT) • Поддержка в QNX архитектур MIPS32 и MIPS64 Li„le-­‐ endian / Big-­‐endian Процессоры MIPS в QNX Высокопроизводительные контроллеры для сферы телекоммуникаций • • • • Высокая масштабируемость процессорных ядер Интеграция с DSP Низкое энергопотребление Классическая RISC архитектура Отечественные процессоры MIPS в QNX Платформа Элвис «МУЛЬТИКОР» Система на кристалле МС-­‐24 (1892ВМ2Я) • RISC ядро MIPS32 • сигнальный процессор DSP ELcore-­‐24 Области применения: • Радиолокационные и гидроакустические системы • Связь и телекоммуникация, промышленный контроль • Бортовые и наземные системы управления • … QNX BSP для отладочных модулей MC12, MC24 • Версия ядра для MC12/MC24 включена в состав ЗОСРВ «Нейтрино» Целевая архитектура ARM Advanced RISC Machine • Лицензируемая RISC архитектура • Множество производителей с широкой линейкой ядер и контроллеров различного назначения • Низкое энергопотребление, высокая степень интеграции периферии • Технологии и расширения (Thumb, Jazelle, Vector Floa…ng Point, TrustZone, NEON ,…) • Лидирующие позиции на рынке мобильных устройств • Поддержка в QNX Neutrino ARM ядер с MMU • Поддержка в QNX архитектур ARM • ARM LE (v4-­‐v6): ARM7, Strong ARM, ARM9, XScale, ARM11 • ARM LE v7: Cortex-­‐A8, Cortex-­‐A9, Cortex-­‐A15 MPCore QNX на ARM процессорах Поддержка в QNX • Freescale iMX5x • Freescale iMX6 • Atmel ATSAMA5D3X • Nvidia Tegra2, Tegra3 • TI Jacinto 5,6 • TI OMAP 5432 • TI OMAP 4460/4430 • TI AM335xx • Xilinx Zynq 7000 Планы • OMAP 52xx • Sitara AM43x • i.MX7 • i.MX8 • Tegra • Jacinto 7 Программно-­‐аппаратная платформа SABRE • Freescale i.MX53 ARM Cortex A8 1Ггц • Оперативная память 1 Гб, Flash – 4 Гб • Дисплей 10” 1024x768 • Интерфейсы 2xUSB, SD, mini-­‐HDMI • Микрофон, динамики, акселерометр, камера 5 МП • Коммуникации: • Ethernet, Wi-­‐Fi, RS232 • GSM, Bluetooth • Встроенная батарея 5В QNX Accelerator Kit Аппаратные платформы: • Texas Instruments Sitara ARM Cortex A8 AM335x Starter Kit • Freescale I.MX6 BD-­‐SL-­‐i.MX6 Lite development board • Аппаратный 2D/3D рендеринг средствами OpenGL ES 2.0 • Поддержка Wi-­‐Fi • Поддержка тачскринов • Интеграция с окружением Qt 5.0 • Интеграция с Crank Storyboard QNX на ARM в сравнении Платформа Beagle-­‐XM Board Rev C • • • • • Texas Instruments DM3730 Digital Media Processor ARM Cortex A8, 1GHz L1 Cache: 32KB instruc…on /32KB data L2 Cache: 64KB 512MB RAM at 166MHz Возникновение прерывания Задержка обработки прерывания Возвращение управления потоку Обработчик прерывания Задержка планирования Время QNX на Beagle-­‐XM в сравнении Время обработки Задержка прерывания от системного обработки таймера. ср./макс., мкс прерывания. ср./ макс., мкс Задержка планирования. ср./ макс., мкс По отчетам Dedicated Systems Experts hžp://download.dedicated-­‐systems.com/ Максимальная выдерживаемая частота прерываний, мкс Целевая архитектура Intel x86 • Исторически первая платформа для ОСРВ QNX • Стандартизация загрузки и установки ОС обеспечивается BIOS • Большой спектр как высокопроизводительных, так и бюджетных решений • Простота разработки демонстрационного проекта под QNX • Удобна для разработчиков, имеющих опыт создания проектов на x86 и начинающих проект под QNX • Разработка и тестирование приложений QNX в одном из средств виртуализации (VMware, VirtualBOX, Microso Virtual PC, QEMU) без необходимости приобретения специализированной аппаратуры • Технологии SMP, APIC, FastBoot • Простой перенос Open Source проектов Процессоры Intel Atom в QNX Intel Atom -­‐ линейка микропроцессоров архитектуры x86 с низким энергопотреблением • Множество процессорных модулей различного исполнения • Потребляемая мощность от 0.65 до 13 Вт • Серии из двух процессорных ядер и частотой >2 ГГц • Техпроцесс 45 нм, переход к процессу 32 нм • «Северный» и «южный» мосты в одном чипе Intel SCH • Конкуренция с ARM-­‐контроллерами на рынке мобильных устройств • Поддержка в QNX серий Z5xx, N4xx, D5xx, E6xx • Технология быстрой загрузки QNX FastBoot QNX на x86 процессорах Поддержка в QNX • … • «Haswell» • «Ivy Bridge» • «Sandy Bridge» • «Bay Trail» Планы • «Broadwell» • «Cherry Trail» • «Sky Lake» QNX Fastboot • Intel Atom Z5xx + чипсет US15W Poulsbo • Intel Atom E6xx + чипсет EG20T TunnelCreek QNX на Advantech SOM-­‐6760 в сравнении • • • • Процессорный модуль Advantech SOM-­‐6760 x86 Intel Atom Intel Atom Z530 1.6 ГГц L1 Cache: 32KB instruc…on /24KB data L2 Cache: 512KB 512MB DDR2 Время обработки Задержка прерывания от обработки системного таймера. прерывания. ср./макс., мкс ср./макс., мкс Задержка планирования. ср./макс., мкс Максимальная выдерживаемая частота прерываний, мкс Целевая архитектура PowerPC • PowerPC (Power Performance Compu‘ng.) -­‐ RISC архитектура, разработанная альянсом Apple, IBM и Motorola (AIM) • Одна из первых архитектур, поддерживаемых QNX Neutrino • Суперскалярная обработка команд • Линейка производительных промышленных процессоров Freescale QorIQ • Поддержка в QNX архитектур PPC BE, PPC BE SPE QNX на PPC процессорах Freescale Системы на кристалле QorIQ • высокий уровень интеграции периферии • многоядерность • производительность Поддержка в QNX В планах • P5020 • • P4080 • P3041 • P2020/2041 • P1020/1010 T1020/1040 Модуль универсального процессора данных МУПД-­‐3U/2G Производитель: ОАО «Научно-­‐конструкторское бюро вычислительных систем», г. Таганрог Модуль универсального процессора данных МУПД-­‐3U/2G VPX3U на базе Freescale P3041 • P3041 (PowerPC e500) 4 ядра 1.2 ГГц • 1 Гбайт DDR3 • 2х256 Мб флэш, SSD SATA 4-­‐64 Гбайт • Интрефейсы: • Gigabit Ethernet 4x • PCIe • USB, RS232/422, I2C Пакет поддержки модуля МУПД-­‐3U/2G для QNX Neutrino / ЗОСРВ «Нейтрино» обеспечивает выполнение задач высокопроизводительной вычислительной и логической обработки данных в реальном времени Характеристики реального времени QorIQP 1021 Платформа Freescale QorIQP 1021 MDS • • • • PowerPC e500 800 Mhz L1 Cache: 32KB instruc…on /32KB data L2 Cache: 256KB 512MB DDR3 800 Mhz • Время обработки прерывания системного таймера (среднее/ максимальное): • 1.1 / 6.9 мкс • Задержка обработки прерывания: • 0.4 / 2.6 мкс • Задержка планирование: • 0.5 / 3.3 мкс • Максимальная частота прерываний: • 6.5 мкс Сравнение характеристик реального времени • По результатам тестирования Dedicated Systems Experts • Полная версия отчетов доступна на сайте после регистрации: hžp://download.dedicated-­‐ systems.com/ Тестируемые ОСРВ • QNX Neutrino 6.5 • Windows Embedded Compact 7 (бывшая Windows CE) • ОС на базе ядра Linux 2.6.33.7.2 с патчами реального времени v.30 Тестируемое оборудование • компьютер на базе x86 Pen…um MMX 200 (Тестирование Windows проводилось на Intel Pen…um II 233 Mhz с 512 Кб L2 Кэша) • процессорный модуль Advantech SOM-­‐6760, x86 Intel Atom • процессорная плата Beagle-­‐XM Board, TI DM3730, ARM Cortex A8 • процессорная плата Freescale QorIQP 1021 MDS, PowerPC e500 Время обработки прерывания от системного таймера (Среднее и максимальное значения, мкс) Задержка обработки прерывания (Среднее и максимальное значение, мкс) Максимальная выдерживаемая частота прерываний, мкс Поддержка платформы в QNX Целевая система Функциональное ПО ОСРВ QNX Neutrino Инструментальная система (на базе x86 Windows/Linux) Комплект разработчика QNX Momen‘cs • Кросс-­‐компилятор • Построение загрузочных образов QNX BSP • Среда разработки на базе Eclipse IDE • Разработка • Отладка Аппаратура • Профилирование QNX Neutrino BSP (Board Support Package) Пакет поддержки платы в QNX (BSP) • Поддержка конкретной аппаратной платформы/процессорного модуля • Загрузочный образ ОС • Начальный загрузчик IPL/startup • Сетевые драйвера • PCI • Поддержка носителей данных NAND/NOR флэш , SATA, SD • Интерфейсы RS232/USB/I2C/SPI • Специализированные программы • Интеграция в IDE • Пакеты поддержки платы (BSP) на сайте QNX: hžp:// community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/ BSPAndDrivers Выбор платформы и цикл разработки ü Производительность ü Функционал ü Энергопотребление ü Цена, доступность, … ü Доступность BSP Анализ функциональных требований Выбор и тестирование прототипного модуля ü Поддержка периферии ü Программные подсистемы ü Требования к надежности ü Графический интерфейс ü Открытые проекты Выбор ОС : QNX Neutrino RTOS / ЗОСРВ «Нейтрино» ü Опыт разработчиков ü Тех. поддержка Проектирование системного и функционального ПО ü Заказная разработка: § BSP § § Драйверы Middleware § … ü Информационная безопасность ü Обучение Адаптация ОС на целевой системе ü Обучение ü Сертификация ü Тех. поддержка ü Консалтинг ü QNX SDP Разработка и отладка системного ПО ü Стресс-­‐тестирование ü Оптимизация ü Управление обновлениями Отладка аппаратно-­‐ независимого ПО (ПК, VMWare …) Комплексная отладка ПО на целевой системе ü IDE QNX ü Консольные средства ü Продукты 3-­‐х фирм ü Open Source проекты ü Профилирование приложений ü Расширение функционала ü Повышение надежности «СВД Встраиваемые Системы» поможет с выбором аппаратуры и разработкой ПО для устройств на базе QNX / ЗОСРВ «Нейтрино» Построение программно-­‐аппаратной системы Выбор прототипной платы • Функционал • Стоимость • Энергопотребление • Производительность • Наличие QNX BSP • ... • Техническая поддержка • Консалтинг • Заказная разработка • ... Адаптация QNX Neutrino BSP для целевой платы Разработка и отладка функционального ПО • QNX SDP • IDE / командно-­‐строковые средства • Технологические комплекты QNX • Продукты 3-­‐х фирм / Open Source • ... Махилёв Владимир Ведущий инженер-­‐программист (812) 3468956 доп.105 support@kpda.ru www.kpda.ru www.swd.ru