0827.1学习日志

计算机组成原理

数据的表示和运算

  1. 进位计数制及其相互转换

    1. 进位计数法
    2. 不同进制之间的相互转换(十进制小数转换为二进制小数)
  2. 定点数的编码表示

    1. 真值与机器数

    2. 机器数的定点表示

      • 定点小数
      • 定点整数
    3. 原码

      1. 最高位为符号位,对于一个n+1位的原码数,其表示范围为.

        $$ -(2^n-1)\leq x \leq 2^n-1 $$
      2. 优点:

        • 简单直观
        • 乘除实现简单
      3. 缺点

        • 0表示不唯一
        • 加减法复杂
    4. 补码

      1. 定义(n位)

        $$ [x]_{\text{补}}= (2^n + x )\mod2^n $$
      2. 负数补码的方法:最高位为1,各位取反,末位加1

      3. 变形补码:双符号位

    5. 反码

    6. 移码

  3. 整数的表示

    1. 无符号整数
    2. 有符号整数
  4. C语言中的整数类型及类型转换

    1. 有符号无符号转换

      机器数不变,解释方式发生改变

    2. 不同字长

      1. 0扩展
      2. 符号扩展

运算方法和运算电路

  1. 基本运算部件

    • 带标志加法器
    • 算数逻辑单元(ALU )
  2. 定点数的位移运算

    • 逻辑移位
    • 算术移位
  3. 定点数的加减运算

    • 补码的加减运算

      1. 逢二进一
      2. 加法,补码直接相加;减法,被减数与-减数的补码相加。
      3. 符号位一起参与运算
      4. 最终结果高位丢弃
    • 溢出判别方法

      1. 一位符号位

        操作数符号相同且与结果不同,即溢出

      2. 双符号位

        1. 00:正数,无溢出
        2. 01:正数,溢出
        3. 11:负数,无溢出
        4. 10:负数,溢出
      3. 采用一位符号位根据数值位的进位情况判断溢出

        符号位的进位与最高数位的进位相同,则无溢出,否则溢出。

    • 加减运算电路

      1. CF
      2. OF
      3. ZF
      4. SF
  4. 定点数的乘除运算

    1. 定点乘法运算
      • 基本原理
      • 乘法运算电路
    2. 除法运算
      • 基本原理
      • 除法运算电路