计算机组成原理学习笔记(6):数字
第六章 数字
6.1 无符号数和有符号数
6.1.1无符号数
寄存器的位数反应无符号数的表示范围
6.1.2 有符号数
包含数值部分和符号部分
机器数与真值
原码表示法
简单直观,但是使用原码计算的时候会出现一些问题(加法减法有两种运算,可否归一化)
整数定义
小数定义
补码表示法
补的概念
一个负数加上“模”即得该负数的补数
一个正数和一个负数互为补数时它们绝对值之和即为模数
同时补码还有一个好处正0和负0的补码一样都是0
定义
整数
小数
求补码的快捷方式
补码最大的好处就是把减法变成加法
反码表示法
定义
整数
小数
三种机器数的小结
移码表示法
定义
只有整数的定义没有小数定义
通常用来比较浮点型数据表示下的阶码
6.2 数的定点表示和浮点表示(上)
6.2 数的定点表示和浮点表示
6.2.1 定点表示
定义:小数点按照约定方式标出(硬件和软件都已固定)
两种表示方式:
表示范围:
6.2.2 浮点表示
引入浮点表示的原因
编程困难,程序员要调节小数点的位置;
不够灵活,数的表示范围小,为了能表示两个大小相差很大的数据,需要很长的机器字长;
数据存储单元的利用率往往很低,有大量的无用数据。
浮点数的表示形式
浮点数的表示范围
浮点数的规格化形式
目的:尽可能地保证数据精度
浮点数的规格化
6.2.3 举例
6.2.4 IEEE754标准
6.3 定点运算
6.3.1 移位运算
移位的意义
均表示相对于小数点移动,小数点是不动的
左移绝对值扩大
右移绝对值缩小
移位操作和加减操作结合实现乘除操作
算术移位规则
算数移位的硬件实现
算术移位和逻辑移位的区别
6.3.2 加减法运算
计算公式
溢出判断
补码加减法的硬件配置
6.3.3 乘法运算
实现方式
硬件配置
6.3.4 除法运算
恢复余数法
不恢复余数法(加减交替法)
6.4 浮点四则运算
浮点加减运算
对阶
求阶差后对齐
对阶原则:小阶向大阶看齐
规格化(位数运算后进行规格化)
规格化的意义:
为了尽可能的提高浮点数表示精度使得计算机资源尽可能有效地利用起来
规格化数的定义:
规格化数的判断:
- 原码:不论正数、负数,第一数位为1
- 补码:符号位和第一数位不同
特例:
左规:
尾数左移一位,阶码减1,直到数符和第一数位不同为止
右规:
溢出是因为大小限制出现了进位
舍入
在对阶和右规过程中,可能出现尾数末位右移,引起误差,需考虑舍入
方法一:截断法
方法二:0舍1入法
方法三:恒置1法
溢出判断
6.5 算术逻辑单元
6.5.1 ALU电路
6.5.2 快速进位链
并行加法器
串行进位链