Leave a comment

Comments 3

1500py470 May 6 2019, 23:00:19 UTC
А о реализации троичного умножения с представлением трита двумя битами не думал? 18 троичных разрядов это 28 двоичных емнип количество линий и точность будут скорее примерно равными, но со знаком мучаться не прийдётся уже.

Reply

nabbla1 May 7 2019, 00:49:53 UTC
Пока не задумывался. Знаю, что ур. троичные операции куда элегантнее - не нужно делать расширение знака при изменении разрядности, не нужно делать округление (простое отсечение - и есть лучшее округление до нужной точности), не нужно специально рассматривать старший бит, проще делается изменение знака, диапазон значений симметричен относительно нуля.

Но сначала надо было посмотреть всё то же самое в двоичном виде, чтобы было, с чем сравнивать. До прошлого месяца я был уверен, что корректное округление аппаратно реализовать очень тяжело, а оказалось - оно очень органично ложится :)

Может, летом попробую и в тритах то же самое сделать.

Reply

nabbla1 May 27 2019, 02:29:09 UTC
Оказывается, есть довольно прикольное "уравновешенное четверичное" умножение для самого обычного бинарного представления, позволяющее на одном самом обычном сумматоре за каждый такт обрабатывать по 2 "строки", так что 16-битный умножитель выполнит работу за 8 тактов.

Не знаю, использовалось ли оно в на практике, но брату про него рассказывали на "теории автоматов".

На удивление здорово ложится в альтеровские/интеловские/воронежские ПЛИС.

Reply


Leave a comment

Up