Bosh sahifa Wiki Control Register

Control Register

Control Register — protsessor, xotira boshqaruvi yoki qurilmaning ishlash rejimini sozlaydigan maxsus registr. U sahifa jadvali bazasi, himoya bitlari, interrupt rejimi, kesh siyosati yoki apparat funksiyalarini yoqish kabi nazorat holatini saqlashi mumkin. Bunday registrga yozish odatda imtiyozli va aniq ketma-ketlik talab qiladi.

Bit maydonlari

Control register ko‘pincha bir necha mustaqil maydondan iborat. Ayrim bitlar read/write, boshqalari read-only, write-one-to-clear yoki self-clearing semantikaga ega. Rezerv qilingan bitlar hujjat talab qilgan qiymatda saqlanadi; kelajakdagi chip reviziyasi ularga yangi ma’no berishi mumkin.

Read-modify-write oddiy ko‘rinsa ham apparat status bitlari o‘qish va yozish orasida o‘zgarishi mumkin. Set va clear uchun alohida alias registrlar mavjud bo‘lsa, kerakli bit atomik yangilanadi. Ko‘p oqimli driver esa lock yoki yuqori darajadagi egalik bilan konfiguratsiyani muvofiqlashtiradi.

Protsessordagi misollar

MMU control register sahifalashni yoqishi va tarjima parametrlarini belgilashi mumkin. Page-table base almashtirilganda TLB yozuvlarini tozalash yoki address-space identifikatorini yangilash talab qilinadi. Faqat registrga yangi manzil yozish eski tarjimalarni avtomatik xavfsiz qilmasligi mumkin.

Interrupt control maydonlari maska va ustuvorlikni o‘zgartiradi. Kesh yoki floating-point rejimini almashtirishdan oldin oldingi operatsiyalar tugatiladi. ISAda serializing instruction yoki barrier shu holat o‘zgarishidan keyingi buyruqlarga qachon ta’sir qilishini belgilaydi.

Ruxsat va virtualizatsiya

User mode control registerga murojaat qilsa protection exception yuz beradi. Foydalanuvchi xizmatni system call orqali so‘raydi, kernel argumentni tekshiradi va siyosat ruxsat bersa registrni o‘zgartiradi. Bitta jarayon global xotira himoyasini o‘chirishi mumkin emas.

Virtual mashinada mehmonning control register’i virtual holatdir. Gipervizor yozuvni tutib emulyatsiya qilishi yoki apparat shadow tuzilmalari orqali xavfsiz bajarishi mumkin. Mehmon sahifalashni o‘zgartirganda host xotirasiga kirish chegarasi baribir ikkinchi tarjima qatlamida saqlanadi.

Diagnostika

Control register dump nosozlikni tahlil qilishda foydali, ammo qiymat chip modeli va versiyasining bit xaritasi bilan dekodlanadi. Bir xil raqam boshqa reviziyada boshqa reserved holatga ega bo‘lishi mumkin. Maxfiy kalit yoki manzil ochuvchi registrlar logga to‘liq yozilmaydi.

Yozuvdan keyin read-back ba’zan konfiguratsiya qabul qilinganini ko‘rsatadi, lekin self-clearing command bit darhol nol bo‘lishi mumkin. Driver status va completion shartini hujjatga muvofiq kutadi; control bitning o‘zi operatsiya tugaganini har doim anglatmaydi.

Ko‘p yadroli o‘zgarish

Ayrim control register har yadro uchun alohida, boshqasi butun paket yoki tizimga umumiy bo‘ladi. Per-core qiymatni barcha CPUda yangilash uchun operatsion tizim inter-processor interrupt yuboradi va har yadroda barrier bajaradi. Faqat joriy yadroga yozish global siyosatni to‘liq o‘zgartirmaydi.

CPU hotplug’da yangi yadro mavjud tizim sozlamalarini qabul qiladi. Firmware bergan reset qiymati ishlayotgan yadrolarnikidan farq qilishi mumkin. Kernel umumiy feature’larni tekshiradi, mos bo‘lmagan xavfsizlik rejimida yadroni ishga tushirmaydi yoki butun tizim uchun eng past umumiy imkoniyatni tanlaydi.

Virtual mashinada hypervisor ayrim control register yozuvlarini tutib qoladi. Mehmon tizim ruxsat etilgan virtual qiymatni ko‘radi, real apparat holatini esa host boshqaradi. Noto‘g‘ri bit kombinatsiyasi arxitektura xatosi, trap yoki yozuvning inkor qilinishiga olib keladi; shu sabab kernel maskalangan qiymat yozadi.

Bog‘liq tushunchalar

privileged instruction, control word, status register, MMU, system register, memory barrier