计算机组成原理第四版第二章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[x]补=0.1001, [y]补=0.0101 [x]补 0. 1 0 0 1
+ [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.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。
Back
2.浮点数的表示方法
浮点表示法: ➢
与科学计数法相似,任意一个R进制数N,总可以写
则有商q=x/y ,其原码为 [q]原=(xf⊕yf). (x1x2···xn/y1y2···yn)
商的符号运算qf=xf ⊕ yf与原码乘法一样,用模2求和得到。
Next Back
方法1:原码加减交替法规则及其流程图
当余数为正时,商“1”,余数左移一位,减除数;
规则
当余数为负时,商“0”,余数左移一位。加除数。
溢出实现: V= Cn ⊕ Cf
Back
2.3 定点乘法运算
➢ 2.3.1原码乘法 ➢ 1. 定点乘法原理 ➢ 2. 不带符号的阵列乘法器 ➢ 3. 带符号的原码阵列乘法器 ➢ 2.3.2 补码乘法 ➢ 1.补码间接乘法 ➢ 2.补码直接乘法
Back
1. 定点乘法原理
设:被乘数 [x]原=xf.x1x2 · · ·xn 乘数[y]原 =yf .y1y2 · · ·yn 则 :乘积
Back
➢ 字符串形式:一个字节存放一个十进制的 数位或符号位。为了指明这样一个数,需 要给出该数在主存中的起始地址和位数(串 的长度)。
➢ 压缩的十进制数串形式:一个字节存放两 个十进制的数位。它比前一种形式节省存 储空间,又便于直接完成十进制数的算术 运算,是广泛采用的较为理想的方法。
Back
➢ 字符串:是指连续的一串字符,通常方式下,它们占 用主存中连续的多个字节,每个字节存一个字符。 当主存字由2个或4个字节组成时,在同一个主存字 中,既可按从低位字节向高位字节的顺序存放字符 串的内容,也可按从高位字节向低位字节的次序顺 序存放字符串的内容。
Back
6.汉字表示法
➢ 汉字的输入码 ➢ 汉字内码 ➢ 汉字字模码 ➢ 这三种编码是计算机中用于输入、内
Back
补码
Back
移码
➢ 移码定义: ➢ 移码性质:
• 1. 最高位为符号位。 • 2. 0有唯一编码。 • 3. 保持了数据原有的大小顺序。 • 4. 移码只用于浮点数的阶码部分,
故只用于表示整数。
Back
5.字符与字符串的表示法
➢ 字符:目前国际上普遍采用的字符系统是七单位 的ASCII码(美国国家信息交换标准字符码)
①符号位单独运算,x0⊕y0=0+1=1
尾数部分算前求补器输出为: |x|=1111,|y|=1101
②计算过程:
③经算后求补器输出为00111101,加符号位1,得 [x·y]补=100111101
④补码二进制数真值是x·y=-1×28+1×25+1×24+1×23+1×22+1×20=(-195)10
[例17] 设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积x·y=?
[解:] 设最高位为符号位,则输入数据为
[x]原 =01111
[y]原 = 11101
①符号位单独考虑,算前求补级后 |x|=1111,|y|=1101
②计算过程:
③经算后求补级输出并加上乘积符号位1,则原码乘积值为111000011。
➢ (1.75)10=1.11×20 (IEEE规格化表示)

=0.111×21 (传统规格化表示)

=0.0111×22

=0.00111×23
➢ 规格化
➢ 机器零:当浮点数的尾数为 0,不论其阶码
为何值,或者当阶码的值遇到比它能表示
的最小值还小时,不管其尾数为何值,计 算机都把该浮点数看成零值,称为机器零
Back
1.补码间接乘法器
二进制对2求补器电路图:
Next
(N+1)* (N+1)位带求补级的阵列乘法器
两个算前求补器的作用是:将两个操作数A和B在被不带符号的乘法阵列(核心
部件)相乘以前,先变成正整数。而算后求补器的作用则是:当两个输入操作数的符号不
一致时,把运算结果变成带符号的数。
Next Back
➢ 1.手算方法 ➢ 2.原码除法原理 ➢ 3.举例 ➢ 4.逻辑实现
Back
2.4 定点除法运算
➢ 2.4.1手算方法及过程
Back
2.4 定点除法运算 2.4.2原码除法原理
两个原码数相除时,商的符号由两数的符号按位相加求得, 商的数值部分由两数的数值部分相除求得。
设有被除数x,其原码为[x]原=xf.x1x2···xn 除数y,其原码为[y]原=yf.y1y2···yn
Next
Back
原码一位除法——加减交替法举例
已知:x=0.1001,y=0.1011,用加减交替法x/y.
next
定点数与浮点数的比较
➢ 数值的表示范围:浮点表示法所能表示的数值范围将远远大 于定点表示法
➢ 精度:对于字长相同的定点数与浮点数来说,浮点数虽然扩 大了数的表示范围,但这是以降低精度为代价的,也就是数 轴上各点的排列更稀疏了
➢ 数的运算:浮点运算要比定点运算复杂 ➢ 溢出处理 :定点运算时,当运算结果超出数的表示范围,就
成N = M× R e
➢ 把一个数的有效数字和数的范围在计算机的一个
存储单元中分别予以表示,这种把数的范围和精
度分别表示的方法,数的小数点位置随比例因子
的不同而在一定范围内自由浮动。
为便于软件移植,按照 IEEE754 标准,32位浮点数和64位浮点数的标准格式为 :
next
➢ 同一个浮点数的表示方法不是唯一的,如:
1)若结果的符号为10表负溢出,说明运算结果为负数,其绝对值超出 能表示的最大数值(即结果小于机器所能表示的最小负数)。也称下溢〉
2)若结果的符号01表下溢出,说明运算结果为正数,其大于所能表示 的最大正数。也称上溢〉
溢出实现: V=Sf1⊕Sf2 2.利用进位值的判断方法:
判断规则是:两补码数进行加减运算(减法转化为加法)时,若最高 数值位有进位Cn而符号位无进位Cf时,发生正溢出。若最高数值位无进位 而符号位有进位时,发生负溢出。
所以 x-y=+0.0111 next
补充:移码的加减法
➢ [x + y]移=[x]移 + [y]补 同理
➢ [x - y]移=[x]移 + [-y]补
(mod 2n+1)
Back
C 溢出及其判断
定义:当定点数加减 运算
的结果超出定点数 所能表示的范围时 就会产生溢出。
两个正数相加,结果 大于机器所能表示的
十进制数验证: x×y=(+15)× (-13) = -195相等。
Back
2.并行直接补码乘法
补码与真值得转换公式: 定点补码整数[N]补=anan-1…a1a0,这里an是符号位。根据[N]补的符号, 补码数[N]补和真值N的关系可以表示成:
表达式合并成下面的统一形式:
Next
Back
一般化的全加器形式:
第二章 运算方法和运算器
2.1 数据与文字的表示方法 2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和运算器
Back
2.1 数据与文字的表示方法
➢ 选择计算机中数据的表示,依据:p16 ➢ 计算机中常用的数据表示格式有两种,一是定
常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器通 过把正权或负权加到输入/输出端,可以归纳出四类加法单元。 符号见P43表2.3: 0类全加器没有负权输入; 1类全加器有1个负权输入和2个正权输入; 依次类推。 对0类、3类全加器而言有:
S=/X/YZ+/XY/Z+X/Y/Z+XYZ C=XY+YZ+ZX 对1类、2类全加器,则有 S=/X/YZ+/XY/Z+X/Y/Z+XYZ C=XY+X/Z+Y/Z
部处理、输出三种不同用途的编码。
Back
2.2 定点加法、减法运算
A 补码加法 B 补码减法 C 溢出及其判断 D 基本的二进制加法/减法器 E 十进制加法器
Back
A 补码加法
第二章 运算方法和运算器
➢ 公式:
[x+y]补= [x]补+[y]补
➢ 举例
已知 x=+0.1001 , y=0.0101, 求x+y。 解:
点格式,二是浮点格式。
➢ 1. 定点数的表示方法
➢ 2. 浮点数的表示方法
➢ 3. 十进制数串表示法
➢ 4. 数的机器码表示
➢ 5. 字符与字符串的表示法 ➢ 6. 汉字表示法
Back
1.定点数的表示方法
➢ 定点表示:约定机器中所有数据的小数 点位置是固定不变的。通常将数据表示 成纯小数或纯整数。
流程图如下:
需要指出的是,在定点 小数除法运算时,为了 防止溢出,要求被除数 的绝对值小于除数的绝 对值,即|X|<|Y|,且除 数不能为0。另外,在原 码加减交替法中,当最 终余数为负数时,必须 恢复一次余数,使之变 为正余数,注意此时不 需要再左移了。
Back
2.4.3并行除法器--原码加减交替除法逻辑结构图
Next
2.不带符号的阵列乘法器 Back
举例1:5*5不带符号的阵列乘法器逻辑电路图
Next
Back
第二章 运算方法和运算器
举例2:已知两个不带符号的二进制整数A = 11011, B = 10101,求每一部分乘 积项aibj的值与p9p8……p0的值。 解:p34例19
Back
3.带符号的原码阵列乘法器
Next
3.直接补码阵列乘法器
设被乘数A和乘数B是两个5位的二进制补码数,即
如果我们用括号来标注负的被加项, 那么A和B相乘过程中所包含的操作步骤如下面 矩阵所示:
Next Back
举例: 例 已知 [x]补=01101 , [y]补=11011 求[x ·y]补。
解:计算过程如下:
Back
2.4 定点除法运算
4.数的机器码表示
➢ 原码 ➢ 反码 ➢ 补码 ➢ 移码
Back
原码
原码定义: 原码的性质: 1. 符号位+数的绝对值。 2. 0有两个编码。 3. 加减运算规则复杂,乘除运算规则简单。 4. 表示简单,易于和真值之间进行转换。
Back
反码
反码定义: 反码性质: • 1. 0有2个编码。 • 2. 现在计算机中,较少使用反码。
z=(xf⊕yf) .(0.x1x2 · · xn)*(0.y1y2 · · yn) 式中,xf为被乘数符号,yf为乘数符号。
乘积符号的运算法则是:同号相乘为正,异号相乘 为负。
Back
2.不带符号的阵列乘法原理
设有两个不带符号的二进制整数: A=am-1…a1a0 B=bn-1…b1b0 实现这个乘法过程所需要的操作和人们的习惯方法非常类似,如下计算过程:
④换算成二进制数真值是
x·y=( -11000011)2=(-195)10 ⑤十进制数验证:x×y = 15× (-13) = -195相等。
[例18] 设x=+15,y=-13,用带求补器的补码阵列乘法器求出乘积x·y=?
[解:] 设最高位为符号位,则输入数据用补码表示为
[x]补 =01111
[y]补 = 10011
相关文档
最新文档