9zip.ru - технологии для людей
9zip.ru Инструкции Архитектура ARM

Это скорее архитектура, по типу х86, но если Интел наращивал возможности своих процессоров, оставляя совместимость по бинарному коду со всеми процеесорами начиная с 16-ти разрядных, то фирма Advanced RISC Machines (ARM) сразу сделала 32-x битное RISC ядро где-то в 1985-ом (все команды длиной 4 байта, выровненные по границе 32-х битного слова). При этом у этой Английской фирмы получилось на удивление экономичное ядро и, не смотря на RISC ядро, программы для этого процессора получались достаточно компактными. В 90-х фирма ARM расширила архитектуру так называемым Thumb режимом.
Фирма ARM не производит кристаллы как таковые. Она начинала совместно с фирмой VLSI, а сейчас продала лицензии на ядра ~20 фирмам: Sharp, Sony, Sumsung, Texas Instarument, DEC, Cirrus Logic, VLSI, Atmel, AKM и пр. Ориентируется в первую очередь на использование во встроенных приложениях. Самый быстрый процессор с ядром ARM: Digital SA-110 на 230 Мгц, на исполнении Java тестов вставляет Pentium-233, потребляя <1Вт. Сколько при этом потребляет Pentium? В раз десять более...

Процессор имеет 16 видимых 32-х битных регистров R0..R15 (всего 31 регистр), R15-счетчик команд, а R14 обычно линк регистр, R13 обычно указатель стека программ. Процессор может находиться в 5 режимах: привелигерованном, пользовательском, прерывания, быстрого прерывания и обратотке исключения. При входе в режим быстрого прерывания регистры R8-R14 замещаются теневыми, поэтому нет необходимости их сохранять и можно сразу обрабатывать прерывание. При переходе из пользовательского режима в любой другой также замещаются регистры R13-R14. Доступ к регистрам R8-R14, при замещении их теневыми, также возможен.
Особенности системы команд: каждая команда занимает в памяти 32 бита, выполняется за один такт процессора, если нет обращения к памяти и эт не команда умножения и команда уже выбрана из памяти в конвеер. Для предотвращения потерь при переходах все(!!!) команды сделаны условными - порой выгоднее не делать сложение или пересылку, чем делать развилку в программе и вставлять переходы. Команды деления нет. Под поле условий отведено 4 бита. В любой арифметической команде или команде-пересылке можно сделать сдвиг одного операнда на фиксированое число бит или по значению регистра (последнее требует 1 дополнительный так для выполнения):

CMP R7,#80000000
MOVNE R1,#1E8000,

сравнить R7 c 0x80000000 и если не равно, то записать в R1 число 0x1e8000. Обе команды кодируются в 8 байтах, при этом число 0x80000000 представляется как 0x80 << 24, а 0x1e800 как 0x7a<<14.

В команде явно указывается (1 бит), должна ли она модифицировать арифметические флажки. Имеются команды груповой пересылки, когда можно пересылать и восстанавливать любой набор регистров R0-R15 (за это отвечают поле из 16 бит в кодировке команды). При этом можно указать, как должен модифицироватся указатель (порядок сохранения +/-) и должен ли адрес последнего операнда быть сохранен в указателе или указатель не должен меняться. Указателем может быть любой регистр.

Имеются команды обращения к сопроцессору. Причем сопроцессор (далеко не во все микросхемы ставится) для работы с числами с плавающей запятой выполняет только основные операции +,-,/,* и кв. корень. Остальное делается программно, как и целочисленное деление - зачем тратить транзисторы и драгоценное питание на всякие там тригометрические операции. Менеджер памяти выполнен как сопроцессор.
Программы на языке "C" легко приводятся к ассемблеру ARM.

Расширение Thumb - это удачная попытка втиснуть команды процессора в 16-ти битную длину команды, за счет отказа от условий в каждом типе команд, адресации меньшего количества регистров и др.. Hо при этом можно в любой момент переключиться в 32-х битный режим. Переход в 16-ти разрядный режим осуществляется путем перехода на невыровненый адрес. Короче говоря, осуществляется своеобразная распаковка 16-ти разрядных команд в 32-х разрядные. Экономия по объему кода порядка 30-40%, ну и несколько медленнее получается выполнение. Очень выгодно для программ, размещаемых в ROM.

ARM7TDMI - значит архитектура ARM7 с расширением Thumb, функциями отладки и ICE портом (буквы DI), улучшенный умножитель (M). ICE порт (JTAG) позволяет управлять всеми возможностями процессора по 5 проводам: гонять на полной скоросте а потом остановить, посмотреть все регистры, что-то модифицировать как в памяти, так и в регистрах, установить точки останова и пр.

Кстати, ARM сделал DSP сопроцессор, Picollo называется.

01.02.2015 © 9zip.ru
Авторские права охраняет Роскомнадзор

Понравилась статья? Похвастайся друзьям:

Хочешь почитать ещё про инструкции? Вот что наиболее популярно на этой неделе:
Необычные неисправности магнитол
Изготовление прокладок из силикона
Преобразователи напряжения на микросхеме NE555
Мышь одобряет.

Есть вопросы, комментарии? Напиши:

Имя
Комментарий
Длина текста:
число с картинки
Правила прочитал(а)

Пользовательские теги: 32-х битный arm процессор назовите особенности команд обращения в память в архитектуре arm. [ Что это? ]

Дальше в разделе инструкции: Описание работы схемы центрифуги, электродвигатель питается от сети переменного тока напряжением 220 в частотой 50 гц. под крышкой центрифуги установлен выключатель, блокирующий включение двигателя при открытой крышке. установкой требуемой выдержки времени подготавливают цепи включения реле и нагревателя.

Главная 9zip.ru База знаний радиолюбителя Контакты

Девять кучек хлама:

Радиотехника, электроника и схемы своими руками Ремонт домашней электроники Виртуальный музей старых радиодеталей XX века Ламповый звук hi-end и винтажная электроника Катушки Теслы Радиодетали и модули с Aliexpress Интернет и сети Сотовые операторы Инструкции



Дайджест
радиосхем
Новые схемы интернета - в одном месте!

Конкурс
для всех
Участвуй в новом конкурсе для радиолюбителей в ноябре-декабре 2016 и получай призы!



Гостевушечка


Сколько тебе лет?
Попытаемся составить портрет современного радиолюбителя...

Голосование запущено 07 ноября 2016, приняли участие 182 человека.