Семейства процессоров ARM

advertisement
Альтернативные
процессорные
архитектуры
Принципы:
• Любая операция, вне зависимости от ее типа, должна быть выполнена
за 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-процессоров;
• конвейеризация на уровне микрокоманд и
команд;
• размещение операндов большинства команд в
регистрах;
• использование
теневых
регистров
для
сохранения
состояния
вычислений
при
переключении контекста;
• разделение памяти команд и данных —
Гарвардская архитектура
Особенности архитектуры
процессоров ЦОС
Download