tpa
格式
(qp)tpar 1 = r3 M46
說明
獲取 GR r3 指定的虛擬地址的實體地址並放入 GR r1。
PSR.dt 為 1 時,則在 DTLB 與 VHPT 中搜索 GR r3 指定的虛擬地址,以及 GR r3 的位 {63:61} 索引的區域暫存器。如果發現匹配的當前轉譯,則將轉譯的實體地址放入 GR r1。如果未發現目前匹配的轉譯,則發生適當的 TLB 錯誤。
PSR.dt 為 0 時,因 VHPT 查詢器被禁用,tak 只搜索 DTLB。如果 DTLB 中未發現匹配的現有轉譯,則產生“備用數據 TLB”錯誤。
如果此指令錯誤,則會在 ISR 中設定非訪問位。ISR 讀取與寫入位不設定。
此指令只能在最高特權級別執行。
操作
if (PR[qp]) {
itype = NON_ACCESS|TPA;
check_target_register(r 1 );
if (PSR.cpl != 0)
privileged_operation_fault(itype);
if (GR[r 3 ].nat)
register_nat_consumption_fault(itype);
GR[r 1 ] = tlb_translate_nonaccess(GR[r 3 ], itype);
GR[r 1 ].nat = 0;
}
中斷
“非法操作”錯誤
“備用數據 TLB”錯誤
“特權操作”錯誤
“VHPT 數據”錯誤
“暫存器 NaT 使用”錯誤
“數據 TLB”錯誤
“未使用的數據地址”錯誤
“數據頁不存在”錯誤
“數據巢狀 TLB”錯誤
“數據 NaT 頁使用”錯誤