User Tag List

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

Тема: SwapSet

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

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

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jim Посмотреть сообщение
    2. Суммарный overhead
    Параметр Прерывание SwapSet
    Частота вызова 50 раз/сек (кадр) или 1000+ раз/сек (таймер) Несколько раз за программу
    Суммарные траты 7 500 тактов/сек (50 Гц) или 150 000 тактов/сек (1 кГц) ~1000 тактов за всё время работы

    Здесь всё очевидно: прерывания стабильно «съедают» тысячи тактов каждую секунду, SwapSet же — копейки за весь прогон программы.
    Господи, ну что за глупости вы пишете!

    Ну во первых Прерывание != сохранение+смена регистров. Обработка прерывания это цельный набор программ обслуживающий периферию и также могущий дополнительно выполнять какие-либо специфические задачи прописанные программистом. И оно запросто может утянуть и 2000 тактов и больше за 1 фрейм и это нормально (Может и меньше конечно, это что подвешено и для чего). Но суть то не в этом, а в том что сравнивать обработку прерывания с локальным сохранением регистров как минимум некорректно.

    А во вторых - что значит несколько раз за программу ? Как это вообще согласуется с :
    Цитата Сообщение от jim Посмотреть сообщение
    4. Цель SwapSet
    SwapSet — не для tight loop и не для экономии каждого такта. Его задача:
    • изолировать функции друг от друга;
    • дать каждой задаче «свои регистры»;
    • сделать код предсказуемым и модульным.

    Цена в 192 такта оправдана, если цель — ясность и надёжность архитектуры.
    Т.е. скажем в небольшой ассемблерной програмке из 30-40 процедур SwapSet будет использовать максимум штуки 3 и то может быть раза 2 и то врят-ли ? Тогда о какой изоляции, модульности, предсказуемости кода вообще может идти речь, если во всех остальных функциях будут теже самые попы и пуши ?
    Чтобы ваша так сказать "цель" выполнялась, больше половины процедур должны задействовать swapset, иначе нет смысла огород вообще городить.

    Цитата Сообщение от jim Посмотреть сообщение
    давайте, я не буду ничего доказывать вам. если вопрос в моем умении/неумении писать программы то вам не сюда. здесь мой ислледовательский проект. если есть что предложить, милости просим. а устраивать баттлы программистов, можете для этого создать свою отдельную тему.
    Слишком много пафоса, вы сами пытаетесь доказать недоказуемое, а потом вопите что вас якобы троллят. Вот не надо никому ничего доказывать, не стройте из себя непризнанного гения, пишите реальные программы и всё само докажется, ну или не докажется но по крайней мере станет на свои места. ))

    А про умение писать программы напомнило: "Чукча не читатель программист - чукча писатель идеолог программирования"

    Этот пользователь поблагодарил Dart Alver за это полезное сообщение:

    jim(23.09.2025)

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

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

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

Ваши права

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