计算机组成原理题库
39 / 2352024 · 解答题

2024 年 408 真题

2024 年 408 计算机组成原理 · 第 44 题

选中文字高亮 · 下划线

对于题 43 中的计算机 M,C 语言程序 P 包含的语句 sum+=a[i];,在 M 中对应的指令序列 S 如下:

slli r4, r2, 2  // R[r4] <- R[r2]<<2
add r4, r3, r4  // R[r4] <- R[r3]+R[r4]
lw r5, 0(r4)    // R[r5] <- M[R[r4]+0]
add r1, r1, r5  // R[r1] <- R[r1]+R[r5]

已知变量 isum 和数组 a 都为 int 型,通用寄存器 r1 - r5 的编号为 01H-05H。请回答下列问题。

(1)根据指令序列 s 中每条指令的功能,写出存放数组 a 的首地址、变参 isum 的通用寄存器编号(3 分)

(2)已知 M 为小端方式,计算机采用页式存储管理方式。页大小为 4KB。若执行到指令序列 s 中第 1 条指令时,i=5r1r3 的内容分别为 0000 1332H0013 DFF0H。从地址 0013 DFF0H 开始存储单元内容如题 44 图所示。则执行 sum+=a[i]; 语句后。a[i] 的地址、a[i]sum 的机器数分别是什么(用十六进制表示)?a[i] 所在页的页号是多少?在此次执行中,数据组 a 至少存放在几页中?(5 分)

q44 question figure 1

(3)指令 slli r4, r2, 2 的机器码是什么(用十六进制表示)?若数组 a 改为 short 类型,则指令序列存到 S 中 slli 指令的汇编形式应是什么?