01.03.12
Сигналы упреавления шиной.
Эти сигналы предназаначены для управления, в коком направлении идет передача даннызх: в МП или из него, и скаким устройством идет обмен данными: ЗУ или УУ. Все эти сигналы тристабильные. Cпомощью этого синанала производится считывание данных. (#RD) #WR- записсь данных роцессора. М/#IO- память. Этот сигнал показывает к какому устройству обращается МП. ЕслиM/#IO=1 , обращение производится к ЗУ, если 0 - то к ВУ. Эти 3 сигнала используются при работе МП в минимальном режиме. Для формирования 4-раздельных сигналов обращение к памяти или ВУ.
Управляющие сигналы необходимы для использования в системе изолированного ввода-вывода. Если в МПС используется только ввод-вывод, отображаемы й на память, тогда для обращения к портам ВВ достаточно сигналов #RD, #WR.
Синалы для управления запросом (захват шины). HOLD- запрос (захват шины) - это входной сигнал, поступающий от уонтроллера прямого доступа к памяти, если УВВ требует обмена в режиме ПДП. Процессор отвечает ему сигналомHLDA- подверждение запроса (захвата). Этим сигналом МП подвепждает, что он перешел в реъим захвата. Переводит ША и ШД, а также некоторые упроавляющие сигналы в 3 сосотояние. После этого шиной управляет КДПД.
Сингналы управления прерываний NMI- запрос немаскируемого прерывания, разпознается всегда по фронту сигнала, после завершения тякущей команды, независимо от того, разрешены или запрещены прерывания. КомандаINTR- запрос маскируемого прерывания. Микропроцессор реагирует на этот сигнал, если прерывания разрешены. СигналINTRзапрещается с помощью внутреннего триггера прерывания.
Прерывания по INTRзапрещены, еслиIFсброшен в 0. Программный сброс обеспечивается командойCLI. Прерывание разрешаются командойSTI. Замечания: при подаче сигналINTRтриггерIFсбрасывается в 0. #INTA- подверждение прерывания. Показывает, что МП перешел в режим по прерыванию.
02.03
Ready- готов. ПриRDY=0 приоставливается активность процессора на.................... на неопределенное число тактов, появляющихся после такта 3 машинного цикла. СигналRDYпозаволяет организовать интерфейс МП с медленно действующими ЗУ и ВУ, у которых время обращения больше и равно 200 нсек.
#TEST(проверка)CLR(RESET) - ОЧИСТКА, СБРОС. С помошью сигналаClrпроцессор переходит в начальное состояние. При подаче сигналаCLR=1, все выходные шины МП переходят в 3 состояние. По сигналуCLRустанавливаются в 0,DS,SS,ES,IP,IF= 0. зНАЧЕНИЕ ОСТАЛЬНЫХ РЕГИСТРОВ НЕ ПОРЕДЕЛЕНЫ. На шине адреса выставляется физический адрес =CS*2(в 4 степени)+IP=FFFF0+IP. Поэтому 1-ую команду программмы размещают по адресуFFFF0.
CLK- сигнал синхронизации. На этот вход подаются сигналы синхронизации от внешнего генератора.
MN\#MX- макс мин режимы.
Циклом шины называеют обращение к ячейкам памяти или устройствам.
03.03.12
Организация памяти.
Память представляет собой массив, емкостью 1 мб. В памятия хранятся как байты, иак и 16 разрядные слова. Слова располагаются в двух соседних ячейках памяти: старший байт хранится в ячейке со старшим адресом, младший - в ячей с младшим. Адресом слова считается адрес его младшего байта. Начальный адрес зарезервированы для системы прерываний и начальной установки соответственно.
Организация памяти, при которой содержимое одной ячейки памяти называется линейной. В МП 86 используется сегментная организация памТи , при которой программно-доступной является не вся память, а только некоторые сегменты. Внутри сегмента используются линейная адресация. ВВедение сегментной организации объясняется тем, что МП 86 является 16 разрядным, т.е. имеет 16 разрядную внут шину, 16 разрядные регистры и сумматоры, ОДНАКО РАЗРАБОТЧИКИ бис ДЛЯ РАСШИРЕНИЯ АДРЕСНОГО ПРОСТАННСТВА ПРИМЕНИЛИ 20 разрядную шину.
Для формирования 20 разрядного адреса в 16 разрядном процессоре используют информацию 2-х 16-рядных адресов, которых называют логическими.
1-ый логический адрес, дополненный справо 4-мя 0 представляет собой начальный адрес сегмента емеостью 64 кб. 2-ой логический адрес определяет смещение в сегменте, т.е. расстояние от начала сегмента до адресованной ячейки. Т.о. логическое адресное пространство разделено на блоки соседних адресов, емкостью 64 кб, т.е. сегментами.
Такой подход к организации памяти удобен потому, что память обычно логически делится на области кода (программная память), данных и стека.
Физический 20 разрядный адрес ячейки памяти формируется из 2 16-рфзрядных адресов адреса сегмента и исполнительного адреса EA, который суммируется со смещением на 4 разряда. Смещение адреса сегмента нв 4 разряда влево эквивалентно его умножению на 2 в 4 степени. Физический адрес =16ХSeg+EA. В каечстве 1-ого логического адресаSegиспользуется содердимое одно их 4 регистров:CS,DS,ES,SS. Второй логический адресEAзависит от типа сегмента.
В сегменте кодов CSиспользуется содержимое указаьеля команд. В сегменте данных значениеEAзависит от способа адресации операнда. В сегменте стэка для указания исполнительно адреса испольхуются регистрыSPилиBP. Емкость памяти 1 мб, начиная с 0-ого адреса разбиваются на параграфы по 16 байт. Сегмент может находится только на границе параграфа, т.е. Размещение сегментов в памяти произвольное. Сегменты могут частично или полностью перекрываться или не иметь общих областей. Изменяя значение 1 и 2 логических адресов, можно адресовать любую ячейку из общей памяти емкостью 1 мб.
Начальные адреса сегментов определяется содержимым 16 разрядных сегментных регистров, которые дополнены справо 4 нулевыми битами. смещение в сегменте кодов определяется содержимым регистра IPи т.д. Изменяя содержимое сегментных регистров можно передвигать сигменты всей памяти 1 мб.
06.03
состоит из Рон, сегментныз регистров, указателя команд и регистров флагов.
Регистры общего назначения делятся на регистры данных и регистры указателя. Регистры данных - это 4 16разрядных регистра: AX,BX,CX,DX. лЮБОЙ из этих регистров соостоит из 2-х 8 разрядных регистров, которые можно независимо адресовать символическими именамиAH,BH,CH,DH(СТАРШИЕ)
AL, BL, CL, DL.
Регистры указателей
BP,
SI,(индекс источника),
DI(Индекс назначения),
Эти регистры являются 16разрядными и предназначены как правило для хранения адресов операндов при косвенной адресации.
Все РОН можно использовать для хранения данных, но в некоторых команд допускается использование определенного регистра по умолчанию. Регистр АХ про умножении........
AL- при умножении делении ВВ байта 10ичной коррекции и др.AH- при умножении и делении байта.BX- при трансляции,CX- ка счетчик циклов.SP- при операции со стэком.SI,DI- при строковых операциях. В регистреSPхранится смещение последней занятой ячейки стэка относительно начала сегмента стэка, а полный адрес стэка определяется и записывается след образом.SS:SP. Сегментные регистрыDS,CS,ESОПРЕДЕЛЯЮТ НАЧАЛЬНЫЕ АДРЕСА 4 СЕГМЕНТОВ ПАМЯТИ. Использование сегментных регистров определяется типом обращения к памяти (выборка команд, стэковая операция).
Для некоторых типов обращений допускается замена сегмента по умолчанию на альтернативный.
Регистр флагов хранит признаки результатов хранения арифметических и логических операций и кправляющие признаки. Послдение можно установить или сбросить программно.
CF- флаг переноса старших разоядов
PF- флаг политета, устанавливается при четном числе единиц в результате.
AF- флаг дополнительного переноса (заёма) в тетради для 10ичной арифметики.
ZF- флаг нулевого результат.
SF- флаг знака. Указывает на единичное значение старшего бита результата - признак отрицательного числа.
TF- флаг трассировки. (пошагового режима). При его установки после выполнения каждой команды вызывается внутреннее прерывание 1INT1.
IF- флаг урпавления прерыванием. При единичном его значении разрешается выполнение маскируемых аппаратных прерываний.
DF- флаг управления направлением в строковых операциях. Автомотичсеки декриментируется на установленное кол-во байт операнда - при1, при 0 - инкрементируется.
OF- флаг переполнения. устанавливается если результат арифметической операции не помещается в операнде назначения.
Особую роль играет 16разрядные регистры, указатели сегментов CS,DS,ESSS. Они могут модефицированться непосредственно командами их загрузки.
Адресация портов ВВ.
Пространство адресов портов ВВ несегментировано, занимает 64 кб и адресуется 16 младшими разрядами 20разрядной шины адреса. Порты могут быть как 8, так и 16 разрядные. Любые 2 смежных 8рядных порта можно рассматривать как 16рачжный порт анологично слову в памяти. При этом для обмена с 8разрядными портами используются регистр AL, в 16раядные - регистрAX.
Типы адресации операнда.
В МП I86 используются след типы адресации:
прямая
регистровая
непосредственная
косвенная
Однако косвенная адресация имеет след разновидности: базовая, индексная, базово-индексная. Процессор 86 может обрабатывать до 256 прерываний. Каждому прерыванию соответствует вектор - двойное слово, которое содержит адрес вызываемой подпрограммы. Подвекторе прерываний, в общем простанстве адресов памяти отводится 1 кб, начиная с 0-ого адреса.
При переходе к подпрограмме обработки прерываний INln, процессор перемещает в стэк содержимое регистровIP,CS, регистров флагов, сбрасывает флаг разрешения прерывания, вычисляет 4xn, первой слово по этому адресу перемещает вIP, а второе вCS. Последовательность этих действий эквивалентно командамPUSH,CALLFARproc. 4n.
Прерывания
..............поступают в систему прерываний или на линию немаскируемого прерывания. Система прерываний формирует сигнал Inetrмаскируемого прерывания МП. Маскируемое прерывание отличается от немаскируемого тем, что 1-ое может быть запрещено программно - командой сбросов, флагов. В этом случае при поступлении запросов прерывания они будут игнорироваться.
внутреннее прерывание процессора разделяют на программные и аппаратные. Источниками внутренних программных прерываний являются: ошибка деления (тип 0), пошаговый режим (тип 1), команда INTO(тип 4).
Внутреннее программное прерывание pin3 выполняются по команде прерывания и разрешают вызывать подпрограммы прерываний (сервисные попрограммы сервис иDOS) без применения дальних вызовов подпрограмм. Выполнение программных прерываний независит от флагаIF.
Внутренее аппаратное прерывание процессора возникает в следующих случаях.
При делении на 0
при установленном флаге трассировки тип1. В этом случае прерывание происходит после выполнения каждой команды.
После команды INTO(тип 4), если установлен флаг переполнения.
Аппортаные прерывания возникают при активном уровне сигналов на выводах NMI(немаскируемое прерывание ТИП2) иINTER(маскируемые типы 5-255). Маскируемые прерывания выполняются при установленном флагеIF. Обработка тякущего прерывания может быть прервана намескируемым прерыванием или другим маскируемым прерыванием высшего проиоритета в том случае, если подпрограмма - обработчик установит флаг разрешения прерыванияIF. Немаскируемое прерывание выполняется независимо от состояния флагаIF.
13.02.12
Система команд МП Ibtel8086.
Система команд Intelсодержит 91 мнекод. Все команды можно разделить на 5 групп.
Команды передачи информации (перессылка, работа со стеком, команды ВВ)
Команды обработки информации (арифметические, логические, Команды сдвига)
Строковые команды.
Команды передачи управления, включая команды прерываний.
Команды управления состояния МП.