Важная информация

User Tag List

Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 38

Тема: Кадровые прерывания ( 50гц ).

  1. #1
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Кадровые прерывания ( 50гц ).

    Чую, что такой вопрос лучше задавать в разделе для начинающих.
    В общем, я тут читаю о прерываниях процессоров каждые 20 миллисекунд и его важном сакральном значении для любого компьютера. И никак не пойму, зачем оно вообще нужно и что процессоры делают, получив это прерывание? Вроде бы дисплейная часть есть автомат, непрерывно генерирующий VSYN, HSYN, и в соответствии с ними выводящий содержимое памяти. И процессору по идее должно быть до лампочки, где в какой момент времени находится луч на экране. Для него экран это озу. Записанное процессором окажется на экране в любом случае, и всегда в нужном месте. Самое позднее, через 20 миллисекунд. Так зачем процессор дергать прерыванием от важных задач каждый кадр ?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, пришел к выводу, что прерывания с частотой обновления экрана облегчают синхронизацию вывода на экран с другими нужными процессами. При этом, если прерывание приходит на процессор, но в какой-то программе не требуется его обрабатывать, можно ставить программную заглушку вместо обработки экранного прерывания (выход по RETI ).

  4. #3
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Elvys, Процессору вообще ничего не нужно! Он мечтает побыстрее выполнить программу, и чтобы питание компьютера отключили.
    Нужно это для ЗАДАЧ! Для тех задач, которые выводят быструю динамическую графику, без мерцания, глюков. Для извращений вроде рисования на бордюре и мультиколора.
    Во вторую очередь это подсчёт времени, проигрывание звука, опрос клавиатуры и прочее. Ну, нету у спектрума других таймеров, а считать такты процессора обычно чересчур муторно и ненадёжно(у разных компьютеров возможны разные задержки, плюс бывает режим "турбо").

  5. #4
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Упс... Т.е. если в спекки ввести RTC, то прерывания 50 гц потеряют актуальность в большинстве задач?
    Вижу только одно дело, которое на левый таймер не повесить - синхронизация вывода на экран с другими задачами в системе. К примеру, оцифровка аналогового сигнала в реальном режиме времени и вывод графика на экран.
    Последний раз редактировалось Elvys; 30.09.2015 в 10:19. Причина: Дополнение

  6. #5
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Elvys,
    Цитата Сообщение от Elvys Посмотреть сообщение
    Обычное применение этого прерывания, это игры, так?
    Не совсем так. Игры бывают разные, текстовых очень много, логических, и они запросто могли-бы обойтись без прерываний. Они его если используют, то просто потому что оно есть. С другой стороны, в графическом редакторе курсор мерцать не должен. В редакторе спрайтов просмотр анимации должен быть гладким. В музыкальном редакторе, музыка не должна дёргаться. И конечно ДЕМКИ! Демкам прерывание ещё чаще нужно, чем играм.
    Цитата Сообщение от Elvys Посмотреть сообщение
    ...читают с диска определенные *.мр3 файлы...
    Да, всё так, только не mp3 файлы, а данные для AY-сопроцессора, и читаются заранее, а по прерыванию они расшифровываются и передаются в AY для проигрывания.

  7. #6
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я когда то сообщение написал, после этого ваше увидел. Ну и соответственно оно моментально потеряло актуальность. Отредактировал, а Вы уже ответить успели

  8. #7
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Elvys, А, ничего страшного, может кому другому пригодится, пускай висит.

  9. #8
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    124
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я вот только уточнить хочу: пусть там программа использует прерывание чтоб у нее курсор не моргал, звук не хрипел и изображение сменялось плавно и равномерно. Но, у любого прерывания есть приоритет. И если совпадет во времени прерывание, имеющее более высокий приоритет и прерывание от кадров, то хочешь - не хочешь, а процессор его пропустит. Это может привести не только к спецэффектам но и к зависанию выполняющейся в данный момент программы. Как такие ситуации решаются?

  10. #9
    Veteran Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,153
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    23 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У спектрума только одно прерывание - кадровое. Других нет. Когда приходит прерывание, то происходит call на обрпботчик, выполняется код обработчика, потом ret и проодолжается выполняться основная программа.

  11. #10
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,095
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    67 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    у любого прерывания есть приоритет
    Как бы - немаскируемые прерывания имеют более высокий приоритет.

    Цитата Сообщение от Elvys Посмотреть сообщение
    Как такие ситуации решаются?
    В спектруме весьма слабо реализована система многоуровневых прерываний.

    Когда процессор получает прерывание, то если оно разрешено, нормальный ход исполнения программы прерывается и управление передается в специальную программу обработки прерываний. Место расположения этой обрабатывающей программы зависит от того, какой режим прерывания включен. Программа обработки прерывания прекращает свою работу, когда встречает специальную команду возврата, после чего управление вновь передается той программе, которая была прервана.
    А еще подпрограмма обработки прерывания должна укладываться в количество тактов в прерывание.
    Когда есть, но не знаешь где - это все равно, что нету.

Страница 1 из 4 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. какой тайминг прерывания Z80?
    от Руслан в разделе Несортированное железо
    Ответов: 3
    Последнее: 20.03.2013, 14:41
  2. Использование стека и прерывания
    от drbars в разделе Программирование
    Ответов: 21
    Последнее: 16.12.2012, 12:47
  3. Прерывания IM 2
    от GM BIT в разделе Программирование
    Ответов: 12
    Последнее: 21.01.2011, 23:52
  4. Ответов: 1
    Последнее: 03.05.2009, 23:06
  5. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

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