Процессоры PCA в ходе московского IDF оказались ничуть не менее заметными, чем новейшие сетевые процессоры Intel

Прошло уже несколько лет с тех пор, как в Intel начали выпускать микропроцессоры с архитектурой XScale. Ее основу заложили разработки процессоров ARM. Затем их последующее развитие, уже в недрах Intel, привело к появлению многочисленного потомства и, в частности, процессоров PCA (Personal Client Architecture). Последние в ходе московского форума IDF оказались ничуть не менее заметными, чем новейшие сетевые процессоры IXP23xx и IXP46x, также выполненные на основе Xscale и представленные одновременно в российской столице и на конференции по разработке сетевых систем в Сан-Хосе (см. «Форум надежд и горизонтов», Computerworld Россия, № 40, 2004).

Собственно XScale — это архитектура ARM v5TE, из которой были исключены операции с плавающей точкой, но привнесены многочисленные индивидуальные черты уже собственно Intel — средства отладки и мониторинга, управление энергопотреблением, поддержка 40-разрядных операций умножения и сложения (так называемая технология Media Processing) и др.

При этом как ARM, так и соответственно XScale, являются классической 32-разрядной RISC-архитектурой, включающей 32-разрядные регистры (в количестве 16 штук) и имеющей адресное пространство емкостью 4 Гбайт. Важнейшая характерная черта микропроцессоров ARM, как и всех последующих, базирующихся на ядре XScale, — это низкое энергопотребление, исходно являющееся, среди прочего, следствием простой RISC-конструкции.

К ядру XScale имеются многочисленные дополнения, приводящие к расширению системы команд. Они реализованы в традиционном для микропроцессоров ключе — в форме логических сопроцессоров. Это понятие хорошо известно не только по древним i80287/80387, но, например, и по системе команд MIPS-архитектуры.

Всего в XScale может быть до 16 сопроцессоров (см. рисунок). Один из них (CP14) отвечает за средства отладки, мониторинг производительности и управление электропитанием, другой (CP0) — за Media Processing, еще один, CP1, вместе с CP0 — за новую технологию WirelessMMX, CP10 и CP11 — за векторную арифметику с плавающей точкой и т. д.

Несмотря на то, что XScale далеко до уровня производительности IA-32, с точки зрения микроархитектуры эти процессоры выглядят довольно интересно: в частности, имеются буфер адресов перехода BTB, буфер записи, Trace Buffer. И тактовая частота, и длина конвейера, и емкости кэш-памяти в микропроцессорах XScale гораздо ниже, чем в Pentium 4 (см. таблицу). Однако, например, продукты серии, разрабатывавшейся в рамках проекта под кодовым названием Bulverde, имеют некоторые уникальные особенности, в том числе по управлению кэш-памятью L1 и BTB, которые отсутствуют в Pentium 4.

Упомянутое выше расширение Media Processing позволяет умножать 32-разрядные числа с получением 64-разрядного результата и суммировать его с 40-разрядным аккумулятором. Эти команды ориентированы на обработку видео- и аудиоданных. Гораздо больше областей применения у Wireless MMX. Это — видео- и аудиокодеки, матричные операции и 3D-графика, криптография и т. д. Wireless MMX во многом аналогична «обычной» MMX, но при этом является уже 64-разрядной и работает с упакованными векторами с длиной элемента 8, 16 и 32 разряда. Поддерживаются векторные SIMD-команды, в том числе типа «умножить и сложить». В CP0 для этого имеется 16 регистров по 64 разряда, а в CP1 — средства управления. Уместно уточнить, что расширения XScale являются специфическими для различных типов процессоров. Например, в сетевых процессорах Wireless MMX нет.

Процессоры Xscale прежних поколений уже оснащались интегрированной на кристалле флэш- и SDRAM-памятью. Достаточно вспомнить PXA800F (Manitoba, с так?товой частотой 100-300 МГц и поддержкой GSM/GPRS) и PXA25X/26X (Dalhart, 200-400 МГц). Более мощные PXA27X (Bulverde, с частотой до 620 МГц) имеют известные средства управления электропитанием SpeedStep, поддерживают USB, Wireless MMX и другие новшества.

PCA-процессоры широко используются в интеллектуальных сотовых телефонах и смартфонах. К примеру, PXA255 применяется в моделях в Samsung I-700 и SCH-i600; PXA262 — в SGH-i500 той же компании, а также в Motorola A760; PXA270 с тактовой частотой 300 МГц — в новом аппарате Motorola E680 и т. д.

В КПК такие процессоры используются еще чаще (там богатые возможности PCA-процессоров были востребованы раньше) — компаниями Dell, ASUSTeK, PalmOne, Toshiba, HP и др.; при этом наиболее широко на сегодня задействован PXA255. Новинки на базе PXA270 включают HP iPAQ 4700, Dell Axim X30, ASUS MyPal A730. Уже одно то, что во всех этих моделях применяется 64 Мбайт памяти SDRAM, способно произвести впечатление.

Важнейшим фактором привлекательности процессоров XScale для разработчиков является доступность развитых средств создания программ. Они включают в себя, в частности, кросс-компиляторы Intel C/C++, ассемблер и отладчик. Кроме того, доступны библиотеки IPP (Integrated Performance Primitives) и менее известная GPP (Graphic Performance Primitives), включающая операции с векторами и матрицами, преобразования целых чисел в вещественные и обратно, и др.

Разработку программного обеспечения для аппаратных средств, использующих XScale, можно вести на обычном ПК, например, на платформе разработчика IXDP425 (в ходе московского IDF желающие могли принять участие в лабораторном занятии, посвященном применению этой платформы). Она включает в себя плату с сетевым процессором IXP425/533 МГц, имеющую четыре PCI-разъема для дополнительных плат. В один из них устанавливается PCI-карта Intel Pro/100, обеспечивающая Ethernet-соединение с ПК-хостом.

Управление платой может осуществляться через последовательный порт, а для ведения разработки — применяться обычный ПК под управлением ОС Linux. Для разработчика, хорошо чувствующего себя в нормальной Linux-среде, все вполне удобно и понятно. Как представляется, в сочетании с богатыми возможностями процессоров XScale это в существенной степени должно подталкивать разработчиков к использованию именно этой платформы.


Мобильный интеллект

Тактовая частота, длина конвейера и емкости кэш-памяти в микропроцессорах XScale гораздо ниже, чем в Pentium 4. Однако продукты серии, разрабатывавшейся в рамках проекта под кодовым названием Bulverde, имеют свои уникальные особенности

Характеристики процессоров Intel PXA27x (Bulverde)

Конвейер 7-стадийный (in-order)
Тактовая частота 400-620 МГц
Кэш данных L1 34 Кбайт
Кэш инструкций L1 32 Кбайт
SIMD-команды 43 инструкции Wireless MMX


Как устроены процессоры XScale

PCA-процессоры архитектуры XScale широко используются в КПК, интеллектуальных сотовых телефонах и смартфонах. C точки зрения микроархитектуры эти процессоры выглядят довольно интересно: в частности, имеются буфер адресов перехода BTB, буфер записи, Trace Buffer