@ मजेंको के पोस्ट में उत्तर नहीं दिया गया: हां, 8 मेगाहर्ट्ज घड़ी के साथ, प्रत्येक पंक्ति समय का दोहरा हिस्सा लेगी। जब तक कि रेखा किसी ऐसी चीज का इंतजार नहीं करती, जो घड़ी से चलने वाली न हो - जैसे बाहरी इनपुट।
@ माजेंको के जवाब के अलावा, एक सीपीयू में अगले चरण शुरू होने से पहले निर्देशों को पूरा करने के लिए एक घड़ी है। एक CPU बहुत सारे ट्रांजिस्टर से बना होता है (मुझे एक संदर्भ मिला जिसने संकेत दिया था कि AtMega कम लाखों की सीमा में था, परिमाण का एक ऑर्डर दे या ले)।
एक चक्र के दौरान, बिजली चिप के माध्यम से बहती है, ट्रांजिस्टर को चालू / बंद कर देती है, जिसके परिणाम / ट्रांजिस्टर को चालू / बंद कर देंगे, और इसके बाद लाइन के नीचे। जबकि यह हो रहा है, चिप के कुछ हिस्सों का "गलत" मान है - आप इसे गणना के माध्यम से आधे रास्ते के रूप में सोच सकते हैं (आपने किसी के कॉलम और 10 के कॉलम को जोड़ दिया है, और शुरू होने वाले हैं 100s कॉलम)। आप यह नहीं चाहते हैं कि यह बाहरी दुनिया को प्रभावित करे, इसलिए (उदाहरण के लिए) आपके आउटपुट पिन लैच किए जाते हैं - जो कुछ भी मूल्य पर आयोजित किया जाता है - जब तक कि निर्देश पूरा नहीं हो जाता। एक निर्देश को पूरा करने में कितना समय लगता है, लेकिन निर्माता सबसे खराब परिस्थितियों में सबसे धीमी निर्देश पर काम करता है।
AtMega (जो Arduino पर चिप है) के लिए, Atmel (जिसने चिप को डिज़ाइन किया है) ने घोषित किया है यह एक सेकंड का 1 / 20,000,000 है - यह 20MHz है।
ध्यान दें कि सभी माइक्रोप्रोसेसर अपने सभी निर्देशों को प्रति चक्र 1 निर्देश पर नहीं चलाते हैं - कुछ निर्देश 1, या 2, या 10 चक्र ले सकते हैं। पाइपलाइनिंग चीजों को और अधिक जटिल बना देता है - एक प्रोसेसर एक चक्र में कुछ काम कर सकता है (उदाहरण के लिए अगला निर्देश), इसे अगले में निष्पादित करें - लेकिन जब यह निर्देश 1 निष्पादित कर रहा है, तो यह अगले अनुदेश को भी ला सकता है। ऐसा करने के लिए, यह अनुमान लगाने की आवश्यकता हो सकती है कि आगे क्या निर्देश आता है ("गोटो" के समान मशीन-कोड के मामले में - जैसे लूप के लिए उपयोग किया जाता है), और अगर यह गलत अनुमान लगाता है, तो इसका सामना करना पड़ता है उस; जो निर्देश प्राप्त हुआ उसे फेंक दें और अगले चक्र को खोते हुए पुनः प्राप्त करें।
इंस्ट्रक्शन पाइपलाइनिंग पर विकिपीडिया पेज 5 चरणों में RISC चिप पाइपलाइनिंग का एक उदाहरण दिखाता है - इंस्ट्रक्शन, इंस्ट्रक्शन डिकोड, एक्ज़िक्यूट, मेमोरी एक्सेस और राइट-बैक। तो, आपके पास निष्पादन, ओवरलैपिंग के कुछ चरण में 5 निर्देश हो सकते हैं। "राइटबैक" चरण तक, निर्देशों का कोई वास्तविक प्रभाव नहीं है। आप इसे एक असेंबली लाइन के रूप में सोच सकते हैं - एक विजेट को एक साथ रखने के लिए 7 मिनट लगते हैं, लेकिन इसे 5 चरणों में तोड़ा जा सकता है, सबसे लंबी अवस्था में 2 मिनट लगते हैं। प्रत्येक दो मिनट में एक बार, प्रत्येक आंशिक रूप से पूर्ण किए गए विजेट को असेंबली लाइन द्वारा अगले स्टेशन पर ले जाया जाता है। आपको हर दो मिनट में एक विजेट मिलता है - "घड़ी" केवल सबसे धीमे कदम के रूप में तेजी से टिक सकती है। यदि आप विजेट को किसी भी तेजी से आगे बढ़ाते हैं, तो "अड़चन" अधिक से अधिक विजेट कतारबद्ध हो जाएगी।