type
status
date
slug
summary
tags
category
icon
password
计算机中的信息表示
数值型数据的表示方法(重点)
本节概念
- 数制:多位数码中每一位数码的构成方法及从低位向高位的进位规则称为进位计数制,简称数制
- 数制的基本要素:
- 基数:每个数位中所允许使用的数码个数
- (位)权:与所在数位相关的常数,表示该进位计数制中,数符“1”在该数位所代表的值
- 数制相关概念举例:
- 真值:用正、负符号加绝对值表示数值(也就是我们平常用的值)
- 真值的示例:
- 机器数:在计算机内部使用,由符号位+有效位构成,最高位表示符号,正数最高位为0,负数最高位为1
- 机器数的分类(根据编码不同进行的分类)
- 原码:正数原码符号为0,负数原码符号为1;原码有效位与真值有效位相同。
- 反码:正数反码符号为0,有效位与真值有效位相同,负数反码符号为1,有效位为真值有效位各位取反。
- 补码:正数补码符号为0,有效位与真值有效位相同;负数补码符号为1,有效位为真值有效位各位取反后末位加1。
- 定点数:在计算机中,小数点位置固定不变的数称为定点数
- 定点数的分类:
- 无符号定点整数:正整数,不考虑符号位,所有数位都用于表示有效值(相当于约定小数点在最后)
- 带符号定点整数:纯整数,最高位为符号位,其余表示有效位(相当于约定小数点在最后)
- 带符号定点小数:纯小数,最高位为符号位(相当于约定小数点在符号位之后)
- 浮点数:在计算机中,小数点位置不固定,可随需要浮动的数称为浮点数
- 浮点数的真值
- 如下图:
- M是尾数(就是规格化之后的小数部分)
- RE为比例因子
- E为阶码(相当于是规格化时移动的位数)
- R为阶码的底(通常就是进制的基数并且隐含约定)
其中:
- 移码:常用于表示浮点数的阶码(IEEE754)
- 移码的定义如下(如果是8位移码就加上2的7次方,m+1表示最终转换成移码的位数):
进位计数制转换
- 二进制与十进制之间的转换
- 十进制转换为二进制:
- 整数:除基取余(倒序排列,也就是按照从下往上的顺序写)直到商为0(此时就不取最后得出来的商0了)
- 小数:乘基取整(顺序排列,也就是按照从上往下的顺序写)直到小数为0或达到指定位数(小数部分不一定能转化为二进制)
- 十进制转换为二进制例题如下:
- 二进制转换为十进制:
- 按权展开各部分相加即可
- 二进制转换为十进制例题如下:
- R进制与十进制之间的转换(先理解二进制与十进制之间的转换)
- 十进制转换为R进制:
- 整数:整数部分除基R倒序取余数,直到商为0(此时就不取最后得出来的商0了)
- 小数:尾数部分(小数部分)乘基R顺序取整数
- 十进制转换为R进制例题如下:
- R进制转换为十进制:
- 按权展开各部分相加
- R进制转换为十进制例题如下:
- 二进制与八进制之间的转换
- 二进制转换为八进制:
- 从小数点起分别向左、向右三位一组(因为8是2的三次方),整数部分不够三位的在前面添0(此时补充的0不影响数的值),小数部分不够三位的在后面添0(此时补充的0不影响数的值)
- 二进制转换为八进制例题如下:
- 八进制转换为二进制:
- 每1位八进制数字写成3位二进制数字即可
- 八进制转换为二进制例题如下:
- 二进制与十六进制之间的转换
- 二进制转换为十六进制:
- 从小数点起分别向左、向右四位一组(因为16是2的四次方),整数部分不够四位的在前面添0(此时补充的0不影响数的值),小数部分不够四位的在后面添0(此时补充的0不影响数的值)。
- 二进制转换为十六进制例题如下:
- 十六进制转换为二进制:
- 每1位十六进制数字写成4位二进制数字即可
- 十六进制转换为二进制例题如下:
- 课后习题
- 进制转换小结(过知识点用)
- 十进制→R进制:整数部分除基取余(倒序排列),小数部分乘基取整(顺序排列)
- R进制→十进制: 按权展开各部分相加
- 二进制→八/十六进制:以小数点为界,分别向左/向右每三/四位一组,整数不够三/四位的高位补0,小数不够三/四位的低位补0
- 八/十六进制→二进制:每一位八/十六进制数分别写出对应的三/四位二进制数字即可
带符号数的表示
如果说一个数是原码反码补码,那么他一定是带符号数
- 原码
- 原码的0:原码表示中,真值0有两种不同的表示:
- 原码的表示范围:
- 整数:
- 纯小数(纯小数就是整数部分为0的小数):
- 将真值转换为原码:根据定义计算即可
- 原码计算例题如下:
如8位原码的表示范围就是-127——+127(此时能表示的范围是对称的,并且有效部分为全1),此时一共能表示255个数(差一个数是因为原码的0占据了两个编码)
表示的范围也是对称的,有效部分也全是1,同样也差了一个数,原因也是因为原码的0占据了两种编码
- 反码
- 反码的0:反码表示中,真值0有两种不同的表示:
- 反码的表示范围:
- 整数:
- 小数:
- 将真值转换为反码,根据定义即可
- 反码计算例题如下:
表示范围与原码相同(原因是反码和原码的转换规则使得反码和原码是一一对应的),也是-127——+127,共255个数(同样也是因为反码中的0占据了两个编码)
小数的表示范围也与原码相同,少了一个数也同样是因为反码的0占据了两个编码
- 补码
- 补码的0:补码表示中,真值0只有一种表示(负0使用补码运算规则之后将溢出):
- 补码的表示范围:
- 整数:
- 小数:
- 将真值转换为补码,根据定义即可(以8位补码为例,特别注意当真值为-128的时候,这个时候原码无法表示但是补码可以表示为10000000,所以不能先将真值转换为原码,再将原码转换为补码。所以需要记住补码的表示范围)
- 补码计算例题如下:
这里整数的范围就多了一个,是从-128——+127,原因就是补码中的0只有一种表示,这个时候人为规定补码中的10000000表示-128(也可以理解为当前的第一位既是符号位,也是有效位)。
tip:可以认为补码的最高位的位权是-128(8位补码的情况),所以这个时候计算补码的真值就可以直接计算,而不用将补码转换为原码(这个时候如果是-128的话就无法表示了)再转换为真值
这里小数的范围也多了一个,同样也是因为补码中的0只有一种表示,这个时候人为规定补码中的1.0000000表示-1(同样可以理解为当前的第一位既是符号位也是有效位)
tip:此时就可以认为当前符号位的位权是-1
tips:补码再次取补可以得到当前数的原码
- 课后习题:
- 带符号数表示小结(过知识点用)
- 正数:原码、反码、补码符号位为0,有效位均与真值相同
- 负数原码:符号位为1,有效位与真值有效位相同(原码不能表示-128)
- 负数反码:符号位为1,有效位为真值有效位变反(反码不能表示-128)
- 负数补码:符号位为1,有效位为真值有效位变反加1(补码能表示-128)、、
定点数的表示
- 定点数表示范围(最大值和最小值之间的范围)和分辨率(最低位的权值)与二进制序列的位数有关,如下图:
- 课后习题:
浮点数的表示
- 浮点数的机器格式(这个并不是IEEE754的格式)
- E(阶码):带符号(决定小数点的移动方向,由上图中的阶符表示)定点整数,可用补码或移码表示;指明小数点位置,决定浮点数的表示范围。
- M(尾数):带符号(决定浮点数的正负,由上图中的数符表示)定点小数,可用补码或原码表示;给出有效值位数,决定浮点数的精度。
- 尾数(所以这个时候只考虑原码和补码的规格化)的规格化(规格化之后就能隐含确定浮点数的小数点位置了):
- 原码尾数规格化:规格化后的原码尾数的最高有效位一定是1,真值的取值范围为1/2<=|M|<1
- 补码尾数规格化:规格化后的补码尾数的最高有效位与符号位相反(所以-1/2并不是一个规格化的补码尾数),此时真值的取值范围为-1<=M<-1/2或1/2<=M<1(记忆:区间下限取等,区间上限不取等)
- 浮点数机器格式计算例题如下:
- 移码(增码)
- 常用于表示浮点数的阶码。
- 移码计算例题:
- 移码的表示范围:由移码的定义可知,移码和真值是一一对应的,所以移码能表示的范围同补码相同
- 移码的特点:
- 最高位为符号位,正数移码符号位为1,负数移码符号位为0,与原码、补码表示相反;
- 除符号位之外,移码的其余各位与补码相同。
- 着真值X从最小逐渐增至最大,相应地X移从00…00逐渐增至11……11,呈递增状,能更直观比较阶码大小
- IEEE754标准浮点格式(重点)
- IEEE754有3种浮点表示格式
- 短浮点数:又称为短实数、单精度浮点数,共有32位,其中数符1位,阶码8位,尾数23位(实际上是24位,因为隐含了一个1)
- 长浮点数:又称为长实数、双精度浮点数,共有64位,其中数符1位,阶码11位,尾数52位(实际上是53位,因为隐含了一个1)
- 临时浮点数:又称为临时实数、扩展精度浮点数,80位,其中数符1位,阶码15位,尾数64位(此时并没有隐含一个1)
- IEEE754标准浮点数格式如下:
- 将十进制真值转换为IEEE754标准浮点数
- 例题如下:
- 将IEEE754浮点数格式转换为十进制真值
- 计算公式如下(没必要背公式,直接将移码转换回真值,然后直接计算即可):
- 例题如下:
其中数符表示浮点数的正负;阶码的移码并非标准移码,而是少移动了一位(原因是在尾数的规格化是少移动了一位,选择隐含一个1);尾数并非机器格式中的规格化尾数,而是选择隐含一个1(也就是2的0次方)
- 课后习题
字符型数据的表示方法
ASCII码
- ASCII码简介:国信息交换标准码(American Standard Code For Information Interchange)
- 校验位:常采用奇偶校验
- 奇校验:通过校验位将数据中的1的个数置为奇数
- 偶校验:通过校验位将数据中的1的个数置为偶数
- 奇偶校验示例:
ASCII字符集共128种常用字符,每个ASCII字符有七位编码,最高位用作校验位。
- 常用符号的ASCII码(了解即可)
- 数字0-9:30H -39H
- 大写字母A-Z:41H -5AH
- 小写字母a-z:61H -7AH
计算机中信息的物理表示
在计算机中处理的二进制数据通过电信号表示。
- 模拟信号:随时间连续变化的电信号
- 数字信号:在时间或空间上断续变化的电信号
- 数字信号有如下两种:
- 电平型(实现并行操作):
- 脉冲型(实现串行操作):
本章总结及练习题
本章总结(重点)
- 进位计数制及其相互转换
- 机器数的三种表示方法:原码、反码、补码
- IEEE754浮点表示格式;尾数规格化、移码表示方式;IEEE754浮点格式与十进制真值之间的转换
- 数字信号的表示:电平型、脉冲型
本章练习题
数字逻辑基础(了解)
逻辑代数基础
本节概念
- 逻辑:指事件产生的条件和结果之间的因果关系
- 逻辑代数:按一定逻辑规律进行运算的代数,主要研究逻辑函数和逻辑变量之间的因果关系,而不是数量之间的运算
- 逻辑门电路:门电路是构成数字电路的基本单元。实现基本逻辑运算和复合逻辑运算的单元电路称为逻辑门电路。,如:与门、或门、非门等。门电路有一个或多个输入,一个输出;当各输入端满足一定条件,输出端才有信号(也就是输入输出满足逻辑关系)。
- 正逻辑:分别用高、低电平表示二值逻辑1、0。如下图:
- 负逻辑:分别用低、高电平表示二值逻辑1、0(与正逻辑相反),如下图:
- 集成电路:通过一系列特定工艺,将电路中的有源元件(二极管、三极管等)和无源元件(电容、电阻等)及连线等制作在一个半导体基片上,构成一个完整电路
- 三态门:在普通门电路基础上增加控制端(使能端,EN),构成三态门
- 逻辑函数:逻辑代数中,将表示事件条件的变量作为输入,运算结果作为输出,输出与输入之间的逻辑关系称为逻辑函数
逻辑运算与逻辑门
- 逻辑与
- 与运算的表示形式(也称为逻辑函数表达式):
- 与门(题里面更常见的是国标符号):
- 逻辑或
- 或运算的表示形式(注意或运算是加号,并且或运算的优先级小于与运算。):
- 或门(同样常用的是国标符号):
- 逻辑非
- 非运算表达式(与离散中的非表示相同):
- 非门(同样常用的也是国标符号):
- 逻辑与非
- 与非运算的表示形式(就是先进行一个与运算然后再进行一个非运算):
- 与非门(常用国标,实际上就是与门后面加上了非门的圈圈):
- 逻辑或非
- 或非运算的表达式(实际上就是先取或然后再取非):
- 或非门(常用国标,实际上就是或门后面跟上了非门的圈圈):
- 与或非运算
- 与或非运算的逻辑表达式(实际上就是先与,再或,再非):
- 与或非门(常用国标,实际上就是与门后面跟上了一个或门然后再加上非门的小圈圈。注意前两个都是与门,但是只在上面写上与门的符号):
- 异或运算
- 异或运算表达式(注意这个符号,里面是加号而不是乘号):
- 异或门(常用国标,注意里面是=1,非门里面是1;异或后面没有圈圈,但是非门后面有圈圈):
- 同或运算(实际上就是异或的反逻辑)
- 同或逻辑表达式(注意里面是个点,不是乘号):
- 同或门(就是一个异或门后面加上了一个非门的圈圈):
- 高低电平的物理实现(了解):数字电路中,高、低电平可通过电子器件的“闭合”、“断开”两种状态表示。如下图(比较难理解,想想基尔霍夫定律还有综设上的拉高拉低):
上图中如果将开关闭合,那么输出电压将被拉低到地,也就是输出低电平
如果将开关断开,那么输出电压将被上拉到vcc,也就是输出高电平
途中的Vin是输入端,仅用来控制开关的闭合
- 三态门(后面几乎所有的输入输出端口都是使用三态门的,也就是引脚需要使能的原因)
- 三态门的输出:三态门的输出有0、1和高阻态三种状态
- 三态门的使能端:使能端可以是高电平有效,也可以低电平有效,如下图:
- 三态门的典型应用:三态门典型应用在总线传输控制,实现分时发送,以及双向数据传输,如下图(右侧就通过使能端保证当前只能进行读操作或写操作中的一种):
也就是说使能端没有横线就是高电平有效,有横线就是低电平有效
与离散数学中的逻辑代数公式基本相同,下面仅介绍之前不熟悉的
- 代入规则:任何一个含有变量A的逻辑等式,如果将所有出现A的位置都代之以同一个逻辑式,则等式仍然成立。例如:
- 反演规则:对任意逻辑表达式F ,若将其中的与、或运算互换, 1、0互换,原变量换成反变量,反变量换成原变量,则得到F 的反函数,记作F ̅,示例如下:
注意:使用反演规则时,不属于单个变量上的反号保持不变(仅改变单个变量上的取反符号)
- 对偶规则:对任意逻辑表达式F,若将其中的与、或运算互换,0、1互换,则得到F的对偶式,记作F`(相较于反演规则就少了原变量变为反变量,反变量变为原变量),示例如下
- 对偶规则的特点:
- 若两个逻辑式相等,则它们的对偶式也相等(所以对偶规则常用来证明逻辑式相等)
- 对对偶式再求对偶就得原函数本身
逻辑函数
- 逻辑函数的特点
- 逻辑变量(输入)和函数(输出)的取值只有0和1(也就是只有逻辑运算)
- 函数和变量之间的关系由“与”、“或”、“非”三种基本逻辑运算决定
- 逻辑函数的表示方法
- 逻辑函数表达式:用基本逻辑运算表示逻辑关系,简称函数式
- 逻辑函数真值表:直观的观察输入变量和输出之间的关系,具有唯一性(就是离散中的真值表)
- 逻辑电路图:用逻辑门符号构成的逻辑关系图(就是逻辑门电路图)
逻辑代数小结及练习题
- 逻辑代数小结
- 基本逻辑运算
- 常用逻辑门电路,三态门及典型应用
- 逻辑代数基本定律与规则
- 逻辑函数及表示方法:真值表、逻辑函数表达式、逻辑电路图
- 逻辑代数练习题
组合逻辑电路
本节概念
- 组合逻辑电路分析:根据电路结构导出输出与输入变量的逻辑关系,并确定电路的逻辑功能(也就是从电路结构导出逻辑函数表达式或者真值表)
- 组合逻辑电路设计:根据给出的逻辑功能要求,画出实现该逻辑功能的最简逻辑电路(也就是从逻辑表达式或者从真值表出发,画出逻辑门电路)
- 译码:将输入的二进制代码翻译成对应的高、低电平信号
组合逻辑电路概述
- 组合逻辑电路的特点
- 任意时刻的输出仅取决于当前输入变量取值,与电路原状态无关
- 电路由逻辑门构成,无记忆元件(锁存器/触发器)
- 输入信号是单向传输,无反馈(触发器有反馈)
组合逻辑电路分析
- 基本步骤
- 确定函数表达式
- 化简
- 画出真值表
- 描述电路功能
- 组合逻辑电路分析例题:
组合逻辑电路设计
- 组合逻辑电路设计基本步骤
- 逻辑抽象:定义逻辑状态的含义,即以“0”、“1”分别表示输入和输出的不同状态。然后分析事件的因果关系,确定输入变量和输出变量
- 根据因果关系列出真值表
- 得到逻辑函数表达式,化简/转换(想想离散数学中的极大项极小项)
- 画出逻辑电路图
- 组合逻辑电路设计例题:
译码器(后面有用到,如存储子系统)
译码器对于一个特定的输入,只有一个输出有效(有效电平可能是高电平也可能是低电平,主要就是看译码器输出端的符号上有没有取反的符号)。下面以24译码器为例
- 译码器的逻辑结构
- 译码器的逻辑结构如下图(d表示任意值):
实际上就是A1和A0组合形成的二进制数对应的输出端有效(比如A1A0组合为10,那么就是2号输出端口有效)
- 译码器的函数表达式
- 移码器的函数表达式如下(根据真值表组合极大项或者极小项就好了,或者说直接理解也行):
- 译码器的逻辑电路
- 译码器的逻辑电路如下(实际上就是根据上面的函数表达式画出来的逻辑门电路):
- 译码器的典型应用
- 在计算机系统中用作地址译码,选择存储芯片(也就是译码器标题上写的,存储子系统中有用到译码器)
组合逻辑电路小结及习题
- 组合逻辑电路小结
- 组合逻辑电路:输出只取决于输入,与原状态无关,结构无反馈
- 组合逻辑电路分析方法:电路结构->逻辑函数表达式->化简->真值表(可选)->逻辑功能描述
- 组合逻辑电路设计方法:逻辑抽象->真值表->逻辑函数表达式->化简/转换->画出逻辑电路
- 译码器工作特性及典型应用
- 组合逻辑电路习题
- 触发器:能够存储一位二进制信息的基本单元电路
- 时钟:数字系统中,为使某些触发器在同一时刻按输入信号改变状态,需要引入同步信号,该同步信号叫时钟脉冲,或时钟信号(简称时钟),用CP(Clock Pulse)表示
- 触发器的特点
- 具有两个能自我保持的稳定状态,表示逻辑状态“0”或“1”,或表示二进制数0或1
- 具有一对互补的输出( Q、Q ̅ 。触发器存储的是什么只要看Q的值即可)
- 当 Q=1、 Q ̅ =0 ,则触发器存储“1”
- 当 Q=0、 Q ̅ =1 ,则触发器存储“0”
- 在输入信号作用下,可从一种状态转换到另一种状态
- 与非门构成的基本RS触发器
- 电路结构及逻辑符号(注意这里的输入符号上面有一道杠,也就是表明低电平有效):
- 要注意这里只有当S非端输入0的时候输入才是有效的,这个时候虽然输入的是0,但是里面进行了取反操作,在里面就是1了。但是在真值表上体现的就是逻辑变量的取值,如S非下面对应的就是S非的取值,而不是输入(就像上面说的,输入应该再取反。但是在真值表上就不需要取反了)
- 特性表及特性方程
- 或非门构成的基本RS触发器
- 电路结构及逻辑符号(注意这里跟与非门触发器的区别,这里是高电平有效,并且R在左侧)
- 特性表及特征方程
- 基本RS触发器的缺陷
- 输出受电平信号直接控制,抗干扰能力下降(也就是存在空翻现象,只要两个输入端轻微变化,就可能导致在短时间内触发器中出现不期望的值)
- 存在约束条件的限制(与非门不能全0,或非门不能全1)
- 没有时钟信号控制,无法与其他部件同步工作
- 钟控RS触发器电路结构以及逻辑符号(实际上就是通过时钟信号控制输入信号能否到达上面的基本RS触发器。当时钟信号为1的时候下面的与非门就相当于是非门。所以如果不考虑时钟信号的话,这个触发器就是一个与非门触发器)
- 状态表及特征方程
- 如下图:
- 钟控RS触发器的优点
- 加入时钟信号,同步工作成为可能(此时只需要跟其他部件使用同一个时钟信号就能进行同步工作了)
- 钟控RS触发器存在的问题
- 仍然存在约束条件的限制
- CP=1期间,R、S稍微有变化,Q端也随之变化,存在“空翻”问题(也就是一个时钟周期内触发器的状态随着两个输入端的轻微改变就有多次翻转,使触发器在短时间内中出现不期望的值)
- 钟控(电平型)D触发器的电路结构及逻辑符号
- 钟控D触发器的状态转换
- 钟控D触发器的优点
- 有时钟信号,可以同步工作
- 没有约束条件限制(因为上面的与非门基本RS出发器的输入总是相反的)
- 钟控D触发器的缺点
- 仍然存在“空翻”
- 边沿D触发器的电路结构及逻辑符号
- 边沿D触发器的状态转换
- 集成D触发器逻辑符号
- 集成D触发器的状态转换
- 触发器具有两个稳定的输出,能够存储一位二进制信息
- 基本RS触发器:触发器状态变化直接受电平信号控制
- 钟控D触发器:触发器状态变化受时钟信号和电平信号控制
- 边沿D触发器:触发器状态改变仅在规定的时钟跳变时(上升沿或者下降沿)发生
触发器
本节概念
触发器概述
基本RS触发器
记忆:与运算就我个人的理解更像1,所以就是全1的时候保持,全0的时候禁用;因为是基本RS触发器,R在前面,所以将触发器置为什么是看R的输入
记忆:与非门触发器和或非门出发器所有逻辑都是反过来的,或非门是全0保持,全1禁用;并且R为1的时候是置0,为0的时候置1
钟控触发器
输入增加时钟信号,触发器的状态变化受时钟控制,也称同步触发器(解决基本RS触发器无法与其他部件同步工作的缺陷)
这个触发器实际上就相当于与非门基本RS触发器,所以只需要将上面真值表SR对应的所有取值取反,就变成了与非门基本RS触发器
从这里可以看出,D触发器就是将RS两个输入整合为一个输入D
记忆:D输入什么触发器就被置为什么
边沿触发器(边沿D触发器)
边沿触发器的状态改变仅在规定的时钟跳变时刻(由于只有一个时刻会修改触发器的值,在电平期间无法写入触发器,所以在电平期间输入端的改变无法改变触发器的值,也就解决了空翻问题)
注意在输入端打一个上尖就说明是上升沿触发。同理,如果打一个下尖就是下降沿触发
记忆:同样也是D输入什么就将触发器置为什么,最重要的就是要注意是在上升沿(或者下降沿)的时候,D的值才能打入触发器
集成D触发器(后面用的触发器都是集成D触发器)
集成D触发器既有同步时钟控制的激励输入端D,又有优先级更高的异步置位端¯SD和异步复位端¯RD
两个异步置入端上面有取反,就是低电平有效;CP上有一个上尖,说明是上升沿触发
这个时候两个异步置入端就相当于一个与非门基本RS触发器,当两个异步置入端都输入1的时候(也就是R非和S非都是0的时候),就跟基本RS触发器一样是禁用的,其他的异步置入规则也与与非门基本RS触发器相同。仅当异步置入端保持触发器状态时(也就是当异步置入端都是1的时候),同步置入生效
触发器小结
- 作者:Noah
- 链接:https://imnoah.top/article/CptStructure/Chapter0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。