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

Функция, добавленная к процессору после того, как его конструкция была представлена ​​на рынке

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

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

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

Историческое обоснование

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

Дополнительные возможности программирования инструкций

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

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

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

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

Затронутые семейства ЦП

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

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

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

ВМЭУлучшение виртуального режима 8086
ДЕОтладка расширений
ПСЕРасширения размера страницы
ТСКСчетчик отметок времени
МСРПоддержка RDMSR и WRMSR
ПАЕРасширения физического адреса
МСЕИсключение проверки машины
СХСИнструкция CMPXCHG8B (см. также Двойное сравнение и обмен и Расширения транзакционной синхронизации )
АПИКAPIC на чипе (см. также APIC )
МТРРТип памяти Диапазон Регистр
ПГЕPTE Global Bit (см. также таблицу страниц )
МКААрхитектура проверки машины
ЦМОВИнструкции условного перемещения и сравнения (см. также FCMOV )

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

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

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

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

ИА-32

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

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

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

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

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

Ссылки

  1. ^ http://markhobley.yi.org/glossary/supplementarycapability.html [ постоянная мертвая ссылка ‍ ]
  2. ^ http://markhobley.yi.org/glossary/supplementarycapability.html [ постоянная мертвая ссылка ‍ ]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Processor_supplementary_capability&oldid=1153287833"