Dadda multiplikatori - Dadda multiplier

Panjarani ko'paytirish, o'nlik matematikadan shunga o'xshash tushuncha.

The Dadda multiplikatori bu kompyuter olimlari tomonidan ixtiro qilingan apparat multiplikatori dizayni Luidji Dadda 1965 yilda.[1] Bu o'xshash Wallace multiplikatori, lekin u biroz tezroq (barcha operand o'lchamlari uchun) va kamroq eshiklarni talab qiladi (eng kichik operand o'lchamlaridan tashqari).[2]

Aslida, Dadda va Wallace multiplikatorlari ikkita bitli satrlar uchun bir xil uchta qadamga ega va uzunliklar va mos ravishda:

  1. Ko'paytirish (mantiqiy VA ) har bir bit , har bir bit tomonidan , hosil berish natijalar, ustunlar bo'yicha og'irlik bo'yicha guruhlangan
  2. Qisman mahsulotlar sonini bosqichlar bo'yicha kamaytiring to'liq va yarim qo'shimchalar bizgacha har bir vaznning eng ko'pi ikki biti qolguncha.
  3. Yakuniy natijani an'anaviy qo'shimchalar bilan qo'shing.

Wallace multiplikatorida bo'lgani kabi, birinchi pog'onani ko'paytirish mahsulotlarida ko'paytirishda asl bit qiymatlarining kattaligini aks ettiruvchi turli og'irliklar mavjud. Masalan, bitlarning hosilasi vaznga ega .

Har bir qatlamda iloji boricha kamaytiradigan Wallace multiplikatorlaridan farqli o'laroq, Dadda multiplikatorlari ishlatiladigan eshiklar sonini, shuningdek kirish / chiqish kechikishini minimallashtirishga harakat qilishadi. Shu sababli, Dadda multiplikatorlari arzonroq pasayish bosqichiga ega, ammo oxirgi raqamlar bir necha bit uzunroq bo'lishi mumkin, shuning uchun biroz kattaroq qo'shimchalar kerak bo'ladi.

Tavsif

To'liq to'ldiruvchi sxemaga misol.

Eng maqbul yakuniy mahsulotga erishish uchun qisqartirish jarayonining tuzilishi Wallace multiplikatorlariga qaraganda biroz murakkabroq qoidalar bilan boshqariladi.

Kamayishning o'sishi maksimal balandlik ketma-ketligi bilan boshqariladi , tomonidan belgilanadi:

Bu shunday ketma-ketlikni beradi:

Ning boshlang'ich qiymati eng katta qiymat sifatida tanlangan , qayerda va kiruvchi multiplikand va multiplikatordagi bitlar soni. Ikki bit uzunlikning kichigi, ko'paytirishning birinchi bosqichidan keyin har bir vazn ustunining maksimal balandligi bo'ladi. Har bir bosqich uchun qisqartirishdan, algoritmning maqsadi har bir ustunning balandligini u qiymatidan kichik yoki teng bo'lishiga qadar kamaytirishdir. .

Dan har bir bosqich uchun , eng kichik vazn ustunidan boshlab har bir ustunni kamaytiring, ushbu qoidalarga muvofiq:

  1. Agar ustun kamaytirishni talab qilmaydi, ustunga o'ting
  2. Agar natijani ustunning pastki qismiga va ko'tarishni ustunning yuqori qismiga qo'yib, yarim qo'shimchada yuqori ikkita elementni qo'shing , keyin ustunga o'ting
  3. Boshqa holda, natijani ustunning pastki qismiga va yukni ustunning yuqori qismiga qo'yib, yuqori qo'shimchani to'liq qo'shib qo'ying. , qayta ishga tushirish 1-qadamda

Algoritm misoli

8 × 8 multiplikatorida Dadda pasayishiga misol. Og'irligi pastroq bo'lgan bitlar eng to'g'ri.

Qo'shni rasmdagi misol, bu erda tushuntirilgan 8 × 8 multiplikatorining kamayishini tasvirlaydi.

Dastlabki holat sifatida tanlanadi , eng katta qiymati 8 dan kam.

Bosqich ,

  • barchasi balandligi olti bitdan kam yoki teng, shuning uchun hech qanday o'zgarishlar qilinmaydi
  • , shuning uchun yarim qo'shimchani qo'llang, uni olti bitga kamaytiring va tashish qismini qo'shib qo'ying
  • shu jumladan yuk tashish biti , shuning uchun biz oltita bitgacha kamaytirish uchun to'liq qo'shilgan va yarim qo'shimchani qo'llaymiz
  • shu jumladan ikkita ko'chirish biti , shuning uchun biz yana oltita bitgacha kamaytirish uchun to'liq qo'shilgan va yarim qo'shimchani qo'llaymiz
  • shu jumladan ikkita ko'chirish biti , shuning uchun biz bitta to'liq qo'shimchani qo'llaymiz va olti bitgacha kamaytiramiz
  • balandligi oltita bitdan kam yoki unga teng, shuning uchun hech qanday o'zgarish amalga oshirilmaydi

Bosqich ,

  • balandligi to'rt bitdan kichik yoki teng, shuning uchun hech qanday o'zgarishlar qilinmaydi
  • , shuning uchun yarim qo'shimchani qo'llang, uni to'rtta bitga kamaytiring va tashish qismini qo'shib qo'ying
  • shu jumladan yuk tashish biti , shuning uchun biz uni to'rt bitgacha kamaytirish uchun to'liq qo'shilgan va yarim qo'shib qo'yamiz
  • oldingi ko'chirish bitlarini ham o'z ichiga olgan, shuning uchun ularni to'rtta bitgacha kamaytirish uchun ikkita to'liq qo'shimchani qo'llaymiz
  • oldingi ko'chirish bitlarini ham o'z ichiga olgan, shuning uchun biz uni to'rt bitgacha kamaytirish uchun to'liq qo'shimchani qo'llaymiz
  • ularning barchasi balandligi to'rt bitdan kichik yoki teng, shu jumladan tashish bitlari, shuning uchun hech qanday o'zgartirishlar kiritilmaydi

Bosqich ,

  • balandligi uch bitdan kam yoki teng, shuning uchun hech qanday o'zgarishlar qilinmaydi
  • , shuning uchun yarim qo'shimchani qo'llang, uni uchta bitga kamaytiring va tashish qismini qo'shib qo'ying
  • avvalgi tashish bitlarini ham o'z ichiga olgan, shuning uchun ularni uchta bitga kamaytirish uchun bitta to'liq qo'shimchani qo'llaymiz
  • balandligi uch bitdan kichik yoki unga teng, shu bilan birga tashish bitlari, shuning uchun hech qanday o'zgartirishlar kiritilmaydi

Bosqich ,

  • barchasi balandligi ikki bitdan kichik yoki unga teng, shuning uchun hech qanday o'zgarishlar qilinmaydi
  • , shuning uchun yarim qo'shimchani qo'llang, uni ikki bitga kamaytiring va tashish qismini qo'shib qo'ying
  • oldingi ko'chirish bitlarini ham o'z ichiga olgan, shuning uchun ularni ikkita bitga kamaytirish uchun bitta to'liq qo'shimchani qo'llaymiz
  • shu jumladan yuk tashish biti , shuning uchun hech qanday o'zgartirishlar kiritilmaydi

Qo'shish

Oxirgi bosqichning natijasi standart qo'shimchaga o'tkazilishi mumkin bo'lgan ikki yoki undan past balandlikdagi 15 ta ustunni qoldiradi.

Shuningdek qarang

Adabiyotlar

  1. ^ Dadda, Luidji (1965 yil may). "Parallel ko'paytuvchilar uchun ba'zi sxemalar". Alta Frequenza. 34 (5): 349–356.
  2. ^ Taunsend, Uitni J.; Svartzlander, kichik, Erl E.; Ibrohim, Yoqub A. (2003 yil dekabr) [2003-08-06]. "Dadda va Uollesni ko'paytiruvchi kechiktirishlarni taqqoslash" (PDF). SPIE Kengaytirilgan signallarni qayta ishlash algoritmlari, arxitekturalari va amalga oshirilishi XIII. Xalqaro jamiyat. doi:10.1117/12.507012. Arxivlandi (PDF) asl nusxasidan 2018-07-16. Olingan 2018-07-16.

Qo'shimcha o'qish