इंट्रो कंप्यूटर आर्किटेक्चर में TTL पर FPGAs का उपयोग करने के क्या फायदे हैं?


24

मैं एक उदार कला महाविद्यालय में एक और एकमात्र कंप्यूटर वास्तुकला पाठ्यक्रम पढ़ाता हूं। कंप्यूटर विज्ञान प्रमुख और मामूली के लिए पाठ्यक्रम आवश्यक है। हमारे पास कंप्यूटर इंजीनियरिंग, इलेक्ट्रिकल इंजीनियरिंग, अन्य हार्डवेयर पाठ्यक्रम, आदि नहीं हैं। पाठ्यक्रम में मेरा प्राथमिक लक्ष्य छात्रों को गेट स्तर तक सभी तरीके से समझना है कि कंप्यूटर कैसे काम करते हैं, जो मुझे विश्वास है कि वे एक हार्डवेयर लैब के माध्यम से सबसे अच्छा सीखते हैं और सिर्फ एक पाठ्यपुस्तक ( कंप्यूटर संगठन और डिजाइन के माध्यम से नहींहेनेसी और पैटरसन द्वारा)। मेरा माध्यमिक लक्ष्य उन्हें कंप्यूटर वास्तुकला के बारे में उत्साहित करना और कंप्यूटर विज्ञान के बारे में उनकी उत्तेजना को बढ़ाना है। उद्योग के लिए उन्हें सीधे तैयार करना एक लक्ष्य नहीं है, हालांकि उन्हें अधिक कंप्यूटर वास्तुकला का अध्ययन करने के लिए प्रेरित करना है। छात्रों को आमतौर पर किसी भी चीज का निर्माण करने या कॉलेज स्तर के लैब कोर्स लेने का कोई अनुभव नहीं है। आमतौर पर, 10-15 छात्र प्रति सेमेस्टर पाठ्यक्रम लेते हैं।

मैं 1998 के बाद से इस तरह से पाठ्यक्रम सिखा रहा हूं कि कैसे मुझे 1980 के दशक के अंत में एमआईटी में कंप्यूटर आर्किटेक्चर और डिजिटल इलेक्ट्रॉनिक्स सिखाया गया था: पावर्ड ब्रेडबोर्ड पर डीआईपी टीटीएल चिप्स का उपयोग करना। पहले हार्डवेयर लैब असाइनमेंट पर, छात्र एक पूर्ण योजक का निर्माण करते हैं। लगभग आधे सेमेस्टर के माध्यम से, वे 8-बिट अनुदेश सेट के साथ एक साधारण कंप्यूटर का निर्माण शुरू करते हैं। तारों को कम करने के लिए, मैं उन्हें कुछ इलेक्ट्रॉनिक्स (दो डी फ्लिप-फ्लॉप, दो 4-बिट एलएस 181 ALUs के साथ एक 8-बिट ALU और एक त्रि-राज्य बफर के रूप में कार्य करने के लिए एक पीसीबी प्रदान करता हूं)। इन प्रयोगशालाओं में से पहली पर, वे दो निर्देश प्रारूपों के लिए (बहुत ही सरल) नियंत्रण संकेतों को प्राप्त करते हैं और सर्किट का निर्माण करते हैं, स्विच पर निर्देश दर्ज करते हैं और रोशनी से परिणाम पढ़ते हैं। प्रयोगशालाओं के दूसरे पर, वे एक प्रोग्राम काउंटर (2 LS163s) और एक EPROM (जो जोड़ते हैं) जोड़ते हैंमेरा मूल प्रश्न इस बारे में था, कि इससे पहले कि मैं इंट्रो आर्किटेक्चर कैसे सिखाऊं)। अंतिम लैब पर, वे एक सशर्त शाखा निर्देश जोड़ते हैं। जबकि छात्र उचित समय बिताने के लिए वायरिंग और डिबगिंग करते हैं, मुझे लगता है कि जहाँ सीखने में बहुत कुछ होता है, और छात्र उपलब्धि की वास्तविक भावना के साथ निकलते हैं।

इस मंच पर लोग मुझे बता रहे हैं, हालांकि, मुझे FPGAs पर स्विच करना चाहिए, जो मैंने पहले काम नहीं किया है। मैं एक सॉफ्टवेयर इंजीनियर हूं, कंप्यूटर इंजीनियर नहीं, और अब कुछ समय के लिए स्कूल से बाहर हो गया, लेकिन मैं सीखने में सक्षम हूं। मैं अपने मौजूदा डिजिटल प्रशिक्षकों को बदलने के लिए बहुत अधिक धन ( शायद कुछ हज़ार डॉलर) प्राप्त नहीं कर पाऊंगा । हमारे पास एक एकल तर्क विश्लेषक है।

मेरे लक्ष्यों और बाधाओं को देखते हुए, क्या आप EE यह अनुशंसा करेंगे कि मैं FPGAs के आधार पर स्विच करने के अपने वर्तमान दृष्टिकोण से चिपके रहूं? यदि उत्तरार्द्ध, तो क्या आप मुझे कोई भी संकेत दे सकते हैं जिसके साथ आप खुद को शिक्षित कर सकते हैं?

जैसा कि अनुरोध किया गया है, यहां पाठ्यक्रम और प्रयोगशाला असाइनमेंट का लिंक है

जोड़: हाँ, यह एक डिजिटल लॉजिक कोर्स भी है। जब मैं अपने कॉलेज में गया, तो छात्रों को कंप्यूटर आर्किटेक्चर और डिजिटल लॉजिक में से प्रत्येक के एक सेमेस्टर को लेने की आवश्यकता थी, और मैंने उन्हें एक एकल सेमेस्टर में सम्मिलित किया। बेशक, यह अतीत के बारे में एक बयान है, न कि भविष्य के बारे में।


क्या आप अपने पाठ्यक्रम / पाठ्यक्रम को पोस्ट या लिंक कर सकते हैं?
केविन वर्मर

क्या मेरा सुझाव है कि आप एक वैकल्पिक दृष्टिकोण पर विचार करें? कैसे अपनी प्रयोगशालाओं में Arduinos जैसे microcontrollers का उपयोग करने के बारे में?
जॉनीबोट्स

7
@JonnyBoats: ... यह कैसे फिट होगा? वह हार्डवेयर गेट से कंप्यूटर बनाने की बात कर रही है।
डे्रोन

आपके प्रश्न का उत्तर देने के लिए - वस्तुतः कोई भी हार्डवेयर गेट नहीं बनाता है, वे पहले से लागू गेटों के साथ चिप्स खरीदते हैं। FPGAs के साथ एक हार्डवेयर में फाटकों का निर्माण नहीं करता है, वे उन्हें सॉफ्टवेयर में सेट करते हैं।
जॉनीबोट्स

1
@JonnyBoats: FPGAs हार्डवेयर फाटकों (LUTs प्रोग्रामेबल गेट्स) से डिजिटल डिज़ाइन का निर्माण कर रहे हैं। फाटक हार्डवेयर के रूप में मौजूद हैं, और आपके डिजाइन पूरी तरह से भौतिक तरीके से कार्य करते हैं। TTL के साथ आप उस मानक से "गेट्स का निर्माण" नहीं कर रहे हैं ... वे पूर्व-निर्मित गेट हैं। एकमात्र अंतर यह है कि गेट फ़ंक्शन प्रोग्राम करने योग्य हैं, रूटिंग प्रोग्रामेबल (लेकिन अभी भी भौतिक) है, और उनमें से अधिक परिमाण के कई आदेश हैं। मैं अब भी नहीं देखता कि एक Arduino डिजिटल लॉजिक डिज़ाइन के लिए बिल्कुल कैसे फिट बैठता है। (जब तक कि आप उसके लिए पाठ्यक्रम के उद्देश्य को स्वयं बदलना नहीं चाहते?)
डार्रोन

जवाबों:


16

कक्षा के लक्ष्यों को देखते हुए, मुझे लगता है कि TTL दृष्टिकोण ठीक है, और मैं इसे "FPGA आदमी" के रूप में कहता हूं। FPGAs तर्क का एक समुद्र है और आप उनके साथ सभी प्रकार के मज़ेदार सामान कर सकते हैं, लेकिन वहाँ केवल इतना है कि एक सेमेस्टर में करना मानवीय रूप से संभव है।

आपके सिलेबस को देखते हुए, आपकी कक्षा तर्क डिजाइन और "मशीन स्ट्रक्चर्स" पाठ्यक्रमों का एक मिश्रण है जिसे मैंने अंडरग्रेजुएट में लिया था। (इसके अलावा, यह सीएस की बड़ी कंपनियों के लिए है। मैं सभी सीएस बड़ी कंपनियों के लिए असली हार्डवेयर का सामना कर रहा हूं - उन्हें लेखन कोड के साथ दूर जाने देना एक कदम वापस की तरह लगता है।) इस परिचयात्मक स्तर पर, जहां आप विधानसभा निर्देश पर जा रहे हैं। टूट गए हैं, मुझे लगता है कि छात्रों को कोड बनाम चीजों को हाथ से करने का कोई वास्तविक लाभ नहीं है। एचडीएल सीखने, कैसे लिखने के लिए सीखने एचडीएल साधन कर synthesizable एचडीएल, और आईडीई सीखने। यह एक बहुत अधिक वैचारिक जटिलता और पुन: अमूर्तता है। साथ ही आपको सॉफ्टवेयर मुद्दों से निपटना होगा।

आम तौर पर FPGAs का उपयोग करने वाले पाठ्यक्रम का बिंदु तर्क बनाने का अभ्यास करना है जो कि उपयोगी है - बाह्य उपकरणों से बात करने के लिए उपयोगी है, धारावाहिक comms, RAM, वीडियो जनरेटर, आदि यह मूल्यवान ज्ञान है, लेकिन यह बहुत अधिक लगता है आपके पाठ्यक्रम का दायरा। कंप्यूटर आर्किटेक्चर में अधिक उन्नत कक्षाओं में छात्रों को FPGAs में परिष्कृत सीपीयू लागू होते हैं, लेकिन फिर से, यह आपके पाठ्यक्रम के दायरे से बाहर लगता है।

मैं FPGAs के लिए एक व्याख्यान देना बहुत कम से कम होगा। एक देव बोर्ड के साथ कुछ डेमो के माध्यम से चलाएं और उन्हें वर्कफ़्लो दिखाएं। जब से तुम मिल्स पर हैं, शायद आप बर्कले में लोग सीएस चलाने संपर्क कर सकते हैं 150 / 152 और जाना देखते हैं कि कैसे वे काम करते हैं।


मैं कह सकता हूं कि 90 के दशक की शुरुआत में, CS150 को मूल रूप से सिखाया गया था कि ओपी एमआईटी में अपने शोध का वर्णन करता है - ज्यादातर 74xx गेट्स, एक साधारण 8-बिट (या 4-बिट?) सीपीयू के निर्माण में। हमारे पास योजनाबद्ध कैप्चर टूल (एचडीएल नहीं) में एफपीजीए के डिजाइन का उपयोग करके एक संक्षिप्त परियोजना थी। ऐसा लगता है कि वर्तमान पाठ्यक्रम ज्यादातर एचडीएल-आधारित है।
फोटोन

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

मैं FPGA वातावरण की जटिलता पर विचार कर रहा हूं और शायद मैं वास्तव में असहमत नहीं हूं कि यह एक परिचयात्मक पाठ्यक्रम के लिए बहुत अधिक हो सकता है। यह सिर्फ आधुनिक वर्कफ़्लोज़ के साथ नहीं पढ़ाने के लिए एक वास्तविक शर्म की तरह लगता है। मैं खुद टीटीएल के साथ खेलता था, और जब तक मैं एफपीजीएएस में नहीं आया, तब तक मैं वास्तव में यह समझने लगा कि कैसे (अपेक्षाकृत सरल) कंप्यूटर काम करते हैं। जो काम मुझे करना था, उससे बेहतर लगता है, इसलिए हो सकता है कि उसे बेहतर अवधारणाएं मिलें। हालांकि, टीटीएल लॉजिक चिप्स के परिप्रेक्ष्य से, एक "वास्तविक" प्रोसेसर बहुत दूर दिखता है। FPGAs के बाद, यह एक बनाने के लिए बोधगम्य है।
डे्रन

"कैसे कंप्यूटर काम करते हैं" से मेरा मतलब है कि वास्तव में उन्हें कैसे बनाया जाए, न कि एक फजी "घड़ियों और फ्लॉप" अवधारणा ... बेशक टीटीएल किसके लिए पर्याप्त है। (और फिर से, उसका शोध ऐसा लगता है कि यह अच्छी तरह से सिखा सकता है ... मेरा मुद्दा हार्डवेयर पर अवधारणाओं को सिखा रहा है जिसमें लगभग कोई वास्तविक अनुप्रयोग नहीं है, वास्तव में उपयोग किए जाने वाले हार्डवेयर पर पढ़ाने के बजाय)
23

@ डार्रॉन, टीटीएल मूल रूप से अप्रचलित है, लेकिन यह वैचारिक रूप से साफ है - चीजों को जटिल करने के लिए कोई भाषा या आईडीई नहीं है, बस आरेख और बिंदु से बिंदु वायरिंग। आपके शब्द का आकार बढ़ने पर यह गड़बड़ हो जाता है, लेकिन 8-बिट सामान बहुत खराब नहीं है। यदि कक्षा आगे बढ़ती है, या यदि अनुवर्ती कक्षा होती है, तो FPGAs समझ में आता है, लेकिन मुझे लगता है कि यह एक अनावश्यक जटिलता होगी जिसे कवर किया जा रहा है।
MNG

6

मैं फोटॉन से बहुत सहमत हूं। FPGAs का उपयोग करने के कई फायदे हैं। यहाँ कुछ दिलचस्प बिंदुओं पर विचार किया गया है:

1) काम के तारों के घंटों या संभावित दिनों के बिना, गेट डिज़ाइन को बहुत तेज़ी से आज़माने के लिए आसान प्लेटफ़ॉर्म। FPGAs संभावित बहुत जटिल डिजिटल डिजाइनों को काफी आसानी से अनुमति देते हैं। (बहुत अधिक सिद्धांत, कम व्यस्तता)

2) प्रयोगशाला के बाहर सिमुलेशन में एक छात्र के काम के महत्वपूर्ण हिस्से किए जा सकते हैं।

3) सॉफ्टवेयर वातावरण मुक्त है (आमतौर पर सिम्युलेटर सहित)।

4) आसपास कई अपेक्षाकृत सस्ते FPGA प्लेटफॉर्म हैं। शैक्षणिक मूल्य निर्धारण में मदद करनी चाहिए। टैरेस डे0-नैनो जैसी चीज पूरी किट के लिए $ 59 है (और यह बहुत अच्छा दिखता है)। $ 50-60 प्रति-बोर्ड रेंज लगती है जिसे आप देख रहे होंगे।

5) FPGAs के साथ करने के लिए वास्तव में बहुत अच्छा सामान है। OpenCores जैसी साइटें हैं जो FPGAs के साथ उपयोग के लिए सैकड़ों पूर्वनिर्मित मॉड्यूल प्रदान करती हैं। नहीं है FPGA4Fun , जो ट्यूटोरियल और परियोजनाओं के एक बहुत कुछ है। शुद्ध मनोरंजन के लिए, FPGA आर्केड FPGAs के साथ खेल के निर्माण के लिए समर्पित है। आप FPGA बोर्डों के आसपास जो सेट करते हैं, उसके आधार पर, यह वास्तव में मजेदार वर्ग के लिए बना सकता है।

6) कुछ बोर्डों में उनके लिए डिजिटल डिज़ाइन कक्षाएं स्पष्ट रूप से तैयार हैं: इंट्रो टू डिजिटल डिज़ाइन (चेतावनी: बड़ी डाउनलोड) थोड़ा पुराने ज़िलिनएक्स स्पार्टन 3 ई-आधारित बोर्ड का उपयोग करते हुए। (हालांकि वह ActiveHDL पर आधारित है, मैं व्यक्तिगत रूप से एक अधिक मानक VHDL या वेरिलॉग पसंद करूंगा) प्रमुख FPGA विक्रेताओं के पास विश्वविद्यालय के कार्यक्रम भी हैं: Xilinx University Programme , Altera University Programme , Lattice University Programme

7) वर्कफ़्लो इन दिनों पेशेवर डिज़ाइन के काम के बहुत करीब है। FPGA के विकास में काम करने का ज्ञान एक तत्काल विपणन कौशल है।


बहुत बहुत धन्यवाद। मैं निश्चित रूप से इन बाहर की कोशिश करेंगे। FWIW, अगर मेरे पास हार्डवेयर लैब का दूसरा सेमेस्टर होता, तो मैं निश्चित रूप से उनके साथ FPGAs या Arduino करता।
एलेन स्पार्टस 19

5

मुझे लगता है कि आजकल अगर आप गेट स्तर पर चीजों से निपट रहे हैं, तो आप "कंप्यूटर आर्किटेक्चर" के क्षेत्र में काम नहीं कर रहे हैं, आप वास्तव में सिर्फ बुनियादी डिजिटल इलेक्ट्रॉनिक्स कर रहे हैं। लेकिन साथ ही, आप गेट-लेवल डिजिटल इलेक्ट्रॉनिक्स से लेकर कैशिंग एल्गोरिदम, समानांतर कंप्यूटिंग आर्किटेक्चर, SIMD, नेटवर्किंग, आदि तक किसी भी सेमेस्टर में सब कुछ नहीं सिखा सकते।

इसलिए यह वास्तव में नीचे आता है कि आप क्या सिखाना चाहते हैं। यदि आप गेट-लेवल डिजिटल इलेक्ट्रॉनिक्स पर ध्यान केंद्रित करना चाहते हैं, तो गेट-लेवल चिप्स के साथ काम करने से छात्रों को काम करने के लिए कुछ हाथ मिलेंगे और उन्हें उस सामग्री की एक मजबूत समझ मिलेगी। लेकिन अगर आप कंप्यूटर आर्किटेक्चर सिखाना चाहते हैं, तो उन्हें शायद AND और OR गेट्स की तुलना में बहुत अधिक उच्च स्तर पर काम करना होगा।

बहुत कम से कम, आप शायद एचडीएल सीखने के लिए और एक एफपीजीए-आधारित डिज़ाइन या दो को लागू करने के लिए खुद को इसका श्रेय देते हैं, ताकि आप (यहां शिक्षा विशेषज्ञ के रूप में) यह आकलन कर सकें कि आपके छात्रों के लिए वे कौशल आपके लक्ष्यों में कैसे फिट होंगे। मुझे उम्मीद है कि अन्य उत्तर कम और बिना लागत वाली सामग्रियों को बहुत सारे संकेत देंगे जो आपको थोड़े समय में FPGA डिजाइन पर गति प्रदान करने में मदद करेंगे। (संकेत: Xilinx और Altera दोनों मुफ्त सॉफ्टवेयर डिजाइन उपकरण और सिमुलेटर की पेशकश करते हैं, साथ में आवेदन पत्र और अन्य शिक्षण सामग्री के टन)।


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

5

टीटीएल का उपयोग करने का एक फायदा यह होगा कि बहुत प्राथमिक सर्किट के लिए, एचडीएल का विवरण वास्तविक सर्किटरी को मुखौटा बना देगा, और अधिकांश छात्र एचडीएल सीखने और सीखने में अधिकतर समय व्यतीत करेंगे। मुझे लगता है कि पहले भाग के लिए टीटीएल और फिर आर्किटेक्चर पार्ट के लिए एफपीजीए बेहतर होगा, क्योंकि यह वास्तव में टीटीएल के साथ एक प्रोग्रामेबल सिस्टम बनाना मुश्किल है।


+1 एचडीएल सर्किटरी को छुपाता है। एचडीएल में मल्टीप्लेक्स लिखने के लिए कुछ अलग तरीके हैं, और उनमें से अधिकांश में बहुत कम या कुछ भी नहीं है कि कैसे मक्स बनाने के लिए फाटकों की व्यवस्था की जाती है।
अज्ज ४१०

यह प्रमुख बिंदु है - एफपीजीए के लिए कोड लिखना बहुत आसान है, वास्तव में एक मौलिक स्तर पर समझे बिना कि यह कैसे काम करता है। अब, इससे बचने के तरीके हैं, उदाहरण के लिए, एल्टर की आईडीई में एक योजनाबद्ध प्रवेश मोड शामिल है जो आपको गेट स्तर के डिजाइन पर ध्यान केंद्रित करने में मदद कर सकता है, लेकिन इसके साथ चिपके रहने से आप वास्तव में FPGAs की शक्ति का शोषण करने में सक्षम नहीं होते हैं, इसलिए वास्तव में स्विच करने का कोई मतलब है?
जूल्स

1

शारीरिक सर्किट असेंबली के साथ कुछ हाथों के अनुभव के महत्व की पूरी तरह से सराहना करते हुए , मुझे लगता है कि यह पहचानना भी महत्वपूर्ण है कि आप आधुनिक कंप्यूटिंग प्रथाओं को बिना किसी स्तर के कवर नहीं कर सकते हैं जो "लगता है" सिमुलेशन या छिपाने-बहुत-बहुत अमूर्त है, इसलिए सबसे अच्छा आप यह कर सकते हैं कि जटिलता के अगले स्तर को प्रशंसनीय बनाने के लिए पर्याप्त अमूर्तता में जोड़ने से पहले प्रत्येक स्तर पर कुछ काम करने की कोशिश करें। MIT पाठ्यक्रम जिसका आप उदाहरण के लिए उल्लेख करते हैं, एक बिंदु पर चिप्स और मॉड्यूल के ऊपर चलने वाली 32-बिट RISC मशीन का एक सॉफ्टवेयर सिमुलेशन करना शुरू किया जो 8 बिट माइक्रोप्रोग्राम्ड मशीन थी जो शारीरिक रूप से "निर्मित" थी। उस बिंदु पर, मैं तर्क दूंगा कि FPGA में ऐसी मशीन को लागू करना अधिक प्रभावी है (ऐसा कुछ मुझे संदेह है कि उन्होंने शायद तब से किया है)।

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

आपको शैक्षणिक मूल्य निर्धारण में $ 100 / ea से कम के मौजूदा मौजूदा अकेले FPGA बोर्डों को रखने में सक्षम होना चाहिए।

एक अन्य विकल्प, वर्ग के हिस्से के रूप में अपना निर्माण करना हो सकता है, शायद परियोजना के पहले भाग के रूप में एक FPGA सीरियल-लोडिंग इंटरफ़ेस का निर्माण करना। इसका एक अच्छा लाभ यह है कि लागत इतनी कम आएगी कि छात्र अपने बोर्ड को शब्द के अंत में चालू करने के बजाय रख सकते हैं, जिसके परिणामस्वरूप मुट्ठी भर के बीच चल रही रुचि और जागरूकता का परिणाम होगा।


बहुत बहुत धन्यवाद। मुझे एमआईटी में बदलाव के बारे में पता था। वास्तव में, मुझे अपने वर्तमान संस्थान में पुराने ६.०४ / ६.१११ लैब किट के साथ शुरू किया गया था, जिनकी अब एमआईटी को जरूरत नहीं थी। मेरे छात्र, हालांकि, MIT के छात्र नहीं हैं और वे एक सेमेस्टर में उतना नहीं अवशोषित कर सकते हैं, इसलिए मुझे चयनात्मक होना चाहिए। (वास्तव में, मैंने एमआईटी में पाया कि अधिकांश छात्र उतना ही अवशोषित नहीं कर सकते थे जितना कि उन पर फेंका गया था, लेकिन यह एक और चर्चा है।) FPGA बोर्डों की कम लागत निश्चित रूप से आकर्षक है।
एलेन स्पर्टस

1

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.