OSDev

для всех
Текущее время: 30 апр 2026, 05:57

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 03 дек 2013, 17:12 

Зарегистрирован: 17 окт 2013, 18:45
Сообщения: 23
Решил заюзать APIC. все работает. да только я в регистр счетчик заношу пока число наабум. а как собственно узнать на какое число надо занести туда, чтобы прерывание генерировалось 100 раз секунду?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2013, 17:50 

Зарегистрирован: 31 июл 2013, 09:40
Сообщения: 28
1193180 надо разделить на желаемую частоту, наверное :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2013, 18:06 

Зарегистрирован: 17 окт 2013, 18:45
Сообщения: 23
т.е. что для пик, что для апик одно и тоже?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 дек 2013, 19:11 

Зарегистрирован: 31 июл 2013, 09:40
Сообщения: 28
Чет упустил момент про APIC. Н/з, как четкую частоту задать. Можно, как на osdev.org, т.е.:
1. Задаем начальное значение таймеру LAPIC'а, равное -1(минус один)
2. Задаем таймеру обычному(IRQ0) такое значение, чтобы прерывание было сгенерировано через 1/100 секунды
3. Запускаем таймер LAPIC'а
4. Запускаем обычный таймер
5. Как только IRQ0 было получено, берем текущее значение счетчика таймера LAPIC'а
6. Вычитаем текущее значение LAPIC Timer'а из начального, чтобы узнать, каким должно быть начальное значение для таймера, чтобы он срабатывал каждую 1/100 секунды.

ссыль на статью:
APIC timer


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

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


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

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


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

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