आईबीएम 650

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

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

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

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

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

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

LGP-30, Bendix G-15 और IBM 305 RAMAC कंप्यूटर वैक्यूम ट्यूब और ड्रम मेमोरी का भी इस्तेमाल करते थे, लेकिन वे IBM 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 बफर के लिए आवश्यक एक छोटी तेज़ मेमोरी (इस डिवाइस ने 96 माइक्रोसेकंड का मेमोरी एक्सेस टाइम दिया|µs, रोटेटिंग ड्रम के सापेक्ष 26 गुना कच्चा सुधार)। (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 सामग्री दिखाई दे। 0001 0000010000    0002 0000000000-     0003 1000018003     0004 6100080007     0005 2400008003     0006 0100008000     0007 6900060005     0008 2019990003

कंसोल डिजिट स्विच (पता 8000) मैन्युअल रूप से डेटा एड्रेस 0004 के साथ रीड इंस्ट्रक्शन पर सेट होते हैं।

नियंत्रण रेखा | डेटा | अगला ation |addr|निर्देश | |जोड़

8000 RD 70 0004 xxxx पहले बैंड रीड एरिया में लोड कार्ड पढ़ें

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

0004 RSU 61 0008 0007 संपूर्ण संचायक को रीसेट करें, ऊपरी (8003) मान 2019990003 में घटाएं 0007 एलडी 69 0006 0005 0100008000 के साथ लोड वितरक 0005 एसटीडी 24 0000 8003 स्थान 0000 में स्टोर वितरक, अगला निर्देश 8003 (ऊपरी संचायक) में है नोट: डेटा या निर्देशों को एक ड्रम स्थान से दूसरे स्थान पर ले जाना दो निर्देशों की आवश्यकता है: एलडी, एसटीडी।

अब एक दो निर्देश पाश निष्पादित करता है:

8003 एसटीएल 20 1999 0003 स्टोर लोअर एक्युमुलेटर 1999 का डेटा पता प्रत्येक पुनरावृत्ति पर, नीचे, घटाया गया है। यह निर्देश ऊपर RSU निर्देश द्वारा ऊपरी संचायक में रखा गया था। नोट: यह निर्देश, अब ऊपरी संचायक में, घटाया जाएगा और फिर संचायक में रहते हुए फिर से निष्पादित किया गया।

0003 AU 10 0001 8003 संचायक में निर्देश के डेटा पते में 1 की कमी (एक ऋणात्मक संख्या में 10000 जोड़कर)

STL का डेटा पता अंततः 0003 तक कम हो जाएगा, और AU ... निर्देश 0003 पर शून्य से अधिलेखित हो जाएगा। जब ऐसा होता है (एसटीएल का अगला निर्देश पता 0003 रहता है) निष्पादन निम्नानुसार जारी रहता है:

0003 एनओओपी 00 0000 0000 नो-ऑपरेशन निर्देश, अगला निर्देश पता 0000 है 0000 एचएएलटी 01 0000 8000 हाल्ट, अगला निर्देश पता कंसोल है (यह हॉल्ट निर्देश उपरोक्त एसटीडी निर्देश द्वारा 0000 में संग्रहीत किया गया था)

डोनाल्ड नुथ की पुस्तकों की श्रृंखला कंप्यूटर प्रोग्रामिंग की कला 650 को समर्पित है।

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


 * अस्सेम्ब्लेर्स
 * प्रतीकात्मक इष्टतम असेंबली प्रोग्राम (SOAP) - एक असेंबलर (कंप्यूटिंग)
 * टेक्निकल असेंबली सिस्टम (TASS) - एक मैक्रो कोडांतरक


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

यह भी देखें

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