Loading AI tools
З Вікіпедії, вільної енциклопедії
Intel MPX (англ. Memory Protection Extensions) — набір розширень архітектури x86, запропонований Intel. З відповідною підтримкою компілятора, бібліотеки середовища виконання[en] і операційної системи, MPX мав на меті підвищення захищеності програмного забезпечення комп'ютерів шляхом перевірки вказівників, які можуть потенційно приводити до переповнення буфера.
Intel MPX додає до стандартної архітектури x86 кілька нових регістрів спеціально для перевірки меж ділянок пам'яті (англ. bound registers, «межові регістри»), і нові інструкції для роботи з цими регістрами. Додатково вводиться набір так званих «таблиць меж» (англ. bound tables), де зберігаються значення меж, що не вмістилися у межові регістри.[1][2][3][4][5]
Нові межові регістри — 128-розрядні, названі від BND0
до BND3
. Кожен регістр містить пару 64-розрядних значень: нижню межу LB (англ. lower bound) і верхню межу UB (англ. upper bound) буфера пам'яті. Верхня межа зберігається у оберненому коді; конверсія здійснюється інструкціями BNDMK
(«створити межу», англ. create bounds) і BNDCU
(«перевірити верхню межу», англ. check upper bound). Два регістра конфігурації BNDCFGx
(BNDCFGU
у просторі користувача, і BNDCFGS
у режимі ядра), а також регістр статусу BNDSTATUS
, який надає адресу і код помилки у випадку порушення доступу.[6][7]
Для збереження меж у пам'яті використовується дворівнева трансляція адрес. Верхній рівень складається з каталога меж (англ. Bounds Directory, BD), і створюється при старті програми. Кожен елемент каталога є або порожнім, або містить вказівник на таблицю меж (англ. Bounds Table, BT), що створюється динамічно, і яка містить множину меж і відповідних лінійних адрес вказівників. Інструкції «завантажити межі» (BNDLDX
, англ. bounds load) і «зберегти межі» (BNDSTX
, англ. store bounds) прозоро здійснюють трансляцію адрес і меж у відповідному елементі таблиці меж.[6][7]
Вперше реалізація MPX з'явилася у мікроархітектурі Intel Skylake.[8]
Мікроархітектура Intel Goldmont також підтримує MPX.[8]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.