سجل الوظائف الخاصة

سجل الوظائف الخاصة (SFR) هو سجل داخل وحدة التحكم الدقيقة يتحكم في جوانب مختلفة من وظائفها أو يراقبها. وبحسب بنية المعالج ، قد يشمل ذلك، على سبيل المثال لا الحصر:

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

وحدات التحكم الدقيقة من إنتل

توجد سجلات الوظائف الخاصة في الجزء العلوي من الذاكرة القابلة للعنونة، من العنوان 0x80 إلى 0xFF. لا يمكن استخدام هذا الجزء من الذاكرة لتخزين البيانات أو البرامج، بل هو عبارة عن سلسلة من المنافذ والسجلات المُرتبطة بالذاكرة. وبالتالي، يمكن تنفيذ جميع عمليات إدخال وإخراج المنافذ من خلال عمليات نقل الذاكرة على عناوين محددة في منطقة سجلات الوظائف الخاصة. كما تُربط سجلات الحالة المختلفة بسجلات الوظائف الخاصة، وذلك لاستخدامها في التحقق من حالة المعالج 8051، وتغيير بعض معايير تشغيله.

يمكن ضبط بعض بتات سجلات الوظائف الخاصة (SFR) مباشرةً باستخدام تعليمات SETB/LDB على عنوان سجل الوظائف الخاص، بينما قد يتطلب البعض الآخر استخدام تعليمات محددة. تحتوي وحدة التحكم الدقيقة من فئة Intel 80196 على 24 سجل وظائف خاص، حجم كل منها بايت واحد؛ بينما تحتوي رقائق Intel 8051 القياسية على 21 سجل وظائف خاص.