Семейство процессоров ARM

April 9, 2010 by admin Комментировать »

В первой части главы 3 рассматривалась архитектура ARM в качестве примера системы команд типа RISC. Процессоры ARM предназначены главным образом для встроенных систем. Поэтому они должны иметь невысокую цену и потреблять мало энергии. Многие устройства, например мобильные телефоны, питаются от батарей с напряжением от 1 до 3 В. По сравнению с высокопроизводительны­ми процессорами Intel Pentium, рассчитанными на рынок персональных компью­теров, процессоры ARM имеют более простую структуру и содержат гораздо меньше транзисторов. Далее мы поговорим о различных реализациях системы команд ARM и обсудим ряд важных вопросов.

С момента появления архитектуры ARM (середина 1980-х годов) и до 2000 года было разработано пять версий системы команд ARM — от vl до v5. В главе 3 вы по­знакомились с версией v3 и реализующим ее процессором ARM7, созданным в се­редине 1990-х годов. Материал о различных моделях этого процессора и их важ­нейших характеристиках предлагается вашему вниманию в следующих разделах.

Версии vl и v2 поддерживают только 26-разрядную адресацию памяти, вер­сия v2 включает и 32-разрядные команды умножения. В версии v3 введена пол­ная 32-разрядная адресация для операндов длиной 1 байт и 32-разрядные слова, в версии v4 добавлены полные 64-разрядные команды умножения и команды загрузки и умножения для 16-разрядных операндов-данных. В версии v5 и ее рас­ширении v5E появились специализированные команды:

? управления точками останова в программах с целью их отладки;

? нормализации чисел для программной реализации арифметических опе­раций с плавающей запятой;

? выполнения операций сложения и умножения над 16-разрядными опе­рандами для программ цифровой обработки сигналов.

На протяжении всего процесса эволюции архитектуры ARM команды всех ее пяти версий кодировались в 32-разрядном формате. Наряду с версиями v4 и v5 существовали их эквиваленты с более компактной кодировкой команд, о которых речь пойдет в следующих разделах.

11.1.1. Система команд Thumb

Помимо полных наборов команд v4 и v5 с 32-разрядной кодировкой специфика­ция архитектуры системы команд ARM предлагает компактную кодировку под­множества этих наборов. Данное подмножество называется Thumb, а соответст­вующие версии архитектуры ARM носят имена v4T и v5T. Все команды Thumb кодируются 16-разрядным полусловом.

Разработка подсистемы команд Thumb обусловлена необходимостью сокра­тить объем памяти, отводимый для хранения программ, которые управляют недо­рогими встроенными системами с низким энергопотреблением. На базе архитек­туры v4T создан процессор ARM7TDMI. Этот процессор, реализованный в виде единственной микросхемы с небольшим объемом памяти и программным обеспе­чением для цифровой обработки сигналов, предназначен для использования в мобильных телефонах.

Программы, состоящие из команд Thumb, выполняются следующим образом. Команды извлекаются из памяти и динамически (непосредственно перед выпол­нением) переводятся из 16-разрядного формата в соответствующий стандартный 32-разрядный формат команд ARM, после чего выполняются. Так они обрабаты­ваются в большинстве недорогих процессоров. В некоторых высокопроизводи­тельных процессорах команды Thumb не преобразуются в 32-разрядный формат, а декодируются из 16-разрядного формата. В регистре текущего состояния про­граммы CPSR (Current Program Status Register) существует разряд Т, определяю­щий, какой формат, Thumb (Т = 1) или стандартный 32-разрядный ARM (Т = 0), имеет входной поток команд. Допускается чередование в одном приложении ко­манд Thumb и стандартных команд.

Между командами Thumb и стандартными командами ARM есть два сущест­венных различия. Во-первых, во многих командах Thumb используется формат с двумя операндами, где регистр назначения является одним из исходных регист­ров. Во-вторых, все стандартные инструкции ARM поддерживают механизм ус­ловного выполнения команд (по предположению), тогда как в подсистеме Thumb это справедливо только для команд перехода и ряда других команд. Вот почему команды Thumb можно представлять в виде 16-разрядных слов.

11.1.2. Ядра процессоров

Компания ARM разрабатывает и лицензирует спецификации процессоров ARM и тесно связанных с ними компонентов, таких как кэш-память и блоки управле­ния памятью. Эти спецификации приобретаются компаниями-производителями встраиваемых систем и других специализированных компьютерных компонен­тов. Как правило, схемы процессора ARM интегрируются на одной микросхеме со специализированным аппаратным обеспечением, предназначенным для кон­кретного типа устройств. Поэтому схемы ARM называют ядром. Спецификации компании ARM делятся на две категории: спецификации аппаратного макроэле­мента и синтезируемые спецификации. Первая категория охватывает подробные спецификации физической организации схемы, ориентированные на процесс про­изводства конкретной микросхемы. Ко второй категории относятся программные модули на языке высокого уровня, которые синтезируются из библиотечных ком­понентов в соответствии с желаемой технологией. Такая спецификация допускает настройку множества разнообразных параметров, определяющих функциональ­ные элементы процессора. Ядро ARM7TDMI процессора разработано в форме спецификации аппаратного макроэлемента, а ядро ARM7TDMI-7 — в форме син­тезируемой спецификации.

Компания ARM разработала ядра двух типов: обычные процессорные и CPU. Процессорное ядро содержит только процессор и связанные с ним соединения адресной шины и шины данных. Ядро CPU кроме процессора включает также кэш и блок управления памятью. Название CPU не совсем точное, поскольку обычно оно означает центральное процессорное устройство (ЦПУ). Однако мы употребляем его, так как это термин, посредством которого компания ARM иден­тифицирует класс своих устройств. Далее приведены краткие описания некото­рых типичных процессорных ядер и ядер CPU.

Процессорное ядро ARM7TDMI

Это ядро обычно используется в недорогих устройствах с низким потреблением энергии. Процессор ARM7TDMI включает простой 3-ступенчатый конвейер, со­стоящий из нескольких ступеней: выборки, декодирования и выполнения. В нем реализована версия v4T архитектуры ARM, поддерживающая как стандартный набор команд, так и команды Thumb. Типичными рабочими параметрами явля­ются напряжение питания 3,3 В и тактовая частота 66 МГц. Возможны и другие варианты реализации, например с напряжением питания 0,9 В для устройств с низковольтными батареями или с тактовой частотой 100 МГц для устройств с бо­лее высокой производительностью.

Процессорные ядра ARM9TDMI и ARM10TDMI

Процессорные ядра ARM9TDMI и ARM10TDMI основаны на 5-ступенчатом и 6-ступенчатом конвейерах соответственно. Для достижения более высокой про­изводительности, чем у процессора ARM7TDMI, в них предусмотрены раздель­ные порты команд и данных. На тактовых частотах 200 и 300 МГц уровни произ­водительности версий 7, 9 и 10 данного подсемейства процессоров ARM соотно­сятся как 1:2:4. Шина каждого порта памяти процессора ARM10TDMI шире, чем у двух других процессоров, и равна 64 битам, в то время как у процессоров ARM9TDMI и ARM7TDMI данный параметр составляет только 32 бита. В про­цессоре ARM9TDMI реализована версия v4T системы команд ARM, а в процес­соре ARM10TDMI — версия v5TE. Оба процессора непосредственно декодируют команды Thumb для выполнения. Более высокая производительность может быть достигнута в случае использования с этими процессорами кэш-памяти.

CPUядро ARM720T

CPU-ядро ARM720T включает процессорное ядро ARM7TDMI, унифицирован­ный 8-килобайтовый кэш для команд и данных, а также аппаратное обеспечение, назначение которого — управление виртуальной памятью. Включающий 4 канала множественно-ассоциативный кэш состоит из 16-байтовых блоков. В блоке управ­ления памятью применяется 64-элементный ассоциативный буфер быстрого пре­образования адреса для хранения адресов страниц памяти, использовавшихся по­следними. Тактовая частота этого интегрированного устройства может достигать 60 МГц. По сравнению с микросхемой, содержащей только процессорное ядро, встраиваемые кэш-память и блок управления памятью увеличивают общую пло­щадь микросхемы в пять раз, а потребление энергии — втрое.

CPUядра ARM920T и ARM1020E

Эти CPU-ядра, основанные на процессорных ядрах ARM9TDMI и ARM10TDMI, снабжены раздельными кэшами команд и данных. Любой кэш ядра ARM920T имеет объем 16 Кбайт и 64-канальную множественно-ассоциативную структуру, а также состоит из 32-байтовых блоков. Для каждого порта памяти выделен от­дельный блок управления памятью. Кроме того, все они содержат 64-элементный ассоциативный буфер TLB. В ядре ARM1020E есть два кэша, объемом 32 Кбайт, имеющих такую же структуру, как и кэш ядра ARM9TDMI.

CPUядро StrongARM SA-110

CPU-ядро StrongARM — это совместная разработка компаний ARM и Digital Equipment Corporation (последняя в настоящее время входит в состав компании Compaq). Его версия SA-110 производится корпорацией Intel. В этом процессор­ном компоненте реализована версия v4 архитектуры ARM. Данный процессор не поддерживает набор команд Thumb, но в остальном совместим с процессорным ядром ARM9TDMI. По производительности ядро StrongARM SA-110 близко к ядру ARM920T, но в отличие от последнего оно реализовано по более старой тех­нологии, потребляет больше энергии и работает на тактовой частоте 200 МГц. Процессор StrongARM содержит 5-ступенчатый конвейер. В нем предусмот­рены отдельные кэши команд и данных. Оба кэша имеют 32-канальную множест­венно-ассоциативную структуру и состоят из 32-байтовых блоков. Для повыше­ния производительности устройств цифровой обработки сигналов процессор снабжен высокоскоростной схемой умножителя с задержкой в три и менее такта.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты