अंग्रेजी विद्युतकी ड्यूस

ड्यूस (डिजिटल इलेक्ट्रॉनिक यूनिवर्सल कंप्यूटिंग इंजन) यूनाइटेड किंगडम में व्यावसायिक रूप से उपलब्ध सबसे पहले कंप्यूटरों में से एक था, जिसे 1955 में अंग्रेजी इलेक्ट्रिक  द्वारा बनाया गया था। यह पायलट ऐस का उत्पादन संस्करण था, जो स्वयं एलन ट्यूरिंग के स्वचालित कंप्यूटिंग इंजन का कट-डाउन संस्करण था।

हार्डवेयर विवरण
ड्यूस में 1450 तापायनिक वाल्व थे, और इसकी मुख्य मेमोरी के लिए पारा मर्क्युरी डिले लाइन का उपयोग किया गया था; 12 डिले लाइनो में से प्रत्येक 32 बिट्स के 32 निर्देश या डेटा शब्द संग्रहीत कर सकती है। इसने पायलट एस की तत्कालीन उच्च 1 मेगाहर्ट्ज़ क्लॉक दर का उपयोग किया। निविष्ट/आउटपुट होलेरिथ 80-कॉलम पंच-कार्ड उपकरण के माध्यम से किया जाता था। पाठक 200 प्रति मिनट की दर से कार्ड पढ़ता था, जबकि कार्ड पंच दर 100 कार्ड प्रति मिनट थी। ड्यूस में मुख्य भंडारण के लिए 8192 शब्द का चुंबकीय ड्रम भी था। 32 शब्दों के 256 ट्रैकों में से किसी एक तक पहुंचने के लिए, ड्रम में 16 पढ़ने वाले प्रमुखों का एक समूह और 16 लिखने वाले प्रमुखों का एक समूह था, प्रत्येक समूह स्वतंत्र गतिशील भुजाओं पर था, जो प्रत्येक 16 पदों में से एक पर जाने में सक्षम था। यदि शीर्ष पहले से ही स्थिति में थे तो पहुंच का समय 15 मिलीसेकंड था; यदि सिरों को घूर्णन करना हो तो अतिरिक्त 35 मिलीसेकंड की आवश्यकता होती थी। ड्रम से पढ़ते और लिखते समय कोई घूर्णी विलंब नहीं हुआ। डेटा को ड्रम और 32-शब्द डिले लाइनों में से एक के मध्य स्थानांतरित किया गया था।

ड्यूस को छिद्रित टेप उपकरण के साथ फिट किया जा सकता है; पाठक की गति 850 अक्षर प्रति सेकंड थी, जबकि पेपर टेप आउटपुट गति 25 अक्षर प्रति सेकंड थी। न्यू साउथ वेल्स विश्वविद्यालय के ड्यूस में 1964 में एक सीमेंस M100 टेलीप्रिंटर लगा था, जो प्रति सेकंड 10 अक्षर निविष्ट/आउटपुट देता था। डेका चुंबकीय टेप इकाइयां भी संलग्न की जा सकती हैं। स्वचालित गुणक और विभाजक अतुल्यकालिक रूप से संचालित होते हैं अर्थात, जब गुणक/विभाजक इकाई संक्रिया में रहती है तो अन्य निर्देश भी निष्पादित किए जा सकते हैं। पूर्णांक संक्रिया के लिए दो अंकगणितीय इकाइयाँ प्रदान की गईं: एक 32 बिट और दूसरी 32-बिट संक्रिया और 64-बिट संक्रिया करने में सक्षम थी। लगभग 1957 से आठ रजिस्टरों पर ऑटो-इंक्रीमेंट और ऑटो-डिक्रीमेंट प्रदान किए गए थे। ऐरे अंकगणित और ऐरे डेटा स्थानांतरण की अनुमति दी गई थी। मैनचेस्टर मार्क 1 जैसे समकालीनों की तुलना में, ड्यूस लगभग दस गुना तेज था।

चौगुनी रजिस्टरों के अलग-अलग शब्द एक ऑटो-इंक्रीमेंट/डिक्रीमेंट सुविधा से युग्मित थे। उस सुविधा का उपयोग निर्देशों की गिनती और संशोधन के लिए जैसे अनुक्रमण, लूप नियंत्रण और किसी निर्देश के स्रोत या गंतव्य पता परिवर्तन के लिए किया जा सकता है।

शृंखला यंत्र होने के कारण, एक रजिस्टर तक पहुंच का समय 32 माइक्रोसेकंड, एक डबल रजिस्टर तक 64 माइक्रोसेकंड और एक चौगुना रजिस्टर तक पहुँच का समय 128 माइक्रोसेकंड था। डिले लाइन के लिए यह 1024 माइक्रोसेकंड था।

निर्देश का समय था: जोड़, घटाव, तार्किक संक्रिया: 32-बिट शब्दों के लिए 64 माइक्रोसेकंड; डबल-प्रिसिजन 96 माइक्रोसेकंड; गुणा और भाग 2 मिलीसेकंड। सरणी अंकगणित और स्थानांतरण संक्रिया के लिए, 32 शब्दों के लिए प्रति शब्द समय 33 माइक्रोसेकंड था।

फ़्लोटिंग-पॉइंट संक्रिया सॉफ़्टवेयर द्वारा प्रदान किए गए थे; समय: जोड़ और घटाव के लिए 6 मिलीसेकंड, गुणन के लिए औसत 5.5 मिलीसेकंड, और भाग के लिए औसत 4.5 मिलीसेकंड।

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

ड्यूस के अग्र पैनल में दो कैथोड रे ट्यूब डिस्प्ले थे: एक ने रजिस्टरों की वर्तमान सामग्री को प्रदर्शित किया, जबकि दूसरे ने पारा विलंब लाइन स्टोर में से किसी एक की सामग्री को प्रदर्शित किया।

लगभग 1958 से, सात अतिरिक्त विलंब लाइनें जोड़ी जा सकीं, जिससे हाई-स्पीड स्टोर के 224 और शब्द मिले। एक आइबीएम 528 संयुक्त रीडर-पंच को होलेरिथ उपकरण के स्थान पर प्रतिस्थापित किया जा सकता है, जो समान निविष्ट/आउटपुट गति देता है, इस स्थिति में यंत्र को मार्क II कहा जाता था। निविष्ट पर अक्षरांकीय डेटा का द्विआधारी-कूटन दशमलव में स्वचालित रूपांतरण प्रदान किया गया था, और सभी अस्सी कार्ड कॉलम के लिए आउटपुट पर व्युत्क्रम संक्रिया प्रदान किया गया था। इस उपकरण पर, आवश्यकता पड़ने पर रीडिंग और पंचिंग एक साथ आगे बढ़ सकती है, और इस प्रकार इसका उपयोग किसी रिकॉर्ड में पढ़ने, उसे अपडेट करने और फिर अगले रिकॉर्ड में रीडिंग के साथ-साथ एक अपडेटेड रिकॉर्ड को पंच करने के लिए किया जा सकता है। सात अतिरिक्त डिले लाइनो के साथ, ड्यूस को मार्क IIA के रूप में प्रदर्शित किया गया था।

सॉफ़्टवेयर
प्रमुख उच्च स्तरीय प्रोग्रामिंग भाषाएँ जॉर्ज,   अल्फाकोड, स्टीव, टिप, जीआईपी, और एल्गोल आदि हैं। असेंबलर भाषा अनुवादकों में ZP43 और स्टाक सम्मिलित थे।

1957 में चार्ल्स लियोनार्ड हैम्ब्लिन द्वारा आविष्कृत, जॉर्ज वर्तमान प्रोग्रामिंग भाषाओं के सबसे निकट था। इसमें रिवर्स पोलिश नोटेशन का उपयोग किया गया। उदाहरण के लिए, e = ay2 + by + c के मूल्यांकन हेतु,

इसे निम्न रूप में लिखा जाता था:

a y dup × × b y × + c + (e)

यहां "dup" पिछले निविष्ट की प्रतिलिपि निर्मित करता है, जो "y" का उपयोग करने के बराबर होता है।

जॉर्ज ने पुश-डाउन पॉप-अप स्टैक के रूप में 12-स्थिति वाला संचायक प्रदान किया।

प्रोग्राम में एक चर नाम का उपयोग करना (उदाहरण के लिए, 'डी') चर 'डी' का मान उत्पन्न करता है।

जब किसी नाम को कोष्ठक में बंद किया जाता है (उदाहरण के लिए, (d)), तो चर 'd' को स्टैक के शीर्ष पर संचायक के मान के साथ सम्बंधित किया जाता है। मानों को नष्ट करने के लिए स्टैक के शीर्ष पर, अर्धविराम  का उपयोग किया गया था।

निम्नलिखित जॉर्ज प्रोग्राम दस संख्याओं को पढ़ता है और उनके वर्गों को प्रिंट करता है: 1, 10 rep (i) read dup × punch ; ] उपरोक्त प्रोग्राम में, 'डुप' निर्देश ने स्टैक के शीर्ष को अनुकृत किया,

जिससे स्टैक के शीर्ष पर मान की दो प्रतियां उत्पन्न हों जाए।

जीआईपी (जनरल इंटरप्रिटिव प्रोग्राम) ब्रिक्स नामक प्रोग्रामों के लिए एक नियंत्रण कार्यक्रम था। इसकी प्रमुख सेवा ड्यूस रैखिक बीजगणित लाइब्रेरी में उपलब्ध कई सौ प्रोग्रामों को चलाने में थी। इस तरह के कार्यक्रम की तैयारी में आवश्यक ब्रिक्स (पंच कार्डों पर) का चयन करना, उन्हें और जीआईपी को पुनरुत्पादित पंच में कॉपी करना और प्रतियों को कार्ड के डेक में इकट्ठा करना सम्मिलित है। इसके बाद, ऐसे कार्यों को करने के लिए ब्रिक्स का उपयोग करने के लिए सरल कोडवर्ड लिखे जाएंगे: आव्यूह गुणन; आव्यूह उलटा; टर्म-दर-टर्म आव्यूह अंकगणित (जोड़, घटाव, गुणा और भाग); एक साथ समीकरणों को हल करना; निविष्ट; और आउटपुट. कोडवर्ड में आव्यूह के आयाम कभी निर्दिष्ट नहीं किए गए थे। आयाम स्वयं आव्यूह से लिए गए थे, या तो डेटा कार्ड से पहले वाले कार्ड से या ड्रम पर संग्रहीत आव्यूह से। इस प्रकार, कार्यक्रम पूरी तरह से सामान्य थे। एक बार लिखे जाने के बाद, ऐसा प्रोग्राम किसी भी आकार के आव्यूह (निश्चित रूप से ड्रम की क्षमता तक) को संभालता है। कार्ड से आव्यूह में पढ़ने, आव्यूह को स्थानांतरित करने और कार्ड पर परिणामों को पंच करने के लिए एक संक्षिप्त कार्यक्रम के लिए निम्नलिखित कोडवर्ड की आवश्यकता होती है: 0,  0,   5, 1 5,   0, 120, 2 120, 0,   0, 3 प्रत्येक कोडवर्ड में चौथा नंबर ब्रिक नंबर होता है। पहला कोडवर्ड निर्दिष्ट करता है कि आव्यूह कार्ड से पढ़ा जाता है और ड्रम पते 5 पर संग्रहीत किया जाता है; दूसरा कोडवर्ड निर्दिष्ट करता है कि ड्रम एड्रेस 5 पर आव्यूह ट्रांसपोज़ किया गया है, और परिणाम ड्रम एड्रेस 120 पर संग्रहीत है; और तीसरा पंच जो कार्डों पर परिणामित होता है।

एसटीएसी एक मैक्रो-असेम्बलर था। अधिकांश निर्देश स्थानांतरण के रूप में दशमलव में लिखे गए थे, जैसे 13-16, जिसका अर्थ रजिस्टर 13 में शब्द को रजिस्टर 16 में कॉपी करना है। निर्देश का स्थान निर्दिष्ट नहीं किया गया था। एसटीएसी ने डिले लाइन में एक शब्द के लिए एक निर्देश आवंटित किया, और द्विआधारी निर्देश के छह घटकों की गणना की। इसने अगले निर्देश को एक ऐसे स्थान पर आवंटित किया जो इष्टतम था, यदि संभव हो तो पिछला निर्देश पूरा होते ही निष्पादित किया जाना था।

निम्नलिखित प्रोग्राम एक मान n में पढ़ता है, और फिर n द्विआधारी पूर्णांक में पढ़ता है। यह पूर्णांक और उसके वर्ग को छिद्रित करता है। टिप्पणियाँ छोटे अक्षरों में निर्देश की व्याख्या करती हैं। 1.0 12-24     कार्ड रीडर को प्रारंभ करें। प्रोग्राम की स्थानांकन को 1.0 के रूप में निर्दिष्ट किया जाता है। 0-13X    कार्ड रीडर से एक नंबर (n) पढ़ें। पत्र की पहली पंक्ति का आगमन करने तक कंप्यूटर को प्रतीक्षा कराएं। R2 12-24      कार्ड रीडर को प्रारंभ या पुनः प्रारंभ करें। 0-16X    वर्ग करने के लिए एक नंबर पढ़ें, इसे मल्टीप्लायर रजिस्टर में संग्रहीत करें। 9-24     कार्ड रीडर को रोकें। 16-21.3   नंबर को मल्टीप्लिकेंड रजिस्टर में कॉपी करें। 30-21.2   मल्टीप्लिकेंड रजिस्टर के निम्न-आदेशिक बिट्स को साफ़ करें। MULT 10-24     कार्ड पंच को प्रारंभ करें। 21.2-29X  वर्ग को कार्ड पंच को भेजें। 9-24     कार्ड पंच को रोकें। 27-26     n को घटाएं। 13-28 R1  शून्य के लिए परीक्षण करें। शून्य पर शाखा लगाएं, और शून्य न होने पर R2 पर शाखा लगाएं। R1  1-1X      रुकें; प्रोग्राम पूर्ण हो गया है। एसटीएसी द्विआधारी प्रोग्राम के अतिरिक्त निम्नलिखित निर्देश तैयार करेगा। प्रत्येक निर्देश का मेमोरी स्थान बाईं ओर प्रदर्शित किया गया है। 1.0 12-24 1.2   0-13X 1.4 12-24 1.6   0-16X 1.8  9-24 1.10 16-21.3 1.13 30-21.2 1.16  0-24    wait 1 1.18 1-1     wait 1 1.20 10-24 1.22 21.2-29X 1.24 9-24 1.26 27-26 1.28 13-28 1.3 1.3   1-1X गुणन को छोड़कर, प्रतीक्षा और समय संख्याएँ दिखाई नहीं जाती हैं।

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

कार्ड रीडर से डेटा पढ़ना वास्तविक समय में किया गया था - प्रत्येक पंक्ति को पढ़ा जाना था क्योंकि यह बिना रुके, पढ़े गए ब्रश से गुज़रता था। इसी प्रकार कार्ड पंच के लिए; किसी विशेष पंक्ति के लिए शब्द पहले से तैयार किया गया था और उसे तब तैयार होना था जब कार्ड की दी गई पंक्ति पंच चाकू के नीचे की स्थिति में हो। पढ़ने और मुक्का मारने का सामान्य तरीका द्विआधारी था। दशमलव निविष्ट और आउटपुट सॉफ्टवेयर के माध्यम से किया गया था।

हाई-स्पीड स्टोर में 32 बिट्स के चार एकल-शब्द रजिस्टर, तीन डबल-शब्द रजिस्टर और दो चौगुनी-शब्द रजिस्टर सम्मिलित थे। दोहरे और चौगुने-शब्द रजिस्टरों के प्रत्येक 32-बिट शब्द को अलग से संबोधित किया जा सकता है। उन्हें एक जोड़ी के रूप में भी एक्सेस किया जा सकता है, और - चौगुनी रजिस्टरों के मामले में - तीन या चार के समूह के रूप में। अनुदेश भंडार में बारह पारा डिले लाइनएं सम्मिलित थीं, प्रत्येक 32 शब्द थे, और 1 से 12 तक क्रमांकित थे। डिले लाइन 11 (डीएल11) चुंबकीय ड्रम और हाई-स्पीड स्टोर के बीच बफर के रूप में कार्य करती थी। एक स्थानांतरण यंत्र होने के नाते, डेटा को एक समय में एक शब्द, एक समय में शब्दों की एक जोड़ी और एक समय में 33 तक कितने भी शब्दों को स्थानांतरित किया जा सकता है। इस प्रकार, उदाहरण के लिए, ड्रम से पढ़े गए 32 शब्दों को किसी अन्य डिले लाइन में ब्लॉक के रूप में स्थानांतरित किया जा सकता है; 4 शब्दों को एक ब्लॉक के रूप में एक चौगुनी रजिस्टर से दूसरे में, या चौगुनी रजिस्टर और एक डिले लाइन के बीच स्थानांतरित किया जा सकता है - सभी एक निर्देश के साथ। विलंब पंक्ति के 32 शब्दों को एकल-लंबाई योजक (एकल निर्देश के माध्यम से) में पास करके सारांशित किया जा सकता है। DL10 और एक रजिस्टर, अर्थात् रजिस्टर 16 के बीच एक विशेष लिंक द्वारा, DL10 को पुश-डाउन स्टैक के रूप में उपयोग किया जा सकता है।

उत्पादन
पहली तीन यंत्रें 1955 के शृंखला में वितरित की गईं; 1958 के अंत में एक ड्यूस मार्क II उन्नत प्रारूप सामने आया। इस संस्करण में एक संयुक्त कार्ड रीडर और पंच का उपयोग किया गया। संयुक्त IBM 528 रीडर और पंच ने पहले की ड्यूस मार्क I यंत्रों पर अलग-अलग होलेरिथ इकाइयों की तरह व्यवहार किया; यद्यपि, इसमें निविष्ट पर अल्फ़ान्यूमेरिक डेटा को बीसीडी में और आउटपुट पर इसके विपरीत हार्डवेयर रूपांतरण भी प्रदान किया गया था। डेटा को प्रति मिनट 100 कार्ड पर एक साथ पढ़ा और पंच किया जा सकता है। ड्यूस मार्क IIA ने सात अतिरिक्त पारा विलंब लाइनें प्रदान कीं, जिनमें से प्रत्येक 32 शब्दों की थी।

1955 और 1964 के मध्य कुल 33 ड्यूस यंत्रें बेची गईं, जिनमें से दो इंजन निर्माता ब्रिस्टल सिडली द्वारा खरीदी गईं।

ड्यूस की सफलता इसकी 1000 से अधिक प्रोग्रामों और सबरूटीन्स की प्रोग्राम लाइब्रेरी के कारण थी।

हार्डवेयर विशेषताएँ
ड्यूस मार्क 0 और 1 मैं: Clock rate        1 MHz Word size        32 bits High speed store 384 words Arithmetic: one 32-bit accumulator; one 64-bit accumulator that could be used also as two 32-bit accumulators. addition/subtraction 64 microseconds single length, 96 microseconds double precision Addition of a single-length number to a double-length number, with automatic sign extension, 64 microseconds. multiplication 2080 microseconds division      2112 microseconds magnetic drum 8192 words separate read heads and write heads Track read time 15 ms   Head shift time  35 ms card reader speed 200 cards per minute card punch speed 100 cards per minute paper tape reader speed 850 character/second tape: 5, 7, 8-row tape. stopping time:   ½ millisecond (m.s.) start time      20 milliseconds paper tape punch speed 25 characters/second tape: 5 or 7 rows Software floating-point (average times): addition/subtraction 6 m.s.   multiplication       5½ m.s.   division             4½ m.s.

ड्यूस मार्क II: जहां तक ​​ड्यूस मार्क I का सवाल है। एक संयुक्त आईबीएम 528 कार्ड रीडर और पंच 200 प्रति मिनट की दर से कार्ड पढ़ सकते हैं, और 100 कार्ड प्रति मिनट की दर से पंच कर सकते हैं। जब एक साथ प्रारंभ किया गया, तो रीडर और पंच 100 कार्ड प्रति मिनट की गति से चले। 6-बिट वर्णों में स्वचालित रूपांतरण प्रदान किया गया था। यह विधा मार्क I ड्यूस द्वारा प्रदान किए गए प्रोग्राम किए गए रूपांतरण के अतिरिक्त था।

ड्यूस मार्क IA और IIA: जैसा कि ऊपर बताया गया है, 7 अतिरिक्त विलंब लाइनों के साथ 224 शब्द हाई-स्पीड स्टोर प्रदान करते हैं।

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

यह भी देखें

 * वैक्यूम ट्यूब कंप्यूटर की सूची

बाहरी संबंध

 * This site has an extensive collection of original documents, including programs, subroutines, DEUCE News, and bulletins.
 * Oral history interview with Donald W. Davies, Charles Babbage Institute, University of Minnesota. Davies describes computer projects at the U.K. National Physical Laboratory, from the 1947 design work of Alan Turing to the development of the two एस computers.  Davies discusses a much larger, second एस, and the decision to contract with English Electric Company to build the DEUCE—which he calls the first commercially proड्यूसd computer in Great Britain.
 * "The Deuce" a 1955 Flight article on the Deuce