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

 

В 1987 г. компания Acorn Computers (Кембридж, Великобритания), используя программы проектирования СБИС фирмы VLSI Technology (Финикс, шт. Аризона), разработала 32-разрядный микропроцессор архитектуры RISC, названный ARM (Acorn RISC Machine ). Кроме того, были разработаны диспетчер памяти, видеоконтроллер и процессор ввода-вывода. VLSI выпускала этот набор по 3-микронной КМОП-технологии:

 

- VL86C010  -  процессор ARM;

 

- VL86C011  -  диспетчер памяти;

 

- VL86C310  -  видеоконтроллер;

 

- VL86C410  -  процессор ввода-вывода.

 

Процессор привлекал внимание специалистов элегантной RISC-архитектурой, небольшим количеством транзисторов и исключительно малым потреблением энергии. При работе на тактовой частоте в 8 МГц он потреблял от источника питания ток в 10 мА.

 

В нем имелось двадцать пять 32-разрядных регистров, устройство целочисленной арифметики, групповой сдвигатель, инкрементор адреса и устройство управления, которое занимало всего 4% площади кристалла.

 

Шина данных процессора  -  32-разрядная, адресная шина  -  26-разрядная.

 

Процессор мог находиться в 4 состояниях: пользователь, прерывание, быстрое прерывание и супервизор. В состоянии "пользователь" имеется набор из 16 независимых от других состояний регистров общего назначения (R0, R1, + R14, R15). В остальных  -  доступен набор из 16 регистров, но часть их  -  общая с другими системными состояниями. Регистр R15 является эквивалентом PSW в системе IBM 360. 24 разряда в нем используются как счетчик команд, а остальные 8 содержат флаги состояния (4), маски внешних прерываний (2) и состояния процессора (2). Так как все команды процессора имеют одинаковую длину в 32 разряда (слово), то возможно адресовать память объемом в 64 Мб. Регистр R14 используется для запоминания адреса возврата при выполнении команды "переход с возвратом". Остальные регистры не имеют специальных функций.

 

Весь набор команд можно разделить на четыре группы:

 

- обработка данных;

 

- пересылка из/в память;

 

- передача управления;

 

- управление.

 

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

 

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

 

Система команд весьма эффективна. Для примера покажем, как умножить число в регистре Ra на 17 за один такт:

 

ADD Rb, Ra, Ra,LSL#4

 

В этой команде содержимое регистра Ra подается на один вход ALU, а на другой вход подается он же, но пропущенный через сдвигатель и сдвинутый на четыре разряда.

 

Благодаря трехадресной тщательно продуманной системе команд 8 МГц процессор ARM выполнял программы быстрее, чем 16 МГц процессор 386, несмотря на то, что последний имел 275 тыс. транзисторов (у ARM  -  27 тыс.).

 

Процессор обеспечивал быструю реакцию на прерывания. В наихудшем случае задержка не превышала 14 тактов.

 

Можно было подключить до 15 сопроцессоров. Диспетчер памяти и контроллеры работали как сопроцессоры.

 

Проще говоря, ARM является полноценным 32-разрядным процессором.

 

Вместе с другими членами семейства ARM, он был применен в ПК "Архимед". Этот ПК имел прекрасную графику, значительно превосходящую ту, что имелась в IBM PC. Всего было выпущено около 3 млн. шт. ПК "Архимед". Кстати, более 100 машин приобрело НПО "Энергия".

 

В процессоре очень экономно использованы транзисторы. В расчете на 1 млн. выполняемых команд число транзисторов составляет 4,5 тыс. (Для сравнения: в 33 МГц процессоре 386  -  75 тыс.)

 

В 1990 г. компаниями ACORN Computer, Apple Computer и VLSI была образована фирма ARM, а в 1993 г. к ней присоединились японские компании Nippon и Dawia. Партнерами ARM стали Digital Semiconductor, NEC, Samsung, Texas Instruments, Cirrus Logic, ES2, Asashi и др.

 

К настоящему времени ARM выпустила целую серию микропроцессоров, базирующихся на разработанной ранее архитектуре. Это  -  ARM6, ARM7, ARM7TDMI, ARM8 и ARM9 и их модификации. В них введены команды целочисленного умножения, умножения с накоплением и обмена содержимого регистра и памяти как атомарной операции. Был введен режим 32-разрядной адресации и увеличено число регистров. На рис. изображено семейство процессоров ARM.

 

Такое внимание к развитию архитектуры процессора ARM связано с тем, что он имеет наилучшие показатели энергопотребления в расчете на миллион выполняемых команд по сравнению с любыми другими процессорами. Так, ARM7100 потребляет 66 мВт, не уступая по производительности процессору 486 с тактовой частотой 33 МГц.

 

Недавно корпорация DEC выпустила микропроцессор StrongARM (SA-110) с тактовыми частотами 100, 160 и 200 МГц и производительностью 115, 185 и 230 млн. команд в секунду соответственно. При производительности в 185 млн. команд в секунду процессор потребляет от источника питания 450 мВт, в режиме ожидания  -  20 мВт, а в "спящем" режиме потребляемый ток не превышает 50 мкА. Процессор изготовлен по технологии КМОП 0,35 микрон с тремя слоями металлизации и содержит 2,1 млн. транзисторов.

 

В процессоре StrongARM использовано процессорное ядро ARM версии 4. В нем имеется также отдельная кэш-память для команд и для данных объемом по 16 Кб, диспетчер памяти и пятиступенчатый конвейер команд.

 

Этот процессор не суперскалярный, как, например, Pentium, но по производительности, на мой взгляд, при одинаковой тактовой частоте не уступает последнему при значительно меньшем числе транзисторов (на 1,2 млн) и рассеиваемой мощности (0,45 Вт при 160 МГц против 13 Вт у Pentium).

 

Дополнительную информацию можно получить по адресу: http://www.arm.com.

 

Александр Ливеровский

СЕМЕЙСТВО ПРОЦЕССОРОВ ARM