User Tag List

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

Тема: ZPU на Векторе

Комбинированный просмотр

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

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пара слов про (сравнительно) новую ветку FastImNoFlip, которая ориентирована на ускорение (за скорость приходится платить размером). Отличия от Master:
    1. Модификация загрузки констант для более удобной реализации с использованием 8080. Это приводит к небольшому (несколько сотен байт для программ размером 20-25 Кб) увеличению сгенерированного zpugcc кода.
    2. В начале body.inc есть несколько дефайнов. FastMUL и FastComparisons в комментариях особо не нуждаются, они сравнительно недорогие по размеру. Вот FastLoadSP, FastStoreSP и FastAddSP довольно большие - первые две примерно по килобайту, FastAddSP примерно полкило (в отличие от п.1 увеличивается размер run-time части, не размер генерирвемого компилятором кода). Наибольший эффект дает включение FastLoadSP, StoreSP поменьше, AddSP еще меньше.
    3. Ускоренное деление. Тут редкий случай - сильно быстрее и меньше по размеру.
    Пункты 2 и 3 в принципе можно перетащить и в Master (FastMUL уже там).
    Пункты 1 и 2 (при включении всех дефайнов) ускоряют примерно на 10%. Деление в имеющихся примерах почти не задействовано, но там, где оно используется, стало быстрее на 20% (это без учета других ускорений).

    Если неформально сравнить скорости zpu8080 и sdcc z80 в jpegах, то с tjpgd разница примерно в 4 раза, c picojpeg - примерно в 6 раз (в zpu8080 более эффективно реализуются 32 битные вычисления, а в sdcc z80 - 8 и 16 битные). Не так уж плохо для интерпретатора с 8080 против компилятора с z80, тем более в некоторых примерах (Мандельброт) ситуация для zpu8080 намного лучше, просто корректнее сравнивать по более сложным программам.
    Последний раз редактировалось ivagor; 06.03.2021 в 09:31.

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

  3. #2

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Деление в имеющихся примерах почти не задействовано, но там, где оно используется, стало быстрее на 20% (это без учета других ускорений).
    Для оценки деления попробовал расчет пи по формуле Гаусса. Модернизированное деление ускоряет на 34%!

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

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

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

Похожие темы

  1. Биперная музыка на Векторе-06Ц
    от ivagor в разделе Вектор
    Ответов: 352
    Последнее: 29.07.2025, 19:04
  2. Джойстики на Векторе-06ц
    от svofski в разделе Вектор
    Ответов: 104
    Последнее: 04.07.2025, 15:57
  3. Какой игры не хватает на векторе?
    от ivagor в разделе Вектор
    Ответов: 56
    Последнее: 24.02.2017, 08:35
  4. Картинки демок Amstrad на векторе
    от yur в разделе Вектор
    Ответов: 13
    Последнее: 14.03.2016, 08:25
  5. Катинки С64 на Векторе
    от yur в разделе Вектор
    Ответов: 6
    Последнее: 13.03.2016, 15:40

Ваши права

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