टीएमएस9900

TMS9900 पहले व्यावसायिक रूप से उपलब्ध, सिंगल-चिप 16-बिट माइक्रोप्रोसेसरों में से एक था। जून 1976 में पेश किया गया, इसने टेक्सस उपकरण ्स के TI-990  मिनी कंप्यूटर  आर्किटेक्चर को सिंगल-चिप प्रारूप में लागू किया, और शुरुआत में उस लाइनअप के लो-एंड मॉडल के लिए उपयोग किया गया था।

इसके 64-पिन दोहरी इन-लाइन पैकेज प्रारूप ने इसे अधिक सामान्य 40-पिन प्रारूप की तुलना में छोटी मशीनों में लागू करना अधिक महंगा बना दिया, और टीआई के स्वयं के उपयोग के बाहर अपेक्षाकृत कम डिज़ाइन की जीत देखी गई। उन उपयोगों में उनके TI-99/4A|TI-99/4 और TI-99/4A घरेलू कंप्यूटर थे, जिनकी अंततः लगभग 2.8 मिलियन इकाइयाँ बिकीं।

40-पिन पैकेज में 9900 के माइक्रो कंप्यूटर-ऑन-चिप कार्यान्वयन में टीएमएस9940, टीएमएस9980/81, टीएमएस9995 शामिल थे। TMS99105/10 1981 में 9900 का अंतिम पुनरावृत्ति था और इसमें TI के 990/10 मिनीकंप्यूटर की विशेषताएं शामिल थीं।

1980 के दशक के मध्य तक माइक्रो कंप्यूटर क्षेत्र इंटेल 8088 जैसे 16-बिट सिस्टम और मोटोरोला 68000 जैसे नए 16/32-बिट डिज़ाइन की ओर बढ़ रहा था। चिप के लिए कोई स्पष्ट भविष्य नहीं होने के कारण, टीआई ने अपना ध्यान विशेष प्रयोजन प्रोसेसर की ओर लगाया जैसे टेक्सास इंस्ट्रूमेंट्स TMS320, 1983 में पेश किया गया।

इतिहास
TMS9900 को TI-990 मिनीकंप्यूटर श्रृंखला के एकल चिप संस्करण के रूप में डिज़ाइन किया गया था, इंटरसिल 6100 की तरह एक एकल चिप PDP-8 (12 बिट) था, और फेयरचाइल्ड 9440 और डेटा जनरल mN601 दोनों डेटा के एक-चिप संस्करण थे। जनरल का दिनांक सामान्य नोवा राष्ट्रीय अर्धचालक  आईएमपी-16 या डीईसी एलएसआई-11 जैसे मल्टी-चिप 16-बिट माइक्रोप्रोसेसरों के विपरीत, जिनमें से कुछ टीएमएस9900 से पहले के थे, 9900 एक एकल-चिप, स्व-निहित 16-बिट माइक्रोप्रोसेसर था।

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

इस दृष्टिकोण का नकारात्मक पक्ष यह है कि इन रजिस्टरों तक पहुँचने में अधिक समय लगता है। तेज़ मेमोरी वाले मिनीकंप्यूटर कार्यान्वयन में, प्रभाव अपेक्षाकृत छोटा होता है और वास्तविक समय या मल्टी-टास्किंग वातावरण में उल्टा महत्वपूर्ण होता है क्योंकि संदर्भ स्विच आम होते हैं। एकल-उपयोगकर्ता माइक्रो कंप्यूटर जैसी अन्य भूमिकाओं में, यह ट्रेडऑफ़ सार्थक नहीं हो सकता है। 9900 के 40-पिन कार्यान्वयन में रजिस्टरों के लिए 128 या 256 बाइट्स तेज़ ऑनबोर्ड रैम शामिल थे।

TI ने कॉर्पोरेट तालमेल के लिए विभिन्न प्रभागों में समान आर्किटेक्चर का उपयोग किया: एक कंपनी, एक कंप्यूटर आर्किटेक्चर। 1970 के दशक के उत्तरार्ध में वाल्डेन सी. राइन्स ने TMS99110 की एक प्रस्तुति दी, जिसका कोड नाम "अल्फा" था। एक आईबीएम समूह एक पर्सनल कंप्यूटर विकसित कर रहा है। उन्होंने याद करते हुए कहा, हमें 1981 तक यह नहीं पता था कि हमने क्या खोया है क्योंकि आईबीएम ने आईबीएम पीसी के लिए इंटेल 8088 को चुना था। एक कारक 64K से अधिक तार्किक मेमोरी तक पहुँचने के लिए रोडमैप की कमी थी। 9900 परिवार केवल पेज-मैपिंग द्वारा अपना पता स्थान 16एमआईबी तक विस्तारित कर सका; 99000 खंडों के माध्यम से 256K को संबोधित कर सकता है।

TI-99/4A जैसे उत्पादों के साथ पर्सनल कंप्यूटर बाजार से बाहर होने के बाद, कंपनी के माइक्रोप्रोसेसर डिवीजन ने अंततः टेक्सास इंस्ट्रूमेंट्स TMS320 विशेष प्रयोजन प्रोसेसर श्रृंखला पर ध्यान केंद्रित किया।

वास्तुकला

 * }

TMS9900 में तीन आंतरिक 16-बिट प्रोसेसर रजिस्टर हैं - कार्यक्रम गणक (पीसी),  स्थिति रजिस्टर (एसटी), और वर्कस्पेस पॉइंटर रजिस्टर (डब्ल्यूपी)। WP रजिस्टर  सूचक (कंप्यूटर प्रोग्रामिंग) बाहरी रैंडम एक्सेस मेमोरी में एक आधार पते पर जहां प्रोसेसर के 16 सामान्य प्रयोजन उपयोगकर्ता रजिस्टर (प्रत्येक 16 बिट चौड़ा) रखे जाते हैं। यह आर्किटेक्चर त्वरित संदर्भ स्विचिंग की अनुमति देता है; जैसे जब एक सबरूटीन दर्ज किया जाता है, तो रजिस्टरों को अलग-अलग सहेजने की आवश्यकता के बजाय केवल एकल कार्यक्षेत्र रजिस्टर को बदलने की आवश्यकता होती है। बिट्स को अपरंपरागत रूप से क्रमांकित किया जाता है जिसमें सबसे महत्वपूर्ण बिट 0 होता है।

पते endianness ऑर्डरिंग कन्वेंशन वाले बाइट्स को संदर्भित करते हैं। TMS9900 एक क्लासिक 16 बिट मशीन है जिसका एड्रेस स्पेस 2 है16 बाइट्स (65,536 बाइट्स या 32,768 शब्द)।

स्टैक की कोई अवधारणा नहीं है और कोई स्टैक पॉइंटर रजिस्टर नहीं है। इसके बजाय, शाखा निर्देश मौजूद हैं जो प्रोग्राम काउंटर को एक रजिस्टर में सहेजते हैं और रजिस्टर संदर्भ को बदलते हैं। 16 हार्डवेयर और 16 सॉफ़्टवेयर इंटरप्ट वैक्टर प्रत्येक में पीसी और WP मानों की एक जोड़ी होती है, इसलिए रजिस्टर संदर्भ स्विच स्वचालित रूप से एक इंटरप्ट द्वारा भी किया जाता है।

निर्देश सेट और संबोधन
टीएमएस9900 में 69 निर्देश हैं जो एक, दो या तीन शब्द लंबे हैं और स्मृति में हमेशा शब्द-संरेखित रहते हैं। निर्देश सेट काफी ऑर्थोगोनल निर्देश सेट है, जिसका अर्थ है कि कुछ अपवादों के साथ, निर्देश ओपेरंड (एड्रेसिंग मोड) तक पहुंचने के सभी तरीकों का उपयोग कर सकते हैं।

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

सबसे महत्वपूर्ण दोहरे-ऑपरेंड निर्देशों (जोड़ें, घटाएं, तुलना करें, स्थानांतरित करें आदि) में स्रोत और गंतव्य ऑपरेंड दोनों के लिए 2-बिट एड्रेसिंग मोड और 4-बिट रजिस्टर चयनकर्ता फ़ील्ड शामिल हैं। ऑपकोड में, प्रतीकात्मक मोड को रजिस्टर फ़ील्ड के साथ 0 पर सेट के साथ अनुक्रमित मोड के रूप में दर्शाया गया है, इसलिए वर्कस्पेस रजिस्टर 0 (WR0) का उपयोग अनुक्रमित मोड में नहीं किया जा सकता है। XOR जैसे कम बार उपयोग किए जाने वाले दोहरे-ऑपरेंड निर्देशों में, गंतव्य ऑपरेंड एक कार्यस्थान रजिस्टर (या गुणा और विभाजित निर्देशों के मामले में कार्यस्थान रजिस्टर युग्म) होना चाहिए।

एक बिना शर्त और बारह सशर्त जंप निर्देशों के समूह के माध्यम से प्रवाह नियंत्रण की सुविधा प्रदान की जाती है। जंप लक्ष्य -128 से +127 शब्द पते के ऑफसेट के साथ पीसी के सापेक्ष हैं।

सबरूटीन कॉल के लिए, ब्रांच और लोड वर्कस्पेस पॉइंटर (BLWP) निर्देश नए WP और PC मानों को लोड करता है, फिर WP, PC और ST के मानों को क्रमशः (नए) रजिस्टर 13, 14 और 15 में सहेजता है। सबरूटीन के अंत में, रिटर्न वर्कस्पेस पॉइंटर (आरटीडब्ल्यूपी) इन्हें उल्टे क्रम में पुनर्स्थापित करता है। बीएलडब्ल्यूपी/आरटीडब्ल्यूपी का उपयोग करके, स्टैक की अनुपस्थिति के बावजूद सबरूटीन कॉल को नेस्ट करना संभव है, हालांकि, प्रोग्रामर को उचित रजिस्टर वर्कस्पेस को स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता है।

निर्देश सेट में एक शाखा और लिंक (बीएल) ऑपकोड भी शामिल है जो केवल WP को बदले बिना पीसी को रजिस्टर 11 में सहेजता है। इस मामले में, गंतव्य पते के रूप में WR11 का उपयोग करने वाला एक शाखा निर्देश (बी) रिटर्न ऑपकोड के रूप में काम कर सकता है, लेकिन प्रोग्रामर द्वारा रिटर्न पते को सहेजने के लिए कार्रवाई किए बिना बीएल-प्रकार सबरूटीन्स को नेस्ट नहीं किया जा सकता है।

TMS9900 एक निष्पादन अनुदेश X (eXecute) का समर्थन करता है। यह निर्देश निष्पादन (कंप्यूटर) एक रजिस्टर में निर्देश। इसका उपयोग डिबगिंग के लिए किया जा सकता है ( ब्रेकपाइंट निर्देश के रूप में) और बाइट-कोड दुभाषियों में उपयोग किए जाने वाले अनुक्रमित-ओपकोड तालिकाओं को बनाने के लिए।

TMS9900 एक्सटेंडेड ऑपरेशन (XOP) निर्देश का भी समर्थन करता है। XOP को 0-15 की श्रेणी में एक नंबर के साथ-साथ एक स्रोत पता भी दिया गया है। जब लागू किया जाता है, तो निर्देश स्मृति में पूर्वनिर्धारित स्थानों पर सोलह वैक्टरों में से एक के माध्यम से एक संदर्भ स्विच करेगा। एक्सओपी निर्देश नए कार्यक्षेत्र के रजिस्टर 11 में स्रोत ऑपरेंड का प्रभावी पता भी रखता है।

एक्सओपी बीएलडब्ल्यूपी की तुलना में कम लचीला है, क्योंकि ट्रांसफर वैक्टर को निश्चित स्थानों पर होना चाहिए, लेकिन एक स्रोत ऑपरेंड को रजिस्टर में या अन्यथा पारित करने के बजाय सीधे संबोधित करने की अनुमति देता है।

XOP का उपयोग सिस्टम कॉल सुविधा को लागू करने के लिए किया जा सकता है। TI के DX10 ऑपरेटिंग सिस्टम में, XOP 15 एक सिस्टम कॉल को आमंत्रित करता है। एक प्रोग्रामर एक असेंबलर मैक्रो को परिभाषित कर सकता है, उदाहरण के लिए एसवीसी, जो एक्सओपी 15 को आमंत्रित करता है।

एक्सओपी का एक अन्य उपयोग सॉफ्टवेयर में निर्देशों को लागू करना था जिसे 990 मिनीकंप्यूटर श्रृंखला के भविष्य के संस्करणों में समर्पित हार्डवेयर द्वारा नियंत्रित किया जा सकता है।

इंटेल 8086 के साथ सामान्य तुलना में, टीएमएस9900 में छोटे प्रोग्राम थे। कुछ नुकसान छोटा पता स्थान और तेज़ रैम की आवश्यकता थी।

कार्यान्वयन
TMS9900 को एन-चैनल सिलिकॉन गेट एमओएस प्रक्रिया में लागू किया गया था, जिसके लिए +5 वी, −5 वी और +12 वी बिजली की आपूर्ति और 3 मेगाहर्ट्ज (333ns चक्र) की अधिकतम आवृत्ति के साथ एक चार-चरण (गैर-अतिव्यापी) घड़ी की आवश्यकता होती है। आमतौर पर TIM9904 (उर्फ 74LS362) क्लॉक जनरेटर चिप का उपयोग करके 48 मेगाहर्ट्ज क्रिस्टल से उत्पन्न होता है।

सबसे छोटे निर्देशों को पूरा करने के लिए आठ घड़ी चक्र या 2.7 μs की आवश्यकता होती है (0 बाहरी प्रतीक्षा चक्र मानते हुए), कई अन्य 10 और 14 चक्रों (3.3...4.7 μs) के बीच चलते हैं; सबसे लंबे समय तक चलने वाले निर्देश (DIV) में 124 चक्र (41.3 μs) तक का समय लग सकता है।

चिप को (तब असामान्य) 64-पिन, 0.9 चौड़े दोहरे इन-लाइन पैकेज में पैक किया गया था। 15-बिट (वर्ड) पता बस और 16-बिट बस (कंप्यूटिंग) के लिए तुलनात्मक रूप से बड़ी संख्या में पिन को मल्टीप्लेक्सिंग (उदाहरण के लिए इंटेल 8086 सीपीयू के विपरीत) के उपयोग के बिना, बाहरी मेमोरी कनेक्शन रखते हुए समर्पित पिन पर लाने की अनुमति है। सरल। कई अन्य निर्माताओं द्वारा उपयोग की जाने वाली परंपरा के विपरीत, TI ने सबसे महत्वपूर्ण पते और डेटा लाइनों को क्रमशः A0 और D0 लेबल किया। सभी आंतरिक डेटा पथ और अंकगणितीय तर्क इकाई 16 बिट चौड़ी हैं।

प्रोसेसर को एक्सटर्नल प्रत्यक्ष मेमोरी एक्सेस (डीएमए) के लिए एड्रेस बस ट्राई-स्टेट के साथ रोका जा सकता है। मेमोरी एक्सेस हमेशा 16 बिट चौड़ा होता है, सीपीयू स्वचालित रूप से बाइट-वाइड एक्सेस के लिए पढ़ने-पहले-लिखने का संचालन करता है।

हार्डवेयर इंटरप्ट सिस्टम 4-बिट इंटरप्ट प्राथमिकता इनपुट का समर्थन करता है, जिसे इंटरप्ट अनुरोध को पूरा करने के लिए स्टेटस रजिस्टर (बिट्स 12−15) में संग्रहीत प्राथमिकता स्तर से अधिक होना आवश्यक है। इसके अलावा, /LOAD इनपुट एक समर्पित वेक्टर के साथ एक गैर-मास्केबल इंटरप्ट सुविधा प्रदान करता है।

TMS9900 CPU में एक 16-बिट शिफ्ट का रजिस्टर (CRU) भी शामिल है, जिसे बाहरी शिफ्ट रजिस्टरों के साथ इंटरफेस करने के लिए डिज़ाइन किया गया है, जिसमें कुल 4096 एड्रेसेबल बिट्स में से 1−16 बिट चौड़ाई के फ़ील्ड तक पहुंच का समर्थन करने वाले समर्पित निर्देश हैं।

समानांतर बाह्य उपकरणों को मेमोरी-मैप्ड I/O|मेमोरी-मैप्ड फैशन में नियमित पते और डेटा बस से जोड़ा जा सकता है।

अनुप्रयोग
TMS9900 का उपयोग TI-99/4A|TI-99/4 और TI-99/4A होम कंप्यूटर में किया गया था। दुर्भाग्य से, उत्पादन लागत को कम करने के लिए, TI ने इन प्रणालियों में तेज़ प्रकार की RAM के केवल 128 16-बिट शब्दों का उपयोग करना चुना, जिसे TMS9900 सीधे एक्सेस कर सकता था। बाकी मेमोरी 16KB की 8 बिट गतिशील रैंडम एक्सेस मेमोरी थी जो केवल अप्रत्यक्ष रूप से वीडियो डिस्प्ले कंट्रोलर के माध्यम से पहुंच योग्य थी, जिसने TI-99/4 के प्रदर्शन को खराब कर दिया।

टीआई ने सीपीयू, मेमोरी, आई/ओ सहित कंप्यूटर मॉड्यूल की टीएम990 श्रृंखला विकसित की, जिसे कार्ड फ्रेम में प्लग करने पर 16-बिट मिनीकंप्यूटर बन सकता है। इनका उपयोग आमतौर पर प्रक्रिया नियंत्रण के लिए किया जाता था। एक माइक्रोप्रोसेसर ट्रेनर TM990/189 के रूप में जारी किया गया था।

टीएमएस9900 पारिवारिक उत्पाद विकास
माइक्रोप्रोसेसरों के TMS9900 परिवार की दूसरी पीढ़ी TMS9995 थी जो किसी भी पिछले 9900 परिवार प्रोसेसर की तुलना में 3 गुना तेज गति से कार्यात्मक प्रदर्शन प्रदान करती थी। मुख्यतः अनुदेश प्रीफ़ेच प्रौद्योगिकी के समावेशन के कारण। घरेलू कंप्यूटर क्षेत्र में, TMS9995 का उपयोग केवल टॉमी ट्यूटर, एक गूढ़ TI99-4/A अपग्रेड जिसे जिनेव 9640 कहा जाता है, और इलेक्ट्रॉनिक्स टुडे में मुद्रित एक प्रोजेक्ट: पॉवरट्रान कॉर्टेक्स में हुआ। इसे TI-99/2 और TI-99/8 कंप्यूटर सिस्टम में उपयोग करने की योजना बनाई गई थी, लेकिन प्रोटोटाइप चरण से आगे नहीं बढ़ पाया।

TI ने बाद में माइक्रोप्रोसेसरों का अधिक शक्तिशाली TMS99000 परिवार विकसित किया, जिसका उपयोग लागत में कमी के रूप में TI-990#TI-990 मॉडल|990/10A मिनीकंप्यूटर में CPU के रूप में किया गया था। दुर्भाग्य से, जब तक 990/10ए बाज़ार में आया, मिनीकंप्यूटर युग का अंत पहले से ही दिखाई दे रहा था।

TMS99000 परिवार में दो माइक्रोप्रोसेसर शामिल हैं, TMS99105A और TMS99110A, जो ऑन-चिप मैक्रोस्टोर ROM मेमोरी की सामग्री को छोड़कर समान हैं (मैक्रोस्टोर मेमोरी में मानक मशीन कोड में लिखे गए इम्यूलेशन रूटीन के माध्यम से अतिरिक्त फ़ंक्शन या निर्देश शामिल हैं)। TMS99110A माइक्रोप्रोसेसर में ऑन-चिप ROM मैक्रोस्टोर में फ्लोटिंग पॉइंट निर्देश होते हैं जो मशीन भाषा निर्देश सेट के हिस्से के रूप में उपलब्ध होते हैं, जबकि बेसलाइन TMS99105A नहीं होता है। दोनों चिप्स मैक्रोस्टोर निर्देशों को बाहरी ROM में लागू कर सकते हैं। TMS99000 परिवार के तीसरे सदस्य, TMS99120 की घोषणा की गई लेकिन इसका व्यावसायिक उत्पादन कभी नहीं किया गया होगा। TMS99120 में ऑन-चिप ROM मैक्रोस्टोर में PASCAL उच्च-स्तरीय भाषा के लिए रन-टाइम सपोर्ट रूटीन शामिल था।

TMS99000 परिवार के लिए निर्देश सेट अनुकूलता बनाए रखते हुए 9900 निर्देश सेट का विस्तार करता है। अतिरिक्त निर्देशों में हस्ताक्षरित गुणा और भाग (पहली बार टीएमएस9995 में प्रदर्शित), दीर्घ-शब्द शिफ्ट, जोड़ना और घटाना शामिल हैं; लोड स्थिति रजिस्टर, लोड वर्कस्पेस पॉइंटर, स्टैक ऑपरेशंस, मल्टीप्रोसेसर समर्थन, बिट हेरफेर। परिवार के सदस्य कोड/डेटा विभाजन के माध्यम से 256KB मेमोरी तक पहुंच सकते हैं, और 16MiB तक का पता लगाने के लिए TIM99610 मेमोरी मैपर का उपयोग कर सकते हैं। आर्किटेक्चर में TMS9900 और TMS9995 की तुलना में कई अन्य उन्नतियाँ शामिल हैं।

बाहरी संबंध

 * TMS9900 manuals and references from         Bitsavers