![]() |
| 1.假设某计算机字长32位,CPU有32个32位的通用寄存器,指令长度为单字长,指令操作码占6位。请问:
(1)对于存储器直接寻址方式的R-S型指令,能直接寻址的最大主存空间是多少? (2)对于采用通用寄存器作为基址寄存器的R-S型指令,则能直接寻址的最大主存空间是多少?
2.采用相对寻址方式的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示)。CPU在执行指令时,每次CPU从存储器取出一个字节,并自动完成(PC)+1→PC。假设执行到该转移指令时PC的内容为200AH,如果要求转移到2000H地址,则该转移指令第二字节的内容应为多少?(用十六进制表示)
3.设某指令系统的指令字是16位,每个地址码为6位。若二地址指令15条,一地址指令48条,则剩下的零地址指令最多有多少条?
4.假设某指令的一个操作数采用一次间接寻址方式,指令中给出的地址码为2000H,地址为2000H的内存单元中的内容为3000H,地址为3000H的内存单元的内容为4000H,而4000H单元的内容为5000H,则该操作数的有效地址是多少?该操作数的值是多少?
5.考虑下面的C代码:for(i=0;i<=100;i=i+1;) {a[i]=b[i]+c;}假定a和b是字数组,a的基址在$a0中,b的基址在$a1中。寄存器$t0和$s0分别对应变量i和c。要求写出与之对应的MIPS代码并计算这段代码运行时要执行多少条指令?执行时要调用多少次存储器数据?(练习3.11)
|