导图社区 计算机组成原理(微课版)前三章
计算机组成原理配套书,前三章知识点。该书介绍了计算机的基本组成原理和内部工作机制。全书共分8章,主要内容分成两个部分:第1、2章介绍了计算机的基础知识;第3-8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。
编辑于2022-03-29 09:45:18(新)完全掌握(日语能力考试)N2语法 的所有语法知识点,通过深入浅出的讲解和丰富的例句,帮助考生系统掌握日语语法的精髓,无论是初次接触N2语法的初学者,还是希望进一步巩固和提升的进阶者,都能从这本书中获得宝贵的指导和启发。
这是一篇关于敏捷开发流程的思维导图,主要内容包括:持续改进与敏捷回顾,产品演示与反馈循环,持续集成与测试驱动开发,迭代规划与日常站会,用户故事与需求梳理,敏捷团队的组成与角色,Scrum框架基础,敏捷开发的核心价值观。
来自日语学校 赤门会,在日语中,自动词和他动词是两种不同的词性,它们分别表示不同的动作和状态。
社区模板帮助中心,点此进入>>
(新)完全掌握(日语能力考试)N2语法 的所有语法知识点,通过深入浅出的讲解和丰富的例句,帮助考生系统掌握日语语法的精髓,无论是初次接触N2语法的初学者,还是希望进一步巩固和提升的进阶者,都能从这本书中获得宝贵的指导和启发。
这是一篇关于敏捷开发流程的思维导图,主要内容包括:持续改进与敏捷回顾,产品演示与反馈循环,持续集成与测试驱动开发,迭代规划与日常站会,用户故事与需求梳理,敏捷团队的组成与角色,Scrum框架基础,敏捷开发的核心价值观。
来自日语学校 赤门会,在日语中,自动词和他动词是两种不同的词性,它们分别表示不同的动作和状态。
计算机组成原理(微课版)
1、计算机系统概述
略
2、数据信息的表示
名次解释
真值:+、-表示符号位的二进制表示
机器码:由符号位、数值一起编码表示的二进制数
原码:符号化数值,0表示正,1表示负
补码:“模2的补码”,x>=0 补码=真值;x<0 补码=真值+模
反码:“1的补码”,符号和原码相同,x>0,与原码相同;x<0 数值与真值位相反
移码:用于定点数,表示阶码
模:一个数值计量系统的计量范围
定点数:数据小数点固定的方式,有定点小数和定点整数
浮点数:小数点的位置可浮动,有阶码和尾数
溢出:数据超出计算机所能表示的数据范围
精度溢出:无法表示精度,精度溢出
浮点数规格化:使尾数真值最高有效位为1,尾数绝对值应大于(二进制0.1)或(十进制0.5)
隐藏位:规划化浮点数无需表示最高位1,被隐藏位,需要运算再恢复
BCD码:用4位2进制表示0-9,8421、2421;有权码、余三码 为无权码
有权码:表示十进制的4位二进制数都有一定的权值
无权码:与有权码相反,无权值
BID码:直接用二进制表示十进制整数的值
DPD码:紧凑十进制编码,用10个二进制表示3位十进制数
二进制浮点数:
十进制数浮点数:DPD、BCD、BIC码三种
ASCII码:7、8位表示128个字符
机内码:国际码+8080H
字形码:点阵码,在显示器上汉子的点阵图
字库:每一个汉字的字形吗,按区码顺序排列,构成字库
码距:两个编码对应二进制不同个数
校验码:具有发现错误或纠正错误能力的数据编码
多重奇偶校验:每组至少两个以上的可校验和纠错
ECC码:能检错和纠错的校验码
海明码:一种ECC
CRC:基于模2运算
数据表示的作用
数据类型
范围、精度
存储和处理的代价
软件可移植性
数据的数值表示
数的机器码表示
定点小数
定点整数
定点小数
定点整数
定点小数
定点整数
反码法
符号位1时,数据位取反+1
扫描法
符号位1,右起第一个1左边的全部取反
变形补码(即双符号位补码、模4补码)
移码
只用于定点整数的表示,通常表示浮点数的阶码
优点:通过偏移把真值映射到正数域中,便于比较浮点数;浮点数0的表示唯一
定点数表示
溢出:超过表示范围
精度溢出:不在数轴上的刻度
浮点数表示
正数最大:尾数最大、阶码最大
正数最小:尾数位正数最小,阶码最小
负数最大:尾数负数最大,阶码最小
负数最小:尾数负数最小,阶码最大
规格化处理:尾数真值最高有效位为1,即尾数绝对值大于二进制0.1、十进制0.5
最高位1被隐藏
IEEE754浮点数(32位)
S[1] E[8] M[23]
(规格化)
(非规格化,精度高 E=0)
十进制编码
十进制整数:
BCD:4位二进制表示0~9
8421:有权码,按权展开后对应0~9
2421:有权码,权值 2、4、2、1,各位取反为9的补码(自补特点)
余3码:无权码,8421每个数加3形成的
BID码:直接用二进制表示10进制,常用在十进制的(浮点数)尾数
DPD码:
用10个二进制表示3位十进制数,编码效率高1000/1024,只需要2~3个门电路时延,但需要特殊运算单元,也可用于尾数
十进制浮点数
(内置浮点数)提升复杂的税收、金融和ERP程序的运算效率
计算机中的数据类型
汇编语言
X86:整数ADD,SUB,MOV;浮点数FADD、FSUB、FMUL、FDIV
高级语言
C语言:char、short、int、long
正上溢:正正得负
负上溢:负负得正
无符号溢出:越加越小、越减越大
非数值数据的表示
字符表示
ASCII :128个字符,(33个控制字符,10个十进制数码、52个英文、33个专用符号)
字节最高位MSB为0
汉字编码
双字节 14位,MSB都是1
国标码=GB232
理论上有2^14=16384个,实际用了7445(6763个汉字,682全角字符)
用94X94=8836的矩阵表示
行列->区位
区位吗+A0A0H=GB2312
处理流程
汉字机内码是统一编码,如GB、Unicode
汉字输入码(外码)
流水码
音码
形码
音形码
汉字字形码(输出码)
按区位码顺序排列,构成汉字字库
数据信息的校验
码距、校验
两个编码对应二进制位不同的个数(海明距离)
码距越大、抗干扰能力越强、纠错能力越强但数据冗余大、编码效率低
奇偶校验
增加校验位P,奇数校验码1的各位为奇数
偶数校验码1的个数为偶数
多重奇偶校验:将信息分为若干组,每个至少两个以上的校验组
典型:交叉奇偶校验
交叉奇偶可以检测所有3位及以下错误、奇数位错误、大部分偶数位错误
海明校验(能检错、能纠错)
k越大编码效率越高
扩展海明码 SECDED,解决无法区分一位错还是两位错
ECC内存使用SECDED
循环冗余校验
模2运算
相同的两个进制数模2加减法相同
编码规则
对于给定的(n,k)码,假设待发送的K位二进制数据用多项式M(x)表示,有
将M(x)左移r位,可表示程M(x)· 2^r,右侧空出的r位用来放置校验位
选择一个r+1位的生成多项式G(x),其最高次幂等于r,最低次幂等于0
用M(x)· 2^r 按模2运算规则除以生成多项式G(x)所得余数R(x)作为校验码。设商为Q(x),将余数R(x)放置到M(x)· 2^r右侧空出的r 位上,就形成了CRC校验码,其多项式为
按模2运算规则R(x)+R(x)=0,所以
表明CRC码一定能被生成多项式整除
CRC编、解码电路
串行结构简单,但时间复杂度高需要n-1个时钟周期
现代采用并行设计
CRC编、解码流程
将数据
左移r位送入CRC电路,除以r+1位的生成多项式
将余数
与数据拼接进行不可靠传送
将收到的信息传送到解码电路中,同样除以生成多项式,将r送入决策逻辑,为0则无误;不为0则根据余数值(纠错丢弃)或重传
CRC编码特性
将余数左移一位除以生成多项式,将得到下一个余数,新余数的基础上继续左移,最后得到开始的余数
CRC生成多项式
最高、最低位为1
CRC校验码任何一位发生错误,被生成多项式进行模2除后余数应不为0
不同位发生错误,余数不同
对余数进行模2除,应使余数循环
CRC检错性能
通常k值大,一个甚至数千个数据位构成一桢,r位校验位
所有突发长度小雨r的突发错误
比例的突发长度r+1的突发错误
比例的突发长度大于r+1的突发错误
小于最小码距的任意位数错误
如果生成多项式1为偶数,可以测试所有奇数位错误
3、运算方法与运算器
名词解释
全加器:full-adder,带一位进位的加法器
半加器:不考虑进位的加法器
进位生成函数:
Gi为进位生成函数
进位传递函数:当Pi=1,即Xi、Yi相异,进位信号才能传递到进位输出Ci+1,Pi位进位传递函数
算术移位:带有符号的位移
阵列乘法器:用大量与门阵列同时产生手动乘法中的各乘积项,同时将大量一位全加器按照手动乘法运算的需要构成全加器阵列
原码恢复余数:当余数是负数,余数加上除数,恢复为比较操作之前的数值
除法:将n位数的除操作转换成若干次“加、减及位移”的循环操作来实现
原码不恢复余数法:改进,根据余数符号不同进行不同的运算处理,控制简单、运算速度快
阵列除法:基于阵列乘法器思想,采用阵列触发器实现除法运算
串行进位:异步计数,内部各触发器的时钟脉冲端CP不全都连接在一起,因此各触发器的翻转时刻有先有后
先行进位:是同步计数,时钟脉冲同时作用于各个触发器,各触发器状态的变换与计数脉冲同步
对阶:使浮点数阶码相等的过程
规格化:使小数点后第一位不为0
保留附加位:尾数右移时,将最低位的移出位暂时保留
计算机中的运算
C语言中的位运算
与and、或or、非not、异或xor
& | ~ ^
C中的逻辑运算
&& 、 || 、 !
只能操作0 、1,结果只有0、1
C中的移位运算
<< 左移、>>右移
算术位移,逻辑位移
算术右移,首位填符号位
C中的算术运算
+ - * /
add sub mul div
定点加减法运算
补码加减法运算方法
补码加法
补码减法
溢出及检测
溢出概念
正正得负
负负得正
补码加法逻辑表达式
减法
溢出检测
操作数、运算结果符号位是否一致
最高数据位的进位Cd、符号位的进位是否一致Cf
变形补码的符号位进行检测
分别表示符号位第一、第二位
加减法的逻辑实现
全加器
3输入:Xi、Yi、低位进位Ci
2输出:和Si、高位进位Ci+1
(公式3-8)
(公式3-9)
本书后续以该方案讲解加法器
半加器HA:与全加器相比无进位输入
多位串行加法器
全加器串联得到N位串行加法器(也称为行进波加法器)
Cn时延为(2n+3)T,Sn-1的时延为(2n+4)T,overflow信号时延为(2n+6)T
可控加减法电路
减法可以通过加法实现,把减数Y的补码符号位取反,末位加1
sub控制信号,为0时Y是本身,为1时取Y的反码,同时末位加1
时延:Cn为(2n+6)T,Sn-1为(2n+7)T,overflow为(2n+9)T
先行进位加法器
提前得到所有全加器所需的进位输入信号,突破串形加法的Sn-1=2n+4 T的时延
Gi为进位生成函数,Pi为进位传递函数
最终得
4位先行进位电路
成组进位生成函数
成组进位传递函数
4位快速加法器(并行加法器)
先行进位电路,加上Gi,Pi的与门异或电路,加上4个异或门
时延:相比4位串行加法器(2n+4)T=12T,性能提升1.5倍
16位组内并行、组间串形加法器
时延:关键时延14T,比传统串形(2n+4)T=36T,其性能提升了约2.6倍
16位组内并行、组间并行加法器
时延:关键时延比16位组内并行、组间串形加法器少2T
如果进一步级联构成64位快速加法器,时延为16T,现代加法器普遍采用类似方法
定点乘法运算
原码一位乘法
乘积的符号由符号为异或确定
乘积数值是两位绝对值之积
手动计算过程
归纳为
流程图
例题
过程
用循环累加与逻辑右移实现了原码一位乘法
计算核心逻辑
花括号表示将两个数据连接在一起
两个n位数参加乘法运算要进行n次加法和n次移位操作
注意加法运算可能会产出局部溢出,如方框所示,但这只是中间计算结果,运算完毕还要进行逻辑右移操作,右移时应将进位移入部分积P的最高位
补码一位乘法
Booth算法
算法
逻辑实现
阵列乘法器
原码、补码一位乘法器主要通过加法器的循环累加计算多个位积和求解乘积,速度较慢。为提高速度,可以采用阵列乘法器
补码阵列乘法器
补码阵列乘法器在无符号阵列乘法器的基础上变换而来
为了将结果变成补码,需要增加一个2n位运算后求补电路
乘法器性能优化
分6阶段
定点除法运算
原码一位除法
原码恢复余数法
在原码恢复余数法中,比较被除数与除数的大小是用减法实现的。对原码除法而言,操作数以绝对值的形式参与运算。因此,相减结果位正说明够减,商上1;相减结果为负(符号位为1)说明不够减,商上0。由于除法通过减法实现,当商上1时,减法得到的差值就是余数,可以继续进行后续的除法操作。当商商0表示不够减,减法得到的余数是负数,因此需要将余数加上除数,余数恢复为之前的数值
原码不恢复余数法
是原码恢复余数法的改进,主要特点是不够减时不需要恢复余数,而根据余数符号进行不同的运算处理。其运算步数固定,操控简单,有效提高了除法运算速度
原码不恢复余数法的逻辑实现
阵列除法器
CAS的结构及其工作原理
可控加减法单元
阵列除法器的连接与运算
每一行CAS电路构成一个串形进位可控加减法电路,P为控制位,连接到所有CAS单元控制端以及最低位CAS的进位输入端。当P=0时,CAS做加减法;而当P=1时,CAS内部全加器输入的是y的反码,P连接最低位进位输入实现了末位加1,整体实现了补码减法运算。
每一行CAS电路都向右偏移一列,这种连接方式实现了余数的左移操作
每一行CAS 最高位进位输出都是提供对应位的商值,最后一行CAS电路得到的并不是实际余数,实际余数还需要右移3位
上商位决定了下一步是进行加法还是进行减法,因此可用上一步的商(最左侧CAS的进位/借位输出)控制下一行串形进位加减法电路的运算,即商上1,下一步减除数;而商上0,下一步加除数;故将上一步的商与下一步CAS电路的P输入相连
阵列除法器采用的是原码不恢复余数法和手动除法运算的思想,第一步必须做减法,第一行CAS的P为1,要求|x|<|y|,第一次运算肯定不够减,商上0,下一次运算进行加法
阵列除法器时间延迟分析
[2(n+1)+7]T*(n+1)
浮点运算
浮点减法运算
阶码和尾数采用补码表示的浮点加减运算
对阶
尾数运算
结果规格化
舍入
溢出判断
IEEE754浮点的加减法运算
对阶、规格化过程中,阶码的运算采用移码的加减运算规则
尾数的运算采用原码运算规则,且隐藏位要参与尾数运算
隐藏位参与尾数规格化判断及尾数规格化过程
舍入处理,IEEE754中有4种舍入方式
就近舍入
朝正∞舍入
朝负∞舍入
朝0舍入
溢出判断
向右规格化阶码全1 ,发生规格化上溢
向左规格化使阶码全为0,发生规划化下溢
浮点乘法运算
阶码相加
尾数相乘
规格化舍入
浮点除法运算
尾数调整
阶码求差
尾数相除
规格化舍入
运算器
定点运算部件
又称算术逻辑运算单元,可进行定点数据的逻辑、移位、算术运算
浮点运算部件
负责进行浮点数的算术运算
大多集成在CPU内部
定点运算器
1、运算器组成
2、运算器的基本结构
3、ALU设计
浮点运算器