Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
81
Добавлен:
29.03.2016
Размер:
585.73 Кб
Скачать

Организация памяти микропроцессорного устройства

Адресуемая область памяти составляет 1Мбайт, разрядность адреса 20 бит. Микропроцессор внутри манипулирует логическими адресами содержащими шестнадцати разрядный базовый адрес сегмента и шестнадцати разрядное внутрисегментное смещение. Логические адреса преобразуются микропроцессором в логические, исполнительные двадцати разрядные адреса путем сложения смещения с предварительно сдвинутым на 4 разряда в сторону старших адресов сегментным адресом (младшие 4 разряда заполняются нулями).

Такая организация формирования адреса требует использования специального механизма сегментации памяти. Все адресуемое пространство разбивается на сегменты емкостью на 64Кбайта каждый, так как начальный адрес каждого сегмента в четырех младших разрядах содержат нули, то сегменты могут начинаться на границах блока 16 байт. Два смежных байта образуют двухбайтное слово, причем старший байт хранится в ячейке с большим адресом. Слово может начинаться по четному или нечетному адресу. В первом случае слово передается за один цикл шины, во втором за два. Поэтому для повышения производительности слова нужно размещать по четным адресам памяти. Начальный адрес сегмента хранится в шестнадцати разрядном сегментном регистре, а обращение к байту или слову внутри сегмента осуществляется с использованием шестнадцати разрядного смещения, формируемого в операционном устройстве.

Большинство команд оперирует только шестнадцати разрядным смещением, а сегментные адреса находятся в одном из четырех регистров. Каждый сегментный регистр задает начальный адрес либо сегмента кода CS (т.е. программы), данных DS, стека SS и экстра кода ES. Выборка команд осуществляется из текущего сегмента по адресу, сформированному сложением содержимого CS и смещением - содержимого указателя команд IP. При формировании исполнительных адресов данных содержимое DS суммируется со смещением, выдаваемым из операционного устройства (кроме тех случаев, когда смещение формируется через регистры BP или SP, а в операциях с цепочками через регистр DI). Все обращения к стеку, в том числе неявные действия при прерываниях, обращения к подпрограммам и при возвратах, а так же явные операции : включение в стек и исключение из стека осуществляется через сегментный регистр SS. В операциях над цепочками байт с использованием индексного регистра DI исполнительный адрес формируется через экстракодный регистр ES. Сегментные регистры не используются только при выполнении команд ввода вывода. В любой команде может предшествовать однобайтный префикс пере сегментирования (т.е. принудительное задание сегмента). Основное назначение сегментных регистров это динамическое перемещение программ и данных в памяти, которые необходимы в программной среде. Манипуляции с сегментными регистрами осуществляет операционная система.

Регистры микропроцессора

Стремление сохранить программную совместимость с восьми разрядным микропроцессором оказало влияние на регулярность структуры операционного устройства и специализацию многих внутренних регистров. В состав блока регистров общего назначения входят 4 шестнадцати разрядных регистра AX, BX, CX, DX, допускающих независимую адресацию старших Н и младших L половин. В системе команд имеются команды которые специализируют некоторые регистры общего назначения : регистр AX выполняет функции аккумулятора с ним связаны операции умножения, деления и преобразования десятичной коррекции, участвует во всех операциях ввода вывода в качестве источника или приемника; BX используется как источник базового адреса в некоторой степени соответствует паре регистров HL восьми разрядных микропроцессоров; CX используется в качестве счетчика в командах сдвигов и зацикливания, а так же при операциях с цепочками байт; DX неявным образом адресуется в командах умножения и деления, и кроме того содержит адрес порта ввода вывода при косвенно-регистровой адресации. Четыре шестнадцати разрядных указательных и индексных регистра SP, BP, SI, DI предназначены для хранения внутри сегментных смещений обеспечения косвенную адресацию и динамическое вычисление исполнительных адресов. Эти же регистры могут участвовать в выполнении арифметических и логических операций над двухбайтными словами.

Регистр флагов хранит признаки результатов выполнения арифметических и логических операций (операции пересылки данных влияние на флаги не оказывают) и управляющие биты. Назначение флагов:

  • CF - флаг переноса (заема) старшего бита в арифметических операциях;

  • PF - флаг паритета устанавливается при четном числе единиц в результате;

  • AF - флаг дополнительного переноса (заема) в тетраде для десятичной арифметики;

  • ZF - флаг нулевого результата;

  • CF - флаг знака указывает на единичные значения старшего бита результата - признак отрицательного числа;

  • TF - флаг трассировки (по шагового режима) при его установки после выполнения каждой команды вызывается внутреннее прерывание 1;

  • IF - флаг управления прерываниями, при единичном значении разрешается выполнение маскируемых аппаратных прерываний;

  • DF - флаг управления направлением в строковых операциях, при единичном значении индексные регистры, участвующие в строковых операциях автоматически декрементируются на количество байт операнда, при нулевом инкрементируются;

  • OF - флаг переполнения устанавливается если результат арифметической операции не умещается в операнде назначения.

Соседние файлы в папке Лекции