ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011
.pdf
Техника микропроцессорных систем в коммутации
Таблица 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
Техника микропроцессорных систем в коммутации
граммных процессов. Прикладные программные процессы, в свою очередь, порождают потоки команд и потоки данных. Эти потоки процессов пользователей с помощью специальной библиотеки потоков (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
Техника микропроцессорных систем в коммутации
лярными процессорами, поддерживающими спекулятивное выполнение команд, необходимы дополнительное аппаратное обеспечение:
несколько счетчиков команд – по одному счетчику команд на каждый поток;
средства, ассоциирующие команды с определенным потоком, которому они принадлежат, что необходимо, в частности, для работы механизмов предсказания переходов и переименования регистров;
по одному регистру на поток для хранения предсказанных адресов возврата из подпрограмм.
Одна из основных особенностей SMT – переименование регистров. Этот метод необходим, когда две микрокоманды, следующие одна за другой, должны записать результаты вычислений в они и тот же регистр. Поэтому внеочередное исполнение таких микрокоманд может быть затруднительным. Для решения этой проблемы используется механизм «переименования регистров» (см. раздел 1.1), когда логические регистры отображаются в физические, с которыми и ведется реальная работа. В итоге микрокоманды будут исполняться корректно, поскольку их результаты хранятся в разных физических регистрах.
Как уже говорилось, многопотоковые вычисления наиболее целесообразно выполнять параллельно на физическом уровне. Физический параллелизм обеспечивается тем, что каждый из потоков команд и/или данных обрабатывается собственным ядром. Такой подход описывается в рамках архитектуры CMP (Chip Multiprocessors) – несколько процессоров на одном кристалле МПр. Общая схема возможной эволюции многоядерных МПр в рамках архитектуры CMP представлена на рис. 5.9. В зависимости от решения производителя, МПр могут использовать как отдельную кэш–память L2 для каждого ядра, так и объединенную кэш-память L.2 всех ядер. В настоящее время на одном кристалле промышленного образца МПр реализуется от 2 до 6 процессорных ядер. В перспективе на кристалле МПр будет реализовано до 8…16 процессорных ядер. Каждый из потоков команд и/или данных в данный момент времени может обрабатываться собственным ядром.
357
Техника микропроцессорных систем в коммутации
МПр работает на частоте 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
