【计算机组成原理】数据的表示和运算器总结——基本知识要点汇总

halo~我是bay_Tong桐小白
本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点

【更新日志】

最近更新:

  • 更新内容——更新溢出的概念及判别方法(2021.1.1)
计算机统考408考纲要求

2021计算机统考408考纲计算机组成原理学科考察目标

  • 理解单处理器计算机系统中各部件的内部工作原理、组成结果以及相互连接方式,具有完整的计算机系统的整机概念
  • 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法
  • 能够综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,对一些基本部件进行简单设计,并能对高级程序设计语言(如C语言)中的相关问题进行分析

2021计算机统考408计算机组成原理考纲变动情况
在这里插入图片描述
2021计算机统考408考纲对数据的表示和运算器部分考察要求

在这里插入图片描述

数制与编码

进位计数制及其相互转换

常用进位计数制:十进制、二进制、八进制、十六进制

进制相互转换:

  • R进制转换为十进制——权位相加
    在这里插入图片描述

  • 十进制转换为R进制——短除逆序取余
    在这里插入图片描述
    十进制纯小数的R进制转换——乘R取积整数部分
    在这里插入图片描述

  • 二进制与十六进制转换——直接转换
    在这里插入图片描述

  • 二进制与八进制转换——直接转换
    在这里插入图片描述

整数部分从小数点向左,根据要转化的进制分组(如八进制3位一组,十六进制4位一组,不够在最左补0)

小数部分从小数点向右,根据要转化的进制分组(如八进制3位一组,十六进制4位一组,不够在最右补0)在这里插入图片描述

真值和机器数

  • 现实世界中的信息可以分为2大类:数值与非数值
  • 机器数:数值要按照某种规则进行编码后在计算机中存储,这种存储在计算机中的编码被称为机器数。三种常见的机器数:原码、反码、补码
  • 真值:机器数对应的实际数值被称为真值。同一个真值可以采用不同的二进制编码,也就是说同一真值可以有不同的机器数

BCD码

BCD码概念:用二进制编码来表示1个十进制数的每位数字,十进制数的每1位用4个二进制位来表示

在这里插入图片描述
【PS:BCD码为十进制数码,即运算规则按十进制“逢十进一”,存储方式按二进制形式存储,切不可混淆】

BCD码的格式:1个十进制数采用BCD码进行存储有两种不同的格式:非压缩的BCD码、压缩的BCD码

  • 非压缩的BCD码:1个字节存储1个BCD码,一般占用字节的低4位,字节的高4位可以存储0000。不考虑符号,也就是只考虑无符号数,N个字节可以存储N个BCD码

在这里插入图片描述

  • 压缩的BCD码:用1个字节存储2个BCD码,不考虑符号,只考虑无符号数,N个字节可以存储2xN个BCD码

在这里插入图片描述

BCD码表示有符号数与无符号数

BCD码可以表示无符号数,也可以表示有符号数。通常在BCD编码中

  • 如果数值是无符号数,则用编码1111表示
  • 如果数值是有符号数,正数用编码1100表示,负数用编码1101表示

对于压缩BCD码,可以把符号位的编码放在数值位编码的最右边或最左边(BCD码符号位一般不要求)

在这里插入图片描述

字符与字符串

在这里插入图片描述

校验码

数字信息在传输过程受到外界干扰,会产生错误,为发现或者改正错误,需要检测错误或者纠正错误的技术

  • 检测错误技术:只发现错误
  • 纠正错误技术:发现并纠正错误,恢复正确的信息

校验码(冗余位):假定信息要从器件A传输到器件B,器件A在发送正常信息的同时需要发送额外的信息,这些额外的信息被称为校验码。器件B根据接收到的校验码,确定接收到的信息是否无误。常见的三种校验方法:奇偶校验、循环冗余校验、海明校验

奇偶校验

校验码占1位(理论上,校验码的位置可以放在信息的任意位置;为了方便通常将校验码放在信息的最前面或最后面,只需要信息的发送方与接收方约定好校验码的位置即可)
在这里插入图片描述
【PS:奇偶校验可以发现奇数个数据位的错误,不能发现偶数个数据位的错误;但实际上信息传输中,产生1个数据位的错误的概率更多,因此奇偶校验在实际中是有价值的,且奇偶校验方法简单】

循环冗余校验(CRC)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
【详细后续更新……】

海明码(汉明码)(更新中……)

【详细后续更新……】

定点数的表示与运算

定点数的表示

小数点按约定方式标出

定点小数:小数点在符号位之后,有效数值部分最高位之前
在这里插入图片描述
定点整数:小数点在有效数值部分最低位之后
在这里插入图片描述
根据小数点的位置,可以把定点计算机分成两类:小数定点机、整数定点机

【PS:计算机中机器数的存储一定要考虑机器的字长位数】

有符号数和无符号数

无符号数:没有正负符号,只有数值部分

  • 存储方式:只需将数值部分转换成二进制,利用寄存器或存储器按照规定的长度保存到计算机当中
  • 整个机器字长全部二进制位均为数值位,机器字长n位 数的表示范围 0~2^n - 1

有符号数:带有正负符号部分以及数值部分,最高位为符号位

  • 存储方式:将符号与数值这两部分存进寄存器或存储器当中
  • 小数的存储:保存三个部分,即符号部分、小数点的位置、数值部分(小数点的位置并没有任何硬件专门进行存储,是通过最初硬件设计的约定规定好的,比如定点小数的小数点位置约定在符号位之后)
  • 整数的存储:也保存三个部分,即符号部分、数值部分、小数点的位置(小数点位置约定在数值部分之后)

原码表示法

【最高位为符号位,0表示为正,1表示为负,书写时可以用“,”(整数)或“.”(小数)将数值部分和符号位隔开】

纯整数的原码表示:
在这里插入图片描述
在这里插入图片描述
纯小数的原码表示:
在这里插入图片描述
在这里插入图片描述
原码特点:简单、直观,但是运算不方便(0的表示不唯一、加减法操作不统一)

补码表示法

“补”的概念:一个负数加上“模”即可得该负数的补数

  • 一个正数和一个负数互为补数时,它们绝对值之和即为模数
  • 两个互为补数的数,分别加上模,结果仍互为补数

纯整数的补码表示:
在这里插入图片描述
纯小数的补码表示:

在这里插入图片描述
求补码快捷方式

  • 当真值为正时,补码与原码相同
  • 当真值为负时,补码可由原码除符号位外每位取反,末位加1求得(从补码转换为原码此规则同样成立)
  • 已知[y]补,求[-y]补
    方法:[y]补连同符号位在内,每位取反,末位加1,即得[-y]补

【计算机中的数据表示一般为补码表示】

反码表示法

纯整数的反码表示:
在这里插入图片描述
纯小数的反码表示:
在这里插入图片描述
求反码快捷方式:正数反码与原码相同;负数反码为原码除符号位外每位取反

移码表示法

移码的引入目的:补码表示很难直接判断其真值大小
在这里插入图片描述
移码和补码的比较:补码与移码只是符号位不同,数值位不变

移码的特点:0的表示唯一、最小真值的移码为全0、能方便地判断浮点数的阶码大小
【阶码相关内容详细见本文浮点数的表示(IEEE 754)】

符号扩展

在这里插入图片描述

定点数的运算

移位运算

移位运算的数学意义

  • 由于小数点的位置在计算机中并没有任何硬件专门进行存储,计算机中的算术移位均为数据进行移位。数据左移,绝对值扩大;数据右移,绝对值缩小
  • 在计算机中移位与加减配合能够实现乘除运算
  • 有符号数的移位称为算术移位,无符号数的移位称为逻辑移位

算术移位规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
算术移位的硬件实现

在这里插入图片描述
逻辑移位规则
在这里插入图片描述
循环移位

在这里插入图片描述

原码定点数的加/减法运算

加法:先判断符号位,若符号位相同则绝对值相加,符号位不变;若符号为不同则做减法,绝对值大的数减去绝对值小的数,符号位与绝对值大的数保持一致

减法:减数符号位取反,之后按加法规则进行计算

补码定点数的加/减法运算

在这里插入图片描述

定点数的乘/除运算(更新中……)

【详细后续更新……】

溢出的概念及判别方法

溢出: 是指计算机进行算术运算产生的结果超出机器所能表示的范围。溢出有上溢和下溢之分。

在定点计算机和浮点计算机中,上溢和下溢的概念是不完全相同的

在定点计算机中,从正方向超过了数的表示范围,称为上溢;从负方向超过了数的表示范围,则称为下溢

在浮点计算机中,浮点数的表示范围主要由阶码来决定。不论数的符号是正还是负,若阶码从正的方向超出了阶码的表示范围,称为上溢;若阶码从负的方向超出阶码的表示范围,或者尾数为“0”时,统称为下溢

溢出的判别方法:

方法一:采用一位符号位,设A的符号为AS,B的符号为BS,运算结果的符号为SS,则溢出逻辑表达式为
在这里插入图片描述
方法二:采用一位符号位,根据数据位进位情况判断溢出
在这里插入图片描述
即CS与C1不同时,有溢出发生。也即

溢出逻辑判断表达式V=CS异或C1,若V=0则表示无溢出,V=1表示有溢出

方法三:采用双符号位
在这里插入图片描述

浮点数的表示和运算

浮点表示引入的目的

  • 定点表示编程困难,程序员需要调节小数点的位置
  • 数的表示范围小,为了能表示两个大小相差很大的数据,需要很长的机器字长
  • 数据存储单元的利用率往往很低

浮点数的表示及IEEE 754标准

浮点数的表示
在这里插入图片描述
IEEE 754标准

在这里插入图片描述
【详细后续更新……】

浮点数的加减运算

在这里插入图片描述

算术逻辑单元ALU

串行加法器和并行加法器(更新中……)

【详细后续更新……】

算术逻辑单元ALU的功能和结构

功能:进行多种算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、移位、求补等)

基本结构
在这里插入图片描述

持续更新中……
我是桐小白,一个摸爬滚打的计算机小白

猜你喜欢

转载自blog.csdn.net/bay_Tong/article/details/108611004