2013-08-07 3 views
-1

x86 имеет случаи ввода производителя, новые, недокументированные коды операций в то время. Из-за отсутствия холдинга ARM фабрики фабрики могут быть скрытые коды операций, введенные лицензиатом. После использования моего google-fu эта теория кажется неправильной. Из документации или прошлого опыта - знаете ли вы о какой-либо «скрытой мнемонике»?Список скрытых ARM 3 Ячейка сообщений

+2

HCF, возможно есть. – Jiminion

+0

Не скрытый код операции, но я помню, как однажды вложил ошибку, когда кусок написанного вручную кода NEON сработал на одном устройстве, которое использовало реализацию ARM «vanilla», при этом отлично работало на другом устройстве, основанном на одном из ключей Qualcomm Платформы Snapdragon. Оказалось, что согласно спецификации ARM одной из инструкций, используемых в коде, разрешено использовать только первые 16 регистров двойного слова в качестве одного из своих операндов. По-видимому, Snapdragon этого не волновало, но при реализации ванили это привело бы к исключению. Не помню, какая инструкция была. – Michael

ответ

1

XScale может быть очень заметным примером такой вилки. Intel в то время добавила собственные инструкции, чтобы предоставить более мощный носитель.

От Intel XScale® Core Developer’s Manual:

2.3 Расширения ARM архитектуры

третьего поколения микроархитектуры расширяет архитектуру ARMv5TE для удовлетворения потребностей различных рынков и проектных требований. Ниже приведен список расширений , которые обсуждаются в последующих разделах.

  • Добавлен сопроцессор обработки мультимедиа (CP0), который содержит 40-разрядный внутренний аккумулятор. Добавлено пять новых инструкций, которые обращаются к 40-разрядному аккумулятору. Атрибуты страницы были добавлены в дескрипторы таблицы страниц, а описание существующих атрибутов в ARMv5TE было расширено. Обратите внимание, что совместимость поддерживается с программным обеспечением, разработанным с использованием атрибутов таблицы страниц для предыдущих микроархитектур.
  • Сопутствующие процессоры 7 и сопроцессорные 14 регистров добавляются к микроархитектуре третьего поколения.
  • Функциональность сопроцессора 15 добавлена ​​и добавлены новые регистры.
  • Усовершенствования были сделаны в архитектуре исключений, которая включает в себя исключения ошибок проверки четности кэша команд, исключения отладки и неточные внешние прерывания данных.

Qualcomm на момент написания этого поста, как Intel, но с более закрытым подходом. Может быть, они напрямую не добавляют новые инструкции к своим ядрам, но они пытаются изменить их таким образом, чтобы дать им преимущество перед другими ядрами ARM. Примером тому являются инструкции SIMD, у Qualcomm есть собственный сопроцессор под названием VeNum и который имеет несколько меньших ограничений на регистрацию адресов по сравнению с ядрами ARM - в качестве примера приведено значение Michael's comment.