पेंटियम FDIV बग: Difference between revisions
No edit summary |
No edit summary |
||
Line 24: | Line 24: | ||
}} | }} | ||
}} | }} | ||
[[ इंटेल 80486 | 486DX]] आधारित पेंटियम चिप पर फ्लोटिंग-पॉइंट डिवीजन गणना की गति में सुधार करने के लिए, इंटेल ने शिफ्ट-एंड-सबट्रेक्ट डिवीजन एल्गोरिथम को स्वीनी, रॉबर्टसन, और टोचर (एसआरटी) एल्गोरिथम के साथ बदलने का विकल्प चुना। एसआरटी एल्गोरिथ्म प्रति[[ घड़ी चक्र ]]में विभाजन परिणाम के दो बिट उत्पन्न कर सकता है, जबकि 486 का एल्गोरिथ्म केवल एक ही उत्पन्न कर सकता है। इसे 2,048 कोशिकाओं के साथ [[ प्रोग्राम करने योग्य तर्क सरणी ]] का उपयोग करके कार्यान्वित किया जाता है, जिनमें से 1,066 कोशिकाओं को | [[ इंटेल 80486 | 486DX]] आधारित पेंटियम चिप पर फ्लोटिंग-पॉइंट डिवीजन गणना की गति में सुधार करने के लिए, इंटेल ने शिफ्ट-एंड-सबट्रेक्ट डिवीजन एल्गोरिथम को स्वीनी, रॉबर्टसन, और टोचर (एसआरटी) एल्गोरिथम के साथ बदलने का विकल्प चुना। एसआरटी एल्गोरिथ्म प्रति[[ घड़ी चक्र ]]में विभाजन परिणाम के दो बिट उत्पन्न कर सकता है, जबकि 486 का एल्गोरिथ्म केवल एक ही उत्पन्न कर सकता है। इसे 2,048 कोशिकाओं के साथ [[ प्रोग्राम करने योग्य तर्क सरणी |प्रोग्राम करने योग्य तर्क सरणी]] का उपयोग करके कार्यान्वित किया जाता है, जिनमें से 1,066 कोशिकाओं को {{nowrap|−2, −1, 0, +1, +2}} पांच मानों में से एक के साथ पॉप्युलेट किया जाना चाहिए था| जब पेंटियम के लिए मूल सरणी संकलित की गई, तो पांचो मान सही ढंग से उस उपकरण में डाउनलोड नहीं किए गए जो सरणियों को चिप्स में निर्माण करते हैं - इस प्रकार पांच सरणी कोशिकाओं में शून्य होता है जब उनमें +2 होना चाहिए था।<ref name="intelreport">{{Cite report |url=https://users.fmi.uni-jena.de/~nez/rechnerarithmetik_5/fdiv_bug/intel_white11.pdf |title=Statistical Analysis of Floating Point Flaw in the Pentium Processor (1994) |last1=Sharangpani |first1=H. P. |last2=Barton |first2=M. L. |date=November 30, 1994 |publisher=Intel Corporation |publication-date=November 30, 1994 |access-date=April 11, 2021}}</ref> | ||
परिणामस्वरूप, इन पांच कक्षों पर निर्भर परिकलन त्रुटियाँ | |||
परिणामस्वरूप, इन पांच कक्षों पर निर्भर परिकलन त्रुटियाँ देते हैं; एसआरटी एल्गोरिथम की प्रत्यावर्तन प्रकृति के कारण ये त्रुटियां बार-बार बढ़ती रहती हैं। पैथोलॉजिकल मामलों में त्रुटि परिणाम के चौथे महत्वपूर्ण अंक तक पहुंच सकती है, हालांकि यह दुर्लभ है। त्रुटि आमतौर पर नौवें या दसवें महत्वपूर्ण अंक तक ही सीमित होती है।<ref name="halfhill-199503" /> | |||
अंश और हर के केवल कुछ संयोजन ही बग को ट्रिगर करते हैं। आमतौर पर रिपोर्ट किया जाने वाला एक उदाहरण 4,195,835 को 3,145,727 से विभाजित करना है।[[ विंडोज कैलकुलेटर | विंडोज कैलकुलेटर]] जैसे फ्लोटिंग-पॉइंट कोप्रोसेसर का उपयोग करने वाले किसी भी सॉफ्टवेयर में इस गणना को करने से उपयोगकर्ताओं को यह पता लगाने की अनुमति मिलेगी कि उनकी पेंटियम चिप प्रभावित हुई थी या नहीं।<ref name="kansas">{{cite web|publisher=Kansas University Institute for Policy and Social Research|title=Pentium FDIV bug – a Picture|date=November 30, 1994|url=http://www.ipsr.ku.edu/stafffil/hoyle/pentium_fdiv/|access-date=November 3, 2010}}</ref> | |||
गणना का सही मूल्य है: | गणना का सही मूल्य है: | ||
Line 33: | Line 35: | ||
जब प्रोसेसर द्वारा उपयोग किए जाने वाले हेक्साडेसिमल मान में परिवर्तित किया जाता है, तो 4,195,835 = 0x4005FB और 3,145,727 = 0x2FFFFF। 0x4005FB में '5' 'खाली' सरणी कोशिकाओं तक पहुंच को ट्रिगर करता है। परिणामस्वरूप, त्रुटिपूर्ण पेंटियम प्रोसेसर द्वारा लौटाया गया मान चार अंकों पर या उससे अधिक गलत है:<ref name="compaspects">{{cite journal |last1=Coe |first1=T. |last2=Mathisen |first2=T. |last3=Moler |first3=C. |last4=Pratt |first4=V. |title=Computational aspects of the Pentium affair |journal=IEEE Computational Science and Engineering |date=1995|volume=2 |issue=1 |pages=18–30 |doi=10.1109/99.372929 |url=https://people.cs.vt.edu/~naren/Courses/CS3414/assignments/pentium.pdf |access-date=April 13, 2021}}</ref> | जब प्रोसेसर द्वारा उपयोग किए जाने वाले हेक्साडेसिमल मान में परिवर्तित किया जाता है, तो 4,195,835 = 0x4005FB और 3,145,727 = 0x2FFFFF। 0x4005FB में '5' 'खाली' सरणी कोशिकाओं तक पहुंच को ट्रिगर करता है। परिणामस्वरूप, त्रुटिपूर्ण पेंटियम प्रोसेसर द्वारा लौटाया गया मान चार अंकों पर या उससे अधिक गलत है:<ref name="compaspects">{{cite journal |last1=Coe |first1=T. |last2=Mathisen |first2=T. |last3=Moler |first3=C. |last4=Pratt |first4=V. |title=Computational aspects of the Pentium affair |journal=IEEE Computational Science and Engineering |date=1995|volume=2 |issue=1 |pages=18–30 |doi=10.1109/99.372929 |url=https://people.cs.vt.edu/~naren/Courses/CS3414/assignments/pentium.pdf |access-date=April 13, 2021}}</ref> | ||
{{block indent|<math>\textstyle \dfrac{4{,}195{,}835}{3{,}145{,}727} = 1.333{\color{red}{739068902037589}}</गणित>}} | {{block indent|<math>\textstyle \dfrac{4{,}195{,}835}{3{,}145{,}727} = 1.333739068902037589</math>}}{{block indent|<math>\textstyle \dfrac{4{,}195{,}835}{3{,}145{,}727} = 1.333{\color{red}{739068902037589}}</गणित>}} | ||
==खोज और प्रतिक्रिया == | ==खोज और प्रतिक्रिया == | ||
Line 57: | Line 59: | ||
FDIV बग के लिए Intel की प्रतिक्रिया को एक समस्या के [[ जनसंपर्क ]] प्रभाव के मामले के रूप में उद्धृत किया गया है जो ग्राहकों पर उक्त समस्या के व्यावहारिक प्रभाव को ग्रहण करता है।<ref name="ieee">{{cite journal |last1=Price |first1=D. |title=Pentium FDIV flaw-lessons learned |journal=IEEE Micro |date=April 1995 |volume=15 |issue=2 |pages=86–88 |doi=10.1109/40.372360}}</ref> जबकि अधिकांश उपयोगकर्ताओं को अपने दिन-प्रतिदिन की कंप्यूटिंग में दोष का सामना करने की संभावना नहीं थी, कंपनी की चिप्स को प्रतिस्थापित नहीं करने की प्रारंभिक प्रतिक्रिया जब तक कि ग्राहक गारंटी नहीं दे सकते कि वे प्रभावित थे, उद्योग विशेषज्ञों के मुखर अल्पसंख्यक से धक्का-मुक्की हुई। बाद के प्रचार ने सीपीयू में उपभोक्ता के विश्वास को हिला दिया, और इस मुद्दे से प्रभावित होने की संभावना नहीं रखने वाले लोगों से भी कार्रवाई की मांग की। उस समय इंटेल के सीईओ एंड्रयू ग्रोव को द वॉल स्ट्रीट जर्नल में यह कहते हुए उद्धृत किया गया था कि मुझे लगता है कि जिस मुद्दे से हम चूक गए थे ... मत करो।<ref name="wsjhumblepie" /> | FDIV बग के लिए Intel की प्रतिक्रिया को एक समस्या के [[ जनसंपर्क ]] प्रभाव के मामले के रूप में उद्धृत किया गया है जो ग्राहकों पर उक्त समस्या के व्यावहारिक प्रभाव को ग्रहण करता है।<ref name="ieee">{{cite journal |last1=Price |first1=D. |title=Pentium FDIV flaw-lessons learned |journal=IEEE Micro |date=April 1995 |volume=15 |issue=2 |pages=86–88 |doi=10.1109/40.372360}}</ref> जबकि अधिकांश उपयोगकर्ताओं को अपने दिन-प्रतिदिन की कंप्यूटिंग में दोष का सामना करने की संभावना नहीं थी, कंपनी की चिप्स को प्रतिस्थापित नहीं करने की प्रारंभिक प्रतिक्रिया जब तक कि ग्राहक गारंटी नहीं दे सकते कि वे प्रभावित थे, उद्योग विशेषज्ञों के मुखर अल्पसंख्यक से धक्का-मुक्की हुई। बाद के प्रचार ने सीपीयू में उपभोक्ता के विश्वास को हिला दिया, और इस मुद्दे से प्रभावित होने की संभावना नहीं रखने वाले लोगों से भी कार्रवाई की मांग की। उस समय इंटेल के सीईओ एंड्रयू ग्रोव को द वॉल स्ट्रीट जर्नल में यह कहते हुए उद्धृत किया गया था कि मुझे लगता है कि जिस मुद्दे से हम चूक गए थे ... मत करो।<ref name="wsjhumblepie" /> | ||
बग और बाद में वापस बुलाने के बाद, अर्धचालक उद्योग में हार्डवेयर फ्लोटिंग पॉइंट संचालन के [[ औपचारिक सत्यापन ]] के उपयोग में उल्लेखनीय वृद्धि हुई थी। बग की खोज से प्रेरित होकर, | बग और बाद में वापस बुलाने के बाद, अर्धचालक उद्योग में हार्डवेयर फ्लोटिंग पॉइंट संचालन के [[ औपचारिक सत्यापन ]] के उपयोग में उल्लेखनीय वृद्धि हुई थी। बग की खोज से प्रेरित होकर, एसआरटी एल्गोरिथम पर लागू एक तकनीक जिसे वर्ड-लेवल मॉडल चेकिंग कहा जाता है, 1996 में विकसित की गई थी।<ref name="wordlevel">{{cite journal |last1=Clarke |first1=E. M. |last2=Khaira |first2=M. |last3=Zhao |first3=X. |title=Word level model checking—avoiding the Pentium FDIV error |journal=Proceedings of the 33rd Annual Conference on Design Automation Conference – DAC '96 |series=Dac '96 |date=1996 |pages=645–648 |doi=10.1145/240518.240640 |isbn=0897917790 |s2cid=2500033 |url=https://dl.acm.org/doi/10.1145/240518.240640 |access-date=April 29, 2021}}</ref> इंटेल ने बाद के सीपीयू आर्किटेक्चर के विकास में औपचारिक सत्यापन का व्यापक रूप से उपयोग किया। [[ पेंटियम 4 ]] के विकास में, सांकेतिक प्रक्षेपवक्र मूल्यांकन और प्रमेय सिद्ध करने का उपयोग कई बगों को खोजने के लिए किया गया था जो एक समान याद की घटना का कारण बन सकते थे यदि वे ज्ञात नहीं हो गए थे।<ref name="memcod">{{cite journal |last1=O'Leary |first1=J. |title=Formal verification in intel cpu design |journal=Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04. |date=2004 |pages=152 |doi=10.1109/MEMCOD.2004.1459841 |isbn=0-7803-8509-8 |url=https://www.computer.org/csdl/proceedings-article/memcod/2004/01459841/12OmNzBOimc |access-date=April 29, 2021}}</ref> सत्यापन की प्राथमिक विधि के रूप में औपचारिक सत्यापन का उपयोग करने वाला पहला इंटेल माइक्रोआर्किटेक्चर 2008 में विकसित [[ नेहलेम (माइक्रोआर्किटेक्चर) ]] था।<ref>{{cite journal |last1=Kaivola |first1=Roope |last2=Ghughal |first2=Rajnish |last3=Narasimhan |first3=Naren |last4=Telfer |first4=Amber |last5=Whittemore |first5=Jesse |last6=Pandav |first6=Sudhindra |last7=Slobodová |first7=Anna |last8=Taylor |first8=Christopher |last9=Frolov |first9=Vladimir |last10=Reeber |first10=Erik |last11=Naik |first11=Armaghan |title=Replacing Testing with Formal Verification in Intel $^{\scriptsize\circledR}$ CoreTM i7 Processor Execution Engine Validation |journal=Computer Aided Verification |date=2009 |volume=5643 |pages=414–429 |doi=10.1007/978-3-642-02658-4_32 |doi-access=free }}</ref> | ||
Revision as of 23:36, 20 October 2022
पेंटियम एफडी IV बग एक हार्डवेयर बग है जो शुरुवाती इंटेल पेंटियम प्रोसेसर्स कीफ्लोटिंग-पॉइंट यूनिट (एफपीयू) को प्रभावित करता है। इस बग के कारण, उच्च-सटीक संख्याओं के कुछ जोड़े को विभाजित करते समय, प्रोसेसर गलत बाइनरी फ्लोटिंग पॉइंट परिणाम लौटाएगा। इस बग की खोज 1994 में लिंचबर्ग कॉलेज में गणित के प्रोफेसर थॉमस आर नीली ने की थी।[1] एफपीयू के फ़्लोटिंग-पॉइंट डिवीजन एल्गोरिदम द्वारा उपयोग की जाने वाली लुकअप तालिका में गुम मानों के कारण गणना में छोटी त्रुटियां प्राप्त हुईं। हालांकि अधिकांश उपयोग के मामलों में ये त्रुटियां शायद ही कभी होती हैं और परिणामस्वरूप सही आउटपुट मानों से विचलन छोटे होते हैं, कुछ परिस्थितियों में त्रुटियां अक्सर हो सकती हैं और विचलन अधिक हो सकती हैं।[2]
एफडी IV बग की गंभीरता पर बहस हो रही है। हालांकि अधिकांश उपयोगकर्ताओं द्वारा शायद ही कभी सामना किया गया ( बाइट पत्रिका ने अनुमान लगाया कि 9 बिलियन फ्लोटिंग पॉइंट में से 1 यादृच्छिक मापदंडों के साथ विभाजित होता है, जो गलत परिणाम देगा),[3] दोनों दोष और इंटेल की इस मामले में प्रारंभिक हैंडलिंग की तकनीकी समुदाय द्वारा भारी आलोचना की गई।
दिसंबर 1994 में, इंटेल दोषपूर्ण प्रोसेसर को वापस लेता है जो कंप्यूटर चिप का पहला पूर्ण रिकॉल था।[4] अपनी 1994 की वार्षिक रिपोर्ट में, इंटेल ने कहा कि उसने इन माइक्रोप्रोसेसरों के प्रतिस्थापन और राइट-ऑफ़ की वसूली के लिए $47.5 मिलियन पूर्व-कर शुल्क लगाया।[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]
</गणित>}}
खोज और प्रतिक्रिया
लिंचबर्ग कॉलेज में गणित के प्रोफेसर थॉमस नाइसली ने अभाज्य संख्या , जुड़वां अभाज्य, अभाज्य त्रिगुण और अभाज्य चौगुनी गणना करने के लिए कोड लिखा था। अपने कंप्यूटरों के समूह में एक पेंटियम प्रणाली जोड़ने के तुरंत बाद, 13 जून, 1994 को गणनाओं में कुछ विसंगतियों को अच्छी तरह से देखा, लेकिन 19 अक्टूबर, 1994 तक अन्य कारकों (जैसे प्रोग्रामिंग त्रुटियों, मदरबोर्ड चिपसेट, आदि) को समाप्त करने में असमर्थ था।[1]24 अक्टूबर 1994 को, उन्होंने इंटेल को इस मुद्दे की सूचना दी।[9] इंटेल कथित तौर पर जून 1994 तक इस मुद्दे से स्वतंत्र रूप से अवगत हो गया था, और इस बिंदु पर इसे ठीक करना शुरू कर दिया था, लेकिन सार्वजनिक रूप से किसी भी विवरण का खुलासा नहीं करना या प्रभावित सीपीयू को वापस बुलाना नहीं चुना।[10] 30 अक्टूबर 1994 को, नाइसली ने विभिन्न शैक्षणिक संपर्कों को बग का वर्णन करते हुए एक ईमेल भेजा, जिसमें इंटेल 80486DX4 |486-DX4s, पेंटियम और पेंटियम संगत प्रोसेसर पर दोष के परीक्षण की रिपोर्ट का अनुरोध किया गया था।[9]बग को दूसरों द्वारा जल्दी से सत्यापित किया गया था, और इसकी खबर इंटरनेट पर तेजी से फैल गई। बग ने फ़्लोटिंग-पॉइंट डिवीजन के लिए x86 निर्देश सूची से पेंटियम एफडीआईवी बग नाम प्राप्त किया, जो सबसे अधिक बार उपयोग किया जाने वाला निर्देश प्रभावित होता है।[9]
कहानी पहली बार 7 नवंबर, 1994 को इलेक्ट्रॉनिक इंजीनियरिंग टाइम्स के एक लेख में प्रेस में छपी, इंटेल अलेक्जेंडर वोल्फ द्वारा एक पेंटियम एफपीयू गड़बड़ को ठीक करता है,[11] और बाद में इसे सीएनएन द्वारा 22 नवंबर को प्रसारित एक खंड में उठाया गया था। न्यूयॉर्क टाइम्स और बोस्टन ग्लोब द्वारा भी इसकी सूचना दी गई थी, जो बाद में फ्रंट पेज बना रहा था।[10][12] इस बिंदु पर, इंटेल ने फ्लोटिंग-पॉइंट दोष को स्वीकार किया, लेकिन दावा किया कि यह गंभीर नहीं था और अधिकांश उपयोगकर्ताओं को प्रभावित नहीं करेगा। इंटेल ने उन उपयोगकर्ताओं को प्रोसेसर बदलने की पेशकश की जो साबित कर सकते थे कि वे प्रभावित थे। हालांकि, हालांकि अधिकांश स्वतंत्र अनुमानों में पाया गया कि बग का अधिकांश उपयोगकर्ताओं पर बहुत सीमित प्रभाव पड़ेगा, इसने कंपनी के लिए महत्वपूर्ण नकारात्मक दबाव पैदा किया। आईबीएम ने इंटेल सीपीयू वाले पीसी की बिक्री रोक दी, और इंटेल के शेयर की कीमत में काफी कमी आई।[13] उद्योग में कुछ लोगों ने आईबीएम के फैसले के पीछे की मंशा पर सवाल उठाया था; आईबीएम ने उस समय पावरपीसी सीपीयू का उत्पादन किया, और संभावित रूप से एक कंपनी के रूप में पेंटियम या इंटेल को किसी भी प्रतिष्ठित क्षति से लाभान्वित होने के लिए खड़ा था। हालांकि, निर्णय ने पीसी उपकरण के कॉर्पोरेट खरीदारों को मौजूदा पेंटियम सीपीयू के प्रतिस्थापन की मांग की, और इसके तुरंत बाद अन्य पीसी निर्माताओं ने त्रुटिपूर्ण पेंटियम चिप्स के प्रतिस्थापन के लिए कोई प्रश्न नहीं पूछा।[4]
इंटेल की प्रतिक्रिया से बढ़ते असंतोष के कारण कंपनी ने 20 दिसंबर को अनुरोध पर सभी दोषपूर्ण पेंटियम प्रोसेसर को बदलने की पेशकश की।[14] 17 जनवरी, 1995 को, इंटेल ने आय के मुकाबले $475 मिलियन के पूर्व-कर प्रभार की घोषणा की, जो कि त्रुटिपूर्ण प्रोसेसर के प्रतिस्थापन से जुड़ी कुल लागत थी।[9]यह $ . के बराबर है752 million में 2020.[15] पुनर्विक्रेताओं और ओईएम को रिकॉल कार्यक्रम में भाग लेने से रोकने के लिए इंटेल की आलोचना की गई, जिसके लिए अंत-उपयोगकर्ताओं को स्वयं चिप्स को बदलने की आवश्यकता थी। इसके समर्थन वेब पेज पर पोस्ट किए गए इंटेल का औचित्य यह था कि यह निर्धारित करने के लिए अंतिम उपयोगकर्ता का व्यक्तिगत निर्णय है कि क्या दोष उनकी एप्लिकेशन सटीकता को प्रभावित कर रहा है।[13]
विज्ञान (पत्रिका) में 1995 का एक लेख कंप्यूटर बग की खोज में संख्या सिद्धांत की समस्याओं के मूल्य का वर्णन करता है और गणितीय पृष्ठभूमि और ब्रून के स्थिरांक का इतिहास देता है, जिस समस्या पर नीली ने बग की खोज की थी, उस पर काम कर रहा था।[16] FDIV बग के लिए Intel की प्रतिक्रिया को एक समस्या के जनसंपर्क प्रभाव के मामले के रूप में उद्धृत किया गया है जो ग्राहकों पर उक्त समस्या के व्यावहारिक प्रभाव को ग्रहण करता है।[17] जबकि अधिकांश उपयोगकर्ताओं को अपने दिन-प्रतिदिन की कंप्यूटिंग में दोष का सामना करने की संभावना नहीं थी, कंपनी की चिप्स को प्रतिस्थापित नहीं करने की प्रारंभिक प्रतिक्रिया जब तक कि ग्राहक गारंटी नहीं दे सकते कि वे प्रभावित थे, उद्योग विशेषज्ञों के मुखर अल्पसंख्यक से धक्का-मुक्की हुई। बाद के प्रचार ने सीपीयू में उपभोक्ता के विश्वास को हिला दिया, और इस मुद्दे से प्रभावित होने की संभावना नहीं रखने वाले लोगों से भी कार्रवाई की मांग की। उस समय इंटेल के सीईओ एंड्रयू ग्रोव को द वॉल स्ट्रीट जर्नल में यह कहते हुए उद्धृत किया गया था कि मुझे लगता है कि जिस मुद्दे से हम चूक गए थे ... मत करो।[4]
बग और बाद में वापस बुलाने के बाद, अर्धचालक उद्योग में हार्डवेयर फ्लोटिंग पॉइंट संचालन के औपचारिक सत्यापन के उपयोग में उल्लेखनीय वृद्धि हुई थी। बग की खोज से प्रेरित होकर, एसआरटी एल्गोरिथम पर लागू एक तकनीक जिसे वर्ड-लेवल मॉडल चेकिंग कहा जाता है, 1996 में विकसित की गई थी।[18] इंटेल ने बाद के सीपीयू आर्किटेक्चर के विकास में औपचारिक सत्यापन का व्यापक रूप से उपयोग किया। पेंटियम 4 के विकास में, सांकेतिक प्रक्षेपवक्र मूल्यांकन और प्रमेय सिद्ध करने का उपयोग कई बगों को खोजने के लिए किया गया था जो एक समान याद की घटना का कारण बन सकते थे यदि वे ज्ञात नहीं हो गए थे।[19] सत्यापन की प्राथमिक विधि के रूप में औपचारिक सत्यापन का उपयोग करने वाला पहला इंटेल माइक्रोआर्किटेक्चर 2008 में विकसित नेहलेम (माइक्रोआर्किटेक्चर) था।[20]
प्रभावित मॉडल
FDIV बग D1 से पहले के स्टेपिंग स्तरों में 60 और 66 MHz पेंटियम P5 800 और B5 से पहले के चरणों में 75, 90, और 100 MHz पेंटियम P54C 600 को प्रभावित करता है। 120 मेगाहर्ट्ज P54C और P54CQS CPU अप्रभावित हैं।[21][22]
सॉफ्टवेयर पैच
निर्माताओं द्वारा बग के आसपास काम करने के लिए विभिन्न सॉफ्टवेयर पैच तैयार किए गए थे। आईईईई कम्प्यूटेशनल साइंस एंड इंजीनियरिंग में एक पेपर में उल्लिखित एक विशिष्ट एल्गोरिदम, उन विभाजकों की जांच करना है जो प्रोग्राम करने योग्य तर्क सरणी कोशिकाओं तक पहुंच को ट्रिगर कर सकते हैं जिनमें गलती से शून्य होता है, और यदि पाया जाता है, तो अंश और हर दोनों को 15/16 से गुणा करें। यह उन्हें 'बग्गी' रेंज से बाहर ले जाता है। यह फिक्स एक औसत दर्जे का गति दंड लेता है - एक प्रोग्राम के लिए सबसे खराब मामला कुछ भी नहीं कर रहा है, लेकिन खराब विभाजक के साथ एफडीआईवी संचालन चल रहा है क्योंकि प्रत्येक एफडीआईवी 40 घड़ी चक्रों के बजाय लगभग 80 लेता है। अधिक यादृच्छिक भाजक के साथ प्रति FDIV औसत समय लगभग 50 घड़ी चक्र था, यानी भाजक की जांच के लिए 10 चक्र जोड़े गए: 1024 यादृच्छिक भाजक में से केवल 5 ही स्केलिंग फिक्सअप को ट्रिगर करेंगे। चूंकि अधिकांश कार्यक्रमों में FDIV एक दुर्लभ ऑपरेशन है, इसलिए स्थापित फिक्स के साथ सामान्य मंदी आमतौर पर एक प्रतिशत या उससे कम थी। [8]
सॉफ्टवेयर कंपनियों के सामने मुख्य चुनौती पूर्व-मौजूदा सॉफ्टवेयर में सुधार को लागू करना था, जिनमें से अधिकांश अपने नियंत्रण से बाहर पुस्तकालय (कंप्यूटिंग) पर निर्भर थे। कुछ कंपनियों, जैसे वोल्फ्राम रिसर्च , ने FDIV ऑपकोड को अवैध निर्देश के साथ बदलने के लिए मौजूदा निष्पादन योग्य मशीनों के मशीन कोड को सीधे पैच करने का विकल्प चुना। इसके बाद यह एक अपवाद को ट्रिगर करेगा कि एक अपवाद हैंडलर (जिसमें पैच भी किया गया) पकड़ लेगा। यहां से, बग के आसपास काम करने के लिए मनमाना कोड निष्पादित किया जा सकता है।[2]
Microsoft ने Windows XP तक Microsoft Windows के संस्करणों में ऑपरेटिंग सिस्टम स्तर के वर्कअराउंड की पेशकश की। बग की उपस्थिति की जांच करने के लिए ऑपरेटिंग सिस्टम के साथ उपयोगिताओं को शामिल किया गया था और यदि पाया गया तो एफपीयू को अक्षम कर दिया गया था।[23][24]
यह भी देखें
- पेंटियम F00F बग
- एमओएस टेक्नोलॉजी 6502#बग और विचित्रताएं
- अस्थायी बिंदु#सटीकता की समस्या
- आवारा क्रंच
संदर्भ
- ↑ 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.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.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.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.
- ↑ "1994 - Annual Report". Intel. June 20, 2020. Archived from the original on February 26, 2017. Retrieved June 20, 2020.
- ↑ 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.
- ↑ "Pentium FDIV bug – a Picture". Kansas University Institute for Policy and Social Research. November 30, 1994. Retrieved November 3, 2010.
- ↑ 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.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.0 10.1 Markoff, John (November 24, 1994). "COMPANY NEWS; Flaw Undermines Accuracy of Pentium Chips". The New York Times. Retrieved April 11, 2021.
- ↑ Alexander Wolfe (November 9, 1994). "Intel fixes a Pentium FPU glitch". Electronic Engineering Times.
- ↑ Moler, Cleve (Winter 1995). "A Tale of Two Numbers" (PDF). MATLAB News and Notes. MathWorks. Retrieved April 21, 2021.
- ↑ 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.
- ↑ "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.
- ↑ 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.
- ↑ 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.
- ↑ Price, D. (April 1995). "Pentium FDIV flaw-lessons learned". IEEE Micro. 15 (2): 86–88. doi:10.1109/40.372360.
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ "P5 (586) Fifth-Generation Processors | Microprocessor Types and Specifications | InformIT". www.informit.com. June 8, 2001. Retrieved April 13, 2021.
- ↑ "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.
- ↑ Slob, Arie. "Windows 95 Troubleshooting: How to Check for a Faulty Math Coprocessor". www.helpwithwindows.com. Retrieved April 23, 2019.
- ↑ "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 वर्ल्डवाइड डेवलपर्स कॉन्फ्रेंस
- स्वतंत्र रूप से पुनर्वितरण योग्य सॉफ्टवेयर
- प्रचार अभियान
- प्रतिस्पर्धी विरोधी प्रथाएं
- एथिलबेन्जीन
- संघर्ष संसाधन
- कन्फ्लिक्ट खनिज
- आयु भेदभाव
- बम्पलेस बिल्ड-अप परत
- उत्पाद वापसी
- प्रधान चौगुनी
- प्राइम ट्रिपलेट
- जुड़वां प्रधान
- प्रतीकात्मक प्रक्षेपवक्र मूल्यांकन
- कदम स्तर
- पुस्तकालय (कम्प्यूटिंग)
बाहरी संबंध
- Personal website of Dr. Nicely, who discovered the bug
- A page with precise information, also about the cause
- ZIP-file containing more details (See ZIP file format for details on the file)
- Archive of Intel's official information page about the bug
- Unopened Intel CPU box from the FDIV replacement program