КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

Физическая операция ввода-вывода или обращения к памяти — это процесс (шинный цикл), во время которого генерируются электрические сиг¬налы, обеспечивающие доступ к данной ячейке (порту). Логическая операция — это исполнение программной инструкции (команды) обращения к интересующей ячейке. Логическая операция не всегда порождает ожидаемую физическую опе¬рацию: при определенных условиях она может блокироваться средствами защи¬ты процессора, вызывая даже принудительное завершение программы, или же эмулироваться, создавая иллюзию физического исполнения.
Безопасность в защищенном режиме базируется на 4-уровневой системе приви¬легий. В большинстве современных ОС ради упрощения и экономии процессор¬ного времени используются только два крайних уровня — нулевой (supervisor), с неограниченными возможностями, и третий (user), с самыми жесткими ограниче¬ниями. Смена уровней привилегий при исполнении программы занимает много тактов процессора, но это вынужденная плата за реализацию защиты, без которой устойчивую ОС не построить. Более подробно механизмы защиты и виртуализа¬ции памяти, ввода-вывода и прерываний в процессорах х86 описаны в литературе [6, 7], здесь же изложены лишь некоторые прикладные аспекты их работы.

12.5. Процессоры х86
469
12.5.1. Возможности адресации памяти процессорами различных поколений
Сложность обращения к памяти в PC обусловлена свойствами процессоров х86 разных поколений и требованием обратной совместимости новых процессоров и компьютеров со старым ПО.
Процессорам 8086/88 было доступно адресное пространство 1 Мбайт с диапазо¬ном адресов О-FFFFFh, причем физический 20-битный адрес вычислялся с по¬мощью двух 16-битных компонентов по формуле Addr = Segxl6 + Offset, где Seg — содержимое сегментного регистра (CS, DS, SS или ES), a Offset — исполни¬тельный адрес, формируемый из одного или нескольких слагаемых в соответствии с выбранным режимом адресации. Эта сегментная модель адресации позволяет про¬граммам оперировать с непрерывными блоками памяти (сегментами) размером не более 64 Кбайт.

Hosted by uCoz