Материал: 835

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

25

Следует отметить, что с микроархитектурной точки зрения реализация 64-битных расширений x86-64 классической архитектуры x86 не так уж и сложна:

увеличение количества регистров общего назначения до шестнадцати и увеличение их разрядности до 64 бит,

увеличение до шестнадцати количества 128-битных SSE регистров;

ввод линейной 64-битной адресации.

При этом кардинальная переделка микроархитектуры всётаки не нужна, что является несомненным плюсом x86-64 по сравнению с той же IA64, реализуемой Intel в процессорах семей-

ства Intanium.

1.1.9 Суперскалярное исполнение

В процессорах Pentium пятого и более поздних поколений встроено несколько внутренних конвейеров, которые могут выполнять несколько команд одновременно. Процессор 486 и все предшествующие в течение определенного отрезка времени могли выполнять только одну команду. Технология одновременного выполнения нескольких команд называется суперскалярной. Благодаря использованию данной технологии и обеспечивается дополнительная эффективность по сравнению с процессором 486. Суперскалярная архитектура обычно ассоциируется с микросхе-

мами RISC (Reduced Instruction Set Computer — компьютер с упрощенной системой команд). Процессор Pentium — одна из первых микросхем CISC (Complex Instruction Set Computer

компьютер со сложной системой команд), в которой применяется суперскалярная технология, реализованная во всех процессорах пятого и последующих поколений.

Одно исполнительное устройство (ALU) заменено на два — U и V, каждое — со своим собственным конвейером; оба параллельно ведут выборку, расшифровку и выполнение команд. Устройство U является основным и может выполнять все команды, устройство V — вспомогательным и выполняет только наиболее часто встречающиеся типы команд

26

Advanced Dynamic Execution

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

(ветвления) — (branch prediction), анализ потока команд (dynamic data flow analysis) и упреждающее (спекулятивное) выполнение инструкций (out-of-order execution). При динамиче-

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

Предсказание множественного перехода (ветвления). С

помощью этого метода можно выяснить, каким будет поток управления программы через несколько команд ветвления. При использовании специального алгоритма процессор может предсказать переходы или ветвления в потоке команд. Это применяется для чтения следующих команд из памяти с вероятностью не менее 90 %. Это возможно потому, что во время выборки команд процессор просматривает также и те команды, которые следуют далее в программе, т.е. несколько «забегает» вперед.

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

27

Затем процессор определяет оптимальную последовательность обработки и выполняет команды наиболее эффективным способом.

Упреждающее выполнение. Этот метод повышает эффективность с помощью опережающего просмотра счетчика команд и выполнения тех из них, к которым, вероятно, потребуется обратиться позже. Поскольку обработка команд программного обеспечения основана на предсказании ветвлений, результаты сохраняются в пуле (накопителе) и могут быть использованы в дальнейшем. Если в результате обработки потока команд окажется, что эти команды должны быть выполнены, то уже завершенные команды пропускаются, а их результаты записываются в основные регистры процессора в первоначальном порядке выполнения команд программы. Эта методика, по существу, позволяет процессору завершать команды заранее, а затем использовать уже вычисленные результаты по мере необходимости.

Архитектура двойной независимой шины

Эта архитектура (Dual Independent Bus DIB) впервые была реализована в процессорах Pentium шестого поколения и предназначалась для увеличения пропускной способности шины процессора и повышения производительности.

При наличии двух независимых шин данных для вводавывода процессор получает доступ к данным с любой из них одновременно и параллельно, а не последовательно, как в системе с одной шиной. Вторая, или фоновая (backside) входная шина процессора с DIВ используется кэш-памятью второго уровня, что ускоряет представление данных для обработки процессором.

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

28

1.1.10 Система управления питанием процессоров

Задавшись целью создания все более быстрых и мощных процессоров для портативных компьютеров, Intel разработала схему управления питанием. Эта схема лает возможность процессорам экономно использовать энергию батареи и таким образом продлить срок ее службы. Такая возможность впервые была реализована фирмой Intel в процессоре 486 SL, который является усовершенствованной версией процессора 486 DХ. Впоследствии, когда возможности управления питанием стали более универсальными, их начали встраивать в Pentium и во все процессоры более поздних поколений. Система управления питанием процес-

соров называется SММ (System Management Mode — режим управления системой).

SММ физически интегрирована в процессор, но функционирует независимо. Благодаря этому она может управлять потреблением мощности, в зависимости от уровня активности процессора. Это позволяет пользователю определять интервалы времени, но истечении которых процессор будет частично или полностью выключен. Данная схема также поддерживает возможность приостановки/возобновления, которая позволяет мгновенно включать и отключать мощность, что обычно используется в портативных компьютерах. Соответствующие параметры устанавливаются в ВIOS.

Совершенствование полупроводниковой технологии, переход на более совершенные литографические процессы, позволяющие уменьшить размеры логической ячейки, привели к постоянному росту тактовых частот процессоров. Уже в 1994 году был достигнут рубеж в 100 МГц, в 2001-м — 1 ГГц, в конце

2002-го — 3.06 ГГц Экспоненциальный рост количества транзисторов на кри-

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

29

уже и миллиарды раз в секунду, то эти импульсы складываются в весьма существенный суммарный ток. Например, процессор Xeon, работающий на тактовой частоте 2.8 ГГц, потребляет (а значит, и выделяет) 74 Вт при напряжении питания процессорного ядра 1.5 В. Таким образом, в слой кремния площадью каких-то полтора квадратных сантиметра и толщиной в доли микрона «вгоняется» 50 А постоянного тока, и при этом он не выходит из строя!

Еще раз: несколько десятков миллионов транзисторных пар, сконцентрированных на паре квадратных сантиметров поверхности кремниевого кристалла, переключаются примерно 3 млрд. раз в секунду (ограниченных по температуре 75°С) и нуждаются в подаче порядка 50 А тока и отводе тепла. При невозможности подвести толстый медный провод, с задачей смогли справиться сотни тонких золотых проводников, подключенных к контактным площадкам на поверхности кристалла в непосредственной близости от «центров потребления».

Перегрев и охлаждение

С ростом температуры сопротивление полупроводника падает, соответственно, при постоянном напряжении питания ток растет, тепловыделение растет еще сильнее, повышая температуру до тех пор, пока кристалл не разрушится. Причем при тех плотностях тока, которые характерны для микропроцессоров, скорость роста локальной температуры разогревающегося участка может достигать 100—150 градусов в секунду.

При рабочей температуре 50 °С и допустимой — 75 °С у платы есть всего около одной десятой секунды, чтобы распознать перегрев и принять меры по защите процессора от разрушения.

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