असेंबली क्या है?

असेंबली क्या है?

ग्लेन बेक और बेट्टी स्नाइडर बैलिस्टिक रिसर्च लेबोरेटरी में ENIAC संचालित करते हुए।
ग्लेन बेक और बेट्टी स्नाइडर बैलिस्टिक रिसर्च लेबोरेटरी में ENIAC संचालित करते हुए।

ENIAC पहला सामान्य-उद्देश्य वाला इलेक्ट्रॉनिक कंप्यूटर था। इसे पेंसिल्वेनिया विश्वविद्यालय में बनाया गया था और 1945 में पूरा हुआ। स्नाइडर उन छह महिलाओं में से एक थीं जिन्होंने इसे हाथ से प्रोग्राम किया।

ENIAC जैसी मशीनों से पहले, कंप्यूटर शब्द का अर्थ एक ऐसा व्यक्ति होता था जो हाथ से गणनाएँ करता था, और ENIAC को प्रोग्राम करने वाली छह महिलाओं को उसी काम के लिए नियुक्त किया गया था। मशीन को प्रोग्राम करने के लिए, उन्होंने इसकी तारें बदलीं: हर बार समस्या बदलने पर वे केबल लगाती थीं और स्विच सेट करती थीं। यही तारें बदलने की प्रक्रिया ऐतिहासिक कारण है कि असेंबली भाषा अस्तित्व में है। कुछ ही वर्षों में, यूरोप और अमेरिका के इंजीनियरों ने तारों और स्विच सेटिंग्स को छोटे लिखित कोड से बदलना शुरू किया जो निर्देशों के लिए खड़े होते थे, ताकि कोई व्यक्ति किसी कनेक्टर को छुए बिना प्रोग्राम पढ़ और बदल सके।

पहला, एक CPU (सेंट्रल प्रोसेसिंग यूनिट) आपके कंप्यूटर के केंद्र में स्थित चिप है, और यह एक ही काम करती है: यह निर्देश नामक छोटे आदेशों की एक लंबी सूची को एक के बाद एक, प्रति सेकंड अरबों की दर से निष्पादित करती है। प्रत्येक निर्देश अपने आप में आसान होता है, जैसे दो संख्याएँ जोड़ना, कोई मान ले जाना, या किसी अन्य स्थान पर कूदना।

असेंबली CPU द्वारा चलाए जाने वाले निर्देशों का वह रूप है जिसे कोई व्यक्ति पढ़ सकता है। प्रत्येक पंक्ति (लगभग) एक मशीन निर्देश होती है। आपको लूप, ऑब्जेक्ट, या स्ट्रिंग नहीं मिलते। आप संख्याओं को रजिस्टरों, प्रोसेसर के भीतर छोटे भंडारण स्थानों, और मेमोरी के बीच ले जाते हैं।

मौरिस विल्क्स कैम्ब्रिज विश्वविद्यालय में EDSAC के एक भाग की जाँच करते हुए।
मौरिस विल्क्स कैम्ब्रिज विश्वविद्यालय में EDSAC के एक भाग की जाँच करते हुए।

EDSAC ने डेविड व्हीलर के Initial Orders को चलाया, जो लिखित निर्देशों को मशीन कोड में अनुवादित करने वाले पहले प्रोग्रामों में से एक था।

प्रत्येक प्रोसेसर को एक ऐसा प्रोग्राम चाहिए जो लिखित निर्देशों को पढ़े और वे कच्चे बिट्स उत्पन्न करे जिन्हें हार्डवेयर निष्पादित करता है: एक असेंबलर। इस पृष्ठ पर असेंबलर एक निर्देश सेट को लक्षित करता है।

यह सिम्युलेटर RISC-V का उपयोग करता है, जो एक आधुनिक निर्देश सेट है जिसका उपयोग वास्तविक चिप्स में होता है और विश्वविद्यालयों में पढ़ाया जाता है। आप यहाँ जो सीखते हैं वह सीधे हार्डवेयर पर लागू होता है।

युनसुप ली 2013 में एक प्रारंभिक RISC-V प्रोटोटाइप चिप पकड़े हुए।
युनसुप ली 2013 में एक प्रारंभिक RISC-V प्रोटोटाइप चिप पकड़े हुए।

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

किसी भी निर्देश सेट डिज़ाइन को यह तय करना होता है कि एक अकेला निर्देश कितना काम करता है। CISC (कॉम्प्लेक्स इंस्ट्रक्शन सेट कंप्यूटर) चिप्स, जिनमें अधिकांश डेस्कटॉप और लैपटॉप कंप्यूटरों में पाई जाने वाली x86 आर्किटेक्चर शामिल है, प्रत्येक निर्देश में बड़ी मात्रा में काम डालते हैं। एक निर्देश मेमोरी से कोई मान पढ़ सकता है, उस पर अंकगणित कर सकता है, और परिणाम वापस संग्रहित कर सकता है, सब एक ही चरण में। RISC-V उस डिज़ाइन का अनुसरण करता है जिसकी वकालत Patterson & Ditzel, 1980 ने की: प्रत्येक निर्देश एक सरल क्रिया करता है, और कोई भी जटिल व्यवहार इन निर्देशों को मिलाकर उत्पन्न होता है।

RISC का अर्थ है Reduced Instruction Set Computer। हार्डवेयर सरल निर्देशों के एक छोटे समूह को उच्च गति से चलाने के लिए बनाया गया है। जटिल व्यवहार इन सरल, तेज़ चरणों को मिलाकर उत्पन्न होता है।

ARC के लिए कैथलीन बूथ का असेंबलर (Booth, 1947) और EDSAC के लिए डेविड व्हीलर के Initial Orders (Wilkes, Wheeler & Gill, 1951) सबसे प्रारंभिक कार्यशील असेंबलरों में गिने जाते हैं, और इतिहासकार यह बहस जारी रखते हैं कि कौन पहले आया। RISC-V, जिस निर्देश सेट को यह सिम्युलेटर चलाता है, निर्देशों की एक छोटी, खुली सूची परिभाषित करता है जिसे कोई भी लागू कर सकता है (Asanović & Patterson, 2014)। इस बिंदु से आगे का प्रत्येक पाठ सीधे उसी निर्देश सेट को सिखाता है।