عنوان پایان‌نامه

تاأثیر دستورات سفارشی بر روی ضریب آسیب پذیری معماری پردازنده



    دانشجو در تاریخ ۲۸ شهریور ۱۳۹۱ ، به راهنمایی ، پایان نامه با عنوان "تاأثیر دستورات سفارشی بر روی ضریب آسیب پذیری معماری پردازنده" را دفاع نموده است.


    محل دفاع
    کتابخانه پردیس 2 فنی شماره ثبت: E 2099;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 54211
    تاریخ دفاع
    ۲۸ شهریور ۱۳۹۱
    دانشجو
    آرش بیات
    استاد راهنما
    سعید صفری

    با کوچک‌تر شدن فناوری ساخت و همچنین کاهش ولتاژ کاری مدارهای دیجیتال میزان بار لازم برای ایجاد یک اشکال گذرا کاهش می‌یابد و این در حالی است که اثر پرتوهای کیهانی و نرخ برخورد ذرات پر انرژی با سطح تراشه همواره ثابت هستند. در نتیجه بروز اشکال‌های گذرا در سیستم‌های دیجیتال روز به‌روز افزایش می‌یابد و تحقیقات در راستای برخورد با این اشکال‌ها شتاب روز افزون یافته‌ است. از دلایل استفاده از فناوری کوچک‌تر می‌توان به نیاز برای حافظه و توان پردازشی بالاتر اشاره نمود، کاهش ولتاژ کاری نیز خود به دلایل مختلفی صورت می‌گیرد که از جمله برجسته‌ترین آن‌ها کاهش مصرف انرژی و کنترل دمای تراشه است. از سوی دیگر کاربرد تراشه‌های دیجیتال رو به افزایش است و اگر چه روش‌های گوناگونی برای آزمون درستی تراشه تولید شده وجود دارد اما بروز اشکال‌های گذرا در این تراشه‌ها اجتناب‌ناپذیر است. در این میان نرخ اشکال‌های گذرا بسیار کوچک و بروز آن در بسیاری از کاربردهای غیر بحرانی کم اهمیت به نظر می‌رسد، اما کاربردهایی نیز هستند که صحت عملکرد تراشه‌های دیجیتال در آن‌ها از اهمیت فوق‌العاده‌ای برخوردار است. برای درک بهتر می‌توان کنترل کننده موتور‌های جت پرتاب کننده یک سفینه فضایی چند میلیارد دلاری را در نظر گرفت. پردازنده‌های دیجیتال به سه دسته تقسیم می‌شوند، پردازنده‌های سرویس دهنده‌های بزرگ، پردازنده‌های رایانه‌های شخصی و پردازنده‌های توکار ، که در این میان پردازنده‌های توکار از نظر تعداد بیشترین سهم را دارند و با توجه به فراوانی کاربرد آن‌ها در سیستم‌های صنعتی، پزشک، نظامی و دیگر کاربردهای حساس می‌بایست توجه ویژه‌ای به قابلیت اطمینان‌پذیری آن‌ها داشته باشیم. از آنجا که بحث اشکال‌های گذرا بیشتر از مدارهای ترکیبی در سلول‌های حافظه متمرکز شده است و همچنین توجه به این نکته که به طور معمول عمده المان‌های حافظه در یک پردازنده توکار محدود به مجموعه ثبات‌های آن می‌باشند، هدف این تحقیق ارائه روشی برای مقاوم‌سازی مجموعه ثبات‌های یک پردازنده می‌باشد. از دیگر دلایل انتخاب این موضوع آن است که بروز یک خطا در یکی از ثبات‌های پردازنده با احتمال زیادی در دیگر داده‌های برنامه نیز نفوذ خواهد کرد و در نتیجه احتمال خرابی سیستم در برخورد با خطاهایی که در مجموعه ثبات‌ها رخ می‌دهد بیشتر خواهد بود. اگرچه روش‌های نظری بسیاری برای مواجهه با خطا در سیستم‌های دیجیتال معرفی شده‌اند اما با توجه به محدودیت‌های موجود در این سیستم‌ها، بکار گیری بسیاری از آن‌ها ناممکن است. در این پژوهش با بررسی روش‌های موجود در این رابطه روش‌های جدیدی ارائه کردیم و تلاش بر آن داشتیم تا روش‌های خود را هرچه بیشتر با محدودیت‌های موجود انطباق دهیم. در این راستا دو معماری متفاوت ارائه شده است که ایده اصلی هر دو استفاده از ثبات ‌های بی‌استفاده سیستم برای ذخیره داده‌های افزونه است. این داده‌های افزونه جهت حفاظت از داده‌های اصلی نگهداری می‌شوند. تفاوت اصلی بین دو روش آن است که در روش اول داده‌های افزونه برای محافظت از داده ذخیره شده در یک ثبات در ثبات دیگر ذخیره می‌شود و در روش دوم داده‌های افزونه به همراه داده اصلی در خود ثبات ذخیره می‌گردند. روش دوم تکامل یافته‌ و کاراتر از روش اول می‌باشد.
    Abstract
    By decreasing the feature size and reducing the operating voltage of digital circuits, the required amount of load for creation of a transient fault will be decreased. However, the effect of cosmic rays and collision rate of high energy particles with surface of the chip is always constant. As a result, occurrence of transient faults in digital systems is being increased every day and there is an accelerated rate of researches to encounter these faults. One reason of using smaller features is the everlasting need for larger memory and higher processing power. Meanwhile, decreased operating voltage can be justified by different explanations, one of the most significant of which are reducing consumption of energy and controlling temperature of the chip. On the other hand, application of the digital system is being extended continuously. Although various methods are suggested for accuracy test of the produced chip, occurrence of transient faults seems almost inevitable in them. Rate of transient faults is very small and their occurrence seems insignificant in many non-critical applications. However, there are also some applications in which an adequate performance of the digital system is of great importance. For example, consider the controller system of jet engines in a spacecraft launcher costing several billions of US dollars. Generally speaking, digital processors can be divided into three types, namely: processors of large service providers, processors of personal computers, and embedded processors. The last type, i.e. embedded processors has the greatest contribution in terms of number. Thus, a great care must be taken for their reliability regarding their extensive applications in industrial, medical and military services as well as other critical applications. Since the transient faults are more concentrated in memory cells than combinational circuits and because most of the memory elements in an embedded processor are limited to its register files, this study aims to provide a method of robust register files of a processor. Another reason of choosing this subject is that occurrence of an error in one register file of the processor will probably intrude other data of this application. Therefore, failure probability of the system encountering errors which occur in the registers will be much greater. In spite of the numerous theoretical methods introduced for dealing with errors in the digital systems, using many of them is almost impossible taking into account the existing limitations in these systems. Current work tries to develop new techniques by studying the existing methods in this field in addition to adapt its proposed techniques with the existing limitations as much as possible. In this regard, two different architectures are suggested which takes their main idea from utilization of unused registers of the system for storing redundant data. These redundant data are stored for the purpose of protecting the original data. The main difference between these two methods is that the first method keeps the redundant data in another register for protecting the stored data in the register, while the second method keeps the redundant data along with the original data in the register itself. That is why the second method is known as both more complete and more efficient in comparison with the first method.