30、30
30、32
32、30
32、32
跟字长没关系。指令长度4byte,如果指令对齐了,32位地址的低2位就是0,所以30位就够了。
比如cortex-m,字长32位。指令是16或32位,必须对齐,所以pc的低1位永远是0。(实际上bit0虽不表示地址,而有特殊作用,但与题目无关。)
比如x86,指令不定长且允许不对齐,所以最低位必须有用,这就需要32位的PC了。
另一个更极端的,如果页表的大小是4k且必须对齐,低12位就永远是0,所以32位的地址只要20位就够了。这时候低12位常被用来当作页属性,比如权限之类的。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题