2013-02-21 82 views
5

मैं हाल ही में इस बारे में और सोच रहा हूं कि हमारे द्वारा अपेक्षित चीजों का उत्पादन करने के लिए किस प्रकार के कंप्यूटर कंप्यूटर हार्डवेयर को करना है।कंप्यूटर एसीआई/टेक्स्ट और छवियों/रंग को अलग तरीके से कैसे संसाधित करते हैं?

टेक्स्ट और रंग की तुलना में, ऐसा लगता है कि दोनों प्रति बाइट 256 संभावित संयोजनों के साथ 1 और 0 के संयोजन पर भरोसा करते हैं। ASCII पत्र 'ए' होने के लिए (01100001) जैसे एक पत्र का प्रतिनिधित्व कर सकता है। लेकिन फिर एक रंगीन आर (01100001), जी (01100001), बी (01100001) कुछ यादृच्छिक रंग का प्रतिनिधित्व कर सकता है। कम स्तर पर विचार करते हुए, कंप्यूटर सिर्फ 1 और 0 के इन संग्रहों को पढ़ रहा है, यह सुनिश्चित करने के लिए क्या होना चाहिए कि कंप्यूटर रंग आर (01100001), जी (01100001), बी (01100001) प्रस्तुत करता है और पत्र ए तीन बार नहीं मेरी स्क्रीन पर?

+2

नीचे दिए गए मेरे उत्तर के अलावा, यदि आप जानना चाहते हैं कि कंप्यूटर निम्नतम स्तर से कैसे काम करते हैं, तो मैं यह पढ़ना चाहता हूं: कंप्यूटर संगठन और डिजाइन (लेखकों पैटरसन, हेनेसी)। यदि आप इसे पढ़ते हैं (या किसी समकक्ष सामग्री को पढ़ते हैं), तो आप देखेंगे कि सीपीयू कैसे काम करता है, और आपको मशीन और उसके कई स्तरों की बेहतर समझ मिल जाएगी। – Numbers

+0

हाँ, मैं सहमत हूं। मुझे लगता है कि कॉम्प आर्किटेक्चर/संगठन पर एक पुस्तक मेरी हाल की जिज्ञासा को पूरा करेगी। अच्छा कॉल, धन्यवाद। – ThisBetterWork

+0

+1 @Numbers 'सुझाव पर +1। मैं एक ही किताब का सुझाव देने जा रहा था। – Iguananaut

उत्तर

5

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

तो इसे सरल रखने के लिए मैं आपको यह बता दूंगा: यह सब संदर्भ का विषय है। सबसे पहले बस टेक्स्ट से निपटें:

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

बिंदु यह है कि है जो टेक्स्ट के रूप में उन बाइट्स को समझने के लिए है। यह सिर्फ इसलिए करता है क्योंकि यह एक पाठ संपादक करता है। आप इसे एक छवि कार्यक्रम में hypothetically खोल सकते हैं और आरजीबी मूल्यों के 10x10 सरणी (या छवि) के रूप में उन 300 बाइट्स की व्याख्या करने के लिए कह सकते हैं।

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

मेरे पास अभी के लिए समय है लेकिन यह एक शुरुआत है।

अद्यतन: बस मेरे बिंदु को स्पष्ट करने के लिए, मैंने here से फ़्लैटलैंड का पाठ लिया। जो एएससीआईआईआई पाठ के केवल 216624 बाइट्स है (संदर्भ के आधार पर आपके वेब ब्राउजर द्वारा व्याख्या की गई है: .txt एक्सटेंशन मदद करता है, लेकिन वेब सर्वर ब्राउज़र को सूचित करते हुए एक एमआईएमई प्रकार हैडर प्रदान करता है जिसे इसे सादे पाठ के रूप में व्याख्या किया जाना चाहिए। आपका ब्राउज़र यह निर्धारित करने के लिए बाइट्स का विश्लेषण भी कर सकता है कि उनका पैटर्न सादे पाठ की तरह दिखता है (और यह कि बाइट्स की भारी संख्या नहीं है जो ASCII वर्णों का प्रतिनिधित्व नहीं करती है)।मैं पाठ के अंत करने के लिए कुछ रिक्त स्थान जोड़े जाते हैं, जिससे कि इसकी लंबाई 217,083 जो 269 * 269 * 3 है और फिर एक 269 × 269 आरजीबी छवि के रूप में साजिश रची:

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

1

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