Извиняюсь за придирку, ничего личного, просто за Z80 обидно. Потому что непонятно, как программа на Z80 - корявая, а программа для КР580 нет. Мне кажется программа вычислений у них почти одинаковая (тем более, что все подпрограммы для арифм.вычислений, что я видел, написаны для КР580).Сообщение от rw6hrm
6502 для многоразрядной арифметики удобнее, чем КР580 (подобные подпрограммы для 6502 изучаются во всех учебниках). Но вот удобнее ли он, чем Z80, если грамотно задействовать все его регистры (особенно индексные), это ещё надо проверить.
Почему "сабж не пойдётъ"? Это разве верная информация, что сопроцессор работает, минимум, на 4 МГц. Что на 2.5 МГЦ уже не сможет? Этого не может быть, т.к "сабж" успешно работал и с 6502 на такте всего 1 МГЦ.
Даже если Z80 на такте 8 МГЦ, то сабж всё-равно имеет смысл, т.к аппаратная поддержка плавающей точки ускоряет не в 2-3 раза, а в сотни раз. А для того, чтобы быстрые CPU могли работать с медленными устройствами, в них предусматривают вход READY. Его не было лишь у микропроцессора 6800 из 1974 (для удлинения цикла доступа для обращений к медленным устройствам рекомендовали "вырезать" один импульс такта 6800. А 6802 и последующие 68xx имеют вход READY).
Для бытового компьютера "сабж" малополезен. С необходимостью считать синус сталкивался только при рисовании кругов в бейсике СПЕЦИАЛИСТА (где нет "Circle). Но оказалось, что из-за скоростных проблем считать синус для этих целей гораздо проще и выгоднее табличным методом. "Сабж" поддерживает единственный ЯВУ Паскаль МТ+, и при желании легко написать программу расчёта полета на Луну, но надо ли это в бытовой ЭВМ?
Что касается NANO, то это просто "конструкция от нечего делать". Стоило ли применять "сабж" ради того, чтобы сократить объём бейсика с плавающей точкой до 3 кб, с'экономив за счёт дорогого и дефицитного сопроцессора пару килобайт в ПЗУ и резко увеличить скорость расчётов. 2 кб объёма ПЗУ (расходуемые на подпрограммы для плавающей точки) в деньгах стОят в 20 раз меньше, чем сопроцессор. Кроме того этот бейсик уровня TINY, а для них вообще не нужна плавающая точка, они всегда целочисленные.
Да и вообще бейсик с плавающей точкой это буржуйское извращение. Первый бейсик в Apple-II был Integer, целочисленный и никто не жаловался. Потом Билл Гейтс сделал в бейсиках плавающую точку, мотивируя это тем, что теперь "Вы можете считать свои деньги с высокой точностью". А если считать проценты от вкладов в банке или траекторию улёта с этой планеты пользователю не требуется, зачем нужен бейсик с плавающей точкой? Бейсик и без того тормозятина, зачем его тормозить дополнительно. Разве, когда мы пишем программы на ассемблере мы ощущаем потребность в вычислениях с плавающей точкой, причём с точность до 38 знаков? Достаточно было на 2 порядка поднять размерность Integer чисел, точности в 6 знаков достаточно.




Ответить с цитированием