> > > > Доступна цифровая симуляция процессора ARMv1 на уровне транзисторов

Доступна цифровая симуляция процессора ARMv1 на уровне транзисторов

Опубликовано:

soc simulationАрхитектура ARM используется в миллионах мобильных устройств, она обеспечивает отличную эффективность энергопотребления, но при этом позволяет создавать весьма мощные процессоры. Если раньше на ARM создавались простые процессоры с производительностью в несколько миллионов операций сложения в секунду, то сегодня ядра ARM встраиваются в «системы на чипе» (SoC), которые почти полностью берут на себя все рабочие задачи планшета или смартфона. Архитектура ARM используется во все большем числе сфер, выигрывающих от большого количества экономичных вычислительных ядер. Среди них – сетевые коммутаторы, NAS, встраиваемые системы и маломощные серверы.

Но как именно работают современные процессоры? SoC сегодня могут содержать миллиарды транзисторов. И понять функции и зависимости различных блоков не так просто. Как и многие технологии, дизайны ARM первое время были очень простыми. В октябре 1983 года был представлен первый процессор ARM в компьютере Acorn RISC Machine с архитектурой ARMv1, но он так и не вышел на рынок. Этой чести удостоилась архитектура ARMv2 в апреле 1985. Учитывая частоту 8 МГц и 4 MIPS (миллионов инструкций в секунду), вычислительная производительность оставляла желать лучшего. Кэш в то время у процессоров отсутствовал. Да и на кристалле располагалось всего 30.000 транзисторов, во много раз меньше, чем сегодня.

Симуляция архитектуры ARMv1
Симуляция архитектуры ARMv1

Но подобные «простые» архитектуры весьма интересны в ретроспективе, поскольку они позволяют понять базовые принципы работы процессора. На сайте www.visual6502.org доступна симуляция, отображающая выполнение операций на таком процессоре. Кроме архитектуры ARMv1 читатели могут посмотреть симуляцию Motorola 6502 и 6800. А выглядит симуляция так:

Разработчики детально сфотографировали кристаллы, что стало возможным благодаря сравнительно крупным элементам. Затем была создана векторная полигональная модель, в которой присутствуют все компоненты процессора. В случае 6502 таких компонентов 20.000, а у архитектуры ARMv1 – порядка 30.000. На фото можно видеть контакты отдельных компонентов, присутствуют они и у цифровой модели. В результате удалось создать симулятор на уровне транзисторов.

На цифровой модели можно запускать программы. На 6502 вы можете запустит игры Atari, например. Рендеринг компонентов зависит от включенного или выключенного состояния транзистора. Так что может видеть переключение транзистора на чипе, а также какие регистры при этом используются. Встроенные шины тоже маркируются, есть возможность работы с внешними контактами процессора. Можно наблюдать за симуляцией работы процессора такт за тактом, чтобы лучше разбираться в разных этапах.

Если вам интересно узнать, как именно работает процессор, и какие операции ему приходится выполнять для простого сложения, мы рекомендуем ознакомиться с цифровой симуляцией.