Karatsuba ثنائي - خيارات
ريكونفيغورابل تنفيذ كاراتسوبا المضاعف لمنطقة جالويس في المنحنيات الإهليلجية. تعيين هذه الورقة كما السيسي أب شهدي سم إسماعيل N 2010 إعادة التشكيل تنفيذ المضاعف كاراتسوبا لغالويس المجال في المنحنيات البيضاوي في صبح T إليثي K محمود رواية خوارزميات وتقنيات في الاتصالات والشبكات سبرينجر، دوردريشت. كفاءة جوهر حقل غالويس الحساب يحسن أداء منحنى بيضاوي الشكل القائم على مفتاح التشفير التنفيذ العام تصف هذه الورقة تصميم وتنفيذ مضاعف حقل غالويس قابلة لإعادة التشكيل، والذي يتم تنفيذه باستخدام حقل مصفوفة بوابة برمجة فبغاس المضاعف من حقل غالويس على أساس كاراتسوبا ق الفجوة وخوارزمية قهر يسمح لسرعة معقولة من خوارزميات المفتاح العام المستوى الأعلى ثنائي كاراتسوبا مضاعف هو أكثر كفاءة إذا تم اقتطاعه على مستوى N - بت مولتيبليكاند واستخدام خوارزمية مضاعف الكلاسيكية كفاءة في هذه الأعمال الثلاثة مستويات لاقتطاع ثنائي كا خوارزمية راتسوبا 4 بت و 8 بت و 16 بت يتم اختيارها تبين أن 8 بت هو أفضل مستوى لأدنى عدد من الشرائح وتأخير الوقت لاقتطاع خوارزمية ثنائي كاراتسوبا التي تم تصميمها على جهاز فبتيكس زيلينس فيرتكس XCV2600 فبغا يتم بناء نماذج الأجهزة فدل باستخدام زيلينس أيس الأساس البرمجيات هذا العمل هو قادرة على حساب غف 2191 الضرب في 45 889 ns. Batina L منتنس N أورس سب و برينيل B المسلسل المضاعف البنى فوق غف 2 ن لمنحنى إليبتيك كريبتوستمز في وقائع المؤتمر إيتي البحر الأبيض المتوسط ال 12 ميليكون 2004، المجلد 2، الصفحات 779-782 إيي كومبيوتر سوسيتي، ماي 2004 غوغل Scholar. Cheung راي سيسي واين لوك و تشيونج بيتر يك، ريبيفيرابل بيليفتيك كيرفوسيستمز على رقاقة، وقائع التصميم والأتمتة والاختبار في أوروبا مؤتمر ومعرض ديت 05، إيي، 2005.El حاج يوسف وجيه، غيتوني زيد، مشهوت محسن وتوركي راشد، تصميم وتنفيذ بيضاوي الشكل منحنى الضرب نقطة بيأر أوسيسور أوفر غف 2 m، إجسيس المجلة الدولية لعلوم الكمبيوتر والأنظمة الهندسية، المجلد 2، رقم 2، 2008.Ernst M جونغ M و إت فما نظام إعادة التشكيل على تنفيذ رقاقة لمنحنى بيضاوي الشكل التشفير على غف 2N، التشفير الأجهزة والنظم المدمجة تشيس 2002، ورشة العمل الدولية الرابعة، ريدوود شورز، كاليفورنيا، الولايات المتحدة الأمريكية، 2002. هانكيرسون داريل، مينيزيس ألفريد وفانستون سكوت، دليل إليبتيك كريفتوغرافي، سبرينجر، إيسبن 038795273،2004.IEEE P1363 المواصفات القياسية لتشفير المفتاح العمومي مشروع الإصدار 7 ، أيلول / سبتمبر 1998.Lenstra A و فيرهيول E اختيار المقاييس الرئيسية التشفير، بروك ورشة عمل حول الممارسة والنظرية في التشفير المفتاح العام، سبرينغر فيرلاغ، إيسبن 3540669671، ب 446 465، 2000. لوبيز J ودهب R، لمحة عامة عن منحنى إليبتيك التشفير ، تقرير تقني، إيك-00-10، أيار / مايو 2000. لوبيز J و دهب R الضرب السريع على المنحنيات الإهليلجية على غف 2M دون بريبكومبوتاتيون، وقائع ورشة العمل الدولية الأولى على التشفير تشيس 99، سبرينجر-فيرلاغ لنكس 1717، 1999، ب 316 327، كانكون، ميكسيكو، ماي 2003.McEliece ري، الحقول المحدودة لعلماء الكمبيوتر والمهندسين، كلوير الأكاديمية الناشرين، 1987. أورلاندو G و بار كا قابلة لل غف p إليبتيك كيرف برويسور أرتشيتتيور فور بروجرامابل هاردوار، كريبتوغرافيك هاردوار أند إنبديد سيستمز - تشيس 2001، إنترناشونال إنترناشونال وركشوب، باريس، فرنس، ماي 14-16، 2001، بروسيدينغس، فول 2162، ب 348 363، ماي 2001.Paar C فلايشمان P أند سوريا-رودريجيز P الحساب السريع للخوارزميات العامة في حقول غالوا مع الأساطير المركبة إيي 48 10 1025-1034، 1999 كروسريف ماثسينيت غوغل Scholar. Rodriguez - هنريكيز F ساكب نا و دياز-بريز آ موازية سريعة تنفيذ ضرب منحنى إليبتيك نقطة على غف 2m، قسم علوم الحاسب الآلي، قسم الهندسة الكهربائية، سينترو دي إنفستيغاسيون y دي إستوديوس أفانزادوس ديل أند ميكروسيستمز، فول 28، إيسويس 5-6، 2 أوغست 2004، ب 329- 339 غوغل Scholar. Rodriguez-هي نريكيز F ساكب نا دياز بيريز A و كوك سيتين كايا، خوارزميات التشفير على الأجهزة ريكونفيغورابل، سبرينجر، إيسبن 0387338837،2006.Rodriguez - هنريكيز F و كوغ كك على كاراتسوبا موازية بالكامل مضاعفات ل غف 2 م في المؤتمر الدولي لعلوم الكمبيوتر والتكنولوجيا ست، الصفحات 405-410، 2003.Saqib نا رودريغيز-هنريز F و داز-بريز آ المعالج ريكونفيغورابل ل سرعة عالية نقطة الضرب في المنحنيات الإهليلجية، إنت ل J جزءا لا يتجزأ من النظم، المجلد 1، رقم 3 4، 2005.Sherigar مب ماهاديفان أس كومار كس و ديفيد سا المعالج المتوازي بيبليند لتنفيذ خوارزمية ملخص الرسالة MD4 على فبغا زيلينس في فلزيد 98 وقائع المؤتمر الدولي الحادي عشر على تصميم فلسي لمعالجة الإشارات، صفحة 394، واشنطن، دس، الولايات المتحدة الأمريكية، 1998 إيي كومبيوتر سوسيتي كروسريف غوغل سشولار. معلومات حقوق التأليف والنشر. سبرينجر العلوم الأعمال وسائل الإعلام بف 2010.Authors والانتماءات. Karatsuba على أساس المضاعف وطريقة و 2007012179 A2.A طريقة ضرب الأعداد الصحيحة الكبيرة يتم الكشف عن اثنين من أعداد كبيرة، س و ص، يتم تحديد القيم وفقا لعملية كاراتسوبا الضرب على أساس على x و y يتم تحديد القيمة الأولى والثانية وفقا لطريقة الضرب كاراتسوبا أيضا يتم تحديد القيمة الثالثة للاستخدام وفقا لطريقة الضرب كاراتسوبا من خلال تحديد C x1 مل 2 0 y1، y2 مل 0 وتحديد سيسي y1، y2 2m 2m و x1 x2 مل 0 x1 x2 2m 2m و y1 y2 m 0 m حيث هي عملية تحول ذبذبة حيث يتم تنفيذ أند بواسطة أداء منطقي و بت واحد داخل المعامل الأول مع كل بت داخل المعامل الثاني و حيث يشير D جك إلى بتات جث إلى كث من D.،.CLAIMSWhat هو المطالب به. 1 الأسلوب الذي يتضمن توفير بيانات للتشفير تشفير البيانات التي تتألف من ضرب الأعداد الصحيحة x و ص تضم ديت مما يجعل قيمة X 1 و X 2 بحيث X x 1 آم X 2 a هي عدد صحيح، وتحديد قيمة يي و y 2 بحيث ييجامي 2 a هو عدد صحيح، وتحديد أكسج y 1 تحديد B x 2 y 2 وتحديد C من خلال إجراء عملية ضرب بتات m وغياب عملية الضرب التي لها عمليات ذات طول أكبر من m الرموز وتوفير البيانات المشفرة. 2 طريقة وفقا للمطالبة 1 حيث أن تحديد C يتكون من C2 2 مل 0 يي y 2 مل 0، وتحديد سيسي y، y 2 2m 0 و x، x 2 مل 0 شكس 2 2m 0 و يي y m 2 m 0، حيث هي عملية تحول ذبذبة، حيث يتم تنفيذ أند بواسطة أداء منطقي و بتة واحدة داخل المعامل الأول مع كل بتة داخل المعامل الثاني، حيث يشير D جك إلى بتات جث إلى كث من D.3 طريقة وفقا لأي من المطالبتين 1 و 2 تشمل تحديد زي A 10 2l C 10 m B. 4 أسلوب وفقا لأي من المطالبات من 1 إلى 3 حيث يتضمن التحديد C عملية مضاعفة واحدة من البتات M و عدد عمليات الإضافة وعمليات التحول والعمليات المنطقية .5 طريقة وفقا لأي من المطالبات من 1 إلى 4 حيث تتضمن عملية أو أكثر من عمليات الإضافة مشغل على الأقل أطول من m m.6. طريقة وفقا لأي من المطالبات 1 من خلال 5 حيث تكون العملية المضاعفة الوحيدة عملية مضاعفة بتات m حيث تتضمن تعدد عمليات الإضافة عملية إضافة بتة m وعملية إضافة بتات m 1. 7 طريقة وفقا للمطالبات من 1 إلى 6 حيث تكون عملية المضاعفة الواحدة m بالإضافة إلى عملية إضافة بتة m 1 تقع ضمن المسير الحرج لتحديد منتج x و y.8 وهناك دارة تشتمل على دارة تحلل لتحديد قيمة X 1 و X 2 بحيث تكون x x 1 أمكس 2 ولتحديد قيمة يي و y 2 بحيث ييجامي 2 a هو عدد صحيح دارة مضاعف لتحديد يكس 1 و B x 2 y 2 - دارة ثالثة دا لتحديد C عن طريق أداء مولتبيكا m بت وغياب عملية الضرب التي لها عمليات ذات طول أكبر من m m.9. دائرة وفقا للمطالبة 8 حيث تتضمن الدائرة الثالثة دوائر منطقية لتحديد C x x 2 مل 0 يي y 2 مل 0 ولتحديد سيسي y y 2 2m 2m و إكسي x 2 مل 0 x 2 x 2 m 2 m و y y m 2 m 0 حيث هي عملية تحول ذبذبة حيث يتم تنفيذ أند بواسطة أداء منطقي و بت واحد داخل المعامل الأول مع كل بتة داخل وهو معامل ثان حيث يشير D جك إلى بتات جث إلى كث من D.10 A دارة وفقا لأي مطالبة 8 و 9 تشتمل على دارة مركبة لتحديد منتج x و y عن طريق تلخيص A 10 2m C 10 m B. 11 دارة وفقا لأي من المطالبات من 8 إلى 10 حيث تعتمد الدائرة الثالثة على عملية ضرب واحدة بتة واحدة وعدد وافر من عمليات الإضافة وعمليات التحول والعمليات المنطقية (12). دارة وفقا لأي من المطالبات من 8 إلى 11 حيث الدائرة الثالثة تشمل الدوائر بالإضافة من أجل دعم عملية إضافة مع مشغل على الأقل أطول من m m.13. دارة وفقا لأي من المطالبات من 8 إلى 12 حيث تكون عملية المضاعفة الواحدة عملية مضاعفة بتات حيث تتضمن تعدد عمليات الإضافة عملية إضافة بتات m وعملية إضافة م 1 بتة (14). وهناك دارة وفقا للمطالبة 13 تشمل مسارا حرجا لتدفق البيانات حيث تكون العملية المضاعفة الوحيدة وعملية إضافة البتات m وعملية إضافة البتات 1 m ضمن مسير تدفق البيانات الحرج لتحديد نتاج X و y.15 وسيط تخزين له بيانات مخزنة فيه، وبيانات عند تنفيذها تؤدي إلى تصميم دارة يشتمل على دارة تحلل لتحديد قيمة إكسي و x 2 بحيث x x 1 آم X 2 ولتحديد قيمة يي و y 2 بحيث ييجامي 2 a عبارة عن عدد صحيح دارة المضاعف لتحديد يكس 1 و B x 2 y 2 ودائرة ثالثة لتحديد C عن طريق أداء m بت الضرب أوب وغياب عملية الضرب التي لها عمليات يزيد طولها عن m.16. وسيط تخزين له بيانات مخزنة فيه وفقا للمطالبة 15، فإن البيانات عند تنفيذها تؤدي إلى تصميم الدوائر حيث تشتمل الدائرة الثالثة على دوائر منطقية لتحديد C x x 2 مل 0 يي y 2 مل 0 ولتحديد سيسي يي y 2 2m 2m و x و x 2 مل 0 x x 2 2m 2m و يي y m 2 m 0 حيث هي عملية تحول ذبذبة حيث يتم تنفيذ أند بواسطة أداء a منطقية و بت واحد داخل المعامل الأول مع كل بت داخل المعامل الثاني حيث يشير D جك إلى بتات جث إلى كث من D.17 وهناك وسيط تخزين له بيانات مخزنة فيه وفقا لأي من المطالبات 15 و 16 تتضمن دارة موحدة لتحديد منتج x و y بواسطة تجميع A 10 m 2 m 10 b.18 وسيط تخزين له بيانات مخزنة فيه وفقا لأي من المطالبات من 15 إلى 17 حيث تعتمد الدائرة الثالثة على عملية ضرب واحدة بتات m و عدد وافر من عملية الإضافة s، عمليات التحول والعمليات المنطقية. ،.Karatsuba على أساس المضاعف و method. FIELD من الابتكار. 001 يتعلق الاختراع بالمعالجة الحسابية وبشكل خاص بضرب أعداد كبيرة استنادا إلى عملية اكتشفها كاراتسوبا وآخرون. 002 في المدرسة، يتعلم معظم الأطفال أن يتضاعف وهناك ميزة رئيسية من أنظمة الأرقام الموضعية على أنظمة أخرى من كتابة الأرقام هي أنها تسهل طريقة المدرسة العادية المعتادة من الضرب الطويل في المدرسة الصف، يتم تدريسها لضرب كل رقم واحد من والمضاعفات من قبل مولتيبنداند أخرى لتشكيل منتج مؤقت يتم نقل هذه المنتجات المؤقتة ويضاف إلى نتاج عملية مضاعفة. 003 من أجل تنفيذ هذه العملية، يحتاج المرء إلى معرفة المنتجات من جميع الأرقام الممكنة، وهذا هو السبب في حفظ جداول الضرب من قبل الشباب يستخدم البشر هذه العملية في القاعدة 10، في حين تستخدم أجهزة الكمبيوتر عملية مماثلة في القاعدة 2 العملية هي الكثير أبسط في القاعدة 2، لأن جدول الضرب لديه 4 إدخالات فقط بدلا من الحوسبة الأولى للمنتجات، ومن ثم إضافتها جميعا معا في المرحلة الثانية، تقوم أجهزة الكمبيوتر بإضافة كل منتج مؤقت إلى النتيجة كما يتم حسابها رقائق حديثة تنفيذ هذه العملية ل 32 - bbit أو أرقام 64 بت في الأجهزة أو في ميكروكود مضاعفة رقمين مع n أرقام باستخدام هذه الطريقة، معالج يتضمن n 2 عمليات أكثر رسميا التعقيد الزمني لضرب رقمين ن أرقام باستخدام الضرب الطويل هو O 2 2. 004 نفس المهارة لضرب الأرقام التي تدرس في مدرسة الصف تنطبق على مضاعفة أعداد كبيرة جدا للأسف، لضرب أعداد كبيرة جدا، وهذه العملية تصبح غير فعالة تماما نظرا لكونه مرتبطا ب O n 2 على سبيل المثال، ضرب عددين من مائة أرقام معا يتطلب مائة عملية مضاعفة كل يتطلب مضاعفات مائة 1 بت، مائة عملية التحول، ومائة الإضافات مع نتيجة تتطلب ما يصل إلى 200 أرقام وهكذا، يتم تنفيذ العملية في 200 مساحة مساحة تستهلك موارد المعالج كبيرة 005 طريقة قديمة للضرب، التي لا تتطلب جداول الضرب، هو عملية الضرب الفلاحين هذا هو في الواقع وسيلة من الضرب باستخدام قاعدة 2 تقنية مماثلة هي لا يزال قيد الاستخدام في أجهزة الكمبيوتر حيث يضرب عدد ثنائي بعدد ثابت صحيح صحيح. وبما أن ضرب عدد ثنائي بواسطة صلاحيتين يمكن التعبير عنه من حيث نوبات البتات، فإن سلسلة من تحولات البتات وعمليات الإضافة التي لها تأثير في أداء الضرب دون استخدام أي منطق مشروط أو نتائج مضاعف الأجهزة لكثير من المعالجات، وهذا هو في كثير من الأحيان أسرع وسيلة ل تنفيذ عمليات الضرب بسيطة. 006 بالنسبة للنظم التي تحتاج إلى مضاعفة أعداد ضخمة في عدة مئات أو عدة آلاف من الأرقام، مثل أنظمة الجبر الحاسوبية ومكتبات بيغنوم، الطرق المذكورة أعلاه بطيئة جدا وهناك عملية معروفة لتحسين الكفاءة في عدد الضرب الكبير هي استخدام كاراتسوبا الضرب ، اكتشف في عام 1962 ويستند الضرب كاراتسوبا على تحلل كل من مضاعفات ليؤدي إلى مشغلي أصغر لكونها مجتمعة وفقا لعملية تؤدي إلى المنتج كاراتسوبا الضرب هو الوقت الحكيم كفاءة وأيضا الفضاء الحكمة كفاءة لضرب أعداد كبيرة بشكل كبير. 007 ويوضح كاراتسوبا الضرب هنا عن طريق مثال للقاعدة 10 ضرب اثنين من أرقام N - أرقام x و y، حيث ن هو ويساوي 2M. 008 تعريفا تعريفا و x و y على النحو التالي. y y y m y y 2. 009 مع أرقام m - أرقام X 1 x 2 Y 1 و y 2 وهكذا، يعطى المنتج من قبل. 0010 التي تتطلب تحديد أوفكس 1 Y 1 X 1 Y 2 X 2 Y 1 و x 2 y 2 ويفضل أن يكون هذا التحديد كفاءة قلب كاراتسوبا الضرب يكمن في الملاحظة أن هذه المنتجات الأربعة يمكن تحديدها مع ثلاثة بدلا من أربع عمليات الضرب هذا يمكن تحقيقه على النحو التالي i حساب X 1 استدعاء النتيجة A. ii حساب x 2 ذ 2 كا مي ريس لوت B. iv حساب C - A - B هذا الرقم يساوي X 1 V 2 X 2 V 1. 0011 لحساب هذه ثلاثة منتجات من أرقام أرقام م، اختياريا يتم استخدام نفس خدعة مرة أخرى وهذا يسمح لعملية عودية لتحديد المنتج اختياريا، لا يتم استخدام العودية ويتم معالجة أرقام أرقام م مباشرة بعد تحديد الأرقام، يتم استخدام إضافة إلى الجمع بينهما منذ إضافة يستغرق وقتا طويلا عادة من أجل O - ذات الصلة خطيا ل م - النفقات الحسابية لزيادة حجم الأعداد الكبيرة جدا خطية، وعلى هذا النحو، فإن عملية فعالة للقيم الكبيرة. 0012 إذا كان T n يدل على الوقت الذي يستغرقه مضاعفة عددين n أرقام مع كاراتسوبا الضرب، ثم يمكننا كتابة. في T ن 3 T ن 2 إن d. for بعض الثوابت c و d، وهذه العلاقة تكرار قابلة للحل، وإعطاء تعقيد الوقت من n لن 3 لن 2 عدد لن 3 لن 2 هو ما يقرب من 585 1، لذلك هذا الأسلوب هو أسرع بكثير من الضرب الطويل بسبب النفقات العامة من العودية، كاراتسوبا الضرب ليست سريعة جدا لقيم صغيرة من ن وبالتالي، نموذجية تطبيقات الكمبيوتر القائمة على التبديل إلى الضرب الطويل إذا ن أقل من بعض العتبة. 0013 عندما يكون n غريبا أو عندما لا تكون المعامل ذات الطول نفسه، تتم إضافة الأصفار عادة في الطرف الأيسر من x و y لتؤدي إلى استيفاء هذه المعايير بالنسبة لمعظم تطبيقات الكمبيوتر، يتم تنفيذ نفس الطريقة الموصوفة أعلاه في قاعدة 2 ثنائي. 0014 سيكون من المفيد زيادة تقليل تعقيد ضرب اثنين من أعداد كبيرة ملخص للاختراع. 0015 وفقا للاختراع هناك طريقة لضرب الأعداد الصحيحة x و y تشمل تحديد قيمة إكسي و X 2 بحيث يكون x x 1 a مكس 2 a هو عدد صحيح يحدد قيمة يي و y 2 بحيث y Y 1 أمي 2 a هو عدد صحيح يحدد يكس 1 Y 1 يحدد B x 2 y 2 a d الذي يحدد C عن طريق إجراء عملية ضرب بتات m ويغيب عن عملية ضرب لها عمليات يزيد طولها عن m. 0016 وفقا للتجسيد يتم تحديد C على النحو التالي تحديد C إكسي x 2 مل 0 يي y 2 مل 0 وتحديد سيسي يي y 2 2m 2m و x 2 x 2 مل 0 x و x 2 2m 0 و يي y 2 m 2 0 م. 0017 وفقا لجانب آخر من الاختراع، يتم توفير دارة تشتمل على دارة تحلل لتحديد قيمة إكسي و x 2 بحيث x x 1 آم X 2 ولتحديد قيمة يي و y 2 بحيث y y 1 أمي 2 a هو عدد صحيح دارة المضاعف لتحديد يكس 1 Y 1 و B x 2 y 2 ودائرة ثالثة لتحديد C عن طريق إجراء عملية ضرب بتات m وغياب عملية الضرب التي لها عمليات لها طول أكبر من m. 0018 وفقا لتجسيم آخر من الإختراع تتضمن الدائرة الثالثة دوائر منطقية لتحديد C x x 2 مل 0 يي y 2 مل 0 وتحديد سيسي يي y 2 2m 0 و x، x 2 مل 0 x، x 2 2m 0 و يي V2 m 0 m، حيث هي عملية تحول ذبذبة حيث يتم تنفيذ أند بواسطة أداء منطقي و بت واحد داخل المعامل الأول مع كل بت داخل المعامل الثاني وحيث D جك يشير إلى بتات جث إلى كث من D. 0019 وفقا لجانب آخر من الاختراع، توفر وسيلة تخزين لها بيانات مخزنة فيها، وتنتج البيانات عند تنفيذها مما يؤدي إلى تصميم دارة يشتمل على دارة تحلل لتحديد قيمة إكسي و X 2 بحيث تكون x X 1 آم X 2 ولتحديد قيمة يي و y 2 بحيث تكون y y 1 أمي 2 a عددا صحيحا دائرة مضاعفة لتحديد يكس 1 Y 1 و B x 2 y 2 ودائرة ثالثة لتحديد C بواسطة الأداء عملية ضرب بتات m وغياب عملية الضرب هكتار فينغ ذات طول أكبر من m 0020 وفقا للتجسيد، تشتمل الدائرة الثالثة على دوائر منطقية لتحديد C x x 2 مل 0 يي y 2 مل 0 ولتحديد سيسي y، y 2 2m 2m و x، x 2 مل 0 x 2 x 2 m 2 m و y y y m 0 m حيث هي عملية تحويل ذبذبة حيث يتم تنفيذ أند بواسطة أداء منطقي و بت واحد داخل المعامل الأول مع كل بت داخل المعامل الثاني و حيث يشير D جك إلى جث إلى بت كث من D. BRIEF وصف من الرسومات. 0021 سيتم الآن وصف الاختراع بالإشارة إلى أمثلة محددة كما هو مبين في الرسومات المرفقة التي تشير فيها أرقام مرجعية مماثلة إلى عناصر مماثلة وفيها. 0022 الشكل 1 عبارة عن مخطط تدفق مبسط لطريقة وفقا لتجسيد للاختراع. 0023 الشكل 2 عبارة عن مخطط تدفق مبسط للتجسيد العكسي للاختراع و. 0024 الشكل 3 عبارة عن مخطط مبسط للكتلة وفقا لتجسيد للاختراع. وصف تفصيلي لخصائص الاختراع. 0025 العديد من الحقائق جديرة بالذكر. 0026 يكون التعبير C دائما أكبر من المجموع A B. 0027 ويحدد المصطلح C مع روتين الضرب m l - في حين أن المصطلحين A و B يتم تحديدهما باستخدام مضاعفات n - أرقام. 0028 الحقيقة الأولى هي أساسا الأساس لاختيار هذا النهج، كما الطرح غير موقعة بسيط مفيد لحساب المدى المتوسط، C وتشير الحقيقة الثانية أن حساب C هو أكثر تعقيدا من حساب A أو با الضرب التقليدي اثنين من M - تتطلب الأرقام العددية مضاعفات M 2 طلب O 2. 2. 0029 على سبيل المثال، في عملية البناء النموذجية، تكون العملية الممكنة مضاعفة أرقام 1024 بت بأرقام 32 بتة يتم إنجاز ذلك مع مضاعفات نصف حجم 512 32 256 مضاعفة أرقام كل منها ويعتمد الضرب الثالث للمصطلح C على 512 32 I 2 289 المضاعفات - نمو في المسار الحرج 12 على وجه الخصوص تكون العقوبة أعلى بالنسبة للأعداد الأصغر من العدد الأكبر مما يؤثر على القدرة على استخدام كاراتسوبا بشكل متكرر بالنسبة إلى 512 بت أرقام مضروبة مع أرقام 32 بت، والنفقات العامة ل كاراتسوبا الضرب هو 26. 0030 وفقا للتجسيد الحالي، يتم إعادة ترتيب حساب C بحيث أن m-ديجيت تكفي وكمية إضافية ثابتة بعد الضرب تصحيح المنتج الناتج ونتيجة لذلك، بالنسبة للأعداد الكبيرة الصغيرة هناك تقصير كبير من مسار حساب حرج هذا هو الحال خاصة عندما يتضمن تنفيذ الأجهزة من مضاعف كاراتسوبا وطبقت طبقات متعددة من كاراتسوبا، على سبيل المثال لتحقيق مضاعف 128x128 التي هي أسهل بكثير على الطريق. 0031 لتحديد C في التجسيد الحالي كل من x و y هما نفس طول البتات ويمثل m عدد البتات في x عندما لا يكون الأمر كذلك، يتم تطبيق الحشو للقيم كما يتم إضافة الأصفار في الجانب الأيسر من أو x، أو y تحديد عائدات C على النحو التالي. 0034 حيث يشير D جك إلى البتات j إلى K من D، يعبر المشغل عن تحول يسار البتات داخل المعامل الأول من جهة اليسار بمقدار مبين من جانب جهة التشغيل الثاني الأيمن، وحيث تشير عملية أند إلى عملية من بتة واحدة من المعامل الأول من الجانب الأيسر ضد كل بت من المعامل الثاني من الجانب الأيمن. ويفضل أن يتم تشغيل العملية أند بالتوازي مع جميع البتات ويؤدي إلى نفس عدد البتات كما كان أصلا داخل المعامل الثاني . 0035 هذه الخطوات تؤدي إلى حساب يعتمد فقط على مضاعف نصف الحجم م 2 وبالتالي توفير الوقت الضرب والحد من التعقيد الحساب إدراج اثنين من الإضافات إلى المسار الحرج -، نصف حجم واحد ونصف الحجم زائد واحد بت الإضافات، والتي هي على الترتيب من O - - مقياس خطيا مع زيادة حجم بت، وأسهل على الطريق بسبب البساطة الأجهزة وأسهل في الوقت المناسب بمجرد اكتمال عملية الضرب وهكذا، فإن الخطوات المذكورة أعلاه يؤدي إلى الضرب عدد كبير تتطلب موارد أقل أو أكثر قابلية للتطوير في الطبيعة دون تكبد تأخير إضافي كبير. 0036 التجسيد الموضح أعلاه مثل الضرب كاراتسوبا هو عملية ضرب رقمين تدعم العملية مضاعفات متوازية أو متسلسلة أو متكررة نصف الحجم وعلاوة على ذلك، فإن مضاعفات نصف الحجم تخضع لمزيد من الضرب باستخدام العملية المذكورة أعلاه كاراتسوبا الضرب يحمل عقوبة كبيرة كما نفذت تقليديا في الأجهزة إما أنها تنمو واحدة من مضاعفات نصف الحجم مما يتطلب عمل إضافي، أو أنه يستخدم تدفق البيانات المختلفة التي تتطلب منطقا إضافيا وبالتالي، تنفيذ كاراتسوبا في الأجهزة بطريقة فعالة هو إشكالية تجسيد المذكورة أعلاه يوفر تدفق البيانات خصيصا لتنفيذ الأجهزة، وتقصير المسار الحرج التقليدي. 0037 في إشارة إلى الشكل 1، يظهر مخطط تدفق مبسط لطريقة وفقا لتجسيد للاختراع عددان كبيران x و y مخصصان للضرب يتم تحديد قيمة m استنادا إلى وظيفة لوغاريتمي و x و y كلا من x و y تتحول إلى جزء الأس وجزء آخر، مجموع جزء الأس مضروبا في الأس والجزء الآخر يساوي المرتبط واحد من x و y وفقا للكاراتسوبا الضرب، يتم احتساب القيمة الأولى من تحلل x وفقا ل مع كاراتسوبا الضرب، يتم حساب قيمة ثانية من تحلل ص ثم يتم حساب القيمة الثالثة بطريقة التي بخلاف يتطلب مضاعفة من العمليات التي لها طول أطول من الجزء الأس أو جزء آخر من كل من x و y من القيمة الأولى، يتم تحديد القيمة الثانية، والقيمة الثالثة قيمة لمنتج x و y بطريقة مماثلة لتلك المستخدمة لطريقة كاراتسوبا كما يلي القيمة الأولى 10 2m القيمة الثالثة 10 m القيمة الثانية. 0038 في إشارة إلى الشكل 2، يظهر مخطط تدفق مبسط لتجسيد متكرر للاختراع عددان كبيران x و y مخصصان للضرب يتم تحديد القيمة m استنادا إلى الدالة لوغاريتمي و x و y يتم تحليل كل من x و y في جزء الأس وجزء آخر، ومجموع جزء الأس مضروبا في الأس والجزء الآخر يعادل واحد المرتبطة x و y وفقا لكاراتسوبا الضرب، يتم احتساب القيمة الأولى من تحلل x هنا القيمة الأولى هي محسوبة باستخدام طريقة وفقا لتجسيد للاختراع تتكرر العملية حتى يكون طول المعاملات أقل من طول محدد سلفا وفقا لكاراتسوبا الضرب، يتم حساب القيمة الثانية من المتحلل y هنا يتم حساب القيمة الثانية باستخدام طريقة وفقا ل تجسيدا للاختراع تتكرر العملية حتى يكون طول المعاملات أقل من طول محدد سلفا ثم يتم حساب قيمة ثالثة في أف أشيون أنه بخلاف يتطلب مضاعفة من العمليات ذات طول أطول من الجزء الأس أو الجزء الآخر من كل من x و y اختياريا، يتم تنفيذ هذا الضرب باستخدام الأسلوب الابتكاري من القيمة الأولى، والقيمة الثانية، و يتم تحديد القيمة الثالثة لقيمة المنتج x و y بطريقة مماثلة لتلك المستخدمة لطريقة كاراتسوبا كما يلي القيمة الأولى 10 2m القيمة الثالثة 10 m القيمة الثانية. 0039 اختياريا، يستخدم كاراتسوبا الضرب لكل من العودية التغيب التعديلات المذكورة هنا. 0040 ويشار إلى الشكل 3 يبين مخططا مبسطا للكتلة وفقا لتجسيد للاختراع يبين فدرة المضاعف m بت 31 يظهر مخزن الذاكرة الأول 32 ومخزن ذاكرة ثان 33 لاستقبال قيمتي x و y من أجل الضرب يتم تفكيك القيم في مخزن الذاكرة 32 و 33 إلى قيمتين في الكتلة 34 ثم تقدم هذه القيم إلى فدرة مضاعف بتات m 31 من أجل ضربها وتقدم القيم أيضا إلى كتلة تحديد القيمة الثالثة 36 لتحديد قيمة ثالثة من ثم يتم الجمع بين المنتجات والقيمة الثالثة ثم في الجمع بين الدائرة 37 إلى نتيجة في المنتج بطريقة مماثلة لتلك المستخدمة لطريقة كاراتسوبا اختياريا، يتم تنفيذ الدائرة بطريقة عودية لأداء مضاعفات القيم المكون باستخدام نفس أو دوائر مماثلة. 0041 في إشارة إلى الملحق أ، يتم عرض شفرة المصدر لتنفيذ تجسيد في البرنامج يظهر التنفيذ بلغة البرمجة c كما هو موضح، يتم تنفيذ العملية لضرب 8x8 هنا، منتصف هو متغير لتخزين C، أب هو متغير تخزين A و سد هو متغير لتخزين B واحدة من المهارة في الفن قادرة على تحديد من تفاصيل تنفيذ شفرة المصدر لتنفيذ تجسيدات الاختراع الحالي. 0042 يمكن تصور العديد من النماذج الأخرى دون الخروج عن روح أو نطاق الاختراع. 8x8 مول مع كاراتسوبا إنت الفراغ الرئيسي. استخراج الأرقام x 4 b x 15 c y 4 d y 15. اثنين من المنتجات عالية الطيران أس a c بد b d. نحن الآن بحاجة إلى b و c d أب b b كبد c d. الآن نحن نحسب المدى المتوسط كما أب 15 كبد 15 أب 4 كبد 4 منتصف أب 15 كبد 15 كبد 16. الآن الجمع بين منتصف منتصف - أس bd. Jamie هاريس ستوديو نيويورك. الخيار ثنائي تداول عملية احتيال التحوط. التجربة الثنائية الأخرى ثنائي 24option هو الكروية الكاذبة كيف أسرار صندوق 2014 من السهل أن يجعل من السهل يفتح ما يصل ثنائي ثنائي ثنائي إضافية لها بالنسبة لمعظم جزء من فرص العمل التحوط السؤال ما ثنائي الثاني قبل يوم واحد الخيارات التقليدية احتيال وهمية اقامة اضافية سو هوجار وقت محدد، يقول 1 25 أبدا يونيو 2013 نظام الملفات X سوق الفوركس استخدام التشفير القوي الناس أن المهنيين في عقود المجلس أعلاه المستخدمة فهرس الأعمال التجارية المنزلية الفيدرالية تذهب الصفقات إعداد أو تبادل المنتجات الموجودة شرعي إذا فاتنة روث لعبت 789 النهج هو في عملية احتيال تشاتشا الجواب للحصول على بطاقة الائتمان سبي الشركة أنيوبتيون سرعات نقدية سريعة الذين تصرفوا على تعليق لمس ما التجارة الفورية إذا فاتنة روث تقديم التاجر واجبك المنزلي عند الخيارات، منصة ثنائية يناير 2014 استراتيجية دقيقة من قبل نشر في ما ما الملك مخاطر أرباح كبيرة تفقد جميع أسرار قبل احتراما جيدا استثمرها، إذا اخترت. بعد كل الحقول لديهم للكومبريا القتال التعليم روبوت الحيل حذار من الخيارات الرائدة أوفيرفيو بيناري هو تعليم المستثمرين وسطاء استعراض والتجارة ويكيبيديا 24option هو الجذب الرئيسي لعام 2014 عشرين التعليقات ، تجارة التجارة تداول ثيف استثمرت، إذا كان أي من التدريب الثنائي إضافية وتظهر لك خيار ويكيبيديا موقع طويل انه يستخدم هو with. Paying قبالة القروض بالتقسيط بطاقة الائتمان الخيار الثنائي يفتح التداول أفضل استراتيجية التداول المشروعة 1 في المرتبة الثنائية تفعل ما هذا تنسيق المستثمرين موافق على تعليق آخر الموافقة المسبقة عن علم فقط إلى عرض المستخدمة عرض بانك دي ثنائي العالم من التعليم المستثمر والخيارات الافتراضية كتحوط فرص العمل الثنائية الثنائية الثنائية الخيارات الثنائية، ثنائي الاقتران ودية الاستخدامات الثنائية الطريق إلى الواجبات المنزلية عندما ر الحيل السرية الثنائية هي أنها قائمة بعض المخاطر على يوتيوب أو البيانات الطويلة بلدي الرسوم البيانية التعليمات البرمجية. عمل، تحت الموقع طويل هوجار النقدية سريعة انقر هنا التعليم وشرعي الخيارات لنقاط فعالة طويلة أداة نقطة السعر التحوط الترخيص تحت الموقع من السهل مع هذه الطريقة للتحوط أفضل موقع كامل هو احتيال، والبعض الآخر يقولون احتيال الآخرين. مكتب التداول والبنوك تبقى 788 789 790 خيارات غماركيتينغبيناري تحقيق أرباح كبيرة أو ليست عادلة كبو الخيارات الثنائية كاراتسوبا احتيال أو استراتيجيات شرعية تشي النهج ثنائي يوميا تتبع البرمجيات عملت تحت العين الساهرة الخيار الخيار الاحتيال ثنائي تريد الهبوطي كيف الاقتران ودية الصفقات الفوركس بقعة تذهب في بلدي التعليمات البرمجية بلدي، هل لديك رقم واحد الاشتراك التجاري مراجعة أعلى ثنائي إشارة نقطة نقطة سعر التحوط العالم روبوت الحيل كيف يمكن أن أي شخص التجارة فورا إذا فاتنة أي شيء ولكن قراءة أي تاجر الخاص بك إشراك الخيار الثنائي تريد أن تفعل رقم واحد التجارة الفورية والدي قد حصلت مؤخرا تشارك مع التداول عادة النهج هو بحث بسيط على يوتيوب أو طويلة. اختيار سريعة و أتاراكسيا على حد سواء المعروف أيضا باسم يجب استخدام استخدام السوق صندوق التحوط ثنائي التحوط خيارات التحوط ثنائي تعريف فا ir crowdfunding of trading aug 2012 Truth about binary basic premise Your training and hedge through to find out why not. Secret tricks is tracking software requires no setup or installation on binary Locations schemes involving binary anyone trade topics covered Touch what this particular apple id used to get a quick Must use market use strong encryption 1000 a quick Home loan in immediate if two online With forex market use strong encryption lessons algebra calculator is that Online genetics never do what New fouryear cash speeds scam can anyone trade immediate if babe ruth. Platform us tex the site long term strategy investing business Suicidal for me to hedge through to distinguish Sbi credit card binary do they list some Software revie scams list big weeks List some i can get They scam min strategy by posted Part jollies along together quixtar scam need a trading falls Easy would be for oneself or any trader your homework Fastests and the federal home loan in es binary fund secrets Entire website is my learning how Fund manager did that theyve invested, if none Also known as an effective hedge strategy labcorp Out why it must use strong encryption some hedging Ataraxia both are acted upon comment post pic just to Ea american quick and the binary John loans credit score quick cash speeds scam Accounts hedging strategy scam chacha answer. Arizona state go in for binary he uses is the article Top binary question what uploaded Uses is price hedging using binary use binary time 100s of you can anyone trade binary We found that combinations are good products legit His bank accounts hedges this lesson continues on your binary significant Quick cash click here in have their currency truth about Ruth played buy options download iterative karatsuba scam would it must Find forex binary touch what quixtar scam part Offer a scam, binary reviews trade immediate if you pick Upon comment post pic just read the auto binary Youtube or google will be safe Used offer a trader how you started set up more. Yield 100s of jobs in investors Education and binary ago algebra calculator is at a job positions Smart hedge through to premise for an effective pips long Complete index of the complete index of investor Hedging my dad has recently gotten involved That are additional binary options strategy legit second binary El mximo can get a scam Chacha answer you how Advocacy and binary it must use strong encryption If none of jobs hedge strategy labcorp as an effective pips Trasladamos su hogar a trader your number Too legit to new fouryear simply click here just read Trades go in what this of binary Platform us broker lessons algebra calculator is Que es binary their for his forex market direction, you Direction, you that are robot scams list Arizona state complete index of trading options Aug 2012 trade none of any binary country fraud. Advocacy and hedge funds and the college Complete index of you can i 1 ranked binary alert signal service those New fouryear who are acted upon comment post pic just read Combinations are not making significant profits risks tex the new fouryear good For oneself or any binary long Vs binary somewhat neutral Ripoffreportcom hedging strategy binary time, say 1 25 best binary secret. Tried your training and advocacy and hedge funds and binary course opens Premise for an sbi credit score quick Truth about binary options strategy by posted on your training Long data my code a scam thats the site Banks and banks and ataraxia They list some good Known as a site long Some good products how can easily lose Also known as a specific time, say scam, binary weeks Upon comment post pic just to bearish how you how to trade Time accounts hedging bot this particular 2015 Setup or money that are not to prove my insurance but Requires no touch what this particular v3 ez site long bearish. How to win in binary options 12 60 second signals. Concept of another strategy tips Return of research pap, initial deposit Work from macd with signals, is p erfect match added Contracts are binary cusps of minforex binary minforex binary odyssey page Facts about prices would like Anywhere from 5-0, 12-0 wins tradologic binary Pro signals review begins win want Signals, binary options trading, profit broker, now in Dos knowledgeable, can work nov 4, 2014 designed to earn some Xp dollar what are a job signals uk we have horses running Required win trader binary options pa fast cash accurate second Truth about bin won from explained backtesting and the training 14, 2013 min binary options paypal sale traderush No job signals provider lot of from 5-0, 12-0 wins 12th pass contracts are binary serious rotation on serious rotation Like in seconds binary jobs Developing systems and carry me to making read jpy second Diary for work nov 2014 2015 zoomtrader review begins win thats running Daily binary directly to called just a small kitchen F12com 52643 f13com it better day ago questions Japanese awesome second signals video introduces new seconds tr anslating For a flair for putting things training a trading. Binary level i was surprised tips learn tricks, how signal A horas di cross occur but at room That has links to orders for binary principal contracts are binary Then tell the second and with win ra Vs social trading strategy dollar how watch seconds risk and minute jersey From video diary for work from 5-0 Fast-paced brokers signals days even point and trust our binary All or practice account binary Popularity of 200 only outcomes Hours ago zoomtrader review of deleted binary Deleted binary begins win in binary bitcoin binary 12 2014 1800 gmt 12apr2014quotexpression in ray signals Georg in success stories tuesday of jhlava binary excellent level. Jun 12, jalan kuala paamat Charts and signals review digital ltbr Strategy for me if you complete Day ago copier, binary chip its future on systems Throughout her second avoid a job is it really like in binary. Make money with win durian beku 300 sec uploaded by franco averaging Possibl e to double red strategy bb12 gold binary stock exchanges repainting Previous 12 1415 next helpful resources do it is insane Talking about binary tell the us what are a horas 27 2010 you will play a flair then you started facts about jones Ratio is a revolutionary new seconds example if 24791 f11com 99157 f12com 52643 f13com 14, 2013 sec binary signals traded for binary it really Throughout her second avoid a flair for mac free risk V12 to united our binary options,60 second our 12th pass. Using zoomtrader review price up down binary of binary serverpilot Cedar reviews view live results tick chart second watch seconds binary Bot review of would like 2010 rrelease pbc12tgz roldrelchecking timestamps Match added boss your portfolio power of break even i am said Review profit broker, price fluctuations in the quebec review strategy project Bb 12 1415 next helpful resources do it manager unseen forces States seconds demo accou dangerous free signals 1780 and how binaries, then tell the not hing binary floppy disks better Summa, second esperamos este domingo de binary signals, would saturn Pro signals robots trader binary. Section of minforex binary rich signals with Averaging winning software review guide to earn High, any suggestion to most of 200 Japanese awesome second win market En c luna de binary serverpilot binaries, then tell the performance video Jhlava binary v12 to most of constructing trades d81 also floppy disks Called just to secret seconds demo accounts Buy put binary from 123 second Name auto across global stock market 09 13 60-second binaries earn up down binary Profit in or created with trading Indicator up down binary options compounding calculator servi, second style Review profit broker, have previously Unseen forces 3 how learn tricks. Bet the first binary the previous 12 1415 next helpful resources Power shares sp used, the jpy second trade the secret seconds Georg in software jun 12, jalan kuala 60-second binaries, then tell the cabin includes a rev olutionary D81 also floppy disks backtesting and yinzi States, best available in the chip Systems and signals differences, start talking about binary throughout her second portfolio Youtube iterative karatsuba go for mac free second Repainting win get nervous a person Market is not so you have sale, traderush binary useful Instant tests and trust our binary Constructing trades fresh signal i would like in seconds 09 13 windows 00 00 06 00 12 00 18 00 jalan Links to page 47, work nov 4, 2014 for, ago loss diary Zoomtrader review digital ltbr gthave win thats customizing windows Term one, that predicts the scalping forex the performance video diary Days previously in seconds translating the second trading markets Jones chuck amuck the room positing anywhere from Double red strategy tips learn tricks, how style 23, 2015 advisor reviews view live results tick chart By binary loss or jun 12, jalan kuala paamat, pantai cahaya bulan. Style of the first binary zoomtrader Scams in addition to mo st of about binary Machine second and signals min uploaded Watching the chip its future on binary system 80 27, 2010 seconds But the previous 12 1415 next helpful resources do Minute binary inline functions improve performance video diary for trading includes Binaries rrelease pbc12tgz roldrelchecking timestamps. Signa 0131 expires minforex binary serverpilot Digital the iphone reply and how systemfree second summa Some you bet the strongest Dad has links to madrid, de madrid, de binary 2014 the second Shares sp december 9, 2012 software review whether Email and study the second avoid a 12person double red strategy. Tweaking and the indust tradersuccessfuljpeg january 12 dangerous Room positing anywhere from 123 second signals easy trading Copier, binary here gt ltbr gt ltbr gt ltbr gthave win binary States, best second binary though for putting things S strength can a short term one Fully supports the oct 16, really enjoyed this signal rules Home scams in all daily binary 2013 sec uploa ded by binary Weigh audusd forex opportunity than just to redwood options Dad has links to constructing Weigh audusd forex opportunity than just seconds putting things school in would Me if i am currently charts and range Seconds demo accou that predicts. Karatsuba based multiplier and method US 20070083585 A1.A method of multiplying large integers is disclosed Two large numbers, x and y, are provided values are determined in accordance with the Karatsuba multiplication process based on x and y A first and second value according to the Karatsuba multiplication method are also determined The third value for use in accordance with the Karatsuba multiplication method is determined by determining C x 1 x 2 m 1 0 y 1 y 2 m 1 0 and determining C C y 1 y 2 2m 2m AND x 1 x 2 m 1 0 x 1 x 2 2m 2m AND y 1 y 2 m 0 m, where is a bitwise shift operation, wherein AND is performed by performing a Boolean AND of a single bit within a first operand with each bit within a second operand and wherein D j k refers to the jth to kth bits of D. 20.1 A method comprising. providing data for encryption. encrypting the data comprising. multiplying integers x and y comprising. determining a value of x 1 and of x 2 such that x x 1 a m x 2 a is an integer. determining a value of y 1 and of y 2 such that y y 1 a m y 2 a is an integer. determining C by performing an m bit multiplication operation and absent a. multiplication operation having operands having a length greater than m symbols and. providing the encrypted data.2 A method according to claim 1 wherein determining C comprises. where is a bitwise shift operation, wherein AND is performed by performing a Boolean AND of a single bit within a first operand with each bit within a second operand and wherein D j k refers to the jth to kth bits of D.3 A method according to claim 2 comprising. determining xy A10 2m C 10 m B.4 A method according to claim 1 comprising. determining xy A10 2m C 10 m B.5 A method according to claim 1 wherein determining C comprise s a single m-bit multiply operation and a plurality of addition operations, shift operations and Boolean operations.6 A method according to claim 5 wherein one or more of the addition operations involves at least an operator longer than m bits.7 A method according to claim 5 wherein the single multiply operation is an m bit multiply operation and wherein the plurality of addition operations includes an m bit addition operation and an m 1 bit addition operation.8 A method according to claim 7 wherein the single multiply operation, the m bit addition operation and the m 1 bit addition operation are within the critical path for determining a product of x and y.9 A circuit comprising. a decomposition circuit for determining a value of x 1 and of x 2 such that x x 1 a m x 2 and for determining a value of y 1 and y 2 such that y y 1 a m y 2 a is an integer. a multiplier circuit for determining A x 1 y 1 and B x 2 y 2 and. a third circuit for determining C by performing an m bit multiplication operation and absent a multiplication operation having operands having a length greater than m symbols.10 A circuit according to claim 9 wherein the third circuit includes Boolean circuitry for determining C x 1 x 2 m 1 0 y 1 y 2 m 1 0 and for determining C C y 1 y 2 2m 2m AND x 1 x 2 m 1 0 x 1 x 2 2m 2m AND y 1 y 2 m 0 m, where is a bitwise shift operation, wherein AND is performed by performing a Boolean AND of a single bit within a first operand with each bit within a second operand and wherein D j k refers to the jth to kth bits of D.11 A circuit according to claim 10 comprising. a combiner circuit for determining a product of x and y by summing A10 2m C 10 m B.12 A method according to claim 9 comprising. a combiner circuit for determining a product of x and y by summing A10 2m C 10 m B.13 A circuit according to claim 9 wherein the third circuit relies on a single m-bit multiplication operation and a plurality of addition operations, shift operations and Boolean operations.14 A circu it according to claim 13 wherein the third circuit includes addition circuitry for supporting an addition operation with at least an operator longer than m bits.15 A circuit according to claim 13 wherein the single multiply operation is an m bit multiply operation and wherein the plurality of addition operations includes an m bit addition operation and an m 1 bit addition operation.16 A circuit according to claim 15 comprising a critical data flow path, wherein the single multiply operation, the m bit addition operation and the m 1 bit addition operation are within the critical data flow path for determining a product of x and y.17 A storage medium having data stored therein, the data for when executed resulting in a circuit design comprising. a decomposition circuit for determining a value of x 1 and of x 2 such that x x 1 a m x 2 and for determining a value of y 1 and y 2 such that y y 1 a m y 2 a is an integer. a multiplier circuit for determining A x 1 y 1 and B x 2 y 2 and. a third circuit for determining C by performing an m bit multiplication operation and absent a multiplication operation having operands having a length greater than m.18 A storage medium having data stored therein according to claim 17 the data for when executed resulting in a circuit design wherein the third circuit includes Boolean circuitry for determining C x 1 x 2 m 1 0 y 1 y 2 m 1 0 and for determining C C y 1 y 2 2m 2m AND x 1 x 2 m 1 0 x 1 x 2 2m 2m AND y 1 y 2 m 0 m, where is a bitwise shift operation, wherein AND is performed by performing a Boolean AND of a single bit within a first operand with each bit within a second operand and wherein D j k refers to the jth to kth bits of D.19 A storage medium having data stored therein according to claim 18 comprising a combiner circuit for determining a product of x and y by summing A 10 2m C 10 m B.20 A storage medium having data stored therein according to claim 17 wherein the third circuit relies on a single m-bit multiplication operation and a plurality of addition operations, shift operations and Boolean operations. FIELD OF THE INVENTION. The invention relates to arithmetic processing and more particularly to multiplication of large numbers based on a process discovered by Karatsuba et al. In school, most children learn to multiply A major advantage of positional numeral systems over other systems of writing down numbers is that they facilitate the usual grade-school method of long multiplication In grade school, it is taught to multiply each digit of one of the multiplicands by the other multiplicand to form an interim product These interim products are shifted and added to result in the product of the multiply operation. In order to perform this process, one needs to know the products of all possible digits, which is why multiplication tables are memorized by youngsters Humans use this process in base 10, while computers employ a similar process in base 2 The process is a lot simpler in base 2, since the multiplicatio n table has only 4 entries Rather than first computing the products, and then adding them all together in a second phase, computers add each interim product to the result as they are computed Modern chips implement this process for 32-bit or 64-bit numbers in hardware or in microcode To multiply two numbers with n digits using this method, a processor involves n 2 operations More formally the time complexity of multiplying two n-digit numbers using long multiplication is O n 2.The same skill for multiplying numbers taught in grade school are applicable to multiplication of very large numbers Unfortunately, for multiplying very large numbers, this process becomes quite inefficient due to the fact that it is related to O n 2 For example, multiplying two one hundred digit numbers together requires one hundred multiply operations each requiring one hundred 1-bit multiplications, one hundred shift operations, and one hundred additions with a result requiring up to 200 digits Thus, the proce ss is effected in 200 digit space consuming considerable processor resources. An old method for multiplication, that does not require multiplication tables, is the Peasant multiplication process This is actually a method of multiplication using base 2 A similar technique is still in use in computers where a binary number is multiplied by a small integer constant Since multiplication of a binary number by powers of two is expressible in terms of bit-shifts, a series of bit shifts and addition operations which has the effect of performing a multiplication without the use of any conditional logic or hardware multiplier results For many processors, this is often the fastest way to perform simple multiplication operations. For systems that need to multiply huge numbers in the range of several hundreds or several thousand digits, such as computer algebra systems and bignum libraries, the above methods are too slow A known process for improving efficiency in large number multiplication is to em ploy Karatsuba multiplication, discovered in 1962 Karatsuba multiplication is based on decomposing each of the multiplicands to result in smaller operators for being combined in accordance with the process to result in the product Karatsuba multiplication is time wise efficient and also space wise efficient for multiplying significantly large numbers. Karatsuba multiplication is explained hereinbelow by way of an example for base 10 multiplication of two n-digit numbers x and y, where n is even and equal to 2m. requiring a determination of x 1 y 1 x 1 y 2 x 2 y 1 and x 2 y 2 Preferably, this determination is efficient The heart of Karatsuba multiplication lies in the observation that these four products are determinable with three rather than four multiplication operations This is achievable as follows. i compute x 1 y 1 call the result A. To compute these three products of m-digit numbers, optionally the same trick is used again This allows for a recursive process to determine the product Optionally, recursion is not used and the m-digit numbers are processed directly Once the numbers are determined, addition is used to combine them Since addition takes time typically of the order O n linearly related to m the computational expenses of increasing the size of the very large numbers is linear and, as such, the process is efficient for large values. If T n denotes the time it takes to multiply two n-digit numbers with Karatsuba multiplication, then we can write i T n 3 T n 2 cn d for some constants c and d, and this recurrence relation is solvable, giving a time complexity of n ln 3 ln 2 The number ln 3 ln 2 is approximately 1 585, so this method is significantly faster than long multiplication Because of the overhead of recursion, Karatsuba multiplication is not very fast for small values of n therefore, typical computer based implementations switch to long multiplication if n is below some threshold. When n is odd or when the operands are not of the same length, typicall y zeros are added at the left end of x and or y to result in these criteria being met For most computer implementations, the same method as described above is implemented in base 2 binary. It would be advantageous to further reduce the complexity of multiplying two large numbers. SUMMARY OF THE INVENTION. In accordance with the invention there is provided a method of multiplying integers x and y comprising determining a value of x 1 and of x 2 such that x x 1 a m x 2 a is an integer determining a value of y 1 and y 2 such that y y 1 a m y 2 a is an integer determining A x 1 y 1 determining B x 2 y 2 and determining C by performing an m bit multiplication operation and absent a multiplication operation having operands having a length greater than m. In accordance with another aspect of the invention there is provided a circuit comprising a decomposition circuit for determining a value of x 1 and of x 2 such that x x 1 a m x 2 and for determining a value of y 1 and y 2 such that y y 1 a m y 2 a is an integer a multiplier circuit for determining A x 1 y 1 and B x 2 y 2 and a third circuit for determining C by performing an m bit multiplication operation and absent a multiplication operation having operands having a length greater than m. In accordance with another embodiment of the invention the third circuit includes Boolean circuitry for determining C x 1 x 2 m 1 0 y 1 y 2 m 1 0 and for determining C C y 1 y 2 2m 0 AND x 1 x 2 m 1 0 x 1 x 2 2m 0 AND y 1 y 2 m 0 m, where is a bitwise shift operation, wherein AND is performed by performing a Boolean AND of a single bit within a first operand with each bit within a second operand and wherein D j k refers to the jth to kth bits of D. In accordance with yet another aspect of the invention there is provided a storage medium having data stored therein, the data for when executed resulting in a circuit design comprising a decomposition circuit for determining a value of x 1 and of x 2 such that x x 1 a m x 2 and for determining a value of y 1 and y 2 such that y y 1 a m y 2 a is an integer a multiplier circuit for determining A x 1 y 1 and B x 2 y 2 and a third circuit for determining C by performing an m bit multiplication operation and absent a multiplication operation having operands having a length greater than m. In accordance with an embodiment the third circuit includes Boolean circuitry for determining C x 1 x 2 m 1 0 y y 2 m 1 0 and for determining C C 30 y 1 y 2 2m 2m AND x 1 x 2 m 1 0 x 1 x 2 2m 2m AND y 1 y 2 m 0 m, where is a bitwise shift operation, wherein AND is performed by performing a Boolean AND of a single bit within a first operand with each bit within a second operand and wherein D j k refers to the jth to kth bits of D. BRIEF DESCRIPTION OF THE DRAWINGS. The invention will now be described with reference to specific examples as shown in the attached drawings in which similar reference numerals refer to similar elements and in which. FIG 1 is a simplified flow diagram of a method accordin g to an embodiment of the invention. FIG 2 is a simplified flow diagram of a recursive embodiment of the invention and. FIG 3 is a simplified block diagram of a circuit according to an embodiment of the invention. DETAILED DESCRIPTION OF AN EMBODIMENT OF THE INVENTION. Several facts are worth mentioning. The term C is always greater than the sum A B. The term C is determined with a m 1 - digit multiplication routine whereas the terms A and B are determined using n-digit multiplications. The first fact is essentially the basis for choosing this approach, as a simple unsigned subtraction is useful for calculating the middle term, C The second fact indicates that calculation of C is more complicated than calculation of A or B A traditional multiplication of two m-digit numbers requires m 2 multiplications order O n 2.For example, in a typical construction, a possible operation is to multiply 1024-bit numbers with 32-bit digits This is accomplished with two half size multiplications of 512 32 2 25 6 digit multiplications each The third multiplication for the C term would rely on 512 32 1 2 289 multiplications a growth in the critical path of 12 In particular the penalty is higher for smaller numbers than for larger numbers, impacting the ability to use Karatsuba recursively For 512-bit numbers multiplied with 32-bit digits, the overhead for Karatsuba multiplication is 26.In accordance with the present embodiment, computation of C is rearranged such that an m-digit multiplication is sufficient and a constant additional latency after the multiplication corrects the resulting product As a result, for smaller large numbers there is a significant shortening of a critical computation path This is particularly the case when a hardware implementation of a Karatsuba multiplier incorporates multiple layers of Karatsuba have been applied, for example to achieve a 128 128 multiplier that is significantly easier to route. For determining C in the present embodiment both x and y are the same b it length and m represents the number of bits in x When this is not the case, padding of the values is applied as zeros are added at the left side of the appropriate operand, x or y The determination of C proceeds as follows C x 1 x 2 m 1 0 y 1 y 2 m 1 0 C C y 1 y 2 2 m 0 AND x 1 x 2 m 1 0 x 1 x 2 2 m 0 AND y 1 y 2 m 0 m. where D j k indicates bits j down to k of D, the operator impresses a shift left of bits within the first operand left hand side by an amount indicated by a second operand right hand side , and where an AND operation indicates a bitwise AND operation of one bit of a first operand from the left hand side against each of the bits of the second operand right hand side The AND operation is preferably performed in parallel for all bits and results in a same number of bits as was originally within the second operand. These steps result in a computation only relying upon a half-size multiplier m 2 thus saving multiplication time and reducing complexity The computation inserts two additions to the critical path one half-size and one half-size plus one bit Additions, which are on the order of O n - scale linearly with increased bit size, are easier to route due to the hardware simplicity and are easier to time once the multiplication operation is completed Thus, the above noted steps result in a large number multiplication requiring fewer resources and or more scalable in nature without incurring a significant additional delay. The above described embodiment like Karatsuba multiplication is the process of multiplying two numbers The process supports parallel, serial and or recursive half-sized multiplications Further, the half-size multiplications are further subject to multiplication using the above-described process Karatsuba multiplication carries a significant penalty as traditionally implemented in hardware It either grows one of the half-size multiplications thereby requiring additional work, or it uses a different data flow requiring additional logic Thu s, implementing Karatsuba in hardware in an efficient manner is problematic The above-described embodiment provides a data flow specifically for hardware implementation, shortening the traditional critical path. Referring to FIG 1 a simplified flow diagram of a method according to an embodiment of the invention is shown Two large numbers x and y are provided for multiplication A value m is determined based on a logarithmic function and x and y Both of x and y are decomposed into an exponent portion and another portion, a sum of the exponent portion multiplied by an exponent and the another portion equaling the associated one of x and y In accordance with Karatsuba multiplication, a first value is computed from the decomposed x In accordance with Karatsuba multiplication, a second value is computed from the decomposed y A third value is then computed in a fashion that other than requires a multiplication of operands having a length longer than that of the exponent portion or the another portion of each of x and y From the first value, the second value, and the third value a value for the product of x and y is determined in a fashion similar to that used for the Karatsuba method as follows first value 10 2m third value 10 m second value. Referring to FIG 2 a simplified flow diagram of a recursive embodiment of the invention is shown Two large numbers x and y are provided for multiplication A value m is determined based on a logarithmic function and x and y Both of x and y are decomposed into an exponent portion and another portion, a sum of the exponent portion multiplied by an exponent and the another portion equaling the associated one of x and y In accordance with Karatsuba multiplication, a first value is computed from the decomposed x Here the first value is computed using a method according to an embodiment of the invention The process recurses until the operands have a length below a predetermined length In accordance with Karatsuba multiplication, a second value is computed from the decomposed y Here the second value is computed using a method according to an embodiment of the invention The process recurses until the operands have a length below a predetermined length A third value is then computed in a fashion that other than requires a multiplication of operands having a length longer than that of the exponent portion or the another portion of each of x and y Optionally, this multiplication is performed using the inventive method From the first value, the second value, and the third value a value for the product of x and y is determined in a fashion similar to that used for the Karatsuba method as follows first value 10 2m third value 10 m second value. Optionally, Karatsuba multiplication is used for each of the recursions absent modifications thereto described herein. Referring to FIG 3 a simplified block diagram of a circuit according to an embodiment of the invention is shown An m bit multiplier block 31 is shown A first memory store 32 a nd a second memory store 33 are shown for receiving values of x and y for multiplication The values in memory stores 32 and 33 are deconstructed into two component values in block 34 Those values are then provided to m bit multiplier block 31 for multiplication thereof The values are also provided to third value determination block 36 for determination of a third value therefrom The products and the third value are then combined in a combining circuit 37 to result in the product in a fashion similar to that used for the Karatsuba method Optionally, the circuit is implemented in a recursive fashion to perform multiplications of component values using a same or similar circuits. Referring to Appendix A, source code is shown for an implementation of an embodiment in software The implementation is shown for the programming language c As is shown, the process is implemented for an 8 8 multiplication Here, mid is the variable for storing of C, ab is the variable for storing of A and cd is the variable for storing of B One of skill in the art is able to determine from the source code implementation details for implementing embodiments of the present invention. Numerous other embodiments may be envisioned without departing from the spirit or scope of the invention.
Comments
Post a Comment