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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 10

Автор А. Π¦Π²Π΅Ρ‚ΠΊΠΎΠ²Π°

По-настоящСму Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ (ΠΈΠ»ΠΈ, Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, зависящиС ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΊΠ°ΠΊ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ быстродСйствия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· знания ассСмблСра.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ высокоуровнСвыС срСдства Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ построСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΈΡ€ΠΎΠ² ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ выполняСт Π½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ языка, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написана Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π° ΠΈΡ… трансформированноС прСдставлСниС Π² Ρ„ΠΎΡ€ΠΌΠ΅ скучной ΠΈ ΡƒΠ½Ρ‹Π»ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ совсСм Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка – машинного. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ прСдставим, Ρ‡Ρ‚ΠΎ Ρƒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° нСстандартная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ устройством ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ знания ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Каким Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π½ΠΈ Π±Ρ‹Π» язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ программист написал свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π±Π΅Π· знания ассСмблСра Π΅ΠΌΡƒ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. И Π½Π΅ случайно практичСски всС компиляторы языков высокого уровня содСрТат срСдства связи своих ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с модулями Π½Π° ассСмблСрС Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ Π½Π° ассСмблСрный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ программирования.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ составлСн ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… физичСских устройств, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ систСмным

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

На соврСмСнном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ Ρ€Ρ‹Π½ΠΊΠ΅ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ большоС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Ρƒ потрСбитСля вопроса – ΠΊΠ°ΠΊ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ возмоТности ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ) ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² (ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ).

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

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ способы, срСдства ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ рСсурсы, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ всС понятия, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-управляСмых свойств, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ – Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π­Π’Πœ.

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ понятиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π­Π’Πœ стало ΡƒΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒΡΡ с появлСниСм машин 3-Π³ΠΎ поколСния для ΠΈΡ… ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ.

К ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ языка АссСмблСра любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС выяснСния Ρ‚ΠΎΠ³ΠΎ, какая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° оставлСна Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΈ доступной для программирования Π½Π° этом языкС. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ называСмая программная модСль ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся программная модСль микропроцСссора, которая содСрТит 32 рСгистра Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ доступных для использования программистом.

Π”Π°Π½Π½Ρ‹Π΅ рСгистры ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ большиС Π³Ρ€ΡƒΠΏΠΏΡ‹:

1) 16 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… рСгистров;

2) 16 систСмных рСгистров.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° языкС АссСмблСра рСгистры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ интСнсивно. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ рСгистров ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Помимо пСрСчислСнных Π²Ρ‹ΡˆΠ΅ рСгистров, Ρ„ΠΈΡ€ΠΌΡ‹-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ процСссоров Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ модСль Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСгистры, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… классов вычислСний. Π’Π°ΠΊ, Π² сСмСйствС процСссоров Pentium Pro (MMX) ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Intel Π±Ρ‹Π»ΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ MMX Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Intel. Оно Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя 8 (MM0-MM7) 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров ΠΈ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ цСлочислСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΏΠ°Ρ€Π°ΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

1) Π²ΠΎΡΠ΅ΠΌΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚;

2) Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… слова;

3) Π΄Π²Π° Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… слова;

4) ΡƒΡ‡Π΅Ρ‚Π²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ слово;

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΎΠ΄Π½ΠΎΠΉ инструкциСй MMX Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ программист ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π΄Π²Π° Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… слова. ЀизичСски Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… рСгистров Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ. MM0-MM7 это мантиссы (младшиС 64 Π±ΠΈΡ‚Π°) стСка 80 Π±ΠΈΡ‚Π½Ρ‹Ρ… FPU (floating point unit – сопроцСссор) рСгистров.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ – 3DNOW! ΠΎΡ‚ AMD; SSE, SSE2, SSE3, SSE4. ПослСдниС 4 Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ процСссорами Ρ„ΠΈΡ€ΠΌΡ‹ AMD, Ρ‚Π°ΠΊ ΠΈ процСссорами ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Intel.

39. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ рСгистры

Как слСдуСт ΠΈΠ· названия, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ рСгистры Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ написании своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. К этим рСгистрам относятся:

1) Π²ΠΎΡΠ΅ΠΌΡŒ 32-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ программистами для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ адрСсов (ΠΈΡ… Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ рСгистрами ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния (РОН)):

– eax/ax/ah/al;

– ebx/bx/bh/bl;

– edx/dx/dh/dl;

– ecx/cx/ch/cl;

– ebp/bp;

– esi/si;

– edi/di;

– esp/sp.

2) ΡˆΠ΅ΡΡ‚ΡŒ рСгистров сСгмСнтов:

– cs;

– ds;

– ss;

– es;

– fs;

– gs;

3) Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Ρ‹ состояния ΠΈ управлСния:

– Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ Ρ„Π»Π°Π³ΠΎΠ² eflags/flags;

– Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ указатСля ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ eip/ip.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ основныС рСгистры микропроцСссора:

РСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

40. Π Π΅Π³ΠΈΡΡ‚Ρ€Ρ‹ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

ВсС рСгистры этой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ своим «младшим» частям. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ адрСсации ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ младшиС 16– ΠΈ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ части этих рСгистров. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ΅ 16 Π±ΠΈΡ‚ этих рСгистров ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ нСдоступны.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ рСгистры, относящиСся ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ рСгистров ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Π’Π°ΠΊ ΠΊΠ°ΠΊ эти рСгистры физичСски находятся Π² микропроцСссорС Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΎ-логичСского устройства (АЛУ), Ρ‚ΠΎ ΠΈΡ… Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ рСгистрами АЛУ:

1) eax/ax/ah/al (Accumulator register) β€“ аккумулятор. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для хранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… использованиС этого рСгистра ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ;

2) ebx/bx/bh/bl (Base register) β€“ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ рСгистр. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для хранСния Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти;

3) ecx/cx/ch/cl (Count register) β€“ рСгистр-счСтчик. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, производящих Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дСйствия. Π•Π³ΠΎ использованиС Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ нСявно ΠΈ скрыто Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° loop, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния ΠΊΠΎΠΌΠ°Π½Π΄Π΅, находящСйся ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ адрСсу, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ рСгистра ecx/cx;

4) edx/dx/dh/dl (Data register) β€“ рСгистр Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ рСгистр eax/ax/ah/al, ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π΅Π³ΠΎ использованиС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ; для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ это происходит нСявно.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° рСгистра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ†Π΅ΠΏΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚. Π΅. ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, производящих ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ элСмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ 32, 16 ΠΈΠ»ΠΈ 8 Π±ΠΈΡ‚:

1) esi/si (Source Index register) β€“ индСкс источника. Π­Ρ‚ΠΎΡ‚ рСгистр Π² Ρ†Π΅ΠΏΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… опСрациях содСрТит Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ адрСс элСмСнта Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅-источникС;

2) edi/di (Destination Index register) β€“ индСкс ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° (получатСля). Π­Ρ‚ΠΎΡ‚ рСгистр Π² Ρ†Π΅ΠΏΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… опСрациях содСрТит Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ адрСс Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ΅.

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

1) esp/sp (Stack Pointer register) β€“ рСгистр указатСля стСка. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ сСгмСнтС стСка.

2) ebp/bp (Base Pointer register) β€“ рСгистр указатСля Π±Π°Π·Ρ‹ ΠΊΠ°Π΄Ρ€Π° стСка. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ стСка.

ИспользованиС ТСсткого закрСплСния рСгистров для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ позволяСт Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… машинноС прСдставлСниС. Π—Π½Π°Π½ΠΈΠ΅ этих особСнностСй ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΈ нСобходимости хотя Π±Ρ‹ Π½Π° нСсколько Π±Π°ΠΉΡ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

41. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ рСгистры

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ микропроцСссора имССтся ΡˆΠ΅ΡΡ‚ΡŒ сСгмСнтных рСгистров: cs, ss, ds, es, gs, fs.

Π˜Ρ… сущСствованиС обусловлСно спСцификой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти микропроцСссорами Intel. Она Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ микропроцСссор Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ Ρ‚Ρ€Π΅Ρ… частСй, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… сСгмСнтами. БоотвСтствСнно такая организация памяти называСтся сСгмСнтной.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° сСгмСнты, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ доступ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ сСгмСнтныС рСгистры. ЀактичСски (с нСбольшой ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΉ) Π² этих рСгистрах содСрТатся адрСса памяти, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сСгмСнты. Π›ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ машинной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ построСна Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, доступС ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΊ стСку нСявно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ адрСса Π²ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… сСгмСнтных рСгистрах.

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ сСгмСнтов.

1. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для доступа ΠΊ этому сСгмСнту слуТит рСгистр cs (code segment register) β€“ сСгмСнтный рСгистр ΠΊΠΎΠ΄Π°. Он содСрТит адрСс сСгмСнта с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π΅Ρ‚ доступ микропроцСссор (Ρ‚. Π΅. эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ микропроцСссора).

2. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π΄Π°Π½Π½Ρ‹Π΅. Для доступа ΠΊ этому сСгмСнту слуТит рСгистр ds (data segment register) β€“ сСгмСнтный рСгистр Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСс сСгмСнта Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.