OSDev

для всех
Текущее время: 29 мар 2024, 11:21

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Настройка PIC
СообщениеДобавлено: 27 май 2014, 06:13 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
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, то всегда описывают назначение всех разрядов для любых возможных случаев его применения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка PIC
СообщениеДобавлено: 27 май 2014, 12:52 

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настройка PIC
СообщениеДобавлено: 27 май 2014, 14:55 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
В википедии есть ссылки на официальноую документацию там всё расписанно.
8259A PROGRAMMABLE INTERRUPT CONTROLLER (8259A/8259A-2)

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB