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

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 38

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

  1. #21
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,746
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    265
    Поблагодарили
    199 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    Не терять прерывания, это я о том, что скажем во время дисковых операций музыка не хрипела и картинка не тормозила. Т.к. прерывания от контроллера дисковода имеют более высокий приоритет и приходить будут часто. Пересылками то процессор занимается.
    есть такая демка "condommed" там встроен самый лучший Дисковый драйвер с музыкой.
    посмотри... не пожалеешь.
    С уважением,
    Jerri / Red Triangle.

  2. #22
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,075
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    во время дисковых операций музыка не хрипела и картинка не тормозила
    Работа оболочки tr-dos в отличном от "стандартного" режиме прерываний реализована на уровне - совсем никак.
    Реализовать второй режим прерываний с работой tr-dos - возможна, но это "костыли" в чистом виде (что, в общем-то не помешало codebusters реализовать дему с процедурой чтения дискеты в реальном времени, да и ряду других программистов проделывать нечто подобное).

    Цитата Сообщение от Elvys Посмотреть сообщение
    прерывания от контроллера дисковода имеют более высокий приоритет и приходить будут часто
    Большим приоритетеом обладает только момент вызова через "волшебную кнопку".

    Определитесь, что вас интересует: гипотетическое устройство с реализованной, развитой системой векторов прерывания; или спектруем - где подобный программно-аппаратный комплекс незадействован?
    Когда есть, но не знаешь где - это все равно, что нету.

  3. #23
    Activist
    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    26 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    Вообще, хотел только понять, в чем смысл иметь в компьютере прерывания с частотой обновления экрана и нельзя ли от них отказаться. Уяснил, что это прерывание очень нужное, что бы получить жесткий реалтайм при выполнении некоторых программ. Теперь вот пытаюсь понять, как быть с ситуациями, когда есть несколько прерываний с разными приоритетами и что делать что бы не терять прерывания.

    Как то решалось же это на ibm pc xt....
    Это классические прерывание VSYNC, чтоб запускать процесс обновление изображения на экране, когда этом меньше всего будет приводить к видимым искажениям.

    Просто на Спектруме это было вообще единственным прерыванием. И оно не для "жесткого реалтайма" (это уже потом особым шиком для мультколор эффектов использовали). По нему обрабатывались программные таймера (аппаратных ведь нет), сканировалась клавиатура и прочее...

    Чтоб не терялись прерывания нужно увеличивать скорость обработки (повышать частоту процессора), уменьшать темп прерываний (использовать периферию с FIFO или с DMA доступом).

  4. #24
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    Так зачем процессор дергать прерыванием от важных задач каждый кадр ?
    А ты не обязан его обрабатывать. Поставь RETI по 0x0038 или вообще запрети прерывания по DI.
    Но любая задача, которая сводится к тому, что надо как-то реализовать два потока исполнения, неизменно приведёт к использованию этого прерывания.
    А то, что оно приходит в начале отрисовки экрана - ну, так проще схемотехнически. А через несклолько лет существования спектрума, когда начали париться за красоту картинки и плавность, оказалось, что это ещё и удобно.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

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

    По умолчанию

    Сейчас смотрел схему "Ириши". Система прерываний там сделана через контроллер ВН59. Но с модуля графического дисплея на этот контроллер ничего не приходит. Получается покадровые прерывания там отсутствуют? Это вообще единственный советский бытовой компьютер, использующий контроллер приоритетных прерываний?

    ---------- Post added at 13:09 ---------- Previous post was at 13:00 ----------

    To troosh:
    Если я вас правильно понял, то на спектрум можно воткнуть произвольный генератор импульсов прерываний с известным интервалом и это будет работать вместо покадровых прерываний? Забудем на минутку о красивости бордюра и мультиколоре. Просто спеку нужен был хоть какой то таймер и в качестве его использовали покадровое прерывание?

  6. #26
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    Если я вас правильно понял, то на спектрум можно воткнуть произвольный генератор импульсов прерываний с известным интервалом и это будет работать вместо покадровых прерываний? Забудем на минутку о красивости бордюра и мультиколоре. Просто спеку нужен был хоть какой то таймер и в качестве его использовали покадровое прерывание?
    Видимо всё так и есть.
    Процессору пофик как и когда формируется прерывание.
    Просто когда оно приходит - он бросает все дела и начинает исполнять код с заранее заданого адреса. Всё остальное - в руках программера.

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

    По умолчанию

    Теперь точно разобрался. Покадрового прерывания может и не быть, но его удобно использовать что бы знать в какой момент времени начнется отрисовка кадра. И как следствие - рассчитать положение луча на экране в любой момент времени отображения одного кадра.

  8. #28
    Activist
    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    26 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    Сейчас смотрел схему "Ириши". Система прерываний там сделана через контроллер ВН59. Но с модуля графического дисплея на этот контроллер ничего не приходит. Получается покадровые прерывания там отсутствуют?
    Не до жиру значит было, да и обычно в советских компьютерах про удобство работы с графикой/звуком в последнюю очередь думали.

    Цитата Сообщение от Elvys Посмотреть сообщение
    Если я вас правильно понял, то на спектрум можно воткнуть произвольный генератор импульсов прерываний с известным интервалом и это будет работать вместо покадровых прерываний? Забудем на минутку о красивости бордюра и мультиколоре. Просто спеку нужен был хоть какой то таймер и в качестве его использовали покадровое прерывание?
    Да, именно так.

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

    По умолчанию

    Я тут подумал, как быть, когда прерываний несколько и контроллер прерываний ими командует. Длительность КСИ, она же примерно 110 микросекунд. Если КСИ подать на контроллер прерываний и настроить его на реагирование по уровню импульса, то для контроллера прерываний это будет означать длительность присутствия сигнала запроса прерывания равной длительности КСИ. Теперь, если любое другое прерывание с более высоким приоритетом будет обработано менее чем за время длительности КСИ, то запрос прерывания от кадровой потерян не будет. Z80 обрабатывает одну инструкцию за четыре такта и имеет, при частоте 4 Мгц, одну обработанную инструкцию в микросекунду. Таким образом, за время длительности сигнала КСИ можно выполнить до 100 инструкций. После чего успеть принять запрос прерывания от кадровой и обработать уже его. Если я верно понимаю принцип работы ВН59.

  10. #30
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Elvys Посмотреть сообщение
    И как следствие - рассчитать положение луча на экране в любой момент времени отображения одного кадра.
    Можно было-бы, если бы не куча клонов с разным временем отрисовки, медленной памятью и прочими радостями.
    Так что от привязки к кадрам польза только одна - можно знать точно что отрисовка экрана началась. Все остальные эффекты прибиты к конкретным моделям...

Страница 3 из 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

Ваши права

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