لماذا يتم الوصول إلى سجلات وحدة المعالجة المركزية للوصول؟

StackOverflow https://stackoverflow.com/questions/3518445

  •  29-09-2019
  •  | 
  •  

سؤال

تعد متغيرات التسجيل طريقة معروفة للوصول السريع (register int i). ولكن لماذا توجد سجلات في الجزء العلوي من التسلسل الهرمي (السجلات ، ذاكرة التخزين المؤقت ، الذاكرة الرئيسية ، الذاكرة الثانوية)؟ ما هي كل الأشياء التي تجعل الوصول إلى السجلات بسرعة كبيرة؟

هل كانت مفيدة؟

المحلول

تعد السجلات جزءًا أساسيًا من وحدة المعالجة المركزية ، وسيتم تصميم الكثير من مجموعة التعليمات في وحدة المعالجة المركزية للعمل ضد السجلات بدلاً من مواقع الذاكرة. عادةً ما يتطلب الوصول إلى قيمة السجل دورات قليلة جدًا على مدار الساعة (على الأرجح فقط 1) ، بمجرد الوصول إلى الذاكرة ، تصبح الأمور أكثر تعقيدًا وتشارك وحدات التحكم في الذاكرة / ذاكرة التخزين المؤقت وستستغرق العملية وقتًا أطول بكثير.

نصائح أخرى

السجلات عبارة عن دوائر سلكية حرفيًا مباشرة إلى ALU ، والتي تحتوي على دوائر للحساب. في كل دورة على مدار الساعة ، يمكن أن تغذي وحدة التسجيل في قلب وحدة المعالجة المركزية متغيرات نصف دزينة أو نحو ذلك في الدوائر الأخرى. في الواقع ، يمكن للوحدات الموجودة داخل Datapath (ALU ، إلخ) تغذية البيانات لبعضها البعض مباشرة ، عبر شبكة تجاوز, ، والتي تشكل بطريقة ما مستوى التسلسل الهرمي أعلى من السجلات-لكنها لا تزال تستخدم أرقام التسجيل لمعالجة بعضها البعض. (قسم التحكم في وحدة المعالجة المركزية ذات الأنابيب بالكامل يقوم بتعيين وحدات Datapath لتسجيل الأرقام.)

ال register الكلمة الرئيسية في C لا تفعل شيئًا مفيدًا ويجب ألا تستخدمها. يقرر المترجم المتغيرات التي يجب أن تكون في السجلات ومتى.

السجلات هي في الأساس ذاكرة وحدة المعالجة المركزية الداخلية. لذا فإن الوصول إلى السجلات أسهل وأسرع من أي نوع آخر من الوصول إلى الذاكرة.

الذكريات الأصغر عمومًا أسرع من أكبرها ؛ يمكن أن تتطلب أيضا عدد أقل من البتات لمعالجة. يمكن أن تحتوي كلمة تعليمات 32 بت على ثلاثة عناوين تسجيل بأربعة بت ولديها مساحة كبيرة لرمز opcode وأشياء أخرى ؛ عنوان ذاكرة 32 بت من شأنه أن يملأ كلمة تعليمية تمامًا لا تترك مجالًا لأي شيء آخر. علاوة على ذلك ، يزداد الوقت اللازم لمعالجة الذاكرة بمعدل أكثر من يتناسب مع سجل حجم الذاكرة. سيستغرق الوصول إلى كلمة من مساحة ذاكرة 4 أزعج العشرات إن لم يكن مئات المرات لفترة أطول من الوصول إلى واحدة من ملف تسجيل 16 كلمة.

سيكون الجهاز الذي يمكنه التعامل مع معظم طلبات المعلومات من ملف تسجيل سريع صغير أسرع من جهاز يستخدم ذاكرة أبطأ لكل شيء.

يحتوي كل متحكم على وحدة المعالجة المركزية كما هو مذكور ، والتي تحتوي على المكونات الأساسية لـ ALU ، وبعض ذاكرة الوصول العشوائي وكذلك أشكال الذاكرة الأخرى للمساعدة في عملياتها. ذاكرة الوصول العشوائي هي ما تشير إليه على أنه ذاكرة رئيسية.

يتعامل ALU مع جميع العمليات المنطقية Arthimetic والعمل على أي معاملات لإجراء هذه الحسابات ، فإنه يقوم بتحميل المعاملات في السجلات ، ويؤدي العمليات على هذه ، ثم يصل البرنامج إلى النتيجة المخزنة في هذه السجلات مباشرة أو غير مباشرة.

نظرًا لأن السجلات الأقرب إلى قلب وحدة المعالجة المركزية (الملقب بدماغ المعالج الخاص بك) ، فهي أعلى في السلسلة والعمليات التي يتم إجراؤها مباشرة على السجلات تأخذ أقل كمية من دورات الساعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top