Вопросы по Контроллеру прерываний 8259A

Тема в разделе "WASM.ELECTRONICS", создана пользователем creater, 1 май 2007.

  1. creater

    creater New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    16
    Во тут решил изучить работу программируемого контроллера прерываний 8259A, и в ходе изучения возникли несколько вопросов, если кто знает может поделиться своими соображениями:

    1.Во время режима специальной маски прерывания обрабатываются по мере поступления без учета приоритетов?

    2.В режиме специальлной маски во время обработки прерывания контроллер устанавливает биты в IRR? Если да, то допустим во время обработки прерывания 1 поступили запросы на обработку 2 и 3 прерывания. После выхода из обработчика int 1 как контроллер определяет в какой последовательности поступали прерывания и какое надо обрабатывать, если учесть, что в режиме спец. маски не учетываются приоритеты?

    3.Установка в OCW3 битов ESMM=1 SMM=0, приведет к сбросу регистра IRR, то есть сброс всех запросов?

    4.В режиме специальной маски маскировка тоже учитывается заданая в регистре OCW1?

    5.Как я понял приоритеты нельзя задавать в произвольной последовательности, то есть, если int 0 - выший приоритет, а int 7- низший. Нельзя сделать чтобы int 7 - выший, а int 0 -низший. Если я ошибаюсь, то хотелось бы знать, как произвольно задавать приоритеты.

    6.Если контроллеры соединены каскадно,каждый может работать в любом режиме или все должны работать в одном режиме?

    7.Можно ли программно определить в с какими настройками был проинициализирован контроллер?

    8.Чем программирование PIC отличается от APIC?

    9.как будет реагировать процессор если одновременно поступит аппаратное и программное прерывание?

    10.Если послать OCW2 с (R=1,SL=0,EOI=0), то контроллер будет сдвигать приоритеты на одну позицию влево сам после каждого поступившего прерывания, или надо каждый раз посылать OCW2 после каждого прерывания программно?
     
  2. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    нет
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Да.
    ROTATE IN AUTOMATIC EOI MODE (SET)
    Автаматически.
     
  4. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Чем программирование PIC отличается от APIC?
    - нет фиксированных адресов перывания, т.е. на любой вектор.
    - всегда используется в 2 и более ядерных и в HT.
    - содержит по меньшей мере 2 контроллера (один в CPU другой в чипсете) программировать нужно и тот и тот.
    - Приоритеты можно назначить на каждый вектор, но в пределах 10h векторов существует приоритет т.е. прерывание 15h свегда выше приоритет, чем у 25h.
    - рактически все современные машины содержат APIC, но в DOSe можно выставить эмуляцию PIC
    - почитать можно в мнуалах на x86 технологию, на сайте intel
     
  5. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    Добрый вечер..

    Есть вопрос по режиму SM спец.маскирования (СМ).
    Задача включить СМ для ПКП,состоящего из 3х контроллеров. Например 1 ведущий и от него 2 ведомых отходят.

    Пусть
    1.Пусть к Мастеру подсоединено 2 слэйва на irq6,7.
    2.Нужно везде включить режим СМ
    3.предположим я все 3 контроллера проинитил через ICW1-4: 1 слэйв,2 мастера

    Вопросы
    1. когда я иничу каждый из слэйвов - порт использую 0a0-1h ?соотвествующий 20h-21h
    2. Перрывания должны в СМ обрабат. в порядке поступления в том числе и на ведомых.НО - в режиме Простого вложенного режима(ICW4) ведомые контроллеры буду маскироваться,как только они получили прерывание, поэтому СМ будет полноценным только для Мастера.
    В связи с этим вопрос - нужно ли включать Спец.вложенный режим,чтобы корректно работал СМ режим для всех контроллеров.
    3.Когда я включаю СМ, или Спец.вложенный режим, нужно его включать для всех 3х ПКП или достаточно для ведущего?


    Прим.:цитирую доку по Спец.вложеному режиму (СВР), отличие от обычного вложенного:
    "когда обслуживается запрос от некоторого ведомого контроллера, этот контроллер не закрыт от приоритетной логики ведущего контроллера и дальнейшие запросы на прерывание от входов с более высоким приоритетом в пределах ведомого контроллера будут распознаваться ведущим контроллером и
    инициировать запрос прерывания для ЦП "

    Но в СМ режиме ведь вобще мы забиваем на приоритеты - может тогда и не стоит включать СВР..