Откуда 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РК точно БК никогда не догонит.Как не хватает в теме знатоков ДВК, УКНЦ, Корветов, Агатов, ...
Это почти невозможно, нужно будет учитывать тонкие архитектурные особенности. Вот, например, процессоры Intel 8080 или Zilog 80 в почти 4 раза медленнее, чем 6502 работают с памятью. Но это позволяло использовать более высокие частоты для процессора при работе с медленной памятью - эти процессоры выполняли микрокод между обращениями к памяти. 6502 требовал быстрой памяти - если он не обращался к памяти, то простаивал. Конечно, возможно волюнтаристкое нормирование...





). На PCE-эмуляторе (первого писи с 8088) ускорение на 40% на 1000 цифрах и только на 25% на 100 цифрах. Хорошую провели оптимизацию, всё что можно загнали в регистры, но, главное, подогнали умножение к случаю. Последнее дало 25% из 40. А первое - с современными оптимизирующими компиляторами не посоревнуешься. Итак, оглашаю данные ваших рекордных программ на почти точном эмуляторе: 100 цифр - 0.82с, 1000 - 54.47с.
Ответить с цитированием
