इलेक्ट्रॉनिक स्विचिंग तकनीक, मेमोरी तथा प्रोग्रामिंग भाषाओं के आधार पर कंप्यूटर के विकास को पांच प्रमुख पीढ़ियों में वर्गीकृत किया गया है:
| पीढ़ी | प्रमुख हार्डवेयर तकनीक | मेमोरी / स्टोरेज | प्रयुक्त भाषाएं | विशिष्ट उदाहरण |
|---|---|---|---|---|
| प्रथम पीढ़ी (1940-1956) | वैक्यूम ट्यूब (थर्मायोनिक वाल्व) | चुंबकीय ड्रम, एकॉस्टिक डिले लाइन्स | मशीन भाषा (शुद्ध बाइनरी 0/1) | ENIAC, EDVAC, UNIVAC-I |
| द्वितीय पीढ़ी (1956-1963) | ट्रांजिस्टर (द्विध्रुवी जंक्शन ट्रांजिस्टर) | चुंबकीय कोर मेमोरी, चुंबकीय टेप | असेंबली भाषा, प्रारंभिक HLL (FORTRAN, COBOL) | IBM 1401, CDC 1604 |
| तृतीय पीढ़ी (1964-1971) | एकीकृत परिपथ (IC - SSI एवं MSI) | चुंबकीय कोर, प्रारंभिक अर्धचालक रैम | उच्चस्तरीय भाषाएं (BASIC, Pascal, C) | IBM System/360, PDP-8 |
| चतुर्थ पीढ़ी (1971-वर्तमान) | माइक्रोप्रोसेसर (VLSI एवं ULSI चिप्स) | अर्धचालक DRAM, SRAM, Flash SSD, HDD | आधुनिक भाषाएं (C++, Java, Python), GUI OS | Intel x86, पर्सनल कंप्यूटर, Mac |
| पंचम पीढ़ी (वर्तमान एवं भविष्य) | अल्ट्रा लार्ज स्केल इंटीग्रेशन (ULSI), एआई | हाई-बैंडविड्थ 3D स्टैक्ड रैम (HBM), क्लाउड | आर्टिफिशियल इंटेलिजेंस, समानांतर कंप्यूटिंग | सुपरकंप्यूटर, टीपीयू/जीपीयू क्लस्टर, क्वांटम |
सन् 1945 में प्रख्यात गणितज्ञ जॉन वॉन न्यूमैन ने यह ऐतिहासिक विचार प्रस्तुत किया कि प्रोग्राम के निर्देश एवं डेटा दोनों एक ही साझा, पते-योग्य भौतिक मेमोरी स्पेस में संग्रहीत रहेंगे। इससे पूर्व गणना बदलने हेतु तारों को भौतिक रूप से पुनर्संयोजित करना पड़ता था।
वॉन न्यूमैन मॉडल के तीन मुख्य अंग हैं:
- सेंट्रल प्रोसेसिंग यूनिट (CPU): जो निर्देशों का निष्पादन करती है एवं पूरे सिस्टम का नियंत्रण करती है।
- मुख्य मेमोरी यूनिट (Main Memory): जहां क्रमिक पतों पर निर्देश एवं डेटा सुरक्षित रहते हैं।
- इनपुट/आउटपुट (I/O) उपप्रणाली: जो उपयोगकर्ता एवं बाह्य उपकरणों से संपर्क स्थापित करती है।
सीपीयू में दो प्रमुख कार्यकारी इकाइयां तथा तीव्र गति के आंतरिक रजिस्टर्स होते हैं:
- अंकगणितीय तार्किक इकाई (ALU): समस्त गणितीय गणनाएं (जोड़, घटाव, गुणा, भाग) तथा तार्किक निर्णय (AND, OR, NOT, XOR, तुलनाएं) करती है। ALU के साथ एक फ्लैग्स/स्थिति रजिस्टर जुड़ा होता है, जिसमें ज़ीरो फ्लैग (Z), कैरी फ्लैग (C), साइन फ्लैग (S) एवं ओवरफ्लो फ्लैग (V) होते हैं।
- नियंत्रण इकाई (Control Unit - CU): कंप्यूटर के निर्देशक (कंडक्टर) की भांति कार्य करती है। यह मेमोरी से निर्देश लाती है, उसे डिकोड करती है तथा आवश्यक नियंत्रण व टाइमिंग सिग्नल्स उत्पन्न करती है।
- सीपीयू आंतरिक रजिस्टर्स: प्रोसेसर के अत्यंत तीव्र आंतरिक मेमोरी कक्ष:
- प्रोग्राम काउंटर (PC): निष्पादित किए जाने वाले अगले निर्देश का मेमोरी पता सुरक्षित रखता है। प्रत्येक फेच के बाद इसका मान स्वतः बढ़ जाता है।
- मेमोरी एड्रेस रजिस्टर (MAR): मेमोरी के उस विशिष्ट पते को रखता है जहां से डेटा पढ़ना (Read) या लिखना (Write) है।
- मेमोरी डेटा रजिस्टर (MDR) / बफर (MBR): मेमोरी से पढ़े गए अथवा मेमोरी में लिखे जाने वाले डेटा को अस्थायी रूप से रखता है।
- निर्देश रजिस्टर (IR): वर्तमान में डिकोड एवं निष्पादित किए जा रहे निर्देश को धारण करता है।
- एक्यूमुलेटर (ACC): ALU द्वारा किए गए गणितीय व तार्किक कार्यों के अंतरिम परिणामों को संग्रहीत करने वाला मुख्य रजिस्टर।
सीपीयू का कार्य निरंतर चार चरणों के चक्र में चलता है:
- फेच (Fetch): PC का पता MAR में भेजा जाता है। CU मेमोरी रीड सिग्नल देता है। डेटा बस के माध्यम से निर्देश MDR में और वहां से IR में आता है। साथ ही PC का मान बढ़ जाता है ($PC \leftarrow PC + 1$)।
- डिकोड (Decode): IR में उपस्थित निर्देश के ऑपकोड (Opcode) का विश्लेषण CU द्वारा किया जाता है।
- निष्पादन (Execute): आवश्यक ऑपरेंड्स प्राप्त कर ALU द्वारा संबंधित गणितीय या तार्किक कार्य संपन्न किया जाता है।
- संचयन (Store / Write-back): प्राप्त परिणाम को एक्यूमुलेटर अथवा निर्दिष्ट मेमोरी पते पर सुरक्षित कर दिया जाता है।
सीपीयू, मेमोरी एवं बाह्य उपकरणों के मध्य विद्युत संकेतों के आवागमन हेतु तारों के समूह को सिस्टम बस कहते हैं:
- डेटा बस (Data Bus): यह एक द्वि-दिशीय (Bidirectional) बस है, जिसके माध्यम से वास्तविक डेटा व निर्देश सीपीयू और मेमोरी के बीच प्रवाहित होते हैं। इसकी चौड़ाई (जैसे 32-बिट, 64-बिट) प्रोसेसर की शब्द-लंबाई (Word Length) निर्धारित करती है।
- एड्रेस बस (Address Bus): यह एक एक-दिशीय (Unidirectional) बस है। सीपीयू मेमोरी लोकेशन को इंगित करने हेतु इस पर पता भेजता है। यदि एड्रेस बस में $k$ तारें हों, तो अधिकतम $2^k$ मेमोरी लोकेशन्स (बाइट्स) को संबोधित किया जा सकता है (जैसे 32-बिट बस = $2^{32} = 4\text{ GB}$ रैम)।
- कंट्रोल बस (Control Bus): विभिन्न नियंत्रण एवं टाइमिंग सिग्नल्स (जैसे Memory Read, Memory Write, I/O Read, I/O Write, Interrupt, Reset) ले जाती है।