Скачиваний:
406
Добавлен:
22.01.2014
Размер:
3.77 Mб
Скачать

20.3. Микропроцессоры.

Возможности МП.

Возможности МП с точки зрения программиста определяются системой его команды. МП может выполнять, как правило, четыре основных арифметических действия: сложение, вычитание, умножение и деление. Разрядность чисел, с которыми работает МП, кратна 8 битам. Все остальные арифметические действия осуществляются с помощью специальных подпрограмм. Для работы с большими числами с плавающей запятой могут быть использованы сопроцессоры. Сопроцессор может представить собой отдельную микросхему, либо быть встроенным в. Сам МП, как это сделано, например в i486. Сопроцессор является вспомогательным и начинает работать после подачи МП специальной устройством и начинает работать после подачи МП специальной команды. После получения этой команды сопроцессор далее работает независимо от МП, и после вычисления передает результаты основному процессору. В течение этого промежутка времени процессор находится в состоянии ожидания - выполняет команду FWAIT. Помимо арифметических операций МП выполняет еще и операции компьютерной ложки. Условно их делят на три группы: сравнение, условный переход, и повторение (цикл). Указанные операции, как правило, реализуются при помощи формирования и контроля разрядов регистра флагов. Каждая группа операций реализуется своими командами.

Архитектура МП i80x86.

Рассмотрим архитектуру МП с точки зрения программиста (регистровую архитектуру МП), представленную на рис.20.1.

Рис.20.1.

В распоряжении программиста имеются четырнадцать 16-ти битовых регистра. В регистрах хранятся данные, с которыми работает микропроцессор. Некоторые из регистров являются универсальными, другие – специальными.

Универсальные регистры могут использоваться как для временного хранения данных, так и для формирования адресов операндов. Данные регистра являются 16-ти разрядными, но можно работать и с половиной каждого из указанных регистров.

Сегментные регистры предназначены для ориентации в памяти ПК. Каждый из них участвует в вычислении входа в определенный раздел (сегмент) памяти объемом 64 Кбайта. Регистры сегмента кода CS указывает расположения программы в программе. Регистры сегмента данных DS указывает место хранения данных, используемых в программе. Регистр дополнительного сегмента ES дополняет сегмент данных. Регистр SS указывает место расположения стекла.

Адресные регистры применяется для обеспечения доступа к отдельным байтам памяти. Вместе с сегментными регистрами они используются для указания точного места в памяти. Таких регистров пять:

- Указатель команды РС, называемый еще счетчиком команд, указывает процессору на адрес выполняемой команды;

- Указатель стека SP и указатель базы ВР используются для указания на место данных в стеке;

- Индекс источника SI и индекс приемника DI позволяют перемещать данные с одного места на другое;

Последний регистр называется флаговым.

Флаги работают независимо друг от друга, но для удобства объединены в флаговый регистр. Всего существует 9 стандартных флагов: 6 используются для обозначения арифметических и подобных им операций. Три других флага используются в целях управления. В ПС/АТ добавлено еще два флага: NT применяется для отложенных команд, другой является двухбитовым (IOPL) и применяется для управления уровнем привилегий ввода/вывода. Содержание регистра и значение флагов легко определить при помощи программы DEBUG (команда R). Для хранения информации о порядке выполнения операции используется стек.

Прерывания.

При выполнения прерывания ПК граница в стеке информации о действиях, ему предшествующих, что позволяет по завершении прерывания вернуть к тому месту, от которого пришлось отвлечься. Это самый важный способ использование стека. Каждая часть ПК имеет свой номер кода прерывания.

Внутри ПК используется три вида прерываний (всего шесть).

Первый – это прерывание, исходящее из любой части ПК, т.е. аппаратное прерывание.

Два других к программному обеспечению: специальные, программные. В случае, когда процессор наталкивается на бессмысленную для него команду или данные происходит так называемое прерывание в особой ситуации.

В некоторых случаях возникает необходимость обращения к BIOS, применяя специальную команду (в ассемблере ITR), которая используется для реализации прерывания программным способом.

Каждому прерыванию соответствуют свои программы его обработки, выполняющая любую работу, предусмотренную прерыванием.

Программы обработки прерываний хранятся в BIOS и DOS. Кроме этого, дополнительные программы обработки прерываний могут присутствовать в программах пользователя.

Порты МП.

Порт служит для связи с внешними устройствами. МП i80х86 имеет разделенное пространство памяти и ввода/вывода. Любой элемент в цепи ПК имеет собственный номер порта. Микропроцессор имеет 65536 номеров портов, но многие не используются. Микропроцессор использует две команды для связи с портами: команда OUT посылает данные порту, а команда IN – запрашивает данные у порта. Порты используются в большинстве случаев управляющими портами BIOS.