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 называется.


10 нравится? 9


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

Понравилась статья?
Мышь говорит:
поделись с друзьями!

Хочешь почитать ещё про инструкции? Вот что наиболее популярно на этой неделе:
Советы по доработкам усилителя Амфитон
Как пользоваться эмулятором ZX-Spectrum
Простой генератор звуковой частоты



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

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

Пользовательские теги: целочисленное деление на arm процессоре как прочитать бит из регистра arm на языке c [ Что это? ]

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

Главная 9zip.ru База знаний радиолюбителя Контакты
Девять кучек хлама:

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


Дайджест
радиосхем

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

 6.6 Игра «Змейка» на графическом дисплее
 6.6 Электрический обогреватель Ballu Plaza Ext ...
 27.5 Изменение штатной подсветки щитка приборов ...

Задай вопрос радиолюбителям!


4.3 Есть старая эпоксидка, двухкомпонентная, ...
3
2.6 китайский блок питания MAISHENG DC POWER SUPPLY ...
1
25.4 Можете разьяснить, что означают данные четыре ...
1