संचायक (कंप्यूटिंग)

From alpha
Jump to navigation Jump to search
वाल्थर WSR-16 यांत्रिक कैलकुलेटर कैरिज में डिजिट-व्हील्स की पंक्ति एक्युमुलेटर है।

कंप्यूटर की सेंट्रल प्रोसेसिंग यूनिट में, एक्युमुलेटर प्रोसेसर रजिस्टर होता है जिसमें इंटरमीडिएट अरिथमेटिक लॉजिक यूनिट के रिजल्ट्स स्टोर होते हैं।

एक्युमुलेटर जैसे रजिस्टर के अतिरिक्त, प्रत्येक कैलकुलेशन (एडिशन, मल्टिप्लिकेशन, शिफ्ट, आदि) के रिजल्ट्स को मेन मेमोरी में लिखना आवश्यक होगा, संभवतः नेक्स्ट ऑपरेशन में जिसे केवल पुनः रीड करने के लिए उपयोग किया जाता है।

एक्युमुलेटर के जैसे रजिस्टर की अपेक्षा में मेन मेमोरी एक्सेस स्लो होता है क्योंकि मेन मेमोरी के लिए उपयोग की जाने वाली टेक्नोलॉजी रजिस्टर की अपेक्षा में स्लो होती है। प्रारंभिक इलेक्ट्रॉनिक कंप्यूटर सिस्टम प्रायः दो समूहों एक्युमुलेटर एवं बिना एक्युमुलेटर में विभाजित होते थे।

आधुनिक कंप्यूटर सिस्टम में प्रायः अनेक जनरल-पर्पस रजिस्टर होते हैं जो एक्युमुलेटर के रूप में कार्य कर सकते हैं, एवं यह शब्द अब उतना सामान्य नहीं है। चूँकि उनके डिजाइन को सरल बनाने के लिए, अनेक स्पेशल-पर्पस प्रोसेसर अभी भी एक्युमुलेटर का उपयोग करते हैं।

मूल अवधारणा

गगणितीय संक्रियाएं प्रायः चरणबद्ध रूप में होती हैं, संक्रिया के परिणामों को दूसरे के इनपुट के रूप में उपयोग करते हैं। उदाहरण के लिए, किसी कर्मचारी के साप्ताहिक पेरोल की मैन्युअल गणना कुछ इस प्रकार दिख सकती है:

  1. कर्मचारी के टाइम कार्ड से कार्य किए गए घंटों की संख्या को देख सकते हैं |
  2. तालिका से उस कर्मचारी के वेतन की दर देख सकते हैं |
  3. अपना मूल साप्ताहिक वेतन प्राप्त करने के लिए वेतन दर से घंटे गुणा कर सकते हैं |
  4. आयकर के खाते में उनके मूल वेतन को निश्चित प्रतिशत से गुणा किया जा सकता हैं |
  5. कर के पश्चात उनका साप्ताहिक वेतन प्राप्त करने के लिए उस संख्या को उनके मूल वेतन से घटाया जा सकता हैं |
  6. सेवानिवृत्ति योजनाओं के खाते में उस परिणाम को निश्चित प्रतिशत से गुणा कर सकते हैं |
  7. अल्पता के पश्चात अपना साप्ताहिक वेतन प्राप्त करने के लिए उस संख्या को उनके मूल वेतन से घटा सकते हैं |

समान कार्य करने वाला कंप्यूटर प्रोग्राम संचालन के समान मूल अनुक्रम का पालन कर सकता हैं, चूँकि जिन मूल्यों को देखा जा रहा है, वे सभी कंप्यूटर मेमोरी में संग्रहीत होंगे। प्रारंभिक कंप्यूटरों में, घंटों की संख्या संभवतः पंच कार्ड एवं भुगतान दर, संभवतः चुंबकीय ड्रम में होगी। गुणा पूर्ण होने के पश्चात, परिणाम को कहीं रखा जाना चाहिए। ड्रम मशीन पर यह संभवतः पुनः आ जाएगा, ऑपरेशन जिसमें अधिक समय लगता है। तत्पश्चात अग्रिम ही ऑपरेशन में उस मान को पुनः रीड करना होता है, जो अधिक विलंभता का परिचय देता है।

एक्युमुलेटर नाटकीय रूप में इस प्रकार के सिस्टम में स्क्रैचपैड क्षेत्र प्रदान करके प्रदर्शन में सुधार करते हैं जहां ऑपरेशन के परिणाम कम या बिना किसी प्रदर्शन दंड के अग्रिम ऑपरेशन के लिए फीड किए जा सकते हैं। ऊपर दिए गए उदाहरण में, मूल साप्ताहिक वेतन की गणना की जाएगी एवं एक्युमुलेटर के रूप में रखा जाएगा, जिसका आयकर गणना द्वारा उपयोग किया जा सकता है। यह अनुक्रम सेव एवं रीड ऑपरेशन को विस्थापित कर देता है, ऐसे ऑपरेशन जो सामान्यतः गुणा के रूप में दसियों से सैकड़ों गुना अधिक समय लेते हैं।

एक्युमुलेटर मशीनें

एक्युमुलेटर मशीन, जिसे 1-ऑपरेंड मशीन भी कहा जाता है, या 'एक्युमुलेटर-आधारित आर्किटेक्चर', प्रकार का सीपीयू है, चूँकि इसमें अनेक रजिस्टर हो सकते हैं, सीपीयू अत्यधिक विशेष रजिस्टर में गणना के परिणामों को संग्रहीत करता है, जिसे सामान्यतः एक्युमुलेटर कहा जाता है। लगभग प्रारम्भ में कंप्यूटर एक्युमुलेटर मशीन थी जिनमें केवल उच्च-प्रदर्शन वाले सुपर कंप्यूटर होते थे, जिनमें अनेक रजिस्टर होते थे। फिर जब मेनफ़्रेम कंप्यूटर सिस्टम ने माइक्रो कंप्यूटर को मार्ग दिया, एक्युमुलेटर आर्किटेक्चर एमओएस प्रौद्योगिकी 6502 के साथ उल्लेखनीय उदाहरण के रूप में पुनः लोकप्रिय हो गए। कई 8-बिट माइक्रोकंट्रोलर जो 2014 तक लोकप्रिय थे, जैसे कि पिकमिक्रो एवं इंटेल 8051, एक्युमुलेटर-आधारित मशीनें हैं।

आधुनिक सीपीयू सामान्यतः 2 या 3-ऑपरेंड मशीन होती हैं। अतिरिक्त ऑपरेंड निर्दिष्ट करते हैं कि कौन से अनेक सामान्य प्रयोजन रजिस्टरों (जिन्हें सामान्य प्रयोजन एक्युमुलेटर भी कहा जाता है[1]) का उपयोग गणना के लिए स्रोत एवं गंतव्य के रूप में किया जाता है। इन सीपीयू को "संचयक मशीन" नहीं माना जाता है।

विशेषता जो रजिस्टर को कंप्यूटर आर्किटेक्चर के एक्युमुलेटर के रूप में भिन्न करती है, वह यह है कि एक्युमुलेटर अंकगणितीय निर्देशों (कंप्यूटर विज्ञान) के लिए अंतर्निहित ओपेरंड के रूप में उपयोग किया जाएगा। उदाहरण के लिए, सीपीयू के निकट निर्देश हो सकता है जैसे: ADD memaddress जो मेमोरी लोकेशन मेमड्रेस से पढ़े गए मान को एक्युमुलेटर के मान में जोड़ता है, परिणाम को एक्युमुलेटर में पुनः रखता है। एक्युमुलेटर को रजिस्टर संख्या द्वारा निर्देश में प्रमाणित नहीं किया गया है; यह निर्देश में निहित है एवं निर्देश में कोई अन्य रजिस्टर निर्दिष्ट नहीं किया जा सकता है। कुछ आर्किटेक्चर निर्देशों में एक्युमुलेटर के रूप में विशेष रजिस्टर का उपयोग करते हैं, किंतु अन्य निर्देश स्पष्ट ऑपरेंड विनिर्देश के लिए रजिस्टर संख्या का उपयोग करते हैं।

कंप्यूटर एक्युमुलेटर का इतिहास

कोई भी सिस्टम जो मेमोरी का उपयोग अनेक ऑपरेशनों के परिणाम को संग्रहित करने के लिए करता है, उसे एक्युमुलेटर माना जा सकता है। जे. प्रेस्पर एकर्ट ने एक्युमुलेटर-आधारित प्रणालियों के रूप में गॉटफ्रीड लीबनिज़ एवं ब्लेस पास्कल की सबसे प्राचीन जोड़ने वाली मशीनों को भी संदर्भित किया।[2] पर्सी लुडगेट 1909 की अपनी विश्लेषणात्मक मशीन में गुणक-संचयकर्ता (मैक) की कल्पना करने वाले पूर्व व्यक्ति थे।[3]

ऐतिहासिक सम्मेलन "एक्युमुलेटर", "अंकगणितीय अंग" के लिए रजिस्टर समर्पित करता है जो अंकगणितीय संचालन के अनुक्रम के समय शाब्दिक रूप से अपनी संख्या एकत्र करता है:

हमारे अंकगणितीय अंग का प्रथम भाग समानांतर भंडारण अंग होना चाहिए, जो संख्या प्राप्त कर सकता है एवं इसे पूर्व से ही इसमें जोड़ सकता है, जो इसकी सामग्री को भी साफ़ करने में सक्षम है एवं जो इसमें सम्मिलित है उसे संग्रहीत कर सकता है। ऐसे अंग को एक्युमुलेटर कहते हैं। यह भूत एवं वर्तमान में विविध प्रकार की कंप्यूटिंग मशीनों में सैद्धांतिक रूप से अधिक पारंपरिक है, उदा. डेस्क गुणक, मानक आईबीएम काउंटर, अधिक आधुनिक रिले मशीनें, एनिअस (ENIAC) (गोल्डस्टाइन एवं वॉन न्यूमैन, 1946; बेल एवं नेवेल 1971 में पृष्ठ 98) है।

कुछ निर्देश हैं, उदाहरण के लिए (कुछ आधुनिक व्याख्या के साथ):

  • एक्युमुलेटर को साफ़ करें एवं मेमोरी स्थान X से संख्या जोड़ सकते हैं |
  • एक्युमुलेटर को साफ़ करें एवं मेमोरी स्थान X से संख्या को घटा सकते हैं |
  • एक्युमुलेटर की सामग्री में मेमोरी स्थान X से कॉपी की गई संख्या को जोड़ सकते हैं |
  • एक्युमुलेटर की सामग्री से मेमोरी स्थान X से कॉपी की गई संख्या को घटा सकते हैं |
  • एक्युमुलेटर को साफ़ करें एवं रजिस्टर की सामग्री को एक्युमुलेटर में स्थानांतरित करना चाहिए |

रजिस्टरों से एक्युमुलेटर तक एवं एक्युमुलेटर से रजिस्टरों तक के संचालन के लिए नामों के संबंध में कोई परंपरा उपस्थित नहीं है। परंपरा (उदाहरण के लिए डोनाल्ड नुथ (1973) का काल्पनिक मिक्स कंप्यूटर), उदाहरण के लिए, रजिस्टर/मेमोरी (जैसे एलडीए आर) से लोड एक्युमुलेटर नामक दो निर्देशों का उपयोग करता है एवं रजिस्टर/मेमोरी (जैसे एसटीए आर) के लिए एक्युमुलेटर संग्रहित करता है। नुथ के मॉडल में एवं भी अनेक निर्देश हैं।

उल्लेखनीय एक्युमुलेटर-आधारित कंप्यूटर

एक्युमुलेटर एवं अन्य रजिस्टरों डिस्प्लाइड लाइट के साथ आईबीएम 701 कंप्यूटर का फ्रंट पैनल

ENIAC के 1945 के विन्यास में 20 एक्युमुलेटर थे, जो समानांतर में कार्य कर सकते थे।[4]: 46  प्रत्येक आठ दशमलव अंकों की संख्या को संग्रहीत कर सकता है एवं उसमें प्राप्त संख्या को जोड़ सकता है (या उसमें से घटा सकता है)।[4]: 33  1952 में वैक्यूम ट्यूब आईबीएम 701 के साथ प्रारंभिक करने वाले आईबीएम के अधिकांश प्रारंभिक बाइनरी वैज्ञानिक कंप्यूटर, लंबे परिणामों के साथ संचालन को संभालने के लिए भिन्न गुणक / भागफल रजिस्टर के साथ 36-बिट एक्युमुलेटर का उपयोग करते थे। आईबीएम 650, दशमलव मशीन, में 10 अंकों का वितरक एवं दो दस अंकों का एक्युमुलेटर था; आईबीएम 7070, पश्चात की, ट्रांजिस्टरीकृत दशमलव मशीन में तीन एक्युमुलेटर थे। आईबीएम सिस्टम/360 एवं डिजिटल उपकरण निगम के PDP-6 में 16 सामान्य उद्देश्य रजिस्टर थे, चूँकि PDP-6 एवं इसके उत्तराधिकारी, PDP-10, उन्हें एक्युमुलेटर कहते हैं।

12-बिट, PDP-8 एक्युमुलेटर का उपयोग करने वाले पूर्व मिनी कंप्यूटरों में से था, जिसने अनेक मशीनों को प्रेरित किया।[5] PDP-8 में केवल एक्युमुलेटर था। एचपी 2100 एवं डेटा जनरल नोवा में 2 एवं 4 एक्युमुलेटर थे। नोवा तब बनाया गया था जब PDP-8 के इस फॉलो-ऑन को PDP-11 बनने के पक्ष में रद्द कर दिया गया था। नोवा ने चार एक्युमुलेटर, AC0-AC3 प्रदान किए, चूँकि AC2 एवं AC3 का उपयोग ऑफ़सेट एड्रेस प्रदान करने के लिए भी किया जा सकता है, जो रजिस्टरों के उपयोग की अधिक सामान्यता की ओर प्रवृत्त होता है। PDP-11 में सिस्टम/360 एवं PDP-10 की तर्ज पर 8 सामान्य प्रयोजन रजिस्टर थे; सबसे पश्चात में CISC एवं RISC मशीनों ने अनेक सामान्य प्रयोजन रजिस्टर प्रदान किए।

प्रारंभिक 4-बिट एवं 8-बिट माइक्रोप्रोसेसर जैसे इंटेल 4004, इंटेल 8008 एवं अनेक अन्य, सामान्यतः सिंगल एक्युमुलेटर थे। इंटेल 8051 माइक्रोकंट्रोलर में प्राइमरी एक्युमुलेटर एवं सेकेंडरी एक्युमुलेटर होता है, जहां दूसरे का उपयोग इंस्ट्रक्शंस द्वारा केवल मल्टिप्लाय करने (MUL AB) या डिवाइड करने (DIVAB) के समय किया जाता है; पूर्व दो 8-बिट एक्युमुलेटर के मध्य 16-बिट परिणाम को विभाजित करता है, जबकि पश्चात वाले क्वोशन्ट को प्राइमरी एक्युमुलेटर A पर एवं शेष को सेकेंडरी एक्युमुलेटर B में स्टोर करता है। 8008, इंटेल 8080, एवं के प्रत्यक्ष वंशज के रूप में [[इंटेल 8086]], आधुनिक सर्वव्यापी x86 प्रोसेसर अभी भी बड़ी संख्या के गुणन एवं विभाजन के लिए प्राइमरी एक्युमुलेटर EAX एवं सेकेंडरी एक्युमुलेटर EDX का उपयोग करता है। उदाहरण के लिए, एमयूएल ईसीएक्स 32-बिट रजिस्टर ईसीएक्स एवं ईएक्स को गुणा करेगा एवं 64-बिट परिणाम को ईएक्स एवं ईडीएक्स के मध्य विभाजित करेगा।

चूँकि, MUL एवं DIV विशेष स्तिथियाँ हैं; अन्य अरिथमेटिक-लॉजिक इंस्ट्रक्शंस (ADD, SUB, CMP, AND, OR, XOR, TEST) एक्युमुलेटर के रूप में आठ रजिस्टरों EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI में से किसी को भी निर्दिष्ट कर सकते हैं (अर्थात लेफ्ट ऑपरेंड एवं डेस्टिनेशन)। यह मल्टिप्लाय के लिए भी सपोर्टेड है यदि रिजल्ट के ऊपरी आधे अंश की आवश्यकता नहीं है। इस प्रकार x86 एक्युमुलेटर मॉडल पर आधारित होने के अतिरिक्त अधिक जनरल रजिस्टर आर्किटेक्चर है।[6] x86, x86-64 के 64-बिट एक्सटेंशन को आगे 8 जनरल रजिस्टरों के अतिरिक्त 16 तक सामान्यीकृत किया गया है।

संदर्भ

  1. "HC16 Overview". Freescale.com. Archived from the original on 28 September 2007. Retrieved 2008-09-22.
  2. J. Presper Eckert, "A Survey of Digital Computer Memory Systems", IEEE Annals of the History of Computing, 1988, pp. 15-28.
  3. "The Feasibility of Ludgate's Analytical Machine".
  4. 4.0 4.1 Haigh, Thomas; Priestley, Mark; Ropefir, Crispin (2016). ENIAC in Action: Making and Remaking the Modern Computer. MIT Press. ISBN 9780262334419.
  5. Programmed Data Processor-1 Manual (PDF), Maynard, Massachusetts: Digital Equipment Corporation, 1961, p. 7: PDP-1 system block diagram, archived (PDF) from the original on 2022-10-09, retrieved 2014-07-03
  6. Irvine, Kip R. (2007). Assembly Language for Intel-Based Computers (5th ed.). Pearson Prentice Hall. pp. 633, 622. ISBN 978-0-13-238310-3.
  • Goldstine, Herman H., and von Neumann, John, "Planning and Coding of the Problems for an Electronic Computing Instrument", Rep. 1947, Institute for Advanced Study, Princeton. Reprinted on pp. 92–119 in Bell, C. Gordon and Newell, Allen (1971), Computer Structures: Readings and Examples, McGraw-Hill Book Company, New York. ISBN 0-07-004357-4}. A veritable treasure-trove of detailed descriptions of ancient machines including photos.