Симулятор комп'ютерної архітектури

Симулятор комп'ютерної архітектури - це програма, яка імітує виконання архітектури комп’ютера.

Симулятори комп'ютерної архітектури використовуються для таких цілей:

  • Зниження вартості шляхом оцінки конструкцій обладнання без побудови фізичних апаратних систем.
  • Увімкнення доступу до недоступного обладнання.
  • Підвищення точності та обсягу даних про продуктивність комп'ютера.
  • Представляємо здібності, які зазвичай неможливі на реальному апаратному забезпеченні, такому як запуск коду назад, коли виявлена ​​помилка або працює швидше, ніж у реальному часі.


Категорії ред.

Симулятори комп'ютерної архітектури можуть бути класифіковані на багато різних категорій залежно від контексту.

  • Область застосування: Мікроархітектурні симулятори моделюють мікропроцесор та його компоненти. Повносистемні тренажери також моделюють процесор, системи пам'яті та пристрої вводу / виводу.
  • Детальніше: Функціональні тренажери, такі як тренажери набору інструкцій, досягають тієї ж функції, що і модельовані компоненти. Вони можуть бути імітовані швидше, якщо терміни не враховуються. Симулятори синхронізації - це функціональні тренажери, які також відтворюють хронометр. Симулятори часу можуть бути додатково класифіковані на цифрові циклічні та аналогові тренажери підциклу.
  • Навантаження: Симулятори керовані трасуванням (їх також називають тренажером керованими подіями) реагують на попередньо записані потоки інструкцій з деяким фіксованим входом. Симулятори керовані виконанням, дозволяють виконувати динамічну зміну інструкцій залежно від різних вхідних даних.

Повносистемні тренажери ред.

Повносистемний симулятор - це моделювання архітектури, кероване виконанням, на такому рівні деталізації, що повний стек програмного забезпечення з реальних систем може працювати на тренажері без будь-яких змін. Повносистемний симулятор забезпечує віртуальне обладнання, яке не залежить від характеру хост-комп'ютера. Повносистемна модель, як правило, включає процесор, периферійні пристрої, пам'ять, шини взаємозв'язку та комп'ютерну мережу. Емулятори - це повноцінні системні тренажери, що імітують застаріле обладнання замість обладнання, що розробляється.

Визначальною властивістю повносистемного моделювання у порівнянні з тренажером набору інструкцій є те, що модель дозволяє запускати справжні драйвери пристроїв та операційні системи, а не лише окремі програми. Таким чином, повносистемне моделювання дозволяє моделювати окремі комп’ютери та мережеві комп'ютерні вузли з усім їх програмним забезпеченням - від драйверів мережевих пристроїв до операційних систем, мережевих стеків, проміжних програм, серверів та прикладних програм.

Повне моделювання системи може прискорити процес розробки системи, полегшивши виявлення, відтворення та відновлення недоліків. Використання багатоядерних процесорів викликає необхідність повноцінного моделювання системи, оскільки це може бути надзвичайно важким і трудомістким для відтворення та відловлювання помилок без керованого середовища, що надається віртуальним обладнанням.[1]  Це також дозволяє розробити програмне забезпечення до того, як апаратне забезпечення буде готове,[2] тим самим допомагаючи утвердити дизайнерські рішення.

Циклічний симулятор ред.

Циклічний симулятор - це комп’ютерна програма, яка моделює мікроархітектуру за принципом «цикл за циклом». На відміну від цього симулятор набору інструкцій моделює архітектуру наборів інструкцій, як правило, швидше, але не точно для циклу для конкретної реалізації цієї архітектури; їх часто використовують під час емуляції старих апаратних засобів, де часові точні значення дуже важливі із застарілих причин. Часто циклічний симулятор використовується при розробці нових мікропроцесорів - вони можуть бути протестовані та точно відраховані (включаючи повну операційну систему або компілятори, що працюють), не створюючи фізичний чіп, і легко міняти дизайн багато разів, щоб відповідати очікуваному плану.

Циклічні точні тренажери повинні гарантувати, що всі операції виконуються у належному віртуальному (або реальному, якщо це можливо) часі - передбаченні гілок, промахи кеш-пам'яті, витяги, стояки конвеєра, перемикання контексту потоку та багато інших тонких аспектів мікропроцесорів.

Див. також ред.

Примітки ред.

  1. Debugging and Full System Simulation. Архів оригіналу за 2 серпня 2019. Процитовано 25 травня 2020.
  2. Vania Joloboff (2009). Full System Simulation of Embedded Systems (PDF). Архів оригіналу (PDF) за 9 лютого 2014. Процитовано 6 березня 2013.

Посилання ред.