没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
第一题 选择题(每小题 2 分,共 34 分)
(每小题有一个或多个正确答案)
(ch2, kaigui)
1、变量 x 的值为 0x01234567,地址 &x 为 0x100;则该变量的值在 x86 和 Sun 机器内存
中的存储排列顺序正确的是( )
选项 机器类型
地址
0x100 0x101 0x102 0x103
A x86 67 45 23 01
Sun 01 23 45 67
B x86 76 54 32 10
Sun 01 23 45 67
C x86 01 23 45 67
Sun 67 45 23 01
D x86 01 23 45 67
Sun 01 23 45 67
答案:A
考察大端、小端;同时 sun 是大端、x86 是小端
(ch2, kaigui)
2、假设下列 int 和 unsigned 数均为 32 位,
int x = 0x80000000;
unsigned y = 0x00000001;
int z = 0x80000001;
以下表达式正确的是( )
A. (-x) < 0
B. (-1) > y
C. (z<<3) == (z*8)
D. y*24 == z<<5 - z<<3
答案:ABCD;考虑到运算符的优先顺序,选 ABC 也算对
A. int 中 0x80000000 的相反数还是自己
B. signed (-1) 和 unsinged y 比较,都按照 unsigned,所以强制类型转换后 (-1)很大
C: unsigned, signed 左移三位 = *8
D:应该是相等关系;signed 左移之后,和 unsigned y*24 相比都看成 unsigned
(ch2, kaigui)
3、 对 x = 1
1
8
和 y = 1
3
8
进行小数点后两位取整(rounding to nearest even), 结果正确的是
( )
A.
1
1
4
,
1
1
4
B. 1,
1
1
4
C.
1
1
4
,
1
1
2
D. 1,
1
1
2
答案:D
x= 1.00100 half way and down --> 1.00
y = 1.01100 half way and up-->1.10
创创大帝
2
(ch3, yingfei)
4、在完成 Bomb Lab 的时候,通常先执行 gdb bomb 启动调试,然后执行 ___ explode_bomb
命令以防引爆炸弹,之后在进行其他必要的设置后,最后执行___命令以便开始执行程序。
上述两个空格对应的命令是( )
A. st, ru B. br, go C. br, ru D. st, go
答案:c
说明:根据之前的讨论,出一道题目检查同学们是否自己做过 lab
(ch3, yingfei)
5、已知函数 int x( int n ) { return n*____; } 对应的汇编代码如下:
lea (%rdi, %rdi, 4), %rdi
lea (%rdi, %rdi, 1), %eax
retq
请问横线上的数字应该是( )
A. 4 B. 5 C. 2 D. 10
答案:D
说明:此题目考察对于乘法的转换,难度较低,适合出选择题。还可以把乘法换成除法,就
可以出大题或者简答题。
(ch3, Guangyu)
6、32 位 x86 计算机、Windows 操作系统下定义的一个 structure S 包含三个部分: double a,
int b, char c, 请问 S 在内存空间中最多和最少分别能占据多少个字节(32 位 Windows 系统
按 1、4、8 的原则对齐 char、int、double)?答:( )
A. 16, 13
B. 16, 16
C. 24, 13
D. 24, 16
答案:D 考虑对齐,windows double 按 8 字节对齐,最长 c, a, b,最短 a,b,c
(ch3, Guangyu)
7、x86 体系结构的内存寻址方式有多种格式,请问下列哪些指令是正确的:( )
A. movl $34, (%eax)
B. movl (%eax), %eax
C. movl $23, 10(%edx, %eax)
D. movl (%eax), 8(%ebx)
答案:ABC,寻址不支持内存到内存的访问
(ch3, Guangyu)
8、 x86 体系结构中,下面哪些选项是错误的?答:( )
A. leal 指令只能够用来计算内存地址
B. x86_64 机器可以使用栈来给函数传递参数
C. 在一个函数内,改变任一寄存器的值之前必须先将其原始数据保存在栈内
D. 判断两个寄存器中值大小关系,只需要 SF(符号)和 ZF(零)两个 conditional code
答案:ACD
创创大帝
3
(ch4, Jiangfang)
9、下面对 RISC 和 CISC 的描述中,错误的是:( )
A. CISC 指令系统中的指令数目较多,有些指令的执行周期很长;而 RISC 指令系统中
通常指令数目较少,指令的执行周期都较短。
B. CISC 指令系统中的指令编码长度不固定;RISC 指令系统中的指令编码长度固定,
这样使得 RISC 机器可以获得了更短的代码长度。
C. CISC 指令系统支持多种寻址方式,RISC 指令系统支持的寻址方式较少。
D. CISC 机器中的寄存器数目较少,函数参数必须通过栈来进行传递;RISC 机器中的
寄存器数目较多,可以通过寄存器来传递参数,避免了不必要的存储访问。
答案:BD
(ch4, Jiangfang)
10、下面对流水线技术的描述,正确的是:( )
A. 流水线技术不仅能够提高执行指令的吞吐率,还能减少单条指令的执行时间。
B. 不断加深流水线级数,总能获得性能上的提升。
C. 流水级划分应尽量均衡,吞吐率会受到最慢的流水级影响。
D. 指令间的数据相关可能会引发数据冒险,可以通过数据转发或暂停流水线来解决。
答案:CD
(ch4, Junlin)
(11-13)、在教材所描述的流水线处理器(the PIPE processor)上分别运行如下四段Y86
程序代码。请分析其中数据冒险的具体情况,并回答后续3个小题。
#Program 1:
mrmovl 8(%ebx), %edx
rmmovl %edx, 16(%ecx)
#Program 2:
mrmovl 8(%ebx), %edx
nop
rmmovl %edx, 16(%ecx)
#Program 3:
mrmovl 8(%ebx), %edx
nop
nop
rmmovl %edx, 16(%ecx)
#Program 4:
mrmovl 8(%ebx), %edx
nop
nop
nop
rmmovl %edx, 16(%ecx)
11、对于每段程序,请指出是否会因为数据冒险导致流水线停顿(Stall)。
Program 1:( ),Program 2:( ),Program 3:( ),Program 4:( );
A. Stall B. No-Stall
答案: A, B, B, B
12、对于每段程序,请指出流水线处理器内是否会产生数据转发(Forwarding)。
Program 1
:( ),
Program 2
:( ),
Program 3
:( ),
Program 4
:( );
A. Forwarding B. No-Forwarding
答案
: A,A,A,B
13、对于每段程序,请指出流水线处理器内使用哪个信号进行数据转发,如果不进行数
创创大帝
剩余12页未读,继续阅读
资源评论
- weixin_482315662024-01-03果断支持这个资源,资源解决了当前遇到的问题,给了新的灵感,感谢分享~
- minghao20052024-01-02资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
创创大帝(水印很浅-下载的文档)
- 粉丝: 2265
- 资源: 5389
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功