我最近遇到了一个名为tlbiel
的指令,我很好奇它的含义和用途。在进行了一些激烈的Google搜索后,我看到一份IBM文档让我相信它与管理程序相关。我面临的当前指令是tlbiel r3, 1
,在研究了操作码(0x7C201A24
)之后,我得出的结论是它大致转换为mtspr 3, 1
;唯一的区别是mtspr的操作码中21到30的467的预期值已经变为274.但是,在执行tlbiel之前,指令li r3, 0x3FF
&之前直接引入sldi r3, r3, 32
,导致r3包含0x00003FF000000000
。
据我所知,没有SPR的值为3,并且根本没有关于tlbiel的真实文档(我可以找到)。这条指令完成了什么?
答案 0 :(得分:6)
tlbiel
是" TLB无效输入本地":它使TLB [Translation Look-aside Buffer]中的条目无效。正如对该问题的评论所推测,它与常规的TLB无效有关,但它是" local"因为它只会使执行tlbiel的线程上的TLB条目无效
指令。
有关详细信息,通常的来源是Power ISA。它详细解释了该指令,包括它对您指定的寄存器的作用。
有几个版本的ISA浮动。最容易找到的两个是:
您需要注册IBM ID才能下载文件,但它们是免费的。如果你在PowerPC芯片上进行汇编级开发,那么它们绝对是非常宝贵的资源。
最后几件事:
tlbiel
足够且需要非本地版本时。