गुणा करने का तेजी से जिस तरह से मैं निम्नलिखित डेटा है:दो 1-डी सरणियों
A = [a0 a1 a2 a3 a4 a5 .... a24]
B = [b0 b1 b2 b3 b4 b5 .... b24]
जो मैं तो इस प्रकार गुणा करने के लिए करना चाहते हैं:
C = A * B' = [a0b0 a1b1 a2b2 ... a24b24]
यह स्पष्ट रूप से 25 गुणा शामिल है।
हालांकि, मेरे परिदृश्य में, केवल 5 नए मान प्रति "लूप पुनरावृत्ति" में स्थानांतरित किए जाते हैं (और 5 पुराने मान ए से बाहर स्थानांतरित किए जाते हैं)। क्या इस तथ्य का फायदा उठाने का कोई तेज़ तरीका है कि डेटा पूरी तरह से नए होने के बजाय ए के माध्यम से स्थानांतरित हो रहा है? आदर्श रूप से मैं गुणात्मक संचालन की संख्या को कम करना चाहता हूं (शायद अधिक जोड़/घटाव/संचय की लागत पर)। मैंने शुरू में सोचा था कि एक सिस्टोलिक सरणी मदद कर सकती है, लेकिन यह नहीं (मुझे लगता है !?)
अद्यतन 1: नोट बी लंबी अवधि के लिए तय किया गया है, लेकिन इसे पुन: प्रोग्राम किया जा सकता है।
अद्यतन 2: एक [24] < = एक [19], एक [23] < = एक [18] ... एक [1] < = new01, एक [: एक का स्थानान्तरण निम्नलिखित की तरह है 0] < = नया 00। और इसलिए प्रत्येक घड़ी चक्र
बहुत धन्यवाद!
क्या 'बी' स्थानांतरण की पूरी प्रक्रिया के माध्यम से वही रहता है? – dasblinkenlight
समानांतर या 1 गुणक में काम करने के लिए 5 गुणक बनाने के लिए 5 गुणक बनाने के बारे में कैसे 5x दर पर घड़ी? –
बी जैसा है? जैसे यदि यह निश्चित फिल्टर लंबाई के साथ एक डीएसपी एल्गोरिदम था, तो बी में 2 बिट्स सेट से कम औसत वाले छोटे गुणांक शामिल हो सकते हैं। –