Перейти до вмісту

Симулятор набору команд

Матеріал з Вікіпедії — вільної енциклопедії.

Симулятор набору команд (СНК) є симуляційною моделлю, як правило, написаною на мові програмування високого рівня, яка імітує поведінку комп'ютера або мікропроцесора через «читання» команд та підтримку внутрішніх змінних, які відповідають регістрам процесора.

Симуляція команд є методологією, яка може використовуватись з декількох причин:

Наприклад, IBM 1401 моделювалася на пізніших версіях IBM/360 за допомогою емуляції мікрокода.
  • Для моніторингу та виконання команд машинного коду (які опрацьовуються як вхідний потік) на тому ж обладнанні з метою випробування і зневадження, наприклад, із захистом пам'яті (який захищає від випадкового або навмисного переповнення буфера).
  • Для підвищення швидкодії порівняно з більш повільною циклічною (англ. cycle-accurate) симуляцією, яка використовує процесорне ядро, тому сам процесор не перевіряється. У мові опису апаратури розробці використовується Verilog, де моделювання відбувається за допомогою інструментів подібних до СНК, і вони можуть працювати швидше за допомогою Program Language Interface (не плутайте з мовою програмування PL/I).


Джерела

[ред. | ред. код]

Посилання

[ред. | ред. код]
  • "Mikrocodesimulator MikroSim 2010". 0/1-SimWare. Архів оригіналу за 1 серпня 2020. Процитовано 6 грудня 2010.
  • «Instruction-Level Simulation And Tracing» [Архівовано 3 березня 2016 у Wayback Machine.]
  • Imperas [Архівовано 1 грудня 2019 у Wayback Machine.] забезбечує СНК більш ніж для 170 різних процесорів ARM, ARMv8, MIPS, MIPS64, PowerPC, RISC-V, ARC, Nios-II, MicroBlaze ISAs.