Автор: Пользователь скрыл имя, 27 Февраля 2013 в 23:59, реферат
Процессоры ARM поддерживаются многими программными продуктами как самой компании, так и других производителей. Эти продукты образовали солидную инфраструктуру ПО и средств разработки. Среди них - отладчики, компиляторы С++, внутрисхемные эмуляторы, таблицы разработки, операционные системы реального времени, драйверы низкого уровня, а также программные применения высокого уровня. Accelerated Technology, Enea OSE Systems, ISI, JavaSoft, JMI, Microtec, Microsoft, Perihelion, Psion, Wind River и другие компании обеспечивают совместимость своих ОС и средств разработки с процессорами ARM.
32-разрядный
RISC код архитектуры фирмы ARM всегда
считался исключительно
Результаты показывают, что сформированная на фирме ARM концепция Thumb, позволяющая получить на 30 % лучшую плотность кода, чем у конкурентов, обеспечивает ведущую в отрасли плотность кода, что и является тем средством, посредством которого разработчики, ориентировавшиеся ранее на 8 и 16-разрядные контроллеры, с тем, чтобы сократить объем памяти кодов системы, могут теперь переходить к мощным 32-разрядных ядрам ARM и использовать уменьшение размера кода системы. Концепция Thumb предоставляет им возможность или уменьшать объем памяти, или использовать высвобожденное пространство памяти для программного обеспечения с новыми возможностями.
Простейшими методами оценки плотности кодов 32-разрядных RISC систем, являются методы типа выполнения двух 16-разрядных выборок и выполнение только 16-разрядных команд на 32-разрядном ядре. Однако, оба эти подхода ведут к большим потерям в показателях производительности.
Эти эталонные тесты должны показать, что даже с превосходной плотностью кода ядра Thumb , его производительность в 16-разрядных системах превосходит и стандартные ядра ARM и общие решения конкурентов.
Снова результаты сравниваются для Dhrystone 1.1, поскольку эти данные по конкурирующим ядрам свободно доступны. Данные для ARM7TDMI ядра были сгенерированы с использованием симулятора Thumb-ориентированных команд (ARMulator). Этот симулятор обеспечивает замер тактовой частоты, при которой вычисляются значения Dhrystone.
Чтобы гарантировать честность результатов, сравнение выполнялось в два этапа:
Ядра ARM - превосходные
решения для портативных
Процессор |
Тактовая частота, напряжение питания |
Потребление (W) |
Ds1. 1 MIPS |
MIPS/Watt |
ARM7TDMI |
33MHz 5V |
0,181 |
21,2 |
117 |
ARM7D |
33MHz 5V |
0,165 |
16,3 |
99 |
ARM710 (*) |
33MHz 5V |
0,424 |
38,2 |
90 |
Z380 |
18 MHZ |
0,04 |
3,1 |
78 |
SH7032 (*) |
20MHz 5V |
0,5 |
16,4 |
33 |
H8/500 |
10MHz 5V |
0,1 |
1 |
10 |
486SLC (*) |
33MHz 5V |
2,25 |
18 |
8 |
H8/300H |
16MHz 5V |
0,25 |
1,9 |
8 |
386SLC |
25 MHZ 5V |
2,5 |
8 |
3 |
Процессор |
Тактовая частота, напряжение питания |
Потребление (W) |
Ds1. 1 MIPS |
MIPS/Watt |
ARM7D |
33MHz 5V |
0,165 |
30,6 |
185 |
ARM7TDMI |
33MHz 5V |
0,181 |
25,8 |
143 |
ARM710 |
40MHz 5V |
0,424 |
37 |
87 |
PC403GA |
40MHz 5V |
1 |
39 |
39 |
V810 |
25MHz 5V |
0,5 |
18 |
36 |
ARM610 |
25MHz 5V |
0,625 |
14 |
22 |
PC/кристалл |
14,3MHz 5V |
0,216 |
3 |
14 |
68349 |
25MHz 5V |
0,96 |
9 |
9 |
29200 |
16MHz 5V |
1,1 |
8 |
7 |
486DX |
33MHz 5V |
4,5 |
27 |
6 |
I960SA |
16MHz 5V |
1,25 |
5 |
4 |
Для завершенности, фирма ARM генерировала также значения Dhrystone 2.1 для ARM7TDMI в 16 и 32-разрядных системах памяти при напряжении питания 5 В. Опубликованных данных Dhrystone 2.1 для конкурирующих ядер нет.
Производительность и значения потребляемой мощности моделировались также при 3 В, и для ARM7D и ARM7TDMI, выполняющих Dhrystones 1.1/2.1 при тактовой частоте 20 MHZ и напряжении питания 3,3 В:
Процессор |
Эталонный тест |
Потребление (W) |
DS MIPS |
MIPS/Watt |
ARM7TDMI |
Dstone 2.1 |
0,036 |
11,6 |
322 |
ARM7D |
Dstone 1.1 |
0,033 |
9,9 |
300 |
ARM7D |
Dstone 2.1 |
0,033 |
9,1 |
276 |
Процессор |
Эталонный тест |
Потребление (W) |
DS MIPS |
MIPS/Watt |
ARM7TDMI |
Dstone 1.1 |
0,036 |
15,6 |
433 |
ARM7TDMI |
Dstone 2.1 |
0,036 |
14,0 |
389 |
ARM7D |
Dstone 1.1 |
0,033 |
19,1 |
579 |
ARM7D |
Dstone 2.1 |
0,033 |
18,0 |
545 |
Важно помнить, что ARM7TDMI способен выполнять команды и Thumb и ARM. Следовательно, в 32-разрядной системе памяти, ARM7TDMI обеспечит производительность в MIPS такую же как ARM7D, если будет работать в ARM режиме все 100 % времени.
Приведенные выше результаты четко показывают, что концепция Thumb не только предоставляет исключительную плотность кода, но и превосходную производительность. Обратите внимание, что даже при том, что Dhrystone 1.1 - полностью кэшируется в 2 Кбайтах, ARM7TDMI легко обгоняет конкурирующие кэшированные процессоры на Dhrystone 1.1 MIPS. ARM710 обеспечивает самые лучшие рабочие характеристики, поскольку полностью кэширует Dhrystone 1.1 и, вследствие этого, на него не влияет ширина внешней системы памяти.
Чрезвычайно малое
потребление семейств ARM7 и ARM7TDMI делает
их идеальным выбором для
В 16-разрядной системе ARM7TDMI превосходит по быстродействию ARM7 на 150%, поскольку не выполняет двух выборок на команду; в 32-разрядной системе, Thumb-совместимое ядро сохраняет всю производительность ARM7 просто работая в ARM режиме все 100% времени.
Впервые технология Thumb была встроена в ядро ARM7 еще в 1995 году. Адаптированное под технологию Thumb (Thumb-ориентированное) ядро получило типовое обозначение ARM7TDMI и за достаточно короткое время было лицензировано большим количеством фирм-изготовителей всевозможного оборудования, поскольку технология Thumb, явилась откликом фирмы ARM на стремление разработчиков критичных к стоимости применений, типа сотовых телефонов, дисководов CD, модемов и пейджеров, получить приборы с 32-разрядной производительностью и 32-разрядным адресным пространством, но без увеличения стоимости, связываемого с переходом к 32-разрядным системам. Превосходная плотность кода, достигаемая использованием технологии Thumb, позволяет уменьшить требуемый объем памяти - обеспечивает 32-разрядную производительность системы при использовании памяти 16-разрядного формата, что ведет к снижению стоимости системы.
Необходимо отметить, что ядро ARM7TDMI
используется при создании не только
специализированных ИС, но и при
создании микроконтроллеров общего
назначения. Так фирма Atmel в сентябре
1998 года начала поставки микроконтроллеров
семейства AT91, в основу которых положено
ядро ARM7TDMI. Информацию по приборам серии
AT91 можно получить на сайте http://www.gaw.ru/html.cgi/
Архитектура ARM является RISC архитектурой, и система команд и связанный с нею механизм декодирования намного проще, чем у микропрограммируемых CISC компьютеров, что приводит к высокой скорости обработки команд, впечатляющей скорости отклика на прерывания (в реальном масштабе времени), реализации прибора на кристалле малых размеров и, следовательно, малой стоимости прибора.
Конвейерная обработка реализована таким образом, что все компоненты систем памяти и обработки работают непрерывно. Обычно, в то время как одна команда выполняется, следующая команда декодируется и третья команда выбирается из памяти.
Возможности системы команд ARM7TDMI могут быть расширены за счет добавления до 16 внешних сопроцессоров.
При разработке интерфейса памяти разработчики ориентировались на обеспечение реализации потенциально возможной производительности без повышения стоимости самой памяти. Критичные к быстродействию сигналы управления также конвейеризованы с тем, чтобы реализовать функции управления системой памяти в стандартной логике с малым потреблением, и эти сигналы управления упрощают использование быстрых локальных режимов обращения, необходимых для стандартных динамических RAM. Кроме того, интерфейс памяти идеально подходит для организации взаимодействия как со встроенной на кристалл памятью, так и с внешней памятью, с блоками Flash памяти, что позволяет реализовать внутрисистемное программирование, защиту памяти, снизить время выхода на рынок, сократить общую стоимость системы.
Интерфейс с памятью у процессора ARM7TDMI организуется следующими основными элементами:
Этот набор сигналов позволяет ARM7TDMI достаточно просто организовывать интерфейс с DRAM, SRAM и ROM. Для полного использования страничного режима доступа к DRAM, обеспечивается информация о том, является доступ к памяти последовательным или нет. Вообще говоря, интерфейс со статической памятью намного проще чем интерфейс с динамической памятью.
Поскольку ядро ARM7TDMI в основе своей имеет ядро ARM7, то ограничимся кратким напоминанием о его архитектуре и больше внимания уделим особенностям, внесенным технологией Thumb.
Процессор ARM7TDMI - 32-разрядный RISC процессор с 3-уровневым конвейером, сформированный вокруг банка из 37 32-разрядных регистров, в который входят 6 регистров состояния. Процессор оснащен встроенным умножителем 32x8 и 32-разрядным многорегистровым циклическим устройством сдвига. Пять независимых встроенных шин (PC шина, шина инкремента, шина ALU и A- и B-шины) обеспечивают, при выполнении команд высокую степень параллелизма.
Как видно из сравнения блок-схем процессоров ARM7 и ARM7TDMI (См. Рис. 1) в блоке конвейера процессора добавился декомпрессор команд Thumb.
Однако разработчики фирмы ARM этим не ограничились и, имея в виду встраивание ядра в приборы с большим уровнем интеграции, расширили ядро ARM7TDMI (см. Рис. 2) дополнительными аппаратными блоками, обеспечивающими возможность отладки глубоко встроенного ядра.
Как видно из Рис. 2, ядро ARM7TDMI состоит из ядра собственно процессора, показанного на Рис.1, и расширений отладки: контроллера сканирования TAP (boundary scan) и внутрисхемного эмулятора (ICEBreaker).
Аппаратные расширения отладки ARM7TDMI, обеспечивают развернутые возможности отладки, облегчающие разработку пользовательского прикладного программного обеспечения, операционных систем, и самих аппаратных средств. Аппаратные расширения отладки позволяют останавливать ядро или при выборке заданной команды (в контрольной точке) или при обращении к данным (в точке просмотра), или асинхронно - по запросу отладки.
В этих точках, через JTAG последовательный интерфейс, может быть исследовано внутреннее состояние ядра ARM7TDMI, находящегося в состоянии отладки, и внешние состояния системы. По завершении исследования состояния ядра и системы могут быть восстановлены и продолжено выполнение программы.
Режим отладки ARM7TDMI устанавливается или запросом по одному из сигналов внешнего интерфейса отладки, или внутренним функциональным блоком ICEBreaker, состоящим из двух модулей контрольных точек (watchpoint), работающих в реальном масштабе времени с регистрами состояния и управления ядра, и обеспечивающим поддержку встроенной отладки ядра ARM7TDMI. ICEBreaker программируется в последовательном режиме с использованием контроллера TAP - средства управления работой цепочек сканирования (Scan Chain 0, 1 и 2) через последовательный интерфейс JTAG.
Интерфейс отладки ARM7TDMI основан на архитектуре, описанной в стандарте IEEE Std. 1149.1-1990 Standard Test Access Port (TAP) and Boundary-Scan Architecture.
Как уже отмечалось выше высокопроизводительное 32-разрядное статическое RISC ядро ARM7TDMI занимает на кристалле очень малую площадь, малое потребление энергии ядром позволяет использовать его в критичных к потреблению применениях, технология Thumb позволяет использовать память 16-разрядного формата меньшей емкости и, соответственно, меньшей стоимости. Не удивительно, что только в течение года, по окончании разработки ядра ARM7TDMI, ядро было лицензировано такими фирмами, как NEC, TI, Symbios Logic, Oki, Atmel, Samsung и VLSI. В дальнейшем лицензии на использование ядра ARM7TDMI получили такие гранды полупроводниковой и электронной отраслей как IBM, HP, Epson, Matsushita и многие другие.