2011-01-02 15 views
11

मैं अब तक के बारे में 11 साल के लिए प्रोग्रामिंग किया गया है, और विभिन्न प्रोग्रामिंग अजगर से सीमैं अपने कंप्यूटर के निम्न-स्तरीय कार्यप्रणालियों के बारे में कहां से जान सकता हूं?

हालांकि, मैं क्या की शर्मिंदा हूँ कि मैं अभी भी का एक बहुत याद कर रहा हूँ है को लेकर भाषाओं का एक बहुत इस्तेमाल किया निचले स्तर बुनियादी ज्ञान है जिस पर इस सब पर बनाया गया है:

  • ढेर कर रहे हैं वास्तव में किस प्रकार और निष्पादनयोग्य के ढेर का निर्माण किया और कैसे वे

  • काम करते हो कैसे एक सीपीयू काम

  • करता है
  • एक घड़ी चक्र

  • क्या एक डेटा बस है क्या है

  • कैसे मेरी मदरबोर्ड काम पर उत्तर और Southbridge कर

  • कम स्तर बाइनरी लॉजिक/गणना

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

+1

डुप्लिकेट और संबंधित प्रश्न: [कंप्यूटर क्या वास्तव में काम करता है यह जानने के लिए एक अच्छी किताब है?] (Http://stackoverflow.com/questions/773704/whats-a-good-book-to-learn-how-computers- वास्तव में काम), [निम्न स्तर के बारे में सीखना] (http://stackoverflow.com/questions/2440313/learning-about-the-low-level), [क्या कोई मुझे कंप्यूटर प्रोग्रामिंग कैसे काम करता है की मूल बातें बता सकता है? ] (http://stackoverflow.com/questions/273978/can-someone-tell-me-the-very-basics-of-how-computer-programming-works)। – gnovice

+0

[x86 टैग विकी] (http://stackoverflow.com/tags/x86/info) में सीपीयू हार्डवेयर आंतरिक और असेंबली भाषा के बारे में बहुत अच्छे लिंक हैं (उदाहरण के लिए आपको एक साधारण एएसएम लूप को देखने के लिए जो कुछ जानने की आवश्यकता है, उदाहरण के लिए इंटेल हैसवेल पर कैश मिस के बिना इसे कितने घड़ी चक्र प्रतिरक्षा लेना चाहिए) की गणना करें। चिपसेट्स (दक्षिणब्रिज) पर इतना ज्यादा नहीं। –

उत्तर

4

मुझे यह पुस्तक पसंद है (यह एक पाठ्यपुस्तक नहीं है)।

Code: The Hidden Language of Computer Hardware and Software

+0

इस तरह की जानकारी के लिए यह एक बहुत अच्छी किताब है, बिना किसी इलेक्ट्रिकल इंजीनियरिंग डिग्री या समझ की आवश्यकता के चीजें बताती है। –

0

दो सुझाव।

कुछ किताबें:

Windows Internals (हालांकि नहीं सब की जानकारी, अन्य OS'es पर लागू होता है स्पष्ट रूप से)

Write Great Code: Volume 1 (और शायद बाद में संस्करणों)

The Art of Assembly Language (2 सुझाव के साथ में संबंधों)

असेंबली भाषा सीखें:

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

1

मुझे लगता है कि आपको assembly से शुरू होना चाहिए क्योंकि यह निम्न स्तर की प्रोग्रामिंग भाषा है। उदाहरण के लिए स्टैक मूल रूप से एसपी register है। इसलिए असेंबली, सीपीयू रजिस्ट्रार, सीपीयू में मेमोरी से निर्देश कैसे प्राप्त किए जाते हैं और फिर निष्पादित करने के लिए एक अच्छी जगह होगी।

0

मुझे यकीन है कि इस प्रकार की चीज़ के लिए ऑनलाइन संसाधन हैं, लेकिन यह this एक जैसे कंप्यूटर आर्किटेक्चर कोर्स में भी काफी अच्छी तरह से कवर किया गया है। मुझे उस पाठ्यक्रम के लिए book भी पसंद आया।

हालांकि, यह वास्तव में मेरी पसंद के लिए चीजों के व्यावहारिक x86 पक्ष को पर्याप्त रूप से कवर नहीं करता है (हमने एक एमआईपीएस प्रोसेसर तैयार किया है और इसके लिए असेंबली कोड लिखा है और अंत में इसके लिए एक सी संकलक लिखा है)।

हमारे एकत्रित उदाहरण और मेरी वास्तविक मशीन के बीच क्या अंतर था, इस अंतर को भरने के लिए, मैं विंडोज आंतरिक book का सुझाव देता हूं। और संभवतः एक ओएसआर course लेना।

यदि आप लिनक्स पक्ष पर अधिक हैं, तो courses और books समान हैं।

2

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

यदि ऐसा लगता है कि आप जो खोज रहे हैं, तो आप course web page पर व्याख्यान हैंडआउट और वीडियो को देख सकते हैं। इसमें कुछ अच्छी चीजें हैं, हालांकि छात्रों के लिए सब कुछ है जो व्याख्यान करने जा रहे हैं, प्रयोगशालाएं आदि कर रहे हैं।

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

+1

क्या आप वीडियो को लिंक प्रदान कर सकते हैं, कृपया। मैं उन्हें नहीं ढूंढ सका और मुझे यकीन है कि वे कमाल हैं। –

+1

@ एरिक फोर्टिस - क्षमा करें, मैंने अपनी पोस्ट में गलत लिंक इस्तेमाल किया है! यह पृष्ठ (http://6004.csail.mit.edu/currentsemester/handouts.htm) में वर्णित व्याख्यान नोट्स और वीडियो के लिंक हैं। अनुवर्ती के लिए –

+0

धन्यवाद। –

1

मेरी राय में मजा करके इसे सीखने का सबसे अच्छा तरीका है। लर्निंग कंपाइलर्स, सिस्टम डिज़ाइन और आर्किटेक्चर माइक्रो-प्रोसेसिंग इंटरफेसिंग के साथ काम करने में बहुत मज़ेदार है। तो मेरा सुझाव है कि Atmel AVR kit या Motorola MSP किट के साथ हाथ मिलना शुरू करें। एक और प्रारंभिक बिंदु आपकी वरीयता की किसी भी भाषा में माइक्रो सिम्युलेटर बनाना और एसआरसी सरल आरआईएससी कंप्यूटर this material अनुकरण करना है, जो this book से है।

This is the project मैंने एमएसपी 430 का उपयोग करके कक्षा में बनाया, फिर से यह बहुत मजेदार था।

संबंधित मुद्दे

 संबंधित मुद्दे