计算机组成原理note

数据编码与表示

需要在计算机中表示的对象

  • 程序、整数、浮点数、字符串、逻辑值

  • 通过编码表示

    表示方式

  • 用数字电路的两个状态表示,存放在机器字中

  • 由上一层的抽象计算机来识别不同的内容

    当数据已经固定位数为n了,最多只能有2的n次方个不同的组合,2的n次方个组合显然不能够满足不同的表示方法,因此计算机引入了语义和上下文
    根据不同的上下文,同一个二进制组合可以表示成不同的对象
    并且由上一层抽象计算机对其进行识别

    编码原则

  • 少量简单的基本符号

  • 一定的规则

  • 表示大量复杂的信息

  • 方便使用

    编码表示

  • 基本元素

    • 0、1两个基本符号
  • 字符

    • 26个字母=>5位

    • 大/小写 + 其他符号 =>7bits(in 8)

    • 世界上其它语言的文字 =>16 bits(unicode)

      • 无符号整数

      • 逻辑值

      • 0 ->False

      • 1 ->True

      • 颜色

      • 位置/地址/指令

逻辑型数据

数据表示

1、0

数据运算

与、或、非

字符型数据

  • 重要的人机界面

    • 由符号则称
    • 为每个符号进行编码,由输入/输出设备进行转换
    • 一般以字符串的形式在计算机存储器中存放
  • 字符集编码标准

    • 计算机之间进行信息交互的基础

      • ASCII
      • UNICODE
      • UTF-8

        ASCII字符编码

        • American Standard Code for Information Interchange
        • 采用7位二进制编码,占用一个字节
        • 表示128个西文字符

          UNICODE编码

        • 使用16位表示一个字符,可以表示65536个字符
        • 将整个编码空间划分为块,每块为16的整数倍,按块进行分配
        • 保留6400个码点供本地化使用
        • 依然无法覆盖所有字符

          UTF-8编码

        • 变长字符编码,提高存储空间利用率
        • 字符长度由首字节确定
        • 字符首字节外,均以‘10’开始,可自同步
        • 可扩展性强
        • 成为互联网上占统治地位的字符集

          数值型数据表示

        • 定点数

      -小数点位置固定

      • 整数
      • 定点小数
      • 浮点数

        数值范围和数据精度

      • 数值范围

        数值范围是指一种类型的数据所能表示的最大值和最小值

      • 数据精度

        实数所能给出的有效数字位数。对浮点数,精度不够会造成误差

二进制整数的进位表示法

表示有符号的整数

  • 需要有1位表示符号
    • 最高位
    • 0表示正数,1表示负数
  • 其他位表示数据

原码、反码、补码

正数的原码、反码、补码表示均相同

零的原码和反码均有两个编码,补码只有一个码

负数的原码、反码、补码表示均不同,符号位为1,数值位:

  • 原码为数的绝对值
  • 反码为每一位均取反码
  • 补码为反码再在最低位+1

检错纠错码

数据或编码在存储、传输等过程中可能出错

  • 判断出错

    • 比较:与所有正确的编码进行比较
    • 特征比较:用一部分编码保存正确编码的特征,用来检验是否存在错误
    • 计算机通常对一位错误进行检错纠错,对两位错误进行检错,有三位错误说明硬件出现问题

码距

指任意两个合法码之间至少有几个二进制位不同。

若用4个二进制位表示8种合法状态,就可以只用其中的8个编码来表示
,把另外8种作为非法编码,此时可以使合法码的码距为2.如果一个码字中
的任何一位出错后都会成为非法码,这样就具有了发现一位出错的能力

常用的检错纠错码

  • 奇偶校验码:用于并行数据传送
  • 汉明检验码:用于并行数据传送
  • 循环冗余校验码: 用于串行数据传送

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!