Паралельні клітинки суфіксів з префіксами в Negabinary


14

Я намагаюся створити доповнювач паралельних префіксів для доповнювача на основі негабірину. Негабінарний - це основа замість звичної бінарної бази . Кожен 1-бітний суматор генерує суму, а два (замість одного у двійковій) несуть, що переходять до наступного суматора.2-22

Щоб зробити суматор швидшим, я хочу використовувати паралельну структуру префікса, як структура Ladner-Fischer, наведена нижче. Я знайомий з функціональністю фіолетової комірки у двійковій системі, але я не впевнений, як я міг отримати такий же функціонал у негабінарній системі.

Причиною, що я роблю це, є просто заради забави, я ще не знайшов жодного використання для негабінарних.

Формули для обчислення суми і несе:

сi=аiбi(ci++ci-)

ci+1+=аi¯бi¯ci+¯ci-

ci+1-=аiбici-¯+аici+ci-¯+бici+ci-¯

Структура дерева Ладнер-Фішер несе:

введіть тут опис зображення

Якщо щось незрозуміле, запитайте, будь ласка, не соромтеся.


Хоча це може бути цікавим питанням, це, здається, не є електричним питанням, і, можливо, вам пощастить взяти його до математики SE.
Редя

3
Я ставлю це сюди, тому що я думаю, що у EE люди мають більше досвіду роботи з логікою переносу, розробкою
добавок

Це абсолютно питання ЕЕ
напруга Спайк

Здається, вам потрібно більше двох виходів на перенос. Вам не потрібно генерувати та розповсюджувати як носіння, так і позику?
старт

Я припускаю, що ви говорите про структуру Ладнера-Фішера. Це був лише приклад демонструвати паралельне дерево префіксів. Кожен 1-бітний негабінарний суматор видає суму, позитивну та негативну оцінку. Я не впевнений, чи зможемо ми використовувати поняття генерування та поширення з негабінарними.
gilianzz

Відповіді:


1

Напевно, я витратив більше часу на це питання, ніж повинен був, але ось мої висновки.

Я не можу знайти жодного прикладу "чистого" паралельного додавача префіксів для негабінарних чисел. Я також вважаю , що це відкрита проблема, так як я не бачив ніяких доказів того, що це не можливо.

Найближче, що я можу отримати вас, - це використання двоступеневого негативного додавання негативу (в літературі зазвичай скорочено nnba). Він заснований на такому властивості:

Нехай і . Це в основному виключає операція з і відповідно. Потім ви можете це довести g ( x ) = x n - 1 ¯ x n - 2 . . . x 1 ¯ x 0f(х)=хн-1¯хн-2...х1¯х0г(х)=хн-1хн-2¯...х1х0¯0xAA...AA0x55...55

-(а+нбб)=г(f(а)+f(б)+1)

Там, де ліва сторона є негабінарною сумою , тоді як на правій стороні - нормальна двійкова сума.+нб+

Від'ємну суму потім можна просто перевернути, використовуючи ту саму властивість, але з нульовим операндом:

-х=г(f(х)+f(0)+1)

Отже, щоб знайти суму за допомогою паралельних додавачів префікса, ви можете:

  1. Обчислити і , тобто. шляхом перетворення кожного непарного біта негабінарних чиселf(а)f(б)
  2. Обчисліть звичайну двійкову суму, встановивши біт перенесення для LSB ( ), що веде до першої посередницької суми .+1с1
  3. Інвертувати всі біти (це ). Це закінчення першої суми, при цьому також починається інверсія.с1f(г(с1))
  4. Збільшити результат на 0xAA...AB( ), використовуючи паралельний суфікс префікса, даючи другу суму посередника=f(0)+1с2
  5. Обчисліть (перевернувши кожен парний біт), щоб знайти остаточну мінубінарну суму.г(с2)

Насправді я намагався знайти "чисту" паралельну приставку префікса, але вважав це занадто складним для того часу, який я був готовий витратити на це. Ось чому:

Вся суть паралельних суфіксів префікса полягає у пошуку деякої операції що дозволяє легко обчислити (у цьому випадку 2) несе з цих бітів. Як додаткове обмеження, операція повинна бути асоціативною для обчислення паралельно. Наприклад, це в основному виключає жодного оператора NOT (що не є частиною подвійного заперечення). Наприклад: - не асоціативний оператор, оскільки{0,1}н×{0,1}н{0,1}наб=аб¯

(аб)c=аб¯c¯а(бc)=абc¯¯

Зауважте, що булевий оператор для ваших запитань включає змішані терміни і , що робить неможливим його використання як є. Для одиночного перенесення в звичайному бінарному додаванні стало цілком очевидно, як побудувати цього оператора, думаючи про нього з точки зору генерації та розповсюдження , але це здається не таким очевидним для негабінарних переносів.ci+ci-¯ci-ci+¯


Моє теперішнє розуміння полягає в тому, що побудувати цю «чисту» паралельну додаток префікса фактично неможливо. Здавалося б, паралельний суфікс префікса може отримати ефективність O (log (N)), тоді як негабінарний еквівалент завжди має складність O (2 * log (N)) (2x nnba).
gilianzz

Я не знайшов жодної літератури, яка підтверджувала б або стверджувала, що це неможливо . Я був би радий, що в будь-якому випадку виявився невірним. Але наскільки я можу сказати, 2-ступінчаста nnba є стандартом для негабінарного додавання.
Свен Б
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.