Научная статья на тему 'Технология Intel Turbo Boost'

Технология Intel Turbo Boost Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
693
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОЦЕССОР / МИКРОПРОЦЕССОР / INTEL / TURBO BOOST / ЯДРО ПРОЦЕССОРА / PROCESSOR / MICROPROCESSOR / PROCESSOR CORE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гундарев Арсентий Сергеевич, Слащёв Максим Дмитриевич

В статье проведён анализ принципа работы технологии Turbo Boost в процессорах Intel поколений микроархитектуры Kaby Lake и новее, проведён сравнительный анализ принципов работы данной технологии в сравнении с предыдущими поколениями процессоров Intel, исследована зависимость частоты работы процессора от энергопотребления. Проведено исследование зависимости температуры от загрузки регистров процессора, описана структурная схема ядра процессора, выяснены основные причины ограничений частот в центральных процессорах Intel.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гундарев Арсентий Сергеевич, Слащёв Максим Дмитриевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTEL TURBO BOOST TECHNOLOGY

The article analyzes the principle of operation of the Turbo Boost technology in Intel processors of Kaby Lake microarchitecture and newer, comparative analysis of the principles of operation of this technology in comparison with previous generations of Intel processors, investigated the dependence of the frequency of the processor on power consumption. A study was made of the dependence of temperature on the processor registers load, a block diagram of the processor core and the main reasons for frequency limitations in Intel CPU were described.

Текст научной работы на тему «Технология Intel Turbo Boost»

ТЕХНОЛОГИЯ INTEL TURBO BOOST Гундарев А.С.1, Слащёв М.Д.2 Email: Gundarev663@scientifictext.ru

'Гундарев Арсентий Сергеевич — студент; 2Слащёв Максим Дмитриевич — студент, кафедра информационных технологий, факультет математики и информационных технологий, Астраханский государственный университет, г. Астрахань

Аннотация: в статье проведён анализ принципа работы технологии Turbo Boost в процессорах Intel поколений микроархитектуры Kaby Lake и новее, проведён сравнительный анализ принципов работы данной технологии в сравнении с предыдущими поколениями процессоров Intel, исследована зависимость частоты работы процессора от энергопотребления. Проведено исследование зависимости температуры от загрузки регистров процессора, описана структурная схема ядра процессора, выяснены основные причины ограничений частот в центральных процессорах Intel. Ключевые слова: процессор, микропроцессор, Intel, Turbo Boost, ядро процессора.

INTEL TURBO BOOST TECHNOLOGY Gundarev A.S.1, Slashev M.D.2

'Gundarev Arsenty Sergeevich — Student;

2Slashev Maksim Dmitrievich — Student, DEPARTMENT OF INFORMATION TECHNOLOGIES, FACULTY OF MATHEMATICS AND INFORMATION TECHNOLOGIES, ASTRAKHAN STATE UNIVERSITY, ASTRAKHAN

Abstract: the article analyzes the principle of operation of the Turbo Boost technology in Intel processors of Kaby Lake microarchitecture and newer, comparative analysis of the principles of operation of this technology in comparison with previous generations of Intel processors, investigated the dependence of the frequency of the processor on power consumption. A study was made of the dependence of temperature on the processor registers load, a block diagram of the processor core and the main reasons for frequency limitations in Intel CPU were described. Keywords: processor, microprocessor, Intel, Turbo Boost, processor core.

УДК 004.318

Технология Intel Turbo Boost

Процессоры Intel с момента выхода 14-нм FinFET-транзисторов значительно ушли вверх по частоте.[1] Безусловно, добиться этого можно было улучшением форм затвора и прочих элементов транзисторов, более быстрым переходным процессом, меньшими утечками и сопротивлением в открытом состоянии - всё это и позволило добиться на старой архитектуре больших частот, в том числе и на меньших напряжениях. Сейчас процессоры Intel достигают частоты 5 ГГц на напряжениях, которые для архитектуры Skylake были базовыми. Однако, не весь процессор в штатном режиме может работать на 5 ГГц, а только часть его. Для старшего решения в базе - это не более двух ядер. Естественно, единственная проблема, по которой всё так и работает - это энергопотребление и тепловыделение.

Существуют два распространённых заблуждения по поводу «буста» (увеличение частоты работы по сравнению с штатной). Первое заблуждение заключается в том, что в многочисленных таблицах, где указано, сколько ядер на какой частоте могут работать, указано всё именно для заявленного энергопотребления, что не является правдой. Указанные частоты будут достигаться с превышением заявленных потреблений. Второе заблуждение - это то, что процессор укладывается в заявленное энергопотребление только в базовой частоте, а во всех прочих случаях, то есть, когда есть хоть какой-то «буст» на все ядра, заявленное энергопотребление процессора превышается что также не соответствует действительности -превышение базовой частоты, даже всеми ядрами одновременно, может быть в рамках указанного энергопотребления. В большинстве случаев, все современные процессоры Intel работают на базовой частоте как раз реже всего. Ввиду вышесказанного возникает вопрос - как

это всё работает? Для получения ответа на этот вопрос необходимо изучить особенности работы технологии Turbo Boost на процессорах Intel до поколения Kaby Lake.

Общий смысл работы технологии Turbo Boost заключается в следующем: если не все ядра нагружены, то ядра, наиболее нагруженные, забирают часть выделенного на весь процессор TDP (Thermal Design Package, конструктивные требования по теплоотводу) себе, но делалось это раньше по заранее подготовленному сценарию [2]. То есть, если у процессора 4 ядра, а активно занято из них одно - то у него будет точно определенная частота, если занято два ядра - то частота будет чуть ниже, но тоже точно определённая, а если все четыре - то ещё ниже. Так это работало до перехода на микроархитектуру Kaby Lake. Сейчас в процессорах никакого заранее сформулированного сценария нет, то есть, так называемая частотная формула Turbo Boost (таблица с зависимостью частот ядер от количества активно работающих ядер) - это лишь некоторая условность, поэтому частоты на 8, 6, или 4 ядра можно указывать любые. Отсутствие сценария заключается в том, что когда часть ядер в простое, то потенциально незадействованное энергопотребление распределяется динамически, согласно количеству этого оставшегося энергопотребления. Соответственно, сколько, и когда этого энергопотребления остаётся в запасе, и есть самый главный вопрос. Дело в том, что решая различные задачи процессор, при равной частоте, потребляет, и, соответственно, греется по-разному. Две большие разницы, когда процессор работает на 5 ГГц, решая задачи, например, в играх, и когда он решает задачи в Linpack с поддержкой AVX-инструкций [3]. Даже процент загрузки процессора здесь не играет роли - если процессор в играх так же загружается строго на 100%, то температуры его будут ниже. Чтобы понять, почему процессор в разных задачах нагревается по-разному, необходимо рассмотреть, из чего вообще состоят ядра процессора.

Ядра процессора состоят из исполнительных блоков, которые решают поставленные задачи; вокруг этих исполнительных блоков располагается обвязка, которая обеспечивает эти исполнительные блоки задачами [4]. В текущий момент современные процессоры не могут работать с собственными инструкциями - х86-совместимость у процессоров в последние 15 -20 лет уже довольно условная. На входе в процессоре присутствуют аппаратные блоки, которые разделяют входящие инструкции на микрооперации, с которыми может уже работать процессор. Затем процессору надо «перемешать» это таким образом, чтобы он решал зависимые друг от друга микрооперации в последовательности, и такой, чтобы не пропускать заранее то, что будет зависеть от ещё не решённого. Вдобавок, ещё желательно, чтобы всё, что продвигается внутрь конвейера процессора, уже было обеспечено данными в кэше 1 уровня, или уже в регистровой памяти. Более того, после того, как всё решается исполнительными блоками, ответы процессор должен выдавать в порядке поступления первоначальных инструкций, к тому же, процессору необходимо защищать информацию от других процессов, запущенных в операционной системе. В случае, когда ждать необходимых данных нужно долго, процессор сам должен «придумывать» необходимые решения и ветвления, а после того, как данные действительно придут, «проверить себя» - по необходимости, пересчитать всё то, что процессор уже посчитал, если он окажется «неправым». Но вернёмся к исполнительным блокам - помимо выполнения вышеописанных задач, процессору необходимо в очереди компоновать всё так, чтобы каждый такт занимать все исполнительные блоки, и чтобы каждый раз, каждый такт весь комплект задач находить, и чтобы все блоки каждый раз были заняты. Именно возможность загрузки всех блоков «под завязку» и отражается на энергопотреблении. То есть, не заняв часть исполнительных блоков, процессор всё равно будет работать на нужной частоте, но энергопотребление у него будет ниже, так как частично происходит простой отдельных блоков. Далеко не всегда все исполнительные блоки заняты предельно - многое зависит от решаемой задачи, в том числе, насколько эта задача современна. Например, AVX инструкции созданы уже с учётом возможных «перемешиваний» микрокоманд. AVX-инструкции позволяют задавать общие действия для определённого набора задач [5]. То есть, задачи «упаковываются» в одну описывающую инструкцию. И эта инструкция, при выборке и декодировании на входе в конвейер, сразу проходит блоком задач за один такт. Ресурсов по обеспечению блоку однотипных задач надо меньше в памяти - процессор «знает», какого рода задачи сейчас выполняются, и он уже располагает необходимыми данными для их выполнения. Исполнительные блоки заполняются плотнее, как результат - высокая производительность, но и высокое энергопотребление. Остаётся понять, как это связано с Turbo Boost, и с тем, что в процессоре нет заранее описанного сценария для увеличения частоты ядер.

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

«Хорошая» задача - это та, которая отлично выполняется блоками - с ней частота будет ниже. «Плохая» задача - много кривизны, «промахи» в кэш, полупустые исполнительные блоки -исправляется процессором путём повышения частоты. А заявленные частоты, базовые, или частоты на определённое число ядер - это крайние проявления всего этого механизма. Базовая частота - это частота, при некоторой теоретически идеально загружающей нагрузке. В реальности такой нагрузки, как правило, не бывает. Даже нагрузочные тестовые программы по типу LinX и Linpack, не могут загрузить процессор этой максимальной теоретической нагрузкой. На практике частоты процессора будут всегда выше базовой в нагрузке - и будут увеличиваться, по мере необходимости, до тех пор, пока процессор не начнёт превышать заявленный TDP. Но и до заявленных предельных частот на 1, 2, 4, 6, или 8 ядер процессор сам в рамках ограниченного TDP ускоряться не будет. Частота всегда будет зависеть от задачи, которую решает процессор.

Список литературы / References

1. Технологии полупроводников // FERRA. [Электронный ресурс]. Режим доступа: https://www.ferra.ru/review/techlife/semiconductor-technology-part-2.htm/ (дата обращения: 13.05.2019).

2. Технология Intel Turbo Boost 2.0 // Intel. [Электронный ресурс]. Режим доступа: https://www.intel.ru/content/www/ru/ru/architecture-and-technology/turbo-boost/turbo-boost-technology.html/(дата обращения: 13.05.2019).

3. LinX Review // LinX URL: https://linx.en.lo4d.com/windows/ (дата обращения: 13.05.2019).

4. Процессоры, ядра и потоки. Топология систем // Habrahabr. [Электронный ресурс]. Режим доступа: https://habr.com/ru/company/intel/blog/243385/(дата обращения: 13.05.2019).

5. The Intel Intrinsics Guide: AVX // Intel Intrinsics Guide. [Электронный ресурс]. Режим доступа: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#techs=AVX/ (дата обращения: 13.05.2019).

i Надоели баннеры? Вы всегда можете отключить рекламу.