您的位置:首页 > 运维架构 > Linux

linux移植日记-day4

2020-05-11 04:13 1211 查看

TLB相关指令

1、TEQ (R):if rs == rt then trap
2、TEQI(I):if rs == sex_imm then trap
3、TGE ® : if rs >= rt then trap
4、TGEI (I):if rs >= sex_imm then trap
5、TGEIU (I):if rs >= sex_imm.asUInt then trap
6、TGEU ® : if rs >= rt then trap ,as UInt to compare
7、TLBP (感觉像J 的子类型?暂时叫它subJ)
8、TLBR (subJ) :如果index寄存器的索引值大于TLB Entry,行为是UNDEFINED,没有异常处理。。。
9、TLBWI(subJ): is the same as TLBR ,just write .
10、TLBWR(subJ):用CP0的Random寄存器的INDEX来写TLB Entry
11、TLT
12、TLTI
13、TLTIU
14、TLTU
15、TNE
16、TNEI

错误分析

1、

index.P := Mux(match_hit === Y,0.U,1.U ) // match occurred:0   No match occurred: 1

CP0 的Index 寄存器 P位当TLB Entry match occurred为0,反之为1。而且P位权限为R

2、chisel的:=赋值延迟到下一个周期
比如status.EXL 在非ERET中断应该置1,但是受:=影响导致了TLB_REFILL中断处理地址的错误判断

淡定路过的我 原创文章 19获赞 1访问量 691 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: