User Tag List

Страница 5 из 31 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 331

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

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

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

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут надо читать про spigot-алгоритм вычисления числа pi:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	pi_spigot.jpg 
Просмотров:	906 
Размер:	87.5 Кб 
ID:	54828  

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

  3. #2

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А, тогда не совсем позиционная система исчисления (что предполагает фиксированное основание), а все-таки обычный ряд. Просто тут его вычисление удачно совместили с переводом в десятичную систему. А в массиве находятся не цифры, а обновляемые члены ряда.

    Update: кстати, добавление нового члена ряда прикольно сделано, с отложенным переносом. Если новая полученная цифра не девятка, то переноса в предыдущую цифру не предполагается (неочевидно, как по мне - требует доказательства, но ладно), значит предыдущую цифру можно вывести. А если девятка - то копим число девяток подряд, вдруг произойдет перенос и его распространение.
    Последний раз редактировалось Vslav; 09.11.2015 в 12:54.

  4. #3

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

    По умолчанию

    Очередная и, надеюсь, последняя версия spigota - pirk20.zip
    100 знаков - 19897238 тактов - 11.19 сек (это с расчетом таблицы!)
    535 знаков - 551337754 тактов - 5 мин 10 сек
    Обращаю внимание, что запускать нужно G4200
    Можно еще чуть-чуть ускорить, если размещать таблицу для умножения с 0000h, но я не стал заниматься крохоборством.
    Последний раз редактировалось ivagor; 09.11.2015 в 13:00. Причина: добавил такты

  5. #4

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Очередная и, надеюсь, последняя версия spigota - pirk20.zip
    100 знаков - 19897238 тактов - 11.19 сек (это с расчетом таблицы!)
    535 знаков - 551337754 тактов - 5 мин 10 сек
    PVV по моей просьбе портировал этот код от уважаемого Ivagor-a на суперсовремённый югославский компьютер.
    Хоть код и для 8080, но на Z80 работает аналогично, да и интересно было сравнить совершенно разные архитектуры на одном коде :-)
    Как раз таки видно, насколько сильно тормозится более лучший Z80 с программной реализацией видео-контроллера( вернее отъедается производительности процессора на эту самую реализацию). Итак, результаты для 535 знаков:
    1. PVV -
    8.45 время выполнения теста на моем реале. кварц 6.144, тактовая Z80
    6.144/2
    2. на моем не-реале тот же тест - 8:35 в обычном режиме, и 4:18 - в Турбо х2 ( но и частота процессора немного выше - 3,125 МГц)
    3. В эмуляторе от b2m - 8:44 - вполне сопоставимо.

    16+


    Все познаеЦЦа в сравнении. Мой текущий компьютер считает миллион знаков Pi за 14.437 секунды. На одном ядре разумеется.

    [свернуть]

    Дополнение.
    100 знаков - 20с стандартно, и 6с с отключенными прерываниями и соответственно экраном.
    и да, 535 знаков с отключенным экраном считается за 3 минуты, все же сильно видеовывод тормозит проц.
    Последний раз редактировалось zebest; 21.02.2018 в 11:05.
    Profi v3.2 -=- Speccy2010,r2

  6. #5

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    PVV по моей просьбе портировал этот код от уважаемого Ivagor-a
    на этот раз на совсем другой компьютер 1977 г.р. Tandy Radio Shack TRS-80 - Model 1, собранный на горячо любимом Z80 c тактовой частотой всего 1,77 МГц, (практически Радио-86РК
    Итак, встречаем! PI80 с инструкциями only 8080 посчитал 535 знаков за , ВНИМАНИЕ! - за 5 мин 17 сек.
    Но и это еще не все.
    Тот же компутер, но с программой оптимизированной под Z80 те же 535 знаков посчитал за 2 мин 04 сек
    И еще одна программа-рекордсмен посчитала те же и там же всего то за каких то 47 сек
    ну и напоследок, авдруг.
    Эти две программы, с эмулятором, (в нем я не пробовал, но думаю сопоставимо), а главное с исходниками и комментами не на нашем языке можно посмотреть тут в самом низу страницы.
    http://ht.homeserver.hu/html/programprojekt.html
    Profi v3.2 -=- Speccy2010,r2

  7. #6

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    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.
    Прихожу без разрешения, сею смерть и разрушение...

  8. #7

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    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

  9. #8

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

    По умолчанию

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

  10. #9

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #10

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

Страница 5 из 31 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

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

Ваши права

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