إذا لم تكن مهتمًا بشكل خاص بأجهزة الكمبيوتر ، فسيغفر لك افتراض أن الأشكال الوحيدة للذاكرة في جهاز الكمبيوتر هي محرك الأقراص الثابتة وذاكرة الوصول العشوائي. من المحتمل أن يعرف أولئك المهتمون بأجهزة الكمبيوتر أن الأمر ليس كذلك ، وأن تحتوي وحدة المعالجة المركزية أيضًا على مجموعة من ذاكرات التخزين المؤقت التي تُستخدم لتخزين البيانات مؤقتًا من ذاكرة الوصول العشوائي حتى تتمكن وحدة المعالجة المركزية من الوصول إليها أسرع. كل هذه ميزات معلن عنها ، ويرجع ذلك أساسًا إلى أن السرعة و / أو السعة هي نقطة بيع جيدة وتؤثر بشكل عام على مستويات الأداء.
هناك بالفعل طبقة أخرى من الذاكرة. بقدر ما تعتقد أن ذاكرة التخزين المؤقت L1 هي أقرب ما يمكن من جوهر المعالجة الفعلي ، هناك طبقة أعلى أخرى في التسلسل الهرمي للذاكرة. هذه هي سجلات وحدة المعالجة المركزية. والسبب في عدم الإعلان عنها أو ذكرها حقًا هو أنها لم تتغير على الإطلاق. من الناحية الفنية ، يمكن أن يكون عدد وحجم السجلات أمرًا أساسيًا في الواقع للهندسة المعمارية. هذا يعني أن جميع وحدات المعالجة المركزية x86-64 لها نفس عدد السجلات. لا يتم تسويقها لأنها ليست نقطة منافسة.
ماذا يفعل السجل؟
السجل هو موقع تخزين متاح بسرعة للمعالج. يكون الوصول إلى السجل فوريًا بدون أي زمن انتقال ، في حين أن ذاكرة التخزين المؤقت L1 تحتوي على زمن انتقال يتراوح من 4 إلى 5 دورات تقريبًا في وحدات المعالجة المركزية الحديثة. تلمح فورية الوصول هذه إلى حالة استخدام السجلات. تُستخدم السجلات لتخزين التعليمات التي تعمل عليها وحدة المعالجة المركزية بشكل نشط. يقومون أيضًا بتخزين نقاط البيانات التي سيتم معالجتها. بعض السجلات للأغراض العامة ، في حين أن البعض الآخر له غرض محدد للغاية. مثال على سجل الأغراض الخاصة سيكون عداد البرنامج حيث يتتبع المعالج موقعه في تسلسل البرنامج الخاص به.
تعتبر العديد من السجلات يمكن الوصول إليها من قبل المستخدم. هذا لا يعني أنه يمكن لمستخدم الكمبيوتر اختيار القيمة التي يجب وضعها فيها. هذا يعني أن البرنامج قيد التشغيل يمكنه تحديد البيانات التي سيتم تحميلها في هذه السجلات. عدد أقل من السجلات داخلي ، مما يعني أن البرنامج لا يمكنه معالجتها على الإطلاق. سجل التعليمات ، الذي يخزن التعليمات التي يتم تنفيذها حاليًا ، هو مثال على السجل الداخلي.
إعادة تسمية التسجيل
على الرغم من أن بنية وحدة المعالجة المركزية قد تسمح فقط بتكوين واحد للسجلات ، إلا أن هناك القليل من الفروق الدقيقة في ذلك. تستفيد جميع وحدات المعالجة المركزية الحديثة من إعادة تسمية السجل. هذه تقنية يمكنك من خلالها الحصول على المزيد من السجلات المادية واستخدامها لتحميل البيانات مسبقًا أو تخزين البيانات المتعلقة بإرشادات خارج الطلب كان من الممكن استبدالها بخلاف ذلك. عندما تصل وحدة المعالجة المركزية إلى النقطة التي تحتاج إلى البيانات الموجودة في السجلات الإضافية ، فإنها ببساطة تعيد تسميتها بحيث تكون قابلة للعنونة ، في نفس الوقت الذي تجعل فيه السجل القابل للعنونة سابقًا غير قابل للعنونة.
يمكن أن تكون عملية إعادة تسمية السجل مفيدة جدًا للتنفيذ خارج الطلب. على سبيل المثال ، إذا تمت برمجة موقع ذاكرة ليتم قراءته من ثم كتابته إلى ، وتم تنفيذ التعليمات بهذا الترتيب ، فلا بأس بذلك. ومع ذلك ، إذا تم إعادة ترتيب التعليمات لإجراء الكتابة أولاً ، فستحصل تعليمات القراءة على قيمة خاطئة. لمنع ذلك ، يتم تخزين القيمة الأصلية المراد قراءتها في سجل غير مستخدم يتم إعادة تسميته بعد ذلك عند معالجة التعليمات ذات الصلة.
استنتاج
السجلات هي أعلى مستوى في التسلسل الهرمي للذاكرة. إنها الجزء الوحيد الذي يمكن معالجته مباشرة بواسطة وحدة المعالجة المركزية وليس لها زمن انتقال. يتم استخدام السجلات لتخزين البيانات التي يتم تنفيذها بنشاط بواسطة وحدة المعالجة المركزية. يتم استخدامها أيضًا لتخزين نقاط البيانات الأخرى مثل عداد البرنامج الذي يتتبع التعليمات التالية التي سيتم تنفيذها. تتوفر أعداد محدودة جدًا من السجلات مع بنية x86-64 التي تحتوي على 16 سجلًا للأغراض العامة وإما 16 أو 32 سجلًا للنقطة العائمة اعتمادًا على ما إذا كان AVX-512 مدعومًا.