سجل المعالج

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

ســِـجــِـل ّ المعالج أو مسجل المعالج (بالإنكليزية: Processor register) في معمارية الحاسوب عبارة عن كمية صغيرة من الذاكرة المتوافرة على وحدة المعالجة المركزية بهدف تسريع عمليات الوصول مقارنة بالذواكر الأخرى، أي أنها تتيح للمعالج الوصول إلى البيانات المخزنة في السـّـِـجــِـلاّت بشكل سريع جدًا. تدعم أغلب وليس كل الحواسيب ما يسمى مجموعة تعليمات بنية الحاسب حيث تتم عملية جر البيانات من مكان في الذاكرة إلى السـّـِـجــِـلاّت. يكون من المناسب جدا وضع هذه التعليمات البرمجية الأساسية بالقرب من وحدة المعالجة نظرا لتكرار استعمالها. تحتل ســِـجــِـلاّت المعالج الجزء الأعلى من بنية الذاكرة وتمثل الطريق الأسرع للوصول بالبيانات لوحدة المعالجة المركزية.

استخدامات السـّـِـجــِـلاّت[عدل]

تسخدم السـّـِـجــِـلاّت (registers) غالباً كمكان تخزين مؤقت للتعليمات والبيانات الجاري تنفيذها إضافة لاستخدامات خاصة مثل عنونة الذاكرة والتحكم في مسار تنفيذ التعليمات والقيام بتنفيذ مهام متخصصة. أهميتها تكمن في تخزين قيم ونواتج العمليات الحسابية بشكل سريع جداً لان هذه السـّـِـجــِـلاّت داخلة في تركيبة المعالج بعكس الذاكرة الرئيسة أو الرام وحتى ذاكرة الخابية (cache). لقرب السـّـِـجــِـلاّت من وحدة التنفيذ (execute unit) في المعالج؛ بالتالي لا يوجد تأخير في جلب البيانات والنتائج المؤقتة.. في الواقع وحذة التفيد والسـّـِـجــِـلاّت هي المان الحقيقي لتنفيذ التعليمات وتشغيل البرامج وأنظمة التشغيل.

إضافة لاستخدامات مخصصة للسـّـِـجــِـلاّت مثل عنونة الذاكرة بجعل قيمة إحدى السـّـِـجــِـلاّت تساوي قيمة عنوان الذاكرة المطلوب تخزينه أو جلب البيانات منه. وهذا يغني المبرمج عن كتابة العناون الحقيقي للذاكرة في كل مرة داخل البرنامج.

استخدام آخر وهو التعامل مع منافذ الإدخال والإخراج (input/output ports) حيث توفر السـّـِـجــِـلاّت عنوان جميع الأجهزة التي يتم ربطها بالمعالج كلوحة المفاتيح مثلاً..

أصناف السـّـِـجــِـلاّت[عدل]

تقاس السـّـِـجــِـلاّت عادة بعدد البتات الممكن خزنها, على سبيل المثال, ســِـجــِـل ّ "8-بت أو ســِـجــِـل ّ "32-بت". أصبحت السـّـِـجــِـلاّت اليوم مضمنة كملف سجل, إلا أنه تم تضمينها قبل في القلابات ذاكرة نواة, ذاكة رقاقة فيلم, والعديد من الطرق على مختلف الالات.

يحوي المعالج غالبا بعض السـّـِـجــِـلاّت المختلفة, التي يمكن تصنيفها تبعا لمحتوياتها أو التعليمات التي تعمل بها: أولا :

  • ســِـجــِـلاّت قابلة لوصول المستخدم : وهي سجلات يمكن الكتابة او القراءة منها عن طريق الأوامر .
  • ســِـجــِـلاّت بيانات : وهي سجلات تحتوي علي قيم عددية كالـ Integer او float-point و أيضا characters و small arrays وفي بعض المعالجات القديمة والبطيئة ستجد سجلّ بيانات يسمي المجمّع accumulator يستخدم ضمنيا لتنفيذ الكثير من العمليات .
  • ســِـجــِـلاّت عنوان : وهي سجلات تستخدم لتصل للعناوين و التي تتوصل إليها بطريق غير مباشر الذاكرة الابتدائية .

تستخدم بعض سجلات العنوان فقط لتستخرج العنوان أو فقط لتستخرج القيمة العددية ( أحيانا يستخدم كسجل المؤشر index register والذي تستخرج القيمة منه لتصبح عوضا لبعض العناوين؟

  • ســِـجــِــلّات لأغراض عامّة  : تستخدم لتخزين البيانات والعناوين سويا ، مثلا تضم سجلّات بيانات و سجلّات عناوين
  • ســِـجــِـلاّت شرطية : هي سجلات تحتوي على truth values والتي تستخدم لتحديد هل يجب تنفيذ الأمر أم لا
  • ســِـجــِـلاّت النقطة العائمة (floating point registers المختزلة FPR)
  • ســِـجــِـلاّت ثوابت : تحتوي على القيم المحفوظة من الأصل في الذاكرة والتي تكون للقراءة فقط read-only مثل ال 0 , 1 , باي
  • ســِـجــِـلاّت متجه : تحتوي على البيانات الخاصة بتنفيذ عمليات المتجهات باستخدام SIMD ( Single Instruction Multiple Data )

دور عدد السـّـِـجــِـلاّت المتاحة في المعالج[عدل]

يعتمد أداء الكود أو شفرة البرنامج بشكل ملحوظ على عدد السـّـِـجــِـلاّت المتاحة في المعالج. يطلق على أقل عدد لازم من السـّـِـجــِـلاّت لتقييم تعبير ما اسم عدد سترولر.

أمثلة[عدل]

يبين الجدول عدد السـّـِـجــِـلاّت لمعماريات مختلفة.

البنية ســِـجــِـلاّت أعداد صحيحة ســِـجــِـلاّت مضاعفة
x86 8 8
إيه إم دي 64 16 16
إيتانيوم 128 128
UltraSPARC 32 32
POWER 32 32
Alpha 32 32
6502 3 0
PIC microcontroller 1 0
AVR microcontroller 32 0
إيه.آر.إم 16 16

إنظر أيضا[عدل]

وصلات خارجية[عدل]