เจ—เฉ‚เจ—เจฒ เจฆเฉ‡ LVI เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจจเฉ‡ 14x เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจนเจฟเฉฑเจŸ เจฆเจฟเจ–เจพเจ‡เจ†

เจ—เฉ‚เจ—เจฒ เจคเฉ‹เจ‚ เจœเจผเฉ‹เจฒเจพ เจฌเฉเจฐเจฟเจœ เจธเฉเจเจพเจ… เจฆเจฟเฉฑเจคเจพ LLVM เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเฉˆเฉฑเจŸ เจฒเจˆ, SESES (Speculative Execution Side Effect Suppression) เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจชเฉˆเจš, เจœเฉ‹ Intel CPUs เจตเจฟเฉฑเจš เจธเฉฑเจŸเฉ‡เจฌเจพเจœเฉ€ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจตเจฟเจงเฉ€ 'เจคเฉ‡ เจนเจฎเจฒเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ LVI. เจธเฉเจฐเฉฑเจ–เจฟเจ† เจตเจฟเจงเฉ€ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฎเจธเจผเฉ€เจจ เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆเฅค LFENCE, เจœเฉ‹ เจ•เจฟ เจนเจฐเฉ‡เจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจœเจพเจ‚ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจนเจฆเจพเจ‡เจค เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจฌเจฒเจพเจ• เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ€ เจฌเฉเจฐเจพเจ‚เจš เจนเจฆเจพเจ‡เจค เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจชเจพเจˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

LFENCE เจนเจฆเจพเจ‡เจค เจธเจพเจฐเฉ€เจ†เจ‚ เจชเจฟเจ›เจฒเฉ€เจ†เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฐเฉ€เจกเจœเจผ เจจเฉ‚เฉฐ เจ•เจฎเจฟเจŸ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ LFENCE เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจ—เจฒเฉ€เจ†เจ‚ เจนเจฆเจพเจ‡เจคเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเฉ€เจฎเจชเจธเจผเจจ เจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฎเจฟเจŸ เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเจพเฅค LFENCE เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจพเจฐเจ—เฉเจœเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ•เจฎเฉ€ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจพเจœเจผเฉเจ• เจ•เฉ‹เจก เจฒเจˆ เจ…เจคเจฟ เจฆเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจคเจœเจตเฉ€เจœเจผ เจนเฉˆเฅค เจชเฉ‚เจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจชเฉˆเจš เจคเจฟเฉฐเจจ เจซเจฒเฉˆเจ— เจชเฉ‡เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ 'เจคเฉ‡ เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจชเฉเจฐเจญเจพเจต เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉ‡ เจ•เฉเจ เจชเฉฑเจงเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉ‹เจฃเจตเฉ‡เจ‚ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ•เฉ€เจคเฉ‡ เจ—เจ เจŸเฉˆเจธเจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจฌเฉ‹เจฐเจฟเฉฐเจ—เจเจธเจเจธเจเจฒ เจชเฉˆเจ•เฉ‡เจœ เจฒเจˆ SESES เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‡ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจคเฉ€ เจธเจ•เจฟเฉฐเจŸ เจ•เฉ€เจคเฉ‡ เจ—เจ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจตเจฟเฉฑเจš 14 เจ—เฉเจฃเจพ เจฆเฉ€ เจ•เจฎเฉ€ เจ•เฉ€เจคเฉ€ - เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจ”เจธเจคเจจ เจธเจฟเจฐเจซ 7.1% เจธเฉ€เฅค เจ…เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจธเฉฐเจธเจ•เจฐเจฃ (4% เจคเฉ‹เจ‚ 23% เจคเฉฑเจ• เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจชเจฐเจฟเจตเจฐเจคเจจ)เฅค

เจคเฉเจฒเจจเจพ เจ•เจฐเจจ เจฒเจˆ, เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเจนเจฟเจฒเจพเจ‚, GNU เจ…เจธเฉˆเจ‚เจฌเจฒเจฐ เจฒเจˆ, เจ‡เฉฑเจ• เจตเจฟเจงเฉ€ เจœเฉ‹ เจนเจฐเฉ‡เจ• เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฒเฉ‹เจก เจ“เจชเจฐเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจคเฉ‡ เจ•เฉเจ เจธเจผเจพเจ–เจพ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ LFENCE เจฌเจฆเจฒ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจฒเจ—เจญเจ— 5 เจ—เฉเจฃเจพ (เจ•เฉ‹เจก เจฆเจพ 22% เจธเฉเจฐเฉฑเจ–เจฟเจ† เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚) เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจ•เจฎเฉ€ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค เจธเฉเจฐเฉฑเจ–เจฟเจ† เจตเจฟเจงเฉ€ เจตเฉ€ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค ะธ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ Intel เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ, เจชเจฐ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจจเจคเฉ€เจœเฉ‡ เจ…เจœเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ LVI เจนเจฎเจฒเฉ‡ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€, เจจเฉ‡ เจชเฉ‚เจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš 2- เจคเฉ‹เจ‚ 19-เจ—เฉเจฃเจพ เจฆเฉ€ เจ•เจฎเฉ€ เจฆเฉ€ เจญเจตเจฟเฉฑเจ–เจฌเจพเจฃเฉ€ เจ•เฉ€เจคเฉ€เฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹