{"id":469026,"date":"2025-07-30T03:00:04","date_gmt":"2025-07-30T03:00:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=469026"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=469026","title":{"rendered":"<span>AsmX G3: \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 ZGEN. \u041a\u0430\u043a hwm \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 amd64<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>AsmX G3: \u041f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u0440\u0435\u043c\u043d\u0438\u0435\u043c \u0441 \u043d\u0443\u043b\u044f.<\/h3>\n<p>\u041c\u044b \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. \u041c\u044b \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0438\u0432\u0430\u0435\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0441 \u043a\u0440\u0435\u043c\u043d\u0438\u0435\u043c, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432. \u0421\u0442\u0430\u0440\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u0438\u0445, \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0445 \u0431\u044d\u043a\u0435\u043d\u0434\u0430\u0445, \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438. \u041e\u043d\u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435, \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0438 \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435. AsmX G3, \u0441 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c ZGEN, \u043c\u0435\u043d\u044f\u0435\u0442 \u044d\u0442\u043e.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u043c\u0441\u044f \u0432 \u044f\u0434\u0440\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430: \u043a\u0430\u043a \u043d\u0430\u0448 <code>hwm<\/code> (Hardware Machine Factory) \u2014 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u043f\u043e \u0441\u0443\u0442\u0438, \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c, \u2014 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0432 \u0447\u0438\u0441\u0442\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 <code>x86_64<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u042d\u0442\u043e \u043d\u0435 \u043c\u0430\u0433\u0438\u044f. \u042d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f.<\/p>\n<h4>\u041c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0430. \u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 ZGEN<\/h4>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f AsmX G3 \u2014 \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c.\u00a0<code>hwm<\/code>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c.<\/p>\n<ul>\n<li>\n<p><strong>HWM (Hardware Machine Factory):<\/strong>\u00a0\u042d\u0442\u043e \u043d\u0435 \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u042d\u0442\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439, \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0447\u0435\u0442\u043a\u0438\u043c API. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u0438\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432 ZGEN, \u0438\u00a0<code>hwm<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u043e\u043a\u0430 \u0432\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0433\u043e\u0432\u043e\u0440\u0435\u043d\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0438\u0442\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0443\u0441\u0438\u043b\u0438\u044f\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>IDT (AssemblyInstructionDescriptorTable):<\/strong>\u00a0\u0421\u0435\u0440\u0434\u0446\u0435\u00a0<code>hwm<\/code>. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0436\u0435\u0441\u0442\u043a\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u0438\u0445\u00a0<code>if-else<\/code>\u00a0\u0438\u043b\u0438\u00a0<code>switch<\/code>\u00a0\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u2014 \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u043c \u0434\u043b\u044f \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u044b \u2014 \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>x86_64<\/code> \u0432 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435.\u00a0<code>IDT<\/code>\u00a0\u2014 \u044d\u0442\u043e \u043d\u0430\u0448\u0430 \u043a\u043e\u043d\u0441\u0442\u0438\u0442\u0443\u0446\u0438\u044f, \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u0430\u0432\u0434\u044b \u0434\u043b\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u0415\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043d\u043e\u0432\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e &#171;\u0443\u0437\u043d\u0430\u0435\u0442&#187; \u043e \u043d\u0435\u0439.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/203\/6a8\/672\/2036a8672715adc4d2b818f29970d318.png\" alt=\"\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 IDT (Instruction Descriptor Table). \u0412\u043c\u0435\u0441\u0442\u043e \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u042d\u0442\u043e \u043d\u0430\u0448 \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u0430\u0432\u0434\u044b.\" title=\"\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 IDT (Instruction Descriptor Table). \u0412\u043c\u0435\u0441\u0442\u043e \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u042d\u0442\u043e \u043d\u0430\u0448 \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u0430\u0432\u0434\u044b.\" width=\"1678\" height=\"718\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/203\/6a8\/672\/2036a8672715adc4d2b818f29970d318.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/203\/6a8\/672\/2036a8672715adc4d2b818f29970d318.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 IDT (Instruction Descriptor Table). \u0412\u043c\u0435\u0441\u0442\u043e \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u042d\u0442\u043e \u043d\u0430\u0448 \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u0430\u0432\u0434\u044b.<\/em><\/figcaption><\/div>\n<\/figure>\n<\/li>\n<li>\n<p><strong>RDB (RegisterDB):<\/strong>\u00a0\u041f\u043e\u0434\u043e\u0431\u043d\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a\u00a0<code>IDT<\/code>\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f),\u00a0<code>RDB<\/code>\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u2014 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f, \u043d\u043e \u043c\u043e\u0449\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043c\u0435\u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (<code>rax<\/code>,\u00a0<code>r15<\/code>,\u00a0<code>cl<\/code>) \u0441 \u0438\u0445 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u0434\u0430\u043c\u0438, \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 (8, 16, 32, 64 \u0431\u0438\u0442) \u0438 \u043e\u0441\u043e\u0431\u044b\u043c\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 <code>REX<\/code>. \u042d\u0442\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 &#171;\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0438\u0441\u043b\u0430&#187; \u0438\u0437 \u043b\u043e\u0433\u0438\u043a\u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c \u0438 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u044b\u043c \u043e\u0448\u0438\u0431\u043a\u0430\u043c.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u0440\u0430\u0442\u043a\u043e \u043e\u0431 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0445: CISC \u2014 \u044d\u0442\u043e \u043d\u0430\u0448 \u0445\u043e\u043b\u0441\u0442<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b95\/868\/42d\/b9586842df750a68e0b2e73a7c7b5f15.png\" alt=\"\u0414\u0432\u0435 \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0435\u043c\u043d\u0438\u044f. RISC (\u0441\u043d\u0438\u0437\u0443) \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u0442\u044c (\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c). CISC (\u0432\u0432\u0435\u0440\u0445\u0443), \u043d\u0430\u0448 \u0445\u043e\u043b\u0441\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u043e\u0449\u044c: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041c\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0440\u043e\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c.\" title=\"\u0414\u0432\u0435 \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0435\u043c\u043d\u0438\u044f. RISC (\u0441\u043d\u0438\u0437\u0443) \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u0442\u044c (\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c). CISC (\u0432\u0432\u0435\u0440\u0445\u0443), \u043d\u0430\u0448 \u0445\u043e\u043b\u0441\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u043e\u0449\u044c: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041c\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0440\u043e\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c.\" width=\"1040\" height=\"585\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b95\/868\/42d\/b9586842df750a68e0b2e73a7c7b5f15.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b95\/868\/42d\/b9586842df750a68e0b2e73a7c7b5f15.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u0432\u0435 \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0435\u043c\u043d\u0438\u044f. RISC (\u0441\u043d\u0438\u0437\u0443) \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u0442\u044c (\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c). CISC (\u0432\u0432\u0435\u0440\u0445\u0443), \u043d\u0430\u0448 \u0445\u043e\u043b\u0441\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u043e\u0449\u044c: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041c\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0440\u043e\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0435\u0439 <strong>\u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c<\/strong>.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0443\u0433\u043b\u0443\u0431\u0438\u043c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u0438, \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0441 \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c.<\/p>\n<ul>\n<li>\n<p><strong>RISC (Reduced Instruction Set Computer):<\/strong> \u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e. \u042d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044e \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>CISC (Complex Instruction Set Computer):<\/strong> \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 <code>x86_64<\/code>. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430 \u043e\u0434\u0438\u043d \u0448\u0430\u0433 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e). \u042d\u0442\u043e \u043c\u043e\u0449\u043d\u043e, \u043d\u043e \u043f\u043b\u0430\u0442\u0430 \u0437\u0430 \u044d\u0442\u0443 \u043c\u043e\u0449\u044c \u2014 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0432 \u043c\u0438\u0440\u0435 <code>CISC<\/code>. \u042d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u0439 \u0445\u043e\u043b\u0441\u0442. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u0443\u043a\u0440\u043e\u0442\u0438\u0442\u044c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.<\/p>\n<h4>\u0425\u043e\u043b\u0441\u0442: \u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (ISA) x86-64<\/h4>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0443\u0433\u043b\u0443\u0431\u0438\u043c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u0438, \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0441 \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c.<\/p>\n<p><strong>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ISA?<\/strong><br \/>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (Instruction Set Architecture) \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043c\u0435\u0436\u0434\u0443 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c. \u042d\u0442\u043e \u044f\u0437\u044b\u043a, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u041e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043a\u0430\u043a \u044d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<p><strong>\u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f CISC<\/strong><br \/><code>x86-64<\/code> \u2014 \u044d\u0442\u043e \u044f\u0440\u043a\u0438\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b\u00a0<strong>CISC (Complex Instruction Set Computer)<\/strong>. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442\u00a0<strong>RISC (Reduced Instruction Set Computer)<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0441\u044f \u043a \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, <code>CISC<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u043d\u043e\u0433\u043e\u0448\u0430\u0433\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0434\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>ADD<\/code>\u00a0\u0432 <code>x86-64<\/code> \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438, \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/p>\n<p>\u042d\u0442\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u2014 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u043e\u043d\u0430 \u0436\u0435 \u0438 \u0434\u0430\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043c\u043e\u0449\u044c. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043d\u0435 \u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u0430 \u0443\u043a\u0440\u043e\u0442\u0438\u0442\u044c \u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.<\/p>\n<h4>\u041e\u0442 \u0431\u0430\u0439\u0442\u043e\u0432 \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e: \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 x86-64<\/h4>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u0439, \u0431\u0435\u0437\u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u043e. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 <code>x86-64<\/code> \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c, \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0439\u0448\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0435\u0440\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u044f, \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0446\u0435\u043b\u0438: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0426\u0435\u043b\u044c \u2014 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0437\u0430 \u043e\u0434\u0438\u043d \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0446\u0438\u043a\u043b (Instructions Per Clock, IPC).<\/p>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0447\u0430\u0441\u0442\u0438:\u00a0<strong>Front-end<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0438\u00a0<strong>Back-end<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0438\u0445 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u0447\u0430\u0441\u0442\u043e \u0432 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0438\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0447\u0435\u043c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435.<\/p>\n<h4>The Front-End: \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439<\/h4>\n<ol>\n<li>\n<p><strong>\u0412\u044b\u0431\u043e\u0440\u043a\u0430 (Fetch):<\/strong>\u00a0\u0412\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u00a0<code>RIP<\/code>\u00a0(Instruction Pointer), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0411\u043b\u043e\u043a \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e; \u043e\u043d \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 (<code>pre-fetches<\/code>) \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0431\u0430\u0439\u0442 \u0438\u0437 \u043a\u044d\u0448\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f (<code>L1 cache<\/code>) \u0432 \u0441\u0432\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0431\u0443\u0444\u0435\u0440. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430 \u2014 \u043f\u0440\u043e\u043c\u0430\u0445 \u0432 \u043a\u044d\u0448\u0435 (<code>cache miss<\/code>) \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c \u0443\u0440\u043e\u0432\u043d\u044f\u043c \u043f\u0430\u043c\u044f\u0442\u0438 (<code>L2<\/code>, <code>L3<\/code>, <code>RAM<\/code>) \u2014 \u044d\u0442\u043e \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (Decode):<\/strong>\u00a0\u042d\u0442\u043e &#171;\u0443\u0437\u043a\u043e\u0435 \u0433\u043e\u0440\u043b\u044b\u0448\u043a\u043e&#187; \u0438 \u0441\u0430\u043c\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f CISC-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u0414\u0435\u043a\u043e\u0434\u0435\u0440 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0442\u043e\u043a \u0431\u0430\u0439\u0442, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043e\u0442 \u0431\u043b\u043e\u043a\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>x86-64<\/code> \u0438\u043c\u0435\u044e\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u0438\u043d\u0443 (\u043e\u0442 1 \u0434\u043e 15 \u0431\u0430\u0439\u0442), \u0434\u0435\u043a\u043e\u0434\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0432\u043e\u044e \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443: \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u0443\u044e CISC-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0445, RISC-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445\u00a0<strong>\u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 (\u03bcops)<\/strong>. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b Intel \u0438 AMD \u0438\u043c\u0435\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e: &#171;\u043f\u0440\u043e\u0441\u0442\u044b\u0435&#187; \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u0443 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a &#171;\u0441\u043b\u043e\u0436\u043d\u044b\u0435&#187; \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 (Branch Prediction):<\/strong>\u00a0\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 (<code>JNE<\/code>,\u00a0<code>JZ<\/code>) \u0438 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 (<code>JMP<\/code>,\u00a0<code>CALL<\/code>) \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u2014 \u044d\u0442\u043e \u044f\u0434 \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430. \u041a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434, \u043e\u043d \u043d\u0435 \u0437\u043d\u0430\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435, \u043f\u043e\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d. \u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u0431\u044b \u043a \u043f\u0440\u043e\u0441\u0442\u043e\u044e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u043d\u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0442\u0430\u043a\u0442\u044b. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u0432 \u0438\u0433\u0440\u0443 \u0432\u0441\u0442\u0443\u043f\u0430\u0435\u0442\u00a0<strong>\u0431\u043b\u043e\u043a \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 (Branch Prediction Unit, BPU)<\/strong>. \u042d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432. <code>BPU<\/code> \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043f\u043e \u043a\u0430\u043a\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u043f\u043e\u0439\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u00a0<strong>\u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c<\/strong>\u00a0\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438\u0437 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438, \u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0432\u0435\u0440\u043d\u043e (\u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 CPU \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c &gt; 95%), \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0433\u0440\u043e\u043c\u0435\u043d. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442, \u0432\u0441\u0435 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u0438 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0448\u0442\u0440\u0430\u0444\u0430\u043c \u043f\u043e \u0442\u0430\u043a\u0442\u0430\u043c.<\/p>\n<\/li>\n<\/ol>\n<h4>The Back-End: \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0432\u043d\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 (Out-of-Order Execution)<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/99e\/f00\/371\/99ef003716750a9722e260444ba6d05c.webp\" alt=\"\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u043f\u0440\u0438\u043a\u0430\u0437. \u042d\u0442\u043e Back-End, \u044f\u0434\u0440\u043e Out-of-Order \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c CISC-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0435 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u03bcOPs), \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043e\u043a\u043e\u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\u00a0Scheduler\u00a0\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u0446\u0435\u043d\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0442\u0430\u043c\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 (Ports 0-7). \u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u2014\u00a0Register Renaming\u00a0(\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 16 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u0440\u043e\u0442\u0438\u0432 180 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0426\u0435\u043b\u044c \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u0440\u043c\u0438\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0437\u0432\u0435\u0440\u044f.\" title=\"\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u043f\u0440\u0438\u043a\u0430\u0437. \u042d\u0442\u043e Back-End, \u044f\u0434\u0440\u043e Out-of-Order \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c CISC-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0435 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u03bcOPs), \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043e\u043a\u043e\u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\u00a0Scheduler\u00a0\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u0446\u0435\u043d\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0442\u0430\u043c\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 (Ports 0-7). \u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u2014\u00a0Register Renaming\u00a0(\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 16 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u0440\u043e\u0442\u0438\u0432 180 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0426\u0435\u043b\u044c \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u0440\u043c\u0438\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0437\u0432\u0435\u0440\u044f.\" width=\"1080\" height=\"712\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/99e\/f00\/371\/99ef003716750a9722e260444ba6d05c.webp 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/99e\/f00\/371\/99ef003716750a9722e260444ba6d05c.webp 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u043f\u0440\u0438\u043a\u0430\u0437. \u042d\u0442\u043e Back-End, \u044f\u0434\u0440\u043e Out-of-Order \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c CISC-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0435 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u03bcOPs), \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043e\u043a\u043e\u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\u00a0<\/em><strong><em>Scheduler<\/em><\/strong><em>\u00a0\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u0446\u0435\u043d\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0442\u0430\u043c\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 (Ports 0-7). \u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u2014\u00a0<\/em><strong><em>Register Renaming<\/em><\/strong><em>\u00a0(\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 16 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u0440\u043e\u0442\u0438\u0432 180 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0426\u0435\u043b\u044c \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u0440\u043c\u0438\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0437\u0432\u0435\u0440\u044f.<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043e\u043d\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 &#171;\u0441\u0435\u0440\u0434\u0446\u0435 \u0445\u0430\u043e\u0441\u0430&#187; \u2014 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435 \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 &#171;out-of-order&#187; (<code>OoO<\/code>). \u0426\u0435\u043b\u044c <code>OoO<\/code> \u2014 \u043d\u0430\u0439\u0442\u0438 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043e\u043d\u0438 \u0441\u0442\u043e\u044f\u043b\u0438 \u0434\u0430\u043b\u0435\u043a\u043e \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<ol>\n<li>\n<p><strong>\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (Register Renaming):<\/strong>\u00a0\u042d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c <code>OoO<\/code>. \u0412 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 <code>x86-64<\/code> \u0432\u0441\u0435\u0433\u043e 16 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0443 \u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0445\u043e\u0447\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u00a0<code>RAX<\/code>, \u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f, \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 \u043d\u0435\u0439, \u0442\u043e\u0436\u0435 \u0445\u043e\u0447\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u00a0<code>RAX<\/code>). \u0427\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438\u043c\u0435\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (\u0441\u043e\u0442\u043d\u0438), \u0447\u0435\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (<code>RAX<\/code>,\u00a0<code>RCX<\/code>\u00a0\u0438 \u0442.\u0434.), \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432\u0437\u0430\u043c\u0435\u043d \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0437 \u043f\u0443\u043b\u0430. \u042d\u0442\u043e \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u044f\u0434\u0440\u0443 \u0441\u0432\u043e\u0431\u043e\u0434\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f (Dispatch\/Issue):<\/strong>\u00a0\u041c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0431\u0443\u0444\u0435\u0440, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439\u00a0<strong>\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u043c<\/strong>\u00a0\u0438\u043b\u0438\u00a0<strong>\u0441\u0442\u0430\u043d\u0446\u0438\u0435\u0439 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (Reservation Station)<\/strong>. \u0417\u0434\u0435\u0441\u044c \u043e\u043d\u0438 \u043e\u0436\u0438\u0434\u0430\u044e\u0442, \u043f\u043e\u043a\u0430 \u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438) \u0441\u0442\u0430\u043d\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0442\u043e\u0432\u044b, \u043e\u043d\u0430 \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (Execute):<\/strong>\u00a0\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435\u00a0<strong>\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 (Execution Units)<\/strong>. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f\u00a0<strong>\u0441\u0443\u043f\u0435\u0440\u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u043c<\/strong>, \u0442\u043e \u0435\u0441\u0442\u044c \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u0445 \u0431\u043b\u043e\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e: \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e <code>ALU<\/code> (\u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u043e-\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432), \u0431\u043b\u043e\u043a\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438\/\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u044c (<code>AGU - Address Generation Unit<\/code>), \u0431\u043b\u043e\u043a\u0438 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (<code>FPU<\/code>) \u0438 \u0442.\u0434. \u0412 \u043e\u0434\u0438\u043d \u0442\u0430\u043a\u0442 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f 4, 6 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p><strong>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0438 \u043e\u0442\u0441\u0442\u0430\u0432\u043a\u0430 (Completion and Retirement):<\/strong>\u00a0\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e) \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0431\u0443\u0444\u0435\u0440\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<strong>\u0431\u0443\u0444\u0435\u0440\u043e\u043c \u043f\u0435\u0440\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u0438\u044f (Re-Order Buffer, ROB)<\/strong>. \u041d\u0430\u043a\u043e\u043d\u0435\u0446,\u00a0<strong>\u0431\u043b\u043e\u043a \u043e\u0442\u0441\u0442\u0430\u0432\u043a\u0438 (Retirement Unit)<\/strong>\u00a0\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a. \u041e\u043d \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 <code>ROB<\/code> \u0438 &#171;\u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442&#187; \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u0442\u0440\u043e\u0433\u043e \u0432 \u0442\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0438 \u0448\u043b\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u044c, \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0441\u044c \u0432\u0438\u0434\u0438\u043c\u044b\u043c\u0438 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0415\u0441\u043b\u0438 \u0432\u044b\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u043c, \u0431\u043b\u043e\u043a \u043e\u0442\u0441\u0442\u0430\u0432\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438\u0437 <code>ROB<\/code>, \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u043e\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0432\u0435\u0441\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u0438 \u043f\u0435\u0440\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u0435, \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0430\u043a, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0448\u043b\u0438 \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0434\u043d\u0430 \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u0439.<\/p>\n<h4>\u0410\u043d\u0430\u0442\u043e\u043c\u0438\u044f \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 x86_64: \u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u041a\u0440\u0435\u043c\u043d\u0438\u044f<\/h4>\n<p>\u0417\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b. \u042d\u0442\u043e <code>CISC<\/code>. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0437\u0434\u0435\u0441\u044c \u2014 \u044d\u0442\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u0434\u043b\u0438\u043d\u043e\u0439 \u043e\u0442 1 \u0434\u043e 15 \u0431\u0430\u0439\u0442. \u041a\u0430\u0436\u0434\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0435\u0439, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b. \u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u2014 \u043a\u043b\u044e\u0447 \u043a \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043d\u0430\u0448\u00a0<code>hwm<\/code>\u00a0\u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0432 \u0431\u0438\u0442\u044b.<\/p>\n<p>\u0412\u043e\u0442 \u0447\u0435\u0440\u0442\u0435\u0436 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>x86_64<\/code>:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/663\/fcf\/803\/663fcf8035ed6164921b5db871484b48.png\" width=\"1574\" height=\"542\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/663\/fcf\/803\/663fcf8035ed6164921b5db871484b48.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/663\/fcf\/803\/663fcf8035ed6164921b5db871484b48.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u043b\u043e\u043a.<\/p>\n<h3>1. \u041f\u0440\u0435\u0444\u0438\u043a\u0441\u044b (Prefixes) \u2014 \u041c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/h3>\n<p>\u042d\u0442\u043e \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0431\u0430\u0439\u0442\u044b (\u043e\u0442 1 \u0434\u043e 4), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u041e\u043d\u0438 \u043a\u0430\u043a \u0444\u043b\u0430\u0433\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435. \u0421\u0430\u043c\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u0434\u043b\u044f \u043d\u0430\u0441:<\/p>\n<ul>\n<li>\n<p><strong>\u041f\u0440\u0435\u0444\u0438\u043a\u0441 REX (0x40 &#8212; 0x4F):<\/strong>\u00a0\u042d\u0442\u043e \u043a\u043e\u0440\u043e\u043b\u044c 64-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430. \u0411\u0435\u0437 \u043d\u0435\u0433\u043e \u043c\u044b \u0437\u0430\u0441\u0442\u0440\u044f\u043b\u0438 \u0431\u044b \u0432 32-\u0431\u0438\u0442\u043d\u043e\u043c \u043c\u0438\u0440\u0435. \u041e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 4 \u0431\u0438\u0442\u043e\u0432-\u0444\u043b\u0430\u0433\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><strong>W (Width):<\/strong>\u00a0\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d (1), \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 64-\u0431\u0438\u0442\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430\u043c\u0438 (<code>RAX<\/code>,\u00a0<code>RBX<\/code>). \u0415\u0441\u043b\u0438 \u0441\u0431\u0440\u043e\u0448\u0435\u043d (0), \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f 32-\u0431\u0438\u0442\u043d\u0430\u044f <code>(EAX<\/code>,\u00a0<code>EBX<\/code>). \u042d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0435.<\/p>\n<\/li>\n<li>\n<p><strong>R (Register):<\/strong>\u00a0\u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043f\u043e\u043b\u0435\u00a0<code>Reg<\/code>\u00a0\u0432 \u0431\u0430\u0439\u0442\u0435 <code>ModR\/M<\/code>, \u0434\u0430\u0432\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u00a0r8-r15.<\/p>\n<\/li>\n<li>\n<p><strong>X (Index):<\/strong>\u00a0\u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043f\u043e\u043b\u0435\u00a0<code>Index<\/code>\u00a0\u0432 \u0431\u0430\u0439\u0442\u0435 <code>SIB<\/code> \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u00a0<code>r8-r15<\/code> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>B (Base):<\/strong>\u00a0\u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043f\u043e\u043b\u0435\u00a0<code>R\/M<\/code>\u00a0\u0432 <code>ModR\/M<\/code> (\u0438\u043b\u0438\u00a0Base\u00a0\u0432 <code>SIB<\/code>) \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u00a0<code>r8-r15<\/code>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 (<\/strong><code><strong>0x66<\/strong><\/code><strong>):<\/strong>\u00a0\u0412 64-\u0431\u0438\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u043d \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0441 32-\u0431\u0438\u0442\u043d\u043e\u0439 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e) \u043d\u0430 16-\u0431\u0438\u0442\u043d\u0443\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 (<\/strong><code><strong>0x67<\/strong><\/code><strong>):<\/strong>\u00a0\u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 32-\u0431\u0438\u0442\u043d\u0443\u044e \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e \u0432 64-\u0431\u0438\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430\u0448\u00a0<code>hwm<\/code>\u00a0\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 REX \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0435. \u041d\u0438\u043a\u0430\u043a\u043e\u0439 \u0440\u0443\u0447\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<h3>2. \u041e\u043f\u043a\u043e\u0434 (Opcode) \u2014 \u0413\u043b\u0430\u0433\u043e\u043b<\/h3>\n<p>\u042d\u0442\u043e \u0441\u0435\u0440\u0434\u0446\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0435\u0451 &#171;\u0433\u043b\u0430\u0433\u043e\u043b&#187;. \u041e\u043d \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443,\u00a0\u0447\u0442\u043e\u00a0\u0434\u0435\u043b\u0430\u0442\u044c:\u00a0<code>ADD<\/code>,\u00a0<code>MOV<\/code>,\u00a0<code>CMP<\/code>. \u041e\u043f\u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043e\u0442 1 \u0434\u043e 3 \u0431\u0430\u0439\u0442. \u0412 <code>CISC<\/code>-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043e\u043f\u043a\u043e\u0434 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e. \u0418\u043d\u043e\u0433\u0434\u0430 \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 &#171;\u0437\u0430\u0448\u0438\u0442\u0430&#187; \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u0430\u0439\u0442\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 <code>ModR\/M<\/code>.<\/p>\n<h3>3. \u0411\u0430\u0439\u0442 ModR\/M \u2014 \u0428\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438\u0439 \u041d\u043e\u0436 \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438<\/h3>\n<p>\u042d\u0442\u043e, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u043a\u043e\u0434\u0430. \u041e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0440\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u0438 \u043a\u0443\u0434\u0430 \u043a\u043b\u0430\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u042d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438\u0439 \u043d\u043e\u0436, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0442\u0440\u0435\u0445 \u043f\u043e\u043b\u0435\u0439:<\/p>\n<ul>\n<li>\n<p><strong>Mod (Mode) <\/strong><code><strong>[2 \u0431\u0438\u0442\u0430]<\/strong><\/code><strong>:<\/strong>\u00a0\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438. <\/p>\n<ul>\n<li>\n<p><code>00<\/code>: \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (<code>[RAX]<\/code>). \u0415\u0441\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><code>01<\/code>: \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043f\u043b\u044e\u0441 8-\u0431\u0438\u0442\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 (<code>[RAX + 0x10]<\/code>).<\/p>\n<\/li>\n<li>\n<p><code>10<\/code>: \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043f\u043b\u044e\u0441 32-\u0431\u0438\u0442\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 (<code>[RAX + 0x12345678]<\/code>).<\/p>\n<\/li>\n<li>\n<p><code>11<\/code>: \u041e\u043f\u0435\u0440\u0430\u043d\u0434 \u2014 \u044d\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0430 \u043d\u0435 \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 (<code>RAX<\/code>).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Reg\/Opcode <\/strong><code><strong>[3 \u0431\u0438\u0442\u0430]<\/strong><\/code><strong>:<\/strong>\u00a0\u0415\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043e\u043f\u043a\u043e\u0434\u0430. \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440-\u043e\u043f\u0435\u0440\u0430\u043d\u0434. \u041d\u043e \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>ADD<\/code> <code>r\/m<\/code>, <code>imm<\/code>) \u044d\u0442\u0438 3 \u0431\u0438\u0442\u0430 \u0441\u043b\u0443\u0436\u0430\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \u043e\u043f\u043a\u043e\u0434\u0430, \u0443\u0442\u043e\u0447\u043d\u044f\u044f, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u041d\u0430\u0448\u00a0<code>IDT<\/code>\u00a0\u0445\u0440\u0430\u043d\u0438\u0442 \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0432 \u043f\u043e\u043b\u0435\u00a0<code>modrmRegExtension<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>R\/M (Register\/Memory) <\/strong><code><strong>[3 \u0431\u0438\u0442\u0430]<\/strong><\/code><strong>:<\/strong>\u00a0\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434. \u0415\u0441\u043b\u0438\u00a0<code>Mod<\/code>\u00a0\u043d\u0435\u00a0<code>11<\/code>, \u044d\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0415\u0441\u043b\u0438\u00a0<code>Mod<\/code>\u00a0\u0440\u0430\u0432\u0435\u043d\u00a0<code>11<\/code>, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/p>\n<\/li>\n<\/ul>\n<h3>4. \u0411\u0430\u0439\u0442 SIB (Scale, Index, Base) \u2014 \u0414\u043b\u044f \u0421\u043b\u043e\u0436\u043d\u044b\u0445 \u0410\u0434\u0440\u0435\u0441\u043e\u0432<\/h3>\n<p>\u0415\u0441\u043b\u0438 <code>ModR\/M<\/code> \u2014 \u044d\u0442\u043e \u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438\u0439 \u043d\u043e\u0436, \u0442\u043e <code>SIB<\/code> \u2014 \u044d\u0442\u043e \u043c\u0443\u043b\u044c\u0442\u0438\u0442\u0443\u043b. \u041e\u043d \u043d\u0443\u0436\u0435\u043d, \u043a\u043e\u0433\u0434\u0430 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u00a0<code>[\u0440\u0435\u0433\u0438\u0441\u0442\u0440 + \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435]<\/code>. \u041e\u043d \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0438\u0434\u0430\u00a0<code>[Base + Index * Scale]<\/code>.<\/p>\n<ul>\n<li>\n<p><strong>Scale <\/strong><code><strong>[2 \u0431\u0438\u0442\u0430]<\/strong><\/code><strong>:<\/strong>\u00a0\u041c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044c \u0434\u043b\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 (1, 2, 4 \u0438\u043b\u0438 8).<\/p>\n<\/li>\n<li>\n<p><strong>Index <\/strong><code><strong>[3 \u0431\u0438\u0442\u0430]<\/strong><\/code><strong>:<\/strong>\u00a0\u0418\u043d\u0434\u0435\u043a\u0441\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/p>\n<\/li>\n<li>\n<p><strong>Base <\/strong><code><strong>[3 \u0431\u0438\u0442\u0430]<\/strong><\/code><strong>:<\/strong>\u00a0\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/p>\n<\/li>\n<\/ul>\n<p><code>hwm<\/code>\u00a0\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043d\u0443\u0436\u0435\u043d \u043b\u0438 <code>SIB<\/code>-\u0431\u0430\u0439\u0442, \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044e.<\/p>\n<h3>5. \u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 (Displacement) \u0438 \u041d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (Immediate)<\/h3>\n<p>\u042d\u0442\u043e \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 &#171;\u0434\u0430\u043d\u043d\u044b\u0435&#187; \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.<\/p>\n<ul>\n<li>\n<p><strong>Displacement:<\/strong>\u00a0\u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c 1, 2 \u0438\u043b\u0438 4 \u0431\u0430\u0439\u0442\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>Immediate:<\/strong>\u00a0\u041a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>ADD RAX, 10<\/code>). \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c 1, 2, 4 \u0438\u043b\u0438 8 \u0431\u0430\u0439\u0442.<\/p>\n<\/li>\n<\/ul>\n<h4>\u0410\u0440\u0441\u0435\u043d\u0430\u043b: \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b x86_64<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/336\/5e0\/7ce\/3365e07ce43aa0f99323d70369f688a1.png\" width=\"3055\" height=\"1075\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/336\/5e0\/7ce\/3365e07ce43aa0f99323d70369f688a1.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/336\/5e0\/7ce\/3365e07ce43aa0f99323d70369f688a1.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u2014 \u044d\u0442\u043e \u0441\u0432\u0435\u0440\u0445\u0431\u044b\u0441\u0442\u0440\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u042d\u0442\u043e \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0441\u0442\u043e\u043b\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0442 \u0432\u0441\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041d\u0430\u0448\u0430\u00a0<code>RegisterDB<\/code>\u00a0\u0437\u043d\u0430\u0435\u0442 \u043e \u043d\u0438\u0445 \u0432\u0441\u0451.<\/p>\n<h3>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (GPRs)<\/h3>\n<p>\u042d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c <code>x86-64<\/code> \u2014 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u0435\u0435\u043c\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 \u0438\u043c\u0435\u043d\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0438\u0445 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044e:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>64-\u0431\u0438\u0442<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\"><strong>32-\u0431\u0438\u0442<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\"><strong>16-\u0431\u0438\u0442<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\"><strong>8-\u0431\u0438\u0442 (High\/Low)<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RAX<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">EAX<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">AX<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">AH\/AL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RBX<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">EBX<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">BX<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">BH\/BL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RCX<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">ECX<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">CX<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">CH\/CL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0447\u0435\u0442\u0447\u0438\u043a, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0446\u0438\u043a\u043b\u0430\u0445 \u0438 \u0441\u0434\u0432\u0438\u0433\u0430\u0445<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RDX<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">EDX<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">DX<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">DH\/DL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f\/\u0434\u0435\u043b\u0435\u043d\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RSP<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">ESP<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">SP<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">SPL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0441\u0442\u0435\u043a\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RBP<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">EBP<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">BP<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">BPL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0431\u0430\u0437\u044b \u0441\u0442\u0435\u043a\u0430, \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RSI<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">ESI<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">SI<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">SIL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043d\u0434\u0435\u043a\u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 (Source Index)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>RDI<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">EDI<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">DI<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">DIL<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u043d\u0434\u0435\u043a\u0441 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (Destination Index)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"71\" width=\"71\">\n<p align=\"left\"><strong>R8-R15<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"95\" width=\"95\">\n<p align=\"left\">R8D-R15D<\/p>\n<\/td>\n<td data-colwidth=\"99\" width=\"99\">\n<p align=\"left\">R8W-R15W<\/p>\n<\/td>\n<td data-colwidth=\"93\" width=\"93\">\n<p align=\"left\">R8B-R15B<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u043e\u0432\u044b\u0435 8 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 64-\u0431\u0438\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 (\u0442\u0440\u0435\u0431\u0443\u044e\u0442 REX)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b<\/h3>\n<ul>\n<li>\n<p><strong>RIP (Instruction Pointer):<\/strong>\u00a0\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0412\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e, \u043d\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0440\u043e\u0434\u0435\u00a0<code>JMP<\/code>,\u00a0<code>CALL<\/code>,\u00a0<code>RET<\/code>\u00a0\u0434\u0435\u043b\u0430\u044e\u0442 \u044d\u0442\u043e \u0437\u0430 \u0432\u0430\u0441.<\/p>\n<\/li>\n<li>\n<p><strong>RFLAGS:<\/strong>\u00a0\u0425\u0440\u0430\u043d\u0438\u0442 \u0444\u043b\u0430\u0433\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.\u00a0<code>ZF<\/code>\u00a0(Zero Flag),\u00a0<code>CF<\/code>\u00a0(Carry Flag),\u00a0<code>SF<\/code>\u00a0(Sign Flag) \u2014 \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044b (<code>JNE<\/code>,\u00a0<code>JC<\/code>) \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<h3>SIMD \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b (MMX, SSE, AVX)<\/h3>\n<p>\u042d\u0442\u043e \u0448\u0438\u0440\u043e\u043a\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b (64, 128, 256, 512 \u0431\u0438\u0442) \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (Single Instruction, Multiple Data). \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0438, \u043d\u0430\u0443\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438.<\/p>\n<h2>HWM \u0438\u0437\u043d\u0443\u0442\u0440\u0438: \u0424\u0430\u0431\u0440\u0438\u043a\u0430 \u043f\u043e \u0441\u0431\u043e\u0440\u043a\u0435 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/h2>\n<p>\u041c\u044b \u043d\u0435 \u0441\u0442\u0440\u043e\u0438\u043c \u0447\u0435\u0440\u043d\u044b\u0439 \u044f\u0449\u0438\u043a. \u041c\u044b \u0441\u0442\u0440\u043e\u0438\u043c \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u0443\u044e, \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u0443\u044e \u043b\u0438\u043d\u0438\u044e. \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u044e\u0442 \u043f\u0430\u0440\u0441\u0438\u043d\u0433, \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043a\u043e\u0434\u0430 \u0432 \u043e\u0434\u0438\u043d \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u0445\u0440\u0443\u043f\u043a\u0438\u0439 \u043c\u043e\u043d\u043e\u043b\u0438\u0442. \u041c\u044b \u043e\u0442\u0432\u0435\u0440\u0433\u043b\u0438 \u044d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434.<\/p>\n<p>hwm\u00a0\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0432\u044b\u0441\u043e\u043a\u043e\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u0444\u0430\u0431\u0440\u0438\u043a\u0430. \u0423 \u043d\u0435\u0435 \u0435\u0441\u0442\u044c \u0447\u0435\u0442\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u0434\u0435\u043b\u044b, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0434\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0435 \u0431\u0435\u0437\u0443\u043f\u0440\u0435\u0447\u043d\u043e. \u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u2014 \u043d\u0435 \u043e\u043f\u0446\u0438\u044f, \u0430 \u0437\u0430\u043a\u043e\u043d \u0444\u0438\u0437\u0438\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \u0432 SpaceX: \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u043f\u043e \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f\u043c\u0438, \u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e \u0430\u0432\u0438\u043e\u043d\u0438\u043a\u0435 \u2014 \u0430\u0432\u0438\u043e\u043d\u0438\u043a\u043e\u0439. \u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0434\u043b\u044f \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438, \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b, \u044d\u044d\u044d&#8230; \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e, \u0445\u0430\u0445\u0430.<\/p>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u2014 \u044d\u0442\u043e \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u0430\u044f \u043b\u0438\u043d\u0438\u044f. \u041c\u043e\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u043a\u0430\u043a \u043e \u043f\u044f\u0442\u0438\u0442\u0430\u043a\u0442\u043d\u043e\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0435, \u0446\u0438\u043a\u043b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u0443\u044e \u0438\u0434\u0435\u044e \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u043d\u0430\u0448 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Starship.<\/p>\n<h3>\u042d\u0442\u0430\u043f 1: \u041f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0417\u0430\u043a\u0430\u0437\u0430 (compile\u00a0\u043c\u0435\u0442\u043e\u0434)<\/h3>\n<p>\u042d\u0442\u043e \u0432\u0445\u043e\u0434\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430. \u0424\u0430\u0431\u0440\u0438\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0437\u0430\u043a\u0430\u0437: \u043c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>add<\/code>) \u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>RAX<\/code>,\u00a0<code>[RDI + 8]<\/code>). \u041d\u0430\u0448 API \u043f\u0440\u043e\u0441\u0442 \u0438 \u043f\u043e\u043d\u044f\u0442\u0435\u043d. \u041e\u043d \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b, \u0430 \u043d\u0435 \u0441\u044b\u0440\u043e\u0439 \u0442\u0435\u043a\u0441\u0442. \u041d\u0438\u043a\u0430\u043a\u043e\u0439 \u043c\u0430\u0433\u0438\u0438, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439. \u041e\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u0443\u044e \u043b\u0438\u043d\u0438\u044e.<\/p>\n<h3>\u042d\u0442\u0430\u043f 2: \u041f\u043e\u0438\u0441\u043a \u0427\u0435\u0440\u0442\u0435\u0436\u0430 (findMatchingVariant)<\/h3>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6a2\/a05\/91a\/6a2a0591ae82eba366e6757647296cbe.png\" alt=\"\u0414\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u00a0ADD\u00a0\u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f. \u0414\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u2014 \u044d\u0442\u043e \u0446\u0435\u043b\u043e\u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u0440\u043e\u0441\u0435\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0445\u0430\u043e\u0441 \u0438 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0435\u0440\u043d\u044b\u0439, \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439 \u0447\u0435\u0440\u0442\u0435\u0436. \u042d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f, \u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u0431\u043e\u0440.\" title=\"\u0414\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u00a0ADD\u00a0\u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f. \u0414\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u2014 \u044d\u0442\u043e \u0446\u0435\u043b\u043e\u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u0440\u043e\u0441\u0435\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0445\u0430\u043e\u0441 \u0438 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0435\u0440\u043d\u044b\u0439, \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439 \u0447\u0435\u0440\u0442\u0435\u0436. \u042d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f, \u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u0431\u043e\u0440.\" width=\"361\" height=\"151\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/6a2\/a05\/91a\/6a2a0591ae82eba366e6757647296cbe.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6a2\/a05\/91a\/6a2a0591ae82eba366e6757647296cbe.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0414\u043b\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u00a0ADD\u00a0\u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f. \u0414\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u2014 \u044d\u0442\u043e \u0446\u0435\u043b\u043e\u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u043e\u0439. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u0440\u043e\u0441\u0435\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u043d\u044b\u0439 \u0445\u0430\u043e\u0441 \u0438 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0435\u0440\u043d\u044b\u0439, \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439 \u0447\u0435\u0440\u0442\u0435\u0436. \u042d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f, \u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u0431\u043e\u0440.<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u042d\u0442\u043e \u043c\u043e\u0437\u0433 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>ADD<\/code>\u00a0\u0432 <code>x86_64<\/code> \u2014 \u044d\u0442\u043e \u043d\u0435 \u043e\u0434\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u0430 \u0431\u043e\u043b\u0435\u0435 \u0434\u044e\u0436\u0438\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 (\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f).\u00a0<code>ADD reg, reg<\/code>,\u00a0<code>ADD mem, reg<\/code>,\u00a0<code>ADD reg, imm8<\/code>,\u00a0<code>ADD RAX, imm32<\/code>\u00a0\u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 &#171;\u0447\u0435\u0440\u0442\u0435\u0436\u0438&#187; \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043e\u043f\u043a\u043e\u0434\u0430\u043c\u0438 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438.<\/p>\n<p><code>findMatchingVariant<\/code>\u00a0\u2014 \u044d\u0442\u043e \u043d\u0430\u0448 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440. \u041e\u043d \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0432\u00a0<code>IDT<\/code>\u00a0\u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0438, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443:<\/p>\n<ol>\n<li>\n<p><strong>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432:<\/strong>\u00a0\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432 \u0447\u0435\u0440\u0442\u0435\u0436\u0443?<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0438\u043f\u044b \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432:<\/strong>\u00a0\u0421\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043b\u0438 \u0442\u0438\u043f\u044b (<code>Reg,\u00a0Mem,\u00a0Imm<\/code>)?<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0437\u043c\u0435\u0440\u044b \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432:<\/strong>\u00a0\u0423\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u00a0<code>ADD r\/m8, imm8<\/code>\u00a0\u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u0442 32-\u0431\u0438\u0442\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u0435\u0439:<\/strong>\u00a0\u0427\u0442\u043e \u0435\u0441\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0442\u0435\u0436\u0435\u0439 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>ADD RAX, 10<\/code>. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u00a0<code>ADD r\/m64, imm32<\/code>\u00a0(\u043e\u043f\u043a\u043e\u0434\u00a0<code>0x81<\/code>) \u0438\u043b\u0438 \u043a\u0430\u043a\u00a0<code>ADD r\/m64, imm8<\/code>\u00a0(\u043e\u043f\u043a\u043e\u0434\u00a0<code>0x83<\/code>).\u00a0<code>hwm<\/code>\u00a0\u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u2014 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441 8-\u0431\u0438\u0442\u043d\u044b\u043c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0434\u0438\u043d, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d,\u00a0<code>InstructionVariant<\/code>\u00a0\u2014 \u0442\u043e\u0447\u043d\u044b\u0439 \u0447\u0435\u0440\u0442\u0435\u0436 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.<\/p>\n<h3>\u042d\u0442\u0430\u043f 3: \u0418\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0420\u0430\u0441\u0447\u0435\u0442 (HardwareMachineFactoryComputation)<\/h3>\n<p>\u041c\u044b \u0440\u0430\u0437\u0431\u0438\u043b\u0438 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 &#171;\u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b&#187; \u043d\u0430 \u0434\u0432\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<ul>\n<li>\n<p><strong>getOperationSize:<\/strong>\u00a0\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 &#171;\u0434\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u0439&#187; \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u0414\u043b\u044f\u00a0<code>ADD EAX, EBX<\/code>\u00a0\u044d\u0442\u043e 32 \u0431\u0438\u0442\u0430. \u0414\u043b\u044f\u00a0<code>ADD RAX, 10<\/code>\u00a0\u2014 64 \u0431\u0438\u0442\u0430. \u042d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0444\u043b\u0430\u0433\u0430\u00a0<code>REX.W<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>calculateRex:<\/strong>\u00a0\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u2014 \u0447\u0438\u0441\u0442\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430. \u041e\u043d \u0431\u0435\u0440\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b, \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u0431\u0438\u0442\u044b \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 <code>REX<\/code> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b. <\/p>\n<ul>\n<li>\n<p>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f 64-\u0431\u0438\u0442\u043d\u0430\u044f? \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u00a0<code>REX.W<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u00a0<code>r9<\/code>\u00a0\u0432 \u043f\u043e\u043b\u0435\u00a0<code>Reg<\/code>? \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u00a0<code>REX.R<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f\u00a0<code>r10<\/code>\u00a0\u043a\u0430\u043a \u0431\u0430\u0437\u0430 \u0432 \u0430\u0434\u0440\u0435\u0441\u0435 \u043f\u0430\u043c\u044f\u0442\u0438? \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u00a0<code>REX.B<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f\u00a0<code>r11<\/code>\u00a0\u043a\u0430\u043a \u0438\u043d\u0434\u0435\u043a\u0441? \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u00a0<code>REX.X<\/code>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e\u0442 \u043e\u0442\u0434\u0435\u043b \u0432\u044b\u0434\u0430\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>rex<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u043d\u0430 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438.<\/p>\n<h3>\u042d\u0442\u0430\u043f 4: \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0446\u0435\u0445 (HardwareMachineFactoryEncoder)<\/h3>\n<p>\u0417\u0434\u0435\u0441\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0431\u0438\u0442\u044b. \u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0442\u0430\u043d\u043e\u043a \u0437\u0434\u0435\u0441\u044c \u2014\u00a0<code>encode_modrm_sib_disp<\/code>. \u041e\u043d \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0439\u00a0rex\u00a0\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u0443\u044e, \u043d\u043e \u0441\u0442\u0440\u043e\u0433\u043e \u0440\u0435\u0433\u043b\u0430\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u0430\u0439\u0442\u043e\u0432 <code>ModR\/M<\/code> \u0438 <code>SIB<\/code>. \u041e\u043d \u0437\u043d\u0430\u0435\u0442 \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434 \u2014 \u0440\u0435\u0433\u0438\u0441\u0442\u0440,\u00a0<code>Mod<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442\u00a0<code>11<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434 \u2014\u00a0<code>[RAX]<\/code>,\u00a0<code>Mod<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442\u00a0<code>00<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434 \u2014\u00a0<code>[RBP + 16]<\/code>,\u00a0<code>Mod<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442\u00a0<code>01<\/code>, \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f 8-\u0431\u0438\u0442\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f\u00a0<code>RSP<\/code>\u00a0\u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u0430\u0437\u044b, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u0435\u043d <code>SIB<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u00a0<code>RIP<\/code>,\u00a0<code>Mod<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442\u00a0<code>00<\/code>, \u0430\u00a0<code>R\/M<\/code>\u00a0\u2014\u00a0<code>101b<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0440\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430:\u00a0<code>modrm<\/code>,\u00a0<code>sib<\/code>\u00a0(\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c\u00a0<code>null<\/code>) \u0438\u00a0<code>displacement<\/code>\u00a0(\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c\u00a0<code>null<\/code>).<\/p>\n<h3>\u042d\u0442\u0430\u043f 5: \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0421\u0431\u043e\u0440\u043a\u0430<\/h3>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>compile<\/code>\u00a0\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u0435 \u0432\u043e\u0435\u0434\u0438\u043d\u043e \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435:<\/p>\n<pre><code class=\"typescript\">\/\/ \u041f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 \u0432 hwm.compile() function compile(mnemonic, operands) {   \/\/ \u042d\u0442\u0430\u043f 2: \u041d\u0430\u0439\u0442\u0438 \u0447\u0435\u0440\u0442\u0435\u0436   variant = findMatchingVariant(mnemonic, operands);    \/\/ \u042d\u0442\u0430\u043f 3: \u0418\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0435 \u0440\u0430\u0441\u0447\u0435\u0442\u044b   opSize = Computation.getOperationSize(operands, variant);   rex = Computation.calculateRex(operands, variant, opSize);    \/\/ \u042d\u0442\u0430\u043f 4: \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432   { modrm, sib, displacement } = Encoder.encode_modrm_sib_disp(...);    \/\/ \u042d\u0442\u0430\u043f 5: \u0421\u0431\u043e\u0440\u043a\u0430   final_bytes = [];    \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b)   if (opSize === 16-bit) final_bytes.push(0x66);   if (rex.needed) final_bytes.push(calculateRexValue(rex));    \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u043f\u043a\u043e\u0434   final_bytes.push(variant.opcode);    \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c ModR\/M \u0438 SIB (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u044b)   if (variant_requires_modrm) {     final_bytes.push(encode_modrm(modrm));     if (sib) final_bytes.push(encode_sib(sib));   }    \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435   if (displacement) final_bytes.push(displacement);   if (immediate) final_bytes.push(immediate);    \/\/ \u0413\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442   return Buffer.from(final_bytes); }<\/code><\/pre>\n<p>\u042d\u0442\u0430 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f, \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u2014 \u043d\u0430\u0448 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c <code>CISC<\/code>. \u041c\u044b \u043d\u0435 \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0440\u0435\u0448\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043e\u0434\u043d\u043e\u0439 \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439. \u041c\u044b \u0441\u0442\u0440\u043e\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0432\u043e\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e.\u00a0<code>hwm<\/code>\u00a0\u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438; \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u043f\u043b\u043e\u0449\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0439 \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u2014 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445, \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0445 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u041c\u044b \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c \u043f\u043e \u0432\u0435\u0440\u0445\u0430\u043c. \u041c\u044b \u0432\u0441\u043a\u0440\u044b\u043b\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043f\u0440\u0435\u043f\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0435\u0433\u043e \u044f\u0437\u044b\u043a \u0438 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u0443\u044e \u043b\u0438\u043d\u0438\u044e \u0434\u043b\u044f \u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0430.\u00a0<code>hwm<\/code>\u00a0\u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a. \u042d\u0442\u043e \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u0438\u0435. \u0417\u0430\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0447\u0438\u0441\u0442\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430, \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u044b\u043c \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c.<\/p>\n<p>\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u2014 \u044d\u0442\u043e \u043f\u0443\u0442\u044c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0445, \u0445\u0440\u0443\u043f\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0443\u0442\u044c. AsmX G3 \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0438\u0437 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445, \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432.\u00a0<code>hwm<\/code>\u00a0\u2014 \u043b\u0438\u0448\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445.<\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433? \u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c\u00a0<code>IDT<\/code>, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u041d\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u044b\u043c: \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445, \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439.<\/p>\n<p>\u041c\u044b \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. \u041c\u044b \u0441\u0442\u0440\u043e\u0438\u043c \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h4>\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a: \u0418\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0435 \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u041a\u0440\u0435\u043c\u043d\u0438\u044f<\/h4>\n<p>\u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044c. \u042d\u0442\u043e \u0440\u0430\u0437\u0431\u043e\u0440 \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439, \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u2014 \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0435\u0440\u0430 \u043e\u0442 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043a\u043e\u043d\u043e\u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439.<\/p>\n<ul>\n<li>\n<p><strong>HWM (Hardware Machine Factory):<\/strong>\u00a0\u041d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p><strong>IDT (AssemblyInstructionDescriptorTable):<\/strong>\u00a0\u0414\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0432\u0441\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0438\u0445 \u043e\u043f\u043a\u043e\u0434\u044b \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. &#171;\u041a\u043e\u043d\u0441\u0442\u0438\u0442\u0443\u0446\u0438\u044f&#187;\u00a0<code>hwm<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>RDB (RegisterDB):<\/strong>\u00a0\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u044f\u0449\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430: \u0438\u0445 \u043a\u043e\u0434\u044b, \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><strong>ISA (Instruction Set Architecture \/ \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439)<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong> \u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e &#171;\u0441\u043b\u043e\u0432\u0430\u0440\u044c&#187; \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u042d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0433\u043e\u0432\u043e\u0440 \u043c\u0435\u0436\u0434\u0443 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c. <code>ISA<\/code> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043d\u043e \u0438 \u0432\u0438\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0435\u0436\u0438\u043c\u044b \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438, \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u042d\u0442\u043e API \u0434\u043b\u044f \u043a\u0440\u0435\u043c\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438:<\/strong> \u0414\u043b\u044f <code>x86_64<\/code>, <code>ISA<\/code> \u2014 \u044d\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0439 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0431\u044f 16-, 32- \u0438 64-\u0431\u0438\u0442\u043d\u044b\u0435 \u0440\u0435\u0436\u0438\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b. \u041e\u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <code>GPR<\/code> (<code>RAX<\/code>, <code>RBX<\/code>, etc), <code>SIMD<\/code> (<code>XMM<\/code>, <code>YMM<\/code>, <code>ZMM<\/code>), \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (<code>CR0-CR15<\/code>), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e (\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c, \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u0443\u044e) \u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u0443\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e (\u043a\u043b\u044e\u0447\u0435\u0432\u0443\u044e \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u041e\u0421).<\/p>\n<\/li>\n<li>\n<p><strong>\u0412 AsmX G3:<\/strong> \u041d\u0430\u0448\u0430 \u0446\u0435\u043b\u044c \u2014 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0447\u0438\u0441\u0442\u044b\u0439, \u043c\u043e\u0449\u043d\u044b\u0439 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a \u044d\u0442\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0438, \u043c\u0435\u0441\u0442\u0430\u043c\u0438, \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435. \u041c\u044b \u0430\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u0443\u0435\u043c \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u0438 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0447\u0430\u0441\u0442\u0438, \u0434\u0430\u0432\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043f\u0440\u044f\u043c\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u043e\u0449\u0438 64-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>CISC (Complex Instruction Set Computer \/ \u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439)<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong> \u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f &#171;\u043e\u0434\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u2014 \u043e\u0434\u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430&#187;. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432, <code>CISC<\/code> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u043e\u0449\u043d\u044b\u0435, \u043c\u043d\u043e\u0433\u043e\u0448\u0430\u0433\u043e\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u044f\u043c\u043e \u0432 &#171;\u0436\u0435\u043b\u0435\u0437\u0435&#187;.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438:<\/strong> \u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 \u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e (<code>memory-to-memory<\/code> \u0438\u043b\u0438 <code>register-to-memory<\/code>). \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 <code>CISC<\/code>-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <code>x86_64<\/code>, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0433\u0438\u0431\u0440\u0438\u0434\u0430\u043c\u0438: \u043e\u043d\u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u044e\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 <code>CISC<\/code>-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0445, <code>RISC<\/code>-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 (<code>\u03bcops<\/code>) \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412 AsmX G3:<\/strong> \u041c\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u043e\u0441\u0442\u044c. \u041d\u0430\u0448 <code>hwm<\/code> \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0441\u0442\u0435\u0440\u0441\u043a\u0438 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u0440\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f <code>CISC<\/code>, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041e\u043f\u043a\u043e\u0434 (Opcode \/ \u041a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438)<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong> \u0413\u043b\u0430\u0433\u043e\u043b \u043c\u0430\u0448\u0438\u043d\u044b. \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443, <em>\u0447\u0442\u043e<\/em> \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438:<\/strong> \u0412 <code>x86_64<\/code> \u043e\u043f\u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0434\u043b\u0438\u043d\u0443 1, 2 \u0438\u043b\u0438 3 \u0431\u0430\u0439\u0442\u0430. \u041e\u043d \u0440\u0435\u0434\u043a\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u043c. \u0427\u0430\u0441\u0442\u043e \u0435\u0433\u043e \u0442\u043e\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430\u043c\u0438 \u0438\u043b\u0438 \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u044f\u043c\u0438 \u0432 \u0431\u0430\u0439\u0442\u0435 <code>ModR\/M<\/code>. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u043f\u043a\u043e\u0434 <code>0x81<\/code> \u043c\u043e\u0436\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c <code>ADD<\/code>, <code>OR<\/code>, <code>ADC<\/code>, <code>SUB<\/code> \u0438 \u0442.\u0434., \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 3-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f <code>Reg\/Opcode<\/code> \u0432 \u0431\u0430\u0439\u0442\u0435 <code>ModR\/M<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412 AsmX G3:<\/strong> \u041d\u0430\u0448 <code>IDT<\/code> \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0438 (<code>add<\/code>, <code>mov<\/code>) \u0441 \u0438\u0445 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u043e\u043f\u043a\u043e\u0434\u0430\u043c\u0438 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442, \u043a\u0430\u043a \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u0430\u0439\u0442\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>ModR\/M<\/code>) \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0411\u0430\u0439\u0442 ModR\/M (Mod, Register\/Memory)<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong>\u00a0\u042d\u0442\u043e\u0442 \u0431\u0430\u0439\u0442, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430 \u043e\u043f\u043a\u043e\u0434\u043e\u043c, \u2014 \u044d\u0442\u043e\u00a0<strong>\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u044f<\/strong>\u00a0\u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041e\u043d \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435; \u043e\u043d \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442,\u00a0<strong>\u0447\u0442\u043e<\/strong>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u043c (\u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438) \u0438\u00a0<strong>\u043a\u0430\u043a<\/strong>\u00a0\u0434\u043e \u043d\u0435\u0433\u043e \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f (\u0440\u0435\u0436\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438).<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438:<\/strong> \u042d\u0442\u043e\u0442 8-\u0431\u0438\u0442\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u0442\u0440\u0438 \u043f\u043e\u043b\u044f: <\/p>\n<ul>\n<li>\n<p><code><strong>Mod<\/strong><\/code><strong> <\/strong><code><strong>[\u0431\u0438\u0442\u044b 7-6]<\/strong><\/code><strong>:<\/strong> \u0420\u0435\u0436\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0438 \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0430\u0434\u0440\u0435\u0441, \u0442\u043e \u043a\u0430\u043a \u043e\u043d \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f. <\/p>\n<ul>\n<li>\n<p><code>00<\/code>: \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (<code>[RAX]<\/code>), \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u043b\u0443\u0447\u0430\u044f\u043c\u0438 \u0434\u043b\u044f <code>[RIP + \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435]<\/code> \u0438 <code>[\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435]<\/code>.<\/p>\n<\/li>\n<li>\n<p><code>01<\/code>: \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 + 8-\u0431\u0438\u0442\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c (<code>[RAX + 12h]<\/code>).<\/p>\n<\/li>\n<li>\n<p><code>10<\/code>: \u0410\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 + 32-\u0431\u0438\u0442\u043d\u043e\u0435 \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c (<code>[RAX + 12345678h]<\/code>).<\/p>\n<\/li>\n<li>\n<p><code>11<\/code>: \u041e\u043f\u0435\u0440\u0430\u043d\u0434 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c, \u0430 \u043d\u0435 \u044f\u0447\u0435\u0439\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><code><strong>Reg\/Opcode<\/strong><\/code><strong> <\/strong><code><strong>[\u0431\u0438\u0442\u044b 5-3]<\/strong><\/code><strong>:<\/strong> \u041e\u0431\u044b\u0447\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432 (\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0438\u043b\u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c). \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u044d\u0442\u0438 \u0431\u0438\u0442\u044b \u0441\u043b\u0443\u0436\u0430\u0442 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c \u043e\u043f\u043a\u043e\u0434\u0430, \u0432\u044b\u0431\u0438\u0440\u0430\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0438\u0437 \u0433\u0440\u0443\u043f\u043f\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>ADD<\/code> \u0432\u043c\u0435\u0441\u0442\u043e <code>OR<\/code> \u0434\u043b\u044f \u043e\u043f\u043a\u043e\u0434\u0430 <code>0x81<\/code>).<\/p>\n<\/li>\n<li>\n<p><code><strong>R\/M<\/strong><\/code><strong> <\/strong><code><strong>[\u0431\u0438\u0442\u044b 2-0]<\/strong><\/code><strong>:<\/strong> \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434. \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u043e\u043b\u044f <code>Mod<\/code>, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0438\u0431\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u043b\u0438\u0431\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 <code>SIB<\/code>).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412 AsmX G3:<\/strong> \u041c\u043e\u0434\u0443\u043b\u044c <code>HardwareMachineFactoryEncoder<\/code> \u2014 \u044d\u0442\u043e \u043d\u0430\u0448 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u043f\u043e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438. \u041e\u043d \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u0438 \u0431\u0435\u0437\u0443\u043f\u0440\u0435\u0447\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0431\u0438\u0442\u044b <code>ModR\/M<\/code>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0411\u0430\u0439\u0442 SIB (Scale, Index, Base)<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong> \u0423\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438:<\/strong> \u042d\u0442\u043e\u0442 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430 <code>ModR\/M<\/code> \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435 <code>[Base + Index * Scale]<\/code>. \u041e\u043d \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438 \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. <\/p>\n<ul>\n<li>\n<p><code><strong>Scale<\/strong><\/code><strong> <\/strong><code><strong>[\u0431\u0438\u0442\u044b 7-6]<\/strong><\/code><strong>:<\/strong> \u041c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044c \u0434\u043b\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f <code>00<\/code>, <code>01<\/code>, <code>10<\/code>, <code>11<\/code> \u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438 <code>1<\/code>, <code>2<\/code>, <code>4<\/code>, <code>8<\/code> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p><code><strong>Index<\/strong><\/code><strong> <\/strong><code><strong>[\u0431\u0438\u0442\u044b 5-3]<\/strong><\/code><strong>:<\/strong> \u0418\u043d\u0434\u0435\u043a\u0441\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>RCX<\/code>).<\/p>\n<\/li>\n<li>\n<p><code><strong>Base<\/strong><\/code><strong> <\/strong><code><strong>[\u0431\u0438\u0442\u044b 2-0]<\/strong><\/code><strong>:<\/strong> \u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>RAX<\/code>).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412 AsmX G3:<\/strong> \u0412\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0443\u043c\u0430\u0442\u044c \u043e <code>SIB<\/code>. \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 <code>[rax + rcx*4]<\/code>, <code>hwm<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c <code>SIB<\/code> \u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0435\u0433\u043e \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u0435\u0444\u0438\u043a\u0441 REX<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u041a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f:<\/strong> &#171;\u0421\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447&#187; \u0434\u043b\u044f 64-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430. \u0411\u0435\u0437 \u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u0435\u0433\u043e \u043c\u043e\u0449\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438:<\/strong> \u041e\u0434\u0438\u043d \u0431\u0430\u0439\u0442 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 <code>0x40 - 0x4F<\/code>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 64-\u0431\u0438\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u041e\u043d \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u0435\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 4 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u043b\u0430\u0433\u0430: <\/p>\n<ul>\n<li>\n<p><code><strong>W<\/strong><\/code><strong> (bit 3):<\/strong> <code>0<\/code> = 32-\u0431\u0438\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e), <code>1<\/code> = 64-\u0431\u0438\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430. \u042d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439 \u0444\u043b\u0430\u0433.<\/p>\n<\/li>\n<li>\n<p><code><strong>R<\/strong><\/code><strong> (bit 2):<\/strong> \u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043f\u043e\u043b\u0435 <code>Reg<\/code> \u0432 <code>ModR\/M<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0435\u043c\u0443 \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b <code>R8-R15<\/code> \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a <code>RAX-RDI<\/code>.<\/p>\n<\/li>\n<li>\n<p><code><strong>X<\/strong><\/code><strong> (bit 1):<\/strong> \u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043f\u043e\u043b\u0435 <code>Index<\/code> \u0432 \u0431\u0430\u0439\u0442\u0435 <code>SIB<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>R8-R15<\/code> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><code><strong>B<\/strong><\/code><strong> (bit 0):<\/strong> \u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043f\u043e\u043b\u0435 <code>R\/M<\/code> \u0432 <code>ModR\/M<\/code> (\u0438\u043b\u0438 \u043f\u043e\u043b\u0435 <code>Base<\/code> \u0432 <code>SIB<\/code>), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>R8-R15<\/code>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u0412 AsmX G3:<\/strong> \u041c\u043e\u0434\u0443\u043b\u044c <code>HardwareMachineFactoryComputation<\/code> \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u0430\u0448\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b. \u0412\u0438\u0434\u0438\u0442 <code>R15<\/code>? \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 \u0431\u0438\u0442\u044b <code>REX<\/code>. \u0412\u0438\u0434\u0438\u0442 <code>qword ptr<\/code>? \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0431\u0438\u0442 <code>REX.W<\/code>. \u0412\u0441\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u041c\u044b \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u0444\u0430\u043a\u0442\u043e\u0440.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Post Scriptum: \u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u0441\u0451. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e rev 2.0<\/h3>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u2014 \u044d\u0442\u043e \u043d\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u042d\u0442\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430\u044f \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f. \u041f\u043e\u043a\u0430 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0430\u0441\u044c, \u043c\u044b \u0443\u0436\u0435 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u00a0<code><strong>rev 2.0<\/strong><\/code>, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u043d\u0430\u0448\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u043d\u0430\u0448 \u043f\u043e\u0434\u0445\u043e\u0434: \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<p><strong>\u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0431\u043e\u0439 \u043f\u0440\u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0431\u0435\u0437 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432.<\/strong><\/p>\n<p>\u041d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u044c \u2014 \u044d\u0442\u043e \u043d\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430. \u042d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0430\u0432\u0430\u043b\u0430 \u0441\u0431\u043e\u0439 \u0441\u00a0<code>Unhandled Rejection<\/code>, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0448 \u043f\u0430\u0440\u0441\u0435\u0440 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a\u00a0<code>nop<\/code>\u00a0\u0438\u043b\u0438\u00a0<code>pushf<\/code>. \u042d\u0442\u043e \u043d\u0435\u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/422\/9a8\/a75\/4229a8a75f6b78ab3d8042b9530f4f3d.png\" alt=\"\u0421\u0431\u043e\u0439 \u2014 \u044d\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u0431\u043e\u0435\u0432, \u0432\u044b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u043e\u043d\u043d\u044b. \u041c\u044b \u043d\u0430\u0448\u043b\u0438 \u044d\u0442\u043e\u0442 \u0441\u0431\u043e\u0439 \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u043b\u0438 \u0435\u0433\u043e.\" title=\"\u0421\u0431\u043e\u0439 \u2014 \u044d\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u0431\u043e\u0435\u0432, \u0432\u044b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u043e\u043d\u043d\u044b. \u041c\u044b \u043d\u0430\u0448\u043b\u0438 \u044d\u0442\u043e\u0442 \u0441\u0431\u043e\u0439 \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u043b\u0438 \u0435\u0433\u043e.\" width=\"1203\" height=\"177\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/422\/9a8\/a75\/4229a8a75f6b78ab3d8042b9530f4f3d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/422\/9a8\/a75\/4229a8a75f6b78ab3d8042b9530f4f3d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0421\u0431\u043e\u0439 \u2014 \u044d\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u0431\u043e\u0435\u0432, \u0432\u044b \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u043e\u043d\u043d\u044b. \u041c\u044b \u043d\u0430\u0448\u043b\u0438 \u044d\u0442\u043e\u0442 \u0441\u0431\u043e\u0439 \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u043b\u0438 \u0435\u0433\u043e.<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043a\u043e\u0440\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u0432 \u043b\u043e\u0436\u043d\u043e\u043c \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u0438\u0438, \u0437\u0430\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u0432 \u043c\u0435\u0442\u043e\u0434\u0435\u00a0<code>zcc_build_generic_instruction<\/code>: \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0447\u0442\u043e \u0443 \u043b\u044e\u0431\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b. \u042d\u0442\u043e \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 \u2014 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u0430\u0440\u0441\u0435\u0440 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a <code>ast[0].type<\/code>, \u043a\u043e\u0433\u0434\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u00a0<code>ast<\/code>\u00a0\u0431\u044b\u043b \u043f\u0443\u0441\u0442, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u043e\u043c\u0443\u00a0<code>null reference<\/code>.<br \/> <strong>\u0411\u044b\u043b\u043e (\u0425\u0440\u0443\u043f\u043a\u0438\u0439 \u043a\u043e\u0434):<\/strong><\/p>\n<pre><code class=\"typescript\">static zcc_build_generic_instruction(ast) {   \/\/ \u041f\u0430\u0434\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 ast[0] \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442   if (ast[0].type == TypeOfAtomicExpression.ARGUMENTS) {      return ast[0].body.values;   }   return ast; }<\/code><\/pre>\n<p><strong>\u0421\u0442\u0430\u043b\u043e (\u0410\u043d\u0442\u0438\u0445\u0440\u0443\u043f\u043a\u0438\u0439 \u043a\u043e\u0434):<\/strong><\/p>\n<pre><code class=\"typescript\">static zcc_build_generic_instruction(ast) {   \/\/ \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e optional chaining   if (ast[0]?.type === TypeOfAtomicExpression.ARGUMENTS) {      return ast[0].body.values;   }   return ast; }<\/code><\/pre>\n<p>\u041c\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u043d\u043e \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435: \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0443 (<code>?.<\/code>). \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0434 \u043d\u0435\u00a0\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0430\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442.<\/p>\n<p>\u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u0430. \u042d\u0442\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439, \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041c\u044b \u043d\u0435 \u043b\u0430\u0442\u0430\u0435\u043c \u0434\u044b\u0440\u044b; \u043c\u044b \u0443\u043a\u0440\u0435\u043f\u043b\u044f\u0435\u043c \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442.<\/p>\n<p><strong>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e: \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439\u00a0<\/strong><code><strong>amd64<\/strong><\/code><strong>\u00a0\u0431\u0435\u0437 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u043e\u0432.<\/strong><\/p>\n<p>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0433\u0430 \u043e\u0442\u043a\u0440\u044b\u043b\u043e \u043d\u0430\u043c \u0434\u043e\u0440\u043e\u0433\u0443 \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u0422\u0435\u043f\u0435\u0440\u044c\u00a0<code>hwm<\/code>\u00a0\u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p><code>nop<\/code>: No Operation<\/p>\n<\/li>\n<li>\n<p><code>fwait<\/code>: Check pending unmasked floating-point exceptions<\/p>\n<\/li>\n<li>\n<p><code>pushf<\/code>: Push rFLAGS Register onto the Stack<\/p>\n<\/li>\n<li>\n<p><code>popf<\/code>: Pop Stack into rFLAGS Register<\/p>\n<\/li>\n<li>\n<p><code>sahf<\/code>: Store AH into Flags<\/p>\n<\/li>\n<li>\n<p><code>lahf<\/code>: Load Status Flags into AH Register<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434. \u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043a &#171;\u0436\u0435\u043b\u0435\u0437\u0443&#187;. \u041a\u0430\u0436\u0434\u043e\u0435 \u0442\u0430\u043a\u043e\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0448\u0438\u043c\u0438 \u044e\u043d\u0438\u0442-\u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044f, \u0447\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u043e\u0431\u0435\u0449\u0430\u0435\u043c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<details class=\"spoiler\">\n<summary>hwm: unit-tests<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8ba\/adc\/b33\/8baadcb33d752e05b347f25e42c7227b.png\" alt=\"\u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u00a0hwm\u00a0\u043f\u043e\u043a\u0440\u044b\u0442 \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044f \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041c\u044b \u043d\u0435 \u043d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.\" title=\"\u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u00a0hwm\u00a0\u043f\u043e\u043a\u0440\u044b\u0442 \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044f \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041c\u044b \u043d\u0435 \u043d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.\" width=\"802\" height=\"868\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8ba\/adc\/b33\/8baadcb33d752e05b347f25e42c7227b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8ba\/adc\/b33\/8baadcb33d752e05b347f25e42c7227b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0418\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430. \u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u00a0<\/em><code><em>hwm<\/em><\/code><em>\u00a0\u043f\u043e\u043a\u0440\u044b\u0442 \u0442\u0435\u0441\u0442\u0430\u043c\u0438, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044f \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041c\u044b \u043d\u0435 \u043d\u0430\u0434\u0435\u0435\u043c\u0441\u044f, \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.<\/em><\/figcaption><\/div>\n<\/figure>\n<\/div>\n<\/details>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/26f\/5e4\/787\/26f5e4787417b8128fe6a1b8072244cc.gif\" width=\"640\" height=\"360\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/26f\/5e4\/787\/26f5e4787417b8128fe6a1b8072244cc.gif 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/26f\/5e4\/787\/26f5e4787417b8128fe6a1b8072244cc.gif 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/articles\/932248\/\"> https:\/\/habr.com\/ru\/articles\/932248\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>AsmX G3: \u041f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u0440\u0435\u043c\u043d\u0438\u0435\u043c \u0441 \u043d\u0443\u043b\u044f.<\/h3>\n<p>\u041c\u044b \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440. \u041c\u044b \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0438\u0432\u0430\u0435\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0441 \u043a\u0440\u0435\u043c\u043d\u0438\u0435\u043c, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432. \u0421\u0442\u0430\u0440\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u0438\u0445, \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0445 \u0431\u044d\u043a\u0435\u043d\u0434\u0430\u0445, \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438. \u041e\u043d\u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435, \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0438 \u043d\u0435\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435. AsmX G3, \u0441 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c ZGEN, \u043c\u0435\u043d\u044f\u0435\u0442 \u044d\u0442\u043e.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u043c\u0441\u044f \u0432 \u044f\u0434\u0440\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430: \u043a\u0430\u043a \u043d\u0430\u0448 <code>hwm<\/code> (Hardware Machine Factory) \u2014 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u043f\u043e \u0441\u0443\u0442\u0438, \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c, \u2014 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440 \u0432 \u0447\u0438\u0441\u0442\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 <code>x86_64<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u042d\u0442\u043e \u043d\u0435 \u043c\u0430\u0433\u0438\u044f. \u042d\u0442\u043e \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f.<\/p>\n<h4>\u041c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0430. \u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 ZGEN<\/h4>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f AsmX G3 \u2014 \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0441\u0442\u044c.\u00a0<code>hwm<\/code>\u00a0\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c.<\/p>\n<ul>\n<li>\n<p><strong>HWM (Hardware Machine Factory):<\/strong>\u00a0\u042d\u0442\u043e \u043d\u0435 \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u042d\u0442\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439, \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0447\u0435\u0442\u043a\u0438\u043c API. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u0438\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432 ZGEN, \u0438\u00a0<code>hwm<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u043e\u043a\u0430 \u0432\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0433\u043e\u0432\u043e\u0440\u0435\u043d\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0438\u0442\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0443\u0441\u0438\u043b\u0438\u044f\u043c\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>IDT (AssemblyInstructionDescriptorTable):<\/strong>\u00a0\u0421\u0435\u0440\u0434\u0446\u0435\u00a0<code>hwm<\/code>. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0436\u0435\u0441\u0442\u043a\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u0438\u0445\u00a0<code>if-else<\/code>\u00a0\u0438\u043b\u0438\u00a0<code>switch<\/code>\u00a0\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u2014 \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0446\u0435\u043f\u0442\u043e\u043c \u0434\u043b\u044f \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u044b \u2014 \u043c\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>x86_64<\/code> \u0432 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435.\u00a0<code>IDT<\/code>\u00a0\u2014 \u044d\u0442\u043e \u043d\u0430\u0448\u0430 \u043a\u043e\u043d\u0441\u0442\u0438\u0442\u0443\u0446\u0438\u044f, \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u0430\u0432\u0434\u044b \u0434\u043b\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u0415\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043d\u043e\u0432\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e &#171;\u0443\u0437\u043d\u0430\u0435\u0442&#187; \u043e \u043d\u0435\u0439.<\/p>\n<figure class=\"full-width\">\n<div><figcaption><em>\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 IDT (Instruction Descriptor Table). \u0412\u043c\u0435\u0441\u0442\u043e \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439. \u042d\u0442\u043e \u043d\u0430\u0448 \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u0430\u0432\u0434\u044b.<\/em><\/figcaption><\/div>\n<\/figure>\n<\/li>\n<li>\n<p><strong>RDB (RegisterDB):<\/strong>\u00a0\u041f\u043e\u0434\u043e\u0431\u043d\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a\u00a0<code>IDT<\/code>\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f),\u00a0<code>RDB<\/code>\u00a0\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u2014 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f, \u043d\u043e \u043c\u043e\u0449\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043c\u0435\u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (<code>rax<\/code>,\u00a0<code>r15<\/code>,\u00a0<code>cl<\/code>) \u0441 \u0438\u0445 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u0434\u0430\u043c\u0438, \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 (8, 16, 32, 64 \u0431\u0438\u0442) \u0438 \u043e\u0441\u043e\u0431\u044b\u043c\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 <code>REX<\/code>. \u042d\u0442\u043e \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 &#171;\u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0438\u0441\u043b\u0430&#187; \u0438\u0437 \u043b\u043e\u0433\u0438\u043a\u0438 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c \u0438 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u044b\u043c \u043e\u0448\u0438\u0431\u043a\u0430\u043c.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u0440\u0430\u0442\u043a\u043e \u043e\u0431 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430\u0445: CISC \u2014 \u044d\u0442\u043e \u043d\u0430\u0448 \u0445\u043e\u043b\u0441\u0442<\/h4>\n<figure class=\"full-width\">\n<div><figcaption>\u0414\u0432\u0435 \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0435\u043c\u043d\u0438\u044f. RISC (\u0441\u043d\u0438\u0437\u0443) \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0441\u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0432\u0430\u0442\u044c (\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c). CISC (\u0432\u0432\u0435\u0440\u0445\u0443), \u043d\u0430\u0448 \u0445\u043e\u043b\u0441\u0442, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u043e\u0449\u044c: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u041c\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0440\u043e\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0435\u0439 <strong>\u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c<\/strong>.<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0443\u0433\u043b\u0443\u0431\u0438\u043c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u0438, \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0441 \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c.<\/p>\n<ul>\n<li>\n<p><strong>RISC (Reduced Instruction Set Computer):<\/strong> \u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e. \u042d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044e \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>CISC (Complex Instruction Set Computer):<\/strong> \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 <code>x86_64<\/code>. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430 \u043e\u0434\u0438\u043d \u0448\u0430\u0433 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e). \u042d\u0442\u043e \u043c\u043e\u0449\u043d\u043e, \u043d\u043e \u043f\u043b\u0430\u0442\u0430 \u0437\u0430 \u044d\u0442\u0443 \u043c\u043e\u0449\u044c \u2014 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0432 \u043c\u0438\u0440\u0435 <code>CISC<\/code>. \u042d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u0439 \u0445\u043e\u043b\u0441\u0442. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u0443\u043a\u0440\u043e\u0442\u0438\u0442\u044c \u044d\u0442\u0443 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.<\/p>\n<h4>\u0425\u043e\u043b\u0441\u0442: \u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (ISA) x86-64<\/h4>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0443\u0433\u043b\u0443\u0431\u0438\u043c\u0441\u044f \u0432 \u0434\u0435\u0442\u0430\u043b\u0438, \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0441 \u0447\u0435\u043c \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c.<\/p>\n<p><strong>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ISA?<\/strong><br \/>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0430\u0431\u043e\u0440\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (Instruction Set Architecture) \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u043c\u0435\u0436\u0434\u0443 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c. \u042d\u0442\u043e \u044f\u0437\u044b\u043a, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u041e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u043a\u0430\u043a \u044d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<p><strong>\u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f CISC<\/strong><br \/><code>x86-64<\/code> \u2014 \u044d\u0442\u043e \u044f\u0440\u043a\u0438\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b\u00a0<strong>CISC (Complex Instruction Set Computer)<\/strong>. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442\u00a0<strong>RISC (Reduced Instruction Set Computer)<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0441\u044f \u043a \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, <code>CISC<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u043d\u043e\u0433\u043e\u0448\u0430\u0433\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0434\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>ADD<\/code>\u00a0\u0432 <code>x86-64<\/code> \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438, \u0441\u043b\u043e\u0436\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/p>\n<p>\u042d\u0442\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u2014 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438, \u043d\u043e \u043e\u043d\u0430 \u0436\u0435 \u0438 \u0434\u0430\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u043c\u043e\u0449\u044c. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043d\u0435 \u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u0430 \u0443\u043a\u0440\u043e\u0442\u0438\u0442\u044c \u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.<\/p>\n<h4>\u041e\u0442 \u0431\u0430\u0439\u0442\u043e\u0432 \u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e: \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 x86-64<\/h4>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u0439, \u0431\u0435\u0437\u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u043e. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 <code>x86-64<\/code> \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c, \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0439\u0448\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0435\u0440\u0435\u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u044f, \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u0446\u0435\u043b\u0438: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u0426\u0435\u043b\u044c \u2014 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0437\u0430 \u043e\u0434\u0438\u043d \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0446\u0438\u043a\u043b (Instructions Per Clock, IPC).<\/p>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0447\u0430\u0441\u0442\u0438:\u00a0<strong>Front-end<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0438\u00a0<strong>Back-end<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0438\u0445 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u0447\u0430\u0441\u0442\u043e \u0432 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0438\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0447\u0435\u043c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435.<\/p>\n<h4>The Front-End: \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439<\/h4>\n<ol>\n<li>\n<p><strong>\u0412\u044b\u0431\u043e\u0440\u043a\u0430 (Fetch):<\/strong>\u00a0\u0412\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u00a0<code>RIP<\/code>\u00a0(Instruction Pointer), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0411\u043b\u043e\u043a \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e; \u043e\u043d \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e \u043f\u0440\u0435\u0434\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 (<code>pre-fetches<\/code>) \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0431\u0430\u0439\u0442 \u0438\u0437 \u043a\u044d\u0448\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f (<code>L1 cache<\/code>) \u0432 \u0441\u0432\u043e\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0431\u0443\u0444\u0435\u0440. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430 \u2014 \u043f\u0440\u043e\u043c\u0430\u0445 \u0432 \u043a\u044d\u0448\u0435 (<code>cache miss<\/code>) \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c \u0443\u0440\u043e\u0432\u043d\u044f\u043c \u043f\u0430\u043c\u044f\u0442\u0438 (<code>L2<\/code>, <code>L3<\/code>, <code>RAM<\/code>) \u2014 \u044d\u0442\u043e \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (Decode):<\/strong>\u00a0\u042d\u0442\u043e &#171;\u0443\u0437\u043a\u043e\u0435 \u0433\u043e\u0440\u043b\u044b\u0448\u043a\u043e&#187; \u0438 \u0441\u0430\u043c\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0434\u043b\u044f CISC-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u0414\u0435\u043a\u043e\u0434\u0435\u0440 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0442\u043e\u043a \u0431\u0430\u0439\u0442, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043e\u0442 \u0431\u043b\u043e\u043a\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>x86-64<\/code> \u0438\u043c\u0435\u044e\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u0438\u043d\u0443 (\u043e\u0442 1 \u0434\u043e 15 \u0431\u0430\u0439\u0442), \u0434\u0435\u043a\u043e\u0434\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u0417\u0430\u0442\u0435\u043c \u043e\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0432\u043e\u044e \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443: \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u0443\u044e CISC-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0445, RISC-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445\u00a0<strong>\u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 (\u03bcops)<\/strong>. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b Intel \u0438 AMD \u0438\u043c\u0435\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e: &#171;\u043f\u0440\u043e\u0441\u0442\u044b\u0435&#187; \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u043d\u0443 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a &#171;\u0441\u043b\u043e\u0436\u043d\u044b\u0435&#187; \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 (Branch Prediction):<\/strong>\u00a0\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 (<code>JNE<\/code>,\u00a0<code>JZ<\/code>) \u0438 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 (<code>JMP<\/code>,\u00a0<code>CALL<\/code>) \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u2014 \u044d\u0442\u043e \u044f\u0434 \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430. \u041a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434, \u043e\u043d \u043d\u0435 \u0437\u043d\u0430\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435, \u043f\u043e\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d. \u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u0431\u044b \u043a \u043f\u0440\u043e\u0441\u0442\u043e\u044e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u043d\u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0442\u0430\u043a\u0442\u044b. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u0432 \u0438\u0433\u0440\u0443 \u0432\u0441\u0442\u0443\u043f\u0430\u0435\u0442\u00a0<strong>\u0431\u043b\u043e\u043a \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 (Branch Prediction Unit, BPU)<\/strong>. \u042d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432. <code>BPU<\/code> \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043f\u043e \u043a\u0430\u043a\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u043f\u043e\u0439\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u00a0<strong>\u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c<\/strong>\u00a0\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438\u0437 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438, \u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0432\u0435\u0440\u043d\u043e (\u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 CPU \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c &gt; 95%), \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0433\u0440\u043e\u043c\u0435\u043d. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442, \u0432\u0441\u0435 \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u0438 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0448\u0442\u0440\u0430\u0444\u0430\u043c \u043f\u043e \u0442\u0430\u043a\u0442\u0430\u043c.<\/p>\n<\/li>\n<\/ol>\n<h4>The Back-End: \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0432\u043d\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 (Out-of-Order Execution)<\/h4>\n<figure class=\"full-width\">\n<div><figcaption><em>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u043f\u0440\u0438\u043a\u0430\u0437. \u042d\u0442\u043e Back-End, \u044f\u0434\u0440\u043e Out-of-Order \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0417\u0434\u0435\u0441\u044c CISC-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0435 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u03bcOPs), \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u043e\u043a\u043e\u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\u00a0<\/em><strong><em>Scheduler<\/em><\/strong><em>\u00a0\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u0446\u0435\u043d\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0442\u0430\u043c\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 (Ports 0-7). \u041a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u2014\u00a0<\/em><strong><em>Register Renaming<\/em><\/strong><em>\u00a0(\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 16 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u0440\u043e\u0442\u0438\u0432 180 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0426\u0435\u043b\u044c \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043a\u043e\u0440\u043c\u0438\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0437\u0432\u0435\u0440\u044f.<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043e\u043d\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 &#171;\u0441\u0435\u0440\u0434\u0446\u0435 \u0445\u0430\u043e\u0441\u0430&#187; \u2014 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u044f\u0434\u0440\u043e, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435 \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 &#171;out-of-order&#187; (<code>OoO<\/code>). \u0426\u0435\u043b\u044c <code>OoO<\/code> \u2014 \u043d\u0430\u0439\u0442\u0438 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043e\u043d\u0438 \u0441\u0442\u043e\u044f\u043b\u0438 \u0434\u0430\u043b\u0435\u043a\u043e \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<ol>\n<li>\n<p><strong>\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (Register Renaming):<\/strong>\u00a0\u042d\u0442\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c <code>OoO<\/code>. \u0412 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 <code>x86-64<\/code> \u0432\u0441\u0435\u0433\u043e 16 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0443 \u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u043e\u0434\u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0445\u043e\u0447\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u00a0<code>RAX<\/code>, \u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f, \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 \u043d\u0435\u0439, \u0442\u043e\u0436\u0435 \u0445\u043e\u0447\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u00a0<code>RAX<\/code>). \u0427\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438\u043c\u0435\u0435\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 (\u0441\u043e\u0442\u043d\u0438), \u0447\u0435\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (<code>RAX<\/code>,\u00a0<code>RCX<\/code>\u00a0\u0438 \u0442.\u0434.), \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432\u0437\u0430\u043c\u0435\u043d \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0438\u0437 \u043f\u0443\u043b\u0430. \u042d\u0442\u043e \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u0442 \u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u044f\u0434\u0440\u0443 \u0441\u0432\u043e\u0431\u043e\u0434\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f (Dispatch\/Issue):<\/strong>\u00a0\u041c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0431\u0443\u0444\u0435\u0440, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439\u00a0<strong>\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u043c<\/strong>\u00a0\u0438\u043b\u0438\u00a0<strong>\u0441\u0442\u0430\u043d\u0446\u0438\u0435\u0439 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (Reservation Station)<\/strong>. \u0417\u0434\u0435\u0441\u044c \u043e\u043d\u0438 \u043e\u0436\u0438\u0434\u0430\u044e\u0442, \u043f\u043e\u043a\u0430 \u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438) \u0441\u0442\u0430\u043d\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u043e\u0442\u043e\u0432\u044b, \u043e\u043d\u0430 \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 (Execute):<\/strong>\u00a0\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435\u00a0<strong>\u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 (Execution Units)<\/strong>. \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f\u00a0<strong>\u0441\u0443\u043f\u0435\u0440\u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u043c<\/strong>, \u0442\u043e \u0435\u0441\u0442\u044c \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u0445 \u0431\u043b\u043e\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e: \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e <code>ALU<\/code> (\u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u043e-\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432), \u0431\u043b\u043e\u043a\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438\/\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u044c (<code>AGU - Address Generation Unit<\/code>), \u0431\u043b\u043e\u043a\u0438 \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (<code>FPU<\/code>) \u0438 \u0442.\u0434. \u0412<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\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-469026","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/469026","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=469026"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/469026\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=469026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=469026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=469026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}