Jump to content

АРМулятор

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

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

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

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

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

ARMulator II лег в основу высокоточных моделей совместной проверки процессоров ARM с возможностью вызова цикла. Эти модели CoV (см. Cycle Accurate Simulator ) легли в основу многих систем совместной проверки для процессоров 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 с возможностью вызова цикла. Эти модели CoV (см. Cycle Accurate Simulator) легли в основу многих систем совместной проверки для процессоров 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.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c5b2cbdbe3237a231488abb8e6aaa4f6__1653777960
URL1:https://arc.ask3.ru/arc/aa/c5/f6/c5b2cbdbe3237a231488abb8e6aaa4f6.html
Заголовок, (Title) документа по адресу, URL1:
ARMulator - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)