"सॉफ़्टवेयर हार्डवेयर को प्रतिस्थापित कर सकता है" वाक्यांश का क्या अर्थ है?


90

हार्डवेयर / सॉफ्टवेयर इंटरफेस और ऑपरेटिंग सिस्टम पर शुरुआती पाठ्यक्रम का अध्ययन करना, अक्सर इस विषय पर आता है कि क्या सॉफ़्टवेयर और इसके विपरीत कुछ हार्डवेयर भागों को बदलना बेहतर होगा। मैं कनेक्शन नहीं बना सकता।


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

12
"कनेक्शन" यह है कि सॉफ्टवेयर और हार्डवेयर दोनों अलग-अलग तरीकों से, लॉजिक स्टेटमेंट्स द्वारा निष्पादित होते हैं।
काइमेरा

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

4
जाहिर है कि आप सभी हार्डवेयर को सॉफ्टवेयर से बदल नहीं सकते हैं - सॉफ्टवेयर मॉनिटर, माउस या कीबोर्ड बनाने की कोशिश करने का कोई मतलब नहीं है। (जब तक वे आभासी न हों)
इमिबिज़ करें

2
विचार करें कि हम (सॉफ़्टवेयर) ऑपरेटिंग सिस्टम का उपयोग करते हैं क्योंकि: 1) हार्डवेयर में सीधे ओएस लिखना एक अविश्वसनीय रूप से जटिल चिप की आवश्यकता होगी, जिसमें बहुत अधिक खर्च होंगे 2) हार्डवेयर को आसानी से अपडेट नहीं किया जा सकता है, इसलिए हार्डवेयर ओएस को अपडेट प्राप्त नहीं होगा। यदि एक सुरक्षा समस्या पाया जाता है यह आदि आदि समझौता नहीं किया जा सकता
Bakuriu

जवाबों:


176

मुझे लगता है कि अन्य उत्तर गायब हैं यह मूलभूत संबंध है:

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

(यह उत्तर डेस्कटॉप प्रसंस्करण पर केंद्रित है और उस डोमेन से उदाहरण का उपयोग करता है)

हार्डवेयर के साथ सॉफ्टवेयर की जगह

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

हमने ग्राफिक्स प्रोसेसिंग को सॉफ्टवेयर से हार्डवेयर में स्थानांतरित किया: 3dfx वूडू और एनवीडिया टीएनटी (अब GeForce ) दर्ज करें। ये विशेष ग्राफिक्स कार्ड थे जो सीपीयू से GPU तक प्रसंस्करण को बंद कर देते थे। इतना ही नहीं इस कार्यभार को फैलाने के लिए, अधिक कंप्यूटिंग संसाधन प्रदान करने के लिए समान कार्य करने के लिए, ग्राफिक्स कार्ड विशेष हार्डवेयर थे जो 3 डी ग्राफिक्स को बहुत तेजी से और सीपीयू की तुलना में अधिक सुविधाओं के साथ प्रस्तुत कर सकते थे।

आधुनिक युग में फास्ट फॉरवर्ड, और डेस्कटॉप पर गैर-सीपीयू ग्राफिक्स की आवश्यकता होती है । यहां तक ​​कि ऑपरेटिंग सिस्टम एक जीपीयू के बिना काम नहीं कर सकता है। यह इतना महत्वपूर्ण है कि सीपीयू वास्तव में अब GPUs को एकीकृत करते हैं। 1

सॉफ्टवेयर के साथ हार्डवेयर की जगह

जब डीवीडी एकदम नया था, तो आप अपने डेस्कटॉप कंप्यूटर में एक डीवीडी ड्राइव स्थापित कर सकते हैं। हालाँकि, दिन का सीपीयू इतना शक्तिशाली नहीं था कि वह बिना रुके डीवीडी वीडियो और ऑडियो स्ट्रीम को डिकोड कर सके। पहले, डिकोडिंग करने के लिए एक विशेष PCI बोर्ड की आवश्यकता होती थी। यह विशेष हार्डवेयर था जो विशेष रूप से डीवीडी प्रारूप को डिकोड करने के लिए बनाया गया था और कुछ नहीं। 3 डी ग्राफिक्स के साथ बहुत पसंद है, इसने न केवल अधिक कंप्यूटिंग संसाधन प्रदान किए, बल्कि कार्य के लिए कस्टम-बिल्ट किया गया, जिससे डीवीडी प्लेबैक सुचारू हो गया।

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

अब हमारे पास सीपीयू सैकड़ों या हजारों बार शक्तिशाली 2 हैं जैसा कि हमारे पास था जब डीवीडी पेश किया गया था। जब ब्लू-रे साथ आया, तो हमें कभी भी विशेष हार्डवेयर की आवश्यकता नहीं थी, क्योंकि सामान्य-उद्देश्य वाला हार्डवेयर कार्य को संभालने के लिए पर्याप्त शक्तिशाली से अधिक था।

दोनों कर रहे हैं

आधुनिक इंटेल सीपीयू में H.264 एन्कोडिंग और डिकोडिंग के लिए विशेष निर्देश हैं । यह एक प्रवृत्ति का हिस्सा है जहां सामान्य-उद्देश्य वाले सीपीयू विशेष कार्य प्राप्त कर रहे हैं, सभी एक ही चिप में। हमें जल्दी से डीवीडी के साथ H.264 को कुशलतापूर्वक डिकोड करने के लिए एक अलग PCI एक्सप्रेस बोर्ड की आवश्यकता नहीं है, क्योंकि CPU में समान सर्किटरी होती है।


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

2 डीवीडी-वीडियो 1997 में जारी किया गया था, एक समय में जब पेंटियम 2 भी नव-रिलीज़ किया गया था। यह एक ऐसा समय था जब सीपीयू तेजी से शक्ति में वृद्धि कर रहे थे: एक डीवीडी डिकोडर के साथ एक नया पी 2 कंप्यूटर पर विचार कर सकता था, या थोड़ा पुराने पी 1 में स्थापित कर सकता था। तुलना करें कि विकिपीडिया की MIPS की सूची का उपयोग कर एक आधुनिक पीढ़ी के 6 कोर i7 , और एक आधुनिक सीपीयू कहीं भी 590 और 1,690 गुना तेज है। यह घड़ी की गति के हिस्से के कारण है, लेकिन मानक कोर के साथ-साथ आधुनिक सीपीयू के साथ-साथ प्रति घड़ी टिक के प्रति बहुत अधिक काम करने के लिए भी आधुनिक सीपीयू के लिए कदम है। यह भी प्रासंगिक है कि प्रौद्योगिकी प्रगति के रूप में, इंटेल (जो डेस्कटॉप और x86 सर्वर मार्केट पर हावी है) उन विशेष कार्यों को गति प्रदान करने में विशेष निर्देश जोड़ता है जो डेस्कटॉप उपयोगकर्ता करना चाहते हैं (जैसे वीडियो डिकोडिंग)।


पुराने 2 डी ग्राफिक्स कार्ड आज समझ में आने वाले जीपीयू नहीं थे, लेकिन ग्राफिक्स फ़ंक्शन के लिए विशेष हार्डवेयर बहुत अधिक मौजूद थे। एक ब्लिटर जल्दी से बड़ी मात्रा में मेमोरी को एक स्थान से दूसरे स्थान पर कॉपी कर सकता है, संभवतः लक्ष्य स्थान पर डेटा के साथ संयोजन करने के लिए कुछ सरल तार्किक ऑपरेशन का उपयोग कर सकता है। यह वीजीए / एसवीजीए युग के विशिष्ट 2 डी कार्ड में मौजूद था। अन्य कंप्यूटरों में अन्य विशिष्ट 2d हार्डवेयर थे, जैसे कि घरेलू कंप्यूटरों में हार्डवेयर स्प्राइट और 80 और 90 के दशक के गेम कंसोल।
सेबेस्टियन रेड

127

मुझे आश्चर्य है कि अभी तक किसी ने भी सबसे चमकदार उदाहरणों में से एक का उल्लेख नहीं किया है: सॉफ्टवेयर-परिभाषित रेडियो।

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

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

वह आपको झूठा कहेगा क्योंकि वह जानता है कि इस तरह की उच्च संवेदनशीलता के रिसीवर बिना ट्यून्ड सर्किट की भीड़ के बिना नहीं बनाए जा सकते हैं, जो पड़ोसी स्टेशनों को छानते हैं और ब्याज के संकेत का चयन करते हैं। और इस तरह के सर्किट को ऐसे आकारों के साथ भागों की आवश्यकता होती है जो कि प्रौद्योगिकी से अधिक भौतिकी द्वारा परिभाषित होते हैं, जैसे कि कैपेसिटर और इंडोर्स।

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

यह, मुझे लगता है, हार्डवेयर की जगह सॉफ्टवेयर के सबसे शानदार उदाहरणों में से एक है। नतीजतन, हम अपनी जेब में स्मार्टफ़ोन ले जाते हैं, जो कि एक सक्षम 1960 के इंजीनियर के लिए भी एक जादुई चाल के समान होगा।

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


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

5
@ मचाडो यदि आप कभी भी कुछ गंभीर इलेक्ट्रॉनिक डिज़ाइन करते हैं, तो आपको जल्दी ही पता चलेगा कि यह मूल रूप से सभी गणितीय समीकरण हैं। भौतिक इलेक्ट्रॉनिक्स जोड़ सकते हैं, घटा सकते हैं, विभाजित कर सकते हैं, गुणा कर सकते हैं, अंतर कर सकते हैं, एकीकृत कर सकते हैं, आदि यह है कि भौतिक संधारित्र के बजाय सभी कम आवृत्ति शोर को फ़िल्टर करने के लिए, यह कोड में किया जाता है। भौतिक सिग्नल को हार्डवेयर के एक विशेष हंक के माध्यम से सॉफ्टवेयर में "लोड" किया जाता है जिसे डिजिटल कनवर्टर का एनालॉग कहा जाता है।
13

6
@Machado dspguide.com/pdfbook.htm इस पाठ्यपुस्तक में कई छद्म उदाहरण हैं। यह एक रत्न है।
brian_o

4
@ माचादो एक सॉफ्टवेयर परिभाषित रेडियो (लगभग $ 20 के लिए) लेना न भूलें और इसके साथ खेलना शुरू करें !
माइकल हैम्पटन

5
बस 1960 के दशक के लड़के से यह मत कहो कि आप मुख्य रूप से उस सभी कंप्यूटर-पावर और सुविधाओं का उपयोग करते हैं; अपने भोजन की तस्वीरें पोस्ट करें, कैट-वीडियो स्ट्रीम करें, और
पोकेमन्स का

42

इस सर्किट पर विचार करें:

यहाँ छवि विवरण दर्ज करें

यह एक फ्लिप फ्लॉप, उर्फ ​​बिस्टेबल मल्टीविब्रेटर है। इसे इस कोड से बदला जा सकता है:

static bool toggle;

if (toggle == true) 
{
    lblTop.BackColor = Color.Black;
    lblBottom.back Color = Color.Red;
}
else
{
    lblTop.BackColor = Color.Red;
    lblBottom.BackColor = Color.Black;
}
toggle = !toggle;

1
आपके उत्तर के लिए और पोस्ट को सही करने के लिए बहुत बहुत धन्यवाद! क्या आपके पास इसके बारे में थोड़ा और जानने के लिए सुझाव देने के लिए कोई पुस्तक है? गेब्रियल
गेब्रियल स्कारलाटी

11
check code: कंप्यूटर हार्डवेयर और सॉफ्टवेयर की छिपी हुई भाषा । यह हार्डवेयर से सॉफ्टवेयर में अच्छी तरह से संक्रमण को कवर करता है
इगोर मिला

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

1
@igormilla, अच्छा लगता है! मेरे लिए खुशी की बात है, यह सफारी बुक्स ऑनलाइन के हिस्से के रूप में उपलब्ध है , इसलिए मैं अभी पढ़ना शुरू कर सकता हूं। :) (मेरी टिप्पणी को फिर से पढ़ना पोस्ट करने से पहले:। यह एक विज्ञापन की तरह लगता है, लेकिन मैं सिर्फ एक खुश ग्राहक हूँ मैं नहीं मिला है किसी भी पिछले साल है कि मैं तुरंत ब्राउज़ नहीं कर सकता है या यहां तक कि पूर्ण में पढ़ा में सिफारिश की तकनीकी पुस्तक ऑनलाइन।)
वाइल्डकार्ड

29

इसका मतलब है कि वास्तव में यह कैसा लगता है।

एक विशेष रूप से प्रसिद्ध उदाहरण Apple II के लिए स्टीव वोज्नियाक द्वारा डिज़ाइन किया गया डिस्क II ड्राइव है :

मुख्य सॉफ़्टवेयर सॉफ्टवेयर का उपयोग करके नियंत्रक को कॉम्पैक्ट बना रहा था जबकि प्रतियोगियों हार्डवेयर पर निर्भर थे। बिल फर्नांडीज के रूप में, तब एप्पल के एक इलेक्ट्रॉनिक तकनीशियन, इसे याद करते हैं, "[वोज्नियाक के] डिजाइन [] का मुख्य लाभ यह था कि इसमें सामान्य 60 से 70 के बजाय केवल छह चिप्स का उपयोग किया गया था

एक और उदाहरण जिससे आप शायद अधिक परिचित हों: एमुलेटर। वे पूरी तरह से सॉफ्टवेयर में हार्डवेयर (और सॉफ्टवेयर) के पूरे सेट को बदल देते हैं। सीपीयू, विभिन्न नियंत्रण चिप्स, यहां तक ​​कि भंडारण उपकरण।

अब आप सभी हार्डवेयर को समाप्त नहीं कर सकते, अंततः आपको सॉफ्टवेयर को चलाने के लिए कुछ चाहिए । लेकिन सामान्य तौर पर, हार्डवेयर में आपके द्वारा लागू किया जा सकने वाला कोई भी लॉजिक कार्य सॉफ्टवेयर में भी कार्यान्वित किया जा सकता है (प्रदर्शन समान नहीं हो सकता है, यह धीमा, तेज या अलग-अलग स्थितियों में अंतर्निहित हार्डवेयर और कार्यान्वयन पर निर्भर करता है) हो सकता है।


तो केवल एक चीज जो आपको हमेशा चाहिए वह है कम से कम एक प्रोसेसर?
गेब्रियल स्कारलेट्टी

3
@GabrieleScarlatti आपको थोड़ा और अधिक की आवश्यकता होगी, विशेष रूप से, I / O उपकरणों को हार्डवेयर होना चाहिए (लेकिन नियंत्रक सॉफ्टवेयर हो सकता है!), और स्मृति को हार्डवेयर की आवश्यकता है। उनके बीच के कनेक्शन को हार्डवेयर होने की आवश्यकता है, लेकिन आवश्यक तर्क सीमित है। सरल तारों अगर आप पर्याप्त पिन, है थोड़ा कम सरल पारी रजिस्टर या इसी तरह के उपकरणों यदि आपके पास पर्याप्त पिन नहीं है।
8bittree

अहा हां मैं थोड़ा बहुत सन्निकट था, क्या आप इसके बारे में और जानने के लिए कुछ अच्छी किताब सुझा सकते हैं? जवाब के लिए बहुत बहुत धन्यवाद!
गैब्रिएल स्कारलेट्टी 15

1
इस विषय में अब तक का सबसे अच्छा उत्तर "एमुलेटर" हैं।
माकड़ो

1
Woz का उल्लेख किए बिना इस विषय पर बात नहीं कर सकते!
जेम्स आर।

11

एक और क्षेत्र जिसमें यह सच है, संश्लेषण है।

प्रारंभिक सिंथेसाइज़र 100% एनालॉग हार्डवेयर थे, जो सीधे तरंगरूप उत्पन्न करते थे, फिर उन्हें सर्किट्री (फिल्टर, एम्पलीफायरों, आदि) के माध्यम से संशोधित करते थे। ध्वनि को डिजिटल रूप से संश्लेषित करना संभव था, लेकिन इसके लिए कंप्यूटिंग संसाधनों की आवश्यकता थी जो औसत व्यक्ति बर्दाश्त नहीं कर सकता था (एक वास्तविक मेनफ्रेम और कस्टम डिजिटल-से-एनालॉग कनवर्टर हार्डवेयर)।

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

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

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

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


1
1977 के अटारी 2600 में पांच-ऑक्टेव श्रेणी के साथ चार-आवाज़ संगीत उत्पन्न करने के लिए पर्याप्त सीपीयू हॉर्स पावर है, जबकि प्रदर्शन पीढ़ी के लिए 39% से अधिक सीपीयू समय उपलब्ध है। आवश्यक लुकअप टेबल एक 4K कारतूस (लगभग 2300 बाइट्स) के आधे से अधिक ले जाएगा, लेकिन यह निश्चित रूप से कारतूस 4K से बड़ा होने के लिए संभव था। शायद संगीत खेलते समय कोई बहुत जटिल गेमप्ले नहीं कर सकता था, लेकिन स्क्रॉल-टेक्स्ट के साथ एक बहुत रंगीन शीर्षक स्क्रीन एक निश्चित संभावना होगी >:*3
सुपरकैट

हां, मैंने लगभग 10 को छोड़ दिया? 20? विकास के वर्ष तो मेरा जवाब एक उपन्यास में नहीं बदल जाएगा। बहुत अच्छे अंक! मैं अपने मैक 512K पर कुछ ( Musicworks ) [ थिंकक्लासिक.org/viewtopic.php?id = 550] कहा जाता था , जो 4 आवाजें, मुश्किल से संभाल सकता था।
जो मैकमोहन

६000००० प्रत्येक निर्देश को ६५०२ की तुलना में निष्पादित करने के लिए अधिक चक्र लेता है, लेकिन चार-ध्वनि तरंग-तालिका संश्लेषण को उचित कोडिंग के साथ काफी कुशल होना चाहिए। मैं प्रत्येक मात्रा सेटिंग के लिए 256-बाइट तालिका का उपयोग करके आयाम स्केलिंग के साथ लगभग 240 चक्र / नमूना का अनुमान लगाता हूं; आयाम स्केलिंग को समाप्त करने से उस समय को 56 चक्र / नमूना द्वारा दाढ़ी जाएगी।
Supercat

7

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

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


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

@LyndonWhite एक PWM कोई सामान्य मल्टीवीब्रेटर नहीं है। इसने नाड़ी की चौड़ाई को नियंत्रित किया जो आवृत्ति जनरेटर का सबसेट है।
qwerty_so

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

@LyndonWhite मैंने अपने उत्तर को संपादित किया।
qwerty_so

5

आर्केड गेम टैंक (लगभग 1976) और होम कंसोल गेम कॉम्बैट (1977) के बीच एक तुलना का एक अच्छा उदाहरण है कि कैसे सॉफ्टवेयर हार्डवेयर को 40 साल पहले भी बदल सकता है।

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

अटारी 2600 वीडियो कंप्यूटर सिस्टम (एक होम गेम कंसोल लगभग 1977) में दो बिटमैप ऑब्जेक्ट्स और चार वेरिएबल-चौड़ाई पल्स जनरेटर के हॉरिजॉन्टल (लेकिन वर्टीकल!) पोजिशन को ट्रैक करने के लिए हार्डवेयर को शामिल किया गया, 20-बिट-वाइड लो को होल्ड और क्लॉक किया गया -विकास प्लेफील्ड ग्राफिक्स पैटर्न के साथ-साथ दो उच्च-रिज़ॉल्यूशन 8-बिट पैटर्न, खिलाड़ियों के लिए कुंडी रंग, पृष्ठभूमि और प्लेफील्ड, और विभिन्न वस्तुओं के बीच टकराव का पता लगाते हैं। इसमें एक सामान्य-उद्देश्य प्रोग्राम करने योग्य टाइमर भी शामिल था, लेकिन हार्डवेयर में उपरोक्त के अलावा बहुत कम थे। फिर भी, भले ही हार्डवेयर गेम टैंक की तुलना में बहुत सरल है, 2K ROM कारतूस कॉम्बैट 2600 को एक ही मूल गेम खेलने की अनुमति देता है, लेकिन कई अन्य सुविधाओं (वाहनों और पृष्ठभूमि की एक किस्म, शेख़ी शॉट्स, आदि) के कारण। यह अधिकतर आर्केड मशीन की जगह ले सकता है ' सॉफ्टवेयर के साथ हार्डवेयर। दिलचस्प बात यह है कि भले ही अटारी 2600 किसी भी व्यावसायिक रूप से बेचे जाने वाले माइक्रोप्रोसेसर-आधारित होम वीडियो गेम सिस्टम का दूसरा सबसे सरल हार्डवेयर प्लेटफॉर्म है, लेकिन यह सॉफ्टवेयर के साथ हार्डवेयर को बदलने की सुविधा के लिए इतनी अच्छी तरह से डिज़ाइन किया गया है कि जब सही ढंग से प्रोग्राम किया जाता है तो यह कई के आसपास हलकों को चला सकता है। इसके प्रतियोगी।


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

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

1

वाक्यांश "सॉफ़्टवेयर हार्डवेयर को प्रतिस्थापित कर सकता है" हार्डवेयर के साथ समस्याओं को आज़माने और हल न करने की चेतावनी है जब तक कि बहुत स्पष्ट लाभ न हों। सॉफ्टवेयर विकसित करने के लिए 10x-50x सस्ता है और हार्डवेयर की तुलना में प्रति यूनिट उत्पादन करने के लिए लगभग असीम रूप से सस्ता है। जब तक X वास्तव में सॉफ्टवेयर में कुशलता से नहीं किया जा सकता है, तब तक हार्डवेयर में X करना एक विजयी समाधान नहीं होगा।


मैं नीचे नहीं गया, लेकिन मुझे पूरा यकीन है कि यह गलत है।
जे। एलन

@ JefréN। यह सिर्फ हार्डवेयर खरीदने के बजाय इसे विकसित करने के बारे में है।
डिप्रेस्ड

आप सही हे; मैंने सवाल के इरादे को गलत समझा। क्या आपके पास अपने दावे को वापस करने के लिए एक उद्धरण या लिंक है कि "सॉफ़्टवेयर 10x-50x सस्ता है ... हार्डवेयर की तुलना में विकसित करने के लिए?" मुझे यह जानने में दिलचस्पी होगी कि क्या यह बॉलपार्क का आंकड़ा है या यदि यह एक [सामान्यतः स्वीकृत / सत्यापित] कथन है। (मुझे खेद है कि आप उदास हैं, btw।; डी)
जे। एलन

मैं नीचे नहीं था, लेकिन मैं हमेशा आगे नहीं बढ़ सकता क्योंकि यह सच नहीं है कि सॉफ्टवेयर सस्ता है। अक्सर यह बहुत अधिक महंगा हो सकता है। इसके अलावा, ASICs और FPGAs की अवधारणा पर विचार करें, जहां सॉफ्टवेयर का उपयोग एक हार्डवेयर समतुल्य बनाने के लिए किया जाता है जो तब तेजी से चल सकता है। एक्सप्लेनेबल्स बनाम व्याख्या किए गए कार्यक्रमों के बीच अंतिम अंतर की तरह, लेकिन अधिक।
20

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

1

बारीकियों को अच्छी तरह से निपटाया गया है, लेकिन मुझे लगता है कि यह ओपी के लिए ठोकर की संभावना है, यह सॉफ्टवेयर के साथ हार्डवेयर को बदलने के लिए बहुत संभव नहीं है। 'हार्डवेयर' में हमेशा 'सॉफ्टवेयर' समाधान की तुलना में काफी कम 'हार्डवेयर' शामिल होता है।

अंतर यह है कि एक प्रक्रिया / एल्गोरिथ्म / संगणना के तर्क को हार्डवेयर और सॉफ्टवेयर के बीच स्थानांतरित किया जा सकता है। कई उदाहरण दिए गए हैं, इसलिए मैं विस्तृत नहीं करूंगा।


-1

वर्चुअल मेमोरी वाले शुरुआती कंप्यूटरों में, आपको एक नया पेज प्रविष्टि लोड करने के लिए TLB मिस पर टास्क स्विच करना पड़ता था। OS सॉफ़्टवेयर का एक टुकड़ा सही प्रक्रिया ढूंढता है, और पेज तालिकाओं के माध्यम से चलता है, सही प्रविष्टि ढूंढता है और इसे TLB पर वापस लिखता है। जारी रखने के लिए मूल प्रक्रिया पर वापस जाने से पहले।

अब ज्यादातर सीपीयू प्रक्रिया, पेज टेबल को पढ़ना, पेज टेबल पर चलना और टीएलबी को अपडेट करने के लिए हार्डवेयर का उपयोग करते हैं।

दोनों विधियों को पृष्ठ-दोषों को संभालने के लिए सॉफ़्टवेयर का उपयोग करने की आवश्यकता होती है, लेकिन TLB-misses handily outnumber पृष्ठ-दोषों के कारण हार्डवेयर चलना अभी भी बेहतर सॉफ़्टवेयर है।

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


-2

ऐसे कई उदाहरण हैं जहां सॉफ्टवेयर हार्डवेयर को बदल सकता है और इसके विपरीत।

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

अधिकांश शायद पहले से ही ऑडियो फिल्टर से परिचित हैं, और सॉफ्टवेयर जो वास्तविक उपकरणों और उपकरणों की नकल या एम्पलीफायरों की नकल कर सकते हैं।

वस्तुतः बनाए जा सकने वाले किसी भी हार्डवेयर का उपयोग किया जाएगा, यदि यह भौतिक समतुल्य की तुलना में तेज़ और / या सस्ता है।


-2

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

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