ARM9 — это группа 32-битных ядер RISC- процессора ARM, лицензированных ARM Holdings для использования в микроконтроллерах . [1] Семейство ядер ARM9 состоит из ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. Ядра ARM9 выпускались с 1998 по 2006 год и больше не рекомендуются для новых разработок ИС; рекомендуемые альтернативы включают ядра ARM Cortex-A , ARM Cortex-M и ARM Cortex-R . [2]
С этим поколением дизайна ARM перешла от архитектуры фон Неймана (архитектура Принстон) к (модифицированной; то есть с раздельным кэшем) Гарвардской архитектуре с отдельными шинами инструкций и данных (и кэшами), что значительно увеличило ее потенциальную скорость. [3] Большинство кремниевых чипов, интегрирующих эти ядра, будут упаковывать их как чипы с модифицированной архитектурой Гарварда , объединяя две адресные шины с другой стороны отдельных кэшей ЦП и тесно связанной памяти.
Существует два подсемейства, реализующие различные версии архитектуры ARM.
Ключевые усовершенствования по сравнению с ядрами ARM7 , достигнутые за счет использования большего количества транзисторов, включают в себя: [4]
Кроме того, некоторые ядра ARM9 включают в себя инструкции «Enhanced DSP», такие как умножение-накопление, для поддержки более эффективной реализации алгоритмов цифровой обработки сигналов .
Переход от архитектуры фон Неймана повлек за собой использование неунифицированного кэша, так что выборка инструкций не вытесняет данные (и наоборот). Ядра ARM9 имеют отдельные сигналы шины данных и адреса, которые разработчики микросхем используют по-разному. В большинстве случаев они подключают по крайней мере часть адресного пространства в стиле фон Неймана, используемого как для инструкций, так и для данных, обычно к межсоединению AHB, подключающемуся к интерфейсу DRAM и внешнему интерфейсу шины, используемому с флэш-памятью NOR . Такие гибриды больше не являются процессорами с чистой архитектурой Гарварда.
ARM Holdings не производит и не продает процессорные устройства на основе собственных разработок, а лицензирует архитектуру процессора заинтересованным сторонам. ARM предлагает различные условия лицензирования, различающиеся по стоимости и поставляемым продуктам. Всем лицензиатам ARM предоставляет интегрируемое аппаратное описание ядра ARM, а также полный набор инструментов для разработки программного обеспечения и право продавать изготовленный кремний, содержащий процессор ARM.
Производители интегрированных устройств (IDM) получают IP процессора ARM в виде синтезируемого RTL (написанного на Verilog ). В этой форме они имеют возможность выполнять оптимизации и расширения на уровне архитектуры. Это позволяет производителю достигать индивидуальных целей проектирования, таких как более высокая тактовая частота, очень низкое энергопотребление, расширения набора инструкций, оптимизация размера, поддержка отладки и т. д. Чтобы определить, какие компоненты были включены в конкретный чип ЦП ARM, обратитесь к техническому описанию производителя и соответствующей документации.
Семейство многоядерных процессоров ARM MPCore поддерживает программное обеспечение, написанное с использованием асимметричной ( AMP ) или симметричной ( SMP ) парадигмы многопроцессорного программирования . Для разработки AMP каждый центральный процессор в MPCore может рассматриваться как независимый процессор и, как таковой, может следовать традиционным стратегиям разработки одного процессора. [5]
ARM9TDMI является преемником популярного ядра ARM7TDMI и также основан на архитектуре ARMv4T . Ядра на его основе поддерживают как 32-битные наборы инструкций ARM, так и 16-битные наборы инструкций Thumb и включают в себя:
ARM9E и его собрат ARM9EJ реализуют базовый конвейер ARM9TDMI , но добавляют поддержку архитектуры ARMv5TE, которая включает некоторые расширения набора инструкций DSP-esque. Кроме того, ширина блока умножителя была удвоена, что вдвое сократило время, необходимое для большинства операций умножения. Они поддерживают 32-битные, 16-битные и иногда 8-битные наборы инструкций.
Графические калькуляторы TI -Nspire CX (2011) и CX II (2019) используют процессор ARM926EJ-S с тактовой частотой 132 и 396 МГц соответственно. [6]
Объем документации для всех чипов ARM пугает, особенно для новичков. Документация для микроконтроллеров прошлых десятилетий легко могла бы быть включена в один документ, но по мере развития чипов документация росла. Общая документация особенно сложна для понимания для всех чипов ARM, поскольку она состоит из документов от производителя ИС и документов от поставщика ядра ЦП ( ARM Holdings ).
Типичное нисходящее дерево документации выглядит следующим образом: высокоуровневые маркетинговые слайды, технический паспорт конкретного физического чипа, подробное справочное руководство, описывающее общие периферийные устройства и другие аспекты физических чипов в пределах одной серии, справочное руководство для конкретного процессора ядра ARM в чипе, справочное руководство для архитектуры ARM ядра, которое включает подробное описание всех наборов инструкций.
У производителя ИС имеются дополнительные документы, в том числе: руководства пользователя оценочных плат, примечания по применению, руководство по началу работы с программным обеспечением для разработки, документы библиотеки программного обеспечения, сведения об ошибках и многое другое.