OSDev
http://osdev.su/

Настройка PIC
http://osdev.su/viewtopic.php?f=7&t=924
Страница 2 из 2

Автор:  SII [ 27 май 2014, 06:13 ]
Заголовок сообщения:  Re: Настройка PIC

main.c писал(а):
Тогда ещё вопрос по поводу ICW 4, в вики сказано, что биты 3 и 2 должны быть равны 0, у меня в материалах, что дал мне преподаватель бит 3 и 2 имеют вполне определённое назначение, картинку с материалами прикладываю. Вы не могли бы пояснить где информация более достоверная? Если будет интересно могу выложить полную PDF-ку материалов.


Изначально контроллер прерываний был отдельной микросхемой, обозначаемой Intel 8259, если мне склероз не изменяет (у нас его своровали под вывеской К1810ВН59). Он был рассчитан на обработку прерываний от двух типов микропроцессоров: 8-разрядного 8080 и 16-разрядного 8086/8088. Несколько микросхем могли объединяться, чтобы увеличить число линий запросов прерываний (одна микросхема обслуживала 8 линий, путём объединения можно было довести их число до 64). Предусматривались различные режимы работы и т.д.

В исходном IBM PC стоял один такой контроллер, позднее, с выходом IBM PC/AT, их стало два. Однако позднее появилась возможность впихнуть всю электронную начинку, составлявшую изначально несколько десятков микросхем, в несколько чипов намного большей степени интеграции. В отличие от довольно универсального 8259, эти микросхемы уже не могли работать с любым процессором -- они были рассчитаны на строго определённые модели. Поэтому надобность в поддержке кучи режимов попросту отпала. Именно по этой причине, когда описывают контроллер прерываний, используемый в современных ПК, для многих разрядов указывают обязательные значения -- иначе он может не заработать правильно (а может и заработать -- если в конкретной реализации эти биты игнорируются и всегда используются те значения, что должны). Ну а когда описывают исходный контроллер 8259, то всегда описывают назначение всех разрядов для любых возможных случаев его применения.

Автор:  main.c [ 27 май 2014, 12:52 ]
Заголовок сообщения:  Re: Настройка PIC

Ну в целом мне теперь всё понятно, кроме 3 бита в ICW 4 (BUF), в вики сказано, что он всегда 0. Как я понял из ответа выше, для современных компьютеров режим буферизации уже не нужен, и поэтому мы его всегда ставим 0? Тогда пара вопрос вдогонку, что это за режим буферизации (зачем он)? И что будет, если мы установим это бит, включится режим буферизации или он просто игнорируется как, например, 2 бит в ICW 1?

Автор:  pavia [ 27 май 2014, 14:55 ]
Заголовок сообщения:  Re: Настройка PIC

В википедии есть ссылки на официальноую документацию там всё расписанно.
8259A PROGRAMMABLE INTERRUPT CONTROLLER (8259A/8259A-2)

В больших системах где 8 PIC соединенных каскадом логика не успевала отработать за 1 такт шины пришлось в водить буфер и защёлку которая должна закрывать буфер после записи. Вот для реализации защёлки, не придумали ничего лучше как немного модифицировать PIC и его логику.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/