Advanced RISC Machines

Автор: Пользователь скрыл имя, 27 Февраля 2013 в 23:59, реферат

Описание работы

Процессоры ARM поддерживаются многими программными продуктами как самой компании, так и других производителей. Эти продукты образовали солидную инфраструктуру ПО и средств разработки. Среди них - отладчики, компиляторы С++, внутрисхемные эмуляторы, таблицы разработки, операционные системы реального времени, драйверы низкого уровня, а также программные применения высокого уровня. Accelerated Technology, Enea OSE Systems, ISI, JavaSoft, JMI, Microtec, Microsoft, Perihelion, Psion, Wind River и другие компании обеспечивают совместимость своих ОС и средств разработки с процессорами ARM.

Работа содержит 1 файл

Advanced RISC Machines.doc

— 565.00 Кб (Скачать)

 

    32-разрядный  RISC код архитектуры фирмы ARM всегда  считался исключительно плотным  кодом. Действительно, результаты  показывают, что плотность естественного  кода ARM близка к плотности кодов традиционных 16-разрядных процессоров, оставляя другие 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.    

Чтобы гарантировать честность  результатов, сравнение выполнялось  в два этапа:

  1. Для процессоров, работающих 16-разрядной памятью
  2. Для процессоров, работающих с 32-разрядной памятью.

 

    Ядра ARM - превосходные решения для портативных встроенных применений, поскольку имеют очень малое потребление. Поэтому показываются значения и Dhrystone 1.1 MIPS и MIPS/Watt. Процессоры, отмеченные звездочкой оснащены встроенным кэш.

Рисунок 16: Dhrystone 1.1 MIPS и MIPS/Watt при напряжении питания 5 В для процессоров 16-разрядных систем

Таблица 6: Процессоры в 16-разрядных  системах памяти при напряжении питания 5 В 
Источник: Microprocessor Forum 1993 и данные поставщиков

Процессор

Тактовая частота, напряжение питания

Потребление (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


 

Рисунок 17: Drystone 1.1 MIPS и MIPS/Watt для процессоров  с 32-разрядных систем при напряжении питания 5 В

Таблица 7: Процессоры в 32-разрядных  системах памяти при напряжении питания 5 В 
Источник: Microprocessor Forum 1993 и данные поставщиков

Процессор

Тактовая частота, напряжение питания

Потребление (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 В:

Таблица 8: Ядра ARM в 16-разрядной системе  памяти при напряжении питания 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


 

Таблица 9: Ядра ARM в 32-разрядной системе  памяти при напряжении питания 3 В

Процессор

Эталонный тест

Потребление (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 и, вследствие этого, на него не влияет ширина внешней системы памяти.

Ведущая Dhrystone MIPS производительность

 

    Чрезвычайно малое  потребление семейств ARM7 и ARM7TDMI делает их идеальным выбором для портативных  применений. Да и для применений, где потребляемая мощность не так важна, решения фирмы ARM обеспечивают ведущую Dhrystone MIPS производительность .     

В 16-разрядной системе ARM7TDMI превосходит  по быстродействию ARM7 на 150%, поскольку  не выполняет двух выборок на команду; в 32-разрядной системе, Thumb-совместимое ядро сохраняет всю производительность ARM7 просто работая в ARM режиме все 100% времени.

Thumb-ориентированное ядро ARM7TDMI и  его развитие

 

    Впервые технология 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/doc/atmel/at91.htm.    

Архитектура ARM является RISC архитектурой, и система команд и связанный  с нею механизм декодирования намного проще, чем у микропрограммируемых CISC компьютеров, что приводит к высокой скорости обработки команд, впечатляющей скорости отклика на прерывания (в реальном масштабе времени), реализации прибора на кристалле малых размеров и, следовательно, малой стоимости прибора.    

Конвейерная обработка реализована  таким образом, что все компоненты систем памяти и обработки работают непрерывно. Обычно, в то время как  одна команда выполняется, следующая  команда декодируется и третья команда  выбирается из памяти.    

Возможности системы команд ARM7TDMI могут  быть расширены за счет добавления до 16 внешних сопроцессоров.    

При разработке интерфейса памяти разработчики ориентировались на обеспечение  реализации потенциально возможной  производительности без повышения стоимости самой памяти. Критичные к быстродействию сигналы управления также конвейеризованы с тем, чтобы реализовать функции управления системой памяти в стандартной логике с малым потреблением, и эти сигналы управления упрощают использование быстрых локальных режимов обращения, необходимых для стандартных динамических RAM. Кроме того, интерфейс памяти идеально подходит для организации взаимодействия как со встроенной на кристалл памятью, так и с внешней памятью, с блоками Flash памяти, что позволяет реализовать внутрисистемное программирование, защиту памяти, снизить время выхода на рынок, сократить общую стоимость системы.    

Интерфейс с памятью у процессора ARM7TDMI организуется следующими основными  элементами:

  1. 32-разрядной шиной адреса, определяющей адрес ячейки памяти, которую необходимо использовать.
  2. 32-разрядной двунаправленной шиной передачи данных D[31:0], плюс двумя отдельными однонаправленными шинами данных DIN[31:0] и DOUT[31:0], через которые перемещаются команды и данные. Данные могут иметь формат слова, полуслова или байта.
  3. Сигналами управления, определяющими, например, формат перемещаемых данных и направление их передачи и, кроме того, уровень приоритета.

Рис. 1. Блок-схема процессора ядра 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

 

    Как видно из Рис. 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 и многие другие.    

Информация о работе Advanced RISC Machines