Jump to content

Моделирование микроархитектуры

микроархитектуры Моделирование является важным методом исследования компьютерной архитектуры и обучения информатике . Это инструмент для моделирования конструкции и поведения микропроцессора и его компонентов, таких как АЛУ , кэш-память , блок управления и путь передачи данных, среди прочего. Моделирование позволяет исследователям исследовать пространство проектирования, а также оценивать производительность и эффективность новых функций микроархитектуры. Например, некоторые компоненты микроархитектуры, такие как предсказатели ветвей , буфер повторного порядка и кэш трассировки , прошли многочисленные циклы моделирования, прежде чем стали обычными компонентами современных микропроцессоров. Кроме того, моделирование также позволяет преподавателям преподавать курсы по компьютерной организации и архитектуре, используя практический опыт.

Для моделирования компьютерного оборудования на уровне системы см. полное моделирование системы .

Классификация

[ редактировать ]

Моделирование микроархитектуры можно разделить на несколько категорий в зависимости от типов входных данных и уровня детализации. В частности, входными данными может быть трассировка, полученная при выполнении программы на реальном микропроцессоре (так называемое моделирование, управляемое трассировкой) или сама программа (так называемое моделирование, управляемое выполнением).

Моделирование на основе трассировки [1] считывает фиксированную последовательность записей трассировки из файла в качестве входных данных. Эти записи трассировки обычно представляют собой, среди прочего, ссылки на память, результаты ветвей или конкретные машинные инструкции. Хотя известно, что трассировочное моделирование сравнительно быстрое и его результаты хорошо воспроизводимы, оно также требует очень большого объема памяти. С другой стороны, моделирование, управляемое исполнением [2] читает программу и моделирует выполнение машинных инструкций на лету. Файл программы обычно на несколько величин меньше файла трассировки. Однако моделирование, управляемое выполнением, намного медленнее, чем моделирование, управляемое трассировкой, поскольку оно должно обрабатывать каждую инструкцию одну за другой и обновлять все состояния задействованных компонентов микроархитектуры. Таким образом, выбор типов входных данных для моделирования — это компромисс между пространством и временем. В частности, очень подробная трассировка для высокоточного моделирования требует очень большого объема памяти, тогда как очень точное моделирование, основанное на выполнении, требует очень много времени для выполнения всех инструкций в программе.

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

Использование

[ редактировать ]

Симуляторы микроархитектуры используются для самых разных целей. Это позволяет исследователям оценивать свои идеи без необходимости изготовления настоящего микропроцессорного чипа, что является дорогостоящим и трудоемким процессом. Например, моделирование микропроцессора с тысячей ядер и несколькими уровнями кэш-памяти требует очень небольших затрат по сравнению с изготовлением прототипа чипа. Исследователи также могут экспериментировать с несколькими конфигурациями иерархии кэша, используя разные модели кэша в симуляторе, вместо того, чтобы создавать новый чип каждый раз, когда они хотят протестировать что-то новое.

Еще одно применение симулятора микроархитектуры - в образовании. [3] Учитывая, что курс компьютерной архитектуры знакомит студентов с множеством различных функций микропроцессора и его архитектур, симулятор микроархитектуры идеально подходит для моделирования и экспериментирования с различными функциями и архитектурами в течение семестра. Например, в начале семестра студенты могут начать с симулятора микроархитектуры, который моделирует простую конструкцию микропроцессора. По ходу семестра можно моделировать и добавлять в симулятор дополнительные функции, такие как конвейеризация инструкций , переименование регистров , станции резервирования , выполнение вне очереди и табло по мере их внедрения в классе. Симулятор микроархитектуры обеспечивает гибкость реконфигурации и тестирования с минимальными затратами.

  • Оттенок [4] (трассировочный симулятор набора команд)
  • Простой скаляр [5] [6] (симулятор с точностью до цикла, управляемый выполнением)
  • SPIM [7] (симулятор набора команд, управляемый выполнением)
  • СМТСИМ [8] (симулятор с точностью до цикла, управляемый выполнением)
  • Мульти2Сим (2007)
  • GPGPU-Sim [ de ] (2007), производный от SimpleScalar
  1. ^ Улиг, Р.А., и Мадж, Теннесси (2004). Моделирование памяти на основе трассировки: обзор. Обзоры вычислительной техники ACM , 29 (2), 128–170.
  2. ^ Бургер Д. и Остин ТМ (1997). Набор инструментов Simplescaler версии 2.0. Новости компьютерной архитектуры , 25(3), 13-25.
  3. ^ Скадрон, К. (1996). Обзорный курс по микропроцессорам для изучения продвинутой компьютерной архитектуры. В материалах конференции ACM SIGCSE 2002 г., 152–156.
  4. ^ Цмелик, РФ, и Кеппель, Д. (1994). Shade: быстрый симулятор набора инструкций для профилирования выполнения. Обзор оценки производительности ACM SIGMETRICS , 22(1), 128-137.
  5. ^ Остин Т., Ларсон Э. и Эрнст Д. (2002). SimpleScalar: инфраструктура для моделирования компьютерных систем. Компьютерный журнал IEEE , 35(2), 59-67.
  6. ^ Д. Бургер и ТМ Остин. Набор инструментов SimpleScalar, версия 2.0. http://www.simplescalar.com , 1997.
  7. ^ Паттерсон, Д.А., и Хеннесси, Дж.Л. (2011). Компьютерная организация и дизайн: аппаратно-программный интерфейс , Морган Кауфманн.
  8. ^ Таллсен, DM (1996). Моделирование и моделирование одновременного многопоточного процессора. В материалах 22-й ежегодной конференции группы компьютерных измерений.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e44bb373ab15f6632ac60907485d7684__1653566460
URL1:https://arc.ask3.ru/arc/aa/e4/84/e44bb373ab15f6632ac60907485d7684.html
Заголовок, (Title) документа по адресу, URL1:
Microarchitecture simulation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)