Введение

Особенности взаимодействия в PC-совместимых компьютерах

Архитектурный облик PC-совместимого компьютера определяется свойствами используемых в них процессоров семейства x86. Современные процессоры x86, работающие в защищенном режиме, имеют довольно сложные механизмы виртуализации памяти, ввода/вывода и прерываний, из-за которых приходится различать физические и логические пространства (адреса памяти и ввода/вывода) и события (операции ввода/вывода, прерывания).

Физический адрес ячейки памяти или порта ввода/вывода — это адрес, формируемый на системной шине для обращения к данной ячейке. Логический адрес — это тот адрес, который формируется исполняемой программой (по замыслу программиста) для доступа к требуемой ячейке. Логический адрес в процессорах x86 состоит из двух компонентов: селектора сегмента и смещения внутри сегмента; из этих компонентов формируется линейный адрес — целое беззнаковое число. В большинстве современных ОС используется плоская модель памяти, в которой все доступные сегменты отображены на одно и то же адресное пространство. При этом программа не оперирует селекторами; программист адресует структуры данных в памяти по линейным адресам (для современных процессоров и приложений — 32-разрядным). Физический адрес формируется из логического с помощью блока страничной переадресации; трансляция адресов выполняется на страничном базисе, популярный размер страницы — 4 Кбайт. Страничная переадресация выполняется для реализации виртуальной памяти с подкачкой страниц. Переадресация выполняется на основе таблиц, формируемых в памяти операционной системой.

Физическая операция ввода/вывода или обращения к памяти — это процесс (шинный цикл), во время которого генерируются электрические сигналы, обеспечивающие доступ к данной ячейке (порту). Логическая операция — это исполнение программной инструкции (команды) обращения к интересующей ячейке. Логическая операция не всегда порождает ожидаемую физическую операцию: при определенных условиях она может блокироваться средствами защиты процессора, вызывая даже принудительное завершение программы, или же эмулироваться, создавая иллюзию физического исполнения. 

Яндекс.Метрика