Это лукавство, я не думаю что оно десятичными знаками умножает/делит. Тогда в двоичной системе надо умножать/делить сразу на 4 разряда.
Да есть, и они кому-то ее даже продавали. BDС на каком-то историческом отрезке жил, может из табуляторов/калькуляторов пришел. Но фундаментальных преимуществ у BDC нету, поэтому оно умерло. Число 10 вообще математически ничем не примечательно. Раскладывается на 2x5, было бы у человека три руки, да по три пальца - вот это гораздо интереснее. Ну или четыре пальца вместо пяти - про десятичную систему знали бы сейчас примерно столько сколько про шестидесятиричную.
Правда. Потому что для умножения сразу десятичными знаками нужна аппаратура - соответствующий умножитель. А ее нету. Поэтому микрокод иначе как через костыли работать не может. И если уж ухитриться умножать программно сразу десятичным разрядом, то аналогичный алгоритм на шестнадцатиричном разряде (тетраде) будет гораздо эффективнее.
Кому известен? CIS прочитан? Dibol разобран?
Так я и спрашиваю - это кто-то сделал? Или всё это - обычные догадки, типа - говорят, "у J11 производительность до 2.5-3 миллионов операций регистр-регистр в секунду". Что оказалось неправдой.
Пока я только вижу, что про CIS и её реализацию ходят много догадок и предположений.
И пока я - единственный человек (на этом форуме), который хоть как то трогал эти инструкции.
Последний раз редактировалось Hunta; 15.10.2020 в 09:48.
Да, догадки и предположения. Но - основанные на личном богатом многолетнем опыте реализаций длинных арифметик для криптографии - обычной, модульной, по модулю 2. Шнайер и третий том Кнута долго были моими настолниыми книгами
Просто напиши умножение двух BDC чисел на том же PDP-11 без использования специальных инструкций, чисто реализация алгоритма. И то же самое для умножения числе в дополнительном коде. И сравни. Дополнительный код будет компактнее и быстрее. Можно сделать то же самое для 8080, который типа продвинут и имеет десятичную коррекцию, на результат оно не должно повлиять. Почему ты думаешь что реализация десятичного алгоритма в микрокоде будет эффективнее двоичного алгоритма там же? Алгоритм он и есть алгоритм, если нет аппаратного ускорения (а его в LSI нет точно, насчет F11 - очень сомнительно) , то разница в результатах на одинаковой платформе будет точно та же.
Последний раз редактировалось Vslav; 15.10.2020 в 10:27.
Нет, можно утверждать что:
- программная реализация умножения BDC будет медленнее программной реализации двоичного кода, за исключением случаев когда есть инструкция умножения базового слова. Для многих процессоров двоичный MUL есть, а вот десятичного MUL пока не попадалось, BDC пролетает.
- то же самое для микрокодовой реализации, двоичной сейчас нет, да, только CIS. Но для LSI-11 уже можно сделать, написан нормальный микроассемблер, можно пробовать.
- аппаратные реализации, скорее всего будут одинаковы.
Можно попытаться сравнить быстродейситвие CIS BDC с обычным MUL. Какой длины слова CIS позволяет умножать?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)