Кіріспе

Сандық сигналдарды өңдеуде жиі кездесетін операция. Компьютерлік, әсіресе цифрлық сигналдарды өңдеуде, көбейту-қосу (MAC) немесе көбейту-жинау (MAD) операциясы – екі санның көбейтіндісін есептеп, осы көбейтіндіні аккумуляторға қосудың әдеттегі қадамы. Операцияны орындайтын аппараттық құрылғы көбейту-жинау құрылғысы (MAC блогы) деп аталады; операцияның өзі де MAC немесе MAD операциясы деп аталады. MAC операциясы аккумуляторды өзгертеді: нақты сандармен орындалғанда, ол екі дөңгелектеумен (көптеген DSP процессорларында қалыпты жағдай) немесе бір дөңгелектеумен орындалуы мүмкін. Бір дөңгелектеумен орындалса, ол біріктірілген көбейту-қосу (FMA) немесе біріктірілген көбейту-жинау (FMAC) деп аталады. Қазіргі заманғы компьютерлерде арнайы MAC болуы мүмкін, ол комбинациялық логикада іске асырылған көбейтушіден, содан кейін қосушыдан және нәтижені сақтайтын аккумулятор тіркелгісінен тұрады. Тіркелгінің шығысы қосушының бір кірісіне кері беріледі, сондықтан әрбір сағат циклында көбейтушінің шығысы тіркелгіге қосылады. Комбинациялық көбейтушілерге көп логикалық элементтер қажет, бірақ олар көбейтіндіні бұрынғы компьютерлерге тән ығыстыру және қосу әдісіне қарағанда әлдеқайда жылдам есептей алады. Перси Людгейт MAC-ті алғаш рет 1909 жылғы Аналитикалық машинасының құрамында ойлап тапты және MAC-ті бөлу үшін алғаш рет пайдаланды (кері шамамен көбейту арқылы, (1+x)^(-1) жуықталған қатарлық арқылы). MAC блогымен жабдықталған алғашқы заманауи процессорлар – цифрлық сигнал процессорлары болды, бірақ бұл техника қазір жалпы мақсаттағы процессорларда да кеңінен қолданылады.

Жылжымалы нүктелік арифметикада

Бүкіл сандармен жұмыс істегенде, операция әдетте нақты болады (екідің белгілі бір дәрежесіне дейін есептелінеді). Дегенмен, қозғалатын нүктелі сандардың математикалық дәлдігі шектеулі. Яғни, сандық қозғалатын нүктелі арифметика, әдетте, ассоциативті немесе дистрибутивті болып табылмайды. (Қараңыз .) Сондықтан, көбейту-қосу операциясы екі дөңгелектеумен немесе бір операцияда, бір дөңгелектеумен (біріктірілген көбейту-қосу) орындалса, нәтижеге әсер етеді. IEEE 754 2008 стандарты оны бір дөңгелектеумен орындау қажет екенін көрсетеді, бұл дәлірек нәтиже береді.

Нүктелі өнімнің нұсқаулығы

Кейбір машиналар бірнеше біріктірілген көбейту-қосу операцияларын бір қадамға біріктіреді, мысалы, екі 128 биттік SIMD тіркегіште a0×b0 + a1×b1 + a2×b2 + a3×b3 есебін бір цикл ішінде орындайды.