computer organization principle

Slides:



Advertisements
Similar presentations
人的性别遗传 合肥市第四十九中学 丁 艳. 男女成对染色体排序图 1 、男性和女性各 23 对染色体有何异同 ? 哪 一对被称为性染色体 ? 2 、这两幅图中,哪幅 图显示的是男性的染色 体?哪幅图显示的是女 性染色体? 3 、图中哪条染色体是 Y 染色体?它与 X 染色体 在形态上的主要区别是.
Advertisements

欢迎您来到 心理课堂! 一首歌 1.
九十五年國文科命題知能 研習分享.
和 解 剂.
医用超声耦合剂 南京朗众药业公司总代理.
第十五章 控制方法.
1、一般地说,在生物的体细胞中, 和 都是成对存在的。
辨性别 A B. 辨性别 A B 第三节人类染色体与性别决定 昌邑市龙池初中 杨伟红 学习目标 1.理解人的染色体组成和传递规律。 2.解释人类性别决定的原理。 3.通过探究活动,解读数据了解生男生女的比例。
人民教育出版社义务教育新课程标准 实验教科书《数学》九年级上册第25章 回顾与思考 授课教师:临潼区陕缝学校 徐联君.
1、什么是预算会计? 2、预算会计的组成体系? 3、预算会计的要素和会计等式? 4、预算会计的特点?
第四章 组合逻辑电路 第 四 章 组 合 逻 辑 电 路.
1.6 光波的横波性、偏振态及其表示 (The transverse wave nature and polarization state of light wave ) 1. 平面光波的横波特性 2. 平面光波的偏振特性.
判断推理,必须学会这些 主讲老师:小胡胡 2016年3月25日20:00 YY频道:
地方教育發展基金簡介 新北市政府教育局 王麗真
此幻灯片可在网址 上下载 概率论与数理统计讲义 第14讲 此幻灯片可在网址 上下载.
Statistical Probability for Production Simulation
研究随机变量是否一定要知道它的概率分布? 比如:当你想买一个灯泡的时候,你最想知道的是什么?
财富涌动 合作共赢 湖州丝绸府与您共创辉煌.
第二单元 生产、劳动与经营 第六课 投资理财的选择 一.储蓄存款和商业银行.
第十章 会计档案 本章主要介绍了五方面的内容:(1)会计档案的概念和内容;(2)会计档案归档;(3)会计档案的保管期限;(4)会计档案的查阅、复制和交接;(5)会计档案的销毁 本章属于非重点章, 三年试卷中所占分值各为6分、7分、7分。
第二章 语音 第六节 音变 轻 声1.
征 管 改 革 的 变 化 您感受到了吗 (纳税服务版) 开封市地方税务局宣 尊敬的纳税人,尊敬的领导,同志们大家好:
欢迎大家来到生命科学课堂.
跳楼价 亏本大甩卖 清仓处理 买一送一 5折酬宾. 跳楼价 亏本大甩卖 清仓处理 买一送一 5折酬宾.
清仓处理 跳楼价 满200返160 5折酬宾.
1.1.2 四 种 命 题.
色 弱 與 色 盲.
第五章 营销调研和预测.
宠物之家 我的宠物性别? 雌(♀) or 雄(♂) 第一阶段:我的宠物我做主 第二阶段:宠物“相亲记” 第三阶段:家族诞生
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
9/12/2017 保养 客房的清洁与 高安市职教中心.
数字电子技术基础 信息科学与工程学院·基础电子教研室.
优化试验设计与数据分析 第五章 回归分析方法 本章主要内容 · 一元线性回归方程度建立、显著性检验、预报和控制。非线性回归方程的线性化。
第四章 随机变量的数字特征 §4 协方差及相关系数 协方差的定义 协方差的性质 相关系数的定义 相关系数的性质.
版权所有,引用请注明出处 第三章、运算方法与运算器 原著 谭志虎 主讲(改编) 蒋文斌.
第三章 多维随机变量及其分布 §3.1 多维随机变量及其联合分布 §3.2 边际分布与随机变量的独立性 §3.3 多维随机变量函数的分布
教學演示教材: 〈信賴區間與信心水準的解讀〉
吉林大学远程教育课件 数 字 逻 辑 (第十九讲) 主讲人 : 魏 达 学 时:48.
第六章 采用中、大规模 集成电路的逻辑设计.
概 率 统 计 主讲教师 叶宏 山东大学数学院.
第十四章 数理统计方法 §14.1 数理统计的基本概念 §14.2 参数的点估计 §14.3 区间估计 §14.4 回归分析 返回.
第五章 离散时间系统的时域分析 5.1 离散序列与基本运算 5.2 LTI离散时间系统的数学模型及其求解方法
第 4 章 组合逻辑电路 4.1 组合逻辑电路的分析 4.2 组合逻辑电路的设计 4.3 常用MSI组合逻辑器件及应用
计算机组成原理 The Principle of Computer
第二章 插值.
桶式移位器 简单浮点编码器 双优先级编码器 级联比较器 关模比较器
第6章 计算机的运算方法 6.1 无符号数和有符号数 6.2 数的定点表示和浮点表示 6.3 定点运算 6.4 浮点四则运算
第3章 组合逻辑电路.
中级会计实务 ——第三章 固定资产 主讲:孙文静
计算机原理及系统结构 第六讲 主讲教师:赵宏伟                 学时:64.
第 2 章 计算机中的信息表示 学习目标: 掌握常用的进位计数制及其相互转换方法。 掌握原码、补码的表示方法及其相互转换,了解反码表示方法。
组合逻辑电路 ——中规模组合逻辑集成电路.
2019/4/29 计算机组成原理 辅导教师:陆明强.
1.3 运动快慢的描述----速度 育 才 中 学.
导入新课 在《数学3》中,我们对两个具有线性相关关系的变量利用回归分析的方法进行了研究,其步骤为: 画散点图 求回归直线方程
第 四 章 迴歸分析應注意之事項.
两个变量的线性相关 琼海市嘉积中学 梅小青.
(5) (-5x)(-7x+2) =__________ (6) 7x(5x2+6x-3) = _______________ -27x2
数学题解答 第二章 一元一次方程 2.1从算式到方程 (第1课时) 数学题解答
1.理解力和运动的关系,知道物体的运动不需要力来维持。
线性回归.
通 信 原 理 指导教师:杨建国 二零零八年三月.
講題 :課程發展委員會的組織與運作機制 主講人:臺北市立明倫高中 教務主任王文珠.
美丽的旋转.
第六章 异步时序电路的分析与设计 6.1    脉冲异步时序电路概述 6.2 脉冲异步时序电路的分析 6.3 脉冲异步时序电路的设计.
概率论与数理统计.
比和比值 黃琮聖 林姿均.
计算机问题求解 – Open topic 多重集合的组合问题
第二节 偏 导 数 一、 偏导数概念及其计算 二 、高阶偏导数.
利用十字交乘法將二次多項式化為兩個一次式的乘積。
Presentation transcript:

computer organization principle 计 算 机 组 成 原 理 computer organization principle 主讲教师 丁纪凯

第3章 数值的机器运算

第3章—数值的机器运算 本章要点 本章论述计算机中运算器的主要功能及其实现, 重点介绍定点数加、减法和乘、除法的运算方法与 实现电路以及浮点数运算方法和浮点数运算器的实 现。其中难点是乘、除法运算与实现。

第3章 数值的机器运算 3.1 逻辑运算 3.2 定点数的加、减法运算和加、减法电路的实现 3.3 定点数的乘、除法运算和乘、除法电路的实现 第3章 数值的机器运算 3.1 逻辑运算 3.2 定点数的加、减法运算和加、减法电路的实现 3.3 定点数的乘、除法运算和乘、除法电路的实现 3.4 定点运算器的基本结构与工作原理 3.5 浮点数运算和浮点数运算器的实现

3.1 逻辑运算 种生产过程的运行,能够处理许多繁琐的情报资料等等,也就是 它能替代人的部分脑力劳动,其关键在于它具有逻辑判断能力, 3.1 逻辑运算 电子计算机能够进行各种复杂的数学问题的运算,能够控制各 种生产过程的运行,能够处理许多繁琐的情报资料等等,也就是 它能替代人的部分脑力劳动,其关键在于它具有逻辑判断能力, 逻辑命题中,“0”与“1”就有了新的含义——逻辑含义,它表示 一种命题的两种相应的结果。若“1”表示“肯定”,则“0”就表示“否 定”。两值判据在计算机中很容易实现,可以用电平的“高”“低” ,信号的“有”“无”,晶体管的“通”“断”来表示逻辑命题的两种结 果“0”和“1”。

3.3.1. “与”、“或”和“非”运算 1.逻辑“与” 电灯F同开关A、B及电池串接电路如图所示。 逻辑与关系的真值表如下表: 3种最基本的逻辑运算,即“与”逻辑、“或”逻辑和“非”逻辑。 1.逻辑“与” 电灯F同开关A、B及电池串接电路如图所示。 逻辑与关系的真值表如下表:

“逻辑与”又称为“逻辑乘”,其逻辑表达式为: F=A×B=A·B=A∧B 式中“×”、“·”和“∧”为逻辑与的符号,A、B称为逻辑变量,F 称为逻辑函数。 计算机进行两个n 位二进制数逻辑与运算时,对每对应位相与。

2. 逻辑“或” 电灯F同两个并联开关A、B相串联的电路如图所示。 逻辑或关系的真值表如下表:

3.逻辑“非” “逻辑或”又称“逻辑加”,其逻辑表达式为: F=A+B=A∨B 式中“+”和“∨”为逻辑或的符号。 计算机进行两个n 位二进制数逻辑或运算时,对每个对应位相或。 3.逻辑“非” 单刀双掷开关和A、B两个灯泡连接的电路图如图所示 。

逻辑非关系的真值表如下表。 B = A “逻辑非”关系,又称为“逻辑反”,其逻辑表达式为: 计算机对一个n 位二进制数逻辑非运算时,对每位取反。

3.3.2. “异或”运算 逻辑函数F=f(A,B),其真值表如下表所示: 由真值表可知,只有当A=‘0’,B=“1”(即A、B相异)或A=“1” 、B=“0”时,F才为“1”; F同A、B间的这种关系称为“异或”关系,其逻辑表达式: F=A⊕B=A∨B =A B+A B

3.3.2. 常用逻辑门符号 “ 异或”运算执行的是两个逻辑变量之间“不相等”的逻辑测试, 又称为“按位加”。 在电子计算机中,上述几种基本逻辑运算是由逻辑门电路来实 现的,在正逻辑门电路中,用高电平、低电平来表示“1”和“0”。 常见的逻辑门采用的符号表示有:

基本门电路的真值表

3.2.1 定点数的加减运算 3.2 定点数的加、减法运算和 加、减法电路的 实现 ◆ 二进制的运算规则 3.2 定点数的加、减法运算和 加、减法电路的 实现 3.2.1 定点数的加减运算 ◆ 二进制的运算规则 加法规则、减法规则 、乘法规则、除法规则 ◆ 补码表示法使同一个电路既可以用于无符号数相加,又可用 于有符号数相加; 利用补码运算能使减法转为加法,因此目前绝大多数计算机 都采用补码表示法来进行加减运算。

设:[X]补= Xs. X1X2···Xn-1Xn , [Y]补= Ys. Y1Y2···Yn-1Yn 1. 补码的加减运算规则 设:[X]补= Xs. X1X2···Xn-1Xn , [Y]补= Ys. Y1Y2···Yn-1Yn 为两个n+1位补码表示的二进制小数,Xs、Ys为两数的符号位, 在补码加减运算中同数据位一起参与运算 。 (1)补码的加法运算规则 [X+Y]补=[X]补+[Y]补 (X+Y 在n+1位补码表示的数值范围) 要分4种情况:X﹥0、 Y﹥0; X< 0、 Y<0;X﹥0、Y < 0; X< 0, Y ﹥ 0 ,证明该公式的正确性 例: 证明当 X< 0, Y<0 时,该公式的正确性。 证明: [X]补=M +X , [Y]补=M+Y , 则 [X]补+[Y]补= M+X+M+Y =M+(M+X+Y)= M+ [X+Y]补 =[X+Y]补

[x-y]补=[x]补-[y]补=[x]补+[-y]补 (X+Y 在n+1位补 例 x=1011, y=-1110, 求x+y。 解: [x]补=01011, [y]补=10010 [x]补   0 1 0 1 1 +[y]补   1 0 0 1 0 [x+y]补 1 1 1 0 1  所以 x+y= - 0011 (2)补码的减法运算规则 [x-y]补=[x]补-[y]补=[x]补+[-y]补 (X+Y 在n+1位补 码表示的数值范围) 求[-y]补的法则是:对[y]补包括符号位“求反且最末位加1”,即 可得到[-y]补,将这种运算称为求补。则运算表达式为: [-y]补=[ [y]补]求补

例 x=+0.1101,y=+0.0110 , 求x-y。 解: [x]补=0.1101 , [y]补=0.0110, 例 x=+0.1101,y=+0.0110 , 求x-y。 解: [x]补=0.1101 , [y]补=0.0110, [-y]补=1.1010 [x]补   0. 1 1 0 1 + [-y]补  1. 1 0 1 0 [x-y] 补 1 0. 0 1 1 1 丢弃 所以 x-y=+0.0111

的表示范围,就会发生溢出,从而导至运算结果出错,因此在加 减运算后必须判别是否发生溢出。 2. 加减运算中溢出的判别 两个定点数经过加减运算后,其结果(和或差)超过了定点数 的表示范围,就会发生溢出,从而导至运算结果出错,因此在加 减运算后必须判别是否发生溢出。 例1 设 X=11D=1011B , Y=7D=111B ,用补码加法求X+Y。 [X]补=0 1011, [Y]补=0 0111 0 1 0 1 1 [X]补 + 0 0 1 1 1 [Y]补 1 0 0 1 0 [X+Y]补 ∴ [X+Y]补=1 0010 , X+Y=-1110B=-14D 两正数相加结果为-14D,显然是错误的。 Y因为真值X+Y超过 -16— +15 的范围,产生了溢出 。

● 两个同符号数相加,若和数符号与原数符号不同,则表示 判别溢出的常用方法有三种: ⑴ 符号比较法 ● 两个同符号数相加,若和数符号与原数符号不同,则表示 发生溢出; ● 两个异符号数相减,若差数符号与减数符号相同,则亦表 示发生溢出。 ● 两异符号数相加或两同符号数相减是不会发生溢出的。 ● 溢出标志逻辑表达式: V = Xs Ys (X+Y)s +XsYs (X+Y)s + Xs Ys(X-Y)s + Xs Ys(X-Y)s

解:[X+Y]补=[X]补+[Y]补= 1.0011 + 1.0101 = 1 0.1000 (自动丢弃) = 0.1000 因“和数”的符号位(“0”)与加数、被加数的符号位(“1”)相 异, 发生溢出。 例3-2:[X]补= 0.1010, [Y]补= 1.1001,判断减法有否 溢出。 解: [-Y]补=[ [Y]补]求补= 0.0111 [X-Y]补=[X]补+[-Y]补= 0.1010 + 0.0111 =1.0001 因“差数”的符号位(“1”)与“减数”的符号位(“1”)相同, 发生溢出。

● 采用这种判别法必须保留加法运算中“加数”和减法运算中“减数”的符号,这是可以实现的,因为在加法运算中“加数”及“减数”一般是保持不变。

最高数值位的进位Cin :指数值位的最高位向符号位的进位, ⑵ 双进位法 最高数值位的进位Cin :指数值位的最高位向符号位的进位, 即加减运算后“和数”及“差数”中的符号位的进位输入; 符号位的进位Cout :指符号位在运算中向高一位的进位,即 加减运算后“和数”及“差数”中的符号位的进位输出; Cin 和Cout 相异,则有溢出,溢出标志表示为: V = Cin ⊕ Cout ⑶ 双符号位法 ◆ 补码中两位符号位 : Ss1和Ss2, 左边的符号位Ss1叫做真符,代表了该数的符号; 采用两位符号位的补码称为变形补码。

◆ 对参加运算的数在运算过程中两个符号位Ss1和Ss2 都作为 数的一部分参加运算,而运算最后结果仍取一个符号位。 若运算结果“和数”或“差数”的两个符号位不相同,表示结 果有溢出。 ◆ 双符号位的含义 Ss1Ss2=00 结果为正数,无溢出 Ss1Ss2=01 结果正溢(或上溢) ,表示正数被负数相减 后所得结果大于计算机所能表示的最大正数或两个正数之和 大于计算机所能表示的最大的正数。。

Ss1Ss2=10 结果负溢(或下溢),表示两个负数之和小 于计算机所能表示的最小负数或负数被正数相减后所得结果小 于计算机所能表示的最小负数。 Ss1Ss2=11 结果为负数,无溢出 例 x=-0.1100, y= - 0.1000, 求x+y 。 解: [x]补=1 1.0 1 0 0, [y]补= 1 1 . 1 0 0 0 [x]补 1 1. 0 1 0 0 + [y]补 1 1. 1 0 0 0 1 0. 1 1 0 0 两个符号位出现“10”表示已溢出(下溢出),即结果小于 -1。

Cout=1 , Cin =0 表示已溢出(下溢出),即结果小于 -1。 例 x=-0.1100, y= - 0.1000, 求x+y 。 解: [x]补= 1.0 1 0 0, [y]补= 1 . 1 0 0 0 [x]补 1. 0 1 0 0 + [y]补  1. 1 0 0 0 1 0 0 1 1 0 0 Cout=1 , Cin =0 表示已溢出(下溢出),即结果小于 -1。

3.2.2 从半加器到算术逻辑部件ALU 逻辑型数据的算术运算和逻辑运算功能。 加法器是ALU中最基本的部件。 1、半加器 ◆ 两个一位二进制数相加,不考虑 低位向本位的进位,称为半加。 实现半加操作的电路称为半加器。 ◆ 半加器的真值关系 输出与输入 关系用真值表 表示为:

根据真值表,输出Si、 Ci同Xi、Yi的逻辑关系为: ◆ 半加器的实现 根据真值表,输出Si、 Ci同Xi、Yi的逻辑关系为: Si = Xi ⊕ Yi Ci = Xi · Yi 采用一个异或门和一个 与门 的逻辑电路如所示。 ◆ 在多位二进制数进行加法 运算时,最低位的加法就可采用半 加器电路。

2. 全加器 ◆ 考虑低位向本位的进位值的加法器称为全加器 。 ◆ 全加器的真值关系输出与输入关系用真值表表示为:

◆ 全加器的实现 = Ci-1 + Ci-1 ( Xi ⊕ Yi ) = Ci-1⊕Xi ⊕ Yi ◆ 全加器的实现 从表 可见: = Ci-1 + Ci-1 ( Xi ⊕ Yi ) = Ci-1⊕Xi ⊕ Yi = Xi Yi + Xi Ci-1 + Yi Ci-1 = Ci-1(Xi ⊕ Yi ) + Xi Yi

采用2个异或门、2个与门和1个或门的逻辑电路如所示。 ◆ 在多位二进制数加法运算时,除最低位外,其余各位都必 须采用全加器电路。

3. 并行加法器 (1)串行进位的并行加法器 ◆ 将n个全加器串接构成一个n位并行加法器; 当两个n位数的相加时,n位数据的各位同时运算,每 3. 并行加法器 (1)串行进位的并行加法器 ◆ 将n个全加器串接构成一个n位并行加法器; 当两个n位数的相加时,n位数据的各位同时运算,每 一级的进位输入直接依赖前一级的进位输出,进位信号逐 级形成的,因此这种加法器称为 “串行进位的并行加法 器”。或称“行波进位加法器”。 ◆ 串行进位的并行加法器原理图

设一级“与门”、“或门”的延迟时间为t, 每一级全加器中从Ci-1→Ci经过2个基本门电路的进位延 迟时间为2t, ◆ 总延迟时间 设一级“与门”、“或门”的延迟时间为t, 每一级全加器中从Ci-1→Ci经过2个基本门电路的进位延 迟时间为2t, 在n位并行加法器中从C0→Cn的总延迟时间为2nt。 串行进位的n位并行加法器的总延迟时间较长且与字长成正比; (2) 先行进位的并行加法器 ◆ 为提高加法器的速度,要求减少进位延迟时间,为此引 入了“先行进位”的概念和快速进位。其特点是n级加法器各 级进位信号同时形成,故又称为“并行进位”或“同时进位”。

无关。是本位运算产生的进位,当Xi与Yi同时为1必产生向高 一位的进位; ◆ 进位生成函数和进位传送函数 全加器的进位表达式为: Ci = Xi Yi +(Xi⊕Yi)Ci-1 Xi Yi 取决于本位参于运算的两个数,而与Ci-1(低位进位) 无关。是本位运算产生的进位,当Xi与Yi同时为1必产生向高 一位的进位; 定义Xi Yi为“进位生成函数”,以Gi表示: Gi =Xi Yi

低位的进位值Ci-1有关。当Ci-1为“1”时,必需(Xi⊕Yi)=1 ,才能产生向高位的进位。 (Xi⊕Yi)Ci-1表示进位值与本位参于运算的两个数以及 低位的进位值Ci-1有关。当Ci-1为“1”时,必需(Xi⊕Yi)=1 ,才能产生向高位的进位。 定义 (Xi⊕Yi)为 “进位传送函数”,以Pi表示: Pi = (Xi⊕Yi) 于是全加器的进位表达式可表示为: Ci=Gi+PiCi-1 由此,n级并行加法器中各级的进位信号表达式为: C1=G1+P1C0

┊ ┊ C2=G2+P2C1 Cn =Gn +PnCn-1 C1=G1+P1C0 C2=G2+P2C1 =G2+P2G1+P2P1C0 ┊ ┊ Cn-1=Gn-1+Pn-1Cn-2 Cn =Gn +PnCn-1 以Gi及Pi表达式代入得: C1=G1+P1C0 C2=G2+P2C1 =G2+P2G1+P2P1C0 ┊ ┊ ┊ Cn =Gn +PnCn-1= Gn+PnGn-1+PnPn-1Gn-2+…… + PnPn-1…P2G1 + PnPn-1……P2P1C0

从上述的进位信号表表达式可见: ◆ 先行进位的并行加法器 第i位的进位Ci仅由G1、G2、…Gi,P1、P2、…Pi以及 ◆ 先行进位的并行加法器 从上述的进位信号表表达式可见: 第i位的进位Ci仅由G1、G2、…Gi,P1、P2、…Pi以及 最低进位C0决定,而与C1~Ci-1无关,因此各级进位输 出可以同时产生。 若不计Pi、Gi的形成时间,从C0→Ci的延迟时间为2t。 n位并行加法器中Cn的形成电路可根据Cn逻辑表达式构成。 4位先行进位并行加法器的并行进位链电路图如下图,称为 4位先行进位电路CLA 。

4位先行进位并行加法器的并行进位链

将4位先行进位电路CLA同4位求和电路(包含进位生成/进

用4个4位CLA加法器电路可构成16位单级先行进位加法器,如下图所示。 ◆ 16位单级先行进位加法器 用4个4位CLA加法器电路可构成16位单级先行进位加法器,如下图所示。

4. 加减法部件ASU(行波进位的补码加/减法器) 利用补码加减法公式 [X + Y]补 = [X]补+[Y]补= Xn-1 Xn-2……X1X0 +Yn-1 Yn-2 ……Y1Y0 [X – Y]补=[X]补— [Y]补= =[X]补+ [-Y]补 = Xn-1 Xn-2……X1X0 +Yn-1Yn-2 ……Y1Y0 +1 Yn-1 Yn-2 ……Y1Y0 = 111 …… 11⊕Yn-1 Yn-2 ……Y1Y0 n 用一套加法器电路可以完成[X+Y]补和[X-Y]补,在进行加法 运算时Y用原值,在实现减法运算时,对[-Y]补求一次补,即得 到[-Y]补, 然后同 [X]补作加法操作。

可在最低位上 置进位输入为1来实现。具体线路如图所示。 电路中求补操作通过在输入端加—个异或门和1操作,加1操作 可在最低位上 置进位输入为1来实现。具体线路如图所示。

当M=0 时,Yn-1 ’ …Y0 ’ =Yn-1…Y0,n个全加器将两个n位 二进制数X、Y进行加法运算; 当M=1时,Yn-1‘…Y0‘ 为Yn-1…Y0的反再加1变为-Y的 补码,同[X]补进行加法运算。 可以方框图表示:

十进制数据在计算机中一般采用BCD码的形式,即二进制编码的十进制数,用4位二进制数0000~1001表示1位十进制数0~9。

例1 采用BCD码加法完成十进制数 X=35 ,Y=42的相加。 ( 35 )10 = ( 0011 0101 )BCD ( 42)10 = ( 0100 0010 )BCD ( 0 0 1 1 0 1 0 1) BCD +( 0 1 0 0 0 0 1 0 ) BCD ( 0 1 1 1 0 1 1 1 ) BCD =77 10

例2 采用BCD码加法完成十进制数 X=28 ,Y=36的相加。 ( 28 )10 = ( 0010 1000 )BCD ( 36)10 = ( 0011 0110 )BCD ( 0 0 1 0 1 0 0 0)BCD + ( 0 0 1 1 0 1 1 0)BCD 0 1 0 1 1 1 1 0 非法码 + 1 1 0 ( 0 1 1 0 0 1 0 0 ) BCD = 64 10

例3 采用BCD码加法完成十进制数 X=28 ,Y=69的相加。 ( 28 )10 = ( 0010 1000 ) BCD ( 69)10 = ( 0110 1001 )BCD ( 0 0 1 0 1 0 0 0) BCD + ( 0 1 1 0 1 0 0 1) BCD 1 1 0 0 1 0 0 0 1 + 1 1 0 ( 1 0 0 1 0 1 1 1 ) BCD = 97 10 BCD码加法中,被加数的4位二进制数和加数的4位二进制数 相加和 > 9 (1001)或向高4位有进位则对应4位数要加6 (0110) 进行修正。

减数、被减数用BCD码表示,做减法时按二进制减法规则进 行,要求相减后的差也为BCD码表示的数。 例2 采用BCD码减法完成十进制数 X=41 ,Y=29的减法 。 ( 41 )10 = ( 0100 0001 )BCD ( 29)10 = ( 0010 1001 )BCD ( 0 1 0 0 0 0 0 1) BCD - ( 0 0 1 0 1 0 0 1 )BCD 0 0 0 1 1 0 0 0 - 1 1 0 ( 0 0 0 1 0 0 1 0 ) BCD = 12 10 BCD码减法中,减数的4位二进制数减去被减数的4位二进制数 时有借位,则对应4位数要减 6 (0110)进行修正 。

(2) BCD码(十进制)加法器 ■ FA3、FA2、FA1和FA0组成的4位二进制数加法器; 路; 加6的条件: 当C3 ’=1 或 S3’S2 ’ =11 或 S3’S1 ’=11时, 修正电路中FA2‘和FA1’输入1,即: S3 S2 S1 S0 =S3'S2'S1'S0'+ 0110 得到加6修正。

6 . 算术逻辑部件ALU 算术逻辑部件ALU除了完成加、减法等算术运算外,还必须具有逻辑运算功能,可采用如下图所示的电路实现多功能算术/逻辑部件。

选择器A是一种二选一电路,由控制信号M控制; 选择器B是一种八选一电路,由三位控制信号S2S1S0控制,控制输出信 号Z来自哪种运算的结果。 点划线框内为与图3-7框图相似的一位加法/减法电路ASU,可实现补码的 加法和减法操作; 非门和与门、或门、异或门的作用相同,分别实现7种常用的逻辑操作; ALU功能如表所示。

分析 M=1 ,S2S1S0=010 Z=X·Y M=0 ,S2S1S0=101 Z = X·Y M=1 ,S2S1S0=111 Z = X- Y

用1位ALU电路构成n位行波进位的ALU电路:

7. 4位二进制算术逻辑部件74181 ◆ 典型4位ALU芯片,有正逻辑和负逻辑两种方式,负逻辑和正 逻辑的74181芯片方框图如图所示。

74181能执行16种算术运算和16种逻辑运算。基本结构为 4个一位ALU电路和四位一组先行进位链电路组合而成。 A0-A3、B0-B3位2个4位操作数; F0-F3位4位目的操作数 ; Cn为低位向本位进位输入; Cn+4为本位向高位的进位输出; S3S2S1S0为工作方式选择信号,有16种运算方式; “A=B” 指示两个操作数是否相等 P、G为两个本组先行进位输出端 M为算术、逻辑运算控制信号:

M控制ALU的运算方式:算术运算还是逻辑运算。 M=0时,输出结果Fi与本位操作数Xi、Yi有关,而且与向本位的 进位值Cn有关,因此,ALU进行算术运算。 M=1时,置Cn=0, 运算结果Fi仅与本位操作数Xi、Yi有关,因 此ALU进行逻辑运算。 ◆ 算术、逻辑运算的实现 74181ALU的16种算术、逻辑运算功能与S3S2S1S0、M、Cn的值 有关,功能表如下。表中,“+”表示逻辑或 ,“加”、“减”表示算术 加、减。 注意:表中所描述的正逻辑操作方式的一组算术运算和逻辑运与负逻 辑操作数方式的一组算术运算和逻辑运算是等效的。该器件 把逻辑输入信号都反相所产生的功能,亦在此集合中。

分析 M=1 ,S3S2S1S0=0000 F= A M=1 ,S3S2S1S0=0100 F= A+ B W0 Z0

若片与片之间采用串行进位,只要把低位芯片的Cn+4与高位芯片 的Cn相连即可。实现组内并行,组间串行。 ◆ 多片芯片的组合 74181芯片内4位之间是并行进位,构成4位以上的ALU要多片组合, 若片与片之间采用串行进位,只要把低位芯片的Cn+4与高位芯片 的Cn相连即可。实现组内并行,组间串行。 若片与片之间采用并行进位,要采用进位链电路和74181芯片组 合,实现组内并行,组间并行,提高运算速度。 74182芯片是先行进位部件。

采用4片74181和1片74182组成16位并行进位的 ALU的硬件图为:

3.3 定点数的乘、除法运算和乘、除法电路 的实现 3.3.1 定点数的乘法运算和乘法电路的实现 1. 原码一位乘法 3.3 定点数的乘、除法运算和乘、除法电路 的实现 3.3.1 定点数的乘法运算和乘法电路的实现 1. 原码一位乘法 ◆ 原码乘法实际上是两个正数相乘的方法; 原码表示的两数相乘,乘积的符号位为相乘两数符号位的按 位加之和(即异或) ,数值部分为两数绝对值之积; 设被乘数为X、乘数为Y;用原码表示为: 被乘数[X]原 = Xs. X1X2···Xn-1Xn 乘数 [Y]原 = Ys. Y1Y2···Yn-1Yn

( X s⊕ Y s) + ( 0. X1X2… Xn-1Xn ) × ( 0. Y1Y2 … Yn-1Yn ) 原码乘法的表达式为: 乘积 [ Z ]原 = [X×Y]原 = ( X s⊕ Y s) + ( 0. X1X2… Xn-1Xn ) × ( 0. Y1Y2 … Yn-1Yn ) ◆ 原码一位乘法的计算机实现 计算机中实现乘法运算的方法是移位和相加; “一位乘法”运算是根据乘数Y的每一位Yi(i= n,n-1 …, 2, 1 )的取值是“0”还是“1”来决定对上次部分积作什么运 算,若Yi为“1” 则在部分积上加被乘数;若为“0” 则加“0”。 每次获得新的部分积后,右移一位,直到乘数Y的最高位Y1。 两个n位数相乘,只需要(n+1)位全加器,运算结果最 多为2n位。

◆ 原码一位乘法运算规则及过程如下: (1)取被乘数X和乘数Y的绝对值 |X|= 0. X1X2···Xn-1Xn |Y|= 0. Y1Y2···Yn-1Yn N位部分积的初值为全“0”; (2)以乘数Y的最低位Yn作为判断位。 若Yn = 1,原部分积之和 +被乘数得新部分积之和; Yn = 0,原部分积之和 +0(即不加)得新部分积之和; (3)新部分积之和同乘数|Y|一起右移一位; (4)依次检查Yn-1、Yn-2···Y1,重复上二步操作,最终得乘积 Z = X×Y的绝对值;

(5) 符号位 Zs = Xs ⊕ Ys和乘积Z 结合得ZsZ1Z2···Z2n-1Z2n为 [X×Y]原 例3-7 设[X]原=0.1011,[Y]原=0.1101,求[X × Y]原=[Z]原 。 解:按乘法规则,符号位Zs = Xs ⊕ Ys = 0 ⊕ 0 = 0; 绝对值相乘0.1011×0.1101=1011×1101×2-8, 1011×1101如下:

0 0 0 0 1 1 0 1 部分积初值 + 1 0 1 1 Y4=1,加上被乘数∣X∣ 第一次部分积 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 部分积初值 + 1 0 1 1 Y4=1,加上被乘数∣X∣ 第一次部分积 1 0 1 1 1 1 0 1 右移一位 0 1 0 1 1 1 1 0 Y3=0,加0 + 0 0 0 0 第二次部分积 0 1 0 1 1 1 1 0 右移一位 0 0 1 0 1 1 1 1 + 1 0 1 1 Y2=1,加上被乘数∣X∣ 第三次部分积 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 右移一位 + 1 0 1 1 Y1=1,加上被乘数∣X∣ 第四次部分积 1 0 0 0 1 1 1 1 1 右移一位得乘积 1 0 0 0 1 1 1 1 [Z]原= 10001111×2-8 =0.10001111, Z = (+) 0.10001111

例3-8 设[X]原=1.1010,[Y]原=1.1111,求[X×Y]原=[Z]原 。 解:按乘法规则,符号位Zs = Xs⊕ Ys = 1 ⊕ 1 = 0; 绝对值相乘 0.1010×0.1111=1010×1111×2-8, 1011×1101如下:

[Z]原= 10010110×2-8 =0.10010110 , Z = (+) 0.10010110

例3-9 设[X]原=0.0101,[Y]原=1.1010,求[X × Y]原=[Z]原。 解:按乘法规则,符号位Zs = Xs ⊕ Ys = 0 ⊕ 1 = 1; 绝对值相乘 0.0101×0.1010=0101×1010×2-8, 0101×1010如下:

[Z]原= 1+00110010×2-8 =1.00110010, Z = - 0.10110010

2. 原码一位乘法运算器框图 一个5位二进制数X = (+/-)0.X1X2X3X4 与Y = (+/-)0.Y1Y2Y3Y4采用原码一 位乘法运算的原理框图如下。

乘数寄存器为5位,存放乘数[Y]原= Ys. Y1Y2Y3Y4 ; A寄存器为4位寄存器,存放被乘数X的绝对值|X| (1) 运算器组成 乘数寄存器为5位,存放乘数[Y]原= Ys. Y1Y2Y3Y4 ; A寄存器为4位寄存器,存放被乘数X的绝对值|X| 乘积P寄存器为9位,存放乘积[Z]原= Ps . P1P2···P7P8 。8位存放乘 积的数值,最高位Ps为符号位,由异或门输出Xs+Ys生成; C寄存器为4位寄存器,存放部分积,初值为0; B寄存器为4位寄存器,存放乘数Y的绝对值|Y|; C_B组成8位寄存器,可实现右移,最后结果——8位乘积绝对值存此; 选择器D为2选1的选择器 计数器CR为减法计数器,初始值为操作数中数值位的位数,用来 控制操作中部分积的右移次数,当CR为0时结束操作。 被乘数寄存器为5位寄存器存放[X]原=Xs. X1X2X3X4 ;

乘数原码寄存器为5位寄存器存放[Y]原=Ys. Y1Y2Y3Y4 CSR为右移控制信号(脉冲信号),每发一脉冲信号,控制有关 寄存器C_B右移一次, bs为移出位信号值 — 1或0控制选择器D的输出: bs=1时,选择器D输出被乘数X的绝对值|X|到ALU,与部分积相 加后输出,形成新的部分积送寄存器C; bs=0时,选择器D输出0到ALU,与部分积相加后输出上次的部分 积,形成新的部分积送寄存器C同寄存器B一起右移决定下一次操作; (2)工作原理 ① 初始化:将被乘数的5位原码存放被乘数寄存器, 乘数的5位 原码存放乘数原码寄存器,置C寄存器初值为0,置计数器CR初值为4; ② 运算启动后,乘数原码寄存器的数值位内容送B寄存器,被 乘数寄存器的数值位内容送A寄存器;

若bs =1, 从选择器D 中选取A寄存器内容作一 加数和C寄存器 的部分积相加得新部分积; ③ 相加操作: 判B寄存器的bs 位确定操作, 若bs =1, 从选择器D 中选取A寄存器内容作一 加数和C寄存器 的部分积相加得新部分积; 若bs =0 ,从选择器D 中选取0作一加数和C寄存器的部分积相 加得新部分积; ④ 移位操作: 当CSR 脉冲到来时, 寄存器C、B组成8位寄存器右移一位, 同时使计数器CR-1; ⑤ 判断运算结束:判CR,若CR ≠0则重复执行步骤③和④, 若CR =0 则运算结束, 乘数原码寄存器的符号位和 被乘数寄存器中符号位相异或作为 乘积符号位送乘积寄存器的符号位,C寄存器和B寄存器的内容送入 乘积寄存器的数值位。P寄存器中便是乘积的原码。

3. 补码一位乘法 ◆ 目前绝大多数计算机都采用补码表示法来进行加减运算。 因此在采用补码加减运算的计算机中也常采用补码乘法。 3. 补码一位乘法 ◆ 目前绝大多数计算机都采用补码表示法来进行加减运算。 因此在采用补码加减运算的计算机中也常采用补码乘法。 在补码乘法中被乘数为X和乘数为Y釆用补码 [X]补和[Y]补 表示,运算结果Z也用补码 [Z]补表示,运算时符号位Xs和Ys 参与运算。 ◆ 补码一位乘法运算方法 设 被乘数[X]补=Xs. X1X2···Xn-1Xn 乘数 [Y]补= Ys. Y1Y2···Yn-1Yn 可以证明:当乘数Y>0(即Ys=0),将按原码乘法运算, 但按补码规则移位,即[X×Y]补= [X]补× [0.Y1Y2···Yn] 。

当乘数Y<0(即Ys=1),先去掉[Y]补中的Ys,再按原码 乘法运算,最后的部分积与[-X]补相加,得最后结果。即 [X×Y]补=[X]补×[0.Y1Y2···Yn]+[-X]补 。 补码一位乘法的表达式为: [Z]补= [X×Y]补= [X]补×[0.Y1Y2···Yn]+[-X]补×Ys ◆ 补码一位乘法的Booth算法 由上式: [Z]补= [X×Y]补 = [X]补×[0.Y1Y2···Yn]+[-X]补×Ys = [X]补×[2-1Y1 +2-2Y2+···+2-nYn]+[-X]补×Ys = [X]补×[2-1Y1 +2-2Y2+···+2-nYn]+{-[X]补}×Ys

= [X]补× [-Ys+2-1Y1 +2-2Y2+2-3Y3···+2-nYn] = [X]补× [-Ys+(Y1-2-1Y1) +(2-1Y2 -2-2Y2) +(2-2Y3 -2-3Y3)+···+(2-(n-1)Yn-2-nYn)] = [X]补×[-Ys+(Y1-2-1Y1) +(2-1Y2 -2-2Y2)+ (2-2Y3 -2-3Y3)+···+(2-(n-1)Yn-2-nYn)+0] = [X]补×[(Y1-Ys)+(Y2-Y1)2-1 +(Y3 -Y2)2-2 +···+(Yn-Yn-1)2-(n-1)+(0-Yn)2-n] = [X]补×[(Y1-Ys)+(Y2-Y1)2-1 +(Y3 -Y2)2-2 +···+(Yn-Yn-1)2-(n-1)+(Yn+1-Yn)2-n] 式中,Yn+1为加在乘数最低位Yn右边的“附加位”,初值为0, 不影响运算结果。

+(Yn-Yn-1)2-(n-1)+(Yn+1-Yn)2-n] [Z]补=[X]补×[(Y1-Ys)+(Y2-Y1)2-1 +(Y3 -Y2)2-2 +··· +(Yn-Yn-1)2-(n-1)+(Yn+1-Yn)2-n] = [X]补×[ (Yn+1-Yn)2-n +(Yn-Yn-1)2-(n-1) +······ +(Y3 -Y2)2-2 )+(Y2-Y1)2-1 +(Y1-Ys) ] = [X]补×[((···· ((Yn+1-Yn)2-1 +(Yn-Yn-1))2-1+ ······ +(Y3 -Y2))2-1+(Y2-Y1))2-1 +(Y1-Ys) ] = [X]补×[((···· ((0 + (Yn+1-Yn))2-1 +(Yn-Yn-1))2-1 + ······+(Y3 -Y2))2-1+(Y2-Y1))2-1 +(Y1-Ys)] = ((···· ((0 + (Yn+1-Yn) [X]补)2-1 +(Yn-Yn-1) [X]补)2-1 + ······+(Y3 -Y2) [X]补)2-1+(Y2-Y1) [X]补)2-1 +(Y1-Ys) [X]补

据此可得如下递推公式: [Z0]补= 0 [Z1]补= 2-1{[Z0]补+(Yn+1-Yn)[X]补} [Z2]补= 2-1{[Z1]补+(Yn-Yn-1)[X]补} [Z3]补= 2-1{[Z2]补+(Y n-1-Y n-2)[X]补} ··· [Zn]补= 2-1{[Zn-1]补+(Y2-Y1)[X]补} [Z]补 = [Zn ]补+(Y1-YS)[X]补

① 参加运算被乘数和乘数都釆用补码表示,符号位参加运算; [Z0]补= 0,为初始积部分; [Z1]补~[Zn]补为每次求得的累加值右移后的部分积; [Zn]补第一次求得的累加值右移后之值,由(Yn+1-Yn)之值决 定是否在累加后的原部分积上加[X]补(被乘数的补码)。 [Z]补为最后乘积的补码,累加后无需右移。 ◆ Booth算法的运算规则 ① 参加运算被乘数和乘数都釆用补码表示,符号位参加运算; ② 乘数最低位Yn后加一位附加位Yn+1,初值为0; ③ 求得每次部分积和后必须与乘数一起右移一位,由乘数的最低 二位Yn+1Yn的值决定下一次执行的操作——累加与右移(按补码右 移规则移位),具体规则如下:

Yn Yn+1 = 00 原部分积 + 0, 并右移一位; Yn Yn+1 = 01 原部分积 +[X]补,并右移一位; ④ 操作次数,累加n+1次,移位n次(最后一次不移位); ⑤ 被乘数和部分积采用双符号位,乘数采用单符号位; 例3-10 X =-0.11010 ,Y =-0.01110 ,用Booth法求X×Y 。 解:[X]补 = [Y]补 = [-X]补= 11.00110 1.10010 00.11010

00.0 0 0 0 0 1. 1 0 0 1 0 0 加‘0’ +0 00.0 0 0 0 0 00.0 0 0 0 0 00.0 0 0 0 0 0 1 1 0 0 1 0 加[-X]补 +[-X]补 00.1 1 0 1 0 00. 1 1 0 1 0 00. 0 1 1 0 1 0 0 1 1 0 0 1 加[X]补 +[X]补 11. 0 0 1 1 0 11. 1 0 0 1 1 11. 1 1 0 0 1 1 0 0 1 1 0 0 加‘0’ +0 00. 0 0 0 0 0 11. 1 1 0 0 1 加[-X]补 11. 1 1 1 0 0 1 1 0 0 1 1 0 +[-X]补 00. 1 1 0 1 0 00. 1 0 1 1 0

00. 1 0 1 1 0 1 1 0 0 1 1 0 00. 0 1 0 1 1 0 1 1 0 0 1 1 加 ‘0’ +0 00. 0 0 0 0 0 00. 0 1 0 1 1 0 1 1 0 0 1 1 [X×Y]补 = 00.0101101100 ; X×Y = +0.0101101100 例3-11 X = 21 / 32 = +0.10101 ,Y = - 26 / 32 = —0.11010 , 用Booth法求X×Y 。 解:[X]补= 00.10101 , [Y]补= 1.00110 , [-X]补= 11.01011

4. 补码一位乘法运算器框图 补码一位乘法运算实 现4位二进制数乘法的 原理框图如下图所示。

B寄存噐:n+2位寄存器存放乘数Y的补码[Y]补,最低位Yn+1为 乘数的附加位初值置“0”,由YnYn+1的取值决定累加时的数值: (1) 运算器的组成 A寄存噐:n+2位寄存器存放被乘数X的双符号位补码[X]补; B寄存噐:n+2位寄存器存放乘数Y的补码[Y]补,最低位Yn+1为 乘数的附加位初值置“0”,由YnYn+1的取值决定累加时的数值: C寄存噐: n+2位寄存器存放部分积,初值为0; C_B组成2n+4位寄存噐,用来存放每次求得的部分积之和,并 可实现右移,最后结果——2n+2位乘积值存于此; 乘积P寄存器:(2n+2)位寄存器,用来存放最终结果,2n位存 放乘积的数值,最高两位为符号位(双符号位); NEG: 求补器,输入被乘数X的补码[X]补,输出[-X]补; ∑: 一个(n+2)位加法器; 选择器D:三选一选择器,用以选取一个加数;

计数器CR:减法计数器,初始值为操作数中数值位的位数n,用 来控制操作中部分积的右移次数,当CR为0时结束操作; CSR:右移控制信号(脉冲信号),每发一脉冲信号,控制有关 寄存器C_B右移一次,最后2位控制选择器D的输出; (2)工作原理 ① 初始化:将被乘数的双符号位补码存放A寄存器, 乘数的补码 存放B寄存器,同时置B寄存器得末位为0,置C寄存器初值为0, 置计数器CR初值为n; ② 相加操作: 根据B寄存器的末两位的值通过选择器D选择一加数 和C寄存器内容(部分积)相加, 若 Yn Yn+1 = 00 或11 选择加数 0相加; Yn Yn+1 = 01 选择加数A寄存器内容( [X]补)相加; Yn Yn+1 = 10 选择加数A寄存器内容求补( [-X]补)相加;

⑤ 最后一次相加操作:根据B寄存器的末两位的值通过选择器D选 择一加数和C寄存器内容(部分积)相加,之后将C寄存器的n+2位 ③ 移位操作: 当CSR 脉冲到来时, 寄存器C、B组成2n+4位寄存器右移一位, 同时计数器CR-1; ④ 判断继续运算: 判CR,若CR ≠0则重复执行步骤②和③, 若CR = 0 则作最后一次加法操作; ⑤ 最后一次相加操作:根据B寄存器的末两位的值通过选择器D选 择一加数和C寄存器内容(部分积)相加,之后将C寄存器的n+2位 和B寄存器高n位送乘积P寄存器; 乘积P寄存器中便是乘积的双符号位补码。

3.3.2 定点数的除法运算和除法电路的实现 在计算机中实现除法运算的方法是移位相减,而减法又可用补码相 加来完成。因此其基本操作也是移位和加法。 原码除法常用“恢复余数法”和“加减交替法”,补码常用“加减交替 法”。这些方法都建立在 被除数绝对值小于除数绝对值的基础上。 1. 原码除法—— 恢复余数法 参加运算的两个数以原码表示,取两数的绝对值相除,商的符号由 两数的符号位按位相加求得。 在计算机中是先作减法,由余数的符号来判别是否够减: 如果余数为正,说明够减,应上商为1; 如果余数为负,应上商为0,由于已作了相减运算,需将除数加回 以恢复余数。

因为每次求一位商,余数左移一位,所以最后所得的余数应右移n位(对n位数相除而言)即×2-n,余数应与被除数同号。 例3-12 设[X]原 = 0.1101 ,[Y]原= 0.1111,用原码恢复余数法 求:[X/Y]原 。 解: 按除法规则,符号位Zs= Xs ⊕Ys = 0 双符号位补码[ -| Y |]补=11.0001, 绝对值除法|X|/ |Y|如下:

被除数 0 0. 1 1 0 1 0. 0 0 0 0 说 明 加[-Y]变补 +) 1 1. 0 0 0 1 -|Y| 1 1. 1 1 1 0 0. 0 0 0 0 余数为负 ,商上0,恢复余数 加 Y +) 0 0 . 1 1 1 1 0 0. 1 1 0 1 左移1位 0 1. 1 0 1 0 0. 0 0 0 加[-Y]变补 +) 1 1. 0 0 0 1 0 0. 1 0 1 1 0. 0 0 0 1 余数为正 ,商上1, 左移1位 0 1. 0 1 1 0 0. 0 0 1 加[-Y]变补 +) 1 1. 0 0 0 1 0 0. 0 1 1 1 0. 0 0 1 1 余数为正 ,商上1 左移1位 0 0. 1 1 1 0 0. 0 1 1 1 1. 1 1 1 1 0. 0 1 1 0 余数为负 ,商上0,恢复余数 加 Y +) 0 0. 1 1 1 1 0 0. 1 1 1 0 左移1位 01. 1 1 0 0 0. 1 1 0 加[-Y]变补 +) 1 1. 0 0 0 1 0 0. 1 1 0 1 0. 1 1 0 1 余数为正 ,商上1

|X|/ |Y| = 0.1101 + 0.1101×2-4 / |Y| [Z]原 = 0.1101,Z= 0.1101 , 余数R = 0.1101× 2-4,

2. 原码除法——加减交替法 如果上商到i位时,所得余数为ri ,则应有ri=2ri-1+(-Y) , ◆ 加减交替法原理: 如果上商到i位时,所得余数为ri ,则应有ri=2ri-1+(-Y) , 如果ri<0,商上 0,同时恢复余数,即ri加上Y,然后左移一位, 再作减Y运算得ri+1,再由ri+1=2(ri+Y)+(-Y)=2ri+Y,即当余数ri为负时, 商位上0,余数左移一次加上除数,即得新的余数ri+1; 如果ri>0,商上1,余数左移一次,减去Y,即得新的余数ri+1; 其规则为: 余数ri为正,商上1,余数左移一位减除数; 余数ri为负,商上0,余数左移一位加除数。

例3-13设[X]原 = 0.1101 ,[Y]原= 0.1111,用原码加减交替法求 [X/Y]原 。 上商,余数左移一位共n次,最后所得的余数应右移n位(对n位数 相除而言)即×2-n,余数应与被除数同号。 例3-13设[X]原 = 0.1101 ,[Y]原= 0.1111,用原码加减交替法求 [X/Y]原 。 解: |X| =00.1101 , |Y| =00.1111, 按除法规则,符号位 Zs=Xs⊕Ys=0 [ -|Y|]补 =[|Y|]变补= 11.0001 绝对值相除|X|/ |Y|如下:

结果商为[Z]原 = 0.1101, Z = +0.1101 , 余数R = 0.1101 × 2-4,

解:|X| =00.1000,|Y| =00.1010 例3-14 X =+0.1000,Y =- 0.1010 ,用原码加减交替法求 按除法规则,符号位Zs=Xs ⊕ Ys=1 [ -|Y|]补 = [|Y|]变补= 11.0110 绝对值除法|X|/ |Y|如下:

|X|/ |Y| = 0.1100 + 0.1000×2-4 / |Y| 结果商为[Z]原 = 1.1100,Z = -0.1100 ,余数R = 0.1000× 2-4, 例3-15 X =-0.1000,Y =+ 0.1010 ,用原码加减交替法求[X/ Y]原。 解: |X| =00.1000,|Y| =00.1010 按除法规则,符号位Zs=Xs ⊕ Ys=1 [ -|Y|]补 = [|Y|]变补= 11.0110 绝对值除法|X|/ |Y|结果为: |X|/ |Y| = 0.1100 + 0.1000×2-4 / |Y| 结果商为[Z]原 = 1.1100, Z = -0.1100 余数R = -0.1000× 2-4

3. 原码加减交替法除法运算器 (1) 硬件系统组成 A寄存器: n+2位寄存器,存放被除数X(双符号位Xs’Xs) 5位原码加减交替法除法运算器的原理框图如下。 (1) 硬件系统组成 A寄存器: n+2位寄存器,存放被除数X(双符号位Xs’Xs) ,在运算过程中存放部分余数; B寄存器: n+2位寄存器,存放除数Y(双符号位Ys’Ys); C寄存器: n+1位寄存器,存放商初值为00000,在运算过程 中最低位保存每次求得的商Q; R寄存器: n+2位寄存器,存放最终余数R(双符号位Ys’Ys) Q寄存器: n+1位寄存器, 存放最后结果商Q

减法计数器CR:初值置n,每左移一次并+|Y|/-|Y|, CR-1,当CR=0时运算结束; 二选一的选择器E和F ; 求补器NEG :n+2位、 缓冲噐BUF :n+2位 加法器∑ :n+2位 CSL:信号左移控制信号 (2) 运算过程 ① 初始化:将被除数绝对值的6位双符号位原码Xs’XsX1X2…,存放 A寄存器,被除数绝对值的6位双符号位原码Ys’YsY1…存放 B寄存 器,置计数器CR初值为4, 置 C寄存噐=00…0; ② 首次运算:|X|-|Y|(∣X∣+[∣Y∣]求补 ):

③ 上商: 判别A 寄存器(余数),若 XS为0(余数为正) , 从选择器E 中选1送C寄存器Q位(商上1); 若A 寄存器中XS为1余数为负 , 从选择器E 中选0送C寄存器Q位(商上0);同时根据A 寄存器中XS 从选择器F 选中∣Y∣(XS=1)或[∣Y∣]求补(XS=0)作为ALU的一个输入 ; ④移位: 当CSl 脉冲到来时, 寄存器A、C组成11位寄存器左移一位,同时使计数器CR-1; ⑤相加:左移后, A寄存器的部分积作为ALU的另一个输入进行相加,得到新的余数存入A寄存器;; ⑥判断运算结束:判CR,若CR ≠0则重复执行步骤(3)、(4)、(5),若CR =0 则运算结束,如果余数为负, 0送C寄存器Q位(商上0), A寄存器 +|Y|,如果余数为正, 1送C寄存器Q位(商上1), A寄存器的内容送入余数R寄存器,寄存器C的内容送入商 Q寄存器;

4. 补码除法——补码加减交替法 ◆ 被除数、除数用双符号位补码表示,商与余数也用补码表 示。除法运算是被除数(或部分余数)减除数。 ◆ 被除数、除数用双符号位补码表示,商与余数也用补码表 示。除法运算是被除数(或部分余数)减除数。 ◆ 够减与不够减的概念及其判断 够减:指 被除数(或部分余数)的绝对值大于等于除数的绝对值; 不够减:指 被除数(或部分余数)的绝对值小于除数的绝对值; 当被除数(或部分余数)与除数同号时,如果得到的新部分余数 与除数同号,表示够减,否则表示不够减; 当被除数(或部分余数)与除数异号时,如果得到的新部分余数 与除数异号,表示够减,否则表示不够减; ◆ 除法操作和上商的规则 ① [X]补和[Y]补同号,执行[X]补-[Y]补,

若余数[Ri]补与[Y]补同号,商上“1”,下次操作为: [Ri+1]补=2[Ri]补-[Y]补 ; 若余数[Ri]补与[Y]补异号,商上“0”,下次操作为: [Ri+1]补=2[Ri]补+[Y]补 ② [X]补和[Y]补异号:[X]补+[Y]补, 若余数[Ri]补与[Y]补同号,商上“1”,下次操作为: [Ri+1]补=2[Ri]补-[Y]补 ; 若余数[Ri]补与[Y]补异号,商上“0”,下次操作为: [Ri+1]补=2[Ri]补+[Y]补 ③ 商符在求商时自动生成——即第一次得出的商。 ④ 末位恒置“1”。

例3-15 X =+0.1000,Y =- 0.1101,用补码加减交替法求: [X/Y]补。 除数: [Y]补=11.0011 ; [-Y]补= 00.1101 [X]补和[Y]补异号,第一次做加法。

结果商为[Z]补 = 1.0111,余数R = 0.1011× 2-4, 真值Z = - 0.1001 。

3.4 定点运算器的基本结构与工作原理 3.4.1 移位电路 操作和乘法与除法运算中的移位操作的功能。 3.4.1 移位电路 在定点运算器中必不可少,实现定点运算中左移、右移的移位 操作和乘法与除法运算中的移位操作的功能。 一个具有直通、左移一位、右移一位的移位电路原理图如图所示。

bi:输入信号 ; ai :输出信号为 该移位电路是由三个三选一的选择器组成的; 三选一电路的工作过程是: S1S0 :选择信号 ,用来控制移位功能; S1S0=00时 右移 ; S1S0=01 , 直通; S1S0=10左移 ; 在以上的移位电路中, 当S1S0=00时,a3a2a1=b4b3b2,三位代码右移1次; S1S0=01时,a3a2a1=b3b2b1,三位代码直通传送; S1S0=10时,a3a2a1=b2b1b0,三位代码左移一次。 在上述移位电路的基础上,增加选择信号S以增加移2位,移 4位和移8位等功能,构成桶形移位器。

3. 4. 2 定点运算器的主要组成 通路等组成,一个典型的定点运算器结构如图所示。 3. 4. 2 定点运算器的主要组成 定点运算器中一般由ALU部件、寄存器、多路选择器、移位器和数据 通路等组成,一个典型的定点运算器结构如图所示。

定点运算器由如下几部分组成: (2)A寄存器、B寄存器和Q寄存器 为一个输入端口和二个输出端口的结构,输出分别送A寄存器 (1) 寄存器组 由若干个通用寄存器组成; 为一个输入端口和二个输出端口的结构,输出分别送A寄存器 和B寄存器,可以通过寄存器号来选择输入寄存器,以及输出寄 存器。 (2)A寄存器、B寄存器和Q寄存器 A寄存器,B寄存器:接收来自寄存器组的数据,作为ALU二个运算 数据的来源之一;B寄存器的数据也可直接送到选择电路3。 Q寄存器:接收来自移位电路1的数据,其输出可反馈到其移位电 路1的输入端(左、右移输入端),实现数据的左移1位或右移1位 的操作。Q寄存器输出通过三选一电路1送入ALU的输入端。Q寄存器 在进行乘除法运算时可用作乘数及商寄存器。

(3) ALU为多功能算术逻辑运算部件 参加运算的二个数据来自: (4)移位电路1和移位电路2: ① 选择电路1 —三选一电路,输入来自Q寄存器、A寄存器和 B寄存器; ② 选择电路2 —二选一电路,输入来自B寄存器和外部输入; ③ 选择电路3 —二选一电路,输入来自ALU输出或B寄存器输出; (4)移位电路1和移位电路2: 可进行左移1位、右移1位以及直通操作,移位数据可以来自ALU 输出(移位电路1,还可对Q寄存器反馈回来的信息进行左移或右 移1位的操作)。 ALU的加减操作和移位操作可以在同一操作步骤中完成。

3.5 浮点数运算和浮点数运算器的实现 3.5.1 二进制数的浮点表示法 ◆ 在数的浮点表示法中,浮点数据表示为: 3.5 浮点数运算和浮点数运算器的实现 3.5.1 二进制数的浮点表示法 ◆ 在数的浮点表示法中,浮点数据表示为: N =(-1)S × M × RE = M × RE ◆ 在计算机中,尾数大多采用原码或补码表示;阶码采用补码或 移码表示。浮点数通常表示为以下的格式: ◆ 若一个浮点数的阶码有m位(不包括阶符)尾数有K位(不 包括尾符),则可表示的数的最大正值为:尾符和阶符为正(0) ,阶码和尾数为全”1”时,即:

◆ 用浮点数进行运算可减少精度上的损失,由于浮点的小数点是 而可表示的数的最小正值为: 阶符为负,阶码为全”0”,尾数最低 位为”1”,其余为”0”,即: ◆ 用浮点数进行运算可减少精度上的损失,由于浮点的小数点是 不固定的,在运算前需要使小数点对位,即“对阶”,且按大的阶 码对阶,否则可能丢失数字的有效位而引起误差。 ◆ 一般浮点数都以“规格化”方式表示,所谓“规格化”是指尾数真 值最高位是个有效数字(1),不是“0”,可以保留最多的有效数 字,提高运算精度。浮点数规格化尾数的补码表示为: 0 . 1 X X X X…. 或 1 . 0 X X X X……

◆ 在浮点数表示中,当一个数的阶码大于机器所能表示的最大 ◆ 在浮点数表示中,当一个数的阶码大于机器所能表示的最大 阶码时,产生“上溢”。转入“溢出中断”处理;当一个数的阶码小 于机器所能表示的最小阶码或尾数为0时,则产生“下溢”,下溢时 机器 一般将此当做“机器零”来处理。 3.5.2 二进制数的浮点运算 1. 浮点数的加减法运算: 两浮点数 X、Y,分别为: X=MX·2Ex ; Y=MY·2Ey 浮点数加减法运算规则为: X±Y = MX ·2Ex± MY·2Ey =(MX±MY·2-(Ex-Ey))2Ex , EX≥EY 浮点数加减运算的步骤如下:

(1)对阶 总之,对阶是阶码小的向阶码大的对齐。 阶,即将原来阶码小的尾数部分右移,并相应增加其阶码,以使浮 检查两数的小数点位置是否对齐,若两数的阶码不同必须进行对 阶,即将原来阶码小的尾数部分右移,并相应增加其阶码,以使浮 点数值不变,尾数右移1次,阶码加1。 对阶时,先求阶码差: △E = EX - EY。 若△E = 0,表示两浮点数阶码相同; △E>0,表示EX>EY,将MY右移,EY增量直到EY=EX; △E<0,表示EX<EY,将MX右移,EX增量直到EX=EY。 总之,对阶是阶码小的向阶码大的对齐。 尾数右移时注意: ● 右移时当末位为有效值“1”时,“1”的移出实际上降低了浮点 数的精度; ● 对补码形成的尾数,正数时高位补“0”,负数时高位补“1”。

(2)尾数运算 (3)运算结果规格化 对阶后,对阶码相同的两个浮点数实现尾数的加减运算。若尾数 为补码表示,则进行补码的加减运算。 若尾数运算后的结果不符合规格化要求,必须对结果进行规格 化处理。有两种规格化: ■ 向左规格化(左规)——运算结果尾数如 0.001…,则将结 果左移2次,阶码减2; ■ 向右规格化(右规)——若采用双符号位补码表示尾数,则 当运算结果尾数为01.×××…×或10.×××…×,表示尾数绝 对值大于1,必须将结果右移以实现规格化。尾数右移1次,阶码 加1。

在运算过程中,对阶和向右规格化,尾数必须向右移,被右移 (4)舍入处理 在运算过程中,对阶和向右规格化,尾数必须向右移,被右移 尾数的低位数据会被丢弃,造成一定的误差,必须进行舍入处理, 即按照规则调整剩余部分。 常用的舍入方法有: ① 截去法 : 移去多余位,剩下位不变。其最大误差为最低位 上的“1”。 ② 0舍1入法:若右移舍去的最高位为0,则舍去移出位,末位 不变;若右移舍去的最高位为1,则尾数的末位加“1”。其最大误 差为最低位的-1/2到+1/2之间,一般采用该方法。 ③ 恒置1法:在截去多余位时,将剩下数据的最低位置“1”。其最 大误差为最低位的-1到+1之间。

(5) 溢出处理 在浮点数加减运算中会发生4种溢出: ① 尾数上溢 — 两个同符号数相加产生了最高位向符号位的进位, (5) 溢出处理 在浮点数加减运算中会发生4种溢出: ① 尾数上溢 — 两个同符号数相加产生了最高位向符号位的进位, 可将尾数右移,阶码加1来调整; ② 尾数下溢 — 尾数右移时,最低有效位从右端丢失,要进行舍入 处理; ③ 阶码上溢 — 运算结果的阶码值超过了阶码可能表示的最大值 的正指数值,一般认为是+∞~-∞; ④ 阶码下溢— 运算结果的阶码值超过了阶码可能表示的最小值的 负指数值,一般将其认为“0”。 浮点数运算结果的判断是检查阶码是否溢出,阶码下溢则置运算结果为浮点数形式的“机器零”;阶码上溢,置溢出标志,由CPU的异常处理机制进行处理。

解: 例3-16 已知两浮点数X=-0.101000×2-101,Y=+0.111011×2-100 要求阶码、尾数都用补码表示。 解: 按要求: [X]浮=11 011,11.011000 [Y]浮=11 100,00.111011 ① 对阶 [△E]补=[EX]补-[EY]补=[EX]补+[-EY]补= 11 011+00 100=11 111 △E=-1,EX<EY,X的尾数右移一位,EX+1 ; [MX]补=11.101100 , [EX]补=11 100 [X]浮=11 100,11.101100 ② 尾数相减

[MX]补-[MY]补=[MX]补+[-MY]补 =11.101100+11.000101 =10.110001 [X-Y]浮=11,100 10.110001 ③ 规格化 右规后, [X-Y]补=11 101,11.0110001 ④ 舍入处理 一般采用“0舍1入法”,右规时末位丢弃1, 11.011000末位加“1”得11.011001 则 [X-Y]浮=11,101,11.011001 ⑤ 判溢出 舍入处理后阶符为“11”说明无溢出。 所以 X-Y= — 0.100111×2—011

设:阶码5位(含2位阶符),尾数10位(含2位尾符)求X + Y (要求阶码,尾数都用补码表示)。 ① 对阶 [△E]补=[EX]补-[EY]补=[EX]补+[-EY]补=00,010 + 11,100 = 11,110 △E=-2 EX<EY MX右移2位,EX加2得 [X]浮 =00,100,00.00110110(11) ② 尾数相加 [MX]补+[MY]补 = 00.00110110(11)+11.01010100 = 11.10001010(11)

③ 规格化 尾数为11.1 0…应左规,尾数左移1次阶码减1。 [MX+MY]补=11.00010101(10) ③ 规格化 尾数为11.1 0…应左规,尾数左移1次阶码减1。 [MX+MY]补=11.00010101(10) [EX+Y]补=00,011 ④ 舍入处理 采用“0舍1入法”,右规时丢弃1个“1”, 11.00010101末位加“1”得 11.00010110 则 [X+Y]浮 =00,011,11.00010110 ⑤ 判溢出 舍入处理后,阶符为‘00’说明无溢出。 则 X+Y = - 0.11101010×2011

2. 浮点数的乘除法运算 (1)基本原理 浮点数乘法运算,其乘积的阶码为相乘两数的阶码之和,其乘积 的尾数为两相乘数尾数之积。 2. 浮点数的乘除法运算 (1)基本原理 浮点数乘法运算,其乘积的阶码为相乘两数的阶码之和,其乘积 的尾数为两相乘数尾数之积。 浮点数除法运算,商的阶码为被除数的阶码减去除数的阶码,其 尾数为被除数的尾数除以除数的尾数所得之商。 设两浮点数 X、Y分别为: X = MX·2Ex Y = MY·2Ey 乘法运算时 , X·Y =(MX·MY)·2Ex+Ey=Mx·y·2Exy 除法运算时 , X /Y = MX / MY. ·2Ex - Ey= Mx/y·2Ex/y

式中, Mx·y = Mx·My ;Mx/y = Mx/My Ex·y = Ex+Ey ;Ex/y = Ex-Ey (2) 阶码运算 ① 补码表示 乘积的阶码[Exy]补 =[Ex]补 +[Ey]补 商的阶码[Ex/y]补=[Ex]补-[Ey]补 溢出判别 —— 同号的阶码相加或异号的阶码相减可能产生溢出, 应作溢出判断。 ② 移码表示: 按移码定义, n+1位移码的表达式为: [Ex]移 = 2n + Ex ,-2n ≤ Ex < 2n [Ey]移 = 2n + Ey ,-2n ≤ Ey < 2n

得:[Ex]移 + [Ey]移 = 2n + Ex + 2n + Ey = 2n +[2n +(Ex +Ey)] = 2n + [Ex + Ey]移 n+1位补码的表达式为: [Ey]补=2n+1 + Ey,(mod 2n+1) 因此,求阶码和的公式为: [Ex]移 + [Ey]补 = 2n + Ex + 2n+1 + Ey = 2n+1 +[ 2n +(Ex + Ey)] = [Ex + Ey]移 ,(mod 2n+1) 求阶码差的公式为: [Ex]移 + [- Ey]补 = [Ex -Ey]移 移码加减运算时,只需将移码表示的加数或减数的符号位取反(即变 补码),然后进行运算,即得阶码和或阶码差的移码。

例3-18 Ex = + 011,Ey = + 110,求:[Ex+Ey]移 及 [Ex-Ey]移, 且判断溢出。 ③ 移码表示时的溢出判别 采用双符号位,在移码原有符号位前再加一个第二符号位为“0”, 即最高位为“0”。溢出条件是最高位变为“1”时,若双符号位为“10” ——上溢,“01”——下溢,“11”为正,“00”为负。 例3-18 Ex = + 011,Ey = + 110,求:[Ex+Ey]移 及 [Ex-Ey]移, 且判断溢出。 解: [Ex]移 = 01,011 [Ey]移 = 01,110 [Ey]补 = 00,110 [-Ey]补 = 11,010 [Ex+Ey]移 =[Ex]移+[Ey]补 = 01,011 + 00,110 = 10,001 结果上溢 。

[Ex-Ey]移 =[Ex]移 +[-Ey]补 = 01,011 + 11,010 = 00,101 结果为:Ex-Ey =-011B= - 3D (3)尾数乘法运算 浮点数尾数相乘的步骤: ◎ 检测相乘两尾数中是否有“0”,若有一个为“0”,乘积必为“0”, 若均不为“0”,可进行乘法运算; ◎ 浮点数的尾数相乘可以采用定点小数的任一种乘法运算来完成, ◎ 乘积值可能要进行左规,同时调整相应的阶码;阶码调整时, 若发生阶码下溢,则作“机器零”处理;若发生阶码上溢,则作“溢 出”处 理。 ◎ 尾数相乘时,乘积会产生超过原字长直到双倍字长结果,若限 定只取原字长,则乘积的若干低位将会丢失,可采用两种方法处理:

① 截断处理:丢弃原尾数字长的右边低位值,优点是处理简 单,缺点是影响精度; ② 运算过程中保留右移出的若干高位值,最后再按约定规则 用这些位上的值修正尾数—舍入处理; ▼尾数用原码表示时,可采用“0舍1法”或最低位“恒置1法”。 ▼尾数用补码表示时,采用的方法是: 当丢失的各位均为“0”时,不必舍入; 当丢失的最高位为0,而其它各位不全为0或丢失的最高位为 1,以下的各位均为0,则舍去丢失位上的值; 当丢失的最高位为1,以下各位不全为0时,执行在尾数最低 位加入1的修正操作。

执行后,求结果只保留小数点后4位有效数字时的舍入操作值。 例3-19 有4个乘积尾数分别为: [M1]补 = 11.01100000 ;[M2]补 = 11.01100001 [M3]补 = 11.01101000;[M4]补 = 11.01111001 执行后,求结果只保留小数点后4位有效数字时的舍入操作值。 丢弃0000(不舍不入) [M1]补 =11.0110 丢弃0001 (舍) [M2]补 =11.0110 丢弃1000 (舍) [M3]补 =11.0110 丢弃 1001 (入) [M4]补 =11.0111+0.0001=10.1000

(4)尾数除法运算 浮点数尾数相除的步骤: ① 检测被除数是否为“0”,若为“0”,则商必为“0”;再检测除 ① 检测被除数是否为“0”,若为“0”,则商必为“0”;再检测除 数是否为“0”,若为“0”,则商必为“无穷大”,另作处理;除数 和被除数都不为“0”,可进行除法运算。 ② 浮点数的尾数相除可采用定点小数的任一种除法运算来完成。 ③ 先比较被除数和除数的绝对值,若被除数绝对值大于除数的绝 对值,商会大于1,结果溢出。可先将被除数右移1位,对应阶码 加1,再作尾数相除,可防止除法结果——商的溢出。

3.5.3 浮点运算器的基本结构 1. 浮点数加减法运算操作流程图 浮点数加减法运算的操作流程如 2.加减运算器原理图 图所示。 3.5.3 浮点运算器的基本结构 1. 浮点数加减法运算操作流程图 浮点数加减法运算的操作流程如 图所示。 2.加减运算器原理图 浮点数加减运算器的结构框图

浮点数加减运算器 的结构框图:

3. 部件悦明 作数,c中存放运算结果操作数; 来进行阶码运算; f、g、h: 2选一的选择器; k:尾数右移部件,用于对阶时操作; a、b、c: 浮点数据寄存器,其中a、b中存放待运算的2个浮点操 作数,c中存放运算结果操作数; d、e: ALU,d为大ALU,用来进行尾数运算;e为小ALU,用 来进行阶码运算; f、g、h: 2选一的选择器; k:尾数右移部件,用于对阶时操作; l:左移/右移部件,用于对大ALU运算结果的规格化; i:阶码差寄存器; j:为阶码加1/减1器件,用于对阶后操作及舍入操作; N:舍入部件,用于舍入操作; P:操作控制器,根据阶码差控制相关部件的操作;

(1) 对阶: 4. 工作过程简介 a,b中的两个阶码送e(小ALU)进行对阶操作,结果存入i(阶 (2) 尾数运算 4. 工作过程简介 (1) 对阶: a,b中的两个阶码送e(小ALU)进行对阶操作,结果存入i(阶 码差寄存器),然后送p(操作控制器),根据阶码差对尾数进行 移位操作。 操作控制器输出x、y、z、u、v、w,6个控制信号。信号y控制 选择器g将阶码较小数的尾数送k(右移部件)。同时,对较小的阶 码进行加1操作(由操作控制信号x控制),对阶后的阶码作为结果 操作数的阶码。 (2) 尾数运算 经过对阶后的2个尾数送入d(大ALU)进行加减运算,运算结 果送入l(左移/右移部件)进行规格化。

(3) 运算结果规格化 (4) 舍入处理 规格化时对运算结果的尾数进行左移或右移由操作控制器p的控 制信号u控制,同时结果的阶码进行加1或减1操作,由j(加1/减 1部件)实现,尾数右移,阶码加1,尾数左移,阶码减1。 (4) 舍入处理 规格化后数据送n舍入部件,经过舍入操作的数据结果送入C (结果数据寄存器)。

Thank You !