Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСИ.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
13.41 Mб
Скачать

9.3. Технологии, поддерживаемые процессорами

Технология Intel Hyper-Threading

Как уже отмечалось, кроме увеличения тактовой частоты существуют и другие способы увеличения производительности процессора, связанные с изменением его архитектуры. К примеру, можно увеличить число исполнительных блоков (Execution Units) внутри самого процессора. В этом случае возможно параллельное выполнение нескольких процессорных инструкций одновременно. Такая многозадачность реализована в том или ином виде во всех современных процессорах. Отход от последовательного выполнения команд, использование нескольких исполняющих блоков в одном процессоре позволяют одновременно обрабатывать несколько процессорных микрокоманд, то есть организовывать параллелизм на уровне инструкций (Instruction Level Parallelism, ILP), что, естественно, увеличивает общую производительность.

Поясним все вышесказанное на примере. Представьте себе гипотетический процессор, в котором имеется всего три исполнительных блока: блок для работы с целыми числами (арифметико-логическое устройство, ALU), блок для работы с числами с плавающей точкой (FPU) и блок для записи и чтения данных из памяти (Store/Load, S/L). Пусть, кроме того, каждая операция осуществляется за один такт процессора.

Предположим, что выполняется программа, состоящая из трёх инструкций: первые две - арифметические действия с целыми числами, а последняя - сохранение результата. В этом случае вся программа будет выполнена за три такта процессора. В первом такте задействуется блок ALU процессора, во втором - также блок ALU, а в третьем - блок записи и чтения данных из памяти S/L. В этом случае мы имеем дело с классическим последовательным вариантом выполнения программы.

В современных приложениях в любой момент времени, как правило, выполняется не одна, а несколько задач или несколько потоков (threads) одной задачи, называемых также нитями. Давайте посмотрим, как будет вести себя наш гипотетический процессор при выполнении двух разных потоков задач.

Допустим, что первый поток включает две независимые инструкции с использованием блока ALU и одну инструкцию по сохранению результата. Задача второго потока - загрузить необходимые данные из памяти (работа с блоком S/L), произвести операцию с действительными числами (числами с плавающей запятой) при помощи блока FPU и сохранить результат с использованием блока S/L.

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

Теперь давайте подумаем над тем, как можно повысить скорость выполнения задачи в рассмотренном примере. Для этого нужно по возможности не только выполнять параллельно независимые инструкции одного потока, но и совместить выполнение инструкций различных потоков. В нашем примере выполнение двух арифметических операций с целыми числами первого потока можно совместить с загрузкой данных из памяти второго потока и выполнить все три операции за один такт процессора. Аналогично на втором такте процессора можно совместить операцию сохранения результатов первого потока с операцией с действительными числами (с плавающей запятой) второго потока.

Собственно, в таком параллельном выполнении двух потоков и заключается основная идея технологии Hyper-Threading, которая реализована в современных процессорах Intel. Итак, технология Hyper Threading - это реализация одновременной многопоточности (Simultaneous Multi-Threading, SMT).

Технология Hyper-Threading является промежуточной между многопоточной обработкой, осуществляемой в мультипроцессорных системах, и параллелизмом на уровне инструкций, реализованном в однопроцессорных системах.

Конечно, ждать двукратного увеличения производительности процессора от использования технологии Hyper-Threading не приходится, и на практике выигрыш куда более скромен.

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

Для реализации технологии Hyper-Threading процессор должен иметь два «входа» для отдельных потоков, как если бы существовало два физических процессора, но при этом всего один конвейер обработки команд, как в реальном физическом процессоре, который использует оба потока. В этом случае один физический процессор представляется операционной системе как два логических.

С конструктивной точки зрения процессор с поддержкой технологии Hyper-Threading состоит из двух логических процессоров, каждый из которых имеет свои регистры и контроллер прерываний (Architectural State, AS). Существуют две параллельно исполняемые задачи, которые работают со своими собственными независимыми регистрами и прерываниями, но при этом используют одни и те же ресурсы процессора для выполнения задач.

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

Технологии тепловой защиты

Как уже отмечалось, современные процессоры рассеивают такую тепловую мощность, что для её эффективного отвода требуется использовать очень мощные кулеры. Однако даже мощные кулеры не гарантируют, что в периоды 100% загрузки процессора локальная температура процессора не превысит допустимых значений. Поэтому все современные процессоры (и Intel, и AMD) имеют встроенные средства тепловой защиты.

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

- технология Thermal Monitor;

- технология Thermal Monitor 2;

- режим аварийного отключения.

Технология Thermal Monitor

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

Рассмотрим данную технологию более подробно. Для контроля температуры во всех современных процессорах Intel встроены два термодатчика (термодиода), один из которых сообщает системе аппаратного мониторинга материнской платы температуру ядра процессора, а еще один является частью схемы Thermal Monitor и расположен в самой «горячей» точке ядра процессора - возле блоков ALU.

При достижении некоторого критического значения температуры (по состоянию термодатчика, расположенного возле блоков ALU) генерируется специальный сигнал «PROCHOT#», который активирует специальный модуль Thermal Control Unit. Температура, при которой «выставляется» сигнал «PROCHOT#», индивидуально калибруется для каждого процессора в процессе производства исходя из величины рассеиваемой им мощности. Однажды заданное значение температуры для сигнала «PROCHOT#» уже не может быть изменено.

Задача модуля Thermal Control Unit заключается в том, чтобы модулировать номинальную тактовую частоту процессора. Смысл модуляции заключается в том, что в период действия сигнала «PROCHOT#» на номинальный сигнал тактовой частоты процессора накладывается еще один служебный сигнал, частота которого существенно ниже тактовой частоты процессора.

В результате частота, которая подается на вычислительные блоки процессора, является прореженной, и можно говорить о том, что ядро процессора работает на пониженной частоте. Важно отметить, что технология Thermal Monitor никак не влияет на частоту тактирования процессора, а лишь модулирует частоту тактирования вычислительных блоков процессора.

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

Важно отметить, что сигнал «PROCHOT#» может быть «выставлен» при достижении критической температуры не только процессором, но и системами тепловой защиты других компонентов, например модуля регулировки напряжения (Voltage Regulation, VR) или модулей памяти.

Технология Thermal Monitor 2

В новых процессорах компании Intel к технологии Thermal Monitor добавился еще один инструмент теплового контроля - технология Thermal Monitor 2, которая позволяет в еще большей степени влиять на энергопотребление процессора при достижении им критической температуры.

При использовании технологии Thermal Monitor 2, когда рабочая температура процессора достигает критического значения, активируется служебный сигнал PROCHOT#, в результате чего происходит снижение тактовой частоты процессора и напряжение питания (VID). Это, в свою очередь, приводит к снижению потребляемой процессором мощности, а следовательно, и к снижению его рабочей температуры.

Снижение тактовой частоты процессора происходит за счёт уменьшения коэффициента внутреннего умножения до минимального значения. Технология Thermal Monitor 2 во многом напоминает технологию Enhanced Intel SpeedStep с той лишь разницей, что в технологии Enhanced Intel SpeedStep переход на меньшую тактовую частоту и напряжение питания осуществляется в период слабой активности процессора, а в технологии Thermal Monitor 2 - при достижении критической температуры. Кроме того, если в технологии Enhanced Intel SpeedStep определяются несколько возможных рабочих точек (несколько возможных тактовых частот и напряжений), то в технологии Thermal Monitor 2 определены только две рабочие точки, соответствующие максимальной и минимальной частотам процессора.

В заключение отметим, что технологию Thermal Monitor 2 поддерживают только процессоры с тактовой частотой выше 2,8 ГГц (с коэффициентом умножения более 14), а минимальная частота работы процессора составляет 2,8 ГГц.

Режим аварийного отключения

Для того чтобы исключить перегрев процессора (например, при выходе из строя кулера), кроме технологий Thermal Monitor и Thermal Monitor 2 в современных процессорах Intel используется также режим аварийного отключения (отметим, что подобная технология используется и в процессорах AMD). Для этого используется второй термодатчик, установленный в ядре процессора. При достижении процессором критической температуры происходит подача сигнала THERMTRIP# на аварийное отключение системы. Значение критической температуры немного меньше температуры, при которой в процессоре начинают происходить необратимые изменения. Поэтому даже в случае выхода из строя процессорного кулера процессор не успеет нагреться до критической температуры. Значение температуры, при которой подается сигнал аварийного отключения THERMTRIP#, составляет примерно 135 °С.

Технологии энергосбережения

Все современные процессоры (и Intel и AMD) и материнские платы поддерживают технологии, позволяющие снизить энергопотребление и, как следствие, рассеиваемую тепловую мощность. В случае процессоров Intel данная технология получила название Enhanced Intel SpeedStep, а для процессоров AMD - Cool'n'Quiet. Несмотря на разные названия, у данных технологий много общего. Идея заключается в следующем. Если процессор не загружен на 100% или вообще находится в режиме простоя, то тактировать его на максимальной частоте просто не имеет смысла. Между тем, тепловыделение процессора напрямую зависит от его тактовой частоты. Поэтому для того чтобы снизить тепловыделение процессора и его энергопотребление, нужно динамически изменять его тактовую частоту в зависимости от его загрузки.

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

- технология Enhanced Intel SpeedStep;

- технология Cool'n'Quiet.

Технология Enhanced Intel SpeedStep

В отличие от предыдущей версии технологии Intel SpeedStep, которая примерялась в мобильных процессорах и предусматривала возможность работы процессора лишь на двух тактовых частотах, улучшенная технология Enhanced Intel SpeedStep определяет использование нескольких возможных напряжений питания и частот (в совокупности - рабочих точек). Это позволяет достичь лучшего соотношения «напряжение/частота» и более эффективного режима функционирования, когда производительность согласуется с рабочей нагрузкой.

Изменения тактовой частоты процессора достигаются за счёт изменения коэффициента умножения тактовой частоты (FID), а количество возможных рабочих точек зависит от максимальной тактовой частоты процессора (от возможных значений коэффициента умножения).

Управление переходами между различными рабочими точками выполняется только самим процессором и блоком регулятора напряжения (VRM). Для установки требуемого напряжения процессор посылает служебные VID-последовании напряжения, частота процессора при этом не меняется. Когда же напряжение изменится и достигнет требуемого уровня, происходит скачкообразное увеличение частоты процессора, которое длится порядка 10 мкс. Если требуется осуществить переход к меньшей частоте, сначала происходит практически мгновенное изменение частоты (в течение 10 мкс), а после этого постепенно уменьшается напряжение самого процессора - уже при неизменной частоте.

Кроме технологии Enhanced Intel SpeedStep в современных процессорах Intel используется ещё один режим энергосбережения, известный как «улучшенный режим простоя» (Enhanced Halt State). Данный режим обозначается как С1Е и представляет собой режим работы процессора с низким энергопотреблением, вхождение в который осуществляется при его «усыплении» посредством выполнения специальных инструкций HLT или MWAIT. В данном режиме процессор способен динамически понижать коэффициент умножения частоты системной шины (FID) и уровень питающего напряжения (VID) и автоматически восстанавливаться до состояния максимальной производительности по мере необходимости без вмешательства со стороны операционной системы.

Технология Cool&Quiet

Данная технология (в буквальном переводе «холодный и тихий»), используемая в процессорах AMD, по своей сути мало чем отличается от технологии Enhanced Intel SpeedStep и заключается в динамическом управлении тактовой частотой и напряжением питания ядра, что, в свою очередь, позволяет оптимизировать температурный режима работы процессора.

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

Технология Intel EM64T

Как уже отмечалось, все современные процессоры AMD основаны на 64-разрядной архитектуре х86-64, что позволяет им реализовать плоскую адресацию объёмов памяти более 4 Гбайт. Большинство современных процессоры Intel (за исключением мобильных процессоров) также поддерживают 64-разрядную архитектуру и в терминологии компании Intel данная технология называется Intel Extended Memory Technology (Intel EM64T), то есть 64-разрядная технология расширения памяти.

В самом названии технологии акцент делается на тот факт, что новая технология необходима, прежде всего, для того, чтобы обойти ограничение по объёму адресуемой памяти в 4 Гбайт, присущее 32-разрядным процессорам.

Не следует путать технологию 64-разрядного расширения с уже давно существующей технологией IA-64, используемой в истинно 64-разрядных процессорах Intel Itanium. Речь идет лишь о расширении технологии IA-32 наподобие того, как это сделано в процессорах AMD Athlon 64. Более того, новые 64-разрядные инструкции Intel совместимы с инструкциями AMD на программном уровне, хотя микроархитектура 64-разрядных процессоров двух компаний совершенно различна. То есть для этих процессоров потребуется одна и та же операционная система, и 64-разрядные приложения, написанные для процессоров AMD, будут выполняться на процессорах Intel, и наоборот. В частности, 64-разрядная операционная система Windows полностью совместима и с 64-разрядными процессорами AMD Athlon 64 и с 64-разрядными процессорами Intel.

Процессоры с поддержкой технологии Intel могут работать в трёх различных режимах:

- истинный 32-разрядный режим (Legacy IA-32 mode);

- совместимый режим (Compatibility mode 64/32);

- 64-разрядный режим (64-bit mode 64/64).

В режиме Legacy IA-32 работа процессора ничем не отличается от работы обычных 32-разрядных процессоров. Для работы процессора в этом режиме требуется использование 32-разрядной операционной системы.

Режимы Compatibility mode и 64-bit mode относятся к расширенному режиму IA-32, который обозначается 1А-32е. В режиме 1А-32е процессор может работать только при использовании 64-разрядной операционной системы. Для того чтобы обеспечить 64-битный режим функционирования процессора, кроме 64-разрядной операционной системы потребуются еще и приложения, специально написанные с учетом 64-разрядной адресации. В этом режиме приложения могут использовать 64-разрядную адресацию (64-bit flat linear addressing), восемь новых 64-разрядных регистров общего назначения (GPR), восемь новых командных регистров (SSE, SSE2 and SSE3).

В режиме Compatibility mode процессор способен исполнять 16-разрядные и 32-разрядные приложения под управлением 64-разрядной операционной системы.

Последний вопрос, на котором хотелось бы остановиться при обсуждении 64-разрядных процессоров, это вопрос о том, насколько они востребованы рынком домашних ПК.

Дело в том, что для перехода к 64-разрядным вычислениям необходимо наличие 64-разрядной операционной системы, а также использование 64-разрядных приложений. Проблема, собственно, заключается в том, что 64-разрядные процессоры и даже операционная система есть, а вот 64-разрядных пользовательских приложений практически нет. Поэтому использование 64-разрядных процессоров не даёт никаких преимуществ. И даже если в скором времени и появятся 64-битные приложения, реальный выигрыш от использования 64-разрядных вычислений можно ожидать только при использовании в системе более 4 Гбайт оперативной памяти. Использование такого количества памяти в настольных ПК, во-первых, повысит стоимость системы, а во-вторых, не в каждой системе это вообще возможно (есть ещё ограничения по объему памяти, накладываемые чипсетом). Кроме того, вряд ли найдутся приложения (речь идет о домашних и офисных ПК), которым требуется такой объём памяти.

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

Технология антивирусной защиты

Многие современные процессоры Intel и AMD имеют встроенное средство аппаратной антивирусной защиты. В терминологии Intel данная технология получила название Execute Disable Bit, а в терминологии AMD - Enhanced Virus Protection (EVP). Несмотря на разные названия, суть данных технологий одинакова.

Появление аппаратной антивирусной защиты на уровне процессора обусловлено возросшим объемом вирусных атак и большим количеством пользователей, подключенных к Интернету дома и на работе. Высокую опасность представляют черви, внедряющиеся на ПК без участия пользователя. Вирусные инфекции, которые зависят от человеческого фактора, можно остановить с помощью антивирусных средств. Но черви распространяются самостоятельно, используя «дыры» в коде не только прикладных, но и системных программ, например драйверов сетевых карт. Проникший таким образом червь не может быть блокирован антивирусными средствами, поскольку он выполняется в том же кольце защиты, что и ядро системы.

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

Поддержка технологии антивирусной защиты имеется в операционной системе Windows XP SP2, в Windows 2003 Server SP1, а также во всех текущих версиях ОС Linuх.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]