ARM как общий знаменатель




Итак, элементная база КПК и мобильных устройств сегодня в основном унифицирована. В эволюционной борьбе выиграли решения трех поставщиков — Intel, Texas Instruments и Samsung, а многообразие схемотехнических решений свелось к выбору и применению того или иного высокоинтегрированного модуля и подбору компонентов, исходя в основном из цены и, возможно, специфических требований, накладываемых выбранной ОС. Все они построены на архитектуре ARM.

ARM: генезис

В 1985 г. английская компания Acorn Computer Group приступила к созданию RISC-процессора. Эта фирма занималась разработкой персональных компьютеров, которые пользовались популярностью в Англии. Машины были весьма интересные: уже тогда они имели графический интерфейс, многозадачный режим работы, весьма стройную архитектуру. Необходимость в собственном ЦП была связана с требованиями роста и развития, компании было необходимо конкурировать как с многочисленными ПК других изготовителей, так и с IBM PC (в Англии его победа была не столь быстрой и триумфальной, как в США).

До этого момента Acorn разрабатывала и делала все самостоятельно, от процессоров и системных плат до ОС и прикладного ПО. Но тут руководство приняло решение отойти от привычной практики, и Acorn направила в Intel запрос на лицензирование ядра ЦП i80286 — по тем временам новинки. Однако Intel не согласилась:

«Мы продаем процессоры, а не ядра». Acorn была вынуждена искать другие решения. В то время выбор огранивался кристаллами National 16032 и Motorola 68000, причем оба ЦП разработчики забраковали. Они плохо вписывались в архитектуру, были сложны, обеспечивали плохое время реакции на прерывания и т. п. Последнее стало основной причиной отказа от них, поскольку для Acorn скорость обработки прерываний была одним из критичных параметров, определявших «отзывчивость» системы. В итоге принимается решение самостоятельно разрабатывать новый ЦП.

Ресурсы скромной фирмы были несравнимы с возможностями лидеров полупроводниковой индустрии. И решение о реализации системы на базе архитектуры RISC, в то время набиравшей популярность, но еще относительно новой, в значительной степени было обусловлено именно недостатком ресурсов. RISC-процессор был технологически проще, позволял добиться значительной вычислительной мощности, хорошего времени реакции на прерывания, а значит, и времени отклика системы и т. д. Началась разработка (хотя даже сами разработчики считали свое занятие сумасшествием), в октябре 1983 г. был готов первый прототип и ряд микросхем сопровождения (видеоконтроллер, контроллер ввода-вывода, память и пр.). ЦП получил название ARM (от Acorn RISC Machine), имел тактовую частоту 8 МГц и более высокое быстродействие, чем тогдашний 80286. Правда, начальная версия в производство не пошла, в реальных системах использовался ARM 2.

В течение нескольких лет дела Acorn и ARM шли довольно вяло, под натиском х86 легендарные компьютеры «восьмибитной» эры один за другим сдавали позиции. Acorn держался долго, но... После продолжительного периода неудач и финансовых неурядиц Acorn RISC Machine была реорганизована в ARM Limited, которая оказалась более успешной, чем ее прародитель. ARM начала лицензировать технологические решения, в том числе ядро ЦП. И именно эта стратегия принесла ей успех. Сегодня ARM Ltd. — один из крупнейших «бесфабричных» разработчиков микропроцессорных архитектур. Лицензии на ядро ARM сейчас имеет практически любая более или менее крупная компания и даже некоторые конкуренты ARM (в том числе и Intel).

ARM: эволюция

В 1991 г. был создан ARM6 (вариантов ARM4 и ARM5 не было по маркетинговым соображениям). ARM 610 стал основой знаменитого Apple Newton MessagePad (до того Apple подумывала также о ЦП AT&T Hobbit). Этот ЦП обеспечивал достаточное быстродействие и был немного сложнее предшественников (35 тыс. транзисторов против 30 тыс. в ARM3), что позволяло удешевить производство на полупроводниковых заводах того времени.

В то же время появилась принятая и сегодня схема обозначений: ARM6 — собственно ядро, ARM60 — целостный ЦП, ARM610 — более развитые модификации ЦП с кэш-памятью, остальные цифры в номере означают наличие той или иной периферии, буквы — те или иные расширения системы команд.

Сегодня ARM предлагает широкую номенклатуру микропроцессорных ядер, архитектурных расширений, инструментальных средств и т. п. Если подходить к вопросу строго, то нужно заметить, что «процессора ARM» как такового не существует. ARM — это название архитектуры. Компания-разработчик продает ядро ЦП, оформленное либо в виде программы на языке Verilog (синтезируемые ядра), либо принципиальной схемы, либо в виде топологической макроячейки. Кроме ЦП предлагается целый ряд других решений, в частности библиотека макроячеек, реализующих стандартную периферию (PowerCell), а также разнообразные дополнительные технологии.

Модельный ряд ядер ARM развивался весьма интенсивно. В номенклатуре ядер ARM место младшего занимает семейство ARM7 Thumb, оно обеспечивает производительность около 130 MIPS, очень компактно (при проектных нормах 180 нм модификация ARM7TDMI занимает всего 0,59 мм2), удельное энергопотребление 0,25 мВт/МГц. Существуют также синтезируемые ядра ARM7TDMI-S и ARM7EJ-S, отличающиеся наличием в системе команд DSP-инструкций и средств акселерации работы виртуальной машины Java (Jazelle). ARM720T оснащается полнофункциональным модулем управления памятью (MMU, размер страницы 4-64 Кбайт), а ARM740T — упрощенным (MPU, без режима трансляции адресов). Оба ЦП имеют кэш-память (8 Кбайт).

В феврале 1996 г. DEC в сотрудничестве с ARM разработала первый ЦП серии StrongARM (SA-110) с пятиступенчатым конвейером, пятипортовым файлом регистров, блоком умножения и т. д., его энергопотребление примерно 1 Вт при тактовой частоте до 233 МГц.

ARM8 — в известной мере переходная модель, разработанная «по следам» совместного с DEC проекта StrongARM, довольно быстро сменившаяся ARM9 (с гарвардской шиной, буфером записи, гибкой схемой защиты памяти). Серия ARM9 Thumb создавалась для портативных устройств со значительными требованиями к быстродействию, производительность ядра достигает 220 MIPS, удельное потребление 0,3 мВт/МГц. В серии имеется несколько модификаций (в том числе ARM920T, ARM922T и ARM940T) с раздельными кэшами команд и данных (16/16, 8/8 и 4/4 Кбайт соответственно). Модификации ARM920T и ARM922T оснащаются MMU. В этой же серии существует семейство ядер ARM9E-S Thumb с DSP-расширениями системы команд и дополнительными средствами, повышающими быстродействие при обработке медиа-кода (в частности, умножитель-накопитель, в ЦП может быть предусмотрен математический сопроцессор VFP9-S, обеспечивающий выполнение операции с плавающей точкой над данными двойной точности). Емкость кэша от 1 Мбайт в ARM946E-S до 4-128 Кбайт в ARM926EJ-S.

Серия ARM10 Thumb ориентирована на 110-нм технологический процесс. Быстродействие ЦП этой серии достигает 700 MIPS при сохранении удельного потребления ARM9. В ядре используются 64-разрядные шины адреса и данных, имеются модули управления памятью команд и данных, в ядро может быть включен математический сопроцессор и т. д.

ARM 11 привнес рост производительности (до 1200 Dhrystone MIPS), еще более мощные средства кодирования и декодирования с акцентом на операции, свойственные MPEG-4, возможность роста тактовых частот за пределы 1 ГГц, улучшенные возможности организации многоядерных конфигураций и т. д.

Кроме процессорных ядер, существует несколько версий самой архитектуры ARM. Об этом следует помнить, поскольку нумерация ядер и архитектур не совпадает (например, в наиболее мощном на сегодня ядре ARM11 реализована система команд ARMv6).

Самая старая из существующих сейчас архитектур — ARMv4, она используется, например, в популярных ЦП StrongARM. ARN\v1 предполагает работу с 32-разрядными операндами в 32-разрядном адресном пространстве. ARMv4T — то же, но с добавлением набора инструкций Thumb (команды Thumb транслируются в их 32-разрядные аналоги). ARMv5 реализована в процессорах Intel XScale. Версия ARMv5TE стала первой, где реализованы DSP-расширения ARM, ARMv5TEJ — то же, но с добавлением команд акселерации Java (Jazelle). ARMv6 была серьезно доработана: появились средства работы с потоковыми данными (SIMD), Thumb-2 TrustZone. Архитектура ARMv7 ввела понятие «процессорных профилей»: «профиль А» определял требования к ЦП для полномасштабных ОС со сложной логикой работы с виртуальной памятью и прикладным ПО, «R» — для систем реального времени, «М» — для микроконтроллеров.

ARM inside

ARM — 32-разрядная, классическая load/store (в качестве операндов могут использоваться только загруженные в регистры процессора значения) RISC-архитектура. Она исключительно эффективна, обеспечивает высокое быстродействие и минимальные требования к питанию и при этом проста с точки зрения технологического процесса изготовления СБИС. В ранних моделях использовалась классическая архитектура фон Неймана (с общей памятью для данных и машинного кода), в современных моделях используется гарвардская архитектура (с раздельной памятью для кода и данных, как минимум на уровне кэша).

ЦП совместимы сверху-вниз, система команд довольно оригинальна, в частности все команды имеют одинаковую длину, выровнены по границе 32-разрядного слова, выполняются за один такт (за некоторыми исключениями). В классических ARM конвейер был короткий, всего три ступени, в современных вариантах доходит до восьми, а также реализуются средства суперконвейерной обработки. Кроме того, все команды условные для минимизации потерь при ветвлении (нередко для фрагментов кода выгоднее пропустить несколько команд, чем заниматься предсказанием ветвлений). Впрочем, в ряде модифицированных архитектур используются и блоки предсказания ветвлений (прежде всего это, конечно, Intel XScale). Имеются команды групповой пересылки, организации взаимодействия с сопроцессором и т. д. Менеджер памяти (MMU) в классической реализации также выполнен в виде отдельного модуля.

В ядре ARM имеется 16 видимых в пользовательском режиме 32-разрядных регистров (R0...R15, всего 31 регистр), счетчик команд (R15), регистр «связи» (R14), указатель стека программ (R13). Процессор может находиться в пяти режимах: привилегированном, пользовательском, прерывания, быстрого прерывания и исключения. При вызове обработчика быстрого прерывания стандартные регистры R8-R14 переименовываются (затеняются), при переходе из нользовательско-го режима в любой из системных переименовываются регистры R13 и R14. Предусматриваются механизмы быстрой обработки прерываний с оригинальной схемой «затенения» регистров (благодаря этому удается избежать такой «тяжелой» операции, как сохранение их содержимого в обработчике прерывания).

В процессорах ARM имеется ряд расширений системы команд, они присутствуют в соответствующим образом помеченных ядрах. Отметим, в частности, наличие специального 16-разрядного подмножества команд Thumb. Оно было разработано в связи с необходимостью повышения компактности кода. Как известно, программный код RISC-ЦП в среднем значительно объемнее, чем для CISC. Хотя ARM и здесь смотрится весьма достойно, тем не менее оставалась возможность оптимизировать этот параметр. Для этого было выбрано некое подмножество команд ЦП, которые были приведены к 16-разрядному виду путем удаления «избыточных» полей в операндах, адресации меньшего количества регистров и т. д. При таком подходе код становится компактнее на 25-35% (в зависимости от особенностей конкретного алгоритма), что важно при организации хранения программных модулей в условиях дефицита памяти. Процессор способен исполнять его с небольшими потерями в скорости, на лету транслируя команды в их 32-разрядные аналоги. Также имеются специальные средства для ускорения работы виртуальной машины Java (Jazelle), безопасности (Trust-Zone), SIMD.

Впрочем, обсуждение архитектуры ARM — это отдельная, весьма интересная тема, за более подробной информацией стоит обратиться к документации на ЦП (в частности, на Web-узле разработчика, www.arm.com).

На сегодня ARM стал стандартом де-факто в мире процессоров для сверхкомпактных устройств. Все три популярные сегодня платформы для КПК, смартфонов и коммуникаторов — Intel PCA (XScale), TI ОМАР/ 0МАР2 и Samsung S3C — основаны именно на ней. Рассмотрим их подробнее.

Intel PCA

По меткому выражению одного из корифеев компьютерной индустрии, «архитектура х86 есть торжество маркетинга над здравым смыслом». Эти ЦП тянут на себе ужасающий груз совместимости, а в жизни инженеров Intel (правда, в основном у технологов) в буквальном смысле есть место подвигу, когда приходится выпускать новые ЦП, сохраняя совместимость с разработками, созданными более двух десятилетий назад. Но в сегменте настольных и мобильных ПК, реализованных на традиционных технологиях, выхода нет — требования совместимости для ноутбуков звучат столь же значимо, как и для настольных ПК. Тем не менее в сегменте карманных компьютеров ситуация несколько иная.

Компания Intel — один из главных участников рынка в секторе ЦП для карманных ПК. Но именно «один из», здесь у нее есть сильные соперники, с которыми приходится бороться не только маркетинговыми, но и технологическими приемами.

В данный момент у Intel имеется три серии микросхем для карманных ПК (одна — для мобильных телефонов) и ряд дополнительных системных решений. История мобильных разработок Intel XScale, в общем, началась с покупки процессорного бизнеса компании Digital Equipment, создавшей микропроцессор StrongARM. Он несколько отличался от существовавших тогда реализаций. Главная задача, которую ставили перед собой разработчики этого ЦП, — создание быстродействующего ЦП с минимальными требованиями к питанию. Позднее, после покупки Intel микропроцессорного подразделения DEC, этот процессор выпускала компания Intel. Она довольно долго не обращала внимания на эту процессорную серию (во многом покупка была обусловлена возможностью разрешить ряд патентных коллизий, а вовсе не интересом к наработкам соперника; тем более что Intel на тот момент акцентировала внимание на RISC-ЦП других серий, таких, как i860 и i960).

Тем не менее Intel наладила производство StrongARM SA-1110 и разработала несколько его модификаций. ЦП (строго говоря, это была высокоинтегрирован-ная СБИС) StrongARM был основан на архитектуре ARMv4, имел трехступенчатый конвейер, 32-разрядную адресацию, аппаратную поддержку виртуальной памяти (двухуровневая таблица страниц), 32-Кбайт кэши команд и данных, 32-Кбайт буфер и был несовместим с режимом Thumb. StrongARM мог функционировать при частота^ 133, а позднее 206 МГц (до того нормой считалось 33—66 МГц).

Intel выпустила также микросхему сопровождения SA-1111, содержавшую контроллер USB, управления питанием, некоторую периферию. Эта микросхема также может быть использована с процессорами серии РХА25х.

Именно на StrongARM был построен первый КПК с Windows СЕ, использующий ЦП с архитектурой ARM — Compaq iPAQ. StrongARM SA-1110 потреблял 0,25 Вт при высокой (большей, чем у ЦП SH3 и MIPS, также применявшихся в КПК с Windows СЕ) производительности. Спустя некоторое время, в немалой степени благодаря успеху и популярности iPAQ, архитектура ARM стала стандартом де-факто в мире КПК, и с анонсом платформы Windows Powered Pocket PC 2000 Microsoft только закрепила это положение и де-юре. Обретя гарантированный рынок сбыта, Intel занялась совершенствованием серии, переименовав ее в XScale (в частности, был добавлен набор инструкций Thumb, улучшены средства управления питанием, расширена система команд и т.д.).

Сегодня комплекс технологий для рынка интеллектуальных мобильных устройств компания именует Intel Personal Internet Client Architecture (PCA). Строго говоря, использовать термин «платформа» в смысле полного, но достаточно жесткого и ограниченного определенными рамками архитектурного решения, в случае с Intel PCA было бы не совсем правомерно. Это скорее воплощение некоего стратегического видении Intel в отношении создания мобильных устройств. РСА специфицирует базовые компоненты, необходимые для решения этой задачи, в то же время оставляя возможность для маневра изготовителям. Не в последнюю очередь она нацелена на создание простой методологии создания мобильного ПО с высокой степенью переносимости или с минимальными требованиями к адаптации.

В рамках РСА существует несколько направлений: ЦП для мобильных и встраиваемых применений, архитектура для DSP-решений, флэш-память. В ряде случаев туда же относится такое направление, как разработка высокоинтегрированных СБИС для сверхминиатюрных устройств (в данном контексте прежде всего мобильных телефонов) и специализированных микросхем, подобных мобильным видеоакселераторам.

ЦП и другие аппаратные компоненты в терминологии Intel относятся к «прикладной подсистеме» (Application Subsystem). Она охватывает платформу XScale и прикладные подсистемы, такие, как управление ресурсами, взаимодействие с ОС (ввод-вывод, подключение устройств и накопителей и т. д.). Кроме того, она предоставляет интерфейсы взаимодействия с внешней памятью, периферией, системой управления питанием. Кроме того, на нее же возлагаются задачи организации высокоуровневого сетевого взаимодействия, прежде всего для подключения к беспроводным сетям Bluetooth и Wi-Fi, а также и обработки подключения к сотовым сетям.

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

Еще один компонент — «стандартная шина». Intel разработала спецификацию унифицированной шины, на базе которой организован интерфейс для связи всех подсистем и компонентов как управляющих, так и передачи данных между прикладной и коммуникационной подсистемами. Здесь следует отметить, что именно унифицированность шины обеспечивает гибкость конфигураций при создании мобильных устройств. Она специфицирует не столько конкретные физические реализации, сколько необходимое подмножество функций, в том числе (в некоторых реализациях) средства обеспечения обратной совместимости или масштабирования.

Подсистема управления памятью специфицирует требования к памяти, определяя ее структуру с учетом типов модулей, производительности и энергопотребления различных типов памяти и охватывая как DRAM, так и энергонезависимую память (например, кэш, ОЗУ, системную память с возможностью «запуска-по-месту», XIP, а также внешние твердотельные накопители). В частности, предусматривается возможность разнообразных блокировок, разделения на логические «разделы» и т. д. Естественно, здесь главное место занимает флэш-память Intel, хотя на практике встречаются реализации и с памятью других изготовителей.

Основное преимущество РСА — предоставление полного комплекса схемотехнических решений для создания мобильных устройств, что позволяет их изготовителям миновать наиболее трудоемкие и дорогостоящие этапы подготовки аппаратных средств. Кроме того, в отличие от ASIC некоторых других изготовителей, Intel предоставляет достаточно полный и гибкий комплекс аппаратных средств и программного обеспечения, необходимых для воплощения в жизнь довольно широкого спектра мобильных концепций, включая даже довольно необычные и сложно совмещаемые с «монолитными» решениями. Примерами тут могут служить смартфоны, КПК, планшетные системы, коммуникаторы и даже интеллектуальная бытовая техника.

Недостаток этой платформы — в цене: на рынке есть и более дешевые решения, правда, уступающие разработкам Intel, но тем не менее позволяющие добиться хорошего компромисса с точки зрения потенциальной аудитории пользователей (например, серия КПК palmOne Zire, которые, несмотря на минимальные технические возможности, достаточно популярны, поскольку стоят зачастую менее 100 долл.). И даже несмотря на декларируемую изготовителем пригодность решений семейства РСА для устройств начального уровня, стремление Intel стимулировать изготовителей создавать более мощные и дорогие устройства просматривается достаточно явно.

Компоненты РСА, естественно, оптимизированы с точки зрения энергопотребления. К решению этой актуальной для мобильных устройств проблемы Intel подходит с двух сторон — как снижая требования к питанию собственно аппаратных компонентов («статический» подход), так и оптимизируя средства автоматической настройки в зависимости от сценария действий пользователя и характера выполняемых операций, а как следствие, нагрузки на основные подсистемы КПК («динамический» подход).

Еще один важный, хотя и несколько «сторонний» компонент — обширный набор хорошо проработанных программных средств, от интеграции и оптимизации ПО для различных программных сред до компиляторов и специализированных библиотек Intel Integrated Performance Primitives (Intel IPP) 2.0. В целом это тема отдельного разговора, хотя следует отметить, что платформа Intel совместима с большинством популярных мобильных ОС, таких, как Symbian, Palm OS, Java 2 Micro Edition (последняя не относится к ОС, но суть та же).

Intel XScale

В семействе процессоров XScale три серии: 270 (наиболее современная и мощная модификация), 260 (первая серия мобильных ЦП Intel, упакованных по технологии Multiple-Chip Product) и 250 (самая первая серия XScale). В целом схемотехника и дизайн в рамках семейства одинаковы, ЦП отличаются наличием интегрированной периферии и габаритами. Обозначение серии — это обозначение ЦП, модификации — системы, где, кроме ЦП, интегрирована память, необходимые контроллеры и периферия (например, РХА 271 — 32 Мбайт Intel StrataFlash плюс 32 Мбайт SDRAM).

Изготовитель имеет возможность приобретать как сам ЦП, так и законченный комплект, в большинстве случаев используется первый вариант (поскольку на рынке есть существенно более доступные по ценам модули флэш-памяти).

Микроархитектура XScale предусматривает семи-, восьмиступенчатый конвейер с возможностью суперконвейерной обработки, средства динамического управления питанием, включая напряжение и тактовую частоту, расширения системы команд, предназначенные для ускорения обработки мультимедиа-данных, буфер предсказания переходов на 128 позиций, 32-Кбайт кэши инструкций и данных (IMMU/DMMU), 2-Кбайт мини-кэш, буфер для предотвращения «пробуксовки» кэша при обработке быстроменяющихся потоков данных. Также имеются блоки управления трансляцией адресов при выборке команд и инструкций (на 32 позиции каждый), мониторинга производительности, отладочный модуль (с возможностью расставлять точки прерывания и буфером трассировки на 256 позиций). Внутренняя шина данных имеет ширину 64 бита, обеспечивает одновременный ввод и вывод 32-бит слов, пропускная способность достигает 4,8 Гбайт/с (2,4 Гбайт/с в каждом направлении) при тактовой частоте 600 МГц. Кроме того, имеется буфер записи (восемь позиций), который обеспечивает возможность продолжения обработки, не дожидаясь завершения операций записи в память.

Архитектура Intel XScale совместима с системой команд ARMv5TE. Интересная особенность — суперконвейерная обработка, что и позволяет существенно повышать тактовые частоты. В конвейере объединяются целочисленные и МАС-операции, а также операции работы с памятью. Кроме того, имеется вычислительный сопроцессор, обеспечивающий ускорение обработки медиа-данных.

XScale PXA255. Единственная выпускаемая сейчас микросхема серии РХА25х, представляющая собой интегрированную систему, изготавливается по 180-нм технологии. Ядро ЦП функционирует на тактовой частоте 200—400 МГц. В этой модели была решена проблема недостаточной пропускной способности шины, которая в свое время попортила немало крови конструкторам КПК, когда с выпуском ЦП РХА250 выяснилось, что использование более мощного ЦП не дает ощутимого прироста скорости. Тактовая частота внутренней шины составляет 200 МГц (против 100 МГц в РХА250). Кроме того, микросхема была совместима с полным комплексом периферии, в том числе с платами расширения (PCMCIA/CF и MMC/SD), USB (клиент). Модуль Peripheral Control Module обеспечивает 16 программируемых каналов DMA, интегрированный контроллер ЖК-дисплея (также с DMA для ускорения работы с цветными экранами), интерфейс для коммуникационных контролеров (Bluetooth и сотовая связь), поддержку последовательной периферии, IrDA (FIR и SIR), три UART (один с аппаратным управлением потоком), кодек АС'97, высокоскоростной интерфейс для флэш-памяти StrataFlash и т. д. Модуль System Control Module предоставляет 17 портов ввода-вывода, часы, сторожевой и другие таймеры, контроллер питания, прерываний, два генератора тактовой частоты. Микросхема размещена в корпусе PBGA, площадь монтажа 17x17 мм.

XScale PXA26x. Это семейство стало первым, в котором Intel использовала метод упаковки Multiple-Chip Product. Кристаллы серии РХА26х — высокинтегриро-ванные системы, содержащие в одном корпусе не только ЦП, но и флэш-память довольно большого объема. В корпусе РХА261 размещается 16 Мбайт, РХА262 и РХА263 — 32 Мбайт флэш-памяти Intel StrataFlash, максимум для микросхемы — 256 Мбайт. Тактовые частоты до 200 и 300 МГц соответственно. Также предусматривается интегрированный контроллер дисплея, карт памяти и т. д. Еще одно важное отличие — 32-разрядная шина внешней памяти.

Площадь монтажа ЦП — 13x13 мм, корпус — TF-BGA (294-контактный). Это семейство ЦП предназначалось для высокопроизводительных КПК, правда, готовых устройств с процессорами этого семейства появилось не очень много, поскольку на момент выпуска этой модели КПК с РХА255 еще оставались достаточно новыми и позиционировались как High-End (изготовители делали ставку на беспроводные возможности и большое количество разъемов расширения, а не на вычислительную мощность), а потом появились РХА27х.

XScale PXA27x. Наиболее совершенный на сегодня ЦП серии XScale, находящийся в массовом производстве (кодовое название Bulverde), создавался с учетом накопленного Intel опыта, что и обусловило его популярность. В семействе РХА27х имеется довольно много модификаций.

Процессор обеспечивает высокую степень адаптивности для различных применений, что позволяет строить на его основе как высокопроизводительные high-end КПК, так и относительно недорогие системы. Кроме того, Intel ориентировалась и на применение этого ЦП как базового элемента смартфонов и коммуникаторов, в том числе для сетей третьего поколения (насыщенных мультимедийными данными).

Процессорное ядро имеет семиступенчатый конвейер, 32-Кбайт кэши инструкций и данных, 2-Кбайт мини-кэш. Также предусмотрено 256 Кбайт внутренней памяти SRAM, которая используется, в частности, для хранения и обработки данных в режимах с пониженным энергопотреблением. Тактовая частота ЦП может изменяться в диапазоне 104-624 МГц, напряжение питания ядра — 0,85-1,55 В. Предусматривается возможность работы с четырьмя банками SDRAM (до 512 Мбит, до 104 МГц). В зависимости от модификации ЦП РХА27х выпускаются в разных корпусах: 356-контактном VF-BGA, PXA271 и РХА272 — в 336-контактном FS-CSP. В процессоре может быть интегрирована флэш-память StrataFlash, предусматривается возможность подключения модулей NAND-ППЗУ.

В этой серии Intel реализовала ряд достаточно новых решений, таких, как Mobile SpeedStep и улучшенные средства обработки мультимедиа-данных Wireless ММХ, благодаря которым он оказался в состоянии конкурировать со СБИС, содержащими специализированные ядра DSP (прежде всего речь идет о Texas Instruments).

К числу таких разработок можно отнести и Intel Quick Capture, подсистему ускорения обработки растровой графики, снимаемой с камер и источников звука. Стоит отметить Mobile-интерфейс Scalable Link (Intel MSL), предназначенный для взаимодействия коммуникационных и прикладных ЦП (пропускная способность до 416 Мбит/с) и снижающий нагрузку на шины данных системы.

Кроме того, все микросхемы семейства предоставляют средства поддержки самой разнообразной периферии, в том числе USB Host/Client, USB OTG, SD I/O, карт памяти (ММС/SDCard, Memory Stick), SIM-карт, клавиатур, PCMCIA/CF и т. д. На сегодня это единственная платформа, обеспечивающая приемлемое быстродействие при работе с экранами высокого разрешения (для КПК это 640x480), даже без подключения специализированных микросхем, таких, как NVIDIA GoForce, ATI Imageon или «родной» Intel 2700G.

Функциональность подсистемы Wireless SpeedStep, в общем, очевидна. От стандартных средств снижения энергопотребления, реализованных в ЦП других серий, Wireless SpeedStep отличается наличием новых режимов работы: «глубокий останов», «сон» и «глубокий сон». Идея примерно та же, что и в SpeedStep на ноутбуках, с той лишь разницей, что СБИС, лежащая в основе КПК, предоставляет возможность отключить значительно больше простаивающих в каждый конкретный момент времени блоков.

Intel Quick Capture — подсистема взаимодействия с устройствами, генерирующими потоки медиа-данных, прежде всего с камерами и источниками аудиопотоков (цифровые фотоаппараты, запись видео со звуком и т. д.). Предусматривается три режима: Quick View (предварительный просмотр изображения), Quick Shot (быстрое кодирование и запись картинки, до 4 Мпиксел) и Quick Video (запись видео).

Wireless ММХ основана на «обычной» ММХ, известной со времен Pentium ММХ. Как известно, в ЦП семейства ARM предусматриваются некоторые средства улучшения производительности для «поточных» программ, требующих обработки значительных объемов однотипных данных, но Intel руководствовалась прежде всего тем, что как система команд ММХ имеет заметно лучшую поддержку. Принципы оптимизации кода и использование этого набора инструкций хорошо знакомы множеству программистов; соответственно можно рассчитывать на появление большого количества оптимизированных для Wireless ММХ программ. Тем не менее заметим, что в реальной жизни этих программ немного, даже разработчики ОС не торопятся оптимизировать низкоуровневые программные модули для работы с WMMX (хотя в ряде случаев используются отдельные алгоритмы из библиотек сопровождения, предоставляемых Intel; как пример можно привести Kaspersky Personal Security для PDA, где, судя по данным разработчика, используется ряд криптоалгоритмов, созданных Intel в рамках программы Wireless Trusted Platform).

Максимальная тактовая частота РХА27х составляет 624 МГц. Это не предел, Intel уже достаточно давно анонсировала возможность «разгона» до 800 МГц и даже 1 ГГц, но в массовое производство такие решения пока не запущены. В реальных КПК используются также ЦП, где тактовая частота ограничена 520, 416 или 312 МГц в зависимости от ценовой ниши устройства (менее скоростные процессоры, естественно, стоят дешевле). При этом тактовая частота может изменяться динамически.

Кроме этих трех семейств, у Intel есть ряд радиотехнических решений. Например, СБИС для смартфонов — PXA800F, высокоинтегрированная «система-на-кристалле» для создания устройств, работающих в сетях GSM/GPRS, построенная на микроархитектуре Intel MSA. Она была совместно разработана Intel и Analog Devices (ADI), обеспечивает функциональность DSP и контроллера на одном ядре, предоставляя некоторые дополнительные возможности, прежде всего улучшенное управление питанием (разумеется, обеспечивает достаточно эффективную обработку медиа-данных). PXA800F построена на ядре XScale, имеет тактовую частоту 312 МГц, 4-Мбайт встроенную флэш-память и 512-Кбайт SRAM, ядро DSP функционирует с тактовой частотой 104 МГц, DSP оснащается 512-Кбайт флэш-память и 64-Кбайт SRAM.

Texas Instruments OMAP

Платформа ОМАР (Open Multimedia Applications Platform), созданная компанией Texas Instruments, используется преимущественно в устройствах с развитыми коммуникационными возможностями: смартфонах и коммуникаторах. В классических КПК она применяется реже, но встречается прежде всего в серии моделей palmOne. Причина популярности платформы TI в «коммуникационном» сегменте рынка мобильных устройств вполне понятна: имея множество наработок в области цифровой обработки сигнала, TI здесь представляется естественным кандидатом на роль поставщика платформы (как-никак изготовители смартфонов тоже заинтересованы в снижении времени выхода на рынок, а значит, удешевлении производства и разработки устройств). Так, например, сегодня TI ОМАР используется в смартфонах и коммуникаторах Nokia. Следует отметить, что относительная (в сравнении с некоторыми конкурентами) маломощность таких микросхем, как 1510, применяемых в высококлассных моделях, подобных Nokia 7710, компенсируется эффективностью Symbian OS. Фактически на достаточно скромных аппаратных средствах эта ОС обеспечивает на большинстве задач примерно ту же субъективную производительность, что и Windows Mobile, функционирующая на значительно более мощных ресурсах.

Что же касается КПК, то здесь TI долгое время предоставляла менее дорогостоящие платформы, чем Intel, что было важно в первую очередь при создании недорогих моделей карманных компьютеров. Когда каждое устройство продается менее чем за 150 долл., оно должно приносить изготовителю максимум прибыли, но при этом отвечать каким-то (не обязательно максимальным) требованиям и ожиданиям конечного пользователя. И TI предоставляла весьма удачное решение. Безусловно, на этой же аппаратной платформе строились и более мощные системы, но скорее как результат глобального соглашения между изготовителем КПК и TI.

TI ОМАР — архитектура, весьма сильно ориентированная на обработку сигнала. Это необязательно сотовая или беспроводная связь, вполне «подойдут» любые медиа-данные, имеющие потоковую природу, в том числе воспроизведение медиа-контента, что актуально для современных конвергентных устройств. Сегодня существует уже второе поколение этой платформы, ОМАР2, но, как видно из таблиц, есть очень много популярных моделей, построенных на первой версии этой архитектуры.

Изначально ОМАР создавалась как платформа, которая позволит сочетать довольно противоречивые требования мобильного рынка: прежде всего необходимость в высокой вычислительной мощности с минимальным энергопотреблением. С этой задачей удалось справиться благодаря созданию комплекса решений, охватывающих высокопроизводительный ЦП (на базе архитектуры ARM), ряд разработок TI в области цифровой обработки сигнала (конкретно DSP серии TI TMS320) и интеграции модулей разделяемой памяти. При этом все компоненты размещены на одном кристалле (решение более чем естественное, если вспомнить о специфике применения, хотя в определенной степени не настолько гибкое, как у соперников). В то же время называть ее «заказной микросхемой» в общепринятом смысле не совсем правомерно, ОМАР предусматривает более развитые возможности «подстройки» под конкретные требования, в частности посредст вом модификации микропрограммных модулей (в то время это был серьезный дополнительный аргумент в пользу этой архитектуры).

Сегодня все распространенные ОС обеспечивают совместимость с ОМАР, включая Symbian, Windows Mobile и Palm OS. Разработка системного ПО ведется стандартными средствами ОС плюс SDK TI или же в пакете Code Composer Studio, который предоставляет полный набор средств разработки ПО для платформы в целом, маскируя ее двойственную RISC/DSP природу.

Преимущества системы, в которой интегрирован отдельный процессор обработки сигнала, очевидны: в конце концов именно к обработке сигнала сводятся практически все функции, требующие сколько-нибудь значительной вычислительной работы в современном КПК. Для большинства стандартных программ излишни ресурсы производительности даже самых маломощных современных ЦП (некоторое исключение составляет мобильное 3D, но это тема отдельного обсуждения). Использование отдельного ЦП позволяет резко повысить вычислительную мощность устройства, сохранив на приемлемом уровне его энергопотребление (также стоит помнить, что ^требования к питанию DSP в перерасчете на удельные единицы значительно ниже, чем у сопоставимого RISC-процессора). Это важно сейчас и будет еще важнее завтра, когда терминалам сотовой связи третьего поколения придется обеспечивать еще и высококачественное видео и аудио, причем все это параллельно (скажем, владелец не захочет прерывать онлайновую игру при поступлении входящего вызова).

Одна из ключевых особенностей ОМАР — возможность извне, посредством достаточно тривиального API (с точки зрения использования разработчиком прикладных программ, незнакомым с особенностями программирования DSP) манипулировать модулями цифровой обработки сигнала. Впрочем, в ряде случаев разработчики программных платформ ограничивают доступ к «мосту» DSP/BIOS (DSP/BIOS Bridge), например, Symbian предоставляет средства прямой работы с этим API только в дорогостоящих Premium-версиях SDK и DDK.

Надо отметить, что также существует ряд бюджетных решений, таких, как ОМАР310, где отдельные возможности DSP реализованы как «расширения» ЦП общего назначения (ARM925/ARM925T).

По данным изготовителя, DSP TMS320C55x обеспечивает примерно тре<



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: