AMD ืื™ืฉืจื” ืืช ื”ืคื’ื™ืขื•ืช ื”ืคื•ื˜ื ืฆื™ืืœื™ืช ืฉืœ ืžืขื‘ื“ื™ AMD Zen 3 ืœืžืชืงืคืช Spectre-STL

AMD ืคืจืกืžื” ื“ื•"ื— ื”ืžื ืชื— ืืช ื”ืื‘ื˜ื—ื” ืฉืœ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื”ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ PSF (Predictive Store Forwarding) ื”ืžื™ื•ืฉืžืช ื‘ืžืขื‘ื“ื™ื ืžืกื“ืจืช Zen 3. ื”ืžื—ืงืจ ืื™ืฉืจ ืชื™ืื•ืจื˜ื™ืช ืืช ื™ืฉื™ืžื•ืช ืฉื™ื˜ืช ื”ื”ืชืงืคื” Spectre-STL (Spectre-v4), ืฉื–ื•ื”ืชื” ื‘ืžืื™ 2018, ื˜ื›ื ื•ืœื•ื’ื™ื™ืช PSF, ืืš ื‘ืคื•ืขืœ, ื˜ืจื ื ืžืฆืื• ืชื‘ื ื™ื•ืช ืงื•ื“ ื”ืžืกื•ื’ืœื•ืช ืœื”ื•ื‘ื™ืœ ืœืžืชืงืคื” ื•ื”ืกื›ื ื” ื”ื›ื•ืœืœืช ืžื•ืขืจื›ืช ื›ืœื ืžืฉืžืขื•ืชื™ืช.

ื”ื‘ื” ื ื–ื›ื™ืจ ืฉื”ืชืงืคืช Spectre-v4 (Speculative Store Bypass) ืžื‘ื•ืกืกืช ืขืœ ืฉื—ื–ื•ืจ ื ืชื•ื ื™ื ืฉื”ืชื™ื™ืฉื‘ื• ื‘ืžื˜ืžื•ืŸ ื”ืžืขื‘ื“ ืœืื—ืจ ื”ืฉืœื›ืช ื”ืชื•ืฆืื” ืฉืœ ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ืคืขื•ืœื•ืช ื‘ืขืช ืขื™ื‘ื•ื“ ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื•ืงืจื™ืื” ืžืชื—ืœืคื•ืช ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื›ืชื•ื‘ืช ืขืงื™ืคื”. ื›ืืฉืจ ืคืขื•ืœืช ืงืจื™ืื” ื‘ืื” ื‘ืขืงื‘ื•ืช ืคืขื•ืœืช ื›ืชื™ื‘ื” (ืœื“ื•ื’ืžื”, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), ื™ื™ืชื›ืŸ ืฉื”ืกื˜ืช ื›ืชื•ื‘ืช ื”ืงืจื™ืื” ื›ื‘ืจ ื™ื“ื•ืขื” ืขืงื‘ ืคืขื•ืœื•ืช ื“ื•ืžื•ืช ืฉืžืชื‘ืฆืขื•ืช (ืคืขื•ืœื•ืช ืงืจื™ืื” ื”ืŸ ืžื‘ื•ืฆืข ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื” ื”ืจื‘ื” ื™ื•ืชืจ ื•ื ื™ืชืŸ ืœื‘ืฆืข ืงืจื™ืื” ืžื”ืžื˜ืžื•ืŸ) ื•ื”ืžืขื‘ื“ ื™ื›ื•ืœ ืœื‘ืฆืข ื‘ืกืคืงื•ืœื˜ื™ื‘ื™ื•ืช ืงืจื™ืื” ืœืคื ื™ ื›ืชื™ื‘ื” ืžื‘ืœื™ ืœื—ื›ื•ืช ืœื—ื™ืฉื•ื‘ ื”ื™ืกื˜ ื”ืขืงื™ืฃ ืฉืœ ื”ื›ืชื™ื‘ื”.

ืชื›ื•ื ื” ื–ื• ืžืืคืฉืจืช ื”ื•ืจืืช ืงืจื™ืื” ืœื’ืฉืช ืœืขืจืš ื™ืฉืŸ ื‘ื›ืชื•ื‘ืช ื›ืœืฉื”ื™ ื‘ื–ืžืŸ ืฉืคืขื•ืœืช ื”ื—ื ื•ืช ืขื“ื™ื™ืŸ ืœื ื”ื•ืฉืœืžื”. ืื ื™ืฉ ืฉื’ื™ืืช ื—ื™ื–ื•ื™, ื”ืคืขื•ืœื” ื”ืกืคืงื•ืœื˜ื™ื‘ื™ืช ื”ืœื ืžื•ืฆืœื—ืช ืชื™ืžื—ืง, ืืš ืขืงื‘ื•ืช ื‘ื™ืฆื•ืขื” ื™ื™ืฉืืจื• ื‘ืžื˜ืžื•ืŸ ื”ืžืขื‘ื“ ื•ื ื™ืชืŸ ืœืื—ื–ืจ ืื•ืชื ื‘ืื—ืช ืžื”ืฉื™ื˜ื•ืช ืœืงื‘ื™ืขืช ืชื•ื›ืŸ ื”ืžื˜ืžื•ืŸ ืขืœ ืกืžืš ื ื™ืชื•ื— ืฉื™ื ื•ื™ื™ื ื‘ื’ื™ืฉื” ื–ืžืŸ ืœื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื•ืœื ืžืื•ื—ืกื ื™ื ื‘ืžื˜ืžื•ืŸ.

ื ื•ืกืฃ ืœืžืขื‘ื“ื™ AMD Zen 3, PSF ืžื™ื™ืขืœ ืืช STLF (Store-To-Load-Forwarding), ื”ืžื‘ืฆืข ืคืขื•ืœื•ืช ืงืจื™ืื” ื‘ืื•ืคืŸ ืกืคืงื•ืœื˜ื™ื‘ื™ ืขืœ ื™ื“ื™ ื—ื™ื–ื•ื™ ื”ืงืฉืจ ื‘ื™ืŸ ืคืขื•ืœื•ืช ืงืจื™ืื” ื•ื›ืชื™ื‘ื”. ื›ืืฉืจ ืžืฉืชืžืฉื™ื ื‘-STLF ื”ืงืœืืกื™, ื”ืžืขื‘ื“ ืžื‘ืฆืข ืคืขื•ืœืช "ื˜ืขื™ื ื”" ืขืœ ื”ื ืชื•ื ื™ื ืฉื”ื•ืขื‘ืจื• ื™ืฉื™ืจื•ืช ืžืคืงื•ื“ืช ื”"ื—ื ื•ืช" ื”ืงื•ื“ืžืช, ืžื‘ืœื™ ืœื—ื›ื•ืช ืฉื”ืชื•ืฆืื” ืชื™ื›ืชื‘ ื‘ืคื•ืขืœ ืœื–ื™ื›ืจื•ืŸ, ืืœื ืœื•ื•ื“ื ืฉื”ื›ืชื•ื‘ื•ืช ื‘ื”ืŸ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘"ื˜ืขื™ื ื”" ื•ื”ืคืงื•ื“ื•ืช "ื—ื ื•ืช" ืชื•ืืžื•ืช. ืื•ืคื˜ื™ืžื™ื–ืฆื™ื™ืช ื”-PSF ื”ื•ืคื›ืช ืืช ื‘ื“ื™ืงืช ื”ื›ืชื•ื‘ื•ืช ืœืกืคืงื•ืœื˜ื™ื‘ื™ืช ื•ืžื‘ืฆืขืช ืคืขื•ืœืช "ื˜ืขื™ื ื”" ืœืคื ื™ ืฉืคืจื˜ื™ ื”ื›ืชื•ื‘ื•ืช ื—ื•ืฉื‘ื• ืื ื‘ื•ืฆืข ื‘ืขื‘ืจ ื–ื•ื’ ืื—ืกื•ืŸ/ืขื•ืžืก ืฉืžืชืžืจืŸ ื›ืชื•ื‘ืช ื‘ื•ื“ื“ืช. ืื ื”ื—ื™ื–ื•ื™ ื ื›ืฉืœ, ื”ืžืฆื‘ ืžื•ื—ื–ืจ, ืืš ื”ื ืชื•ื ื™ื ื ืฉืืจื™ื ื‘ืžื˜ืžื•ืŸ.

ื”ืชืงืคื” ืขืœ PSF ืืคืฉืจื™ืช ืจืง ื‘ืžืกื’ืจืช ืจืžื” ืื—ืช ืฉืœ ื”ืจืฉืื•ืช, ืžื›ืกื” ืจืง ืืช ื”ื”ืงืฉืจ ืฉืœ ื”ืชื”ืœื™ืš ื”ื ื•ื›ื—ื™ ื•ื ื—ืกืžืช ืขืœ ื™ื“ื™ ืฉื™ื˜ื•ืช ื‘ื™ื“ื•ื“ ืžืจื—ื‘ื™ ื›ืชื•ื‘ืช ืื• ืžื ื’ื ื•ื ื™ ืืจื’ื– ื—ื•ืœ ืฉืœ ื—ื•ืžืจื”. ื‘ืžืงืจื” ื–ื”, ืฉื™ื˜ื•ืช ืืจื’ื– ื—ื•ืœ ืฉืœ ืชื•ื›ื ื” ื‘ืชื”ืœื™ื›ื™ื ืขืœื•ืœื•ืช ืœื”ื™ื•ืช ืžื•ืฉืคืขื•ืช ืžื”ื‘ืขื™ื”. ื”ืžืชืงืคื” ืžื”ื•ื•ื” ืื™ื•ื ืขืœ ืžืขืจื›ื•ืช ื›ื’ื•ืŸ ื“ืคื“ืคื ื™ื, ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืœื‘ื™ืฆื•ืข ืงื•ื“ ื•-JITs ื”ืžื‘ืฆืขื•ืช ืงื•ื“ ืฉืœ ืฆื“ ืฉืœื™ืฉื™ ื‘ืชื”ืœื™ืš ื‘ื•ื“ื“ (ื”ื”ืชืงืคื” ืขืœื•ืœื” ืœืืคืฉืจ ืœืงื•ื“ ืœื ืžื”ื™ืžืŸ ื‘ืืจื’ื– ื—ื•ืœ ืœืงื‘ืœ ื’ื™ืฉื” ืœื ืชื•ื ื™ ืชื”ืœื™ืš ืื—ืจื™ื).

AMD ืกื™ืคืงื” ืžืกืคืจ ืฉื™ื˜ื•ืช ืœื”ืฉื‘ื™ืช ืžื•ื—ืœื˜ืช ืื• ืกืœืงื˜ื™ื‘ื™ืช ืฉืœ PSF, ืืš ื‘ื”ืชื—ืฉื‘ ื‘ืกื™ื›ื•ืŸ ื”ื–ื ื™ื— ืขื‘ื•ืจ ืจื•ื‘ ื”ื™ื™ืฉื•ืžื™ื, ื”ืžืœื™ืฆื” ื›ื™ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ื–ื• ืœื ืชื•ืฉื‘ืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ื›ื“ื™ ืœื”ื’ืŸ ื‘ืื•ืคืŸ ืกืœืงื˜ื™ื‘ื™ ืขืœ ืชื”ืœื™ื›ื™ื ื”ืžื‘ื•ื“ื“ื™ื ืืช ืืœื” ืฉืžื‘ืฆืขื™ื ืงื•ื“ ืœื ืžื”ื™ืžืŸ, ืžื•ืฆืข ืœื”ืฉื‘ื™ืช ืืช PSF ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ืกื™ื‘ื™ื•ืช MSR "SSBD" ื•-"PSFD", ื›ื•ืœืœ ืขื‘ื•ืจ ืฉืจืฉื•ืจื™ื ื‘ื•ื“ื“ื™ื. ื”ืชื™ืงื•ื ื™ื ื”ื•ื›ื ื• ืขื‘ื•ืจ ืœื™ื‘ืช ืœื™ื ื•ืงืก ืขื ื”ื˜ืžืขืช ืืคืฉืจื•ื™ื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื” "psfd" ื•- "nopsfd" ื”ืฉื•ืœื˜ื•ืช ื›ื™ืฆื“ ื”-PSF ืžื•ืคืขืœ ื•ื›ื™ื‘ื•ื™.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”