Автор работы: Пользователь скрыл имя, 25 Декабря 2014 в 14:46, реферат
С момента, когда человек изобрел цифровую передачу данных, сложно представить себе нашу жизнь без компьютеров. Глобальная компьютеризация проникла во все сферы нашей жизни: медицину, развлечения, индустрию, науку. Куда бы не пошел - всюду компьютеры. Все это создает впечатление, что вычислительные машины правят миром.
Набор команд Thumb-2:
Данный набор команд расширяет ограниченный 16-битный набор команд Thumb дополнительными 32-битными командами, чтобы задать набору команд дополнительную ширину. Цель Thumb-2 — достичь плотности кода как у Thumb, и производительности как у набора команд ARM на 32 битах. Thumb-2 расширяет как команды ARM, так и команды Thumb еще большим количеством команд, включая управление битовым полем, табличное ветвление, условное исполнение
Набор команд Jazelle:
Jazelle — это технология, которая
позволяет байткоду Java исполн
Функции RISC:
Архитектура ARM обладает следующими особенностями RISC:
Особенности дизайна:
Условное исполнение:
Одним из существенных отличий архитектуры ARM от других архитектур ЦПУ является так называемая предикация — возможность условного исполнения команд. Под «условным исполнением» здесь понимается то, что команда будет выполнена или проигнорирована в зависимости от текущего состояния флагов состояния процессора.
В то время как для других архитектур таким свойством, как правило, обладают только команды условных переходов, в архитектуру ARM была заложена возможность условного исполнения практически любой команды. Это было достигнуто добавлением в коды их инструкций особого 4-битового поля (предиката). Одно из его значений зарезервировано на то, что инструкция должна быть выполнена безусловно, а остальные кодируют то или иное сочетание условий (флагов). С одной стороны, с учётом ограниченности общей длины инструкции, это сократило число бит, доступных для кодирования смещения в командах обращения к памяти, но с другой — позволило избавляться от инструкций ветвления при генерации кода для небольших if-блоков.
Другие особенности:
Другая особенность набора команд это возможность соединять сдвиги и вращения в инструкции «обработки информации» (арифметическую, логическую, движение регистр-регистр). Это приводит к тому, что типичные программы ARM становятся плотнее, чем обычно, с меньшим доступом к памяти. Таким образом, конвейер используется гораздо более эффективно. Даже несмотря на то, что ARM работает на скоростях, которые многие бы сочли низкими, он довольно-таки легко конкурирует с многими более сложными архитектурами ЦПУ. ARM процессор также имеет некоторые особенности, редко встречающиеся в других архитектурах RISC — такие, как адресация относительно счетчика программ (на самом деле счетчик команд ARM является одним из 16 регистров), а также пре- и пост-инкрементные режимы адресации. Другая особенность, которую стоит отметить, это то, что некоторые ранние ARM процессоры (до ARM7TDMI), например, не имеют команд для хранения 2-байтных чисел.
Конвейер и другие аспекты реализации:
ARM7 и более ранние версии имеют
трехступенчатый конвейер. Это ступени
переноса, декодирования и исполнения.
Более производительные
VFP:
Технология VFP18 — расширение сопроцессора в архитектуре ARM. Она производит низкозатратные вычисления над числами с плавающей запятой одинарной/двойной точности. VFP производит вычисления с плавающей запятой, подходящие для широкого спектра приложений — например, для КПК, смартфонов, сжатие звука, трёхмерной графики и цифрового звука, а также принтеров и телеприставок. Архитектура VFP также поддерживает исполнение коротких векторных команд.
Расширения безопасности:
Расширения безопасности, позиционируемые как TrustZone Technology, находятся в ARMv6KZ и других, более поздних, профилированных на приложениях архитектурах. Оно обеспечивает низкозатратную альтернативу добавлению специального ядра безопасности, обеспечивая 2 виртуальных процессора, поддерживаемых аппаратным контролем доступа. Это позволяет ядру приложения переключаться между двумя состояниями, называемыми «миры» (чтобы избежать путаницы с названиями возможных доменов), чтобы не допустить утечку информации из более важного мира в менее важный. Этот переключатель миров обычно ортогонален всем другим возможностям процессора. На практике же, так как конкретные детали реализации TrustZone остаются собственностью компании и не разглашаются, остается неясным, какой уровень безопасности гарантируется для данной модели угрозы.
Отладка:
Все современные процессоры ARM включают аппаратные средства отладки, так как без них отладчики ПО не смогли бы выполнить самые базовые операции типа остановки, отступа, установка контрольных точек после перезагрузки.
Регистры:
ARM предоставляет 31 регистр общего назначения разрядностью 32 бит. В зависимости от режима и состояния процессора пользователь имеет доступ только к строго определённому набору регистров. В ARM state разработчику постоянно доступны 17 регистров:
13 регистров общего назначения (r0..r12).
Stack Pointer (r13) — содержит указатель стека выполняемой программы.
Link register (r14) — содержит адрес возврата в инструкциях ветвления.
Program Counter (r15) — биты [31:1] содержат адрес выполняемой инструкции.
Current Program Status Register (CPSR) — содержит флаги, описывающие текущее состояние процессора. Модифицируется при выполнении многих инструкций: логических, арифметических, и др.
Во всех режимах, кроме User mode и System mode, доступен также Saved Program Status Register (SPSR). После возникновения исключения регистр CPSR сохраняется в SPSR. Тем самым фиксируется состояние процессора (режим, состояние; флаги арифметических, логических операций, разрешения прерываний) на момент непосредственно перед прерыванием.
Поддерживаемые системы ввода-вывода:
В большинстве существующих моделей микропроцессоров реализована шина PCI19 и возможность работы с DRAM20. В процессорах, предназначенных для потребительских устройств, также обычно интегрируются: контроллеры шин USB, IIC, устройство для работы с флэш-носителями стандарта, контроллер последовательного порта. Все процессоры имеют линии ввода-вывода общего назначения. В потребительских устройствах к ним могут быть подключены кнопки «быстрого запуска», сигнальные светодиоды, колесо прокрутки (JogDial), клавиатура.
Маркировка:
Как уже было сказано, существуют три базовых направления:
A – Ядра для классического применения
M – Ядра для микроконтроллеров
R – Ядра для встраиваемых систем, работающих в режиме реального времени.
Внутрифирменная маркировка разработчиков предусматривает отображение большого количества информации. Выглядит эта маркировка следующим образом: ARM[NN][R][Z][Ext]. Здесь:
NN – номер семейства
R – тип блока защиты или управления памятью
Z – кэш-память
Ext – расширения процессора.
В настоящее время имеются следующие варианты: T – поддержка режима Thumb; D – JTAG порт; M – быстрый умножитель; I – встроенный блок эмуляции; E – расширенный набор инструкций (подразумевает обязательное наличие функций TDMI, поэтому в случае использования индекса E индексы TDMI из названия опускаются); J – поддержка Java инструкций (режим Jazelle); F – блок векторной арифметики над числами с плавающей точкой; S – синтезируемая версия (поставляется производителю кристалла в виде исходного текста, требующего компиляции (синтеза), в отличие от несинтезируемых версий, которые имеют заданную и неизменяемую топологию).
Например, процессорное ядро ARM7TDMI принадлежит семейству ARM7, не имеет кэш-памяти и блока защиты памяти, поддерживает набор 16-разрядных команд, оснащено JTAG-отладчиком, имеет встроенные средства аппаратного умножения и блок эмуляции [7].
В данной работе достаточно подробно была рассмотрена история становления компании ARM Holdings. Сегодня можно найти огромное количество различных микросхем, иногда с полностью отличающимися возможностями, но имеющими в основе ARM-ядро. Главное достоинство процессора состоит в его достаточно высокой производительности при малом потреблении энергии. Упрощенные схемы ядра и команд позволяют использовать меньше транзисторов, так что процессор может иметь компактный вид.
На сегодняшний день большинство мобильных электронных устройств создано на основе процессорного ядра ARM. Низкое энергопотребление и высокая производительность сделали эти процессоры популярными среди разработчиков мобильных телефонов и портативных компьютеров. Процессоры Cortex-A и системы на кристалле с низким энергопотреблением на их основе конкурируют с процессорами Intel Atom, грозя вытеснить их с рынка нетбуков и планшетных компьютеров.
1 Micro – англ. микро. Processor – англ. процессор
2 БИС - большая интегральная схема, до 10 тыс. элементов в кристалле
3 СБИС - сверхбольшая интегральная схема, более 10 тыс. элементов в кристалле
4 Integrated – англ. интегрированный. Microcircuit – англ. микросхема
6 CISC (Complete Instruction Set Computer) – англ. компьютер с полным набором команд
7 RISC (Reduced Instruction Set Computer) – англ. компьютер с сокращенным набором команд
8 RAM (Random Access Memory) – англ. память с произвольным доступом (оперативная память)
10 CPU (central processing unit) – англ. ЦПУ (центральное процессорное устройство)
11 GPS (Global Positioning System) – англ. система глобального позиционирования
12 PDA (Personal Digital Assistant) – англ. «личный цифровой секретарь» или КПК (карманный персональный компьютер)
13 IP (intellectual property) – англ. «интеллектуальная собственность»
14 DEC (Digital Equipment Corporation) – англ. «корпорация цифрового оборудования», американская компьютерная компания, была основана в 1957 году
15 NASDAQ ( National Association of Securities Dealers Automated Quotation) – англ. «Автоматизированные котировки Национальной ассоциации дилеров по ценным бумагам», американская биржа, специализирующаяся на акциях высокотехнологичных компаний (производство электроники, программного обеспечения и т. п.). Одна из трёх основных фондовых бирж США.
16 OEM ( Original equipment manufacturer ) – англ. оригинальный производитель оборудования)
17 FPGA(. Field-Programmable Gate Array) – англ. «Программируемая пользователем вентильная матрица (ППВМ)» — полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления; отсюда название: «программируемая пользователем». ППВМ программируются путём изменения логики работы принципиальной схемы
18 VFP (Vector Floating Point) – англ. «Вектор с плавающей запятой».
19 PCI ( Peripheral component interconnect) – англ. «взаимосвязь периферийных компонентов», шина ввода-вывода для подключения периферийных устройств к материнской плате компьютера.
20 DRAM (Dynamic random access memory) – англ. «Динамическая память с произвольным доступом».