Сравнительные характеристики процессоров
Интегральные характеристики
Среди многоядерных процессоров к данному моменту можно выделить процессоры, предназначенные в основном для встраиваемых и мобильных приложений, в которых большое внимание разработчиков было уделено средствам и методам снижения энергопотребления, процессоры для вычислительных или графических станций, где вопросы энергопотребления не столь критичны, процессоры т .н. мейнстрима — предназначенные для серверных, рабочих станций и персональных компьютеров.
К первому классу можно отнести процессоры семейств SEAforth (SEAforth24, seaforth40), Tile (Tile36, Tile64, Tile64pro), AsAP-II, CSX700. Во второй класс попадают прежде всего графические процессоры, например, процессоры серии g80 от NVIDIA, проект Larrabee от Intel, отчасти сюда можно отнести и процессор Cell от IBM, хотя количество вычислительных ядер у него относительно невысоко. Третий класс составляют процессоры, выпускаемые такими промышленными гигантами, как AMD, Intel, Sun.
Среди вышеперечисленных к асимметричным можно отнести процессоры AsAP, Cell, МС- , NVCom-01. Остальные процессоры имеют однотипные ядра ( таблица 15.1).
Произведем сравнение их характеристик по следующим показателям: разрядность, производительность, потребляемая мощность, стоимость, размеры, классы задач, на которые рассчитаны. Безусловно, данное сравнение не вполне корректно, так как даст только абсолютные или пиковые показатели процессоров, безотносительно к задачам или тестам, однако оно даст общую картину — своего рода срез.
Сравнительные характеристики производительности процессоров, потребляемой мощности и скоростей обмена данными представлены в таблицах 15.2 и 15.3.
Производительность отдельных ядер
Достаточно интересно также сравнить характеристики отдельных ядер многоядерных процессоров — производительность, количество поддерживаемых потоков выполнения, потребляемая мощность ( таблица 15.4).
Немалый вклад в общую производительность процессора и эффективность его работы вкладывает и структура межъядерных связей и организация подсистемы памяти, в частности кэш-памяти ( таблица 15.5).
В плане управления энергопотреблением процессора интересны разработки компании Intel, направленные на реализацию метода динамического регулирования интенсивности выполнения инструкций (Energy Per Instruction — EPI) в зависимости от степени параллелизма программы. Была показана эффективность регулирования тактовой частоты в асимметричной мультипроцессорной системе в зависимости от уровня активности вычислительных ядер.
Можно выделить несколько схем управления энергопотреблением многоядерных процессоров, реализуемых на данный момент:
- перевод неактивных ядер в состояние низкого энергопотребления;
- изменение тактовой частоты ядер в зависимости от их активности;
- изменение напряжения питания процессора или отдельных ядер;
- изменение тактовой частоты процессора;
- изменение и напряжения, и тактовой частоты ядер процессора.
Основной подход к организации многопоточности ядер — параллелизм на уровне потоков (уменьшение времени простоя из-за ожидания данных из памяти или загрузка различных исполнительных блоков процессора) в сочетании с параллелизмом на уровне инструкций (параллельное исполнение нескольких команд за цикл).
Рассматривая многоядерные процессоры (many-core), в итоге можно выделить два направления, по которым на данный момент идет развитие многоядерных процессоров.
Первое: специализированные многоядерные процессоры — процессоры с относительно простыми ядрами небольшой разрядности, с эффективной системой управления энергопотреблением. Как правило, они нацелены на применение в качестве контроллеров в сенсорных системах, мобильных устройствах и устройствах с автономным питанием, для первичной цифровой обработки сигналов. Ключевые свойства процессоров этого направления — низкое удельное энергопотребление ядер; возможности полного останова ядер; небольшое количество инструкций, поддерживаемых ядром; отсутствие кэш-памяти. На сегодняшний день наиболее яркие представители этого направления — процессоры семейств SEAforth, AsAP.
Второе направление: многоядерные процессоры общего назначения — их ядра по сложности приближаются к ядрам процессоров общего назначения, имеют развитую систему кэш-памяти, высокопроизводительную систему связей между ядрами. Круг применений данных процессоров шире — бортовые вычислительные системы, системы, обслуживающие сетевые приложения, обработка мультимедийных данных и сигналов, высокопроизводительные кластеры. Ко второму направлению можно отнести процессоры семейств Tile и CSX.
Общим для многоядерных процессоров пока остается поддержка их ядрами одного потока выполнения (хотя в процессорах Tile и присутствует параллелизм на уровне инструкций).
Среди мультиядерных процессоров (multi-core) стоит выделить следующие направления.
Первое — асимметричные процессоры со специализированными ядрами. Сочетают в себе ядро общего назначения и ядра сигнальных процессоров. Вполне возможно, в будущем к сигнальным ядрам могут добавиться и криптографические модули — для аппаратной поддержки коммуникационных функций. Пока к данному направлению можно отнести процессоры Cell, процессоры серии "Мультикор".
Второе направление включает в себя процессоры для мобильных устройств. Процессоры этого направления имеют развитую шинную систему, низкое энергопотребление. Наиболее яркие представители — ARM Cortex-A MPCore, MIPS32 1004K.
Третье направление — многопотоковые (в некоторых источниках — мультитредовые) мультиядерные процессоры. Высокоинтегрированные процессорные системы — "системы (серверы) на кристалле"). В развитии данного направления, скорее всего, следует ожидать сближения "обычных" мультиядерных и графических процессоров, расширения поддержки виртуализации процессоров, увеличения количества одновременно поддерживаемых потоков. К третьему направлению можно отнести графические процессоры, процессоры фирм AMD, Intel, Sun (Oracle), процессоры серии XLP.
Краткие итоги
В развитии многоядерных процессоров (many-core) можно выделить два направления:
- специализированные многоядерные процессоры — процессоры с относительно простыми ядрами небольшой разрядности, с эффективной системой управления энергопотреблением;
- многоядерные процессоры общего назначения — их ядра по сложности приближаются к ядрам процессоров общего назначения, имеют развитую систему кэш-памяти, высокопроизводительную систему связей между ядрами.
Среди мультиядерных процессоров (multi-core) стоит выделить следующие направления:
- асимметричные процессоры со специализированными ядрами;
- процессоры для мобильных устройств;
- многопотоковые (в некоторых источниках — мультитредовые) мультиядерные процессоры, представляющие по сути высокоин-тегрированные процессорные системы — "системы (серверы) на кристалле".
Основные схемы управления энергопотреблением многоядерных процессоров, реализуемые на данный момент:
- перевод неактивных ядер в состояние низкого энергопотребления;
- изменение тактовой частоты ядер в зависимости от их активности;
- изменение напряжения питания процессора или отдельных ядер;
- изменение тактовой частоты процессора;
- изменение и напряжения, и тактовой частоты ядер процессора.
Основной подход к организации многопоточности ядер — параллелизм на уровне потоков (уменьшение времени простоя из-за ожидания данных из памяти или загрузка различных исполнительных блоков процессора) в сочетании с параллелизмом на уровне инструкций (параллельное исполнение нескольких команд за цикл).
Контрольные вопросы
- Каковы основные направления развития процессоров?
- Ядра каких процессоров имеют аппаратную поддержку нескольких потоков исполнения?
- Какие методы управления энергопотреблением наиболее часто применяются в современных процессорах?
Упражнения
- Оцените эффективность различных схем управления энергопотреблением процессоров.
- Сравните показатели производительности многоядерных и мультиядерных процессоров.