kd Mumbai

कम्प्युटर चालतो तरी कसा?

कम्प्युटरमध्ये या बसेस, एएलयू, मेमरी वगैरे गोष्टी कशा बनवतात? यासाठी अॅंड, ऑर आणि नॉट अशी वेगवेगळी गेटस् वापरतात. आपल्याला माहिती आहे की कम्प्युटरमध्ये सगळ्या गोष्टी शून्य आणि एकच्या (बिट्सच्या) मदतीनं चालतात. मग ही बिट्स या गेटस्ना इनपुट म्हणून पुरवली की त्या गेटप्रमाणे बाहेर येणारं (आऊटपुट) बिट बदलतं.

पूर्वी कंपन्यांमध्ये पगारपत्रिका कशा तयार करायचे? यासाठी कर्मचा-यांची एक फाइल असायची. ( एम्प्लॉयी फाइल).

प्रत्येक कर्मचा-याची माहिती त्या बॉक्स फाइलच्या एका कागदावर लिहिलेली असायची. (एम्प्लॉयी रेकॉर्ड). या रेकॉर्डमध्ये त्या कर्मचाऱ्याविषयी नाव, गाव, पत्ता, त्याच्या पगाराचा दर, हजर असलेले दिवस वगैरे अशी बरीच माहिती (डेटा आयटेम/फील्ड) असायची. हे फील्ड लिहिताना ए, इ, झेड किंवा शून्य ते नऊ अशा अक्षरांचा किंवा आकड्यांचा वापर करायचे. याला आपण 'चिन्ह' किंवा 'कॅरॅक्टर' म्हणतो.

आता पगारपत्रिका तयार करताना तो ऑफिसर काय करायचा? तर त्याच्याकडे असलेल्या कर्मचारी, विक्री, खरेदी, कर - - अशांसाठी असलेल्या अनेक फाइल्समधून तो प्रथम कर्मचाऱ्यांची फाइल काढायचा. त्यानंतर तो पगारपत्रिका बनवण्यासाठी एक सूचनावली पाळायचा. ती खाली दिलीय.

१. सुरूवात करा (स्टार्ट).

२. कर्मचा-यांची फाइल उघडा.

३. कर्मचा-यांचं शेवटचं रेकॉर्ड येईपर्यंत खालच्या सूचना पाळा.

४. कर्मचा-यांचं रेकॉर्ड वाचा.

५. त्याचा पगार दर ३ हजेरीचे दिवस = ग्रॉस पगार काढा.

६. त्यातून १० टक्के पी.एफ. आणि २० टक्के आयकर वजा करा, आणि नेट पगार काढा.

७. त्याचं नाव, पत्ता, ग्रॉस पगार, पी.एफ., आयकर आणि नेट पगार वेगळ्या पगारपत्रिकेवर लिहा.

८. शेवटचं रेकॉर्ड झाल्यावर फाइल बंद करा.

९. थांबा (स्टॉप).

इथे तो ऑफिसर त्या कर्मचा-याचं प्रत्येक रेकॉर्ड वाचायचा. म्हणजे ते रेकॉर्ड उघडून त्याकडे बघायचा.

नंतर कॅलक्युलेटर घेऊन त्यातली आकडेमोड करायचा, आणि मग त्या रेकॉर्डमधल्या काही गोष्टी (नाव - - ) आणि आकडेमोडीनं मिळवलेल्या गोष्टी (पी.एफ., आयकर, ग्रॉस नेट पगार - -) या वेगळ्या पगारपत्रिकेवर लिहून पान उलटून पुढच्या कर्मचाऱ्याकडे वळायचा. आणि असं तो फाइलमधली सगळी रेकॉर्डज् संपेपर्यंत करायचा.

आता हेच कम्प्युटरवर करायचं झालं तर काय करावं लागेल? आपल्याला आश्चर्य वाटेल की त्यासाठी लागणारी प्रक्रिया या हुबेहूब वर सांगितल्याप्रमाणेच आहे. फक्त कर्मचा-यांची माहिती आता आपण हार्डडिस्कवर ठेवलेली असेल. कम्प्युटरच्या मेमरीत, डिस्कवर किंवा सीडीवर प्रत्येक अक्षर किंवा आकड्यासाठी एक बाइट लागतो. आणि हा प्रत्येक बाइट हा ८ बिट्सचा बनलेला असतो - हे आपण पाहिलेलंच आहे. एकूण काय, फाइलमध्ये अनेक रेकॉर्डज्, रेकॉर्डमध्ये अनेक फील्डज्, फील्डमध्ये अनेक कॅरॅक्टर्स आणि कॅरॅक्टर्स साठवलेल्या बाइट्मध्ये अनेक बिट्स अशी उतरंड असते. पूर्वी कम्प्युटर नसायचा तेव्हा ही कर्मचा-यांची फाइल हस्ताक्षरानंच लिहिली जायची.

आता विंडोज किंवा लिनक्सला सूचना देऊन आपण कर्मचाऱ्याची फाइल प्रथम शोधू आणि ही सूचनावली असलेला प्रोग्रॅम आपण 'रन' करू. हा प्रोग्रॅम आपण जावा, सी, सी प्लस प्लस अशा अनेक भाषांत लिहू शकतो. तो प्रोग्रॅम मग डिस्कवरून प्रत्येक कर्मचाऱ्याचं रेकॉर्ड मेमरीत वाचेल. त्यानंतर त्यातले पगाराचे आणि हजेरी दिवसांचे आकडे वाचून त्यावर आकडेमोड करेल आणि मग योग्य ती माहिती वापरून प्रिंटरला पगारपत्रिका छापण्याची सूचना देईल, आणि मग पुढच्या रेकॉर्डकडे वळेल. आणि असं सगळी रेकॉर्डज् संपेपर्यंत करेल. या सगळ्या भाषांत आपल्याला चार तऱ्हेच्या सूचना लागतात. एक म्हणजे आरंभ आणि शेवट (उदा. स्टार्ट, स्टॉप). दुसरी म्हणजे आकडेमोड करणं, तिसरी म्हणजे निर्णय घेणं. यासाठी जर-तरची भाषा वापरतात. (जर पगार १००० रू.च्या वर असेल तर - - किंवा जर सगळी रेकॉर्डज् वाचून झाली असली तर - -) आणि चौथी म्हणजे इनपुट-आऊटपुट (रेकॉर्ड डिस्कवरून वाचणं आणि पगारपत्रिका प्रिंटरवर छापणं - -).

आता ही जी आकडेमोड असते ती करण्यासाठी अॅडर आणि तत्सम बरीच गुंतागुंतीची सकिर्ट्स लागतात. त्यामुळे जेव्हा कुठलंही रेकॉर्ड डिस्कवरून मेमरीत वाचतात, तेव्हा त्यातले आकडे हे मेमरीतून अॅरिथमेटिक आणि लॉजिकल युनिट (एएलयू)कडे नेतात. या एएलयूमध्ये ही सकिर्ट्स असतात. तिथे ही आकडेमोड होऊन त्याची उत्तरं पुन्हा मेमरीत येतात. मगच ती छापली जातात. या मेमरीतून एएलयू किंवा पुन्हा एएलयूकडून मेमरीत ही माहिती पाठवण्यासाठीच 'डेटा बस' म्हणून एक तार असते.

आता कम्प्युटरमध्ये या बसेस, एएलयू, मेमरी वगैरे गोष्टी कशा बनवतात? यासाठी अॅंड, ऑर आणि नॉट अशी वेगवेगळी गेटस् वापरतात. आपल्याला माहिती आहे की कम्प्युटरमध्ये सगळ्या गोष्टी शून्य आणि एकच्या (बिट्सच्या) मदतीनं चालतात. मग ही बिट्स या गेटस्ना इनपुट म्हणून पुरवली की त्या गेटप्रमाणे बाहेर येणारं (आऊटपुट) बिट बदलतं. उदाहरणार्थ अॅंड गेटमधले दोन्ही इनपुट बिटस् हे एक असतील तरच आऊटपुट बिट हा एक असतो. नाहीतर तो शून्य असतो. ऑरमध्ये जर याउलट दोन्ही बिट्स शून्य असतील तरच आऊटपुट बिट शून्य असतो. नाहीतर तो एक असतो. नॉट गेट आडमुठा असतो. इनपुटच्या उलटंच आऊटपुट बनवतो. इनपुट शून्य तर आऊटपुट एक आणि इनपुट एक असेल तर आऊटपुट शून्य. आता ही गेटस् एकमेकांशी गुंतागुंतीनं जोडली की कम्प्युटरचे अॅडर, डीकोडर, मेमरी असे वेगवेगळे भाग बनतात. उदाहरणार्थ मेमरीच्या एका बाइटसाठी अनेक गेटस् लागतात. आता गंमत ही की, ही गेटस् पुन्हा ट्रान्झिस्टर या बेसिक गोष्टीपासून बनलेली असतात. हे ट्रान्झिस्टर हे आपल्या स्विचसारखंच असतं. कुठल्याही गेटसाठी एक किंवा अनेक ट्रान्झिस्टर्स लागतात. एका कम्प्युटरला तर

प्रचंड मोठ्या संख्येनं ट्रान्झिस्टर्स लागतात. कम्प्युटर म्हटला की त्यात सीपीयू किंवा प्रोसेसर म्हणजेच कम्प्युटरचा मेंदू (एएलयू - -) मेमरी, इनपुट-आऊटपुटची उपकरणं (डिस्क, प्रिंटर - -) वगैरे सगळं आलंच. हे सगळे वेगवेगळ्या बसेसनी एकमेकांना जोडलेले असतात. १९९३ साली जेव्हा पेंटियम प्रोसेसर बाजारात आला तेव्हा त्यात तीस लाख ट्रान्झिस्टर्स होते. २००० साली एका चिपवर दहा कोटी ट्रान्झिस्टर्स मावायला लागले! अनेक ट्रान्झिस्टर्सचं एक गेट, अनेक गेटस्चा एक इलेक्ट्रॉनिक कॉम्पोनंट ( मेमरी, अॅडर, - -) आणि अशा अनेक कॉम्पोनंट्सना जोडून कम्प्युटर बनतो.

कोणत्याही टिप्पण्‍या नाहीत: