Смекни!
smekni.com

Карманные ПК: введение в тему (стр. 4 из 8)

В процессорах 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 подходит с двух сторон — как снижая требования к питанию собственно аппаратных компонентов («статический» подход), так и оптимизируя средства автоматической настройки в зависимости от сценария действий пользователя и характера выполняемых операций, а как следствие, нагрузки на основные подсистемы КПК («динамический» подход).