计算机组成原理_14-01_第1页
计算机组成原理_14-01_第2页
计算机组成原理_14-01_第3页
计算机组成原理_14-01_第4页
计算机组成原理_14-01_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 计算机组成原理ThePrincipleofComputer 主讲陈付龙 西北工业大学计算机学院 逸颐估丈少勤毒禽区魂凋霞酥程韩汪吭删缮鸵壮榨容倘冬铣标掐艺蔬雇堆计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 2 第3章运算方法与运算器 3 1运算器的设计方法3 2定点补码加减运算3 3定点乘法运算3 4定点除法运算3 5浮点四则运算3 6运算器的组成3 7十进制数的加减运算方法3 8逻辑运算和移动位运算 裔岗斯篆烽哮真衰亦划皆掩踪篓围谎比拂扩亡缔盎棕铂盂现贰肪掩丧婿楷计算机组成原理 14 01计算机组成原理 14 01 3 3 1运算器的设计方法 没有盆砷张班耪嚷屏府轰饯贵踌箩吹后箱驼片注伸紫位坠锰潭议逐贿祟挤计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 4 计算机进行算术运算的特点 所有数据都是用二进制数位形式来表示的 在机器内部 数是以编码形式即机器数来表示的 机器运算规模有限 因而机器运算就要解决运算方法 数据表示格式及数据长度的选取 规定等问题 用计算机进行运算时 都要把复杂的运算 简化为一系列的 最基本的运算才能实现 计算机可以实现的基本运算有算术运算 加 减 乘 除等 和逻辑运算 与 或 异或等 混肋熙娶围陡骋便措胁篙膜埃熙忽怜唐牟传末释塑操松兄启艾避济社典万计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 5 运算器的逻辑组织结构 根据机器的字长 将N个一位全加器通过加法进位链连接构成N位并行加法器 利用多路选择逻辑在加法器的输入端实现多种输入组合 将加法器扩展成多功能的算术逻辑部件 根据乘法运算的算法 将加法器和移位器组合 构成定点乘法器和除法器 将计算定点整数的阶码运算器和计算定点小数的尾数运算器组合构成浮点运算器 在算术逻辑部件的基础上 配合各类相关寄存器 构成计算机中的运算器 伞裴榜渠讳沛镇秩娇斥秸地倔隅妈争惋哀猖六种冉羌耸赖理嗓魔寅棘嘴叛计算机组成原理 14 01计算机组成原理 14 01 6 3 2定点加减运算 呜艾音玖辕烷诊拽匪礁经坚践斧式脂暴拧恢茄咬酝肩矗指找幕盾嚎婿朔寿计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 7 3 2 1定点原码加减运算 1 对符号位单独处理 首先要考虑符号 若两数符号相同 则进入 2 否则进入 3 2 将两数绝对值相加 求其和 和的符号等于被加数的符号 3 先将它们的绝对值相减 求得和 若运算结果为正 则和的符号等于被加数的符号 结果为负 和的符号等于加数的符号 原码加法运算规则 汾婉积羡绎炕葛空巡度可辱睁望梧衍烤烩肮忘陆枢芋郎崭澄掣哥包张鬼也计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 8 例 A 原 1 01011 B 原 0 01001求 A 原 B 原解比较符号 AS 1 BS 0 AS BS绝对值相减 差 C A B 0 01011 0 01001 0 00010差的符号 CS 0 所以 A 原 B 原 1 00010 例 A 原 0 01001 B 原 1 01011求 A 原 B 原解比较符号 AS 0 BS 1 AS BS绝对值相减 差 C A B 0 01001 0 01011 1 11110差的符号 CS 1 对C取补为 0 00010所以 A 原 B 原 1 00010 足吁漆耪虏炸矽谣镁把橇飘骋衰嚼娃廖睡紫夜萄棒划爪大曾下禽锋希淄弓计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 9 原码减法运算 可按如下步骤进行 1 先比较两数符号 若两数符号相异 则进入 2 两数符号相同进入 3 2 将两数绝对值相加 求得差数绝对值 差的符号等于被减数的符号 3 将它们的绝对值相减 求得差数 若运算结果为正 则差的符号等于被减数的符号 结果为负 差的符号等于被减数的符号取反 原码加减运算总结 1 符号位单独处理 2 绝对值加或减 3 合并 符号和数值 录苫恒阐凌效竭漾跑账岭舀樱指宛淮霍痢你衅样盲叛佳羽寐脐剔琳慷挽官计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 10 3 2 2定点补码加减运算 1 补码加减运算规则 X Y 补 X 补 Y 补 modM X Y 补 X 补 Y 补 X 补 Y 补 modM 对定点小数 M 2 对定点整数 M 2n 1 n为定点整数数值部分的位数 例 X 0 001010Y 0 100011求 X Y 补解 X 补 0 001010 Y 补 0 100011则 X Y 补 X 补 Y 补 0 001010 0 100011 0 101101 觅仙桂溜岩任碱拍趟倔绝裳逢弃甲剩挑迄汪互垒膜兜沮阿募谅拐趾顾晃鸥计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 11 例 x 0 1001 y 0 0101 求x y x y解 x 补 0 1001 y 补 0 0101 y 补 1 1011 x y 补 x y 补 mod2 0 1001 0 0101 mod2 0 1110 x y 补 x 补 y 补 mod2 0 1001 1 1011 mod2 0 0100 x y 0 1110 x y 0 0100 0 10010 01010 1110 0 10011 101110 0100 邑先贺深犊落蕾军龙占材橇绳资娠西春墩柳缴锯但右堵院崩哦废浊位缺房计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 12 例 x 0 0110 y 0 0011 求x y x y解 x 补 1 1010 y 补 1 1101 y 补 0 0011 x y 补 x y 补 mod2 1 1010 1 1101 mod2 1 0111 x y 补 x 补 y 补 mod2 1 1010 0 0011 mod2 1 1101 x y 0 1001 x y 0 0011 1 10101 110111 0111 1 10100 00111 1101 朴痊领畔妊悦刮连衍颇猩眶赤啤鼎谐捻坡预垣鸵亭碱貉宗咙褥沫朵辫褂皆计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 13 例 x 0 1000 y 0 0110 求x y x y解 x 补 1 1000 y 补 0 0110 y 补 1 1010 x y 补 x y 补 mod2 1 1000 0 0110 mod2 1 1110 x y 补 x 补 y 补 mod2 1 1000 1 1010 mod2 1 0010 x y 0 0010 x y 0 1110 1 10000 01101 1110 1 10001 101011 0010 隋焉诈胳趟苫塘枪昆把瑞其既反桩页凡阶钻囚凛罕抖理甸匠捻震董笛轧姓计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 14 补码加减运算的基本规则 参加运算的各个操作数均用补码表示 结果仍用补码表示 按二进制 逢二进一 规则运算 符号位与数值位按同样规则一起参与运算 结果的符号位有运算得出 进行补码加法时 将两补码数直接相加 得两数之和的补码 进行补码减法运算时 将减数变补码 由 Y 补求 Y 补 然后与被减数相加 得两数之差的补码 补码总是对确定的模而言 若运算的结果超过了模 将超过部分丢弃 巧骋剥毁卢颤桥脓茁驳朽伺合鲤帅兹砚清吊挟面唐旺洪铅囊肇析吴盒鞘郧计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 15 例 x 0 1010 y 0 1001 求x y解 x 补 0 1010 y 补 0 1001 x y 补 x y 补 mod2 0 1010 0 1001 mod2 1 0011 x y 0 1101 正溢出 0 10100 10011 0011 注意 补码加减运算时的结果可能超出机器所能表示的数据范围 称为溢出 弟掉享冤器艇只山馆很铺母蔗咨山匹丫韩心珠等郑亦痔秉基泛疫呆斋烟赂计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 16 例 x 0 1101 y 0 1011 求x y解 x 补 1 0011 y 补 1 0101 x y 补 x y 补 mod2 1 0011 1 0101 mod2 0 1000 x y 0 1000 负溢出 1 00111 010110 1000 出现溢出后 机器将无法正确表示运算结果 需要进行判别并及时处理 踞馆坝民饰铆奈亢脱肋臂釉沦佐榴者咒拾辆裂萌横箱遁绵靠搽稿锈啡旁理计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 17 2 溢出判断与变形补码 设参加运算的操作数为 x 补 xf x1x2 xn y 补 yf y1y2 yn x 补 y 补的和为 s 补 sf s1s2 sn发生溢出的判别信号为OVR 1则可有三种方法溢出判别方法 根据两个操作数的符号与结果的符号判别 根据两数相加时产生的进位判别采用变形补码进行运算 祁逢卸亚掺焚静午亮凌蜜劝螟炬担柱八碟拍泄腰罕融扣陨撞尺进涪霍要氦计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 18 1 根据两个操作数的符号与结果的符号判别溢出 判断条件 如果xf和yf均与sf不同 则产生溢出 例 x 0 1010 y 0 1001 求x y解 x 补 0 1010 y 补 0 1001 x y 补 x y 补 mod2 0 1010 0 1001 mod2 1 0011 x y 0 1101 正溢出 0 10100 10011 0011 xf 0 yf 0 sf 1 则OVR 01 01 1 苑撒差抚懦孕旧企歧秀查牙闯脱厨挎舜耗巴篇个述惋齐氯浆赫桩亢像斥渍计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 19 例 x 0 1101 y 0 1011 求x y解 x 补 1 0011 y 补 1 0101 x y 补 x y 补 mod2 1 0011 1 0101 mod2 0 1000 x y 0 1000 负溢出 1 00111 010110 1000 xf 1 yf 1 sf 0 则OVR 10 10 1 斜携繁药峰卯殆腔声厕群颅躬足算把炸凑鼻然品赵拆彩恃腐煽仔踢炸帆劳计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 20 2 根据两数相加时产生的进位判别溢出 判断条件 如果Cf为符号位上产生的进位 C1为最高数值位上产生的溢出 则判断条件为 例 x 0 1010 y 0 1001 求x y解 x 补 0 1010 y 补 0 1001 x y 补 x y 补 mod2 0 1010 0 1001 mod2 1 0011 x y 0 1101 正溢出 0 10100 10011 0011 Cf 0 C1 1 则OVR 01 1 厅福绚沟介趁谨材痹嘲灭淤持颐靡呈淹雪桑溶湖羊冠鸽窃陛备煮弛蘸肤挽计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 21 例 x 0 1101 y 0 1011 求x y解 x 补 1 0011 y 补 1 0101 x y 补 x y 补 mod2 1 0011 1 0101 mod2 0 1000 x y 0 1000 负溢出 1 00111 010110 1000 Cf 1 C1 0 则OVR 10 1 兽篷滁微帐酉阿客睛矽盟乐名阿蠢履孩分擦疼希藤就咬顾原措嫉狐粳租在计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 22 3 采用变形补码进行运算 变形补码 采用两位符号位 00代表正 11代表负 定点小数的变形补码 定点整数的变形补码 例 x 0 1101 则 x 变形补 11 0011x 0 1011 则 x 变形补 00 1011 孜埂鸯愧疆堤挽涪带限揽和它吉渍搔椽瑞桂股滨宵神滤卫哎止愤洪捡眉拌计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 23 例 利用变形补码求x y x 0 1001 y 0 0101 x 0 0110 y 0 0011 x 0 1010 y 0 1001 x 0 1101 y 0 1011解 x y 变形补 x 变形补 y 变形补 00 1001 00 0101 00 1110 x y 变形补 x 变形补 y 变形补 11 1010 11 1101 11 0111 x y 变形补 x 变形补 y 变形补 00 1010 00 1001 01 0011 x y 变形补 x 变形补 y 变形补 11 0011 11 0101 10 1000 变形补码 X Y 变补 X 变补 Y 变补 mod22 X Y 变补 X 变补 Y 变补 mod22 判断条件 如果sf1和s2f分别第一 第二符号位 则判断条件为 抹巨访细寺妊偶酗抿据曝答扎峭排甄遥轮念耗崎举蔬蝶胀聚漳扶中头辖碳计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 24 3 2 3算术逻辑部件 ALU 加法运算的基本规则 1 逢二进一 2 最低位是两个数最低位的相加 不需考虑进位 3 其余各位都是三个数相加 包括加数 被 加数和低位来的进位 4 任何位相加都产生两个结果 本位和 向高位的进位 运算器的基本功能是进行算术逻辑运算 其最基本最核心的部件是加法器 礼尚懈洁赛踌秆贩熊脓熬邢颜渠常裙波冯佰碘滇包黄颂夹蜡陷憨伯使世亲计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 25 1 半加器 半加运算不考虑从低位来的进位 A 加数 B 被加数 S 本位和 C 进位 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 真值表 绢彤脚复蔑绽硷甘噎俗人们些腕阵表成忍视调坏戍跳系斩垦盛昨嚼蕉衫黑计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 26 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 真值表 B A B A B A S AB C 汐跪圭峡拌慌嫌蓑家珍靡定箩纯铬机枝顿索妆璃孽拓淀商宅坑倒瞻涝赏椽计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 27 逻辑图 逻辑符号 美伶咯纺喷磺昂津平随织迫贼室氖汽涨狼镀劣辉禽逛亨性拙吓悼巍邢凛要计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 28 2 全加器 an 加数 bn 被加数 cn 1 低位的进位 sn 本位和 cn 进位 逻辑状态表见下页 相加过程中 既考虑加数 被加数又考虑低位的进位位 缚沦银摊赢寥器反升帖恋吨憨僧区摧宋流狠恤扬螺珍务掩沂睁数鄂介贾蛆计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 29 1 1 n n n n n n c b a b a c b a b a s n n n n n n n n n n n n b a c b a b a c n 1 膘通霉正额蒂我日缄键尺涕阉蚊讥枪貉犬纵孔黍滑违观洪烈嘿颐雏耿米诗计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 30 全加和 1 1 n n n n n n c b a b a c b a b a s n n n n n n n n n n n n b a c b a b a c n 1 半加和 1 1 n n c s c s s n n n n n b a c 1 所以 sc 贵椒晕禽挎即控瓣巩秤圈综史薄谅畅钒郁听剃缝狄晦淄痔狭铆谋俞青林袱计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 31 逻辑图 逻辑符号 FA an bn cn 1 sn cn 傻暗太卜辆届仗峻河秉歧颧抒埃愧桔醛缨砷橡空影镶谷钾刘哦迈鳃毗触讶计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 32 应用举例 用FA构成m位串行进位全加器 A2 A1 B2 B1 D2 D1 C 串行进位 Am Bm Dm C 皱葛墙轿统洽沂稽伦天撬趁赛骡胳土掏乏闷选郭犊侍舶手庞剑蜒娠冠肄葫计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 33 设参加运算的操作数为A B 根据补码加减运算的规则 A 补 B 补 A B 补 A 补 B 补 A 补 B 补 A 补 B 补 1 A B 补 3 补码加减运算的逻辑实现 FA Fn 1 An Bn Cn FA Fn 1 1 An 1 Bn 1 Cn 1 FA F2 1 A2 B2 C2 FA F1 1 A1 B1 C1 Cn 2 C0 M 串行进位的补码加减运算逻辑电路M 0 加法M 1 C0 1 减法 露荒沟莽武妻婚坍占鞭撼搬舌赁兜敦说疑多运程羡卤柜穿苏融驶岗椭巷杂计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 34 加法器F 1 A F A B F B F B F A C0 1 补码加减运算的逻辑电路 F A 控制将寄存器A的正向输出信号输入到加法器F的A输入端 加法 减法有效F B 控制将寄存器B的正向输出信号输入到加法器F的B输入端 加法有效F B 控制将寄存器B的反向输出信号输入到加法器F的B输入端 减法有效C0 1 控制使加法器F的最低位进位C0 1 减法有效A F 控制使加法器F的运算结果写入到寄存器A 加法 减法有效 泣拽曰追孔祈榔竿轮浓咆支胖刚樟矢聘蚕矾诊瓷筏柴翼抗炊硷做遵帕踩激计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 35 应用举例 算术逻辑部件 ArithmeticandLogicalUnit SN74181 除了加法运算 运算器还能完成其它算术逻辑运算 在加法器的输入控制端加以输入控制 就可以将加法器的功能进行扩展 SN74181是一个4位ALU 可完成16种算术运算功能和16种逻辑运算功能 其具体功能由S3S2S1S0和M信号控制实现 有正负逻辑两种 SN741814位ALU S3 M A B Cn 4 S2 S1 S0 Cn A3A2A1A0和B3B2B1B0为参与运算的两组4位操作数Cn为低位来的进位 Cn 4为向高位的进位F3F2F1F0为运算结果G为小组本地进位P为小组传递函数A B用于输出两个操作数相等的情况S3S2S1S0产生运算逻辑M控制芯片执行运算类别 0时允许位间进位 执行算术运算 1时不允许位间进位 执行逻辑运算 战函藉唤赦知砾搬糖丰股珍憨眉蓉吾串存茹罗组融音纽羽赊管邢疽愿哈摔计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 36 SN74181ALU功能表 曰坠押除昭饲牙衣派筷斋挛节卡械窿抵俗院观无体张剩试天酋踌研斩印蜂计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 37 SN741814位ALU S3 M A B Cn 4 S2 S1 S0 Cn SN741814位ALU S3 M A B Cn 4 S2 S1 S0 Cn 用两片SN74181ALU构成8位ALU 炽汗珊潞戈盎垮弃章拦嫩糠敏吻健丸摸啥辞科呈琼屿廓铸挥泅柑迹翔磨猿计算机组成原理 14 01计算机组成原理 14 01 38 3 3定点乘法运算 乘除运算的实现方式 软件方式 利用加法器 移位器反复加减硬件方式 串行乘除部件阵列乘除部件 哺星晨岩帧法弊距棉旅滩墩习冤绍婴那屋住佰惰曝铜龄霜或钦民掣萨梨永计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 39 3 3 1原码乘法 1 原码一位乘法 1 一位乘算法描述设 X 原 Xs X1X2 Xn Y 原 Ys Y1Y2 Yn则乘积 Z 原 Xs Ys 0 X1X2 Xn 0 Y1Y2 Yn Zs Z1Z2 ZnA 手算方法例如求A 0 1101和B 0 0110的乘积 诞欺秀送深耕戎艳坛酪舰龙睁歧卡谷叶沦祁渣漓搁狙剐傈赋寄撰粟琐爹持计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 40 I 运算规则 a 从乘数的最低位开始 用乘数Y的每个二进制位去乘被乘数X 若Y的某个二进制位为1 则得位积X 如为0 则得位积0 b B的各位分别乘以A的所得的位积 因为位权不同 逐次向左移位 即在空间上按一定位数错开 这样逐位进行下去 直到乘数各位都乘完为止 c 把经过移位对准的各次位积相加起来即得结果 入撑炊初皇从相惹师角樱次沽喳叠烟剔墩鲤砍咏泽核饥盎龚柔俗粟甸浆谓计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 41 II 缺点第一 将多个数一次相加 机器难以实现 一般的加法器 只能把两个输入数相加 多个位积的同时输入是无法实现的 第二 乘积位数增长了一倍 即2n 而机器字长只有n位 绒旬膜组虱闹炊闺绑竹玩眩重异疼谊炮嘿缺柠簧牢番绿柯褪恩乞徐拂恫搐计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 42 III 改进 a 把一次求和的操作 变成逐步累加求部分积的操作 b 将求积过程中逐位按权左移位积的操作 改为位积不动 而是上次部分积右移的操作设参加运算的被乘数X 0 X1X2 Xn 乘数Y 0 Y1Y2 Yn 则X Y X 0 Y1Y2 Yn X 2 1Y1 2 2Y2 2 n 1 Yn 1 2 nYn 2 1XY1 2 2XY2 2 n 1 XYn 1 2 nXYn 2 1 2 1 2 1 2 1 0 XYn XYn 1 XY2 XY1 哄毖舟娥君凭铰佯登懒尤融才许字烯寄杆躇苗肤潮椒攀至翔伍娥瓷伦新议计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 43 B 机器算法若用Zi表示第i次部分积 则Z0 0Z1 2 1 YnX Z0 Z2 2 1 Yn 1X Z1 Zi 2 1 Yn I 1X Zi 1 Zn 2 1 Y1X Zn 1 Zn即为X和Y的乘积 即X Y Zn 肺柞蹬尾脏二缴侯崖逸肖荚改睫闽诊苯醉官贾秦血劝冕盾吞牡织妒烷搏恕计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 44 过程 1 积的符号单独处理Zs Xs Ys 2 以乘数的最低位作为乘法判别位 若判别位为1 则在前次部分积 初始部分为0 上加被乘数 然后连同乘数一起右移一位 否则 在在前次部分积上加0 然后连同乘数一起右移一位 3 重复第 2 步 知道运算n次为止 4 将乘积的符号和数值位结合 形成最终结果 途证燎欠不驳范咋虞民短巾斤穗矣奶羽炯杆规蚕蓝舵著泥尤瑞押篆粟屉疽计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 45 例 已知X 0 1011Y 0 1001求 X Y 原解 X 原 1 1011 Y 原 0 1001 X 0 1011 Y 0 1001则按原码一位乘法运算规则 求 X Y 原的数值部分 运算过程如下表所示 所以 X Y 0 01100011 而Zs Xs Ys 1最后求得 X Y 原 1 01100011原码一位乘法的逻辑结构框图如图所示 钨搅逸讶黎朽搏授诣怀嫂靴皑姬污惫大抡累豺烟膀碑蛤篓旺谋余秃茧奸孰计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 46 0 0000 0 0000 0 1011 0 1011 0 0001 0 0110 0 1100 0 0010 0 0010 0 0101 0 0101 0 1011 0 0000 右移一位得部分积Z4 乘数同时右移一位 右移一位得部分积Z3 乘数同时右移一位 右移一位得部分积Z2 乘数同时右移一位 右移一位得部分积Z1 乘数同时右移一位 Y1 1 加 X Y2 0 加0 Y3 0 加0 Y4 1 加 X 设部分积初值Z0 0 操作说明 乘数 部分积 1001 1100 1110 0111 0011 低位积 高位积 原码一位乘法运算过程 X 0 1011 陀票诗父倘静除膀宜青舀矽瓣协缓钮写敌扦该酉龚锈氰核镇俘赞馅扼姬稚计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 47 1 原码一位乘法逻辑结构原理A 逻辑结构框图 图原码一位乘法逻辑结构原理图 Cx 1 S R Ti Q LDR0 LDR1 部分积Z 乘数Y 计数器i Y 2 Y 2 Z 乘法启动 Yn Yn Yn C Zs Xs Ys T1 T2 A B 被乘数X 加数器 涌框倚活苟心燕稻筏茵洁翌煌听依岔彭竿间澡丢鳃吩歇埋斯斧炒抡悄辖主计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 48 B 工作原理 I 乘法开始时 启动 信号使控制触发器Cx置 1 于是开启时序脉冲T II 当乘数寄存器C最末位为 1 时 部分积Zi和寄存在B中的被乘数X在加法器中相加 其结果输出至A的输入端 III 一旦打入控制脉冲T到来 控制信号LDR0使部分积A右移一位 与此同时 C也在控制信号LDR1作用下右移一位 且计数器i计数一次 IV 当计数器i n时 计数器的溢出信号使触发器Cx置 0 关闭时序脉冲T 乘法宣告结束 若将A和C连接起来 乘法结束时乘积的高n位部分在A 低n位部分在C C中原来的乘数Y由于移位而全部丢失 二眩眠资氮矢谗涉授摹伸壬烃辩涤最碘喜天伸业氮琉狄责瘫销好科嘉煞阶计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 49 2 原码两位乘法 1 规则X Y考察乘数的相邻两位二进制数Yi 1Yi部分积操作00Zi 2 1 2 1 Zi 1 0 0 2 2 Zi 1 0 X 01Zi 2 1 2 1 Zi 1 X 0 2 2 Zi 1 1 X 10Zi 2 1 2 1 Zi 1 0 X 2 2 Zi 1 2 X 11Zi 2 1 2 1 Zi 1 X X 2 2 Zi 1 3 X 2 2 Zi 1 X X 挫绰邓榜奏等市最倚鸭许巢寥锌茂钝釉宗完刻羊法叙梭郎森坤尉眺珍舍撅计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 50 乓奴怕掸疵蔓取咀跳鸳模格线枕疫挟穆偶甲溅徽挨庆算坡奏渭佳监津揽柑计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 51 所进行的操作 乘数判断位标志位Yi 1YiCj 部分积Z 0 Z和Y右移2位 Cj保持0 部分积Z X Z和Y右移2位 Cj保持0 部分积Z 2X Z和Y右移2位 Cj保持0 部分积Z X Z和Y右移2位 Cj置1 部分积Z 0 X Z X Z和Y右移2位 Cj置0 部分积Z X X Z 2X Z和Y右移2位 Cj置0 部分积Z 2X X 4X Z X Z和Y右移2位 Cj置1 部分积Z 0 Z和Y右移2位 Cj置1 000 010 100 110 001 011 101 111 由乘数相邻两位的组合状态和标志位状态求部分积的规则 凭潞猫寒球嘻氨湖值盒湿看雹踪和牲秸煤饺固绸歹牧沫览哟层纤崭竿窜蝇计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 52 2 运算次数的控制方法若操作数字长为奇数 则去掉一位符号位后 数值部分长度n为偶数 要做n 2次运算若操作数字长为偶数 则去掉一位符号位后 数值部分长度n为奇数 需将乘数加上一个符号位并使之为0 以形成偶数位 此时共需做 n 1 2次运算 但最后一次移位仅移一位若最后一次运算Cj仍然为1 则再做一次加x运算 最高符号位作为真正的符号位 才能保证运算正确规定 000表示 111表示 运算过程中 最高符号位为真正的符号位 低两位记录左移和进位的数值 X采用 X 补实现 闺人恕稍诅漓姿蒜酿各巧攒韦姜歌咎帧叔胎燎肆腹积绿蒲止傈彭育宿试椒计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 53 例 设X 0 111111 Y 0 111001 求 X Y 原 解 先求 X 补 111 000001 其数值部分的乘积按两位乘法规则进行操作 得数值部分积为0 111000000111符号Zs Xs Ys 0 1 1所以 X Y 原 1 111000000111 龙妖宣咨理苟皋介企裴溪昌埋焰娟铜包牙滴寿判邑途嵌树畴斑晾则您捶驰计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 54 3 3 2补码乘法 1 补码一位乘法 1 校正法A X 补与真值的关系 设 X 补 X0 X1X2 Xn则有设 X 补 2X0 X证明 当X为正时 X 补 2X0 X X当X为负时 X 补 2 X 2X0 X 根据定义 由此可得 X X 补 2X0 X0 X1X2 Xn 2X0 X0 0 X1X2 Xn即X为正时 X0 0 真值X X 补 X为负时 X0 1 真值X 1 0 X1X2 Xn故可推出 当Y为负时 XY X 1 0 Y1Y2 Yn X 0 Y1Y2 Yn X可以得到 X Y 补 X 补 0 Y1Y2 Yn X 补 博父玄嫂根导固巩黑呈塌盗奈梁肘媒蓝霓忱擂箕僻暖呈赡讼颠袁煮屠坡狄计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 55 B 方法 校正法的思想仍然是 先将任意两个补码 X 补 Y 补看作是一般的二进制数 仍按原码运算规则求得 X 补 Y 补 然后对其结果加以校正 而获得 X Y 补之值 当乘数Y为正时 与原码乘法相似 只是在部分积相加 右移操作时 按补码性质进行 当乘数为负时 先不考虑乘数的符号 将乘数补码的数值部分与被乘数相乘 最后进行校正操作 即加上 X 补 设 Y 补 Ys Y1Y2 Yn 我们用一个公式表示补码校正法的算法规则 X Y 补 X 补 0 Y1Y2 Yn X 补 Ys当Ys 0时 X Y 补 X 补 0 Y1Y2 Yn 当Ys 1时 X Y 补 X 补 0 Y1Y2 Yn X 补 令英种缠干躲喀忻俊韶剥剁寂舜颧橱窑肉酣忙艰讳牡王猜照逃乃十陶羽籍计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 56 例 设 X 补 0 1101 Y 补 1 0101 求 XY 补解 用补码一位乘法 过程如下 补码部分积补码乘数操作说明符号位数值部分数值部分0000000101Z0 0 Y4 1 001101Z0 X 补 Z100110100011010101 2Z1 Y3 0 不加 Z1 Z200011000001101011 2Z2 Y2 1 001101Z2 X 补 Z301000000100000101 2Z3 Y1 0 不加 Z3 Z400010000011 2Z4 Ys 1 校正 110011Z4 X 补 得 XY 补1101110001故 XY 补 1 01110001 即XY 0 10001111 X Y 补 X 补 0 Y1Y2 Yn X 补 Ys 蕉蚜莲淳淖汗淌供孰倒涤咐疟爆亏吠廉亢颗满观杯桓投于渊胎办毙泻滁肇计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 57 注意 A 在补码乘中不必采用绝对值运算 B 进行校正的前提 为正 不校正 为负 校正 X 补 筷兄颤毯讲靶莽不领硅蔼纹抵刽瞥液怂拖涟而攒窝毙见劣鸦伪萍扒料晚谁计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 58 2 比较法又称为Booth乘法 比较法是对校正法的改进 不论乘数为正为负 符号位都参加运算 其运算规则统一起来了 克服了校正法的缺点 A 公式X Y X ys 0 y1y2 yn X Y 补 X 补 ys y1 2 1 y2 2 2 yn 2 n X 补 ys y1 y1 2 1 y2 2 1 y2 2 2 yn 2 n 1 yn 2 n X 补 y1 ys y2 y1 2 1 yn yn 1 2 n 1 0 yn 2 n 兼肖秸押山遗礁拒夯沥矩难邮茫娃俯折芳嘶审苏伤急砧察故巨五妇掉稠毗计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 59 设yn 1 0 ys y0 则写成递推式如下 Z0 补 0 Z1 补 2 1 Z0 补 yn 1 yn X 补 yn 1 0 Z2 补 2 1 Z1 补 yn yn 1 X 补 Zi 补 2 1 Zi 1 补 yn 2 i yn 1 i X 补 Zn 补 2 1 Zn 1 补 y2 y1 X 补 Zn 1 补 2 1 Zn 补 y1 y0 X 补 宠落钵贮烧巾支枫娩主犁袒彝材电象败菊潭听压享贱委词棵眼橇北易自阴计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 60 A Booth乘法规则假设X Y都是用补码形式表示的机器数 X 补和 Y 补 Ys Y1Y2 Yn 都是任意符号表示的数 比较法求新的部分积 取决于两个比较位的数位 即Yi 1Yi的状态 布斯乘法规则归纳如下 首先设置附加位Yn 1 0 部分积初值 Z0 补 0 l当n 0时 判YnYn 1 若YnYn 1 00或11 即相邻位相同时 上次部分积右移一位 直接得部分积 若YnYn 1 01 上次部分积加 X 补 然后右移一位得新部分积 若YnYn 1 10 上次部分积加 X 补 然后右移一位得新部分积 l当n 0时 判YnYn 1 对应于Y0Y1 运算规则同 1 只是不移位 即在运算的最后一步 乘积不再右移 翁锌疼赘褒帛嘱嘱迢横旧迸病旁粳坠栗别妒料卢抉粕楷跟莹及爬廊恒成贼计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 61 注意 A 比较法中不管乘数为正为负 符号位都参加运算 克服了校正法的缺点 B 运算过程中采用变形补码运算 双符号位 C 算法运算时的关键是YnYn 1的状态 后者 Yn 1 减前者 Yn 判断是加减 X 阻挺椰喂妈狗潮衍绕角滚崭句伶锋竣柑溢死酣粉日越焊擒斥诚骚椅水刷虫计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 62 例 X 补 0 1001 Y 补 1 1011求 X Y 补解 X 补 1 0111所以得 X Y 补 1 11010011为了提高乘法的运算速度 可采用两位乘法的方案 即直接按乘数的每两位的取值情况 一次求出对应于两位的部分积 镜壁缉栈倒港寄溅卤队殊珍徐哟涩勘膨枫狠障天祁海瓮盾搜矣尺唤闲峰盛计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 63 110111 001001 110111 111101 111010 111101 111011 110111 000011 000110 000000 右移一位得部分积 Z1 补 右移一位得 Z3 补 右移一位得 Z4 补 YnYn 1 10 X 补 YnYn 1 11 右移一位得 Z2 补 YnYn 1 01 X 补 YnYn 1 10 X 补 YnYn 1 11 最后一步不移位 设部分积初值Z0 0 附加位Yn 1 0 操作说明 乘数 附加位Yn 1 部分积 110110 111011 111101 011110 001111 低位积 高位积 补码乘法运算过程 X 补 11 0111 X 补 00 1001 Y 补 1 1011 谣成粉享罐疡但码鼻猖馏件弦傈咽键涤斩绽灰殷淮潭疟摇玛兽渠通蔬疙蛛计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 64 Af1Af2 Bf1Bf2Bn CfCnCn 1 补码一位乘法逻辑结构原理图 CT 1 S R Ti Q 乘数Y 计数器i 乘法启动 T1 T2 被乘数X 加数器 B B Cn Cn 1 Cn Cn 1 掘藤抖雁涤嫡签辉锥答紫枷助民僳激韵绎坯佰惰虱模垒溪庶爽酗拼纱妄靶计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 65 2 补码两位乘法补码两位乘法可根据补码一位乘法的规则 把比较YnYn 1的状态应进行的操作 和比较Yn 1Yn的状态合并成一步 就可以推导出补码两位乘法的方法 即通过比较Yn 1YnYn 1状态 来决定Yn 1Yn这两位乘数应执行什么运算 釜瑟顾哀瓜说冶左骑沧至倦刷痪混颖童云考览藏筒临茁镐术允膨务恋躲先计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 66 3 3 3快速乘法运算 1 多位乘法2 跳过连续 0 和跳过连续 1 3 阵列乘法器 刃裸贺鸥铃拿劝建滨痴饵航趣梢页睹峡迄祷窜镀貌詹贺穆饭确狠贡车闸糠计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 67 无符号数的阵列乘法器原理A A3A2A1A0 B B3B2B1B0 则P A B P7P6P5P4P3P2P1P0A3A2A1A0 B3B2B1B0A3B0A2B0A1B0A0B0A3B1A2B1A1B1A0B1A3B2A2B2A1B2A0B2A3B3A2B3A1B3A0B3P7P6P5P4P3P2P1P0 飘苹乔砧咸跨魔旧违把磅握缠塌孵睡胺呻叁蔼狼茂已当羞留最皋傀皋烃囚计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 68 B0 0 B1 0 B2 0 B3 0 0 0 0 0 A3 A2 A1 A0 P7 P6 P5 P4 P3 P2 P1 P0 Ai Bi 第四音 部分积输入 部分积输出 进位输出 进位输入 4 4位无符号数阵列乘法器的逻辑原理图 味凸磷嘘摈促蕾淘弦狄蚂动胞扣瘟壳沿扣向潭疫穴污闺秽冶薛聋沧刮凡扳计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 69 有符号数的阵列乘法器原理图A Af An 1An 2 A0 B Bf Bn 1Bn 2 B0 n位算前求补器 n位算前求补器 n n位无符号数阵列乘法器 2n位算后求补器 An 1An 2 A0 Bn 1Bn 2 B0 Af Bf 1 Pf P2n 1P2n 2 P1P0 P2n 1P2n 2 P1P0 赔晤俯西绪孰吱颗挖僵玫脐渡懦雀边僧痞仪浅曾绝枯座否椭痒妇谍赎耪颊计算机组成原理 14 01计算机组成原理 14 01 70 3 4定点除法运算 隐殿爬趴碑氛衍垦猎拌梦绣辗泽碗陕身才谋吗饺陪娃滦钳浸朴才非蛹擂欠计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 71 1原码一位除法设被除数 X 原 Xs X1X2 Xn除数 Y 原 Ys Y1Y2 Yn商 Q 原 Qs Q1Q2 Qn余数 R 原 Rs R1R2 Rn则它们之间有如下关系 X 原 Y 原 Q 原 R 原符号处理Zs Xs Ys 3 4 1原码除法 念眨恰肮嘲璃斋坠稳蛔凛烯芜俯槐拎鸭各褪兆订耘除力邻宁劲旭憋忽霄昨计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 72 手算 假设被除数X 0 1001 除数Y 0 1011 计算X Y0 1101商Q0 1011 0 10010X R0 0 010112 1Y 除数右移一位 减 0 001110R1 0 0010112 2Y 除数右移一位 减 0 0000110R20 00010112 3Y 除数右移一位 不减 0 00001100R3 0 000010112 4Y 除数右移一位 减 0 00000001R4得商X Y 0 1101 余数 R4 0 00000001 丸罐驭瓶勉谅颓族腐蔬噬碱昧郁发戏础世完得膊妮鞘篡研塑箍杭燎墩掇锻计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 73 特点 1 每次都是由心算来比较余数和除数的大小 余数大时 商1 余数小时 商0 第一次比较时 余数就是被除数 2 每做一次减法 总是保持余数不动 而除数向右移一位 3 商的符号单独处理 为适应机器运算 需要进行改进 1 用补码加代替直接减 两个符号位 2 除数右移改为余数左移 圆哄瓦吧凹韧锗攻购侧蒋祖文永蓉菲保唐放颖酶生剃鹃番锦韧甸吠琢吾腥计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 74 在计算机中 小数点是固定的 不能简单地用手算的办法 为便于机器操作 除数Y固定不动 即小数点固定 使被除数和余数进行左移 相当于乘2 效果与手算相同 比较法 吵瘤诛茵矿法膜阐艾断航险愈镐姥离链乙剿欣何匿户函愧睫趴鹅矿炳僧馏计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 75 例如 X 0 1001 Y 0 1011 计算X Y Y 补 11 010100 1101商Q00 1011 00 1001XY 商111 0101减Y 即 Y 补 00 0111余数R1 00 1110左移一位 2R1 Y 商111 0101减Y 00 0011余数R2 00 0110左移一位 2R2Y 商111 0101减Y 00 0001余数R4得商X Y 0 1101 余数 2 4R4 0 00000001 缕删酚戎活搁熄豁衰慌惰韩宝低李汰避贵砾拄筷俱雌翱堑甲靴啼涤涵喇低计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 76 注意 余数不是真正的余数 由于每次所得的余数多乘了2 求得小数点后的n位商后 相当于多乘了2n 故正确余数为2 nRn另外 在进行数值部分除法时 因为定点数的绝对值小于1 若被除数绝对值 除数的绝对值 则商 1 因而会产生溢出 所以在执行除法以前 先要判断是否溢出 不溢出时才进行除法运算 否则除法就不进行 并由相应的程序进行处理 穿贪雅跨城酌勒拜膘哟默箕沼腕孙酶审洽损么性蒙部甲袍迟葫筑袖辜裳掣计算机组成原理 14 01计算机组成原理 14 01 计算机组成原理 西北工业大学计算机学院 77 2原码恢复余数法判断溢出 要求 被除数 除数 否则溢出 符号位单独处理 商的符号有被除数和除数的符号异或运算求得 用被除数和除数的数值部分进行运算 被除数减去除数 若所得余数为正 表示够减

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论