जरी आपल्याला बाहेरून ते लक्षात येत नसले तरी, प्रत्येक संगणकाच्या केंद्रस्थानी - मग ते लॅपटॉप असो, डेस्कटॉप असो, मोबाईल फोन असो किंवा अगदी व्हिडिओ गेम कन्सोल असो - सेंट्रल प्रोसेसिंग युनिट आहे, जे प्रसिद्ध आहे. सीपीयू, जे एका आकर्षक अंतर्गत प्रक्रियेनंतर पूर्ण वेगाने कार्य करते ज्याला म्हणतात फेच-डीकोड-एक्झिक्युट सायकलहे चक्र, ज्याला 'सूचना चक्र' असेही म्हणतात, ही खरी यंत्रणा आहे जी यंत्राला सूचनांचा अर्थ लावण्यास आणि त्यांचे ठोस कृतींमध्ये रूपांतर करण्यास अनुमती देते.
फेच-डीकोड-एक्झिक्युट सायकल कसे कार्य करते हे समजून घेणे अत्यंत महत्त्वाचे आहे कोणत्याही आधुनिक संगणकीय प्रणालीची रचना आणि कामगिरी समजून घ्या. या लेखात, आपण दररोज वापरत असलेल्या उपकरणांच्या एकूण कामगिरीवर ही प्रक्रिया कशी परिणाम करते हे पाहण्यासाठी सूचना चक्राचे विश्लेषण करू.
फेच-डिकोड-एक्झिक्युट सायकल: प्रक्रियेचे सार
फेच-डिकोड-एक्झिक्युट सायकल हा सतत चालणारा क्रम आहे प्रोग्राममधील प्रत्येक सूचनांवर CPU प्रक्रिया करते ते टप्पे. संगणक चालू असताना, तो चालू केल्यापासून तो बंद करेपर्यंत, ही पद्धत वारंवार वापरली जाते. ही प्रक्रिया इतकी मूलभूत आहे की ती इतकी आवश्यक आहे की, त्याशिवाय कोणतेही सॉफ्टवेअर प्रभावीपणे काम करू शकत नाही.
हे चक्र इतके महत्त्वाचे का आहे? कारण हे सॉफ्टवेअर सूचनांचे (जे गणितीय ऑपरेशन्स, मेमरी अॅक्सेस, जंप किंवा डेटा मॅनिपुलेशन असू शकतात) हार्डवेअर स्तरावर प्रत्यक्ष कृतींमध्ये रूपांतर करण्यासाठी जबाबदार आहे. या संरचित प्रक्रियेशिवाय, RAM मध्ये साठवलेली माहिती परिणामांमध्ये रूपांतरित होऊ शकत नव्हती किंवा स्क्रीनवर प्रदर्शित होऊ शकत नव्हती.
एक मूलभूत आढावा: चक्राच्या प्रत्येक टप्प्यावर काय होते?
क्रम खालीलप्रमाणे रचलेला आहे:
- आणा: सीपीयू मुख्य मेमरी (सामान्यतः रॅम) मधून कार्यान्वित करण्यासाठी पुढील सूचना शोधतो आणि पुनर्प्राप्त करतो.
- डीकोड करा: नवीन आणलेल्या सूचनांचे CPU द्वारे 'भाषांतर' केले जाते जेणेकरून नेमके कोणते ऑपरेशन करायचे आहे आणि त्यासाठी कोणत्या संसाधनांची आवश्यकता आहे हे निश्चित केले जाऊ शकते.
- कार्यान्वित करा: CPU सूचनांद्वारे विनंती केलेली क्रिया करतो, मग ती गणितीय क्रिया असो, मेमरी अॅक्सेस असो, प्रोग्राम फ्लोमध्ये उडी असो किंवा इतर कोणतेही कार्य असो.
या प्रत्येक टप्प्याची स्वतःची जटिलता आहे आणि ती प्रोसेसरच्या वेगवेगळ्या अंतर्गत घटकांद्वारे व्यवस्थापित केली जाते. चला प्रत्येक टप्प्यावर तपशीलवार नजर टाकूया.
पहिला टप्पा: मिळवणे - सूचना मिळवणे
हे सर्व मेमरीमध्ये पुढील सूचना शोधण्याच्या गरजेपासून सुरू होते. येथेच अनेक अंतर्गत CPU रजिस्टर्स काम करतात, प्रत्येकाचे एक विशिष्ट कार्य असते:
- प्रोग्राम काउंटर (पीसी): हे रजिस्टर आहे जे पुढील अंमलात आणायच्या सूचनांचा मेमरी पत्ता दर्शवते. प्रत्येक चक्रानंतर, त्याचे मूल्य पुढील सूचनांकडे निर्देशित करण्यासाठी वाढवले जाते, जोपर्यंत अंमलबजावणी दुसऱ्या पत्त्यावर उडी मारली जात नाही.
- मेमरी अॅड्रेस रजिस्टर (MAR): प्रोग्राम काउंटरचे मूल्य घेते आणि RAM मधील सूचनांमध्ये प्रवेश मिळविण्यासाठी त्याचा वापर करते.
- मेमरी डेटा रजिस्टर (MDR): एकदा सूचना RAM मध्ये स्थित झाल्यानंतर, MDR तात्पुरते त्यातील सामग्री प्रोसेसरमध्ये हस्तांतरित करते.
- सूचना नोंदणी (IR): हा फेच टप्प्याचा शेवटचा टप्पा आहे. मेमरीमधून मिळवलेली सूचना येथे साठवली जाते, ज्यामुळे ती विश्लेषण आणि डीकोड करण्यासाठी तयार राहते.
ही आणण्याची प्रक्रिया सुनिश्चित करते की CPU ला नेहमीच योग्य वेळी योग्य सूचना उपलब्ध असतात जेणेकरून ते कार्यक्षमतेने आणि व्यवस्थितपणे काम करू शकेल. जरी ही एक लांब प्रक्रिया वाटत असली तरी, वास्तविकता अशी आहे की ती फक्त काही नॅनोसेकंदांमध्ये घडते आणि आधुनिक प्रोसेसरवर प्रति सेकंद लाखो किंवा अब्जावधी वेळा पुनरावृत्ती होते.
एकदा सूचना मिळवल्यानंतर, सीपीयूमध्ये घडणाऱ्या प्रत्येक गोष्टीचे समन्वय साधण्यासाठी नियंत्रण युनिट जबाबदार असते. नियंत्रण युनिट हे अंतर्गत ऑपरेशन्सचे चालक असल्याचे म्हटले जाऊ शकते, जे प्रत्येक कार्य योग्य वेळी योग्य उपयुनिटला सोपवते. त्याची प्रमुख कार्ये अशी आहेत:
नियंत्रण युनिट केवळ अंमलबजावणीचा क्रम आणि प्रवाहच ठरवत नाही तर संघर्ष सोडवते आणि सर्वकाही समन्वित पद्धतीने कार्य करते याची खात्री करते., कामगिरी ऑप्टिमाइझ करणे आणि चुका टाळणे.
स्टेज २: डिकोड करणे - सूचना डिकोड करणे
एकदा सूचना योग्य रजिस्टरमध्ये आल्या की, वेळ आली आहे की त्या बायनरी कोडचे हार्डवेअरला समजेल अशा कृतींमध्ये रूपांतर करा. डीकोडिंग प्रक्रियेद्वारे ते कोणत्या प्रकारचे सूचना आहे आणि प्रोसेसरच्या कोणत्या भागात पाठवायचे हे शोधले जाते. येथेच प्रसिद्ध ऑपकोड किंवा ऑपरेशन कोड कामात येतात, जे सीपीयूला बेरीज, वजाबाकी, डेटा हलवणे, प्रोग्रामच्या दुसऱ्या भागात जाणे इत्यादी गोष्टी सांगतात.
डीकोडर सूचनांना भागांमध्ये विभाजित करतो - सहसा एक ऑपरेशनसाठी आणि दुसरा डेटा किंवा पत्त्यासाठी - आणि ते अंमलात आणण्यासाठी कोणत्या अंतर्गत संसाधनांची आवश्यकता असेल हे ठरवतो. उदाहरणार्थ, जर सूचना एक जोड असेल, तर ते डेटा अंकगणित लॉजिक युनिटला पाठवेल. जर ती एक उडी असेल, तर ते प्रोग्राम काउंटरमध्ये बदल करेल. या टप्प्याचे योग्य कार्य करणे आवश्यक आहे, कारण डीकोडिंग त्रुटीमुळे प्रोग्राम बिघाडापासून ते सिस्टम क्रॅशपर्यंत काहीही होऊ शकते.
CPU डीकोड आणि अंमलात आणू शकणाऱ्या सूचनांचे प्रकार:
- मेमरी सूचना: ते रॅममध्ये डेटा वाचण्याचा किंवा लिहिण्याचा क्रम देतात.
- अंकगणित सूचना: ते बेरीज, वजाबाकी, आणि, ओआर इत्यादी मूलभूत गणितीय आणि तार्किक क्रिया करतात.
- उडी सूचना: ते प्रोग्रामच्या अनुक्रमिक प्रवाहात बदल करतात, ज्यामुळे लूप आणि कंडिशनल जंप होतात.
- बिट हालचाली सूचना: ते रेकॉर्ड किंवा डेटामधील बिट्सचा क्रम किंवा मूल्य हाताळतात.
तिसरा टप्पा: अंमलबजावणी - सूचनांची अंमलबजावणी
येथेच CPU डीकोड केलेल्या सूचना कार्यान्वित करतो आणि संबंधित क्रिया करतो. अंमलबजावणीमध्ये दोन संख्या जोडणे, मूल्यांची तुलना करणे, जटिल फ्लोटिंग-पॉइंट ऑपरेशन्स करणे, मेमरी अॅक्सेस नियंत्रित करणे किंवा CPU च्या अंतर्गत रजिस्टर्समध्ये थेट बदल करणे समाविष्ट असू शकते. निकाल सूचनांद्वारे निर्दिष्ट केलेल्या ठिकाणी संग्रहित केला जातो: एक अंतर्गत रजिस्टर, मेमरी पत्ता किंवा अगदी दुसऱ्या परिधीयला आउटपुट सिग्नल.
या टप्प्यात, ALU (अंकगणितीय तर्कशास्त्र युनिट) सहसा नायक असतो, जरी सूचनांच्या प्रकारानुसार इतर कार्यात्मक युनिट्स देखील यात सामील आहेत. ऑपरेशनची जटिलता आणि CPU आर्किटेक्चरनुसार अंमलबजावणीचा वेळ बदलू शकतो, जरी सध्याच्या प्रोसेसरमध्ये, अंतर्गत पाइपलाइनमुळे एकाच घड्याळाच्या चक्रात अनेक सूचना सोडवल्या जाऊ शकतात, ज्यामुळे एकाच वेळी अंमलबजावणीच्या वेगवेगळ्या टप्प्यात अनेक सूचना असू शकतात.
पाइपलाइनिंग: फेच-डीकोड-एक्झिक्युट सायकल ऑप्टिमायझ करणे
पाईपलाईनिंग म्हणून ओळखल्या जाणाऱ्या सेगमेंटेशन तंत्राला, सूचना चक्राला स्वतंत्र टप्प्यांमध्ये विभागते जे समांतर प्रक्रिया केले जातात. याचा अर्थ असा की एक सूचना मिळवली जात असताना, दुसरी डीकोड केली जात असेल आणि तिसरी आधीच कार्यान्वित होत असेल. परिणामी, घड्याळाची गती किंवा CPU च्या कार्यात्मक युनिट्सची संख्या न वाढवता कार्यक्षमतेत मोठी वाढ होते.
प्रत्येक सेगमेंटेशन स्टेज पुढील टप्प्यात जाण्यापूर्वी तात्पुरते निकाल साठवण्यासाठी इंटरमीडिएट रजिस्टर्स वापरतो. ही रचना एक नवीन जटिलता आणते - संघर्ष टाळते आणि डेटा नेहमी कुठे आणि केव्हा आवश्यक असेल ते सुनिश्चित करते - परंतु निःसंशयपणे 80 च्या दशकापासून प्रोसेसर कार्यक्षमतेतील सर्वात महत्त्वपूर्ण प्रगतींपैकी एक आहे.
फेच-डीकोड-एक्झिक्युट सायकलच्या गती आणि कार्यक्षमतेवर परिणाम करणारे घटक
संगणक प्रणालीची कार्यक्षमता मोठ्या प्रमाणात यावर अवलंबून असते CPU ज्या वेगाने सूचना चक्र पूर्ण करू शकतो. घड्याळाची वारंवारता जितकी जास्त असेल आणि वेळेच्या प्रत्येक युनिटमध्ये ते जितक्या जास्त सूचना अंमलात आणू शकेल तितके वापरकर्त्याने पाहिलेले कार्यप्रदर्शन जास्त असेल.
तथापि, असे काही घटक आहेत जे सायकलच्या कामगिरीवर मर्यादा घालू शकतात:
- स्मृती पदानुक्रम: सीपीयू आणि रॅममधील वेगातील फरकांमुळे अडथळे निर्माण होऊ शकतात. जर सीपीयूला मेमरीमधून डेटा मिळविण्यासाठी जास्त वेळ वाट पहावी लागली तर त्याची कार्यक्षमता गंभीरपणे प्रभावित होते.
- सूचना ऑप्टिमायझेशन: सूचना संचाचे (तथाकथित ISA किंवा सूचना संच आर्किटेक्चर) चांगले नियोजन आणि संघटन यामुळे कमी सूचनांसह आणि कमी संसाधनांचा वापर करून अनेक कार्ये करता येतात.
- अंतर्गत संघर्ष: जेव्हा एकाच वेळी अनेक सूचनांसाठी समान अंतर्गत संसाधनांची आवश्यकता असते, तेव्हा त्रुटी किंवा क्रॅश टाळण्यासाठी CPU ला टक्कर व्यवस्थापित करणे आवश्यक असते.
फेच-डीकोड-एक्झिक्युट सायकल लागू केली जाते. जुन्या ८-बिट प्रोसेसरमध्ये आणि सर्वात प्रगत नवीनतम पिढीच्या प्रोसेसरमध्ये. जरी सार सारखाच राहिला तरी, आर्किटेक्चर्स प्रत्येक टप्प्याची अंमलबजावणी कशी करतात यामध्ये बदलू शकतात.
या फरक असूनही, माहितीचा मूलभूत प्रवाह नेहमीच मूलभूत क्रमाचे अनुसरण करतो: कॅप्चर करणे, डीकोड करणे आणि अंमलात आणणे.प्रत्येक आर्किटेक्चरचे परिष्करण आणि वैशिष्ट्ये केवळ प्रत्येक डिव्हाइस आणि ऑपरेटिंग सिस्टमच्या गरजा पूर्ण करण्यासाठी ही प्रक्रिया ऑप्टिमाइझ करण्याचा प्रयत्न करतात.
एकूण कामगिरीवर फेच-डीकोड-एक्झिक्युट सायकलचा प्रभाव
सूचना चक्र जलदपणे कार्यान्वित करण्यास सक्षम CPU म्हणजे कोणत्याही संगणकीय कार्यासाठी थेट सुधारणा: वेबसाइट उघडण्यापासून, फोटो संपादित करण्यापासून, गुंतागुंतीच्या ऑपरेशन्सची गणना करण्यापासून किंवा व्हिडिओ गेम चालवण्यापासून. ही प्रक्रिया जितकी अधिक कार्यक्षम असेल तितका प्रतिसाद वेळ कमी असेल आणि सिस्टमची मल्टीटास्किंग क्षमता जास्त असेल.
तथापि, अडथळ्यांमुळे सायकलचा वेग मर्यादित असू शकतो. मंद मेमरीमध्ये प्रवेश करणे, खूप जास्त परस्परविरोधी सूचना असणे किंवा हार्डवेअर समांतरतेचा फायदा न घेणे. म्हणूनच, हार्डवेअर अभियंते आणि सॉफ्टवेअर डेव्हलपर्स दोघेही उपकरणांचा जास्तीत जास्त फायदा घेण्यासाठी सायकलच्या प्रत्येक भागाचे ऑप्टिमाइझ करण्याचा प्रयत्न करतात.
फेच-डिकोड-एक्झिक्युट सायकल, निःसंशयपणे, सर्व आधुनिक संगणन ज्या आधारस्तंभावर आधारित आहे. ४० वर्षांपूर्वीच्या साध्या ८-बिट संगणकापासून ते आज बाजारात असलेल्या सर्वात शक्तिशाली प्रोसेसरपर्यंत, सर्वजण या मूलभूत चक्राचे पालन करतात. सीपीयू सूचनांसाठी मेमरी कशी शोधते, त्यांचे अचूक विश्लेषण कसे करते आणि नॅनोसेकंदांच्या बाबतीत प्रत्येक सूचना कशी अंमलात आणते हे समजून घेतल्याने आपल्याला हार्डवेअरच्या मर्यादा आणि अविश्वसनीय शक्यता दोन्ही समजतात.