Instruction Set (निर्देश सेट)
निर्देश सेट आदेशों का एक पूर्वनिर्धारित समूह है जो CPU को बताता है कि उसे कौन से कार्य करने हैं।
Table of Contents
Toggle- इसे मशीनी भाषा निर्देश भी कहा जाता है।
- यह बाइनरी फॉर्म में मौजूद हैं (0 और 1).
- यह सीपीयू आर्किटेक्चर पर निर्भर करता है।
सरल शब्दों में : Instruction Set वह language है जिसे processor समझता है। यह CPU को बताती है कि मेमोरी से डेटा कैसे लाना है, उसे प्रोसेस कैसे करना है और परिणाम कहां लाना है।
Characteristics of instruction set (विशेषताएँ)
- CPU-specific (सीपीयू-विशिष्ट) – हर processor का अपना निर्देश सेट(instruction set) होता है।
- Binary Format (बाइनरी प्रारूप) – Instructions हमेशा 0 और 1 में होती हैं।
- Low-level Language (निम्न-स्तरीय भाषा ) – यह मानव-पठनीय नहीं है, असेंबली भाषा के माध्यम से प्रस्तुत की जाती है।
- Size And Complexity (आकार और जटिलता) – अलग-अलग – RISC और CISC architecture में निर्देश सेट की संख्या अलग होती है।
Parts of Instruction (Instruction के मुख्य भाग)
एक निर्देश को तीन मुख्य विवरणों में विभाजित किया जाता है:
Operation Code (Opcode)
यह बताता कि कौन सा ऑपरेशन परफॉर्म करना है (जैसे ADD, SUB, MOV)।
Operand
यह बताता है कि data कहाँ से आएगा या कहाँ जाएगा।
यह memory address, register या तत्काल मूल्य(immediate value) हो सकता है।
Addressing Mode
इसमें बताया गया है कि ऑपरेंड को कैसे एक्सेस करना है|
Types of Instruction Set (Instruction Set के प्रकार)
निर्देश सेट निम्नलिखित श्रेणियों में विभाजित हैं:
- Data Transfer Instructions (डेटा स्थानांतरण निर्देश)
- मेमोरी और रजिस्टर के बीच डेटा ट्रांसफर करने के लिए।
- Operation : MOV, LOAD, STORE, PUSH, POP
- उदाहरण : जैसे हम WhatsApp पर file भेजते हैं – यह सिर्फ transfer है, processing नहीं।
- Arithmetic Instructions (अंकगणितीय निर्देश)
- जोड़, घटाव, गुणा, भाग करने के लिए।
- Operation : ADD, SUB, MUL, DIV, INC, DEC
- Logical Instructions (तार्किक निर्देश)
- AND, OR, NOT, XOR जैसी operations के लिए।
- Operation : AND, OR, CMP (Compare)
- Example: जब Flipkart filter में हम “Price < 2000 AND Brand = XYZ” apply करते हैं।
- Branching Instructions (शाखा निर्देश)
- प्रोग्राम के फ़्लो को बदलने के लिए
- Operation : JMP, CALL, RET, JZ (Jump if Zero), JNZ (Jump if Not Zero)
- Daily Example : मान लीजिए IRCTC पर ticket confirm न हो तो page आपको “Waiting List” page पर भेज देता है – यह एक तरह की सशर्त शाखा(conditional branching) है।
- Control Instructions (नियंत्रण निर्देश)
- प्रोसेसर को कंट्रोल करने या रोकने के लिए।
- Operation : HLT (Halt), NOP (No Operation)
- Example: Computer को shut down करने पर CPU HLT instruction execute करता है।
Importance of instruction set (निर्देश सेट का महत्व)
- Fundamental role in CPU design (मूलभूत भूमिका) – यह परिभाषित करता है कि CPU क्या कर सकता है।
- Program Efficiency (प्रोग्राम दक्षता) – अनुकूलित निर्देश सेट तेज़ प्रदर्शन देता है।
- Compatibility (अनुकूलता) – सॉफ्टवेयर डेवलपर्स को पता चलता है कि वे कौन-कौन से निर्देशों का उपयोग कर सकते हैं।
- Cost and Power Consumption (लागत और बिजली की खपत) – छोटा अनुदेश सेट कम बिजली का उपयोग करता है, इसलिए मोबाइल डिवाइस लोकप्रिय हैं।
Example (निर्देश सेटों का व्यावहारिक उपयोग)
मान लीजिए आपने UPI से payment किया:
- Data Transfer(डेटा स्थानांतरण) – Amount fetch हुआ आपके bank account से।
- Arithmetic(अंकगणित) – Cashback calculate हुआ।
- Logical Instruction(तार्किक निर्देश) – Check हुआ कि account में sufficient balance है या नहीं।
- Branching(शाखाएँ) – अगर balance कम है तो “Transaction Failed” message दिखा।
ये सब सीपीयू के इंस्ट्रक्शन सेट की वजह से संभव है।
Advantages of Instruction Set (लाभ)
- सीपीयू सार्वभौमिक भाषा (universal language) प्रदान करता है।
- सॉफ्टवेयर विकास आसान काम है।
- प्रदर्शन का पूर्वानुमान लगाया जा सकता है।
- अनुकूलता (compatibility) सुनिश्चित करती है।
Disadvantages of Instruction Set (हानि)
- विभिन्न CPU के अलग-अलग निर्देश सेट पोर्टेबिलिटी समस्याएँ पैदा करते हैं।
- जटिल निर्देश सेट डिज़ाइन महंगा होता है।
- अधिकांश निर्देशों की डिकोडिंग में देरी हो सकती है (CISC समस्या)।