Алтайский государственный университет
Опубликован: 12.07.2010 | Доступ: свободный | Студентов: 1465 / 390 | Оценка: 4.02 / 3.93 | Длительность: 16:32:00
ISBN: 978-5-9963-0349-6
Специальности: Разработчик аппаратуры
Лекция 15:

Сравнительные характеристики процессоров

< Лекция 14 || Лекция 15 || Лекция 16 >
Аннотация: Приводится сравнение характеристик процессоров по показателям: разрядность, производительность, потребляемая мощность, размеры, классы задач, на которые рассчитаны, стоимость. Приводится также примерная классификация рассмотренных выше процессоров.

Интегральные характеристики

Среди многоядерных процессоров к данному моменту можно выделить процессоры, предназначенные в основном для встраиваемых и мобильных приложений, в которых большое внимание разработчиков было уделено средствам и методам снижения энергопотребления, процессоры для вычислительных или графических станций, где вопросы энергопотребления не столь критичны, процессоры т .н. мейнстрима — предназначенные для серверных, рабочих станций и персональных компьютеров.

К первому классу можно отнести процессоры семейств SEAforth (SEAforth24, seaforth40), Tile (Tile36, Tile64, Tile64pro), AsAP-II, CSX700. Во второй класс попадают прежде всего графические процессоры, например, процессоры серии g80 от NVIDIA, проект Larrabee от Intel, отчасти сюда можно отнести и процессор Cell от IBM, хотя количество вычислительных ядер у него относительно невысоко. Третий класс составляют процессоры, выпускаемые такими промышленными гигантами, как AMD, Intel, Sun.

Среди вышеперечисленных к асимметричным можно отнести процессоры AsAP, Cell, МС- \ast, NVCom-01. Остальные процессоры имеют однотипные ядра ( таблица 15.1).

Таблица 15.1. Классификация многоядерных процессоров, представленных на современном рынке
Архитектуры MIMD SIMD (потоковые)
SMP SEAforth, Tile, Larrabee, Opteron, Nehalem, Ultra Sparc, 1891ВМ3, ARM MPCore G80, CSX700
AMP Cell, AsAP, МС- \ast, NVCom-01

Произведем сравнение их характеристик по следующим показателям: разрядность, производительность, потребляемая мощность, стоимость, размеры, классы задач, на которые рассчитаны. Безусловно, данное сравнение не вполне корректно, так как даст только абсолютные или пиковые показатели процессоров, безотносительно к задачам или тестам, однако оно даст общую картину — своего рода срез.

Сравнительные характеристики производительности процессоров, потребляемой мощности и скоростей обмена данными представлены в таблицах 15.2 и 15.3.

Таблица 15.2. Производительность многоядерных процессоров
Процессор Количество ядер Миллионов операций в секунду (общее) МФлопс (общее) Количество потоков на ядро Потребляемая мощность, Вт
SEAforth40 40 26000 1 0,5
Tile64pro 64 443000 1 20
Tile-Gx100 100 750000 1 10-50
AsAP 167 10824-196800 770 1 0,01-10
CSX700 192 48000 96000 1 9
Larrabee \sim 32 2000 4
G80 128 518000 96 150
Mips32 1004k 4 3200 90 2 0,4
xlp832 8 4000-16000 4 15-50
ARM11 MPCore 4 1200-2400 1
ARM Cortex-A9 MPCore 4 \sim 8000 1
ARM Cortex-A5 MPCore 4 \sim 2000 1
Cell Broadband 9 17000 250000 2 80
AMD Opteron 4/6/12 21600-46800 28800-41600/ 2 40-75 43200-62400/ 86400-124800 2 40-75
Sun Ultra Spark T2 4/6/8 7200-22400 11000 8 46/57/91
Intel Core i7 4/8 38400-105600 60000-70000 2 90-130
МС-24 2 640 480 1 1,5
МС-0226 3 1600 1200 1
NVCom-01 3 4800 3600 1 0,28-1,0
МС-0428 5 >8000
Таблица 15.3. Скорости передачи данных и топология связей
Процессор Топология Скорость передачи данных между ядрами Скорость обмена с памятью
SEAforth40 решетка 3,6 Гб/с 0,9 Гб/с
Tile64pro сеть (толстое дерево) 27 Тб/с 25,6 Гб/с
Tile-Gx100 сеть (толстое дерево) 200 Тб/с 500 Гб/с
AsAP ячеистая сеть 1200 Мб/с
CSX700 линейка 4 Гб/с 2х4 Гб/с
Larrabee двойное кольцо
G80 шина в памяти 76 Гб/с
xlp832 сеть передачи сообщений 51,2 Гб/с
ARM11 MPCore шина 1,3 Гб/с 1,3 Гб/с
ARM Cortex-A9 MPCore шина 1,3 Гб/с 1,3 Гб/с
ARM Cortex-A5 MPCore шина 1,3 Гб/с 1,3 Гб/с
Cell Broadband два двойных кольца 25,6 Гб/с 25,6 Гб/с
AMD Opteron перекрестный коммутатор 3,2 Гб/с / 9,6 Гб/с 5,3 Гб/с
Sun Ultra Spark T2 перекрестный коммутатор 60 Гб/с 50 Гб/с
Intel Core i7 перекрестный коммутатор 12,8 Гб/с 32 Гб/с
1891ВМ3 точка-точка 2,664 Гб/с
МС-12(1892ВМ3Т) шина
МС-24 шина
МС-0226 звезда
NVCom-01 звезда
МС-0428 звезда

Производительность отдельных ядер

Достаточно интересно также сравнить характеристики отдельных ядер многоядерных процессоров — производительность, количество поддерживаемых потоков выполнения, потребляемая мощность ( таблица 15.4).

Таблица 15.4. Производительность отдельных ядер
Процессор Разрядность Миллионов операций в секунду Количество потоков на ядро Потребляемая ядром мощность,Вт Удельная потребляемая ядром мощность,мВт/МIPS Ватт/поток
SEAforth40 18 700 1 0,0125 0,018 0,0125
Tile64pro 32 700 1 0,3125 0,446 0,3125
32 866 1 0,3125 0,361 0,3125
Tile-Gx100 64 3000-4500 1 0,1-0,5 0,033-0,11 0,1-0,5
AsAP 16 66 1 0,0001 0,001 0,0001
16 1000 1 0,0599 0,060 0,0599
CSX700 32 250 1 0,0469 0,188 0,0469
Larrabee 32/512 4
G80 32 1350 96 1,1719 0,868 0,0122
Mips32 1004k 32 800 2 0,1000 0,125 0,0500
xlp832 32 500 4 1,8750 3,750 0,4688
32 2000 4 6,2500 3,125 1,5625
ARM11 MPCore 32 320-620 1 0,075-0,260 0,23-0,43 0,075-0,260
ARM Cortex-A9 MPCore 32 1000-2000 1
ARM Cortex-A5 MPCore 32 480 1 0,06 0,12 0,06
Cell Broadband 64/128 4000 2 8,8889 2,222 4,4444
AMD Opteron 64 5400 2 10,0000 1,852 5,0000
64 7800 12,5000 1,603 6,2500
Sun Ultra Spark T2 64 1800 8 11,5000 6,389 1,4375
64 2200 8 9,5000 4,318 1,1875
64 2800 8 11,3750 4,063 1,4219
Intel Core i7 64 9600 2 22,5000 2,344 11,2500
64 13200 2 16,2500 1,231 8,1250
1891ВМ3 64 500 1 2,5 0,005 2,5
МС-12(1892ВМ3Т) 32/64 80/320 1 0,7/0,5 0,009/0,0016 0,7/0,5
МС-24(1892ВМ2Я) 32/64 80/320 1/2 0,7/0,8 0,009/0,0016 0,7/0,5
МС-0226(1892ВМ5Я) 32/64 100/800 1/2 0,7/0,8 0,009/0,0016 0,7/0,5
NVCom-01 32/64 1
МС-0428 32/64 1

Немалый вклад в общую производительность процессора и эффективность его работы вкладывает и структура межъядерных связей и организация подсистемы памяти, в частности кэш-памяти ( таблица 15.5).

Таблица 15.5. Кэш-память
Процессор Количество ядер Размер кэша, байт
L1 L2 L3
L1-I L1-D
SEAforth40 40 641локальная оперативная память
Tile64pro 64 16 К 64 К 5 М2распределенный по ядрам процессора
Tile-Gx100 100 32 К 32 К 256 К 32 М3распределенный по ядрам процессора
AsAP 167 1284локальная оперативная память 1285локальная оперативная память
CSX700 192 6 К
Larrabee \sim 32 64 К 256 К
G80 128 5 К 32 К66 разделяемых блоков
Mips32 1004k 4 8-64 К 8-64 К
xlp832 8 64 К 32 К 512 К 8 М(5)
ARM11 MPCore 4 16 К 16 К
ARM Cortex-A9 MPCore 4 16 К 16 К
ARM Cortex-A5 MPCore 4 16 К 16 К
Cell Broadband 9 16 К 16 К 512 К7имеется только у PPE, SPE-ядра имеют локальную память
AMD Opteron 4/6/12 64К/64К/128К 512К/512К/512К 2М (4М)/6М8разделяемый всеми ядрами
Sun Ultra Spark T2 4/6/8 16 К 8 К 4 М9разделяемый всеми ядрами
Intel Core i7 4/8 32 К 32 К 256 К 8 М10разделяемый всеми ядрами
1891ВМ3 2 16 К 32 К 512 М11распределенный по ядрам процессора
МС-12 (1892ВМ3Т) 2 16 К
МС-24 2 16 К
МС-0226) 3 16 К
NVCom-01 3 16 К
МС-0428 5

В плане управления энергопотреблением процессора интересны разработки компании Intel, направленные на реализацию метода динамического регулирования интенсивности выполнения инструкций (Energy Per InstructionEPI) в зависимости от степени параллелизма программы. Была показана эффективность регулирования тактовой частоты в асимметричной мультипроцессорной системе в зависимости от уровня активности вычислительных ядер.

Можно выделить несколько схем управления энергопотреблением многоядерных процессоров, реализуемых на данный момент:

  • перевод неактивных ядер в состояние низкого энергопотребления;
  • изменение тактовой частоты ядер в зависимости от их активности;
  • изменение напряжения питания процессора или отдельных ядер;
  • изменение тактовой частоты процессора;
  • изменение и напряжения, и тактовой частоты ядер процессора.

Основной подход к организации многопоточности ядер — параллелизм на уровне потоков (уменьшение времени простоя из-за ожидания данных из памяти или загрузка различных исполнительных блоков процессора) в сочетании с параллелизмом на уровне инструкций (параллельное исполнение нескольких команд за цикл).

Рассматривая многоядерные процессоры (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) стоит выделить следующие направления:

  • асимметричные процессоры со специализированными ядрами;
  • процессоры для мобильных устройств;
  • многопотоковые (в некоторых источниках — мультитредовые) мультиядерные процессоры, представляющие по сути высокоин-тегрированные процессорные системы — "системы (серверы) на кристалле".

Основные схемы управления энергопотреблением многоядерных процессоров, реализуемые на данный момент:

  • перевод неактивных ядер в состояние низкого энергопотребления;
  • изменение тактовой частоты ядер в зависимости от их активности;
  • изменение напряжения питания процессора или отдельных ядер;
  • изменение тактовой частоты процессора;
  • изменение и напряжения, и тактовой частоты ядер процессора.

Основной подход к организации многопоточности ядер — параллелизм на уровне потоков (уменьшение времени простоя из-за ожидания данных из памяти или загрузка различных исполнительных блоков процессора) в сочетании с параллелизмом на уровне инструкций (параллельное исполнение нескольких команд за цикл).

Контрольные вопросы

  1. Каковы основные направления развития процессоров?
  2. Ядра каких процессоров имеют аппаратную поддержку нескольких потоков исполнения?
  3. Какие методы управления энергопотреблением наиболее часто применяются в современных процессорах?

Упражнения

  1. Оцените эффективность различных схем управления энергопотреблением процессоров.
  2. Сравните показатели производительности многоядерных и мультиядерных процессоров.
< Лекция 14 || Лекция 15 || Лекция 16 >
Сергей Горбунов
Сергей Горбунов

 

прошел курс и сдал экзамен   Многоядерные процессоры   

система сертификат не выдала. почему?