ملف مسجل (حوسبة)
المحتويات

بدايةً، ملف المسجل هو مصفوفة من المسجلات القابلة للعنونة تحتوي على منفذين أو أكثر، مما يسمح بالقراءة والكتابة المتزامنة للمسجلات في المصفوفة، وتكون عملية القراءة غير مُتلفة، أي أنها لا تُغير البيانات المخزنة، ويكون كل منفذ إما منفذ كتابة أو منفذ قراءة، مع إشارات إدخال وإخراج خاصة بوظيفة المنفذ. تحتوي جميع المنافذ على مدخلات عناوين تُحدد المسجل المراد الوصول إليه. كما تحتوي منافذ الكتابة على مدخلات بيانات تُحدد القيمة المراد كتابتها في المسجل، فضلًا عن مدخل تمكين الكتابة الذي يسمح بكتابة البيانات. أما منافذ القراءة، فتحتوي على مخرجات بيانات تُشير إلى قيمة خرج المسجل. وفيما يلي تفاصيل أوسع عن ذلك.
في هذا الإطار، تُستعمل ملفات المسجلات في تطبيقات متنوعة، من أشهرها سجلات المعالج المُستعملة في وحدات المعالجة المركزية، وذاكرة البيانات في مخازن البيانات المؤقتة، وفي مُسرّعات الأجهزة.
المعمارية النموذجية
في وحدات المعالجة المركزية
كذلك، تُحدد معمارية مجموعة التعليمات في وحدة المعالجة المركزية عادةً مجموعة من المسجلات التي تُستعمل لتخزين البيانات مؤقتًا بين الذاكرة والوحدات الوظيفية الموجودة على الشريحة. يُعد ملف المسجلات أحد الأجزاء التي تكون مرئية للمبرمج من هذه المعمارية، على عكس مفهوم ذاكرة التخزين المؤقت الشفافة. في وحدات المعالجة المركزية البسيطة، تتطابق مسجلات المعمارية هذه تمامًا مع مدخلات ملف المسجلات الفيزيائية داخل وحدة المعالجة المركزية. أما وحدات المعالجة المركزية الأكثر تعقيدًا فتستعمل إعادة تسمية المسجلات، بحيث يتغير تعيين المدخل الفيزيائي الذي يخزن مسجلًا معماريًا معينًا ديناميكيًا أثناء التنفيذ. وتُعرف هذه الطريقة باسم تجميع المسجلات، وهي طريقة تستعمل اسمًا واحدًا للوصول إلى مسجلات فيزيائية متعددة ومختلفة، وذلك بحسب وضع التشغيل.
تبديل مخازن المسجلات المجمعة
وعلى صعيد آخر، تستعمل معالجات إكس 86 تبديل السياق والمقاطعات السريعة للتبديل بين التعليمات، ووحدة فك التشفير، والمسجلات العامة، وملفات المسجلات، إذا كان هناك أكثر من ملف، قبل إصدار التعليمات، غر أن ذلك يتوفر فقط في المعالجات التي تدعم التنفيذ فائق التوازي. يُعدّ تبديل السياق على الرغم من ذلك آلية مختلفة تمامًا عن مخزن المسجلات المجمعة في معالجات آرم. يستعمل معالج مودكومب والمعالجات اللاحقة المتوافقة مع فئة 8051 بتات في كلمة حالة البرنامج لتحديد مخزن المسجلات المجمعة النشط في الوقت الحالي.
من جهة ثانية، يمكن تجميع ملفات المسجلات معًا في مخازن المسجلات المجمعة. ويُمكن أن يحتوي المعالج على أكثر من مخزن مسجلات واحد. تحتوي معالجات آرم على مسجلات مُجمّعة وغير مُجمّعة. وبينما تشترك جميع الأوضاع دائمًا في نفس السجلات الفيزيائية للمسجلات العامة الثمانية الأولى (بدءًا من المسجل رقم 0 وحتى المسجل رقم 7)، فإن السجل الفيزيائي الذي تشير إليه المسجلات المُجمّعة بدءًا من المُسجل رقم 8 وحتى المُسجل رقم 14، يعتمد على وضع التشغيل الذي يعمل به المعالج. والجدير بالذكر أن وضع طلب المقاطعة السريعة يحتوي على مخزن مسجلات خاص به يبدأ من المسجل رقم 8 وينتهي بالمسجل رقم 12، كما توفر المعمارية كذلك مؤشر مكدس خاص (المسجل رقم 13) لكل وضع مقاطعة.
المصفوفة
وفي هذا السياق، تُكتب البيانات فيما بعد عن طريق توصيل أحد طرفي خط البت بالأرض عبر مكدس يتكون من ترانزستورين من نوع الموسفت ذات القناة إن.
من جهة ثانية، إذا كان جهد التغذية يمثل خطًا أفقيًا، فمن المُمكن أن تقوم وحدة فك تشفير أخرى بإيقافه، إذا كانت أي من منافذ الكتابة تكتب على هذا الخط خلال تلك الدورة. ويُحسّن هذا الإجراء سرعة الكتابة.
ومن ناحية أخرى، مشاركة الخطوط بين الخلايا، مثل خطوط جهد التغذية وخطوط جهد المصدر.
وفي هذا الصدد، غالبًا ما تُشحن خطوط بت القراءة مسبقًا بقيمة تقع بين قيمتي جهد التغذية وجهد المصدر.
وفي السياق ذاته، تُعدّ التقنيات التي تُقلّل الطاقة المُستهلكة بواسطة ملفات التسجيل مفيدة في الإلكترونيات منخفضة الطاقة.
- يكون المخطط الأساسي لعمل خلية البت على النحو التالي:
- تُخزَّن الحالة في زوج من العواكس.
- ثُم تُقرأ البيانات بواسطة ترانزستور من نوع الموسفت ذو القناة إن إلى خط البت.
ومن جهة أخرى، غالبًا ما تتأرجح خطوط بت القراءة لجزء صغير فقط من قيمة جهد التغذية أو قيمة جهد المصدر. لذلك يُستعمل مُضخِّم الإشارة لتحويل هذه الإشارة ذات التأرجح الصغير إلى مستوى منطقي كامل. يكون انتقال الإشارات ذات التأرجح الصغير أسرع دائمًا حيث يكون لخط البت جهد تغذية منخفضًا ولكن تكون له سعة طفيلية كبيرة.
من جهة ثانية، لذلك، تتطلب منافذ القراءة ترانزستورًا واحدًا لكل خلية بت، بينما تتطلب منافذ الكتابة أربعة ترانزستورات لكل خلية بت.
وفي السياق ذاته، يمكن جدل خطوط بت الكتابة، بحيث تقترن بالتساوي بخطوط بت القراءة المجاورة. ولكن نظرًا لأن خطوط بت الكتابة تتأرجح بالكامل، فقد تُسبب تشويشًا كبيرًا على خطوط بت القراءة.
في هذا الإطار، يُمكن كذلك إجراء بعض التحسينات على هذه العملية عن طريق ما يلي:
المعمارية الصغرية
وفي هذا السياق، تستعمل معمارية ميبس ملفات مسجلات متعددة كذلك، حيث تحتوي وحدة الفاصلة العائمة آر 8000 على نسختين من ملف مسجلات الفاصلة العائمة، ويكون لكل منهما أربعة منافذ كتابة وأربعة منافذ قراءة، وتكتب النسختين معًا باستخدام تبديل السياق. على الرغم من ذلك، فإن معالجات ميبس لم تكن تدعم عمليات الأعداد الصحيحة، حيث ظل ملف مسجلات الأعداد الصحيحة دون تغيير. لاحقًا، ونظرًا لمتطلبات سوق الأنظمة المدمجة، تم التخلي عن ملفات المسجلات الظلية في التصاميم الأحدث من معمارية ميبس. يستعمل معالج سبارك كذلك معمارية ملف المسجلات الظلي في خط إنتاجه عالي الأداء، حيث يحتوي المُعالج على ما يصل إلى أربع نسخ من ملفات مسجلات الأعداد الصحيحة (المستقبلية، والمتقاعدة، والمُقاسة، والمُهملة، تحتوي كل منها على سبعة منافذ للقراءة وأربعة منافذ للكتابة) ونسختين من ملف مسجلات الفاصلة العائمة. ولكن على عكس معالجي ألفا وإكس 86، فإنّ هذه المسجلات الظلية تقع في الجزء الخلفي من المُعالج كوحدة تقاعد مباشرة بعد وحدة المعالجة خارج الترتيب ووحدة إعادة تسمية المسجلات. لا تقوم المسجلات الظلية بتحميل التعليمات أثناء مراحل جلب التعليمات وفك تشفيرها، وبالتالي فإن تبديل السياق يُعدّ غير ضروريًا في هذا التصميم.
إضافةً إلى ذلك، عادةً ما تتم مطابقة ملف المُسجل مع مسار البيانات الذي يخدمه، وذلك لمنع مرور الكثير من ناقلات البيانات عبر مسار البيانات عند المنعطفات، مما يستهلك مساحة كبيرة. ولكن بما أن كل وحدة يجب أن يكون لها نفس تباعد البتات، فإن كل وحدة في مسار البيانات ينتهي بها الأمر بتباعد بتات تفرضه عليها الوحدة الأعرض، مما قد يهدر مساحة في الوحدات الأخرى، ومع هذا يمكن لملفات المُسجل في كثير من الأحيان أن تحدد مدى تباعد مسار البيانات، نظرًا لاحتوائها على سلكين لكل بت لكل منفذ كتابة، ولأن جميع خطوط البتات يجب أن تتصل بالسيليكون عند كل خلية بت. يمكن أحيانًا توفير المساحة في الأجهزة التي تحتوي على وحدات متعددة في مسار البيانات من خلال وجود مساري بيانات متجاورين، لكل منهما تباعد بتات أصغر من تباعد مسار بيانات واحد، وعادةً ما تفرض هذه الحالة نسخًا متعددة من ملف المُسجل، بحيث يكون هُناك نسخة من ملفّ المُسجل لكل مسار بيانات على حدة.
من جانب آخر، لا تتضمن أغلب ملفات المُسجلات أي إجراءات خاصة لمنع منافذ الكتابة المتعددة من الكتابة إلى نفس المدخل في وقت واحد.، ولكن يضمن جهاز جدولة التعليمات بدلاً من ذلك، أن تقوم تعليمة واحدة فقط في أي دورة معينة بكتابة مدخل محدد، وفي حال إصدار تعليمات متعددة تستهدف نفس المسجل، فسيتم تعطيل تمكين الكتابة لجميعها باستثناء واحدة. تستغرق العواكس المتقاطعة وقتًا محددًا للاستقرار بعد عملية الكتابة، وخلال هذه الفترة، قد تستغرق عملية القراءة وقتًا أطول أو تُعيد بيانات غير صالحة. من الشائع كذلك وجود مُضاعِفات تجاوز تُحوّل البيانات المكتوبة إلى منافذ القراءة عند إصدار أمر بالقراءة والكتابة المتزامنة إلى نفس المدخل، وغالبًا ما تكون مُضاعِفات التجاوز هذه جزءًا من شبكة تجاوز أكبر تُعيد توجيه النتائج التي لم يتم تثبيتها بعد بين الوحدات الوظيفية.
كذلك، كان معالج ألفا 21264 (إي في 6) مثلًا، هو أول معمارية صغرية كبيرة تُطبّق معمارية ملف المسجل الظلي، حيث كان يحتوي على نسختين من ملفات مسجلات الأعداد الصحيحة ونسختين من ملفات مسجلات الأعداد العشرية في واجهته الأمامية (ملف للاستقبال وملف للقياس، ويحتوي كل منهما على منفذي قراءة ومنفذي كتابة)، وكان يستغرق دورة إضافية لنقل البيانات بينهما أثناء تبديل السياق. سعت منطق الإصدار إلى تقليل عدد عمليات نقل البيانات بين الملفين، مما حسّن أداء كتابة وقراءة الأعداد الصحيحة بدرجة كبيرة، وساعد في تقليل تأثير العدد المحدود من سجلات الأغراض العامة في المعماريات فائقة التوازي ذات التنفيذ التخميني. وقد اعتُمد هذا التصميم لاحقًا في معالجات سبارك و معالجات ميبس وبعض معالجات إكس 86 اللاحقة.
وحدة فك التشفير
إضافةً إلى ذلك، تُقسّم وحدة فك التشفير غالبًا إلى وحدة ما قبل فك التشفير ووحدة فك التشفير نفسها. تتكون وحدة فك التشفير من سلسلة من بوابات العطف التي تُشغّل خطوط الكلمات، وتُستعمل وحدة فك تشفير واحدة لكل منفذ قراءة أو كتابة. فمثلًا، إذا كانت المصفوفة تحتوي على أربعة منافذ قراءة ومنفذي كتابة، فإنها سوف تحتوي على 6 خطوط كلمات لكل خلية بت في المصفوفة، وعلى ست بوابات عطف لكل صف في وحدة فك التشفير. تجدر الإشارة إلى ضرورة مطابقة درجة وحدة فك التشفير مع درجة المصفوفة، وهو ما يُجبر بوابات العطف هذه على أن تكون عريضة وقصيرة.
آلية التنفيذ
ومن جهة أخرى، تحتوي ملفات المسجلات على سطر كلمة واحد لكل إدخال لكل منفذ، وسطر بت واحد لكل بت من العرض لكل منفذ قراءة، وسطرين بت لكل بت من العرض لكل منفذ كتابة، كما تحتوي كل خلية بت كذلك على جهد كهربي للتغذية وجهد كهربي مصدري. لذلك، نجد مساحة التباعد بين الأسلاك تتزايد طرديًا مع مربع عدد المنافذ، على حين تتزايد مساحة الترانزستور خطيًا مع عدد المنافذ. وعند نقطة معينة، قد يكون من الأنسب أو الأسرع استخدام ملفات مسجلات متعددة زائدة، ذات عدد أقل من منافذ القراءة، بدلًا من ملف مسجل واحد يحتوي على جميع منافذ القراءة. فمثلًا، تحتوي وحدة الأعداد الصحيحة في معالج ميبس آر 8000 على ملف مسجلات 64 بت، يحتوي على 9 منافذ قراءة و4 منافذ كتابة و32 مدخلاً، تم تنفيذه بتقنية 0.7 ميكرومتر، ويمكن رؤيته بوضوح عند النظر إلى الشريحة من مسافة بعيدة. يُعدّ كل من تكوين ملف المسجلات الموزع وتكوين ملف المسجلات المُقسّم من الطرق الشائعة لتقسيم المسجلات إلى ملفات مسجلات متعددة.
وفي هذا الصدد، يُمكن من حيث المبدأ تنفيذ أي عملية تُجرى باستخدام ملف مسجلات بعرض 64 بت مزود بالعديد من منافذ القراءة والكتابة، باستخدام ملف مسجلات واحد بعرض 8 بت مزود بمنفذ قراءة واحد ومنفذ كتابة واحد. مع ذلك، فإن التوازي على مستوى البت في ملفات المسجلات العريضة ذات المنافذ المتعددة يسمح لها بالعمل بسرعة أكبر بكثير، وبالتالي، يمكنها إنجاز عدة عمليات في دورة واحدة، بينما تستغرق هذه العمليات دورات عديدة في حال استخدام عدد أقل من المنافذ أو عرض بت أضيق أو كليهما. عادةً ما يكون عرض ملف المسجلات بالبتات مساويًا لعدد البتات في حجم كلمة المعالج. قد يكون عرض سجل البيانات في بعض الأحيان أكبر قليلًا بحيث يسمح بإضافة بتات إضافية لكل مسجل، مثل بت السم. إذا كان عرض كلمة البيانات مختلفًا عن عرض العنوان، أو في بعض الحالات، مثل معالج 68000، ولكن حتى عندما يكون عرضهما متساويًا، فإن سجلات العناوين دائمًا ما تكون في ملف مسجلات منفصل عن سجلات البيانات.
من جانب آخر، في التصميم المعتاد، تُقرأ المصفوفة البسيطة عموديًا. أي أن سطر كلمة واحد يمتد أفقيًا، يُجبر صفًا من خلايا البت على وضع بياناتها على خطوط بت تمتد عموديًا. عادةً ما تكون مضخمات الإشارة، والتي تُحوّل خطوط بت القراءة ذات التأرجح المنخفض إلى مستويات منطقية ذات تأرجح كامل، موجودة في الأسفل. وتُنشأ ملفات التسجيل الأكبر حجمًا أحيانًا بتكرار المصفوفات البسيطة المعكوسة والمُدارة.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟