निर्देश सेट आर्किटेक्चर की तुलना

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

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

आधार
कंप्यूटिंग के प्रारंभिक दशकों में, ऐसे कंप्यूटर थे जो द्वयाधारी संख्या, दशमलव कंप्यूटर और यहां तक ​​कि टर्नरी कंप्यूटर का उपयोग करते थे। समकालीन कंप्यूटर लगभग अनन्य रूप से द्वयाधारी हैं।

बिट
कंप्यूटर आर्किटेक्चर को अक्सर n-बिट आर्किटेक्चर के रूप में वर्णित किया जाता है। आज n अक्सर 8, 16, 32, या 64 होता है, लेकिन अन्य आकारों का उपयोग किया गया है (6, 12-[[48-बिट कंप्यूटिंग]], 18-बिट कंप्यूटिंग, 24-बिट कंप्यूटिंग, 30, 36-बिट कंप्यूटिंग, इलियट 803, 48- सहित) बिट कंप्यूटिंग, 60-बिट कंप्यूटिंग)। यह वास्तव में एक सरलीकरण है क्योंकि कंप्यूटर आर्किटेक्चर में अक्सर अनुदेश समुच्चय में कुछ अधिक या कम प्राकृतिक डेटा आकार होते हैं, लेकिन इनका हार्डवेयर कार्यान्वयन बहुत भिन्न हो सकता है। कई निर्देश समुच्चय  आर्किटेक्चर में निर्देश होते हैं, जो उस इंस्ट्रक्शन सेट आर्किटेक्चर के कुछ कार्यान्वयन पर, प्रोसेसर के प्रमुख आंतरिक डेटापथ के आधे और/या दोगुने आकार पर काम करते हैं। इसके उदाहरण हैं Z80, MC68000, और IBM System/360। इस प्रकार के कार्यान्वयन पर, दो बार विस्तृत ऑपरेशन आमतौर पर लगभग दो गुना अधिक घड़ी चक्र लेता है (जो उच्च प्रदर्शन कार्यान्वयन पर मामला नहीं है)। उदाहरण के लिए, 68000 पर, इसका मतलब 4 क्लॉक टिक के बजाय 8 है, और इस विशेष चिप को 32-बिट कंप्यूटिंग | 16-बिट कंप्यूटिंग के साथ 32-बिट आर्किटेक्चर | 16-बिट कार्यान्वयन के रूप में वर्णित किया जा सकता है। आईबीएम सिस्टम/360 अनुदेश समुच्चय आर्किटेक्चर 32-बिट है, लेकिन सिस्टम/360 श्रृंखला के कई मॉडल, जैसे आईबीएम सिस्टम/360 मॉडल 30, में छोटे आंतरिक डेटा पथ हैं, जबकि अन्य, जैसे 360/195, में छोटे आंतरिक डेटा पथ हैं। बड़े आंतरिक डेटा पथ। आर्किटेक्चर की चौड़ाई निर्धारित करने के लिए बाहरी डेटाबस चौड़ाई का उपयोग नहीं किया जाता है; NS320xx|NS32008, NS32016 और NS32032 मूल रूप से अलग-अलग बाहरी डेटा बसों के साथ समान 32-बिट चिप थे; NS32764 में 64-बिट कंप्यूटिंग | 64-बिट बस थी, और 32-बिट रजिस्टर का इस्तेमाल किया। प्रारंभिक 32-बिट माइक्रोप्रोसेसरों में अक्सर 24-बिट का पता होता था, जैसा कि सिस्टम/360 प्रोसेसर में होता था।

संचालन
ऑपरेंड की संख्या उन कारकों में से एक है जो अनुदेश समुच्चय के प्रदर्शन के बारे में संकेत दे सकती है। एक तीन-ऑपरेंड आर्किटेक्चर (2-इन, 1-आउट) की अनुमति देगा ए := बी + सी एक निर्देश में गणना की जानी है

एक दो-ऑपरेंड आर्किटेक्चर (1-इन, 1-इन-एंड-आउट) की अनुमति देगा ए := ए + बी एक निर्देश में गणना करने के लिए, इसलिए एक तीन-ऑपरेंड निर्देश को अनुकरण करने के लिए दो निर्देशों को निष्पादित करने की आवश्यकता होगी। ए:= ए * सी ए := ए + सी

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

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

एंडियननेस केवल उन प्रोसेसरों पर लागू होता है जो डेटा की इकाइयों (जैसे बाइट्स) के व्यक्तिगत पते की अनुमति देते हैं जो मूल पता योग्य मशीन शब्द से छोटे होते हैं।

अनुदेश समुच्चय
नीचे दी गई तालिका अनुदेश समुच्चय आर्किटेक्चर के बारे में मूलभूत जानकारी की तुलना करती है।

टिप्पणियाँ:
 * आमतौर पर रजिस्टरों की संख्या दो की शक्ति होती है, उदा। 8, 16, 32। कुछ मामलों में आर्किटेक्चर की रजिस्टर फ़ाइल ों के हिस्से के रूप में हार्डवार्ड-टू-जीरो सूडो-रजिस्टर शामिल है, ज्यादातर इंडेक्सिंग मोड को सरल बनाने के लिए। कॉलम रजिस्टर केवल किसी भी समय सामान्य निर्देशों द्वारा प्रयोग करने योग्य पूर्णांक रजिस्टरों की गणना करता है। आर्किटेक्चर में हमेशा विशेष-उद्देश्य रजिस्टर जैसे प्रोग्राम काउंटर (पीसी) शामिल होते हैं। जब तक उल्लेख नहीं किया जाता तब तक उनकी गिनती नहीं की जाती है। ध्यान दें कि कुछ आर्किटेक्चर, जैसे स्पार्क, में रजिस्टर विंडो होती हैं; उन आर्किटेक्चर के लिए, गिनती इंगित करती है कि रजिस्टर विंडो में कितने रजिस्टर उपलब्ध हैं। इसके अलावा, गैर-आर्किटेक्टेड रजिस्टरों के नाम बदलने के लिए रजिस्टर#आर्किटेक्चरल बनाम भौतिक रजिस्टरों की गणना नहीं की जाती है।
 * टाइप कॉलम में, रजिस्टर-रजिस्टर एक सामान्य प्रकार के आर्किटेक्चर का पर्याय है, लोड-स्टोर आर्किटेक्चर | लोड-स्टोर, जिसका अर्थ है कि कोई भी निर्देश सीधे मेमोरी तक नहीं पहुंच सकता है, सिवाय कुछ विशेष के, यानी रजिस्टर से लोड या स्टोर करें ), परमाणु संचालन के लिए मेमोरी लॉकिंग निर्देशों के संभावित अपवादों के साथ।
 * Endianness कॉलम में, Bi का अर्थ है कि endianness विन्यास योग्य है।

यह भी देखें

 * सेंट्रल प्रोसेसिंग यूनिट (सीपीयू)
 * प्रोसेसर डिजाइन
 * सीपीयू माइक्रोआर्किटेक्चर की तुलना
 * अनुदेश समुच्चय वास्तुकला
 * माइक्रोप्रोसेसर
 * बेंचमार्क (कंप्यूटिंग)