ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011
.pdf
Техника микропроцессорных систем в коммутации
Существуют и упрощенные реализации предсказания переходов. В частности, в процессоре ввода-вывода в подразделе 1.8 для предсказания переходов используется буфер, который хранит историю предыдущих ветвлений в исполняемой программе. Ветвление предусматривает смену потока исполняемых команд, что соответствует блоку решений «да–нет» в алгоритме. Центральное процессорное устройство процессора ввода-вывода постоянно просматривает выполняемый фрагмент машинного кода и предсказывает следующий программный переход. История ветвлений хранится в буфере вместе с адресами перехода. При обнаружении в потоке команд операции перехода, вычисленный адрес перехода сравнивается с адресами, хранящимися в буфере предсказания переходов. В случае совпадения, адрес из буфера переходов используется в качестве адреса команды, которая посылается в кэш-память команд. В итоге, в случае правильного предсказания перехода, команда из другой программной ветви загружается в конвейер без задержки. Наличие буферов адресов перехода позволяет повысить вероятность правильного предсказания перехода, увеличивая производительность процессора ввода-вывода на 15%.
С учетом вышеизложенного, обобщенная архитектура микропроцессора с поддержкой параллельного исполнения команд с архитектурой EPIC приведена на рис. 5.4 [86]. Как уже отмечалось, структура команд в МПр с архитектурой EPIC отличается от команд архитектуры RISC и CISC суперскалярного микропроцессора. В МПр Itanium и Itanium2 в качестве формата используется связка команд, длиной 128 бит. Связка содержит три команды и т.н. шаблон, который указывает на существующие зависимости между командами. Компилятор, проанализировав шаблон устанавливает, можно ли запустить на исполнение первую команду параллельно со второй или вторая команда должна выполняться сразу после первой. Остальные свойства Itanium и Itanium2 в части оптимизации вычислений аналогичны перечисленным выше. Как видно из рис. 5.4, при использовании суперскалярной архитектуры МПр содержит несколько конвейеров и несколько АЛУ. Это позволяет одновременно исполнять смежные арифметико-логические операции, что соответствует реализации явного параллелизма при выполнении вычислений.
341
Техника микропроцессорных систем в коммутации |
||||||
Шина адреса и |
|
Шина |
|
|
||
|
данных |
|
управления |
|
||
|
Устройство связи с кэш L.2 и |
|
|
|||
|
общесистемной шиной |
|
|
|||
|
Блок прогнозирования |
|
|
|||
|
|
ветвлений |
|
|
||
|
|
Кэш команд |
|
|
||
|
Буфер переупорядочивания |
|
|
|||
|
|
команд |
|
Внутрипроцес- |
||
|
|
|
|
|
сорные связи |
|
FPU1 |
FPU1 |
FPU1 |
ALU1 |
ALU1 |
LSU |
|
Регистры данных |
Целочисленные |
Кэш |
||||
регистры |
данных |
|||||
|
|
|
||||
Условные обозначения:
ALU – арифметико-логическое устройство для операций с целыми числами FPU – арифметико-логическое устройство для операций с плавающей точкой LSU – блок загрузки и хранения данных
Рис. 5.4 – Обобщѐнная архитектура микропроцессора с архитектурой
EPIC
Для разных операций – например с целыми числами и обработки мультимедиа АЛУ – конвейер имеет различную длину.
Рассмотрим ещѐ один вариант организации вычислений в микропроцессорах, применяемых в портативных ЭВМ – ноутбуках. Ноутбук, дополненный средствами беспроводного радиодоступа к сетям 2G/3G/WiFi/WiMax в настоящее время можно рассматривать как полноценное средство коммуникации. Учитывая ограниченное по времени электропитание от аккумулятора/батареи таких устройств, организация эффективных вычислений в таких процессорах имеет важное значение. В качестве примера рассмотрим одни из первых
342
Техника микропроцессорных систем в коммутации
выполнения вычислений.
Запись результатов в ОЗУ.
С учѐтом повторяемости некоторых вычислительных процедур, некоторые типовые, последовательно выполняемые микроинструкции, хранятся в специальном кэш L1, где из них формируются микропрограммы – отслеживания (traces, трассы). Под трассой понимается последовательность микрокоманд, в которые декодированы ассемблерные команды МПр, принадлежащие одной или нескольким ветвям исходной программы. Если в кэш L1 попадают инструкции (микрокоманды), совпадающие с трассой, то такие инструкции выполняются, даже если порядок их следования не совпадает с трассой. Для обеспечения высокого процента попаданий используется специальный блок предсказания ветвлений Branch Unit. Этот блок позволяет на основе ветвлений в программе предсказывать переходы. При этом модифицируется порядок выполнения команд в исходной программе. Для предсказания используется технология Advanced Branch Prediction, которая увеличивает точность предсказания на основе анализа поведения программ в прошлом и на этой основе предсказывает будущее направление вычислений.
В частности, используются:
Бимодальное прогнозирование – прогноз условных и безусловных переходов.
Локальное прогнозирование – прогнозирование циклов, чьѐ завершение связано со счѐтчиком команд.
Глобальное прогнозирование – общее прогнозирование ветвлений путѐм отслеживания выполнения программ.
В результате наличия этих трѐх блоков вероятность ошибки прогнозирования снижается на 20%. Используемая технология предвыборки данных требует анализа содержания кэш-памяти L1 и поиска в потоке запросов тех данных, к которым будет происходить обращение. Pentium M отслеживает одновременно 8 операций «потоки вверх» (переход от низших адресов к высшим), и 4 операции «поток вниз» (переход от высших адресов к низшим). В блоке «Переименование и распределение регистров МПр» происходит переименование и распределение регистров МПр для бесконфликтного
344
Техника микропроцессорных систем в коммутации
доступа различных команд. Планировщик переупорядочивает инструкции (микрокоманды) и распределяет их по функциональным устройствам. Суть переупорядочивания заключается в том, что планировщик определяет степень готовности команд к исполнению и меняет порядок следования команд в зависимости от готовности данных для выполнения команд. Диспетчер перераспределяет микрокоманд по портам, которые здесь выполняют функции шлюзов к блокам вычислений. Для окончательного выполнения инструкции загружаются в блок регистров.
Микропроцессор типа Intel Pentium M использует технологию объединения микроопераций (micro-op fusion), которая позволяет осуществлять слияние нескольких микроопераций в одну, где микрооперация представляет собой декодированную инструкцию. Инструкции, в свою очередь, объединяются с операндами. В целом микрокоманда выполняется за время выполнения самой длительной инструкции. Дополнительно используется выделенный диспетчер стеков (dedicated stack manager), который отслеживает загрузку системных ресурсов с помощью аппаратных средств.
Описанные методы повышения производительности современных МПр в совокупности позволяют уменьшить простои МПр, связанные с ожиданием загрузки команд и данных из относительно медленной оперативной памяти. Компилятор перемещает команды загрузки из ОЗУ так, чтобы они выполнялись как можно раньше. Реализация описанных технологий оптимизации обработки данных в современных МПр осуществляется в тесной увязке с проблемами оптимизации энергопотребления, которые рассмотрим ниже.
5.3Технологии оптимизации энергопотребления
Начиная с 1980-х годов для увеличения вычислительной мощности МПр производительность микропроцессоров наращивалась за счѐт постоянного увеличения тактовой частоты, уменьшения размера и, соответственно, увеличения количества транзисторов на единицу площади кристалла МПр. На переключение транзисторных компонентов, схемно реализующих логические элементы, затрачивается определѐнная мощность. При увеличении тактовой частоты
345
Техника микропроцессорных систем в коммутации
электроимпульсов постоянного тока в полупроводниковых и металлических компонентах процессора возникает избыточное тепловыделение, в первую очередь за счѐт законов физики. Тепловыделение элементной базы процессоров принято измерять в пикоджоулях на переключение одного бита (1 ПкДж/Бит = 10–12 Дж/Бит). Это энергия, выделяемая при переключении одного вентиля. При современных тактовых частотах и плотностях интеграции на кристалле суммарное тепловыделение имеет величину в несколько ватт на площади в 1 квадратный сантиметр. В связи с этим достаточно остро стоит проблема отвода тепла от микропроцессора для обеспечения необходимого температурного режима работы т.к. перегрев МПр приводит к его отказу. Соответствующую характеристику МПр можно обозначить как «мощность системы теплооотвода МПр» (thermal design power, TDP).
Рассматриваемая ситуация усугубляется ещѐ и тем, что при уменьшении физических размеров полупроводниковых компонентов, прежде всего затворов транзисторов, неизбежно возникают сильные токи утечки; причѐм чем выше тактовая частота и энергопотребление, тем больше токи утечки. В итоге опять возникает избыточное тепловыделение и без принятия мер по охлаждению процессор может перегреться и отказать. Теоретическим пределом роста тактовой частоты современных МПр для применения в промышленных условиях считается величина 10 ГГц (см. рис. 5.6).
Следует отметить, что нагрев кристалла МПр происходит неравномерно. Результаты исследований лаборатории изучения цепей корпорации Intel под руководством Р. Кришнамурти (Ram Krishnamurty) показывают, что до температуры +125°C нагревается лишь АЛУ процессора, занимающее сравнительно небольшое место на кристалле МПр. Остальная часть МПр, включая кэш-память, нормально функционирует при вполне приемлемой температуре не выше +65°C. Если МПр выполняет простую пересылку данных из одного участка памяти в другой, то это не приводит к нагреву. Когда производятся сложные математические операции, процессор нагревается в основном за счѐт нагрева АЛУ. Усугубляет ситуацию с нагревом то, что современные МПр используют не одно, а от четырех до двадцати четырех АЛУ. Поскольку АЛУ постоянно обмениваются
346
Техника микропроцессорных систем в коммутации
данными и располагаются поблизости друг от друга, то плотность выделения тепла на см2 площади увеличивается.
Рис. 5.6 – Увеличение тактовой частоты микропроцессоров по годам
С учѐтом роста затрат на реализацию технически сложной системы охлаждения процессоров, в сентябре 2004 г. ведущие производители МПр заявили об отсутствии планов выпуска процессоров с тактовой частотой свыше 4 ГГц. В частности, одним из последних «быстрых» процессоров стал Intel Pentium 4 570/571 на ядре Prescott с тактовой частотой 3,8 ГГц и мощностью 115 Вт. Максимальная рабочая температура этого МПр достигала +72,8 oC. Переход к мощности процессора в 200 Вт стал нецелесообразен в связи с нежеланием производителей ЭВМ обеспечивать новые условия охлаждения. Процессоры компании AMD, например шестиядреный AMD Phenom II X6 1090 T, штатно работают на тактовой частоте 3,2 ГГц. Впрочем, возможно принудительное увеличение тактовой частоты (разгон) некоторых типов МПр AMD до 3,2…3,4 ГГц. Эксперимент, чьи результаты приводились на сайте www.thg.ru показывает, что при разгоне
347
Техника микропроцессорных систем в коммутации
например МПр Intel Pentium4 до 5,2 ГГц для обеспечения рабочей температуры МПр необходимо охлаждение из жидкого азота. В мае 2008 г. компания IBM объявила о выпуске на рынок нового высокопроизводительного суперкомпьютера IBM Power 575 Hydro-Cluster c фирменным водяным охлаждением на базе МПр IBM POWER6. Решение с водяным охлаждением, разумеется, носит исключительный характер и применяется преимущественно в больших центрах обработки данных, например в физическом Институте по изучению плазмы Макса Планка (ФРГ). Несмотря на водяное охлаждение, МПр IBM POWER6 оснащен несколькими энергосберегающими технологиями, среди которых присутствует режим «nap» (спящий режим), который снижает потребление энергии ЦПУ на 30-35% при бездействии операционной системы. Имеется возможность динамического регулирования тактовой частоты и напряжения питания этот микропроцессора. Ядро процессора IBM POWER6 работает на тактовых частотах 3,5…4,7 ГГц, ядро способно выполнять одну инструкцию за 3 нс, изготовлено ЦПУ на кристалле с десятиуровневой медной металлизацией площадью 341 мм2, где находится почти 790 миллионов транзисторов, МПр выполнен с помощью комбинации 80нм и 65-нм технологий производства процессоров. По некоторым данным, в 2010 году ожидаются поставки ещѐ одного процессора IBM с тактовой частотой до 5,2 ГГц. Это МПр предназначен для мейнфрейма zEnterprise 196, площадь МПр составляет 512 мм2 , изготовлен по технологической норме 45 нм, имеет 64 Кбайт кэшпамяти команд первого уровня L1, 128 Кбайт кэш-памяти данных первого уровня L1 и 1,5 Мбайт кэш– памяти второго уровня L2. Тем не менее, тактовые частоты работы микропроцессоров с величиной свыше 4 ГГц по прежнему остаются уникальными и малотиражируемыми решениями в связи со сложностью обеспечения TDP. Для тиражирования в массовых устройствах применяются микропроцессоры с минимальным TDP, что подразумевает пониженное или оптимизированное энергопотребление МПр. Рассмотрим методы снижения энергопотребления МПр.
Рассмотрим варианты оптимизации энергопотребления в современном микропроцессоре. Развитие технологий энергосбережения и оптимизации энергопотребления связано не только со сложно-
348
Техника микропроцессорных систем в коммутации
мощью планировщика операционной системы.
Статические алгоритмы определяют как точки, так и величины изменения напряжения во время компиляции исходной программы; однако непосредственные изменения напряжения происходят во время работы программы. Смешанные алгоритмы обычно вычисляют возможные точки изменения напряжения во время компиляции, а величина изменения определяется динамически в период исполнения программы микропроцессором.
Технологии оптимизации энергопотребления МПр широко используют возможности изменения тактовой частоты и энергопотребления МПр в зависимости от характера вычислительных задач (например, технология Speed Step, впервые предложенная Intel в микропроцессоре Pentium M). Эта технология, как уже говорилось, дополняется возможностями, связанными с декодированием инструкций и предсказанием переходов. Технология Speed Step предусматривает использование нескольких возможных точек напряжения электропитания и соответствующих тактовых частот МПр – рабочих точек. Крайний рабочие точки задаются аппаратно МПр а промежуточные рабочие точки устанавливаются программно системной функцией операционной системе. Управление переходом между точками осуществляется как самим МПр так и специальным регулятором напряжения VRM (Voltage Regular Module). Для перехода от одной рабочей точки до другой МПр посылает в VRM специальные последовательности управляющих сигналов.
В случае необходимости, например при запуске приложения IPTV, для увеличения тактовой частоты и, соответственно, повышения вычислительной мощности МПр, сначала увеличивается напряжение электропитания. Период изменения напряжения длится около 100 мкс. После изменения напряжения электропитания скачкообразно увеличивается частота за время 10 мкс. При уменьшении тактовой частоты, например после окончания просмотра IPTV, сначала уменьшается тактовая частота, и только потом снижается напряжение электропитания.
Некоторые данные о МПр Pentium M и более поздних моделях энергоэффективных процессоров на примере продукции компании Intel приведены в таблице 5.2.
350

Выборка команд (инструкций) и данных из кэша L2.
Декодирование инструкций в примитивы (микрокоманды).
Передача декодированных микрокоманд в блок исполнения,
динамическое изменение напряжения электропитания на микропроцессоре и его частоты;
оптимизация доступа к памяти, в том числе отключение неактивных банков памяти [45];
оптимизация энергопотребления на стадии разработки новых микропроцессоров.