Shadovv13 Статья ужастная она совсем не описывает контроллер. Возьми IO.PRT или из современного Кулаков В. Программирование на аппоратном уровне. http://homepage0.icehard.net/files/hardware_specs/CONTROLLERS/pic8259.pdf Первый контроллер прерываний 8259А использует порты 20h-21h второй 8259А использует 0A0h-0A1h Второй контроллер сидит на второй линии(считая от 0) первого контроллера.
Прочитал IO.PRT ище раз. Вобщем все понятно, но, во время прерывания на шыну даных выдаетса команда CALL и младшый-старшый байты адреса. Все ето хорошо, но как изменить ответ. Например на байт содиржащий номер линии вызова.
Внекоторых схемах, например в сочитании с Z80 (Z80 в режыме прерывания IM2) нашину даних устанавливаетса 8-бит мбайт адреса который составляетса с регистром I сбайт адреса и указывает на програму обработки прерывания.
Shadovv13 Команда CALL выдается в режиме совместимости с 80/85. В режиме 86/88 выставляется номер прерывания Int. Т.е Номер записанный в контроллер плюс номер входа с которого пришло прерывание. А процессор ужа сам решает что делать с этим номером. он вызывает прерывание по адрессу из таблице прерываний. Когда мы получаем управления разумеется инициирован уже 86/88 режим и каскадный Код (Text): MOV DX, 20h // Ведущий MOV AH, 08h //Номер начального прерывания для видущего контроллера 08 стандартное MOV AL,11h //ICW1 бит 0=1 сигнализирунт, что будет послон ICW4 OUT DX,AL MOV AL,AH //ICW2 - начальный номера прерываний биты 2-0=0. INC DX OUT DX,AL MOV AL,4 //ICW3 ведущий 00000100 - ведомы подключен ко второй линии OUT DX,AL MOV AL,1 //ICW4 режим 86/88 OUT DX,AL MOV DX, 0A0h // Ведомый MOV AH, 70h //Номер начального прерывания для ведомого контроллера 70h стандартное MOV AL,11h //ICW1 бит 0=1 сигнализирунт, что будет послон ICW4 OUT DX,AL MOV AL,AH //ICW2 - начальный номера прерываний биты 2-0=0. INC DX OUT DX,AL MOV AL,2 //ICW3 ведомый, ведомы подключен ко второй линии OUT DX,AL MOV AL,1 //ICW4 режим 86/88 OUT DX,AL Писал прямо сдесь решил подкоректировать. Так-то контроллер не прехотливый. PS. Думаю пришло время написать стать про систему прерываний.
Огромное спасибо за разиснение!!! Ну а стартовая инициализацыя - дело БИОСа, и пока мне не интересна!!! P.S. Нус пришло время хард-теста!!!
Shadovv13 Используетя только реализуется через захват шины. Другими словами тот DMA что описан класически ничего общего с IDE DMA не имеет. Каменный век. Сейчас APIC всем рулит.
Вообще возьми http://miscellaneous.newmail.ru/ сорцы и никого не слушай. Собственно можешь поверить на слово - изучив сорцы в данном случае ты будешь на голову выше тех кто читает описания Описание это хорошо, но столько неточностей что ..
PROFi Это смотря с каким IDE если со старым ISA, то и DMA старый. Если с PCI IDE то там есть PCI DMA - а он от ISA DMA отличается координально. Конечно можно задействовать ISA DMA для PCI IDE, но это только для совместимости. и так никто не делает так как неудобно и медленнее. APIC лучше стоит только с ним разобраться. ну да, недаром же процессор кирпичом называют.
Pavia (см. название темы) Жeлезный век != Каменнный век. Можно обложиться кучей литературы вокруг себя, и пытаться прочитать ее, но львиная доля времени будет потрачена на "своеобразие и неординарность" автора написавшего бук. Можно спорить и доказывать свою правоту, только в споре никогда не рождается истина - это лишь трата времени. Раньше выходили 1-2 книжки по компьютерной тематике - сейчас тысячи и самое интересное во всем этом только одно - АВТОР КНИГИ САМ РАЗОБРАЛСЯ В ТОМ ИЛИ ИНОМ ВОПРОСЕ ПРОАНАЛИЗИРОВАВ (ЧАЩЕ ОДИН РАЗ) СОРЦЫ КОДА ИЛИ СТАНДАРТ И РЕШИВ ЗАКРЕПИТЬ МАТЕРИАЛ ОПИСЫВАЕТ СВОИ "ПЕРЕЖИВАНИЯ" В КНИГЕ. Другими словами - читая такие книги никогда не подымишься по уровню над автором книги, стать профессионалом можно только РАБОТАЯ над собой, а не читая "художественные" книжки. Да не спорю - есть единичные книги типа Д.Кнута ... В целом выделить принципы алгоритма работы, определить значение технологии дано не каждому, а описать в сотый раз контроллер APIC или комманды (S)ATA HDD прочитав спецификацию - стоит ли игра свеч
PROFi Д.Кнут пишет свой трехтомник на протяжении тридцати лет и читать его без специфической подготовки не рекомендуется во все времена будет потребность и в книгах для начинающих по типу мурзилки - ксекапа и в книгах узконаправленных типа спецификаций вспоминаешь другого автора Бум компьютерной литературы - это не повод к призыву "не читать ничего!"