Между тем, это "вдруг" происходит вовсе не вдруг: нужно лишь вовремя заметить складывающиеся тенденции. Одной из таких тенденций последнего времени, на наш взгляд, является возрастающее влияние на компьютерный рынок фирмы Advanced RISC Machines Ltd., вызванное широким использованием ее микропроцессоров в сетевых компьютерах. Микропроцессоры ARM c самого начала были ориентированы на рынок встроенных (embedded) систем. В компьютерном мире обращают мало внимания на микропроцессоры, управляющие принтерами и другим подобным обрудованием. Микропроцессоры, используемые в персональном компьютере, рабочей станции или сервере - это совсем другое дело. Даже "номер один" на рынке RISC-процессоров, MIPS/SGI, известна в основном микропроцессорами, которые применяются в рабочих станциях и серверах, хотя большинство микропроцессоров этой фирмы используется в тех же встроенных системах и игровых приставках. Так и ARM явно приобретает известность в основном благодаря применению ее RISC-микропроцессоров в сетевых компьютерах.

Микропроцессоры StrongARM

В ходе развития микропроцессоров ARM сменилось уже несколько поколений этих устройств.

Современные версии - 32-разрядные ARM7 (ARM 710, 7500, 7500FE), но уже анонсированы и ARM8 (ARM 810). Микропроцессоры ARM7 работают на тактовых частотах в диапазоне 33-40 МГц и имеют производительность, в сущности, на уровне старших моделей Intel 80486; ARM 810 работают с тактовой частотой 80 МГц. Эти устройства имеют исключительно низкую стоимость и энергопотребление (0,5-0,8 Вт). Кроме того, особенностью микропроцессоров ARM 7500/7500FE является наличие встроенных видео- и аудиопортов, что позволяет эффективно работать с мультимедийными приложениями. ARM 7500 выпускает VLSI Technologies, а ARM 7500FE - Cirrus Logic.

Однако в нашей статье речь пойдет главным образом о более высокопроизводительных микропроцессорах StrongARM, которые появились в результате сотрудничества фирмы с Digital Semiconductor. DEC известна своими высокопроизводительными и когда-то "горячими" микропроцессорами Alpha. В результате этого союза появились "холодные" (в смысле энергопотребления и соответственно энерговыделения), дешевые (это все от "мамы" - ARM) и достаточно производительные за счет высокой тактовой частоты - от 100 до 200 МГц (это, естественно, от Digital) - микропроцессоры. Запланирован выпуск целого семейства StrongARM. В настоящее время производятся устройства первого поколения StrongARM 110.

Именно микропроцессоры StrongARM используются, в частности, в сетевых компьютерах Winterm 4000 ENC фирмы Wyse Technology, которые на последней выставке Comdex получили звание лучшего продукта от известного журнала BYTE.

Архитектура StrongARM 110

Рассмотрим подробнее архитектуру StrongARM 110. Это - универсальные (общего назначения) 32-разрядные микропроцессоры, имеющие RISC-архитектуру ARM версии 4 - последней на сегодняшний день. Они специально ориентированы на рынок высокопроизводительных устройств, потребляющих мало электроэнергии и предназначенных в первую очередь для работы во встроенных системах.

Интерфейс шины в этих микропроцессорах может работать как в синхронном, так и в асинхронном режимах. В синхронном режиме шина работает на тактовой частоте, кратной базовой частоте основного блока (core logic). Частота шины при этом равна частоте основного блока, деленной на целое число в диапазоне от 2 до 9, но не больше 66 МГц. В асинхронном режиме тактовая частота шины - от 1 до 66 МГц - задается внешним источником.

Микропроцессор StrongARM 110 имеет раздельные кэши команд (I-кэш) и данных (D-кэш) емкостью по 16 Кбайт каждый. Оба кэша являются частично-ассоциативными и имеют по 32 банка; размер строки каждого кэша (минимальной порции обмена данными с кэшем) равен 32 байтам. В обоих кэшах используется алгоритм round robin для замещения информации внутри каждого банка; имеется возможность осуществить передачу всего кэша в память (в английской терминологии для этого используется термин flash - поджигать). В статье мы применяем для данного механизма термин "флэшинг". В D-кэше поддерживается также флэшинг отдельных строк кэша. В этом типе кэша применяется алгоритм обратной записи.

Буфер записи имеет 8 строк, каждая из которых может содержать до 16 байт. Его можно выключать программным путем. Программное обеспечение может использовать также флэшинг буфера записи. StrongARM 110 содержит 2 устройства управления памятью: для команд (I-УОП) и для данных (D-УОП). Кроме того, специальный бит в таблицах страниц УОП управляет включением/отключением буфера записи. УОП в StrongARM 110 поддерживает обычную двухуровневую систему страниц с расширениями, которые, по мнению DEC, делают этот микропроцессор идеальным для встроенных систем управления. В каждом УОП есть свой буфер TLB емкостью по 32 строки каждый. Буферы TLB предназначены для ускорения преобразования виртуальных 32-разрядных адресов в 32-разрядные адреса реальной памяти. В TLB данных поддерживается флэшинг как всего TLB, так и отдельных строк, а в TLB команд - только всего TLB.

Основной блок (core logic) StrongARM выбирает на выполнение и выполняет команды. Этот процесс конвейеризован и включает следующие 5 стадий: выборку, декодирование, выполнение в АЛУ, запись в кэш и обратную запись. 12-разрядный умножитель обеспечивает выполнение команд "умножить" и "умножить и сложить". Для получения 32-разрядных результатов ему требуется на это 2-4 такта, а для получения 64-разрядного результата - от 3 до 5 тактов.

В архитектуре StrongARM имеется 30 регистров общего назначения и счетчик команд, а также 6 регистров статуса. В любой момент времени в программе доступны 16 регистров общего назначения и 1 или 2 регистра статуса. Какие регистры доступны, определяется режимом операций процессора.

Весь набор команд разбивается на 8 классов 2 класса команд используют АЛУ, сдвигатель и умножитель основного блока для выполнения операций с шестнадцатью логическими 32-разрядными регистрами; 3 класса команд управляют обменом данными между регистрами и оперативной памятью - они специально оптимизированы для обеспечения гибкой системы адресации, быстрого переключения контекста и свопинга данных соответственно; 2 класса команд управляют последовательностью и уровнем привилегий выполнения; последний класс обеспечивает доступ к привилегированному состоянию StrongARM.)

Среди других интересных особенностей архитектуры StrongARM 110 следует отметить поддержку тестового порта в соответствии со стандартом IEEE 1149.1; поддержку двух энергосберегающих режимов - простоя (idle) и сна (sleep); поддержку двух способов расположения ведущих разрядов в словах (big и little endian). StrongARM обеспечивает хорошую компактность кодов, полученных в результате трансляции. Разработчикам удалось достигнуть высокой скорости ответа на прерывания - меньше 1 мкс, что говорит о потенциальной эффективности применения StrongARM в приложениях реального времени.

В Таблице 1 приведены данные о производительности различных чипов StrongARM на тестах Dhrystone 2.1. Из этих результатов видно, что их производительность находится на уровне микропроцессоров Pentium. Для сравнения, Pentium/66 МГц имеет на этих тестах 101.2 MIPS, а 80486DX2/66 - 51.6 MIPS. Приведенное выше описание StrongARM 110 показывает, что с точки зрения архитектуры эти процессоры гораздо проще, чем Pentium; соответственно для достижения той же производительности, что у Pentium, в StrongARM приходится использовать более высокую тактовую частоту.

Таблица 1.

Производительность процессоров StrongARM на тестах Dhrystone 2.1.

Частота, МГц
Рабочее напряжение, В
Производительность, MIPS
100
1,65
116
166
1,65
185
200
2,0
230

Данные, приведенные в таблице, показывают, с каким низким уровнем напряжения работают эти микропроцессоры, что, в сочетании с простотой их конструкции и функционирования, и определяет низкое энергопотребление и энерговыделение. Микропроцессоры StrongARM упакованы в 144-штырьковый корпус TQFP, так что число ножек оказывается даже меньше, чем в ARM7500 (там их 240).

Области применения

Фирма DEC на своем WWW-сервере указывает следующие сферы применения StrongARM: в небольших "ручных" устройствах (пэйджер, органайзер в будущем поколении сотовых телефонов, PDA); в оборудовании для видеоконференций; в интерактивном цифровом видео (в том числе видеоиграх и браузерах Internet); в высокопроизводительных системах реального времени (НЖМД, телекоммуникационном оборудовании). Интересно, что сетевые компьютеры в этом списке не указаны. А между тем микропроцессоры от ARM, кроме уже упомянутого применения в сетевых компьютерах Wyse Technology, используются в сетевых компьютерах производства Oracle, Acorn Office и др. 11 февраля этого года JavaSoft (подразделение Sun Microsystems) и ARM объявили о портировании операционной системы JavaOS на RISC-микропроцессоры ARM. Напомним, что JavaOS - это компактная операционная система, предназначенная в первую очередь для выполнения Java-приложений на микропроцессорах, и не только в сетевых компьютерах, но и в мобильных телефонах, принтерах, PDA и т. д. До сих пор JavaOS могла работать на микропроцессорах Intel x86 и Sun SPARC.

Конечно, имеющиеся сегодня на рынке сетевые компьютеры используют микропроцессоры различных фирм. Однако поддержка "флагманами" сетевых компьютеров, такими как Sun и Oracle, микропроцессоров ARM может означать, что RISC ARM становится типичной аппаратной основой сетевых компьютеров. В этой области рынка могли бы "играть" и распространенные микропроцессоры MIPS, однако автор не располагает данными об их применении в сетевых компьютерах. Здесь также стоит отметить, что в то время как Intel начинает наступать на позиции высокопроизводительных RISC-микропроцессоров благодаря прогрессу в развитии линии Petnium Pro (т.е. CISC !), в области дешевых микропроцессоров нижнего диапазона производительности, наоборот, вперед выходит RISC- архитектура. Да и сама Intel для встроенных систем предлагает RISC- процессоры 960-й серии.

Естественно, ARM не складывает все яйца в одну корзину, не занимая в борьбе "сетевые компьютеры против Microsoft" позиции ни одной из сторон. Так, в декабре прошлого года было объявлено о поддержке микропроцессоров ARM операционной системой Windows CE, типичной для карманных ПК. И все-таки, по мнению автора, дальнейшее усиление позиций ARM во многом определяется удачей развития идеи сетевого компьютера.


Михаил Кузьминский - зав. отделом Иститута органической химии РАН. С ним можно связаться по телефону: (095) 135-6388.