
ای غنی،ای مُغنی، که بینیازی و نیازمندانت را از همه بینیازمیکنی
RAM
بررسی خطا
قسمت 6
سروش مسعودی
Soroush.masoudi@gmail.com
اکثر حافظههایی که امروزه در کامپیوتر استفاده میشوند دارای ضریب اعتماد بالایی هستند. در اکثر
سیستمها، «کنترل کننده حافظه» در زمان روشن کردن سیستم عملیات بررسی صحت عملکرد حافظه را
انجام میدهد. تراشههای حافظه با استفاده از روشی با نام Parity، عملیات بررسی خطا را انجام میدهند.
تراشههای Parity دارای یک بیت اضافه برای هشت بیت داده هستند. روشی که Parity بر اساس آن کار
میکند بسیار ساده است. ذر ابتدا Parity زوج بررسی میشود. زمانی که هشت بیت (یک بایت) دادهای را
دریافت میکنند، تراشه تعداد یکهای موجود در آن را محاسبه میکند. در صورتیکه تعداد یکهای موجود
فرد باشد مقدار بیت Parityیک خواهد شد. در صورتیکه تعداد یکهای موجود زوج باشد مقذار بیت
Parity صفر خواهد شد. زمانی که داده از بیتهای مورد نظر خوانده میشود، مجدداً تعداد یکهای موجود
محاسبه و با بیت Parity مقایسه میشود. در صورتیکه مجموع فرد و بیت Parity مقدار یک باشد دادة مورد
نظر درست است و برای پردازنده ارسال میشود. اما در صورتیکه مجموع فرد بوده و بیت Parity صفر
باشد تراشه متوجه بروز یک خطا در بیتها میشود و دادة مورد نظر کنار میرود. Parity فرد نیز به همین
روش کار میکند. در روش فوق زمانی بیت Parity یک خواهد شد که تعداد یکهای موجود در بایت زوج
باشد.
مسئلة مهم در رابطه با Parity عدم تصحیح خطا پس از تشخیص است. در صورتی که یک بایت از
دادهها با بیت Parity خود مطابقت نکند- داده دورانداخته میشود و سیستم مجدداً سعی
خود را انجام خواهد داد. کامپیوترها نیازمند یک سطح بالاتر برای برخورد با
خطا هستند. برخی از سیستمها از روشی با نام به error correction
ECC (code) استفادهمیکنند. در روش فوق از بیتهای اضافه برای
کنترل داده در هر یک از بایتها استفادهمیشود. اختلاف روش
فوق با روش Parity دراین است که از چندین بیت برای
بررسی خطا استفاده میشود. (تعداد بیتهای استفاده
شده بستگی به پهنای گذرگاه دارد) حافظههای مبتنی
بر روش فوق با استفاده از الگوریتم مورد نظر نه
تنها قادر به تشخیص خطاست بلکه امکان تصحیح
خطاهای به وجود آمده را نیز فراهم میکند. ECC
همچنین قادر به تشخیص خطاها در
مواردی است که یک یا چندین بیت
در یک بایت با مشکل مواجه شوند.
مجلات دوست نوجوانانمجله نوجوان 122صفحه 32