
- •Организация электронно-вычислительных машин
- •07092012 Лекция 1 Сегментная адресация и сегментная структура программ
- •Создание выполнимой программы на ассемблере с использованием 1,2 и 3 сегментов
- •21092012 Лекция 2 Защита памяти
- •Кольца защиты памяти
- •Альтернативные методы защиты
- •05102012 Лекция 3 Средства аппаратной поддержки управления памятью и многозадачность среды процессора класса i386
- •Средства поддержки сегментации памяти
- •19102012 Лекция 4
- •02112012 Лекция 5 Средства вызова подпрограмм и задач
- •30112012 Лекция 6 Параллелизм как основа высокопроизводительных вычислений
- •Уровни параллелизма
- •Классификация параллельных вс
- •14122012 Лекция 7 Организация памяти вычислительной системы
Организация электронно-вычислительных машин
Преподаватель: Карельская Катерина Александровна, доцент каф. ЭВМ, к.т.н.
7 семестр – зачёт + курсовая работа
07092012 Лекция 1 Сегментная адресация и сегментная структура программ
Важнейшей характеристикой любого процессора является разрядность его внутренних регистров, а так же внешних шин адреса и данных.
Процессор i8086 имеет 16-ти разрядную внутреннюю архитектуру и 16-ти разрядную шину данных.
Максимальное целое число (либо данное, либо адрес), с которым может работать процессор составляет 216 -1 = 64 кбайта.
Адресная шина процессора содержит 20 линий, а соответствует адресному пространству 220 = 1Мбайт.
Чтобы получить физический двадцати разрядный адрес ячейки, необходимо выполнить следующее:
Взять физический адрес начала сегмента в памяти и сложить его со смещением. Таким образом, получается физический 20ти разрядный адрес адресуемой ячейки.
Таким образом, диапазон адресуемых ячеек составляет 1 Мбайт.
32-ти разрядные процессоры (Pentium) имеют 32-ти разрядную адресную шину, а это соответствует адресному пространству в 232 = 4 Гбайт, но описанный способ сегментной адресации не позволяет выйти за пределы одного Мбайта. Для преодоления такого ограничения 32-ти разрядные процессоры используют два режима работы: реальный режим (режим реального адреса) и защищенный режим (режим виртуального защищенного адреса).
В реальном режиме процессор функционируют как i8086 с повышенным быстродействием. Может обращаться лишь к одному мегабайта адресного пространства. Остальная памяти (даже если она установлена) не используется.
Защищенный режим всё равно использует сегменты и смещения в них, но начальные адреса сегментов не вычисляются, а извлекаются из специальных таблиц (называют «Таблицы дескрипторов сегментов»).
Каждый дескриптор сегмента занимает 8байт, из которых 4 байта (32 бита) отводится под сегментный адрес. И тем самым обеспечивается полное использование 32-х разрядного адресного пространства.
Итак, сегмент – это логическое образование, которое накладывается на требуемые участки физического адресного пространства. Размер сегмента находится в пределах от 0 до 64 кбайт.
Любая выполнимая программа должна обязательно состоят из сегментов, которых обычно три (три типа сегментов): сегмент команд, сегмент данных, сегмент стеков.
Каждого вида сегментов может быть несколько.
CS – сегмент команд - обеспечивает адресацию к сегменту, в котором находятся программные коды.
DS, ES – сегменты данных и дополнительный сегмент данных – обеспечивает адресацию к видеобуферу, системным ячейкам и так далее.
SS – сегмент стека.
Все регистры хранят начальные адреса сегментов программы и тем самым обеспечивают возможность обращения к этим сегментам. Эти сегментные регистры не могут выступать как сегменты общего назначения и не допускают обращения к младшему или старшему байту в отдельности. К этому регистру можно обратиться только целиком.
Регистры общего назначения – РОН:
AX (15-0) – аккумулятор = AH (15-8) + AL (7-0)
BX (15-0) – базовый регистр
CX (15-0) - счетчик
DX (15-0) - регистр данных
Программист может использовать РОН по своему усмотрению для временного хранения любых объектов и выполнением над ними требуемых операций. Регистры допускают независимое обращение к младшему и старшему байтам.
(Предпочтительно использовать АХ).
Регистры-указатели:
SI – индекс источника
DI – индекс приемника
BP – указатель базы
SP – указатель стека
Основные назначение: хранить индексы (то есть смещения) относительно некоторых базы. Адрес базы находится обычно в ВХ.
Регистр флагов: включается шесть флагов состояния и три бита управления состояния процессора.