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