architecture बिट्स की संख्या हमेशा दो(?) दो की शक्ति क्यों होती है?




hardware theory (15)

यह ज्यादातर परंपरा की बात है। यह हमेशा सच भी नहीं होता है। उदाहरण के लिए, प्रोसेसर में फ्लोटिंग-पॉइंट इकाइयां (यहां तक ​​कि समकालीन वाले) में 80-बिट रजिस्टर हैं। और कुछ भी नहीं है जो हमें 13-बिट बाइट्स के बजाय 8-बिट बाइट्स के लिए मजबूर करेगा।

कभी-कभी इसका गणितीय तर्क होता है। उदाहरण के लिए, यदि आप एक एन बिट्स बाइट का निर्णय लेते हैं और पूर्णांक गुणन करना चाहते हैं, तो आपको परिणामों को संग्रहीत करने के लिए बिल्कुल 2N बिट्स की आवश्यकता होगी। फिर आप उन 2N-बिट पूर्णांक को जोड़ना / घटाना / गुणा करना भी चाहते हैं और अब आपको गुणन परिणामों को संग्रहीत करने के लिए जोड़ / घटाव परिणाम और 4N-बिट रजिस्टरों को संग्रहीत करने के लिए 2N-बिट सामान्य-उद्देश्य रजिस्टरों की आवश्यकता है।

हमारे पास 8-बिट, 16-बिट, 32-बिट और 64-बिट हार्डवेयर आर्किटेक्चर और ऑपरेटिंग सिस्टम हैं। लेकिन नहीं, कहते हैं, 42-बिट या 69-बिट वाले।

क्यूं कर? क्या यह कुछ मौलिक है जो 2 ^ n बिट्स को बेहतर विकल्प बनाता है, या मौजूदा सिस्टम के साथ संगतता के बारे में है? (यह स्पष्ट रूप से सुविधाजनक है कि 64-बिट रजिस्टर में दो 32-बिट पॉइंटर्स हो सकते हैं, या 32-बिट डेटा यूनिट में 4 बाइट्स हो सकते हैं।)


आंशिक रूप से, यह संबोधित करने की बात है। पता के एन बिट्स होने से आप 2 ^ N बिट मेमोरी को संबोधित कर सकते हैं, और हार्डवेयर के डिजाइनर इस क्षमता का सबसे अधिक उपयोग करना पसंद करते हैं। तो, आप 8-बिट बस आदि को संबोधित करने के लिए 3 बिट्स का उपयोग कर सकते हैं ...


क्योंकि पता के लिए आरक्षित स्थान हमेशा निश्चित संख्या में बिट्स होता है। एक बार जब आप निश्चित पते (या पॉइंटर) के आकार को परिभाषित कर लेते हैं, तो आप इसे सबसे अच्छा बनाना चाहते हैं, इसलिए आपको इसके सभी मूल्यों का उपयोग करना होगा जब तक कि यह उच्चतम संख्या में संग्रहीत नहीं हो सकता। सबसे अधिक संख्या आप एक बिट (0 या तो 1) के कई से प्राप्त कर सकते हैं हमेशा दो की शक्ति होती है


बाइट ज्यादातर पश्चिमी दुनिया के पात्रों के एन्कोडिंग से संबंधित है इसलिए 8 बिट। शब्द का संबंध पते की चौड़ाई से संबंधित है, इसलिए यह 4 से 80 आदि से भिन्न है


मेरे भरोसेमंद पुराने HP 32S कैलकुलेटर 12-बिट्स थे।


हमारे पास सिर्फ PIC माइक्रोकंट्रोलर्स हैं।


जैसा कि दूसरों ने बताया है, शुरुआती दिनों में, चीजें इतनी स्पष्ट नहीं थीं: शब्द सभी प्रकार के ऑडबॉल आकार में आते थे।

लेकिन 8 बिट बाइट्स को मानकीकृत करने के लिए धक्का भी मेमोरी चिप प्रौद्योगिकी द्वारा संचालित किया गया था। शुरुआती दिनों में, कई मेमोरी चिप्स 1bit प्रति पते के रूप में आयोजित किए गए थे। N- बिट शब्दों के लिए मेमोरी का निर्माण n के समूहों में मेमोरी चिप्स का उपयोग करके किया गया था (संबंधित पते लाइनों को एक साथ बांधा गया था, और प्रत्येक चिप्स एकल डेटा बिट में n-बिट शब्द के लिए योगदान देता है)।

जैसे ही मेमोरी चिप घनत्व अधिक हुआ, निर्माताओं ने एक ही पैकेज में कई चिप्स पैक किए। क्योंकि उपयोग में सबसे लोकप्रिय शब्द आकार 8 बिट के गुणक थे, 8-बिट मेमोरी विशेष रूप से लोकप्रिय थी: इसका मतलब यह सबसे सस्ता भी था। जैसा कि अधिक से अधिक आर्किटेक्चर 8 बिट बाइट बैंडवागन पर कूद गए, मेमोरी चिप्स के लिए कीमत प्रीमियम जो 8 बिट बाइट्स का उपयोग नहीं करता था, बड़ा और बड़ा हो गया। इसी तरह के तर्क 8-> 16, 16-> 32, 32-> 64 से आगे बढ़ते हैं।

आप अभी भी 24 बिट मेमोरी के साथ एक सिस्टम डिज़ाइन कर सकते हैं, लेकिन यह मेमोरी संभवतः 32 बिट मेमोरी का उपयोग करके समान डिज़ाइन की तुलना में बहुत अधिक महंगी होगी। जब तक 24 बिट्स पर छड़ी करने का वास्तव में अच्छा कारण नहीं है, तब तक अधिकांश डिजाइनर 32 बिट्स का विकल्प चुन लेंगे, जब दोनों सस्ता और अधिक सक्षम हो।


आदरणीय PDP-10 36 बिट्स था।


एक समय में, कंप्यूटर शब्द की लंबाई कई 6 बिट्स हो जाती थी, क्योंकि कंप्यूटर आमतौर पर 6-बिट कैरेक्टर सेट का उपयोग करते थे, बिना लोअर-केस अक्षरों के समर्थन के।

आईबीएम ने लॉस अल्मोस के लिए एक उच्च प्रदर्शन वाला कंप्यूटर, स्ट्रेट बनाया, जिसमें 64-बिट शब्द था। इसकी असामान्य विशेषता थी कि कंप्यूटर की मेमोरी में व्यक्तिगत बिट्स को सीधे संबोधित किया जा सकता था, जिसने शब्द की लंबाई को दो की शक्ति होने के लिए मजबूर किया। इसमें एक अधिक विस्तारित चरित्र सेट भी था, जो गणितीय प्रतीकों (निचले मामले के अलावा) को शामिल करने की अनुमति देता था; उनका उपयोग COLASL नामक एक विशेष उच्च-स्तरीय भाषा में किया गया था।

जब आईबीएम बहुत लोकप्रिय सिस्टम / 360 मेनफ्रेम के साथ बाहर आया था, भले ही इसमें बिट एड्रेसिंग न हो, लेकिन यह आठ-बिट बाइट रखता था, मुख्य रूप से दशमलव अंकों में चार बिट पर पैक दशमलव मात्रा के कुशल भंडारण की अनुमति देता है। क्योंकि वह मशीन इतनी लोकप्रिय थी, यह बहुत प्रभावशाली थी, और डीईसी से पीडीपी -11 कंप्यूटर को 16-बिट शब्द और 8-बिट अक्षरों के साथ डिजाइन किया गया था। पीडीपी -11 पहली सच्ची छोटी-एंडियन मशीन भी थी, और यह बहुत लोकप्रिय और प्रभावशाली भी थी।

लेकिन यह केवल निम्नलिखित फैशन के कारण नहीं है। 8-बिट वर्ण निचले-मामले के पाठ की अनुमति देते हैं, और जैसे-जैसे कंप्यूटर सस्ते होते गए, शब्द प्रसंस्करण के लिए उन्हें आसानी से उपयोग करने में सक्षम होने का मूल्य था। और जिस तरह STRETCH को एक ऐसे शब्द की आवश्यकता होती है जिसमें बिट्स में दो आकार की शक्ति होती है जिससे बिट्स को आसानी से संबोधित किया जा सके, आज के कंप्यूटरों को एक शब्द की आवश्यकता होती है जो कि पावर ऑफ़-टू मल्टीपल 8 हो (जो होता है दो से तीसरी शक्ति ही) पात्रों को आसानी से संबोधित करने की अनुमति देने के लिए।

यदि हम अभी भी 6 बिट वर्णों का उपयोग करते हैं, तो कंप्यूटर में 24, 48 या 96 बिट शब्द होंगे।



एक और काउंटर उदाहरण: PIC16C8X श्रृंखला के माइक्रोकंट्रोलर्स के पास 14 बिट चौड़ा निर्देश सेट है।


http://en.wikipedia.org/wiki/Word_%28computer_architecture%29#Word_size_choice

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


आपका मेमोरी सिस्टम एक बाइट मल्टीपल बनना चाहता है, जिससे आपका कैश बाइट मल्टीपल बनना चाहता है, जिससे आपका पूरा सिस्टम बाइट मल्टीपल बनना चाहता है।

एक एचडब्ल्यू डिजाइनर के रूप में बोलते हुए, आप आम तौर पर सीपीयू को किसी तरह की बाइट की सीमाओं को डिजाइन करना चाहते हैं, अर्थात 8. के ​​गुणकों को। अन्यथा आपको या तो बहुत ही अजीब सर्किटरी को 49-बिट सिस्टम में जोड़ना होगा ताकि यह मॉड -8 बिट्स का उपयोग कर सके , या आप अतिरिक्त बिट्स को अनदेखा करते हैं, जिस स्थिति में यह बेकार था, जब तक कि आपको निर्देशों के लिए अतिरिक्त बिट की आवश्यकता नहीं थी, जो कि 16 बिट या व्यापक सिस्टम पर कभी नहीं होता है।


एक सामान्य कारण यह है कि आप अपने बिट्स को बाइनरी में संख्या दे सकते हैं। यह काफी कुछ स्थितियों में उपयोगी है। उदाहरण के लिए, बिटशिफ्ट या ऑपरेशन को घुमाने में। आप 0 से 15 बिट्स पर 16 बिट मान को घुमा सकते हैं। 16 बिट्स को घुमाने का एक प्रयास भी तुच्छ है: यह 0 बिट्स के रोटेशन के बराबर है। और 1027 बिट्स पर एक रोटेशन 3 बिट्स के रोटेशन के बराबर है। सामान्य तौर पर, एन बिट्स पर चौड़ाई डब्ल्यू के एक रजिस्टर का एक घुमाव एन मोडुलो डब्ल्यू के ऊपर एक रोटेशन के बराबर होता है, और डब्ल्यू "2 की शक्ति होने पर ऑपरेशन" मॉडुलो डब्ल्यू "तुच्छ होता है।


संबंधित, लेकिन संभवतः कारण नहीं है, मैंने सुना है कि en.wikipedia.org/wiki/Byte का सम्मेलन इसलिए है क्योंकि आईबीएम ने आईबीएम सिस्टम / 360 आर्किटेक्चर को कैसे रगड़ दिया।







bit