ΠΡΡΠΏΠ° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² ΠΡΠ°Ρ (ΠΠ²ΡΡΡΠΈΡ), ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π°ΡΠ°ΠΊΠ°
ΠΡΡ Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Π»Π° (way predictor) Π² ΠΊΠ΅ΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ (L1D) Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ ΠΊΠΎΠΉ ΠΊΠ΅Ρ ΠΊΠ°Π½Π°Π» ΡΡΠ΄ΡΡΠΆΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π°Π΄ΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° AMD, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΞΌ-ΡΠ°Π³ΠΎΠ²Π΅ (ΞΌTag). ΞΌTag ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΡΡΠ΅Π· ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° Ρ Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΡΠΌ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Π»Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΞΌTag, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΊΠ°Π½Π°Π»Π° Π½Π° ΠΊΠ΅ΡΠ° ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΞΌTag ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ Π΄ΠΎ Π΄ΠΎΡΡΡΠΏ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΊΠ°Π½Π°Π», Π±Π΅Π· Π΄Π° ΡΡΡΡΠΈ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡΠ²ΠΎ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Π»ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π½Π° AMD, ΠΏΡΡΠ½Π°ΡΠΈ ΠΎΡ 2011 Π³. Π΄ΠΎ 2019 Π³., Π±ΡΡ Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π΄Π²Π΅ Π½ΠΎΠ²ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° Π°ΡΠ°ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅Π½ ΠΊΠ°Π½Π°Π»:
- Collide+Probe - ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ ΡΠ΄ΡΠΎ. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π°Π΄ΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°Ρ ΡΠ±Π»ΡΡΡΡΠΈ Π² Ρ Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΞΌTag Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈΡΠ΅ Flush+Reload ΠΈ Prime+Probe, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π½Π° Intel, Collide+Probe Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΈ.
- ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅+ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ - ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎ ΡΠ΄ΡΠΎ ββΠ½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΠ΅ΡΠΎΠ΄ΡΡ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΊΠ»Π΅ΡΠΊΠ° Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π² L1D ΠΊΠ΅ΡΠ° ΡΠ°ΠΌΠΎ Π²Π΅Π΄Π½ΡΠΆ. Π’Π΅Π·ΠΈ. Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΊΠ»Π΅ΡΠΊΠ° ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Π°Π΄ΡΠ΅Ρ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»Π΅ΡΠΊΠ°ΡΠ° ΠΎΡ L1D ΠΊΠ΅ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π°ΡΠ°ΠΊΠ°ΡΠ° ΡΠ°Π·ΡΠΈΡΠ° Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΡΡ Π½Π΅ ΠΈΠ·ΡΠΈΡΡΠ²Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ ΡΡΠ΅Π»Ρ Π°ΡΠ°ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΈΠ·ΡΠΈΡΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΠΊΠ΅ΡΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ.
ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠΈΡΠ΅ Collide+Probe ΠΈ Load+Reload, ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠ° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Π»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ Π·Π° Π°ΡΠ°ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅Π½ ΠΊΠ°Π½Π°Π»:
- ΠΠΎΠΊΠ°Π·Π°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΡ ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΊΠ°Π½Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΡΠ°Π½ΡΡΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΡΡ ΡΠΊΠΎΡΠΎΡΡ Π΄ΠΎ 588 kB Π² ΡΠ΅ΠΊΡΠ½Π΄Π°.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ±Π»ΡΡΡΡΠΈ Π² ΞΌTag, Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ASLR (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ) ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ASLR Π·Π°ΡΠΈΡΠ°ΡΠ° Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Linux ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠΊΠ°Π·Π°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π΅Π½ΡΡΠΎΠΏΠΈΡΡΠ° Π½Π° ASLR ΠΊΠ°ΠΊΡΠΎ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠ° ΠΈ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° JavaScript ΠΊΠΎΠ΄, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ Π² ΡΡΠ΅Π΄Π° Π½Π° ΠΏΡΡΡΡΠ½ΠΈΠΊ, ΠΈ ΠΊΠΎΠ΄, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ Π² Π΄ΡΡΠ³Π° Π³ΠΎΡΡ ΡΡΠ΅Π΄Π°.
- ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Collide+Probe Π±Π΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π°ΡΠ°ΠΊΠ° Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠ° Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ (Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π°
Π’-ΠΎΠ±ΡΠ°Π·Π½Π° ΠΌΠ°ΡΠ° ) AES ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅. - ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Collide+Probe ΠΊΠ°ΡΠΎ ΠΊΠ°Π½Π°Π» Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Π°ΡΠ°ΠΊΠ°ΡΠ° Spectre ΡΡΠΏΡ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ ΡΠ°ΡΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΏΡΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ AMD, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ ΠΈ Zen2.
AMD Π±Π΅ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ΅Π½ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° 23 Π°Π²Π³ΡΡΡ 2019 Π³., Π½ΠΎ Π΄ΠΎΡΠ΅Π³Π°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru