考研_计算机组成原理

第1章-概论

  1. 冯·诺依曼提出的新型计算机的五大结构: 运算器,控制器,存储器,输入设备和输出设备

  2. 计算机主要性能指标

    • 基本字长: 处理器中参加一次定点运算的操作位的位数(计算机中的算术运算分为定点运算和浮点运算)
    • 外频: 主板上的振荡器输出的时钟频率,也是计算机一切硬件部件工作所依据的基准时钟信号
    • CPU的主频: CPU内核的工作频率,\(CPU主频 = 外频 * 倍频系数\)
    • IPS: 平均每秒执行的指令数(Instructions Per Second)
    • CPI: 平均每条指令的时钟周期数(Clock cycles Per Instructions)

第2章-数据的表示、运算和校验

8位有符号数原码和补码的范围区别:

  • 原码: \(-127 \sim 127(11111111 \sim 01111111)\)
  • 反码: \(-128 \sim 127(10000000 \sim 01111111)\)
    当数据\(>+0\)时,由于原码和补码是相同的,所以从\(0\)\(127\)是一一对应的
    当数据\(<+0\)时,从\(-127\)\(-1\)是一一对应的
    关键点在于原码中存在一个\(-0\),对应二进制为\(10000000\),在转化为补码时会出现溢出的问题,所以就将\(10000000\)作为补码中的\(-128\)

定点数和浮点数


定点数

  • \(n\)位无符号定点整数范围: \(0 \sim 2^n - 1\)
  • \(n\)位有符号定点整数范围:
    原码:\(-(2^{n-1}-1) \sim 2^{n-1}-1\)
    补码:\(-2^{n-1} \sim 2^{n-1}-1\)
  • 有符号定点小数:最高位是符号位,小数点后为有效位(x.xxxxx)
    同有符号定点整数一样,原码存在\(1.00000000\)\(-0\),但在补码中其对应着\(-1\)

浮点数

  1. 表示形态: \(N = \pm R^E \times M\)
    \(N\)为真值,\(R^E\)为比例因子,\(M\)为尾数

  2. 规格化
    规格化要求: \(\frac{1}{2} \leq |M| < 1\)
    对于正数,无论原码还是补码,规格化特征为\(M_1 = 1\)
    对于负数,原码规格化特征为\(M_1 = 1\),补码规格化特征为\(M_1 = 0\)
    原因在于判断\(M\)的值时,负数的补码需要先转化为原码,补码的\(M_1 = 0\)才能保证$ |M| \geq \frac{1}{2}$

    注:规格化时有两个特殊的数值\(-1\)\(-\frac{1}{2}\)
    \(-1\)在原码表示中不符合规格化要求(原码表示不会出现\(-1\)),但补码中符合(因为\(-1\)补码1.0的特殊性)
    \(-\frac{1}{2}\)在原码表示中符合规格化要求,但补码中不符合(原码和补码都是1.1)

定点数的四则运算

加减法

计算规则

\[(x + y)_补 = x_补 + y_补 \\ (x - y)_补 = x_补 + (-y)_补 \]

需要说明的是:

  1. \((-y)_补\)可以在y的原码基础上将符号位取反获得-y的原码,之后除符号位取反加1获得补码

    也可以直接对y求变补,即对包含符号位的所有位取反再加1。两种方法本质上是一样的

  2. 符号位同样参与运算,当符号位产生进位时,丢弃掉最高位的进位

溢出判断

同号相加和异号相减会使得结果的绝对值增大从而可能产生溢出

  • 判断方法1:

    因为即使是减法运算,最终我们也是转化为了加法运算。设转化为加法运算后的数据为\(A,B\),对应的符号位依次是\(S_a,S_b\),运算后结果的符号位是\(S_f\)。则\(v = \overline{s_a} \ \overline{s_b}s_f + s_as_b \overline{s_f}\)\(v=1\)变送发生了溢出,\(v=0\)表示未发生溢出。原理是当\(s_a = s_b = 0, s_f = 1\)(两正数相加,结果为负数)或\(s_a = s_b = 1, s_f = 0\)(两负数相加,结果为正数)时说明发生了溢出

  • 判断方法2:

    \(C\)为最高有效数位(符号位低一位)产生的仅为,\(C_f\)为符号位产生的进位。\(V = C \oplus C_f\)

  • 判断方法3:

    采用双符号位,00-结果为正,无溢出;11-结果为负,无溢出;01-结果正溢;10-结果负溢

    设第一符号位和第二符号位依次位\(S_{f1}, S_{f2}\)\(V = S_{f1} \oplus S_{f2}\)

乘法

原码一位乘

取两操作数的绝对值进行相乘,具体过程见下图。

补码一位乘

原码两位乘

除法

原码不恢复余数

补码不恢复余数

浮点数的四则运算

第3章-CPU子系统

第4章-存储子系统

第5章-总线与输入/输出子系统

第6章-输入/输出设备

第7章-计算机硬件系统模型

posted @ 2021-03-25 19:17  0x7F  阅读(199)  评论(0编辑  收藏  举报