第2章_运算方法和运算器
第2章运算方法和运算器74181
第2位向第3位的进位公式为: P=X0X1X2X3
Cn +3 =Y2 + X2 Cn +2 =Y2 +Y 1 X1 +Y0 X1 X2 +X 0 X1 X2 Cn
第3位的进位输出(即整个4位运算进位输出)公式为: C n + 4 = Y 3 + X 3 C n + 3 = Y 3 + Y 2 X 3 + Y 1 X 2 X 3 + Y 0 X 1 X 2 X 3 + X 0 X 1X 2 X 3 C n
i
Y3+Y2X3+Y1X2X3+Y0X1X2X3 =G
2.5.2多功能算术/逻辑运算单元(ALU)续8
3.算术逻辑运算的实现
除了S0-S3四个控制端外,还有一个控制端 M,它使用来控制ALU是进行算术运算还是进行逻 辑运算的。
当M=0时,进行算术操作。M对进位信号没 有任何影响。此时F不仅与本位的被操作数Y和操 作数X有关,而且与本位的进位输出,即C有关。 当M=1时,进行逻辑操作。封锁了各位的进 位输出,即C =0,各位的运算结果F仅与Y和X有关。
定点运算器的组成
4位之间采用先行进位公式,根据式(2.36),每一
位的进位公式可递推如下: 第0位向第1位的进位公式为:
Cn +1 =Y0 +X0 Cn 其中Cn是向第0位(末位)的进位。
第1位向第2位的进位公式为:
Cn + + X1 C Y1 + Y0 X1 +X X X1Cn+Y X X X 设: = Y Y Y 2=Y1G n+ 1= 3+ 2X3+ 1 02X 3 0 1 2 3
将Xi 和Yi代入前面的进位表达式,可简化为: Cn+i+1=Yi+Xi Cn+ i
1 1
0
1 1
Ai
定点运算器的组成
计算机原理第二章运算方法和运算器
算术移位时,符号位保持不变,其 余位进行相应移动。算术左移相当 于乘以2,算术右移相当于除以2并 向下取整。
乘法运算方法
原码一位乘法
将被乘数和乘数均取原码,从乘数的最低位开始逐位判断,若为1则加上被乘 数的原码,若为0则不变。重复此过程直至乘数所有位均判断完毕。
补码一位乘法
将被乘数和乘数均取补码,从乘数的最低位开始逐位判断,若为1则加上被乘数 的补码并考虑进位,若为0则只考虑进位。重复此过程直至乘数所有位均判断完 毕。
节能技术
采用节能技术,如动态电压调整、睡眠模式等, 以降低运算器在空闲或低负载时的功耗。
06
计算机中数的表示和运算 方法扩展
大数表示和运算方法
大数的概念
超出计算机基本数据类型表示范围的整数或浮点数。
大数表示方法
采用多精度表示法,将大数拆分成多个基本数据类型的数进行表示 和存储。
大数运算方法
设计相应的大数运算算法,如大数加法、减法、乘法、除法等。
转换方法
根据机器数的表示方法,通过相应的运算将其转换为真值。
定点数与浮点数
定点数
表示范围与精度
小数点位置固定的数,可表示整数或 小数。
定点数表示范围有限,精度较高;浮 点数表示范围大,但精度相对较低。
浮点数
小数点位置可变的数,由阶码和尾数 两部分组成,可表示大范围的数值。
02
基本运算方法
定点加减法运算
运算流水线设计
在算术逻辑单元(ALU)中采用流 水线技术,将复杂的运算过程分解 为多个简单的运算步骤,提高运算 速度。
超标量流水线设计
在一个周期内同时发射多条指令, 通过多个功能部件并行执行,进一 步提高处理器的性能。
计算机组成原理 第五课
例:X0X1X2X3C =10110 (奇) X0'X1'X2'X3' C' =11110 由X0'X1'X2'X3'生成C*=
(1 ⊕ 1) ⊕ (1 ⊕ 1)
=1,则
C*⊕C' =1⊕0=1 —— 出错
(4) 优缺点
优点:简单易行,省器件. 缺点:只能发现奇数位错,无纠错能力.
2.1.4 数据校验码
1. 数据校验码:
用以发现或同时能得出错误位置特征的数据编码. 计算机中的错误类型: ; (1)固定性错误---元器件故障; ) (2)突发性错误---噪声干扰. )
2. 检错码--奇偶校验码 (1) 定义
使包括一位校验位在内的数据代码,"1"的个数总是奇 (或偶)数个为合法数据的编码.
2. 补码定点减法
(1)补码减法的规则: 推论: [X-Y]补= [X+(-Y)]补 =[X]补+[-Y]补 已知 [Y]补 ,那么 [-Y]补=? (2)求补: 由[Y]补求[-Y]补,称为对Y求补. (3)求补规则 : 不管真值Y时正数还是负数,求补的方法都是将[Y]补 可见:求补时,从[Y]补的最低位开始向高位扫描,见到第 连同符号位在内各位变反, 末位加1. 一个"1",包括这个"1"的各位不变,其余各位变反 例如:[y]补=1.1010,则环冗余校验码(CRC) CRC
n位数据位和r位校验位只有1位出错,共有n+r种情况, (1) 纠正一位错所需的校验码位数r 加上没有错的一种情况,共有n+r+1种情况,而r位二进 设待编码的信息有效位数为n,则r应满足: 制的编码数为2r,因此 2r≥n+r+1 即 r>log2n n r 1 2 2~4 3 5~11 12~26 4 5
计算机组成原理第四版第二章
+ [y]补 0. 0 1 0 1 [x+y]补 0. 1 1 1 0
所以x+y=+0.1110
Back
第二章 运算方法和运算器
B 补码减法
➢ 公式:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
➢ 举例
已知 x=+0.1101 , y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110 ,[-y]补=1.1010 [x]补 0. 1 1 0 1 + [-y]补 1. 1 0 1 0 [x-y]补 1 0. 0 1 1 1
最大正数,称为“上溢” 或“正溢出”
两个负数相加,结果 小于机器所能表示的最
小负数,称为“下溢” 或“负溢出”
判断方法
举例说明
Back
第二章 运算方法和运算器
溢出检测方法常用以下两种方法:
1.采用双符号位(变形补码)判断方法:
变形补码: “00”表示正数、“11”表负数,两符号位同时参加运算, 运算结果符号出现01或10表明溢出。
发生溢出;而在浮点运算时,运算结果超出尾数的表示范围 却并不一定溢出,只有当阶码也超出所能表示的范围时,才 发生溢出。
Back
3.十进制数串的表示方法
➢ 目前,大多数通用性较强的计算机都能直接 处理十进制形式表示的数据。十进制数串 在计算机内主要有两种表示形式:
➢ 1.字符串形式 ➢ 2.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
白中英计算机组成原理第2章_运算方法与运算器 (1)解析
定点整数的表示范围
纯整数的表示范围为(x1x2…xn各位均为0时 最小;各位均为1时最大,x0为符号位) 0≤|x|≤ 2n -1
例如:n=8,最大值编码:11111111 表示: 11111111=100000000-1 =28-1
目前计算机中多采用定点纯整数表示,因此 将定点数表示的运算简称为整数运算
第二章 运算方法和运算器
重点:数据表示 简介:运算方法和运算器 补充:数字逻辑
二进制数
便于计算机存储及物理实现 特点:逢二进一,由0和1两个数码组成,基数
为2,各个位权以2k表示 二进制数:
anan-1…a1a0.b1b2…bm= an×2n+an-1×2n-1+…+a1×21+a0×20 +b1×2-1+b2×2-2+…+bm×2-m 其中ai,bj非0即1
定点小数的表示范围
纯小数的表示范围为(x1x2…xn各位均为0时 最小;各位均为1时最大,x0为符号位) 0≤|x|≤1-2-n
例如,n=8,最大值编码:0.11111111 表示: 0.11111111 =1.0-0.00000001 =1-2-8
非常大和非常小的数
如何用定点数来表示非常大(e.g. 2×10+33 )的数和非常小(e.g. 9×10-28 )的数?
00111010B=3AH,F2H=11110010B
十六进制数的加减运算类似十进制
•逢16进位1,借1当16
23D9H+94BEH=B897H
A59FH-62B8H=42E7H
计算机组成原理
7
真值和机器数
真值:现实中真实的数值 机器数:计算机中用0和1数码组合表达的数值 定点数:固定小数点的位置表达数值的机器数
一个R进制数N可以写成 N=Re×M
经典:计算机组成原理-第2章-运算方法和运算器
第二章:运算方法和运算器
2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器
其中尾数域所表示的值是1.M。因为规格化的浮点数的尾数域最
左位(最高有效位)总是1。故这一位经常不予存储,而认为隐藏
在小数点的左边。
64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏
移值是1023。因此规格化的64位浮点数x的真值为:
x=(-1)s ×(1.M) × 2E-1023 e=E-1023
[X]反=1.x1x2...xn 对于0,有[+0]反=[-0]反之分:
[+0]反=0.00...0
[-0]反=1.11...1
我们比较反码与补码的公式
[X]反=2-2-n+X
[X]补=2+X
可得到 [X]补=[X]反+2-n
8
若要一个负数变补码,其方法是符号位置1,其余各位0变1,1变 0,然后在最末位(2-n)上加1。
10100.10011=1.010010011*24 e=4 于是得到:S=0,E=4+127=131=10000011, M=010010011 最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)164
计算机组成原理-第2周下-定点加减法运算
[y]补= 1 1 0 1 1 10 0110
所以
x+y=+0110
6
例: x=-11001 ,y=-00011,求 x+y=?
解:[x]补=1 0 0 1 1 1, [y]补=1 1 1 1 0 1
[x]补=1 0 0 1 1 1 +
丢掉
[y]补=1 1 1 1 0 1 11 0 01 0 0 由以上三例看到,补码加法的特点: (1) 符号位要作为数的一部分一 起参加运算。 (2) 要在模2n+1的意义下相加, 即超过2n+1的进位要丢掉!
13
[例16] x=-1101, y=-1011,求x+y。 [解:] [x]补=10011 [y]补=10101 [x]补 + [y]补 [x+y]补 10011 10101 01000
两个负数相加的结果成为正数,这同样是错误的。 之所以发生错误,是因为运算结果产生了溢出。两个正数相 加,结果大于机器所能表示的最大正数,称为正溢出。而两个负数 相加,结果小于机器所能表示的最小负数,称为负溢出。
21
常见的门电路
1.与门 真值表表示的两输入端与门如表2-1所示,逻辑符号如图 2-1所示。从与门的逻辑关系上可以看出,如果输入端A 作为控制端,则A的值将会决定输入端B的值是否能被输 出到端口Y。
Y AB
A
B
Y=AB
0 0 0 0 1 0 1 0 0 1 1 1 表2-1 两输入端与门的真值表
27
5.或非门
真值表表示的两输入端或非门如表2-5所示,逻辑符号如 图2-5所示。可以利用或非门的输入端A来控制输入端B。 当A=0时,(输入信号被反相输出);当A=1时,则不管 B的值是什么,Y都为0。
计算机组成原理(第四版)复习重点及例子
计算机组成原理复习重点及要求第二章运算方法和运算器1.定点数的表示方法:掌握定点数的概念;掌握定点数的机器码表示(主要是原码、补码和移码)。
2.定点数的运算方法:掌握补码加减运算方法、溢出概念及检测方法。
3.定点运算器:掌握全加器的功能;掌握行波进位加减法器的结构及工作原理;理解多功能ALU的结构原理;掌握定点运算器的基本结构及其特点(包括单总线结构、双总线结构和三总线结构)。
4.浮点数的表示方法:掌握浮点数的概念;掌握浮点数表示的一般格式;掌握浮点数规格化表示的方法及其意义。
5.浮点数的运算方法:掌握浮点数的加减运算方法及步骤。
第三章存储系统1.理解多级存储器体系结构的意义及各级存储器的主要作用。
2.SRAM存储器:理解存储器芯片的逻辑结构(包括存储阵列、双译码方式、读写控制等);掌握SRAM存储器芯片的外部引脚特征(包括地址、数据、控制引脚);掌握SRAM存储器容量扩充方法(包括位扩展、字扩展、字位同时扩展,以及与CPU 的连接等)。
3.DRAM存储器:掌握DRAM存储器的存储原理;理解DRAM存储器的刷新问题及刷新方法;掌握DRAM存储器芯片的外部引脚特征。
4.ROM存储器:掌握ROM存储器的种类;掌握EPROM的擦、写特点。
5.Cache存储器:掌握cache存储器的作用及工作原理,理解程序局部性原理的意义;掌握cache-主存系统性能指标的计算方法(包括命中率、平均访问时间及效率);掌握各种主存与cache的地址映射方式及其特点,理解各种映射方式下的主存与cache的地址格式及其各字段的含义;理解替换策略对cache存储器的意义。
6.虚拟存储器:掌握虚拟存储器的作用及相关概念;掌握各式虚拟存储器的工作原理及特点(包括页式、段式和段页式虚拟存储器);掌握各式虚拟存储器的地址变换过程,掌握各自的虚地址格式及其各字段的含义。
第四章指令系统1.指令系统的基本概念:掌握机器指令、指令系统、系列机、CISC、RISC等概念。
计算机组成原理习题 第二章运算方法和运算器
第二章习题一、填空题:1.一个定点数由A.______和B.______两部分组成,根据小数点位置不同,定点数有C.______和D.______两种表示方法。
2.数的真值变成机器码可采用A. ______表示法,B. ______表示法,C.______表示法,移码表示法。
3.若[ x1 ]补 = 11001100, [x2 ]原 = 1.0110 ,则数x1和x2的十进制数真值分别是A.______和B.______。
4.移码表示法主要用于表示浮点数的A.______码,以利于比较两个B.______数的大小和进行C.______操作。
5.按IEEE754标准,一个浮点数由A.___, 阶码E, 尾数M三个域组成。
其中阶码E 的值等于指数的B.___, 加上一个固定C.___。
6.若浮点数格式中阶码的基数已定,且尾数采用规格化表示法,则浮点数的表示范围取决于A. 的位数,而精度取决于B. 的位数。
二、选择题:1.(2000)10化成十六进制数是______。
A.(7CD)16 B.(7D0)16 C.(7E0)16 D.(7FO)162.在小型或微型计算机里,普遍采用的字符编码是______。
A. BCD码B. 16进制C. 格雷码D. ASCⅡ码3.下列有关运算器的描述中,______是正确的。
A.只做算术运算,不做逻辑运算B. 只做加法C.能暂时存放运算结果D. 既做算术运算,又做逻辑运算4.某机字长32位。
其中1位符号位,31位表示尾数。
若用定点整数表示,则最大正整数为______。
A. +(231-1)B. +(230-1)C. +(231+1)D. +(230+1)5.至今为止,计算机中的所有信息仍以二进制方式表示的理由是______。
A.节约元件 B. 运算速度快 C. 物理器件性能决定 D. 信息处理方便6.某机字长32位,其中1位符号位,31位表示尾数。
若用定点整数表示,则最小负整数为______。
浮点数计算方法ppt
2n>x≥0 0≥x>-2n
对于0,原码机器中往往有“+0”、“-0” 之分,故有两种形式:
[+0]原 = 0.000...0 [ -0]原 = 1.000...0
采用原码表示法简单易懂,但它的最大 缺点是加法运算复杂。这是因为,当两数相 加时,如果是同号则数值相加;如果是异号, 则要进行减法。而在进行减法时还要比较绝 对值的大小,然后大数减去小数,最后还要 给结果选择符号。为了解决这些矛盾,人们 找到了补码表示法。
2. 补码表示法
我们先以钟表对时为例说明补码的概念。
假设现在的标准时间为4点正; 而有一只表已
经7点了,为了校准时间,可以采用两种方法:
一是将时针退 7-4=3 格;一是将时针向前拨12-
3=9格。这两种方法都能对准到4点,由此可以
看出,减3和加9是等价的,就是说9是(-3)对12
的补码,可以用数学公式表示:
浮点数所表示的范围远比定点数大。一台 计算机中究竟采用定点表示还是浮点表示,要根 据计算机的使用条件来确定。一般在高档微机 以上的计算机中同时采用定点、浮点表示,由使 用者进行选择,而单片机中多采用定点表示。
[例1] 若浮点数x的754标准存储格式为
(41360000)16,求其浮点数的十进制数值。
4. 移码表示法
移码通常用于表示浮点数的阶码。由于
阶码是个n位的整数,假定定点整数移码形式
为 x0x1x2…xn时,对定点整数移码的传
统定义是:
[x]移=2n+x
2n>x≥-2n
若阶码数值部分为5位,以x表示真值,
则: [x]移=25+x
25>x≥- 25
小结:上面的数据四种机器表示法中,移码 表示法主要用于表示浮点数的阶码。由于补 码表示对加减法运算十分方便,因此目前机 器中广泛采用补码表示法。在这类机器中, 数用补码表示,补码存储,补码运算。也有 些机器,数用原码进行存储和传送,运算时 改用补码。还有些机器在做加减法时用补码 运算,在做乘除法时用原码运算。
第二章 计算方法和运算器(六)
四川警安职业学院标准教案纸m+∑k=位×5位不带符号的阵列乘法器逻辑电路图图2-10为5 位×5 位不带符号的阵列乘法器的逻辑电路图,其中FA是我们前面讲过的5位×5位一位全加器,FA的斜线方向为进位输出,竖线方向为而所有被加数项的排列和前述A×B = P 乘法过程中的被加数矩阵相同。
图中阵列中最后一行构成了一位行波进位加法器,其时间延迟为(n - 1)2T。
当然,为了缩短加法时间,最下一行的行波进位加法器也可以用先行进位加法器来代替。
这种乘法器要实现n 位×n 位时,需要n ( n-1) 个全加器和n2个“与”门。
该乘法器的总的乘法时间可以估算如下:为“与门”的传输延迟时间,T f为全加器(FA)的进位传输延迟时间,假定用2级“与非”逻辑或者图2-11 对2求补器电路图。
这样,a i 以右的每一个输入位,包括a i自己,都保持不变,而i 以左的每一个输入位都求。
鉴于此,横向链式线路中的第i扫描级的输出C i为1的条件是:第级链式输入(即第i - 1级的输出C i - 1)C i - 1 = 1。
另外,最右端的起始链式输入C2-12 (n + 1)位×(n + 1)位带求补器的阵列乘法器逻辑方框图示出了(n + 1)位×(n + 1)位带求补器的阵列乘法器逻辑方框图。
通常,的乘法器又称为符号求补的阵列乘法器。
在这种逻辑结构中,共使用了三个求补器。
其中两个算前求补器的A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。
而算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变换成带符号的数。
a0和B = b n b n-1…b1b0均为用定点表示的(n + 1)位带符号整数。
由图A和B的码值输送给n位×n位不带符号的阵列乘法器,并由此产生A ×B = P = p2n-1…p1p0。
@@运算方法和运算器解析
2018/10/15
1
第2章主要内容
数据的表示法
数的表示 字符的表示
数据的运算法
加减法运算 乘除法运算
运算的电路实现
2018/10/15 2
补充内容(进制之间的转换)
十进制——二进制
如 (20.59375)10=(10100.10011)2 ( 100.11011 )2=(4.84375)10
2018/10/15
15
机器数的定点表示法
(1)定点表示法: 定点数是小数点固定在某一位置的数.可看成所有的 数都采用同样的阶码aj( 如 j=0, a0=1 ), aj可略去不 表示,也叫比例因子.因此,定点数可简化为: Sf (数符)和 S(尾数) 理论上讲,比例因子可任意选择,但一般把尾数表示成 纯小数或纯整数.比例因子的选择有以下要求: (2)比例因子的选择: 不能太大:会丢失有效数字,影响运算精度. 当比例因子为21时,S=0.011 当比例因子为22时,S=0.001,损失1位 若数N=0.11 当比例因子为23时,S=0.000,损失2位 不能太小:可能使数超过机器允许的范围. 如:0111+0101=1100,正数相加,变成了负数.
原码表示法
N+1位原码: x0x1x2 … xn [X]原=符号位+|X| 定点整数: [x]原=x x0 [x]原=2n-x= 2n+|x| -2n<x≤0 定点小数: [x]原=x 1>x 0 [x]原=1-x=1+|x| -1<x≤0
2018/10/15 8
反码表示法
不管是定点整数或定点小数
第二章运算方法和运算器
第⼆章运算⽅法和运算器第⼆章运算⽅法和运算器⼀、选择题1.在机器数中,(B)的零的表⽰形式是唯⼀的。
A.原码B.补码C.反码D.原码和反码2.计算机系统中采⽤补码运算的⽬的是为了(C)。
A.与⼿⼯运算⽅式保持⼀致B.提⾼运算速度C.简化计算机的设计D.提⾼运算的精度3.假定下列字符码中有奇偶校验位,但没有数据错误,采⽤偶校验的字符码是(D)。
A.11001011B.11010110C.11000001D.110010014.若某数X的真值为-0.1010,在计算机中该数表⽰为1.0110,则该数所⽤的编码⽅法是(B)码。
A.原B.补C.反D.移5.在浮点数原码运算时,判定结果为规格化数的条件是(D)。
A.阶的符号位与尾数的符号位不同B.尾数的符号位与最⾼数值位相同C.尾数的符号位与最⾼数值位不同D.尾数的最⾼数值位为16.运算器虽有许多部件组成,但核⼼部分是(B)。
A.数据总线B.算术逻辑运算单元C.多路开关D.通⽤寄存器7.下列说法中正确的是(C)。
A.采⽤变形补码进⾏加减法运算可以避免溢出B.只有定点数运算才有可能溢出,浮点数运算不会产⽣溢出C.只有带符号数的运算才有可能产⽣溢出D.只有将两个正数相加时才有可能产⽣溢出8.下溢指的是(B)。
A.运算结果的绝对值⼩于机器所能表⽰的最⼩绝对值B.运算的结果⼩于机器所能表⽰的最⼩负数C.运算的结果⼩于机器所能表⽰的最⼩正数D.运算结果的最低有效位产⽣的错误⼆、填空题1.⼀个定点数由(符号位)和(数值域)两部分组成。
根据⼩数点的位置不同,定点数有(纯⼩数)和(纯整数)两种表⽰⽅法。
2.按IEEE754标准,⼀个浮点数由(符号位)S、阶码E,尾数M三个域组成。
其中阶码E的值等于指数的(真值e)加上⼀个固定的(偏移值)。
3.对阶时,使(⼩)阶向(⼤)阶看齐,使⼩阶的尾数向(右)移位,每(右)移⼀位,其阶码加1,直到两数的阶码相等为⽌。
4.现代计算机的运算器⼀般通过总线结构来组织.按其总线数不同,⼤体有(单总线结构),(双总线结构)和(三总线结构)三种形式。
计算机组成原理前3章课后习题参考答案-
白中英第五版计算机组成原理课后习题参考答案第一章计算机系统概述4、冯•诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?答:冯•诺依曼型计算机的主要设计思想是存储程序和程序控制,其中存储程序是指将程序和数据事先存放到存储器中,而程序控制是指控制器依据存储的程序来控制全机协调地完成计算任务。
总体来讲,存储程序并按地址顺序执行,这就是冯•诺依曼型计算机的主要设计思想。
5、什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?答:见教材P8和P10。
7、指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?答:见教材P10。
第二章运算方法和运算器1、写出下列各整数的原码、反码、补码表示(用8位二进制数)。
3、有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示,尾数23位,用补码表示,基数为2,请写出:(1)最大数的二进制表示阶码用移码表示,题中并未说明具体偏移量,故此处按照移码的定义,即采用偏移量为27=128,则此时阶码E的表示范围为0000 0000~1111 1111,即0~255,则在上述条件下,浮点数为最大数的条件如下:所以最大数的二进制表示为:0 1111 1111 1111 1111 1111 1111 1111 1111 111对应十进制真值为:+(1-2-23)×2127(2)最小数的二进制表示浮点数为最小数的条件如下:所以最小数的二进制表示为:1 1111 1111 0000 0000 0000 0000 0000 000对应十进制真值为:-1×2127(3)规格化数所表示数的范围规格化要求尾数若为补码表示,则符号位和最高有效位符号必须不同。
(A)浮点数为最大正数的条件如下:所以最大正数的二进制表示为:0 1111 1111 1111 1111 1111 1111 1111 1111 111对应十进制真值为:+(1-2-23)×2127(B)浮点数为最小正数的条件如下:所以最小正数的二进制表示为:0 0000 0000 1000 0000 0000 0000 0000 000对应十进制真值为:+2-1×2-128=+2-129(C)浮点数为最大负数的条件如下:所以最大负数的二进制表示为:0 0000 0000 0111 1111 1111 1111 1111 111对应十进制真值为:-(2-1+2-23)×2-128(D)浮点数为最小负数的条件如下:所以最小负数的二进制表示为:0 0000 0000 0000 0000 0000 0000 0000 000对应十进制真值为:-1×2127所以,规格化数所表示数的范围如下:正数+2-129~+(1-2-23)×2127负数-2127 ~-(2-1+2-23)×2-1284、将下列十进制数表示成IEEE754标准的32位浮点规格化数。
白中英计算机组成原理第2章-运算方法与运算器
2024年7月16日星期二
5
2.1 数据与文字的表示方法
2.1.1 数据格式 2.1.2 数的机器码表示 2.1.1 数据格式 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码
2024年7月16日星期二
6
2.1.1 数据格式——定点数
2024年7月16日星期二
3
2.0 数据的类型(1/2)
按数制分:
十进制:在微机中直接运算困难;
二进制:占存储空间少,硬件上易于实现,易于运算;
十六进制:方便观察和使用;
二-十进制:4位二进制数表示1位十进制数,转换简单。 按数据格式分:
真值:没有经过编码的直观数据表示方式,其值可带正负号, 任何数制均可;
-8 1000 0000 -7 1001 0001 -6 1010 0010 …… …… ……
可以比较直观地判断两个数据的大小; 0 0000 1000
浮点数运算时,容易进行对阶操作;
+1 0001 1001
表示浮点数阶码时,容易判断是否下溢; …… …… ……
当阶码为全0时,浮点数下溢。
+7 0111 1111
优点 与真值对应关系简单;
缺点 参与运算复杂,需要将数值位与符号位分开考虑。
2024年7月16日星期二
11
补码表示法的引入(1/3)
要将指向5点的时钟调整到3点整,应如何处理?
5-2=3
2024年7月16日星期二
5+10=3(12自动 丢失。12就是模)
12
补码表示法的引入(2/3)
继续推导: 5-2=5+10(MOD 12) 5+(-2)=5+10(MOD 12) -2=10(MOD 12)
第二章运算方法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)
第⼆章运算⽅法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)这⼀章,主要介绍了好多种计算⽅法。
下⾯,写⼀点⾃⼰对于有些计算(⼿写计算过程)的见解。
1.原码、反码、补码 原码:相信⼤家都会写,符号位在前⼆进制数值在后,凑够位数即可。
反码:原码符号位不变,其他位全部取反。
补码:反码末位加⼀ / 原码符号位不变,从右往左数第⼀个1及其右边的各位不变,其余位全部取反2.IEEE754的转换 IEEE754标准32/64浮点规格化数形式:X = (-1)S * 1.M * 2E-127(其中,S-阶符,M-尾数,E-阶码) 32位的规格化浮点数:SEM00000...(即⼆进制SEM后⾯补0,写够32位) 以27/64为例: ①化形式:27/64 = + (1.1011)2 * 2-2 ②找SEM:S=0,M=1011,E=(125)10=(01111101)2 ③写结果:00111110 11011000 00000000 00000000 = (3ED800)163.变形补码计算加减法 变形补码没什么稀奇,不过是符号位变成两位⽽已(00为正,11为负),它的价值在于可以作溢出判断(结果00//11表⽰未溢出,01-上溢(所谓上溢符号位还是0),11-下溢(下溢符号位还是1)),就正常求补码(符号位double),放在⼀起加和,做溢出判断,最后别忘了把补码再转换回原码作为最终结果。
x+y: 以x=11011, y=00011为例: ①求补:[11011]补=0011011, [00011]补=0000011 ②加和:011011 + 000011 = 0011110;符号位00,未溢出,故x+y=11110 x-y:(这⾥把减法化为加法,即 x-y = x+(-y),另外[-y]补 = [y]补 从右往左数第⼀个1及其右边的各位不变,其余位全部取反,这次连带符号位也要取反) 以x=11011, y=-11111为例: ①求补:[11011]补=0011011, [-11111]补=1100001,[-y]补=0011111 ②加和:[x]补+[-y]补 = 0011011 + 0011111 = 0111010;符号位01,正溢(上溢);故x-y=+1110104.浮点数加减法(我⽤的是补码计算) 这⾥⾯涉及的东西⽐较多,每⼀步都需要仔细,错⼀步结果就错了。
计算机组成原理第2章5-定点原码并行乘法运算
第二章 运算方法和运算器
n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,而FA只有 两个输入端,所以需要改造 方法一:硬件实现方法(串行的“加法和移位”),硬件结构简单,速度太慢(已经淘 汰). 方法二:阵列乘法器
信 息 科 学 与 工 程 学 院3
与 工 程 学 院7
第二章 运算方法和运算器
时间延迟:
这种乘法器要实现 n 位 × n 位时,需要 n ( n-1) 个全加器和 2n 个“与” 门。该乘法器的总的乘法时间可以估算如下 令Ta为“与门”的传输延迟时间,Tf为全加器(FA)的进位传输延迟时间,假 定用2级“与非”逻辑来实现FA的进位链功能,那么就有:
第二章 运算方法和运算器
不带符号的阵列乘法器
设有两个不带符号的二进制整数: A=am-1…a1a0 B=bn-1…b1b0 在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P:
P=A×B=pm+n-1…p1p0 乘积P 的数值为:
信 息 科 学 与 工 程 学 院4
第二章 运算方法和运算器
信 息 科 学 与 工 程 学 院8
第二章 运算方法和运算器
带符号的阵列乘法器
阵列乘法器只能处理原码的乘法运算,但在计算机中数据经常采用补码表示, 为实现补码乘法运算,就需要采用带符号的阵列乘法器。 带符号的阵列乘法器可借助无符号的阵列乘法器加上求补电路实现。
算前求补+乘法器+算后求补
信 息 科 学 与 工 程 学 院9
第二章 运算方法和运算器
在对2求补时,令A = an…a1a0是给定的(n + 1)位带符号的数,要求确定它的补 码形式。进行求补的方法就是采用按位扫描技术,从数的最右端a0开始,由右向左 进行扫描,直到找到第一个“1”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
补码的表示范围
n+1位补码整数: 2n -1 ___ -2n n+1 位补码小数: 1- 2-n ___ - 1 若整数补码的位数是8位,
其表示的最大值、最小值: -128 -- 127
若小数补码的位数是8位时,则该数表示的最大值、最小值: - 1 __ 1- 2-7 即 -1 — 127/128
当X<0时
X + M = M - | X | < M, [x]补= X + M (Mod M)
(2)定点小数
若定点小数的补码形式为 x0. x1 x2 · xn,则补码表示的定 · · 义是: x 0x<1 -1 x 0 (mod 2)
[x]补 =
2 + x = 2 – |x|
例: x = + 0.1011, 则 [x]补= 0.1011 x = -0.1011, 则 [x]补= 10 + x = 10.0000-0.1011= 1.0101 对于0,[+0]补=[-0]补=0.0000 (mod 2) 注意:0的补码表示只有一种形式。
2、补码表示法
(1)模的概念 假设两位十进制数计算: • 77 - 38 = ? • 77 + 62 = 139 77 - 38 = 77 + 62 = 39 (mod 100) 由此可以看出,减38和加62是等价的,前提是说对 模为100是正确的。这个100在数学上称为模数
模的概念
计算机中运算器、寄存器、计数器都有一定的位数,不 可能容纳无限大的任意数。当运算结果超出实际的最大表 示范围,就会发生溢出,此时所产生的溢出量就是模 (module)。 因此,可以把模定义为一个计量器的容量。如:一个4位 的计数器,它的计数值为0--15。当计数器计满15之后再加 1,这个计数器就发生溢出,其溢出量为16,也就是模等于 16。
复习
浮点数的表示方法:
32位浮点数
31 30 S
23 22 E M
0
• X=(-1)s × (1.M) × 2E-127
复习
补码表示:
• 任意一个数X的补码记为[x]补, • [x]补= X + M (Mod M)
定点小数:
x [x]补 = 2 + x = 2 – |x| 0x<1 -1 x 0 (mod 2)
(4)特点
补码最高一位为符号位,0正1负;
补码零有唯一编码;
补码能很好用于加减运算。 补码满足 [-x]补+ [x]补=0 [+7]补=00111 [-7]补=11001 最高位参与演算,与其它位一样对待。
问题1: -1如何用补码表示?
27+1+(-1)=255=11 111 111
[3] 浮点数补码定义
32位浮点数 64位浮点数
31 30 S 63 S 62
23 22 E E M 52 51
0 0 M
问题提出:1101.101= 0.1101101 •24 = 1.101101 •23 =11011101 •2-3 浮点数规格化表示(尾数): 绝对值为>=0.5(0除外)。形式为:0.1…,最高位1视为隐藏在小 数点左侧,提高数据表示精度。 指数表示:采用移码方式(加上一个固定的偏移值)。 一个规格化的32位浮点数x的真值为: X=(-1)s × (1.M) × 2 E-127 e=E - 127 机器零:当一个浮点的尾数为0,不论阶码为何值;或当阶码 的值比阶码的最小值还小,不论尾数为何值,视为机器零
(3)定点整数
若定点整数的补码形式为 x0 x1 x2 · xn,则补码的定义是: · ·
[x]补 =
x 2n+1 + x = 2n+1 – |x|
0 x < 2n -2n x 0
(mod 2n+1)
例: x = +0111, 则 [x]补=00111 x = -0111, 则 [x]补=24+1 – |-0111|=100000 – 0111=11001
定点整数: x [x]补 = 2n+1 + x = 2n+1 – |x|
0 x < 2n -2n x 0
(mod 2n+1)
复习
定点小数反码定义
3. 十进制数串的表示方法
(1)字符串的形式:一个字节存放一个十进制的数位 或符号位。 为了指明这样一个数,需要给出该数在主存中的起 始地址和位数(串的长度)。主要用于非数值计算。 (2)压缩的十进制数串形式:一个字节存放两个十进 制的数位。 既节省存储空间,又便于直接完成算术运算,是广 泛采用的较为理想的方法。
4. 移码表示法
设x=x0 x1 …. xn,则移码的定义:
[x]移= 2n +x
ቤተ መጻሕፍቲ ባይዱ
2n >x≥-2n
移码是把符号位隐藏在数据中,实际上数据的第一位是符号位; 1表示正整数,0表示负整数,和原码、反码及补码的符号相反。
例如:x=+10101 [x]移= 25+x =1,10101 x=-10101 [x]移=25+x=25-10101=0,01011
普遍采用的字符系统:七单位的ASCII码(美国 国家信息交换标准字符码— American Standard Code for Interchange Information)。 其包括95个打印字符:10个十进制数,26个英文 字母(大小写),通用的运算符和标点符号等。33个 控制码:用于控制某些外围设备的工作特性和计算机 软件的运行情况。 字符串:连续的一串字符,通常他们占用主存中 连续的多个字节,每个字节存一个字符。
• 定点小数的溢出量为2(将符号位也当作数来对
待),即以2为模; • 一个字长为n+1位的定点整数的溢出量为2 n+1, 即以2n+1为模。
定义:
任意一个数X的补码记为[x]补, [x]补= X + M (Mod M) 当X>0时 X + M >M的部分 自动丢失, [x]补= X (Mod M)
第二章 运算方法和运算器
1、数据与文字的表示方法;
2、定点运算方法,定点运算器组成;
3、浮点运算方法,浮点运算器组成;
2.1 数据与文字的表示方法
2.1.1
数据格式
选择数的表示时要考虑的因素: 要表示的数的类型:决定表示方式 可能遇到的数值范围:确定存储、处理能力 数值的精确度:处理能力相关 数据的存储、处理所需的硬件代价:造价高低
...
xn-1
xn
n位数码位 纯小数 在x0 和x1 之间
0 ≤ |x|≤1-2-n
纯整数 在xn之后
0 ≤ |x|≤2n-1
2 浮点数的表示方法
特点:小数点位置不固定(浮动)。 实质:把一个数的有效数字和范围在一个存储单元中分别 予以表示。 653.12=10 3 × 0.65312 对于任意进制数 N可表示:N=Re•m(科学计数法) 其中m是浮点数的尾数(纯小数、有效数字位数,精度), e称 为指数,为阶码(纯整数,小数点位置,范围) ,比例因子R 为基数。在计算机中常为2、8、16。 一个机器浮点数应当由阶码、尾数和符号位组成(基数固定) Es 阶符 E1……Em 阶码 Ms 数符 M1……Mn 尾数
阶码部分按照定点整数的方法进行编码 尾数部分按照定点小数的方法进行编码
[4] 补码表示的特点
①与真值转换:符号位: 正数--“0”,负数--“1” 其它数据位:正数--不变,负数--模减绝对值 (按位取反后在末尾上加1) ②0的补码唯一: [+0]补=00 000 000,[-0]补=00 000 000
⑥补码最大的优点就是将减法运算转换成加法运算 [X+Y]补= [X]补+[Y]补 [X - Y]补 = [X]补+ [-Y]补 例如: X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长n=5位 [X]补+ [-Y]补 =01011+11011=100110=00110=(6)10 注: 最高1位已经超过字长故应丢掉 [X - Y]补= [0110]补=00110
x
0 ≤x <2n
(2n+1-1)+x -2n < x ≤0
[3] 浮点数反码定义 阶码部分按照定点整数的方法进行编码 尾数部分按照定点小数的方法进行编码
[4] 反码表示的特点
※与真值转换关系:符号位:正数--“0”,负数-“1” 其它数据位:按位求反 ※[+0]反= 00000000 ,[-0]反= 11111111 ※补码和反码公式比较: [x]反= (2-2-n)+x [x]补= 2+x 得到: [x]补= [x]反+ 2-n [x]补= [x]反+ 1
2.1.2 数的机器码表示
1、原码表示法
[1] 定点小数原码定义 若x=x0. x1 …. xn ,[x]原=
x
1-x=1+|x|
0≤x < 1
-1<x ≤ 0
例:x=+0.1101,则[x]原=0.1101 x=-0.1101,则[x]原=1.1101
[2] 定点整数原码定义 若x=x0 x1 …. xn ,[x]原= x 2n-x=2n+|x| 0 ≤ x < 2n -2n < x ≤ 0
③已知[x]补,求[x]原的方法 对于正数: [x]原= [x]补
对于负数: [x]原= [[x]补]补
④已知[x]补,求[x/2]补, [x/4]补的方法 对[x]补连同符号位一起右移一位或二位,左 边补一位或二位与原符号位相同的位。 ⑤已知[x]补,求[2x]补, [4x]补的方法 对[x]补连同符号位一起左移一位或二位,右边补 一位或二位“0”。 例: [x]补=0.00101011 则[2x]补= 0.01010110