GPU / CPU एक मानक प्रदर्शन आउटपुट के साथ कैसे संवाद करता है? (एचडीएमआई / डीवीआई / आदि) [बंद]


14

मुझे इस बात में दिलचस्पी है कि कैसे सीपीयू / जीपीयू (जो भी उपकरण इसे करता है) उसे संसाधित होने के बाद वीडियो डेटा प्रस्तुत करता है।

मुझे बताया गया है कि वीडियो को CPU / GPU द्वारा संसाधित किया जाता है और फिर उच्च गति धारावाहिक द्वारा एक एकीकृत सर्किट में भेजा जाता है जो धारावाहिक सिग्नल को एक उपयुक्त प्रदर्शन आउटपुट में परिवर्तित करता है, लेकिन मैं ऑनलाइन खोज करके इसकी पुष्टि नहीं कर सकता।

मैं सिग्नलिंग में दिलचस्पी रखता हूं और प्रोटोकॉल / आदि की खोज नहीं कर सकता क्योंकि मुझे नहीं पता कि यह वह है जो मैं खोज रहा हूं। तो क्या सीपीयू / जीपीयू सीधे वीडियो आउटपुट के साथ इंटरैक्ट करता है (मैं इन प्रोटोकॉल को आसानी से पा सकता हूं) या फिर कहने के लिए "बीच का आदमी" है या नहीं और यदि ऐसा है तो यह चिप का प्रकार / आदि क्या है?


आप वीडियो RAMDAC को अलग-अलग हिस्सों के रूप में खरीद सकते हैं: ti.com.cn/cn/lit/ds/symlink/tvp3703.pdf हालांकि इसका मतलब यह नहीं है कि यह आपके ग्राफिक्स कार्ड पर अलग होगा।
pjc50

जवाबों:


18

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

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

अब, आपको शायद एहसास है कि 1920x1080 डिस्प्ले के लिए 4 बाइट प्रति पिक्सेल के साथ, आपको केवल छवि को संग्रहीत करने के लिए लगभग 8 एमबी की आवश्यकता है, लेकिन आपके कंप्यूटर में वीडियो रैम संभवतः उस आकार से कई गुना अधिक है। इसका कारण यह है कि वीडियो रैम न केवल फ्रेमबफ़र को संग्रहीत करने के लिए अभिप्रेत है। वीडियो रैम सीधे GPU से जुड़ा हुआ है, जो एक विशेष उद्देश्य प्रोसेसर है जो कुशल 3 डी रेंडरिंग और वीडियो डिकोडिंग के लिए डिज़ाइन किया गया है। रेंडरिंग प्रक्रिया को तेज करने के लिए GPU वीडियो रैम तक अपनी सीधी पहुंच का उपयोग करता है। वास्तव में, वीडियो मेमोरी में मुख्य मेमोरी से डेटा प्राप्त करना पीसीआई बस के रूप में थोड़ी सी अड़चन है जो वीडियो कार्ड को सीपीयू से जोड़ता है और मुख्य मेमोरी GPU और वीडियो रैम के बीच कनेक्शन की तुलना में काफी धीमी है।


7

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

वीडियो छवि में मौजूद मेमोरी मुख्य मेमोरी (सस्ते) या समर्पित मेमोरी का हिस्सा हो सकती है जिसे 'डीएमए' और सीपीयू और / या जीपीयू द्वारा एक साथ एक्सेस किया जा सकता है। For डीएमए ’को विभिन्न मापदंडों के साथ कॉन्फ़िगर किया जाना चाहिए, उदाहरण के लिए पिक्सेल की चौड़ाई और ऊंचाई, रंग की गहराई, स्मृति में प्रारंभ स्थान आदि।

आधुनिक कंप्यूटर पर GPU एक (बहुत विशिष्ट) प्रोसेसर है जो मुख्य CPU की गति को प्रतिद्वंद्वी करता है (और इसे अपने टर्फ पर पार करता है)। यह बनावट और प्रकाश स्रोतों के साथ 3 डी ऑब्जेक्ट्स के एक समूह से एक psuido-3D छवि बनाने जैसी चीजें करता है। यह सभी वीडियो मेमोरी के अंदर, GPU द्वारा किया जा सकता है। सीपीयू सिर्फ वस्तुओं, बनावट और प्रकाश स्रोतों को वितरित करता है।

मेमोरी से वीडियो डेटा को पढ़ना और इसे बाहर शिफ्ट करना एक सरल प्रक्रिया है, लेकिन इसे बहुत तेजी से और हर समय किया जाना चाहिए। इसलिए यह कार्य समर्पित हार्डवेयर के अनुकूल है, और सीपीयू के लिए अनुकूल नहीं है। AFAIK पिछले कंप्यूटरों में सीपीयू था जिसमें वीडियो सिग्नल उत्पन्न करने के लिए ZX80 / 81 और स्पेक्ट्रम थे। उन पर सीपीयू अपना कार्य केवल (ऊर्ध्वाधर?) के दौरान कर सकता है।


1
यह बहुत अच्छी जानकारी है। तो DMA कंट्रोलर (या समान हार्डवेयर) वीडियो मेमोरी को सीधे एक्सेस करता है? और एकीकृत ग्राफिक्स के साथ एक प्रणाली पर जो सिस्टम रैम का उपयोग करता है यह सीधे सिस्टम रैम तक पहुंचता है? मेरे सवालों की सरलता के लिए क्षमा करें। मैं एक बड़ा DIY'er हूं इसलिए मैं निचले स्तर के ज्ञान के साथ उच्च स्तर के सामान में कूद जाता हूं। :)
क्रेग Lafferty

और अनुवर्ती करने के लिए, नियंत्रक को कैसे पता चलता है कि रैम में कौन सा पता फ्रेम से "चोरी" करना है? फ़्रेम / बिटमैप को वास्तव में तेज़ी से प्रतिस्थापित किया जा रहा है और मैं मान रहा हूँ।
क्रेग Lafferty

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

प्रोसेसर को धीमा क्यों किया जाएगा? क्या यह पहले से ही वीडियो को नियंत्रित करने के लिए नियंत्रक का उपयोग करने के लिए इसे संसाधित करने की आवश्यकता नहीं है? मैं यहां एक और अनुमान लगाने जा रहा हूं और कहता हूं कि कंट्रोलर रैम को बार-बार पढ़ता है और सीपीयू / जीपीयू केवल रैम को नई डिस्प्ले की जानकारी से अपडेट करता है जब कुछ बदल गया होता है, इसलिए उदाहरण के लिए जीपीयू मेरी करंट स्क्रीन में डाल देगा। इसकी रैम और जब मैं अपने कर्सर को ले जाता हूं तो यह उन पिक्सल को अपडेट करता है जिन्हें बदल दिया गया है। इस बीच में नियंत्रक रैम 60 या इतनी बार एक सेकंड (मानक एफआर मुझे लगता है) पढ़ता है।
क्रेग लाफर्टी

1
वीडियो रैम का उपयोग केवल प्रदर्शन छवि को संग्रहीत करने के लिए नहीं किया जाता है, यह GPU द्वारा आंतरिक रूप से दृश्य डेटा को संग्रहीत करने के लिए भी उपयोग किया जाता है जिसे फ्रेमबफ़र में प्रदान किया जाता है। यह बहुत अधिक जगह ले सकता है क्योंकि GPU को अपनी सतहों के लिए बनावट डेटा के साथ-साथ वस्तुओं के डिटेल 3 डी मेष तक पहुंच की आवश्यकता होती है।
अलेक्स.फोर्निच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.