एक असली सवाल है कि मैं हाल ही में खुद से पूछ रहा हूं कि डिजाइन विकल्पों ने x86 को एक बड़े एंडियन आर्किटेक्चर के बजाय थोड़ा एंडियन आर्किटेक्चर के रूप में लाया है?x86 थोड़ा एंडियन क्यों है?
उत्तर
यह एक समय में एक इकाई को व्यवस्थित करने के लिए स्मृति पर विचार करने के लिए स्मृति को विचार करने के बीच अंतर को दर्शाता है, जहां इकाई का आकार भिन्न हो सकता है (बाइट, शब्द, शब्द इत्यादि)
बड़े पैमाने पर, उसी कारण से आप कम से कम महत्वपूर्ण अंक (दाएं अंत) से शुरू करते हैं जब आप जोड़ते हैं-क्योंकि अधिक महत्वपूर्ण अंकों की ओर प्रचार करते हैं। कम से कम महत्वपूर्ण बाइट डालने से प्रोसेसर को केवल ऑफ़सेट के पहले बाइट को पढ़ने के बाद एड पर शुरू करने की अनुमति मिलती है।
पर्याप्त असेंबली कोडिंग और डिबगिंग करने के बाद आप इस निष्कर्ष पर आ सकते हैं कि यह अजीब पसंद नहीं है कि यह अजीब विकल्प है- यह अजीब बात है कि हम इंसान बड़े एंडियन का उपयोग करते हैं।
एक साइड नोट: मनुष्य ज्यादातर संख्याओं को पढ़ते हैं और केवल कभी-कभी उन्हें गणना के लिए उपयोग करते हैं। इसके अलावा हमें बड़ी मात्रा में निपटने के दौरान अक्सर सटीक संख्या की आवश्यकता नहीं होती है - इसे ध्यान में रखते हुए - बड़े एंडियन मनुष्यों के लिए एक समझदार विकल्प है। – qff
@qff क्या आप कह रहे हैं कि बड़े एंडियन में, क्योंकि कोई सबसे महत्वपूर्ण अंक से बाएं से दाएं पढ़ सकता है, यह संख्या की परिमाण के क्रम को समझना आसान बनाता है? आम तौर पर दाएं से बाएं पढ़ने वाले लोगों के बारे में क्या? –
अरबी दाएं से बाएं से लिखा गया है, जो हमारे क्रमांकन प्रणाली के अभिविन्यास को समझा सकता है: उनके लिए, यह वास्तव में थोड़ा अंत है! – pyon
यह काफी पुरातात्विक है, लेकिन संभवतः यह इंटेल की पसंद नहीं थी। पिछड़े संगतता वाले इंटेल डिज़ाइन प्रोसेसर एक प्राथमिक चिंता रखते हैं, जिससे पुराने से नए वास्तुकला में यांत्रिक रूप से असेंबली कोड का अनुवाद करना आसान हो जाता है। यह घड़ी को 8086 से 8080 तक पहले माइक्रो प्रोसेसर में बदल देता है जहां अंतहीनता mattered, Intel 8008।
उस प्रोसेसर को तब शुरू किया गया जब सीटीसी (बाद में डेटापॉइंट नाम दिया गया) इंटेल पर उनके डेटा टर्मिनल उत्पाद में मदद मांगने के लिए आया। मूल रूप से विक्टर गरीब और हैरी पाइल द्वारा डिजाइन किया गया था, इसमें एमएसआई (कई चिप्स) में एक तार्किक प्रोसेसर डिजाइन था। उन्होंने इंटेल से 512 बिट शिफ्ट रजिस्टरों का उपयोग करके उन्हें भंडारण समाधान प्रदान करने के लिए कहा।
वह इंटेल के पसंदीदा उत्पाद नहीं थे, उन्होंने अपने 1024 बिट रैम चिप के लिए रैंप-अप समय से बचने के लिए इस तरह के कस्टम डिज़ाइन नौकरियों को लिया। टेड हॉफ, स्टेन माज़ोर और लैरी पॉटर ने डिजाइन को देखा और RAM.instead के साथ एक एलएसआई प्रोसेसर का प्रस्ताव दिया। वह अंततः 8008 बन गया। गरीब और पाइल को निर्देश सेट तैयार करने के लिए श्रेय दिया जाता है।
कि उन्होंने थोड़ा-एंडियन चुना है this interview with Poor से विश्वसनीय है। यह यह माध्यम से नहीं बल्कि जल्दी से छोड़ देता है और साक्षात्कार नहीं बल्कि तितर बितर शॉट लेकिन प्रासंगिक हिस्सा है पेज 24 पर:
Shustek: तो, उदाहरण के लिए, भंडारण संख्या कम से कम महत्वपूर्ण बाइट पहले, इस तथ्य से आया कि यह सीरियल था और आपको पहले कम बिट्स को संसाधित करने की आवश्यकता थी।
गरीब: आपको इसे इस तरह से करना था। आपके पास कोई विकल्प नहीं था।
टिप्पणी अजीब है, केवल एमएसआई प्रोसेसर बिट धारावाहिक डिजाइन करने के लिए लागू करने के लिए प्रतीत होता है कि "कोई विकल्प नहीं था।" राम के बजाए शिफ्ट रजिस्टरों के लिए भी खरीदारी की गई।
Hendrie:: यह पेज 34 पर फिर से आता है आप डिजाइन या उन विवरण में से किसी के बारे में उन लोगों से धक्का पीठ के किसी भी याद है ...
गरीब: में से एक वे एक बिट बनाम 8-बिट था। वे एक 8-बिट चौड़ा हिस्सा चाहते थे और अंत में, यह है कि उन्होंने इसे कैसे बनाया।
गरीब: लेकिन यह अभी भी फिर से चल रहा था। लेकिन, आप देखते हैं, दिलचस्प अंक हैं कि क्या एक बड़ा अंत होगा या उस बिंदु पर थोड़ा अंत भाग बदल दिया जा सकता था लेकिन हमने नहीं किया। हमने अभी इसे छोड़ दिया है ...
हैंड्री: आठ बिट्स पर जाने के बाद भी?
गरीब: दाएं। इसीलिए इंटेल उत्पाद लाइन कि जिस तरह से आज
अंत में सीटीसी 8008 का उपयोग नहीं किया है, यह एक साल बहुत देर हो चुकी समाप्त हो गया था और वे पहले से ही तब तक एमएसआई प्रोसेसर को लागू किया। माइक्रो प्रोसेसर डिजाइन निश्चित रूप से सीटीसी की बौद्धिक संपदा थी, हालांकि उन्होंने डिजाइन लागत के लिए इंटेल के साथ इसके अधिकारों का व्यापार किया। गलती का बिट :) बाद में पेटेंट अधिकारों के बारे में कानून सूट।
तो, जैसा कि बताया गया है, इंटेल इंटेलिजेंट बंदरगाहों के काम के कारण छोटे-छोटे के साथ समाप्त हुआ।
हम्म, यह एक बहुत अच्छा जवाब है, मैं सही ढंग से कह सकता हूं कि धारावाहिक बंदरगाह सीरियल के रूप में काम करता है और यदि मामला बड़ा-अंतराल है तो यह प्रत्येक ऑपरेशन में उलटा होने के लिए सीपीयू का अपशिष्ट है। मुझे लगता है कि मैं सही ढंग से समझता हूं, तो दूसरा प्रश्न, अभी भी थोड़ा-अंतियाल एक आवश्यकता है? मुझे लगता है कि धारावाहिक बंदरगाह अब विरासत हैं, है ना? या फिर भी कोई अन्य कारण है जो छोटे-छोटे के रूप में डिजाइन करने के लिए तैयार है? – FZE
आर्किटेक्चर परिवर्तनों में कार्यक्रमों को संगत रखने के लिए अंतहीनता विकल्प के साथ रहना निश्चित रूप से एक आवश्यकता है। सीरियल पोर्ट अभी तक बिल्कुल विरासत नहीं हैं, अभी भी एम्बेडेड डिज़ाइनों में आम हैं और कई यूएसबी और ब्लू टूथ डिवाइस विक्रेता अपने डिवाइस ड्राइवर में सीरियल पोर्ट को अनुकरण करके सीरियल पोर्ट एपीआई के माध्यम से अपने डिवाइस पर एक इंटरफेस का पर्दाफाश करते हैं। –
आगे स्पष्टीकरण के लिए धन्यवाद सर। – FZE
- 1. htons में भ्रम- थोड़ा एंडियन/बड़ा एंडियन
- 2. (जावा) फ़ाइल में थोड़ा एंडियन
- 3. क्या मेरी एएमडी-आधारित मशीन थोड़ा एंडियन या बड़ा एंडियन का उपयोग करती है?
- 4. मैं एक बड़े एंडियन संरचना को थोड़ा एंडियन-स्ट्रक्चर में कैसे परिवर्तित करूं?
- 5. लिटिल एंडियन बनाम बिग एंडियन
- 6. क्यों थोड़ा स्थानांतरित हो रहा है?
- 7. x86 रजिस्ट्रारों का नाम क्यों है?
- 8. नेट पर बिग एंडियन या लिटिल एंडियन?
- 9. x86
- 10. थोड़ा सा और यहां क्यों उपयोग करें?
- 11. पाइथन का उपयोग कर 24 बिट और थोड़ा एंडियन फ़ाइल वाली पूर्णांक को कैसे पढ़ा जाए?
- 12. पूर्ण एंडियन स्ट्रिंग को पूर्णांक
- 13. थोड़ा क्षेत्र
- 14. थोड़ा रेंज
- 15. एसक्यूएल सर्वर बाइनरी (128) छोटे एंडियन से बड़े एंडियन
- 16. बाइनरीवाइटर एंडियन अंक
- 17. बूस्ट एएसओ और एंडियन
- 18. जावास्क्रिप्ट एंडियन एन्कोडिंग? मुझे
- 19. x86
- 20. x86
- 21. x86
- 22. x86
- 23. x86
- 24. x86
- 25. x86
- 26. हमें x86 पर zone_highmem क्यों चाहिए?
- 27. छोटे और बड़े एंडियन दोनों उपयोग में क्यों हैं?
- 28. x86 आरआईएससी या सीआईएससी है?
- 29. , x86-64 को अभी भी स्थानान्तरण की आवश्यकता क्यों है?
- 30. लिटिल एंडियन डेटा और शा 256
डिज़ाइन ट्रेडऑफ। कुछ उदाहरणों के लिए http://en.wikipedia.org/wiki/Endianness#Optimization देखें। –