المعلوماتية > عام

مسجلات الحاسب Registers

استمع على ساوندكلاود 🎧

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

تتم صناعة المسجلات من خلايا ذاكرة متعددة المداخل multi-ported memory cells، وتتفرع إلى عدة أنواع وكلٌّ منها يؤدي وظيفةً خاصة. نذكر منها المسجلات الأكثر استخداماً:

Accumulator (AC) - Data Register (DR) - Address Register (AR) - Program Counter (PC) - Memory Data Register (MDR) - Instruction Register (IR) - Memory Buffer Register (MBR)

تستخدم المسجلات من قبل وحدة المعالجة المركزية CPU للقيام بمجموعة من المهام من خلال عمليات معينة. فمثلاً عندما نقوم بإدخال مُدخل للنظام فهذا المدخل يجب تسجيله في مسجل، والعكس صحيح، عندما يعطينا النظام ناتجاً بعد القيام بمجموعة من العمليات فهذا الناتج يتم تخزينه في مسجل هو بدوره . ومن هنا فالمسجلات تستخدم من طرف CPU لمعالجة البيانات المدخلة من طرف المستخدم .

يقوم المعالج بالعمليات التالية بمساعدة المسجلات :

1-الجلب fetch : تعتمد هذه المرحلة على جلب التعليمة التي يجب على المعالج تنفيذها من الذاكرة ووضعها في المسجل المناسب.

2-فك الترميز Decode : يتم في هذه المرحلة فك ترميز الأوامر و"فهمها" ليتمكن CPU من تحديد العملية التي يجب القيام بها.

3-التنفيذ Execute : يتم تنفيذ هذه التعليمة من قبل CPU ويتم تخزين الناتج في الذاكرة ليتم عرضه على المستخدم.

تشكل المسجلات عنصراً أساسياً جداً في المعالج حيث يقوم كل مسجل بوظيفة محددة و نذكر فيما يلي تعاريف أهم المسجلات:

مسجل عنوان الذاكرة Memory Address Register (MAR) : يحتوي هذا المسجل على العنوان الذي يرغب المعالج في الوصول اليه في الذاكرة بغرض الكتابة أو القراءة، وعندما يحتاج لتخزين أو قراءة بيانات من الذاكرة يقوم بوضع العنوان الموافق للموقع في الذاكرة في هذا المسجل MAR.

مسجل Memory Buffer Register (MBR) : يقوم هذا المسجل بتخزين بيانات أو تعليمات موجودة في الذاكرة و يتم توجيه التعليمات الى المسجل المسمى Instruction Register (IR) و البيانات إلى الـ Accumulator أو I/O Register ، بمعنى آخر هذا المسجل يحتفظ بالبيانات المتجهة من وإلى الذاكرة.

مسجل عناوين الدخل والخرج I/O Address Register : يستعمل لتحديد عنوان جهاز الإدخال أو الإخراج I/O.

مسجل I/O buffer register : يتم استخدامه لتبادل البيانات بين المعالج ووسائط الإدخال الإخراج I/O، أي أن هذا المسجل يحتفظ بالبيانات المتجهة من وإلى اجهزة الدخل أو الخرج.

مسجل Program Counter : يطلق عليه أيضاً اسم مسجل مؤشر التعليمة Instruction Pointer Register و يستعمل لتخزين عنوان التعليمة التالية ليتم جلبها إلى المعالج للتنفيذ. بعد أن يتم جلب التعليمة يتم تحديث عداد PC ليقوم بالإشارة الى التعليمة التالية.

مسجل التعليمة Instruction Register : بمجرد أن يتم جلب التعليمة من الذاكرة K تخزن مباشرة في Instruction Register مسجل التعليمات. ثم تقوم وحدة التحكم ضمن المعالج CPU بقراءتها وفك ترميزها ثم تنفيذها عن طريق إرسال إشارات تحكم لمختلف أجزاء الحاسب المعنية بتنفيذ العملية.

المراكم Accumulator Register : يقع داخل وحدة الحساب والمنطق ALU ضمن المعالج . ويستخدم في العمليات الحسابية والمنطقية. يقوم المعالج باستخدام المراكم لتخزين البيانات التي يجلبها من الذاكرة للقيام بالعمليات الحسابية والمنطقية. مبدئياً يقوم بتخزين البيانات الأولية ثم البيانات الوسطية ثم النهائية التي يتم توجيهها تلقائياً للذاكرة عن طريق مسجل MBR.

مسجل المكدس Stack Control Register : المكدس عبارة عن مجموعة من الكتل Blocks ضمن الذاكرة حيث يتم تخزين البيانات ضمنها واسترجاعها بالتسلسل على مبدأ الداخل أولاً يخرج آخراً LIFO. يستخدم هذا المسجل لإدارة المكدس ضمن الذاكرة ويتراوح حجمه بين 2 و 4 بايت.

مسجل البيانات Data Segment : يستخدم لتخزين البيانات المرسلة من وإلى الأجهزة الطرفية بشكل مؤقت.

مسجل الأعلام Flag Register : يستخدم هذا المسجل للإشارة الى حالة معينة أثناء قيام المعالج بعملية ما. يتراوح حجم هذا المسجل بين 1 و 2 بايت، ويشير كل بت bit من العلم إلى حالة معينة ويأخذ قيمتين هما واحد أو صفر، ونذكر مثلاً العلم الذي يشير إلى أن العدد زوجي أو فردي، وعلم القسمة على صفر وغيرها.

المصدر :

هنا