Двоичные числа
Обратный и дополнительный коды двоичных чисел
Прямой код
1 0 1 0 0 1
Обратный код
0 1 0 1 1 0
Дополнительный код
0 1 0 1 1 1
Решить онлайн
Примеры решений Перевод дробных чисел Формат с плавающей точкой Перевести в 2 систему Перевод в 8 систему Перевод в 10 систему Дополнительный код Сложение двоичных чисел Умножение двоичных чисел

Организация и адресация памяти в защищенном режиме

В процессорах х86 предусматривается разделение пространств памяти и ввода-вывода. Пространство памяти (Memory Space) предназначено для хранения кодов инструкций и данных, для доступа к которым имеется богатый выбор способов адресации (24 режима). Память может логически организовываться в виде одного или множества сегментов переменной длины (в реальном режиме – фиксированной). Кроме сегментации, в защищенном режиме возможно разбиение (Paging) логической памяти на страницы размером 4 Кбайт, каждая из которых может отображаться на любую область физической памяти. Начиная с 5-го поколения появилась возможность увеличения размера страницы до 4 Мбайт. Сегментация и разбиение на страницы могут применяться в любых сочетаниях. Сегментация является средством организации логической памяти на прикладном уровне. Разбиение на страницы применяется на системном уровне для управления физической памятью. Сегменты и страницы могут выгружаться из физической оперативной памяти на диск и по мере необходимости подкачиваться с него обратно в физическую память. Таким образом реализуется виртуальная память.
Применительно к памяти различают три адресных пространства: логическое, линейное и физическое. Основным режимом работы 32-разрядных процессоров считается защищенный режим, в котором работают все механизмы преобразования адресных пространств (рис. 2).
Формирование адреса памяти 32-разрядных процессоров в защищенном режиме
Рис. 2 - Формирование адреса памяти 32-разрядных процессоров в защищенном режиме

Логический адрес, также называемый виртуальным, состоит из селектора сегмента Seg (в реальном режиме – просто адреса сегмента) и эффективного адреса, называемого также смещением (Offset). Логический адрес обозначается в форме Seg:Offset. Селектор сегмента хранится в старших 14 битах сегментного регистра (CS, DS, ES, SS, FS или GS), участвующего в адресации конкретного элемента памяти. По значению селектора из специальных таблиц, хранящихся в памяти, извлекается начальный адрес сегмента. Эффективный адрес формируется суммированием компонентов base, index, displacement с учетом масштаба scale. Поскольку каждая задача может иметь до 16 Кбайт селекторов (214), а смещение, ограниченное размером сегмента, может достигать 4 Гбайт, логическое адресное пространство для каждой задачи может достигать 64 Тбайт. Все это пространство виртуальной памяти, в принципе, доступно программисту (при условии поддержки со стороны операционной системы).
Блок сегментации транслирует логическое адресное пространство в 32-битное пространство линейных адресов. Линейный адрес образуется сложением базового адреса сегмента с эффективным адресом. Базовый адрес сегмента в реальном режиме образуется умножением содержимого используемого сегментного регистра на 16 (как и в 8086). В защищенном режиме базовый адрес загружается  из дескриптора, хранящегося в таблице, по селектору, загруженному в используемый сегментный регистр.
32-битный физический адрес памяти образуется после преобразования линейного адреса блоком страничной переадресации. Он выводится на внешнюю шину адреса процессора. В простейшем случае (при отключенном блоке страничной переадресации) физический адрес совпадает с линейным. Включенный блок страничной  переадресации осуществляет трансляцию линейного адреса в физический страницами размером 4 Кбайт (для последних поколений процессоров также возможны страницы размером 2 или 4 Мбайт). Блок обеспечивает и расширение разрядности физического адреса процессоров шестого поколения до 36 бит. Блок переадресации может включаться только в защищенном режиме.
Для обращения к памяти процессор (совместно с внешними схемами) формирует шинные сигналы для операций записи и чтения. Шина адреса разрядностью 32/36 бит позволяет адресовать 4/64 Гбайт физической памяти, но в реальном режиме доступен только 1 Мбайт, начинающийся с младших адресов.

Алгоритм Дейкстры
Поиск кратчайшего пути между указанными вершинами. Решение по шагам
Алгоритм Дейкстры онлайн
Решение онлайн
Построение дерева по коду Прюфера
Восстановления дерева по коду Прюфера
Решить онлайн
Задача о кратчайшем пути
Алгоритм Беллмана-Форда. Решение по шагам
Алгоритм Дейкстры онлайн
Решение онлайн
Курсовые на заказ