SlideShare a Scribd company logo
Лекция № 16. Режимы работы процессора Intel 80286
Intel 80286 (также известный как i286) — 16-битный x86-
совместимый микропроцессор второго поколения фирмы Intel,
выпущенный 1 февраля 1982 года. Данный процессор представляет
собой усовершенствованный вариант процессора Intel 8086 и был в 3
—6 раз быстрее него. Процессор применялся, в основном, в IBM
PC совместимых ПК.
Описание
Процессоры i286 разрабатывались параллельно с
процессорами Intel 80186/80188, однако в нём отсутствовали
некоторые модули, имевшиеся в процессоре Intel 80186. Процессор
i286, выпускался в точно таком же корпусе как и i80186 — LCC, а
также в корпусах типа PGA с 68 выводами. В новом процессоре было увеличено
количество регистров, добавлены новые инструкции, добавлен новый режим работы
процессора — защищённый режим. Процессор имел 6 байтовую очередь (как и Intel
8086). Шины адреса и данныхтеперь не мультиплексируются (то есть, адреса и данные
передаются по разным ножкам). Шина адреса увеличена до 24 бит, таким образом
объем ОЗУ может составлять 16 Мбайт. Процессор не умел выполнять операции над числами с
плавающей запятой, для выполнения таких операций был необходим
математический сопроцессор, например Intel 80287.
Регистры
К 14 регистрам процессора Intel 8086 были добавлены 11 новых регистров, необходимых
для реализации защищённого режима и других функций: регистр слово состояния машины, 16
бит (MSW); регистр задачи, 16 бит (TR); регистры дескрипторной таблицы, один 64-битный и
два 40-битных (GDTR, IDTR, LDTR) и 6 регистров расширения сегментных регистров, 48 бит.
Инструкции
Процессор имел тот же набор инструкций, что и процессор Intel 80186, к которому
добавили 16 новых команд (LGDT, LIDT, LLDT, LMSW, LTR, SGDT, SIDT, SLDT, SMSW,
STR, ARPL, CLTS, LAR, LSL, VERR, VERW) необходимых для работы со средствами
управления памятью. Команда PUSH теперь могла сохранять в стеке константы. Инструкции в
i286 выполняются в среднем за 4,5 такта.
Режимы работы процессора i286
В процессоре i286 было реализовано два режима работы — защищённый
режим и реальный режим. В реальном режиме работы процессор был полностью совместим с
процессорами x86 выпускавшимися до этого, то есть процессор мог выполнять программы
предназначенные для Intel 8086/8088/8018x без повторного ассемблирования или с
переассемблированием с минимальными модификациями. В формировании адреса участвовали
только 20 линий шины адреса, поэтому максимальный объём адресуемой памяти, в этом
режиме, остался прежним — 1 Мбайт. В защищённом режиме процессор мог адресовать до 1
Гбайт виртуальной памяти (при этом объем реальной памяти составлял не более 16 Мбайт), за
счёт изменения механизма адресации памяти. Переключение из реального режима в
защищенный происходит программно и относительно просто, однако для обратного перехода
необходим аппаратный сброс процессора, который в IBM PC-совместимых машинах
осуществлялся обычно с помощью контроллера клавиатуры. Для отслеживания текущего
режима работы процессора используется регистр слово состояния машины (MSW). Программы
реального режима без модификаций в защищенном режиме исполняться не могут, так же как и
программы BIOS машины.
1Микропроцессор Intel 80286
Упрощённая схема адресации в защищенном режиме процессора Intel 80286
Суть защищённого режима заключается в следующем. Программист и разрабатываемые
им программы используют логическое адресное пространство (виртуальное адресное
пространство), размер которого может составлять 1024 Мбайт (для i286). Логический адрес
преобразуется в физический адрес автоматически с помощью схемы управления
памятью(MMU). Благодаря защищённому режиму, в памяти можно хранить только ту часть
программы, которая необходима в данный момент, а остальная часть могла храниться во
внешней памяти (например, на жёстком диске). В случае обращения к той части программы,
которой нет в памяти в данный момент, операционная система может приостановить
программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение
программы. Следовательно, становятся допустимыми программы, размер которых больше
объема имеющейся памяти. Другими словами, пользователю кажется, что он работает с
большей памятью, чем на самом деле. Однако реализация системы виртуальной памяти была
еще далека от совершенства. Для использования защищённого режима необходима
многозадачная операционная система, например Microsoft Windows 3.0, IBM OS/2 или UNIX.
Физический адрес формируется следующим образом. В сегментных регистрах
хранится селектор, содержащий индекс дескриптора в таблице дескрипторов (13 бит), 1 бит,
определяющий к какой таблице дескрипторов будет производиться обращение (к локальной
или к глобальной) и 2 бита запрашиваемого уровня привилегий. Далее происходит обращение к
соответствующей таблице дескрипторов и соответствующему дескриптору, который содержал
начальный, 24-битный, адрес сегмента, размер сегмента и права доступа. После чего
вычислялся необходимый физический адрес, путём сложения адреса сегмента со смещением,
хранящемся в 16-разрядном указательном регистре.
Однако защищённый режим в процессоре Intel 80286 обладал и некоторыми
недостатками, такими как, несовместимость с программами, написанными для реального
режима MS-DOS, для перехода из защищенного режима в реальный режим требовался
аппаратный сброс процессора.
Уровни защиты
Для защиты от выполнения привилегированных команд, которые могут кардинально
изменить состояние всей системы, для защиты доступа к данным и для защиты сегментов кода
в процессоре i286 была введена защита по привилегиям. Было выделено 4 уровня привилегий,
так называемые кольца (Ring) защиты — от самого привилегированного 0 уровня (Ring 0),
предназначенного для ядра системы, до наименее привилегированного 3 уровня (Ring 3),
предназначенного для прикладных программ.
Компьютеры на базе процессора Intel 80286
В 1984 году фирма IBM представила свой ПК, основанный на процессоре i286 с частотой
6 МГц — IBM PC AT, который вызвал большой интерес к архитектуре x86 вообще и к ПК IBM
PC в частности. В 1987 году IBM выпускает новые модели ПК — IBM PS/2-50 и IBM PS/2-60. К
моменту выпуска ПК IBM PS/2, IBM уже не была монополистом рынка персональных
компьютеров, многие фирмы выпускали аналогичные модели, зачастую обладавших более
низкой ценой.
Конкурентные решения
Клон микропроцессора Intel 80286 от фирмы HARRIS
По лицензии Intel
клоны микропроцессора
выпускали различные
компании, в том числе
и Siemens AG
Так как Intel продавала
лицензии на производство
микропроцессоров 286,
многие фирмы выпускали
фактически клоны данного
микропроцессора — AMD, Siemens AG и HARRIS. Однако
были выпущены и процессоры, разработанные независимо от
Intel, таковые выпускали Zilog, Motorola и другие.
Технические характеристики
Дата анонса: 1 февраля 1982 года
Тактовая частота (МГц): зависит от маркировки: 80286-6 — 6 МГц, 80286-8 — 8 МГц,
80286-10 — 10 МГц, 80286-12 — 12,5 МГц
Разрядность регистров: 16 бит
Разрядность шины данных: 16 бит
Разрядность шины адреса: 24 бит
Объём адресуемой памяти: 16 Мбайт
Объём виртуальной памяти: 1 Гбайт
Количество транзисторов: 134 000
Техпроцесс (нм): 1500 (1,5 мкм)
Площадь кристалла: 49 мм²
Напряжение питания: +5 В
Разъём: ?
Корпус: 68-контактный керамический LCC (R80286), пластиковый LCC (N80286),
керамический PGA (CG80286 или A80286)
Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не
очень длинный во времени, но значительный по существу путь развития, на протяжении
которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то
же время, внося в микропроцессор принципиальные изменения, разработчики были вынуждены
постоянно иметь в виду необходимость обеспечения совместимости новых моделей со
старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены
освоенного или разработанного им программного обеспечения. В результате современные
микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию
почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением
нескольких программ, аппаратных средства защиты операционной системы и прикладных
программ друг друга, богатый набор дополнительных эффективных команд и способе
адресации, в то же время могут работать (и часто работают) в режиме первых
микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16-
разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд.
Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные
возможности микропроцессора, прежде всего следует выяснить, в какой степени программист
может использовать новые возможности микропроцессоров в своих программах и какие
проблемы программной несовместимости могут при этом возникнуть.
Первые персональные компьютеры корпорации IBM, появившиеся в 1981 г. и получившие
название IBM PC, использовали в качестве центрального вычислительного узла 16-разрядный
микропроцессор с 8-разрядной внешней шиной Intel 8088. В дальнейшем в персональных
компьютерах стал использоваться и другой вариант микропроцессора, 8086, который отличался
от 8088 тем, что являлся полностью 16-разрядным. С тех пор его имя стало нарицательным, и в
программах, использующих только возможности процессоров 8088 или 8086, говорят, что они
работают в режиме 86-го процессора.
В 1982 г. корпорацией Intel был предложен микропроцессор 80286, в котором был
реализован принципиально новый режим работы, получивший название защищенного. Однако
процессор 80286 мог работать и в режиме 86-го процессора, который стали называть реальным.
В дальнейшем на смену процессору 80286 пришли модели 80386, i486 и, наконец, различные
варианты процессора Pentium. Все они могут работать и в реальном, и в защищенном режимах.
Хотя каждая следующая модель была значительно совершеннее предыдущей (в частности,
почти на два порядка возросла скорость работы процессора, начиная с модели 80386 процессор
стал 32-разрядным, а в процессорах Pentium реализован даже 64-разрядный обмен данными с
системной шиной), однако с точки зрения программиста все эти процессоры весьма схожи.
Основным их качеством является наличие двух режимов работы - реального и защищенного.
Строго говоря, в современных процессорах реализован еще и третий режим - виртуального 86-
го процессора, или V86, однако в плане использования языка ассемблера этот режим не
отличается от обычного режима 86-го процессора, мы его касаться не будем.
Реальный и защищенный режимы прежде всего принципиально различаются способом
обращения к оперативной памяти компьютера. Метод адресации памяти, используемый в
реальном режиме, позволяет адресовать память лишь в пределах 1 Мбайт; в защищенном
режиме используется другой механизм (из-за чего, в частности, эти режимы и оказались
полностью несовместимыми), позволяющий обращаться к памяти объемом до 4 Гбайт. Другое
важное отличие защищенного режима заключается в аппаратной поддержке многозадачности с
аппаратной же (т.е. реализованной в самом микропроцессоре) защитой задач друг от друга.
Реальный и защищенный режимы имеют прямое отношение к работе операционной системы,
установленной на компьютере.
В настоящее время на персональных компьютерах типа IBM PC используются в основном
два класса операционных систем (оба - разработки корпорации Microsoft): однозадачная
текстовая система MS-DOS и многозадачная графическая система Windows. Операционная
система MS-DOS является системой реального режима; другими словами, она использует
только средства процессора 8086, даже если она установлена на компьютере с процессором
Pentium. Система Windows - это система защищенного режима; она значительно более полно
использует возможности современных процессоров, в частности, многозадачность и
расширенное адресное пространство. Разумеется, система Windows не могла бы работать с
процессором 8086, так как в нем не был реализован защищенный режим.
Соответственно двум типам операционных систем, и все программное обеспечение
персональных компьютеров подразделяется на два класса: программы, предназначенные для
работы под управлением MS-DOS (их часто называют приложениями DOS) и программы,
предназначенные для системы Windows (приложения Windows). Естественно, приложения DOS
могут работать только в реальном режиме, а приложения Windows - только в защищенном.
Таким образом, выражения "программирование в системе MS-DOS", "программирование в
реальном режиме" и "программирование 86-го процессора" фактически являются синонимами.
При этом следует подчеркнуть, что хотя процессор 8086, как микросхема, уже давно не
используется, его архитектура и система команд целиком вошли в современные процессоры.
Лишь относительно небольшое число команд современных процессоров специально
предназначены для организации защищенного режима и распознаются процессором, только
когда он работает в за щенном режиме. Поэтому изучение языка ассемблера целесообразно
начинать с изучения архитектуры процессора 8086 или, точнее, того гипотетического
процессора, который как бы объединяет часть архитектур средств современных процессоров,
предназначенных для использования в реальном режиме, и соответствующих архитектуре
процессора 8086. будем называть этот гипотетический процессор МП 86. Изучению
архитектуры и программирования МП 86 посвящены первые три главы.
Деление программ на приложения DOS и приложения Windows исчерпывают вопроса о
возможных типах программ. Дело в том, что ряд дополнительных средств, имеющихся в
современных процессорах, вполне можно использовать и в реальном режиме (хотя сама
операционная система MS-DOS, разработанная еще в эпоху процессора 8088, ими пользуется).
К этим средствам относится расширенный состав команд процессоров и, главное, их 32-
разрядная архитектура.
Современные процессоры (начиная с 80386), в отличие от своего предшественника 8086,
являются 32-разрядными. Это дает возможность программисту использовать в программе 32-
разядные операнды (т. е. числа в диапазоне до 232-1=4 294 967 295), что во многих случаях
позволяет упростить алгоритм программы и повысить ее быстродействие. Программа,
предполагающая работать с 32-разрядными операндами, должна иметь в своем составе одну из
директив .386, .486 или .586, которые разрешают транс тору использовать дополнительные
средства соответствующего процессе. Включение в программу этой директивы одновременно
открывает доступ и к дополнительным командам и способам обращения к памяти,
отсутствующим в процессоре 8086, что также расширяет возможности программирования. Эти
средства описаны в главе, посвященной расширенным возможностям современных
процессоров.
Особая ситуация возникает, если программист хочет использовать не только 32-битовые
данные, но и 32-разрядные адреса ячеек памяти. Программы такого рода называются 32-
разрядными приложениями (в отличие от 16-разрядных, в которых все адреса 16-разрядные,
хотя данные могут иметь размер 32 бит). Для создания 32-разрядного приложения в состав
программы необходимо включить (в соответствующем месте) oписатель use32. Однако следует
иметь в виду, что MS-DOS не позволяет пускать 32-разрядные приложения, которые, таким
образом, должны 6ыть приложениями Windows. В то же время приложения Windows обычно
составляются не на языке ассемблера, а на одном из языков высокого уровня - Паскаль, С или
C++, где тип создаваемой программы (16-разрядная или 32-разрядная) определяется
настройками компилятора. Поэтому вопросы разработки 32-разрядных приложений на языке
ассемблера не вошли в настоящую книгу.
Как известно, система Windows допускает запуск приложений DOS (программ реального
режима), организуя для этого так называемый сеанс DOS, в котором программы фактически
выполняются в режиме 86-го процессора. Кроме этого, в Windows предусмотрена возможность
загрузки компьютера в режиме эмуляции DOS, когда компьютер работает под управлением
варианта DOS, встроенного в систему Windows. Наконец, компьютер можно сконфигурировать
так, чтобы он позволял загружать как Windows, так и "чистую" DOS (например, MS-DOS 6.22),
без всякой Windows. Каким вариантом загрузки компьютера пользоваться при проработке
настоящей книги - дело вкуса и привычек читателя. Приводимые в книге примеры в своем
большинстве просты, не затрагивают каких-то специальных системных средств и будут
работать в любом режиме. Последнее замечание не относится только к примеру программы
защищенного режима, приводимому в гл. 4, а также к обработчику прерываний от мыши,
рассматриваемому в гл. 3. Эти программы следует запускать на "чистой" DOS.
Деление программ на приложения DOS и приложения Windows исчерпывают вопроса о
возможных типах программ. Дело в том, что ряд дополнительных средств, имеющихся в
современных процессорах, вполне можно использовать и в реальном режиме (хотя сама
операционная система MS-DOS, разработанная еще в эпоху процессора 8088, ими пользуется).
К этим средствам относится расширенный состав команд процессоров и, главное, их 32-
разрядная архитектура.
Современные процессоры (начиная с 80386), в отличие от своего предшественника 8086,
являются 32-разрядными. Это дает возможность программисту использовать в программе 32-
разядные операнды (т. е. числа в диапазоне до 232-1=4 294 967 295), что во многих случаях
позволяет упростить алгоритм программы и повысить ее быстродействие. Программа,
предполагающая работать с 32-разрядными операндами, должна иметь в своем составе одну из
директив .386, .486 или .586, которые разрешают транс тору использовать дополнительные
средства соответствующего процессе. Включение в программу этой директивы одновременно
открывает доступ и к дополнительным командам и способам обращения к памяти,
отсутствующим в процессоре 8086, что также расширяет возможности программирования. Эти
средства описаны в главе, посвященной расширенным возможностям современных
процессоров.
Особая ситуация возникает, если программист хочет использовать не только 32-битовые
данные, но и 32-разрядные адреса ячеек памяти. Программы такого рода называются 32-
разрядными приложениями (в отличие от 16-разрядных, в которых все адреса 16-разрядные,
хотя данные могут иметь размер 32 бит). Для создания 32-разрядного приложения в состав
программы необходимо включить (в соответствующем месте) oписатель use32. Однако следует
иметь в виду, что MS-DOS не позволяет пускать 32-разрядные приложения, которые, таким
образом, должны 6ыть приложениями Windows. В то же время приложения Windows обычно
составляются не на языке ассемблера, а на одном из языков высокого уровня - Паскаль, С или
C++, где тип создаваемой программы (16-разрядная или 32-разрядная) определяется
настройками компилятора. Поэтому вопросы разработки 32-разрядных приложений на языке
ассемблера не вошли в настоящую книгу.
Как известно, система Windows допускает запуск приложений DOS (программ реального
режима), организуя для этого так называемый сеанс DOS, в котором программы фактически
выполняются в режиме 86-го процессора. Кроме этого, в Windows предусмотрена возможность
загрузки компьютера в режиме эмуляции DOS, когда компьютер работает под управлением
варианта DOS, встроенного в систему Windows. Наконец, компьютер можно сконфигурировать
так, чтобы он позволял загружать как Windows, так и "чистую" DOS (например, MS-DOS 6.22),
без всякой Windows. Каким вариантом загрузки компьютера пользоваться при проработке
настоящей книги - дело вкуса и привычек читателя. Приводимые в книге примеры в своем
большинстве просты, не затрагивают каких-то специальных системных средств и будут
работать в любом режиме. Последнее замечание не относится только к примеру программы
защищенного режима, приводимому в гл. 4, а также к обработчику прерываний от мыши,
рассматриваемому в гл. 3. Эти программы следует запускать на "чистой" DOS.

More Related Content

What's hot

Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютера
Ronny_Rosenberg
 
35
3535
35JIuc
 
033
033033
033JIuc
 
лекция 4
лекция 4лекция 4
лекция 4JIuc
 
Презентация Бахарева Егора по материнской плате
Презентация Бахарева Егора по материнской плате Презентация Бахарева Егора по материнской плате
Презентация Бахарева Егора по материнской плате
egor97
 
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
Александр Силантьев
 
тема3 шишков саша пк компоненты магистр-мод схема
тема3 шишков саша пк компоненты магистр-мод схематема3 шишков саша пк компоненты магистр-мод схема
тема3 шишков саша пк компоненты магистр-мод схема
TATIANA ТатьянаШишкова
 
Процессоры
ПроцессорыПроцессоры
Процессоры
Sobolishe
 
Процессоры
ПроцессорыПроцессоры
Процессоры
Shtromilov
 
Процессор
ПроцессорПроцессор
Процессор
Titenko1
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системpianist2317
 
1.stm32 core flash rcc
1.stm32 core flash rcc1.stm32 core flash rcc
1.stm32 core flash rcc
Sergey Savkin
 
Next 1989
Next 1989Next 1989
Материнская плата
Материнская платаМатеринская плата
Материнская плата
Meshkov Anton
 
презентация1
презентация1презентация1
презентация1ruslan_gorlov4
 
Micro max 2011 ak corr
Micro max 2011 ak corrMicro max 2011 ak corr
Micro max 2011 ak corr
MicroMax Computer Intelligence
 
лекция 3
лекция 3лекция 3
лекция 3JIuc
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системpianist2317
 

What's hot (20)

Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютера
 
35
3535
35
 
033
033033
033
 
лекция 4
лекция 4лекция 4
лекция 4
 
материнская плата
материнская платаматеринская плата
материнская плата
 
Презентация Бахарева Егора по материнской плате
Презентация Бахарева Егора по материнской плате Презентация Бахарева Егора по материнской плате
Презентация Бахарева Егора по материнской плате
 
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
 
тема3 шишков саша пк компоненты магистр-мод схема
тема3 шишков саша пк компоненты магистр-мод схематема3 шишков саша пк компоненты магистр-мод схема
тема3 шишков саша пк компоненты магистр-мод схема
 
Процессоры
ПроцессорыПроцессоры
Процессоры
 
Процессоры
ПроцессорыПроцессоры
Процессоры
 
Процессор
ПроцессорПроцессор
Процессор
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
1.stm32 core flash rcc
1.stm32 core flash rcc1.stm32 core flash rcc
1.stm32 core flash rcc
 
Next 1989
Next 1989Next 1989
Next 1989
 
Материнская плата
Материнская платаМатеринская плата
Материнская плата
 
презентация1
презентация1презентация1
презентация1
 
Micro max 2011 ak corr
Micro max 2011 ak corrMicro max 2011 ak corr
Micro max 2011 ak corr
 
Am3
Am3Am3
Am3
 
лекция 3
лекция 3лекция 3
лекция 3
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
 

Similar to 034

Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)
Tatyanazaxarova
 
Технические средства реализации информационных процессов
Технические средства реализации информационных процессовТехнические средства реализации информационных процессов
Технические средства реализации информационных процессовstudent_SSGA
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.ppt
ssusere2bc36
 
33 mhz
33 mhz33 mhz
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераstudent_SSGA
 
лекция 17
лекция 17лекция 17
лекция 17JIuc
 
36
3636
36JIuc
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpu
andrei145
 
Лекция № 2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и системЛекция № 2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и систем
Александр Силантьев
 
64 бита
64 бита64 бита
64 бита
Tatyanazaxarova
 
тема 2 2.техническое обеспечение компьютера
тема 2 2.техническое обеспечение компьютератема 2 2.техническое обеспечение компьютера
тема 2 2.техническое обеспечение компьютераmrprizrak
 
06. Память Cortex-M3(4)
06. Память Cortex-M3(4)06. Память Cortex-M3(4)
06. Память Cortex-M3(4)
KamlachPV
 
43
4343
43JIuc
 
44
4444
44JIuc
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаPositive Hack Days
 
TMPA-2013 Smirnov
TMPA-2013 SmirnovTMPA-2013 Smirnov
TMPA-2013 Smirnov
Iosif Itkin
 
Особенности разработки 64-битных приложений
Особенности разработки 64-битных приложенийОсобенности разработки 64-битных приложений
Особенности разработки 64-битных приложений
Tatyanazaxarova
 
процессоры
процессорыпроцессоры
процессорыttku
 

Similar to 034 (19)

Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)
 
Технические средства реализации информационных процессов
Технические средства реализации информационных процессовТехнические средства реализации информационных процессов
Технические средства реализации информационных процессов
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.ppt
 
33 mhz
33 mhz33 mhz
33 mhz
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютера
 
лекция 17
лекция 17лекция 17
лекция 17
 
36
3636
36
 
Presentation Amd Cpu
Presentation Amd CpuPresentation Amd Cpu
Presentation Amd Cpu
 
Лекция № 2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и системЛекция № 2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и систем
 
64 бита
64 бита64 бита
64 бита
 
тема 2 2.техническое обеспечение компьютера
тема 2 2.техническое обеспечение компьютератема 2 2.техническое обеспечение компьютера
тема 2 2.техническое обеспечение компьютера
 
80 е года
80 е года80 е года
80 е года
 
06. Память Cortex-M3(4)
06. Память Cortex-M3(4)06. Память Cortex-M3(4)
06. Память Cortex-M3(4)
 
43
4343
43
 
44
4444
44
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны Разработчика
 
TMPA-2013 Smirnov
TMPA-2013 SmirnovTMPA-2013 Smirnov
TMPA-2013 Smirnov
 
Особенности разработки 64-битных приложений
Особенности разработки 64-битных приложенийОсобенности разработки 64-битных приложений
Особенности разработки 64-битных приложений
 
процессоры
процессорыпроцессоры
процессоры
 

More from JIuc

выступление на совет директоров
выступление на совет директороввыступление на совет директоров
выступление на совет директоровJIuc
 
тест по теме системы счисления
тест по теме системы счислениятест по теме системы счисления
тест по теме системы счисленияJIuc
 
тест по теме компьютерные коммуникации
тест по теме компьютерные коммуникациитест по теме компьютерные коммуникации
тест по теме компьютерные коммуникацииJIuc
 
тест по теме аппаратное обеспечение эвм
тест по теме аппаратное обеспечение эвмтест по теме аппаратное обеспечение эвм
тест по теме аппаратное обеспечение эвмJIuc
 
тест по теме устройство компьютера (20 вопросов)
тест по теме  устройство компьютера (20 вопросов)тест по теме  устройство компьютера (20 вопросов)
тест по теме устройство компьютера (20 вопросов)JIuc
 
тест Atutor аппаратное обеспечение
тест Atutor аппаратное обеспечениетест Atutor аппаратное обеспечение
тест Atutor аппаратное обеспечениеJIuc
 
итоговый тест по дисциплине аппаратное обеспечение эвм
итоговый тест по дисциплине аппаратное обеспечение эвмитоговый тест по дисциплине аппаратное обеспечение эвм
итоговый тест по дисциплине аппаратное обеспечение эвмJIuc
 
тест по теме основные устройства компьютера
тест по теме основные устройства компьютератест по теме основные устройства компьютера
тест по теме основные устройства компьютераJIuc
 
тесты сортировка в бд Excel
тесты сортировка в бд Excelтесты сортировка в бд Excel
тесты сортировка в бд ExcelJIuc
 
тест создание и модифиация структуры бд
тест создание и модифиация структуры бдтест создание и модифиация структуры бд
тест создание и модифиация структуры бдJIuc
 
тест система управления базами данных
тест система управления базами данныхтест система управления базами данных
тест система управления базами данныхJIuc
 
тест работа с макросами и внешними данными
тест работа с макросами и внешними даннымитест работа с макросами и внешними данными
тест работа с макросами и внешними даннымиJIuc
 
тест по Sql
тест по Sqlтест по Sql
тест по SqlJIuc
 
тест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрациятест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрацияJIuc
 
тест запросы
тест запросытест запросы
тест запросыJIuc
 
тест бд
тест бдтест бд
тест бдJIuc
 
тест база данных. основные функции
тест база данных. основные функциитест база данных. основные функции
тест база данных. основные функцииJIuc
 
тестирование по разделу архитектура эвм
тестирование по разделу архитектура эвмтестирование по разделу архитектура эвм
тестирование по разделу архитектура эвмJIuc
 
тест треннинг по архитектуре
тест треннинг по архитектуретест треннинг по архитектуре
тест треннинг по архитектуреJIuc
 
тест треннинг по архитектуре
тест треннинг по архитектуретест треннинг по архитектуре
тест треннинг по архитектуреJIuc
 

More from JIuc (20)

выступление на совет директоров
выступление на совет директороввыступление на совет директоров
выступление на совет директоров
 
тест по теме системы счисления
тест по теме системы счислениятест по теме системы счисления
тест по теме системы счисления
 
тест по теме компьютерные коммуникации
тест по теме компьютерные коммуникациитест по теме компьютерные коммуникации
тест по теме компьютерные коммуникации
 
тест по теме аппаратное обеспечение эвм
тест по теме аппаратное обеспечение эвмтест по теме аппаратное обеспечение эвм
тест по теме аппаратное обеспечение эвм
 
тест по теме устройство компьютера (20 вопросов)
тест по теме  устройство компьютера (20 вопросов)тест по теме  устройство компьютера (20 вопросов)
тест по теме устройство компьютера (20 вопросов)
 
тест Atutor аппаратное обеспечение
тест Atutor аппаратное обеспечениетест Atutor аппаратное обеспечение
тест Atutor аппаратное обеспечение
 
итоговый тест по дисциплине аппаратное обеспечение эвм
итоговый тест по дисциплине аппаратное обеспечение эвмитоговый тест по дисциплине аппаратное обеспечение эвм
итоговый тест по дисциплине аппаратное обеспечение эвм
 
тест по теме основные устройства компьютера
тест по теме основные устройства компьютератест по теме основные устройства компьютера
тест по теме основные устройства компьютера
 
тесты сортировка в бд Excel
тесты сортировка в бд Excelтесты сортировка в бд Excel
тесты сортировка в бд Excel
 
тест создание и модифиация структуры бд
тест создание и модифиация структуры бдтест создание и модифиация структуры бд
тест создание и модифиация структуры бд
 
тест система управления базами данных
тест система управления базами данныхтест система управления базами данных
тест система управления базами данных
 
тест работа с макросами и внешними данными
тест работа с макросами и внешними даннымитест работа с макросами и внешними данными
тест работа с макросами и внешними данными
 
тест по Sql
тест по Sqlтест по Sql
тест по Sql
 
тест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрациятест ключи, связи, индексы поиск и фильтрация
тест ключи, связи, индексы поиск и фильтрация
 
тест запросы
тест запросытест запросы
тест запросы
 
тест бд
тест бдтест бд
тест бд
 
тест база данных. основные функции
тест база данных. основные функциитест база данных. основные функции
тест база данных. основные функции
 
тестирование по разделу архитектура эвм
тестирование по разделу архитектура эвмтестирование по разделу архитектура эвм
тестирование по разделу архитектура эвм
 
тест треннинг по архитектуре
тест треннинг по архитектуретест треннинг по архитектуре
тест треннинг по архитектуре
 
тест треннинг по архитектуре
тест треннинг по архитектуретест треннинг по архитектуре
тест треннинг по архитектуре
 

034

  • 1. Лекция № 16. Режимы работы процессора Intel 80286 Intel 80286 (также известный как i286) — 16-битный x86- совместимый микропроцессор второго поколения фирмы Intel, выпущенный 1 февраля 1982 года. Данный процессор представляет собой усовершенствованный вариант процессора Intel 8086 и был в 3 —6 раз быстрее него. Процессор применялся, в основном, в IBM PC совместимых ПК. Описание Процессоры i286 разрабатывались параллельно с процессорами Intel 80186/80188, однако в нём отсутствовали некоторые модули, имевшиеся в процессоре Intel 80186. Процессор i286, выпускался в точно таком же корпусе как и i80186 — LCC, а также в корпусах типа PGA с 68 выводами. В новом процессоре было увеличено количество регистров, добавлены новые инструкции, добавлен новый режим работы процессора — защищённый режим. Процессор имел 6 байтовую очередь (как и Intel 8086). Шины адреса и данныхтеперь не мультиплексируются (то есть, адреса и данные передаются по разным ножкам). Шина адреса увеличена до 24 бит, таким образом объем ОЗУ может составлять 16 Мбайт. Процессор не умел выполнять операции над числами с плавающей запятой, для выполнения таких операций был необходим математический сопроцессор, например Intel 80287. Регистры К 14 регистрам процессора Intel 8086 были добавлены 11 новых регистров, необходимых для реализации защищённого режима и других функций: регистр слово состояния машины, 16 бит (MSW); регистр задачи, 16 бит (TR); регистры дескрипторной таблицы, один 64-битный и два 40-битных (GDTR, IDTR, LDTR) и 6 регистров расширения сегментных регистров, 48 бит. Инструкции Процессор имел тот же набор инструкций, что и процессор Intel 80186, к которому добавили 16 новых команд (LGDT, LIDT, LLDT, LMSW, LTR, SGDT, SIDT, SLDT, SMSW, STR, ARPL, CLTS, LAR, LSL, VERR, VERW) необходимых для работы со средствами управления памятью. Команда PUSH теперь могла сохранять в стеке константы. Инструкции в i286 выполняются в среднем за 4,5 такта. Режимы работы процессора i286 В процессоре i286 было реализовано два режима работы — защищённый режим и реальный режим. В реальном режиме работы процессор был полностью совместим с процессорами x86 выпускавшимися до этого, то есть процессор мог выполнять программы предназначенные для Intel 8086/8088/8018x без повторного ассемблирования или с переассемблированием с минимальными модификациями. В формировании адреса участвовали только 20 линий шины адреса, поэтому максимальный объём адресуемой памяти, в этом режиме, остался прежним — 1 Мбайт. В защищённом режиме процессор мог адресовать до 1 Гбайт виртуальной памяти (при этом объем реальной памяти составлял не более 16 Мбайт), за счёт изменения механизма адресации памяти. Переключение из реального режима в защищенный происходит программно и относительно просто, однако для обратного перехода необходим аппаратный сброс процессора, который в IBM PC-совместимых машинах осуществлялся обычно с помощью контроллера клавиатуры. Для отслеживания текущего режима работы процессора используется регистр слово состояния машины (MSW). Программы реального режима без модификаций в защищенном режиме исполняться не могут, так же как и программы BIOS машины. 1Микропроцессор Intel 80286
  • 2. Упрощённая схема адресации в защищенном режиме процессора Intel 80286 Суть защищённого режима заключается в следующем. Программист и разрабатываемые им программы используют логическое адресное пространство (виртуальное адресное пространство), размер которого может составлять 1024 Мбайт (для i286). Логический адрес преобразуется в физический адрес автоматически с помощью схемы управления памятью(MMU). Благодаря защищённому режиму, в памяти можно хранить только ту часть программы, которая необходима в данный момент, а остальная часть могла храниться во внешней памяти (например, на жёстком диске). В случае обращения к той части программы, которой нет в памяти в данный момент, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объема имеющейся памяти. Другими словами, пользователю кажется, что он работает с большей памятью, чем на самом деле. Однако реализация системы виртуальной памяти была еще далека от совершенства. Для использования защищённого режима необходима многозадачная операционная система, например Microsoft Windows 3.0, IBM OS/2 или UNIX. Физический адрес формируется следующим образом. В сегментных регистрах хранится селектор, содержащий индекс дескриптора в таблице дескрипторов (13 бит), 1 бит, определяющий к какой таблице дескрипторов будет производиться обращение (к локальной или к глобальной) и 2 бита запрашиваемого уровня привилегий. Далее происходит обращение к соответствующей таблице дескрипторов и соответствующему дескриптору, который содержал начальный, 24-битный, адрес сегмента, размер сегмента и права доступа. После чего вычислялся необходимый физический адрес, путём сложения адреса сегмента со смещением, хранящемся в 16-разрядном указательном регистре. Однако защищённый режим в процессоре Intel 80286 обладал и некоторыми недостатками, такими как, несовместимость с программами, написанными для реального режима MS-DOS, для перехода из защищенного режима в реальный режим требовался аппаратный сброс процессора. Уровни защиты Для защиты от выполнения привилегированных команд, которые могут кардинально изменить состояние всей системы, для защиты доступа к данным и для защиты сегментов кода в процессоре i286 была введена защита по привилегиям. Было выделено 4 уровня привилегий, так называемые кольца (Ring) защиты — от самого привилегированного 0 уровня (Ring 0), предназначенного для ядра системы, до наименее привилегированного 3 уровня (Ring 3), предназначенного для прикладных программ. Компьютеры на базе процессора Intel 80286 В 1984 году фирма IBM представила свой ПК, основанный на процессоре i286 с частотой 6 МГц — IBM PC AT, который вызвал большой интерес к архитектуре x86 вообще и к ПК IBM PC в частности. В 1987 году IBM выпускает новые модели ПК — IBM PS/2-50 и IBM PS/2-60. К моменту выпуска ПК IBM PS/2, IBM уже не была монополистом рынка персональных компьютеров, многие фирмы выпускали аналогичные модели, зачастую обладавших более низкой ценой.
  • 3. Конкурентные решения Клон микропроцессора Intel 80286 от фирмы HARRIS По лицензии Intel клоны микропроцессора выпускали различные компании, в том числе и Siemens AG Так как Intel продавала лицензии на производство микропроцессоров 286, многие фирмы выпускали фактически клоны данного микропроцессора — AMD, Siemens AG и HARRIS. Однако были выпущены и процессоры, разработанные независимо от Intel, таковые выпускали Zilog, Motorola и другие. Технические характеристики Дата анонса: 1 февраля 1982 года Тактовая частота (МГц): зависит от маркировки: 80286-6 — 6 МГц, 80286-8 — 8 МГц, 80286-10 — 10 МГц, 80286-12 — 12,5 МГц Разрядность регистров: 16 бит Разрядность шины данных: 16 бит Разрядность шины адреса: 24 бит Объём адресуемой памяти: 16 Мбайт Объём виртуальной памяти: 1 Гбайт Количество транзисторов: 134 000 Техпроцесс (нм): 1500 (1,5 мкм) Площадь кристалла: 49 мм² Напряжение питания: +5 В Разъём: ? Корпус: 68-контактный керамический LCC (R80286), пластиковый LCC (N80286), керамический PGA (CG80286 или A80286) Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и возможности и даже сами принципы их архитектуры. В то же время, внося в микропроцессор принципиальные изменения, разработчики были вынуждены постоянно иметь в виду необходимость обеспечения совместимости новых моделей со старыми, чтобы не отпугивать потенциального покупателя перспективой полной замены освоенного или разработанного им программного обеспечения. В результате современные микропроцессоры типа Pentium, обеспечивая такие возможности, как 32-битную адресацию почти неограниченных объемов памяти, многозадачный режим с одновременным выполнением нескольких программ, аппаратных средства защиты операционной системы и прикладных программ друг друга, богатый набор дополнительных эффективных команд и способе адресации, в то же время могут работать (и часто работают) в режиме первых микропроцессоров типа 8086, используя всего лишь 1 мегабайт оперативной памяти, 16- разрядные операнды (т. е. числа в диапазоне до 216 - 1 = 65535) и ограниченный состав команд. Поскольку программирование на языке ассемблера напрямую затрагивает аппаратные возможности микропроцессора, прежде всего следует выяснить, в какой степени программист может использовать новые возможности микропроцессоров в своих программах и какие проблемы программной несовместимости могут при этом возникнуть. Первые персональные компьютеры корпорации IBM, появившиеся в 1981 г. и получившие
  • 4. название IBM PC, использовали в качестве центрального вычислительного узла 16-разрядный микропроцессор с 8-разрядной внешней шиной Intel 8088. В дальнейшем в персональных компьютерах стал использоваться и другой вариант микропроцессора, 8086, который отличался от 8088 тем, что являлся полностью 16-разрядным. С тех пор его имя стало нарицательным, и в программах, использующих только возможности процессоров 8088 или 8086, говорят, что они работают в режиме 86-го процессора. В 1982 г. корпорацией Intel был предложен микропроцессор 80286, в котором был реализован принципиально новый режим работы, получивший название защищенного. Однако процессор 80286 мог работать и в режиме 86-го процессора, который стали называть реальным. В дальнейшем на смену процессору 80286 пришли модели 80386, i486 и, наконец, различные варианты процессора Pentium. Все они могут работать и в реальном, и в защищенном режимах. Хотя каждая следующая модель была значительно совершеннее предыдущей (в частности, почти на два порядка возросла скорость работы процессора, начиная с модели 80386 процессор стал 32-разрядным, а в процессорах Pentium реализован даже 64-разрядный обмен данными с системной шиной), однако с точки зрения программиста все эти процессоры весьма схожи. Основным их качеством является наличие двух режимов работы - реального и защищенного. Строго говоря, в современных процессорах реализован еще и третий режим - виртуального 86- го процессора, или V86, однако в плане использования языка ассемблера этот режим не отличается от обычного режима 86-го процессора, мы его касаться не будем. Реальный и защищенный режимы прежде всего принципиально различаются способом обращения к оперативной памяти компьютера. Метод адресации памяти, используемый в реальном режиме, позволяет адресовать память лишь в пределах 1 Мбайт; в защищенном режиме используется другой механизм (из-за чего, в частности, эти режимы и оказались полностью несовместимыми), позволяющий обращаться к памяти объемом до 4 Гбайт. Другое важное отличие защищенного режима заключается в аппаратной поддержке многозадачности с аппаратной же (т.е. реализованной в самом микропроцессоре) защитой задач друг от друга. Реальный и защищенный режимы имеют прямое отношение к работе операционной системы, установленной на компьютере. В настоящее время на персональных компьютерах типа IBM PC используются в основном два класса операционных систем (оба - разработки корпорации Microsoft): однозадачная текстовая система MS-DOS и многозадачная графическая система Windows. Операционная система MS-DOS является системой реального режима; другими словами, она использует только средства процессора 8086, даже если она установлена на компьютере с процессором Pentium. Система Windows - это система защищенного режима; она значительно более полно использует возможности современных процессоров, в частности, многозадачность и расширенное адресное пространство. Разумеется, система Windows не могла бы работать с процессором 8086, так как в нем не был реализован защищенный режим. Соответственно двум типам операционных систем, и все программное обеспечение персональных компьютеров подразделяется на два класса: программы, предназначенные для работы под управлением MS-DOS (их часто называют приложениями DOS) и программы, предназначенные для системы Windows (приложения Windows). Естественно, приложения DOS могут работать только в реальном режиме, а приложения Windows - только в защищенном. Таким образом, выражения "программирование в системе MS-DOS", "программирование в реальном режиме" и "программирование 86-го процессора" фактически являются синонимами. При этом следует подчеркнуть, что хотя процессор 8086, как микросхема, уже давно не используется, его архитектура и система команд целиком вошли в современные процессоры. Лишь относительно небольшое число команд современных процессоров специально предназначены для организации защищенного режима и распознаются процессором, только когда он работает в за щенном режиме. Поэтому изучение языка ассемблера целесообразно начинать с изучения архитектуры процессора 8086 или, точнее, того гипотетического процессора, который как бы объединяет часть архитектур средств современных процессоров, предназначенных для использования в реальном режиме, и соответствующих архитектуре процессора 8086. будем называть этот гипотетический процессор МП 86. Изучению архитектуры и программирования МП 86 посвящены первые три главы.
  • 5. Деление программ на приложения DOS и приложения Windows исчерпывают вопроса о возможных типах программ. Дело в том, что ряд дополнительных средств, имеющихся в современных процессорах, вполне можно использовать и в реальном режиме (хотя сама операционная система MS-DOS, разработанная еще в эпоху процессора 8088, ими пользуется). К этим средствам относится расширенный состав команд процессоров и, главное, их 32- разрядная архитектура. Современные процессоры (начиная с 80386), в отличие от своего предшественника 8086, являются 32-разрядными. Это дает возможность программисту использовать в программе 32- разядные операнды (т. е. числа в диапазоне до 232-1=4 294 967 295), что во многих случаях позволяет упростить алгоритм программы и повысить ее быстродействие. Программа, предполагающая работать с 32-разрядными операндами, должна иметь в своем составе одну из директив .386, .486 или .586, которые разрешают транс тору использовать дополнительные средства соответствующего процессе. Включение в программу этой директивы одновременно открывает доступ и к дополнительным командам и способам обращения к памяти, отсутствующим в процессоре 8086, что также расширяет возможности программирования. Эти средства описаны в главе, посвященной расширенным возможностям современных процессоров. Особая ситуация возникает, если программист хочет использовать не только 32-битовые данные, но и 32-разрядные адреса ячеек памяти. Программы такого рода называются 32- разрядными приложениями (в отличие от 16-разрядных, в которых все адреса 16-разрядные, хотя данные могут иметь размер 32 бит). Для создания 32-разрядного приложения в состав программы необходимо включить (в соответствующем месте) oписатель use32. Однако следует иметь в виду, что MS-DOS не позволяет пускать 32-разрядные приложения, которые, таким образом, должны 6ыть приложениями Windows. В то же время приложения Windows обычно составляются не на языке ассемблера, а на одном из языков высокого уровня - Паскаль, С или C++, где тип создаваемой программы (16-разрядная или 32-разрядная) определяется настройками компилятора. Поэтому вопросы разработки 32-разрядных приложений на языке ассемблера не вошли в настоящую книгу. Как известно, система Windows допускает запуск приложений DOS (программ реального режима), организуя для этого так называемый сеанс DOS, в котором программы фактически выполняются в режиме 86-го процессора. Кроме этого, в Windows предусмотрена возможность загрузки компьютера в режиме эмуляции DOS, когда компьютер работает под управлением варианта DOS, встроенного в систему Windows. Наконец, компьютер можно сконфигурировать так, чтобы он позволял загружать как Windows, так и "чистую" DOS (например, MS-DOS 6.22), без всякой Windows. Каким вариантом загрузки компьютера пользоваться при проработке настоящей книги - дело вкуса и привычек читателя. Приводимые в книге примеры в своем большинстве просты, не затрагивают каких-то специальных системных средств и будут работать в любом режиме. Последнее замечание не относится только к примеру программы защищенного режима, приводимому в гл. 4, а также к обработчику прерываний от мыши, рассматриваемому в гл. 3. Эти программы следует запускать на "чистой" DOS.
  • 6. Деление программ на приложения DOS и приложения Windows исчерпывают вопроса о возможных типах программ. Дело в том, что ряд дополнительных средств, имеющихся в современных процессорах, вполне можно использовать и в реальном режиме (хотя сама операционная система MS-DOS, разработанная еще в эпоху процессора 8088, ими пользуется). К этим средствам относится расширенный состав команд процессоров и, главное, их 32- разрядная архитектура. Современные процессоры (начиная с 80386), в отличие от своего предшественника 8086, являются 32-разрядными. Это дает возможность программисту использовать в программе 32- разядные операнды (т. е. числа в диапазоне до 232-1=4 294 967 295), что во многих случаях позволяет упростить алгоритм программы и повысить ее быстродействие. Программа, предполагающая работать с 32-разрядными операндами, должна иметь в своем составе одну из директив .386, .486 или .586, которые разрешают транс тору использовать дополнительные средства соответствующего процессе. Включение в программу этой директивы одновременно открывает доступ и к дополнительным командам и способам обращения к памяти, отсутствующим в процессоре 8086, что также расширяет возможности программирования. Эти средства описаны в главе, посвященной расширенным возможностям современных процессоров. Особая ситуация возникает, если программист хочет использовать не только 32-битовые данные, но и 32-разрядные адреса ячеек памяти. Программы такого рода называются 32- разрядными приложениями (в отличие от 16-разрядных, в которых все адреса 16-разрядные, хотя данные могут иметь размер 32 бит). Для создания 32-разрядного приложения в состав программы необходимо включить (в соответствующем месте) oписатель use32. Однако следует иметь в виду, что MS-DOS не позволяет пускать 32-разрядные приложения, которые, таким образом, должны 6ыть приложениями Windows. В то же время приложения Windows обычно составляются не на языке ассемблера, а на одном из языков высокого уровня - Паскаль, С или C++, где тип создаваемой программы (16-разрядная или 32-разрядная) определяется настройками компилятора. Поэтому вопросы разработки 32-разрядных приложений на языке ассемблера не вошли в настоящую книгу. Как известно, система Windows допускает запуск приложений DOS (программ реального режима), организуя для этого так называемый сеанс DOS, в котором программы фактически выполняются в режиме 86-го процессора. Кроме этого, в Windows предусмотрена возможность загрузки компьютера в режиме эмуляции DOS, когда компьютер работает под управлением варианта DOS, встроенного в систему Windows. Наконец, компьютер можно сконфигурировать так, чтобы он позволял загружать как Windows, так и "чистую" DOS (например, MS-DOS 6.22), без всякой Windows. Каким вариантом загрузки компьютера пользоваться при проработке настоящей книги - дело вкуса и привычек читателя. Приводимые в книге примеры в своем большинстве просты, не затрагивают каких-то специальных системных средств и будут работать в любом режиме. Последнее замечание не относится только к примеру программы защищенного режима, приводимому в гл. 4, а также к обработчику прерываний от мыши, рассматриваемому в гл. 3. Эти программы следует запускать на "чистой" DOS.