रजिस्टर चर त्वरित पहुंच प्राप्त करने के लिए एक प्रसिद्ध तरीका हैं (register int i
)। लेकिन पदानुक्रम के शीर्ष पर पंजीयक क्यों हैं (रजिस्टरों, कैश, मुख्य स्मृति, माध्यमिक स्मृति)? रजिस्टरों तक इतनी तेजी से पहुंचने वाली सभी चीजें क्या हैं?सीपीयू रजिस्टरों का उपयोग क्यों तेजी से कर रहे हैं?
उत्तर
रजिस्टर्स सीपीयू का मुख्य हिस्सा हैं, और सीपीयू के अधिकांश निर्देश सेट को मेमोरी स्थानों की बजाय रजिस्टरों के खिलाफ काम करने के लिए तैयार किया जाएगा। एक रजिस्टर के मूल्य तक पहुंचने के लिए आमतौर पर बहुत कम घड़ी चक्र (संभवतः 1) की आवश्यकता होती है, जैसे ही स्मृति का उपयोग किया जाता है, चीजें अधिक जटिल होती हैं और कैश नियंत्रक/मेमोरी बसें शामिल होती हैं और ऑपरेशन में काफी समय लग रहा है।
रजिस्टर्स अनिवार्य रूप से आंतरिक CPU मेमोरी हैं। तो रजिस्टरों तक पहुंच किसी अन्य प्रकार की मेमोरी एक्सेस की तुलना में आसान और तेज होती है।
रजिस्टर्स सर्किट हैं जो सचमुच एएलयू के लिए वायर्ड होते हैं, जिसमें अंकगणित के लिए सर्किट होते हैं। प्रत्येक घड़ी चक्र, सीपीयू कोर की रजिस्टर इकाई अन्य सर्किट में आधा दर्जन या इतनी चर खा सकती है। दरअसल, डाटापथ (एएलयू, इत्यादि) के भीतर इकाइयां बायपास नेटवर्क के माध्यम से सीधे एक-दूसरे को डेटा खिला सकती हैं, जो एक तरह से रजिस्टरों के ऊपर पदानुक्रम स्तर बनाती है - लेकिन वे अभी भी एक-दूसरे को संबोधित करने के लिए रजिस्टर-नंबर का उपयोग करते हैं । (पूरी तरह से पाइपलाइन सीपीयू का नियंत्रण खंड गतिशील रूप से संख्याओं को पंजीकृत करने के लिए डाटापथ इकाइयों को मानचित्र करता है।)
register
सी में कीवर्ड कुछ भी उपयोगी नहीं है और आपको इसका उपयोग नहीं करना चाहिए। संकलक निर्णय लेता है कि रजिस्टरों और कब में चर क्या होना चाहिए।
वायरस (और एमयूएक्स) निष्पादन इकाइयों को सीधे एक-दूसरे से जोड़ने के लिए अग्रेषण या बाईपास नेटवर्क कहा जाता है, क्योंकि यह रजिस्ट्रारों को लिखने के लिए विलंबता को छोड़ देता है और फिर रजिस्टर फ़ाइल से पढ़ता है। इस प्रकार एक 'add' निर्देश में एक पाइपलाइन सीपीयू में भी 1 सी विलंबता हो सकती है। (देखें [विकिपीडिया की क्लासिक आरआईएससी पाइपलाइन] (https://en.wikipedia.org/wiki/Classic_RISC_pipeline#Solution_A._Bypassing) आलेख। विचार आउट-ऑफ-ऑर्डर सुपरस्काकर सीपीयू में भी वही है, लेकिन एकाधिक निष्पादन इकाइयां एक दूसरे के समानांतर में अग्रेषित करें।) –
प्रत्येक माइक्रोकंट्रोलर के पास बिल के रूप में एक सीपीयू है, जिसमें एएलयू के बुनियादी घटक हैं, कुछ रैम के साथ-साथ इसके संचालन में सहायता के लिए स्मृति के अन्य रूप भी हैं। रैम वह है जिसे आप मुख्य स्मृति के रूप में संदर्भित कर रहे हैं।
एएलयू सभी आर्थिमेटिक लॉजिकल ऑपरेशंस को संभालने और इन गणनाओं को करने के लिए किसी भी ऑपरेंड पर काम करने के लिए, यह ऑपरेटरों को रजिस्टरों में लोड करता है, इन पर संचालन करता है, और फिर आपका प्रोग्राम सीधे इन रजिस्टरों में संग्रहीत परिणाम तक पहुंचता है या परोक्ष रूप से।
चूंकि पंजीयक सीपीयू (ए.के.ए. आपके प्रोसेसर का मस्तिष्क) के दिल के सबसे नज़दीक हैं, इसलिए वे श्रृंखला में अधिक होते हैं और सीधे रजिस्टरों पर किए गए अभ्यास संचालन कम से कम घड़ी चक्र लेते हैं।
छोटी यादें आम तौर पर बड़े से अधिक तेज़ होती हैं; उन्हें संबोधित करने के लिए कम बिट्स की भी आवश्यकता हो सकती है। 32-बिट निर्देश शब्द में तीन चार-बिट रजिस्टर पते हो सकते हैं और ओपोड और अन्य चीजों के लिए बहुत सारे कमरे हैं; एक 32-बिट मेमोरी एड्रेस पूरी तरह से एक निर्देश शब्द भर देगा जो किसी और चीज के लिए कोई जगह नहीं छोड़ देगा। इसके अलावा, मेमोरी आकार के लॉग के आनुपातिक से अधिक की दर से स्मृति को संबोधित करने के लिए आवश्यक समय। एक 4 गीगा मेमोरी स्पेस से एक शब्द तक पहुंचने से दर्जनों लोग ले सकते हैं यदि 16-शब्द रजिस्टर फ़ाइल में से किसी एक को एक्सेस करने से सैकड़ों गुना अधिक नहीं है।
एक मशीन जो एक छोटी तेज़ रजिस्टर फ़ाइल से अधिकतर जानकारी अनुरोधों को संभाल सकती है, वह सब से अधिक तेज होगी जो सब कुछ के लिए धीमी स्मृति का उपयोग करती है।
- 1. सीपीयू रजिस्टरों के अंदर एंडियननेस
- 2. क्यों पंडे डेटा में टिकाऊ विलय से डेटा पाइथन में तेजी से विलय कर रहे हैं?
- 3. धागा 100% सीपीयू बहुत तेजी से
- 4. हम jQuery में "({})" का उपयोग क्यों कर रहे हैं?
- 5. गहराई से घोंसला रेल का उपयोग कर रहे हैं काम नहीं कर रहे हैं?
- 6. इसका उपयोग कर रहे हैं?
- 7. मुहरबंद प्रकार तेजी से क्यों हैं?
- 8. तेजी से छवि विरूपण एल्गोरिदम खोज रहे हैं
- 9. विंडोज इवेंट लॉग: इसके साथ कितनी तेजी से संचालन कर रहे हैं?
- 10. छुपा तरीकों के दौरान "नया" क्यों उपयोग कर रहे हैं?
- 11. हम इंटरफेस क्यों कार्यान्वित कर रहे हैं?
- 12. Roslyn SyntaxNodes पुन: उपयोग कर रहे हैं?
- 13. COM का उपयोग कर एक सरणी पास कर रहे हैं?
- 14. गणित कोड में शुद्ध कार्य तेजी से क्यों हैं?
- 15. जेपीए का उपयोग कर एकल मूल्य पुनर्प्राप्त कर रहे हैं?
- 16. SqlDataAdapter आंतरिक रूप से एक डेटा पाठक का उपयोग करता है, तो क्यों करते हैं लोग कहते हैं कि एक SqlDataReader का उपयोग कर तेजी से होता है?
- 17. मेरे रेल इतने धीमे क्यों परीक्षण कर रहे हैं?
- 18. सीपीयू के रूप में जीपीयू का उपयोग क्यों नहीं करते?
- 19. क्यों सी # समकक्ष स्ट्रिंग विधियों की तुलना में नियमित अभिव्यक्तियों को तेजी से संकलित कर रहे हैं?
- 20. संपत्तियों की तुलना में सार्वजनिक क्षेत्र तेजी से क्यों हैं?
- 21. सी ++ सीपीयू रजिस्टर उपयोग
- 22. क्या आप माइक्रोसॉफ्ट एंटरप्राइज़ लाइब्रेरी का उपयोग कर रहे हैं?
- 23. मूव निर्देश में दो सेगमेंट रजिस्टरों की बजाय कुल्हाड़ी का उपयोग क्यों किया जाता है?
- 24. @RequestBody और @ModelAttribute का एक साथ उपयोग कर रहे हैं?
- 25. लोग यमन का उपयोग कैसे कर रहे हैं?
- 26. Boost.MultiIndex: एकाधिक फ़ील्ड का उपयोग कर तत्व खोज रहे हैं
- 27. क्या आप ईवेंट स्ट्रीमिंग उत्पादों का उपयोग कर रहे हैं?
- 28. क्या आप समांतर एक्सटेंशन का उपयोग कर रहे हैं?
- 29. पृष्ठों के बीच websockets का उपयोग कर रहे हैं?
- 30. कौन सी आईडीई सीएलआईएसपी प्रोग्रामर का उपयोग कर रहे हैं?
मुझे समझ में नहीं आता कि आप क्या पूछ रहे हैं। रजिस्टर शीर्ष पर हैं क्योंकि वे शीर्ष पर हैं। एएलयू के करीब कुछ भी नहीं है जहां काम किया जाता है। किसी रजिस्टर में डेटा रखने का मतलब डेटा हस्तांतरण ओवरहेड नहीं है। संयोग से कीवर्ड आधुनिक अनुकूलन कंपाइलरों के साथ बहुत कुछ नहीं करता है। –
एक रजिस्टर सीधे सीपीयू में संग्रहीत किया जाता है! – NoName
एएलयू पर अधिक जानकारी: https: //en.wikipedia।संगठन/विकी/Arithmetic_logic_unit –