Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011

.pdf
Скачиваний:
133
Добавлен:
05.05.2015
Размер:
4.74 Mб
Скачать

Техника микропроцессорных систем в коммутации

Таблица 5.2 – Характеристики МПр с пониженным энергопотреблением (на примере компании Intel)

Наименование

Год

Макс.

Частота

Мощность

МПр и технологи-

выпуска

тактовая

системной

системы те-

ческая норма

 

частота

шины, МГц

плооотвода

производства

 

МПр, МГц

 

МПр, Вт

Intel Pentium M 725,

2004

1600

400

21

90 нм

 

 

 

 

 

 

 

 

 

Low voltage (пони-

 

 

 

 

женное энергопо-

 

 

 

 

требление)

2004

1500

400

10

Intel Pentium M 758,

 

 

 

 

90 нм

 

 

 

 

 

 

 

 

 

Ultra low voltage

 

 

 

 

(сверхнизкое энер-

 

 

 

 

гопотребление)

2004

1200

400

5

Intel Pentium M 753,

 

 

 

 

90 нм

 

 

 

 

 

 

 

 

 

Intel Core Solo

 

 

 

 

U1400

 

 

 

 

(сверхнизкое энер-

2006

1200

533

5,5

гопотребление),65

 

 

 

 

нм

 

 

 

 

 

 

 

 

 

Низкое энергопо-

 

 

 

 

требление Intel

 

 

 

 

Core i5 520UM

2010

1860

1333

18

двухъядерный, 32

 

 

 

 

нм

 

 

 

 

 

 

 

 

 

Intel Core 2 Duo

 

 

 

 

U7700 (сверхнизкое

 

 

 

 

энергопотребле-

2006

1330

533

10

ние) двухъядерный,

 

 

 

 

65 нм

 

 

 

 

 

 

 

 

 

МПр для нетбуков

 

 

 

 

Intel Atom Z550, 45

2008

2000

533

2,4

нм

 

 

 

 

 

 

 

 

 

Как видно из таблицы 5.2, развитие конструкций процессоров для мобильных устройств привело к появлению низковольтных процессоров для информационно-вычислительных систем с потребле-

351

Техника микропроцессорных систем в коммутации

нием от 20% до 70% электроэнергии меньше, чем в однотипных микропроцессорах для стационарных вычислительных систем. При этом в стационарных вычислительных системах также применяются технологии оптимизации энергопотребления. В современных МПр кэш-память большую часть времени включена и неизбежно дает утечку тока. Поэтому, например, предполагается повысить эффективность кэш-памяти МПр, применяя вместо технологии SRAM, основанные на DRAM. При этом площадь кристалла МПр, отводимая под временное хранение обрабатываемых данных, возможно, уменьшится в 3 раза, а энергопотребление в пассивном (ненагруженном) режиме сократится до 5 раз.

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

5.4Многоядерные процессоры

Повысить производительность современных микропроцессоров и микропроцессорных систем можно за счѐт выполнения в параллельном режиме нескольких потоков вычислительных задач.

352

Техника микропроцессорных систем в коммутации

Наиболее эффективен физический параллелизм, при котором каждый из потоков команд и/или данных обрабатывается собственным ядром (core), где ядро (core) – это самостоятельное ЦПУ с АЛУ, регистрами и кэш-памятью L1. Каждое ядро поддерживает конвейерные вычисления, в первую очередь – целочисленные конвейеры. Многоядерные процессоры на аппаратном уровне имеют архитекту-

ру MIMD (multiple instruction multiple data) — много потоков команд,

много потоков данных.

Проиллюстрируем сказанное с помощью т.н. «диаграммы Рута» [71] на рис. 5.7. где в качестве примера операционной системы используется ОС SUN Solaris.

M:1 MxN

MxN

1:1

MxN 1:1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пользовательи

Процесс 1 Процесс 2 Процесс 3

прикладные процессы

 

 

 

 

ОП

ОП

ОП

ОП

Ядро операционной системы (kernel)

Многоядерный

процессор

Процесс 4

Процесс 5

ОП ОП

ОП ОП ОП

Ядра (процессоры)

Условные обозначения :

- потоки процессов пользователей, M

 

- потоки ядра (ядерные потоки), N

ОП

- облегчѐнный процесс

 

Рис. 5.7 – Диаграмма Рута

Как видно из диаграммы на рис. 5.7, исполнение программных приложений пользователей порождает выполнение прикладных про-

353

Техника микропроцессорных систем в коммутации

граммных процессов. Прикладные программные процессы, в свою очередь, порождают потоки команд и потоки данных. Эти потоки процессов пользователей с помощью специальной библиотеки потоков (thread libraries), входящих в состав системного программного обеспечения, преобразуются в облегчѐнные процессы, а потом – в процессы ядра (ядерные процессы) операционной системы (kernel level treads). Именно эти внутриядерные потоки и выполняются аппаратным обеспечением ядра или отдельными процессорами (в случае мультипроцессорной системы). Такое многоэтапное разделение исходных задач на элементарные потоки обусловлено стремлением разработчиков систем упростить задачу согласованного и синхронного выполнение многих потоков. Кроме того, дробление позволяет более эффективно распределять потоки между ресурсами ядер или процессоров. Потоки пользователей находятся внутри процессов. На рис. 5.7 показаны различные способы преобразования потоков процессов пользователей во внутриядерные процессы:

M:1 – все потоки пользователей преобразуются в один ядерный (процесс 1);

1:1 – каждому потоку пользователей соответствует один ядерный (процесс 4);

M:N – M потокам пользователей соответствует N ядерных потоков (процесс 2,3).

Процесс 5 относится к гибридным.

Рассмотрим потоки и процессы подробнее. Потоки и процессы имеют различный способ представления в операционной системе. Например в операционной системе UNIX cистемные процессы выполняются в определенном контексте, включающем: уникальные идентификаторы процессов; идентификаторы пользователей процессов; состояния процессов (созданный процесс, готовый к выполнению процесс, выполняющийся процесс); приоритеты; каталоги; дескрипторы файлов, средства межпроцессной коммуникации. Все перечисленные составляющие образуют статический контекст процесса. Динамический контекст формирует содержание стеков используемых для запуска процесса от имени пользователя или как

354

Техника микропроцессорных систем в коммутации

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

Обработка потоков проще и основана на приоритетах. Потоки могут создаваться и уничтожаться. Они делятся на два типа:

ядерные потоки – используются для обработки недоступных пользователю прерываний; потоки пользователей – применяются для организации управления выполнением задач.

Доступ к потокам осуществляется с помощью прикладного программного интерфейса API, который реализуется с помощью библиотек потоков. Библиотеки потоков опираются на рассмотренные выше стандарты POSIX или на стандарты разработчиков. Эти библиотеки позволяют автоматизировать функции создания и уничтожения потоков, управление расписанием потоков, передача данных и сообщение между потоками. Возможная архитектура многопотокового сетевого процессора [84] представлена на рис. 5.8. Данная архитектура содержит множество идентичных многопотоковых процессоров, имеющих собственную кэш-память инструкций и кэш-память данных. Каждая область кэш-памяти разделена между потоками, которые могут обрабатываться аппаратными средствами каждого процессора. Переключение контекста вычислений предусмотрено в аппаратных средствах с нулевым циклом издержек. Это означает, что, если один поток терпит неудачу при обращении к области кэшпамяти, то другой поток может немедленно начать обрабатываться без задержки машинного цикла обработки. Для того, чтобы оперативная память вне кристалла сетевого процессора соответствовала требованиям, предъявляемым к скорости обработки данных, процессоры объединяются в группы (кластеры, clusters) и используют общий интерфейс доступа к памяти вне кристалла сетевого процессора. Планировщик задач направляет пакеты с независимых потоков на различные процессоры, для того, чтобы увеличить скорость и в максимальной степени использовать технологию параллельных вычислений.

355

Техника микропроцессорных систем в коммутации

 

Кластер 1

 

Кластер m

Внекристальная

 

Внекристальная

оперативная

 

оперативная

 

память

 

память

Канал доступа

ASIC

Канал доступа

к памяти

 

к памяти

КЭШ-

КЭШ-

 

КЭШ-

КЭШ-

память

память

 

память

память

Процессор 1

Процессор n

Процессор 1

Процессор n

потоки

потоки

 

потоки

потоки

 

 

Канал ввода/вывода

 

 

 

Демультиплексор

К ЦКП

 

 

пакетов и планировщик

 

 

 

Cеть связи

Интерфейс приемапередачи пакетов

Рис. 5.8 – Архитектура многопотокового сетевого процессора

Таким образом, после перенаправления потока вычислений, к примеру, на процессор 1, вся информация данного потока вычислений обрабатываются тем же процессором 1. Микропроцессор, относящийся к MIMD, например универсальный RISC–микропроцессор типа UltraSPARC T1, обеспечивает аппаратную поддержку выполнения 32 потоков, которые разделены на восемь групп (по четыре потока в каждой группе). Данный тип МПр в перспективе будет поддерживать на уровне ядра 8-ми стадийный конвейер для целочисленных вычислений и 12-ти стадийный конвейер для вычислений с плавающей запятой.

В рассматриваемой архитектуре МПр с одновременным выполнением потоков (тредов, нитей), SMT по сравнению с суперска-

356

Техника микропроцессорных систем в коммутации

лярными процессорами, поддерживающими спекулятивное выполнение команд, необходимы дополнительное аппаратное обеспечение:

несколько счетчиков команд – по одному счетчику команд на каждый поток;

средства, ассоциирующие команды с определенным потоком, которому они принадлежат, что необходимо, в частности, для работы механизмов предсказания переходов и переименования регистров;

по одному регистру на поток для хранения предсказанных адресов возврата из подпрограмм.

Одна из основных особенностей SMT – переименование регистров. Этот метод необходим, когда две микрокоманды, следующие одна за другой, должны записать результаты вычислений в они и тот же регистр. Поэтому внеочередное исполнение таких микрокоманд может быть затруднительным. Для решения этой проблемы используется механизм «переименования регистров» (см. раздел 1.1), когда логические регистры отображаются в физические, с которыми и ведется реальная работа. В итоге микрокоманды будут исполняться корректно, поскольку их результаты хранятся в разных физических регистрах.

Как уже говорилось, многопотоковые вычисления наиболее целесообразно выполнять параллельно на физическом уровне. Физический параллелизм обеспечивается тем, что каждый из потоков команд и/или данных обрабатывается собственным ядром. Такой подход описывается в рамках архитектуры CMP (Chip Multiprocessors) – несколько процессоров на одном кристалле МПр. Общая схема возможной эволюции многоядерных МПр в рамках архитектуры CMP представлена на рис. 5.9. В зависимости от решения производителя, МПр могут использовать как отдельную кэш–память L2 для каждого ядра, так и объединенную кэш-память L.2 всех ядер. В настоящее время на одном кристалле промышленного образца МПр реализуется от 2 до 6 процессорных ядер. В перспективе на кристалле МПр будет реализовано до 8…16 процессорных ядер. Каждый из потоков команд и/или данных в данный момент времени может обрабатываться собственным ядром.

357

Техника микропроцессорных систем в коммутации

 

Ядро ЦПУ

 

 

Регистры

 

Кэш L1-

 

Кэш L1-

команды

 

данные

 

Кэш L2

 

ОЗУ

 

Ввод/вывод

 

 

а)

 

 

Ядро ЦПУ 1

 

Ядро ЦПУ N

Регистры

...

Регистры

 

 

 

 

Кэш L1-

Кэш L1-

 

Кэш L1-

Кэш L1-

команды

данные

 

команды

данные

 

 

Кэш L2

 

 

Ядро ЦПУ 1

Ядро ЦПУ N

 

 

 

 

...

 

 

 

 

 

 

Регистры

 

Регистры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кэш L1-

 

Кэш L1-

 

 

Кэш L1-

 

Кэш L1-

 

 

команды

 

данные

 

 

команды

 

данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кэш L2

 

 

Кэш L2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОЗУ Ввод/вывод

б)

Ядро ЦПУ 1

 

 

 

Ядро ЦПУ N

 

 

 

 

 

 

 

 

 

Регистры

 

Регистры

 

 

 

Регистры

 

Регистры

 

 

...

 

 

Регистры

 

Регистры

 

 

 

Регистры

 

Регистры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кэш L1-

 

Кэш L1-

 

 

 

Кэш L1-

 

Кэш L1-

команды

 

данные

 

 

 

команды

 

данные

 

 

 

 

 

 

 

 

 

Кэш L2

ОЗУ

 

Ввод/вывод

 

ОЗУ

 

Ввод/вывод

 

 

 

 

 

 

 

 

в)

 

 

г)

Рис. 5.9 а, б, в, г – Эволюция архитектур многоядерных CMP– процессоров

К примеру, восьмиядерный процессор может одновременно обрабатывать 8 потоков, а всего восьмиядерный МПр может обрабатывать 64 потока. Каждому потоку назначается собственный набор регистров, благодаря чему нет необходимости тратить время на обращение к ОЗУ для сохранения текущего состояния вычислений. С помощью специального алгоритма реализуется переключение между потоками, причѐм на исполнение запускается тот поток, который дольше всех ожидал в очереди. Следует отметить, что согласно [17], ресурсы МПр выделяются потокам динамически. Если ядро

358

Техника микропроцессорных систем в коммутации

МПр работает на частоте 1,2 ГГц, то в случае обработки 4 потоков каждый из них будет выполняться на частоте 300 МГц, в случае обработки 2 потоков каждый будет выполняться на частоте 600 МГц. Многоядерный процессор, по сути, это многопроцессорная система, реализованная на кристалле, обеспечивающая повышение эффективности работы вычислительной системы в целом.

Из закона Амдала следует, что прирост производительности R вычислительной системы зависит от количества процессоров (N) и доли последовательных операций в программе. Граничные значения переменной С соответствуют полностью параллельным (С=0) и полностью последовательным (С =1) программам. Если лишь 1/10 часть программы выполняется последовательно, то в принципе невозможно ускорение в десять раз — вне зависимости от числа используемых процессоров (ядер). Следствие закона Амдала состоит в том, что рост производительности в N раз при N ядрах практически недостижим. Это объясняется тем, что разработать алгоритм и написать компьютерную программу, исполняемую параллельно в любой части и с полным отсутствием последовательных операций, практически крайне сложно. В итоге реально возможный прирост вычислительной производительности системы при использовании многоядерных процессоров показан на рис. 5.10 [57].

Рис. 5.10 – Изменение производительности многоядерных процессоров

359

Техника микропроцессорных систем в коммутации

Многопоточная обработка данных и команд многоядерными процессорами является определенной альтернативой рассмотренной ранее системе переупорядочивания команд для ускорения вычислений и предсказания направлений вычислений. Переупорядочивание команд и предсказание вычислений требуют применения достаточно сложных алгоритмов, использования дополнительных вычислительных ресурсов и в итоге приводит к росту энергопотребления и TDP МПр. В случае многоядерных процессоров проблема задержек вычислений решается иначе. Если один из потоков задерживается на выполнении инструкции, то ядро может переключиться на выполнении другого потока. Тоже самое относится и к проблеме ветвлений – если достигнута команда перехода, то ядро не вычисляет потенциальный переход, а происходит переключение на другой поток до тех пор, пока условие перехода не будет выполнено. При этом потоки являются независимыми и ядро не анализирует взаимозависимости между инструкциями различных потоков.

Как уже отмечалось в разделе 5.3, эмпирически было установлено, что в большинстве случаев тактовая частота микропроцессора примерно пропорциональна напряжению электропитания, а мощность, потребляемая микропроцессором – пропорциональна квадрату этого напряжения. В результате, при переходе от одноядерной архитектуры микропроцессора к двух/четырех/шестиядерной архитектуре можно сохранить уровень производительности, снизив минимум вдвое тактовую частоту и напряжение электропитания. При этом суммарное тепловыделение процессора также снизится в 3…4 раза. Прочие достоинства многоядерных МПр состоят в следующем:

малые размеры «ядра» МПр позволяют на одном кристалле МПр размещать больше «процессоров», повышая тем самым удельную вычислительную мощность на единицу площади МПр;

при сохранении заданной производительности МПр можно вдвое уменьшить тактовую частоту; поскольку процессоры, находящиеся на одном кристалле,

используют общие системные ресурсы, возникает дополнительная экономия физического пространства кристалла МПр;

360