计算机组成原理 第二章 运算方法和运算器讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用两个6位全先行进位部件级联组成的32位ALU
三、内部总线
••内单部向总 传线 送, 总外 线部 ,总 双线 向? 传送总E线许允
四、单、双、三总线结构的运算器
小结
ALU组成思想 函数发生器 先行进位 整体逻辑电路(三部分:函数,进位,全加) 先行进位电路74182 内部总线
1. 1 0 0 0 1 0 1 0 (11)
<4>规格化处理 尾数运算结果的符号位与最高数值位同值,应 执行左规处理,结果为1.00010101(1),阶码为 00 011。
<5>舍入处理:采用0舍1入法处理,则为1. 0 0 0 1 0 1 1 0
<6>判溢出 :阶码符号位为00,不溢出,故得最终结果为
2.3 定点乘法运算(从原码-补码)
一、原码并行乘法
用计算机如何计 算这样的阵列
定点原码乘法的运算规则:乘积的符号位由两数
的符号位按异或运算得到,而乘积的数值部分则是两个正
数相乘之积。P32(2.22)
例(列到黑板上,部分积是什么?)(注意位数)
1.手工与机器的差别:
解决: (1).串行N次加法-移位运算
补码乘法器 直接补码阵列乘法器 加减交替法(不恢复余数法) 可控加法/减法单元功能是怎样的?(P端的作
用?) 不恢复余数阵列除法器
2.5 定点运算器的组成
定点运算器中除ALU外还必须包含?
算术/逻辑运算单元、数据缓冲寄存器、 通用寄存器、多路转换器和数据总线等 逻辑构件
一、逻辑运算(请自学) 逻辑数:不带符号的二进制数
逻辑非(反):上横线 X 逻辑加(或):+ V X+Y 逻辑乘(与):^ . X.Y 逻辑异或(按位加):+
二、多功能算术/逻辑运算单元(ALU)
1.基本思想
有两个问题要解决: 1)函数发生器是什
么样的? 2)进位问题怎么办?
2.函数发生器的逻辑 (74LS181)
S0 s1 Yi 0 0 Ai 0 1 AiBi 1 0 AiBi 11 0
•对于用补码表示的尾数,(标志)若运算结果尾数的最高位 与符号位相同,这时应进行左规,一直到最高数值位与符号 位不同为止。
步骤中的细节问题(3)
舍入处理,什么情况下要舍入?对阶或右规时 简单舍入:0舍1入,恒置1 IEEE754标准:参考
步骤中的细节问题(4)-溢出处理
浮点数的溢出是以其阶码溢出表现出来的。
x+y=2011×(-0.11101010)
二、浮点乘法、除法运算
1.运算规则 浮点乘法运算的规则是 :乘积的尾数是
1-负号
例如:10001100、01100
(不同的约定)
一个n+1位数x X0 x1x2……xn-1xn 符号 量值(尾数)
如果X是纯小数,它的表示范围: -(1-2-n) <= x <=
如果是纯整数呢?
1-2-n
例:10011000100010
2.浮点表示方法
举例
任意一个十进制数N 任意一个R进制数N
计算机中定点数常用补码表示、存储、计算
4·移码 浮点数的阶码常用移码表示
定义:[ x]移=x+2n
2n >x>= -2n 得到的移码总位数是n+1
复习提问
请写出-1010的原码、反码、补码 请写出-1010的8位原码、反码、补码 请写出-1010的移码 请写出-1010的8位移码 请写出+101.011*2+11的规格化形式 一IEEE754标准32位浮点数的16进制值是
的符号位按异或运算得到,而商的数值部分则是两个正 数相除之商。
例23:X=0.101001,Y=
0.111,求X/Y。 n+1=4 注意各数的位
(用加减交替法)
数和大小 注意符号单提
加减交替法步骤:
出(Y=-0.111)
1 加[-y]补,k=1表示做加法的次数
2 结果为正,则商1,加[-y]补右移K位值
S(1) E(8)
M(23)
x
数符 阶码
尾数
X=(-1)s*(1.M)*2E-127 e=E-127
阶码
-126~+127
请阅读P18 的解释
请自学P18 的例1
3.十进制数串的表示方法 (1)如BCD码 (2)压缩的十进制数串形式
简单小结: 表示
X=+1001 X=-1001,变变看
二、数的机器码表示 (加符号位n位) 例5,6
复习:定点运算器的组成
ALU组成思想 函数发生器有哪几个控制端? 先行进位的思路,P和G 整体逻辑电路由几部分构成,M,Cn的作
用是什么? 先行进位电路74182(二级) 内部总线 单、双、三总线结构的特点
2.6 浮点运算方法和运算器
• 浮点加法、减法运算 浮点乘除法运算 浮点运算流水线
适用于原码乘 法,也适用于 间接的补码乘 法。不过在原 码乘法中,算 前求补和算后 求补都不需要。
二、直接补码并行乘法(补码的符号位 与数值同时参加运算,不需算前与算后求补)
先考虑如何将这两个补码化
1.补码与真值的转换公式
成真值(十进制)?
(01101)2 (10011)2
P37(2.25)(对照P21,2.9)
第二章 运算方法和运算器
•数据与文字的表示方法 •定点加、减、乘、除法运算,定点运算器 •浮点加、减、乘、除法运算,浮点运算器
例如:01000001表示什么? 2.1 数据与文字的表示方法
一、数据格式 考虑的因素:P16 数值型数据:定点、浮点 1.定点数的表示方法 原理上、纯小数、纯整数 符号位:0-正号
<1> 判0,x,y均不为零
<2> 求阶差并对阶 △E为-2,x的阶码小,
应使Mx右移两位,Ex加2, [x]浮=00 100,0.00110110(11)
<3> 尾数求和
0. 0 0 1 1 0 1 1 0 (11)
不溢出
+ 1. 0 1 0 1 0 1 0 0 ────────────────
注: [x]补和[-y]补是n位的
补码运算的特点:
• 符号位作为数的一部分参加运算
• 要在模()的意义下运算
二、溢出的概念与检测方法 P29 图2.2
溢出:运算结果超出了机器可表示的范围
举例15、16
正溢、负溢
结论P30
计算机内部怎么判断溢出?
1.采用双符号位的补码(变形补码), mod n+2 运算 例17、18 2.单符号位 V=Cf + C0
一、P63, 1. 3. 4.
二、写出1001110、0011011 两个数的偶校验编码和奇校验编 码。(将校验码加在前面)
例:11、12、
2.2 定点加法、减求补法码运的算负补再码,来1理3、解14
一、补码加法、减法
一下补码
公式: [x+y]补= [x]补+[y]补 (mod 2n+1)
[x-y]补 =[x]补-[y]补= [x]补+[-y]补 (mod 2n+1)
(2).由硬件实现并行乘法器
2.不带符号的阵列乘法器 二进制乘法中,m位的A与n位的B相 乘,结果P是m+n位的。
被乘数和乘数
产生部分积的与门
乘法阵列
乘法阵列
1.原码相乘
2.符号单独处进理位 和
3.带符号的阵列乘法器 (1)二进制对E用2求什补么器控
制合适?
E=1,求补 E=0,原值
(2)带求补级的阵列乘法器(带符号,间接补码)
请问:
计算机中的数据主要以( )码的形式存储、传输和 计算
补码的加、减运算均可化成( )法运算 补码的加、减运算均是在模( )的意义下进行的 [Y]补=01101,[-Y]补=? [Y]补=11101,[-Y]补=? 溢出是什么意思?溢出后计算结果怎么办? 简述检测溢出的两种方法 行波进位的加、减法器,“行波”是什么意思? 行波进位的加、减法器的延时与位数是什么关系?
直接乘法的竖式P39
2.一般化的全加器形式 4类
3.直接补码阵 列乘法器
对照P39的 阵列来看
小结:
原码乘法器 间接补码乘法器 直接补码乘法器
2.4 定点除法运解决算: (1)恢复余数法
(2)不恢复余数法(加减交替法)
一、原码除法算法(1)和(2)都是串行计算方法
定点原码除法的运算规则:商的符号位由两数
运算的控制端
(P43有误)
小结
不恢复余数法除法 加法/减法单元和除法阵列 2.3节书上没讲的例题请自学
定点乘法和除法(复习)
请简述原码乘、除法的规则 不带符号的阵列乘法器有哪二部分组成? 对2求补电路的作用?(E端的作用?) 求其对2补数,最高位是符号位:
0110100,1110100 带求补级的阵列乘法器是( )符号位的( )
S2S3 00 01 10 11
Xi 1
Ai+Bi Ai+Bi Ai
S0S1→Yi S2S3→Xi
3.先行进位的公式
基本公式Cn+1=Y0+X0Cn 以四位为例的传递结果
Cn+4=G+PCn
G-进位发生输出 P-进位传送输出
行波进位的
4.
功
能
表
4.两级先行进位部件74182
机器码两和个0真值 原码、反码、补码
1.原码
定义
两个0
2.反码 正数-不变
只负有数加法-运符算、号一位个0不变,其后逐位变 反3.补码 正数-不变
负数-反码,在末位加1
怎样计算补码的真值?
? P21公式2.9 01001,11001 纯整数补码,
求十 进制真值 例3,例4自学一下
四种编码应用总结
Es E
阶符 阶码
Ms M
数符 尾数
定点纯整数100101(最高位是符号位) 的十进制值是多少?
定点纯小数100101(最高位是符号位) 的十进制值是多少?
浮点数1001101010的十进制值是多少? 其格式如上图所示
IEEE754标准的32位浮点数的
标准格式
P18,例2
浮点数为什么需要标准?
结果为负,则商0,加[y]补右移K位值 K+1
3 如果次数K为n+1,则写出商和余数,结束
如果次数< n+1 ,则转2
Bi Ai
二、并行除法器
1.可控加法/减法(CAS)单元
P Ci+1
p=0时,加法 P=1时,减法
P
Ci
Bi Si
2.不恢复余数的阵列除法器
进位值是余数符 号的非,可以做
商的值及下一次
T单位门延迟(与非T,异或3T) 计算一下?
三、基本的二进制加法/减法器 一位全加器 Ci+1 Si 图2.3 (b)
FA
Ai Bi Ci
延迟t=2nT+9T
小结
补码的加减法都由加法计算(mod 2***) 溢出及其检测 基本的加减法器
课堂练习与课后思考
P63, 5. 6. 13.
十进制的浮点数加减 法是怎样计算的?
一、浮点加法、减法运算
1.运算规则
设有两个浮点数x和y,它们分别为 x=2Ex·Mx y=2Ey·My
则:x±y=(Mx2Ex-Ey±My)2Ey, Ex<=Ey
2.四歩骤
Leabharlann Baidu
1)0操作数检查;
2)比较阶码大小并完成对阶;
3)尾数进行加或减运算;
4)结果规格化并进行舍入处理。
N=10E.M N=Re.m
R-基数2、8、16 m-尾数 e-指数(阶)
Es E1E2…Em Ms M1M2…Mn
阶符 阶码
数符 尾数
例:10011000100010
规格化表示:尾数的绝对值>=0.5 机器零:尾数为零或阶码小于最小值 在位数相同的情况下,浮点和定点数哪个表 示的范围大?
请问:
阶码上溢(+,-∞)
阶码下溢(0) 尾数上溢(右规) 尾数下溢(有效位移出,舍入)
例28.设x=2010×0.11011011,y=2100×(-
0.10101100),求x+y。
设补码表示,阶码用双符号位,尾数用单符号位,则浮点表示
[x]浮=00 010, 0.11011011 [y]浮=00 100, 1.01010100
步骤中的细节问题(1)
对阶时向大的阶看齐还是向小的阶看齐?为什么?
向大的阶看齐
步骤中的细节问题(2)-规格化问题
①运算结果尾数有溢出,只要将尾数向右移一位
(右规),同时将阶码加1。
②运算结果没有溢出,但不是规格化数。
•尾数是原码,(标志)结果的尾数最高位不是1。这时需将 尾数左移,每左移1位,阶码同时减1,直到尾数数值最高位 为1为止。
(41A4B600),请写出其真值 请说出补码表示方法在计算机中使用的优势 定点纯整数补码值为10000,请说出其真值
三、字符与字符串的表示方法 1.字符的表示方法 ASCII码 2.字符串的存放 四、汉字的表示方法
汉字的内码、外码、字模码
作业:
思考:
一、书上的例题课堂没讲的 请自学 二、请思考P63,2.