LDM — или load multiple — моя любимая инструкция в ассемблере для ARM. Вот почему. Во-первых, что она делает. Вот пример: ldm r4, {r0, r1, r2, r3} Здесь она принимает базовый регистр (в данном случае r4) и набор регистров (в данном случае {r0, r1, r2, r3}). Загружает последовательные слова из адреса в базовом регистре в регистры из набора. Действие инструкции можно продемонстрировать с помощью такого C-подобного псевдокода: r0 = r4[0]; r1 = r4[1]; r2 = r4[2]; r3 = r4[3]; Читать дальше →
Материснкая плата SynQuacer E-Series для 24-ядерного ARM-сервера Серверные процессоры на базе ARM давно угрожают позициям Intel в дата-центрах, но пока это лишь теоретическая угроза. До сих пор она не слишком реализовалась, если посмотреть на реальные случаи крупномасштабных развёртываний ARM-серверов. Таких просто нет. Однако новое поколение недорогих ARM-серверов может изменить ситуацию. Например, компания SinoVoIP недавно представила 24-ядерный ARM-сервер на платформе Banana Pi. Читать дальше →
Если вы новичок в экосистеме Arm, то считайте это кратким введением в терминологию, которую вы могли видеть раньше, но понимаете не до конца. Архитектура Arm — это семейство архитектур с набором упрощённых команд (Reduced Instruction Set Architecture, RISC) с режимами простой адресации. Обработка…
Недавно попросили в двух словах рассказать серьезным людям о загрузке операционной системы на ARM и дать оценку угроз безопасности этого процесса. Вообще ARM-процессоров и вообще ОС. Вы понимаете, все ведь слышали про эти ARM, и что такое ОС тоже все знают. Желательно, на уровне квадратиков со стрелками. Загрузка ARM в четырех прямоугольниках — под катом. Читать дальше →