This is a good article. Click here for more information.

पेंटियम FDIV बग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 64: Line 64:
एफडी IV बग D1 से पहले के स्टेपिंग स्तरों में 60 और 66 MHz पेंटियम P5 800 और B5 से पहले के चरणों में 75, 90, और 100 MHz पेंटियम P54C 600 को प्रभावित करता है। 120 मेगाहर्ट्ज P54C और P54CQS CPU अप्रभावित हैं।<ref name="informit">{{cite web |title=P5 (586) Fifth-Generation Processors {{!}} Microprocessor Types and Specifications {{!}} InformIT |url=https://www.informit.com/articles/article.aspx?p=130978&seqNum=29 |website=www.informit.com |access-date=April 13, 2021 |date=June 8, 2001}}</ref><ref name="IntelFaq">{{cite web |publisher=[[Intel]] |title=FDIV Replacement Program: Frequently asked questions |date=March 20, 2009 |url=http://www.intel.com/support/processors/pentium/sb/CS-012748.htm |id=Solution ID CS-012748 |access-date=November 10, 2009 |archive-url=https://web.archive.org/web/20090511094631/http://www.intel.com/support/processors/pentium/sb/CS-012748.htm# |archive-date=May 11, 2009 |url-status=dead }}</ref>
एफडी IV बग D1 से पहले के स्टेपिंग स्तरों में 60 और 66 MHz पेंटियम P5 800 और B5 से पहले के चरणों में 75, 90, और 100 MHz पेंटियम P54C 600 को प्रभावित करता है। 120 मेगाहर्ट्ज P54C और P54CQS CPU अप्रभावित हैं।<ref name="informit">{{cite web |title=P5 (586) Fifth-Generation Processors {{!}} Microprocessor Types and Specifications {{!}} InformIT |url=https://www.informit.com/articles/article.aspx?p=130978&seqNum=29 |website=www.informit.com |access-date=April 13, 2021 |date=June 8, 2001}}</ref><ref name="IntelFaq">{{cite web |publisher=[[Intel]] |title=FDIV Replacement Program: Frequently asked questions |date=March 20, 2009 |url=http://www.intel.com/support/processors/pentium/sb/CS-012748.htm |id=Solution ID CS-012748 |access-date=November 10, 2009 |archive-url=https://web.archive.org/web/20090511094631/http://www.intel.com/support/processors/pentium/sb/CS-012748.htm# |archive-date=May 11, 2009 |url-status=dead }}</ref>
== [[ सॉफ्टवेयर पैच ]] ==
== [[ सॉफ्टवेयर पैच ]] ==
निर्माताओं द्वारा बग के समाधान के लिए विभिन्न सॉफ्टवेयर पैच तैयार किए गए। आईईईई कम्प्यूटेशनल साइंस एंड इंजीनियरिंग में एक पेपर में उल्लिखित विशिष्ट एल्गोरिदम, उन विभाजकों की जांच करता है जो प्रोग्राम करने योग्य तर्क सरणी कोशिकाओं तक पहुंच को ट्रिगर कर सकते हैं जिनमें गलती से शून्य होता है, और यदि ऐसा पाया जाता है, तो अंश और हर दोनों को 15/16 से गुणा कर देते हैं। यह उन्हें 'बग्गी' रेंज से बाहर ले जाता है। यह फिक्स एक औसत दर्जे का गति दंड लेता है - एक प्रोग्राम के लिए सबसे खराब मामला कुछ भी नहीं कर रहा है, लेकिन खराब विभाजक के साथ एफडीआईवी संचालन चल रहा है क्योंकि प्रत्येक एफडीआईवी 40 घड़ी चक्रों के बजाय लगभग 80 लेता है। अधिक यादृच्छिक भाजक के साथ प्रति एफडी IV औसत समय लगभग 50 घड़ी चक्र था, यानी भाजक की जांच के लिए 10 चक्र जोड़े गए: 1024 यादृच्छिक भाजक में से केवल 5 ही स्केलिंग फिक्सअप को ट्रिगर करेंगे। चूंकि अधिकांश कार्यक्रमों में एफडी IV एक दुर्लभ ऑपरेशन है, इसलिए स्थापित फिक्स के साथ सामान्य मंदी आमतौर पर एक प्रतिशत या उससे कम थी। <ref name="compaspects" />
निर्माताओं द्वारा बग के समाधान के लिए विभिन्न सॉफ्टवेयर पैच तैयार किए गए। आईईईई कम्प्यूटेशनल साइंस एंड इंजीनियरिंग में एक पेपर में उल्लिखित विशिष्ट एल्गोरिदम, उन विभाजकों की जांच करता है जो प्रोग्राम करने योग्य तर्क सरणी कोशिकाओं तक पहुंच को ट्रिगर कर सकते हैं जिनमें गलती से शून्य होता है, और यदि ऐसा पाया जाता है, तो अंश और हर दोनों को 15/16 से गुणा कर देते हैं। यह उन्हें 'बग्गी' रेंज से बाहर ले जाता है। यह फिक्स गति के साथ औसत दर्जे का समझौता करता है - यह प्रोग्राम के लिए सबसे खराब स्थिति होती है क्योंकि इस मामला में वह कुछ भी नहीं कर रहा है बल्कि खराब विभाजक के साथ एफडी IV संचालन चल रहा है क्योंकि प्रत्येक एफडी IV 40 के बजाय लगभग 80 घड़ी चक्रों लेता है। अधिक यादृच्छिक भाजक के साथ प्रति एफडी IV औसत समय लगभग 50 घड़ी चक्र था, यानी भाजक की जांच के लिए 10 चक्र जोड़े गए: 1024 यादृच्छिक भाजक में से केवल 5 ही स्केलिंग समाधान को ट्रिगर करेंगे। चूंकि अधिकांश कार्यक्रमों में एफडी IV एक दुर्लभ ऑपरेशन है, इसलिए स्थापित समाधान के साथ सामान्य मंदी आमतौर पर एक प्रतिशत या उससे कम थी। <ref name="compaspects" />


सॉफ्टवेयर कंपनियों के सामने मुख्य चुनौती पूर्व-मौजूदा सॉफ्टवेयर में सुधार करना था, जिनमें से अधिकांश अपने नियंत्रण से बाहर लाइब्रेरीज पर निर्भर थे। कुछ कंपनियों, जैसे [[ वोल्फ्राम रिसर्च ]], ने एफडी IV ऑपकोड को अवैध निर्देश के साथ बदलने के लिए मौजूदा निष्पादन योग्य मशीनों के[[ मशीन कोड ]]को सीधे पैच करने का विकल्प चुना। इसके बाद यह एक अपवाद को ट्रिगर करेगा और अपवाद हैंडलर (जिसमें भी पैच किया गया) पकड़ लेगा। यहां से, बग के निष्पादन के लिए किसी भी कोड को लागू किया जा सकता है।<ref name="wolfram" />
सॉफ्टवेयर कंपनियों के सामने मुख्य चुनौती पूर्व-मौजूदा सॉफ्टवेयर में सुधार करना था, जिनमें से अधिकांश अपने नियंत्रण से बाहर लाइब्रेरीज पर निर्भर थे। कुछ कंपनियों, जैसे [[ वोल्फ्राम रिसर्च ]], ने एफडी IV ऑपकोड को अवैध निर्देश के साथ बदलने के लिए मौजूदा निष्पादन योग्य मशीनों के[[ मशीन कोड ]]को सीधे पैच करने का विकल्प चुना। इसके बाद यह एक अपवाद को ट्रिगर करेगा और अपवाद हैंडलर (जिसमें भी पैच किया गया) पकड़ लेगा। यहां से, बग के निष्पादन के लिए किसी भी कोड को लागू किया जा सकता है।<ref name="wolfram" />

Revision as of 18:37, 22 October 2022

एफडीIV बग के साथ 66 मेगाहर्ट्ज इंटेल पेंटियम (sSpec=SX837)

पेंटियम एफडी IV बग एक हार्डवेयर बग है जो शुरुवाती इंटेल पेंटियम प्रोसेसर्स कीफ्लोटिंग-पॉइंट यूनिट (एफपीयू) को प्रभावित करता है। इस बग के कारण, उच्च-सटीक संख्याओं के कुछ जोड़े को विभाजित करते समय, प्रोसेसर गलत बाइनरी फ्लोटिंग पॉइंट परिणाम लौटाएगा। इस बग की खोज 1994 में लिंचबर्ग कॉलेज में गणित के प्रोफेसर थॉमस आर नीली ने की थी।[1] एफपीयू के फ़्लोटिंग-पॉइंट डिवीजन एल्गोरिदम द्वारा उपयोग की जाने वाली लुकअप तालिका में गुम मानों के कारण गणना में छोटी त्रुटियां प्राप्त हुईं। हालांकि अधिकांश उपयोग के मामलों में ये त्रुटियां शायद ही कभी होती हैं और परिणामस्वरूप सही आउटपुट मानों से विचलन छोटे होते हैं, कुछ परिस्थितियों में त्रुटियां अक्सर हो सकती हैं और विचलन अधिक हो सकती हैं।[2]

एफडी IV बग की गंभीरता पर बहस हो रही है। हालांकि अधिकांश उपयोगकर्ताओं द्वारा शायद ही कभी सामना किया गया ( बाइट पत्रिका ने अनुमान लगाया कि 9 बिलियन फ्लोटिंग पॉइंट में से 1 यादृच्छिक मापदंडों के साथ विभाजित होता है, जो गलत परिणाम देगा),[3] दोनों दोष और इंटेल की इस मामले में प्रारंभिक हैंडलिंग की तकनीकी समुदाय द्वारा भारी आलोचना की गई।

दिसंबर 1994 में, इंटेल दोषपूर्ण प्रोसेसर को वापस लेता है जो कंप्यूटर चिप का पहला पूर्ण रिकॉल था।[4] अपनी 1994 की वार्षिक रिपोर्ट में, इंटेल ने कहा कि उसने इन माइक्रोप्रोसेसरों के प्रतिस्थापन और राइट-ऑफ़ की वसूली के लिए $47.5 मिलियन पूर्व-कर शुल्क लगाया।[5]

विवरण

<graph>{"legends":[],"scales":[{"type":"linear","name":"x","zero":false,"domain":{"data":"chart","field":"x"},"range":"width","nice":true},{"type":"linear","name":"y","domain":{"data":"chart","field":"y"},"zero":false,"range":"height","nice":true},{"domain":{"data":"chart","field":"series"},"type":"ordinal","name":"color","range":"category10"},{"domain":{"data":"chart","field":"series"},"type":"ordinal","name":"symSize","range":[34]}],"version":2,"marks":[{"type":"line","properties":{"hover":{"stroke":{"value":"red"}},"update":{"stroke":{"scale":"color","field":"series"}},"enter":{"y":{"scale":"y","field":"y"},"x":{"scale":"x","field":"x"},"stroke":{"scale":"color","field":"series"},"strokeWidth":{"value":2.5}}},"from":{"data":"chart"}},{"type":"symbol","properties":{"enter":{"y":{"scale":"y","field":"y"},"x":{"scale":"x","field":"x"},"size":{"scale":"symSize","field":"series"},"fill":{"scale":"color","field":"series"},"stroke":{"scale":"color","field":"series"},"shape":{"value":"circle"},"strokeWidth":{"value":0}}},"from":{"data":"chart"}}],"height":150,"axes":[{"type":"x","title":"Numerator","scale":"x","properties":{"title":{"fill":{"value":"#54595d"}},"grid":{"stroke":{"value":"#54595d"}},"ticks":{"stroke":{"value":"#54595d"}},"axis":{"strokeWidth":{"value":2},"stroke":{"value":"#54595d"}},"labels":{"align":{"value":"right"},"angle":{"value":-45},"fill":{"value":"#54595d"}}},"grid":false},{"type":"y","title":"Result of dividing numerator by 3,145,727","scale":"y","properties":{"title":{"fill":{"value":"#54595d"}},"grid":{"stroke":{"value":"#54595d"}},"ticks":{"stroke":{"value":"#54595d"}},"axis":{"strokeWidth":{"value":2},"stroke":{"value":"#54595d"}},"labels":{"fill":{"value":"#54595d"}}},"grid":false}],"data":[{"format":{"parse":{"y":"number","x":"number"},"type":"json"},"name":"chart","values":[{"y":1.333820894,"series":"y","x":4195836.4},{"y":1.333820862,"series":"y","x":4195836.3},{"y":1.333820831,"series":"y","x":4195836.2},{"y":1.333820799,"series":"y","x":4195836.1},{"y":1.333820767,"series":"y","x":4195836},{"y":1.333739355,"series":"y","x":4195835.9},{"y":1.333739323,"series":"y","x":4195835.8},{"y":1.333739291,"series":"y","x":4195835.7},{"y":1.33373926,"series":"y","x":4195835.6},{"y":1.333739228,"series":"y","x":4195835.5},{"y":1.333739196,"series":"y","x":4195835.4},{"y":1.333739164,"series":"y","x":4195835.3},{"y":1.333739132,"series":"y","x":4195835.2},{"y":1.333739101,"series":"y","x":4195835.1},{"y":1.333739069,"series":"y","x":4195835},{"y":1.333739037,"series":"y","x":4195834.9},{"y":1.333739005,"series":"y","x":4195834.8},{"y":1.333738974,"series":"y","x":4195834.7},{"y":1.333738942,"series":"y","x":4195834.6},{"y":1.33373891,"series":"y","x":4195834.5},{"y":1.333820258,"series":"y","x":4195834.4},{"y":1.333820227,"series":"y","x":4195834.3},{"y":1.333820195,"series":"y","x":4195834.2},{"y":1.333820163,"series":"y","x":4195834.1},{"y":1.333820131,"series":"y","x":4195834},{"y":1.333820099,"series":"y","x":4195833.9}]}],"width":400}</graph>
Graph showing one manifestation of the FDIV bug. Each data point should be ~3.1789 x 10−8 higher on the y-axis than its predecessor to the left, but in the region 4195834.4 < x < 4195835.9 the result differs from the expected value by ~8.14 x 10−5.

486DX आधारित पेंटियम चिप पर फ्लोटिंग-पॉइंट डिवीजन गणना की गति में सुधार करने के लिए, इंटेल ने शिफ्ट-एंड-सबट्रेक्ट डिवीजन एल्गोरिथम को स्वीनी, रॉबर्टसन, और टोचर (एसआरटी) एल्गोरिथम के साथ बदलने का विकल्प चुना। एसआरटी एल्गोरिथ्म प्रतिघड़ी चक्र में विभाजन परिणाम के दो बिट उत्पन्न कर सकता है, जबकि 486 का एल्गोरिथ्म केवल एक ही उत्पन्न कर सकता है। इसे 2,048 कोशिकाओं के साथ प्रोग्राम करने योग्य तर्क सरणी का उपयोग करके कार्यान्वित किया जाता है, जिनमें से 1,066 कोशिकाओं को −2, −1, 0, +1, +2 पांच मानों में से एक के साथ पॉप्युलेट किया जाना चाहिए था| जब पेंटियम के लिए मूल सरणी संकलित की गई, तो पांचो मान सही ढंग से उस उपकरण में डाउनलोड नहीं किए गए जो सरणियों को चिप्स में निर्माण करते हैं - इस प्रकार पांच सरणी कोशिकाओं में शून्य होता है जब उनमें +2 होना चाहिए था।[6]

परिणामस्वरूप, इन पांच कक्षों पर निर्भर परिकलन त्रुटियाँ देते हैं; एसआरटी एल्गोरिथम की प्रत्यावर्तन प्रकृति के कारण ये त्रुटियां बार-बार बढ़ती रहती हैं। पैथोलॉजिकल मामलों में त्रुटि परिणाम के चौथे महत्वपूर्ण अंक तक पहुंच सकती है, हालांकि यह दुर्लभ है। त्रुटि आमतौर पर नौवें या दसवें महत्वपूर्ण अंक तक ही सीमित होती है।[3]

अंश और हर के केवल कुछ संयोजन ही बग को ट्रिगर करते हैं। आमतौर पर रिपोर्ट किया जाने वाला एक उदाहरण 4,195,835 को 3,145,727 से विभाजित करना है। विंडोज कैलकुलेटर जैसे फ्लोटिंग-पॉइंट कोप्रोसेसर का उपयोग करने वाले किसी भी सॉफ्टवेयर में इस गणना को करने से उपयोगकर्ताओं को यह पता लगाने की अनुमति मिलेगी कि उनकी पेंटियम चिप प्रभावित हुई थी या नहीं।[7]

गणना का सही मूल्य है:

जब प्रोसेसर द्वारा उपयोग किए जाने वाले हेक्साडेसिमल मान में परिवर्तित किया जाता है, तो 4,195,835 = 0x4005FB और 3,145,727 = 0x2FFFFF। 0x4005FB में '5' 'खाली' सरणी कोशिकाओं तक पहुंच को ट्रिगर करता है। परिणामस्वरूप, त्रुटिपूर्ण पेंटियम प्रोसेसर द्वारा लौटाया गया मान चार अंकों पर या उससे अधिक गलत है:[8]

Error: No content given to indent (or equals sign used in the actual argument to an unnamed parameter)

</गणित>}}

खोज और प्रतिक्रिया

लिंचबर्ग कॉलेज में गणित के प्रोफेसर थॉमस नाइसली ने अभाज्य संख्या , जुड़वां अभाज्य, अभाज्य त्रिगुण और अभाज्य चौगुनी गणना करने के लिए कोड लिखा था। अपने कंप्यूटरों के समूह में पेंटियम प्रणाली जोड़ने के तुरंत बाद 13 जून, 1994 को गणनाओं में कुछ विसंगतियों को अच्छी तरह से देखा, लेकिन 19 अक्टूबर, 1994 तक अन्य कारकों (जैसे प्रोग्रामिंग त्रुटियों, मदरबोर्ड चिपसेट, आदि) को समाप्त करने में असमर्थ था।[1]24 अक्टूबर 1994 को, उन्होंने इंटेल को इस मुद्दे की सूचना दी।[9] इंटेल कथित तौर पर जून 1994 तक इस मुद्दे से स्वतंत्र रूप से अवगत हो गया था, और इस बिंदु पर इसे ठीक करना शुरू कर दिया था, लेकिन सार्वजनिक रूप से किसी भी विवरण का खुलासा नहीं करना या प्रभावित सीपीयू को वापस बुलाना नहीं चुना।[10]

30 अक्टूबर 1994 को, नाइसली ने विभिन्न शैक्षणिक संपर्कों को बग का वर्णन करते हुए एक ईमेल भेजा, जिसमें इंटेल 486-DX4s, पेंटियम और पेंटियम संगत प्रोसेसर पर दोष के परीक्षण की रिपोर्ट का अनुरोध किया गया था।[9]बग को दूसरों द्वारा जल्दी से सत्यापित किया गया, और इसकी खबर इंटरनेट पर तेजी से फैल गई। बग ने फ़्लोटिंग-पॉइंट डिवीजन जो सबसे अधिक बार उपयोग किया जाने वाला प्रभावित निर्देश के लिए x86 निर्देश सूची से "पेंटियम एफडी IV बग" नाम प्राप्त किया।[9]

यह कहानी पहली बार 7 नवंबर, 1994 को इलेक्ट्रॉनिक इंजीनियरिंग टाइम्स के एक लेख में इंटेल अलेक्जेंडर वोल्फ द्वारा "इंटेल फिक्सेस अ पेंटियम एफपीयू ग्लिच" छपी, [11] और बाद में इसे सीएनएन द्वारा 22 नवंबर को प्रसारित एक खंड में उठाया गया था। न्यूयॉर्क टाइम्स और बोस्टन ग्लोब द्वारा भी इसकी सूचना दी गई थी, जो बाद में फ्रंट पेज बना रहा था।[10][12] इस बिंदु पर, इंटेल ने फ्लोटिंग-पॉइंट दोष को स्वीकार किया, लेकिन दावा किया कि यह गंभीर नहीं था और अधिकांश उपयोगकर्ताओं को प्रभावित नहीं करेगा। इंटेल ने उन उपयोगकर्ताओं को प्रोसेसर बदलने की पेशकश की जो साबित कर सकते थे कि वे प्रभावित थे। हालांकि, हालांकि अधिकांश स्वतंत्र अनुमानों में पाया गया कि बग का अधिकांश उपयोगकर्ताओं पर बहुत सीमित प्रभाव पड़ेगा, इसने कंपनी के लिए महत्वपूर्ण नकारात्मक दबाव पैदा किया। आईबीएम ने इंटेल सीपीयू वाले पीसी की बिक्री रोक दी, और इंटेल के शेयर की कीमत में काफी कमी आई।[13] उद्योग में कुछ लोगों ने आईबीएम के फैसले के पीछे की मंशा पर सवाल उठाया था; आईबीएम ने उस समय पावरपीसी सीपीयू का उत्पादन किया, और संभावित रूप से एक कंपनी के रूप में पेंटियम या इंटेल को किसी भी प्रतिष्ठित क्षति से लाभान्वित होने के लिए खड़ा था। हालांकि, निर्णय ने पीसी उपकरण के कॉर्पोरेट खरीदारों को मौजूदा पेंटियम सीपीयू के प्रतिस्थापन की मांग की, और इसके तुरंत बाद अन्य पीसी निर्माताओं ने त्रुटिपूर्ण पेंटियम चिप्स के प्रतिस्थापन के लिए कोई प्रश्न नहीं पूछा।[4]

इंटेल की प्रतिक्रिया से बढ़ते असंतोष के कारण कंपनी ने 20 दिसंबर को अनुरोध पर सभी दोषपूर्ण पेंटियम प्रोसेसर को बदलने की पेशकश की।[14] 17 जनवरी, 1995 को, इंटेल ने आय के मुकाबले $475 मिलियन के पूर्व-कर प्रभार की घोषणा की, जो कि त्रुटिपूर्ण प्रोसेसर के प्रतिस्थापन से जुड़ी कुल लागत थी।[9]यह $ . के बराबर है752 million में 2020.[15] पुनर्विक्रेताओं और ओईएम को रिकॉल कार्यक्रम में भाग लेने से रोकने के लिए इंटेल की आलोचना की गई, जिसके लिए अंत-उपयोगकर्ताओं को स्वयं चिप्स को बदलने की आवश्यकता थी। इसके समर्थन वेब पेज पर पोस्ट किए गए इंटेल का औचित्य यह था कि यह निर्धारित करने के लिए अंतिम उपयोगकर्ता का व्यक्तिगत निर्णय है कि क्या दोष उनकी एप्लिकेशन सटीकता को प्रभावित कर रहा है।[13]

विज्ञान (पत्रिका) में 1995 का एक लेख कंप्यूटर बग की खोज में संख्या सिद्धांत की समस्याओं के मूल्य का वर्णन करता है और गणितीय पृष्ठभूमि और ब्रून के स्थिरांक का इतिहास देता है, जिस समस्या पर नीली ने बग की खोज की थी, उस पर काम कर रहा था।[16] एफडी IV बग के लिए Intel की प्रतिक्रिया को एक समस्या के जनसंपर्क प्रभाव के मामले के रूप में उद्धृत किया गया है जो ग्राहकों पर उक्त समस्या के व्यावहारिक प्रभाव को ग्रहण करता है।[17] जबकि अधिकांश उपयोगकर्ताओं को अपने दिन-प्रतिदिन की कंप्यूटिंग में दोष का सामना करने की संभावना नहीं थी, कंपनी की चिप्स को प्रतिस्थापित नहीं करने की प्रारंभिक प्रतिक्रिया जब तक कि ग्राहक गारंटी नहीं दे सकते कि वे प्रभावित थे, उद्योग विशेषज्ञों के मुखर अल्पसंख्यक से धक्का-मुक्की हुई। बाद के प्रचार ने सीपीयू में उपभोक्ता के विश्वास को हिला दिया, और इस मुद्दे से प्रभावित होने की संभावना नहीं रखने वाले लोगों से भी कार्रवाई की मांग की। उस समय इंटेल के सीईओ एंड्रयू ग्रोव को द वॉल स्ट्रीट जर्नल में यह कहते हुए उद्धृत किया गया था कि मुझे लगता है कि जिस मुद्दे से हम चूक गए थे ... मत करो।[4]

बग और बाद में वापस बुलाने के बाद, अर्धचालक उद्योग में हार्डवेयर फ्लोटिंग पॉइंट संचालन के औपचारिक सत्यापन के उपयोग में उल्लेखनीय वृद्धि हुई थी। बग की खोज से प्रेरित होकर, एसआरटी एल्गोरिथम पर लागू एक तकनीक जिसे वर्ड-लेवल मॉडल चेकिंग कहा जाता है, 1996 में विकसित की गई थी।[18] इंटेल ने बाद के सीपीयू आर्किटेक्चर के विकास में औपचारिक सत्यापन का व्यापक रूप से उपयोग किया। पेंटियम 4 के विकास में, सांकेतिक प्रक्षेपवक्र मूल्यांकन और प्रमेय सिद्ध करने का उपयोग कई बगों को खोजने के लिए किया गया था जो एक समान याद की घटना का कारण बन सकते थे यदि वे ज्ञात नहीं हो गए थे।[19] सत्यापन की प्राथमिक विधि के रूप में औपचारिक सत्यापन का उपयोग करने वाला पहला इंटेल माइक्रोआर्किटेक्चर 2008 में विकसित नेहलेम (माइक्रोआर्किटेक्चर) था।[20]

प्रभावित मॉडल

एफडी IV बग D1 से पहले के स्टेपिंग स्तरों में 60 और 66 MHz पेंटियम P5 800 और B5 से पहले के चरणों में 75, 90, और 100 MHz पेंटियम P54C 600 को प्रभावित करता है। 120 मेगाहर्ट्ज P54C और P54CQS CPU अप्रभावित हैं।[21][22]

सॉफ्टवेयर पैच

निर्माताओं द्वारा बग के समाधान के लिए विभिन्न सॉफ्टवेयर पैच तैयार किए गए। आईईईई कम्प्यूटेशनल साइंस एंड इंजीनियरिंग में एक पेपर में उल्लिखित विशिष्ट एल्गोरिदम, उन विभाजकों की जांच करता है जो प्रोग्राम करने योग्य तर्क सरणी कोशिकाओं तक पहुंच को ट्रिगर कर सकते हैं जिनमें गलती से शून्य होता है, और यदि ऐसा पाया जाता है, तो अंश और हर दोनों को 15/16 से गुणा कर देते हैं। यह उन्हें 'बग्गी' रेंज से बाहर ले जाता है। यह फिक्स गति के साथ औसत दर्जे का समझौता करता है - यह प्रोग्राम के लिए सबसे खराब स्थिति होती है क्योंकि इस मामला में वह कुछ भी नहीं कर रहा है बल्कि खराब विभाजक के साथ एफडी IV संचालन चल रहा है क्योंकि प्रत्येक एफडी IV 40 के बजाय लगभग 80 घड़ी चक्रों लेता है। अधिक यादृच्छिक भाजक के साथ प्रति एफडी IV औसत समय लगभग 50 घड़ी चक्र था, यानी भाजक की जांच के लिए 10 चक्र जोड़े गए: 1024 यादृच्छिक भाजक में से केवल 5 ही स्केलिंग समाधान को ट्रिगर करेंगे। चूंकि अधिकांश कार्यक्रमों में एफडी IV एक दुर्लभ ऑपरेशन है, इसलिए स्थापित समाधान के साथ सामान्य मंदी आमतौर पर एक प्रतिशत या उससे कम थी। [8]

सॉफ्टवेयर कंपनियों के सामने मुख्य चुनौती पूर्व-मौजूदा सॉफ्टवेयर में सुधार करना था, जिनमें से अधिकांश अपने नियंत्रण से बाहर लाइब्रेरीज पर निर्भर थे। कुछ कंपनियों, जैसे वोल्फ्राम रिसर्च , ने एफडी IV ऑपकोड को अवैध निर्देश के साथ बदलने के लिए मौजूदा निष्पादन योग्य मशीनों केमशीन कोड को सीधे पैच करने का विकल्प चुना। इसके बाद यह एक अपवाद को ट्रिगर करेगा और अपवाद हैंडलर (जिसमें भी पैच किया गया) पकड़ लेगा। यहां से, बग के निष्पादन के लिए किसी भी कोड को लागू किया जा सकता है।[2]

विंडोज ने विंडोज एक्सपी तक माइक्रोसॉफ्ट विंडोज के संस्करणों में ऑपरेटिंग सिस्टम स्तर के समाधान की पेशकश की। बग की उपस्थिति की जांच और एफपीयू को अक्षम करने के लिए ऑपरेटिंग सिस्टम के साथ उपयोगिताओं को शामिल किया गया।[23][24]

यह भी देखें

संदर्भ

  1. 1.0 1.1 Edelman, Alan (January 1, 1997). "The Mathematics of the Pentium Division Bug" (PDF). SIAM Review. 39 (1): 54–67. Bibcode:1997SIAMR..39...54E. doi:10.1137/S0036144595293959. Retrieved April 11, 2021.
  2. 2.0 2.1 "'A Discussion of and Fix for the Pentium FDIV Bug' from the Notebook Archive (2002)". notebookarchive.org (in English). Wolfram Research, Inc. Retrieved April 11, 2021.
  3. 3.0 3.1 Tom R. Halfhill (March 1995). "An error in a lookup table created the infamous bug in Intel's latest processor". BYTE. No. March 1995. Archived from the original on February 9, 2006. Retrieved December 19, 2006.
  4. 4.0 4.1 4.2 Carlton, Jim; Yoder, Stephen K. (December 21, 1994). "Computers: Humble Pie: Intel to Replace its Pentium Chips". The Wall Street Journal (Eastern ed.). p. B1.
  5. "1994 - Annual Report". Intel. June 20, 2020. Archived from the original on February 26, 2017. Retrieved June 20, 2020.
  6. Sharangpani, H. P.; Barton, M. L. (November 30, 1994). Statistical Analysis of Floating Point Flaw in the Pentium Processor (1994) (PDF) (Report). Intel Corporation. Retrieved April 11, 2021.
  7. "Pentium FDIV bug – a Picture". Kansas University Institute for Policy and Social Research. November 30, 1994. Retrieved November 3, 2010.
  8. 8.0 8.1 Coe, T.; Mathisen, T.; Moler, C.; Pratt, V. (1995). "Computational aspects of the Pentium affair" (PDF). IEEE Computational Science and Engineering. 2 (1): 18–30. doi:10.1109/99.372929. Retrieved April 13, 2021.
  9. 9.0 9.1 9.2 9.3 Nicely, Thomas (August 19, 2011). "Pentium FDIV flaw FAQ". trnicely.net. Archived from the original on June 18, 2019. Retrieved June 18, 2019.
  10. 10.0 10.1 Markoff, John (November 24, 1994). "COMPANY NEWS; Flaw Undermines Accuracy of Pentium Chips". The New York Times. Retrieved April 11, 2021.
  11. Alexander Wolfe (November 9, 1994). "Intel fixes a Pentium FPU glitch". Electronic Engineering Times.
  12. Moler, Cleve (Winter 1995). "A Tale of Two Numbers" (PDF). MATLAB News and Notes. MathWorks. Retrieved April 21, 2021.
  13. 13.0 13.1 Yeraswork, Zewde (March 30, 2011). "Lessons Learned: Pentium Flaws Aid Intel In Sandy Bridge Chipset Recall". CRN. Retrieved April 11, 2021.
  14. "Intel adopts upon-request replacement policy on Pentium processors with floating point flaw; Will take Q4 charge against earnings". Business Wire. December 20, 1994. Archived from the original on July 10, 2012. Retrieved December 24, 2006.
  15. Johnston, Louis; Williamson, Samuel H. (2023). "What Was the U.S. GDP Then?". MeasuringWorth. Retrieved January 1, 2023. United States Gross Domestic Product deflator figures follow the Measuring Worth series.
  16. Cipra, Barry Arthur (January 13, 1995). "How number theory got the best of the Pentium chip". Science. 267 (5195): 175. Bibcode:1995Sci...267..175C. doi:10.1126/science.267.5195.175. PMID 17791336. S2CID 19898103.
  17. Price, D. (April 1995). "Pentium FDIV flaw-lessons learned". IEEE Micro. 15 (2): 86–88. doi:10.1109/40.372360.
  18. Clarke, E. M.; Khaira, M.; Zhao, X. (1996). "Word level model checking—avoiding the Pentium FDIV error". Proceedings of the 33rd Annual Conference on Design Automation Conference – DAC '96. Dac '96: 645–648. doi:10.1145/240518.240640. ISBN 0897917790. S2CID 2500033. Retrieved April 29, 2021.
  19. O'Leary, J. (2004). "Formal verification in intel cpu design". Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04.: 152. doi:10.1109/MEMCOD.2004.1459841. ISBN 0-7803-8509-8. Retrieved April 29, 2021.
  20. Kaivola, Roope; Ghughal, Rajnish; Narasimhan, Naren; Telfer, Amber; Whittemore, Jesse; Pandav, Sudhindra; Slobodová, Anna; Taylor, Christopher; Frolov, Vladimir; Reeber, Erik; Naik, Armaghan (2009). "Replacing Testing with Formal Verification in Intel $^{\scriptsize\circledR}$ CoreTM i7 Processor Execution Engine Validation". Computer Aided Verification. 5643: 414–429. doi:10.1007/978-3-642-02658-4_32.
  21. "P5 (586) Fifth-Generation Processors | Microprocessor Types and Specifications | InformIT". www.informit.com. June 8, 2001. Retrieved April 13, 2021.
  22. "FDIV Replacement Program: Frequently asked questions". Intel. March 20, 2009. Solution ID CS-012748. Archived from the original on May 11, 2009. Retrieved November 10, 2009.
  23. Slob, Arie. "Windows 95 Troubleshooting: How to Check for a Faulty Math Coprocessor". www.helpwithwindows.com. Retrieved April 23, 2019.
  24. "Pentnt". Microsoft TechNet. Microsoft. September 11, 2009. Retrieved April 23, 2019.


इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची

  • विशिष्ट एकीकृत परिपथ आवेदन
  • डिजिटल डाटा
  • आंकड़े
  • के माध्यम से (इलेक्ट्रॉनिक्स)
  • संवहन दस्तावेज़ स्वरूप
  • विनिर्माण क्षमता के लिए डिजाइन (आईसी)
  • सिलिकॉन सत्यापन पोस्ट करें
  • मास्क डेटा तैयारी
  • असफलता विश्लेषण
  • रजिस्टर ट्रांसफर लेवल
  • सी (प्रोग्रामिंग भाषा)
  • यात्रा
  • मांग
  • उत्पाद आवश्यकता दस्तावेज़
  • बाज़ार अवसर
  • जीवन का अंत (उत्पाद)
  • निर्देश समुच्चय
  • तर्क अनुकरण
  • सिग्नल की समग्रता
  • डिजाइन नियम की जाँच
  • टाइमिंग क्लोजर
  • औपचारिक तुल्यता जाँच
  • सामान्य केन्द्रक
  • ऑप एंप
  • मेंटर ग्राफिक्स
  • एकीकृत परिपथों और प्रणालियों के कंप्यूटर सहायता प्राप्त डिजाइन पर आईईईई लेनदेन
  • असफलता विश्लेषण
  • एन पी-सम्पूर्ण
  • परीक्षण वेक्टर
  • controllability
  • observability
  • प्रशंसक एल्गोरिदम
  • कूट-यादृच्छिक
  • पंक्ति का पिछला अंत
  • बांड विशेषता
  • दोहरी इन-लाइन पैकेज
  • मरो (एकीकृत सर्किट)
  • निर्माण (अर्धचालक)
  • विद्युतचुंबकीय व्यवधान
  • epoxy
  • भली भांति बंद सील
  • फ्लैटपैक (इलेक्ट्रॉनिक्स)
  • पतली छोटी रूपरेखा पैकेज
  • गोंद
  • मेटलाइजिंग
  • अनावर्ती अभियांत्रिकी
  • बाजार के लिए समय
  • तार का जोड़
  • नमी
  • विद्युतीय
  • स्थानीय कर से मुक्ति
  • साफ-सुथरे कमरे
  • अवरोधित हो जाना
  • HIRF
  • एकीकृत परिपथ
  • रूटिंग (इलेक्ट्रॉनिक डिजाइन ऑटोमेशन)
  • प्रक्रिया के कोने
  • मानक सेल
  • आईसी बिजली की आपूर्ति पिन
  • घड़ी की आवृत्ति
  • सिग्नल की समग्रता
  • उत्तम नस्ल
  • रजिस्टर ट्रांसफर लेवल
  • मूल्य संवर्धित
  • पुस्तकालय (कंप्यूटर विज्ञान)
  • मॉडल आधारित डिजाइन
  • स्वत: नियंत्रण
  • राज्य मशीनें
  • सोर्स कोड
  • स्वचालित कोड पीढ़ी
  • शून्य से विभाजन
  • आवश्यकताओं का पता लगाने योग्यता
  • मॉडल जांच
  • औपचारिक तरीके
  • मॉडल केंद्र
  • वेब आधारित अनुकरण
  • Xcos
  • साइलैब
  • पूर्णांक
  • मैक ओएस
  • प्रयोक्ता इंटरफ़ेस
  • समारोह (गणित)
  • फोरट्रान
  • स्थिर (कंप्यूटर विज्ञान)
  • खिसकाना
  • जादू वर्ग
  • लैम्ब्डा कैलकुलस
  • मेक्स फ़ाइल
  • मेथेमेटिका
  • तुम क्या सहन करते हो
  • संख्यात्मक-विश्लेषण सॉफ्टवेयर की तुलना
  • आईईईई मानक
  • एक्सेलेरा
  • जावा (प्रोग्रामिंग भाषा)
  • पैक्ड सरणी
  • कड़ा मुकाबला
  • struct
  • टाइपडीफ
  • कुंडी (इलेक्ट्रॉनिक)
  • रन टाइम (कार्यक्रम जीवनचक्र चरण)
  • एकल विरासत
  • टेम्पलेट विशेषज्ञता
  • जानकारी छिपाना
  • ऑपरेटर नया
  • यादृच्छिक परीक्षण
  • सामग्री निहितार्थ (अनुमान का नियम)
  • पूर्ववृत्त (तर्क)
  • फलस्वरूप
  • सिमुलेशन
  • स्वचालित प्रमेय सिद्ध करना
  • कार्तीय गुणन
  • परीक्षण के अंतर्गत उपकरण
  • डिजाइन अंतरिक्ष सत्यापन
  • टेस्ट कवरेज
  • उदाहरण (कंप्यूटर विज्ञान)
  • तुल्यकालन (कंप्यूटर विज्ञान)
  • सशक्त टाइपिंग
  • पाश के लिए
  • बहाव को काबू करें
  • लगातार (कंप्यूटर प्रोग्रामिंग)
  • भाषा अंतरसंचालनीयता
  • सी-परिवार प्रोग्रामिंग भाषाओं की सूची
  • प्रक्रमण करने से पहले के निर्देश
  • मूल फाइल
  • लिंट (सॉफ्टवेयर)
  • एकीकृत सर्किट डिजाइन
  • एकीकृत सर्किट लेआउट
  • एकीकृत परिपथ
  • पूरा रिवाज
  • इन्सुलेटर पर सिलिकॉन
  • मुखौटा डेटा तैयारी
  • उच्च स्तरीय संश्लेषण
  • असतत घटना सिमुलेशन
  • आईडिया1
  • उच्च स्तरीय प्रोग्रामिंग भाषा
  • संगणक वैज्ञानिक
  • वितरित अभिकलन
  • व्युत्पन्न वर्ग
  • सीएलयू (प्रोग्रामिंग भाषा)
  • अदा (प्रोग्रामिंग भाषा)
  • कक्षा (कंप्यूटर प्रोग्रामिंग)
  • कास्ट (कंप्यूटर विज्ञान)
  • एक्सेप्शन हेंडलिंग
  • सभा की भाषा
  • अवधारणाएं (सी ++)
  • सी ++ मानक पुस्तकालय
  • एब्स्ट्रैक्शन (कंप्यूटर साइंस)
  • कक्षा (कंप्यूटर विज्ञान)
  • संकलन समय
  • सहयोगी सरणी
  • सुविधा (सॉफ्टवेयर डिजाइन)
  • अनवरत वृद्धि # अनियंत्रित विस्तार
  • विशिष्ट एकीकृत परिपथ आवेदन
  • अर्धचालक निर्माण
  • एक चिप पर सिस्टम
  • नि: शुल्क
  • अनुक्रमिक तर्क
  • स्थान और मार्ग
  • रूटिंग (ईडीए)
  • सेमीकंडक्टर
  • आर्किटेक्ट
  • फ्लोरेंस कैथेड्रल
  • वास्तु सिद्धांत
  • समसामयिक आर्किटेक्चर
  • गोथिक वास्तुशिल्प
  • फार्म समारोह के बाद
  • मंजिल की योजना
  • सुनहरा अनुपात
  • वास्तुकला डिजाइन मूल्य
  • पुनर्निर्माणवाद
  • क्लासिकल एंटिक्विटी
  • कैथेड्रल
  • सौंदर्यशास्र
  • अभिव्यंजनावादी वास्तुकला
  • वास्तु घटना विज्ञान
  • हरा भवन
  • हरित बुनियादी ढाँचा
  • संकल्पनात्मक निदर्श
  • व्‍यवहार
  • वास्तुकला प्रौद्योगिकी
  • कटलरी
  • डिजाइन के तरीके
  • संकल्पनात्मक निदर्श
  • झरना मॉडल
  • शोध करना
  • उत्पाद डिजाइन विनिर्देश
  • संक्षिप्त आकार
  • उत्पाद का परीक्षण करना
  • समस्या को सुलझाना
  • दस्तावेज़
  • साइट पर
  • आशुरचना
  • चुस्त सॉफ्टवेयर विकास
  • उपयोगकर्ता केंद्रित डिजाइन
  • ग्राफक कला
  • एप्लाइड आर्ट्स
  • मुहावरा
  • चिन्ह, प्रतीक
  • जानबूझकर परिभाषा
  • अंक शास्त्र
  • सूक्तियों
  • आवश्यक और पर्याप्त शर्तें
  • लिंग-अंतर परिभाषा
  • त्रिकोण
  • चतुष्कोष
  • पदार्थवाद
  • संभव दुनिया
  • कठोर अभिकर्ता
  • संचालनगत परिभाषा
  • समनाम
  • निराकरण
  • संकेत (सेमियोटिक्स)
  • सेमे (शब्दार्थ)
  • शब्द भावना
  • अर्थ क्षेत्र
  • अर्थ (भाषाविज्ञान)
  • निओलगिज़्म
  • अपरिष्कृत किस्म
  • परिभाषा के अनुसार विस्तार
  • आत्म संदर्भ
  • चिकित्सा सहमति
  • चिकित्सा वर्गीकरण
  • शाब्दिक परिभाषा
  • मतवाद
  • प्राणी
  • दार्शनिक जांच
  • व्यक्तित्व का सिद्धांत
  • विवरण का सिद्धांत
  • शाऊल क्रिप्के
  • अनिश्चितता (दर्शनशास्त्र)
  • अर्थ विज्ञान
  • जानकारी
  • सरल भाषा
  • भाषा: हिन्दी
  • बातचीत का माध्यम
  • सूचना प्रक्रम
  • गुप्तता
  • लिख रहे हैं
  • आधार - सामग्री संकोचन
  • हाव-भाव
  • कुल कार्य
  • कड़ी
  • कोड वर्ड
  • कम घनत्व समता-जांच कोड
  • उच्चारण क्षमता
  • चरित्र (कंप्यूटिंग)
  • एचटीटीपी हेडर
  • जेनेटिक कोड
  • जीवविज्ञान
  • अवरोध
  • पत्रक संगीत
  • क्रिप्टोग्राफी का इतिहास
  • पाठ के प्रस्तुतिकरण के लिए प्रयुक्त भाषा
  • टेक्स्ट एन्कोडिंग पहल
  • SECAM
  • शब्दार्थ एन्कोडिंग
  • मेमोरी एन्कोडिंग
  • लेखन प्रणाली
  • सांकेतिकता
  • कोड (सेमियोटिक्स)
  • असिमिक लेखन
  • जाँचने का तरीका
  • निहाई
  • बरबाद करना
  • प्रथम लेख निरीक्षण
  • प्राथमिक धारा
  • फाइल का प्रारूप
  • फ़ाइल साझा करना
  • सर्वाधिकार उल्लंघन
  • संशोधित असतत कोसाइन परिवर्तन
  • अंतरराष्ट्रीय मानकीकरण संगठन
  • इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन
  • बुंदाडा इटाकुरा
  • असतत कोसाइन परिवर्तन
  • फिल्टर (सॉफ्टवेयर)
  • धोखाधड़ी
  • एमपीईजी-1 ऑडियो परत II
  • झूठा
  • नमूनाकरण दर
  • संदर्भ कार्यान्वयन (कंप्यूटिंग)
  • सोल
  • धुन (ऑनलाइन संगीत सेवा)
  • जॉइन्ट स्टीरियो
  • त्रुटि की जांच कर रहा है
  • पूर्व बनाया
  • संपीड़न विरूपण साक्ष्य
  • लाल किताब (ऑडियो सीडी मानक)
  • आईएफए शो
  • कार्य (ऑडियो प्रारूप)
  • सेब दोषरहित
  • एमपीईजी -4 भाग 14
  • बयान (कंप्यूटर विज्ञान)
  • सॉफ़्टवेयर परीक्षण
  • एसीएम का संचार
  • सुरक्षा महत्वपूर्ण
  • परिमित अवस्था मशीन
  • रुकने की समस्या
  • ताल डिजाइन सिस्टम
  • एफपीजीए प्रोटोटाइप
  • कदम स्तर
  • एम्यूलेटर
  • उन्नत लघु उपकरण
  • सेंट्रल प्रोसेसिंग यूनिट
  • स्पर्धारोधी कानून
  • शुरुआती सार्वजानिक प्रस्ताव
  • क्रेग बैरेट (व्यापारी)
  • एंटीट्रस्ट
  • एआईएम गठबंधन
  • किफायती इंटरनेट के लिए गठबंधन
  • सेब सिलिकॉन
  • EPROM
  • विद्युत ऊर्जा की खपत
  • एम्बर झील (सूक्ष्म वास्तुकला)
  • Apple वर्ल्डवाइड डेवलपर्स कॉन्फ्रेंस
  • स्वतंत्र रूप से पुनर्वितरण योग्य सॉफ्टवेयर
  • प्रचार अभियान
  • प्रतिस्पर्धी विरोधी प्रथाएं
  • एथिलबेन्जीन
  • संघर्ष संसाधन
  • कन्फ्लिक्ट खनिज
  • आयु भेदभाव
  • बम्पलेस बिल्ड-अप परत
  • उत्पाद वापसी
  • प्रधान चौगुनी
  • प्राइम ट्रिपलेट
  • जुड़वां प्रधान
  • प्रतीकात्मक प्रक्षेपवक्र मूल्यांकन
  • कदम स्तर
  • पुस्तकालय (कम्प्यूटिंग)

बाहरी संबंध