
- •Введение
- •1.1. Основные направления эволюции микрокомпьютеров
- •1.2. Основные сведения о компьютерах
- •1.3. Представление чисел
- •Заключение
- •Лекция 2 машинная организация процессора 80286
- •2.1. Введение
- •2.2. Структура памяти
- •2.3. Сегментация памяти
- •2.4. Структура ввода-вывода
- •2.5. Регистры
- •2.6. Операнды и режимы адресации операндов
- •2.7. Замечания о режимах адресации
- •Глава 3 базовая система команд процессора 80286
- •3.1. Нотация языка ассемблера
- •3.2. Команды передач данных
- •3.3. Арифметические команды
- •Лекция 6. Цепочечные команды
- •Лекция 7. Команды безусловной передачи управления
- •Лекция 8. Команды условной передачи управления
- •Лекция 9. Прерывания
- •Int n
- •Лекция 10. Флажковые команды
- •3.10. Команды синхронизации
- •3.11. Поддержка языков высокого уровня
- •3.12. Замечания о префиксах
- •3.13. Воздействие на флажки
- •Заключение
Заключение
Познакомившись с компьютерами и представлением чисел, мы готовы к изучению конкретного процессора 80286. В следующей главе рассматривается его машинная организация.
Лекция 2 машинная организация процессора 80286
2.1. Введение
Один из способов изучения компьютера заключается в рассмотрении его функциональных компонентов. Описание этих компонентов и их взаимодействия иногда называется архитектурой компьютера. В понятие архитектуры входят число регистров и их функции, объем подключаемой памяти, способы ее адресации и средства ввода-вывода.
Микросхема 80286 содержит значительную часть компонентов компьютера, например схемы, которые управляют всеми его функциями, а также все регистры и флажки. В ней нет памяти и устройств ввода-вывода, но их легко подключить к микросхеме и образовать законченный компьютер. Совокупность всех элементов, содержащихся на кристалле микросхемы, иногда называют процессором.
Процессор 80286 имеет два режима работы: режим реального адреса (или, короче, реальный режим) и защищенный режим виртуального адреса (виртуальный режим). В первом режиме процессор ведет себя как более быстродействующий микропроцессор 8086, и многие программисты будут использовать его именно в этом режиме. Виртуальный режим предназначен для системных программистов и пользователей, разрабатывающих сверхбольшие программы. В настоящей главе мы сосредоточимся на реальном режиме, а виртуальный режим подробно рассмотрим в гл. 5.
Процессор 80286 имеет четыре набора регистров: регистры общего назначения для хранения промежуточных результатов; указательные и индексные регистры для локализации информации в определенных областях памяти; сегментные регистры, которые служат для задания этих областей памяти; в последний набор входит указатель команды. Кроме того, в процессоре находится девять флажков, фиксирующих текущее состояние и управляющих его работой. Процессор может обращаться более чем к 1 млн. байт памяти (и намного больше в виртуальном режиме) и более чем к 65 000 входных и выходных портов. Мы обсудим эти возможности в следующих трех разделах.
Типичные команды компьютера локализуют операнды (т.е. обрабатываемые данные), выполняют операцию над значениями операндов и помещают результат в указанное место. В зависимости от команды операнды и результат могут находиться в памяти или регистрах. Средства их локализации называются режимами адресации операндов; они рассматриваются во второй половине настоящей главы. Собственно командам посвящены гл. 3 и 5.
2.2. Структура памяти
Память системы, работающей в реальном режиме, образуют 220 (примерно 1 млн.) 8-битных величин, называемых байтами. Каждому байту назначен уникальный адрес (беззнаковое число) из диапазона от 0 до 220 -- 1 (от 00000 до FFFFF в шестнадцатеричной системе счисления), что показано на рис. 2.1. В виртуальном режиме размер памяти расширяется до 224 (16 млн.) байт.
Любые
два смежных (или соседних) байта в памяти
образуютслово.
У
каждого из двух байт в слове есть свой
адрес и меньший из них принимается
за адрес слова. Примеры слов показаны
на рис. 2.2.
Слово состоит из 16 бит. Байт с большим адресом содержит старшие биты слова, а байт с меньшим адресом - младшие. Сначала такая ситуация кажется вполне естественной: конечно же, старший байт должен иметь больший адрес. Но когда память рассматривается как последовательность байт, простирающаяся от наименьшего адреса к наибольшему, оказывается, что процессор хранит слова "наоборот", что показано на рис. 2.3.