2013-05-26 2 views
6

यह पहली बार सवाल नहीं हुआ है, लेकिन आज मैं एक पुराना एसएनईएस खेल खेल रहा था जब मैंने इसके बारे में सोचा था और उन लोगों से जवाब मांगना चाहता था जो मुझसे ज्यादा जानते हैं।एक्स-बिट कंप्यूटर 2X-बिट संख्याओं के साथ कैसे काम करता है?

उदाहरण के लिए सुपर निंटेंडो लें। यह एक 16-बिट प्रणाली है। 16 बिट्स के साथ, आप 65536, या 2^16 तक गिन सकते हैं। तो मशीन मेरे साथ कैसे सामना करती है, उदाहरण के लिए, 65536 से अधिक का स्कोर?

+0

संबंधित प्रश्न: http://stackoverflow.com/questions/12718536/how-does-a-32bit-computer-work-with-large-bit-numbers-ex -512 बिट-पूर्णांक – reima

उत्तर

4

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

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

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

+2

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

+1

@ DietrichEpp एमआईपीएस में कोई झंडा नहीं है और आपको ऐसा करने के लिए 3 निर्देशों का उपयोग करना होगा। उच्च प्रदर्शन कंप्यूटर आर्किटेक्चर में यह वास्तव में एक अजीब अपवाद है –

0

कम बिट्स वाले प्रोसेसर की असली सीमा यह है कि यह उतनी मेमोरी को संबोधित नहीं कर सकती है, 32 बिट केवल 4 जीबी को संबोधित कर सकते हैं। गणितीय परिचालन के मामले में एक 16 बिट और 32 बिट प्रोसेसर एक एफटीटीएम (परिमित टेप ट्यूरिंग मशीन) के बराबर हैं और इस प्रकार समान गणना शक्ति है। उदाहरण के लिए जावा का बिगइंटर जितना बड़ा हो सके उतना बड़ा हो सकता है जितना आप चाहते हैं

संबंधित मुद्दे