Ремонт и upgrade компьютеров своими рукамиВНУТРЕННИЕ РЕГИСТРЫ ПРОЦЕССОРА |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если у вас появятся вопросы, не освещенные на нашем сайте, вы можете задать вопрос непосредственно нашим специалистам по электронной почте: upgradecomputer@yandex.ru
|
Количество битов данных, которые может обработать процессор за один прием, характеризуется разрядностью внутренних регистров. Регистр — это, по существу, ячейка памяти внутри процессора; к примеру, процессор может складывать числа, записанные Таблица 3.3. Объем памяти, адресуемой процессорами компании Intel
Примечание. Pentium и AMD Кб относятся к процессорам семейства 586 (пятое поколение). Pentium Pro/II/III/Celeron и AMD Athlon/Duron — к процессорам 686 (шестое поколение), a Pentium 4 рассматривается как процессор 786 (седьмое поколение). в двух различных регистрах, а результат сохранять в третьем регистре. Разрядность регистра определяет количество разрядов обрабатываемых процессором данных, а также характеристики программного обеспечения и команд, выполняемых чипом. к примеру, процессоры с 32-разрядными внутренними регистрами могут выполнять 32-разрядные команды, которые обрабатывают данные 32-разрядными порциями, а процессоры с 16-разрядными регистрами этого делать не могут. Во всех современных процессорах внутренние регистры являются 32-разрядными. Процессор Itanium имеет 64-разрядные внутренние регистры, которые важны для более полного использования функциональных возможностей новых версий операционных систем и программного обеспечения. В некоторых процессорах разрядность внутренней шины данных (а шина состоит из линий передачи данных и регистров!) больше, чем разрядность внешней. Так, к примеру, в процессорах 8088 и 386SX разрядность внутренней шины только вдвое больше разрядности внешней шины. Такие процессоры (их часто называют половинчатыми или гибридными) обычно являются более дешевыми вариантами исходных. к примеру, в процессоре 386SX внутренние операции 32-разрядные, а связь с внешним миром осуществляется через 16-разрядную внешнюю шину. Это позволяет разработчикам проектировать относительно дешевые системные платы с 16-разрядной шиной данных, сохраняя при этом совместимость с 32-разрядным процессором 386. Если разрядность внутренних регистров больше разрядности внешней шины данных, то для их полной загрузки необходимо несколько циклов считывания. к примеру, в процессорах 386DX и 386SX внутренние регистры 32-разрядные, но процессору 386SX для их загрузки необходимо выполнить два цикла считывания, а процессору 386DX достаточно одного. Аналогично передаются данные от регистров к системной шине. В процессорах Pentium шина данных 64-разрядная, а регистры 32-разрядные. Такое построение на первый взгляд кажется странным, если не учитывать, что в этом процессоре для обработки информации служат два 32-разрядных параллельных конвейера. Pentium во многом подобен двум 32-разрядным процессорам, объединенным в одном корпусе, а 64-разрядная шина данных позволяет быстрее заполнить рабочие регистры. Архитектура процессора с несколькими конвейерами называется суперскалярной. Современные процессоры шестого поколения, к примеру Pentium Pro и Pentium II/III, имеют целых шесть внутренних конвейеров для выполняющихся команд. Хотя некоторые из указанных внутренних конвейеров специализированы (т. е. предназначены для выполнения специальных функций), эти процессоры могут все же выполнять три команды за один цикл. В последней версии процессора Itanium используются 10-ступенчатые параллельные конвейеры, которые позволяют выполнять до 20 операций в течение одного такта. Режимы Работы Процессора Все 32-разрядные и более поздние процессоры Intel, начиная с 386-го, могут выполнять программы в нескольких режимах. Режимы процессора предназначены для выполнения программ в различных средах; в разных режимах возможности чипа неодинаковы, потому что команды выполняются по-разному. В зависимости от режима процессора изменяется схема управления памятью инфраструктуры и задачами. Процессоры могут работать в трех режимах: реальном, защищенном и виртуальном реальном режиме (реальном внутри защищенного). Реальный режим В первоначальном IBM PC использовался процессор 8088, который мог выполнять 16-разрядные команды, применяя 16-разрядные внутренние регистры, и адресовать только 1 Мбайт памяти, используя 20 разрядов для адреса. Все программное обеспечение PC первоначально было предназначено для этого процессора; оно было разработано на основе 16-разрядной инфраструктуры команд и модели памяти объемом 1 Мбайт. к примеру, DOS, все программное обеспечение DOS, Windows от 1.x до 3.x и все приложения для Windows от 1.x до 3.x написаны в расчете на 16-разрядные команды. Эти 16-разрядные операционные инфраструктуры и приложения были разработаны для выполнения на первоначальном процессоре 8088. Более поздние процессоры, к примеру 286, могли также выполнять те же самые 16-разрядные команды, что и первоначальный 8088, но намного быстрее. Другими словами, процессор 286 был полностью совместим с первоначальным 8088 и мог выполнять все 16-разрядные программы точно так же, как 8088, но, конечно же, значительно быстрее. Шестнадцатиразрядный режим, в котором выполнялись команды процессоров 8088 и 286, был назван реальным режимом. Все программы, выполняющиеся в реальном режиме, должны использовать только 16-разрядные команды, 20-разрядные адреса и поддерживаться архитектурой памяти, рассчитанной на емкость до 1 Мбайт. Для программного обеспечения этого типа обычно используется однозадачный режим, т. е. одновременно может выполняться только одна программа. Нет никакой встроенной защиты для предотвращения перезаписи ячеек памяти одной программы или даже операционной инфраструктуры другой программой; это означает, что при выполнении нескольких программ вполне могут быть испорчены данные или код одной из них, а это может привести всю систему к краху (или останову). Защищенный режим Первым 32-разрядным процессором, предназначенным для PC, был 386-й. Этот чип мог выполнять абсолютно новую 32-разрядную систему команд. Чтобы полностью ис— пользовать преимущество 32-разрядной инфраструктуры команд, были важны 32-разрядная операционная система и 32-разрядные приложения. Этот новый режим назывался защищенным, так как выполняющиеся в нем программы защищены от перезаписи своих областей памяти другими программами. Такая защита делает систему более надежной, поскольку ни одна программа с ошибками уже не сможет так легко повредить другие программы или операционную систему. Кроме того, программу, «потерпевшую крах», можно довольно просто завершить без ущерба для всей инфраструктуры. Зная, что разработка новых операционных систем и приложений, использующих преимущества 32-разрядного защищенного режима, займет нето время, Intel предусмотрела в процессоре 386 обратно совместимый реальный режим. Благодаря этому процессор 386 мог выполнять немодифицированные 16-разрядные приложения. Причем они выполнялись намного быстрее, чем на любом процессоре предыдущего поколения. Для большинства пользователей этого было достаточно; им не требовалось все 32-разрядное программное обеспечение — достаточно было того, чтобы имевшиеся у них 16-разрядные программы работали быстрее. К сожалению, из-за этого процессор никогда не работал в 32-разрядном защищенном режиме и все возможности такого режима не использовались. Когда высокопроизводительный процессор, подобный Pentium III, работает в реальном режиме, он напоминает «Turbo 8088». Слово «Turbo» означает, что процессор имеет преимущество в быстродействии при выполнении 16-разрядных программ; хотя он может выполнять только 16-разрядные команды и обращаться к памяти в пределах все того же 1 Мбайт, предусмотренного картой памяти процессора 8088. Поэтому, даже если у вас система с Pentium III и оперативной памятью емкостью 128 Мбайт, при выполнении Windows 3.x или DOS в действительности используется только первый мегабайт памяти, а остальные 127 практически не применяются! В связи с этим потребовались новые операционные инфраструктуры и приложения, которые могли бы использовать все преимущества современных процессоров в 32-разрядном защищенном режиме. Однако некоторые пользователи поначалу сопротивлялись всяческим попыткам перехода к 32-разрядной среде. Сообщество пользователей оказалось весьма устойчивым в своих привязанностях и не желало изменять привычек. Я, признаюсь, был одним из них! Из-за сопротивления пользователей 32-разрядные операционные инфраструктуры, такие, как Unix и ее разновидности (к примеру, Linux), OS/2 и даже Windows NT\2000, распространялись на рынке персональных компьютеров достаточно вяло. Из всех перечисленных систем, только Windows 2000 стала по-настоящему широко распространенным программным продуктом, да и то благодаря огромной популярности ОС Windows 95 и последовавших за ней Windows 98/Ме. Последней полностью 16-разрядной операционной системой была Windows серии 3.x. Хотя на самом деле она работала в качестве надстройки DOS. Процессор Itanium, появившийся не так давно, стал первенцем мира 64-разрядных возможностей. Этот процессор также совместим со всем существующим 32-разрядным программным обеспечением. Но для того, чтобы воспользоваться свойствами процессора в полном объеме, потребуются полноценные 64-разрядные операционные инфраструктуры и приложения. Microsoft уже выпустила 64-разрядные версии операционной инфраструктуры Windows ХР, в то время как различными компаниями создаются 64-разрядные приложения для серверов и рабочих станций. Виртуальный реальный режим Для обратной совместимости 32-разрядная система Windows 9х использует третий режим в процессоре — виртуальный реальный режим. Виртуальный реальный, по существу, является режимом выполнения 16-разрядной среды (реальный режим), то реализовано внутри 32-разрядного защищенного режима (т. е. виртуально, а не реально). Выполняя команды в окне подсказки DOS внутри Windows 95/98, вы создаете виртуальный сеанс реального режима. Поскольку защищенный режим является подлинно многозадачным, фактически можно выполнять несколько сеансов реального режима, причем в каждом сеансе собственное программное обеспечение работает на виртуальном компьютере. И все эти приложения могут выполняться одновременно, даже во время работы других 32-разрядных программ. Обратите внимание, что любая программа, выполняющаяся в виртуальном окне реального режима, может обращаться только к памяти объемом до 1 Мбайт, причем для каждой такой программы это будет первый и единственный мегабайт памяти в системе. Другими словами, если вы выполняете приложение DOS в виртуальном реальном окне, ему будет доступна память только объемом до 640 Кбайт. Так происходит потому, что имеется только 1 Мбайт общей оперативной памяти в 16-разрядной среде, а верхние 384 Кбайт зарезервированы для инфраструктуры. Виртуальное реальное окно полностью имитирует среду процессора 8088, и, если не учитывать быстродействие, программное обеспечение будет выполняться так, как оно выполнялось первым PC в реальном режиме. Каждая виртуальная машина получает собственный 1 Мбайт адресного пространства и собственный экземпляр реальных аппаратных подпрограмм управления аппаратурой (базовую систему ввода-вывода), причем при этом эмулируются все регистры и возможности реального режима. Виртуальный реальный режим используется при выполнении программ в окне DOS, а также при выполнении 16-разрядных программ, написанных для DOS или Windows 3.x, в Windows 95/98. При запуске приложения DOS операционная система Windows 9х создает виртуальную машину DOS, на той это приложение может выполняться. Важно отметить, что все процессоры Intel (а также Intel-совместимые AMD и Cyrix) при включении питания начинают работать в реальном режиме. При загрузке 32-разрядная операционная система автоматически переключает процессор в 32-разрядный режим и управляет им в этом режиме. Некоторые приложения DOS и Windows 3.x ведут себя непредусмотренным образом, т. е. делают вещи, которые не поддерживаются даже в виртуальном реальном режиме. Диагностическое программное обеспечение — прекрасный тому пример: оно не будет корректно работать в окне реального режима (виртуального реального) под управлением Windows 95/98 или NT. Чтобы на Pentium II запустить такое программное обеспечение в первоначальном упрощенном режиме, необходимо прервать процесс начальной загрузки инфраструктуры и просто загрузить DOS. Это можно выполнить в Windows 95/98, нажимая клавишу <F8>, когда на экране появляется подсказка Starting Windows.... Затем, когда появится загрузочное меню, в нем нужно выбрать команду загрузки простой 16-разрядной операционной инфраструктуры реального режима DOS. Лучше всего выбрать Safe mode command prompt, если вы собираетесь использовать диагностические процедуры (обычно не выполняемые в защищенном режиме), которые должны быть запущены с минимумом драйверов и другого программного обеспечения. Операционная система Windows Me создавалась, как вы знаете, на основе Windows 98. Пытаясь отучить пользователей от 16-разрядного режима работы, Microsoft удалила опцию загрузочного меню (Startup). Операционные инфраструктуры Windows NT/2000 также лишены возможности прервать загрузку подобным образом. Для запуска компьютера в режиме 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-й линией адреса памяти (А20, поскольку АО — первая строка адреса). Управляя сигналом на линии А20, программное обеспечение реального режима может получать доступ к первым 64 Кбайт дополнительной памяти — это первые 64 Кбайт памяти, следующие за первым мегабайтом. Эта область памяти называется областью верхних адресов памяти (high memory area — НМЛ). .
Вся информация собрана из открытых источников. При испльзовании материалов, размещайте ссылку на источник. |