版权所有,引用请注明出处 第三章、运算方法与运算器 原著 谭志虎 主讲(改编) 蒋文斌.

Slides:



Advertisements
Similar presentations
第一章 廣告概論 授課老師:. 廣告學的定義 一個企業與它的產品或服務,透過大量的傳 播媒體,例如:電視、報紙、廣播、雜誌、 網路、郵寄 DM 、戶外展示、交通運輸工具、 手機簡訊、互動電視、手機電視、店頭展示、 跑馬字幕 …… 等,以傳送相關廣告訊息給目 標觀眾、聽眾或讀者等,以達成企業或政府 單位在行銷上或公益上的目標。
Advertisements

大学物理实验 第一讲 南昌大学物理实验中心 2013年2月.
无锡商业职业技术学院 机电工程学院党总支孙蓓雄
这是一个数字的 乐园 这里埋藏着丰富的 宝藏 请跟我一起走进数学的 殿堂.
南京市国税局国际税务管理处 二00九年二月二十四日
全面了解入党程序 认真履行入党手续 第一讲 主讲人:陈亭而.
中共湖北大学知行学院委员会党校 入党材料规范填写指导 学工处 李华琼 二〇一三年十二月.
云南财经大学2010年党员发展培训—— 党员发展工作培训 校党委组织部 2010年9月17日.
此幻灯片可在网址 上下载 概率论与数理统计讲义 第14讲 此幻灯片可在网址 上下载.
Statistical Probability for Production Simulation
新课程背景下高考数学试题的研究 ---高考的变化趋势
第7课 一元二次方程 同德中学羊恒兵.
第8课 列方程(组)解应用题.
直 线 系 方 程 1. 直线系方程的定义 2.. 直线系方程的应用 四川江油中学现代技术教研组.
22.3 实际问题与一元二次方程(1).
医师变更执业注册申请审核表 填写说明 医务部.
第三讲 匀变速直线运动 学 科:物 理 主讲人:吴含章. 第三讲 匀变速直线运动 学 科:物 理 主讲人:吴含章.
經濟部工業局 產業升級創新平台輔導計畫 (創新優化計畫)
基层违纪违法案件 查办的基本程序 基本要求和案例解析 学 思 践 悟 基层违纪违法案件 查办的基本程序 基本要求和案例解析 内蒙古纪委案件审理室 方瑛 2015年5月24日.
第三讲 事务性文书的写作 (计划 总结 调查报告 ).
几种常见应用文体示例.
2014年工作总结 暨2015年工作展望.
销售部工作总结 二O一六年五月.
南宁市兴宁区社区档案整理办法 南宁市兴宁区档案局 2010年 地址:南宁市厢竹大道63号兴宁区政府4楼
清仓处理 跳楼价 满200返160 5折酬宾.
第八章 诉讼法 第一节 诉讼法概述 第二节 民事诉讼法 第三节 行政诉讼法 第四节 刑事诉讼法.
第六章 中央处理器 中央处理器,简称CPU,是整个计算机的核心,它包括运算器和控制器。
致亲爱的同学们 天空的幸福是穿一身蓝 森林的幸福是披一身绿 阳光的幸福是如钻石般耀眼 老师的幸福是因为认识了你们 愿你们努力进取,永不言败.
1.1.2 四 种 命 题.
普及纳米知识 推动科技进步.
第四节 统计初步和数据整理 在这一节中我们将介绍统计学的基本知识。统计学是一门古老而又年轻的学科,例如为了征兵和收税的早期的人口统计,甚至在公元前就出现了。但是近代数理统计学,却主要是从20世纪初开始发展的。其主要特征是运用概率论的知识进行统计推断。即从所研究的全部对象中抽取部分个体,并通过对这部分个体的观察和分析,对全部对象的有关问题作出推断。数理统计学已经建立了一套系统的理论,有着广泛的应用。下面先介绍统计学中最基本的概念。
世上孩子都是宝, 男孩女孩都一样。.
郑 州 日 产 专 营 店 申 请 计 划 书 申请单位: (盖章) 申请地区: 省.
通 知 通知是批转下级机关的公文,转发上级机关和不相隶属机关的公文,传达要求下级机关办理和需要有关单位周知或执行的事项,任免人员时使用的公文。
第8章 回归分析 本章教学目标: 了解回归分析在经济与管理中的广泛应用; 掌握回归分析的基本概念、基本原理及其分析应用的基本步骤;
第十八章 技术.
9.1 圓的方程 圓方程的標準式.
第三章 多维随机变量及其分布 §3.1 多维随机变量及其联合分布 §3.2 边际分布与随机变量的独立性 §3.3 多维随机变量函数的分布
概 率 统 计 主讲教师 叶宏 山东大学数学院.
第十四章 数理统计方法 §14.1 数理统计的基本概念 §14.2 参数的点估计 §14.3 区间估计 §14.4 回归分析 返回.
第 4 章 组合逻辑电路 4.1 组合逻辑电路的分析 4.2 组合逻辑电路的设计 4.3 常用MSI组合逻辑器件及应用
数据、模型与决策 汕头大学商学院 林佳丽.
导数及其应用 高三数学组 葛乃兵.
第6章 计算机的运算方法 6.1 无符号数和有符号数 6.2 数的定点表示和浮点表示 6.3 定点运算 6.4 浮点四则运算
大綱: 列式問題 代入消去法 加減消去法 根的相關問題 顧震宇 台灣數位學習科技股份有限公司
computer organization principle
第3章 计算机数控装置的插补原理.
二元一次聯立方程式 代入消去法 加減消去法 自我評量.
認識多項式 1 多項式的加法 2 多項式的減法
判別下列何者是 x 的多項式。以「○」表示是x的多項式,「×」表示不是 x的多項式 :
组合逻辑电路 ——中规模组合逻辑集成电路.
Xxxx集团有限公司 封面页.
工业行业工作总结 PPT宝藏_www.pptbz.com_提供下载.
6.4 特征根与特征向量 授课题目:6.4 特征根与特征向量 授课时数:4学时 教学目标:掌握特征根与特征向量的定义、 性质与求法
第 四 章 迴歸分析應注意之事項.
第3章 多维随机向量及其分布 3.1 随机向量及其联合分布函数 3.2 二维离散型随机向量 3.3 二维连续型随机向量
利用平方差公式因式分解 利用和的平方公式因式分解 利用差的平方公式因式分解 綜合運用
第三节 二项式定理.
两个变量的线性相关 琼海市嘉积中学 梅小青.
(5) (-5x)(-7x+2) =__________ (6) 7x(5x2+6x-3) = _______________ -27x2
线性回归.
通 信 原 理 指导教师:杨建国 二零零八年三月.
小梅到麵包店為全家買麵包和果汁當早餐,已知麵包一個25元,果汁一瓶18元;
第 五 章 插 值 法 与曲线拟合 插值法.
概率论与数理统计.
幂的乘方.
第八章 模糊模式识别 §8-1、模糊集的基本概念
数列求和 Taojizhi 2019/10/13.
利用十字交乘法將二次多項式化為兩個一次式的乘積。
8的乘法口诀 导入 新授 练习.
Presentation transcript:

版权所有,引用请注明出处 第三章、运算方法与运算器 原著 谭志虎 主讲(改编) 蒋文斌

Outline 定点补码加/减法运算 定点乘法运算 浮点运算 运算器组织 运算器部件举例

3.1 定点补码加/减法运算 定点补码的加减法运算 [X]补+ [Y]补= [X + Y]补 [X]补 - [Y]补= [X]补+ [-Y]补=[X-Y]补 - [Y]补= [-Y]补 (规则来源于补码的特点,也即模运算的特点。存在模运算与溢出的关系问题)

注意: 模运算与溢出的关系 (例如, 4位2进制运算器): 0.111+1.100=10.011 (0.875-0.5=0.375) (多出一位丢掉) √ 0.111+0.010 =1.001 (0.875+0.25=1.125) (机器得到- 0.875) 1.001+1.100 =10.101 (-0.875-0.5= -1.325) (机器得到+0.625) 结论: 运算的实际结果没有超出字长可以表示的数值范围,取模的结果是正确。 超出范围则溢出,出现错误。判断方法: 正 + 正 得负 或 负 + 负 得正

补码加法的几种情况及其溢出检测 符号位进位Cf (C0) ,最高位进位C1 0 .1 0 1 0 1 + 0 .0 1 0 0 0 0 .1 1 1 0 1 1 .1 0 1 0 1 + 1 .1 1 0 0 0 1 .0 1 1 0 1 1 正常结果 符号位进位舍去,正常结果 Cf = 0,C1 = 0 Cf = 1,C1 = 1 0 .1 0 1 0 1 + 0 .1 1 0 0 0 .0 1 1 0 1 1 1 .0 0 1 0 1 + 1 .1 1 0 0 0 .1 1 1 0 1 1 正正得负,正溢出 负负得正,负溢出 Cf = 0,C1 = 1 Cf = 1,C1 = 0 计算机如何识别运算结果是否溢出

单符号数溢出检测 Cf C1 V 1 V=Cf⊕C1 溢出信号V对应的真值表

双符号数溢出检测 f1 f2 0 0 .1 0 1 0 1 + 0 0 .0 1 0 0 0 0 0 .1 1 1 0 1 1 1 .1 0 1 0 1 + 1 1 .1 1 0 0 0 1 1 .0 1 1 0 1 1 Sf1 Sf2 符号位进位舍去,正常结果 正常结果 0 0 .1 0 1 0 1 + 0 0 .1 1 0 0 0 .0 1 1 0 1 0 1 1 1 .0 0 1 0 1 + 1 1 .1 1 0 0 0 .1 1 1 0 1 1 0 1 非正常符号位,溢出 非正常符号位,溢出 V = Sf1 ⊕Sf2

加法运算的逻辑实现 + ?0 ? 1…….…?n 多位加法运算依赖于各位逐位相加的运算, 所以我们先讨论一位全加器 [X]补=X0 X1………Xn + [Y]补=Y0 Y1…….…Yn ?0 ? 1…….…?n 多位加法运算依赖于各位逐位相加的运算, 所以我们先讨论一位全加器

一位全加器 输入: 加数Ai 、Bi 、低位进位输入Ci+1 输出: 和数Si ,进位输出Ci Ai Bi Ci+1 Si Ci 1

C B A S Å = C B A ) ( Å + = 一位加法器逻辑表达式 注意:逻辑表达式可以变形,故电路形式不是唯一的。 i+1 i

典型门 电路 & A B 与非 ≥1 A B 或非 非 1 A & A B 与 ≥1 A B 或 =1 A B 异或 =1 A B 异或非

FA 一位全加器逻辑电路实现 C B A ) ( Å + = 一位全加器时间延迟 一位全加器 Ci+1 Ai Bi Si Ci FA Si

双符号补码加/减器电路实现 s0 s1 sn-1 sn V C2 C C0 C1 …Cn-1 Cn Cn+1 Σ0 Σ0 Σ1 Σn-1 1、N个合起来; 2、M控制加减; 3、 串行行波加法器 V s0 s1 sn-1 sn C2 C C0 C1 …Cn-1 Cn Cn+1 Σ0 Σ0 Σ1 Σn-1 Σn M x0 y0 x1 y1 xn-1 yn-1 xn yn M由汇编语言中的加法指令add,以及sub等产生

快速加法器 能否提前产生各位的进位输入 使得各位的加法运算能并行起来 提高多位加法器运算速度

并行加法器进位链 Si=Xi⊕Yi⊕Ci+1 (Xi⊕Yi) Ci= XiYi + Ci+1 Gi = XiYi Pi=Xi⊕Yi Pi进位传递i函数,进位传递条件 Ci = Gi+PiCi+1

并行加法器进位链 能否提前得到当前位的进位输入, 这样就可以完全并行,大大提高运算速度 Cn = XnYn+(Xn⊕Yn)Cn+1=Gn+PnCn+1 Cn-1 = Xn-1Yn-1+(Xn-1⊕Yn-1)Cn=Gn-1+Pn-1Cn Cn-2 = Xn-2Yn-2+(Xn-2⊕Yn-2)Cn-1=Gn-2+Pn-2Cn-1 …… C2 = X2Y2+(X2⊕Y2)C3=G2+P2C3 C1 = X1Y1+(X1⊕Y1)C2=G1+P1C2 高位的运算依赖于低位运算进位的产生,计算不能并行

并行加法器进位链 Cn = XnYn+(Xn⊕Yn)Cn+1=Gn+PnCn+1 Cn-1 = Gn-1+Pn-1Cn = Gn-1+Pn-1 (Gn+PnCn+1) = Gn-1+Pn-1 Gn+Pn-1PnCn+1 Cn-2 =Gn-2+Pn-2Cn-1= Gn-2+Pn-2(Gn-1+Pn-1 Gn+Pn-1PnCn+1) = Gn-2+Pn-2Gn-1+Pn-2Pn-1 Gn+Pn-2Pn-1PnCn+1 …… C2 = G2+P2G3+P2P3G4 …+P2 P3 …PnCn+1 C1 = G1+P1G2+P1P2G3 +P1P2P3G4…+P1 P2 …PnCn+1

C C C C 1 2 3 4 C 5 X1 Y1 G1 P1 X2 Y2 G2 P2 X3 Y3 G3 P3 X4 Y4 G4 P4

先行进位电路CLA74182 先行进位的多功能算术/逻辑运算单元ALU74181 C1 C2 C3 C4 ⊕ ⊕ CLA74182 G1 P1 G2 P2 G3 P3 G4 P4 G1 P1 G2 P2 G3 P3 G4 P4 与门异或门电路 X1 Y1 X2 Y2 X3 Y3 X4 Y4 C5 ⊕ ⊕ Si=Xi⊕Yi⊕Ci+1 S1 S2 S3 S4

16位组内先行进位,组间串行进位 C1 = G1+P1G2+P1P2G3 +P1P2P3G4…+P1 P2 …PnCn+1 ALU74181 X1Y1X2Y2X3Y3X4Y4 C5 P1* G1* C1 S1S2S3 S4 P1* G1* S1 ~S4 P2* G2* S5 ~S8 P3* G3* S9 ~S12 P4* G4* S13 ~S16 C5 C9 C13 C1 ALU74181 ALU74181 ALU74181 ALU74181 C17 X1Y1~X4Y4 X5Y5~X8Y8 X9Y9~X12Y12 X13Y13~X16Y16 C1 = G1+P1G2+P1P2G3 +P1P2P3G4…+P1 P2 …PnCn+1 成组进位发生输出G1* ,成组进位传送输出P1*

16位组内先行进位,组间先行进位 32/64位? X1Y1~X4Y4 X5Y5~X8Y8 X9Y9~X12Y12 X13Y13~X16Y16 P* G* C1 C5 CLA (74182) P1 G1 C2 P2 G2 C3 P3 G3 C4 P4 G4 P1* G1* S1 ~S4 S5 ~S8 P3* G3* S9 ~S12 P4* G4* S13 ~S16 P2* G2* C5 C9 C13 ALU74181 ALU74181 ALU74181 ALU74181 C17 X1Y1~X4Y4 X5Y5~X8Y8 X9Y9~X12Y12 X13Y13~X16Y16 32/64位?

Outline 定点补码加/减法运算 定点乘法运算 浮点运算 运算器组织 运算器部件举例

3.2 定点乘法运算 原码乘法运算方法 原码乘法运算实现 补码乘法运算方法 补码乘法运算实现

+ p9p8p7p6p5p4p3p2p1p0 多位乘法必须先计算一位乘法,然后累加求和 a4a3a2a1a0 x b4b3b2b1b0 p9 a4b0 a3b0 a2b0 a1b0 a0b0 a4a3a2a1a0 p9p8p7p6p5p4p3p2p1p0 x b4b3b2b1b0 a3b1 a2b1 a1b1 a0b1 a4b1 a3b2 a2b2 a1b2 a0b2 a4b2 a3b3 a2b3 a1b3 a0b3 a4b3 + a3b4 a2b4 a1b4 a0b4 a4b4 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 多位乘法必须先计算一位乘法,然后累加求和

乘法运算实现方法 执行乘法运算子程序实现乘法运算 设置专用乘法器实现乘法运算 借助加法器配置相应部件实现乘法运算

乘法器 一位乘法电路实现 S=X*Y Output Yi Xi 1 1 1 一个与门就可以实现一位乘法

多位原码乘法 符号位直接异或即可得到乘积的符号 仅仅需要考虑其数值部分的计算 以定点小数为例进行讨论

相加数产生部件 经过一级门电路延迟,即可得到所有的相加数 … a4b4 a1b0 a0b0 A = 0. a4 a3 a2 a1 a0 B = 0. b4 b3 b2 b1 b0 & 经过一级门电路延迟,即可得到所有的相加数

5位无符号数阵列乘法器电路 p5 p4 p3 p6 p7 p9 p8 p2 p1 p0 COUT a4b0 a3b0 a2b0 a1b0 a4b0 a3b0 a2b0 a1b0 a0b0 p4 p3 a1b1 a0b1 a3b1 a2b1 a4b1 COUT a3b2 a2b2 a1b2 a0b2 a4b2 COUT a3b3 a2b3 a1b3 a0b3 a4b3 p6 COUT p7 a3b4 a2b4 a1b4 a0b4 a4b4 p9 COUT p8 p2 p1 p0 5位无符号数阵列乘法器电路

5位无符号数阵列乘法器电路 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 a4b0 a3b0 a2b0 a1b0 a0b0 a1b1 a0b1 a3b1 a2b1 a4b1 a3b2 a2b2 a1b2 a0b2 a4b2 a3b3 a2b3 a1b3 a0b3 a4b3 a3b4 a2b4 a0b4 a4b4 a1b4 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 5位无符号数阵列乘法器电路

. nn位原码乘法器框图 A = af. an1 an2…a1 a0 B = bf. bn1 bn2…b1 b0 … 相加数产生部件 an1bn1 … a1b0 a0b0 n×n乘法阵列 =1 … P2n1 P2n2 P2n3 P1 P0 Pf .

4*5个全加器, 8个全加器延迟 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 a4b0 a3b0 a2b0 a1b0 a4b1 a4b2 a3b2 a2b2 a1b2 a0b2 a4b3 a3b3 a2b3 a1b3 a0b3 a4b4 a3b4 a2b4 a1b4 a0b4 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 4*5个全加器, 8个全加器延迟

原码阵列乘法器时间延迟 n(n-1)个FA 延迟时间 故总延迟为 (n-1)FA +(n-1)FA 每一个FA包含三级门电路延迟T 2(n-1)*3T +T(相加数产生时间)

补码乘法器原理图 [A]补 = af. an1 … a1 a0 [B]补 = bf. bn1 … b1 b0 n位求补器 n位求补器 数值同原码 相加数产生电路(同前) 相加数 乘法阵列(同前n×n阵列) =1 … 积绝对值 Pf . 2n位求补器 … (补码乘积) P2n1 P1 P0

乘法运算实现方法 执行乘法运算子程序实现乘法运算 设置专用乘法器实现乘法运算 借助加法器配置相应部件实现乘法运算 原码一位乘法的运算方法与逻辑实现 补码一位乘法的运算方法与逻辑实现

5位无符号数阵列乘法器电路 p5 p4 p3 p6 p7 p9 p8 p2 p1 p0 COUT a4b0 a3b0 a2b0 a1b0 a4b0 a3b0 a2b0 a1b0 a0b0 p4 p3 a1b1 a0b1 a3b1 a2b1 a4b1 COUT a3b2 a2b2 a1b2 a0b2 a4b2 COUT a3b3 a2b3 a1b3 a0b3 a4b3 p6 COUT p7 a3b4 a2b4 a1b4 a0b4 a4b4 p9 COUT p8 p2 p1 p0 5位无符号数阵列乘法器电路

0.p9p8p7p6p5p4p3p2p1p0 0.a4a3a2a1a0 x 0.1 0 1 0 1 5位无符号数阵列乘法器电路 p5 p4 a4 a3 a2 a1 a0 p4 p3 COUT a3 a2 a1 a0 a4 COUT p6 COUT p7 a3 a2 a1 a0 a4 p9 COUT p8 p2 p1 p0 5位无符号数阵列乘法器电路

5位无符号数阵列乘法器电路 Σ=XYn Σ 右移一位 Σ+=XYn-1 Σ 右移一位 Σ+=XYn-2 Σ 右移一位 Σ+=XYn-3 p5 a4 a3 a2 a1 a0 p4 p3 Σ 右移一位 COUT Σ+=XYn-1 Σ 右移一位 a3 a2 a1 a0 a4 COUT Σ+=XYn-2 p6 Σ 右移一位 COUT Σ+=XYn-3 p7 a3 a2 a1 a0 a4 p9 COUT p8 p2 p1 p0 5位无符号数阵列乘法器电路

部分积累加的数学表示 X*Y=X[Y12-1+Y22-2+…Yn2-n] 部分积=XYn 部分积=XYn-1+XYn 2-1 =XY12-1+XY22-2+…XYn2-n X*Y=X[Y12-1+Y22-2+…Yn2-n]

原码乘法 算法流程图 开始 i = 0, 0→∑ N Yn=1 Y ∑ + 0→ ∑ N i = n Y X0⊕Y0→P0 结束 i+1→i N i = n Y X0⊕Y0→P0 结束

例子 已知X=0.1101 Y=-0.1011 计算[X]原[Y]原

部分积 乘数 判断位 说明 00.0000 00.1101 + P0=0 Y4=1,+|X| Y0.1011 00.1101 00.0110 1 右移一位得P1 Y4=1,+ |X| Y0.101 + 01.0011 1 00.1001 11 00.0000 Y0.10 右移一位得P2 Y4=0,+0 + 00.1001 11 00.0100 111 00.1101 右移一位得P3 Y4=1,+ |X| Y0.1 + 01.0001 111 00.1000 1111 Y0 右移一位得P4=|X|·|Y|

原码乘法逻辑结构 ∑= ∑+YnX R1 乘数Y Yn R0 部分积∑ 计 数 器 +1计数器 Σ→R0 移位控制 加法器Σ & 控制电路 计 数 器 Σ→R0 +1计数器 移位控制 加法器Σ & & 控制电路 X0 被乘数X R2 ∑= ∑+YnX

部分积R0 乘数R1 Yn 判断位 1 + |X| 1 1 1 1 1 + |X| 1 1 1 1 + 0 1 1 1 + |X| 1 1 1 + |X| 1 1 1 |X|= 0.1101, |Y|= 0.1011 1 1 + |X| 1 1 1 1 + 0 1 1 1 + |X| 1 1 1 1

部分积累加的数学表示 部分积=XYn 部分积=XYn-1+XYn*2-1 部分积=XYn-2+(XYn-1+XYn*2-1)2-1 =XY1*2-1+XY2*2-2+…XYn*2-n X*Y= X[Y1*2-1+Y2*2-2+…Yn*2-n]

补码一位乘法 1) 被乘数[X]符号任意,乘数[Y]为正 [X]补=X0.X1X2…Xn [Y]补=0.Y1Y2…Yn [X]补[Y]补=(2+X)  Y =(2n+1+X)  Y =2n+1Y+XY =2  2n  0.Y1Y2…Yn+XY =2(Y1Y2…Yn)+XY =2+XY =[X  Y]补 [X  Y]补= [X]补[Y]补

补码一位乘法 1) 被乘数[X]符号任意,乘数[Y]为负数 [X]补=X0.X1X2…Xn [Y]补=1.Y1Y2…Yn [X  Y]补=[X (0.Y1Y2…Yn - 1) ]补 =[X  0.Y1Y2…Yn - X ]补 =[X  0.Y1Y2…Yn]补- [X]补 =[X]补 0.Y1Y2…Yn- [X]补 =[X]补 0.Y1Y2…Yn - Y0[X ]补

补码一位乘法 [X  Y]补=[X]补 0.Y1Y2…Yn-Y0 [X ]补 =[X]补(-Y0+0.Y1Y2…Yn) =[X]补(-Y0+Y12-1+Y22-2+…Yn 2-n) =[X]补[-Y0+(Y1-Y12-1)+(Y22-1-Y22-2)+…(Yn2-n+1-Yn2-n)] = [X]补[Y1-Y0+(Y2-Y1)2-1+(Y3-Y2)2-2+…(0-Yn)2-n] XY= X  [ Y12-1 + Y22-2 + … Yn2-n] 原码乘法

开始 i = 0, 0→ ∑ 01 Yn Yn+1=? 10 00或11 ∑ + [X]补→∑ ∑不变 ∑ + [X]补→∑ Y i=n+1 结束 N ∑、[Y]补右移一位 i + 1

例子 已知X=1.0101 Y=1.0011计算[X]补[Y]补 解: [-X]补=0.1011

部分积 乘数 判断位 说明 00.0000 00.1011 + Yn+1=0 YnYn+1=10,加[–X]补 1.00110 00.1011 00.0101 00.0000 1 右移一位得P1 末2位为11,+ 0 1.0011 + 00.0101 1 00.0010 11 11.0101 右移一位得P2 末2位为01 +[X]补 1.001 + 11. 0111 11 11.1011 111 00.0000 右移一位得P3 末2位为00 +0 1.00 + 11.1011 111 11.1101 1111 00.1011 1.0 右移一位得P4 末2位为10 –[-X]补 + 00.1000 1111

补码一位乘法逻辑结构 ∑=2-1 ∑+(Yn+1-Yn) [X]补 R0部分积∑ R1乘数[Y]补 Yn Yn+1 移位控制 加法器C 00/11 01 10 & 1 =1 ∑=2-1 ∑+(Yn+1-Yn) [X]补 R2 被乘数[X]补

Outline 定点补码加/减法运算 定点乘法运算 浮点运算 运算器组织 运算器部件举例

浮点加减法运算 假设: 计算X+Y=? 求解: 如:Ex=Ey S=2Ex × (Mx+My) 如:Ex≠Ey ?????

对阶 大阶对小阶还是小阶对大阶??? 对阶(使得小数部分可以按位权值按位相加) 对阶过程应该是小阶对大阶 尾数右移 210*(0.11000)+28*(0.00110) 大阶对小阶 210*(0.11000)--28*(11.000) 11.000+0.00110 ????????? 小阶对大阶 28*(0.00110)--210*(0.00001) 0.00001+0.11000=0.11001 对阶过程应该是小阶对大阶 尾数右移

尾数运算 Ex=Ey 满足后 S=2Ex(Mx+My)

运算结果规格化 210*(0.11000) 也可表示为 211*(0.01100) 为提高精度,尾数不为零的时,要求其绝对值大于1/2,即尾数最高有效位为1,否则要以修改阶码的方式同时左右移小数点,使其变成这一要求的表示形式,这个过程称为浮点数的规格化 同一个浮点数的编码唯一 将运算结果右移以实现规格化表示称为向右规格化,右归 将运算结果左移以实现规格化表示称为向左规格化,左归

规格化形式 规格化数形式 0.1XXXX -0.1XXXX 补码规格化形式 00.1XXXX 11.0XXXX

计算机在表示浮点数时,通常进行向左规格化处理 规格化方法 连符号位一起移位 00.0XXXX -- 00.1XXX0 左规 11.1XXXX -- 11.0XXX0 左规 01.XXXXX -- 00.1XXXX 右规 10.XXXXX -- 11.0XXXX 右规 计算机在表示浮点数时,通常进行向左规格化处理 上溢的时候,右归 下溢的时候,左归

向左规格化 1 尾数左移两位, 阶码减2 1 1 1 尾数左移一位, 阶码减1 1 1

向右规格化 1 尾数连同符号位 进位位右移一位, 阶码加1 1 1 1 尾数连同符号位 进位位右移一位, 阶码加1 1 1

规格化规则小结 运算结果产生溢出时,必须进行右归 如出现10.XX或者01.XXX 如结果出现00.0XXX或11.1XX必须左归 左归时最低数据有效位补0 右归时连同符号位进位位一起右移 左归时,阶码作减法,右归时,阶码作加法

舍入处理 右规后低位部分丢失了一位, 这会对数产生一定的误差 0舍1入法 如被丢的最高数位为0,舍去, 如为1,则将尾数末位加一 截去法 1 1 1 右规后低位部分丢失了一位, 这会对数产生一定的误差 0舍1入法 如被丢的最高数位为0,舍去, 如为1,则将尾数末位加一 截去法

溢出处理 尾数上溢 右归 尾数下溢 左归 阶码上溢 正无穷和负无穷 阶码下溢 0

浮点数加减法 五个基本步骤 对阶 尾数求和 规格化(左规,右规) 舍入(截去、0舍1入) 检查溢出

解:将x,y转换成浮点数据格式 步骤1:对阶,阶差为Ex-Ey [x]浮 = 00 101, 00.11011011 例1 两浮点数x = 2101×0.11011011, y = 2111×(-0.10101100)。假设尾数在计算机中以补码表示,可存储10位尾数,2位符号位,阶码以补码表示,双符号位,求x+y。 解:将x,y转换成浮点数据格式 [x]浮 = 00 101, 00.11011011 [Y]浮 = 00 111, 11.01010011+1 00 111, 11.01010100 步骤1:对阶,阶差为Ex-Ey -Ey=11000+1=11001 Ex-Ey=00101+11001=11110=-2 < 0 Ex-Ey<0 Ex<Ey 小阶对大阶, X阶码加2 X尾数右移2位

[x]浮 = 00 111, 00.00110110(11) 步骤2:尾数求和 [X+Y]浮 = 00 111, 00.00110110(11) + 00 111, 11.01010100 = 00 111, 11.10001010(11)

步骤3:计算结果规格化 步骤4:舍入处理 步骤5:溢出判断 无溢出 [X+Y]浮 = 2110 x (-00.11101011) 00110, 11.00010101(1) 步骤4:舍入处理 [X+Y]浮 = 00 110, 11.00010110 (0舍1如法) [X+Y]浮 = 00 110, 11.00010101 (截去法) 步骤5:溢出判断 无溢出 [X+Y]浮 = 2110 x (-00.11101011)

浮点数乘法运算 如:X=2m  Mx Y=2n  My X  Y=2m  Mx  ( 2n  My ) =2m+n (Mx  My)

浮点数乘法运算 (1) 阶码相加 (2) 尾数相乘 (3) 结果规格化 阶码相加可能产生溢出,若产生溢出,则给出溢出指示,计算机进行溢出处理。 (2) 尾数相乘 尾数部分相乘可得积的尾数,尾数相乘可按定点乘法运算的方法进行运算。 (3) 结果规格化 当运算结果需要进行规格化操作时,可按浮点加/减法运算规格化方式处理,舍入方式也与加/减法方式中的相同。

Outline 定点补码加/减法运算 定点乘法运算 浮点运算 运算器组织 运算器部件举例

运算器功能 数据进行算术运算和逻辑运算 暂存参加运算的数据及运算的中间结果 选取相应部件中的数据参与运算 反映运算处理的状态

算术逻辑运算单元ALU A L U o p e r a t i o n a A L U R e s u l t O v e r f l o w b

寄存器组

多路选择电路 OUT(i) R → OUT R → OUT R → OUT R → OUT R (i) R (i) R (i) R (i) ≥1 & & & & R → OUT 3 R → OUT 2 R → OUT 1 R → OUT R (i) R (i) R (i) R (i) 1 2 3

运算器结构 数据总线DBUS 移位器 ALU PSW CLA ADD 30 STA 40 NOP JMP 21 … 000 006 000 006 000 004 20 21 22 23 24 30 40 操作数X 操作数Y 左路开关选择 右路开关选择 AX BX CX DX DR 数据总线DBUS

BUS BUS→bus SRBUS 状态寄存器 ALUBUS bus→BUS ALU A B bus 锁存器LA 锁存器LB LDLA LDLB Lbus 选择电路 RiL … bus→L R0 R1 LDR0 … Rn LDRn

Outline 定点补码加/减法运算 定点乘法运算 浮点运算 运算器组织 运算器部件举例

运算部件举例 ALU74181 先行进位的多功能算术/逻辑运算单元 SN74181 4位ALU Cn+4 S3 S2 S1 S0 A3 A2 B3 B2 B1 B0 Cn M A=B P G SN74181 4位ALU F3 F2 F1 F0 18 20 22 1 19 21 23 2 7 8 14 15 17 13 11 10 9 16 3 4 5 6 C0

先行进位电路CLA74182 先行进位电路74182 P4G4 P3G3 P2G2 P1G1 C0 C4 C3 C2 C1 P* G*

是否可以如下连接? 16位组内先行进位,组间先行进位 是否可以如下连接? 16位组内先行进位,组间先行进位 P* G* P4 G4 C3 P3 G3 C2 P2 G2 C1 P1 G1 CLA (74182) C0 C4 ALU74181 X16Y16X15Y15X14Y14X13Y13 C12 P16 * G16 * ALU74181 X12Y12 X11Y11 X10Y10X9Y9 C8 P12 * G12 * ALU74181 X8Y8X7Y7X6Y6 X5Y5 C4 P8 * G8 * ALU74181 X4Y4X3Y3X2Y2 X1Y1 C0 P4* G4 *

成组进位 C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 G4 *= G4+P4G3+P4P3G2+P4P3P2G1 成组进位发生输出 P4 *= P4P3P2P1 成组进位传递函数 C4 = G4*+P4*C0

两级先行进位电路(74181里实现) G * P * C C C & & & & & & & & & & C G P G P G P G P 3 2 1 ≥1 & ≥1 ≥1 ≥1 & & & & & & & & & C G P G P G P G P 4 4 3 3 2 2 1 1

成组进位 C4 = G4*+P4*C0 C8 = G8*+P8* C4 =G8*+P8* (G4*+P4*C0) =G8*+P8*G4*+P8*P4*C0 C16 = G16*+P16* C12 =G16*+P16*G12*+P16*P12*G8* +P16*P12*P8*G4*+P16*P12*P8*P4*C0 用4组 P* G*作输入,即可复用原先行进位电路 产生组间先行进位信号

16位组内先行进位,组间先行进位 P* G* CLA (74182) P4 G4 C3 P3 G3 C2 P2 G2 C1 P1 G1 ALU74181 X16Y16X15Y15X14Y14X13Y13 C12 P16 * G16 * ALU74181 X12Y12 X11Y11 X10Y10X9Y9 C8 P12 * G12 * ALU74181 X8Y8X7Y7X6Y6 X5Y5 C4 P8 * G8 * ALU74181 X4Y4X3Y3X2Y2 X1Y1 C0 P4* G4 *

32位先行进位系统 P* G* CLA (74182) P* G* CLA (74182) P G Cout C0 P G Cout C0 C3 C2 C1 CLA (74182) C4 C0 P* G* C3 C2 C1 CLA (74182) P G Cout C0 P G Cout C0 P G Cout C0 P G Cout C0 P G Cout C0 P G Cout C0 P G Cout C0 Cout C0

64位先行进位系统 16片74181 ,5片74182芯片 CLA (74182) P* G* CLA (74182) P* G* P4 G4 C3 P3 G3 C2 P2 G2 C1 P1 G1 CLA (74182) C0 P* G* C3 C2 C1 P G C0 CLA (74182) C3 C2 C1 P G C0 P* G* CLA (74182) C0 C3 C2 C1 P G P* G* CLA (74182) C0 C3 C2 C1 P G P* G* CLA (74182) 16片74181 ,5片74182芯片

本章重点内容… 定点补码加/减法运算 原码补码一位乘法运算 无符号位乘法器的电路实现 浮点数加减法运算 先行进位电路CLA74182原理 利用74182及74181电路构造多级先行进位电路