256-बिट या 512-बिट माइक्रोप्रोसेसर क्यों नहीं हैं?


95

8-बिट माइक्रोप्रोसेसर में इसकी डेटा बस में 8 डेटा लाइनें होती हैं। 16-बिट माइक्रोप्रोसेसर में इसकी डेटा बस में 16 डेटा लाइनें और इसी तरह होती हैं।

क्यों न तो 256-बिट माइक्रोप्रोसेसर और न ही 512-बिट माइक्रोप्रोसेसर है? वे केवल डेटा लाइनों की संख्या क्यों नहीं बढ़ाते हैं और 256-बिट माइक्रोप्रोसेसर या 512-बिट माइक्रोप्रोसेसर बनाते हैं?

वह कौन सी बाधा है जो 256-बिट माइक्रोप्रोसेसर या 512-बिट माइक्रोप्रोसेसर बनाने से रोकती है?


20
यहां तक ​​कि विपणन भी हमेशा के लिए एक संख्या में वृद्धि नहीं रख सकता है।
ओवल लेथ्रोप

82
256 ब्लेड रेजर अभी तक क्यों नहीं है?
Rocketmagnet

11
@OlinLathrop 5 ब्लेड और एक बैटरी के साथ गिल्ट फ्यूजन पावर को चेकआउट करें !
ब्रेंडन लॉन्ग

6
इस प्रश्न के उत्तर के बारे में एक ही है: हमें 1 और 2 और 3 & 4 & 5 & 6 & 8 & 12 & 16 सिलेंडर कारें मिली हैं। हमारे पास 32 और 64 और 128 सिलेंडर वाली कारें क्यों नहीं हैं?
रसेल मैकमोहन

13
@ रसेल: क्योंकि तब सिलिंडर की वैश्विक कमी होगी।
ओलिन लेथ्रोप

जवाबों:


110

इसके बारे में सोचो। क्या वास्तव में आप एक "256 बिट" प्रोसेसर की कल्पना करते हैं? पहली जगह में एक प्रोसेसर के बिट-नेस क्या है?

मुझे लगता है कि अगर कोई और योग्यता नहीं बनाई जाती है, तो प्रोसेसर का बिट-नेस इसकी ALU चौड़ाई को संदर्भित करता है। यह बाइनरी नंबर की चौड़ाई है कि यह एक ही ऑपरेशन में मूल रूप से संभाल सकता है। इसलिए "32 बिट" प्रोसेसर एकल निर्देशों में 32 बिट्स तक के मानों पर सीधे काम कर सकता है। इसलिए आपके 256 बिट प्रोसेसर में एकल ऑपरेशन में 256 बिट संख्याओं को जोड़ने, घटाने, ओयरिंग, एंडिंग आदि के लिए बहुत बड़ा ALU शामिल होगा। आप ऐसा क्यों चाहते हैं? क्या समस्या उन बड़े और महंगे ALU को बनाने और भुगतान करने के लायक बनाती है, यहां तक ​​कि उन मामलों के लिए भी जहां प्रोसेसर केवल एक लूप और जैसे 100 पुनरावृत्तियों की गिनती कर रहा है?

मुद्दा यह है कि, आपको विस्तृत ALU के लिए भुगतान करना होगा या नहीं, तब आप इसे अपनी क्षमताओं का बहुत कम या केवल एक छोटा अंश उपयोग करते हैं। एक 256 बिट ALU को सही ठहराने के लिए, आपको एक महत्वपूर्ण पर्याप्त समस्या का पता लगाना होगा जो वास्तव में 256 बिट शब्दों को एकल निर्देशों में हेरफेर करने से लाभान्वित कर सकता है। जब आप संभवतः कुछ उदाहरणों को नियंत्रित कर सकते हैं, तो ऐसी समस्याएं पर्याप्त नहीं हैं जो निर्माताओं को यह महसूस कराती हैं कि उन्हें कभी भी इस तरह के चिप का उत्पादन करने के लिए आवश्यक महत्वपूर्ण निवेश पर रिटर्न मिलेगा। यदि यह आला लेकिन महत्वपूर्ण (अच्छी तरह से वित्त पोषित) समस्याएं हैं जो वास्तव में एक विस्तृत ALU से लाभ उठा सकती हैं, तो हम उस एप्लिकेशन के लिए बहुत महंगे अत्यधिक लक्षित प्रोसेसर देखेंगे। हालांकि, उनकी कीमत संकीर्ण अनुप्रयोग के बाहर व्यापक उपयोग को रोकती है जिसे इसके लिए डिज़ाइन किया गया था। उदाहरण के लिए, यदि 256 बिट्स ने कुछ क्रिप्टोग्राफी अनुप्रयोगों को सेना के लिए संभव बनाया है, तो विशेष रूप से 100 से अधिक डॉलर की लागत वाले 256 बिट प्रोसेसर संभवत: उभरेंगे। आप इनमें से एक टोस्टर, एक बिजली की आपूर्ति, या एक कार हालांकि नहीं डालेंगे।

मुझे यह भी स्पष्ट होना चाहिए कि विस्तृत ALU केवल ALU को अधिक महंगा नहीं बनाता है, लेकिन चिप के अन्य भागों को भी। एक 256 बिट वाइड ALU का अर्थ है कि 256 बिट वाइड डेटा पथ होना चाहिए। अकेले सिलिकॉन क्षेत्र का एक बहुत ले जाएगा। उस डेटा को कहीं से आना और कहीं जाना है, इसलिए व्यापक ALU को प्रभावी ढंग से उपयोग करने के लिए रजिस्टर, कैश, अन्य मेमोरी इत्यादि की आवश्यकता होगी।

एक और मुद्दा यह है कि आप किसी भी चौड़ाई प्रोसेसर पर किसी भी चौड़ाई अंकगणित कर सकते हैं। आप 8 निर्देशों में PIC 18 पर एक 32 बिट मेमोरी शब्द को 32 बिट में जोड़ सकते हैं, जबकि आप इसे केवल 2 निर्देशों में 32 बिट्स पर स्केल किए गए आर्किटेक्चर पर कर सकते हैं। मुद्दा यह है कि एक संकीर्ण ALU आपको व्यापक संगणना करने से रोकता नहीं है, केवल यह कि विस्तृत संगणनाओं को अधिक समय लगेगा। इसलिए यह गति का प्रश्न है, क्षमता का नहीं। यदि आप उन अनुप्रयोगों के स्पेक्ट्रम को देखते हैं जिन्हें विशेष चौड़ाई की संख्याओं का उपयोग करने की आवश्यकता है, तो आपको बहुत कम 256 बिट शब्दों की आवश्यकता होगी। हार्डवेयर के साथ उन कुछ अनुप्रयोगों को तेज करने का खर्च जो दूसरों की मदद नहीं करेंगे, वे इसके लायक नहीं हैं और उत्पाद विकास के लिए अच्छा निवेश नहीं करते हैं।


9
मुझे यह कहने से नफरत है, लेकिन मैं यहां असहमत हूं। मुझे एक उदाहरण देना चाहिए: वीडियो गेम के लिए ग्राफिक्स रेंडरिंग। यह एक छोटा सा बाजार है जिसके बारे में आपने अरबों डॉलर की कीमत के बारे में सुना होगा।
Rocketmagnet

39
@Rocket: सबसे पहले, ओपी ने एक माइक्रोप्रोसेसर के बारे में पूछा , न कि ग्राफिक्स प्रोसेसर के बारे में। दूसरा, ग्राफिक्स रेंडरिंग के लिए विशेष रूप से विस्तृत शब्दों की आवश्यकता नहीं होती है। छोटे ऑपरेशन के बहुत सारे समानांतर में किए जा सकते हैं, लेकिन मैं समानांतर रूप से 8 बिट कोर को 32 बिट डेटा पर "256 बिट" प्रोसेसर पर काम करने के लिए नहीं कहूंगा। क्या आप अपने क्वाड कोर पीसी को "256 बिट" प्रोसेसर के रूप में संदर्भित करते हैं क्योंकि प्रत्येक कोर 64 बिट डेटा पर मूल रूप से काम कर सकता है? मुझे लगता है कि यह शब्द का दुरुपयोग है, और यहां तक ​​कि इंटेल विपणन भी इस तरह से कई कोर पिचिंग नहीं लगता है।
ओलिन लेथ्रोप

30
@Rocket: SIMD एक अलग प्रकार की समानता है, लेकिन मैं अभी भी इसे एक विस्तृत ALU नहीं कहूंगा, बस छोटे ALU का एक गुच्छा समानांतर रूप से कसकर चलता है। आप इस तरह के एक SIMD प्रोसेसर पर, उदाहरण के लिए, सभी कैरीज़ के साथ 256 बिट ऐड नहीं कर सकते। समानांतरवाद एक व्यापक ALU के समान नहीं है। आप विपरीत होने के लिए अपने रास्ते से बाहर जा रहे हैं। हो सकता है कि आप क्या बनाम व्यापक समानांतर है के बारे में शब्दों का तर्क सकते हैं, लेकिन गैर-पारंपरिक परिभाषाओं का उपयोग करने के लिए और उसके बाद का दावा अन्य व्याख्याओं हैं लड़खड़ाते हुए गलत सिर्फ एक pissing प्रतियोगिता में संलग्न है।
ओलिन लेथ्रोप

15
@Rocket: सिर्फ इसलिए कि सीपीयू एक साथ 256 बिट्स पर काम कर सकता है, समानांतर में ऑपरेशन का एक गुच्छा करने से यह "256 बिट" सीपीयू नहीं बनता है। इसका मतलब यह है कि यह वास्तव में सीधे 256 बिट वाइड नंबरों पर काम कर सकता है, जो यह नहीं कर सकता। जैसा कि आपने खुद कहा, अलग-अलग समानांतर ALU इकाइयों के बीच कोई कैरी नहीं है, जो इसे 256 बिट ALU नहीं बनाता है। आपको लगता है कि सीपीयू की बिटनेस का एक असामान्य परिभाषा क्या है। यह बिट्स की संख्या नहीं है जो इसे एक बार में संसाधित कर सकता है, लेकिन एक शब्द की चौड़ाई यह एक पूरे के रूप में प्रक्रिया कर सकती है।
ओलिन लेथ्रोप

19
जब मैं स्कूल में था, तो हमें सिखाया गया था कि सॉफ्टवेयर लोगों ने "तार्किक" निर्देश सेट की चौड़ाई के संदर्भ में बिटनेस को मापा, और हार्डवेयर लोगों ने बस चौड़ाई के संदर्भ में बिटनेस को मापा। इसलिए, 8088 सॉफ्टवेयर लोगों के लिए 16-बिट प्रोसेसर और हार्डवेयर लोगों के लिए 8-बिट प्रोसेसर था। 8086 सभी के लिए 16-बिट था। निश्चित रूप से मार्केटिंग के लोग सबसे बड़ी संख्या में मिल सकते हैं, तो चलिए आशा करते हैं कि वे इस टिप्पणी धागे को नहीं पढ़ेंगे और 512-बिट सीपीयू की मार्केटिंग शुरू करेंगे! :-)
मार्क हैरिसन

34

ठीक है, मैं 256 या 512 बिट के बारे में नहीं जानता, लेकिन मैंने 1024 बिट प्रोसेसर के बारे में सुना है (मैं इसे अभी नहीं खोज सकता)। शब्द VLIW है , बहुत लंबे निर्देश शब्द के लिए । तो वह निर्देश बस है, डेटा बस चौड़ाई नहीं। लाभ है कि आप लागू कर सकते हैं निर्देश स्तर समानता (आईएलपी) एक बड़े पैमाने पर।

मोटोरोला डीएसपी के साथ ILP के साथ मेरी पहली मुठभेड़ 20 साल पहले हुई होगी, जिसमें डेटा को मेमोरी से और दूर ले जाते समय एक MAC (मल्टीप्ली और ACcumulate) प्रदर्शन करने के निर्देश थे, ताकि आप अगले इंस्ट्रक्शन पर एक नया MAC प्रदर्शन कर सकें, बिना बर्बाद किए डेटा स्थानांतरित करने के लिए दो एमएसी के बीच का समय।
आज इस विकल्प की पेशकश करने वाले सामान्य-उद्देश्य नियंत्रक भी हैं। वीएलआईडब्ल्यू इसे काफी उच्च स्तर पर लागू करता है।

चूंकि आपकी डेटा बस की चौड़ाई इतनी विस्तृत नहीं होगी कि आप एक निर्देश में कई निर्देश और स्थिरांक रख सकते हैं। डेटा बस के रुझान का पालन नहीं करने का कारण यह है कि यह बहुत बेकार है; 64-बिट डेटा रजिस्टर 20 दशमलव अंकों की संख्या का प्रतिनिधित्व कर सकता है। आखिरी बार आपको सटीकता के 20 अंकों की आवश्यकता कब थी? अधिकांश अनुप्रयोगों के लिए 10 = ।20

इसके अलावा वीएलआईडब्ल्यू आर्किटेक्चर पढ़ना


सबसे अधिक वित्तीय गणना :( अब इस समस्या में चल रहा है
im इतना भ्रमित

मुझे लगा कि x86 एक VLIW CPU था। ;-)
मैके

1
@MarcusLindblom केवल अगर VLIW द्वारा आप वेरिएबल लेंथ इंस्ट्रक्शन शब्द का अर्थ करते हैं। ;-)
बजे एक CVn

3
@ AK4749 उस स्थिति में, आपकी भविष्यवाणियों को उन बैंकों द्वारा फेंक दिए जाने की संभावना है, जो "वास्तविक" लेखांकन नियमों का उपयोग करके आपके लेनदेन को संभालते हैं। यदि आप उन नियमों के आधार पर किसी योजना को निष्पादित करने के लिए जाते हैं, तो यह अपेक्षित परिणाम नहीं देगा क्योंकि वास्तविक बैंक वास्तविक लेखांकन नियमों का उपयोग करेंगे, न कि नैनो-प्रतिशत सटीक। और निश्चित रूप से क्योंकि बाजार अनिश्चित हैं। इसलिए अगर शुरुआत में 1 प्रतिशत त्रुटि आउटपुट पर $ 1 ट्रिलियन त्रुटि देती है, तो $ 1 ट्रिलियन केवल सिमुलेशन प्रभाव है, न कि आपके क्लाइंट को योजनाओं को बनाने के लिए उपयोग करना चाहिए।
फोटॉन

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

28

एक माइक्रोप्रोसेसर का "गवाह" आमतौर पर सामान्य उद्देश्य रजिस्टरों के आकार के संदर्भ में परिभाषित किया जाता है। आकार निर्धारित करता है कि प्रोसेसर कितनी बड़ी संख्या को मूल रूप से संभाल सकता है और कितनी मेमोरी तक पहुंच सकता है। 64 बिट संख्या लगभग किसी भी एल्गोरिथ्म के लिए पर्याप्त है और पता योग्य मेमोरी (16 मिलियन टेराबाइट्स) की मात्रा आने वाले कुछ समय के लिए पर्याप्त है। सामान्य प्रयोजन के रजिस्टरों के आकार को बढ़ाने के लिए बस कोई फायदा नहीं है। फ्लिप की तरफ, अंकगणित तर्क इकाइयों (ALU) का क्षेत्र बिट्स की मात्रा के वर्ग के साथ रजिस्टरों तराजू पर संचालन करने के लिए उपयोग किया जाता है। एक 256bit ALU 16x बड़ा और काफी धीमा होगा।

दूसरी ओर, प्रोसेसर को चौड़ा करने का एक बिंदु है जो एक ही बार में कई छोटे ऑपरेशन करना संभव बनाता है। वास्तव में इंटेल के सैंडी ब्रिज और आइवी ब्रिज प्रोसेसर बस ऐसा करते हैं, उनके पास 256bit SIMD रजिस्टर होते हैं और उन पर दो अंकगणितीय ऑपरेशन और प्रति चक्र एक मेमोरी ऑपरेशन कर सकते हैं। तो कोई उन्हें 256bit, या यहां तक ​​कि 768bit प्रोसेसर को कॉल करने का औचित्य दे सकता है, अगर कोई एक डरपोक बाज़ारिया था जो नियमित रूप से उपयोग की जाने वाली शर्तों को मोड़ना चाहता था।


यह एक प्रभावशाली वास्तुकला है।
लौंगस्टोएल ऑक्ट

6
+1 "डरपोक मार्केटर के लिए नियमित रूप से इस्तेमाल की जाने वाली शर्तों को मोड़ना चाहता है।"
दान नीली

14

सबसे पहले, एक प्रोसेसर का बिट आकार आमतौर पर अमूर्त वास्तुकला द्वारा निर्धारित किया जाता है जो मशीन भाषा प्रोग्रामर को दिखाई देता है, डेटा बस के आकार की तरह कार्यान्वयन विवरण द्वारा नहीं।

उदाहरण के लिए, मोटोरोला 68000 एक 32 बिट प्रोसेसर है। इसमें 32-बिट डेटा रजिस्टर और 32-बिट एड्रेस रजिस्टर हैं। अब, उस आर्किटेक्चरल परिवार का पहला संस्करण केवल 24 बिट्स ऑफ़ एड्रेस लाइन्स को उजागर करता है। इसके अलावा, वेरिएंट मौजूद हैं जिनमें केवल 8 बिट डेटा बस है (इसलिए 32 बिट मेमोरी ऑपरेशन प्रोसेसर द्वारा कई एक्सेस साइकल के रूप में किए जाते हैं)।

अब सवाल के बारे में, 256 और 512 पर क्यों नहीं जाएं। प्रोसेसर "देशी" कई प्रकार के डेटा प्रकारों में हेरफेर करते हैं, इसलिए यह देखने के लिए उपयोगी है कि इन डेटा प्रकारों में से प्रत्येक के लिए व्यक्तिगत रूप से 256 या 512 बिट्स का क्या अर्थ है। हमारे पास पूर्णांक, पॉइंटर्स और फ्लोटिंग-पॉइंट प्रकार हैं।

  1. Integers: प्रोग्राम्स को 32 और 64 बिट पूर्णांकों में से बहुत अधिक माइलेज मिलता है। यदि 64 बिट्स एक सीमा है, तो इसके लिए सॉफ्टवेयर-बायग्नम पूर्णांक को लागू करना ठीक है। उच्च स्तरीय भाषाएं पूर्णांक प्रकारों को लागू कर सकती हैं जैसे कि ऑपरेशन "फ़िक्नम्स" और "बिग्नम" के बीच सुचारू रूप से स्थानांतरित हो जाते हैं। बेशक आप एक प्रदर्शन को बग्गामों के साथ हिट करते हैं, लेकिन आपको इस बात पर विचार करना होगा कि बड़ी तस्वीर में: एक कार्यक्रम में कितने ऑपरेशनों में बिग्नम ऑपरेशन होते हैं। 256 या 512 बिट संख्याएं बोगम की आवश्यकता को समाप्त नहीं करती हैं, वे केवल हेडरूम को बढ़ाते हैं इससे पहले कि हमें बाइनम में स्विच करना है। यदि आप 2048 बिट सार्वजनिक कुंजियों में फेरबदल करना चाहते हैं, तो 512 बिट पूर्णांक नहीं करेंगे (लेकिन 512 बिट अंकों वाला एक bignum तेज हो सकता है)।

  2. पॉइंटर्स: वाइडर पॉइंटर्स दो चीजों की अनुमति देते हैं: एक पॉइंटर में व्यापक एड्रेस स्पेस और अतिरिक्त मेटा-डेटा संग्रहीत। पता स्थान इन दिनों आभासी हैं और इसलिए वे तब भी बढ़ सकते हैं जब यादें नहीं बढ़ती हैं। यह प्रस्तावित किया गया है कि यदि आपके पास 128 बिट पॉइंटर्स हैं, तो पता स्थान इतना विशाल है कि आप एक ऑपरेटिंग सिस्टम के सभी यूजर-स्पेस प्रोसेस, और कर्नेल को एक असुरक्षित स्थान पर यादृच्छिक स्थानों पर रख सकते हैं, और वे संभावना नहीं हैं टकराने के लिए। केवल एक बड़ा पता स्थान बनाने के बजाय, फ़्लेटर पॉइंटर्स का उपयोग बिट्स को ले जाने के लिए किया जा सकता है, जो एड्रेस बिट्स नहीं हैं, जैसे कि रेफ़रेंट ऑब्जेक्ट (प्रकार, आकार और अन्य जानकारी) या सुरक्षा से संबंधित जानकारी के बारे में जानकारी। इस तरह की चीज के लिए शायद कुछ "इष्टतम मोटापा" है, और अगर मुझे अनुमान था, तो मैं अभी भी 128 बिट पर टोपी लगाऊंगा। यह नहीं है' टी 256 बिट पॉइंटर्स पर जाने के लिए समझ में आता है, कभी भी 512 पर ध्यान न दें। थ्रेटर पॉइंटर्स का एक नुकसान है: वे सभी डेटा संरचनाओं को ब्लोट करते हैं जिनमें पॉइंटर्स होते हैं। और, आम तौर पर, आप चाहते हैं कि पॉइंटर्स समान आकार के हों, अन्यथा आपको निर्देश सेट आर्किटेक्चर (मेमोरी सेगमेंट) में जटिलताओं की आवश्यकता होती है, जिसके बाद आपके पास पूर्ण पॉइंटर्स (सेगमेंट डिस्क्रिप्टर और ऑफसेट) या बस स्थानीय पॉइंटर्स (कुछ समझ वाले सेगमेंट के भीतर ऑफसेट) होते हैं ।

  3. फ्लोटिंग-पॉइंट प्रकार: फ्लोटिंग पॉइंट संख्या में अधिक बिट्स का मतलब अधिक सटीक है। मैं कहूंगा कि फ़्लोटिंग-पॉइंट प्रकार एक व्यापक प्रतिनिधित्व से सबसे अधिक लाभान्वित होते हैं। एक 256 या 512 बिट फ़्लोटिंग प्रकार संख्यात्मक कोड की स्थिरता और वैज्ञानिक गणना की गुणवत्ता में सुधार करेगा जिसमें कई पुनरावृत्तियों की आवश्यकता होती है, और रास्ते में त्रुटियों को जमा करता है। फ़्लोटिंग-पॉइंट में सटीकता पूर्णांक में परिशुद्धता के समान नहीं है: हम फ़्लोटिंग पॉइंट प्रकार को फ़िग्नम बनाम बेंग्यूम्स जैसी श्रेणियों में अलग नहीं कर सकते हैं। फ्लोटिंग पॉइंट में अधिक सटीकता सभी अक्षम संख्याओं की गुणवत्ता को प्रभावित करती है, चाहे वे शून्य के करीब हों या बड़ी परिमाण हों। फ़्लोटिंग पॉइंट एक्सपेटर्स में अधिक बिट्स भी फ़्लोटिंग पॉइंट नंबरों की सीमा का विस्तार कर सकते हैं, और एक बिटम पूर्णांक में बिट्स जोड़ने की तुलना में बहुत तेज़ी से।

इन कारणों से, मुझे संदेह है कि प्रमुख भविष्य की प्रवृत्ति हार्डवेयर फ़्लोटिंग-पॉइंट नंबरों की चौड़ाई में बढ़ जाएगी, जरूरी नहीं कि इसके बाद पॉइंटर्स और पूर्णांक की चौड़ाई में वृद्धि हो।

याद रखें कि फ़्लोटिंग-पॉइंट संख्या पहले से ही अन्य प्रकारों से आगे रही है। उदाहरण के लिए, थोड़ी देर के लिए हमारे पास 64 बिट IEEE डबल फ़्लोट्स का समर्थन करने वाले 32 बिट प्रोसेसर की प्रधानता थी। ऐसा इसलिए है क्योंकि जब आप 32 बिट पॉइंटर्स और पूर्णांक के साथ बहुत कुछ कर सकते हैं, तो 32 बिट फ्लोट किसी भी गंभीर संख्यात्मक कार्य के लिए बहुत सीमित हैं।

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


अच्छा वर्णन। वैसे, लंबे समय तक सामान्य x86 प्रोसेसर में 80 बिट फ्लोटिंग पॉइंट होता है, क्योंकि सही याद रखने पर उनके लिए पहली हार्डवेयर फ्लोटिंग पॉइंट यूनिट होती है। 80 बिट्स एफपीयू के लिए आंतरिक है, फिर आम तौर पर 32 या 64 बिट्स निर्यात किए जाते हैं।
ओलिन लेथ्रोप

तकनीकी रूप से, पहले से ही किया। Google "नेन बॉक्सिंग" या "नन बॉक्सिंग"। क्या अधिक आशाजनक है 64-बिट ARMs में हार्डवेयर प्रकार के टैग, लेकिन यह जल्द ही दुर्भाग्य से नहीं होगा।
श्वेतार्क

3
80 संस्करण को सीधे एक्सेस करना संभव था। 90 के दशक में जब मैं TurboPascal में प्रोग्राम करना सीख रहा था, तब एक 80bit फ्लोट टाइप था।
डैन नीली

@DanNeely: मैंने कभी-कभी सोचा है कि प्रोसेसर 3 डी-कॉर्डिनेट फ़्लोटिंग-पॉइंट प्रकारों से लाभान्वित होंगे, या तो तीन 80-बिट संख्या को 256-बिट चंक में, या तीन 42-बिट संख्या को 128-बिट चंक, या तीन में संयोजित करेंगे। 64-बिट चंक में 21-बिट संख्या। मुझे आश्चर्य है कि इसे लागू करना कितना कठिन होगा, और यह कितना उपयोगी हो सकता है?
सुपरकैट

@ सिस्पैक्ट जीपीजीयू विकिपीडिया: [एनवीडिया] जीपीयू पर अधिकांश ऑपरेशन एक
काज

9

यह वास्तव में उपयोगी कुछ भी करने में आपकी मदद नहीं करता है। 64 बिट संख्या आपको लगभग सभी उद्देश्यों के लिए पर्याप्त परिशुद्धता देती है (इंटेल सिस्टम में 80-बिट फ्लोटिंग पॉइंट है, हालांकि), लेकिन अतिरिक्त लाइनें घड़ी की गति पर एक छोटे से नकारात्मक प्रभाव डालते हुए लागत और बिजली की खपत को बढ़ाती हैं।

ऐतिहासिक रूप से सीपीयू न्यूनतम संख्या में बिट्स का उपयोग करते हैं जो उनके इच्छित उद्देश्य के लिए व्यावहारिक समझ में आता है। प्रौद्योगिकी में अग्रिमों के साथ व्यापक बसें और ALU संभव हो गए, इसलिए व्यापक प्रयोज्यता की सेवा के लिए बस आकार में वृद्धि:

  • 4 बिट्स: एक अंक के लिए पर्याप्त, इसलिए व्यावहारिक (बीसीडी-शैली) कैलकुलेटर, कैश रजिस्टर, आदि के लिए व्यावहारिक (जो एक सीमित प्रक्रिया है)
  • 8 बिट्स: एक (एएससीआईआई) चरित्र के लिए पर्याप्त, पाठ-प्रसंस्करण प्रणालियों के लिए व्यावहारिक (जो एक बहुत चौड़ा क्षेत्र है), कम गुणवत्ता वाले ध्वनि के लिए भी
  • 16 बिट्स: जब 16-बिट्स लोकप्रिय थे 2 ^ 16 मेमोरी एड्रेस एक उचित राशि थी (कम से कम 2 ^ 8 या 2 ^ 32 की तुलना में अधिक उचित)। 16 बिट्स काफी स्वीकार्य ऑडियो गुणवत्ता प्रदान करती हैं, और अधिकांश ए / डी कन्वर्टर्स परिणाम के 16 बिट्स से कम उपजते हैं, इसलिए 16 बिट्स में ऐसे मूल्यों के साथ गणना करना समझ में आता है।
  • 32 बिट्स: 32 बिट्स मानव-मापा मात्रा में सबसे अधिक (लेकिन सभी नहीं) की सटीकता को फिट करते हैं, और जब तक आप बड़े डेटाबेस के साथ काम नहीं कर रहे हैं 2 ^ 32 पते अधिकांश व्यावहारिक उद्देश्यों के लिए पर्याप्त थे।
  • 64 बिट: स्मृति के> 2 ^ 32 बाइट्स अब व्यावहारिक है।
  • 128 बिट्स: इस समय क्रिप्टोग्राफी को छोड़कर, 32 से थोड़ा अधिक लाभ। हार्ड डिस्क पर हम 2 ^ 64 बाइट से अधिक की उम्मीद कब करते हैं? शायद जल्द नहीं।

1
"640K किसी के लिए पर्याप्त होना चाहिए।" -बिल गेट्स (1981)
jippie

6
@ जिप्पी - गेट्स ने वास्तव में ऐसा कभी नहीं कहा।
रॉकेटमैग्नेट

1
वास्तव में अधिकांश 8-बिट सीपीयू मेमोरी के 2 ^ 16 बाइट्स को संबोधित करने में सक्षम थे, और 16 बिट्स 2 ^ 32, 80386 (32 बिट्स) सिद्धांत में 2 ^ 64 बाइट्स (4 जीबी) मेमोरी को भी संबोधित कर सकते थे, जो बहुत ही बेकार था। उन दिनों में वैसे भी ...
Axel

1
@ एक्सल - 16-बिट 8086 केवल 2 मेमोरी बाइट्स को संबोधित कर सकता है , और जब उन्हें पता चला कि पर्याप्त नहीं था तो उन्हें विस्तारित और विस्तारित मेमोरी प्रबंधकों जैसी भयानक चीजों के साथ आना पड़ा। 20
स्टीवनवह

3
@ मिचेल - यह सभी समय का है, और मैंने इसे अपने पूरे करियर में देखा है: वहाँ बहुत कम ही दूरदर्शी उत्पाद प्रबंधक हैं। किस्सा: 1970 के दशक की शुरुआत में, रॉबर्ट नॉयस द्वारा माइक्रोप्रोसेसरों के भविष्य के बारे में एक व्याख्यान में उन्होंने वर्तमान लघुकरण की भविष्यवाणी की, और दर्शकों में से कोई कहता है: "धिक्कार है, मैं मंजिल में एक पूरे कंप्यूटर को एक क्रेन में खोना नहीं चाहता।" जिस पर नोयस ने अवमानना ​​का जवाब दिया: "आप इसे बिल्कुल भी नहीं समझते हैं। आप इस बात की परवाह नहीं करते हैं कि आप जो खो चुके हैं, उसके बारे में आपके पास हजारों लोग हैं"। यह 1970 के दशक की शुरुआत में था। रॉबर्ट नोयस एक दूरदर्शी थे।
स्टीवन्वह

9

वास्तव में, ऐसे प्रोसेसर मौजूद हैं और आम हैं, इस पर निर्भर करता है कि आप बिटनेस को कैसे परिभाषित करते हैं। अब आप लगभग निश्चित रूप से एक का उपयोग कर रहे हैं। जैसा कि ओलिन ने समझाया, 256-बिट नंबरों के लिए बहुत अधिक उपयोग नहीं है, लेकिन 4 x 32-बिट संख्याओं के बारे में क्या? क्या होगा अगर ALU एक ही समय में 32-बिट संख्या के 4 जोड़े जोड़ सके। ऐसे ALU (जो मुझे पता हैं) 1970 के दशक में वेक्टर सुपर कंप्यूटर में पहली बार लागू किए गए थे। पहली बार जब मैं कभी इस तरह के कंप्यूटर का मालिक था, तब मेरे पास MMX के साथ Intel Pentiums में से एक था।

इंटेल MMX आदमी

उन लोगों को याद है?

MMX चिप्स में एक एकल निर्देश था - एकाधिक डेटा निर्देश सेट ( SIMD ), जो आपको 1 × 64-बिट जोड़ी, 2 × 32-बिट जोड़े, 4 × 16-बिट जोड़े या 8 × 8-बिट जोड़े को जोड़ने की अनुमति देता है।

लेकिन वह कुछ भी नहीं है। एक आधुनिक ग्राफिक्स कार्ड में एक GPU है (जो ग्राफिक्स प्रोसेसिंग यूनिट के लिए खड़ा था, लेकिन अब जनरल प्रोसेसिंग यूनिट के लिए खड़ा है)। ये प्रायः विस्तृत SIMD कार्यान्वयन हैं, जो एक बार में 128 या 256 बिट्स पर शाखाओं, भारों और स्टोरों में सक्षम होते हैं। इंटेल के लार्बी प्रोटोटाइप माइक्रोआर्किटेक्चर में इसके प्रत्येक कोर पर दो 512-बिट से अधिक SIMD रजिस्टर शामिल हैं।

GPU SIMD

कृपया ध्यान दें कि SIMD को मल्टी-कोर के साथ भ्रमित नहीं होना है। CPU के प्रत्येक कोर का अपना विस्तृत ALU होगा जो पूर्णांकों के समूह को एक साथ जोड़ने में सक्षम होगा।


1
"1 × 16-बिट जोड़ी, 2 × 32-बिट जोड़े, 4 × 16-बिट जोड़े या 8 × 8-बिट जोड़े" क्या आप सुनिश्चित हैं कि आपको वह हिस्सा सही मिला है?
बजे एक सीवी

4
पहली नज़र में, जो उस पर एक इंटेल लोगो के साथ क्राफ्ट सिंगल की तरह दिखता था
क्रिस लैपलेंट

4
4x32 बिट वैरिएबल अभी भी केवल 32 बिट्स है। बिट-नेस अधिकतम व्यक्तिगत पूर्णांक है जिसे ALU संचालित कर सकता है। समानांतर में इसे कई बार करने से बिट-चौड़ाई में वृद्धि नहीं होती है। -1
कॉनर वुल्फ

3

क्योंकि हमें अभी इसकी आवश्यकता नहीं है।

आम तौर पर, बिटनेस (जिसे मैं एक रजिस्टर में बिट्स की संख्या के रूप में परिभाषित करता हूं) अधिक या कम पते वाली मेमोरी में सीधे अनुवाद करता है। यह निश्चित रूप से सरलीकृत है, क्योंकि प्रोसेसर के आधार पर, रजिस्टरों में बिटनेस की लंबाई 2 गुना हो सकती है, या उन मेमोरी सीमाओं को दरकिनार करने की तकनीक मौजूद है (किसी को भी 16-बिट विंडोज़ पर प्रोग्रामिंग करना याद है?)।


3

"वे केवल डेटा लाइनों की संख्या क्यों नहीं बढ़ाते हैं और 256-बिट बनाते हैं"

सभी इंटेल प्रोसेसर जो LGA-2011 सॉकेट को फिट करते हैं, वास्तव में, 256 डेटा पिन होते हैं, जो मदरबोर्ड पर 256 डेटा लाइनों से जुड़ते हैं जो DRAM की ओर ले जाते हैं। अगर आपने हाल ही में उपयोग किए गए लैपटॉप या डेस्कटॉप मशीन में कम से कम 256 डेटा लाइनें नहीं हैं तो मुझे थोड़ा आश्चर्य होगा । क्या मैं पूछ सकता हूँ कि आपको यह गलत विचार कहाँ से आया कि वे "नहीं ... बस डेटा लाइनों की संख्या बढ़ाएँ"?

एलजीए 2011 सॉकेट डेटापत्रक , खंड 6.1, इंगित करता है कि इन सीपीयू 256 डेटा पिन और 76 का पता पिन (बैंक का पता + स्मृति पते) है।


-1

क्योंकि एक साथ ऐसी कोई भी एप्लिकेशन नहीं है, जिसमें एक साथ 128 बिट्स से अधिक डेटा का उपयोग करने की आवश्यकता या संभावनाएं हों।

और आप जानते हैं कि, मल्टीमीडिया प्रोसेसर और ग्राफिक कार्ड्स को मेनबोर्ड cpu के आने से पहले ही वहां से गुजरना पड़ेगा, क्योंकि फोटो / वीडियो के साथ एक ही बार में संसाधित होने के लिए इतनी बड़ी डेटा लंबाई का उपयोग करना समझ में आता है।


-4

एक कंप्यूटर सिस्टम अपने अर्थ में एक कम्प्यूटिंग मशीन है, जिसमें कुछ इनपुट की आवश्यकता होती है और कुछ आउटपुट देते हैं। हमें इन पंक्तियों में कंप्यूटर को संतुष्ट करना है, इसलिए डेवलपर्स के पास 3 बसें, जैसे कि पता बस, डेटा बस और कंट्रोल बस हैं, एक बेंचमार्क है। 1) पता बस लाने / पढ़ने / लिखने के संचालन के लिए मेमोरी में एक विशेष पते का चयन करें। 2) डेटा बस फिर डेटा को इस डेटा को प्रोसेसर / मेमोरी से प्रोसेसिंग / स्टोरेज उद्देश्यों के लिए प्रस्तुत करता है। 3) कंट्रोल बस एक इंटरफ़ेस कंट्रोलिंग प्रोटोकॉल बनाएं और सिस्टम को इसका सम्मान करने के लिए कहें।

उपयोगकर्ता / सर्वर / ग्राहक के लिए कुछ उपयोगी संगणना करने के लिए ये आवश्यक हैं। सामान्य रूप से प्रदर्शन (कार्य की गति, कम चमक, आदि की गति) सिस्टम में बोतल की गर्दन को साफ करने पर निर्भर करती है। यानी यदि हार्ड डिस्क ड्राइव से ट्रांसफर स्पीड की तुलना में सीपीयू बहुत अधिक दर पर प्रोसेस करने में सक्षम है, तो बोतल की गर्दन एचडीडी पर होती है। इसी तरह हमें एक विशेष डाटा स्पीड और कोड चौड़ाई के लिए एक सही प्रसंस्करण गति की आवश्यकता है।

प्रारंभ से, एच ​​/ डब्ल्यू जटिलता, लागत, आवश्यकता, प्रभावी एल्गोरिदम और मुख्य कारण जैसे विभिन्न कारणों के कारण, मार्केट स्कोप, हाई डेटा बस चौड़ाई के उत्पादन के लिए मुख्य बाधाएं हैं, जैसा कि प्रश्न मेजबान द्वारा कहा गया है, 256 बिट या 512 बिट। ये संभव हैं! लेकिन आवश्यकता अभी तक मौजूद नहीं है, बाजार का दायरा आज की जरूरतों और सॉफ्टवेयर सपोर्ट की प्रशंसा के अभाव के साथ दिखाई नहीं दे रहा है।

256 बिट प्रोसेसर डेटा बस की चौड़ाई को दर्शाता है, जो विशेष प्रोसेसर को संभाल सकता है, या ALU एकल निष्पादन में प्रक्रिया कर सकता है। हमने 4 बिट्स शुरू किए, फिर 8,16,32 और वर्तमान में 64 और यहां तक ​​कि 128 बिट्स जो वर्तमान मार्केट स्कोप उत्पाद हैं।

इसलिए इन सवालों को पूछने से पहले, आपको हमेशा मार्केट साइड डिमांड और इसके स्कोप को देखना चाहिए, इतिहास में यह जीवन के तरीकों को समझने का एकमात्र स्ट्रेट फॉरवर्ड तरीका है। यदि आप इसे बर्दाश्त नहीं कर सकते हैं तो आप इसे कैसे खरीद सकते हैं? और अगर आप इसे नहीं खरीद सकते, तो निर्माता कैसे उत्पादन कर सकता है? और अगर वह उत्पादन नहीं कर सकता, तो उस उत्पाद का कोई अस्तित्व नहीं है !!


6
कैपिटलाइज़िंग संज्ञाओं को पढ़ना मुश्किल बनाता है।
pjc50

हम्म, हाँ मुझे ऐसा करने की आवश्यकता है।
श्रीकृष्ण

@ pjc50 शायद वह जर्मनी से है? ओह रुको, "पूछना" और "खरीदना" भी पूंजीकृत हैं, शायद नहीं ...
एलेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.