Главная страница
Навигация по странице:

  • 6.2.

  • Сигнал Поступление сигнала Приём сигнала Действие Примечание

  • 6.3.

  • 7. Технические характеристики 7.1.

  • 7.2.

  • Времена задержек

  • Дополнительные данные о времени.

  • Pppdddff


    Скачать 1.31 Mb.
    НазваниеPppdddff
    Дата05.09.2022
    Размер1.31 Mb.
    Формат файлаpdf
    Имя файлаZ80-Central-Processor-Unit.pdf
    ТипДокументы
    #663609
    страница6 из 7
    1   2   3   4   5   6   7
    Операция
    IFF1
    IFF2
    Примечание
    Сброс ЦП сигналом /RESET
    0 0
    Запрещение INT при пуске системы
    Команда EI
    1 1
    Разрешение INT (задерживается на одну команду)
    Команда DI
    0 0
    Запрещение INT
    Прием INT
    0 0
    Прием INT и обработка прерывания
    Команда RETI


    Выход из ISR
    Прием NMI
    0

    Прием NMI и обработка прерывания
    Команда RETN
    IFF1←IFF2

    Выход из NMI-SR
    Команда LD A,I


    P/V ← IFF2
    Команда LD A,R


    P/V ← IFF2
    ■ состояние триггера не изменяется

    6.2.
    Приём запросов в ЦП
    Реакция микропроцессора на поступивший запрос прерывания зависит от точного времени поступления этого запроса, а также запросов с более высокими приоритетами.
    Кроме двух входов прерывания у микропроцессора Z80 есть ещё вход запроса шины для
    ПДП (/BUSRQ), который имеет более высокий приоритет и, следовательно, тоже влияет на разрешение/запрещение прерывания.
    На рис.6.1 в упрощенном виде показаны основные аппаратные средства микропроцессора, предназначенные для приёма запросов /BUSRQ, /NMI, /INT. Каждая линия запроса снабжена соответствующим триггером приёма (Рlip-Flop): BUSRQ-FF, NMI-FF, INT-FF, в которые по нарастающему фронту последнего такта (TL) машинного цикла вводится информация о запросах.
    Установка какого-либо из этих триггеров означает приём соответствующего запроса в ЦП. Далее принятые запросы обрабатываются устройством управления, где в соответствии с указанными приоритетами подтверждается в первую очередь тот или иной запрос, и вырабатываются соответствующие внутренние и внешние сигналы управления.
    Рис. 6.1. Прием запросов /BUSRQ, /NMI, /INT
    Линии приема запросов имеют существенные различия.
    Триггером BUSRQ-FF анализируется уровень сигнала /BUSRQ по нарастающему фронту последнего такта (TL) каждого машинного цикла
    3
    Активный уровень сигнала /NMI сразу фиксируется входным триггером независимо от времени его поступления. Его Состояние (а не уровень /NMI) анализируется триггером NMI-FF по нарастающему фронту TL последнего цикла команды.
    Уровень сигнала /INT до приёма в INT-FF анализируется схемой логики маскирования, где он может быть блокирован поступающими сюда же сигналами:
    ü от триггера разрешения/запрещения IFF1,
    ü от входного триггера NMI,
    ü от устройства управления, который сигнализирует об обработке запросов с высшими
    3
    Временные диаграммы процессов при запросе шины изображены на рисунке 4.8.
    Описание режима ПДП для полной конфигурации системы содержится в книге 6 "Контроллер
    ПДП Z80DMA" и книге 7 "Z80/Построение систем. Программирование. Отладка".
    приоритетами. Уровень результирующего сигнала анализируется триггером INT-FF по нарастающему фронту TL последнего цикла команды.
    Приоритет /BUSRQ по отношению к /NMI и /INT состоит в следующем. При одновременном поступлении запроса шины и одного из запросов прерывания подтверждается запрос /BUSRQ, и шина предоставляется для ПДП. Запрос шины может прервать обработку NMI-
    SR или ISR на любой цикле. Во время ПДП прерывания от входов /NMI и /INT не обслуживаются.
    Приоритет /NMI по отношению к /INT состоит в том, что если оба запроса поступили до нараставшего фронта такта TL последнего цикла команды, то /INT не воспринимается внутренним триггером INT-F/F и, следовательно, игнорируется до конца NMI-SR. Если же в течение одной команды запрос INT поступил до нарастающего фронта TL, а NMI - после, то выполняется первая команда программы обработки INT, и только потом - переход к программе обработки NMI.
    При подтверждении одного из запросов прерывания (NMI либо INT) процессор вырабатывает соответствующий цикл подтверждения (см. в конце таблице 5.3).
    Все реакция ЦП на сигналы управления /BUSRQ, /NMI и /INT с учётом граничных условий представлены в таблице 6.2, а также в виде алгоритма на рисунке 6.2.
    Таблица 6.2. Реакция ЦП на запросы /BUSRQ, /NMI, /INT
    Сигнал
    Поступление
    сигнала
    Приём сигнала
    Действие
    Примечание
    /BUSRQ До нарастающего фронта такта TL
    При нарастающем фронте такта TL любого машинного цикла
    Подтверждение
    (/BUSAK) в следующем машинном цикле
    /BUSRQ имеет более высокий приоритет, чем /NMI и /INT
    /NMI
    Внутри цикла до нарастающего фронта такта TL
    Сразу фиксируется во входном триггере
    NMI (мин. ширина импульса
    80 мс)
    Непосредственно после обработки этой команды – переход к программе обработки
    NMI (так же непосредственно после EI)
    Для повторного выполнения программы обработки
    NMI сигнала /NMI должен быть выключен на короткое время
    -/-
    Внутри цикла после нарастающего фронта TL
    --//--
    После обработки этой команды выполняется следующая, потом переход к программе обработки NMI
    --//--
    /INT
    До нарастающего фронта такта TL
    Только при нарастающем фронте последнего такта команды (TL)
    После обработки команды, если прерывания были разрешены, переход к
    ISR. Если прерывания запрещены - /INT игнорируется
    При выполнении команды EI /INT не прерывается, независимо от состояния IFF1 и IFF2.
    Он может быть принят при выполнении следующей за EI команды (если будет активен до нарастающего фронта
    TL этой команды)
    -/-
    После нарастающего фронта такта TL
    --//--
    Блокируется независимо от состояния IFF1 и IFF2
    Может быть принят при выполнении следующей команды, если будет активен до нарастающего фронта её последнего такта TL

    Рис. 6.2. Алгоритм обработки запросов /BUSRQ, /NMI, /INT
    6.3.
    Обработка прерываний
    6.3.1.
    Обработка немаскируемого
    прерывания
    Если принят запрос NMI, то по завершении текущей команды состояние счётчика команд
    PC автоматически сохраняется в стеке, и в PC заносится адрес 0066H. Т.о. происходит перезапуск процессора с адреса 66H. С этого места в памяти должна начинаться подпрограмма обработки
    NMI; завершаться она должна командой возврата RETN. Алгоритм обработки NMI изображен на рисунке 6.3, временные диаграммы вызова подпрограммы и возврата из неё - на рисунке 6.4 и рисунке 6.5 соответственно.

    Рис. 6.3. Алгоритм обработки немаскируемого прерывания
    Рис. 6.4. Вызов программы обработки немаскируемого прерывания

    Рис. 6.5. Возврат из подпрограммы обработки немаскируемого прерывания
    6.3.2.
    Маскируемое прерывание. Режим 0
    Этот режим аналогичен реализованному в МП Intel 8080. Для него необходима внешняя вспомогательная логика, которая в случае прерывания подает команду на шину данных ЦП.
    Передача этой команды происходит в цикле подтверждения INTA, когда одновременно активизируются сигналы /M1 и /IORQ (см. рисунки 4.9 и 6.6).
    Рис. 6.6. Подача запроса на прерывание и формирование сигнала подтверждения прерывания
    Т.о. происходит чтение кода операции, но не из памяти, а из прерывающего устройства.
    Это может быть любая команду, однако, наиболее эффективно в этом случае использование одной из восьми команд повторного запуска RST p, где p - адрес рестарта. Для использования этих команд на ШД должны быть поданы следующие комбинации битов:
    Команда
    D7
    D0
    RST 00H
    11 000 111
    RST 08H
    11 001 111
    RST 10H
    11 010 111
    RST 18H
    11 011 111
    RST 20H
    11 100 111
    RST 28H
    11 101 111
    RST 30H
    11 110 111
    RST 38H
    11 111 111
    Алгоритм обработки изображен на рис.6.7. Если в подпрограмме присутствует команда EI, то после выполнения следующей за ней команды происходит установка IFF1, IFF2. Эти блоки отмечены пунктиром.

    Как и для МП I8080, в этом режиме возможно использование контроллера прерываний 8259
    (580ВН59). Этот вариант подробно рассмотрен в книге 7.
    Режим 0 автоматически устанавливается при выполнении общего сброса, а также соответствующей командой IM0 (Interrupt Mode 0).
    Рис. 6.7. Алгоритм обработки маскируемого прерывания. Режим 0.

    Рис. 6.6. Вызов программы обработки маскируемого прерывания ISR в режиме 0 (IM 0)
    6.3.3.
    Маскируемое прерывание. Режим 1
    Режим прерываний 1 устанавливается командой IM 1. Он применяется в системах с минимальной конфигурацией, где нежелательно наращивание аппаратной части введением вспомогательной логики. Обработка сходка с NMI, за исключением того, что вместо адреса 0066H происходит рестарт к адресу 0038H и цикл подтверждения продлевается на два такта ожидания.
    Возврат - по команде RET.

    Рис. 6.9. Алгоритм обработки маскируемого прерывания. Режим 1
    Рис. 6.10. Вызов программы обработки маскируемого прерывания ISR в режиме 1 (IM 1)

    6.3.4.
    Маскируемое прерывание. Режим 2
    Режим прерываний 2 устанавливается командой IM 2. Это самый производительный режим прерываний микропроцессора Z80. Он применяется в сложных системах с развитой сетью периферийных элементов. При этом в памяти программируется таблица стартовых адресов каждой ISR (см. рис. 6.11). Таблица может быть размещена в любой области памяти с соблюдением лишь правила записи стартовых адресов: младший байт заносится в ячейку с чётным адресом (A0=0),старший байт в следующую (по возрастанию) ячейку.
    В случае приёма прерывания ЦП формирует 16-разрядный указатель IP (Interrupt Pointer) для выборки стартового адреса нужной программы ISR из таблицы. Для этого прерывавшим устройством в виде 8 разрядного вектора поставляется младший байт, а старики извлекается из регистра I микропроцессора. Сформированный таким образом IP указывает на ячейку памяти (в таблице), где хранится стартовый адрес ISR. Считав этот адрес из двух смежных ячеек, процессор переходит к обработке программы ISR. Возврат из неё должен происходить по команде RETI. В целом алгоритм обработки изображен на рис 6.12.
    В микропроцессорном комплекте Z80 предусмотрено, что периферийные БИС могут выдавать в качестве вектора прерывания только чётные байты (D0=0) - для однозначности адресации ячеек таблицы. Значит, даже при неизменном состоянии регистра I центрального процессора возможно обслуживание 128-ми устройств в режиме прерываний 2, что во многом превышает потребности микропроцессорной системы среднего класса.
    Для перехода к ISR в режиме 2 требуется 19 тактовых периодов (см. временные диаграммы на рис. 6.13): 7 периодов для ввода 8 разрядного вектора от прерывающего устройства, следующие
    6 - для сохранения в стеке текучего состояния PC (адреса возврата), и ещё 6 - для считывания стартового адреса ISR.
    Подробное описание прерываний в системе с полной конфигурацией, особенно, в отношении периферийных элементов комплекта Z80, а также организации приоритетного обслуживания см. в книге 7 "Z80/Построение систем. Программирование. Отладка".

    Рис. 6.11. Переход к ISR в режиме прерывания 2:
    1а - приём вектора прерывания устройства в ЦП,
    1б - адрес возврата сохраняется в стеке,
    2 - сформированный 16-разрядный IP указывает на начальный адрес ISR,
    3 - начальный адрес ISR загружается в PC,
    4 - считывается 1-я команда программы ISR.

    Рис. 6.12. Алгоритм обработки маскируемого прерывания. Режим 2.

    Рис. 6.13. Вызов программы обработки маскируемого прерывания ISR в режиме 2 (IM 2)

    7. Технические характеристики
    7.1.
    Схемы входных и выходных
    каскадов
    На приведенных ниже схемах приняты следующие обозначения:
    I (INPUT)
    - внешний вход;
    O (OUTPUT)
    - внешний выход; i (input)
    - внутренний вход; o (output)
    - внутренний выход;
    I/О (INPUT/OUTPUT) - внешний вход/выход;
    HOLD
    - внутренний сигнал перевода в третье состояние
    Рис. 7.1. Схема входов /WAIT, /INT, /NMI, /RESET, /BUSRQ и C.
    Рис. 7.2. Схема выходов /M1, /RFSH, /HALT и /BUSAK.
    Рис. 7.3. Схема тристабильных выходов A0-A15, /MREQ, /IORQ, /RD и /WR.

    Рис. 7.4. Схема тристабильных входов/выходов D0-D7
    7.2.
    Электрические и временные
    параметры.
    7.2.1.
    Статические характеристики.
    Все напряжения даны относительно U
    SS
    =0 В.
    Параметр
    Обозначение
    Единица измерения
    Минимальное значение
    Максимальное значение
    Пояснения
    Рабочее напряжение
    U
    CC
    В
    4,75 5,25 при
    V
    m
    =0÷70ºC
    Входное напряжение
    U
    IL
    U
    IH
    В
    В
    -0,3 2
    0,6
    U
    CC
    при
    V
    m
    =0÷70ºC
    Входное напряжение тактового сигнала
    U
    ILC
    U
    IHC
    В
    В
    -0,3
    U
    CC
    -0,6 0,45
    U
    CC
    +0,3 при
    V
    m
    =0÷70ºC
    Выходное напряжение
    U
    OL
    U
    OH
    В
    В
    -
    2,4 0,4
    - при
    I
    OL
    =1,8мA
    V
    m
    =0÷70ºC при
    I
    OH
    =-0,25мA
    V
    m
    =0÷70ºC
    Потребление тока
    I
    CC
    мА
    -
    150/200* при
    U
    CC
    =5B±5% и V
    m
    =0÷70ºC
    Входной ток утечки
    I
    LI
    мкА
    -
    10 при
    U
    I
    =0+U
    CC
    Ток утечки трёхстабильного выхода в высокоомном состоянии
    I
    LO
    мкА
    -
    10 при
    U
    O
    =0+U
    CC
    Ток утечки шины данных при вводе
    I
    LD
    мкА
    -
    10
    U
    I
    =0+U
    CC
    Входная
    ёмкость тактовой линии
    C
    C
    пФ
    -
    35 при
    V
    m
    =25ºC
    Входная
    ёмкость
    C
    I
    пФ
    -
    5 и f=1МГц

    Параметр
    Обозначение
    Единица измерения
    Минимальное значение
    Максимальное значение
    Пояснения
    Выходная
    ёмкость
    C
    O
    пФ
    -
    10
    * в числителе - для Z80, в знаменателе - для Z80A.
    7.2.2.
    Динамические характеристики
    Z80
    При U
    CC
    =5B±5%, C
    L
    =50 пФ и V
    m
    =0÷70ºC.
    Параметр
    Обозначение Минимальное значение нс
    Максимально е значение нс
    Период тактовых импульсов t
    C
    400
    *)
    Длительность низкого уровня тактового сигнала t
    W(CL)
    180 2000
    Длительность высокого уровня тактового сигнала t
    W(CH)
    180
    **)
    Длительность переднего/заднего фронта тактового сигнала t
    r
    , t f
    -
    30
    Установка сигнала /WAIT до H-L перехода такта t
    а(WT)
    70
    -
    Установка сигнала /RESET до L-H перехода такта t
    а(RS)
    90
    -
    Установка сигнала /INT до L-H перехода такта t
    а(IT)
    60
    -
    Установка сигнала /BUSRQ до L-H перехода такта t
    а(BQ)
    80
    -
    Установка данных до L-H перехода такта в цикле
    M1 t
    а(D)
    50
    -
    Установка данных до H-L перехода такта в циклах
    M2-M5 t
    ac(D)
    60
    -
    Задержка сигналов на шинах t
    H
    0
    -
    Ширина импульса низкого уровня сигнала /NMI t
    W(NMI)
    80
    -
    *) t
    C
    =t
    W(CL)
    +t
    W(CH)
    +t r
    +t f
    **) Не имеет фиксированного значения, т.е. при высоком уровне тактового сигнала МП Z80 может находиться в устойчивом состоянии сколь угодно долго.
    Времена задержек
    При U
    CC
    =5B±5%, C
    L
    =50 пФ и V
    m
    =0÷70ºC.
    Задержка
    Обозначение
    Максимальное значение, нс от H-L перехода такта до /M1=L t
    DL(M1)
    130 от H-L перехода такта до /M1=H t
    DH(M1)
    130 от H-L перехода такта до /MREQ=H t
    DHC(MR)
    100 от L-H перехода такта до /MREQ=H t
    DHC(MR)
    100 от H-L перехода такта до /MREQ=L t
    DHC(MR)
    100 от L-H перехода такта до /IORQ=L t
    DLC(IR)
    90 от H-L перехода такта до /IORQ=L t
    DLC(IR)
    110 от L-Н перехода такта до /IORQ=H t
    DHC(IR)
    100 от H-L перехода такта до /IORQ=H t
    DHC(IR)
    110 от L-H перехода такта до /RD=L t
    DLC(RD)
    100 от H-L перехода такта до /RD=L t
    DLC(RD)
    130 от L-H перехода такта до /RD=H t
    DHC(RD)
    100 от H-L перехода такта до /RD=H t
    DHC(RD)
    110 от L-H перехода такта до /WR=L t
    DLC(WR)
    80 от H-L перехода такта до /WR=L t
    DLC(WR)
    90 от L-H перехода такта до /WR=H t
    DHC(WR)
    100

    Задержка
    Обозначение
    Максимальное значение, нс от L-H перехода такта до /RFSH=H t
    DH(RF)
    150 от L-H перехода такта до /RFSH=L t
    DL(RF)
    180 от H-L перехода такта до /HALT=L t
    D(HT)
    300 от L-H перехода тахта до /BUSAK=L t
    DL(BA)
    120 от H-L перехода такта до /BUSAK=H t
    DH(BA)
    110 вывода адреса t
    D(AD)
    145 адреса до перехода к третьему состоянию t
    F(AD)
    110 вывода данных t
    D(D)
    230 данных до перехода к третьему состоянию в цикле записи t
    F(D)
    90 сигналов /MREQ, /IORQ, /RD, /WR до перехода к третьему состоянию t
    F(C)
    100
    Время задержки увеличивается на 10 нс при возрастании ёмкости нагрузки на каждые 50 пФ до максимально 200 пФ для шины данных и 100 пФ для шин адреса и управления.
    Дополнительные данные о времени.
    Вывод адреса до активизации /MREQ в циклах обращения к памяти: t
    acm
    = t w(CH)
    + t
    F
    – 75 нс
    Вывод адреса до активизации /IORQ, /RD или /WR в циклах ввода/вывода: t
    ac1
    = t
    C
    – 80 нс
    Задержка адреса после снятия /RD или WR: t
    ca
    = t w(CL)
    + t r
    – 40 нс
    Задержка адреса после снятия /RD или /WR при переходе в третье состояние: t
    caf
    = t w(CL)
    + t r
    – 60 нс
    Вывод данных до активизации /WR в циклах обращения к памяти: t
    dcm
    = t
    C
    – 210нС
    Вывод данных до активизации /WR в циклах ввода-вывода: t
    ac1
    = t w(CL)
    + t r
    – 210 нс
    Задержка данных после снятия /WR: t
    cdf
    = t w(CL)
    + t r
    – 60 нс
    Ширина импульса низкого уровня /MREQ: t
    w(MRL)
    = t
    C
    – 40 нс
    Ширина импульса высокого уровня /MREQ: t
    w(MRH)
    = t w(CH)
    + t
    F
    – 30 нс
    Ширина импульса низкого уровня /WR: t
    w(WRL)
    = t
    C
    – 40 нс
    Вывод /M1 до активизации /IORQ в цикле подтверждения прерывания: t
    M1
    = 2t
    C
    + t w(CH)
    +t
    F
    – 80 нс
    7.2.3.
    Динамические характеристики
    Z80A
    При U
    CC
    =5B±5%, C
    L
    =50пФ и V
    m
    =0÷70ºC.
    Параметр
    Обозначение Минимальное значение нс
    Максимальное значение нс
    Период тактовых импульсов t
    C
    250
    *)
    Длительность низкого уровня тактового сигнала t
    W(CL)
    110 2000
    Длительность высокого уровня тактового сигнала t
    W(CH)
    110
    **)
    Длительность переднего/заднего фронта тактового сигнала t
    r
    , t f
    -
    30

    Параметр
    Обозначение Минимальное значение нс
    Максимальное значение нс
    Установка сигнала /WAIT до H-L перехода такта t
    а(WT)
    70
    -
    Установка сигнала /RESET до L-H перехода такта t
    а(RS)
    60
    -
    Установка сигнала /INT до L-H перехода такта t
    а(IT)
    80
    -
    Установка сигнала /BUSRQ до L-H перехода такта t
    а(BQ)
    50
    -
    Установка данных до L-H перехода такта в цикле
    M1 t
    аc(D)
    35
    -
    Установка данных до H-L перехода такта в циклах
    M2-M5 t
    ac(D)
    50
    -
    Задержка сигналов на шинах t
    H
    0
    -
    Ширина импульса низкого уровня сигнала /NMI t
    W(NMI)
    80
    -
    *) t
    C
    =t
    W(CL)
    +t
    W(CH)
    +t r
    +t f
    **) Не имеет фиксированного значения, т.е. при высоком уровне тактового сигнала МП Z80A может находиться в устойчивом состоянии сколь угодно долго.
    1   2   3   4   5   6   7


    написать администратору сайта