User Tag List

Страница 12 из 31 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 332

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

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

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

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    5,043
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    327
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    260 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от sergio78 Посмотреть сообщение
    это получается что 6502 быстрее z80, архитектурно лучше сделан? несмотря на то что сделали 6502 раньше на несколько лет.
    он не лучше, в среднем тактов меньше на операцию, но сами такты приходилось делать длиннее в тех же условиях
    код обычно тоже занимал больше места, и вроде как стек его был неудобен для компиляторов

    Цитата Сообщение от sergio78 Посмотреть сообщение
    слышал у 6502 ещё хитрый 10 значный режим имеется, случаем не его здесь испльзуют в подсчётах?
    BCD (десятичный, а не десятизначный) разве что для бухгалтерии был полезен

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

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

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

  3. #2

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Это pce. В конфиге менял всего две строки
    Маленькая разница возникла наверное, потому что использовал модель 5150. Она, получается, чуть медленнее XT (5160). Он откуда XMS - не понятно, у меня такое не появилось с досом 3.30
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    вроде как стек его был неудобен для компиляторов
    Скорее для многозадачных ОС типа SymbOS, которые появились только в 21 веке. Стек в 6502 ограничен 256 байтами, но в него можно класть и отдельные байты. Обычно 256 байт более чем достаточно и стандартные бейсики иногда использовали низ стековой памяти для временных вычислений.

  4. #3

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    5,043
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    327
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    260 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Стек в 6502 ограничен 256 байтами, но в него можно класть и отдельные байты. Обычно 256 байт более чем достаточно и стандартные бейсики
    и при чём тут, спрашивается, те бейсики, когда я про компиляторы говорил
    представь что-то си-подобное с этим стеком

    Цитата Сообщение от perestoronin Посмотреть сообщение
    Техпроцесс качественная характеристика, пока рано по ней нормировать
    техпроцесс задаёт предел возможной производительности количественно
    допустимые частота, разрядность, число конвейеров - производные, вторичные показатели
    впрочем, начинайте с чего-нибудь)
    Прихожу без разрешения, сею смерть и разрушение...

  5. #4

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    представь что-то си-подобное с этим стеком
    Если вы не используете рекурсии и не передаёте структур по значению, вложенность вызовов до полусотни достаточна. А если вы используете, то у вас не 8-битный ретрокомпьютер с 64К ОЗУ. Повторю, на 6502 стек позволяет работать с байтами - более эконoмно чем с z80. Но операции со стеком 6502 медленнее чем должны быть при сравнении с другими на 1-2 такта - что-то там не доделали.

  6. #5

    Регистрация
    25.11.2011
    Адрес
    г. Красногорск
    Сообщений
    1,389
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Формулу числа Пи неожиданно обнаружили в атоме водорода:

    Скрытый текст


    Я даже подпрыгнула от неожиданности, когда мы получили формулу Валлиса из уравнений для атома водорода, – рассказывает Фридман. – То, что чисто математическая формула 17-го века характеризует физическую систему, которая была обнаружена 300 лет спустя, является удивительно красивой связью между физикой и математикой
    [свернуть]


    Может и нам попробовать воспользоваться той самой формулой и сравнить её с другими методами? Хотя думаю она будет очень медленной
    Последний раз редактировалось perestoronin; 17.11.2015 в 01:50.

    Ретрокладовая продажи

    продажи
    [свернуть]

  7. #6

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

    По умолчанию

    Думаю ускорение примерно в 1,5 раза (для 1000) потянет на заметное
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	pi6.gif 
Просмотров:	150 
Размер:	12.4 Кб 
ID:	54979  
    Вложения Вложения
    Последний раз редактировалось ivagor; 22.11.2015 в 17:26. Причина: Заменил на оптимизированный вариант, добавил исходник

  8. #7

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Думаю ускорение примерно в 1,5 раза
    Откуда XMS? Это значит у вас 80286, как минимум (досбокс? ). На PCE-эмуляторе (первого писи с 8088) ускорение на 40% на 1000 цифрах и только на 25% на 100 цифрах. Хорошую провели оптимизацию, всё что можно загнали в регистры, но, главное, подогнали умножение к случаю. Последнее дало 25% из 40. А первое - с современными оптимизирующими компиляторами не посоревнуешься. Итак, оглашаю данные ваших рекордных программ на почти точном эмуляторе: 100 цифр - 0.82с, 1000 - 54.47с.
    Точное время - большая проблема. Сделал для БК0010 вариант с интерфейсом и расчетом до 2000 цифр, а также с подсчетом времени по таймеру. pi-bk.zip Случился неприятный сюрприз, эмулятор gid неправильно работает с таймером - не поддерживает бит 1. :-( Все использованные эмуляторы (gid, на яве, бк-терак) берут частоту видеопрерывания 50 Гц вместо 48.5 и работают в режиме 11М на процентов 15 быстрее. Пришлось скорректировать результаты. По БК0010 на 100 цифр 7 сек, 1000 - 11м 35с; по БК0011 на 100 6.1с, на 1000 - 10м 3с. Как это соотносится с реальное техникой - большой вопрос. На эту тему меня пригласил кто-то из бк-ников, переслал сообщение с форума. Удивительно, что никто не возьмётся проверить на железе. Получается Спектрума не догнать даже на математике. Ну и что? БК работает по скорости процессора примерно как самый массовый фирменный компьютер Коммодор-64, т.е. БК11М примерно как z80 на 2.2 МГц без задержек. 3ато Радио-86РК точно БК никогда не догонит. Как не хватает в теме знатоков ДВК, УКНЦ, Корветов, Агатов, ...
    Цитата Сообщение от perestoronin Посмотреть сообщение
    полученные результаты по любому нужно нормировать по разрядности и частоте
    Это почти невозможно, нужно будет учитывать тонкие архитектурные особенности. Вот, например, процессоры Intel 8080 или Zilog 80 в почти 4 раза медленнее, чем 6502 работают с памятью. Но это позволяло использовать более высокие частоты для процессора при работе с медленной памятью - эти процессоры выполняли микрокод между обращениями к памяти. 6502 требовал быстрой памяти - если он не обращался к памяти, то простаивал. Конечно, возможно волюнтаристкое нормирование...
    Последний раз редактировалось litwr; 22.11.2015 в 20:36.

  9. #8

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Откуда XMS? Это значит у вас 80286, как минимум (досбокс? ).
    Это pce. В конфиге менял всего две строки
    model = "8088"
    speed = 1
    Использовал образ hd0.img, куда дописывал проверяемые программы.


    Цитата Сообщение от litwr Посмотреть сообщение
    по БК0011 на 100 6.1с, на 1000 - 10м 3с.
    Цитата Сообщение от litwr Посмотреть сообщение
    Радио-86РК точно БК никогда не догонит.
    Насчет РК сложно сказать, но сферический 8080 в вакууме с частотой 1.78 МГц обгоняет.

  10. #9

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

    По умолчанию

    Версия pi32 для Вектора
    Нажмите на изображение для увеличения. 

Название:	pi100.gif 
Просмотров:	334 
Размер:	1.7 Кб 
ID:	55063Нажмите на изображение для увеличения. 

Название:	pi1000.gif 
Просмотров:	347 
Размер:	7.9 Кб 
ID:	55064
    100 цифр - 4.34 сек
    1000 цифр - 403.50 сек - 6 мин 43.50 сек
    Процедурой деления DIV320 я можно сказать горжусь.
    В целом этого спигота для 8080 уже вряд ли удастся сильно оптимизировать.
    Вложения Вложения
    Последний раз редактировалось ivagor; 30.11.2015 в 21:27. Причина: добавил шрифт в архив

  11. #10

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

    По умолчанию

    Если пересчитать на частоту 1.78МГц, то 7.32 сек. Немного быстрее моего варианта, но не на столько кардинально... Хотя, в процентном отношении - неплохая оптимизация.

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

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

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

Эту тему просматривают: 2 (пользователей: 1 , гостей: 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

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

Ваши права

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