Реклама:

Рассмотрим вопрос логической организации памяти в исторической перспективе. Существуют два основных режима работы компьютера, которые сильно отличаются один от другого. Первые ПК на базе процессора Intel 8088 могли выполнять только 16-разрядные инструкции, и этот режим был назван реальным режимом процессора. Эти первые процессоры позволяли адресовать до 1 Мбайт памяти, последние 384 Кбайт которой были зарезервированы для использования видеокартами (в качестве видеопамяти), прочими адаптерами (для выгрузки собственной системы BIOS и хранения буферов памяти) и самой материнской платой (также для выгрузки BIOS).

Процессоры 286 позволяли адресовать уже 16 Мбайт оперативной памяти. Для ее использования процессор должен был переходить в так называемый защищенный режим. К сожалению, все операционные системы того времени позволяли адресовать только первый мегабайт памяти, так что программам, которым требовался больший объем, приходилось прибегать к помощи разного рода дополнительных драйверов. Только с помощью таких приемов в DOS и Windows 3.x стало возможным получать доступ к первым 16 Мбайт памяти. Одна из сложно-

стей состояла в том, что доступная операционной системе область памяти была сегментированной. Ей были доступны первые 360 Кбайт и последние 15 Мбайт; 385 Кбайт, лежащие между ними, оставались зарезервированными для аппаратных нужд.

Когда в 1985 году компания Intel выпустила первый 32-разрядный процессор (386DX), произошли серьезные изменения в архитектуре памяти. Теперь процессор уже мог адресовать до 4 Гбайт оперативной памяти, однако она была доступна только в 32-разрядном защищенном режиме, в котором могли выполняться только 32-разрядные инструкции. Этот режим был предназначен для новых, более совершенных операционных систем, таких как Windows 9x/NT/2000/XP/Vista, Linux, OS/2, Unix и др. На смену старой пришла новая архитектура памяти, с которой могло работать 32-разрядное программное обеспечение. К сожалению, до появления первой 32-разрядной операционной системы оставалось еще десять лет. С точки зрения программных инструкций все процессоры начиная с 386 являются всего лишь его ускоренными версиями. Если не учитывать .дополнительные инструкции работы с мультимедиа ММХ и SSE (или 3DNow! в процессорах от AMD), даже процессоры Pentium 4 и Athlon представляли всего лишь разогнанные версии процессора 386. И что еще более интересно, 64-разрядные процессоры для серверных систем, такие как Intel Itanium и AMD Opteron, также можно отнести к этой категории, поскольку на них выполнялось все то же 32-разрядное программное обеспечение.

Основная проблема состояла в том, что 32-разрядные процессоры имели два совершенно различных режима работы, каждый из которых использовал свою архитектуру памяти. Из соображений обратной совместимости эти процессоры могут работать в реальном режиме, обслуживая только 16-разрядные программы, способные обращаться только к первым одному или шестнадцати мегабайтам памяти (в зависимости от того, как они были написаны). К примеру, 16-разрядные драйверы могут быть загружены только в первый мегабайт памяти и только к нему могут обращаться. В категорию 16-разрядных программ входят системная BIOS, включая процедуру POST, программа настройки BIOS, загрузочный код и все внутренние драйверы. Причиной этого является то, что при включении питания компьютера все Intel-совместимые процессоры начинают работу в реальном режиме. Процессоры переключаются в защищенный режим только инструкциями загружаемой 32-разрядной операционной системы.


⇐ Предыдущая страница| |Следующая страница ⇒