Я считаю, что процессор смотрит на CPL при выполнении привилегированных инструкций. Если CPL равен 0 (режим ядра), то CPU может выполнять привилегированные инструкции, а если CPL равен 3 (режим пользователя), то CPU не может выполнять привилегированные инструкции (в этом случае он может выполнять только инструкции пользовательского режима). ).
Также есть некоторые инструкции, такие как IN
и OUT
, где ЦП просматривает CPL, IOPL и битовую карту разрешений ввода-вывода в структуре TSS, чтобы посмотреть, сможет ли он их выполнить.
Но заботится ли CPU о DPL и RPL при выполнении некоторых инструкций? или DPL и RPL вообще не играют никакой роли при выполнении инструкций и имеют значение только при использовании сегментации памяти?