Дополнительные возможности процессора - Processor supplementary capability


А дополнительные возможности процессора это функция, которая была добавлена ​​к существующей центральное процессорное устройство (CPU) дизайн после первоначального вывода этого дизайна на рынок.

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

Возможность дополнительных инструкций ЦП, как правило, не распространяется на 8- или 16-разрядные ЦП, так как многие из этих ЦП используются в основном как микроконтроллеры. На современных 32- и 64-битных процессорах дополнительные возможности процессора не распространяется на Модули с плавающей запятой (FPU) или же Единицы управления памятью (MMU), поскольку они считаются основными функциональными возможностями. Однако расширения основных функций MMU и FPU могут считаться расширениями ЦП.

Историческое рассуждение

Всегда предполагалось, что функция дополнительных инструкций означает фиксированные наборы инструкций, которые не являются обязательными для всех ЦП в семействе ЦП. Дополнительные инструкции можно найти не на всех процессорах этого семейства.[1] Программист, желающий использовать дополнительную функцию ЦП, сталкивается с несколькими вариантами выбора.

Опции программирования дополнительных инструкций

  • В Операционная система (ядро) и системный программист (программы) могут спроектировать системное программное обеспечение таким образом, чтобы оно в обязательном порядке использовало эту функцию и, следовательно, могло работать только на более новых процессорах, которые имеют эту функцию.
  • С другой стороны, системный программист может написать или использовать существующие программные библиотеки, чтобы определить, имеет ли процессор, на котором он работает, конкретную функцию (или набор инструкций).

Если необходимых инструкций нет, может быть инициирован откат к альтернативному методу (предположительно более медленному или менее желательному), или же программа может быть настроена на выполнение с ограниченной функциональностью.

  • В остальных случаях Операционная система может имитировать новые функции для старых процессоров, хотя часто с пониженной производительностью.

Используя наименьший общий знаменатель Стратегия (отказ от использования дополнительных возможностей процессора) позволяет сохранять переносимость программ на все машины одной архитектуры.[2]

Затронутые семейства процессоров

Некоторые популярные архитектуры процессоров, такие как x86, 68000, и MIPS видели много новых возможностей, появившихся за несколько поколений дизайна.

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

флаги возможностей x86

VMEВиртуальный режим 8086 Улучшение
DEОтладка расширений
PSEРасширения размера страницы
TSCСчетчик отметок времени
MSRПоддержка RDMSR и WRMSR
PAEРасширения физических адресов
MCEИсключение проверки машины
CXSИнструкция CMPXCHG8B (см. Также Двойное сравнение и замена и Расширения транзакционной синхронизации )
APICAPIC на чипе (см. Также APIC )
MTRRТип памяти Регистр диапазона
PGEPTE Global Bit (см. Также Таблица страниц )
MCAАрхитектура проверки машины
CMOVИнструкции по условному перемещению и сравнению (см. Также FCMOV )

Дополнительные возможности, не представленные флагами

Включить (не полный список):

Дополнительные инструкции процессора

Дополнительные инструкции процессора - это инструкции, реализованные на определенных процессорах в семействе, но не во всех процессорах в данном семействе.

IA-32

Следующие ниже инструкции считаются дополнительными инструкциями процессора для IA-32 архитектура. Эти инструкции были добавлены в более поздние производственные процессоры и не являются частью исходного набора инструкций IA-32. Программы, содержащие эти инструкции, могут работать некорректно на всех машинах семейства IA-32:

cmovnp
bswap обмен байтами
cmovусловный ход
cmova
cmovae
cmovb
cmovbe
cmovc
cmove
cmovg
cmovge
cmovl
cmovle
cmovna
cmovnae
cmovnb
cmovnbe
cmovnc
cmovng
cmovnge
cmovnl
cmovnle
cmovno
cmovns
cmovnz
cmovo
cmovp
cmovpe
cmovpo
cmovs
cmovz
cpuid
fcmovусловный ход с плавающей запятой
fcomi
nopl
rdpmc читать счетчики монитора производительности
rdtscчитать счетчик отметок времени
системный вызов
сисентер
сисексит
sysret
ud2неопределенная инструкция только для тестирования программного обеспечения
xsaveсохранить расширенные состояния процессора
xrstorвосстановить расширенные состояния процессора

Возможности FPU и MMU

Возможность совместной обработки математических данных FPU (Floating Point Unit) доступна на всех процессорах x86, начиная с серии 80486DX. Наборы инструкций FPU и MMU (для семейства x86) не считались дополнительными инструкциями с момента их появления из-за их важности для основных функций ЦП.

Смотрите также

Рекомендации