Введение в процессор ARM

Архитектура ARM процессоровARM — это семейство архитектур с набором команд, используемых при создании компьютерных процессоров, разработанных ARM Holdings. Он основан на вычислительной архитектуре с сокращенным набором команд, которую обычно называют RISC. Еще в 2010 году ARM Holdings, сообщила о поставках примерно 6100 миллионов процессоров на базе ARM производителям микросхем на базе архитектур ARM, что составляет 35 процентов от всех цифровых телевизоров и телевизионных приставок, 95 процентов смартфонов и 10 процентов мобильных устройств.

Миллионы электронных устройств по всему миру вторгаются в нашу повседневную жизнь, и мы стали полностью зависеть от них при выполнении большей части нашей работы. Очень хороший пример, подтверждающий это, — смартфон, к которому все быстро адаптируются из-за его разнообразных функций. Эти устройства — результат непрерывных разработок в области электроники. Большинство этих гаджетов оснащены встроенными процессорами, которые не только занимают меньше места, но и обеспечивают удобство использования устройства пользователями. Ядра процессоров ARM, используемые в большинстве этих устройств, соответствуют архитектуре, которая помогает им работать эффективно.

В настоящее время используется несколько встроенных архитектур, таких как архитектура ARM, разработанная ARM Ltd, архитектура AVR Atmel, архитектура MSP430 от TI и многие другие. Однако широко используемой и самой популярной встроенной архитектурой среди многих компаний является архитектура ARM от ARM Ltd.

Процессор ARM
Процессор ARM

 

История ARM

Advanced RISC machine (ARM) — это первый процессор компьютера с сокращенным набором команд (RISC) для коммерческого использования, который в настоящее время разрабатывается ARM Holdings. История процессора ARM началась с 1983 года в Англии, когда Acorn Computers Ltd официально запустила проект Acorn RISC Management после того, как Berkeley RISC вдохновила на разработку собственного процессора, один из высокоэффективных проектов в рамках ARPA (Advanced Research Projects Agency, теперь преобразованный в DARPA) проект СБИС, связанный с разработкой микропроцессоров на основе RISC, возглавляемый Дэвидом Паттерсоном, который ввел термин «RISC». Как следует из названия, это не означает, что процессоры с менее чем 100 инструкциями относятся к категории RISC, но вместо этого они должны иметь высокооптимизированный набор инструкций.

ARM вначале была известна как Acorn RISC. Совместно с VLSI Technology Inc. в качестве своего партнера по микросхемам ARM представила ARM1, первую микросхему ARM 26 апреля 1985 г., которая использовалась в качестве второго процессора для BBC Micro для разработки программного обеспечения моделирования для завершения работы над микросхемами поддержки ( VIDC, IOC и MEMC), а также для увеличения скорости работы программного обеспечения САПР, используемого при разработке ARM2. Apple, разрабатывая совершенно новую вычислительную платформу для своего персонального цифрового помощника Newton, обнаружила, что только RISC Acorn была близка к требованиям, необходимым для реализации, но поскольку ARM не имела встроенного блока управления памятью, Apple решила помочь в этом Acorn для разработки ARM.

Результатом этого сотрудничества стало то, что в 1990 году были созданы и Acorn Group, и Apple Computer, Inc., каждая с долями в 43 процента, а также VLSI Technology, Inc. в качестве инвестора, отдельная компания ARM Ltd. Здесь работал отдел исследований и разработок Acorn. После этого ARM стало аббревиатурой от Advanced RISC machine.

Но что такое Berkeley RISC?

В прошлом ядра микропроцессоров CISC, такие как Motorola 68000, использовали только подмножество доступного набора команд; поэтому большая часть схемы декодирования неиспользуемых инструкций была потрачена впустую. Но в RISC CISC был заменен несколькими регистрами, чтобы ускорить выполнение, поскольку доступ к этим регистрам занимало бы меньше циклов, чем требуется для доступа к памяти, что превосходит CISC.

Рассматривая случай инструкций ADD, в которых CISC будет отображаться в разных форматах, где один будет предназначен для сложения чисел в двух регистрах и размещения результата в третьем, в то время как другой позволит добавить два числа, хранящихся в основной памяти. В результате создается регистр, предлагающий широкий спектр инструкций для выполнения требуемых операций и предоставляющий несколько опций в качестве операндов.

Но в случае проектов RISC ADD всегда будет принимать регистры в качестве операндов, что создает необходимость для программиста писать дополнительные инструкции для загрузки значений из памяти, когда это необходимо. Теперь Berkeley RISC смог обеспечить хорошую производительность, используя конвейерную обработку и технику регистрового окна. При работе с окнами регистров ЦП содержит большое количество регистров, около 128, вместе называемых файлом регистров, в то время как группа из восьми регистров называется окном. Но программа может использовать только одно окно, что позволяет быстро вызывать процессы. Вызов просто перемещает окно вниз к набору из восьми регистров, используемых этой процедурой, а возврат перемещает окно назад.

Режим процессора

После этого RISC увидел множество разработок, доказывающих его простоту по сравнению с CISC. Вот некоторые особенности RISC:

  1. Большие 32-битные регистры общего назначения
  2. Фиксированный размер 32-битных команд
  3. Аппаратная логика декодирования команд вместо микрокодированных ПЗУ
  4. Возможность выполнения за один цикл
  5. Конвейерное выполнение
  6. Легкое прототипирование

Функции RISC могут быть реализованы в процессорах CISC, но для этого потребуется гораздо больше оборудования. Типичная архитектура RISC состоит из большого унифицированного файла регистров, архитектуры загрузки и сохранения, простых режимов адресации и унифицированных полей инструкций фиксированной длины. Благодаря этой характеристике достигается высокая производительность, небольшой размер кода и низкое энергопотребление.

Какие функции предоставляет ARM?

Британская международная компания по разработке полупроводников и программного обеспечения ARM Holdings plc предлагает комплексные решения, необходимые для производственного процесса, но компания не производит ИС. Кроме того, она предоставляет инструменты разработки программного обеспечения под брендами Keil и RealView. Она также обеспечивает лицензирование архитектуры ARM для компаний, которые хотят производить процессоры на базе ARM.

Архитектура ARM — это простая аппаратная конструкция, позволяющая отказаться от работы с микросхемой. Его низкая стоимость, простая конструкция и свобода размещения проектной точки, добавляют ему еще больше преимуществ.

Формат CPSR и SPSR

ARM позволяет использовать набор инструкций под названием «Thumb», который сжимает 32-разрядные инструкции до 16-разрядных, позволяя кодировать программы гораздо более плотно, чем стандартные наборы инструкций RISC. Процессоры, которым разрешено выполнять «Thumb», также позволяют 32-битным инструкциям работать так же, что позволяет смешивать 16-битные и 32-битные инструкции, не влияя на производительность, сохраняя мощные вычислительные возможности.

Общие регистры и режимы

ARM разрабатывает и лицензирует интеллектуальную собственность (IP) вместо производства чипов. ARM предоставляет два типа лицензий: «лицензия на реализацию» и «лицензия на архитектуру». Лицензия на реализацию предоставляет информацию для проектирования интегральной схемы, содержащей ядро ​​ARM. Лицензия на архитектуру позволяет лицензиатам разрабатывать свой собственный процессор с архитектурой набора команд ARM.

Ядра ARM просты по сравнению с другими процессорами, поскольку они могут быть изготовлены с использованием небольшого количества транзисторов. ARM — это 32-битная архитектура с набором команд. Смартфоны, телевизионные приставки, цифровые телевизоры и цифровые камеры, используют процессор ARM из-за их экономической эффективности и низкого энергопотребления. Архитектура ARM совместима со всеми четырьмя основными операционными системами, например, Symbian OS, Palm OS, Windows и Android.

ARM-смартфона
Оптимизированная блок-схема ARM-смартфона

 

Наборы команд в процессоре ARM классифицируются на набор команд Thumb и режим Jazelle. Режим ARM — это стандартный 32-битный набор команд. Набор команд Thumb представляет собой 16-битную сжатую форму, которая обеспечивает лучшую производительность, чем компьютеры со сложным набором команд (CISC). Jazelle DBX (прямое выполнение байт-кода) позволяет некоторым процессорам ARM выполнять байт-код Java.

Процессор ARM состоит из 32-разрядного регистра общего назначения. Шестнадцать регистров, а именно R0-R15, означают, что они могут быть изменены пользователем, тогда как другие регистры помогают ускорить процесс исключения. Некоторые регистры играют особые роли, например, R14 действует как регистр связи (LR), R15 действует как счетчик программ (PC), а R13 действует как указатель стека.

Существует семь режимов работы. Их режимы делятся на пользовательский, привилегированный и исключительный. Пользовательский режим — это обычный режим выполнения программы, в котором системные ресурсы недоступны. Если возникает какое-то исключение, то режим меняется на режим исключения. В режиме исключения доступны все системные ресурсы.

В ARM есть два важных регистра, а именно регистр текущего состояния программы (CPSR) и регистр сохраненного состояния программы (SPSR). CPSR аналогичен регистру PSWR в микроконтроллере 8051, который указывает некоторые важные биты флага, такие как биты переноса и биты нулевого флага, тогда как SPSR используется в режимах исключений. При возникновении исключения содержимое CPSR копируется в SPSR. Организация регистров в процессоре ARM показана на второй картинке.

Архитектура ARM прошла много этапов; в смартфонах используется архитектура ARMv5 и более поздние версии. Аппаратный модуль с плавающей запятой (FPU) — это главное изменение, внесенное в ARMv7, чтобы обеспечить большую скорость, чем программные операции с плавающей запятой. В набор были добавлены даже инструкции DSP, чтобы улучшить архитектуру ARM для использования в приложениях цифровой обработки сигналов (DSP) и мультимедиа. В ARMv7 была добавлена ​​даже функция Thumb-2 для получения плотности кода как Thumb и производительности как набора инструкций ARM, которая расширяет 16-разрядный набор инструкций Thumb 32-разрядными инструкциями, создавая наборы инструкций переменной длины.

Для генерации инструкций Thumb-2 или ARM, в зависимости от того, что требуется из того же исходного кода, предоставляется новая поддержка «унифицированного языка ассемблера» (UAL). Новый ARMv8 претерпел значительные изменения за счет использования 64-битной архитектуры и инструкций криптографии, поддерживающих AES и SHA-1 / SHA-256, и даже позволяет запускать 32-битные приложения. Оптимизированная блок-схема ARM-смартфона представлена ​​на 3 картинке.

Поэтому данная архитектура ARM с великолепными функциями широко применяется во многих организациях (более 2500 организаций имеют лицензии на IP), в результате чего она является ведущим в мире поставщиком полупроводниковых IP-сетей, на сегодняшний день поставлено более 40 миллиардов чипов на базе процессоров ARM. Таким образом, с ARM и ее постоянно совершенствующейся архитектурой будущее вычислительных устройств не только расширяется за счет экономической эффективности, но и предлагает множество функций.

С Уважением, МониторБанк

Добавить комментарий