Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 76 стр.

UptoLike

Составители: 

└──────────────── 0запуск запросов фронтом
1запуск запросов уровнем
Бит 4, равный 1, определяет, что выводится ICW1, а не OCW2 или
OCW3.
Бит 3 (LTIM), равный 0, задает запуск запросов фронтом, при этом
действует описанная выше схема: бит в РЗП сбрасывается при установке
соответствующего бита в РОЗП.
Бит 2 (ADI) используется только в ПЭВМ на базе
микропроцессоров Intel 8080/8085.
Бит 1 (SNGL) указывает на наличие в системе одного контроллера
(если равен 1) или каскада из нескольких контроллеров (если равен 0).
Если этот бит равен 1, то ICW3 не выводится в процессе инициализации и
следом за ICW2 сразу должно следовать ICW4.
Бит 0 (IC4) определяет, будет ли выводиться ICW4. Если ICW4 не
выводится (бит 0 = 0), то оно автоматически заполняется нулями.
В описываемых ПЭВМ наличие ICW4 обязательно, так как тип
микропроцессора 8086/8088 задается в нем значением 1 в одном из битов.
Управляющее слово ICW2 задает номер вектора прерывания для
прерываний уровня 0 (например 8 для IBM PC, у которых по уровню
«0» происходят прерывания от таймера). Так как вектора аппаратных
прерываний располагаются подряд друг за другом, вывод в
ICW2 значения 8 не только задает восьмой вектор для таймера, но и
девятый для прерываний уровня 1, десятый (0Ah) для прерываний уровня
2 и так далее.
Управляющее слово ICW3 выводится только при наличии каскада и
имеет разный формат для ведущего и ведомых контроллеров.
ICW3 ведущего указывает, к каким входам IR0 —IR7 подключены
ведомые контроллеры, при этом соответствующие биты устанавливаются
в 1. Остальные биты при этом равны 0.
Пример – ICW3 следующего вида:
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 1 0 0 1 0
означает, что в каскаде имеется 2 ведомых контроллера, подключенных к
входам IR1 и IR4.
ICW3 ведомого (подчиненного, slave) ПКП в трех младших битах
задает номер уровня, на котором работает ведомый контроллер. Для
ведомого контроллера, работающего на уровне 1 ICW3 будет выглядеть
следующим образом:
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 0 0 0 1
Если ведомый контроллер работает на уровне 4, то его ICW3 будет
таким:
A0 D7 D6 D5 D4 D3 D2 D1 D0
76
                 └──────────────── 0–запуск запросов фронтом
                                   1–запуск запросов уровнем

     Бит 4, равный 1, определяет, что выводится ICW1, а не OCW2 или
OCW3.
            Бит 3 (LTIM), равный 0, задает запуск запросов фронтом, при этом
     действует описанная выше схема: бит в РЗП сбрасывается при установке
     соответствующего бита в РОЗП.
            Бит 2 (ADI) используется только в ПЭВМ на базе
     микропроцессоров Intel 8080/8085.
            Бит 1 (SNGL) указывает на наличие в системе одного контроллера
     (если равен 1) или каскада из нескольких контроллеров (если равен 0).
     Если этот бит равен 1, то ICW3 не выводится в процессе инициализации и
     следом за ICW2 сразу должно следовать ICW4.
            Бит 0 (IC4) определяет, будет ли выводиться ICW4. Если ICW4 не
     выводится (бит 0 = 0), то оно автоматически заполняется нулями.
     В описываемых ПЭВМ наличие ICW4 обязательно, так как тип
     микропроцессора 8086/8088 задается в нем значением 1 в одном из битов.
            Управляющее слово ICW2 задает номер вектора прерывания для
     прерываний уровня 0 (например 8 для IBM PC, у которых по уровню
     «0» происходят прерывания от таймера). Так как вектора аппаратных
     прерываний располагаются подряд друг за другом, вывод в
     ICW2 значения 8 не только задает восьмой вектор для таймера, но и
     девятый для прерываний уровня 1, десятый (0Ah) для прерываний уровня
     2 и так далее.
            Управляющее слово ICW3 выводится только при наличии каскада и
     имеет разный формат для ведущего и ведомых контроллеров.
     ICW3 ведущего указывает, к каким входам IR0 —IR7 подключены
     ведомые контроллеры, при этом соответствующие биты устанавливаются
     в 1. Остальные биты при этом равны 0.
            Пример – ICW3 следующего вида:
                  A0 D7 D6 D5 D4 D3 D2 D1 D0
                    1║ 0     0     0   1   0    0    1   0
означает, что в каскаде имеется 2 ведомых контроллера, подключенных к
входам IR1 и IR4.
            ICW3 ведомого (подчиненного, slave) ПКП в трех младших битах
     задает номер уровня, на котором работает ведомый контроллер. Для
     ведомого контроллера, работающего на уровне 1 ICW3 будет выглядеть
     следующим образом:
                A0    D7 D6 D5 D4 D3 D2 D1 D0
                    1║ 0     0     0   0   0    0    0   1

    Если ведомый контроллер работает на уровне 4, то его ICW3 будет
таким:
       A0    D7 D6 D5 D4 D3 D2 D1 D0
76