ARMulator

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

ARM Симулятор набора команд, ARMulator, является одним из предоставленных инструментов разработки программного обеспечения подразделением систем разработки ARM Limited всем пользователям чипов на базе ARM. Своим наследием он обязан раннему развитию инструкции, установленной Софи Уилсон. Часть этого наследия все еще видна в предоставлении модели Tube BBC Micro в ARMulator.

Содержание
  • 1 Возможности
  • 2 Доступность
  • 3 См. Также
  • 4 Внешние ссылки
Возможности

ARMulator написан на C и предоставляет больше Это не просто симулятор набора команд, а виртуальная платформа для эмуляции системы. Он готов к эмуляции процессора ARM и некоторых сопроцессоров ARM . Если процессор является частью встроенной системы, то лицензиаты могут расширить ARMulator, чтобы добавить свои собственные реализации дополнительного оборудования в модель ARMulator. ARMulator предоставляет ряд услуг, помогающих с поведением на основе времени и планированием событий, и поставляется с примерами отображаемой памяти и расширений сопроцессора. Таким образом, они могут использовать ARMulator для эмуляции всей своей встроенной системы. Ключевым ограничением для ARMulator является то, что он может моделировать только один процессор ARM за один раз, хотя доступны почти все ядра ARM до ARM11.

Производительность ARMulator хороша для используемой технологии, это около 1000 инструкций хоста (ПК) на инструкцию ARM. Это означает, что эмулированная частота 1 МГц была нормальной для ПК середины и конца 90-х годов. Точность тоже хорошая, хотя она классифицируется как точная по счетчику циклов, а не как точная по циклу, это связано с тем, что конвейер ARM не полностью смоделирован (хотя блокировки регистров есть). Решение - это инструкция, как следствие, когда одиночное пошаговое выполнение блокировки регистров игнорируется и возвращаются другие счетчики циклов, чем если бы программа просто выполнялась, это было неизбежно.

Тестирование ARMulator всегда было трудоемкой задачей, поскольку использовались все комплекты проверки архитектуры ARM. С более чем 1 миллионом строк кода C это был довольно здоровенный продукт.

ARMulator позволяет выполнять отладку с использованием либо armd (символический отладчик ARM), либо любого из графических отладчиков, которые поставлялись в SDT и более поздних продуктах ADS. ARMulator страдал от того, что был невидимым инструментом с конфигурацией текстового файла (armul.conf), которую многие сочли сложной для настройки.

ARMulator II лег в основу высокоточных, вызываемых циклом моделей совместной верификации процессоров ARM, эти модели CoVs (см. Cycle Accurate Simulator ) были основой многих систем CoVerification для ARM процессоры.

Доступность

ARMulator был доступен на очень широком диапазоне платформ на протяжении всего своего существования, включая Mac, платформы RISC OS, DEC Alpha, HP-UX, Solaris, SunOS, Windows, Linux. В середине 1990-х было нежелание поддерживать платформы Windows; до Windows 95 это была относительно сложная платформа. В конце 1990-х - начале 2000-х годов поддержка была удалена для всех, кроме Solaris, Windows и Linux, хотя, несомненно, кодовая база по-прежнему усеяна прагмами, такими как #ifdef RISCOS.

ARMulator II поставлялся в ранних наборах инструментов ARM, а также в более поздних версиях SDT 2.5, SDT 2.5.1, ADS 1.0, ADS 1.1, ADS 1.2, RCVT 1.0, а также отдельно как RVISS. Во время разработки процессоров были созданы специальные модели, в частности, ARM9E, ARM10 и ARM11, эти модели помогли с архитектурными решениями, такими как Thumb-2 и TrustZone.

ARMulator постепенно упраздняется и заменяется на высокопроизводительные модели ЦП и систем на основе своевременной компиляции (см. Ссылку FastSim ниже).

ARMulator I был сделан с открытым исходным кодом и является основой для GNU-версии ARMulator. Ключевые отличия заключаются в интерфейсе памяти и сервисах, также по-другому выполняется декодирование инструкций. GNU ARMulator доступен как часть отладчика GDB в ARM GNU Tools.

ARMulator II лег в основу высокоточных, вызываемых циклом моделей совместной верификации процессоров ARM, эти модели CoVs (см. Cycle Accurate Simulator) были основой многих систем CoVerification для процессоров ARM. Mentor Graphic's Seamless имеет лидирующую на рынке систему CoV, которая поддерживает множество ядер ARM и многие другие процессоры.

ARMulator II поставлялся в ранних наборах инструментов ARM, а также в более поздних версиях SDT 2.5, SDT 2.5.1, ADS 1.0, ADS 1.1, ADS 1.2, RVCT 1.0, а также отдельно как RVISS.

Основными участниками ARMulator II были Майк Уильямс, Луиза Джеймсон, Чарльз Лавендер, Дональд Синклер, Крис Лэмб и Ребекка Брайан (которые работали над ARMulator как инженер, а затем как менеджер по продукту). Существенный вклад также внес Аллан Скиллман, который в то время работал над моделями ARM CoVerification.

Ключевой участник ARMulator Я был Дэйв Джаггар.

Во время разработки процессоров были созданы специальные модели, в частности, ARM9E, ARM10 и ARM11, эти модели помогли с архитектурными решениями, такими как Thumb-2 и TrustZone.

См. Также
Последняя правка сделана 2021-06-09 02:05:06
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте