ads ads
ورود کاربران

نام کاربری :

رمز عبور :

مرا به خاطر بسپار
فایل های مرتبط
کاربران آنلاین

وضعيت آنلاين ها :
ميهمان :
    5 نفر
اعضا :
    0 نفر
مجموع :
    5 نفر
آمار بازديد :
بازدید های امروز :
    1725
تعداد کل بازدید ها :
    24898053
گزارشات سایت

فايل هاي رايگان:
    105 فايل
فایل های غیر رایگان :
    4,490 فايل
فایل های ويژه:
    220 فايل
مجموع كاربران ويژه :
    0 كاربر
مجموع کاربران عادي :
    2,244 كاربر
مقاله مقایسه چهار طرح ضرب کننده RNS
screenshot
دسته بندي : پروژه و مقاله,کامپیوتر
حجم فایل : 0.94 مگابايت
فرمت فايل هاي فشرده : word
تعداد صفحات : 126 صفحه
تعداد بازدید : 142 مرتبه


دانلود رایگان است
برای دریافت فایل بروی دانلود کلیک کنید
امتیاز : 1

فروشنده ی فایل

maghale33
سایر فایل ها
توضیحات :

عنوان : مقاله مقایسه چهار طرح ضرب کننده RNS

این فایل با فرمت word و آماده پرینت می باشد

فهرست مطالب
عنوان  صفحه
1- مقدمه 1
1-1 سيستم عددي باقيمانده 1
1-2 قضيه باقي مانده هاي چيني 2
1-3 كاربردهاي RNS 3
2- روشهاي ضرب پيمانه اي  5
2-1 روش مونتگمري 5
2-2 بررسي اجمالي روشهاي موجود پياده سازي ضرب در RNS 6
2-3 نكاتي پيرامون چهار طرح مورد نظر 7
3- طرح اول 8
3-1 مقدمه 8
3-2 بررسي سوابق 8
3-3 الگوريتم 9
3-4 پياده سازي سخت افزاري 10
3-5 محاسبه پيچيدگي مساحت و تأخير طرح اول 13
4- طرح دوم 15
4-1 مقدمه 15
4-2 بررسي سوابق  15
4-3 الگوريتم 15
4-4 پياده سازي سخت افزاري 18
4-5 محاسبه پيچيدگي مساحت و تأخير طرح دوم 20
5- طرح سوم 21
5-1 تبديل سيستم RNS (Residue Conversion) 28
5-2 پياده سازي سخت افزاري 30
5-2-1 پياده سازي تبديل RNS 31
5-2-2 پياده سازي بخش اصلي الگوريتم (الگوريتم مونتگمري با RNS) 34
5-3- محاسبه پيچيدگي مساحت و تأخير طرح سوم  36
5-3-1 عناصر وابسته به ROM 36
5-3-2 عناصر رياضي 36
5-3-3 تأخير و مساحت تبديل كننده RNS استاندارد 37
5-3-4 محاسبه مساحت و تأخير تبديل كننده RNS سريع 44
5-3-5 مساحت و تأخير طرح سوم 50
5-4 نتايج پياده سازي در طرح سوم  56
6- طرح چهارم 58
6-1 بيان مقاله در مورد سيستم RNS  59
6-2 بيان مقاله از ضرب پيمانه اي بدون تقسيم (روش مونتگمري) 60
6-3 بررسي صحت الگوريتم 62
6-4 روش تبديل RNS 66
6-5 پياده سازي سخت افزاري 67
6-5-1 تبديل RNS ناقص 68
6-5-2 پياده سازي بخش اصلي طرح چهارم (الگوريتم مونتگمري) 68
6-6 محاسبه پيچيدگي تأخير و مساحت طرح چهارم 70
6-6-1 محاسبه تأخير و مساحت تبديل RNSناقص 70
6-6-2 محاسبه تأخير و مساحت در طرح چهارم 72
6-7 نتايج شبيه سازي در طرج چهارم 80
7- مقايسه  طرح ها وجمع بندي  81
7-1- مقايسه چهار طرح 81
7-2- جمع بندي  98
8- مراجع
9- ضمائم 
الف – كدهاي VHDL طرح اول
ب – كدهاي VHDL طرح دوم
ج – كدهاي VHDL طرح سوم
د – كدهاي VHDL طرح چهارم
هـ – MOMA 
 
- مقدمه
 
در اينجا براي آشنايي بيشتر به توضيح سيستم عددي باقي مانده مي پردازيم و به كاربردها و فوايد آن اشاراتي خواهيم داشت.
1-1 سيستم عددي باقيمانده (Residue Number System (RNS))
در حدود 1500 سال پيش معمايي به صورت شعر توسط يك شاعر چيني به صورت زير بيان شد. «آن چه عددي است كه وقتي بر اعداد 3،5و7 تقسيم مي شود باقيمانده هاي 2،3و2 بدست مي آيد؟» اين معما يكي از قديمي ترين نمونه هاي سيستم عددي باقي مانده است.
در RNS يك عدد توسط ليستي از باقيمانده هايش برn  عدد صحيح مثبت m1 تا mn كه اين اعداد دو به دو نسبت به هم اولند (يعني بزرگترين مقسوم عليه مشترك دوبدوشان يك است) به نمايش در مي آيد. به اعداد m1 تا mn پيمانه (moduli) 
مي گويند. حاصلضرب اين nعدد،  تعداد اعدادي كه مي توان با اين پيمانه ها نشان داد را بيان مي كند. هر باقيمانده xi را به صورت xi=Xmod mi نمايش مي دهند. در مثال بالا عدد مربوطه به صورت X=(2/3/2)RNS(7/5/3) به نمايش در مي آيد كه X mod7=2 و X mod5=3 و X mod3=2. تعداد اعداد قابل نمايش در اين مثال   مي باشد. مي توان هرمجموعه 105 تايي از اعداد صحيح مثبت يا منفي متوالي را با اين سيستم عددي باقيمانده نمايش داد.
اثبات اين كه هر عدد صحيح موجود در محدوده، نمايش منحصر به فردي در اين سيستم دارد به كمك قضيه باقي‌مانده هاي چيني(Chinese Remainder Theorem (CRT)) امكان پذير است. اين قضيه به صورت زير بيان مي شود:
1-2 قضيه باقي مانده هاي چيني:
اعداد صحيح مثبت   را كه نسبت به هم دو به دو اول هستند در نظر بگيريد و M را حاصلضرب   فرض كنيد. همچنين اعداد   را فرض كنيد. اثبات مي شود كه فقط و فقط يك عدد صحيح U وجود دارد كه شرايط زير دارد:
     ,          ,      
كه U برابر است با:
 
اعمال رياضي جمع، تفريق و ضرب به راحتي و به صورت زير در اين سيستم انجام مي شود.
    ,    
 
 
در فرمول بالا به جاي علامت  مي توان هر كدام از علائم +،-،* را قرار داد.
سه عمل رياضي (+،-،*) در اين سيستم عددي راحت‌تر از سيستم نمايش عادي اعداد انجام مي شود، زيرا هنگام انجام اين عمل در اين سيستم رقم نقلي (carry) بين بخشها رد و بدل نمي شود. در واقع انجام عمليات مربوط به مانده هاي هر پيمانه تاثيري روي ديگر عمل ها ندارد. يعني محاسبه “ ” مي تواند بطور مستقل (و در واقع موازي) انجام شود و نتيجه آن تاثيري در بقيه “ ”ها ندارد. بدين ترتيب عمليات رياضي سريعتر (بعلت موازي شدن) و راحت تر (بعلت عدم تاثيرگذاري محاسبات مربوط به هر مانده برهم) انجام مي شود.
1-3- كاربردهاي RNS
سيستم عددي باقي مانده در چند دهه اخير مورد توجه قرار گرفته، زيرا مي توان بعضي از اعمال رياضي را تحت RNS به صورت چند مجموعه زير عمل رياضي تقسيم كرد. ولي به دليل اينكه اين اعمال فقط شامل ضرب، جمع و تفريق هستند از RNS در محاسبات “خاص منظوره” استفاده مي شود. RNS در پياده سازي سريع مسائلي كه شامل تصحيح و تشخيص خطا در سيستم هاي Fault-tolerant و سيستم‌هاي پردازش سيگنال هستند كاربرد دارد. كاربردهايي از قبيل تبديل فوريه سريع، فيلتر ديجيتال و پردازش تصوير از اعمال رياضي سريع RNS استفاده مي كند. RNS راه خود را در كاربردهايي مثل تبديلات تئوري اعداد و تبديل فوريه گسسته پيدا كرده است. همچنين مستقل بودن رقم هاي باقيمانده باعث مي شود كه رخ دادن خطا در يك رقم به رقم هاي بعدي منتقل نشوند كه اين مسأله، باعث ايجاد يك معماري Fault-tolerant خواهد شد. [35],[20]
سيستم عددي RNS در رمزنگاري و به خصوص در روش RSA كاربرد زيادي دارد[35]. البته در RSA از ضرب پيمانه اي جهت عمليات توان رساني استفاده مي‌شود.
در اين پروژه سعي مي شود كه چهار طرح از رويكردهاي ضرب RNS را پياده‌سازي و با هم مورد مقايسه قرار دهيم. اين مقايسه براساس حجم و تاخير طرح ها مي‌باشد. در پياده سازي سعي شده است كه از پيشنهادات مقالات جهت عناصر بكار رفته استفاده شود (بخصوص در دو طرح اول) و در مواقعي كه پيشنهاد خاصي انجام نشده (مثل طرح هاي سوم و چهارم) پيشنهاد مناسب از لحاظ خود من انجام شده است. 
در ادامه ابتدا به اصول ضرب RNS و روشهاي بكار رفته براي اينكار اشاره مي‌كنيم. سپس هر يك از چهار طرح را به تفصيل مورد بررسي قرار مي دهيم و در مورد هر طرح، الگوريتم و سخت افزار بيان خواهد شد و سپس تاخير و مساحت آن را تعيين مي كنيم. در نهايت جمع بندي و مقايسه چهار طرح را انجام مي دهيم. در ضمايم نيز كدهاي VHDL نوشته شده را خواهيد يافت.
2- روشهاي ضرب پيمانه اي
اين روشها را مي توان به دو دسته كلي تقسيم كرد. در دسته اول ابتدا عمل ضرب به صورت كامل انجام مي شود و سپس كاهش به پيمانه روي نتيجه آخر اعمال مي شود. اين روشها را Reduction After Multiplication (RAM) مي نامند. در دسته دوم عمل كاهش به پيمانه در هر مرحله ضرب و با هر حاصلضرب جزئي انجام مي شود كه به اين روشها Reduction During Multiplication (RDM) مي گويند[38]. از ميان طرحهاي مورد نظر ما دو طرح اول به دسته اول و دو طرح بعدي به دسته دوم تعلق دارند.
2-1- روش مونتگمري
در روش RDM چون روش كاهش به پيمانه به دفعات تكرار مي شود بايد اين عمل را سرعت بخشيد. يكي از تكنيك هاي پر طرفدار براي اينكار كه در طرحهاي ما نيز به كار رفته روش مونتگمري [2] در كاهش پيمانه است.
پيمانه N را در نظر بگيريد. عدد R را كه نسبت به N اول است و N<R را طوري انتخاب كنيد كه محاسبات به پيمانه R آسان باشد.   را نيز طوري انتخاب كنيدكه   باشد. حال براي محاسبه  به شرطي كه   باشد:
function  REDC(T):
 
 
if  
بدين ترتيب با به كارگيري عدد كمكي R، عمل كاهش T به پيمانه N سريعتر انجام مي شود. 
2-2- بررسي اجمالي روشهاي موجود پياده سازي ضرب در RNS
طرحهاي ارائه شده را مي توان براساس روش پياده سازي سخت افزاري به سه مجموعه تقسيم كرد. 
مجموعه اول: 
از تعداد خاصي از پيمانه ها مثل   استفاده مي كنند. در اين مجموعه n مي تواند مقادير كوچك، متوسط و گاهي بزرگ داشته باشد. در پياده سازي اين طرح ها عمدتاً فقط از مدارات منطقي استفاده شده و از ROM استفاده نمي شود. در هر حال اين طرحها به پيمانه هاي خاصي محدود هستند و به همين دليل كاربردهاي محدودي دارند[3]. به طور مثال مي توان به طرحهاي [13],[12],[11] مراجعه كرد.
مجموعه دوم: 
توانايي كار با هر پيمانه اي را دارند ولي پياده سازي اين گروه، راه حلهايي بر اساس ROM دارند و معمولاً از مدارات منطقي ديگر استفاده چنداني نمي كند. اندازه حافظه با افزايش n به سرعت رشد مي كند كه طرح را براي پيمانه‌اي بزرگ غير عملي مي سازد. به طور مثال مي توان طرحهاي [10],[9],[8],[7] را ذكر كرد.
مجموعه سوم: 
جهت پيمانه هاي متوسط و بزرگ طراحي مي شوند. معمولاً به صورت هيبريد هستند و از عناصر رياضي پايه مثل ضرب و جمع كننده هاي باينري كه به صورت موازي عمل مي كنند به همراه چندين ROM با اندازه كوچك و عناصري منطقي استفاده مي كند. طرحهاي مورد نظر ما در اين دسته قرار مي گيرند. همچنين مي توان به طرحهاي [18],[17],[16],[15],[14] اشاره كرد.
2-3- نكاتي پيرامون چهار طرح موردنظر
اين طرحها از مقالات [6],[5],[4],[3] انتخاب شده اند. دو طرح با تكنيك RAM كار مي كنند و از تكنيك هاي ابتكاري سود مي جويند و امكان پياده سازي دقيق و در سطح گيت آنها وجود دارد. دو طرح بعدي با هدف بهبود الگوريتم رمزنگاري RSA انتشار يافته اند و طرحهاي ضرب براي RNS به روش RDM پيشنهاد داده اند.
 
3- طرح اول:
3-1- مقدمه 
اين طرح در مرجع [4] يعني مقاله “RNS Arithmatic Multiplier for Medium and large Moduli”  بيان شده. در مقدمه آن اشاره شده است كه طرحهاي بر اساس ROM براي پيمانه هاي كوچك مفيد هستند ولي براي پيمانه هاي متوسط و بزرگ بايد از طرحهايي كه هم از ROMهاي كوچك و هم از عناصر رياضي بهره مي برند استفاده كرد كه طرح مورد نظر چنين حالتي دارد.
3-2- بررسي سوابق 
براي ضرب پيمانه اي مي توان از ضرب و تبديل هاي متوالي استفاده كرد [21],[20] كه اصلاً روش بهينه اي نيست. بهمين دليل جستجو براي روشهاي بهتر در جريان است. عمده كارهاي انجام شده بر روي پيمانه هاي خاص مثل   يا پيمانه هاي كوچك مي باشد [31]-[22]. طرح [22] پياده سازي ضرب كننده اي است كه پيمانه هاي آن اعداد اول بشكل k<n و   مي باشد. مقاله[23] ضرب كننده پيمانه square-law را پياده كرده كه بر اساس ROM است و بر روي اندازه پيمانه ها محدوديت دارد. مقايسه [24] تكنيكي براي ضرب پيمانه‌اي در يك عدد اول را بيان كرده است كه طرح همان مشكلات طرح [23] را دارد. 
مرجع [25] ضرب كننده با پيمانه هاي بزرگ به شكل ( ) را مطرح كرد. [29] ضرب كننده پيمانه اي را مطرح كرده از Factored decomposition بهره گرفته و در آن پيمانه ها مي توانند اعداد غير اول باشد.
عمده اين روشها بر اساس بكارگيري عناصر رياضي binary-based هستند و هيچ كدام بجز طرح [16] براي استفاده از محاسبات مانده اي 
(Residue Arithmatic) طراحي نشده اند. 
3-3- الگوريتم
دو باقيمانده Y, X (Residue) را در نظر بگيريد هدف محاسبه |XY|m (حاصلضرب X و Y در پيمانه m) مي باشد. هر دو عدد را مي توان با n بيت نمايش داد:
 
كه در آن ها n برابر است:
  
و   و   بيت هاي باينري X و Y مي باشند. حاصلضرب X و Y را مي توان به صورت زير نمايش داد.
 
با بسط عبارت فوق داريم:
 
 
كه مي توان نوشت:
 (3-1)
حالا   را به صورت زير تعريف مي كنيم:
vj =   (3-2)
بنابراين رابطه (3-1) به صورت زير بازنويسي مي شود:
  (3-3)
و براي محاسبه   معادله بالا به صورت زير در مي آيد:
  (3-4)
3-4- پياده سازي سخت افزاري
شكل بلوكي سخت افزار اين طرح را در شكل (3-1) مشاهده مي كنيد. همانطور كه مشاهده مي شود، طرح پيشنهادي در چهارطبقه پياده شده است.
با دقت در رابطه (3-4) در مي يابيم كه براي پياده سازي اين طرح بايد تمام   را محاسبه كرده و در انتها به صورت پيمانه اي با هم جمع كنيم. بررسي vj در رابطه (3-2) مشخص مي كند كه vj تعداد يك هاي نمايش باينري عبارت   مي باشد. 
 

نظرات کاربران :

نظری توسط کاربران ثبت نشده است.
شما هم می توانید در مورد این فایل نظر دهید.
کاربر گرامی، لطفاً توجه داشته باشید که این بخش صرفا جهت ارائه نظرات شما درباره ی این محصول در نظر گرفته شده است. در صورتی که سوالی در رابطه با این محصول دارید یا نیازمند مشاوره هستید، فقط از طریق تماس تلفنی با بخش مشاوره اقدام نمایید.
کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً لاگین نمایید.