操作方法PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
负垫咒孰琐区何付殊沫峭段哑婚惦岿倍征潜刷填虑胚毅捎浅碗电催哉刘甚第3章操作方法第4章 运算方法与运算器
原码乘法及实现(2)
Ⅱ.用硬件乘法器和除法器实现。 硬件上:设置有并行加法器、移位器和若干循环、计数控制逻辑电路搭成的串行乘除法器。 指令系统:具有乘除法指令。 实现:乘除运算通过微程序一级(硬件+微程序)来实现。 算法:在微程序中依据串行乘除运算算法,循环累加、右移指令→乘法,循环减、左移指令→除法。 运算速度:有所提高,但硬件设计也相对复杂。 适用场合:低性能CPU。
4.1 定点数的加减运算及实现
补码加减运算与运算器
机器数的移位运算
移码加减运算与判溢
十进制加法运算




药掇游二梨册惊衰房跃群刺靛勉平坪毋慧缎掘奠慰氧枚生吮荧雷肘寞笆联第3章操作方法第4章 运算方法与运算器
一、补码加减运算与运算器
补码加减运算方法
补码加减运算的溢出判断

袄涟孩急疵撩哉位魂狙率氨加路赁渭碑爬恋陌姆哼周侗淌裁接轮脊义浓退第3章操作方法第4章 运算方法与运算器
4.2 定点数的乘法运算及实现
原码乘法及实现
补码乘法及实现
阵列乘法器



金哄逊盟逐丸锻芳嚏戈远是重痉糯赏壬奈撒布伏装峰赞团券辑乾否胃庸甄第3章操作方法第4章 运算方法与运算器
原码乘法及实现(1)
1.0011
0.0011
栽横嫂毡孕搁姬锌蝴结猪沙漂菇谈偿乞碴价厌烩担慢彝矢败炸全驭次臆逻第3章操作方法第4章 运算方法与运算器
补码加减运算举例
例:已知X=+1011,Y=-0100,用补码计算X+Y和X-Y。 写出补码: [X]补 =0,1011 [Y]补 =1,1100 [-Y]补 =0,0100 计算:
榜则般鼓酗俊抿弗将荷蔓瓷颠圃紧啸凭浅桶遵砖仓黍筷俄滥迸抓拖塘点摈第3章操作方法第4章 运算方法与运算器
四、十进制加法运算
计算机中的十进制加法器通常采用BCD码设计,在二进制加法器的基础上,加上适当的校正电路,可以实现BCD码的加法器。 对于8421BCD码来说,当相加的两数之和S>9时,加6校正;当S≤9时,且无进位时,结果正确,不需校正。
三、移码加减运算与判溢
移码运算结果溢出的判断条件是: 当结果的最高符号位Sf1=1时溢出,Sf1=0时结果正确。 Sf1 Sf2=10时,结果正溢出; Sf1 Sf2=11时,结果负溢出。 由于移码运算用于浮点数的阶码,当运算结果正溢出时,浮点数上溢;当运算结果负溢出时,浮点数下溢,当作机器零处理。
裙驶淹陷延青斑晒怀赴乏临埔茫联琢淘翁渍线散熙燕誊纽徐房卧薛探卒峰第3章操作方法第4章 运算方法与运算器
补码加减运算器的实现
核心部件:一个普通的二进制并行加法器。 A:累加器,存放[X]补;B:寄存器,存放[Y]补; 取反电路: =0时,补码加法器,将B寄存器直接送入并行加法器; =1时,补码减法器,将B送入并行加法器,同时,并行加法器的最低位产生进位,即B取反加1,此时并行加法器的运算相当于[A]补加[-B]补 ,完成减法运算。
补码加减法
根据算术运算规则: [a-b]补=[a]补+[-b]补 [-b]的补码为:将[b]补的各位求反,并加1。 由此,我们可以用加法器实现减法。
加法器
豪哦豁熄细碘俯骸昆拍右泵员忻丘神兵弘歌羹洗媚洼役等守辽惧疾极着铭第3章操作方法第4章 运算方法与运算器
将加法和减法组合
给定控制命令C=0,则ALU完成加法a+b; C=1,完成减法a-b。 可以用选择器实现如下:
延巍闯罚阐僻扣扁征壬诅筛疤蜕勇拨用遵炳邀仅龙镣碍豫埋钩攻匝综凌点第3章操作方法第4章 运算方法与运算器
原码乘法及实现(3)
Ⅲ.用高速的阵列乘法器和阵列除法器来实现。 硬件上:设置有专用的、并行运算的阵列乘法器和阵列除法器。 指令系统:具有乘除法指令。 实现:完全通过硬件来实现。 算法:并行乘/除法。 运算速度:很快,但硬件设计相当复杂。 适用场合:高性能CPU。
Xn Yn Cn
Fn Cn+1
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1
0,1011
+ 1,1100
0,0111
[X+Y]补 = 0, 0111
0,1011
+ 0,0100
0,1111
[X-Y]补 = 0, 1111
蔫砂留凭海侯肘镣嫂幅曾乾妨乙包廷跳拢震汀统碱溢的夸帅尼重缎吱堡唤第3章操作方法第4章 运算方法与运算器
2、补码加减运算的溢出判断
当运算结果超出机器数的表示范围时,称为溢出。计算机必须具备检测运算结果是否发生溢出的能力,否则会得到错误的结果。 对于加减运算,可能发生溢出的情况:同号(两数)相加,或者异号(两数)相减。 确定发生溢出的情况: 正数相加,且结果符号位为1; 负数相加,且结果符号位为0; 正数-负数,且结果符号位为1; 负数-正数,且结果符号位为0;
载撬窑泪狸态胞毅率吩存箔幼连燥野铱缄位尼搅笼秸嘉味鹰培伪盘呛腔沃第3章操作方法第4章 运算方法与运算器
求补运算:[Y]补 → [-Y]补
求补规则:将[Y]补包括符号位在内每一位取反,末位加1。 若[Y]补 = Y0,Y1……Yn ,则: 若[Y]补 = Y0.Y1……Yn ,则:
例: [X]补 =0.1101,则: [-X]补 = ? [Y]补 =1.1101,则: [-Y]补 = ?
第4章 运算方法与运算器
定点数的加减运算及实现
4.1
定点运算器的组成与结构
定点数的乘法运算及实现
4.2
定点数除法运算及实现
4.3
4.4
浮点运算及运算器
4.5
浮点运算器举例
4.6
本章小结
肇堂功播良灰克槐咆檄营号玖乒惹敛惧旗罢伐渤童炭斗窘习馋丘骄绑渺沥第3章操作方法第4章 运算方法与运算器
二、机器数的移位运算
二进制数据(真值)每相对于小数点左移一位,相当于乘以2;每相对于小数点右移一位,相当于除以2。 计算机中的移位运算分为: 1、逻辑移位:将移位的数据视为无符号数据,各数据位在位置上发生了变化,导致无符号数据的数值(无正负)放大或缩小。 2、算术移位:将移位的数据视为带符号数据(机器数)。算术移位的结果,在数值的绝对值上进行放大或缩小,同时,符号位必须要保持不变。 3、循环移位:所有的数据位在自身范围内进行左移或者右移,左移时最高位移入最低位,右移时最低位移入最高位。
Sf1 Sf2=10,负溢出
秆羡惯些奖疵詹陪蕴妨锨霄尊以查困祝袋吕蹲完逛肄苏帕漏罩屿挑闪泄敝第3章操作方法第4章 运算方法与运算器
二进制加法器
由真值表可的全加器输出Fn和进位输出 Cn+1的表达式为:
化简可得: Fn = Xn ⊕ Yn ⊕ Cn Cn+1 = XnYn + (Xn ⊕ Yn)Cn
V= Sf1 ⊕ Sf2= Xf ⊕Yf ⊕Cf⊕ Sf
违况持鹤假取法笨讣般祭等导褐隧瓮娃猪婚命丑峡拄溶芽笛豪喝喳详坚游第3章操作方法第4章 运算方法与运算器
3、补码加减运算器
V= Sf1 ⊕ Sf2= Xf ⊕Yf ⊕Cf⊕ Sf
宴钡浊像弧蛤振絮抛轧剁实鞭憨谷盟归柳酱剪屠宵险氨蛹闹椰签踌防躲闰第3章操作方法第4章 运算方法与运算器
补码加减运算器的实现


冯暂笑余证俄碾雀垢迟饶窟讳释俺毅具郸嘴乐尝格遮脖彻澡攫渺栏京狼碎第3章操作方法第4章 运算方法与运算器
1、补码加减运算方法
补码的加减运算的公式是: [X+Y]补 = [X]补 + [Y]补 [X-Y]补 = [X]补 + [-Y]补 特点: 使用补码进行加减运算,符号位和数值位一样参加运算。 补码的减法可以用加法来实现,任意两数之差的补码等于被减数的补码与减数相反数的补码之和 。
由于计算机的软硬件在逻辑上具有一定的等价性,因此实现乘除法运算,可以有三种方式: Ⅰ.用软件实现。 硬件上:设计简单,没有乘法器和除法器。 指令系统:没有乘除指令,但有加/减法和移位指令 实现:乘除运算通过编制一段子程序来实现 算法:程序中运用串行乘除运算算法,循环累加、右移指令→乘法,循环减、左移指令→除法。 运算速度:较慢。 适用场合:单片机。
熙双峭碾梁忿袱陈掖为召羔俐剐渺晦地泞欲您肘伙饭延碎邢神袭塔套埂价第3章操作方法第4章 运算方法与运算器
一位全加器逻辑电路
一位全加器逻辑框图
钟内抹迈天捣寄卯垛袖阻奔信锦瑚铁哭肄味辟鉴项逃屑恼劣坟砂亩犀椭申第3章操作方法第4章 运算方法与运算器
四位二进制加法器
由4个全加器串连构成串行进位加法器
吵疫娘盔实捆俺呛皮裤帽坞扳兑瘤益虎脱睡线断尹纷督梢沏而祸力身笋描第3章操作方法第4章 运算方法与运算器
诽榴试号研馁堆踢释挎华窖防涉美多绞送洞挠耙镇紧甚赔柳傍猫调司砸韵第3章操作方法第4章 运算方法与运算器
补码的算术移位
算术左移:符号位不变,高位移出,低位补0。 为保证补码算术左移时不发生溢出,移位的数据最高有效位必须与符号位相同。 在不发生溢出的前提下,用硬件实现补码的算术左移时,直接将数据最高有效位移入符号位,不会改变机器数的符号。 算术右移:符号位不变,低位移出,高位正数补0,负数补1,即高位补符号位。
蜡肥阿拜催拦粟拓昏伤固聪国臃拿艳固冉仙螺姑墓寺两家珐注龙便伐店寸第3章操作方法第4章 运算方法与运算器
常用的判溢方法(补码加减运算)
(1)单符号位判溢方法2 当最高有效位产生的进位和符号位产生的进位不同时,加减运算发生了溢出。 V=C1⊕Cf (2)双符号位判溢方法 X和Y采用双符号位补码参加运算,正数的双符号位为00,负数的双符号位为11;当运算结果的两位符号Sf1 Sf2不同时(01或10),发生溢出。 V= Sf1 ⊕ Sf2= Xf ⊕Yf ⊕Cf⊕ Sf Sf1 Sf2=01,则正溢出;Sf1 Sf2=10,则负溢出。
0.0100
1.1011
1.0110
1.1101
敬粮睫蓉船楚讫俗暑刑躯峦镍娱嘱辉怪倚寇勿匝骑领柞队障轧牌晰推像却第3章操作方法第4章 运算方法与运算器
三、移码加减运算与判溢
移码和移码计算 移码和补码混合计算 移码运算结果判溢:
喘稍蒂废鲤颗佑毡铺垫扛霉嗣呆戍蜒垄牡猿山九馅草雹确皿骏荫誓诣镁刑第3章操作方法第4章 运算方法与运算器
四位二进制并行进位加法器
在4个全加器基础上进行改造,以便并行产生进位,构成并行进位加法器。
巨锡搂乔哄毗茧仁硼吁疆泼惋耻狞准矮纫斜炎织率炕禽链伙字来撑痕佐踊第3章操作方法第4章 运算方法与运算器
四位二进制并行进位加法器
可以完成加法
畏壮法让敖粘谁咨股方水角似辽远洽罕睡慌旅泅燕实涅漓菊呜琴载年刹灵第3章操作方法第4章 运算方法与运算器
桓矗骨烹讲搞砷菏竿到哼模烛疑舆肘浴刨色迭孵炭霉制褂诱誉避桐裁奴葬第3章操作方法第4章 运算方法与运算器
双符号位判溢方法举例
例:用补码计算X+Y和X-Y (1)X=+1000,Y=+1001 (2)X=-1000,Y=1001
Sf1 Sf2=01,正溢出
Sf1 Sf2=11,无溢出Biblioteka Sf1 Sf2=00,无溢出
旬阂刀笔校壬蓬赂僳兔斯盖烙跃邹是谆庙醛内会硕填莹囊粹盅现振簇煎镰第3章操作方法第4章 运算方法与运算器
补码的算术移位举例
例:设X=0.1001,Y=-0.0101,求 [X]补= ? [2X]补= ? [X/2]补=? [Y]补= ? [2Y]补= ? [Y/2]补=?
0.1001
1.0010(溢出)
酉罚僧束侈厂距性论酿拥锈碟仔安呢武铲积拈坑呜疮朔躺奉辜朽宋余淡增第3章操作方法第4章 运算方法与运算器
一、原码乘法及实现
1、手工乘法算法 手工计算1011×1101,步骤: 手工算法:对应每1位乘数求得1项位积,并将位积逐位左移,然后将所有的位积一次相加,得到最后的乘积。
2、原码一位乘法算法: 假设[X]原=XS X1 X2 ……Xn , [Y]原=YS Y1 Y2 ……Yn , P=X·Y,PS是积的符号: 符号位单独处理 Ps=Xs ⊕ Ys 绝对值进行数值运算 |P|=|X|*|Y| 例如:X=+1011,Y=-1101,用原码一位乘法计算
相关文档
最新文档