Листовые инструкции (Процессор / Сборка) - PullRequest
2 голосов
/ 01 ноября 2011

Я не уверен, что ТАК лучшее место, чтобы задать этот вопрос. Если нет, пожалуйста, дайте мне знать, на какой сайт я должен перейти.

Я читал статью о технологии Intel Trusted Execution (TXT), и в ней есть следующий текст, который я не могу понять:

«Intel создала новую« листовую »инструкцию под названием GETSEC, которую можно настроить для вызова различных листовых операций (включая SENTER)»

Я не могу ничего узнать о листовых инструкциях. Что они и почему / когда они используются? Есть намеки?

p.s. Документ под названием «Как низко вы можете пойти? Рекомендации по аппаратному поддержанию минимального выполнения кода TCB», автор McCune et al.

1 Ответ

7 голосов
/ 01 ноября 2011

Большинство инструкций делают одну вещь - складывают, вычитают, перемещают и т. Д. Некоторые (редкие) инструкции делают совершенно разные вещи в разных ситуациях.Одним из примеров этого является инструкция CPUID, которая выполняет разные действия в зависимости от начального значения EAX (а иногда и ECX).Эти «разные вещи» называются листьями (от Intel).

Инструкция Intel «GETSEC» выглядит следующим образом.Это одна инструкция, но в зависимости от начального значения EAX она может делать совершенно разные вещи.Например, если вы предварительно установите EAX на ноль, инструкция GETSEC выполнит «листовую функцию (get) CAPABILITIES», если вы предварительно установите EAX на 4, инструкция GETSEC выполнит «функцию листа SENTER», а если вы установите EAX на5 заранее инструкция GETSEC выполнит «конечную функцию SEXIT».

...