Артем ФОКИН
Введение
С момента появления в 2001 году первого процессора ввода/вывода Intel® на базе технологии Intel XScale® данная микроархитектура успешно внедрялась и в других семействах процессоров Intel®. Сегодня эта технология используется в процессорах с архитектурой Intel® PCA, а также в сетевых процессорах, управляющих процессорах и процессорах ввода/вывода. Процессоры ввода/вывода отлично демонстрируют возможность использования технологии Intel®XScale на нескольких уровнях интеграции.
• Высокоинтегрированный процессор ввода/вывода Intel® IOP321 — процессор на одной микросхеме с интегрированным интерфейсом PCI-X, оптимизирован для обеспечения высокой пропускной способности ввода/вывода. Он рассчитан на такие применения, как RAID-решения и сетевое хранение данных, требующие сочетания высокой пропускной способности, низкого тепловыделения и высокой производительности.
• Набор микросхем процессора ввода/вывода Intel® IOP310 представляет собой процессор Intel® 80200 в сочетании с дополнительной микросхемой для создания интеллектуальной HBA-продукции в сфере коммуникаций и хранения данных, включая RAID-, iSCSI- и оптоволоконные контроллеры, а также сетевые устройства, обеспечивающие безопасность.
• Процессор Intel® 80200 как самостоятельное решение — это отдельное процессорное ядро Intel XScale® в сочетании с дополнительными микросхемами в корпусе FPGA, отвечает требованиям широкого круга встроенных применений, включая сетевое хранение данных. Данный процессор поддерживается множеством эталонных образцов Intel® и сторонних поставщиков.
Процессоры ввода/вывода Intel®
на базе технологии Intel XScale®
В статье содержится обзор основных характеристик и преимуществ технологии Intel XScale®, а также примеры ее внедрения в качестве как процессорного ядра в наборе микросхем, так и самостоятельного интегрированного решения на одной микросхеме для сетевого хранения данных. Благодаря сочетанию высокой производительности и низкого тепловыделения технология Intel XScale® является идеальным фундаментом для будущих поколений решений сетевого хранения данных, включая продукцию с технологией Serial ATA и архитектурой PCI Express.
Высокая производительность, сверхнизкое энергопотребление и совместимость с набором команд ARM
Процессоры на базе технологии Intel XScale® значительно превосходят своих предшественников, созданных по технологии Intel® StrongARM, и разработаны для повышения производительности сетевой инфраструктуры, оборудования для сетевого хранения данных, встроенных и карманных устройств. Современные процессорные ядра Intel XScale® работают на частотах 200, 400, 600 и 733 МГц, однако высокая производительность этой технологии достигается не только за счет тактовой частоты ядра: помимо этого в процессорном ядре Intel XScale® реализован 7-ступенчатый конвейер для обработки целочисленных операций, динамическое предсказание ветвлений и усовершенствованное управление кэш-памятью. В интегрированных процессорах Intel® ядро Intel XScale® дополнено различными функциональными блоками, сопроцессорами, кэш-памятью для данных, высокопропускными интерфейсами и периферийными компонентами. Существенное преимущество таких процессоров заключается в сочетании высокой производительности с низким энергопотреблением. Например, процессор Intel® 80200 демонстрирует до 720 MIP в тесте Dhrystone 2.1 при работе на тактовой частоте 600 МГц, потребляя менее 500 мВт. Однако помимо высокого соотношения MIP/мВт у технологии Intel XScale есть и другое значимое преимущество — набор команд ARM V5TE, обеспечивающий совместимость с широко используемыми операционными системами, промежуточным ПО, приложениями и инструментами разработки. Благодаря всем названным характеристикам, а также своей компактности процессорное ядро Intel XScale® отлично подходит для применения и как отдельного процессора, и в качестве ядра в интегрированных устройствах для встроенно-
го оборудования, коммуникаций, сетевой инфраструктуры и систем хранения данных. Преимущества функциональной интеграции и сверхнизкого энергопотребления
Технология Ше1 Хвса1е® обеспечивает интеграцию нескольких системных характеристик в одном устройстве, что способствует снижению издержек и экономии энергопотребления. Интегрирование нескольких характеристик в одном СМ08-ядре, работающем при низком напряжении, приводит к тому, что одна интегрированная микросхема потребляет гораздо меньше энергии, чем набор отдельных микросхем с теми же параметрами. Преимущества высокого соотношения производительность/энергопотребление очевидны, в частности, применительно к беспроводным коммуникационным и вычислительным устройствам, питающимся от батарей.
• Сетевое оборудование с высокой плотностью монтажа: например, в сфере сетевой инфраструктуры и хранения данных низкое энергопотребление процессоров на базе технологии Ше1 Хвса1е® позволяет создавать оборудование с высокой плотностью монтажа, поддерживающее большое число обрабатывающих модулей. Низкое энергопотребление сводит к минимуму тепловыделение и помогает обходиться без массивных теплоотводов и специальных систем охлаждения. А кроме того, позволяет создавать устройства в компактном форм-факторе, что особенно важно для встраиваемого оборудования с высокой плотностью портов.
• Системы на одной плате и специализированные решения: процессоры на базе технологии Ше1 Х8са1е® также идеально подходят для «систем на одной плате». Это способствует созданию интеллектуальных решений сетевой инфраструктуры, где все компоненты находятся на одной-един-ственной плате, что сводит к минимуму
количество плат и стоимость всего решения при неизменно высоком уровне производительности.
Технология Intel XScale® предоставляет значительные преимущества разработчикам сетевого оборудования, предлагая в их распоряжение продукты, интегрирующие процессорное ядро с компонентами коммутации данных (в сетевых процессорах Intel®) или с блоками для ускорения операций с RAID-массивами (как в процессорах Intel® для систем хранения данных). Интеграция на одной микросхеме избавляет от необходимости совмещения процессорного ядра и функциональных блоков на плате, что сокращает время разработки и снижает стоимость конечного решения. Способствуя уменьшению количества микросхем в конечном устройстве, технология Intel Xscale® помогает свести к минимуму затраты на разработку и при этом внедрить больше дополнительных характеристик.
Характеристики и возможности технологии Intel XScale®
Характеристики процессорного ядра Intel XScale®:
• Высокопроизводительное 32-разрядное вычислительное ядро
- совместимость с архитектурой ARM V5TE, включая команды ARM Thumb
- совместимость с кодом процессора Intel® SA110
• Технология Intel® Superpipelined
- 7-уровневый конвейер для обработки целочисленных операций
- тактовые частоты 200, 400, 600 и 733 МГц
- 915 MIP в тесте Dhrystone 2.1 при частоте 733 МГц
• Сверхнизкое энергопотребление
- энергопотребление ядра менее 500 мВт при частоте 600 МГц
- менее 1 Вт при частоте 600 МГц, включая функции ввода/вывода
- ~1,3 Вт при частоте 733 МГц, включая функции ввода/вывода
• Технология Intel® Dynamic Voltage Management
• Высокопроизводительная кэш-память
- кэш-память данных и команд объемом по 32 кбайт
- мини-кэш объемом 2 кбайт для потоковых данных
• Встроенный блок JTAG и блоки мониторинга производительности
• Оптимизация для 0,18-микронной технологии и более тонких технологий Intel
• 64-разрядная/100-МГц шина памяти
• 32-разрядный интерфейс сопроцессора
• Расширенный диапазон рабочих температур (у процессора Intel 80200)
- работа 200/400/600/733-МГц версий Технология сжатия кода ARM Thumb Набор команд V5TE архитектуры ARM
включает набор команд Thumb, обеспечивающий работу процессора либо в стандартном
32-разрядном режиме, либо в 16-разрядном режиме Thumb, что позволяет сохранять код во встраиваемой памяти малого объема, такой как флэш-память. Кроме того, технология Intel XScale® поддерживает как «прямое размещение байтов» (big-endian), так и «обратное размещение байтов» (little-endian), предоставляя процессору возможность работать в разнообразных стандартных операционных системах и ОС реального времени. Технология суперконвейерной обработки и динамическое предсказание ветвлений Технология Intel XScale® предусматривает широкий спектр характеристик, направленных на повышение производительности, включая 7-уровневый конвейер целочисленных операций, 8-уровневый конвейер для работы с памятью, 128-строчный буфер адресов перехода (BTB), кэш-память большого объема для команд и данных и мини-кэш для часто меняющихся данных. Разработчики могут сделать выбор в пользу тех или иных характеристик, которые обеспечат наилучшую производительность в конкретной сфере применений. Ряд особенностей технологии Intel XScale® позволяет нивелировать задержки памяти, которые могут стать серьезной помехой в высокопроизводительных процессорах. Например, команда продолжает исполняться, пока данные передаются в кэш-память из внешней памяти. В числе других особенностей — буфер записи, кэш-память с обратной записью, политики распределения конфигурируемой кэш-памяти данных, механизмы блокировки кэш-памяти и конвейерная внешняя шина. Технология Intel XScale® со своим 7-уровневым суперконвейером для целочисленных операций позволяет достигать более высокого быстродействия и сверхнизкого энергопотребления за счет более высоких тактовых частот по сравнению с 5-уровневым конвейером в раннем поколении процессоров Intel® SA. Хотя более длинные конвейеры разрешают использовать более высокие тактовые частоты, они обладают тем недостатком, что в них может возникать так называемый «эффект ветвления», порождаемый сменой потока команд в точках ветвления программного кода. Процессорное ядро Intel XScale® компенсирует этот недостаток за счет механизма динамического предсказания ветвлений, который просматривает выполняемый фрагмент кода и предсказывает следующий программный переход. Буфер адресов перехода (BTB), реализованный в виде 128-строчной таблицы адресов перехода, хранит историю предыдущих ветвлений вместе с адресами перехода. При обнаружении в потоке команд операции перехода, вычисленный адрес перехода сравнивается с адресами, хранящимися в буфере BTB. В случае совпадения адрес BTB используется в качестве адреса следующей команды, которая посылается в кэш-память команд. В случае правильного предсказания
перехода команда из другой программной ветви загружается в конвейер без задержки, что позволяет избегать простоев конвейера. Механизм динамического предсказания ветвлений чрезвычайно важен, особенно по мере роста длины конвейера. Буфер адресов перехода повышает вероятность правильного предсказания перехода, увеличивая производительность до 15%.
Команды умножения и суммирования
(MAC)
Блок MAC процессорного ядра Intel XScale® поддерживает досрочное завершение операций умножения/суммирования за два такта и может поддерживать работу MAC каждый такт процессора. MAC поддерживает алгоритмы усовершенствованного аудиокодирования, включая технологию Intel® Media Processing, 40-разрядный сумматор с поддержкой 16-разрядных команд умножения SIMD. Благодаря данному сумматору можно значительно повысить производительность при работе с потоковыми мультимедийными данными.
Кэш-память Hit-under-Miss
В архитектуре процессорного ядра Intel XScale® регистры постоянно загружаются и хранятся в памяти. Загрузка обычно происходит из подсистемы кэш-памяти, являющейся локализованной частью карты распределения памяти. Чтение данных из кэш-памяти происходит гораздо быстрее, чем из внешней памяти. При обновлении регистров кэш-память может «попасть» (hit) или «промахнуться» (miss) — в зависимости от того, содержит ли кэш-память нужные данные или требуется обращение к внешней памяти. В случае неудачного обращения к кэш-памяти может потребоваться несколько тактов на извлечение нужных данных из внешней памяти. Процессоры Intel® на базе технологии Intel XScale® решают эту проблему путем продолжения обработки программного кода, в то время как происходит обращение к внешней памяти. В результате процессор продолжает работать, а кэш-память продолжает обслуживать будущие загрузки команд процессора. Процессор приостанавливается только тогда, когда ему требуются данные, находящиеся во внешней памяти. Разработчики могут извлечь выгоду из этой характеристики, помещая команды загрузки как можно раньше до того момента, как начнется использование загружаемых данных.
Управление памятью
Процессорное ядро Intel XScale® обладает кэш-памятью объемом 32 кбайт для потоковых команд и кэш-памятью объемом 32 кбайт для данных. У ядра также есть мини-кэш, позволяющий важным данным храниться в кэшпамяти более продолжительное время с целью повышения производительности. Передача данных на внешний сопроцессор, что характерно для архитектуры ARM, не является необходимой процедурой в технологии Intel XScale®, где информация передается
напрямую в блок MAC в пределах конвейера с помощью функции Coprocessor 0. Таким образом, можно обрабатывать данные со скоростью конвейера, что повышает производительность мультимедийных приложений. 8-строчный буфер записи позволяет не прерывать исполнение команд во время записи данных в память. Процессорное ядро Intel XScale® имеет блоки управления памятью команд и данных (MMU), обеспечивающие защиту доступа к памяти и трансляцию виртуальных адресов в физические адреса. Блоки MMU определяют политики кэширования кэш-памяти команд и кэш-памяти данных процессора. Эти политики определяются как атрибуты страниц памяти и включают идентификационный код, определяющий выбор между мини-кэшем и кэш-памятью данных и между режимами кэширования write-back и write-through, а также разрешающий использовать политику записи данных и буфер записи для объединенной записи во внешнюю память.
Кэш-память команд
Процессорное ядро Intel XScale® имеет 32-кбайт 32-строчную ассоциативную кэшпамять команд. В этой кэш-памяти хранятся часто используемые фрагменты кода или даже целые программы, что позволяет обращаться к таким командам на частоте ядра и избегать простоев процессора, возникающих из-за многотактовых обращений к внешней памяти. Если нужная команда не содержится в кэш-памяти, то генерируется 32-байт-ный запрос на чтение из внешней памяти. Кэш-память команд также снабжена механизмом для блокирования в кэш-памяти 28 кбайт важного фрагмента программного кода.
Кэш-память данных
Процессорное ядро Intel XScale® имеет 32-кбайт 32-строчную ассоциативную кэшпамять данных и 2-кбайт, 2-строчный ассоциативный мини-кэш данных. Длина строки и той и другой кэш-памяти составляет 32 кбайт, оба типа памяти поддерживают режимы записи write-through и write-back. В режиме write-back данные кэш-памяти не сразу копируются во внешнюю память, тогда как в режиме write-through запись в кэш-память и внешнюю память происходит одновременно. Режим кэширования write-through может повышать производительность за счет сокращения количества операций записи. Ядро процессора позволяет приложениям выделять под свои нужды до 28 кбайт кэш-памяти данных и использовать их в качестве RAM-памяти для часто используемых данных, включая таблицу поиска и часто используемые переменные. В результате обращение к этим данным происходит на частоте ядра, и удается избежать простоев процессора, возникающих из-за многотактовых обращений к внешней памяти. Мини-кэш данных позволяет получать доступ на частоте ядра к часто меняющимся потокам данных, таких как MPEG-видео, без «пробуксовки» кэш-памя-
ти данных. Характеристика Hit-under-Miss кэш-памяти данных вводит в технологию Intel XScale® элементы параллельных вычислений, позволяя процессору переходить к следующей команде, пока в кэш-память записываются недостающие данные, необходимые для выполнения текущей команды. Кэш-память может также осуществлять предварительную выборку данных из внешней памяти.
Внутренняя шина памяти 64-разрядный, 4-уровневый конвейер внутренней шины памяти предоставляет отдельные каналы ввода и вывода, благодаря чему можно одновременно за каждый такт записывать 32-разрядное слово и считывать другое 32-разрядное слово, что дает максимальную скорость передачи данных 2,4 Гбайт/с в каждом направлении.
Блок мониторинга производительности (PMU)
Блок мониторинга производительности (PMU) в сочетании с инструментом Intel® VTune Performance Analyzer позволяет разработчикам оценивать производительность ПО. В состав PMU входит два 32-разрядных счетчика событий и один 32-разрядный счетчик тактов, предоставляющих наглядную информацию о количестве доступов к определенной области памяти, частоту отсутствия нужных данных в кэш-памяти, а также позволяющих оценивать, на что тратится больше всего тактов. Разработчики могут использовать эту статистическую информацию для оптимизации своего ПО.
Отладка и интерфейс JTAG Процессорное ядро Intel XScale® поддерживает программную отладку через два регистра прерывания адреса команды, один регистр прерываний адреса данных, один регистр прерываний адреса/маски данных и буфер трассировки. Ядро можно тестировать через контроллер тестового доступа TAP на базе стандарта IEEE 1149.1 (JTAG) «Standard TAP and Boundary-Scan Architecture». TAP-контроллер поддерживает тестовую логику, включая встроенное самотестирование, периферийное сканирование и сканирование.
Несколько уровней интеграции
В качестве самостоятельного решения: процессор ввода/вывода Intel® IOP321
Процессор ввода/вывода Intel® IOP321 с интегрированным интерфейсом PCI-X — отличный пример высокопроизводительного решения на основе единого чипа, базирующегося на технологии Intel XScale®. Помимо ядра Intel XScale® в состав микросхемы процессора входит интерфейс 64-разрядной шины PCI-X, 32-разрядная локальная шина, контроллер 200-МГц памяти DDR SDRAM, двухканальный контроллер DMA и блок Application Accelerator Unit (AAU) для ускорения проверки четности RAID. Каналы
DMA поддерживают автоматическое формирование цепочек данных и высокую скорость передачи данных от PCI к памяти и между элементами памяти, а также пакетную передачу данных на скорости 1 Гбайт/с для PCI-X и 1,6 Гбайт/с для внутренней шины процессора. Интеграция интерфейса PCI-X с процессорным ядром Intel XScale® повышает пропускную способность и дает запас производительности для поддержки дополнительных программных приложений, включая приложения безопасности и шифрования, в передовых сетевых решениях хранения данных. Области применения: RAID-решения на базе PCI-X для одного сервера, NAS-устройства, оптоволоконные и iSCSI-адаптеры для сетей SAN и сетевые системы, использующие высокопроизводительные последовательные технологии хранения данных, такие как Serial-ATA и Serial Attached SCSI. В будущем технология Intel XScale® послужит фундаментом для масштабируемых высокопроизводительных последовательных интерфейсов шины, в том числе и для шины PCI Express.
Процессорный набор микросхем:
Intel® IOP310
В состав процессорного набора микросхем Intel® IOP310 с технологией Intel XScale® входит процессор Intel® 80200 на базе технологии Intel XScale® и микросхема Intel® 80312. Этот всесторонне проверенный набор микросхем ввода/вывода обеспечивает вычислительную мощность в сочетании с функциональными блоками с целью оптимизации производительности подсистем ввода/вывода в интернет-решениях хранения данных. Данный набор микросхем может применяться в оптоволоконных, iSCSI- и SAN-устройствах, сетевой продукции (сетевые и ATM-коммутаторы, маршрутизаторы и коммутаторы стандарта Ethernet), высокопроизводительных рабочих станциях и серверах, а также в различных встраиваемых решениях, требующих высокопроизводительной подсистемы ввода/вывода. Набор микросхем Intel® I0P310 существенно увеличивает производительность подсистемы ввода/вывода в целом. Более того, высокопроизводительное ядро расширяет роль процессора ввода/вывода, нагружая его обработкой чрезвычайно сложных сетевых приложений и приложений, обеспечивающих безопасность, — особенно тех из них, которым требуются интенсивные вычисления. При использовании в качестве подсистемы сервера или рабочей станции набор микросхем Intel® I0P310 может служить для разгрузки хост-процессора от обработки прерываний низкого уровня. Набор микросхем Intel® I0P310 демонстрирует, как за счет дополнительной микросхемы можно внести ряд дополнительных характеристик. Среди таких характеристик: интегрированный 64-разрядный/66-МГц мост PCI-to-PCI, 100-МГц внутренняя шина с пропускной способностью до 800 Мбайт/с и контроллер
памяти, поддерживающий 100-МГц память SDRAM объемом до 512 кбайт. Шесть вторичных выходных генераторов для PCI, четыре выходных генератора для SDRAM и восемь контактов ввода/вывода общего назначения позволяют упрощать схематику конечного решения и снижать затраты на его разработку. В микросхеме ввода/вывода Intel® 80312 также имеется блок «ускорения приложений» объемом 1 кбайт для контроля четности RAID и восемь контактов ввода/вывода общего назначения (GPIO), помогающих сократить количество микросхем.
В качестве одиночного ядра:
процессор Intel® 80200
Есть немало сегментов, для которых в настоящее время не существует решений «система на микросхеме». Ядро процессора Intel® 80200 в сочетании с высокопропускными интерфейсами PCI, высокоскоростными контроллерами памяти, сетевыми элементами и прочими дополнительными микросхемами служит основой для создания высокопроизводительных компонентов для разнообразных применений, в частности, для интегрированных средств обработки и передачи данных, карт безопасных сетей, устройств хранения информации и компьютерных приставок. Процессор Intel® 80200, выпускающийся также в версии с расширенным диапазоном рабочих температур, является превосходным выбором для сетевых управляющих процессоров, пакетных фильтров, QoS-администраторов и медиаприложений.
В интерфейс внешней шины процессора входит конвейерная 32-разрядная шина для обмена данными на частоте ядра между регистрами ядра и сопроцессором. Спецификация шины, доступная для разработчиков на веб-сайте Intel® (ht tp:/ /developer.intel.c om/ sites/developer/index.h tm), облегчает интеграцию процессора со множеством дополнительных микросхем в корпусе FPGA. Это позволяет разработчикам плат пользоваться преимуществами 4-уровневого конвейерного интерфейса внешней шины процессора Intel® 80200, включая отдельные запросы и шины данных для повышения скорости обмена данными между процессором и контроллером внешней памяти. Доступный сейчас широкий ряд эталонных образцов от сторонних поставщиков и макетных плат на базе процессора Intel® 80200, а также программируемые логические схемы для дополнительных микросхем позволяют ускорять разработку продукции для широкого круга применений. Поддержка технологией Intel XScale® «прямого размещения байтов» позволяет процессору Intel® 80200 работать либо в режиме little-endian в программных средах для встраиваемых применений, либо в режиме big-endian для устройств обработки сетевого трафика. В режиме bigendian эталонные образцы на базе процессора Intel® 80200 могут ускорять квалификацию других сетевых процессоров Intel® на базе технологии Intel XScale®, включая сетевые процессоры семейства Intel® IXP4XX, а также процессоры Intel® IXP2400 и Intel® IXP2800.
Заключение
Процессоры Intel® на базе технологии Intel XScale® — как в качестве процессорного ядра, так и в качестве основы для создания интегрированного решения на одной микросхеме — получили широкое внедрение в рыночных сегментах встраиваемых применений, коммуникаций и сетевой инфраструктуры. Высокая производительность, сверхнизкое энергопотребление, совместимость с набором команд ARM V5TE и исчерпывающий набор инструментальных средств определяют процессоры на базе технологии Intel XScale® как превосходный выбор для широкого спектра применений от управления сетевым трафиком до сетевого хранения данных. ■
Литература
1. ht tp:/ /developer.in tel.c om/design/iio
2. ht tp://ww w.in tel.c om/design/IIO/devtools/tptools.h tm
3. ht tp:/ /developer.in tel.c om/design/intelXScale