| imho.ws |
![]() |
|
|
|
# 22 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Подводя окончательные итоги:
Для старой 8-битной шины имелось 8 линий работы с внешними устройствами: 8 -- IRQ 4-- DMA; Для шины ISA 16 разрядов: Количество линий аппаратных перываний(IRQ) 16, а каналов DMA — 8.
__________________
Старые игры раздают здесь Последний раз редактировалось CEO; 23.12.2003 в 19:49. |
|
|
|
|
# 23 |
|
Full Member
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CEO : а я использую не яндекс а гугл (www.google.ru) и черепаху (www.turtle.ru)
|
|
|
|
|
# 24 |
|
Guest
Сообщения: n/a
|
а я использовала яндекс и нашла те же сайты. я посылаю сайты где есть схема.может у меня плохо со счетом? помогите!
http://www.k-serv.ru/info/port/isa8.html http://www.k-serv.ru/info/port/isa16.html |
|
|
# 25 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Все блин, я придумал как разрешить этот вопрос:
Аппаратные прерывания: У каждой шины (PCI, ISA и т.д.) существуют определенные линии (читай – контакты), которые отвечают за прерывания, вызываемые устройствами. Номера аппаратных прерываний не прямо соответствуют адресам программных, то есть аппаратному IRQ 0 соответствует INT 8, и так далее по таблице. Зачем, спрашивается, нужны эти IRQ? Во-первых – постоянно опрашивать все устройства на предмет “а не желаете ли Вы нам что-нибудь этакое передать?” просто непозволительно с точки зрения производительности. Процессор просто утомится это делать – гораздо легче дать устройству какие-то права, и пусть оно командует. Во-вторых, сам механизм позволяет программам и процессору абсолютно наплевательски относиться ко всем выступлениям со стороны устройств. 0 (INT 08h) - системный таймер 1 (INT 09h) - контроллер клавиатуры 2 (INT 0Ah) – сопряжен с видеокартой на XT; на AT и выше используется для каскадирования второй микросхемы контроллера прерываний 3 (INT 0Bh) – стандартный для COM2/COM4 4 (INT 0Ch) - стандартный для COM1/COM3 5 (INT 0Dh) – обычно свободен, но на XT на этом IRQ находился контроллер жесткого диска 6 (INT 0Eh) - контроллер FDD 7 (INT 0Fh) – прерывание параллельного порта (LPT), однако многими LPT-контроллерами не используется 8 (INT 70h) - часы реального времени (RTC – Real Time Clock), прерывание вызывается 18,2 раза в секунду 9 (INT 71h) – эмуляция IRQ2 (для совместимости) 10 (INT 72h) – свободен 11 (INT 73h) – свободен 12 (INT 74h) – ублажитель контроллера PS/2 мыши 13 (INT 75h) - математический сопроцессор 14 (INT 76h) – первый канал контроллера IDE HDD 15 (INT 77h) – второй канал контроллера IDE HDD Считайте сами от 0 до 15 -- равно 16 IRQ Для того, чтобы не загружать каждый раз процессор передачей данных от устройства к памяти, используется DMA (Direct Memory Access – прямой доступ к памяти). Передача данных ведется по так называемым каналам, которых всего семь: 0 – используется для регенерации памяти в некоторых системах 1 - свободен 2 – обслуживает контроллер FDD 3 – свободен (на XT – контроллер жесткого диска) 5 – свободен 6 - свободен 7 - свободен Считать они не умеют: 0..7 == 8 DMA Следует учитывать, что каналы 0-3 - восьмиразрядные, а каналы 5-7 - шестнадцатиразрядные. Вот так.
__________________
Старые игры раздают здесь Последний раз редактировалось CEO; 23.12.2003 в 18:22. |
|
|
|
|
# 28 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Наверное так это можно объяснить:
В таблице номер 2: B20-- Clock, т.е это и есть тот самый системный таймер (IRQ0) A10 I/O Channel Ready -- кажись это IRQ1 Итого считаем, сколько линий прерываний(см таблицу два от Margo): D6 IRQ15 D7 IRQ14 ? IRQ13 D5 IRQ12 D4 IRQ11 D3 IRQ10 ? IRQ9 ? IRQ8 B21 IRQ7 B22 IRQ6 B23 IRQ5 B24 IRQ4 B25 IRQ3 B4 IRQ2 A10(?) IRQ1 B20(?) IRQ0 И того:16 IRQ Так же считаются и DMA
__________________
Старые игры раздают здесь Последний раз редактировалось CEO; 24.12.2003 в 14:42. |
|
|
|
|
# 30 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Margo :СМ выше:
IRQ 0 (INT 08h) - системный таймер (0 -- номер IRQ) 1 (INT 09h) - контроллер клавиатуры(1 -- номер IRQ). Часы -- Clock -- ситсемный таймер -- IRQ0
__________________
Старые игры раздают здесь |
|
|
|
|
# 35 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Neo :Не совсем въезжаю, но отвечу: Если ты про регистры, то из книжки по ассму. А откуда ты это взял?
Добавлено через 2 минуты: Margo :Навреное это особые прерывания и им дали особые названия а не какие-то там безликие IRQx. Кроме того, возможно они просто не выведены на разъем.
__________________
Старые игры раздают здесь Последний раз редактировалось CEO; 24.12.2003 в 14:15. |
|
|
|
|
# 37 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Neo А, точно. Смотри в таблицу, что дала MArgo(2-ю). Там напротив номеров выводов(AX,BX) пишут назначание IRQ, Adress Clock etc. Те IRQ которые там проставленны, там понятно, а которых нет, навреное нужно искать по особым названиям. Например IRQ0- таймер, значит нужно наверное искать в таблице слово Timer или Clock. Правда не все так легко находится, я все найти не смог.
Я сразу пердупредил, что я не спец. Так что это еще вопрос прав ли я...
__________________
Старые игры раздают здесь Последний раз редактировалось CEO; 24.12.2003 в 14:21. |
|
|
|
|
# 39 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
На счет 8-разрядной тоже самое помоему...
Прерывания: 1)B20 Clock ( возможно это IRQ0) ? 2)A10 I/O Channel Ready (возможно это IRQ1) ? 3)B4 IRQ2 4)B25 IRQ3 5)B24 IRQ4 6)B23 IRQ5 7)B22 IRQ6 8)B21 IRQ7 Итого 8 получилось IRQ, из которыйх два незвестно точно где находятся. Добавлено через 7 минут: Neo :Вот кстати, если мне не веришь сайт, с которого я прочел про IRQ: http://tweak.tut.by/text/irq_settings.htm
__________________
Старые игры раздают здесь Последний раз редактировалось CEO; 24.12.2003 в 14:24. |
|
|
|
|
# 40 |
|
Guest
Сообщения: n/a
|
Это я нашла про I/O CH RDY только я не поняла какая связь междуконтроллером клавиатурой?
Сигнал I/O CH RDY (I/O Channel Ready - Готовность канала ввода/вывода) является асинхронным сигналом, вырабатываемый тем устройством, к которому осуществляется доступ на шине. Если этот сигнал запрещен, то цикл доступа удлиняется, так как в него будут добавлены такты ожидания на время запрещения. Когда задатчиком на шине является центральный процессор или внешняя плата, то каждый такт ожидания по длительности - половина периода частоты SYSCLK (для тактовой частоты SYSCLK=8 МГц длительность такта ожидания - 62.5 нс). Если задатчиком на шине является контроллер ПДП, то каждый такт ожидания - один период SYSCLK (для SYSCLK=8 МГц - 125 нс). При обращении к памяти на внешней плате ЦП всегда автоматически вставляет один такт ожидания (если сигнал -0WS запрещен), поэтому, если внешней плате достаточно времени цикла с одним тактом ожидания, то запрещать сигнал I/O CH RDY не требуется. |