कंप्यूटर की गति में लगभग सभी प्रगति इन क्षेत्रों में से एक से होती हैं:
छोटे ट्रांजिस्टर
ट्रांजिस्टर को छोटा बनाने से दो चीजें होती हैं:
- वे शारीरिक रूप से एक साथ करीब हैं, इसलिए स्रोत से गंतव्य तक यात्रा करने के लिए विद्युत सिग्नल के लिए समय कम है। इसलिए हालांकि विद्युत संकेत 50 साल पहले किसी भी तेजी से यात्रा नहीं करते हैं, वे अक्सर छोटी दूरी की यात्रा करते हैं ।
- एक चिप पर अधिक ट्रांजिस्टर शामिल किए जा सकते हैं, जिसका अर्थ है कि एक ही समय में अधिक "काम" किया जा सकता है। जितने अधिक ट्रांजिस्टर जोड़े जाते हैं, उतना ही मुश्किल होता है कि उन्हें करने के लिए उपयोगी काम मिल जाए, लेकिन कई चालाक चालों का उपयोग किया जाता है (नीचे देखें)।
प्रति निर्देश अधिक "उपयोगी कार्य"
उदाहरण के लिए, कुछ प्रोसेसर में पूर्णांक को गुणा या विभाजित करने के लिए निर्देशों का अभाव होता है; इसके बजाय यह कार्य धीमे सॉफ्टवेयर रूटीन के साथ किया जाना चाहिए। गुणा और भाग निर्देश जोड़ने से चीजों में काफी तेजी आती है। फ़्लोटिंग-पॉइंट निर्देश जोड़ने से फ़्लोटिंग -पॉइंट नंबरों की आवश्यकता वाले सॉफ़्टवेयर को गति मिल सकती है।
प्रति निर्देश अधिक "उपयोगी कार्य" करने का एक महत्वपूर्ण तरीका शब्द आकार बढ़ रहा है । सीपीयू जो 32-बिट संख्या पर संचालन कर सकते हैं, उन्हें अक्सर 16-बिट या 8-बिट सीपीयू के समान कार्य करने के लिए बहुत कम निर्देशों की आवश्यकता होती है।
कुछ प्रोसेसर निर्देश का समर्थन करते हैं जो एक साथ कई काम करते हैं, विशेष रूप से निर्देश जो एक से अधिक डेटा आइटम ( SIMD ) पर एक ही ऑपरेशन करते हैं ।
प्रति चक्र अधिक निर्देश
"घड़ी चक्र" यह है कि प्रोसेसर अपनी वर्तमान स्थिति से अगले राज्य में कैसे जाता है। एक अर्थ में यह प्रोसेसर की सबसे छोटी इकाई है जो प्रोसेसर एक समय में कर सकता है। हालांकि, घड़ी चक्र की संख्या किसी विशेष निर्देश को प्रोसेसर के डिजाइन पर निर्भर करती है।
पाइपलाइन किए गए प्रोसेसर के आगमन के साथ , "ओवरलैप" के लिए अलग-अलग निर्देशों के लिए यह संभव हो गया, अर्थात एक पिछले समाप्त होने से पहले शुरू होगा। हालांकि, कुछ निर्देश अगले निर्देश को अमान्य कर सकते हैं, जो तब तक ज्ञात नहीं होंगे जब तक कि अगले निर्देश को आंशिक रूप से निष्पादित नहीं किया जाता है, इसलिए चीजें जटिल हो सकती हैं। (Pipelined प्रोसेसर में तर्क शामिल है कि यह सुनिश्चित करने के लिए कि सब कुछ ठीक काम करता है - लेकिन प्रदर्शन विशेषताओं अधिक जटिल हैं।)
सुपरस्लेकर प्रोसेसर इसे अगले स्तर तक ले जाते हैं, शाब्दिक रूप से एक ही समय में दो निर्देशों को निष्पादित करने की अनुमति देता है, और आउट-ऑफ-ऑर्डर निष्पादन इसे एक कदम आगे ले जाता है, जिससे निर्देशों को ऑर्डर से बाहर निष्पादित करने की अनुमति मिलती है। इन विशेषताओं के लिए निर्देश धारा के विश्लेषण की आवश्यकता होती है, जो एक दूसरे से टकराती नहीं हैं।
हालांकि इस तरह की अन्य चालें हैं (जैसे शाखा भविष्यवाणी , सट्टा निष्पादन ), जो अधिक महत्वपूर्ण है वह समग्र चित्र है:
- हर निर्देश को पूरा करने के लिए एक निश्चित संख्या में घड़ी चक्र लगते हैं (आवश्यक रूप से स्थिर नहीं)
- लेकिन कई निर्देश एक ही बार में प्रगति पर हो सकते हैं
- इसलिए उच्च-गति वाले प्रोसेसर के लिए एक औसत दर्जे का " निर्देश प्रति चक्र " है जो 1> है
- लेकिन यह कार्यभार पर बहुत निर्भर करता है
प्रति सेकंड अधिक चक्र
दूसरे शब्दों में, उच्चतर गति । घड़ी की गति बढ़ने से न केवल गर्मी उत्पन्न होती है, बल्कि बहुत अधिक अनुशासित चिप डिजाइन की आवश्यकता होती है, क्योंकि सर्किट को स्थिर करने के लिए एक छोटी समय सीमा होती है। हम 2000 के दशक तक इसमें से बहुत अधिक लाभ प्राप्त कर चुके थे, जब हमने कुछ व्यावहारिक सीमाएं पार कर लीं।
सही समय पर सही जगह पर डेटा
हालांकि सीपीयू के भीतर के घटक सिकुड़ते ट्रांजिस्टर के कारण एक साथ और करीब हो रहे हैं, सीपीयू और रैम अभी भी एक अच्छा 5-10 सेमी अलग हैं। यदि किसी निर्देश को RAM से कुछ चाहिए, तो उस निर्देश को पूरा करने में 5 या 6 चक्र नहीं लगेंगे, यह लगभग 200 लेगा। यह वॉन न्यूमैन अड़चन समस्या है।
इसके खिलाफ हमारा मुख्य हथियार कैश है । हाल ही में एक्सेस किए गए डेटा को फिर से एक्सेस किए जाने की अधिक संभावना है, इसलिए इसे विशेष मेमोरी (जिसे कैश कहा जाता है) में सीपीयू चिप के भीतर रखा जाता है, जिससे यह एक्सेस करने में बहुत तेज होता है।
हालांकि, अन्य तकनीकों (जैसे पाइपलाइनिंग और शाखा भविष्यवाणी ) प्रोसेसर को डेटा के आने के इंतजार में उपयोगी काम करने की अनुमति देकर मदद करते हैं, और यह भी भविष्यवाणी करते हैं कि जल्द ही कौन से डेटा की आवश्यकता हो सकती है।
एकाधिक और / या विशेष प्रोसेसर
एक प्रोसेसर के लिए एक से अधिक प्रोसेसर के बजाय सॉफ्टवेयर लिखना बहुत आसान है। हालांकि, कभी-कभी प्रदर्शन / लागत / बिजली की खपत के लाभ इसे सार्थक बनाते हैं।
इसके अलावा, कुछ प्रोसेसर विशेष रूप से कुछ कार्यों के अनुकूल हैं। उदाहरण के लिए, GPU को विशेष रूप से 2D और 3D ग्राफिक्स और प्रभाव प्रदान करने के लिए आवश्यक गणनाओं के लिए डिज़ाइन किया गया है।
मल्टी-कोर प्रोसेसर अनिवार्य रूप से एक चिप पर कई प्रोसेसर होते हैं।