Обобщенная структура и алгоритм работы МП системы CPU МП ПЗУ ОЗУ УВВn УВВ1 ГТИ f clk ША ШД ШУ ША
Обобщенный алгоритм работы МП системы
Структурная схема базового микропроцессора i8086
Регистр флагов FLAG - CF (Carry Flag) - Флаг переноса - он устанавливается, если в результате операции формируется перенос или заем из старшего разряда результата. - PF (Parity Flag) - Флаг четности - он устанавливается, если в младшем байте результата сформировано четное количество двоичных единиц. - AF (Auxiliary Flag) – Флаг вспомогательного переноса –устанавливается если при формировании результата произошел перенос из младшего полубайта в старший или заем из старшего полубайта в младший. Он используется в операциях над двоично-десятичными числами. - ZF (Zero Flag) – Флаг нулевого результата – устанавливается, если результат операции равен нулю. - SF (Signum Flag) – Флаг знака – принимает значение старшего разряда результата и в случае операций со знаком, характеризует его знак. - OF (Overflow Flag) – Флаг переполнения – устанавливается, если в результате операции происходит перенос в знаковый бит или заем из знакового бита результата. Является индикатором переполнения – ситуации, когда результат выходит за пределы допустимого диапазона значений для чисел
- TF (Trap Flag) – Флаг трассировки (флаг пошагового режима). При установке TF в «1» процессор переходит в режим пошагового выполнения команд. Используется в программах отладчиков. - IF (Interrupt-enable Flag) – Флаг разрешения прерываний. Если IF = 1, то процессор реагирует на прерывания, поступающие от внешних устройств. Если IF = 0, прерывания от внешних устройств запрещены. - DF – (Direction Flag) – Флаг направления, который определяет порядок обработки цепочек данных (строк). Если DF = 0, обработка начинается в прямом направлении, от меньших адресов к большим. Если DF = 1, то обработка происходит в обратном направлении.
Работа МП с памятью Адресное пространство - число адресов, которое может сформировать МП на шине адреса Физический (полный) адрес PA ячеек памяти представляет собой 20 разрядный двоичный код на шине адреса МП A 19 A 18 A 17 ….A 1 A 0 Число адресов составляет 2 20 =1024х1024= Максимальная емкость памяти составляет 2 20 х 8 = 2 20 байт = 1 Мбайт … 0 0 = 0 = 00000h ………………………………… … 1 1 = 2 20 – 1 = FFFFFh
Работа МП с памятью адрес содержимое FFFFE FFFFF 039F1 FFFFC FFFFD 039F0 039EF D4F 00D50 00D F Принцип сегментации памяти: 1.Память разбивается на сегменты длиной 2 16 = 64кбайт. Сегменты могут начинаться с адресов кратных 16: b – 00h b - 10h b - 20h b - 30h b - 40h
Обратиться к сегменту памяти можно, указав его базовый (сегментный) адрес SEG XXXX0h адрес содержимое FFFFE FFFFF 039F1 FFFFC FFFFD 039F0 039EF D4F 00D50 00D F D5 039F * 2. Обратиться к ячейке внутри сегмента можно указав на сколько адресов она отстоит от начала сегмента (смещение - OFFSET) * *** 3. К любую ячейке можно обратиться указав пару 16 разрядных адресов SEG:OFFSET Это логический адрес ячеек памяти 0000: :0001 0D5:0001
PA = SEG*16 + OFFSET
Программная модель МП системы
Структурная схема базового микропроцессора i8086
NMI INTR CLK RESET READY TEST MN/MX HLDA (RQ/GT1 ) HOLD (RQ/GT0) GND Ucc AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 A16/ST3 A17/ST4 A18/ST5 A19/ST6 BHE/ST7 RD WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) CPU