आईबीएम 650

आईबीएम 650 मैग्नेटिक ड्रम डेटा-प्रोसेसिंग मशीन 1950 के दशक के मध्य में आईबीएम द्वारा निर्मित एक प्रारंभिक डिजिटल कम्प्यूटर है। यह दुनिया का पहला बड़े पैमाने पर निर्मित कंप्यूटर था।  1962 में लगभग 2,000 प्रणालियों का अंतिम उत्पादन किया गया था और यह सार्थक लाभ कमाने वाला पहला कंप्यूटर था पहला 1954 के अंत में स्थापित किया गया था और यह 1950 के दशक का सबसे लोकप्रिय कंप्यूटर था। 650 को आईबीएम 701 और आईबीएम 702 कंप्यूटरों के सामान्य-उद्देश्य वाले संस्करण के रूप में व्यापार, वैज्ञानिक और इंजीनियरिंग उपयोगकर्ताओं के लिए विपणन किया गया था जो क्रमशः वैज्ञानिक और व्यावसायिक उद्देश्यों के लिए थे। यह यूनिट रिकॉर्ड उपकरण के उपयोगकर्ताओं के लिए भी विपणन किया गया था, जो यूनिट रिकॉर्ड उपकरण गणना, जैसे आईबीएम 604, से कंप्यूटर में अपग्रेड कर रहे थे।

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

यह 1953 में घोषित किया गया था और 1956 में आईबीएम 650 रमक के रूप में चार डिस्क स्टोरेज यूनिट के साथ बढ़ाया गया था। 650 और इसकी घटक इकाइयों के लिए समर्थन 1969 में वापस ले लिया गया था।

650 एक घूर्णन चुंबकीय ड्रम मेमोरी पर मेमोरी के साथ दो-पता, द्वि-पंक्ति कोडित दशमलव कंप्यूटर (दोनों डेटा और पते दशमलव थे) थे। वर्ण (कंप्यूटिंग) समर्थन इनपुट/आउटपुट इकाइयों द्वारा पंच कार्ड वर्णानुक्रमिक और विशेष वर्ण एन्कोडिंग को दो-अंकीय दशमलव कोड से/में परिवर्तित करके प्रदान किया गया था।

इतिहास
पहला 650 बोस्टन में जॉन हैनकॉक फाइनेंशियल के नियंत्रक विभाग में 8 दिसंबर, 1954 को स्थापित किया गया था।

1958 में घोषित आईबीएम 7070 (10 अंकों के दशमलव शब्दों पर हस्ताक्षर किए गए), कम से कम 650 और आईबीएम 705 के सामान्य उत्तराधिकारी होने की उम्मीद थी। आईबीएम 1620 (चर-लंबाई दशमलव), 1959 में प्रस्तुत किया गया, जिसने बाजार के निचले सिरे को संबोधित किया। UNIVAC सॉलिड स्टेट (एक दो-पता वाला कंप्यूटर, 10-अंकीय दशमलव शब्दों पर हस्ताक्षर किया गया) की घोषणा स्पेरी रैंड द्वारा दिसंबर 1958 में 650 की प्रतिक्रिया के रूप में की गई थी। इनमें से किसी के पास भी ऐसा निर्देश सेट नहीं था जो 650 के साथ संगत था।

हार्डवेयर
मूल 650 प्रणाली में तीन इकाइयां सम्मिलित थीं: वज़न: 5400-6263 lb.
 * आईबीएम 650 कंसोल यूनिट चुंबकीय ड्रम भंडारण, अंकगणितीय उपकरण (वैक्यूम ट्यूबों का उपयोग करके) और ऑपरेटर के कंसोल को रखा गया।
 * आईबीएम 655 पावर यूनिट
 * आईबीएम 533 या आईबीएम 537 कार्ड पंच यूनिट पढ़ें  आईबीएम 533 में पढ़ने और पंच करने के लिए अलग-अलग फीड थे; आईबीएम 537 में एक फीड था, इस प्रकार पढ़ सकता था और फिर उसी कार्ड में पंच कर सकता था।

वैकल्पिक इकाइयां:

आईबीएम 652 नियंत्रण इकाई (चुंबकीय टेप, डिस्क)
 * आईबीएम 46 टेप टू कार्ड पंच, मॉडल 3
 * आईबीएम 47 टेप टू कार्ड प्रिंटिंग पंच, मॉडल 3
 * आईबीएम 355 डिस्क स्टोरेज यूनिट डिस्क इकाई वाले सिस्टम को आईबीएम 650 रमक डेटा प्रोसेसिंग सिस्टम के रूप में जाना जाता था
 * आईबीएम 407 लेखा मशीन
 * आईबीएम 543 कार्ड रीडर यूनिट
 * आईबीएम 544 कार्ड पंच यूनिट
 * आईबीएम 653 स्टोरेज यूनिट (चुंबकीय टेप, डिस्क, कोर स्टोरेज, इंडेक्स रजिस्टर, फ्लोटिंग-पॉइंट अंकगणितीय)
 * आईबीएम 654 सहायक वर्णमाला इकाई
 * आईबीएम 727 मैग्नेटिक टेप यूनिट
 * आईबीएम 838 पूछताछ स्टेशन

मुख्य मेमोरी
रोटेटिंग ड्रम मेमोरी ने क्रमशः 0000 से 0999, 1999, या 3999 पतों पर 1,000, 2,000, या 4,000 शब्दों (कंप्यूटर आर्किटेक्चर) की मेमोरी प्रदान करती है। प्रत्येक शब्द में 10 बाई-क्विनरी कोडेड दशमलव अंक थे, जो एक हस्ताक्षरित 10-अंकीय संख्या या पांच वर्णों का प्रतिनिधित्व करते थे। (द्वि-पांचवें कोडित अंक को 7 बिट्स के रूप में गिनने पर, 4000 शब्द 35 किलोबाइट के बराबर होंगे।) ड्रम पर शब्द ड्रम के चारों ओर बैंड में प्रति बैंड पचास शब्द और संबंधित मॉडल के लिए 20, 40, या 80 बैंड आयोजित किए गए थे। एक शब्द तक पहुँचा जा सकता है जब ड्रम की सतह पर उसका स्थान रोटेशन के समय पढ़ने/लिखने के शीर्ष के नीचे से निकलता है (प्रति मिनट 12,500 क्रांति पर घूमता है, गैर-अनुकूलित औसत पहुंच समय 2.5 मिलीसेकंड था)। इस समय के कारण, प्रत्येक निर्देश में दूसरा पता अगले निर्देश का पता था। और कार्यक्रम तब पतों पर निर्देश देकर इष्टतम प्रोग्रामिंग हो सकते हैं जो पिछले निर्देश के निष्पादन के पूरा होने पर तुरंत पहुंच योग्य होते है। आईबीएम ने दस कॉलम और 200 पंक्तियों के साथ एक फॉर्म प्रदान किया, जिससे प्रोग्रामर यह ट्रैक कर सकें कि वे निर्देश और डेटा कहां डालते हैं। बाद में एक सभा की भाषा, एसओएपी (सिम्बोलिक ऑप्टिमल असेंबली प्रोग्राम) प्रदान की गई, जिसने रफ ऑप्टिमाइज़ेशन किया।

LGP-30, बेंडिक्स जी-15 और आईबीएम 305 रमक कंप्यूटर वैक्यूम ट्यूब और ड्रम मेमोरी का भी उपयोग करते थे, लेकिन वे आईबीएम 650 से बहुत अलग थे।

ड्रम से पढ़े गए निर्देश एक प्रोग्राम रजिस्टर (वर्तमान शब्दावली में, एक निर्देश रजिस्टर) में गए। जो ड्रम से पढ़ा गया डेटा 10 अंकों के वितरक के माध्यम से चला गया। 650 में एक 20-अंकीय संचायक (कंप्यूटिंग) था, जो एक सामान्य चिन्ह के साथ 10-अंकीय निचले और ऊपरी संचायक में विभाजित था। अंकगणित एक अंक के योजक द्वारा किया गया था। कंसोल (10 अंक स्विच, एक साइन स्विच, और 10 द्वि-क्विनरी डिस्प्ले लाइट) वितरक निचले और ऊपरी संचायक सभी क्रमशः 8000, 8001, 8002, 8003 पते योग्य थे।

आईबीएम 653 स्टोरेज यूनिट
वैकल्पिक आईबीएम 653 स्टोरेज यूनिट, 3 मई, 1955 को प्रस्तुत की गई थी, जो अंततः पाँच सुविधाएँ प्रदान करती है:


 * चुंबकीय टेप नियंत्रक (आईबीएम 727 चुंबकीय टेप इकाइयों के लिए) (10 अतिरिक्त ऑपरेशन कोड)
 * डिस्क स्टोरेज कंट्रोलर (तत्कालीन नई आईबीएम 355 डिस्क स्टोरेज यूनिट के लिए 1956 एन्हांसमेंट) (5 अतिरिक्त ऑपरेशन कोड)
 * 9000 से 9059 के पते पर कोर मेमोरी मेमोरी के साठ 10-अंकीय शब्द; टेप और डिस्क I/O बफर के लिए आवश्यक एक छोटी तेज़ मेमोरी (इस डिवाइस ने घूर्णन ड्रम के सापेक्ष 26-गुना कच्चे सुधार के लिए 96μs का मेमोरी एक्सेस समय दिया)। (5 अतिरिक्त ऑपरेशन कोड)
 * तीन चार अंकों का सूचकांक 8005 से 8007 के पते पर रजिस्टर करता है; ड्रम पतों को 2000, 4000 या 6000 जोड़कर अनुक्रमित किया गया था, कोर पतों को 0200, 0400 या 0600 जोड़कर अनुक्रमित किया गया था। यदि सिस्टम में 4000 शब्द ड्रम था तो सूचकांक रजिस्टर ए के लिए पहले पते पर 4000 जोड़कर, इंडेक्स रजिस्टर बी के लिए दूसरे पते पर 4000 जोड़कर और इंडेक्स रजिस्टर सी के लिए दो पतों में से प्रत्येक में 4000 जोड़कर इंडेक्सिंग किया गया था। 4000-शब्द सिस्टम के लिए अनुक्रमण केवल पहले पते पर प्रायुक्त होता है)। ड्रम मेमोरी के लिए 4000-शब्द सिस्टम को ट्रांजिस्टर कंप्यूटर रीड/राइट सर्किट्री की आवश्यकता होती है और 1963 से पहले उपलब्ध थे। (18 अतिरिक्त ऑपरेशन कोड)
 * फ्लोटिंग स्थल - अंकगणितीय निर्देश आठ अंकों के मंटिसा और दो अंकों की विशेषता (ऑफ़सेट एक्सपोनेंट) - 'MMMMMMMMCC' का समर्थन करते हैं, जो ± 0.00000001E-50 से ± 0.99999999E+49 की रेंज प्रदान करते हैं। (सात अतिरिक्त ऑपरेशन कोड)

निर्देश सेट
650 निर्देश सेट में दो अंकों का ओपकोड, चार अंकों का डेटा पता और अगले निर्देश का चार अंकों का पता सम्मिलित था। मूल मशीन पर संकेत को नजरअंदाज कर दिया गया था, लेकिन वैकल्पिक सुविधाओं वाली मशीनों पर इसका उपयोग किया गया था। बेस मशीन में 44 ऑपरेशन कोड थे। फ्लोटिंग पॉइंट, कोर स्टोरेज, इंडेक्स रजिस्टर और अतिरिक्त I/O डिवाइस जैसे विकल्पों के लिए अतिरिक्त ऑपरेशन कोड प्रदान किए गए थे। सभी विकल्पों के स्थापित होने के साथ, 97 ऑपरेशन कोड थे।

टेबल लुकअप (टीएलयू) निर्देश एक 5ms क्रांति में एक ही ड्रम बैंड पर लगातार 48 शब्दों के साथ संदर्भित 10-अंकीय शब्द की उच्च-बराबर तुलना कर सकता है और फिर अगले 48 शब्दों के लिए अगले बैंड पर स्विच कर सकता है। यह उपलब्धि 1963 में एक हजार गुना तेज बाइनरी मशीन (आईबीएम 7040 पर 1,500 माइक्रोसेकंड से 650 पर 5,000 माइक्रोसेकंड) की गति का लगभग एक-तिहाई थी, जब तक कि दोनों को असेंबलर में प्रोग्राम किया गया था, तब तक 46 प्रविष्टियां देखी गईं। समान प्रदर्शन के साथ एक वैकल्पिक टेबल लुकअप समान निर्देश था।

पढ़ें (आरडी) निर्देश संख्यात्मक डेटा के 80 कॉलम कार्ड को दस मेमोरी शब्दों में पढ़ता है; कार्ड रीडर के प्लगबोर्ड यूनिट रिकॉर्ड उपकरण द्वारा निर्धारित अंकों का शब्दों में वितरण। जब 533 रीडर पंच यूनिट के अल्फाबेटिक डिवाइस के साथ प्रयोग किया जाता है, तो न्यूमेरिक और अक्षरांकीय कॉलम (अधिकतम 30 अल्फ़ान्यूमेरिक कॉलम) के संयोजन को पढ़ा जा सकता है। एक विस्तार सुविधा ने अधिक अल्फ़ान्यूमेरिक कॉलम की अनुमति दी, लेकिन निश्चित रूप से 50 से अधिक नहीं, क्योंकि कार्ड रीड ऑपरेशन द्वारा ड्रम पर केवल दस शब्द (पांच वर्ण प्रति शब्द) संग्रहीत किए गए थे। बेस मशीन ऑपरेशन कोड थे:

टिप्पणियाँ:

आईबीएम 653 विकल्प अतिरिक्त निर्देश कोड प्रायुक्त कर सकते हैं।

नमूना कार्यक्रम
650 प्रोग्रामिंग बुलेटिन 5, आईबीएम, 1956, 22-6314-0 से लिया गया यह एक-कार्ड प्रोग्राम, अधिकांश ड्रम स्टोरेज को माइनस ज़ीरो पर सेट करेगा। कार्यक्रम में कंसोल स्विच और संचायक से निष्पादित होने वाले निर्देशों के उदाहरण सम्मिलित हैं।

प्रारंभ करने के लिए, एक लोड कार्ड को लगातार 80 अंकों (नीचे दूसरा कॉलम) के साथ कीपंच किया जाता है, जिससे जब ड्रम स्थानों को 0001 से 0008 तक पढ़ा जाए तो सामग्री दिखाए गए अनुसार होगी। कंसोल डिजिट स्विच (पता 8000) मैन्युअल रूप से डेटा एड्रेस 0004 के साथ रीड इंस्ट्रक्शन पर सेट होते हैं। प्रत्येक ड्रम बैंड में एक पठन क्षेत्र होता है; ये पढ़े गए क्षेत्र 0001-0010, 0051-0060, 0101-0110 और इतने पर हैं। किसी बैंड में किसी भी पते का उपयोग पढ़ने के निर्देश के लिए उस बैंड की पहचान करने के लिए किया जा सकता है; पता 0004 पहले बैंड की पहचान करता है। पहले मेमोरी बैंड के 0001-0008 स्थानों में लोड कार्ड पर आठ शब्दों को पढ़ने के साथ कंसोल से निष्पादन प्रारंभ होता है। लोड कार्ड पढ़ने के स्थिति में, अगला निर्देश पता डेटा पता फ़ील्ड से लिया जाता है, न कि अगला निर्देश पता फ़ील्ड (ऊपर xxxx के रूप में दिखाया गया है)। इस प्रकार निष्पादन 0004 पर जारी है अब एक दो निर्देश पाश निष्पादित करता है:  एसटीएल का डेटा पता अंततः 0003 तक कम हो जाएगा और AU ... 0003 पर निर्देश शून्य से अधिलेखित हो जाएगा। जब ऐसा होता है (एसटीएल का अगला निर्देश पता 0003 रहता है) तो निष्पादन निम्नानुसार जारी रहता है: डोनाल्ड नुथ की पुस्तकों की श्रृंखला कंप्यूटर प्रोग्रामिंग की कला 650 को समर्पित है।

सॉफ़्टवेयर
आईबीएम 650 के लिए लिखे गए सॉफ्टवेयर में सम्मिलित हैं:


 * समायोजक
 * सिंबॉलिक ऑप्टिमल असेंबली प्रोग्रामम (एसओएपी) - एक असेंबलर (कंप्यूटिंग)
 * टेक्निकल असेंबली सिस्टम (टीएएसएस) - एक मैक्रो कोडांतरक


 * व्याख्यात्मक प्रणाली
 * एक व्याख्यात्मक आवेदन आभासी मशीन पैकेज मूल रूप से आईबीएम 650 मैग्नेटिक ड्रम कैलकुलेटर के लिए कम्पलीट फ्लोटिंग डेसीमल इंटरप्रिटिव सिस्टम के रूप में प्रकाशित हुआ। इसे कई नामों से जाना जाता था:
 * वोलोंटिस-बेल लैब्स दुभाषिया, बेल सिस्टम, बेल दुभाषिया, बेल व्याख्या प्रणाली, या BLIS - बेल लैब इंटरप्रिटिव सिस्टम
 * L1 और L2 (प्रोग्रामिंग भाषा) | L1 और (बाद में) L2 - अन्य नामों के बीच बेल लैब्स के बाहर बेल 1 और बेल 2 के रूप में जाना जाता है (ऊपर देखें)
 * वाणिज्यिक अनुप्रयोगों के लिए सिंथेटिक प्रोग्रामिंग सिस्टम का प्रयोग होता है
 * बीजगणितीय भाषाएं/संकलक
 * आंतरिक अनुवादक (आईटी) - एक संकलक
 * रिवाइज्ड यूनिफाइड न्यू कंपाइलर आईटी बेसिक लैंग्वेज एक्सटेंडेड (आरयूएनसीआईबीएलई) - प्रौद्योगिकी की स्थिति संस्थान में आईटी का विस्तार
 * ट्रांज़िट के लिए - फोरट्रान का एक संस्करण जो पारगमन के लिए संकलित किया गया था जो बदले में एसओएपी के लिए संकलित किया गया था
 * फोरट्रान
 * गेट — एक वर्ण चर नाम के साथ एक सरल संकलक
 * सूचना प्रसंस्करण भाषा - पहली सूची प्रसंस्करण भाषा। सबसे प्रसिद्ध संस्करण आईपीएल-वी था।
 * एसपीएसीई (सरलीकृत प्रोग्रामिंग कोई भी आनंद ले सकता है) - एसओएपी के माध्यम से एक व्यवसाय-उन्मुख दो-चरण संकलक

यह भी देखें

 * फेरांति मार्क 1
 * आईबीएम का इतिहास 1946-1959: युद्ध के बाद की रिकवरी, बिजनेस कंप्यूटिंग का उदय, अंतरिक्ष अन्वेषण, शीत युद्ध
 * आईबीएम 700/7000 श्रृंखला
 * लियो (कंप्यूटर)
 * वैक्यूम-ट्यूब कंप्यूटर की सूची
 * लघु कोड (कंप्यूटर भाषा)
 * यूनीवैक आई
 * दिसंबर 1958 में आईबीएम 650 की प्रतिक्रिया के रूप में स्पेरी रैंड द्वारा UNIVAC सॉलिड स्टेट की घोषणा की गई। जून 1959 में, रेमिंगटन रैंड ने घोषणा की कि उसने रूपांतरण को आसान बनाने के लिए आईबीएम 650 एमुलेटर प्रोग्राम लिखा था।

बाहरी कड़ियाँ

 * Bitsavers.org: IBM 650 documents (PDF files)
 * Columbia University: The IBM 650 at Columbia University
 * IBM Archives The IBM 650: Workhorse of Modern Industry Includes a chronology, technical specifications, photographs, representative customers, and applications the 650 was used for.
 * Video clip of IBM 650 and RAMAC in operation, alternate version
 * Includes about 40 pages of IBM 650 survey detail: customers, applications, specifications, and costs.
 * IBM 650 “Magnetic Drum Data Processing Machine"