首页 计算机组成原理及汇编语言3

计算机组成原理及汇编语言3

举报
开通vip

计算机组成原理及汇编语言3null第三章 数值运算及运算器第三章 数值运算及运算器null第一节 算术逻辑运算基础1.原码加减运算 2.补码加减运算 两个基本关系式: [x + y]补 = [x]补 + [y]补 (mod M) [x - y]补 = [x]补 + [-y]补 (mod M) 由[y]补求[-y]补的方法: 将[y]补连同符号位一起求反加1。 一、定点加减运算null 例1: y = -0.0110 [y]补 = 1.1010 [-y]补 = 0.0110 注意:求一个数的补码: 正...

计算机组成原理及汇编语言3
null第三章 数值运算及运算器第三章 数值运算及运算器null第一节 算术逻辑运算基础1.原码加减运算 2.补码加减运算 两个基本关系式: [x + y]补 = [x]补 + [y]补 (mod M) [x - y]补 = [x]补 + [-y]补 (mod M) 由[y]补求[-y]补的方法: 将[y]补连同符号位一起求反加1。 一、定点加减运算null 例1: y = -0.0110 [y]补 = 1.1010 [-y]补 = 0.0110 注意:求一个数的补码: 正数时,补码和原码相同; 负数时, 对原码除符号位外求反加1。例2: y = 0.0111 [y]补 = 0.0111 [-y]补 = 1.1001补码加减运算null补码加、减运算规则参加运算的操作数用补码 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示。 符号位参加运算。 操作码为加运算时,两数直接相加;当操作码为减运算时,将减数连同符号位一起求反加1,再与被减数相加。 运算结果以补码表示。null例1: 已知: x = 0.1001, y = -0.0110; 求 x+y = ?解: [x]补 = 0.1001 [y]补=1.1010 [x]补 0.1001 + [y]补 1.1010 ————————— [x+y]补 1 0.0011 x+y = 0.0011补码加、减运算举例null例2: 已知: x = -0.1001, y = -0.0101; 求 x+y = ?解: [x]补 = 1.0111 [y]补=1.1011 [x]补 1.0111 + [y]补 1.1011 ————————— [x+y]补 1 1.0010 x+y = -0.1110补码加、减运算举例null例3: 已知: x = 0.1001, y = 0.0110; 求 x-y = ?解: [x]补 = 0.1001 [y]补=0.0110 [-y]补 =1.1010 [x]补 0.1001 +[-y]补 1.1010 ————————— [x-y]补 1 0.0011 x-y = 0.0011补码加、减运算举例null例4: 已知: x = -0.1001, y = -0.0110; 求 x-y = ?解: [x]补 = 1.0111 [y]补=1.1010 [-y]补 = 0.0110 [x]补 1.0111 +[-y]补 0.0110 ————————— [x-y]补 1.1101 x-y = -0.0011补码加、减运算举例null3.反码加减运算反码加减运算的规则: 参加运算的操作数用反码表示。 符号位参加运算。 当操作码为加运算时,两数直接相加;当操 作码为减运算时,将减数连同符号位一起求 反与被减数相加。 如果符号位产生进位,则在末位加1,即循环 进位。 运算结果为反码表示。null二、溢出检测1. 采用一个符号位判断规则: 当两个同号数相加,若所得结果符号与两数符号不同,则表明溢出。 设An、Bn分别表示两个操作数的符号; Sn表示结果的符号, 则有: 溢出=AnBnSn + AnBnSnnull2. 采用最高有效位的进位判断 方法: 两个正数相加,最高有效位有进位,符号位无进位,表明运算结果发生溢出;两负数相加,最高有效位无进位,符号位有进位,表明结果发生溢出。 设Cn表示符号位本身的进位,Cn-1表示最高有效位向符号位的进位; 得出: 溢出=CnCn-1 + CnCn-1=CnCn-1null3.采用变形补码(双符号位)判溢出正数:两个符号位均为0;00. x1x2…xn 负数:两个符号位均为1;11. x1x2…xn溢出判断: 两数相加,结果符号位为00、11,表示没溢出;结果符号位为01表示正溢出,为10表示负溢出。如果用 Sn+1、Sn 分别表示最高符号位和第二符号位,则采用变形补码溢出检测 电路 模拟电路李宁答案12数字电路仿真实验电路与电子学第1章单片机复位电路图组合逻辑电路课后答案 : OVR = Sn+1⊕Snnull三、移位 按操作性质可分为三种类型: 逻辑移位、循环移位、算术移位。1、逻辑移位 只有数码位置的变化,而无数量的变化。 左移:低位补0。 右移:高位补0。 例:A寄存器的初值为 10110101 逻辑右移一位后为 01011010 逻辑左移一位后为 01101010null寄存器两端触发器有移位通路,形成闭合的移位环路。例:A寄存器的初值为 10011001循环右移一位后为 11001100 循环左移一位后为 001100112、 循环移位null数的符号不变,而数值发生变化。 左移一位将使数值扩大一倍(乘以2) 右移一位则使数值缩小一倍(乘以1/2) 算术移位规则: (1)正数:原码、补码、反码左右移位时,空位均补入0(符号不变)。3、 算术移位例:A寄存器初值:0.0110 左移一位:0.1100 右移一位:0.0011null(2)负数: 原码:符号位不变(为1),空位补0。 例:A寄存器的初值为 1.0110 算术左移一位后为 1.1100 算术右移一位后为 1.0011 补码:左移后的空位补0,右移后的空位补1。3、 算术移位null例:初值:1.1011 左移一位:1.0110 右移一位:1.1101 反码:移位后的空位补1。 例:初值:1.1011 左移一位:1.0111 右移一位:1.1101null四、十进制运算1.进制转换 2.直接进行十进制运算 3. BCD码的加法运算null五、 逻辑运算 逻辑运算例:例(1)逻辑或: X=10100001,Y=10011011,XⅤY=? 10100001 X Ⅴ 10011011 Y ——————— 10111011 null例(2)按位置“1”:设: A=10010010,将A最低位置“1”;设:B =00000001 10010010 A Ⅴ 00000001 B ——————— 10010011 Anull例(3):按位清设:A=10010010,将A最高位清“0” 设:B=01111111 10010010 A ∧ 01111111 B ——————— 00010010 Anull例(4):按位测试设:A=10010010,测A最高位是否为“1”; 设: B=10000000 10010010 ∧ 10000000 ——————— 10000000 结果不全为“0”,表明被测码的被测位为“1”。 结果为全“0”,表明被测码的被测位为“0”。null例(5)比较设:A=10010010,B=10010011,比较A,B内容相同否? 10010010 ⊕ 10010011 ——————— ⊕ 00000001 结果全“0”,则A,B内容相等,否则内容不等。 null第二节 基本算术运算的实现 一、加法单元两个输出量:全加和 i 及向高位的进位Ci+1。全加器有三个输入量: 第 i 位的两个操作数 Ai、Bi 和低位送来的进位 Ci;全加器框图:Ci+1CiBiAiinull全加器的功能表: 全加和 i 及进位 Ci+1 的逻辑表达式:用半加器构成的全加器用半加器构成的全加器++ +CiAiBiiCi+1延迟时间1T延迟时间1.5T延迟时间1.5Tnull加法器有两种形式:串行加法器和并行加法器。二、串行加法器和并行加法器n 位字长的加法器仅有一位全加器,使用移位寄存器从低位到高位串行地提供操作数,分n步进行相加。(一)串行加法器(二)并行加法器 全加器位数和操作数位数相同,同时对所有位进行求和。null二、串行加法器和并行加法器串行加法器逻辑图null并行加法器中传递进位信号的逻辑线路称为进位链三、并行加法器的进位结构进位线路结构分为:串行进位、并行进位,将整个加法器分组(分级),对组内、组间(级间)分别采用串行或并行进位。null(一)对进位公式的分析设相加的两个n位操作数为: A=An-1An-2…Ai..A0 B=Bn-1Bn-2…Bi..B0 Ci+1 = AiBi + (Ai⊕Bi) Ci —— 进位逻辑表达式 设:Gi = AiBi —— 进位产生 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 (Carry Generate Function) Pi = Ai⊕Bi —— 进位传递函数(Carry Propagate Function) 当Pi=1时,如果低位有进位,本位将产生进位。 则:Ci+1 = Gi + PiCinull(二)串行进位(行波进位)N位串行进位的并行加法器null(二)串行进位(行波进位)串行进位的逻辑表达式:最长进位延迟时间为 4+2.5(n-1)T ,与 n 成正比。C1 = G0 + P0C0 =A0B0+(A0 ⊕ B0)C0 C2 = G1 + P1C1=A1B1+(A1 ⊕ B1)C1 C3 = G2 + P2C2=A2B2+(A2⊕ B2)C2 … Cn = Gn-1 + Pn-1Cn-1=An-1Bn-1+(An-1 ⊕ Bn-1)Cn-1 null(三)并行进位(同时进位、先行进位)C1 = G0+P0C0 C2 = G1+P1C1 = G1+P1(G0+P0C0) C3 = G2+P2C2 = G2+P2(G1+P1(G0+P0C0)) C4 = G3+P3C3 = G3+P3(G2+P2(G1+P1(G0+P0C0))) 展开整理:C1 = G0+P0C0 C2 = G1+P1G0+P1P0C0 C3 = G2+P2G1+P2P1G0+P2P1P0C0 C4 = G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0全部进位输出信号仅由进位产生函数 Gi,进位传递函数 Pi 以及最低位进位 C0 决定,与低位进位无关。四位并行进位链线路四位并行进位链线路每位进位延迟时间为4Tnull四位并行进位加法器null最高进位的形成时间为 (4+3×2)T = 10 T 如果采用串行进位,最高进位的形成时间为 (4+15×2.5)T = 41.5 T 将n位加法器分成若干个小组,小组采用并行、组间采用串行的进位结构。 例:将16位加法器分成4组,每组4位,组内采用并行进位结构,组间采用串行进位结构。(四)组内并行、组间串行的进位结构组内并行、组间并行的16位加法器组内并行、组间并行的16位加法器(五)组内并行、组间并行的进位结构nullPi*为小组进位的传递条件(决定于低位小组进位能否传送至高位小组)。将加法器分成几个小组,每一小组包括几位,采用并行进位结构,小组间也采用并行进位。 再引入两个辅助函数 Gi*和Pi*;分别称为组进位产生函数和传递函数。 Gi*为本小组产生的进位(与低位小组来的进位无关)。(五)组内并行、组间并行的进位结构nullGi*和Pi*的逻辑表达式: G0*=G3+P3G2+P3P2G1+P3P2P1G0 P0*=P3P2P1P0 G1*=G7+P7G6+P7P6G5+P7P6P5G4 P1*=P7P6P5P4 G2*=G11+P11G10+P11P10G9+P11P10P9G8 P2*=P11P10P9P8 G3*=G15+P15G14+P15P14G13+P15P14P13G12 P3*=P15P14P13P12(五)组内并行、组间并行的进位结构C4 = G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0组内并行、组间并行进位结构组内并行、组间并行进位结构null小组间产生四个进位,C4、C8、C12和C16。C4= G0*+P0*C0 C8= G1*+P1*C4= G1*+P1*G0*+P1*P0*C0 C12= G2*+P2*C8 =G2*+P2*G1*+P2*P1*G0*+P2*P1*P0*C0 C16= G3*+P3*C12 =G3*+P3*G2*+P3*P2*G1*+P3*P2*P1*G0*+P3*P2*P1*P0*C0 当Gi*、Pi*及C0形成后,C4、C8、C12和C16便可同时产生。nullC4、C8、C12和C16已由组间进位线路产生,组内并行进位线路不需要再产生这些进位,将其作适当修改,便可产生小组的本地进位Gi*和小组的传送条件Pi*以及小组内的低3位进位。null例:16位加法器采用组内并行、组间并行进位结构的框图。 进位形成过程如下:从Ai、Bi、C0输入开始;经过4T形成C1、C2、C3及全部Gi*、Pi*;又经过2.5T形成C4、C8、C12、和C16;最后再经 2.5T 形成二、三、四、小组内的其余进位 C7~5、C11~9、C15~13。最长进位形成时间:(4+2.5+2.5)T = 9Tnull1、74181 算术逻辑单元,简称ALU,具有组内并行进位链,提供了辅助函数G,P供组间进位链使用。四、运算器举例null例:用74181和74182组成16位分二级同时进位 的加法器。利用并行进位链74182可产生向高一级进位链提供 _ _ 辅助函数G**、P**,用于位数更长时,组成第三级 并行进位链。2、74182(先行进位发生器) 提供:组间并行进位信号Cn+x,Cn+y,Cn+z 小组辅助函数: P,G四、运算器举例16位并行进位ALU结构16位并行进位ALU结构null第三节 定点乘法运算在计算机中实现乘除法运算的三种方式: 软件实现; 在原有ALU的基础上增加一些逻辑线路以实 现乘除运算; 设置专用的乘除法器。null一、无符号数一位乘 例: x=0.1101 y=0.1011 0.1101 × 0.1011 ———————— 1101 1101 0000 1101 ———————— 0.10001111计算机计算:将n位乘转化为n次“累加与移位”。每一步只求一位乘数所对应的新部分积,并与原部分积作一次累加,然后移位一次。null无符号数一位乘算法 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图null硬件实现无符号数一位乘null0 0 0 0 0 1 0 1 1 +B 1 1 0 1 1 0 1 1 0 1 1 0 10 0 1 1 0 1 1 0 1 +B 1 1 0 1 1 0 0 1 10 1 0 0 1 1 1 1 0 +0 0 0 0 0 0 1 0 0 10 0 1 0 0 1 1 1 1+B 1 1 0 11 0 0 0 10 1 0 0 0 1 1 1 1C0=1C0=1C0=0C0=1CaAC例:11011011的运算过程如下:B=1101, C=10111101  1011=10001111null二、带符号数一位乘法(1)被乘数x符号任意,乘数y符号为正 设:[x]补 = xn.xn-1…x1 .x0 [y]补 = 0.yn-1yn-2…y1 y01.校正法(补码乘法算法的推导)null根据补码定义:[x]补 = 2+x (mod 2) [y]补 = y= 0.yn-1yn-2…y1 y0 [x]补[y]补=2·y + x·y=2(yn-1…y1 y0)+x·y (mod 2) ∵2(yn-1…y1 y0) = 2 (mod 2) ∴[x]补[y]补 = 2+x·y = [x·y]补 (mod 2) 即:[x·y]补=[x]补[y]补=[x]补· y=[x]补·(0. yn-1…y1 y0)null[x]补= xn.xn-1xn-2…x0 [y]补 = 1. yn-1…y1 y0 = 2+y (mod 2) y = [y]补-2=1. yn-1…y1 y0 -2 = 0. yn-1…y1 y0 -1 x· y = x(0. yn-1…y1 y0)-x [x·y]补=[x(0. yn-1…y1 y0)-x]补 =[x(0. yn-1…y1 y0)]补+[-x]补 =[x(0. yn-1…y1 y0)]补-[x]补 =[x]补·(0. yn-1…y1 y0)-[x]补 (2)被乘数x符号任意,乘数y为负null[x·y]补=[x]补(0. yn-1…y1 y0)-[x]补·yn y≥0 :yn=0 不需校正 y<0 :yn=1 需要校正(-[x]补)(3)当被乘数x和乘数y符号任意,以补码表示:null2.补码乘法比较法——布斯(Booth)乘法运算法则 [x·y]补=[x]补[-yn+yn-12-1+yn-22-2+…+y02-n] =[x]补[-yn+(yn-1-yn-12-1)+(yn-22-1-yn-22-2)+… +(y02-(n-1)-y02-n)] =[x]补[(yn-1-yn)+(yn-2-yn-1)2-1+…(y0-y1)2-(n-1)+ (0-y0)2-n] =[x]补(yn-1-yn)+2-1( [x]补(yn-2-yn-1) + 2-1( [x]补(yn-3- yn- 2)+…+2-1([x]补(y0-y1)+2-1([x]补(y-1-y0)))…)) 设:(y-1=0)[x·y]补=[x]补(0. yn-1…y1 y0)-[x]补·ynnull递推公式:[p0]补=0 [p1]补=2-1([p0]补+(y-1-y0)[x]补) [p2]补=2-1([p1]补+(y0-y1)[x]补) …… [pi]补=2-1([pi-1]补+(yi-2-yi-1) [x]补) …… [pn]补=2-1([pn-1]补+(yn-2-yn-1) [x]补) [pn+1]补=[pn]补+(yn-1-yn)[x]补=[x·y]补每一步乘法在前次部分积的基础上,根据 yi-2-yi-1 ( i=1,2…n) 的值决定对 [x]补 进行什么操作,然后右移一位,得到新的部分积。重复n步。第n+1步由(yn-1-yn)的值决定对[x]补的操作但不移位。null yi yi-1 yi-1-yi 操 作 0 0 0 部分积加 0,右移一位 0 1 1 部分积加 [x]补,右移一位 1 0 -1 部分积加 [-x]补,右移一位 1 1 0 部分积加 0,右移一位① 参加运算的数用补码表示 ② 符号位参加运算 ③ 乘数最低位后面增加一位附加位y-1(初值为0),逐次比较相邻两位并按下列规则运算:Booth算法: 按上述算法进行n+1步操作(n是不包括符号位在内的字长),第n+1步不移位。 ④ 移位要按补码的移位规则进行null例: 已知X=1011, Y= -1101, 用比较法求[X·Y]补解:部分积存放于A寄存器中,初值为0。 [X]补=0,1011,存放于B寄存器中。 [-X]补=1,0101 [Y]补=1,0011,存放于C寄存器中; 附加位C-1 ( Y-1)置0。nullA C C-1 说明0 0 0 0 0 1 0 0 1 1 0 初始态+[-X]补1 0 1 0 1 C0C-1=10,部分积+[-X]补 1 0 1 0 11 1 0 1 0 1 1 0 0 1 1 右移一位 +0 0 0 0 0 0 C0C-1=11,部分积+0 1 1 0 1 01 1 1 0 1 0 1 1 0 0 1 右移一位+[X]补 0 1 0 1 1 C0C-1=01,部分积+[X]补 0 1 0 0 00 0 1 0 0 0 0 1 1 0 0 右移一位 +0 0 0 0 0 0 C0C-1=00,部分积+0 0 0 1 0 00 0 0 1 0 0 0 0 1 1 0 右移一位+[-X]补1 0 1 0 1 C0C-1=10,部分积+[-X]补 1 0 1 1 1 1 0 1 1 1 0 0 0 1[X·Y]补=1 , 01110001 X·Y= -10001111null补码两位乘法的算法,运算规则如下:Yi+1 Yi Yi-1 操作 0 0 0 部分积 + 0,右移两位 0 0 1 部分积 + [X]补,右移两位 0 1 0 部分积 + [X]补,右移两位 0 1 1 部分积 + 2[X]补,右移两位 1 0 0 部分积 + 2[-X]补,右移两位 1 0 1 部分积 + [-X]补,右移两位 1 1 0 部分积 + [-X]补,右移两位 1 1 1 部分积 + 0,右移两位三、两位乘简介由布斯乘法推出补码两位乘由布斯乘法推出补码两位乘[pi+1]补= 2-1([pi]补+(yi-1-yi)[x]补) [pi+2]补= 2-1([pi+1]补+(yi-yi+1)[x]补) [pi+2]补= 2-1 (2-1([pi]补+(yi-1-yi)[x]补) +(yi-yi+1)[x]补) =2-2([pi]补+(-2yi+1+yi+yi-1)[x]补)null乘数数值位数为偶数n,采用双符号位,做n/2+1步加法,n/2步移位(即:最后一步不移位)。 乘数数值位数为奇数n,采用一个符号位,做 (n+1)/2步加法及移位,最后一步移一位。 部分积和被乘数采用三个符号位。2.带符号数两位乘null例:已知X=10110, Y= -10101, 用补码两位乘求[X·Y]补。[X]补=0,10110,[Y]补=1,01011, [-X]补=1,01010 [X]补B, [Y]补C, 0 A, 0 C-1 ( Y-1 )A C C-1 说明0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 初始态 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 右移二位, 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 1 右移二位,+[-X]补 1 1 1 0 1 0 1 0 C1C0C-1=101, +[-X]补 1 1 1 0 0 0 1 11 1 1 , 1 0 0 0 1 1 0 0 1 0 1 22+[-X]补 1 1 1 0 1 0 1 0 C1C0C-1=110, +[-X]补 +[-X]补 1 1 1 0 1 0 1 0 C1C0C-1=101, +[-X]补 [X·Y]补= 1,1000110010 X·Y= -0111001110 1null第四节 定点除法运算一、无符号数一位除1.无符号数恢复余数法例:10010101000=1001+10/10001001null无符号数恢复余数法算法:(1)做减法试探 X-Y 若:余数符号为0,被除数>除数, 调整比例因子。 若: 余数符号为1,被除数<除数, 商“0”,恢复余数。(2) 被除数(余数)寄存器(A)与商寄存器 (C)联合左移一位。null(3) 做减法试探, 新余数为正,上一次余数>除数 ,够减, 商“1”, 余数为负,上一次余数<除数,不够减, 商“0”。恢复原来的余数。 (4) 重复(2)(3)步骤,直到商的位数=操作数位数。无符号数恢复余数法算法:null余数的符号与权的处理 : (小数除法)(1)让加符号前的商和余数都保持正值,当最后一 步不够减时,应恢复余数(即:当余数为负数时, 要加上除数,得到真正的余数)(2)进行了n步除之后,形式上的余数,应乘以2-n 才为真正的余数的值被除数(余数)采用2位符号位 (变形补码)null被除数 (余数):A 商 (C) 00.1011 0.0000 | 初态(0)作减法 +) 11.0011 x+[-y]补余数 —————— 11.1110 为负,商0,恢复余 +) 00.1101 0.000|0 数+y —————— 00.1011 (1)余数与商左 01.0110 0.00|0 移一位,减除数 +) 11.0011 +[-y]补 ,余数为 —————— 00.1001 0.00|01 正,商“1” 01.0010 0.0|01 (2)余数与商左 +) 11.0011 移一位,减除数 —————— 00.0101 0.0|011 +[-y]补 00.1010 0.|011 余数为正,商“1”  x=0.1011, y=0.1101, [ -y]补=1.0011例: x=0.1011, y=0.1101,求x/ynull 00.1010 0.|011 (3)余数与商左 +) 11.0011 移一位,减除数 —————— +[-y]补 余数 11.1101 0.|0110 为负,商“0”, +) 00.1101 恢复余数+y —————— 00.1010 (4)余数与商左 01.0100 |0.110 移一位,减除 +) 11.0011 数+[-y]补 —————— 00.0111 0.1101 余数为正,商“1”商值为:0.1101 , x/y的商= 0.1101 余数为: 0.0111×2-4 x/y= 0.1101+ 0.0111/0.1101 × 2-4null2. 无符号数不恢复余数法(加减交替法)对恢复余数法进行修正若ri≥0,商“1”,下一步:ri+1= 2ri-y。 若ri<0,商“0”,恢复余数ri+y,下一步 ri+1 = 2(ri + y) - y = 2ri + 2y- y = 2ri + ynull(3)重复(1)、(2),上商n(+1)次, 左移 n次。 (1)当余数为正,商上“1”,做2ri-y的运算。 (2)当余数为负,商上“0”,做2ri+y的运算。不恢复余数除法规则:无符号数不恢复余数法流程图无符号数不恢复余数法流程图开始被除数=>A、C 除数=>BA、C左移一位A-B=>AA<0?重复n-1次?商1:1=>C0结束YNYN商0:0=>C0A、C左移一位 A+B=>AA、C左移一位 A-B=>AA<0?NA+B=>AY无符号数不恢复余数法原理框图无符号数不恢复余数法原理框图null被除数 (余数):A 商 (C) 0 0 0 0 1 0 0 0| 初态 0 0 0 1 0 0 0|0 A、C左移一位 +) 1 1 0 1 减除数 —————— 1 1 1 0 0 0 0|0 为负,商0,下步左移后+y 1 1 0 0 0 0|0 0 A、C左移一位 +) 0 0 1 1 加除数 —————— 1 1 1 1 0 0|0 0 为负,商0,下步左移后+y 1 1 1 0 0|0 0 0 A、C左移一位 +) 0 0 1 1 加除数 —————— 0 0 0 1 0|0 0 1 为正,商1,下步左移后-y x=00001000, y=0011, [ -y]补=1101例: x=1000, y=0011,求x/ynull被除数 (余数):A 商 (C) 0 0 1 0 |0 0 1 0 A、C左移一位 +) 1 1 0 1 减除数 —————— 1 1 1 1 |0 0 1 0 为负,商0 +) 0 0 1 1 恢复余数 —————— 0 0 1 0商值为:0010 , 余数为:0010x/y= 0010+ 0010/0011null第五节 浮点运算一、浮点加减运算及实现 设有两个浮点数x和y x=2Ex·Mx y=2Ey·My Mx和My分别为x和y的尾数,Ex和Ey分别为x和y的阶码。null1.对阶 阶码:反映了数的小数点位置。浮点数相加减要求阶码相等,小数点的位置对齐,这个过程称为对阶。 ①求阶差 △E = Ex - Ey 若△E=0,不需对阶。若△E≠0,需对阶,按 |△E| 调整阶码。 ②保留大阶 对阶的规则:小阶向大阶看齐。 ③阶码小的尾数向右移位,每右移一位阶码加1,直至阶差 为0。运算步骤null1. 对阶 [△E]补=[Ex]补-[Ey]补 =00,01+11,01=11,10例:两浮点数为 x = 0.1101×201 y =-(0.1010)×211,求x+y=? 解:x、y以补码表示:[x]补=00,01;00.1101 Ex Mx[y]补=00,11;11.0110 Ey My 即 △E = -2,x阶码 < y阶码,将x的尾数右移两位,Ex+2, |△E| = 0,对阶完毕。 [x]补′= 00,11;00.0011null则 [Mx+My]补 为2.求和/差 [x]补 = 00,11;00.0011 [y]补 = 00,11;11.0110 00.0011 +) 11.0110 —————— 11.1001null左规:尾数左移,每左移一位,阶码减1,直至尾数符号与尾数第一位不相等。[x+y]补 = 00,11;11.1001 尾数左移一位,阶码减一 [x+y ]补 = 00,10;11.0010 x+y= -0.1110×2103.规格化 (1)左规 左规条件:运算后结果尾数的符号位与尾数第一位相等。null例:两浮点数:x=0.1101×210,y=0.1011×201。求x+y=? 经对阶、求和 [x+y]补=00,10;01.0010 右规:将尾数右移一位,阶码加1, [x+y]补 = 00,11;00.1001 x+y = 0.1001×211(2)右规 右规条件:运算后结果尾数的两位符号位不等。 右规:将尾数右移一位,阶码加1。null右移时被丢掉数位的最高位为0,则舍去;被丢掉数位的最高位为1,则将尾数的末位加1。例如:对 01.0100×210 进行右规,得:00.1010×211 ; 对 01.1011×201 进行右规,得:00.1110×210。 补码有一种情况例外:当负数补码被丢掉的数位的最高位为1,其它各位均为0时,此“1”应该舍去。 例:对补码表示的负数1.01101000进行舍入(保留小数点后四位有效数字),结果为1.0110。 若舍入后又造成尾数溢出,须再进行右规。4.舍入 (1)0舍1入null(2)恒置1法 只要数位被移掉,就在尾数的末位恒置“1”。 上例1、 01.0100×210 右规:00.1011×211 上例2、 01.1011×201 右规:00.1101×2104.舍入null设有阶码m位(包括一位符号位),采用补码(或移码)表示,则表数范围为: -2m-1 ≤E ≤ 2m-1-1。 当 阶码>2m-1-1时,称为阶码上溢 当 阶码<-2m-1时,称为阶码下溢 5.浮点数的溢出判断null设两个浮点数分别为 x=2Ex·Mx,y = 2Ey·My 1、乘法运算: x·y=2(Ex+Ey)(Mx·My) 乘积的阶码为:两数的阶码之和。 乘积的尾数为:两数的尾数之积。二、浮点乘除运算及实现null2、除法运算:x/y = 2(Ex-Ey)(Mx/My) 商的阶码为:被除数的阶码减去除数的阶码之差。 商的尾数为:被除数的尾数除以除数的尾数所得的商。 讨论阶码运算(讨论对移码的运算规则和判定溢出的方法)。null[x]移与[x]补:符号位相反,其数值位相同。 [x]移=2n+x -2n≤x<2n [x]移+[y]移=2n+x+2n+y=2n+(2n+x+y)=2n+[x+y]移 [x]移+[y]移+2n=[x+y]移 (mod2n+1) [y]补=2n+1+y (整数补码) 又∵[y]移=2n+y ∴[y]补=2n+2n+y=2n+[y]移 [x]移+[y]补=[x+y]移 (mod2n+1) 同理[x]移+[-y]补=[x-y]移(一)阶码加减运算(移码表示的阶码)null执行阶码加减运算,对加数或减数的移码符号位求反再运算,结果就是正确的移码值。(二)溢出判断 阶码采用双符号位,(最高符号位)恒为0。 运算结果符号:null例:阶码用四位移码表示(包括一位符号位)Ex = +110 Ey = +011 [Ex]移=01,110 [Ey]补=00,011 [-Ey]补=11,101 ①[Ex+Ey]移=[Ex]移+[Ey]补=10,001 上溢 ②[Ex-Ey]移=[Ex]移+[-Ey]补=01,011 正确(+3) 当Ex= -110 Ey= -011时 [Ex]移=00,010 [Ey]补=11,101 [-Ey]补=00,011 ③[Ex+Ey]移=[Ex]移+[Ey]补=11,111 结果下溢 ④[Ex-Ey]移=[Ex]移+[-Ey]补=00,101 结果正确(-3) null例:浮点数相乘,4位阶码(移码表示),8位尾数(用补码表示),(均包括一位符号位)。 已知 x=23×(0.1001101), y=2-5×(-0.1110010),求 x·y = ? 解:x的浮点表示形式 1,011;0.1001101 y的浮点表示形式 0,011;1.0001110 移码采用双符号位 [Ex]移=01,011 [Ey]补=11,011 [-Mx]补=1.0110011null乘法步骤:①阶码相加, [Ex+Ey]移=[Ex]移+[Ey]补[Ex]移 01,011 [Ey]补 +) 11,011 ————————— [Ex+Ey]移 00,110②尾数相乘,采用补码两位乘 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 [Mx·My]补=1.01110110110110 ③规格化处理: [Mx·My]补=1.01110110110110 ④舍入null设尾数保留8位(包括符号位),采用0舍1入法。 [Mx·My]补=1.01110110110110 尾数为 [Mx·My]补 = 1.0111011。x·y的浮点表示为:0,110;1.0111011 x·y=2-2×(-0.1000101)。
本文档为【计算机组成原理及汇编语言3】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_414999
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-10-19
浏览量:19