Параметры процессоров
🕛 23.09.2009, 21:22
При описании параметров и устройства процессоров часто возникает путаница. Рассмотрим некоторые характеристики процессоров, в том числе разрядность шины данных и шины адреса, а также быстродействие.Процессоры можно классифицировать по двум основным параметрам: разрядности и быстродействию. Быстродействие процессора - довольно простой параметр. Оно измеряется в мегагерцах (МГц); 1 МГц равен миллиону тактов в секунду. Чем выше быстродействие, тем лучше (тем быстрее процессор). Разрядность процессора - параметр более сложный. В процессор входит три важных устройства, основной характеристикой которых является разрядность:
шина ввода и вывода данных;
шина адреса памяти;
внутренние регистры.
Обратите внимание, что шина данных процессора также называется передней шиной (Front Side Bus - FSB), внутренней шиной процессора (Processor Side Bus - PSB) или просто шиной ЦПУ. Все эти термины обозначают шину, соединяющую процессор с основными компонентами набора микросхем системной платы (северный мост (North Bridge) или Memory Controller Hub). Компания Intel отдает предпочтение терминам FSB или PSB, в то время как в AMD используют исключительно обозначение FSB. Безусловно, можно использовать и просто название “шина процессора/ЦПУ” - менее сложный и в то же время достоверный термин.
Разрядность современных процессоров также может вызвать некоторые затруднения. Все процессоры имеют 64-разрядную шину данных, однако это не делает процессоры действительно 64-разрядными. Такие процессоры, как Pentium 4 и Athlon XP, являются 32-разрядными из-за наличия внутренних регистров с аналогичной разрядностью. В то же время шины ввода-вывода процессора являются 64-разрядными, а шины адреса - 32-разрядными
(этот показатель выше, чем у процессоров предыдущих поколений, например Pentium или K6). Процессоры семейства Itanuim, AMD Opteron и Athlon 64 являются полноценными 64-разрядными процессорами, поскольку имеют также 64-разрядные внутренние регистры.
Прежде всего стоит ознакомиться с рядом таблиц, в которых представлены основные параметры процессоров, используемых в персональных компьютерах. Разрядность и другие характеристики процессоров подробно описываются несколько позже. При чтении разделов,
1 Процессор 386SL содержит интегрированный контроллер кэш-памяти, однако кэш-память расположена за пределами процессора.
2 Затем компания Intel выпустила версии SL Enhanced процессоров SX, DX и DX2. Эти процессоры, поддерживающие управление питанием, выпускаются в версиях с напряжением питания 5 и 3,3 В.
3 Кэш-память L2 работает на частоте ядра, но расположена в отдельной микросхеме.
посвященных тем или иным параметрам, не забывайте обращаться к данным, которые приведены в этих таблицах.
В табл. 3.1-3.4 представлены сведения о процессорах Intel, процессорах AMD, а также процессорах от других компаний.
Более поздние процессоры, например 286, могли также выполнять те же самые 16-разрядные команды, что и первоначальный 8088, но намного быстрее. Другими словами, процессор 286 был полностью совместим с первоначальным 8088 и мог выполнять все 16-разрядные программы точно так же, как 8088, только значительно быстрее. Шестнадцатиразрядный режим, в котором выполнялись команды процессоров 8088 и 286, был назван реальным режимом. Все программы, выполняемые в реальном режиме, должны использовать только 16-разрядные команды, 20-разрядные адреса и поддерживаться архитектурой памяти, рассчитанной на емкость до 1 Мбайт. Для программного обеспечения этого типа обычно используется однозадачный режим, т.е. одновременно может выполняться только одна программа. Нет никакой встроенной защиты для предотвращения перезаписи ячеек памяти одной программы или даже операционной системы другой программой; это означает, что при выполнении нескольких программ вполне могут быть испорчены данные или код одной из них, а это может привести всю систему к краху (или останову).
Режим IA-32 (32-разрядный)
Первым 32-разрядным процессором, предназначенным для PC, был 386-й. Этот чип мог выполнять абсолютно новую 32-разрядную систему команд. Чтобы полностью использовать преимущество 32-разрядной системы команд, были необходимы 32-разрядная операционная система и 32-разрядные приложения. Этот новый режим назывался защищенным, так как выполняемые в нем программы защищены от перезаписи своих областей памяти другими программами. Такая защита делает систему более надежной, поскольку ни одна программа с ошибками уже не сможет так легко повредить другие программы или операционную систему. Кроме того, программу, “потерпевшую крах”, можно довольно просто завершить без ущерба для всей системы.
Зная, что разработка новых операционных систем и приложений, использующих преимущества 32-разрядного защищенного режима, займет некоторое время, Intel предусмотрела в процессоре 386 обратно совместимый реальный режим. Благодаря этому процессор 386 мог выполнять немодифицированные 16-разрядные приложения. Причем они выполнялись намного быстрее, чем на любом процессоре предыдущего поколения. Для большинства пользователей этого было достаточно; им не требовалось все 32-разрядное программное обеспечение - достаточно было того, чтобы имевшиеся у них 16-разрядные программы работали быстрее. К сожалению, из-за этого процессор никогда не работал в 32-разрядном защищенном режиме и все возможности такого режима не использовались.
Когда высокопроизводительный процессор, подобный Pentium 4, работает в реальном режиме, он напоминает “Turbo 8088”. Слово “Turbo” означает, что процессор имеет преимущество в быстродействии при выполнении 16-разрядных программ, хотя он может выполнять только 16-разрядные команды и обращаться к памяти в пределах все того же 1 Мбайт, предусмотренного картой памяти процессора 8088. Поэтому, даже если у вас система с Pentium 4 или Athlon XP и оперативной памятью емкостью 256 Мбайт, при выполнении Windows 3.x или DOS в действительности используется только первый мегабайт памяти, а остальные 127 практически не применяются!
В связи с этим потребовались новые операционные системы и приложения, которые могли бы использовать все преимущества современных процессоров в 32-разрядном защищенном режиме. Однако некоторые пользователи поначалу сопротивлялись всяческим попыткам перехода к 32-разрядной среде. Сообщество пользователей оказалось весьма устойчивым в своих привязанностях и не желало изменять привычек. Я, признаюсь, был одним из них.
Из-за сопротивления пользователей, 32-разрядные операционные системы, такие, как Unix и ее разновидности (например, Linux), OS/2 и даже Windows NT/2000/XP, распространялись на рынке ПК довольно вяло. Из перечисленных систем Windows XP стала по-настоящему широко распространенным программным продуктом во многом благодаря огромной популярности Windows 95/98/Me (смешанные 16/32-разрядные системы).
ней полностью 16-разрядной операционной системой была Windows серии 3.x. Хотя на самом деле она работала в качестве надстройки DOS.
Такие 64-разрядные процессоры, как Itanium и AMD Opteron, предназначены для использования в мощных промышленных серверах, в то время как процессор Athlon 64 создан непосредственно для настольных систем. Оба процессора совместимы со всем существующим 32-разрядным программным обеспечением. Но для того, чтобы воспользоваться свойствами процессора в полном объеме, потребуются полноценные 64-разрядные операционные системы и приложения. Microsoft уже выпустила 64-разрядные версии Windows XP, в то время как различными компаниями создаются 64-разрядные приложения для серверов и рабочих станций.
Замечание
В процессорах Itanium и AMD Opteron/Athlon 64 реализованы различные 64-разрядные архитектуры. Таким образом, 64-разрядное программное обеспечение, созданное для одной платформы, будет несовместимо с другой и потребует отдельной перекомпиляции со стороны поставщика продукта. Одним словом, специально созданные программы для 64-разрядных процессоров Intel нельзя будет запустить на компьютере с 64-разрядным процессором Athlon и наоборот.
Виртуальный реальный режим IA-32
Для обратной совместимости 32-разрядная система Windows использует третий режим в процессоре - виртуальный реальный режим. По существу, это режим выполнения 16-разрядной среды (реальный режим), реализованный внутри 32-разрядного защищенного режима (т.е. виртуально, а не реально). Выполняя команды в окне подсказки DOS внутри Windows, вы создаете виртуальный сеанс реального режима. Поскольку защищенный режим является подлинно многозадачным, фактически можно выполнять несколько сеансов реального режима, причем в каждом сеансе собственное программное обеспечение работает на виртуальном компьютере. И все эти приложения могут выполняться одновременно, даже во время работы других 32-разрядных программ.
Обратите внимание на то, что любая программа, выполняемая в виртуальном окне реального режима, может обращаться только к памяти объемом до 1 Мбайт, причем для каждой такой программы это будет первый и единственный мегабайт памяти в системе. Другими словами, если вы выполняете приложение DOS в виртуальном реальном окне, ему будет доступна память только объемом до 640 Кбайт. Так происходит потому, что имеется только 1 Мбайт общей оперативной памяти в 16-разрядной среде, а верхние 384 Кбайт зарезервированы для системы. Виртуальное реальное окно полностью имитирует среду процессора 8088, и, если не учитывать быстродействие, программное обеспечение будет выполняться так, как оно выполнялось первым PC в реальном режиме. Каждая виртуальная машина получает собственный 1 Мбайт адресного пространства и собственный экземпляр реальных аппаратных подпрограмм управления аппаратурой (базовую систему ввода-вывода), причем при этом эмулируются все регистры и возможности реального режима.
Виртуальный реальный режим используется при выполнении 16-разрядных программ в окне DOS. При запуске приложения DOS операционная система Windows создает виртуальную машину DOS, на которой это приложение может выполняться.
Важно отметить, что все процессоры Intel (а также AMD и Cyrix) при включении питания начинают работать в реальном режиме. При загрузке 32-разрядная операционная система автоматически переключает процессор в 32-разрядный режим и управляет им в этом режиме.
Некоторые приложения DOS и Windows 3.x ведут себя непредусмотренным образом, т.е. делают вещи, которые не поддерживаются даже в виртуальном реальном режиме. Диагностическое программное обеспечение - прекрасный тому пример: оно не будет корректно работать в окне реального режима (виртуального реального) под управлением Windows. Чтобы на Pentium 4 запустить такое программное обеспечение в первоначальном упрощенном режиме, необходимо прервать процесс начальной загрузки системы и просто загрузить DOS. Это можно
выполнить в Windows 9x (исключая Windows Me), нажимая клавишу <F8>, когда на экране появляется подсказка Starting Windows. Затем, когда появится загрузочное меню, в нем нужно выбрать команду загрузки простой 16-разрядной операционной системы реального режима DOS. Лучше всего выбрать Safe mode command prompt, если вы собираетесь использовать диагностические процедуры (обычно не выполняемые в защищенном режиме), которые должны быть запущены с минимумом драйверов и другого программного обеспечения.
Операционная система Windows Me создавалась, как вы знаете, на основе Windows 98. Пытаясь отучить пользователей от 16-разрядного режима работы, Microsoft удалила опцию загрузочного меню (Startup). Операционные системы Windows NT/2000/XP также лишены возможности прервать загрузку подобным образом. Для запуска компьютера в режиме DOS придется создать загрузочный диск, который и будет затем использоваться для загрузки системы в реальном режиме. Как правило, этот режим требуется для определенного технического обслуживания, в частности для выполнения аппаратной диагностики или непосредственного редактирования секторов диска.
Хотя реальный режим используется DOS и “стандартными” приложениями DOS, есть специальные программы, которые “расширяют” DOS и позволяют доступ к дополнительной памяти XMS (сверх 1 Мбайт). Они иногда называются расширителями DOS и обычно включаются как часть программного обеспечения DOS или Windows 3.x, в котором используются. Протокол, описывающий, как выполнять DOS в защищенном режиме, называется DPMI (DOS protected mode interface - интерфейс защищенного режима DOS).
Этот протокол использовался в Windows 3.x для обращения к дополнительной памяти XMS при работе приложений для Windows 3.x. Он разрешал 16-разрядным приложениям использовать память, превышающую 1 Мбайт. Расширители DOS особенно часто применяются в играх DOS; именно благодаря им игровая программа может использовать объем памяти, намного превышающий стандартный (1 Мбайт), к которому может адресоваться большинство программ, работающих в реальном режиме. Эти расширители DOS переключают процессор в реальный режим и обратно, а в случае запуска под управлением Windows применяют интерфейс DPMI, встроенный в Windows, и тем самым позволяют другим программам совместно использовать часть дополнительной памяти XMS системы.
Есть еще одно исключение: первые 64 Кбайт дополнительной памяти в реальном режиме доступны программам. Это результат ошибки в первом компьютере IBM AT, связанной с 21-й линией адреса памяти (A20, поскольку A0 - первая строка адреса). Управляя сигналом на линии A20, программное обеспечение реального режима может получать доступ к первым 64 Кбайт дополнительной памяти - это первые 64 Кбайт памяти, следующие за первым мегабайтом. Эта область памяти называется областью верхних адресов памяти (high memory area - HMA).
64-разрядный расширенный режим IA-32e (AMD64, х86-64, ЕМ64Т)
Этот режим является расширением архитектуры IA-32, разработанным компанией AMD и в дальнейшем поддержанным Intel. Процессоры, поддерживающие 64-разрядные расширения, могут работать в реальном режиме (8086), режиме IA-32 или IA-32e. При использовании режима IA-32 процессор может работать в защищенном или виртуальном реальном режиме. Режим IA-32e позволяет работать в 64-разрядном режиме или в режиме совместимости, что подразумевает возможность одновременного выполнения 64- и 32-разрядных приложений. Режим IA-32e включает в себя два подрежима.
64-разрядный режим. Позволяет 64-разрядной операционной системе выполнять 64-разрядные приложения.
Режим совместимости. Позволяет 64-разрядной операционной системе выполнять 32-разрядные приложения.
Первый подрежим активизируется после загрузки 64-разрядной операционной системы и используется 64-разрядными приложениями. В 64-разрядном подрежиме доступно несколько новых функций.
64-разрядная линейная адресация памяти.
Поддержка физической памяти объемом более 4 Гбайт (определенные ограничения накладываются процессором).
Восемь новых регистров общего назначения GPR (general-purpose register).
Восемь новых регистров для поточных расширений SIMD (MMX, SSE, SSE2 и SSE3).
64-разрядные регистры GPR и указатели инструкций.
Режим совместимости IE-32e позволяет запускать 32- и 16-разрядные приложения под управлением 64-разрядной операционной системы. К сожалению, наследуемые 16-разрядные программы, работающие в виртуальном реальном режиме (например, приложения DOS), не поддерживаются, а значит, их выполнение невозможно. Данное ограничение наверняка будет представлять наибольшую проблему для пользователей. Подобно 64-разрядному режиму, режим совместимости активизируется операционной системой для отдельных приложений, благодаря чему становится возможным одновременное выполнение 64- и 32-разрядных приложений.
Для того чтобы все эти приложения работали, необходима 64-разрядная операционная система и, что гораздо важнее, - 64-разрядные драйверы для всех устройств, предназначенные именно для этой операционной системы. В настоящее время существует две 64-разрядные версии Windows.
Windows XP 64-bit Edition for Itanium.
Windows XP Professional x64 Edition.
Первая версия операционной системы, предназначенная для процессоров IA-64, таких, как Itanium и Itanium 2, была представлена еще в 2001 году. Вторая версия, предназначенная для процессоров архитектуры IA-32, поддерживающих 64-разрядные расширения, в частности Athlon 64, Opteron, некоторые модели Sempron, Pentium D, Pentium Extreme Edition, а также некоторые модели Xeon и Pentium 4; в настоящее время она предлагается как обновление Windows XP Professional или же в виде 360-дневной ознакомительной версии. Обратите внимание, что Microsoft использует термин х64 применительно к процессорам, поддерживающим расширения AMD64 или EM64T, так как расширения стандартной архитектуры IA-32, разработанные AMD и Intel, практически идентичны и поддерживаются одной версией Windows.
Различия между 32- и 64-разрядной версиями Windows представлены в табл. 3.7.
Таблица 3.7. Сравнение 32- и 64-разрядной версий Windows XP
Адресное пространство Windows XP (32-разрядная) Windows XP (64-разрядная)
Физическая память 4 Гбайт 32 Гбайт
Виртуальная память 4 Гбайт 16 Тбайт
Файл подкачки 16 Тбайт 512 Тбайт
Нерезидентный пул 470 Мбайт 128 Гбайт
Резидентный пул 256 Мбайт 128 Гбайт
Системный кэш 1 Гбайт 1 Тбайт
Основное различие между 32- и 64-разрядной версиями Windows XP - поддерживаемый объем памяти, поскольку 32-разрядные версии Windows не поддерживали более 4 Гбайт физической памяти, а также больше 2 Гбайт выделенной памяти на процесс, в то время как 64-разрядная версия Windows XP поддерживает до 32 Гбайт физической, а также 16 Тбайт виртуальной памяти. Поддержка больших объемов памяти означает, что приложения могут загружать больше данных в физическую или оперативную память, а значит, процессор может быстрее обращаться к данным. Если необходимо использовать больше 4 Гбайт ОЗУ, потребуется 64-разрядная система, работающая под управлением 64-разрядной версии Windows.
Следует отметить, что 64-разрядная версия Windows XP без каких-либо проблем запускает 32-разрядные Windows-приложения, но не поддерживает приложения DOS и другие программы, работающие в виртуальном реальном режиме. Достаточно серьезная проблема связана с драйверами: 32-разрядные процессы не могут загружать 64-разрядные динамически подключаемые библиотеки DLL, а 64-разрядные процессы, в свою очередь, не могут загружать 32-разрядные библиотеки DLL. Следовательно, для всех устройств, подключенных к системе, необходимы как 32-разрядные, так и 64-разрядные драйверы. Поиск 64-разрядных драйверов для старых устройств крайне сложен. Найти драйверы для устройств, выпуск которых давно прекращен, чаще всего просто невозможно. Даже для новых устройств может пройти 1-2 года, прежде чем производители начнут поставлять 64-разрядные версии драйверов. Прежде чем устанавливать 64-разрядную версию Windows, убедитесь в наличии 64-разрядных версий драйверов для всех имеющихся у вас внутренних и внешних устройств. Не забывайте, что драйверы для Itanium-совместимых версий операционных систем, не подходят для операционных систем с x64-совместимыми процессорами.
Рассматривая возможность перехода от 32- к 64-разрядной технологии, следует принимать во внимание поддерживаемый объем памяти, доступность драйверов и совместимость программного обеспечения. Как уже отмечалось, переход от 16-разрядных вычислений к 32-разрядным занял 16 лет. Конечно, переход от 32-разрядных вычислений к 64-разрядным займет не 16 лет, но 2-3 года на это все же потребуется.