МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΡƒΠ³Π»ΡƒΠ±Π»ΡΡΡΡŒ Π² спСцификации процСссоров ΠΈΠ»ΠΈ изучая ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ развития Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ FPU. FPU Ρ‡Ρ‚ΠΎ это Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ β€” вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ соврСмСнных ΠΈ Ρ€Π΅Ρ‚Ρ€ΠΎ-систСм. Дословно Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Floating Point Unit, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Π±Π»ΠΎΠΊ вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой». Π­Ρ‚ΠΎ спСциализированный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя всС слоТныС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, связанныС с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ числами.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ цСлочислСнных вычислСний, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ основной процСссор справляСтся быстро ΠΈ эффСктивно, Ρ€Π°Π±ΠΎΡ‚Π° с вСщСствСнными числами Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС рСсурсов ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ИмСнно поэтому для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ выдСляСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. FPU позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ умноТСния, дСлСния, извлСчСния корня ΠΈ тригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Π½Π΅ загруТая основныС ядра CPU.

БСгодня этот Π±Π»ΠΎΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ нСпосрСдствСнно Π² кристалл Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Ρ‰Π΅ нСсколько дСсятилСтий Π½Π°Π·Π°Π΄ ΠΎΠ½ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‡ΠΈΠΏΠΎΠΌ. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, особСнно Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокой точности вычислСний, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π°ΡƒΡ‡Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ соврСмСнныС ΠΈΠ³Ρ€Ρ‹.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ справка: ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ° Π΄ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

На Π·Π°Ρ€Π΅ развития ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π² эпоху процСссоров Intel 8086 ΠΈ 80286, Π±Π»ΠΎΠΊ FPU отсутствовал Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΠΈ. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Π΅ расчСты ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с CAD-систСмами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‡ΠΈΠΏ β€” матСматичСский сопроцСссор. Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 эти Ρ‡ΠΈΠΏΡ‹ ΠΈΠΌΠ΅Π»ΠΈ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ 8087, 80287 ΠΈ 80387 соотвСтствСнно. Они ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈΡΡŒ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ Π½Π° матСринской ΠΏΠ»Π°Ρ‚Π΅ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с основным процСссором.

Битуация ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ измСнилась с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ процСссора Intel 486DX. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π² истории массовых вычислСний Π±Π»ΠΎΠΊ FPU Π±Ρ‹Π» встроСн нСпосрСдствСнно Π² кристалл CPU. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ основным процСссором ΠΈ сопроцСссором. Однако сущСствовала ΠΈ ΡƒΠ΄Π΅ΡˆΠ΅Π²Π»Π΅Π½Π½Π°Ρ вСрсия 486SX, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ FPU Π±Ρ‹Π» физичСски ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ отсутствовал, Ρ‡Ρ‚ΠΎ создавало ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ эмуляции вычислСний, Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠ΅ΠΉ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ Ρ€Π΅Ρ‚Ρ€ΠΎ-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… матСринских ΠΏΠ»Π°Ρ‚ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ матСматичСского сопроцСссора. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‡ΠΈΠΏΠ° 80387 ΠΈΠ»ΠΈ 80487 Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ запуск спСциализированного ПО Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Начиная с сСмСйства Pentium, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ FPU стало стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для всСх x86-совмСстимых процСссоров. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· этого модуля, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°ΠΆΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ инструкции с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для своих Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… расчСтов. Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ шла ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ увСличСния разрядности ΠΈ внСдрСния Π½ΠΎΠ²Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² инструкций, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ SSE, AVX ΠΈ AVX-512, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΠΈ возмоТности ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… встраиваСмых систСмах ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ уровня FPU Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ для сниТСния стоимости ΠΈ энСргопотрСблСния. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях всС вычислСния с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ числами Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ эмуляции ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт быстродСйствиС устройства.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° вычислСний

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ FPU Ρ‚Π°ΠΊ Π²Π°ΠΆΠ΅Π½, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ числа. Π¦Π΅Π»Ρ‹Π΅ числа хранятся ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто, Π½ΠΎ вСщСствСнныС числа Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, извСстного ΠΊΠ°ΠΊ IEEE 754. Π­Ρ‚ΠΎΡ‚ стандарт опрСдСляСт, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π·Π½Π°ΠΊ, экспонСнта ΠΈ мантисса числа. Π‘Π»ΠΎΠΊ FPU спроСктирован ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для манипуляций с этими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ FPU ΠΎΡ‚ основного Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСского устройства (АЛУ) процСссора Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Пока CPU занят Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ инструкций ΠΈ адрСсациСй памяти, FPU ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ вычислСниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ вычислСниС синуса. Π­Ρ‚ΠΎ позволяСт Ρ€Π°ΡΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ систСмы.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ FPU ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ точности:

  • πŸ“Š ΠžΠ΄ΠΈΠ½Π°Ρ€Π½Π°Ρ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Single Precision, 32 Π±ΠΈΡ‚Π°): ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ³Ρ€ ΠΈ графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π° потСря Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°ΠΊΠΎΠ² послС запятой Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π°.
  • πŸ”¬ Двойная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (Double Precision, 64 Π±ΠΈΡ‚Π°): стандарт для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчСтов, финансового модСлирования ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ ПО, Π³Π΄Π΅ трСбуСтся максимальная Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.
  • πŸš€ Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (80 Π±ΠΈΡ‚ ΠΈ Π²Ρ‹ΡˆΠ΅): примСняСтся Π² спСциализированных вычислСниях для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ошибок округлСния Π² Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’Π°ΠΆΠ½Ρ‹ΠΌ аспСктом являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок. FPU способСн ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ситуации, ΠΊΠ°ΠΊ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ разрядной сСтки ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ этих событий Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рСгистрах состояния, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ на异常情冡 (ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ситуации) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

πŸ“Š Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… матСматичСских вычислСний (CAD, 3D, Π½Π°ΡƒΠΊΠ°)?
  • Π”Π°, постоянно
  • Иногда, для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡
  • НСт, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ офис ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€
  • НС знаю, Ρ‡Ρ‚ΠΎ это

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ FPU, CPU ΠΈ GPU

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ролями Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… процСссорных Π±Π»ΠΎΠΊΠΎΠ². CPU (Central Processing Unit) являСтся Β«ΠΌΠΎΠ·Π³ΠΎΠΌΒ» систСмы, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΌ Π·Π° ΠΎΠ±Ρ‰ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций. FPU β€” это спСциализированный ΠΎΡ‚Π΄Π΅Π» Π²Π½ΡƒΡ‚Ρ€ΠΈ CPU, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ матСматичСскиС расчСты с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. GPU (Graphics Processing Unit) β€” это графичСский процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит тысячи ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹Ρ… ядСр для вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для массового ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°.

Π₯арактСристика CPU (с FPU) GPU Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сопроцСссор
Основная Π·Π°Π΄Π°Ρ‡Π° Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ вычислСния, Π»ΠΎΠ³ΠΈΠΊΠ° ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… БпСцифичСскиС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ядСр НСбольшоС (4-64) ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ (тысячи) Зависит ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹
Π’ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, слоТныС Массово-ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅, простыС ВысокоточныС, спСциализированныС
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Запуск ОБ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΈΠ³Ρ€Ρ‹ Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ НаучныС кластСры, криптография

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ GPU фактичСски ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой гигантскиС массивы FPU-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ядСр. ИмСнно поэтому Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π°ΠΊ эффСктивны Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… машинного обучСния ΠΈ ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚, Π³Π΄Π΅ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² сСкунду. Однако для Π·Π°Π΄Π°Ρ‡, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ вСтвлСния ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, CPU с Π΅Π³ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ FPU остаСтся Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ.

Π’ контСкстС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° распрСдСляСтся динамичСски. Π€ΠΈΠ·ΠΈΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ CPU, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ GPU занимаСтся построСниСм изобраТСния, освСщСниСм ΠΈ тСкстурированиСм. Баланс ΠΌΠ΅ΠΆΠ΄Ρƒ этими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ критичСски Π²Π°ΠΆΠ΅Π½ для достиТСния высокого FPS.

ВлияниС FPU Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΈΠ³Ρ€Π°Ρ… ΠΈ софтС

НаличиС ΠΈ качСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ FPU Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² рСсурсоСмких прилоТСниях. Π’ ΠΈΠ³Ρ€Π°Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΌΠΈΡ€ΠΎΠΌ, слоТных симуляторах ΠΏΠΎΠ»Π΅Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Microsoft Flight Simulator) ΠΈ стратСгиях Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ постоянно производятся расчСты Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, столкновСний ΠΈ повСдСния тысяч ΡŽΠ½ΠΈΡ‚ΠΎΠ². Π‘Π»Π°Π±Ρ‹ΠΉ FPU ΠΈΠ»ΠΈ Π΅Π³ΠΎ отсутствиС (Π² случаС эмуляции) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π΅Π·ΠΊΠΎΠΌΡƒ падСнию ΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΎΠΉ частоты.

Π’ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ПО, Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ AutoCAD, Blender ΠΈΠ»ΠΈ Matlab, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈ расчСтов Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ пропускной способности Π±Π»ΠΎΠΊΠ° вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° соврСмСнных Π½Π°Π±ΠΎΡ€ΠΎΠ² инструкций, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ AVX2 ΠΈ AVX-512, позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ Π² нСсколько Ρ€Π°Π· ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со старыми Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ сборкС ПК для 3D-модСлирования ΠΈΠ»ΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчСтов ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° количСство ядСр CPU, Π½ΠΎ ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π°Π±ΠΎΡ€ΠΎΠ² инструкций FPU. НСкоторыС сСрвСрныС процСссоры ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ядСр, Π½ΠΎ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ FPU Π½Π° ΠΎΠ΄Π½ΠΎ ядро.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ влиянии Π½Π° Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ². ВычислСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΠ½Π΅Ρ€Π³ΠΈΡŽ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности FPU Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ΄Π»ΠΈΡ‚ΡŒ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройства ΠΎΡ‚ аккумулятора Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ старыС ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ Π½Π° Π½ΠΎΠ²Ρ‹Ρ… процСссорах?

ΠŸΠ°Ρ€Π°Π΄ΠΎΠΊΡΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ старыС ΠΈΠ³Ρ€Ρ‹, написанныС с расчСтом Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок Π² FPU процСссоров 90-Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Pentium FDIV bug), ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π° соврСмСнных CPU. НовыС процСссоры Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ вычислСния слишком Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ старого ΠΊΠΎΠ΄Π°.

Наборы инструкций ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡ стандартов

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ FPU Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связана с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠ² инструкций. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ стандартом стал x87, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использовался дСсятилСтиями. Он базировался Π½Π° стСковой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для компиляторов Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ нСэффСктивно для ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘ появлСниСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ SSE (Streaming SIMD Extensions) ΠΎΡ‚ Intel ΠΈ 3DNow! ΠΎΡ‚ AMD, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ измСнился.

SIMD (Single Instruction, Multiple Data) позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ нСсколькими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НапримСр, ΠΎΠ΄Π½Π° инструкция ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Ρ‹ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚. Π­Ρ‚ΠΎ стало Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠ΅ΠΉ для ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈ ΠΈΠ³Ρ€. ПозТС появились Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ AVX, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²ΡˆΠΈΠ΅ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ рСгистров Π΄ΠΎ 256 ΠΈ 512 Π±ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ большС повысило ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ вычислСний.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… инструкций. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° скомпилирована с использованиСм инструкций AVX-512, ΠΎΠ½Π° Π½Π΅ запустится Π½Π° процСссорС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ… Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, Π΄Π°ΠΆΠ΅ Ссли Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ FPU присутствуСт.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ инструкций

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 1

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ компиляторы автоматичСски Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструкций ΠΏΡ€ΠΈ сборкС, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этих Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… участков ΠΊΠΎΠ΄Π°. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ интринсики (intrinsics) β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ инструкциями FPU Π² ΠΊΠΎΠ΄Π΅ Π½Π° языках высокого уровня.

Диагностика ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТностСй FPU

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ Π΅Π³ΠΎ процСссор Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструкции FPU? Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сторонними ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CPU-Z ΠΈΠ»ΠΈ AIDA64. Π’ ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π΄Π΅Π» Β«InstructionsΒ» ΠΈΠ»ΠΈ «Наборы инструкций». Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ пСрСчислСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: MMX, SSE, AVX ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Linux сущСствуСт простой способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Команда cat /proc/cpuinfo Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ процСссорС. Π’ строкС Β«flagsΒ» пСрСчислСны всС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ инструкций. НаличиС Ρ„Π»Π°Π³ΠΎΠ² fpu, vme, sse, avx ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ соврСмСнных стандартов.

grep -o 'avx2' /proc/cpuinfo

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² Linux быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ AVX2. Если Π²Ρ‹Π²ΠΎΠ΄ содСрТит слово Β«avx2Β», Π·Π½Π°Ρ‡ΠΈΡ‚, ваш процСссор способСн Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ„Π»Π°Π³Π° fpu Π² соврСмСнных систСмах практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎ Π±Ρ‹ Π½Π° ΠΊΡ€Π°ΠΉΠ½Π΅ Π°Ρ€Ρ…Π°ΠΈΡ‡Π½ΠΎΠ΅ ΠΈΠ»ΠΈ нСисправноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.

πŸ’‘

Если Π²Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ компиляциСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· исходников Π² Gentoo ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ сборкС TensorFlow), ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ настройтС Ρ„Π»Π°Π³ΠΈ компилятора (-march=native) для использования всСх доступных возмоТностСй вашСго FPU. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎ 20-30%.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ совмСстимости ΠΈ программная эмуляция

НСсмотря Π½Π° повсСмСстноС распространСниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… FPU, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ эмуляции. Π­Ρ‚ΠΎ происходит, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ инструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ процСссором, ΠΈΠ»ΠΈ Ссли FPU Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² BIOS/UEFI (хотя такая опция встрСчаСтся ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ Π² ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ сСгмСнтС).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ эмуляция вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ выполняСтся основными цСлочислСнкими рСгистрами CPU. Π­Ρ‚ΠΎ процСсс ΠΊΡ€Π°ΠΉΠ½Π΅ рСсурсоСмкий ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ ΠΎΠ΄ΠΈΠ½ Ρ‚Π°ΠΊΡ‚ Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ FPU, ΠΏΡ€ΠΈ эмуляции ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ сотни ΠΈΠ»ΠΈ тысячи Ρ‚Π°ΠΊΡ‚ΠΎΠ². Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ практичСски нСработоспособной Π² графичСском интСрфСйсС.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стандарта IEEE 754 Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ производитСлями. Π₯отя стандарт Π΅Π΄ΠΈΠ½, Π½ΡŽΠ°Π½ΡΡ‹ округлСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ микроскопичСским различиям Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… вычислСний. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π·Π°Π΄Π°Ρ‡ это Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ, Π½ΠΎ Π² финансовых расчСтах ΠΈΠ»ΠΈ Π½Π°ΡƒΡ‡Π½ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΈΠ΅ расхоТдСния ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ сущСствСнным ошибкам.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ пСрСносС критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ финансовых ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, x86 ΠΈ ARM) всСгда ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ свСрку ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… расчСтов. Различия Π² Ρ€Π°Π±ΠΎΡ‚Π΅ FPU ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ расхоТдСниям Π² ΠΊΠΎΠΏΠ΅ΠΉΠΊΠ°Ρ…, Ρ‡Ρ‚ΠΎ нСдопустимо Π² Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ…. Π₯отя FPU являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ процСссора, для Π΅Π³ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ опСрационная систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ контСкст вычислСний ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡. Ошибки Π² ядрС ОБ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Β«ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅Β» состояния FPU, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСний Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ являСтся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ бСзопасности.

πŸ’‘

Аппаратный FPU β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ соврСмСнной Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π‘Π΅Π· Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΈ Π±Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π½ΠΈ рСалистичная 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π½ΠΈ слоТныС Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ открытия, Π½ΠΈ Π΄Π°ΠΆΠ΅ быстрая Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Π½Π°ΠΌ интСрфСйсов.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, FPU остаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² процСссора, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ числами. ПониманиС Π΅Π³ΠΎ Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ возмоТности hardware ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ПК, рабочая станция ΠΈΠ»ΠΈ сСрвСр для вычислСний.

МоТно Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ FPU Π² BIOS?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… матСринских ΠΏΠ»Π°Ρ‚ такая опция отсутствуСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ FPU являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ процСссора. Однако Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сСрвСрных ΠΏΠ»Π°Ρ‚Π°Ρ… ΠΈΠ»ΠΈ Π² старых BIOS ΠΌΠΎΠ³Π»Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ опция Β«Floating Point UnitΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ для совмСстимости с ΠΎΡ‡Π΅Π½ΡŒ старым ПО ΠΈΠ»ΠΈ для диагностики. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ FPU Π½Π° соврСмСнном ПК ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ нСвозмоТности Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ВлияСт Π»ΠΈ Ρ€Π°Π·Π³ΠΎΠ½ процСссора Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ FPU?

Π”Π°, ΠΏΡ€ΠΈ Ρ€Π°Π·Π³ΠΎΠ½Π΅ CPU частота FPU Ρ‚Π°ΠΊΠΆΠ΅ увСличиваСтся. Однако Π±Π»ΠΎΠΊΠΈ вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ часто Π±ΠΎΠ»Π΅Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ напряТСния ΠΈ Ρ‚Π΅ΠΏΠ»ΠΎΠ²ΠΎΠΌΡƒ Π΄Ρ€ΠΎΡΡΠ΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ‡Π΅ΠΌ цСлочислСнныС Π±Π»ΠΎΠΊΠΈ. Ошибки Π² вычислСниях FPU ΠΏΡ€ΠΈ Ρ€Π°Π·Π³ΠΎΠ½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½Π΅ ΠΊΠ°ΠΊ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ ΠΊΡ€Π°Ρ… систСмы, Π° ΠΊΠ°ΠΊ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Π² ΠΈΠ³Ρ€Π°Ρ… ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² расчСтах.

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ FPU Π² процСссорах Intel ΠΈ AMD?

Оба производитСля ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ стандарту IEEE 754, поэтому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСний Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ. Однако Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (количСство ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ², пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… процСссоры AMD ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ FPU, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Intel Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ…, Ρ‡Ρ‚ΠΎ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ поколСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ошибка FDIV ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° Π»ΠΈ ΠΎΠ½Π° сСйчас?

Ошибка FDIV (Floating Point Division) Π±Ρ‹Π»Π° Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹ΠΌ Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠΌ процСссоров Pentium ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния Π² 1994 Π³ΠΎΠ΄Ρƒ, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠΈΠΌ ΠΊ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ дСлСния. Она Π²Ρ‹Π·Π²Π°Π»Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ скандал ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π°ΠΌΠ΅Π½Ρ‹ процСссоров. Π’ соврСмСнных процСссорах этот Π΄Π΅Ρ„Π΅ΠΊΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ устранСн, ΠΈ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ матСматичСской ошибки Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ½ΠΎ ΠΌΠ°Π»Π°.