对于此题IR位数是不容置疑的,因为IR是指令寄存器,指令多少位,IR就多少位,而PC有点不同,主要是一开始被按字节变址带偏了,以为是4GB/1B=2^32.
我们知道PC是存放下一条指令的地址,而指令是32位的,也就是说一条指令在内存中要占4个内存单元,打个比方:内存单元0123存放的是第一条指令,虽然说这一条指令占了4个内存单元,但是我们在给出其地址的时候,只需要给出指令首地址便能代表这个指令,即用0代表此指令。这样一来这题就变成了需要几位地址来寻址到所有的指令,4GB(总容量)/4B(一条指令的长度)=2^30次方,也就是如果4GB全部用来存储指令,总共有2^30条指令,需要30位,便可以寻址到每一条指令,pc也是30条。
自己一点浅见!