ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Intel Itanium 9300

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΠΈΡ‚ UM. be Π² ΠΌΠ°ΡΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ управляСт Ρ‚Π΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС Π±Π°ΠΉΡ‚Ρ‹ Itanium ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ — ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ (big-endian) ΠΈΠ»ΠΈ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ (little-endian). Если Π±ΠΈΡ‚ UM. be Ρ€Π°Π²Π΅Π½ 0, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ² выполняСтся ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ (Π±Π°ΠΉΡ‚Ρ‹ с ΠΌΠ»Π°Π΄ΡˆΠΈΠΌΠΈ адрСсами памяти ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ младшим Π±Π°ΠΉΡ‚Π°ΠΌ рСгистра). Если Π±ΠΈΡ‚ UM. be Ρ€Π°Π²Π΅Π½ 1, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Intel Itanium 9300 (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ адрСсный рСгистр БСрия процСссоров Intel Itanium 9300 с ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Tukwila Π±Ρ‹Π»Π° прСдставлСна 8 Ρ„Свраля 2010 Π³ΠΎΠ΄Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ производился ΠΏΠΎ 65 Π½ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, содСрТит Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ядра, Π΄ΠΎ 24 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ кэша Π½Π° ΠΊΡ€ΠΈΡΡ‚Π°Π»Π»Π΅ процСссора, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Hyper-Threating ΠΈ ΡΠ½Π°Π±ΠΆΠ΅Π½ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ памяти. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° процСссорной ΡˆΠΈΠ½Ρ‹ QPI. Пиковая мСТпроцСссорная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ достигла 96 Π“Π‘/с, пиковая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ подсистСмы памяти — 34 Π“Π‘/с.

QuickPath примСняСтся Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°Ρ… Nehalem, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ чипсСта. Tukwila ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ диспСтчСра памяти, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ памяти ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ памяти DDR3 DIMM, ΠΊΠ°ΠΊ ΠΈ Intel Xeon с ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Beckton, основанному Π½Π° ΡΠ΄Ρ€Π΅ Nehalem.

Intel Itanium 9300 являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² ΠΌΠΈΡ€Π΅ микропроцСссором, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит 2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° транзисторов.

БСрия микропроцСссоров ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ сСгмСнт Ρ€Ρ‹Π½ΠΊΠ° IT.

1. АрхитСктура Intel Itanium

1.1 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Intel Itanium

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Ρ‹ Intel Itanium 9300 сСрии (рисунок 1.1) ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡŠΡΠ΄Π΅Ρ€Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ сокСт LG1248. КаТдоС ΠΈΠ· ΡΠ΄Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ кэш L1 (L1I 16 Кб, L1D 16 Кб), L2 (L2I 512 Кб, L2D 256 Кб) ΠΈ L3 (6 ΠœΠ±Π°ΠΉΡ‚ Π½Π° ΡΠ΄Ρ€ΠΎ — Π΄ΠΎ 24 ΠœΠ±Π°ΠΉΡ‚) ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотС Π΄ΠΎ 1.86 Π“Π“Ρ†. ВсСго устройство содСрТит 2 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° транзисторов. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти — DDR3−800.

Intel Itanium 9300 сСрии ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:

Β· Intel QPI Hot-plug.

Β· Intel QPI Link self-healing.

Β· Intel QPI Clock fail-safe.

Β· Intel QPI Data scrambling.

Β· Intel SMI Hot-plug.

Β· Intel Virtualization Technology.

Β· «Π“орячая» установка CPU.

Β· «Π“орячая» установка ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ памяти.

Β· Π—Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ памяти.

Β· ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° (scrubbing) памяти.

Β· ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ (patroling) памяти.

ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ элСктроэнСргии составляСт 130/155/185 Π’Π°Ρ‚Ρ‚ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройства составляСт -55ΠΏC/+125 ΠΏC. Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚ -5 ΠΏC Π΄ΠΎ 40 ΠΏC.

Рисунок 1.1 — Intel Itanium 9300

Устройство процСссора прСдставлСно Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.1:

Рисунок 1.1 — Устройство процСссора Intel Itanium 9300

CPE0-CPE3 — Π°Π³Π΅Π½Ρ‚Ρ‹ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ (Caching Agent, CPE). Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ CPE Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ядрами процСссора ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ кэш-ΠΊΠΎΠ³Π΅Ρ€Π΅Π½Ρ‚Π½ΠΎΠΉ ΡˆΠΈΠ½Ρ‹ Ρ‚ΠΈΠΏΠ° Ρ‚ΠΎΡ‡ΠΊΠ°-Ρ‚ΠΎΡ‡ΠΊΠ° (Intel QuickPath Interconnect, QPI), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ процСссором ΠΈ Ρ‡ΠΈΠΏΡΠ΅Ρ‚ΠΎΠΌ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Bbox Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ памяти ΠΈ QPI ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΠ΅Ρ‚ с ΠΊΡΡˆΠ΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Bbox-интСрфСйс оснащСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ памяти Zbox. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ памяти ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ систСмного управлСния (System Management Interrupt, SMI). ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ 6 QPI-шин, 4 с ΠΏΠΎΠ»Π½ΠΎΠΉ полосой пропускания ΠΈ 2 с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ полосы.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… 1.2 ΠΈ 1.3 прСдставлСны Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сигналов для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора.

Рисунок 1.2 — ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² напряТСния для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора Рисунок 1.3 — ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² напряТСния для Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора

АрхитСктура Itanium Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Π·ΠΎΠΉΡ‚ΠΈ ограничСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ запас Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Itanium Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ Π½ΠΎΠ²Ρ‹Ρ… особСнностСй для извлСчСния большСго ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° уровня инструкции, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ выполнСния, ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², большиС Ρ„Π°ΠΉΠ»Ρ‹ рСгистров, стСк рСгистра, ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ вСтвлСния ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π‘Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° 64-битовая Π°Π΄Ρ€Π΅ΡΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ большиС трСбования ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ хранСния Π΄Π°Π½Π½Ρ‹Ρ…, e-бизнСса, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. АрхитСктура Itanium ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ высокиС трСбования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, созданиС Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ проСктирования, ΠΈ Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.

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

1.2 Π Π°Π±ΠΎΡ‚Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды

АрхитСктура Itanium ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Π²ΡƒΡ… систСм Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды:

Β· Ρ€Π°Π±ΠΎΡ‚Π° Π² 32-Π±ΠΈΡ‚Π½ΠΎΠΉ систСмС IA-32.

Β· Ρ€Π°Π±ΠΎΡ‚Π° Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Ρ‚ΠΈΠΏΠ° Itanium.

АрхитСктурная модСль Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ смСшиваниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ IA-32 ΠΈ Itanium Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Ρ‚ΠΈΠΏΠ° Itanium. Π’ Ρ‚Π°Π±Π». 1.1 описаны основныС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ срСды.

Π’Π°Π±Π»ΠΈΡ†Π° 1.1 — ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ срСды

Π‘Ρ€Π΅Π΄Π° систСмы

Π‘Ρ€Π΅Π΄Π° прилоТСния

Как выполняСтся

IA-32

Набор инструкций IA-32

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ IA-32 Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… R, P, V86 ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма. Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с IA-32 Intel-процСссорами Pentium, Pentium Pro, Pentium II ΠΈ Pentium III.

Набор инструкций Itanium

НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ, прилоТСния Ρ‚ΠΈΠΏΠ° Itanium Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΡΡ€Π΅Π΄Π΅ IA-32.

Itanium

P-Ρ€Π΅ΠΆΠΈΠΌ IA-32

IA-32 P-Ρ€Π΅ΠΆΠΈΠΌ Π² ΡΡ€Π΅Π΄Π΅ Intel Itanium

R-Ρ€Π΅ΠΆΠΈΠΌ IA-32

IA-32 R-Ρ€Π΅ΠΆΠΈΠΌ Π² ΡΡ€Π΅Π΄Π΅ Intel Itanium

V-Ρ€Π΅ΠΆΠΈΠΌ IA-32

IA-32 V-Ρ€Π΅ΠΆΠΈΠΌ Π² ΡΡ€Π΅Π΄Π΅ Intel Itanium

Набор инструкций Itanium

ВыполняСтся ΠΊΠ°ΠΊ Itanium-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Intel Itanium

1.3 Набор инструкций ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²

Π’Π½ΡƒΡ‚Ρ€ΠΈ систСмной срСды Itanium процСссор ΠΌΠΎΠΆΠ΅Ρ‚ Π² Π»ΡŽΠ±ΠΎΠ΅ врСмя Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ инструкции IA-32 ΠΈΠ»ΠΈ Itanium. Π’Ρ€ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструкции ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ процСссора ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ инструкций Itanium ΠΈ IA-32.

Β· jmpe (IA-32 инструкция) ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Itanium ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π±ΠΎΡ€ инструкций Ρ‚ΠΈΠΏΠ° Itanium.

Β· br.ia (Itanium инструкция) ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° IA-32 ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Π±ΠΎΡ€ инструкций Ρ‚ΠΈΠΏΠ° IA-32.

Β· rfi (Itanium инструкция) «Return from interruption» Π·Π°Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ IA-32 ΠΈΠ»ΠΈ Itanium инструкции.

Β· ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ пСрСводят процСссор Π² Π½Π°Π±ΠΎΡ€ инструкций Ρ‚ΠΈΠΏΠ° Itanium Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ‚ ΡƒΡΠ»ΠΎΠ²ΠΈΠΉ прСрывания.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ jmpe ΠΈ br.ia ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ°Π»ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ управлСния ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ инструкций. Π­Ρ‚ΠΈ инструкции ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² «thunks» ΠΈΠ»ΠΈ «stubs» («Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ») ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ связСй ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² условий для динамичСски ΠΈ ΡΡ‚атичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

АрхитСктура Itanium Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ особСнности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ Π±Π°Ρ€ΡŒΠ΅Ρ€Ρ‹, ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. АрхитСктура Itanium основана Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…:

Β· Π―Π²Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ

o ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ взаимодСйствия компилятора ΠΈ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°

o ΠœΠ°ΡΡΠΈΠ² рСсурсов, Π΄Π°ΡŽΡ‰ΠΈΠΉ прСимущСство ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌ инструкциям.

o 128 рСгистров для Ρ†Π΅Π»Ρ‹Ρ… ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл

o ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСства ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… устройств ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² памяти.

Β· Бвойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ уровня инструкций

o Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (которая ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ воздСйствиС врСмя оТидания)

o ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (которая устраняСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹)

o ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Ρ†ΠΈΠΊΠ»ΠΎΠ² с ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ

o ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

Β· ЀокусированныС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

o Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

o Π’Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

o Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°-инструкции Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π²Ρ‹Π΄Π²ΠΈΠ³Π°ΡŽΡ‚ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½ эти Π²Π°ΠΆΠ½Ρ‹Π΅ особСнности Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Itanium.

1.4 ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ уровня инструкций

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ уровня инструкций (ILP) — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько инструкций ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

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

АрхитСктура Itanium Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ прСимущСства ILP. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ для Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ часто ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Π² ΡΠ²ΠΎΠΈΡ… возмоТностях ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ спСкулятивной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°. АрхитСктура Itanium позволяСт компилятору ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° для коррСктности выполнСния прилоТСния. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈΠ·-Π·Π° сливания (spill) ΠΈ Π·Π°Π»ΠΈΠ²Π°Π½ΠΈΡ (fill) рСгистров. АрхитСктура Itanium позволяСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ рСгистров процСссору. Π­Ρ‚ΠΎ позволяСт процСссору ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ рСгистровыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ стСпСни ILP.

АрхитСктура Itanium обСспСчиваСт Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΊΠ°ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ инструкций, подсказки (hint) ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΡΡˆ-подсказки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ компилятору ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ процСссору ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ° компиляции. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, это позволяСт ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для руководства устройствами процСссора, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ связанных с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΠΊΡΡˆ-ΠΏΡ€ΠΎΠΌΠ°Ρ…Π°ΠΌΠΈ.

Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства Π΄ΠΎ Ρ„актичСского выполнСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.

КаТдая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²ΡƒΡ…Π±ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ кэш-подсказки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ компилятор ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ прСдсказания пространствСнного ΠΈ / ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ мСстополоТСния области памяти, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Itanium, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для опрСдСлСния полоТСния строк кэша Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ кэша для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ использования. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ оТидаСтся, Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ кэш-ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ.

1.5 Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ

БущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° спСкулятивности: ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ. Π’ ΠΎΠ±ΠΎΠΈΡ… спСкулятивностях компилятор, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ILP, запускаСт дСйствиС Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈ ΡƒΡΡ‚раняя врСмя оТидания этого дСйствия для критичСского ΠΏΡƒΡ‚ΠΈ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ запустит дСйствиС спСкулятивно, Ссли ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΠΎΠ½Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ спСкуляция Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³ΠΎΠ΄Π½Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄Π²Π° условия: (1) это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ статистичСски достаточно часто, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ потрСбуСтся восстановлСниС, Π±Ρ‹Π»Π° ΠΌΠ°Π»Π° ΠΈ (2) запуск ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ILP-ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ — это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² для компилятора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ статистичСский ILP, ΠΏΡƒΡ‚Π΅ΠΌ совмСщСния, ΠΈ ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ допустимости Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ

Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ — это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π²Π΅Ρ‚Π²ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°:

if (a>b) load (ld_addr1,target1)

else load (ld_addr2,target2)

Если опСрация load (ld_addr1,target1) Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ (a>b), Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π±ΡƒΠ΄Π΅Ρ‚ спСкулятивной ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ (a>b). ΠŸΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ опСрация load (ld_addr1,target1) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ выполнится, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π½Π΅Ρ‚. Если новая спСкулятивная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ явится ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли (a>b). Когда компилятор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΏΠ΅ΠΊΡƒΠ»ΡΡ†ΠΈΡŽ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, ΠΎΠ½ ΠΎΡΡ‚авляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ мСстС. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° провСряСт, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΅ΡΠ»ΠΈ Π΄Π°, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡƒ (recovery) ΠΊΠΎΠ΄Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ² прСобразуСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

/* Π΄ΠΎ ΠΊΡ€ΠΈΡ‚ичСского ΠΏΡƒΡ‚ΠΈ */

sload (ld_addr1,target1)

sload (ld_addr2,target2)

/* ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… target1/target2 */

if (a>b) scheck (target1, recovery_addr1)

else scheck (target2, recovery_addr2)

Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ

Π‘ΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ — это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ Π΄ΠΎ ΡΠΎΡ…ранСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΎ Π΅ΠΌΡƒ, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π΅. БпСкулятивная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся ΠΊΠ°ΠΊ «ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°» («advanced load»). Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°:

store (st_addr, data)

load (ld_addr, target)

use (target)

ΠŸΡ€ΠΎΡ†Π΅ΡΡ опрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ вычислСния Π²Π·Π°ΠΈΠΌΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ обращСниями ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ называСтся снятиСм нСопрСдСлСнности (disambiguated). Если Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ снята Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ st_addr ΠΈ ld_addr, ΠΈ Π΅ΡΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ€Π°Π½Π΅Π΅ сохранСния, Ρ‚ΠΎ ΡΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ спСкулятивная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сохранСния. Если адрСса памяти Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°, Ρ‚ΠΎ ΡΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ивная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… запущСнная Ρ€Π°Π½ΡŒΡˆΠ΅ сохранСния, Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ запускС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ послС сохранСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ со ΡΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° компилятор спСкулятивно Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ мСсто Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вставляСтся инструкции ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° провСряСт, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π»ΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅ΡΠ»ΠΈ это Ρ‚Π°ΠΊ, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚ся ΠΊ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ² прСобразуСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

/* Π΄ΠΎ ΠΊΡ€ΠΈΡ‚ичСского ΠΏΡƒΡ‚ΠΈ */

aload (ld_addr, target)

/* ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… target */

store (st_addr, data)

acheck (target, recovery_addr)

use (target)

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ

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

Рассмотрим ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π±Π΅Π· ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ²

r1 = r2 + r3

Ссли Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄

if (p5) r1 = r2 + r3

Π’ ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€5 являСтся условиСм (ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠΌ) управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ — Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ эта инструкция Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ условия — истина, Ρ‚ΠΎ ΠΈΠ½ΡΡ‚рукция ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ состояниС. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½Π° эквивалСнта NOP. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ — это значСния Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ сравнСния.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ устраняСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ компилятору ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡƒΡ‚Π΅ΠΌ прСвращСния зависимости ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ. ΠŸΡƒΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ исходный ΠΊΠΎΠ΄:

if (a>b) c = c + 1

else d = d * e + f

МоТно ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΏΡƒΡ‚Π΅ΠΌ прСвращСния ΠΊΠΎΠ΄Π° Π² ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄:

pT, pF = compare (a>b)

if (pT) c = c + 1

if (pF) d = d * e + f

Если условиС Π±ΡƒΠ΄Π΅Ρ‚ истинным, Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Ρ€Π’ Π±ΡƒΠ΄Π΅Ρ‚ установлСн Π² 1, ΠΈΠ½Π°Ρ‡Π΅ — Π² 0. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ pF ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ€Π’. Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π² ΠΈΠ½ΡΡ‚рукциях c = c + 1 ΠΈ d = d * e + f выраТСнная Π² ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ (a>b) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, прСобразуСтся Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π’ ΠΈ pF, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ compare(a>b), Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ликвидируСтся. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ инструкции с Ρ€Π’ ΠΈ pF Π΄Π»Ρ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния. Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ имССтся нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² инструкций сравнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Π½Π΅Ρ€Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ бСзусловноС сравнСниС ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ сравнСниС.

1.6 Π‘Ρ‚Π΅ΠΊ рСгистров

АрхитСктура Itanium ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚, Ссли это Π½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ заполнСния ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΊΠΈ рСгистров ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ интСрфСйс Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ управляСмоС компилятором. Π’ ΡƒΠ·Π»Π΅ Π²Ρ‹Π·ΠΎΠ²Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ рСгистров оказываСтся доступным для Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±Π΅Π· нСобходимости сливания (spill) ΠΈ Π·Π°Π»ΠΈΠ²Π°Π½ΠΈΡ (fill) рСгистров (ΠΊΠ°ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ). Доступ ΠΊ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°ΠΌ осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ пСрСимСнования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… рСгистров Π² ΠΈΠ½ΡΡ‚рукциях, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°Π±ΠΎΡ€ рСгистров Π² Ρ„изичСскиС рСгистры. Вызванная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ доступныС рСгистры, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΡΡΡŒ ΠΎ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ рСгистров Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Вызванная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выполняСт ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ alloc, задавая количСство рСгистров, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½Π° собираСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ доступно достаточно рСгистров. Если достаточноС количСство рСгистров нСдоступно (overflow — Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ стСка), Ρ‚ΠΎ alloc останавливаСт процСссор ΠΈ ΡΠ»ΠΈΠ²Π°Π΅Ρ‚ рСгистры Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ доступно Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство рСгистров.

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

1.7 ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ нСсколько ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… прСдсказаний ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΡΡ‚оимости ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… прСдсказаний ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². Π­Ρ‚ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ способы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ компилятор ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ процСссору ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ адрСса ΠΈ ΠΌΠ΅ΡΡ‚Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ попытаСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ — динамичСски ΠΈΠ»ΠΈ статичСски. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ структур прСдсказания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°, обСспСчивая Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ прСдсказаниС, Π΄Π°ΠΆΠ΅ Ссли сталкиваСтся с ΡΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·. Π­Ρ‚ΠΎ являСтся прСимущСством для бСзусловных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π² ΡΠΈΡ‚уациях, Π³Π΄Π΅ компилятор ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°.

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

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

1.8 Ротация рСгистров

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

1.9 АрхитСктура Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

АрхитСктура Itanium Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠΎΠ»Π½ΠΎΠΉ IEEE ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ для ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ, Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ (80-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ) Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. КоС-Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ объСдинСнная опСрация умноТСния ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ° ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡƒΠΌΠ°, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° рСгистров с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ большим, Ρ‡Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ памяти с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. ЗадаСтся 128 рСгистров с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Из Π½ΠΈΡ… 96 рСгистров ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€ΠΎΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ (Π½Π΅ ΡΡ‚Π΅ΠΊΠΎΠ²Ρ‹ΠΌΠΈ) ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ планирования Ρ†ΠΈΠΊΠ»ΠΎΠ². ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ рСгистров состояния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ обСспСчиваСт ΡΠΏΠ΅ΠΊΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

АрхитСктура Itanium ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ FP инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π΄Π²ΡƒΠΌΡ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌΠΈ числами ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ FP рСгистрС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ. Π­Ρ‚ΠΈ инструкции сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для FP чисСл ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности, ΠΏΡ€ΠΈ этом увСличивая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ.

1.10 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°

АрхитСктура Itanium ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ рСгистрам ΠΊΠ°ΠΊ ΠΊ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌ элСмСнтов: восьми 8-Π±ΠΈΡ‚Π½Ρ‹ΠΌ, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌ ΠΈ Π΄Π²ΡƒΠΌ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌ. Π­Ρ‚ΠΈ инструкции ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Они ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для создания высокоскоростных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия/распаковки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΈ Π°ΡƒΠ΄ΠΈΠΎ-прилоТСниями. ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° инструкции Itanium совмСстимы сСмантичСски с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ MAX-2 Ρ„ΠΈΡ€ΠΌΡ‹ НР, Π° Ρ‚Π°ΠΊΠΆΠ΅ c ΠΈΠ½ΡΡ‚рукциями Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ММΠ₯ ΠΈ SSE Ρ„ΠΈΡ€ΠΌΡ‹ Intel.

1.11 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΌΠΎΠ΄Π΅Π»ΠΈ мноТСствСнного адрСсного пространства

НаиболСС соврСмСнныС коммСрчСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ модСль мноТСствСнного адрСсного пространства (Multiple Address Space — MAS) со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ характСристиками:

Π—Π°Ρ‰ΠΈΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами поддСрТиваСтся ΠΏΡƒΡ‚Π΅ΠΌ помСщСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ процСсса Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ адрСсноС пространство. Π‘ΡƒΡ„Π΅Ρ€Π° трансляции адрСсов (Translation Look-aside Buffers — TLB), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят соотвСтствиС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ„изичСских адрСсов часто Π½ΡƒΠΆΠ½ΠΎ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ контСкста процСсса.

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы MAS агрСссивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ псСвдонимы для размСщСния схСмы физичСской памяти Π² Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС мноТСства процСссов. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ псСвдонимы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Ρ‹ Π² TLB для ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ физичСских Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π΅ΠΌ самым, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ TLB.

МодСль MAS поддСрТиваСтся ΠΏΡƒΡ‚Π΅ΠΌ раздСлСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ адрСсного пространства Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ². Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ области связанныС с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ‚Π΅Π³ΠΎΠ²ΠΎΠΉ трансляции для Π΄Π°Π½Π½ΠΎΠ³ΠΎ адрСсного пространства. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ процСсса, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π΅Π³ΠΈΠΎΠ½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ трансляций ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… процСссу, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, устраняя сбросы TLB. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ индСксированных ΠΊΡΡˆΠ°Ρ… ΠΈ TLB. Π Π΅Π³ΠΈΠΎΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ эффСктивноС объСдинСниС ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ областСй ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами, ΠΏΡ€ΠΈ сокращСнии образования Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… псСвдонимов.

Для проСктирования 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΡΡ‚ΠΈΠ»ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ адрСсным пространством (single address space — SAS) являСтся основным. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ большиС, слоТныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ подсистСмы, SAS Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° становится Π²Π°ΠΆΠ½Ρ‹ΠΌ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… систСмах. SAS ΠΈΠ»ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ (hybrid) ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠ΅ срСды ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств.

Π’ ΠΎΠ±Π΅ΠΈΡ… модСлях ΠΈ Π² SAS, ΠΈ Π² MAS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²Π° доступа страничного уровня Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚Ρƒ, хотя Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€Π° свойств для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π°. Π’ Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… свойств ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ»ΡŽΡ‡ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π΅Π΄ΠΈΠ½ΠΎΠ΅ глобальноС адрСсноС пространство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ срСды.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… свойств. Атрибуты памяти, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, ΠΊΠΎΠ³Π΅Ρ€Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ кэша ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡŒ упорядочивания памяти, всС вмСстС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ для обСспСчСния эффСктивного раздСлСния Π² ΠΌΡƒΠ»ΡŒΡ‚ипроцСссорной срСдС. ΠšΡ€ΠΎΠΌΠ΅ этого, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Itanium позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ, ошибок ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ вмСстС с Π»Π΅Π³ΠΊΠΈΠΌΠΈ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ (light-weight domain crossings). Анализу ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

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

2. Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда

2.1 Бостав ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… рСгистров

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ доступСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список рСгистров:

Β· General Registers (GRs) — основныС рСгистры прСдставлСны рСгистровым Ρ„Π°ΠΉΠ»ΠΎΠΌ GR0-GR127. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ инструкций IA-32, цСлочислСнныС ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ рСгистры IA-32 содСрТатся Π² GR8-GR31.

Β· Floating-point Registers (FRs) — рСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ» FR0-FR127. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ инструкций IA-32, рСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Ρ‹ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° IA-32 содСрТатся Π² FR8-FR31.

Β· Predicate Registers (PRs) — ΠΎΠ΄Π½ΠΎΠ±ΠΈΡ‚Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры PR0-PR63, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ.

Β· Branch Registers (BRs) — рСгистры ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ (branching), BR0-BR7.

Β· Instruction Pointer (IP) — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ инструкции — рСгистр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит адрСс связки Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ выполняСмой инструкции, Π»ΠΈΠ±ΠΎ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ адрСс для инструкции IA-32.

Β· Current Frame Marker (CFM) — ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° — описываСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ стСка основных рСгистров ΠΈ FR/PR Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ.

Β· Application Registers (ARs) — ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ рСгистры — Π½Π°Π±ΠΎΡ€ рСгистров ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния.

Β· Performance Monitor Data Registers (PMD) — РСгистры Π΄Π°Π½Π½Ρ‹Ρ… для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Β· User Mask (UM) — маска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ — устанавливаСт ΠΎΠ΄Π½ΠΎΠ±ΠΈΡ‚Π½Ρ‹Π΅ значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для настройки Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΡ Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ рСгистров с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Β· Processor Identifiers (CPUID) — ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ процСссора — рСгистры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ свойства зависящиС ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссора.

Бостав ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… рСгистров IA-32, Π² Ρ†Π΅Π»ΠΎΠΌ, содСрТится Π²Π½ΡƒΡ‚Ρ€ΠΈ большого Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… рСгистров Itanium ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅Π½ инструкциям Itanium. Но ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ IA-32, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступа ΠΊ Π½Π°Π±ΠΎΡ€Ρƒ рСгистрам Itanium.

Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ рСгистры ΠΈ ΠΏΠΎΠ»Ρ

РСгистры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, Π»ΠΈΠ±ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ рСгистру вызываСтся ошибка «Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Π°Ρ опСрация». Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ рСгистра Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ноль. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ рСгистр, Π½ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ эту запись. Π’ Π½Π°Π±ΠΎΡ€Π°Ρ… рСгистров измСняСмого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, рСгистры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ процСссорС, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ. ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… рСгистров ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΎΡˆΠΈΠ±ΠΊΠ΅ «Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр/ΠΏΠΎΠ»Π΅». Если Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… рСгистров Π΅ΡΡ‚ΡŒ поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ поля ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, Π»ΠΈΠ±ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ноль. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° всСгда Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½ΡƒΠ»ΠΈ Π² ΡΡ‚ΠΈ поля. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, ΠΏΡ€ΠΈ записи Π² Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π½Π΅ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ значСния Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° ошибка «Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр/ΠΏΠΎΠ»Π΅». Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π° всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0 (Ссли Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΈΠ½ΠΎΠ΅). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ эту запись. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ поля IA-32, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ.

Π’Π°Π±Π»ΠΈΡ†Π° 2.1. ΠΎΠ±ΠΎΠ±Ρ‰Π°Π΅Ρ‚, ΠΊΠ°ΠΊ процСссор Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ полям.

Π’Π°Π±Π»ΠΈΡ†Π° 2.1 — РСакция Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… рСгистров ΠΈ ΠΏΠΎΠ»Π΅ΠΉ

Π’ΠΈΠΏ

Π§Ρ‚Π΅Π½ΠΈΠ΅

Π—Π°ΠΏΠΈΡΡŒ

Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½.

РСгистр

Π’Ρ‹Π·ΠΎΠ² ошибки «Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Π°Ρ опСрация»

ПолС

ΠŸΡ€ΠΈ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ записи вызываСтся ошибка «Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр/ΠΏΠΎΠ»Π΅»

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ.

РСгистр

Π—Π°ΠΏΠΈΡΡŒ игнорируСтся

ПолС

0 (Ссли ΠΈΠ½ΠΎΠ΅ Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ)

Π—Π°ΠΏΠΈΡΡŒ игнорируСтся

Если рСгистр ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅Π³ΠΎ поля ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° всСгда Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ значСния Π² Ρ‚Π°ΠΊΠΈΠ΅ поля. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, запись Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ значСния Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр/ΠΏΠΎΠ»Π΅». НСкоторыС рСгистры ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌΠΈ. Π—Π°ΠΏΠΈΡΡŒ Π² Ρ‚Π°ΠΊΠΎΠΉ рСгистр Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π—апрСщСнная опСрация».

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

Β· НС Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΡΠΎΡΡ‚ояния Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. ΠœΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ содСрТимого.

Β· НС Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΡΠΎΡΡ‚ояния Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΈ сохранСнии Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ рСгистр.

Β· НС Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΠΈ сохранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ записанной Π² Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ поля.

Β· Π“Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ поля значСниями, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ считанными ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ рСгистра, Π»ΠΈΠ±ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΡ… Π½ΡƒΠ»ΡΠΌΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСгистры

Набор ΠΈΠ· 128 (64-Π±ΠΈΡ‚Π½Ρ‹Ρ…) рСгистров обСспСчиваСт Π³Π»Π°Π²Π½Ρ‹ΠΉ рСсурс для всСх цСлочислСнных ΠΈ ΠΌΡƒΠ»ΡŒΡ‚имСдиацСлочислСнных вычислСний. Они ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ GR0 Π΄ΠΎ GR127 ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π²ΡΠ΅Ρ… уровнях ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ основной рСгистр ΠΈΠΌΠ΅Π΅Ρ‚ 64 Π±ΠΈΡ‚Π° для хранСния Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… плюс Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΡ‚ NaT (Not a Thing), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отслСТивания ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… спСкулятивных ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСгистры Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π΄Π²Π° подмноТСства. РСгистры ΠΎΡ‚ 0 Π΄ΠΎ 31 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ статичСскими основными рСгистрами. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, GR0 сдСлан Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся исходным ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, Ρ‚ΠΎ Π²ΡΠ΅Π³Π΄Π° читаСтся ΠΊΠ°ΠΊ ноль, Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° записи Π² GR0 Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π—апрСщСнная опСрация». ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСгистры с 32 ΠΏΠΎ 127 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ стСковыми основными рСгистрами. Π‘Ρ‚Π΅ΠΊΠΎΠ²Ρ‹Π΅ рСгистры Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ доступными для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠΊΠ½Π° рСгистрового стСка содСрТащСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ количСство Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… рСгистров. Части рСгистрового стСка ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹ для ускорСния Ρ†ΠΈΠΊΠ»ΠΎΠ². Π‘ΠΌ. Ρ€Π°Π·Π΄Π΅Π» 4.5.1 «ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ²».

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСгистры ΠΎΡ‚ 8 Π΄ΠΎ 32 содСрТат рСгистры IA-32 — цСлочислСнныС, сСлСкторы ΠΈ Π΄Π΅ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΡ€Ρ‹ сСгмСнтов.

РСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

Набор ΠΈΠ· 128 (82-Π±ΠΈΡ‚Π½Ρ‹Ρ…) рСгистров с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для всСх вычислСний с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Они ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ FR0 Π΄ΠΎ FR127 ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π²ΡΠ΅Ρ… уровнях ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. РСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π΄Π²Π° подмноТСства. РСгистры ΠΎΡ‚ 0 Π΄ΠΎ 31 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ статичСскиС рСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, FR0 ΠΈ FR1 ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈ использовании Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ исходного ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, FR0 всСгда читаСтся ΠΊΠ°ΠΊ +0.0, Π° FR1 всСгда читаСтся ΠΊΠ°ΠΊ +1.0. Если любой ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ся ошибка. ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ спСкулятивныС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСгистрового значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся NaTVal (Not a Thing Value).

РСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΡ‚ 32 Π΄ΠΎ 127 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€ΠΎΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ рСгистрами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π­Ρ‚ΠΈ рСгистры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹ для ускорСния Ρ†ΠΈΠΊΠ»ΠΎΠ².

РСгистры с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΡ‚ 8 Π΄ΠΎ 32 содСрТат рСгистры IA-32 — с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры

Набор ΠΈΠ· 64 (1-Π±ΠΈΡ‚Π½Ρ‹Ρ…) ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Ρ… рСгистров ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² инструкций сравнСния. Π­Ρ‚ΠΈ рСгистры ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ PR0 Π΄ΠΎ PR63 ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π²ΡΠ΅Ρ… уровнях ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Π­Ρ‚ΠΈ рСгистры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для условного выполнСния инструкций.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π΄Π²Π° подмноТСства. ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры ΠΎΡ‚ 0 Π΄ΠΎ 15 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ статичСскиС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, ΠΏΡ€ΠΈ использовании Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ исходного ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° PR0 всСгда читаСтся ΠΊΠ°ΠΊ 1, Π° ΠΏΡ€ΠΈ использовании Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ игнорируСтся. БтатичСскиС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΡƒΡΠ»ΠΎΠ²Π½ΠΎΠΌ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры с 16 ΠΏΠΎ 63 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€ΠΎΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π½Ρ‹Π΅ рСгистры. Π­Ρ‚ΠΈ рСгистры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹ для ускорСния Ρ†ΠΈΠΊΠ»ΠΎΠ².

РСгистры ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²

Набор ΠΈΠ· 8 (64-Π±ΠΈΡ‚Π½Ρ‹Ρ…) рСгистров ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ. Они ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ BR0 Π΄ΠΎ BR7 ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π²ΡΠ΅Ρ… уровнях ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Π­Ρ‚ΠΈ рСгистры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… адрСсов ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΈ нСпрямых ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ….

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ инструкций

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ инструкций (IP) Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСс связки содСрТащСй Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. Π­Ρ‚ΠΎΡ‚ рСгистр ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ прямо с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции mov ip. ΠŸΡ€ΡΠΌΠ°Ρ запись Π² IP Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π½ΠΎ ΠΎΠ½ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ся послС выполнСния инструкций ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Π² Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ связки инструкций ΡΠ²Π»ΡΡŽΡ‚ΡΡ 16-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ 16-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅, Ρ‚ΠΎ Π² ΠΌΠ»Π°Π΄ΡˆΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±ΠΈΡ‚Π°Ρ… IP всСгда содСрТатся Π½ΡƒΠ»ΠΈ. Π‘ΠΌ. Ρ€Π°Π·Π΄Π΅Π» 3.3 «ΠžΠ±Π·ΠΎΡ€ кодирования инструкций». ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π° инструкций IA-32, IP ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ выполняСмой инструкции IA-32, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ нулями Π΄ΠΎ 64 Π±ΠΈΡ‚. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ IA-32 Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ Π±Π°ΠΉΡ‚Π°, поэтому младшиС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π±ΠΈΡ‚Π° IP ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для выполнСния инструкций IA-32.

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ рСгистры

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

Π’Π°Π±Π»ΠΈΡ†Π° 2.2 — ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ рСгистры

РСгистр

Имя

ОписаниС

ВИУ

AR0−7

KR0−7*

РСгистры ядра (Kernel) 0−7

M

AR8−15

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR16

RSC

РСгистр ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ стСка рСгистров

M

AR17

BSP

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ памяти (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния)

M

AR18

BSPSTORE

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ памяти для сохранСний памяти

M

AR19

RNAT

Π‘Π±ΠΎΡ€Π½Ρ‹ΠΉ рСгистр NaT ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° RSE

M

AR20

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR21

FCR

РСгистр управлСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для IA-32

M

AR22, 23

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR24

EFLAG**

РСгистр Ρ„Π»Π°Π³ΠΎΠ² для IA-32

M

AR25

CSD

ДСскриптор сСгмСнта ΠΊΠΎΠ΄Π° для IA-32

M

AR26

SSD

ДСскриптор сСгмСнта стСка для IA-32

M

AR27

CFLG*

РСгистр, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ CR0 ΠΈ CR4 для IA-32

M

AR28

FSR

РСгистр состояния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для IA-32

M

AR29

FIR

РСгистр инструкций с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для IA-32

M

AR30

FDR

РСгистр Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для IA-32

M

AR31

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR32

CCV

РСгистр значСния сравнСния ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°

M

AR33−35

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR36

UNAT

Π‘Π±ΠΎΡ€Π½Ρ‹ΠΉ рСгистр NaT ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

M

AR37−39

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR40

FPSR

РСгистр состояния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

M

AR41−43

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR44

ITC

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

M

AR45−47

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

M

AR48−63

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ

M / I

AR64

PFS

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС

I

AR65

LC

РСгистр счСтчика Ρ†ΠΈΠΊΠ»ΠΎΠ²

I

AR66

EC

РСгистр счСтчика эпилогов

I

AR67−111

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

I

AR112−127

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ

M / I

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ рСгистры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ устройствам Ρ‚ΠΎΠ»ΡŒΠΊΠΎ M, Π»ΠΈΠ±ΠΎ I. Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ рСгистры ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для совмСстимости свСрху Π²Π½ΠΈΠ· с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ.

Kernel Registers. Π’ΠΎΡΠ΅ΠΌΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… рСгистров ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΈ рСгистры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹ Π½Π° Π»ΡŽΠ±ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π½ΠΎ Π·Π°ΠΏΠΈΡΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли выполняСтся Π½Π°Π±ΠΎΡ€ инструкция IA-32, Ρ‚ΠΎ KR0-KR2 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСгистров состояния IA-32.

Register Stack Configuration Register. РСгистр ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ — это 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для управлСния Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° стСка рСгистров (Register Stack Engine — RSE). Π€ΠΎΡ€ΠΌΠ°Ρ‚ RSC прСдставлСн Π½Π° Ρ€ΠΈΡ. 2.3, Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ входящих Π² Π΅Π³ΠΎ состав Π΄Π°Π½ΠΎ Π² Ρ‚Π°Π±Π». 2.4. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ RSC, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ уровня ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡΡ‚Π°Π» Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ выполняСмый процСсс.

Π’Π°Π±Π»ΠΈΡ†Π° 2.3 — ОписаниС ΠΏΠΎΠ»Π΅ΠΉ RSC

ПолС

Π‘ΠΈΡ‚Ρ‹

ОписаниС

mode

1:0

Π Π΅ΠΆΠΈΠΌ RSE — Π·Π°Π΄Π°Π΅Ρ‚, насколько агрСссивно RSE сохраняСт ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΊΠ½Π° рСгистров. Π—Π°Π΄Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ установок.

Набор Π±ΠΈΡ‚ΠΎΠ²

Π Π΅ΠΆΠΈΠΌ RSE

Π‘ΠΈΡ‚0: Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

Π‘ΠΈΡ‚1: Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ запоминания

0 0

Π›Π΅Π½ΠΈΠ²ΠΎΠ΅ слСТСниС

Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π°

Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π°

1 0

Π˜Π½Ρ‚Π΅Π½ΡΠΈΠ²Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°

Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π°

0 1

Π˜Π½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅

Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π°

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°

1 1

ΠΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°

pr

2:3

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ RSE. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π²ΠΎΡΡΡ‚ановлСния, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ RSE, Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π½Π° ΡΡ‚ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ

bl

Π Π΅ΠΆΠΈΠΌ упорядочивания (endian). Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π²ΠΎΡΡΡ‚ановлСния, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ RSE, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ для упорядочивания Π±Π°ΠΉΡ‚ (0: ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ; 1: ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ)

14:5

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

loadrs

29:15

Дистанция Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ RSE Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ loadrs для синхронизации RSE ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π°

63:30

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

RSE Backing Store Pointer. ЯвляСтся 64-Π±ΠΈΡ‚Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ рСгистром. Он ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ адрСс мСста Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, Π³Π΄Π΅ находится мСсто хранСния для GR32 Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ стСковом ΠΎΠΊΠ½Π΅.

Backing Store Pointer for Memory Stores. ЯвляСтся 64 Π±ΠΈΡ‚Π½Ρ‹ΠΌ рСгистром. Он ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ адрСс мСста Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, ΠΊΡƒΠ΄Π° RSE Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

RSE NaT Collection Register. ЯвляСтся 64 Π±ΠΈΡ‚Π½Ρ‹ΠΌ рСгистром, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ RSE для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ хранСния NaT Π±ΠΈΡ‚ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ основныС рСгистры. Π‘ΠΈΡ‚ 63 всСгда читаСтся ΠΊΠ°ΠΊ 0 ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ся ΠΏΡ€ΠΈ записи.

Compare and Exchange Value Register. ЯвляСтся 64 Π±ΠΈΡ‚Π½Ρ‹ΠΌ рСгистром, содСрТащим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сравнСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ исходный ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π² Itanium инструкции cmpxchg.

Floating-point Status Register. Π­Ρ‚ΠΎΡ‚ рСгистр управляСт Π»ΠΎΠ²ΡƒΡˆΠΊΠ°ΠΌΠΈ, Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ округлСния, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ„Π»Π°Π³Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ для инструкций Itanium с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. РСгистр FPSR Π½Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ состояниС инструкций IA-32 с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅ см. Ρ€Π°Π·Π΄Π΅Π» «Π Π΅Π³ΠΈΡΡ‚Ρ€ состояния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ».

Interval Time Counter. Π­Ρ‚ΠΎ 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подсчитываСт количСство «Ρ‚ΠΈΠΊΠΎΠ²» частоты процСссора. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ прямо ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ITC для вычислСний связанных со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π΄Π»Ρ измСрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. БистСмныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ доступ ΠΊ ΠΏΠΎΠ΄ΡΡ‡Π΅Ρ‚Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ закрытия, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ITC с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ Π±Ρ‹Π» Ρƒ Π·Π°ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «ΠŸΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр». РСгистр ITC ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ большСм ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Π˜ΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ Π² IA-32 рСгистр TSC (Time Stamp Counter), являСтся эквивалСнтом ITC. РСгистр ITC ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прямо ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IA-32 инструкции rdtsc (read time stamp counter). БистСмныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ITC для Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ IA-32 доступа. Π’ ΡΡ‚ΠΎΠΌ случаС, IA-32 Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ITC с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ Π±Ρ‹Π» Ρƒ Π·Π°ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ IA-32 ΠΎΡˆΠΈΠ±ΠΊΡƒ GP (General Protection).

Previous Function State. РСгистр PFS содСрТит нСсколько ΠΏΠΎΠ»Π΅ΠΉ: ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° (previous frame marker — pfm), счСтчик ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ эпилога (previous epilog count — pec), ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (previous privilege level — ppl). Для ускорСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅, эти значСния ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски ΠΈΠ· Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° CFM, ΠΈΠ· Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π° EC, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ· ΠΏΠΎΠ»Ρ PSR. cpl (Current Privilege Level in the Processor Status Register).

Если Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ br. call ΠΈΠ»ΠΈ brl. call, Ρ‚ΠΎ CFM, EC ΠΈ PSR. cpl ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² PFS, Π° ΡΡ‚Π°Ρ€ΠΎΠ΅ содСрТимоС PFS ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚. Если выполняСтся br. ret, Ρ‚ΠΎ PFS копируСтся Π² CFM ΠΈ EC. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ PFS. ppl копируСтся Π² PSR. cpl Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΏΡ€ΠΈ этом увСличится ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ПолС PFS. pfm ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ структуру, ΠΊΠ°ΠΊ Ρƒ CFM, Π° ΠΏΠΎΠ»Π΅ PFS. pec ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ структуру, ΠΊΠ°ΠΊ Ρƒ EC.

Π’Π°Π±Π»ΠΈΡ†Π° 2.4 — ОписаниС ΠΏΠΎΠ»Π΅ΠΉ рСгистра PFS

ПолС

Π‘ΠΈΡ‚Ρ‹

ОписаниС

pfm

37:0

ΠœΠ°Ρ€ΠΊΠ΅Ρ€ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° (previous frame marker)

51:38

Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

pec

57:52

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ эпилога (previous epilog count)

61:58

Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

ppl

63:62

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (previous privilege level)

Loop Counter Register. LC — это 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΡΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°Ρ…. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ LC ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… Ρ‚ΠΈΠΏΠ° счСтный Ρ†ΠΈΠΊΠ».

Epilog Counter Register. EC — это 6-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для подсчСта Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стадий (эпилогов) Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ†ΠΈΠΊΠ»Π°Ρ….

РСгистры Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (PMD)

Performance Monitor Data Registers. Набор рСгистров Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ доступным Π½Π° Π²ΡΠ΅Ρ… уровнях ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ прямо Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ, Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ счСтчики ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ноль, нСсмотря Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ большСм ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ любого Π½Π°Π±ΠΎΡ€Π° инструкций ΠΈ Itanium, ΠΈ IA-32.

Маска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (UM)

User Mask. Маска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ — это доступноС для всСх ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ подмноТСство рСгистра состояния процСссора (Processor Status Register). Маска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ управляСт Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ доступной памяти, Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ упорядочиваниСм ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ записываСтся модификация состояний рСгистров с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Π’Π°Π±Π»ΠΈΡ†Π° 2.5 — ОписаниС ΠΏΠΎΠ»Π΅ΠΉ маски ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ПолС

Π‘ΠΈΡ‚

ОписаниС

reserv

Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

be

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ (управляСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π½Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠΎΠΌ RSE памяти)

0: обращСния дСлаСтся ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ

1: обращСния дСлаСтся ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π­Ρ‚ΠΎΡ‚ Π±ΠΈΡ‚ игнорируСтся ΠΏΡ€ΠΈ доступС ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° IA-32. Бсылки Π΄Π°Π½Π½Ρ‹Ρ… IA-32 всСгда Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ.

up

Доступ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ IA-32)

0: ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

1: ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ доступСн ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

ac

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выравнивания для ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ IA-32)

0: Π½Π΅ Π²Ρ‹Ρ€Π°Π²Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π‘сылка Π½Π° Π½Π΅ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅»

1: всС, Π½Π΅ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹Π΅ обращСния ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ памяти, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π‘сылка Π½Π° Π½Π΅ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅»

mfl

Π—Π°ΠΏΠΈΡΡŒ ΠΌΠ»Π°Π΄ΡˆΠΈΡ… (f2…f31) рСгистров с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π­Ρ‚ΠΎΡ‚ Π±ΠΈΡ‚ устанавливаСтся Π² 1, Ссли Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° Itanium инструкция, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ рСгистр f2… f31 Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°. Π­Ρ‚ΠΎΡ‚ Π±ΠΈΡ‚ замСщаСтся ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎ очищаСтся ΠΏΡ€ΠΈ явной записи маски ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Об ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ…, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… этот Π±ΠΈΡ‚ устанавливаСтся инструкциями IA-32, см. Ρ€Π°Π·Π΄Π΅Π» 3.3.2 Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΎΠΌΠ°.

mfh

Π—Π°ΠΏΠΈΡΡŒ ΡΡ‚Π°Ρ€ΡˆΠΈΡ… (f32…f127) рСгистров с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Π­Ρ‚ΠΎΡ‚ Π±ΠΈΡ‚ устанавливаСтся Π² 1, Ссли Itanium инструкция, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ рСгистр f32… f127 Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. Π­Ρ‚ΠΎΡ‚ Π±ΠΈΡ‚ замСщаСтся ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎ очищаСтся ΠΏΡ€ΠΈ явной записи маски ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Об ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ…, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… этот Π±ΠΈΡ‚ устанавливаСтся инструкциями IA-32, см. Ρ€Π°Π·Π΄Π΅Π» 3.3.2 Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΎΠΌΠ°.

РСгистры ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ процСссора

Processor Identification Registers. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ процСссор Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния доступна Π² Ρ„Π°ΠΉΠ»Π΅ рСгистров Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ CPUID. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» дСлится Π½Π° Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (рСгистры ΠΎΡ‚ 0 Π΄ΠΎ 4) ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (рСгистры с 5 ΠΈ Π΄Π°Π»Π΅Π΅). ПолС CPUID[3]. number ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ 8-Π±Π°ΠΉΡ‚Π½ΠΎΠ³ΠΎ рСгистра содСрТащСго ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ процСссор.

РСгистры CPUID ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ косвСнно, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции mov. ВсС рСгистры, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΠΎΠ»Π΅ CPUID[3]. number, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСгистр/ΠΏΠΎΠ»Π΅». Π—Π°ΠΏΠΈΡΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π° ΠΈ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ инструкций для Ρ‚Π°ΠΊΠΎΠ³ΠΎ дСйствия.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΏΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊΠ΅ находится Π² CPUID рСгистрах 0 ΠΈ 1, ΠΎΠ½Π° Π·Π°Π΄Π°Π΅Ρ‚ имя поставщика Π² ΠΊΠΎΠ΄Π΅ ASCII для Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСссора. ВсС Π±Π°ΠΉΡ‚Ρ‹ послС ΠΊΠΎΠ½Ρ†Π° строки ΠΈ Π΄ΠΎ 16-Π³ΠΎ Π±Π°ΠΉΡ‚Π° содСрТат Π½ΡƒΠ»ΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ASCII-символы Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ Π² Π±Π°ΠΉΡ‚Π°Ρ… с ΠΌΠ΅Π½ΡŒΡˆΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.

РСгистр CPUID[2] - это ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ рСгистр (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0).

РСгистр CPUID[3] содСрТит нСсколько ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π΅Ρ€ΡΠΈΠΈ сСмСйства для Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСссора.

Π’Π°Π±Π»ΠΈΡ†Π° 2.6 — ОписаниС ΠΏΠΎΠ»Π΅ΠΉ CPUID рСгистра 3

ПолС

Π‘ΠΈΡ‚Ρ‹

ОписаниС

number

7:0

ИндСкс наибольшСго Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ CPUID рСгистра (Π½Π° 1 мСньшС, Ρ‡Π΅ΠΌ количСство Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… CPUID рСгистров). Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅ 4.

revision

15:8

НомСр вСрсии процСссора. 8-Π±ΠΈΡ‚Π½ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ описываСт Π²Π΅Ρ€ΡΠΈΡŽ (revision) ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ (stepping) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСссора, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ΄Π΅Π»ΡŒ процСссора.

model

23:16

НомСр ΠΌΠΎΠ΄Π΅Π»ΠΈ процСссора. УникальноС 8-Π±ΠΈΡ‚Π½ΠΎΠ΅ число ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ модСль процСссора, Π½ΠΎ Π½Π΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡ‚Π²ΠΎ процСссора.

family

31:24

НомСр сСмСйства процСссора. УникальноС 8-Π±ΠΈΡ‚Π½ΠΎΠ΅ число ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сСмСйство процСссора.

archrev

39:32

ВСрсия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. 8-Π±ΠΈΡ‚Π½ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ описываСт Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ процСссор.

reserv

63:40

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

РСгистр CPUID[4] обСспСчиваСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня ΠΎ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… процСссора. Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 2.12 это обСспСчиваСтся установкой Ρ„Π»Π°Π³ΠΎΠ² Π² Π±ΠΈΡ‚Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ свойство поддСрТиваСтся Π² ΡΡ‚ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ процСссора. Если Π±ΠΈΡ‚ Π² 1, Ρ‚ΠΎ ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ поддСрТиваСтся, Ссли ΠΆΠ΅ Π±ΠΈΡ‚ Π² 0, Ρ‚ΠΎ ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ся. ОписаниС свойств Π±ΠΈΡ‚ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½ΠΎ Π² Ρ‚Π°Π±Π». 2.7. Если Π½ΠΎΠ²Ρ‹Π΅ свойства Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ (ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹) модСль свойств процСссора, Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ описания Π±ΠΈΡ‚ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… этим свойствам.

Π’Π°Π±Π»ΠΈΡ†Π° 2.7 — Поля CPUID рСгистра 4

ПолС

Π‘ΠΈΡ‚Ρ‹

ОписаниС

lb

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ инструкции Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² (brl).

reserv

63:1

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ

2.2 ΠŸΠ°ΠΌΡΡ‚ΡŒ

Π’ ΡΡ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ описываСтся, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ Itanium ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΈ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅, ΠΈ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ прилоТСния. ВмСстС с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ адрСсуСмых Π±Π»ΠΎΠΊΠΎΠ² памяти даСтся Ρ‚Π°ΠΊΠΆΠ΅ описаниС, ΠΊΠ°ΠΊ Π±Π°ΠΉΡ‚Ρ‹ упорядочСны Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅.

МодСль адрСсации ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ памяти

ΠŸΠ°ΠΌΡΡ‚ΡŒ адрСсуСтся Π±Π°ΠΉΡ‚Π°ΠΌΠΈ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Π° Ρ‡Π΅Ρ€Π΅Π· 64-Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. МодСль 32-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ указатСля Π±Π΅Π· Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° поддСрТиваСтся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ 32 Π±ΠΈΡ‚Π°, загруТаСтся ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² 64-Π±ΠΈΡ‚Π½Ρ‹ΠΉ рСгистр. ΠŸΠ΅Ρ€Π΅Π΄ использованиСм, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ 32-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² 64-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ.

АдрСсация Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅

ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступна Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊΠΎΠ² Π² 1, 2, 4, 8, 10 16 Π±Π°ΠΉΡ‚ΠΎΠ².

РСкомСндуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС адрСсуСмыС Π±Π»ΠΎΠΊΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ СстСствСнным Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ. Аппаратура ΠΈ / ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° нСкоторая потСря ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ЗначСния 10-Π±Π°ΠΉΡ‚Π½Ρ‹Ρ… чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ 16-Π±Π°ΠΉΡ‚Π½Ρ‹ΠΌ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ.

Π‘ΠΈΡ‚Ρ‹ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π»ΠΎΠΊΠ°Ρ… всСгда Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ 0 ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Ρ с ΠΌΠ»Π°Π΄ΡˆΠΈΡ… Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Π±ΠΈΡ‚ΠΎΠ². ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Π΅ рСгистры ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ сначала младшиС Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ части рСгистров (Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ значСния ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ основной рСгистр ΠΏΡ€ΠΈΠΆΠ°Ρ‚Ρ‹ΠΌΠΈ Π²ΠΏΡ€Π°Π²ΠΎ).

Бвязки инструкций (ΠΏΠΎ 3 инструкции Π² ΡΠ²ΡΠ·ΠΊΠ΅) ΡΠ²Π»ΡΡŽΡ‚ΡΡ 16-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всСгда Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ 16-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ.

УпорядочиваниС Π±Π°ΠΉΡ‚ΠΎΠ²

Π‘ΠΈΡ‚ UM. be Π² ΠΌΠ°ΡΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ управляСт Ρ‚Π΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС Π±Π°ΠΉΡ‚Ρ‹ Itanium ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ — ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ (big-endian) ΠΈΠ»ΠΈ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ (little-endian). Если Π±ΠΈΡ‚ UM. be Ρ€Π°Π²Π΅Π½ 0, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ² выполняСтся ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ (Π±Π°ΠΉΡ‚Ρ‹ с ΠΌΠ»Π°Π΄ΡˆΠΈΠΌΠΈ адрСсами памяти ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ младшим Π±Π°ΠΉΡ‚Π°ΠΌ рСгистра). Если Π±ΠΈΡ‚ UM. be Ρ€Π°Π²Π΅Π½ 1, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ² выполняСтся ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ (Π±Π°ΠΉΡ‚Ρ‹ с ΠΌΠ»Π°Π΄ΡˆΠΈΠΌΠΈ адрСсами памяти ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ Π±Π°ΠΉΡ‚Π°ΠΌ рСгистра). Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π° с Π±ΠΈΡ‚ΠΎΠΌ UM.be. Π‘ΠΈΡ‚ UM. be Π½Π΅ ΡΠ²ΡΠ·Π°Π½ с Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ инструкций, обращСниями IA-32 ΠΈΠ»ΠΈ с RSE. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ всСгда доступны процСссору Π² Π²ΠΈΠ΄Π΅ элСмСнтов выстроСнных ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ. Когда ΠΊ ΠΈΠ½ΡΡ‚рукциям ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, выстроСнным ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, инструкции Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅.

2.3 ΠžΠ±Π·ΠΎΡ€ кодирования инструкций

КаТдая инструкция классифицируСтся Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ Ρ‚ΠΈΠΏΠΎΠ²; ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ инструкции ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… устройств. Π’ Ρ‚Π°Π±Π». 2.8 Π΄Π°Π½ список Ρ‚ΠΈΠΏΠΎΠ² инструкций ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… устройств, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ выполняСтся.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ