首页 > 试题广场 >

某计算机主存空间为4GB,字长为32位,按字节编址,采用32

[单选题]
某计算机主存空间为 4GB,字长为 32 位,按字节编址,采用 32 位字长指令字格式。若指令按字边界对齐存 放,则程序计数器(PC)和指令寄存器(IR)的位数至少分别是
  • 30、30
  • 30、32
  • 32、30
  • 32、32
指令寄存器 32 位
PC 这里只需要定位到有多少条指令即可 ,因此只需要30位
发表于 2021-12-18 09:14:23 回复(0)
题目给定按边界对齐存放指令,并且问至少多少位。
指令IR:32位
PC:30位 每次定位一条指令,并且指令按边界对齐存放,因此无需定位到每个字节。只需定位字即可。
编辑于 2020-12-14 19:16:32 回复(6)
机器字长32,若指令按字边界对齐存放,就是一个字里面只有一条指令。如果没有这句话,指令就可能在两个字里面,这时pc要定位到 每个字节上了。

发表于 2022-06-12 16:09:38 回复(4)

跟字长没关系。指令长度4byte,如果指令对齐了,32位地址的低2位就是0,所以30位就够了。


比如cortex-m,字长32位。指令是16或32位,必须对齐,所以pc的低1位永远是0。(实际上bit0虽不表示地址,而有特殊作用,但与题目无关。)

比如x86,指令不定长且允许不对齐,所以最低位必须有用,这就需要32位的PC了。


另一个更极端的,如果页表的大小是4k且必须对齐,低12位就永远是0,所以32位的地址只要20位就够了。这时候低12位常被用来当作页属性,比如权限之类的。


引用知乎回答 , 感觉这个更靠谱. 省略两个0 , 就跟IEEE标准表示浮点数 , 省略1似的
发表于 2025-02-07 22:57:32 回复(0)