深入理解计算机系统 复习提纲

信息的表示和处理

1.十进制、二进制、十六进制。

太基础。。。

2.整数:无符号数、有符号数(补码)

先说有符号数,反码原码和补码。

原码的道理很简单,一个数字编码的最高位是符号位,不记录数字的绝对值大小,用0表示正,1表示负。

反码,当这个有符号数x是正(即符号位是0)的时候,x的反码就是它本身;x为负,那么除了符号位是不变的(表示负数的1),其他都按位取反。不过貌似这个反码用处也不大,因为0既是正数又是负数,0表达不唯一;而且符号位是不能参与算数运算的,比较恶心。

补码

有符号数x若为正那么补码等于原码,否则除了符号位仍是表示负数的1不变外,数值位全部取反,最后再将这个各个位取反后得到的数(不包括符号位)数值+1得到新的一个数的二进制表示。。。这样算出来的0就具有类唯一性,而且可以直接运算。


小技巧:一个数的补码的补码就是这个数的原码。

Tips:两个有符号数相加得到的结果xx编码符号位a和编码数值位的第一位(即编码的次高位)b,如果有axor b=1(即ab不相同),那么结果溢出,否则不溢出。

无符号数相加溢出后得到的值是元结果对于表示上限(比如4位长度的上限是16)进行取模的结果。

3.浮点数:形式;编码、求值、舍入


4.32位和 64位系统中各种数据类型的长度

数据类型

32位系统

64位系统

char

1字节(8位)

1字节(8位)

shortint

2字节(16位)

2字节(16位)

int

4字节(32位)

4字节(32位)

longint

4字节(32位)

8字节(64位)

longlong int

8字节(64位)

8字节(64位)

char*

4字节(32位)

8字节(64位)

float

4字节(32位)

4字节(32位)

double

8字节(64位)

8字节(64位)


5.不同类型的数据的转换(符号、长度)

6.补码的不对称;正负;求整数负值的补码

7.整数运算;有无符号混合、比较、除法舍入、逻辑 /算数右移
  • 补码加法就是把数字转成补码,然后执行加法(最普通的,逢2进1)最后把溢出的最高位舍去。
  • 补码减法就是把减数取成相反数,转补码,执行加法。

说一下逻辑和算数位移。

逻辑右移x>>k舍掉编码最后k位,将前面的n-k位移动到末端,再在左端所有空位补上0.

但是算数右移会在左端所有空位补齐之前有效最高位的值

比如x=10010010B

    x>>4(逻辑)的结果是x>>4=00001001B

     x>>4(算数)的结果是x>>4=11111001B

但是比较不给力的是C语言没有明确规定用哪种右移方法,对于无符号数必须是逻辑右移,有符号数逻辑或者算数都行。

ps:位移运算符优先级并不高,比+——要低一些


8.大端、小端


  1. :程序的机器级表示

  1. 寄存器及其默认用法

  2. 栈帧结构:过程调用时的参数传递、返回地址

  3. 返回时leave指令;栈帧变化

  4. Leal指令

  5. 引起缓冲区溢出的函数

  6. 数组访问:由汇编代码得到数组列数

  7. 结构体和联合体:

对齐;嵌套;各字段偏移量

  1. Switch语句:跳转表

  2. 指针运算的缩放



  1. :优化程序性能

  1. 会利用数据流图中的关键路径分析程序性能

  2. 掌握并提高并行性的方法:

循环展开,多个累计变量,重新结合变换

  1. 使用条件传送

  2. /读相关对程序性能的影响


  1. :存储器层次结构

  1. 高速缓存结构、访问、命中


  1. :链接

  1. 全局、本地符号的概念

  2. Static

  3. 强弱符号

  4. 重定位



第八章:异常控制流

  1. 信号处理方式:分析可能的输出

  2. 几个特殊函数

  3. 进程控制:fork,wait,画图分析可能的输出


  1. :虚拟存储器

动态存储器分配中的概念:

碎片,放置、合并策略,垃圾收集

地址翻译;多级页表

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值