это получается что 6502 быстрее z80, архитектурно лучше сделан? несмотря на то что сделали 6502 раньше на несколько лет. слышал у 6502 ещё хитрый 10 значный режим имеется, случаем не его здесь испльзуют в подсчётах?
это получается что 6502 быстрее z80, архитектурно лучше сделан? несмотря на то что сделали 6502 раньше на несколько лет. слышал у 6502 ещё хитрый 10 значный режим имеется, случаем не его здесь испльзуют в подсчётах?
На мой взгляд хорошая обзорная статья, в которой рассмотрены основные алгоритмы и приведено много ссылок. Да, готовые процедуры там не на все случаи жизни, но для 8080 я оттуда готовыми и не пользовался, а вот некоторые алгоритмы впервые увидел там (это было, скажем так, не сегодня).
- - - Добавлено - - -
Интересно, что для 8085 можно оптимизировать pi32 на уровне z80 (может даже лучше). Там мало новых команд, но это именно те команды, что надо![]()
Формулу числа Пи неожиданно обнаружили в атоме водорода:Скрытый текст
Я даже подпрыгнула от неожиданности, когда мы получили формулу Валлиса из уравнений для атома водорода, – рассказывает Фридман. – То, что чисто математическая формула 17-го века характеризует физическую систему, которая была обнаружена 300 лет спустя, является удивительно красивой связью между физикой и математикой[свернуть]
Может и нам попробовать воспользоваться той самой формулой и сравнить её с другими методами? Хотя думаю она будет очень медленной![]()
Последний раз редактировалось perestoronin; 17.11.2015 в 01:50.
Ретрокладовая продажи
Сделал пока программку для БК. Запускал в эмуляторе BK-TERAK, который вроде бы работает чуть быстрее чем положено. Проверил бы кто на реальном железе... Спектрум не догоняет. Писать на ассемблере БК одно удовольствие, но работает медленно.
На этом эмуляторе 100 цифр за 6 сек, 1000 - за 9м 21с.
Прикрепляю и файлы для "иностранцев" с исходниками и файлами для эмуляторов или для переноса на железо.
pi-bk.zip
pi-amstrad-cpc.zip
pi-commodore264.zip
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 это сделано напрямую без дополнительных команд, существенно быстрее.
Возможно выразился излишне резко. Имел только в виду, что для того, кому нужно умножение или деления, статья малополезна. Прочитав её, можно с неделю сочинять сочинения на тему "хорошие алгоритмы" и только.
Не перепрограммировались? Насколько знаю, в 8085 новых команд для арифметики нет.
Интуиция настоятельно подсказывает мне, что 8080 с частотой 1.78 МГц может посчитать почти за то же самое время.
Это неплохо документированные "недокументированные" команды. Благодаря dkspb теперь известно, что и в 1821ВМ85 они тоже есть.
- - - Добавлено - - -
Здорово, что сделали расчет пи для БК!
Последний раз редактировалось ivagor; 18.11.2015 в 21:43. Причина: исправил опечатку
Не надорвитесь.Сделал ещё вариант для БК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
pi-ibmpc.zip
Благодарю, не знал. Там, действительно, мощные команды, лучшие чем у z80. Странно, что Интел их скрыла - политика... Но разве в Радио-86РК не 8080? В СССРе делать 8085 массово не умели (в вики про 8085 почти ничего)?
Последний раз редактировалось litwr; 20.11.2015 в 10:48.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
litwr, респект за разнопроцессорную реализацию расчета пи.
Не врубился - 100 цифр за 1.06с это на какой частоте? Если 4.77, то это довольно неплохо. Ну и программу для 8088 можно заметно ускорить (не стоит использовать команды умножения, таблицы - наше все).
По поводу использования клонов 8085 в советских компьютерах - как минимум были ПК-6128Ц (своеобразный клон вектора) и Русич (своеобразный клон специалиста). Плюс на zx-pk.ru есть темы о новодельных вариациях на 1821ВМ85 (или ИМ85?)
Еще исправлюсь - выше неправильно написал ник dk_spb
- - - Добавлено - - -
Признаю ошибку, в общем случае mul 16*16 быстрее. Но все же можно немного ускорить *10000
Писал же - эмулятор первого писи-5150 - http://www.hampa.ch/pce/pce-ibmpc.html. Конечно, 4.77. В досбоксе надо ставить cycles=fixed 200 примерно, но досбокс для точного времени очень плох.
Ускорьте.![]()
Если вы с железом, так дайте результаты. Интересно узнать данные с 6 МГц.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)