باگ پنتیوم اف دی آی وی. باگ پنتیوم اف دی آی وی ( به انگلیسی: Pentium FDIV bug ) یک باگ سخت افزاری می باشد که بر واحد ممیز شناور ( FPU ) در پردازنده های اولیه اینتل پنتیوم تأثیر می گذارد. بخاطر این باگ، پردازنده ممکن است هنگام تقسیم برخی از جفت های خاص اعدادِ با دقت بالا، نتایج ممیز شناورِ باینری اشتباهی برگرداند. این باگ در سال ۱۹۹۴ توسط توماس آر نایسلی، پروفسوری در کالج Lynchburg، کشف شد. [ ۱]
مقادیر ازدست رفته در جدول جست وجوی مورد استفاده توسط الگوریتم تقسیم ممیز شناور، باعث محاسبه اشتباهات کوچکی شد. با اینکه این خطاها در اکثر موارد مورد استفاده به ندرت رخ داده و باعث انحرافاتی در رسیدن به خروجی درست می شوند، در شرایط خاص امکان رخ دادنِ مکرر آن ها وجود داشته و می توانند باعث انحرافات چشم گیرتری شوند. [ ۲]
شدت باگ اف دی آی وی بحث برانگیز است. با اینکه اکثر کاربران به ندرت با این باگ مواجه می شدند ( طبق تخمین مجله بایت، امکان بروز نتایج اشتباه، در تقسیمات ممیز شناور با پارامترهای رندوم، ۱ در ۹ بیلیون می باشد ) ، [ ۳] این مشکل و مدیریت اولیه اینتل در حل مشکل، مورد انتقاد شدیدِ جامعه تکنولوژی گرفت.
در دسامبر سال ۱۹۹۴، اینتل پردازنده های معیوب را جمع آوری کرد و این اولین باری بود که یک تراشه کامپیوتری به طور کامل جمع می شود. [ ۴] در ژانویه سال ۱۹۹۵، اینتل «هزینه پیش از مالیاتی به میزان ۴۷۵ میلیون دلار با درآمد یا ظاهرا کل هزینه جایگزینی پردازنده های معیوب» را اعلام کرد. [ ۵]
هر نقطه داده باید به میزان
به منظور بهبود سرعت محاسبات تقسیم ممیز شناور در تراشه پنتیوم روی 486DX، اینتل تصمیم به تعویضِ تقسیم شیفت و تفریق با الگوریتم سوینی، رابرتسون و توچر ( SRT ) گرفت.
الگوریتم SRT می تواند در هر سیکل ساعت، دو بیت از نتیجه تقسیم را تولید کند در حالی که الگوریتم ۴۸۶ توانایی تولید فقط یک بیت را داشت.
این الگوریتم با استفاده از یک آرایه منطقی قابل برنامه ریزی با ۲۰۴۸ درایه پیاده سازی شده که ۱۰۶۶ درایه آن باید با یکی از مقادیر زیر پر شده باشد:
- ۲، ۱، ۰، +۱، +۲.
وقتی آرایه اصلیِ پنتیوم کامپایل شد، پنج مقدار به طور درست در قطعه ای که آرایه را روی تراشه ها وارد می کرد بارگیری نشده بودند - به همین دلیل پنج خانه آرایه دارای مقدار صفر بودند در حالی که باید دارای مقدار +۲ می بودند. [ ۶]
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفمقادیر ازدست رفته در جدول جست وجوی مورد استفاده توسط الگوریتم تقسیم ممیز شناور، باعث محاسبه اشتباهات کوچکی شد. با اینکه این خطاها در اکثر موارد مورد استفاده به ندرت رخ داده و باعث انحرافاتی در رسیدن به خروجی درست می شوند، در شرایط خاص امکان رخ دادنِ مکرر آن ها وجود داشته و می توانند باعث انحرافات چشم گیرتری شوند. [ ۲]
شدت باگ اف دی آی وی بحث برانگیز است. با اینکه اکثر کاربران به ندرت با این باگ مواجه می شدند ( طبق تخمین مجله بایت، امکان بروز نتایج اشتباه، در تقسیمات ممیز شناور با پارامترهای رندوم، ۱ در ۹ بیلیون می باشد ) ، [ ۳] این مشکل و مدیریت اولیه اینتل در حل مشکل، مورد انتقاد شدیدِ جامعه تکنولوژی گرفت.
در دسامبر سال ۱۹۹۴، اینتل پردازنده های معیوب را جمع آوری کرد و این اولین باری بود که یک تراشه کامپیوتری به طور کامل جمع می شود. [ ۴] در ژانویه سال ۱۹۹۵، اینتل «هزینه پیش از مالیاتی به میزان ۴۷۵ میلیون دلار با درآمد یا ظاهرا کل هزینه جایگزینی پردازنده های معیوب» را اعلام کرد. [ ۵]
هر نقطه داده باید به میزان
به منظور بهبود سرعت محاسبات تقسیم ممیز شناور در تراشه پنتیوم روی 486DX، اینتل تصمیم به تعویضِ تقسیم شیفت و تفریق با الگوریتم سوینی، رابرتسون و توچر ( SRT ) گرفت.
الگوریتم SRT می تواند در هر سیکل ساعت، دو بیت از نتیجه تقسیم را تولید کند در حالی که الگوریتم ۴۸۶ توانایی تولید فقط یک بیت را داشت.
این الگوریتم با استفاده از یک آرایه منطقی قابل برنامه ریزی با ۲۰۴۸ درایه پیاده سازی شده که ۱۰۶۶ درایه آن باید با یکی از مقادیر زیر پر شده باشد:
- ۲، ۱، ۰، +۱، +۲.
وقتی آرایه اصلیِ پنتیوم کامپایل شد، پنج مقدار به طور درست در قطعه ای که آرایه را روی تراشه ها وارد می کرد بارگیری نشده بودند - به همین دلیل پنج خانه آرایه دارای مقدار صفر بودند در حالی که باید دارای مقدار +۲ می بودند. [ ۶]
wiki: باگ پنتیوم اف دی آی وی