Principle-of-Computer-Composition
计算机组成原理思维导图
计算机组成
第一章 计算机系统概论
冯诺依曼型计算机特点
- 1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成
- 2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。
- 3.指令由操作码和地址码组成
- 4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变
- 5.机器以运算器为中心,输入输出设备与存储器间的数据传送都通过运算器
区别以运算器为中心的计算机还是存储器的方法
- 看输入设备能否直接与存储器相连,是的话就是以存储器为中心
计算机系统
- 硬件
- 结构
- 主机
- cpu
- ALU运算器
- CU控制器
- 存储器
- 主存
- 辅存
- cpu
- I/O
- 输入设备
- 输出设备
- 主机
- 主要技术指标
- 机器字长
- CPU一次能处理的数据位数
- 存储容量
- 存储容量=存储单元个数×存储字长
- 运算速度
- 单位时间执行指令的平均条数,MIPS
- 机器字长
- 结构
- 软件
- 系统软件
- 用来管理整个计算机系统
- 语言处理程序
- 操作系统
- 服务性程序
- 数据库管理系统
- 网络软件
- 用来管理整个计算机系统
- 应用软件
- 按任务需要编制成的各种程序
- 系统软件
第三章 运算方法和运算部件
数据的表示方法和转换
- 机器数正0负1
- 符号数值化的带符号二进制数,称为机器数。
- 真值:符号位加绝对值
- 余三码:在8421码的基础上,把每个编码都加上0011
- 当两个余三码想加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加0011
- 格雷码:任何两个相邻编码只有1个二进制位不同,而其余3个二进制位相同
- 8421码
- 权值从高到低为8、4、2、1
- 算术运算时,需对运算结果进行修正。 方法:如果小于、等于(1001)2,不需要修正;否则加6修正
- 权值从高到低为8、4、2、1
带符号的二进制数据在计算机中的表示方法及加减法运算
- 原码
- 定义
- 最高位为符号位0/1+数值的绝对值形式
- 特点
- (1)值+0,-0的原码分别为00000、10000,形式不唯一;
- (2)正数的原码码值随着真值增长而增长
-
负数的原码码值随着真值增长而减少
-
- (3)n+1位原码表示定点整数范围-(2n-1)——2n-1
-
n+1位原码表示定点小数范围 -(1-2-n)——1-2-n
-
- 运算
- 绝对值相加减,由数值大小决定运算结果符号
- 定义
- 补码
- 定义,特点和运算
- 运算:
结果不超过机器所能表示范围时,[X+Y]补=[X]补+[Y]补
减法运算:
[X–Y]补=[X+(–Y)]补=[X]补+[–Y]补 - 结论
- 负数的补数=模+负数
- 互为补数的绝对值相加=模
- 在补数中,减法运算即加法运算
- 定义
- 定义法,即[X]补=2·符号位+X (MOD 2)
- X为正数,则符号0+X的绝对值;X为负数,则X的绝对值取反+1。
- 特点
- 数值零的补码表示唯一
- 正数补码码值随着真值增大而增大,负数补码码值随着真值增大而增大
- n+1位补码所表示定点整数范围- 2n——2n-1,n+1位补码所表示定点小数范围-1——1-2-n
- 运算:
- 加法运算逻辑事例
- 过程
- 加减法运算的溢出处理
- 溢出定义
- 当运算结果超出机器数所能表示的范围
- 加减中,可能产生溢出的情况
- 可能出现溢出
- 同号数相加
- 异号数相减
- 不可能出现溢出
- 异号数相加
- 同号数相减
- 可能出现溢出
- 判断溢出的方法
- 法一:当符号相同两数相加,结果符号和加数(或被加数)不相同,则溢出
- fa,fb表示两操作数(A,B)的符号位,fs为结果的符号位
- 法二:任意符号相加,如果C=Cf,则结果正确,否则溢出;
- C为数值最高位的进位,Cf为符号位的进位
- 法三:采用双符号相加,如果fs1=fs2,则结果正确,否则溢出;
- 运算结果的符号位为fs2;
- 多符号位的补码,叫做变形补码;
- 如果采用双符号位,当数为小数时,模m=4;当数为整数时,模m=2的n+2次方
- 法一:当符号相同两数相加,结果符号和加数(或被加数)不相同,则溢出
- 溢出定义
- 定义,特点和运算
- 反码
- 定义
- a.定义法,即[X]反=(2-2-n)·符号位+X (MOD 2-2-n)
- b.X是正数,[X]反=[X]原;X是负数,符号+数值取反。
- 特点
- 数值零的反码表示不唯一
- 正数反码码值随着真值增大而增大,负数反码码值随着真值增大而增大
- n+1位反码所表示定点整数范围- (2n-1)——2n-1,n+1位反码所表示定点小数范围-(1-2-n)——1-2-n
- 加减运算特点
- 在机器数范围内,反码运算满足[X+Y]反=[X]反+[Y]反
,[X-Y]反=[X]反+[-Y]反
- 在机器数范围内,反码运算满足[X+Y]反=[X]反+[Y]反
- 反码运算在最高位有进位时,要在最低位+1,此时要多进行一次加法运算,增加了复杂性,又影响了速度,因此很少采用
- 由于反码运算是以2-2的-次方为模,所以,当最高位有进位而丢掉进位(即2)时,要在最低位+/-1
- 定义
- 移码
- 由来及窍门
- 为了从码值直接判断对应真值的大小,所以引进移码
- [X]补的符号位取反,即得[X]移
- 特点
- 最高位是符号位,1表示正,0表示负
- 数据0有唯一的编码
- 移码码值随着真值增大而增大
- n+1位移码所表示定点整数范围- 2n——2n-1, n+1位移码所表示定点小数范围-1——1-2-n
- 计算机中,移码常用于表示阶码,故只执行加、减运算
- 计算机中,移码运算公式需要对结果进行修正
- 浮点数的阶码运算
- 移码定义:[X]移=2的n次方+X
- 补码定义:[X]补=2的n+1次方+Y
- 阶码求和公式
- [X]移+[Y]补=[X+Y]移 mod2的n+1次方
- [X]移+[-Y]补=[X-Y]移
- 判溢方法
- 双符号位参加运算,最高符号位恒置0
- 当结果最高符号位=1则溢出
- 低位符
- 由来及窍门