{"id":324144,"date":"2021-06-01T15:00:58","date_gmt":"2021-06-01T15:00:58","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=324144"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=324144","title":{"rendered":"\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b \u043d\u0435\u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u043a\u043e\u0434\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 x86"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0412\u0435\u043d\u0433\u0435\u0440\u0441\u043a\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u041a\u0430\u043d \u0411\u0451\u043b\u044e\u043a (Can B\u00f6l\u00fck) \u0438\u0437 <a href=\"https:\/\/verilave.com\/\">Verilave<\/a> \u043d\u0430\u0448\u0451\u043b \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435 \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 x86-64. &nbsp;<\/p>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u043a\u043e\u0434\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442! \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u0438 \u043c\u0435\u0440\u0442\u0432\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u043c\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442 \u043f\u0430\u0441\u0445\u0430\u043b\u043a\u0438, \u0430 \u0442\u0440\u0435\u0442\u044c\u0438 \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0437\u0430\u0431\u044b\u0442\u044b\u043c\u0438 \u0431\u0430\u0433\u0430\u043c\u0438 \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u0432\u0438\u0434\u044f\u0442 \u0441\u0432\u0435\u0442. \u0415\u0441\u0442\u044c \u0438 \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u043a\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0446\u0435\u043b\u044b\u0439 \u00ab<a href=\"https:\/\/hackaday.com\/2019\/02\/03\/unlocking-god-mode-on-x86-processors\/\">\u0420\u0435\u0436\u0438\u043c \u0431\u043e\u0433\u0430\u00bb<\/a> \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0431\u043e\u0439\u0442\u0438 \u0437\u0430\u0449\u0438\u0442\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 <a href=\"https:\/\/twitter.com\/_markel___\/status\/1373059797155778562\">\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434 \u0447\u0438\u043f\u0430<\/a>.&nbsp;\u0411\u0451\u043b\u044e\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u0445 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u0447\u0451\u043c \u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0434\u043d\u0438\u043c\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438, \u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u043e\u0434\u043d\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u2013 \u043d\u0435\u0442.<\/p>\n<p>\u041a\u0430\u043d \u0411\u0435\u043b\u043b\u044e\u043a \u0432\u044b\u0432\u0435\u043b \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043a\u0430\u043d\u0430\u043b. \u0421\u043f\u043e\u0441\u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. &nbsp;\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u0443\u0442:&nbsp;<a href=\"https:\/\/haruspex.can.ac\/browse\/\">haruspex.can.ac<\/a>&nbsp;\/&nbsp;<a href=\"https:\/\/github.com\/can1357\/haruspex\/\">Github<\/a>. <\/p>\n<p>\u0412 \u0441\u0432\u043e\u0451\u043c \u0431\u043b\u043e\u0433\u0435 \u041a\u0430\u043d \u0411\u0435\u043b\u043b\u044e\u043a \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e \u0441\u0443\u0442\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430:<\/p>\n<h3>\u041e\u0442\u043a\u0443\u0434\u0430 \u0432\u0437\u044f\u043b\u0438\u0441\u044c \u043c\u0438\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438<\/h3>\n<p>\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b \u0438\u043c\u0435\u044e\u0442 \u0431\u0435\u0437\u0443\u043c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u043c\u0438\u043a\u0440\u043e\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443. \u0421\u0442\u0430\u0440\u044b\u0435 \u0434\u043e\u0431\u0440\u044b\u0435 \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u041e\u043d\u0438 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442 \u0438\u0445 \u0432 \u043c\u0438\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043c\u0438\u043a\u0440\u043e-\u043a\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u043f\u043e\u0440\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.&nbsp;\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 Intel \u044d\u0442\u0438\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u043c\u043e\u0434\u0443\u043b\u044f:<\/p>\n<ul>\n<li>\n<p><strong>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043c\u0438\u043a\u0440\u043e-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (MITE)<\/strong>&nbsp;\u2013 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u0447\u0435\u0442\u044b\u0440\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u043c\u0438\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0435\u043a\u0432\u0435\u043d\u0441\u043e\u0440 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434\u0430 (MS) \u2013<\/strong> \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 CISC \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 Intel \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0443\u043c\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c<strong> \u0431\u0443\u0444\u0435\u0440 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 (DSB)<\/strong>,&nbsp;\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a&nbsp;<strong>iCache<\/strong>. \u041d\u043e \u043e\u043d \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u0449\u0435\u0434\u0440\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 Intel. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d48\/fa0\/c21\/d48fa0c21bdc7a5c08870204784d1b2b.png\" width=\"716\" height=\"124\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/802\/071\/46f\/80207146f3c89c27f3fdae17ebd26c4c.png\" width=\"717\" height=\"123\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u0434 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Sandsifter. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 #UD (\u0441\u043a\u0430\u0436\u0435\u043c, \u0435\u0441\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0438\u043b\u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f), \u044d\u0442\u043e \u043d\u0430\u0441 \u043d\u0435 \u043e\u0431\u043c\u0430\u043d\u0435\u0442, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0433\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0441\u0435\u043b\u0435\u043d\u043d\u043e\u0439<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.&nbsp;\u0418\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u0434\u0440\u044f\u0434 \u2013 \u043d\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u0431\u0440\u043e\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u0440\u0442\u0438\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043a\u044d\u0448. \u041a\u0430\u043a \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c? \u041e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c! \u0418 \u0437\u0434\u0435\u0441\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b:&nbsp;\u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0435 \u0438 \u043d\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (speculative execution).&nbsp;<\/p>\n<p>\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438? \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0432\u0435\u0442\u0432\u044c, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u043f\u0435\u0440\u0435\u0445\u043e\u0434. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0430\u0451\u0442 \u0440\u0430\u0432\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u0435\u0438\u0445 \u0432\u0435\u0442\u043e\u043a \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c, \u0433\u0434\u0435 \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041f\u043e\u0442\u043e\u043c \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0432\u043e\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041a\u0430\u043a \u0440\u0430\u0437 \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 CALL. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442:<\/p>\n<pre><code>call x   &lt;speculated code&gt; x:   lea        rax,     [rip+z]   xchg       [rsp],   rax   ret z:<\/code><\/pre>\n<p>\u042d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>XCHG<\/code> \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0439, \u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0443\u043c\u0435\u043d, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u0446\u0435\u043b\u0435\u0432\u043e\u043c\u0443 \u0431\u0443\u0444\u0435\u0440\u0443 \u0432\u0435\u0442\u043a\u0438 \u0442\u043e, \u0447\u0442\u043e \u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.&nbsp;\u0417\u0434\u0435\u0441\u044c \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>CHG<\/code>, \u0430 \u043d\u0435 <code>MOV<\/code>, \u0447\u0442\u043e\u0431\u044b \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435<code>LOCK<\/code>, \u0447\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u0443\u0444\u0435\u0440 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0438\u0437 \u043a\u044d\u0448\u0430. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. \u041a\u044d\u0448 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043a\u043e\u0434, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430 \u043a \u043b\u044e\u0431\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438. \u041f\u0435\u0440\u0435\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u0437\u0430\u043c\u0435\u0440\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442:<\/p>\n<pre><code>auto ip = ia32::get_ip() &amp; ~63ull; std::copy_n( ( volatile uint8_t* ) ip, 512, ( volatile uint8_t* ) ip ); ia32::sfence(); for ( size_t n = 0; n != 512; n += 64 )   ia32::clflush( ip + n );<\/code><\/pre>\n<h3>\u0422\u043e\u0447\u043d\u044b\u0439 \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.&nbsp;\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0442\u043e\u0447\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u0447\u0442\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b.&nbsp;\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435\u0441\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u044f\u0434\u0440\u0430, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u041d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.&nbsp;\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, <code>#SMI<\/code> (System Management Interrupt \u0438\u043b\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439), \u043a\u0430\u043a \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 <strong>PMC<\/strong> (\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c). \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u044d\u0442\u043e, \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043c\u0435\u0448\u0430\u0435\u0442 \u0447\u0438\u0441\u0442\u043e\u0442\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u041a\u0430\u043d \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u043b \u043e\u043f\u044b\u0442\u044b, \u043f\u043e\u043a\u0430 <code>IA32_MSR_SMI_COUNT<\/code> \u043d\u0435 \u0441\u0442\u0430\u043b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.&nbsp;\u0414\u0440\u0443\u0433\u043e\u0439 \u0431\u0430\u0433\u0435\u0440 \u2013 <strong>#NMI<\/strong>. \u0421 \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f. \u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u043b\u043e \u0431\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 <strong>#MC<\/strong>, \u043d\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0431\u0438\u0442\u044c.<\/p>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437, \u0432\u044b\u0431\u0438\u0440\u0430\u044f <code>Mod(x)<\/code> \u0438 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044f \u043a\u043e\u0434, \u0432\u044b \u0438\u0437\u0431\u0435\u0436\u0438\u0442\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u2013 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445.&nbsp;\u0421\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 15 \u043a\u043e\u043f\u0438\u0439&nbsp;<code>NOP<\/code> \u0438 \u043e\u0434\u043d\u043e\u0439&nbsp;<code>0xCE<\/code> \u0432 \u043a\u043e\u043d\u0446\u0435, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435&nbsp;<code>#UD<\/code> \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435.&nbsp;\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435&nbsp;<code>0x00-0xFF<\/code>, \u0438 \u0432\u0441\u0435 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441&nbsp;<code>0x0F<\/code> \u0438\u043b\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430&nbsp;{ <code>0x66<\/code>, <code>0xF2<\/code>, <code>0xF3<\/code> } \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 Intel \u043b\u044e\u0431\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.&nbsp;\u041d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0443\u0444\u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 ModR\/M, \u043d\u043e \u044d\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<h3>\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0434\u0432\u0430 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0437\u0430\u043c\u0435\u0440\u0430:&nbsp;NOP, \u043a\u0430\u043a \u043e\u043d \u0435\u0441\u0442\u044c, \u0438 <code>0xCE<\/code>, \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f&nbsp;<code>for-real-#UD<\/code>.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0440\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u00ab\u043c\u0443\u0441\u043e\u0440\u0430\u00bb, \u0441\u0440\u0430\u0437\u0443 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u0437\u0430\u043c\u0435\u0440\u044b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u044e <code>for-real-#UD<\/code>. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u0432. \u0428\u0430\u0431\u043b\u043e\u043d:<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2510 \u2502 (index) \u2502             decoding             \u2502 mits \u2502 ms \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524 \u2502   90    \u2502              'nop'               \u2502  54  \u2502 80 \u2502 \/*Baseline*\/ \u2502  6690   \u2502           'data16 nop'           \u2502  53  \u2502 67 \u2502 \u2502  f290   \u2502              'nop'               \u2502  53  \u2502 80 \u2502 \u2502 f20f90  \u2502 'seto byte ptr [rax-0x6f6f6f70]' \u2502  48  \u2502 80 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 nop \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f MITE. \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u0435\u043d, MITS \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u0430 MS \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0435\u0436\u043d\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a, \u0437\u0430\u0434\u0430\u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0447\u0442\u043e&nbsp;<code>0x0F<\/code> \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u043c.&nbsp;\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0432 \u043e\u0431\u0430 \u044d\u0442\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043c\u044b \u0443\u0431\u0435\u0440\u0451\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0435\u0441\u044c \u043c\u0443\u0441\u043e\u0440 \u0438 \u0434\u0430\u0436\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.&nbsp;\u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u043d\u0438\u0436\u0435 \u043a\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 54954 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<\/p>\n<pre><code>const propertyMatch = (i1, i2) =&gt; {   return i2.ms == i1.ms &amp;&amp; i2.outOfOrder == i1.outOfOrder &amp;&amp; i2.iclass == i1.iclass; };  \/\/ Purge redundant prefixes. \/\/ for (const k1 of Object.keys(instructions)) {   \/\/ Skip if already deleted.   \/\/   const i1 = instructions[k1];   if (!i1) {     continue;   }    \/\/ Iterate each prefix (apart from 0f):   \/\/   for (const pfx of prefixList) {     \/\/ If the instruction exists:     \/\/     const k2 = pfx + k1;     if (k2 in instructions) {       \/\/ If the instruction has matching properties as the derived from parent, delete the entry.       \/\/       const i2 = instructions[k2];       if (propertyMatch(i1, i2)) {         \/\/ MITS#1 == MITS#2 can indicate same instruction if instruction halts.         \/\/ Otherwise MITS#1 has to be one more than MITS#2 since it should execute one more NOP.         \/\/         if (i1.mits != i2.mits) {           if (i1.mits != i2.mits + 1) {             continue;           }         } else if (i1.mits &gt; faultBaseline.mits) {           continue;         }         delete instructions[k2];       }     }   } }<\/code><\/pre>\n<p>\u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0443\u0444\u0444\u0438\u043a\u0441\u043e\u0432 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0435\u0449\u0451 \u043e\u0442 72869 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f 1699 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430!<\/p>\n<pre><code>\/\/ Purge redundant suffixes. \/\/ for (const k1 of Object.keys(instructions)) {   \/\/ Skip if already deleted or not relevant.   \/\/   const i1 = instructions[k1];   if (!i1 || k1.length &lt;= 2) {     continue;   }    \/\/ Find maching entries:   \/\/   for (const k2 of Object.keys(instructions)) {     \/\/ If it is matching except the last byte:     \/\/     if (k2.startsWith(k1.substr(0, k1.length - 2)) &amp;&amp; k2 != k1) {       \/\/ If it has matching properties ignoring the length, erase it       \/\/       const i2 = instructions[k2];       if (propertyMatch(i1, i2)) {         delete instructions[k2];       }     }   } }<\/code><\/pre>\n<h3>\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u043e\u0442 \u043f\u043e\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445.&nbsp;\u0415\u0441\u043b\u0438 MS \u043d\u0438\u0436\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 nop, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0442\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0440\u0432\u0430\u043d, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0435\u0442\u0432\u044c \u0438\u043b\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 MITS \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043b\u0438\u043d\u0438\u0435\u0439, \u044d\u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434 (\u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043e\u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 MS \u0438\u043b\u0438 MITS, \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u044f\u0441\u044c \u043f\u0440\u0435\u0436\u043d\u0435\u0439), \u043d\u043e \u0437\u0430\u0442\u0435\u043c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a (\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0434\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 NOP \u043d\u0435 \u0431\u044b\u043b \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d).<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index)  \u2502                          decoding                          \u2502 mits \u2502 ms  \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502  668690  \u2502            'xchg byte ptr [rax-0x6f6f6f70], dl'            \u2502  47  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502    6c    \u2502                          'insb '                           \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2502    6d    \u2502                          'insd '                           \u2502  39  \u2502 99  \u2502    true     \u2502       true       \u2502 \u2502    6e    \u2502                          'outsb '                          \u2502  39  \u2502 98  \u2502    true     \u2502       true       \u2502 \u2502    6f    \u2502                          'outsd '                          \u2502  39  \u2502 98  \u2502    true     \u2502       true       \u2502 \u2502   8e90   \u2502            'mov ss, word ptr [rax-0x6f6f6f70]'             \u2502  42  \u2502 86  \u2502    true     \u2502       true       \u2502 \u2502   c290   \u2502                        'ret 0x9090'                        \u2502  43  \u2502 107 \u2502    true     \u2502       true       \u2502 \/\/ &lt;---  Likely errors since \u2502    c3    \u2502                           'ret '                           \u2502  41  \u2502 106 \u2502    true     \u2502       true       \u2502 \/\/ &lt;-\/   CF will be interrupted \u2502   ca90   \u2502                      'ret far 0x9090'                      \u2502  39  \u2502 145 \u2502    true     \u2502       true       \u2502 \/\/       but will continue from a valid IP. \u2502    cb    \u2502                         'ret far '                         \u2502  39  \u2502 145 \u2502    true     \u2502       true       \u2502 \u2502    cc    \u2502                          'int3 '                           \u2502  39  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502   cd90   \u2502                         'int 0x90'                         \u2502  39  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502    cf    \u2502                          'iretd '                          \u2502  39  \u2502 136 \u2502    true     \u2502       true       \u2502 \u2502   e490   \u2502                       'in al, 0x90'                        \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502   e590   \u2502                       'in eax, 0x90'                       \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502   e690   \u2502                       'out 0x90, al'                       \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502   e790   \u2502                      'out 0x90, eax'                       \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502    ec    \u2502                        'in al, dx'                         \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    ed    \u2502                        'in eax, dx'                        \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    ee    \u2502                        'out dx, al'                        \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    ef    \u2502                       'out dx, eax'                        \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    f1    \u2502                          'int1 '                           \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2502    f4    \u2502                           'hlt'                            \u2502  39  \u2502 124 \u2502    true     \u2502       true       \u2502 \u2502  0f0090  \u2502              'lldt word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 93  \u2502    true     \u2502       true       \u2502 \u2502  0f0098  \u2502              'ltr word ptr [rax-0x6f6f6f70]'               \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502  0f0080  \u2502              'sldt word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502  0f0081  \u2502              'sldt word ptr [rcx-0x6f6f6f70]'              \u2502  47  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502  0f0088  \u2502              'str word ptr [rax-0x6f6f6f70]'               \u2502  47  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502  0f00a0  \u2502              'verr word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502  0f00a8  \u2502              'verw word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502  0f00d8  \u2502                          'ltr ax'                          \u2502  39  \u2502 108 \u2502    true     \u2502       true       \u2502 \u2502  0f0190  \u2502                'lgdt ptr [rax-0x6f6f6f70]'                 \u2502  47  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502  0f0198  \u2502                'lidt ptr [rax-0x6f6f6f70]'                 \u2502  47  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502  0f0180  \u2502                'sgdt ptr [rax-0x6f6f6f70]'                 \u2502  47  \u2502 89  \u2502    true     \u2502      false       \u2502 \u2502  0f0188  \u2502                'sidt ptr [rax-0x6f6f6f70]'                 \u2502  47  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502  0f01b0  \u2502              'lmsw word ptr [rax-0x6f6f6f70]'              \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502  0f01b8  \u2502             'invlpg byte ptr [rax-0x6f6f6f70]'             \u2502  39  \u2502 114 \u2502    true     \u2502       true       \u2502 \u2502  0f01a0  \u2502              'smsw word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 85  \u2502    true     \u2502      false       \u2502 \u2502 f20f22a4 \u2502                       'mov cr4, rsp'                       \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502 f20f2396 \u2502                       'mov dr2, rsi'                       \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502 f20f2380 \u2502                       'mov dr0, rax'                       \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502 f20fc788 \u2502           'cmpxchg8b qword ptr [rax-0x6f6f6f70]'           \u2502  46  \u2502 95  \u2502    true     \u2502      false       \u2502 \u2502 f20fc78a \u2502           'cmpxchg8b qword ptr [rdx-0x6f6f6f70]'           \u2502  46  \u2502 95  \u2502    true     \u2502      false       \u2502 \u2502  f38690  \u2502       'xrelease xchg byte ptr [rax-0x6f6f6f70], dl'        \u2502  47  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502  f38790  \u2502      'xrelease xchg dword ptr [rax-0x6f6f6f70], edx'       \u2502  47  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502  f38890  \u2502        'xrelease mov byte ptr [rax-0x6f6f6f70], dl'        \u2502  47  \u2502 84  \u2502    true     \u2502      false       \u2502 \u2502  f38990  \u2502       'xrelease mov dword ptr [rax-0x6f6f6f70], edx'       \u2502  47  \u2502 84  \u2502    true     \u2502      false       \u2502 \u2502   f36c   \u2502                        'rep insb '                         \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2502   f36d   \u2502                        'rep insd '                         \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2502   f36e   \u2502                        'rep outsb '                        \u2502  39  \u2502 111 \u2502    true     \u2502       true       \u2502 \u2502   f36f   \u2502                        'rep outsd '                        \u2502  39  \u2502 111 \u2502    true     \u2502       true       \u2502 \u2502   f3a4   \u2502         'rep movsb byte ptr [rdi], byte ptr [rsi]'         \u2502  43  \u2502 118 \u2502    true     \u2502       true       \u2502 \/\/ \u2502   f3a6   \u2502         'rep cmpsb byte ptr [rsi], byte ptr [rdi]'         \u2502  43  \u2502 123 \u2502    true     \u2502       true       \u2502 \/\/ \u2502   f3a7   \u2502        'rep cmpsd dword ptr [rsi], dword ptr [rdi]'        \u2502  43  \u2502 123 \u2502    true     \u2502       true       \u2502 \/\/ \u2502   f3aa   \u2502                 'rep stosb byte ptr [rdi]'                 \u2502  43  \u2502 125 \u2502    true     \u2502       true       \u2502 \/\/ Likely errors since \u2502   f3ac   \u2502                 'rep lodsb byte ptr [rsi]'                 \u2502  43  \u2502 106 \u2502    true     \u2502       true       \u2502 \/\/ rcx is undefined. \u2502   f3ad   \u2502                'rep lodsd dword ptr [rsi]'                 \u2502  43  \u2502 106 \u2502    true     \u2502       true       \u2502 \/\/ \u2502   f3ae   \u2502                 'rep scasb byte ptr [rdi]'                 \u2502  43  \u2502 123 \u2502    true     \u2502       true       \u2502 \/\/ \u2502   f3af   \u2502                'rep scasd dword ptr [rdi]'                 \u2502  43  \u2502 123 \u2502    true     \u2502       true       \u2502 \/\/ \u2502 f30f0082 \u2502              'sldt word ptr [rdx-0x6f6f6f70]'              \u2502  46  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502 f30f0088 \u2502              'str word ptr [rax-0x6f6f6f70]'               \u2502  46  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502 f30f0180 \u2502                'sgdt ptr [rax-0x6f6f6f70]'                 \u2502  46  \u2502 89  \u2502    true     \u2502      false       \u2502 \u2502 f30f018a \u2502                'sidt ptr [rdx-0x6f6f6f70]'                 \u2502  46  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502 f30f01a1 \u2502              'smsw word ptr [rcx-0x6f6f6f70]'              \u2502  46  \u2502 85  \u2502    true     \u2502      false       \u2502 \u2502 f30f2190 \u2502                       'mov rax, dr2'                       \u2502  39  \u2502 107 \u2502    true     \u2502       true       \u2502 \u2502 f30f22a4 \u2502                       'mov cr4, rsp'                       \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502 f30f2380 \u2502                       'mov dr0, rax'                       \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502 f30f238e \u2502                       'mov dr1, rsi'                       \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502 f30f7890 \u2502                             ''                             \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 f30f7990 \u2502                             ''                             \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 f30fc789 \u2502           'cmpxchg8b qword ptr [rcx-0x6f6f6f70]'           \u2502  46  \u2502 95  \u2502    true     \u2502      false       \u2502 \u2502 f30fc78f \u2502           'cmpxchg8b qword ptr [rdi-0x6f6f6f70]'           \u2502  46  \u2502 95  \u2502    true     \u2502      false       \u2502 \u2502 f30fc7b0 \u2502             'vmxon qword ptr [rax-0x6f6f6f70]'             \u2502  39  \u2502 116 \u2502    true     \u2502       true       \u2502 \u2502 f30fc733 \u2502                  'vmxon qword ptr [rbx]'                   \u2502  39  \u2502 119 \u2502    true     \u2502       true       \u2502 \u2502 f30fc776 \u2502                'vmxon qword ptr [rsi-0x70]'                \u2502  39  \u2502 120 \u2502    true     \u2502       true       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<h3>\u0410\u043d\u0430\u043b\u0438\u0437 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/h3>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u043b\u0438 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u00abSpeculation Fence\u00bb (\u0417\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0446\u0438\u0439) \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0431\u043b\u043e\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0445?&nbsp;\u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e \u0438\u043b\u0438 \u043e\u043d\u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0440\u0430\u0434\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043e\u0442 \u043f\u043e\u0431\u043e\u0447\u043d\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430, \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0438\u0434 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430: <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dac\/145\/410\/dac14541031dd4b12f4f69fb722985a3.png\" width=\"718\" height=\"89\"><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e \u0441 \u044d\u0442\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c?&nbsp;\u042d\u0442\u043e\u0442 \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u0432\u0435\u0434\u044c \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043a\u043e\u0434\u0435 \u043c\u044b \u043d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0439.&nbsp;\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u0446\u0438\u043a\u043b\u043e\u0432 \u043e\u0442 \u043d\u0443\u043b\u044f. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442 \u0443\u0437\u043d\u0430\u0442\u044c, \u0431\u044b\u043b\u043e \u043b\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043d\u0435\u0442.&nbsp;<\/p>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0436\u0430\u0442\u044c&nbsp;divps xmm4, xmm5 \u043f\u0440\u044f\u043c\u043e \u043f\u0435\u0440\u0435\u0434&nbsp;#UD&#8217;ing,&nbsp;0xCE \u0438 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u043a\u043b\u043e\u0432 \u043d\u0430 \u043d\u0435\u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443. \u042d\u0442\u043e \u0434\u0430\u0441\u0442 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.&nbsp;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0434\u0430\u0451\u0442 \u043d\u0430\u043c \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443:<\/p>\n<pre><code>vmovups    ymm0,    [temp] vmovups    ymm1,    [temp] vmovups    ymm2,    [temp] vmovups    ymm3,    [temp] vzeroupper addps      xmm0,    xmm1 vaddps     ymm2,    ymm0,    ymm3 vaddps     ymm1,    ymm0,    ymm2 vaddps     ymm3,    ymm0,    ymm1 vaddps     ymm0,    ymm0,    [temp] vaddps     ymm1,    ymm0,    [temp] vaddps     ymm2,    ymm0,    [temp] vaddps     ymm3,    ymm0,    [temp] vaddps     ymm0,    ymm0,    ymm1 vaddps     ymm2,    ymm0,    ymm3 vaddps     ymm1,    ymm0,    ymm2 vaddps     ymm3,    ymm0,    ymm1 vaddps     ymm0,    ymm0,    [temp] vaddps     ymm1,    ymm0,    [temp] vaddps     ymm2,    ymm0,    [temp] vaddps     ymm3,    ymm0,    [temp] vaddps     ymm0,    ymm0,    ymm1 vaddps     ymm2,    ymm0,    ymm3 vaddps     ymm1,    ymm0,    ymm2 vaddps     ymm3,    ymm0,    ymm1 vaddps     ymm0,    ymm0,    [temp] vaddps     ymm1,    ymm0,    [temp] vaddps     ymm2,    ymm0,    [temp] vaddps     ymm3,    ymm0,    [temp] vaddps     ymm0,    ymm0,    ymm1 vaddps     ymm2,    ymm0,    ymm3 vaddps     ymm1,    ymm0,    ymm2 vaddps     ymm3,    ymm0,    ymm1 lea        rax,     [rip+z] xchg       [rsp],   rax ret<\/code><\/pre>\n<p>\u041f\u043e\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0441 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u043c \u0441\u0447\u0451\u0442\u043e\u043c, \u043a\u0430\u043a \u00ab\u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0445\u00bb, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. \u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<pre><code>-- These indeed leak data under speculative execution: \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index)  \u2502                          decoding                          \u2502 mits \u2502 ms  \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502   8690   \u2502            'xchg byte ptr [rax-0x6f6f6f70], dl'            \u2502  48  \u2502 88  \u2502    false    \u2502      false       \u2502 \u2502   e090   \u2502                'loopne 0xffffffffffffff92'                 \u2502  56  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502    fb    \u2502                           'sti '                           \u2502  56  \u2502 83  \u2502    false    \u2502      false       \u2502 \u2502    fc    \u2502                           'cld '                           \u2502  53  \u2502 83  \u2502    false    \u2502      false       \u2502 \u2502  0f0080  \u2502              'sldt word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502  0f0081  \u2502              'sldt word ptr [rcx-0x6f6f6f70]'              \u2502  47  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502  0f0088  \u2502              'str word ptr [rax-0x6f6f6f70]'               \u2502  47  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502  0f00c0  \u2502                         'sldt eax'                         \u2502  51  \u2502 85  \u2502    false    \u2502      false       \u2502 \u2502  0f00c8  \u2502                         'str eax'                          \u2502  51  \u2502 85  \u2502    false    \u2502      false       \u2502 \u2502  0f0009  \u2502                    'str word ptr [rcx]'                    \u2502  51  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502  0f0180  \u2502                'sgdt ptr [rax-0x6f6f6f70]'                 \u2502  47  \u2502 89  \u2502    true     \u2502      false       \u2502 \u2502  0f0188  \u2502                'sidt ptr [rax-0x6f6f6f70]'                 \u2502  47  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502  0f01a0  \u2502              'smsw word ptr [rax-0x6f6f6f70]'              \u2502  47  \u2502 85  \u2502    true     \u2502      false       \u2502 \u2502  0f01a1  \u2502              'smsw word ptr [rcx-0x6f6f6f70]'              \u2502  47  \u2502 85  \u2502    true     \u2502      false       \u2502 \u2502  0f01d0  \u2502                         'xgetbv '                          \u2502  51  \u2502 88  \u2502    false    \u2502      false       \u2502 \u2502  0f01d5  \u2502                           'xend'                           \u2502  51  \u2502 84  \u2502    false    \u2502      false       \u2502 \u2502  0f01e0  \u2502                         'smsw eax'                         \u2502  51  \u2502 84  \u2502    false    \u2502      false       \u2502 \u2502  0f010f  \u2502                      'sidt ptr [rdi]'                      \u2502  51  \u2502 88  \u2502    false    \u2502      false       \u2502 \u2502  0f0140  \u2502                   'sgdt ptr [rax-0x70]'                    \u2502  50  \u2502 89  \u2502    false    \u2502      false       \u2502 \u2502  0f2098  \u2502                       'mov rax, cr3'                       \u2502  51  \u2502 88  \u2502    false    \u2502      false       \u2502 \u2502  0f2080  \u2502                       'mov rax, cr0'                       \u2502  51  \u2502 85  \u2502    false    \u2502      false       \u2502 \u2502   0f31   \u2502                          'rdtsc '                          \u2502  52  \u2502 93  \u2502    false    \u2502      false       \u2502 \u2502   0f77   \u2502                           'emms'                           \u2502  52  \u2502 111 \u2502    false    \u2502      false       \u2502 \u2502   0fa1   \u2502                          'pop fs'                          \u2502  52  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502  0fa390  \u2502            'bt dword ptr [rax-0x6f6f6f70], edx'            \u2502  51  \u2502 86  \u2502    false    \u2502      false       \u2502                              ... \u2502 f30f0082 \u2502              'sldt word ptr [rdx-0x6f6f6f70]'              \u2502  46  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502 f30f0088 \u2502              'str word ptr [rax-0x6f6f6f70]'               \u2502  46  \u2502 87  \u2502    true     \u2502      false       \u2502 \u2502 f30f0006 \u2502                   'sldt word ptr [rsi]'                    \u2502  50  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502 f30f000a \u2502                    'str word ptr [rdx]'                    \u2502  50  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502 f30f0180 \u2502                'sgdt ptr [rax-0x6f6f6f70]'                 \u2502  46  \u2502 89  \u2502    true     \u2502      false       \u2502 \u2502 f30f018a \u2502                'sidt ptr [rdx-0x6f6f6f70]'                 \u2502  46  \u2502 88  \u2502    true     \u2502      false       \u2502 \u2502 f30f01a1 \u2502              'smsw word ptr [rcx-0x6f6f6f70]'              \u2502  46  \u2502 85  \u2502    true     \u2502      false       \u2502 \u2502 f30f010f \u2502                      'sidt ptr [rdi]'                      \u2502  50  \u2502 88  \u2502    false    \u2502      false       \u2502 \u2502 f30f0126 \u2502                   'smsw word ptr [rsi]'                    \u2502  50  \u2502 85  \u2502    false    \u2502      false       \u2502 \u2502 f30f0140 \u2502                   'sgdt ptr [rax-0x70]'                    \u2502  49  \u2502 89  \u2502    false    \u2502      false       \u2502 \u2502 f30faed0 \u2502                       'wrfsbase eax'                       \u2502  50  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502 f30faed8 \u2502                       'wrgsbase eax'                       \u2502  50  \u2502 87  \u2502    false    \u2502      false       \u2502 \u2502 f30faec0 \u2502                       'rdfsbase eax'                       \u2502  50  \u2502 86  \u2502    false    \u2502      false       \u2502 \u2502 f30faec8 \u2502                       'rdgsbase eax'                       \u2502  50  \u2502 86  \u2502    false    \u2502      false       \u2502 \u2502 f30fb391 \u2502           'btr dword ptr [rcx-0x6f6f6f70], edx'            \u2502  50  \u2502 86  \u2502    false    \u2502      false       \u2502 \u2502 f30fb39f \u2502           'btr dword ptr [rdi-0x6f6f6f70], ebx'            \u2502  50  \u2502 86  \u2502    false    \u2502      false       \u2502 \u2502 f30fbb92 \u2502           'btc dword ptr [rdx-0x6f6f6f70], edx'            \u2502  50  \u2502 86  \u2502    false    \u2502      false       \u2502 \u2502 f30fbb94 \u2502        'btc dword ptr [rax+rdx*4-0x6f6f6f70], edx'         \u2502  49  \u2502 86  \u2502    false    \u2502      false       \u2502 \u2502 f30fc789 \u2502           'cmpxchg8b qword ptr [rcx-0x6f6f6f70]'           \u2502  46  \u2502 95  \u2502    true     \u2502      false       \u2502 \u2502 f30fc78f \u2502           'cmpxchg8b qword ptr [rdi-0x6f6f6f70]'           \u2502  46  \u2502 95  \u2502    true     \u2502      false       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  -- Yet these do not: \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index)  \u2502                    decoding                     \u2502 mits \u2502 ms  \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502    6c    \u2502                     'insb '                     \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2502    6d    \u2502                     'insd '                     \u2502  39  \u2502 99  \u2502    true     \u2502       true       \u2502 \u2502    6e    \u2502                    'outsb '                     \u2502  39  \u2502 98  \u2502    true     \u2502       true       \u2502 \u2502    6f    \u2502                    'outsd '                     \u2502  39  \u2502 98  \u2502    true     \u2502       true       \u2502 \u2502   8e90   \u2502       'mov ss, word ptr [rax-0x6f6f6f70]'       \u2502  42  \u2502 86  \u2502    true     \u2502       true       \u2502 \u2502    9d    \u2502                    'popfq '                     \u2502  55  \u2502 87  \u2502    false    \u2502       true       \u2502 \u2502   c290   \u2502                  'ret 0x9090'                   \u2502  43  \u2502 107 \u2502    true     \u2502       true       \u2502 \u2502    c3    \u2502                     'ret '                      \u2502  41  \u2502 106 \u2502    true     \u2502       true       \u2502 \u2502   c890   \u2502              'enter 0x9090, 0x90'               \u2502  50  \u2502 93  \u2502    false    \u2502       true       \u2502 \u2502   ca90   \u2502                'ret far 0x9090'                 \u2502  39  \u2502 145 \u2502    true     \u2502       true       \u2502 \u2502    cb    \u2502                   'ret far '                    \u2502  39  \u2502 145 \u2502    true     \u2502       true       \u2502 \u2502    cc    \u2502                     'int3 '                     \u2502  39  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502   cd90   \u2502                   'int 0x90'                    \u2502  39  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502    cf    \u2502                    'iretd '                     \u2502  39  \u2502 136 \u2502    true     \u2502       true       \u2502 \u2502   e190   \u2502           'loope 0xffffffffffffff92'            \u2502  64  \u2502 83  \u2502    false    \u2502       true       \u2502 \u2502   e490   \u2502                  'in al, 0x90'                  \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502   e590   \u2502                 'in eax, 0x90'                  \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502   e690   \u2502                 'out 0x90, al'                  \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502   e790   \u2502                 'out 0x90, eax'                 \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502    ec    \u2502                   'in al, dx'                   \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    ed    \u2502                  'in eax, dx'                   \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    ee    \u2502                  'out dx, al'                   \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    ef    \u2502                  'out dx, eax'                  \u2502  39  \u2502 109 \u2502    true     \u2502       true       \u2502 \u2502    f1    \u2502                     'int1 '                     \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2502   f390   \u2502                     'pause'                     \u2502  52  \u2502 86  \u2502    false    \u2502       true       \u2502 \u2502    f4    \u2502                      'hlt'                      \u2502  39  \u2502 124 \u2502    true     \u2502       true       \u2502 \u2502    fd    \u2502                     'std '                      \u2502  53  \u2502 83  \u2502    false    \u2502       true       \u2502 \u2502  0f0090  \u2502        'lldt word ptr [rax-0x6f6f6f70]'         \u2502  47  \u2502 93  \u2502    true     \u2502       true       \u2502 \u2502  0f0098  \u2502         'ltr word ptr [rax-0x6f6f6f70]'         \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502  0f00a0  \u2502        'verr word ptr [rax-0x6f6f6f70]'         \u2502  47  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502  0f00a8  \u2502        'verw word ptr [rax-0x6f6f6f70]'         \u2502  47  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502  0f00d0  \u2502                    'lldt ax'                    \u2502  51  \u2502 91  \u2502    false    \u2502       true       \u2502 \u2502  0f00d8  \u2502                    'ltr ax'                     \u2502  39  \u2502 108 \u2502    true     \u2502       true       \u2502                                                      ... \u2502  0f00e0  \u2502                    'verr ax'                    \u2502  51  \u2502 90  \u2502    false    \u2502       true       \u2502 \u2502  0f00e8  \u2502                    'verw ax'                    \u2502  51  \u2502 90  \u2502    false    \u2502       true       \u2502 \u2502  0f0190  \u2502           'lgdt ptr [rax-0x6f6f6f70]'           \u2502  47  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502  0f0198  \u2502           'lidt ptr [rax-0x6f6f6f70]'           \u2502  47  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502  0f01b0  \u2502        'lmsw word ptr [rax-0x6f6f6f70]'         \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502  0f01b8  \u2502       'invlpg byte ptr [rax-0x6f6f6f70]'        \u2502  39  \u2502 114 \u2502    true     \u2502       true       \u2502 \u2502  0f01d1  \u2502                    'xsetbv '                    \u2502  51  \u2502 117 \u2502    false    \u2502       true       \u2502 \u2502  0f01d2  \u2502                       ''                        \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502  0f01d4  \u2502                    'vmfunc '                    \u2502  39  \u2502 83  \u2502    true     \u2502       true       \u2502 \u2502 0f2193   \u2502                 'mov rbx, dr2'                  \u2502  39  \u2502 107 \u2502    true     \u2502       true       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<h3>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/h3>\n<p>\u0412\u043e\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c <s>\u043d\u0435\u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445<\/s> \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439-\u043f\u0430\u0441\u0445\u0430\u043b\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u041a\u0430\u043d \u0411\u0451\u043b\u044e\u043a \u043d\u0430\u0448\u0451\u043b \u043d\u0430 \u0441\u0432\u043e\u0451\u043c i7 6850k:<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index)  \u2502 decoding \u2502 mits \u2502 ms  \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502  0f01d2  \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502  0f01c6  \u2502    ''    \u2502  39  \u2502 83  \u2502    true     \u2502       true       \u2502 \u2502  0f01cc  \u2502    ''    \u2502  39  \u2502 104 \u2502    true     \u2502       true       \u2502 \u2502  0f0c90  \u2502    ''    \u2502  39  \u2502 138 \u2502    true     \u2502       true       \u2502 \/* Recent CRBUS leaking instruction, 90 is the next NOP. *\/ \u2502   0f0e   \u2502 'femms'  \u2502  52  \u2502 101 \u2502    false    \u2502       true       \u2502 \/* Recent CRBUS leaking instruction *\/ \u2502  0faed0  \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502  0fc790  \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 660f3883 \u2502    ''    \u2502  39  \u2502 81  \u2502    true     \u2502       true       \u2502 \u2502 660f3860 \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 660f3a80 \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 f30f7890 \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 f30f7990 \u2502    ''    \u2502  39  \u2502 87  \u2502    true     \u2502       true       \u2502 \u2502 f30fe7fc \u2502    ''    \u2502  73  \u2502 80  \u2502    false    \u2502       true       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p>\u0412\u043e\u043f\u0440\u0435\u043a\u0438 \u0432\u0441\u0435\u043e\u0431\u0449\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e <code>mov cr2<\/code>, <code>reg<\/code>&nbsp;\u043d\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b.<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index)  \u2502    decoding    \u2502 mits \u2502 ms  \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502  0f2090  \u2502 'mov rax, cr2' \u2502  51  \u2502 83  \u2502    false    \u2502      false       \u2502 \u2502  0f2098  \u2502 'mov rax, cr3' \u2502  51  \u2502 88  \u2502    false    \u2502      false       \u2502 \u2502  0f2080  \u2502 'mov rax, cr0' \u2502  51  \u2502 85  \u2502    false    \u2502      false       \u2502 \u2502  0f2290  \u2502 'mov cr2, rax' \u2502  51  \u2502 87  \u2502    false    \u2502       true       \u2502 \/* ! *\/ \u2502  0f2298  \u2502 'mov cr3, rax' \u2502  39  \u2502 161 \u2502    true     \u2502       true       \u2502 \u2502  0f2299  \u2502 'mov cr3, rcx' \u2502  39  \u2502 151 \u2502    true     \u2502       true       \u2502 \u2502  0f229b  \u2502 'mov cr3, rbx' \u2502  39  \u2502 155 \u2502    true     \u2502       true       \u2502 \u2502  0f2280  \u2502 'mov cr0, rax' \u2502  39  \u2502 110 \u2502    true     \u2502       true       \u2502 \u2502  0f2281  \u2502 'mov cr0, rcx' \u2502  39  \u2502 153 \u2502    true     \u2502       true       \u2502 \u2502  0f22a0  \u2502 'mov cr4, rax' \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502  0f22a1  \u2502 'mov cr4, rcx' \u2502  39  \u2502 120 \u2502    true     \u2502       true       \u2502 \u2502  0f22a4  \u2502 'mov cr4, rsp' \u2502  39  \u2502 104 \u2502    true     \u2502       true       \u2502 \u2502 660f22a4 \u2502 'mov cr4, rsp' \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502 f20f22a4 \u2502 'mov cr4, rsp' \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2502 f30f22a4 \u2502 'mov cr4, rsp' \u2502  39  \u2502 103 \u2502    true     \u2502       true       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 CPL \u0434\u043b\u044f&nbsp;<code>int imm8<\/code>,&nbsp;<code>int1<\/code>&nbsp;\u0438\u043c\u0435\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434\u0435.<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index) \u2502  decoding  \u2502 mits \u2502 ms  \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502   cc    \u2502  'int3 '   \u2502  39  \u2502 94  \u2502    true     \u2502       true       \u2502 \u2502  cd90   \u2502 'int 0x90' \u2502  39  \u2502 91  \u2502    true     \u2502       true       \u2502 \u2502   f1    \u2502  'int1 '   \u2502  39  \u2502 112 \u2502    true     \u2502       true       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p><code>mov ss<\/code>&nbsp;\u2013 \u044d\u0442\u043e \u0437\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0446\u0438\u0439, \u0430&nbsp;<code>cli<\/code>&nbsp;\u2013 \u043d\u0435\u0442.&nbsp;<code>lss<\/code>&nbsp;\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0446\u0438\u0439, \u0430 <code>lgs<\/code>&nbsp;\u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f.<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 (index) \u2502                    decoding                    \u2502 mits \u2502 ms \u2502 serializing \u2502 speculationFence \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502  8890   \u2502      'mov byte ptr [rax-0x6f6f6f70], dl'       \u2502  49  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502  8990   \u2502     'mov dword ptr [rax-0x6f6f6f70], edx'      \u2502  49  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502 668890  \u2502      'mov byte ptr [rax-0x6f6f6f70], dl'       \u2502  48  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502  8a90   \u2502      'mov dl, byte ptr [rax-0x6f6f6f70]'       \u2502  49  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502  8b90   \u2502     'mov edx, dword ptr [rax-0x6f6f6f70]'      \u2502  49  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502  8c90   \u2502      'mov word ptr [rax-0x6f6f6f70], ss'       \u2502  50  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502  8e90   \u2502      'mov ss, word ptr [rax-0x6f6f6f70]'       \u2502  42  \u2502 86 \u2502    true     \u2502       true       \u2502 \/* ! *\/ \u2502   fa    \u2502                     'cli '                     \u2502  56  \u2502 80 \u2502    false    \u2502      false       \u2502 \u2502 0fb290  \u2502        'lss edx, ptr [rax-0x6f6f6f70]'         \u2502  39  \u2502 89 \u2502    true     \u2502       true       \u2502 \/* ! *\/ \u2502 0fb590  \u2502        'lgs edx, ptr [rax-0x6f6f6f70]'         \u2502  47  \u2502 89 \u2502    true     \u2502      false       \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p>&nbsp;<\/p>\n<hr>\n<p><strong>\u0427\u0442\u043e \u0435\u0449\u0451 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0432 \u0431\u043b\u043e\u0433\u0435&nbsp;<\/strong><a href=\"https:\/\/www.cloud4y.ru\/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=article\"><strong>Cloud4Y<\/strong><\/a><\/p>\n<p>\u2192&nbsp;<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/547164\/\">\u0427\u0430\u0441\u0442\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 Nginx, \u0438\u0437-\u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u043c<\/a><\/p>\n<p>\u2192&nbsp;<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/541348\/\">\u041f\u0430\u0440\u043e\u043b\u044c \u043a\u0430\u043a \u043a\u0440\u0435\u0441\u0442\u0440\u0430\u0436: \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0449\u0438\u0442\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/a><\/p>\n<p>\u2192&nbsp;<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/555722\/\">\u041e\u0431\u043b\u0430\u0447\u043d\u0430\u044f \u043a\u0443\u0445\u043d\u044f: \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e vCloud API \u0438 \u0441\u043a\u043e\u0440\u043e\u0432\u0430\u0440\u043a\u0438<\/a><\/p>\n<p>\u2192&nbsp;<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/542000\/\">\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 vApp \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0441\u0440\u0435\u0434\u044b VMware vCenter + ESXi<\/a><\/p>\n<p>\u2192&nbsp;<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/553920\/\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0432\u0430\u0448 \u0431\u0438\u0437\u043d\u0435\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d<\/a><\/p>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u043d\u0430\u0448&nbsp;<a href=\"https:\/\/t.me\/cloud4y\">Telegram<\/a>-\u043a\u0430\u043d\u0430\u043b, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e. \u041f\u0438\u0448\u0435\u043c \u043d\u0435 \u0447\u0430\u0449\u0435 \u0434\u0432\u0443\u0445 \u0440\u0430\u0437 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0434\u0435\u043b\u0443.<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/560438\/\"> https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/560438\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0412\u0435\u043d\u0433\u0435\u0440\u0441\u043a\u0438\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u041a\u0430\u043d \u0411\u0451\u043b\u044e\u043a (Can B\u00f6l\u00fck) \u0438\u0437 <a href=\"https:\/\/verilave.com\/\">Verilave<\/a> \u043d\u0430\u0448\u0451\u043b \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435 \u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 x86-64. &nbsp;<\/p>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u043a\u043e\u0434\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442! \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u0438 \u043c\u0435\u0440\u0442\u0432\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u043c\u0438, \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442 \u043f\u0430\u0441\u0445\u0430\u043b\u043a\u0438, \u0430 \u0442\u0440\u0435\u0442\u044c\u0438 \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0437\u0430\u0431\u044b\u0442\u044b\u043c\u0438 \u0431\u0430\u0433\u0430\u043c\u0438 \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u0432\u0438\u0434\u044f\u0442 \u0441\u0432\u0435\u0442. \u0415\u0441\u0442\u044c \u0438 \u0442\u0430\u043a\u0438\u0435 \u043e\u043f\u043a\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0446\u0435\u043b\u044b\u0439 \u00ab<a href=\"https:\/\/hackaday.com\/2019\/02\/03\/unlocking-god-mode-on-x86-processors\/\">\u0420\u0435\u0436\u0438\u043c \u0431\u043e\u0433\u0430\u00bb<\/a> \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0431\u043e\u0439\u0442\u0438 \u0437\u0430\u0449\u0438\u0442\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 <a href=\"https:\/\/twitter.com\/_markel___\/status\/1373059797155778562\">\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434 \u0447\u0438\u043f\u0430<\/a>.&nbsp;\u0411\u0451\u043b\u044e\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u0445 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u0447\u0451\u043c \u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0434\u043d\u0438\u043c\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438, \u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u043e\u0434\u043d\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u2013 \u043d\u0435\u0442.<\/p>\n<p>\u041a\u0430\u043d \u0411\u0435\u043b\u043b\u044e\u043a \u0432\u044b\u0432\u0435\u043b \u043c\u0435\u0442\u043e\u0434 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0439 \u043a\u0430\u043d\u0430\u043b. \u0421\u043f\u043e\u0441\u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. &nbsp;\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u0443\u0442:&nbsp;<a href=\"https:\/\/haruspex.can.ac\/browse\/\">haruspex.can.ac<\/a>&nbsp;\/&nbsp;<a href=\"https:\/\/github.com\/can1357\/haruspex\/\">Github<\/a>. <\/p>\n<p>\u0412 \u0441\u0432\u043e\u0451\u043c \u0431\u043b\u043e\u0433\u0435 \u041a\u0430\u043d \u0411\u0435\u043b\u043b\u044e\u043a \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e \u0441\u0443\u0442\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430:<\/p>\n<h3>\u041e\u0442\u043a\u0443\u0434\u0430 \u0432\u0437\u044f\u043b\u0438\u0441\u044c \u043c\u0438\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438<\/h3>\n<p>\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b \u0438\u043c\u0435\u044e\u0442 \u0431\u0435\u0437\u0443\u043c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u043c\u0438\u043a\u0440\u043e\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443. \u0421\u0442\u0430\u0440\u044b\u0435 \u0434\u043e\u0431\u0440\u044b\u0435 \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u041e\u043d\u0438 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442 \u0438\u0445 \u0432 \u043c\u0438\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043c\u0438\u043a\u0440\u043e-\u043a\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432 \u043f\u043e\u0440\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.&nbsp;\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 Intel \u044d\u0442\u0438\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u043c\u043e\u0434\u0443\u043b\u044f:<\/p>\n<ul>\n<li>\n<p><strong>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043c\u0438\u043a\u0440\u043e-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (MITE)<\/strong>&nbsp;\u2013 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u0447\u0435\u0442\u044b\u0440\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u043c\u0438\u043a\u0440\u043e\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0435\u043a\u0432\u0435\u043d\u0441\u043e\u0440 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434\u0430 (MS) \u2013<\/strong> \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 CISC \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 Intel \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0443\u043c\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c<strong> \u0431\u0443\u0444\u0435\u0440 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 (DSB)<\/strong>,&nbsp;\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a&nbsp;<strong>iCache<\/strong>. \u041d\u043e \u043e\u043d \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u0449\u0435\u0434\u0440\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 Intel. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u0434 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Sandsifter. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u0434 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 #UD (\u0441\u043a\u0430\u0436\u0435\u043c, \u0435\u0441\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0438\u043b\u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f), \u044d\u0442\u043e \u043d\u0430\u0441 \u043d\u0435 \u043e\u0431\u043c\u0430\u043d\u0435\u0442, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0433\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0441\u0435\u043b\u0435\u043d\u043d\u043e\u0439<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.&nbsp;\u0418\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u0434\u0440\u044f\u0434 \u2013 \u043d\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0441\u0431\u0440\u043e\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u0440\u0442\u0438\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043a\u044d\u0448. \u041a\u0430\u043a \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c? \u041e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c! \u0418 \u0437\u0434\u0435\u0441\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b:&nbsp;\u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0435 \u0438 \u043d\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (speculative execution).&nbsp;<\/p>\n<p>\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438? \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0432\u0435\u0442\u0432\u044c, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u043f\u0435\u0440\u0435\u0445\u043e\u0434. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0430\u0451\u0442 \u0440\u0430\u0432\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u0435\u0438\u0445 \u0432\u0435\u0442\u043e\u043a \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c, \u0433\u0434\u0435 \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041f\u043e\u0442\u043e\u043c \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u0438\u0445 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0432\u043e\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041a\u0430\u043a \u0440\u0430\u0437 \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p>\u041f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0447\u0435\u0440\u0435\u0437 CALL. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442:<\/p>\n<pre><code>call x   &lt;speculated code&gt; x:   lea        rax,     [rip+z]   xchg       [rsp],   rax   ret z:<\/code><\/pre>\n<p>\u042d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>XCHG<\/code> \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0439, \u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0443\u043c\u0435\u043d, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0442\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u0446\u0435\u043b\u0435\u0432\u043e\u043c\u0443 \u0431\u0443\u0444\u0435\u0440\u0443 \u0432\u0435\u0442\u043a\u0438 \u0442\u043e, \u0447\u0442\u043e \u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.&nbsp;\u0417\u0434\u0435\u0441\u044c \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>CHG<\/code>, \u0430 \u043d\u0435 <code>MOV<\/code>, \u0447\u0442\u043e\u0431\u044b \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435<code>LOCK<\/code>, \u0447\u0442\u043e \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u0443\u0444\u0435\u0440 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0438\u0437 \u043a\u044d\u0448\u0430. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. \u041a\u044d\u0448 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043a\u043e\u0434, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430 \u043a \u043b\u044e\u0431\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438. \u041f\u0435\u0440\u0435\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u0437\u0430\u043c\u0435\u0440\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442:<\/p>\n<pre><code>auto ip = ia32::get_ip() &amp; ~63ull; std::copy_n( ( volatile uint8_t* ) ip, 512, ( volatile uint8_t* ) ip ); ia32::sfence(); for ( size_t n = 0; n != 512; n += 64 )   ia32::clflush( ip + n );<\/code><\/pre>\n<h3>\u0422\u043e\u0447\u043d\u044b\u0439 \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435.&nbsp;\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0442\u043e\u0447\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u0447\u0442\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b.&nbsp;\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435\u0441\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u044f\u0434\u0440\u0430, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u041d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.&nbsp;\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, <code>#SMI<\/code> (System Management Interrupt \u0438\u043b\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439), \u043a\u0430\u043a \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 <strong>PMC<\/strong> (\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c). \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u044d\u0442\u043e, \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043c\u0435\u0448\u0430\u0435\u0442 \u0447\u0438\u0441\u0442\u043e\u0442\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u041a\u0430\u043d \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u043b \u043e\u043f\u044b\u0442\u044b, \u043f\u043e\u043a\u0430 <code>IA32_MSR_SMI_COUNT<\/code> \u043d\u0435 \u0441\u0442\u0430\u043b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.&nbsp;\u0414\u0440\u0443\u0433\u043e\u0439 \u0431\u0430\u0433\u0435\u0440 \u2013 <strong>#NMI<\/strong>. \u0421 \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f. \u0422\u0430\u043a\u0436\u0435 \u0441\u0442\u043e\u0438\u043b\u043e \u0431\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 <strong>#MC<\/strong>, \u043d\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0431\u0438\u0442\u044c.<\/p>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437, \u0432\u044b\u0431\u0438\u0440\u0430\u044f <code>Mod(x)<\/code> \u0438 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044f \u043a\u043e\u0434, \u0432\u044b \u0438\u0437\u0431\u0435\u0436\u0438\u0442\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u2013 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445.&nbsp;\u0421\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 15 \u043a\u043e\u043f\u0438\u0439&nbsp;<code>NOP<\/code> \u0438 \u043e\u0434\u043d\u043e\u0439&nbsp;<code>0xCE<\/code> \u0432 \u043a\u043e\u043d\u0446\u0435, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435&nbsp;<code>#UD<\/code> \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435.&nbsp;\u041c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435&nbsp;<code>0x00-0xFF<\/code>, \u0438 \u0432\u0441\u0435 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441&nbsp;<code>0x0F<\/code> \u0438\u043b\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430&nbsp;{ <code>0x66<\/code>, <code>0xF2<\/code>, <code>0xF3<\/code> } \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 Intel \u043b\u044e\u0431\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u0434\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.&nbsp;\u041d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0443\u0444\u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 ModR\/M, \u043d\u043e \u044d\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<h3>\u0421\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0434\u0432\u0430 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0437\u0430\u043c\u0435\u0440\u0430:&nbsp;NOP, \u043a\u0430\u043a \u043e\u043d \u0435\u0441\u0442\u044c, \u0438 <code>0xCE<\/code>, \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f&nbsp;<code>for-real-#UD<\/code>.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0440\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u00ab\u043c\u0443\u0441\u043e\u0440\u0430\u00bb, \u0441\u0440\u0430\u0437\u0443 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u0437\u0430\u043c\u0435\u0440\u044b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043b\u0443\u0447\u0430\u044e <code>for-real-#UD<\/code>. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u0432. \u0428\u0430\u0431\u043b\u043e\u043d:<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2510 \u2502 (index) \u2502             decoding             \u2502 mits \u2502 ms \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524 \u2502   90    \u2502              'nop'               \u2502  54  \u2502 80 \u2502 \/*Baseline*\/ \u2502  6690   \u2502           'data16 nop'           \u2502  53  \u2502 67 \u2502 \u2502  f290   \u2502              'nop'               \u2502  53  \u2502 80 \u2502 \u2502 f20f90  \u2502 'seto byte ptr [rax-0x6f6f6f70]' \u2502  48  \u2502 80 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 nop \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f MITE. \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u0435\u043d, MITS \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u0430 MS \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0435\u0436\u043d\u0435\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a, \u0437\u0430\u0434\u0430\u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \u0447\u0442\u043e&nbsp;<code>0x0F<\/code> \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u043c.&nbsp;\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0432 \u043e\u0431\u0430 \u044d\u0442\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043c\u044b \u0443\u0431\u0435\u0440\u0451\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0435\u0441\u044c \u043c\u0443\u0441\u043e\u0440 \u0438 \u0434\u0430\u0436\u0435 \u0441\u043c\u043e\u0436\u0435\u043c \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.&nbsp;\u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u043d\u0438\u0436\u0435 \u043a\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 54954 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<\/p>\n<pre><code>const propertyMatch = (i1, i2) =&gt; {   return i2.ms == i1.ms &amp;&amp; i2.outOfOrder == i1.outOfOrder &amp;&amp; i2.iclass == i1.iclass; };  \/\/ Purge redundant prefixes. \/\/ for (const k1 of Object.keys(instructions)) {   \/\/ Skip if already deleted.   \/\/   const i1 = instructions[k1];   if (!i1) {     continue;   }    \/\/ Iterate each prefix (apart from 0f):   \/\/   for (const pfx of prefixList) {     \/\/ If the instruction exists:     \/\/     const k2 = pfx + k1;     if (k2 in instructions) {       \/\/ If the instruction has matching properties as the derived from parent, delete the entry.       \/\/       const i2 = instructions[k2];       if (propertyMatch(i1, i2)) {         \/\/ MITS#1 == MITS#2 can indicate same instruction if instruction halts.         \/\/ Otherwise MITS#1 has to be one more than MITS#2 since it should execute one more NOP.         \/\/         if (i1.mits != i2.mits) {           if (i1.mits != i2.mits + 1) {             continue;           }         } else if (i1.mits &gt; faultBaseline.mits) {           continue;         }         delete instructions[k2];       }     }   } }<\/code><\/pre>\n<p>\u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0443\u0444\u0444\u0438\u043a\u0441\u043e\u0432 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0435\u0449\u0451 \u043e\u0442 72869 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f 1699 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430!<\/p>\n<pre><code>\/\/ Purge redundant suffixes. \/\/ for (const k1 of Object.keys(instructions)) {   \/\/ Skip if already deleted or not relevant.   \/\/   const i1 = instructions[k1];   if (!i1 || k1.length &lt;= 2) {     continue;   }    \/\/ Find maching entries:   \/\/   for (const k2 of Object.keys(instructions)) {     \/\/ If it is matching except the last byte:     \/\/     if (k2.startsWith(k1.substr(0, k1.length - 2)) &amp;&amp; k2 != k1) {       \/\/ If it has matching properties ignoring the length, erase it       \/\/       const i2 = instructions[k2];       if (propertyMatch(i1, i2)) {         delete instructions[k2];       }     }   } }<\/code><\/pre>\n<h3>\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u043e\u0442 \u043f\u043e\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445.&nbsp;\u0415\u0441\u043b\u0438 MS \u043d\u0438\u0436\u0435 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 nop, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0442\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0440\u0432\u0430\u043d, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0435\u0442\u0432\u044c \u0438\u043b\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 MITS \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043b\u0438\u043d\u0438\u0435\u0439, \u044d\u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u0430\u043d\u0434 (\u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043e\u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 MS \u0438\u043b\u0438 MITS, \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u044f\u0441\u044c \u043f\u0440\u0435\u0436\u043d\u0435\u0439), \u043d\u043e \u0437\u0430\u0442\u0435\u043c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a (\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0434\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 NOP \u043d\u0435 \u0431\u044b\u043b \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d).<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/code><\/pre>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-324144","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/324144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=324144"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/324144\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=324144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=324144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=324144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}