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

User Tag List

Страница 11 из 32 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 313

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

  1. #101
    Veteran Аватар для sergio78
    Регистрация
    27.10.2011
    Адрес
    Самара
    Сообщений
    1,144
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    25 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #102
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,881
    Спасибо Благодарностей отдано 
    667
    Спасибо Благодарностей получено 
    1,891
    Поблагодарили
    1,073 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Интересно, что для 8085 можно оптимизировать pi32 на уровне z80 (может даже лучше). Там мало новых команд, но это именно те команды, что надо

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

    По умолчанию

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

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


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


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

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

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

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

    По умолчанию

    Сделал пока программку для БК. Запускал в эмуляторе BK-TERAK, который вроде бы работает чуть быстрее чем положено. Проверил бы кто на реальном железе... Спектрум не догоняет. Писать на ассемблере БК одно удовольствие, но работает медленно.
    На этом эмуляторе 100 цифр за 6 сек, 1000 - за 9м 21с.
    Прикрепляю и файлы для "иностранцев" с исходниками и файлами для эмуляторов или для переноса на железо.
    Нажмите на изображение для увеличения. 

Название:	bk.png 
Просмотров:	237 
Размер:	12.3 Кб 
ID:	54933
    pi-bk.zip
    pi-amstrad-cpc.zip
    pi-commodore264.zip

    Цитата Сообщение от sergio78 Посмотреть сообщение
    это получается что 6502 быстрее z80, архитектурно лучше сделан? несмотря на то что сделали 6502 раньше на несколько лет. слышал у 6502 ещё хитрый 10 значный режим имеется, случаем не его здесь испльзуют в подсчётах?
    6502 - это как окно в мир, где просто делают хорошие вещи, без оглядки на маркетинг и политику. Его сделали по революционной технологии, по которой цена получалась раз в 5 меньше, а скорость в 2-3 большей. Возможно z80 это была глубоко эшелонированная защита связанной с политикой Intel от развития этой технологии, результаты который были достигнуты только с 80186. В итоге фирма MOSTEC была разгромлена еще в 1976 и 6502 штамповали почти без изменений до начала 90-х. Но 6502 успел вдохновить на разработку первых ARM.
    Как слышал от знатоков, американских программистов, которые в 80-е писали под разные платформы (6502, z80, 6809, ...), соотношение по скорости 6502 к z80 принималось от 2.2 (меньшинством) до 2.4 (большинством). Хотя на командах пересылки данных ldir/lddr z80 только на 50% медленнее. С другой стороны, на переходах он уже медленнее в 4 раза. По мнению этих же знатоков коды для z80 получались процентов на 10-20 поменьше. Работать c BCD умели и 8080/z80 и все x86 до архитектуры x86-64, но в 6502 это сделано напрямую без дополнительных команд, существенно быстрее.

    Цитата Сообщение от ivagor Посмотреть сообщение
    На мой взгляд хорошая обзорная статья, в которой рассмотрены основные алгоритмы и приведено много ссылок. Да, готовые процедуры там не на все случаи жизни, но для 8080 я оттуда готовыми и не пользовался, а вот некоторые алгоритмы впервые увидел там (это было, скажем так, не сегодня).
    Возможно выразился излишне резко. Имел только в виду, что для того, кому нужно умножение или деления, статья малополезна. Прочитав её, можно с неделю сочинять сочинения на тему "хорошие алгоритмы" и только.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Интересно, что для 8085 можно оптимизировать pi32 на уровне z80 (может даже лучше). Там мало новых команд, но это именно те команды, что надо
    Не перепрограммировались? Насколько знаю, в 8085 новых команд для арифметики нет.

  5. #105
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,881
    Спасибо Благодарностей отдано 
    667
    Спасибо Благодарностей получено 
    1,891
    Поблагодарили
    1,073 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    100 цифр за 6 сек, 1000 - за 9м 21с
    Интуиция настоятельно подсказывает мне, что 8080 с частотой 1.78 МГц может посчитать почти за то же самое время.

    Цитата Сообщение от litwr Посмотреть сообщение
    Насколько знаю, в 8085 новых команд для арифметики нет.
    Это неплохо документированные "недокументированные" команды. Благодаря dkspb теперь известно, что и в 1821ВМ85 они тоже есть.

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

    Здорово, что сделали расчет пи для БК!
    Последний раз редактировалось ivagor; 18.11.2015 в 21:43. Причина: исправил опечатку

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Интуиция настоятельно подсказывает мне, что 8080 с частотой 1.78 МГц может посчитать почти за то же самое время.
    Не надорвитесь. Сделал ещё вариант для БК0011М с интерфейсом и замером времени по 48.5 Гц прерыванию. В более точном эмуляторе 100 цифр за 4.5 секунды, 1000 - за 7м 31.3с. Это уже близко к Спектруму, а может и чуть быстрее. Для окончательного вердикта нужен прогон на железе.
    Не удержался и сделал ещё программку для IBM PC (команды только для 8088). 3апустил в довольно аккуратном эмуляторе первых РС РСЕ (т.е. и примерно и наших ЕС-1840/1841, ...), результат 100 цифр за 1.06с, 1000 - за 1м 26.74с. Получается, что даже по максимуму используя преимущества 8088 (деление, умножение) на частоте 4.77 МГц, скорость его работы сравнима с 6502 на 2 Мгц (Apple III, Commodore CBM II, BBC Micro) или даже с z80 на 4 Мгц. Кстати, упомянутые коммодоры и бибисишки на американский рынок просто не пустили...

    pi-bk11m.zip
    Нажмите на изображение для увеличения. 

Название:	ibm-pc.png 
Просмотров:	259 
Размер:	15.0 Кб 
ID:	54949pi-ibmpc.zip

    Цитата Сообщение от ivagor Посмотреть сообщение
    Это неплохо документированные "недокументированные" команды. Благодаря dkspb теперь известно, что и в 1821ВМ85 они тоже есть.
    Благодарю, не знал. Там, действительно, мощные команды, лучшие чем у z80. Странно, что Интел их скрыла - политика... Но разве в Радио-86РК не 8080? В СССРе делать 8085 массово не умели (в вики про 8085 почти ничего)?
    Последний раз редактировалось litwr; 20.11.2015 в 10:48.

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

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Но разве в Радио-86РК не 8080?
    Нет, там КР580ВМ80А.

  9. #108
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,881
    Спасибо Благодарностей отдано 
    667
    Спасибо Благодарностей получено 
    1,891
    Поблагодарили
    1,073 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    litwr, респект за разнопроцессорную реализацию расчета пи.

    Цитата Сообщение от litwr Посмотреть сообщение
    результат 100 цифр за 1.06с, 1000 - за 1м 26.74с. Получается, что даже по максимуму используя преимущества 8088 (деление, умножение) на частоте 4.77 МГц, скорость его работы сравнима с 6502 на 2 Мгц (Apple III, Commodore CBM II, BBC Micro) или даже с z80 на 4 Мгц.
    Не врубился - 100 цифр за 1.06с это на какой частоте? Если 4.77, то это довольно неплохо. Ну и программу для 8088 можно заметно ускорить (не стоит использовать команды умножения, таблицы - наше все).

    По поводу использования клонов 8085 в советских компьютерах - как минимум были ПК-6128Ц (своеобразный клон вектора) и Русич (своеобразный клон специалиста). Плюс на zx-pk.ru есть темы о новодельных вариациях на 1821ВМ85 (или ИМ85?)

    Еще исправлюсь - выше неправильно написал ник dk_spb

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    не стоит использовать команды умножения, таблицы - наше все
    Признаю ошибку, в общем случае mul 16*16 быстрее. Но все же можно немного ускорить *10000

  10. #109
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,258
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    216
    Поблагодарили
    187 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Не врубился - 100 цифр за 1.06с это на какой частоте?
    5 МГц, вряд ли он турбировал 1801ВМ1 до 6-ти.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    litwr, респект за разнопроцессорную реализацию расчета пи.
    Не врубился - 100 цифр за 1.06с это на какой частоте? Если 4.77, то это довольно неплохо. Ну и программу для 8088 можно заметно ускорить.
    Писал же - эмулятор первого писи-5150 - http://www.hampa.ch/pce/pce-ibmpc.html. Конечно, 4.77. В досбоксе надо ставить cycles=fixed 200 примерно, но досбокс для точного времени очень плох.
    Ускорьте.

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    вряд ли он турбировал 1801ВМ1 до 6-ти.
    Если вы с железом, так дайте результаты. Интересно узнать данные с 6 МГц.

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

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

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

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

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

Ваши права

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