Раздел Hardware

Урок 2

   4. Частота, множитель и режимы работы процессора

 Вы наверняка знаете, что современный процессор работает сегодня на частотах порядка 2ГГц, а некоторые модели и на частотах более 3 ГГц. С другой стороны оперативная память работает на сегодня на гораздо более низких частотах (каких - узнаете позже). Более того, не только оперативная память, но и чипсет работает на невысокой относительно процессора частоте. На материнской плате вообще нет компонентов, которые работали бы быстрее, чем системная шина и чипсет (точнее его северный мост). Впрочем, это и не удивительно. Предположим, что в современную материнскую плату можно установить процессоры с частотами от 1,5Гц до 3,0 ГГц.

Для того, чтобы, имея систему с 2,0 ГГц процессором, улучшить ее до 2,8 ГГц, нам достаточно лишь заменить процессор (естественно, учитывая при этом целый ряд факторов, но обо всем этом мы поговорим позже, давайте пока рассуждать упрощенно). Итак, вы извлекаете из процессорного гнезда 2,0 ГГц процессор и устанавливаете 2,8 ГГц. Вопрос: а материнская плата работает с новым процессором в прежнем режиме, в том же, в котором она работала и с процессором 2,0 ГГц? Если плата теперь работает втрое быстрее, то спрашивается: если для того, чтобы ускорить процессор его нужно заменить, значит, чтобы ускорить во столько же раз материнскую плату ее, наверное, тоже нужно заменить на втрое более производительную? Т.е. простой заменой процессора систему нельзя улучшить? Нужно заменять материнскую плату, на новой плате должен быть другой, способный работать на утроенной частоте чипсет, нужно заменить и оперативную память? Если бы все было так, как мы сейчас описали, то компьютер вообще бы практически не подлежал бы улучшению (upgrade), а можно было бы лишь заменить его практически целиком.

Но это не так. В большинстве систем предел скорости на которой работает чипсет, составляет 800 МГц (200 МГц QDR). Тогда возникает главный вопрос: каким образом в ОДНОЙ И ТОЙ ЖЕ материнской плате могут работать и 2,0 ГГц и 2,8 ГГц процессора? Если частота системной шины никогда не превышает 800 МГц, как процессор работает на более высокой частоте? Ответ кроется в том, что процессор НЕ работает на частоте системной шины (на этой частоте работает вся материнская плата, чипсет, память, но не процессор). Процессор лишь использует для своей работы частоту системной шины. Дело в том, что процессор УМНОЖАЕТ эту частоту на некоторый множитель, таким образом получая результирующую частоту, на которой и работает. Например: Процессор, работающий на частоте 2,0 ГГц использует системную шину на частоте 200 МГц QDR, умножая ее на 10, а процессор, работающий на частоте 2,8 ГГц использует ту же частоту системной шины, умножая ее на 14.

Таким образом, в одну и ту же материнскую плату можно вставить различные процессоры, работающие на разных частотах за счет того, что частота системной шины используется одна и та же (или меньше, например: 2,0 ГГц процессора = 200 МГц системной шины х 10), а процессор производит в себе умножение частоты поданной на него системной шины на некоторый, закрепленный в конкретном процессоре, множитель. Еще один важнейший момент. Какая система быстрее? Процессор 2 ГГц = 100 МГц х 20 или 2 ГГц = 200 МГц х 10? Иными словами, влияет ли частота системной шины на производительность системы при неизменной частоте процессора? Естественно влияет. Разумеется, компьютер, у которого системная шина работает на частоте 200 МГц, при прочих равных условиях будет работать быстрее системы с тем же процессором, но на частоте системной шины 100 МГц. Ведь и память, и прочие компоненты предпочтительнее использовать на более высокой частоте (естественно, если это позволяет их спецификация, если они, иными словами, для такой частоты предназначены). Т.е. компьютер производительнее не только потому, что в нем установлен более быстродействующий процессор; производительность так же зависит и от частоты системной шины, на которой, в свою очередь, работает оперативная память. Важное замечание: естественно, производители чипсетов (а именно от чипсета зависит, какую частоту системной шины поддерживает материнская плата, от чипсета почти все зависит :)) постоянно стремятся увеличить частоту системной шины, поддерживаемую их продуктами, так как даже при очень быстром процессоре система не может быстрее обмениваться данными с памятью, чем позволяет системная шина и это ограничивает производительность всей системы. И, изучая с Вами в ближайшее время чипсеты, мы увидим, какое значение придается поддержке в сегодняшнем чипсете максимально возможной частоте системной шины и типу поддерживаемой памяти, так как, в конечном счете, борьба за быструю системную шины - это во многом борьба за ускорение обмена память - процессор.

Режимы работы процессора

Все 32-разрядные и более поздние процессоры Intel, начиная с 386, могут выполнять программы в нескольких режимах. Режимы процессора предназначены для выполнения программ в различных средах; в разных режимах работы возможности чипа не одинаковы, потому, что команды выполняются по-разному. В зависимости от режима процессора изменяется схема управления памятью системы и задачами.

Процессоры могут работать в трех режимах: реальном, защищенном и виртуальном реальном режиме (реальном внутри защишенного).

Реальный режим

В первоначальном IBM PC использовался процессор 8088, который мог выполнять 16-разрядные команды, используя 16-разрядные внутренние регистры и адресовать только 1 Мб памяти, используя 20-и разрядную шину адреса. Все программное обеспечение PC первоначально было предназначено для этого процессора, оно было разработано на основе 16-разрядной системы команд и модели памяти, объемом 1 Мб. Например DOS, все программное обеспечение DOS написано в расчете на 16-разрядные команды.

Более поздние процессоры, например 286, могли также выполнять те же самые 16-разрядные команды, что и первоначальный 8088, но намного быстрее. Другими словами процессор 286 был полностью совместим с первоначальным 8088. 16-разрядный режим, в котором выполнялись команды процессоров 8088 и 80286 был назван реальным режимом. Все программы, выполняющиеся в реальном режиме, должны использовать только 16-разрядные команды и 20-разрядный адрес. Для программного обеспечения такого типа используется однозадачный режим, т.е. одновременно должна выполняться только одна программа. Нет никакой встроенной защиты для предотвращения перезаписи ячеек памяти, занятых одной программой или даже самой операционной системой, другими программами: это означает, что при выполнении нескольких программ вполне могут быть испорчены данные или код одной из программ, что может привести к остановке системы.

Защищенный режим

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

Такая защита делает систему более надежной, так как уже ни одна программа с ошибками не сможет повредить другие программы или операционную систему. Зная, что разработка новых операционных систем и приложений, использующих преимущество 32-разрядного защищенного режима, займет некоторое время, Intel предусмотрела в процессоре 386 обратно совместимый реальный режим. Благодаря этому процессор 386 мог выполнять обычные 16-разрядные приложения и операционные системы. Причем они выполнялись намного быстрее, чем на любом процессоре предыдущего поколения. Для большинства пользователей этого было достаточно: они не востребовали 32-разрядные системы и приложения и довольствовались тем, что уже имеющиеся у них 16-разрядные программы работали быстрее. К сожалению, из-за этого 386 процессор так никогда и не использовался в защищенном режиме, и, стало быть, все преимущества такого режима терялись. Когда современный высокопроизводительный процессор работает в реальном режиме, то он напоминает чудовищно ускоренный 8088! Т.е процессор может хоть и с огромной (по сравнению с оригинальным 8088) скоростью, но все же выполнять только 16-разрядные приложения и адресоваться только к памяти размером 1 Мб, с которой мог работать 8088. Поэтому были необходимы новые операционные системы и новые приложения, которые могли бы на современных процессорах выполняться в защищенном 32-разрядном режиме. Однако пользователи сопротивлялись всем попыткам перехода к 32-разрядной среде. Для них это означало, что нужно, по крайней мере частично, отказываться от старого программного обеспечения, а пользователю это не подходило. Только в августе 1995 года (спустя 10 лет после выхода первого 32-разрядного процессора) наконец появилась первая пользовательская 32-разрядная операционная система Windows 95, да и то, пользователи приняли ее во многом потому, что она частично 16-разрядная и поэтому без труда исполняет как новые 32-разрядные программы, так и старые, 16-разрядные. Именно для такой обратной совместимости Windows 95 использовала третий режим процессора:

Виртуальный реальный режим

Виртуальный реальный, по существу, является режимом выполнения 16-разрядной среды (реальный режим), который реализован внутри 32-разрядного защищенного режима. Выполняя команды в окне DOS в Windows 95/98, вы создаете виртуальный сеанс реального режима. Поскольку защищенный режим является подлинно многозадачным, фактически можно выполнять несколько сеансов реального режима, причем в каждом сеансе собственное программное обеспечение выполняется на собственном виртуальном компьютере. И все эти приложения могут выполняться одновременно, даже во время выполнения других 32-разрядных программ. Следует обратить внимание на то, что любая программа, выполняющаяся в виртуальном реальном режиме, может обращаться к памяти, объемом до 1 Мб, причем для каждой такой программы это будет как бы первый и единственный мегабайт памяти в системе. Виртуальное реальное окно полностью имитирует среду процессора 8088и если не учитывать быстродействие, программное обеспечение в виртуальном реальном режиме выполняется так, как выполнялось бы на самых первых PC в реальном режиме. При запуске каждого 16-разрядного приложения Windows 95/98 создает так называемую виртуальную машину DOS, выдает ей 1 Мб памяти и на этой машине 16-разрядное приложение выполняется. Следует обратить внимание на то, что все процессоры при включении начинают работать в реальном режиме, и только при старте 32-разрядной операционной системы происходит переключение в 32-разрядный режим.

Так же следует отметить, что не любое 16-разрядное приложение будет корректно работать в виртуальном реальном режиме. Например, диагностические программы для обслуживание аппаратного обеспечения делают вещи, не предусмотренные в виртуальном реальном режиме (в первую очередь пытаются напрямую работать с аппаратурой). Такие программы нельзя запускать из Windows 95/98, для запуска таких программ необходимо стартовать компьютер с операционной системой DOS и выполнять эти приложения в настоящем, а не виртуальном реальном режиме.

:<назад<: :оглавление: :>далее>: