микросхема 8259

Тема в разделе "WASM.OS.DEVEL", создана пользователем simpleX, 7 сен 2008.

  1. simpleX

    simpleX New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2006
    Сообщения:
    26
    Адрес:
    Россия, г. Курск
    Товарищи низкоуровневые программеры! Нет ли у кого внятной спецификации (или ссылки) на данную микросхему с подробным ее описанием (с программной точки зрения, даташиты не нужны). В сети нашел какую-то, но она больше для электронщиков и совсем не описаны порты микросхемы (8259A PROGRAMMABLE INTERRUPT CONTROLLER (8259A/8259A-2) от Intel вроди бы)
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    simpleX
    Описанны там порты. Просто надо научиться читать спецификацию. Они там в не явном виде - ввиде адресса.
    Вот книжку можешь почитать. Тут с программерской точки описанно.
    http://homepage0.icehard.net/files/hardware_specs/IO-DOC/IO.PRT


    А вообще чего его программировать?
    1. Настройка или другими словами инциализация. Последовательность из 2-4 ICW.
    2. Упровлять режимами обычно ненужно. Так толко замоскировать/демаскировать прерывания и послать команду EOI конца прерывания.
     
  3. simpleX

    simpleX New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2006
    Сообщения:
    26
    Адрес:
    Россия, г. Курск
    благодарю за мануалы
    постараюсь курить спецификацию внимательнее
     
  4. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    simpleX
    Только учти, что сколько-нибудь современные ПК эмулируют 8259 далеко не в полном объёме.
     
  5. simpleX

    simpleX New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2006
    Сообщения:
    26
    Адрес:
    Россия, г. Курск
    Как это эмулируют?
    Разве эта микросхема (явно или в составе системной платы) не присутствует?
     
  6. simpleX

    simpleX New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2006
    Сообщения:
    26
    Адрес:
    Россия, г. Курск
    мне было бы интересно разобраться в первую очередь с приоритетами, как их задавать. Ну и вообще пощупать ткскзать "руками" PIC =)
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    simpleX
    Самой этой микросхемы на материнке ты не найдешь. Но зато есть южный мост ввиде микросхемы. В него входит большое число устройств. В нем присутствуют контроллеры прерываний. А из-за ненадобности части функций 8259 были упрознены. SII хотел сказать что современные реализации контроллера(ов) прерываний не в полной мере соответствуют 8259. К примеру нет поддержки 80/85, только 86/88

    Значение по умолчанию для ICW4. Intel выпускает чипсеты, где значение по умолчанию 01. Хотя когда-то раньше, когда контроллер не входил в чипсет и был предназначен для 80/85, значение по умолчанию было 00. Если не было запроса на ввод ICW4, то используется значение по умолчание.

    Нет поддержки буфферезирующего режима.
    И др.
     
  8. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Отдельных микросхем устройств на мат. платах нет со времён 80286, когда появились микросхемы SIO (Super I\O). Развитие технологии позволило на одном кристалле сделать несколько функциональных блоков, упростив компоновку ПП.
     
  9. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    В свое время, когда еще были актуальны слова '8259', мне больше всего нравилось как потроха расписаны у журдена. Знаю что баян, но если уж и начинать увечить pc-шное железо, особенно под досом (под ХР '8259' не актуальны), то лучшего пособия по учумелым ручкам, имхо, не найти.
     
  10. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    simpleX
    Её не было уже в компах на 80386: все нужные функции вошли в состав чипсета. А ненужные просто не реализованы.

    Кроме того, сам по себе PIC давным-давно устарел и сохраняется лишь для совместимости. Все процессоры, начиная с Pentium, имеют "продвинутый" контроллер прерываний -- APIC. Ну а при использовании нескольких процессоров (в частности, при наличии многоядерного проца, который по сути является несколькими отдельными процами, но на одном кристалле) PIC вообще не годится. Т.е., например, если ты на современном компе поставишь MS DOS, она будет работать, но использоваться будет только один процессор (или одно ядро многоядерного процессора), поскольку эта система не поддерживает многопроцессорные машины. Ну а если стоит Винда, Линух или ещё что, поддерживающее многопроцессорность, то в них прерывания обрабатываются с помощью APIC.

    Ну а если интересует всё же PIC, то лучше найти документацию на чипсет своей материнки и смотреть, что там написано. Можно воспользоваться докой и от другого чипсета, в т.ч. совсем другого производителя: в таких вещах, как контроллеры прерываний и прямого доступа к памяти, они совместимы.
     
  11. simpleX

    simpleX New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2006
    Сообщения:
    26
    Адрес:
    Россия, г. Курск
    хмм... ну вообще если честно PIC меня интересовал именно как "управленец" прерываниями с точки зрения ОС. Но раз он уже не актуален...
     
  12. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Взял проверял SIS и VIA пишут что совместимы с 8259 и никаких больше пояснений.

    Вообщем мой вывод такой, контроллеры совместимы с 86/88. А вот отсутствует совместимость с 80/85. Плюс не значительные расхождения. Но можно считать что в области 86/88 он полностью совместим.
     
  13. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    simpleX
    PIC Используется для совместимости с дос. Его можно использовать в связке с APIC. Можно отказаться от PIC и оставить только I/O APIC+Local APIC. Последний вариант препочтительнее, но не намного