История изменений
Исправление
Crocodoom,
(текущая версия)
:
А разве если твой умножитель может принять на умножение 32-битные числа (то есть умножитель 64-битный и результат помещается), то в чем проблема ему умножить 16-битные числа? Аппаратура же может просто сделать zero-extend до 32-ух бит.
Проблема в падении перфа. Если есть умножитель, который умеет умножать два 32-битных числа, то не надо в него умножения 16-битных пихать. Обе операции займут один тик [1], но умножать нативную разрядность эффективнее. Внезапно, когда пишешь на сях, надо думать об эффективности, о боже мой!
[1] Фиксированное число тиков, вообще говоря, но для изложения несущественно
Исходная версия
Crocodoom,
:
А разве если твой умножитель может принять на умножение 32-битные числа (то есть умножитель 64-битный и результат помещается), то в чем проблема ему умножить 16-битные числа?
Проблема в падении перфа. Если есть умножитель, который умеет умножать два 32-битных числа, то не надо в него умножения 16-битных пихать. Обе операции займут один тик [1], но умножать нативную разрядность эффективнее. Внезапно, когда пишешь на сях, надо думать об эффективности, о боже мой!
[1] Фиксированное число тиков, вообще говоря, но для изложения несущественно