北大CSAPP期末题

北大的CSAPP期末题说难不是很难,但是对于概念的理解要求还是很高的,所以要对概念做到会用以及尽可能深入的了解其过程。

所以在这里放一点容易遗忘的知识点供反复观看。

信息表示

int中0x8000 0000 的相反数还是他自己,是最小的负数。

浮点数

对于这部分的考察不止是IEEE754的背诵,更进一步的,北大通常考其更接近于一般性的理论以及你对于如何使用浮点格式去表达一个数字,因此要求我们牢固的掌握浮点数格式,以及其规格化表达和非规格化表达。

首先是三个部分的表达:

符号位

符号位一位表示正负。

阶码

阶码注意偏置常数(2^(n - 1) - 1).

尾数

尾数小数点前面隐含一个1.

所以还是放这张无敌的图上来:

放一点结论,减少指数位,用于小数部分,NAN更多,表示的实数值更少,指数小了能够表示的最大实数变小,最小实数变大,小数部分增加了精度会更高。

机器级代码

SUB和AND会改变条件码和寄存器的值,LEAL不改变条件码。

switch分支跳转汇编指令:jmp *.L3(,%eax,8)

相同寄存器即相关,但不一定冲突。

信号 

SIGKILL和SIGSTOP信号既不能被捕获,也不能被忽略。

在任何时刻,一种类型至多只会有一个待处理信号。

当进程在前台运行时,键入CTRL+C,内核就会发送一个SIGINT信号给这个前台进程。

SIGCHLD信号只有在fork的子进程结束时产生。

存储

知道页块大小后,就可以推出每个页框中有多少个页表项,进而推出一级页表也已表示多少位地址。

高速缓存利用了时间局部性。

虚拟内存利用了空间局部性。

sum具有良好的时间局部性。

循环通常具有很好的时间局部性和空间局部性;

数组通常具有很好的空间局部性。

并发

在fork之后,父子进程共享之前的物理页,但权限都变为只读。

系统I/O

C语言中的标准I/O函数不是线程安全的。

避免缓冲区溢出带来的程序风险:

  • 编程时避免使用gets,而采用fgets;
  • 程序运行时随机化栈的偏移地址(只能很小范围的保护);
  • 在硬件级别引入不可执行代码段的机制;
  • 引入金丝雀;

printf所属的标准I/O是由缓冲区的,直到关闭文件、遇到换行符或者fflush时才会输出;write则没有缓冲区直接输出。

文件

结构体

记得对齐,结构体整体对齐。

链接

本地静态全局变量,在.data 中占有位置,不需要重定位,但出现在符号表中。

字符串出现在.rodata中。

其他文件中的函数引入时为弱符号,静态变量为local符号

异常

中断一定是异步发生的。

异常处理程序一定运行在内核模式下。

陷阱一定是同步发生的。

需要继续整理的东西:

信号功能;

CISC与RISC的区别;

指令的各个阶段进行的操作。

I/O函数操作;

非局部跳转;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
计算机系统结构大学期末复习资料库含答案 1.看下述程序段:( C ) k: R5=R2 k+1: R0=R1×R4 k+2: R2=R5+1 k+3: R4=R0×R3 k+4: R3=R4-1 K+5: …… k和k+2之间发生的是什么数据相关 I. 先写后读相关 II.写-写相关 III. 先读后写相关 A.只有I B.只有I、II C.只有I、III D.以上都不对 2.开发并行的途径有( D ),资源重复和资源共享。 A、多计算机系统 B、多道分时 C、分布式处理系统 D、时间重叠 3.在计算机系统设计中,比较好的方法是(D )。 A、从上向下设计 B、从下向上设计 C、从两头向中间设计 D、从中间开始向上、向下设计 4.执行微指令的是(C) a.汇编程序 b.编译程序 c.硬件 d.微指令程序 5. 软件和硬件在(B)意义上是等效的。 A. 系统结构 B.功能 C. 性能 D. 价格 6. 实现汇编语言源程序变换成机器语言目标程序是由(D ) A.编译程序解释 B.编译程序翻译 C.汇编程序解释 D.汇编程序翻译 7. 按照计算机系统层次结构,算术运算、逻辑运算和移位等指令应属于(A)级机器语言。 A. 传统机器语言机器 B.操作系统机器 C. 汇编语言机器 D.高级语言机器 8.对汇编语言程序员,下列(A)不是透明的。 A. 中断字寄存器 B.乘法器 C. 移位器 D.指令缓冲器 9.在采用基准测试程序来测试评价机器的性能时,下列方法按照评价准确性递增的顺序排列是(B )。(1)实际的应用程序方法 (2)核心程序方法 (3)玩具基准测试程序(小测试程序) (4)综合基准测试程序 A.(1)(2)(3)(4) B.(2)(3)(4)(1) C.(3)(4)(1)(2) D.(4)(3)(2)(1) 10. 下列体系结构中,最适合多个任务并行执行的体系结构是( D) A、流水线的向量机结构 B、堆栈处理结构 C、共享存储多处理机结构 D、分布存储多计算机结构 11. 从用户的观点看,评价计算机系统性能的综合参数是( B ): A、指令系统 B、吞吐率 C、主存容量 D、主频率 12. 设指令由取指、分析、执行 3 个子部件完成,每个子部件的工作周期均为△t,采用常规标量单流水线处理机。若连续执行 10 条指令, 则共需时间 ( C )△t。 A.8 B.10 C. 12 D. 14 13. 系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理 业务的系统而言, ( C ) ,表明其性能越好。 A. 响应时间越短,作业吞吐量越小 B. 响应时间越短,作业吞吐量越大 C. 响应时间越长,作业吞吐量越大 D. 响应时间不会影响作业吞吐量 14. 若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t 取指=4△t,分 析时间t 分析=3△t,执行时间t 执行=5△t。如果按串行方式执行完100 条指令需要( C )△t。 A. 1190 B. 1195 C. 1200 D. 1205 15. 如果按照流水线方式执行,执行完100 条指令需要 (B)△t。 A. 504 B. 507 C. 508 D. 510 16. 并行访问存储器最大的问就是访问冲突大,下面不属于并行访问存储器的缺点的是:( D ) A、取指令冲突 B、读操作数冲突 C、写数据冲突 D、译码冲突 17. 一条4段流水线,每段执行时间为1ns,求该流水线执行100条指令最大效率为(C) A.100% B.96.2% C.97.1% D.388% 18. 假设一条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每一段的执行时间均为 ,连续执行n条指令所需要花费的最短时间约为(B)(假设仅有“取指令”和“分析”可重叠并假设n足够大): A. B. C. D. 19. MISD是指(C) A.单指令流单数据流 B.单指令流多数据流 C.多指令流单数据流 D.多指令流多数据流 20. 星形网络的网络直径和链路数分别为(A)和(D)。 A.N-1 B.N/2 C.2 D.N(N-1)/2 21. 软件和硬件在(B)意义上是等效的。 A.系统结构 B.功能 C.性能 D.价格

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值