User Tag List

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

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

  1. #111

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Писал же - эмулятор первого писи-5150 - http://www.hampa.ch/pce/pce-ibmpc.html. Конечно, 4.77.
    Дело в том, что цифры не стыкуются.
    8088 на 4.77
    Цитата Сообщение от litwr Посмотреть сообщение
    100 цифр за 1.06с, 1000 - за 1м 26.74с
    Цитата Сообщение от litwr Посмотреть сообщение
    6502 2.2Mhz 100 - 3.74c, 1000 - 5м 40.02с
    т.е. не получается
    Цитата Сообщение от litwr Посмотреть сообщение
    даже по максимуму используя преимущества 8088 (деление, умножение) на частоте 4.77 МГц, скорость его работы сравнима с 6502 на 2 Мгц
    Разве что для 6502 уже ускорили в 3.5 раза, но в треде про это информации я не видел

    Для 8088 я бы поускорял, но не на чем проверить и я не в курсе, насколько точна (по таймингам) эмуляция 8088 на сегодняшний день.

  2. #112

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Дело в том, что цифры не стыкуются.
    В чем проблема? Так и есть в 3.5 раза, но на программе, где почти всё время нужно умножать и делить при частоте процессора в 2.15 более высокой. Если взять не столь заматематезированную проблему, то 6502 на 2 МГц может и обогнать 8088 на 4.77 МГц. :-)
    Цитата Сообщение от ivagor Посмотреть сообщение
    Для 8088 я бы поускорял, но не на чем проверить и я не в курсе, насколько точна (по таймингам) эмуляция 8088 на сегодняшний день
    Это отговорка. Дал вам ссылку на очень точный эмулятор. Пусть не на все сто... И потом для сравнения программ абсолютная скорость неважна. Программку можно ускорить, но только подчисткой кода, не меняя алгоритма, полагаю, что только на чуть-чуть.

  3. #113

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

    По умолчанию

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

    Чтобы получить еще большее ускорение алгоритм придется опробовать иной, отличный от рассматриваемого в предложенных программах.

    PS. Умножение табличное 16 на 16 использовать не выгодно.
    Последний раз редактировалось perestoronin; 21.11.2015 в 01:30.

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

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

  4. #114

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

    По умолчанию

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

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

  5. #115

    Регистрация
    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.

  6. #116

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,392
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    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 МГц обгоняет.

  7. #117

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

    По умолчанию

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

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

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

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

  8. #118

    Регистрация
    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 байт более чем достаточно и стандартные бейсики иногда использовали низ стековой памяти для временных вычислений.

  9. #119

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

    По умолчанию

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

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

  10. #120

    Регистрация
    04.03.2010
    Адрес
    Россия. Пятигорск.
    Сообщений
    2,296
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

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

Ваши права

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