LINUX.ORG.RU

История изменений

Исправление Crocodoom, (текущая версия) :

А разве если твой умножитель может принять на умножение 32-битные числа (то есть умножитель 64-битный и результат помещается), то в чем проблема ему умножить 16-битные числа? Аппаратура же может просто сделать zero-extend до 32-ух бит.

Проблема в падении перфа. Если есть умножитель, который умеет умножать два 32-битных числа, то не надо в него умножения 16-битных пихать. Обе операции займут один тик [1], но умножать нативную разрядность эффективнее. Внезапно, когда пишешь на сях, надо думать об эффективности, о боже мой!

[1] Фиксированное число тиков, вообще говоря, но для изложения несущественно

Исходная версия Crocodoom, :

А разве если твой умножитель может принять на умножение 32-битные числа (то есть умножитель 64-битный и результат помещается), то в чем проблема ему умножить 16-битные числа?

Проблема в падении перфа. Если есть умножитель, который умеет умножать два 32-битных числа, то не надо в него умножения 16-битных пихать. Обе операции займут один тик [1], но умножать нативную разрядность эффективнее. Внезапно, когда пишешь на сях, надо думать об эффективности, о боже мой!

[1] Фиксированное число тиков, вообще говоря, но для изложения несущественно