User Tag List

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

Тема: SwapSet

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

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

    Регистрация
    31.03.2005
    Адрес
    Новосибирская область
    Сообщений
    128
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а о чём же? вот ЗАЧЕМ еще такое может понадобиться, чего нельзя проще сделать другими способами?
    Например сместить уровень абстракций от регистров к окнам контекстов функций.
    Это автоматически не означает многозадачность или параллельную обработку. Это гибкость кода. Для кого то возможно это великий грех.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    с чего меньше? сохранение контекста почти всегда мб нужно только в обработчике прерывания, который обычно всего один
    с чего чище? лишний call (+ это кстати лишнее пространство на стеке)
    Не согласен что только в обработчике. В кооперативной многозадачности например.
    И я не отказываюсь от стека он доступен всем сетам как родной. Можно PUSH в одном сете и POP в другом или том же.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    полная бессмыслица, начиная с "расширения набора регистров" программным способом
    смысл регистра как раз в том, что это "сверхоперативная", то есть самая БЫСТРАЯ область памяти
    а тут медленное сохранение/восстановление всех подряд да еще ix пожертвовать предлагается
    то есть выйдет сокращение набора фактически
    Смысл регистра в том что это быстрая ячейка памяти. Абстракция расширения медленная при переключении, дальше это те же самые быстрые регистры.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    без многозадачности (реентрабельности) всегда проще сразу с переменными работать, а не со стеком
    да еще значительно эффективней - только с теми, которые действительно применяются
    Сохранение загрузка переменных это то же нетривиальная задача. Ты не работаешь с переменными напрямую в памяти, для начала они грузятся в регистры. Мой вариант с sp сокращает время операций и при этом это не полноценный стек push/pop (а сохранил, загрузил другой набор, поработал, вернулся к первому или можно вообще забыть о нем)

    - - - Добавлено - - -

    Цитата Сообщение от Dart Alver Посмотреть сообщение
    Ну х.з. состояние такого 'обьекта' должно уложиться в эти несчастные 7 регистров, иначе ещё и стек надо для каждого обьекта свой. Тогда и правда либо многозадачность вертеть, либо как сказал Lethargeek сохраняться в переменных.
    Ну тут свобода, никто не мешает хранить в регистрах сета указатель на структуры данных и работать с ними как с обычными переменными.
    Последний раз редактировалось jim; 07.09.2025 в 22:33.
    Like a bright light on the ХORIZON
    Shining so bright, he'll get you flying

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

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

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

Ваши права

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