Π‘ΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми: всички познатия ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ нСизвСстнитС ΠΏΠΎΡ‚ΡŠΠΊΠΎΠ²ΠΈ ΠΈ трасови

Π’ΡŠΠ² Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° част Π½Π° статията Π·Π° симулатори Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ° Π΄Π° Ρ€Π°Π·ΠΊΠ°Π·Π²Π°ΠΌ ΠΏΠΎ прост ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ симулатори, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π°Ρ‚Π° симулация, с която Π½Π°ΠΉ-чСсто сС сблъсква обикновСният ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π·Π° ΠΏΠΎΡ‚Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚Π° ΠΌΠΎΠ΄Π΅Π» ΠΈ трасСтата, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎ-разпространСни срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

Π‘ΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми: всички познатия ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ нСизвСстнитС ΠΏΠΎΡ‚ΡŠΠΊΠΎΠ²ΠΈ ΠΈ трасови

Π’ ΠΏΡŠΡ€Π²Π°Ρ‚Π° част Π Π°Π·ΠΊΠ°Π·Π°Ρ… ΠΊΠ°ΠΊΠ²ΠΎ прСдставляват симулаторитС ΠΊΠ°Ρ‚ΠΎ цяло, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° Π½ΠΈΠ²Π°Ρ‚Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅. Π‘Π΅Π³Π°, Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Ρ‚Π΅Π·ΠΈ знания, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π΄Π° сС ΠΏΠΎΡ‚ΠΎΠΏΠΈΠΌ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-дълбоко ΠΈ Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π°Ρ‚Π° симулация, Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° сС изградят трасСта, ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ с тях слСд Ρ‚ΠΎΠ²Π°, ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π·Π° ΠΏΠΎΡ‚Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Π° Сймулация.

ΠŸΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор (full platform simulator), ΠΈΠ»ΠΈ "Π•Π΄ΠΈΠ½ Π² ΠΏΠΎΠ»Π΅Ρ‚ΠΎ – Π½Π΅ Π΅ Π²ΠΎΠΉΠ½"

Ако Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС изслСдва Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π΅Π΄Π½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ устройство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΡ€Π΅ΠΆΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚Π°, ΠΈΠ»ΠΈ Π΄Π° сС напишС Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ ΠΈΠ»ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° Ρ‚ΠΎΠ²Π° устройство, Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° устройство ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ извън останалата инфраструктура Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π—Π° стартиранС Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ цСнтралният процСсор, ΠΏΠ°ΠΌΠ΅Ρ‚, Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ шина Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎ. ОсвСн Ρ‚ΠΎΠ²Π°, Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма (ОБ) ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ² стСк. Π’ допълнСниС към Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ.

ΠŸΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ΠΈΡΡ‚ симулатор създава срСда Π·Π° стартиранС Π½Π° цСлия софтуСрСн стСк, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° всичко, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ BIOS ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‡Π°, ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°ΠΉΠΊΠΈ с ОБ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΉ подсистСми, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰ΠΈΡ ΠΌΡ€Π΅ΠΆΠΎΠ² стСк, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, прилоТСния Π½Π° потрСбитСлско Π½ΠΈΠ²ΠΎ. Π—Π° Ρ‚ΠΎΠ²Π° Π² Π½Π΅Π³ΠΎ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ софтуСрни ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ устройства Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π°: процСсор ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚, диск, устройства Π·Π° Π²Ρ…ΠΎΠ΄ ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄ (ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, мишка, дисплСй), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΠ½Π°Π·ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚Π°.

По-Π΄ΠΎΠ»Ρƒ Π΅ прСдставСна Π±Π»ΠΎΠΊ-схСма Π½Π° чипсСта x58 ΠΎΡ‚ компания Intel. Π’ ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π΅Π½ симулатор Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Ρ‚ΠΎΠ·ΠΈ чипсСт, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ устройства, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ Π² IOH (Input/Output Hub) ΠΈ ICH (Input/Output Controller Hub), ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Π΄Π΅Ρ‚Π°ΠΉΠ»Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·Π΅Π½ΠΈ Π½Π° Π±Π»ΠΎΠΊ-схСмата. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΈΠΌΠ° доста устройства, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ софтуСра, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΡŠΠ·Π½Π°ΠΌΠ΅Ρ€ΡΠ²Π°ΠΌΠ΅ Π΄Π° стартирамС. ΠœΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° устройства ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π½Π΅ Π±ΡŠΠ΄Π°Ρ‚ създавани.

Π‘ΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми: всички познатия ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ нСизвСстнитС ΠΏΠΎΡ‚ΡŠΠΊΠΎΠ²ΠΈ ΠΈ трасови

Най-чСсто ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΈΡ‚Π΅ симулатори сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π½Π° Π½ΠΈΠ²ΠΎ процСсорни инструкции (ISA, Π²ΠΈΠΆΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° статия). Π’ΠΎΠ²Π° позволява сравнитСлно Π±ΡŠΡ€Π·ΠΎ ΠΈ Π΅Π²Ρ‚ΠΈΠ½ΠΎ създаванС Π½Π° самия симулатор. Нивото Π½Π° ISA ΡΡŠΡ‰ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ остава ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ постоянно, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° API/ABI, ΠΊΠΎΠ΅Ρ‚ΠΎ сС промСня ΠΏΠΎ-чСсто. ОсвСн Ρ‚ΠΎΠ²Π°, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ инструкции позволява стартиранС Π½Π° Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΎΡ‚ΠΎ Π½Π΅ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎ софтуСрно, тоСст стартиранС Π½Π° Π²Π΅Ρ‡Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ ΠΊΠΎΠ΄ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎΡ‡Π½ΠΎ Π² ΠΎΠ½Π°Π·ΠΈ Ρ„ΠΎΡ€ΠΌΠ°, Π² която сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° Ρ€Π΅Π°Π»Π΅Π½ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΊΠΎΠΏΠΈΠ΅ (β€žΠ΄Π°ΠΌΠΏβ€œ) Π½Π° Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск, Π΄Π° Π³ΠΎ Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π· Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° Π² ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΈΡ симулатор ΠΈ – вуаля! – ОБ ΠΈ останалитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ сС Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‚ Π² симулатора Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ дСйствия.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚ Π½Π° симулаторитС

Π‘ΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми: всички познатия ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ нСизвСстнитС ΠΏΠΎΡ‚ΡŠΠΊΠΎΠ²ΠΈ ΠΈ трасови

ΠšΠ°ΠΊΡ‚ΠΎ Π±Π΅ спомСнато ΠΏΠΎ-Π³ΠΎΡ€Π΅, самият процСс Π½Π° симулация Π½Π° цялата систСма, тоСст Π½Π° всичкитС ѝ устройства, Π΅ доста Π±Π°Π²Π΅Π½. Ако сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° всичко Ρ‚ΠΎΠ²Π° Π½Π° изцяло Π΄Π΅Ρ‚Π°ΠΉΠ»Π½ΠΎ Π½ΠΈΠ²ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ ΠΈΠ»ΠΈ логичСско, Ρ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‰Π΅ бъдС СкстрСмно Π±Π°Π²Π½ΠΎ. Нивото Π½Π° инструкциитС Π΅ подходящ ΠΈΠ·Π±ΠΎΡ€ ΠΈ позволява Π½Π° ОБ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ с скорости, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ взаимодСйствиС с тях ΠΎΡ‚ страна Π½Π° потрСбитСля.

Π’ΡƒΠΊ Π΅ умСстно Π΄Π° сС засСгнС Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° производитСлността Π½Π° симулаторитС. ОбикновСно тя сС ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Π² IPS (инструкции Π½Π° сСкунда), ΠΏΠΎ-Ρ‚ΠΎΡ‡Π½ΠΎ Π² MIPS (ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ IPS), тоСст Π² количСството инструкции Π½Π° процСсора, изпълнявани ΠΎΡ‚ симулатора Π·Π° Π΅Π΄Π½Π° сСкунда. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ скоростта Π½Π° симулацията зависи ΠΈ ΠΎΡ‚ производитСлността Π½Π° систСмата, Π½Π° която Ρ€Π°Π±ΠΎΡ‚ΠΈ самата симулация. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΅ ΠΏΠΎ-ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° "забавянС" (slowdown) Π½Π° симулатора спрямо ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° систСма.

Най-разпространСнитС Π½Π° ΠΏΠ°Π·Π°Ρ€Π° ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ симулатори, ΠΊΠ°Ρ‚ΠΎ QEMU, VirtualBox ΠΈΠ»ΠΈ VmWare Workstation, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Π° производитСлност. Π—Π° потрСбитСля ΠΌΠΎΠΆΠ΅ Π΄ΠΎΡ€ΠΈ Π΄Π° Π½Π΅ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ, Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° Π² симулатор. Π’ΠΎΠ²Π° сС дълТи Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π°Ρ‚Π° Π² процСсоритС спСциална функция Π½Π° виртуализация, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ Π·Π° Π±ΠΈΠ½Π°Ρ€Π΅Π½ транслацион ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ интСрСсни аспСкти. Всичко Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π΅ΠΌΠ° Π·Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° статия, Π½ΠΎ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ, виртуализацията Π΅ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ процСсори, която позволява Π½Π° симулаторитС Π΄Π° Π½Π΅ симулират инструкции, Π° Π΄Π° Π³ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π° изпълнСниС Π½Π° рСалния процСсор, Π°ΠΊΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈΡ‚Π΅ Π½Π° симулатора ΠΈ процСсора са сходни. Π‘ΠΈΠ½Π°Ρ€Π½Π°Ρ‚Π° транслация Π΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° гост машинСн ΠΊΠΎΠ΄ Π² хостов ΠΈ послСдващо изпълнСниС Π½Π° рСалния процСсор. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° симулацията Π΅ само ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±Π°Π²Π½Π°, с ΠΎΠΊΠΎΠ»ΠΎ 5-10 ΠΏΡŠΡ‚ΠΈ, Π° чСсто Π΄ΠΎΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ със ΡΡŠΡ‰Π°Ρ‚Π° скорост ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π°Π»Π½Π°Ρ‚Π° систСма. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ влияят Π½Π° Ρ‚ΠΎΠ²Π°. НапримСр, Π°ΠΊΠΎ искамС Π΄Π° симулирамС систСма с дСсСтки процСсори, Ρ‚ΠΎ скоростта Π²Π΅Π΄Π½Π°Π³Π° Ρ‰Π΅ Π½Π°ΠΌΠ°Π»Π΅Π΅ с Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, симулатори ΠΊΠ°Ρ‚ΠΎ Simics Π² послСднитС вСрсии ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ многопроцСсорно хостово β€žΠΆΠ΅Π»ΡΠ·ΠΎβ€œ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ разпрСдСлят симулиранитС ядра Π½Π° ядрата Π½Π° рСалния процСсор.

ΠšΠΎΠ³Π°Ρ‚ΠΎ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° скоростта Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Π°Ρ‚Π° симулация, тя ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ с няколко Ρ€Π΅Π΄Π°, ΠΎΠΊΠΎΠ»ΠΎ 1000-10000 ΠΏΡŠΡ‚ΠΈ, ΠΏΠΎ-Π±Π°Π²Π½Π° ΠΎΡ‚ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° стандартСн ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Π±Π΅Π· симулация. А Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° логичСско Π½ΠΈΠ²ΠΎ са ΠΎΡ‰Π΅ ΠΏΠΎ-Π±Π°Π²Π½ΠΈ с няколко Ρ€Π΅Π΄Π°. Π—Π°Ρ‚ΠΎΠ²Π° Π² качСството си Π½Π° Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° Ρ‚ΠΎΠ²Π° Π½ΠΈΠ²ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ FPGA, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° производитСлността.

Π“Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Π° зависимост Π½Π° скоростта Π½Π° симулация ΠΎΡ‚ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° дСтайлност Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°.

Π‘ΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми: всички познатия ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ нСизвСстнитС ΠΏΠΎΡ‚ΡŠΠΊΠΎΠ²ΠΈ ΠΈ трасови

ΠŸΠΎΡ‚Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚Π° симулация

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ относитСлно ниската скорост Π½Π° изпълнСниС, ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈΡ‚Π΅ симулатори са доста разпространСни. ΠœΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° процСсора Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° сС симулира Ρ‚ΠΎΡ‡Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° всяка инструкция. Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° възникнС Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΠ΅ - Π±ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Π»ΠΎ, Ρ‡Π΅ Π·Π°Ρ‰ΠΎ просто Π½Π΅ сС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° всяка инструкция. Но Ρ‚Π°ΠΊΡŠΠ² симулатор Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° инструкция ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π΄ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅.

Най-простият ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ инструкцията Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Ако исканата ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π² кСша, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Ρ‰Π΅ бъдС ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ. Ако Π² кСша няма информацията ("кСш пропуск", cache miss), Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‰Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° инструкцията. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Π·Π° Ρ‚ΠΎΡ‡Π½Π° симулация Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΌΠΎΠ΄Π΅Π» Π½Π° кСша. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, с ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° кСша Π½Π΅ сС ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ²Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ няма просто Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚Π΅ Π½Π΅ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² кСша. ВмСсто Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠΉ Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π΄Π° изпълнява слСдващитС инструкции, ΠΈΠ·Π±ΠΈΡ€Π°ΠΉΠΊΠΈ Ρ‚Π°ΠΊΠΈΠ²Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ зависят ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π’ΠΎΠ²Π° Π΅ Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΎΡ‚ΠΎ "изпълнСниС извън Ρ€Π΅Π΄" (OOO, out of order execution), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°Π·Π΅Π½ Ρ…ΠΎΠ΄ Π½Π° процСсора. Π’Π·Π΅ΠΌΠ°Π½Π΅Ρ‚ΠΎ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° всичко Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈ изчисляванСто Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° инструкциитС Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° процСсора. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π·ΠΈ инструкции, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ сС Ρ‡Π°ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° опСрация Π½Π° условСн ΠΏΡ€Π΅Ρ…ΠΎΠ΄. Ако Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ условиСто Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ нСизвСстСн, ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΡ†Π΅ΡΠΎΡ€ΡŠΡ‚ Π½Π΅ спира ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π° ΠΏΡ€Π°Π²ΠΈ "ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅", изпълнява ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€Π΅Π²Π΅Π½Ρ‚ΠΈΠ²Π½ΠΎ инструкциитС ΠΎΡ‚ мястото Π½Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π°. Вакъв Π±Π»ΠΎΠΊ, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ прСдсказвач Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ (branch predictor), ΡΡŠΡ‰ΠΎ трябва Π΄Π° бъдС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π² микроархитСктурния симулатор.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°Π·Π²Π° основнитС Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° процСсора, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅, Ρ‚ΠΎ Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ само Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° слоТността Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Π°Ρ‚Π° рСализация.

Π‘ΠΈΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ систСми: всички познатия ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ симулатор ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ нСизвСстнитС ΠΏΠΎΡ‚ΡŠΠΊΠΎΠ²ΠΈ ΠΈ трасови

Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° всички Ρ‚Π΅Π·ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² рСалния процСсор сС синхронизира с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° спСциални Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΈ сигнали, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случва Π² ΠΌΠΎΠ΄Π΅Π»Π°. Вакъв микропроцСсорСн симулатор сС Π½Π°Ρ€ΠΈΡ‡Π° ΠΏΠΎΡ‚Π°ΠΊΡ‚ΠΎΠ² (cycle accurate). ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΌΡƒ Ρ†Π΅Π» Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈ производитСлността Π½Π° разработвания процСсор ΠΈ/ΠΈΠ»ΠΈ Π΄Π° изчисли Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° някакъв Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊ. Ако стойноститС са ΠΏΠΎ-ниски ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅, Ρ‰Π΅ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π½Π° процСсора ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°.

ΠšΠ°ΠΊΡ‚ΠΎ бСшС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡ€Π΅, ΠΏΠΎΡ‚Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚Π° симулация Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½Π°, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ тя сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ аспСкти Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС установи Ρ€Π΅Π°Π»Π½Π°Ρ‚Π° скорост Π½Π° изпълнСниС ΠΈ Π΄Π° сС ΠΎΡ†Π΅Π½ΠΈ Π±ΡŠΠ΄Π΅Ρ‰Π°Ρ‚Π° производитСлност Π½Π° устройството, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ сС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°.

Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° симулация Π½Π° останалото Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ симулатор. Как Ρ‚Π°ΠΊΠΎΠ²Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°? ΠŸΡŠΡ€Π²ΠΎ, стартира сС функционалният симулатор, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° стартиранС Π½Π° изслСдваната ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. НиС Π½Π΅ смС заинтСрСсовани ΠΎΡ‚ самата ОБ, Π½ΠΈΡ‚ΠΎ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈ Π½Π° стартиранС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ ΠΈ Ρ‚.Π½. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° пропуснСм Ρ‚Π΅Π·ΠΈ части ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към изпълнСниС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΎΡ‚ срСдата. Π—Π°Ρ‚ΠΎΠ²Π° всички Ρ‚Π΅Π·ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ Π΅Ρ‚Π°ΠΏΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ Π½Π° функционалния симулатор. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° сС изпълни Π΄ΠΎ интСрСсуващия Π½ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΈΠΌΠ° Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. МоТС Π΄Π° сС Π·Π°ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ с ΠΏΠΎΡ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π Π΅ΠΆΠΈΠΌΡŠΡ‚ Π½Π° симулация, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ΅ΠΌΠΈΡΡ‚ ΠΊΠΎΠ΄ (Ρ‚.Π΅. ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ скомпилирани Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ), сС Π½Π°Ρ€ΠΈΡ‡Π° симулация ΠΏΠΎ изпълнСниС (execution driven simulation). Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-разпространСният Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° симулация. Π’ΡŠΠ·ΠΌΠΎΠΆΠ΅Π½ Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ – симулация Π½Π° основата Π½Π° трасс (trace driven simulation).

Бимулация Π½Π° основата Π½Π° трасс

Вя сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΄Π²Π° Π΅Ρ‚Π°ΠΏΠ°. Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ симулатор ΠΈΠ»ΠΈ Π½Π° Ρ€Π΅Π°Π»Π½Π° систСма сС ΡΡŠΠ±ΠΈΡ€Π° ΠΈ записва Π² Ρ„Π°ΠΉΠ» Π»ΠΎΠ³ Π½Π° дСйствията Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Вакъв Π»ΠΎΠ³ сС Π½Π°Ρ€ΠΈΡ‡Π° трасса (trace). Π’ зависимост ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ сС изслСдва, трассата ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° изпълнявани инструкции, адрСси Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅Ρ‚Π΅, информация Π·Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡΡ‚Π°.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ β€žΠ²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎβ€œ Π½Π° трасата, ΠΊΠΎΠ³Π°Ρ‚ΠΎ тактовият симулатор Ρ‡Π΅Ρ‚Π΅ трасата ΠΈ изпълнява всички инструкции, записани Π² нСя. Π’ края ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ характСристики Π½Π° Ρ‚ΠΎΠ·ΠΈ процСс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ Π½Π° ΠΏΠΎΠΏΠ°Π΄Π°Π½Π΅Ρ‚ΠΎ Π² кСша.

Π’Π°ΠΆΠ½ΠΎ прСдимство ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с траситС Π΅ дСтСрминираността, Ρ‚.Π΅. ΠΏΡ€ΠΈ стартиранС Π½Π° симулацията ΠΏΠΎ описания ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π½Π°Ρ‡ΠΈΠ½, ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π΅Π΄Π½Π°ΠΊΠ²Π° послСдоватСлност ΠΎΡ‚ дСйствия. Π’ΠΎΠ²Π° прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚, ΠΊΠ°Ρ‚ΠΎ сС промСнят ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° (Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ Π½Π° кСша, Π±ΡƒΡ„Π΅Ρ€ΠΈΡ‚Π΅ ΠΈ ΠΎΠΏΠ°ΡˆΠΊΠΈΡ‚Π΅) ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ настройки, Π΄Π° сС изслСдва ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ влияС Π½Π° производитСлността Π½Π° систСмата ΠΈ която опция Π΄Π°Π²Π° Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ. Всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ с ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° Π½Π° устройството ΠΏΡ€Π΅Π΄ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Π°Π»Π΅Π½ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ.

БлоТността Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сС ΡΡŠΡΡ‚ΠΎΠΈ Π² нСобходимостта ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ изпълнСниС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° трасата, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ огромния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Ρ„Π°ΠΉΠ»Π° с трасата. ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²Π°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° сС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π° само интСрСсуващата част ΠΎΡ‚ устройството ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ симулацията ΠΏΠΎ изпълнСниС изисква, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, пълна ΠΌΠΎΠ΄Π΅Π».

И Ρ‚Π°ΠΊΠ°, Π² Ρ‚Π°Π·ΠΈ статия Ρ€Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ особСноститС Π½Π° ΠΏΡŠΠ»Π½ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π°Ρ‚Π° симулация, ΠΎΠ±ΡΡŠΠ΄ΠΈΡ…ΠΌΠ΅ скоростта Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½ΠΈΠ²Π°, Ρ‚Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚Π° симулация ΠΈ траситС. Π’ слСдващата статия Ρ‰Π΅ опиша основнитС сцСнарии Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° симулатори, ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° Π»ΠΈΡ‡Π½ΠΈ Ρ†Π΅Π»ΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster