Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π–ΡƒΡ€Π½Π°Π» Β«ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ€Π°Β» β„–41 ΠΎΡ‚ 08 ноября 2005 Π³ΠΎΠ΄Π°Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 12

Автор Π–ΡƒΡ€Π½Π°Π» ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ€Π°

Π§Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π°ΠΌ хочСтся ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, Π½Π΅ тСряя совмСстимости со старыми прилоТСниями? К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ x86 ISA, Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Π°Π»Π°Π½Ρ‚Π»ΠΈΠ²Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π»ΠΈΠ²Ρ‹ΠΌΠΈ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π·Π°Π»ΠΎΠΆΠΈΠ»ΠΈ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ инструкциями приставки - ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ значСния инструкций. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, приставка LOCK Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ инструкция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² Β«Π°Ρ‚ΠΎΠΌΠ½ΠΎΠΌΒ» Ρ€Π΅ΠΆΠΈΠΌΠ΅["Атомный" Ρ€Π΅ΠΆΠΈΠΌ - это ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкции Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Π½ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ внСшним событиСм. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ссли ΠΌΡ‹ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ записываСм Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‚ΠΎ начиная с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° исполнСния ΠΈ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚ΠΎΠΌΠ½ΠΎΠΉ инструкции Π½ΠΈΠΊΡ‚ΠΎ «посторонний» Π½Π΅ смоТСт Π½ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ‚ΠΎ ΠΆΠ΅ мСсто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π½ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² многопроцСссорных систСмах для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ мСТпроцСссорного взаимодСйствия], приставки 2E ΠΈ 2F ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ процСссору, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ условный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π° приставка 66 ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌ ΠΈ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌ прСдставлСниСм Π΄Π°Π½Π½Ρ‹Ρ… Π² рСгистрах. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ x86-64 понадобилось Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ IA-32 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ 64-битности, ΠΎΠ½ΠΈ сдСлали ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π³Π΅Π½ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ, ввСдя Π½Π°Π±ΠΎΡ€ 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… приставок REX, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ возмоТности инструкций, сколько слуТат для кодирования Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… своих полях. ПолС REX.W Π·Π°Π΄Π°Π΅Ρ‚ Β«Ρ€Π°Π·ΠΌΠ΅Ρ€Β» ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…: Ссли здСсь записан Π½ΠΎΠ»ΠΈΠΊ, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ рСгистры ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅, Ссли Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΠ° - Ρ‚ΠΎ ΠΊΠ°ΠΊ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅; Π° поля REX.R, REX.X ΠΈ REX.B - ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Π΅Ρ…Π±ΠΈΡ‚Π½Ρ‹Π΅ поля ModR/M.Reg, SIB.Index ΠΈ, Π² зависимости ΠΎΡ‚ ситуации, ModR/M.R/M ΠΈΠ»ΠΈ SIB.Base соотвСтствСнно. Π—Π½Π°ΡŽ, Ρ‡Ρ‚ΠΎ это Π·Π²ΡƒΡ‡ΠΈΡ‚ Π½Π΅ слишком понятно, поэтому Ρ‚ΡƒΡ‚ ΠΆΠ΅ поясню, Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚. На самом Π΄Π΅Π»Π΅ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 4-Π±ΠΈΡ‚Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ рСгистров процСссора, Π½ΠΎ Ρ‚Ρ€ΠΈ ΠΌΠ»Π°Π΄ΡˆΠΈΡ… рСгистровых Π±ΠΈΡ‚Π° записываСм Π½Π° ΠΈΡ… Β«Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅Β» мСста Π² инструкции, Π° ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±ΠΈΡ‚ - пСрСносим Π² приставку REX, обходя Ρ‚Π΅ΠΌ самым Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅. А Π·Π°ΠΎΠ΄Π½ΠΎ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ восьми Π½ΠΎΠ²Ρ‹Ρ… GPR-рСгистров R8-R15 ΠΈ SSE-рСгистров XMM8-XMM15, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ вычислСния, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ, - ΠΈ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΌ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ мСстС! И всС это - ΠΎΠ΄Π½ΠΈΠΌ-СдинствСнным Π±Π°ΠΉΡ‚ΠΎΠΌ!

Вторая Π³Ρ€ΡƒΠΏΠΏΠ° ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ - ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Π΅Π·Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΈ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ возмоТностСй IA-32. Π’ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Real Mode ΠΈ Virtual 8086-mode[Π”Π°-Π΄Π°, Virtual 8086 - это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, ΠΎ Ρ‡Π΅ΠΌ Π²Ρ‹ сСйчас ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»ΠΈ, - полная имитация процСссора Intel 8086. Много Π»ΠΈ найдСтся людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΆΠ°Π»Π΅ΡŽΡ‚ ΠΎ Π΅Π³ΠΎ отсутствии?], ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° сСгмСнтация[ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΆΠ΅ заскучал ΠΎΡ‚ обилия тСхничСских Ρ„Π°ΠΊΡ‚ΠΎΠ², Π½Π΅ Π±ΡƒΠ΄Ρƒ ΡƒΡ‚ΠΎΠΌΠ»ΡΡ‚ΡŒ Π΅Π³ΠΎ описаниСм сСгмСнтированной ΠΌΠΎΠ΄Π΅Π»ΠΈ памяти 80286, скаТу Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ сСгмСнтация - это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти] (хотя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ настройки сСгмСнта CS ΠΈ сСгмСнты FS/GS всС ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ); Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ инструкции, Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΠ΅ с этими сСгмСнтами, ΠΈ инструкции, ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ BCD-числами[BCD (Binary Coded Decimal) - это ΠΊΠΎΠ³Π΄Π° дСсятичноС число записываСтся ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ. НапримСр, 54d - Π² Π²ΠΈΠ΄Π΅ 54h = 01010100b вмСсто Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… 36h = 00110110b]. ВсС это позволяСт Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ процСссору Тизнь ΠΈ Π² пСрспСктивС - ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ сСгмСнтации позволяСт ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ адрСс ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π³ΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… сСгмСнта, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ этой подсистСмы ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ x86-64 сущСствСнно возрастСт.

«А ΠΊΠ°ΠΊ обстоят Π΄Π΅Π»Π° с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ со старыми ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ?Β» - спросит Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ: Ссли ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· приставки REX, Ρ‚ΠΎ процСссор Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС записанныС Ρ‚Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ - Π½ΡƒΠ»ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ рСгистры Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² инструкции Ρ€Π°Π²Π΅Π½ 32 Π±ΠΈΡ‚Π°ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ 32 Π±ΠΈΡ‚Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 64-разрядного рСгистра ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… вычислСниях явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°Π±ΠΈΠ²Π°ΡŽΡ‚ΡΡ нулями. Как Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, инструкция Π±Π΅Π· прСфикса REX Π΄Π°ΠΆΠ΅ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΈ Π² 32-Π±ΠΈΡ‚Π½ΠΎΠΌ; ΠΈ Ссли ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ€Ρ‹ прСдостороТности (Π² частности, Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ адрСсации Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Β«Π½ΠΈΠΆΠ½ΠΈΡ… 4 Π“Π±Π°ΠΉΡ‚Β» Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти, Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ Π² 32-Π±ΠΈΡ‚Π½ΠΎΠΌ! ΠšΡ€Π°ΡΠΈΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅? МнС каТСтся, Π΄Π°. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ трСбуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° всячСских Β«64-битностСй», Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ запросто ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° «физичСски» 64-Π±ΠΈΡ‚Π½ΠΎΠΌ процСссорС Π² 32-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Π½ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ вычислСния, Π·Π°Ρ‚ΠΎ Β«Ρ€Π°Π΄ΡƒΡΡΡŒΒ» ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΌΡƒ количСству рСгистров ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΠΌ x86.

К соТалСнию, Β«Π½Π΅Ρ‚ Π² ΠΌΠΈΡ€Π΅ ΡΡ‡Π°ΡΡ‚ΡŒΡΒ», ΠΈ ΠΏΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ прСфиксы REX ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΡŒΡŽ «сокращСнными» инструкциями сСмСйств INC ΠΈ DEC (ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ содСрТимого рСгистра Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΡƒ). Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ поддСрТиваСтся ряд инструкций ΠΈ Β«Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²Β» x86 (ΠΎ Ρ‡Π΅ΠΌ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅), Π° для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… инструкций ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΎΠΏΠΊΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΈΡ… смысловая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°[К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, инструкция 90h Π² классичСском x86 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ XCHG EAX, EAX (ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами рСгистр EAX с рСгистром EAX). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ‚ пСрСстановки Π΄Π²ΡƒΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… рСгистров ΠΈΡ… содСрТимоС Π½Π΅ мСняСтся, Ρ‚ΠΎ эту ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² качСствС ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚Π½ΠΎΠΉ Β«ΠΏΡƒΡΡ‚Ρ‹ΡˆΠΊΠΈΒ» (NOP), которая Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ выполняСт, Π·Π°Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 1 Π±Π°ΠΉΡ‚ машинного ΠΊΠΎΠ΄Π°. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструкции хочСтся Β«Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒΒ» Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, сдСлав Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ «пСрСсСкали 16-Π±Π°ΠΉΡ‚Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹Β» (Ссли этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ инструкции Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Β«ΡˆΡ‚Ρ€Π°Ρ„Β», связанный с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ процСссору придСтся Β«ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒΒ» ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… 16-Π±Π°ΠΉΡ‚Π½Ρ‹Ρ… кусочков); ΠΈ Ссли, скаТСм, эта инструкция - Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, Ρ‚ΠΎ нСпрСрывная Π²Ρ‹ΠΏΠ»Π°Ρ‚Π° Β«ΡˆΡ‚Ρ€Π°Ρ„Π°Β» ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Вставка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… NOP’ов, Β«Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…Β» Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ·-Π·Π° выравнивания Β«Π΄Ρ‹Ρ€ΠΊΠΈΒ» Π² ΠΊΠΎΠ΄Π΅, - обычная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ процСссор Π½Π΅ просто пСрСставит EAX с EAX мСстами, Π° Π΅Ρ‰Π΅ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ 32 Π±ΠΈΡ‚Π° рСгистра RAX нулями - ΠΈ наша инструкция ΡƒΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ «настоящим» NOP’ом. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² x86-64 ΠΎΠΏΠΊΠΎΠ΄ 90h обрабатываСтся ΠΏΠΎ-особому, всСгда ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡΡΡŒ ΠΊΠ°ΠΊ NOP]; Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π² Β«Ρ‚Π΅ΠΏΠ»ΠΈΡ‡Π½Ρ‹Ρ…Β» 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… условиях пСрСкомпиляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ x86-64 всС-Ρ‚Π°ΠΊΠΈ трСбуСтся. Но ΠΈ ΡƒΠ½Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π½Π΅ приходится: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС прСимущСства ΠΎΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° рСгистров Π±Π΅Π· пСрСкомпиляции всС Ρ€Π°Π²Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π° Ссли ΠΎΡ‡Π΅Π½ΡŒ хочСтся Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 32-Π±ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ пСрСвСдя процСссор Π² Β«Ρ€Π΅ΠΆΠΈΠΌ совмСстимости» (Compatibility Mode), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ имитируСтся классичСский IA-32.


КакиС процСссоры ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ x86-64?

Π’ случаС AMD - всС Π½ΠΎΠ²Ρ‹Π΅ CPU Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Athlon 64, Mobile Athlon 64, Turion ΠΈ Opteron ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ AMD64 ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ; процСссоры Sempron (ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ этой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π»ΠΈΡˆΠ΅Π½Π½Ρ‹Π΅) - начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ стСппинга (E) ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹ (осСни 2005 Π³ΠΎΠ΄Π°). ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Β«Π½ΠΎΠ²Ρ‹Π΅Β» Sempron ΠΎΡ‚ старых ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΏΠΎ Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΡƒ Π½Π° ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅: Ρƒ 64-разрядных Sempron’ов Π½Π° ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ стоит Π·Π½Π°Ρ‡ΠΎΠΊ AMD64.

Π’ случаС Intel Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ EM64T ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссоры Π½ΠΎΠ²Ρ‹Ρ… стСппингов (начиная с "E") Π² исполнСнии LGA775. Pentium D, Pentium eXtreme Edition ΠΈ Pentium 4 сСмСйства 6xx ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ EM64T ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ; процСссоры Xeon - начиная c 90-Π½ΠΌ ядра Nocona; процСссоры Pentium 4 сСмСйства 5xx ΠΈ Celeron D сСмСйства 3xx - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… заканчиваСтся Π½Π° ΡˆΠ΅ΡΡ‚Π΅Ρ€ΠΊΡƒ ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΡƒ. Pentium 4 Extreme Edition 3,73 Π“Π“Ρ† Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ EM64T. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π² частности, Pentium M ΠΈ процСссоры Π² исполнСнии Socket 478) Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ EM64T Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈ Π² блиТайшСС врСмя эту ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚.


To 64bit or not to 64bit?

Π’Π°ΠΊ стоит Π»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° x86-64 ΠΈΠ»ΠΈ Π½Π΅Ρ‚? Π”ΡƒΠΌΠ°ΡŽ, послС всСго Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ понятСн: Π±Π΅Π· сомнСния, стоит! ВСхнология x86-64 Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прСдоставляСт всС прСимущСства 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСм, содСрТит ряд качСствСнных ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с «классичСской» IA-32 ISA, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ - позволяСт Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ вычислСния Ρ‚Π°ΠΌ, Π³Π΄Π΅ этого Π½Π΅ трСбуСтся, ΠΈ сохраняСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌ софтом. А ΠΏΠΎΡ‚ΠΎΠΌΡƒ СдинствСнный ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ Π΄ΠΎΠ²ΠΎΠ΄ ΠΏΡ€ΠΎΡ‚ΠΈΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, - это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ x86-64 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈ использования Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΈ ΠΏΠΎΡ€ΠΎΠΉ Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈ Β«Π½Π΅Π΄ΠΎΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…Β» 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ².

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AMD (Π·Π° прСдоставлСниС тСстового Π½Π°Π±ΠΎΡ€Π° Athlon 64 X2 4800+), MSI (Π·Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ½ΡΠΊΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ MSI K8N SLI) ΠΈ ΡΠ΅Ρ‚ΡŒ ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² «НСоторг» (Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρƒ MSI GeForce 7800GT).


64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Linux


ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы сСмСйства *nix ΠΈ особСнно ΠΈΡ… разновидности с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ испытывали Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ с ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° самыС Ρ€Π°Π·Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Unix Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ портируСмая опСрационная систСма[НСдаром ΠΆΠ΅ стандарт Π½Π° Unix-систСмы называСтся POSIX - Portable Operation System Interface for computer environments], Π° мноТСство Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ² - Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ способ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ тСстирования Π½ΠΎΠ²ΠΎΠΉ разновидности Β«ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½ΠΊΠΈΒ» ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для Π½Π΅Π΅.