क्वाड-कोर 3GHz प्रोसेसर का मुख्य कारण कभी भी एक 12GHz सिंगल कोर जितना तेज़ नहीं होता है, यह उस प्रोसेसर के काम करने के तरीके के साथ होता है, यानी सिंगल-थ्रेडेड या मल्टी-थ्रेडेड। आपके द्वारा चलाए जा रहे कार्यों के प्रकारों पर विचार करते समय अमदहल का नियम महत्वपूर्ण है।
यदि आपके पास एक कार्य है जो स्वाभाविक रूप से रैखिक है और इसे ठीक-ठीक चरण-दर-चरण किया जाना है जैसे कि (एक साधारण कार्यक्रम)
10: a = a + 1
20: goto 10
तब कार्य पिछले पास के परिणाम पर बहुत निर्भर करता है और 'a'
प्रत्येक कॉपी के मूल्य को 'a'
अलग किए बिना खुद की कई प्रतियां नहीं चला सकता है क्योंकि प्रत्येक कॉपी को अलग-अलग समय पर मूल्य मिल रहा है और इसे अलग तरीके से लिखना होगा। यह कार्य को एक ही थ्रेड के लिए प्रतिबंधित करता है और इस प्रकार यह कार्य कभी भी किसी भी समय केवल एक ही कोर पर चल सकता है, अगर इसे कई कोर पर चलाना है तो सिंक्रोनाइज़ेशन भ्रष्टाचार होगा। यह दोहरे कोर सिस्टम के सीपीयू पावर के 1/2 या एक क्वाड कोर सिस्टम में 1/4 तक सीमित करता है।
अब एक काम ले लो जैसे:
10: a = a + 1
20: b = b + 1
30: c = c + 1
40: d = d + 1
50: goto 10
ये सभी लाइनें स्वतंत्र हैं और इन्हें पहले की तरह 4 अलग-अलग कार्यक्रमों में विभाजित किया जा सकता है और एक ही समय में चलाया जा सकता है, प्रत्येक एक बिना किसी तुल्यकालन समस्या के कोर की पूरी शक्ति का प्रभावी उपयोग करने में सक्षम है, यह वह जगह है जहां अमदहल का नियम है इसमें आता है।
इसलिए यदि आपके पास एक थ्रेडेड एप्लिकेशन है जो ब्रूट फोर्स कैलकुलेशन करता है तो सिंगल 12GHz प्रोसेसर हाथ से जीत जाएगा, अगर आप किसी तरह टास्क को अलग-अलग हिस्सों में विभाजित कर सकते हैं और मल्टी-थ्रेडेड हो सकते हैं तो 4 कोर के करीब आ सकते हैं, लेकिन काफी पहुंच नहीं है, Amdahl के नियम के अनुसार समान प्रदर्शन।
एक मल्टी सीपीयू सिस्टम आपको मुख्य चीज देता है वह है जवाबदेही। एक सिंगल कोर मशीन पर जो कड़ी मेहनत कर रहा है, सिस्टम सुस्त लग सकता है क्योंकि ज्यादातर समय एक काम से इस्तेमाल किया जा सकता है और दूसरे काम केवल बड़े काम के बीच में कम फटने में चलते हैं, जिसके परिणामस्वरूप एक सिस्टम सुस्त या न्यायपूर्ण लगता है । मल्टी-कोर सिस्टम पर भारी कार्य को एक कोर मिलता है और अन्य सभी कार्य अन्य कोर पर खेलते हैं, अपने काम को जल्दी और कुशलता से करते हैं।
"6 कोर x 0.2GHz = 1.2Ghz" का तर्क हर स्थिति में बकवास है, सिवाय इसके कि जहां कार्य पूरी तरह से समानांतर और स्वतंत्र हैं। ऐसे कार्यों की एक अच्छी संख्या है जो अत्यधिक समानांतर हैं, लेकिन उन्हें अभी भी कुछ प्रकार के सिंक्रनाइज़ेशन की आवश्यकता होती है। हैंडब्रेक एक वीडियो ट्रांसकोडर है जो उपलब्ध सभी सीपीयू का उपयोग करने में बहुत अच्छा है, लेकिन इसमें डेटा से भरे हुए अन्य थ्रेड्स को रखने और उनके साथ किए गए डेटा को इकट्ठा करने के लिए एक मुख्य प्रक्रिया की आवश्यकता होती है।
- प्रत्येक कोर वास्तव में प्रति सेकंड एक्स गणना कर रहा है, इस प्रकार गणना की कुल संख्या x (कोर) है।
प्रत्येक कोर x गणना करने में सक्षम है प्रति सेकंड, यह मानते हुए कि कार्यभार उपयुक्त है समानांतर, एक रैखिक कार्यक्रम पर आपके पास 1 कोर है।
- घड़ी की गति बल्कि चक्रों की संख्या की एक गिनती है जो प्रोसेसर एक दूसरे के स्थान पर जाता है, इसलिए जब तक सभी कोर एक ही गति से चल रहे हैं, प्रत्येक घड़ी चक्र की गति समान रहती है, चाहे कितने कोर मौजूद हों । दूसरे शब्दों में, Hz = (core1Hz + core2Hz + ...) / कोर।
मुझे लगता है कि 4 x 3GHz = 12GHz, यह सोचने की गिरावट है कि गणित ने काम दिया है, लेकिन आप सेब की तुलना संतरे से कर रहे हैं और सिर्फ सही नहीं हैं, हर स्थिति के लिए GHz को एक साथ नहीं जोड़ा जा सकता है। मैं इसे 4 x 3GHz = 4 x 3GHz में बदल दूंगा।