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

User Tag List

Страница 30 из 32 ПерваяПервая ... 26272829303132 ПоследняяПоследняя
Показано с 291 по 300 из 312

Тема: Вычисление числа Пи на ассемблере

  1. #291
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,564
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от zebest Посмотреть сообщение
    на этот раз на совсем другой компьютер 1977 г.р. Tandy Radio Shack TRS-80 - Model 1, собранный на горячо любимом Z80 c тактовой частотой всего 1,77 МГц, (практически Радио-86РК
    Итак, встречаем! PI80 с инструкциями only 8080 посчитал 535 знаков за , ВНИМАНИЕ! - за 5 мин 17 сек.
    Но и это еще не все.
    Тот же компутер, но с программой оптимизированной под Z80 те же 535 знаков посчитал за 2 мин 04 сек
    И еще одна программа-рекордсмен посчитала те же и там же всего то за каких то 47 сек
    Глянул код. Ну как тут не вспомнить бессмертное:
    Цитата Сообщение от barsik Посмотреть сообщение
    Если уровнять эффективные такты Z80 и КР580, то выяснится, что большое превосходство Z80 сильно преувеличено. Программа Z80 не превзойдёт по скорости программу на КР580 более, чем на 10%. И это в идеальном случае. Но такого никогда нет, программы Z80 на 98% состоят из команд КР580. Альтернативные регистры ничего не дают, избавляя от лишних PUSH-POP и ускоряя тем самым на несколько процентов. JR команды тоже дают выигрыш всего на несколько процентов. IX IY вообще не дают никакого выигрыша по скорости. Из-за префиксов все Z80-команды тормозные. И польза от них только в облегчении программирования, а не в ускорении. Так, что если на КР580 подать такт на 10% выше, то он не уступит Z80.
    Да и litwr здесь, получается, был неправ, говоря о бесполезности дополнительных 16-битных команд Z80.
    Прихожу без разрешения, сею смерть и разрушение...

  2. #292
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,846
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,825
    Поблагодарили
    1,047 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    PI80 с инструкциями only 8080 посчитал 535 знаков за , ВНИМАНИЕ! - за 5 мин 17 сек.
    Цитата Сообщение от zebest Посмотреть сообщение
    Тот же компутер, но с программой оптимизированной под Z80 те же 535 знаков посчитал за 2 мин 04 сек
    Цитата Сообщение от zebest Посмотреть сообщение
    И еще одна программа-рекордсмен посчитала те же и там же всего то за каких то 47 сек
    Самое интересное - исходник для 8080. Или с приведенными для z80 программами сравнивался spigot для 8080? Если так, то выигрыш может быть и побольше.

  3. #293
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,673
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    323
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Самое интересное - исходник для 8080. Или с приведенными для z80 программами сравнивался spigot для 8080?
    ну да, spigot и сравнивался. PVV нашел и совместил точки входа в процедуры клавы и печати символов на экран для TRS-80.
    Остальное родное для кода Радио-86РК. Кстати команды Монитора в TRS-80 удивительным образом похожи на команды в РК86. Или наеборот. С чего бы? А нужно было все это для тестирования памяти и выравнивания скоростей этого монстра относительно эмулей. Две другие программы, сравнительные, нашлись значительнее позже.
    Profi v3.2 -=- Speccy2010,r2

  4. #294
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,846
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,825
    Поблагодарили
    1,047 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #295
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Да и litwr здесь, получается, был неправ, говоря о бесполезности дополнительных 16-битных команд Z80.
    В таких доказательствах z80 ARM в раза в 3 обгонит. У Z80 для арифметики хороша ADC 16-битная и сокращенные тайминги (на 25%) на многие однобайтовые команды - всё остальное для производительности значит мало.
    А, кстати, деление уважаемого ivagor упомянуто в недавней публикации - https://geektimes.ru/post/298735

  6. #296
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,564
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    В таких доказательствах z80 ARM в раза в 3 обгонит. У Z80 для арифметики хороша ADC 16-битная и сокращенные тайминги (на 25%) на многие однобайтовые команды - всё остальное для производительности значит мало.
    Дело не в обгоне совсем, а в том факте, что в оптимизированном коде их применяют. Значили бы мало - не применяли бы.

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

    Цитата Сообщение от litwr Посмотреть сообщение
    А, кстати, деление уважаемого ivagor упомянуто в недавней публикации - https://geektimes.ru/post/298735
    Прочитал, смешная статья, будто лет 15-20 назад написана, до распространения интернетов.
    Ну, и моменты вроде критики двух стеков "сам не знаю, почему" - это
    Прихожу без разрешения, сею смерть и разрушение...

  7. #297
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Дело не в обгоне совсем, а в том факте, что в оптимизированном коде их применяют. Значили бы мало - не применяли бы.
    3агадками говорите. Это какие коды, которые не ADC и не однобайтовые с сокращенными таймингами?

  8. #298
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,564
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    3агадками говорите. Это какие коды, которые не ADC и не однобайтовые с сокращенными таймингами?
    никаких загадок - вестимо, те, которые по ссылке нашлись в исходниках
    Прихожу без разрешения, сею смерть и разрушение...

  9. #299
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,846
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,825
    Поблагодарили
    1,047 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    деление уважаемого ivagor
    Признаюсь, статья длинная, не осилил, может потом почитаю. Если речь про деление из последних версий spigot для 8080, то тут нужно отметить автора алгоритма - blackmirrora. Ну а я только реализовал его алгоритм для 8080.

    И еще пару слов про оптимизацию для z80. Эта реализация Мачина считает 535 цифр медленнее, чем Мачин blackmirrora считает 1000 цифр. Но у венгерского товарища есть преимущество - с его исходником легче работать.

    В завершение - это отнюдь не самая быстрая версия spigot для 8080, просто потом я оптимизировал только для вектора, т.к. пообещал не трогать другие компы.

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

    Самый быстрый spigot для 8080 здесь.

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

    Нужно еще отметить, что у венгра "классический" Мачин с двумя слагаемыми, а у blackmirrora - с тремя, но венгра же никто не ограничивал.

  10. #300
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,564
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    И еще пару слов про оптимизацию для z80. Эта реализация Мачина считает 535 цифр медленнее
    так её-то автор оптимальной и не назвал

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Нужно еще отметить, что у венгра "классический" Мачин с двумя слагаемыми, а у blackmirrora - с тремя, но венгра же никто не ограничивал.
    то есть, по сути, замечание к оптимизации именно под конкретную модель процессора не относится
    Прихожу без разрешения, сею смерть и разрушение...

Страница 30 из 32 ПерваяПервая ... 26272829303132 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Мнемокоманды и числа.
    от ALKO в разделе Программирование
    Ответов: 0
    Последнее: 15.02.2014, 03:49
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Определение числа сторон
    от mungo в разделе Внешние накопители
    Ответов: 1
    Последнее: 16.03.2012, 18:06

Метки этой темы

Ваши права

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