Альтернативные процессорные архитектуры Принципы: • Любая операция, вне зависимости от ее типа, должна быть выполнена за 1 такт • Система команд должна использовать минимальное количество наиболее часто используемых операций одинаковой длины • Команды используют небольшое количество различных видов адресации • Операция обработки данных реализуется только в формате регистррегистр. Обмен между регистрами и ОП выполняется только командами загрузка/запись. • RISC МП должен иметь большую регистровую память • Состав системы команд должен быть удобен для компиляции с языков высокого уровня. Это требует, в частности, трехадресной системы команд. Микропроцессоры с RISCархитектурой • ARM7 (с тактовой частотой до 60-72 МГц), предназначенные, например, для недорогих мобильных телефонов и встраиваемых решений средней производительности. В настоящее время активно вытесняется новым семейством Cortex. • ARM9, ARM11 (с частотами до 1 ГГц) для продвинутых телефонов, карманных компьютеров и встраиваемых решений высокой производительности. • Cortex A — новое семейство процессоров на смену ARM9 и ARM11. • Cortex M — новое семейство процессоров на смену ARM7, также призванное занять новую для ARM нишу встраиваемых решений низкой производительности. В семействе присутствуют три значимых ядра: Cortex M0, Cortex M3 и Cortex M4. Семейства процессоров ARM • ‘A’(application) — для устройств, требующих высокой производительности (смартфоны, планшеты) • ‘R’(real time) — для приложений, работающих в реальном времени, • ’M’(microcontroller) — для микроконтроллеров и недорогих встраиваемых устройств. Профили могут поддерживать меньшее количество команд (команды определенного типа) Профили архитектур ARM Процессор может находиться в одном из следующих операционных режимов: • User mode — обычный режим выполнения программ. В этом режиме выполняется большинство программ; • Fast Interrupt (FIQ) — режим быстрого прерывания (меньшее время срабатывания); • Interrupt (IRQ) — основной режим прерывания; • System mode — защищённый режим для использования операционной системой; • Abort mode — режим, в который процессор переходит при возникновении ошибки доступа к памяти (доступ к данным или к инструкции на этапе prefetch конвейера); • Supervisor mode — привилегированный пользовательский режим; • Undefined mode — режим, в который процессор входит при попытке выполнить неизвестную ему инструкцию. Режимы работы ARM Регистры ARM В ARM разработчику постоянно доступны 17 регистров: • 13 регистров общего назначения (r0..r12); • Stack Pointer (r13) — содержит указатель стека выполняемой программы; • Link register (r14) — содержит адрес возврата в инструкциях ветвления; • Program Counter (r15) — биты [31:1] содержат адрес выполняемой инструкции; • Current Program Status Register (CPSR) — содержит флаги, описывающие текущее состояние процессора. Модифицируется при выполнении многих инструкций: логических, арифметических, и др. Регистры ARM • Арифметические и логические операции • Команда умножения • Чтение ячейки памяти и запись регистра в память • Множественное (блочное) чтение и запись • Переходы • Обработка прерываний • Инструкции для работы с сопроцессором Набор команд ARM Биты условия исполнения команд ARM • Negative – результат операции получился отрицательным, • Zero – результат равен нулю, • Carry – при выполнении операции с беззнаковыми числами произошел перенос, • oVerflow – при выполнении операции со знаковыми числами произошло переполнение, результат не помещается в регистр. Флаги условия команд Доминирующий из семейства ARM процессоров, используемые в планшетных ПК, основывается на стандарте Cortex – A. Этот класс процессоров состоит из различных проектов, варьирующихся по их производительности и функциям. Процессоры ARM для Android OS CORTEX-A5 CORTEX-A8 CORTEX-A9 CORTEX-A15 CORTEX-A17 Блок-диаграмма процессора Tegra 2 Процессоры для iOS • FPGA – это сокращение от английского словосочетания Field Programmable Gate Array. • ПЛИС – это сокращение от словосочетания «Программируемая Логическая Интегральная Схема». ПЛИС и FPGA – это аббревиатуры, обозначающие один и тот же класс электронных компонентов, микросхем. Это микросхемы, применяемые для создания собственной структуры цифровых интегральных схем. Архитектура ПЛИС (FPGA) Микросхема ПЛИС состоит из: • конфигурируемых логических блоков, реализующих требуемую логическую функцию; • программируемых электронных связей между конфигурируемыми логическими блоками; • программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой. Состав ПЛИС (FPGA) • SRAM-Based • Flash-based • Antifuse Классификация ПЛИС по типу хранения конфигурации Пример традиционного базового логического элемента Островная ПЛИС Иерархическая ПЛИС entity adder_2 is port (A, B : in integer range 0 to 3; C : out integer range 0 to 6) ; end adder_2; architecture functional of adder_2 is begin C <= A + B; end functional; Пример VHDL программы для ПЛИС ЦОС (цифровая обработка сигналов, DSP — digital signal processing) — это арифметическая обработка в реальном масштабе времени последовательности значений амплитуды сигнала, получаемых через равные промежутки времени. Процессоры цифровой обработки сигналов • • • • частотная фильтрация сигнала; свертка двух сигналов; вычисление корреляции двух сигналов; усиление ограничений или трансформация сигнала; • прямое и обратное преобразования Фурье. Примеры применения ЦОС процессоров • сокращение длительности командного такта, характерное для RISC-процессоров; • конвейеризация на уровне микрокоманд и команд; • размещение операндов большинства команд в регистрах; • использование теневых регистров для сохранения состояния вычислений при переключении контекста; • разделение памяти команд и данных — Гарвардская архитектура Особенности архитектуры процессоров ЦОС