User Tag List

Показано с 1 по 10 из 1199

Тема: Орион-2010. Hard & Soft

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEK Посмотреть сообщение
    Я может не совсем понял, но такой контролер прерываний будет терять прерывания.
    Элементарная ситуация приходит прерывание от UART и через пару тактов процессора приходит кадровое, итог - прозевали прерывание от UART
    А вот как это может выглядеть со стороны программной реализации чтобы не пропускать данные uart во время обработчиков Int50 (считаем что аппаратно оба прерывания разделены как описано постом выше):

    Расчет на то, что в обработчиках прерывания UART первой командой делается DI, а предпоследней (перед reti) делаем EI.

    Обработчик INT50Hz DI/EI не делает. Для защиты от повторного вхождения в самого себя он переставляет вектор своего обработчика на фиктивный обработчик, единственная функция которого запомнить было ли еще одно прерывание INT50Гц во время обработчика (и обработать его при выходе, если было). Так в наcтоящее время сделано в CP/M и я планировал это оставить в таком виде, т.к. пока не вижу подводных камней.

    Таким образом, прерывание UART во время обработчика INT50Hz спокойно отработает (т.к. идет не на фиктивный обработчик Int50, вектор которого по адресу +FF, а на реальный обработчик UART по адресу +FD), оно ни на какой алгоритм не повлияет, т.к. лишь спуливает принятый байт в буфер, ничего тяжелого (типа переключения страниц, управления SP) тут не делается, в отличие от обработчика INT50Hz.

    А вот прерывание INT50Hz во время обработчика UART работать не будет (из-за DI). Что, КМК, правильно.

    Насколько все это хорошо наложится одно на другое покажет только будущее.
    Последний раз редактировалось Error404; 15.03.2010 в 15:46.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 22
    Последнее: 06.10.2008, 14:17
  2. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 1
    Последнее: 22.08.2008, 08:56
  3. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 2
    Последнее: 21.08.2008, 13:31
  4. soft dt
    от roxx в разделе Софт
    Ответов: 4
    Последнее: 30.01.2008, 18:41

Ваши права

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