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 Кб (Скачать)

Advanced RISC Machines / Arm.doc

Введение

 

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

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

32-разрядные  ядра RISC процессоров предлагают потенциальное решение этих проблем. Однако применение ранних версий RISC процессоров не позволяло в полной мере реализовать преимущества RISC архитектуры перед CISC архитектурой, что в первую очередь связывалось с большим объемом кодов, для которых требовалась память большого объема что, в свою очередь приводило к высокой стоимости всей системы.     

С начала 90-х годов активное развитие получила технология ASIC (Applications Specific Integrated Circuit) и ASSP (Applications Specific Standard Products). Развитие этих технологий и создание на их основе все новых специализированных приборов было стимулировано ростом потребностей в новых применениях, в появлении новых сегментов рынка. Это портативные компьютеры, сотовые телефоны, средства определения места, средства коммуникации, игровые и телевизионные приставки, бытовые и промышленные средства управления процессами.     

В обеспечение технологий ASIC и SSP ряд  фирм, как крупных, располагающих  собственными производственными мощностями, так и таких которые специализируются на разработке IP (интеллектуальной собственности) начали активную разработку библиотек заранее спроектированных модулей и периферийных устройств, позволяющих оперативно создавать приборы с наперед заданными рынком возможностями.     

Активную, и подкрепленную реальными  достижениями, позицию в данной области  занимает фирма Advanced RISC Machines (ARM) - специализирующаяся на разработке микропроцессоров и периферии  к ним и продающая лицензии на свою IP.    

Кремниевыми партнерами ARM, т.е. фирмами, использующими разработки ARM при создании своих приборов, являются такие ведущие производители, как Alcatel, Amtel, Asahi Kasei Microsystems, Cirrus Logic, Digital, GEC Plessey, Hyinday, Lucent, Lucky GoldStar, NEC, OKI, Philips, Rockwell, Rohm, Samsung, Sharp, Sony, Symbios, Texas Instruments, VLSI, Yamaha. Некоторые из этих компаний используют разработанные ARM процессоры для специальных применений, однако большинству они нужны для мобильных телефонов, систем управления автомобильными двигателями, лазерных принтеров PostScript и других устройств массового применения и для всех этих устройств необходимы такие качества, как высокое быстродействие, умеренная цена и низкое энергопотребление.    

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

Фирмой разработан целый ряд 32-разрядных RISC процессоров с различными возможностями  и различной производительности а ее процессор ARM7, разработанный  еще в1994 году, используется до настоящего времени.    

Сама фирма определяет процессор ARM7 как универсальное, с малым потреблением, ядро 32-разрядного RISC микропроцессора, предназначенное для использования в различных заказных и специальных ИС. Малые размеры RISC ядра позволяют успешно интегрировать его в большие заказные схемы, которые могут содержать RAM, ROM, DSP, дополнительную логику и другие элементы.     

К областям применения ядра ARM7 фирма  относит:

  1. Телекоммуникацию - контроллеры GSM терминалов
  2. Обмен данными - средства преобразования протоколов
  3. Портативные вычисления - Palmtop компьютеры
  4. Портативные измерительные устройства - карманные устройства сбора данных
  5. Автомобильную технику - устройства управления двигателем
  6. Информационные системы - Smart карты
  7. Средства отображения - JPEG контроллеры

Основные характеристики ядра ARM7

  1. 32-разрядный RISC процессор (32-разрядные шины данных и адреса) с производительностью 17 MIPS при тактовой частоте 25 МГц (пиковая производительность 25 MIPS)
  2. 32-разрядная адресация - линейное адресное пространство в 4 Гбайта - исключает потребность в сегментированной, разделенной на банки или оверлейной памяти
  3. Тридцать один 32-разрядный регистр общего назначения и шесть регистров состояния
  4. Регистры адресов, записи и конвейера
  5. Циклическое сдвиговое устройство и перемножитель
  6. Трехуровневый конвейер (выборка команды, ее декодирование и выполнение)
  7. Рабочие режимы Big Endian и Little Endian
  8. Напряжение питания 3,3 и 5 В
  9. Малое потребление 0,6 мА/МГц, при изготовлении по CMOS технологии с топологическими нормами 0,8 мкм.
  10. Полностью статическая работа, позволяющая дополнительно снижать потребление за счет уменьшения тактовой частоты, что идеально для критичных к потреблению применений
  11. Быстрый отклик на прерывания применений реального масштаба времени
  12. Поддержка систем виртуальной памяти
  13. Простая но мощная система команд

 

    Необходимо отметить, что перевод ядра на технологию с  уменьшенными топологическими нормами  позволяет как повысить его производительность, так и еще больше снизить потребление.

Блок-схема ядра ARM7

 

    32-разрядная  система команд ядра ARM7 содержит одиннадцать базовых типов команд:

  1. Два типа используют встроенное арифметико-логическое устройство, циклическое сдвиговое устройство и умножитель при операциях над данными в банке из 31 регистра, форматом по 32 разряда каждый;
  2. Три класса команд управления перемещением данных между памятью и регистрами, один оптимизированный на обеспечение гибкости адресации, другой под быстрое контекстное переключение и третий под подкачку данных;
  3. Три команды управляют потоком и уровнем привилегии выполнения;
  4. Три типа предназначены для управления внешними сопроцессорами, что позволяет расширить функциональные возможности системы команд за пределами ядра.

 

    Система команд ARM хорошо обрабатывается компиляторами  языков высокого уровня. В отличие от некоторых RISC процессоров, процессор ARM7, при возникновении необходимости в некотором уменьшении объема кодов, допускает программирование и на ассемблере.    

Предоставляя, на лицензионной основе, ядро ARM7 своим кремниевым партнерам  фирма ARM на основе разработала микроконтроллеры ARM7100, ARM7500 и ARM7500FE и, пожалуй, небольшое описание этих микроконтроллеров позволит оценить возможности, предоставляемые ядром ARM7.    

Микроконтроллер ARM7100 можно назвать  микроконтроллером широкого применения, поскольку он ориентирован на использование в таких устройствах как: персональные информационные устройства (PDA) и органайзеры, интеллектуальные мобильные телефоны и многофункциональные пейджеры, карманные измерительные устройства и системы сбора данных - в двух словах - от карманных игр до офисного оборудования. Микроконтроллер организован по модульному принципу с использованием внутренней шины AMBA, организующей взаимодействие ядра со стандартными библиотечными ячейками периферии.    

Два других микроконтроллера ARM7500 и ARM7500FE являются однокристальными микрокомпьютерами, ориентированными реализацию мультимедиа устройств, портативных и настольных компьютеров, карманных вычислительных и измерительных устройств, интерактивных приставок цифрового TV, игровых консолей. Эти два микроконтроллера отличаются друг от друга наличием в приборе ARM7500FE ускорителя операций с плавающей точкой (FPA) и, соответственно, его более высокой производительностью. Они также реализованы по модульному принципу и объединяют ядро ARM7 с самодостаточными макроячейками видео, звука, FPA (ARM7500FE) и стандартных библиотечных ячеек периферии.     

Общим для всех трех микропроцессоров является использование ядра ARM7, встроенного  единого кэш команд и данных емкостью 8 Кбайт (ARM7100) и 4 Кбайт (ARM7500 и ARM7500FE), MMU, буфера записи, наличие режимов энергосбережения.

Основные характеристики: 
ARM7100

  1. Производительность 18,4 MIPS при тактовой частоте 18,4 МГц и напряжении питания 3,3 В 
  2. Потребление 66 мВт при напряжении питания 3,3 В
  3. Встроенный единый кэш команд и данных емкостью 8 Кбайт
  4. Интерфейс ROM и расширения (сегменты 8x256 Мбайт 8-, 16- и 32-разрядные)
  5. Контроллер DRAM с поддержкой быстрого страничного режима (8-, 16- и 32-разрядных)
  6. Адресуемое пространство в 3072 Мбайт
  7. Порты I/O (4x8 + 1x4)
  8. Телефонный CODEC интерфейс с FIFO на 16 байт
  9. Программируемый контроллер LCD (halfVGA - 640x240) с поддержкой DMA
  10. Полнодуплексный UART с двумя 16-разрядными FIFO и логикой протокола IrDA
  11. Синхронный последовательный интерфейс
  12. Два 16-разрядных таймера/счетчика и сторожевой таймер
  13. Часы реального времени с компаратором
  14. Два интерфейса с DC-DC преобразователями
  15. Корпус PQFP с 208 выводами

ARM7500

  1. Производительность 30 Dhrystone 2.1 MIPS при тактовой частоте 33 МГц и напряжении питания 5 В
  2. Потребление 680 мВт при напряжении питания 5 В и работе на драйвер SVGA монитора
  3. Встроенный единый кэш команд и данных емкостью 4 Кбайта
  4. Прямое подсоединение ROM и быстрый страничный режим DRAM (16- и 32-разрядных)
  5. Адресуемое пространство в 288 Мбайт
  6. Трехканальный контроллер DMA (видео, курсор и звук) с производительностью 63,6 Мбайт/с
  7. Контроллер I/O, поддерживающий AT-PC шину и подключение PCMCIA
  8. Два последовательных порта (клавиатура/мышь)
  9. Четырехканальный ADC (подключение джойстика)
  10. Система обработки звука с качеством CD и 8-канальный стерео выход
  11. Видеоконтроллер с частотой пикселей 120 МГц и разрешением SVGA/SGA (1024x768)
  12. 8-разрядные DAC (R,G,B) для управления драйвером CRT
  13. Формирователь сигнала с 16 уровнями серого для LCD дисплея
  14. Корпус PQFP с 240 выводами

 

    ARM7500FE - характеристики аналогичны характеристикам ARM7500 за исключением:

  1. Производительность 36,3 Dhrystone 2.1 MIPS при тактовой частоте 40 МГц и напряжении питания 5 В
  2. Потребление 800 мВт при напряжении питания 5 В и работе на драйвер SVGA монитора
  3. Встроенный ускоритель операций с плавающей точкой (FPA), совместимый с IEEE 754-1985, обеспечивающий 5,7 млн циклов SAXPY и до 6 MFLOP Linpack (на частоте 40 МГц)
  4. Пиковая полоса пропускания памяти 128 Мбайт/с
  5. Исключен аналоговый порт звука

 

    Уровень интеграции функций на одном кристалле иллюстрируется блок-схемой микроконтроллеров ARM7500 и ARM7500FE.    

Примечание: FPA размещен только в приборе ARM7500FE.    

Как видно из выше перечисленного, на основе ядер ARM7 реализуются достаточно мощные и сложные приборы, по своей производительности приближающиеся к производительности рабочих станций недавнего прошлого, что обеспечивается высокопроизводительным RISC ядром и мощной 32-разрядной ARM системой команд.    

Необходимо отметить, что программы, подготовленные даже для довольно эффективной 32-разрядной ARM системы команд, требуют памяти значительного объема, что в свою очередь приводит к росту общей стоимости системы. Специалисты фирмы ARM предложили решение этой проблемы, разработав и внедрив технологию Thumb, технологию, позволяющую существенно сократить объем кодов, необходимых для реализации той же программы, что выполняется на 32-разрядной ARM системе команд. До настоящего времени эта технология считается лучшей из технологий, использующих сжатые системы команд.

Архитектура с расширенными возможностями

 

    Архитектура RISC фирмы ARM обеспечивает как малое  потребление мощности и малый  размер кристалла так и высокую  производительность, необходимые во встраиваемых применениях. Фирма ARM расширила возможности этой архитектуры, с точки зрения решения проблемы размера кодов, разработав новую технологию - новую систему команд Thumb.    

В этом кратком обзоре описывается  технология Thumb фирмы ARM.    

Существует несколько подходов, решающих проблему размера кода: 

  1. Написание кода вручную на ассемблере 
    Для получения минимального размера кода программист может писать коды вручную - на ассемблере. Однако, этот процесс может занять непрактично большое время и в результате может быть получен код, который трудно поддерживать и всего лишь на 10-20% более компактный чем код, полученный при использовании хорошего компилятора. Корень проблемы, неэффективность кода, все еще не решается.
  2. Использование улучшенного компилятора 
    Технология компилирования может улучшить код, но опять таки меньшим размер кода будет при ручном кодировании на ассемблере .
  3. Использование компрессированного кода 
    Одним из вариантов может быть использование некоторой формы сжатого кода, который разворачивается во время выполнения. Однако, быстрая декомпрессия, которая не будет снижать производительность процессора при выполнении этого кода, достаточно сложна и требует использования дополнительных ресурсов системы.

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