Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[26]

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

При длинной адресации используется 16-разрядный адрес ячейки памяти или регистра, а фактически 24-разрядный адрес, вычисляется специальным способом.

Выделяют два типа длинной адресации:

Пример: длинной адресации с использованием EXTS:

EXTS #10H, 1 ; устанавливает текущий сегмент с номером 10Н, на следующую команду

MOV R1, 4225H

Замечание: в случае сегментной адресации ФА (24-разряд.) вычисляется просто, он равен:

Seg(16-разрядный адрес), т.е. перед 16-разрядным адресом достаточно дописать номер сегмента, в рассмотренном примере: ФА=104225Н (24-разрядный)

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

6.7. Общая структура процессорного модуля С167 (CPU C167)

Ядро процессорного модуля включает: -16-разрядное АЛУ;

-аппаратный модуль умножения/деления (MUL/DIV) со своими регистрами: MDC, MDH, MDL;

-аппаратный сдвигатель -для ускоренной реализации операции сдвига;

-битовый процессор для скоростной обработки бит;

-четырех этапный конвейер команд, позволяющий одновременно осуществлять выборку до четырех команд из памяти и обработку АЛУ.

Процессорный модуль также включает банк РОН R0,., R15, однако аппаратно банк располагается во внутреннем ОЗУ в виде плавающего регистрового банка.

Поясним назначение основных управляющих регистров CPU:

-SP, STKOV, STKUN -регистры управления стеком;

-CSP (SFR:04H)-(Code Segment Pointer) указатель текущего сегмента выполняемой программы;

-IP (SFR:.. .(недоступен, только косвенно))-(Instruction Pointer) указатель текущей выполняемой команды в сегменте CSP; в IP всегда содержится адрес(смещения) текущей выполняемой команды (0-65535). Замечание: полный физический 24-разрядный адрес текущей выполняемой команды всегда равен:

CSP : IP


-CP (SFR:08H)-(Context Рот1ег)-контекстный регистр, определяющий начало плавающего регистрового банка во внутреннем ОЗУ (адрес регистра R0 в ОЗУ) 0F600H < CP < 0FDEOH.

Для изменения содержимого СР используется специальная команда: SCXT CP, #0F700H.

-MDH, MDL (SFR: 05, 06H)-старший и младший байт 32-разрядного регистра данных аппаратного умножителя/делителя. Пример: MULU R1, R2 ; R1-R2(MDH, MDL) DIV R1 ; (MDH, MDL)/R1MDL

-MDC (SFR: 87H)- регистр состояния аппаратного умножителя/ делителя, в регистре используется только один четвертый бит MDRIU. Если значение этого бита равна, то следовательно полученный результат умножения (деления) был считан или модифицирован программой;

Основными регистрами управления CPU являются: PSW и SYSCON.

PSW (SFR: 88H)-(Program Status Word) слово состояния или регистр признаков полученного результата ОМК. Его формат:

15

6 5

4

3

2

1

0

DMAEN

IEN

USR0 MDRIP

E

а

M

C

N

PSW содержит следующие биты - признаки результата:

-N -отрицательного результата;

-С -признак переноса;

-V -признак переполнения;

-Z -признак нулевого результата;

-Е -признак минимального отрицательного числа (80Н-для байтов, 8000Н-для слов);

-MDRIP -бит, показывающий, что результат умножителе/делителе получен не был из-за сбоя его работы в результате запуска новой команды умножения/деления. В этой ситуации генерируется прерывание ошибки умножителя/делителя;

-USR0 -бит пользователя, модифицируется по усмотрению пользователя;

-IEN -бит разрешения прерываний ОМК (IEN-запрещены все маскируемые прерывания);

-DMAEN -бит разрешения режима прямого доступа к памяти (ПДП-DMA)

-ILVL -поле бит, определяющее уровень приоритета обрабатываемой в данный момент п/п или программы (ОМК имеет 16 уровней приоритета прерываний).

SYSCON (SFR: 89H)-(System Configuration) -регистр задания конфигурации и режима работы основных модулей ОМК. Формат регистра:

15 130

STKSZ I ROMS1 I SGMDIS I ROMEN I BYTDIS I CLROUT I WRCNF

X2 X1 X0

упрввление режимом Х - шина


-STKSZ - поле бит, определяющее размер стека ОМК реализованного во внутреннем ОЗУ.

256

128

64

32

512

1024

размер стека в байтах

000

001

010

011

100

101

110

111

STKSZ

Ч---. .-

стек располагается с0FDE0H

адреса 0FAE0

-ROMS1 -бит, переключающий внутреннее ПЗУ из нулевого сегмента в первый, это делается, чтобы с начала нулевого адреса расположить внешнее ПЗУ при отладке. Если ROMS1=1, то начальный адрес внутреннего ПЗУ меняется: 00000H10000H.

-SGMDIS -бит, определяет формат адреса возврата, который будет сохраняться в стеке при вызове п/п (в том числе п/п прерываний)

Если SGMDIS=0 в стеке сохраняется полный 24-разрядный адресCSP:IP

Если SGMDIS=1 в стеке сохраняется только IP;

-ROMEN -разрешение работы с внешним ПЗУ. При сбросе контроллера бит ROMEN дублирует состояние вывода ЕА контроллера;

-BYTDIS -запрещение передачи по 16-разрядной ШД D15.D0 отдельных байт. Если BYTDIS=0, то на разряд Р3.12 ОМК выдается сигнал ВНЕ (разрешение передачи по ШД старшего байта).

6.8. Особенности системы прерываний ОМК

SAB80C167

Архитектура С167 поддерживает несколько механизмов обработки прерываний:

-нормальная обработка прерываний.

-обработка прерывания с использованием периферийного контроллера событий (PEC-Pereferial Events Controller).

-прерывания-ловушки (trap), генерируется в ответ на ошибку возникшую при выполнении программы или по линии NMI

-ускоренная обработка внешних прерываний: С каждым источником прерывания связаны: -регистр управления прерывания (xxIC) -вектор прерывания (IV)

Регистр управления прерыванием (IC) содержит: -биты определения уровня приоритета (0.15) ILVL -бит запроса прерывания (xxIR) -бит разрешения/запрещения прерывания (xxIE)

В ОМК реализуется векторная система прерываний.

С каждым вектором прерывания (IV) связана область в нулевом сегменте памяти, состоящие из четырех байт: Адрес области = 4TV

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



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28]