tak
格式
(qp)takr 1 = r3 M46
說明
給定虛擬地址的保護鍵在 GRr1 中獲取與儲存。PSR.dt 為 1 時,則在 DTLB 與 VHPT 中搜索 GR r3 指定的虛擬地址,以及 GR r3 的位 {63:61} 索引的區域暫存器。如果發現存在匹配的轉譯,則轉譯的保護鍵放入 GR r1。如果未發現匹配的轉譯,或者如果 GR r3 指定虛擬地址未使用,則返回值 1。PSR.dt 為 0 時,因 VHPT 查詢器被禁用,tak 只搜索 DTLB。如果 DTLB 中沒有匹配的轉譯,則返回值 1。帶 NaTPage 屬性的轉譯不區別對待,而且返回它的鍵欄位。
此指令只能在最高特權級別執行。
操作
if (PR[qp]) {
itype = NON_ACCESS|TAK;
check_target_register(r 1 );
if (PSR.cpl != 0)
privileged_operation_fault(itype);
if (GR[r 3 ].nat)
register_nat_consumption_fault(itype);
GR[r1] = tlb_access_key(GR[r3], itype);
GR[r 1 ].nat = 0;
}
中斷
“非法操作”錯誤
“暫存器 NaT 使用”錯誤
“特權操作”錯誤