2008-11-05 21 views
40

क्या "प्रोग्रामिंग" नीचे एक प्रोग्रामिंग भाषा है?क्या "प्रोग्रामिंग" नीचे एक प्रोग्रामिंग भाषा है?

+2

http: //en.wikipedia।संगठन/विकी/कंप्यूटर_प्रोग्रामिंग_इन_the_punch_card_era – George

+0

http://youtu.be/j9I2KfGKv4M निर्देश सेट आर्किटेक्चर और माइक्रो आर्किटेक्चर – ams

उत्तर

38

Machine code। समय यह 1 और 0 बाइनरी में कोडर प्रोग्रामर था। हेक्स को इस पर अग्रिम माना जाता था। वह असेंबली से पहले था, जो कोड के नामों का उपयोग करता है और निर्देश के हिस्सों को इसके हिस्सों में अलग करता है।

+5

के बीच अंतर पर एक अच्छा व्याख्यान है मशीन कोड असेंबली का सीधा अनुवाद है, इसलिए मैं नहीं कहूंगा कि यह नीचे है। – Marius

+5

@marius, मेरा पीसी मशीन कोड चला सकता है, लेकिन असेंबली नहीं। तो यह बराबर नहीं है;)। – Dykam

+5

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

2

ठीक है, आप हमेशा बाइनरी (या हेक्स, या कुछ अन्य प्रतिनिधित्व) में कोड लिख सकते हैं। इसके बाद आपको अपने सिर में कूद ऑफसेट आदि की गणना करनी होगी। सिफारिश नहीं की गई। ;)

+0

मैंने 6502 के साथ ऐसा किया है। लेकिन मुझे नहीं लगता कि हेक्स कोड में प्रवेश करना एक भाषा माना जा सकता है ... मैं हेक्स से बात करता हूं! :-) –

2

क्रमबद्ध। मशीनें असेंबली नहीं पढ़ती हैं, वे "मशीन भाषा" पढ़ती हैं, जो असेंबली में परिवर्तित होती है। मशीन भाषा में असेंबली के निमोनिक्स के बजाय "ऑपकोड" होते हैं, और ये ऑपोड आमतौर पर केवल बाइनरी डेटा होते हैं। मशीन कोड आमतौर पर मानव-पठनीय नहीं माना जाता है।

आरआईएससी सिस्टम पर, मशीन कोड अक्सर असेंबली का सीधा अनुवाद होता है, लेकिन विशेष रूप से, x86 सिस्टम पर, दोनों अलग-अलग होते हैं।

+1

असल में, x86 पर यह एक सीधा अनुवाद भी है। क्या आपके पास कोई उदाहरण है जो अन्यथा दिखाता है? –

70

वास्तव में कोड का एक स्तर है जो मशीन कोड के नीचे बैठता है, जिसे Microcode कहा जाता है।

+0

मैं माइक्रो कोड को मशीन कोड होने पर विचार करता हूं। बस एक अलग संस्करण जो प्रोसेसर पर रहता है, रैम से चलाने के बजाए। –

+20

माइक्रोकोड रोम का एक ब्लॉक है जहां प्रत्येक बिट को कुछ आंतरिक सर्किटरी टॉगल करने के लिए उपयोग किया जाता है। 'शब्दों' का अनुक्रम सीपीयू को एक मशीन भाषा निर्देश करने के लिए मार्गदर्शन करता है, इसलिए, यह मशीन भाषा भी नीचे है। – Javier

+4

मैं जेवियर से सहमत हूं। हमने एक बार विश्वविद्यालय पाठ्यक्रम के हिस्से के रूप में एक माइक्रोक्रोड प्रोसेसर बनाया। बहुत मजेदार! –

2

निश्चित रूप से: असेंबली भाषा (http://en.wikipedia.org/wiki/Assembly_language) पर आलेख में "मशीन कोड", जिसके बारे में विकिपीडिया कहता है: "एक विशेष सीपीयू आर्किटेक्चर प्रोग्राम करने के लिए आवश्यक संख्यात्मक मशीन कोड और अन्य स्थिरांक का प्रतीकात्मक प्रतिनिधित्व लागू करता है।"

8

यदि नीचे से, आप निम्न स्तर का मतलब है, तो हाँ। मशीन भाषा है। विधानसभा इसे चलाने से पहले मशीन भाषा में बदल जाती है। कई आधुनिक प्रक्रियाओं पर मशीन भाषा माइक्रोक्रोड में नकली होती है। माइक्रोकोड पर अधिक जानकारी के लिए this देखें।

3

इस बात पर निर्भर करता है कि आप क्यों पूछ रहे हैं। ऐसा कुछ भी नहीं है जिसे आप असेंबली में नहीं कर सकते हैं जिसे आप किसी अन्य विधि के माध्यम से कर सकते हैं। मशीन कोड सटीक उसी डेटा का एक और प्रतिनिधित्व है।

+2

100% सटीक नहीं .. आप किसी अन्य विधि के माध्यम से अपनी असेंबली को अनुकूलित नहीं कर सकते हैं। मेरा मतलब है कि एक एक्स * = 2; सी ++ में सबसे कुशल असेंबली में संकलित नहीं किया जा सकता है। लूप के लिए एक सीएक्स रजिस्ट्री (8086) का उपयोग नहीं कर सकता है। ऐसी चीजें हैं जो आप केवल असभ्य में कर सकते हैं ... यह क्यों है कि यह अभी भी एक भाषा (योग द्वारा) – baash05

+2

के रूप में उपयोग किया जाता है वास्तव में कुछ चीजें हैं जो असेंबली के साथ भी नहीं की जा सकती हैं। कुछ प्रकार के स्वयं-संशोधित कोड, या डेटा के रूप में निर्देशों का उपयोग और इसके विपरीत। (x86 पर चर-लंबाई निर्देशों के साथ ... संभावनाएं ...) – Artelius

18

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

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

+5

ठीक है, कई असेंबलर वास्तव में किसी पते के लिए सबमिशन में लेबल की अनुमति देते हैं। तो असेंबली मशीन कोड का सिर्फ एक पाठ प्रतिनिधित्व नहीं है। – Calyth

2

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

(नहीं मैं एक विशेषज्ञ हूँ कि - मैं सी ++ उपयोग कर रहा हूँ)

+1

लेकिन चिप बनाने के बाद, आप वास्तव में इसे प्रोग्राम नहीं कर सकते हैं। तो मुझे नहीं लगता कि यह वास्तव में प्रासंगिक है। –

+2

एक एफपीजीए पर इसका उपयोग करते समय, यह _is_ reprogrammable है। फिर भी, मैं एक विशेषज्ञ नहीं हूँ :) – xtofl

12

और भी कम जाने के लिए, (नहीं शब्द "भाषा" "मशीन" भाषा के लिए या यहां तक ​​कि कम शारीरिक परतों के लिए उपयुक्त है कि), लेकिन नीचे मशीन भाषा कई गेट्स और स्विच की कॉन्फ़िगरेशन है जो वास्तव में विशेष हार्डवेयर (सीपीयू) के लिए प्रत्येक बाइनरी ऑपोड को लागू करने के लिए उपयोग की जाती है ... पढ़ने के लिए एक महान पुस्तक जो इसे निम्न स्तर तक कवर करती है चार्ल्स पेटज़ोल्ड द्वारा बुलाया जाता है "CODE"

3

पहले कंप्यूटर (एनआईआईएसी) ने हार्ड तारों का उपयोग किया ताकि एक गणना से उत्पादन दूसरे के इनपुट के रूप में खिलाया जा सके। एक और कार्यक्रम चलाने के लिए, आपको कुछ केबलों को अनप्लग करना था और उन्हें अलग-अलग तार करना था।

3

असेंबलर कोडांतरक द्वारा मशीन कोड में अनुवाद किया है। आप इसे एक बाइनरी संपादक के साथ लिख सकते हैं। (ओच!) सीआईएससी कंप्यूटर में माइक्रोकोड हो सकता है, जो चिप (एएलयू, मेमोरी fetch, आदि) के खंडों का अनुक्रम करता है। आम तौर पर, कोई भी चिप निर्माता को छोड़कर माइक्रोक्रोड लिखता है।

3

ठीक है, वहाँ, मशीन भाषा के रूप में दूसरों का उल्लेख किया है। मशीन भाषा आम तौर पर आपके द्वारा असेंबली में लिखने वाले 1-से-1 अनुवाद है, इसलिए यह असेंबली कोड के समान स्तर पर है - हाथ से लिखना बहुत मुश्किल है।

इसका अपवाद, pseudo-instructions MIPS विधानसभा भाषा द्वारा प्रदान की तरह कर रहे हैं।

वहाँ है, या शायद मुझे कहना चाहिए कि असेंबली/मशीन भाषा के नीचे एक स्तर भी है: microcode। आधुनिक तर्क-ट्रांजिस्टर बजट वे क्या हैं, मुझे संदेह है कि माइक्रोकोड इसकी प्रासंगिकता खो रहा है।

+3

माइक्रोक्रोड निश्चित रूप से अभी भी आसपास है; यह बहुत मुश्किल है और "बग" - सबकुछ कड़ी मेहनत करने के लिए तैयार है। – Artelius

3

विधानसभा भाषा मशीन कोड के रूप में प्रोग्रामिंग भाषा इमारत की निचली मंजिल एक भाषा है क्योंकि यह किसी भी grammatic नियमों को शामिल नहीं करता पालन करने के लिए नहीं है। मशीन कोड माइक्रोप्रोसेसर ऑपरेशंस निष्पादित करने वाला एकमात्र डेटा प्रारूप हो सकता है: सीपीयू मेमोरी से डेटा प्राप्त करता है और सीधे प्राप्त किए गए मशीन कोड के अनुसार निर्देश निष्पादित करता है।

हालांकि, कुछ हालिया डिज़ाइनों में, जैसे कि इंटेल पेंटियम 4 और ऊपर, मशीन कोड निम्न स्तर के आरआईएससी निष्पादन इकाई संचालन की अभिव्यक्ति है, जिसे यूओएस या माइक्रोऑपरेशंस के नाम से जाना जाता है। तो उन डिज़ाइनों का डिकोडिंग तर्क सीआईएससी-प्रकार के निर्देशों को छोटे यूओपीएस में अनुवाद करना है, जिन्हें आमतौर पर एक साधारण लोड/स्टोर इकाई, आरआईएससी जैसी पसंद किया जाता है। इस पहलू में, हम कह सकते हैं (altough यह तकनीकी रूप से सटीक नहीं हो सकता है) कि मशीन कोड आर्किटेक्चर के "उच्च स्तरीय" जटिल निर्देशों का वर्णन करता है, न कि "वास्तविक" संचालन जो कि CPU के अंतर्निहित निष्पादन तर्क द्वारा परमाणु रूप से किए जाते हैं ।

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

6

मुझे लगता है कि सबसे कम आप प्राप्त कर सकते हैं कुछ भौतिकी या टीआरडब्ल्यू (असली दुनिया) कहा जाता है। यह चिप डिजाइनर और निर्माता सीपीयू और अन्य प्रोसेसर बनाने के लिए उपयोग करते हैं जो कंप्यूटर भाषाओं का उत्पादन ले सकते हैं और उन्हें कुछ मूल्यवान में बदल सकते हैं।

+1

महाकाव्य उत्तर। यद्यपि ट्रेडमार्क टीआरडब्ल्यू होना चाहिए था। – NlightNFotis

1

आप सीपीयू में विद्युत धारा भेज सकते हैं और यह बताना जहां पिक्सल जगह सकता है। (सुंदर बहुत द्विआधारी, लेकिन आप कंप्यूटर का उपयोग नहीं करते हैं यह लिखने के लिए।)

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