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

User Tag List

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

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

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

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

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

  2. Этот пользователь поблагодарил Elvys за это полезное сообщение:
    Reobne (30.09.2015)

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

  4. #2
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    122
    Благодарностей: 44
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #3
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    545
    Благодарностей: 270
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. Этот пользователь поблагодарил Reobne за это полезное сообщение:
    Elvys (30.09.2015)

  7. #4
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    122
    Благодарностей: 44
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #5
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    545
    Благодарностей: 270
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. Этот пользователь поблагодарил Reobne за это полезное сообщение:
    Elvys (30.09.2015)

  10. #6
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    122
    Благодарностей: 44
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #7
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    545
    Благодарностей: 270
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  12. #8
    Member
    Регистрация
    12.01.2014
    Адрес
    г. Краснодар
    Сообщений
    122
    Благодарностей: 44
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  13. #9
    Доктор Аватар для Kakos_nonos
    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,078
    Благодарностей: 818
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  14. Этот пользователь поблагодарил Kakos_nonos за это полезное сообщение:
    Reobne (30.09.2015)

  15. #10
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    2,679
    Благодарностей: 2035
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  16. Эти 2 пользователя(ей) поблагодарили null_device за это полезное сообщение:
    Elvys (30.09.2015), Reobne (30.09.2015)

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

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

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

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

Похожие темы

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

Ваши права

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