Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… процСссоров Ρ„ΠΈΡ€ΠΌΡ‹ Intel. Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· числСнных рСгистров ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ², Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ памяти ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚ Π΄Π²ΡƒΡ… Π΄ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±Π°ΠΉΡ‚, Π² зависимости ΠΎΡ‚ способа адрСсации ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, находящСгося Π² памяти (рис. 10.15).

Рис. 10.15. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ памяти

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ Π±ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ESC. Поля КОП1 ΠΈ КОП2 ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ содСрТат ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Поля MOD ΠΈ R/M вмСстС с полями «Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅1» ΠΈ «Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅2» Π·Π°Π΄Π°ΡŽΡ‚ адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² памяти Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это происходит Π² процСссорах. Однако Π΅ΡΡ‚ΡŒ ΠΈ отличия, связанныС с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ адрСсации числСнных рСгистров сопроцСссора.

НиТС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ способа адрСсации ΠΎΡ‚ содСрТимого ΠΏΠΎΠ»Π΅ΠΉ MOD ΠΈ R/M:

Если Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ значСния смСщСния disp8 ΠΈΠ»ΠΈ disp16, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ присуствуСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° смСщСния, соотвСтствСнно.

Если ΠΏΠΎΠ»Π΅ MOD содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° адрСсация числСнных рСгистров ST0. ST1. ΠŸΡ€ΠΈ этом ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ содСрТит Π±Π°ΠΉΡ‚ΠΎΠ² смСщСния.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ числСнному рСгистру ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° рис. 10.16.

Рис. 10.16. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ числСнному рСгистру

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это Π΅ΡΡ‚ΡŒ частный случай ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»Π΅ MOD содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11 ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π±Π°ΠΉΡ‚Ρ‹ смСщСния.

Π‘Π°ΠΌΡ‹ΠΉ простой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· явного обращСния ΠΊ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌ (рис. 10.17).

Рис. 10.17. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π΅Π· явного обращСния ΠΊ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌ

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

ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сопроцСссора ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° нСсколько Π³Ρ€ΡƒΠΏΠΏ:

Β· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…;

Β· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сравнСний чисСл;

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ чисСл ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² числСнныС Ρ€Π΅Π³ΠΈΡ‚Ρ€Ρ‹, записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· числСнных рСгистров Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, копирования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ числСнного рСгистра Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

АрифмСтичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ частичного остатка, ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ сравнСния ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ вСщСствСнныС ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π°Π½Π°Π»ΠΈΠ· чисСл.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ посвящСны Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ описанию Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ описаниС ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π°ΠΏΠΈΡΡŒ Π² стСк

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ FLD, FILD, FBLD Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ стСка вСщСствСнноС, Ρ†Π΅Π»ΠΎΠ΅ ΠΈ дСсятичноС числа, соотвСтствСнно.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этих ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ считываСтся ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, прСобразуСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»Π΅ ST рСгистра состояния ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈ выполняСтся запись ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² числСнный рСгистр, опрСдСляСмый Π½ΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ поля ST. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ записываСтся Π² стСк числСнных рСгистров, Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка (ΠΏΠΎΠ»Π΅ ST) ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. По своСму Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ PUSH Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· стСка

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ извлСчСния чисСл ΠΈΠ· стСка Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ дСйствиС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ описанному. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ числСнного рСгистра, Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся ΠΏΠΎΠ»Π΅ΠΌ ST рСгистра состояния, прСобразуСтся Π² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ записываСтся Π² ячСйки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ПослС записи содСрТимоС поля ST увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π­Ρ‚ΠΈ дСйствия Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ выполняСмым ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ POP Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΡ€ΠΈ этом содСрТимоС указатСля стСка (поля ST) Π½Π΅ измСняСтся.

Команда FST Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ссылку Π½Π° числСнный рСгистр ST(i), поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для копирования Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ числСнный рСгистр.

ΠŸΡ€ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ выполняСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Π² вСщСствСнный для FST, Π² Ρ†Π΅Π»Ρ‹ΠΉ для FIST ΠΈ Π² дСсятичный для FBST.

Для сопроцСссора 80286 вмСсто ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FBST ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ:

ОбмСн

Команда выполняСт ΠΎΠ±ΠΌΠ΅Π½ содСрТимым Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка ST(0) ΠΈ числСнного рСгистра, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° констант

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° констант выполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

АрифмСтичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

БопроцСссор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡˆΠ΅ΡΡ‚ΡŒ основных Ρ‚ΠΈΠΏΠΎΠ² арифмСтичСских ΠΊΠΎΠΌΠ°Π½Π΄:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ бСрСтся ΠΈΠ· памяти, ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ являСтся Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ° стСка ST(0). Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСка ST Π½Π΅ измСняСтся, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ

Аналогично ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ 16- ΠΈΠ»ΠΈ 32-разрядныС Ρ†Π΅Π»Ρ‹Π΅ числа

Π‘Ρ‚Ρ€ΠΎΠΊΠ° «xxx» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ сопроцСссор

Π‘ появлСниСм Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ микропроцСссоров Intel ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΈ сопроцСссоры, хотя ΠΈΡ… программная модСль ΠΎΡΡ‚Π°Π»Π°ΡΡŒ практичСски Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ. Как ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ (Π°, соотвСтствСнно, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°) устройства, сопроцСссоры ΡΠΎΡ…Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ микропроцСссора i386 ΠΈ ΠΈΠΌΠ΅Π»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ i287 ΠΈ i387 соотвСтствСнно. Начиная с ΠΌΠΎΠ΄Π΅Π»ΠΈ i486, сопроцСссор исполняСтся Π² ΠΎΠ΄Π½ΠΎΠΌ корпусС с основным микропроцСссором ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности матСматичСского сопроцСссора:

ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния вСщСствСнных чисСл ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ размСщСния Π² разрядной сСткС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

Π’ΠΈΠΏ чисСл Π—Π½Π°ΠΊ Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ Π¦Π΅Π»ΠΎΠ΅ ΠœΠ°Π½Ρ‚ΠΈΡΡΠ°
+∞011…11100…00
ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅
Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅
000…01 β€” 11…10100…00 β€” 11…11
ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅000…00000…00 β€” 11…11
00, 100…00000…00
ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅100…00000…00 β€” 11…11
ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅100…01 β€” 11…10100…00 β€” 11…11
-∞111…11100…00
нСчисла
(NaN β€” Not a number)
*11…111**…** β‰ 0

Числа простой ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности ( float ( DD ) ΠΈ double ( DQ ) соотвСтствСнно) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. ΠŸΡ€ΠΈ этом Π±ΠΈΡ‚ Ρ†Π΅Π»ΠΎΠΉ части числа являСтся скрытым ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ 1. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ 23 (52) разряда хранят Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ мантиссу числа.

Числа Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ точности ( long double ( DT )) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΊΠ°ΠΊ Π² Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΈ Π² Π½Π΅Π½ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΈΡ‚ Ρ†Π΅Π»ΠΎΠΉ части числа Π½Π΅ являСтся скрытым ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΊΠ°ΠΊ 0, Ρ‚Π°ΠΊ ΠΈ 1.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ матСматичСский сопроцСссор, ΡΠ²Π»ΡΡŽΡ‚ΡΡ 10-Π±Π°ΠΉΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ( DT ).

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ модСль сопроцСссора

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ модСль сопроцСссора прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ рСгистров, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ своС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ сопроцСссора ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ рСгистров:

ВсС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ рСгистры ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ доступными. Однако ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… доступ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ достаточно Π»Π΅Π³ΠΊΠΎ, для этого Π² систСмС ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. К Π΄Ρ€ΡƒΠ³ΠΈΠΌ рСгистрам ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ слоТнСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ для этого Π½Π΅Ρ‚, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия.

РСгистр состояния swr – ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС сопроцСссора послС выполнСния послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ рСгистрС swr содСрТатся поля, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ: ΠΊΠ°ΠΊΠΎΠΉ рСгистр являСтся Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ стСка сопроцСссора, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ послС выполнСния послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ особСнности выполнСния послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π½Π΅ΠΊΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ рСгистра Ρ„Π»Π°Π³ΠΎΠ² основного процСссора).
Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎ рСгистр swr состоит ΠΈΠ·:

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

2-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ управлСния Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ PC ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для Π²Ρ‹Π±ΠΎΡ€Π° Π΄Π»ΠΈΠ½Ρ‹ мантиссы. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π² этом ΠΏΠΎΠ»Π΅ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля PC =11.

Π‘ΠΈΡ‚ 12 Π² рСгистрС cwr физичСски отсутствуСт ΠΈ считываСтся Ρ€Π°Π²Π½Ρ‹ΠΌ 0.

РСгистр Ρ‚Π΅Π³ΠΎΠ² twr – прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ…Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. КаТдоС ΠΏΠΎΠ»Π΅ соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ физичСскому рСгистру стСка ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ сопроцСссора ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ этот рСгистр, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ записи Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² эти рСгистры. ИзмСнСниС состояния любого рСгистра стСка отраТаСтся Π½Π° содСрТимом ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ этому рСгистру 2-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ поля рСгистра Ρ‚Π΅Π³Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния Π² полях рСгистра Ρ‚Π΅Π³Π°:

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сопроцСссора

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сопроцСссора совмСстно с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором
ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈ сопроцСссор ΠΈΠΌΠ΅ΡŽΡ‚ свои Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сопроцСссор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ прСдставляСт собой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство, ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ основного процСссора. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈ сопроцСссор, являясь двумя ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ устройствами, ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Но это распараллСливаниС распространяСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄. Оба процСссора ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΉ систСмной шинС ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ процСсс Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ всСгда основной процСссор. ПослС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ±Π° процСссора. Π›ΡŽΠ±Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° сопроцСссора ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ Π±ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11011. Когда ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ начинаСтся этими Π±ΠΈΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎ основной процСссор ΠΏΠΎ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ содСрТимому ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ выясняСт, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π»ΠΈ данная ΠΊΠΎΠΌΠ°Π½Π΄Π° обращСния ΠΊ памяти. Если это Ρ‚Π°ΠΊ, Ρ‚ΠΎ основной процСссор Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ физичСский адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈ обращаСтся ΠΊ памяти, послС Ρ‡Π΅Π³ΠΎ содСрТимоС ячСйки памяти выставляСтся Π½Π° ΡˆΠΈΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ памяти Π½Π΅ трСбуСтся, Ρ‚ΠΎ основной процСссор Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (Π½Π΅ дСлая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π΅Π΅ исполнСния) ΠΈ приступаСт ΠΊ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Выбранная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² сопроцСссор ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с основным процСссором. БопроцСссор, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ пяти Π±ΠΈΡ‚Π°ΠΌ, Ρ‡Ρ‚ΠΎ очСрСдная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΅Π³ΠΎ систСмС ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΅Π΅ исполнСниС. Если ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΈΠ· памяти, Ρ‚ΠΎ сопроцСссор обращаСтся ΠΊ шинС Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ содСрТимого ячСйки памяти, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ прСдоставлСно основным процСссором.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

АппаратноС обСспСчСниС IBM PC

12. ΠΠ Π˜Π€ΠœΠ•Π’Π˜Π§Π•Π‘ΠšΠ˜Π™ Π‘ΠžΠŸΠ ΠžΠ¦Π•Π‘Π‘ΠžΠ 

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

БопроцСссор запускаСтся Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором. ПослС запуска ΠΎΠ½ выполняСт всС вычислСния ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора. Если Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сопроцСссору Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‚ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор пСрСводится Π² состояниС оТидания. Если ΠΆΠ΅ сопроцСссор Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ занят, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ процСссор, Π²Ρ‹Π΄Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ сопроцСссору, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½Π΅ доТидаясь Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ вычислСния. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ срСдства синхронизации (ΠΊΠΎΠΌΠ°Π½Π΄Π° FWAIT).

Как ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сопроцСссор?

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для выполнСния сопроцСссором, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора. Но всС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Π±Π°ΠΉΡ‚Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ESC.

ВстрСтив Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, процСссор ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сопроцСссору, Π° сам ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

АссСмблСрныС ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ всСх ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ²Ρ‹ F, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: FADD, FDIV, FSUB ΠΈ Ρ‚.Π΄. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ сопроцСссора ΠΌΠΎΠ³ΡƒΡ‚ Π°Π΄Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора. ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, располоТСнныС Π² основной памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π»ΠΈΠ±ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ рСгистры сопроцСссора.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ всС Π²ΠΈΠ΄Ρ‹ адрСсации Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором.

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

12.1. ВСщСствСнныС числа

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… вСщСствСнных числС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… сопроцСссором, вспомним ΠΎ числах с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчСтах.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ эти числа ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π» Π½Π° языках высокого уровня, Π·Π½Π°ΠΊΠΎΠΌΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ прСдставлСниС чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ:

Π­Ρ‚ΠΈ числа Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π² памяти, соотвСтствСнно, 4, 8 ΠΈΠ»ΠΈ 10 Π±Π°ΠΉΡ‚ΠΎΠ²:

ВсС Ρ€Π°Π²Π½Ρ‹Π΅ ΠΏΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этим Π±ΠΈΡ‚ΠΎΠΌ. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ числа с Ρ€Π°Π·Π½Ρ‹ΠΌ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ симмСтричны. Для прСдставлСния ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл здСсь Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ это сдСлано Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ процСссорС.

АрифмСтичСский сопроцСссор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ числами, поэтому ΠΏΠΎΠ»Π΅ мантиссы содСрТит мантиссу Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ числа.

Для наглядности прСдставим мантиссу числа Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅:

Π—Π΄Π΅ΡΡŒ символом n обозначаСтся Π»ΠΈΠ±ΠΎ 0, Π»ΠΈΠ±ΠΎ 1. НормализованныС числа Π² самой Π»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ содСрТат 1, поэтому ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅:

Π—Π½Π°ΠΊ числа, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, опрСдСляСтся ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡƒΡΡ‚ΡŒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ число с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого числа Ρ€Π°Π²Π½ΠΎ:

Для большСй наглядности свСдСм всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ прСдставлСния вСщСствСнных чисСл Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ:

12.2. Π¦Π΅Π»Ρ‹Π΅ числа

АрифмСтичСский сопроцСссор наряду с вСщСствСнными числами способСн ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ прСобразования Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² вСщСствСнныС ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

Π¦Π΅Π»ΠΎΠ΅ число Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°. Π•Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссором. Для прСдставлСния ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚, соотвСтствСнно, 4 ΠΈ 8 Π±Π°ΠΉΡ‚ΠΎΠ².

Π£ΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ дСсятичноС число Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 10 Π±Π°ΠΉΡ‚ΠΎΠ². Π­Ρ‚ΠΎ число содСрТит 18 дСсятичных Ρ†ΠΈΡ„Ρ€, располоТСнных ΠΏΠΎ Π΄Π²Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅. Π—Π½Π°ΠΊ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ дСсятичного числа находится Π² ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌ Π±ΠΈΡ‚Π΅ самого Π»Π΅Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π°. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΡΡ‚Π°Ρ€ΡˆΠ΅Π³ΠΎ Π±Π°ΠΉΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ 0.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сопроцСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ числа Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… дСсятичных чисСл ΠΈΠ· Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ прСдставлСния Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ вСщСствСнном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ прСобразования Π² ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… чисСл, нСчисСл, бСсконСчности ΠΈ Ρ‚.ΠΏ., Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ. ΠΠ΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ прСдставляСт ΠΈΠ· сСбя число, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π²Π° ΡΡ‚Π°Ρ€ΡˆΠΈΡ… Π±Π°ΠΉΡ‚Π° содСрТат Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π²ΠΎ всСх разрядах. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… восьми Π±Π°ΠΉΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ число Π² опСрациях фиксируСтся ошибка.

ΠœΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСли Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ прСдставлСния вСщСствСнных чисСл ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π² этом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для прСдставлСния ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π±ΠΈΡ‚. Для Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа содСрТат Π½ΡƒΠ»ΡŒ Π² самом ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΌ Π±ΠΈΡ‚Π΅ числа:

Для получСния ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΠ· ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ числа ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ числу Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

НапримСр, число +5 Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΠΌ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ числу +1:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… чисСл:

Π£ΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ дСсятичноС число ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

На этом рисункС n0. n17 ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ разряды дСсятичного числа. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 0000 Π΄ΠΎ 1001, Ρ‚.Π΅. ΠΎΡ‚ 0 Π΄ΠΎ 9 Π² дСсятичной систСмС счислСния.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ рассмотрСли Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ арифмСтичСский сопроцСссор, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… рСгистров сопроцСссора.

12.3. РСгистры сопроцСссора

АрифмСтичСский сопроцСссор содСрТит восСмь числСнных 80-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… рСгистров, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для хранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСний, рСгистра управлСния, рСгистра состояния, рСгистра Ρ‚Π΅Π³ΠΎΠ², рСгистра указатСля ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ рСгистра указатСля ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.

12.3.1. ЧислСнныС рСгистры

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

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

12.3.2. РСгистр Ρ‚Π΅Π³ΠΎΠ²

Π­Ρ‚ΠΎΡ‚ рСгистр Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° восСмь Π΄Π²ΡƒΡ…Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°ΠΊ TAG0. TAG7. КаТдоС ΠΏΠΎΠ»Π΅ относится ΠΊ своСму числСнному рСгистру:

Поля рСгистра Ρ‚Π΅Π³ΠΎΠ² ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ содСрТимоС «ΡΠ²ΠΎΠ΅Π³ΠΎ» числСнного рСгистра:

00рСгистр содСрТит Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ число;
01Π² рСгистрС находится Π½ΡƒΠ»ΡŒ;
10рСгистр содСрТит Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число (нСчисло, Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ, Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ);
11пустой Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр.

НапримСр, Ссли всС рСгистры сопроцСссора Π±Ρ‹Π»ΠΈ пустыС, Π° Π·Π°Ρ‚Π΅ΠΌ Π² стСк числСнных рСгистров Π±Ρ‹Π»ΠΎ занСсСно ΠΎΠ΄Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТимоС рСгистра Ρ‚Π΅Π³ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ 3FFFh.

12.3.3. РСгистр управлСния

РСгистр управлСния для сопроцСссора 8087 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

РСгистр управлСния сопроцСссоров 80287/80387 ΠΈ сопроцСссора, входящСго Π² состав процСссора 80486, ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΈΡ‚ 7 Π² Π½Π΅ΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ масок особых случаСв:

IMмаска Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ;
DMмаска Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°;
ZMмаска дСлСния Π½Π° Π½ΡƒΠ»ΡŒ;
OMмаска пСрСполнСния;
UMмаска антипСрСполнСния;
PMмаска особого случая ΠΏΡ€ΠΈ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅;
IEMмаскированиС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ всСх особых случаСв Π²Π½Π΅ зависимости ΠΎΡ‚ установки Π±ΠΈΡ‚ΠΎΠ² 0. 5 рСгистра управлСния, этот Π±ΠΈΡ‚ дСйствитСлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сопроцСссора 8087

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ особыС случаи ΠΈ условия ΠΈΡ… возникновСния Π±ΡƒΠ΄ΡƒΡ‚ описаны ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ займСмся ошибками ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² сопроцСссорС.

ПолС PC управляСт Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ вычислСний Π² сопроцСссорС:

00использованиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ точности, этот Ρ€Π΅ΠΆΠΈΠΌ устанавливаСтся ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сопроцСссора;
10ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΄ΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности;
00ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π΄ΠΎ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности.

Π˜ΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΠ΅ точности вычислСний Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΡΠΊΠΎΡ€Π΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π Π΅ΠΆΠΈΠΌΡ‹ с ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для эмуляции процСссоров, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, соотвСтствСнно.

Π”Π²ΡƒΡ… Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ RC Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ округлСния ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с вСщСствСнными числами:

00ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ числу, этот Ρ€Π΅ΠΆΠΈΠΌ устанавливаСтся ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сопроцСссора;
01ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ бСсконСчности;
10ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ бСсконСчности;
11ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ Π½ΡƒΠ»ΡŽ.

Для наибольшСго ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ошибок вычислСний Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ округлСния Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ числу. Π Π΅ΠΆΠΈΠΌ округлСния Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ Π½ΡƒΠ»ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ цСлочислСнной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ.

ПолС IC рСгистра управлСния ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для управлСния Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ:

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ, ΠΎΠ½Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°ΠΊΠ°:

12.3.4. РСгистр состояния

Поля рСгистра состояния сопроцСссора 8087 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

РСгистр состояния сопроцСссоров 80287/80387 ΠΈ сопроцСссора, входящСго Π² состав процСссора 80486, ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ„Π»Π°ΠΆΠΊΠΎΠ² особых случаСв:

IEΠ½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ опСрация;
DEΠ΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;
ZEΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΡƒΠ»ΡŒ;
OEΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅;
UEΠ°Π½Ρ‚ΠΈΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅;
PEΠ½Π΅Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠΉΡΡ Ρ„Π»Π°ΠΆΠΎΠΊ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π½ΡƒΠ»ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ записи Π² рСгистр состояния.

НазначСниС Π±ΠΈΡ‚Π° 7 рСгистра состояния Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ для сопроцСссора 8087 ΠΈ сопроцСссоров 80287/80387.

Для сопроцСссора 8087 этот Π±ΠΈΡ‚ обозначаСтся IR ΠΈ содСрТит Ρ„Π»Π°Π³ запроса прСрывания ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ нСзамаскированного особого случая. Π’ этом случаС Ρ„Π»Π°Π³ устанавливаСтся Π² 1.

БопроцСссоры 80287/80387 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΠΈΡ‚ 7 Π² качСствС Ρ„Π»Π°Π³Π° суммарной ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся Π² 1 ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ нСзамаскированного особого случая.

ПолС ST Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π±ΠΈΡ‚Π° 11. 13 ΠΈ содСрТит Π½ΠΎΠΌΠ΅Ρ€ числСнного рСгистра, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ стСка числСнных рСгистров.

12.3.5. РСгистры указатСля ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ указатСля ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°

РСгистры указатСля ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ указатСля ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ особых случаСв, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² сопроцСссорС.

Π’ сопроцСссорС 8087 ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ содСрТит 20-разрядный адрСс ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ особый случай ΠΈ ΠΊΠΎΠ΄ выполняСмой Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. АдрСс ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ здСсь указываСтся Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π΅ прСфиксов:

БопроцСссоры 80287/80387 Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ рСгистра указатСля ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠ΄Π½Π°ΠΊΠΎ этот ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ прСфикс ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ особый случай.

Π—Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΈ сопроцСссора Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ излоТСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ для этого Ρ€Π΅ΠΆΠΈΠΌΠ°. Π’ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ адрСс состоит ΠΈΠ· сСлСктора (Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни соотвСтствуСт сСгмСнтной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ адрСса Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°) ΠΈ смСщСния. Π€ΠΎΡ€ΠΌΠ°Ρ‚ указатСля ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° прСдставлСн Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ здСсь отсутствуСт, Π½ΠΎ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ адрСсом ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Если ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ особого случая использовался ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, находящийся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π΅Π³ΠΎ адрСс записываСтся Π² рСгистр указатСля ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ этого рСгистра для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ указатСля ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°:

Π€ΠΎΡ€ΠΌΠ°Ρ‚ указатСля ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° для Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°:

12.4. БистСма ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… процСссоров 8086/80286/80386. Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· числСнных рСгистров ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ², Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ памяти ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚ Π΄Π²ΡƒΡ… Π΄ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±Π°ΠΉΡ‚ΠΎΠ², Π² зависимости ΠΎΡ‚ способа адрСсации ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, находящСгося Π² памяти:

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ESC. Поля КОП1 ΠΈ КОП2 ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‚.Π΅. содСрТат ΠΊΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Поля MOD ΠΈ R/M вмСстС с полями «Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅1» ΠΈ «Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅2» Π·Π°Π΄Π°ΡŽΡ‚ адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² памяти Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это происходит Π² процСссорах 8086/80286/80386. Однако Π΅ΡΡ‚ΡŒ ΠΈ отличия, связанныС с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ адрСсации числСнных рСгистров сопроцСссора.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ способа адрСсации ΠΎΡ‚ содСрТимого ΠΏΠΎΠ»Π΅ΠΉ MOD ΠΈ R/M:

Если Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ значСния смСщСния disp8 ΠΈΠ»ΠΈ disp16, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ присуствуСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° смСщСния, соотвСтствСнно.

Если ΠΏΠΎΠ»Π΅ MOD содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° адрСсация числСнных рСгистров ST0. ST1. ΠŸΡ€ΠΈ этом ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ содСрТит Π±Π°ΠΉΡ‚ΠΎΠ² смСщСния.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ числСнному рСгистру ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это Π΅ΡΡ‚ΡŒ частный случай ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»Π΅ MOD содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11 ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π±Π°ΠΉΡ‚Ρ‹ смСщСния.

Π‘Π°ΠΌΡ‹ΠΉ простой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· явного обращСния ΠΊ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌ:

РазумССтся, Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для сопроцСссора Π½Π° языкС ассСмблСра, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мнСмоничСскоС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄. ВсС ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСсора Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ²Ρ‹ F, поэтому ΠΈΡ… Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ процСссоров 8086/80286/80386/80486.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ чисСл ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² числСнныС Ρ€Π΅Π³ΠΈΡ‚Ρ€Ρ‹, записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· числСнных рСгистров Π² ΠΎΠΏΠ΅Ρ€Π°ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, копирования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ числСнного рСгистра Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

АрифмСтичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ частичного остатка, ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚.ΠΏ.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ сравнСния ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ вСщСствСнныС ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π°Π½Π°Π»ΠΈΠ· чисСл.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ посвящСны Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ описанию Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ ΠΊΠΎΠΌΠ°Π½Π΄ сопроцСссора.

12.4.1. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСсылки Π΄Π°Π½Π½Ρ‹Ρ…

Π—Π°ΠΏΠΈΡΡŒ Π² стСк

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ FLD, FILD, FBLD Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ стСка вСщСствСнноС, Ρ†Π΅Π»ΠΎΠ΅ ΠΈ дСсятичноС числа, соотвСтствСнно.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· стСка

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ извлСчСния чисСл ΠΈΠ· стСка Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ дСйствиС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ описанному. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ числСнного рСгистра, Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся ΠΏΠΎΠ»Π΅ΠΌ ST рСгистра состояния, прСобразуСтся Π² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ записываСтся Π² ячСйки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ПослС записи содСрТимоС поля ST увСличиваСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π­Ρ‚ΠΈ дСйствия Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ выполняСмым ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ POP Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΡ€ΠΈ этом содСрТимоС указатСля стСка (поля ST) Π½Π΅ измСняСтся.

Команда FST Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ссылку Π½Π° числСнный рСгистр ST(i), поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для копирования Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ числСнный рСгистр.

ΠŸΡ€ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ выполняСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Π² вСщСствСнный для FST, Π² Ρ†Π΅Π»Ρ‹ΠΉ для FIST ΠΈ Π² дСсятичный для FBST.

Для сопроцСссора 80286 вмСсто ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FBST ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ:

ОбмСн

Команда выполняСт ΠΎΠ±ΠΌΠ΅Π½ содСрТимым Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка ST(0) ΠΈ числСнного рСгистра, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° констант

Π“ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ константы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

12.4.2. АрифмСтичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

БопроцСссор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡˆΠ΅ΡΡ‚ΡŒ основных Ρ‚ΠΈΠΏΠΎΠ² арифмСтичСских ΠΊΠΎΠΌΠ°Π½Π΄:

Π‘Ρ‚Ρ€ΠΎΠΊΠ° «xxx» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

ΠšΡ€ΠΎΠΌΠ΅ основных арифмСтичСских ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ арифмСтичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

FSQRTΠ˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня
FSCALEΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа 2
FPREMВычислСниС частичного остатка
FRNDINTΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ
FXTRACTΠ’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ порядка числа ΠΈ мантиссы
FABSВычислСниС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ числа
FCHSИзмСнСниС Π·Π½Π°ΠΊΠ° числа

По ΠΊΠΎΠΌΠ°Π½Π΄Π΅ FSQRT вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня записываСтся Π² Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΡƒ стСка ST(0).

Команда FSCALE измСняСт порядок числа, находящСгося Π² ST(0). По этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ порядка числа ST(0) складываСтся с ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΌ коэффициСнтом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ записан Π² ST(1). ДСйствиС этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ:

Команда FPREM вычисляСт остаток ΠΎΡ‚ дСлСния Π΄Π΅Π»ΠΈΠΌΠΎΠ³ΠΎ ST(0) Π½Π° Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ST(1). Π—Π½Π°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ Π·Π½Π°ΠΊΡƒ ST(0), Π° сам Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ получаСтся Π² Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ стСка ST(0).

ДСйствиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² сдвигах ΠΈ вычитания, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ «Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ» дСлСнию «Π² столбик». ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„Π»Π°Π³ C2 рСгистра состояния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

0остаток ΠΎΡ‚ дСлСния, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ST(0), мСньшС дСлитСля ST(1), ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ;
1ST(0) содСрТит частичный остаток, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π΅Ρ‰Π΅ Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для получСния Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ значСния остатка.

Команда RNDINT округляСт ST(0) Π² соотвСтствии с содСрТимым поля RC ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ рСгистра.

Команда FABS вычисляСт Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ST(0). Аналогично, ΠΊΠΎΠΌΠ°Π½Π΄Π° FCHS измСняСт Π·Π½Π°ΠΊ ST(0) Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ.

12.4.3. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ сравнСний чисСл

Π’ процСссорах 8086/80286/80386 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ условных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² соотвСтствии с установкой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ² рСгистра Ρ„Π»Π°Π³ΠΎΠ² процСссора. Π’ арифмСтичСском сопроцСссорС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сравнСний, ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ выполнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΈΡ‚Ρ‹ ΠΊΠΎΠ΄ΠΎΠ² условий Π² рСгистрС состояния:

FCOMΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅
FICOMЦСлочислСнноС сравнСниС
FCOMPΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· стСка
FICOMPЦСлочислСнноС сравнСниС ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· стСка
FCOMPPΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· стСка
FTSTΠ‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° с Π½ΡƒΠ»Π΅ΠΌ
FXAMАнализ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°

Команда FCOM Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ содСрТимоС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΈΠ· Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка ST(0). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычитания Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ записываСтся ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠΈ стСка ST Π½Π΅ измСняСтся.

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сравнСния ΠΊΠ°ΠΊ «x». Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ значСния Π±ΠΈΡ‚ΠΎΠ² ΠΊΠΎΠ΄ΠΎΠ² условия послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «FCOM x»:

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ рассчитан Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ сопроцСссора. Если сопроцСссора Π½Π΅Ρ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Но Ссли извСстно, Ρ‡Ρ‚ΠΎ сопроцСссор Π΅ΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, процСссор 80486 всСгда содСрТит Π±Π»ΠΎΠΊ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ), Ρ‚ΠΎ Π²Π°ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠ°ΠΊ самый Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сопроцСссор совсСм. ВсС вычислСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, входящими Π² состав Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΊ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ автоматичСски Π½Π° этапС рСдактирования.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ руководство ΠΏΠΎ Π‘ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ для Ρ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. Но эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΡƒΠ²Ρ‹, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сопроцСссор.

Π’Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСпосрСдствСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сопроцСссора Π½Π° языкС ассСмблСра. ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС возмоТности сопроцСссора ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ наибольшСй эффСктивности вычислСний.

КакиС срСдства ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для составлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для сопроцСссора?

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΈΠ»ΠΈ ассСмблСр MASM (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС TASM), Π»ΠΈΠ±ΠΎ интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ QuickC вСрсии 2.01, содСрТащая встроСнный Quick Assembler.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ самой простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ для трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Quick Assemler. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСт вычислСния ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ нСслоТной Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

ЗначСния x ΠΈ y Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ констант:

Как ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ?

Для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ CodeView, содСрТащий ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ срСдства ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с арифмСтичСским сопроцСссором.

Запустим ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ CodeView, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅ΠΌΡƒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° имя ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ запустится, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ рСгистров сопроцСссора, Π½Π°ΠΆΠ°Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Alt-V-7:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

ПослС этого Π½Π° Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана появится ΠΎΠΊΠ½ΠΎ рСгистров сопроцСссора:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

ΠŸΡƒΡΡ‚ΡŒ вас Π½Π΅ смущаСт Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² этом ΠΎΠΊΠ½Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ показываСтся состояниС рСгистров сопроцСссора. НаТмитС ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΎΠ΄ΠΈΠ½ шаг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Окно сопроцСссора Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ содСрТимоС рСгистров управлСния ΠΈ состояния (cControl, cStatus), рСгистра Ρ‚Π΅Π³ΠΎΠ² (cTag), рСгистров ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Instr Ptr, Data Ptr), ΠΊΠΎΠ΄ выполняСмой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Opcode). ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ содСрТимоС стСка числСнных рСгистров (Stack), Π½ΠΎ ΠΏΠΎΠΊΠ° это ΠΏΠΎΠ»Π΅ пустоС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС числСнныС рСгистры ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Π² рСгистрС Ρ‚Π΅Π³ΠΎΠ² ΠΊΠ°ΠΊ пустыС (ΠΊΠΎΠ΄ 11).

НаТмитС Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F8, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π² стСк числСнных рСгистров Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² области рСгистров стСка ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ содСрТимоС рСгистра cST(0), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΊ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ‚Π°ΠΊ ΠΈ с использованиСм ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ (Π½Π°ΡƒΡ‡Π½ΠΎΠΉ) Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.

Как ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, рСгистр ST(0) содСрТит Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ 1.0.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ ΠΊ содСрТимому ST(0) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2.0 ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ y. Π’Π΅ΠΏΠ΅Ρ€ΡŒ рСгистр ST(0) содСрТит Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ 3.0:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

ПослСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ· стСка хранящССся Ρ‚Π°ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (3.0) ΠΈ записываСт Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ z. Π’Π΅ΠΏΠ΅Ρ€ΡŒ стСк числСнных рСгистров снова пуст:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСский сопроцСссор

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ CodeView ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ срСдствами динамичСского просмотра состояния сопроцСссора. Однако этот ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². ΠœΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π²Π°ΠΌ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ‚ΠΎΠΌΠ΅ «Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ систСмного программиста».

Π’Π°ΠΌ ΠΆΠ΅ Π½Π°ΠΌΠΈ Π±Ρ‹Π»Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², основанная Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² исходный тСкст Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, выводящих Π½Π° экран содСрТимоС рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΈΠ»ΠΈ областСй памяти. ΠœΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ исходный тСкст ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ntrace, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран содСрТимоС всСх рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора.

Если ваш Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сопроцСссор, Π²Π°ΠΌ, вСроятно, потрСбуСтся Ρ‚Π°ΠΊΠΆΠ΅ содСрТимоС рСгистров сопроцСссора. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ тСкст ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ntrace87, которая наряду с содСрТимым рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС рСгистров арифмСтичСского сопроцСссора:

Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ основана Π½Π° использовании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FSAVE, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰Π΅ΠΉ Π² памяти содСрТимоС всСх рСгистров сопроцСссора. ΠžΠ±Π»Π°ΡΡ‚ΡŒ сохранСния описываСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ структурой, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ sysp.inc:

Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС Π½Π° экран выводится Π΄Π°ΠΌΠΏ содСрТимого рСгистров Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΈ сопроцСссора (пустыС числСнныС рСгистры Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ):

12.6. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° особых случаСв

Π’ арифмСтичСском сопроцСссорС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ основан Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ прСрывания особого случая (INT 10h). Π­Ρ‚ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ вырабатываСтся Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° происходит какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ошибка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΡƒΠ»ΡŒ) ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ масок особых случаСв Π² рСгистрС управлСния Π½Π΅ установлСны. ΠŸΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ способС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок всС особыС случаи ΠΌΠ°ΡΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ (ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ рСгистра ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ) ΠΈ Π² случаС ошибки сопроцСссор Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ извСстноС особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (нСчисло, Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊ мноТСству особых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Рассмотрим Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ особыС случаи сопроцСссора Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

12.6.1. НСточный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ такая ситуация, ΠΊΠΎΠ³Π΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. НапримСр, ΠΏΡ€ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ дСлСния числа 1.0 Π½Π° 3.0 являСтся бСсконСчная пСриодичСская двоичная Π΄Ρ€ΠΎΠ±ΡŒ 0.010101. Π’Π°ΠΊΠΎΠ΅ число Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Ρ‚ΠΎΡ‡Π½ΠΎ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ вСщСствСнных чисСл.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ округлСния ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ошибка.

12.6.2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слишком Π²Π΅Π»ΠΈΠΊ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, фиксируСтся особый случай пСрСполнСния.

Π­Ρ‚ΠΎΡ‚ особый случай ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ слоТСнии максимального числа Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ точности самим с собой ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ этого числа Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ для хранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 80-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ прСдставлСниС, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ числами с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ пСрСполнСния, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ происходит. ΠžΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ прСдставлСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с числами ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности.

12.6.3. АнтипСрСполнСниС

АнтипСрСполнСниС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слишком ΠΌΠ°Π» для Π΅Π³ΠΎ прСдставлСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ всС ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ нуля. НапримСр, Ссли дСлаСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ наимСньшСС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ числа с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ числа Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, Π° для хранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, особый случай антипСрСполнСния, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚.

12.6.4. Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΡƒΠ»ΡŒ

Π­Ρ‚ΠΎΡ‚ особый случай Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ числа Π½Π° Π½ΡƒΠ»ΡŒ.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ дСлСния нуля Π½Π° Π½ΡƒΠ»ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ особый случай Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн Π½ΠΈΠΆΠ΅.

12.6.5. ΠΠ΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ опСрация

Π­Ρ‚ΠΎΡ‚ особый случай Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ выполнСния Ρ‚Π°ΠΊΠΈΡ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΠΊ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ нуля Π½Π° Π½ΡƒΠ»ΡŒ, извлСчСния корня ΠΈΠ· ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ рСгистру сопроцСссора ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ использования Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ нСчисСл, нСопрСдСлСнностСй ΠΈΠ»ΠΈ бСсконСчности (для трансцСндСнтных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ).

12.6.6. Π”Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄

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

Если Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ (y-x) Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π°Π½Ρ‚ΠΈΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π² качСствС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° бСрСтся Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ послС вычислСния всСго выраТСния получится x. Если ΠΆΠ΅ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° прСдставлСния чисСл Π·Π° счСт сниТСния точности ΠΈ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния разности (y-x) ΠΊΠ°ΠΊ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ число, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ вычислСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получится y.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ½ΠΎΠ³Π΄Π° цСлСсообразно Π·Π°ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ особый случай Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ числа. Однако ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ дСлСния Π½Π° Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ число ΠΈΠ»ΠΈ извлСчСния ΠΈΠ· Π½Π΅Π³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня фиксируСтся особый случай Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *