课程B:第4章数值的机器运算_第1页
课程B:第4章数值的机器运算_第2页
课程B:第4章数值的机器运算_第3页
课程B:第4章数值的机器运算_第4页
课程B:第4章数值的机器运算_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

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

文档简介

1、西西 南南 交交 通通 大大 学学信息科学与技术学信息科学与技术学院院20201616年年3 3月月 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案第第4 4章章 数值的机器运算数值的机器运算4.1 4.1 基本算术运算的实现基本算术运算的实现4.2 4.2 定点加减运算定点加减运算4.3 4.3 带符号数的移位和舍入操作带符号数的移位和舍入操作4.4 4.4 定点乘法运算定点乘法运算4.5 4.5 定点除法运算定点除法运算4.6 4.6 规格化浮点运算规格化浮点运算4.7 4.7 十进制整数的加法运算十进制整数的加法运算4.8 4.8 逻辑运算与实现逻辑运算与实现4.

2、9 4.9 运算器的基本组成结构运算器的基本组成结构 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算3第第4 4章章 数值的机器运算数值的机器运算本章重点:本章重点: 1. 1. 理解和掌握与门、与或门、三态门、寄存器等器件的典理解和掌握与门、与或门、三态门、寄存器等器件的典型应用方法,以及它们的组合应用方法;型应用方法,以及它们的组合应用方法; 2. 2. 加法器的先行进位原理;定点数的加减乘除运算方法加法器的先行进位原理;定点数的加减乘除运算方法( (其其中补码数运算最重要中补码数运算最重要), ), 并能把数据表示、运

3、算方法并能把数据表示、运算方法( (算法算法) )和电路实现联系起来;和电路实现联系起来; 3. 3. 学会用寄存器传送语言描述硬件的微操作;学会用寄存器传送语言描述硬件的微操作; 4. 4. 理解逻辑运算及其实现方法、浮点数的运算方法;理解逻辑运算及其实现方法、浮点数的运算方法; 5. 5. 了解定点运算器的典型结构了解定点运算器的典型结构. . 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算4第第4 4章章 数值的机器运算数值的机器运算运算方法:运算方法:算术运算和逻辑运算的运算规则。算术运算和逻辑运算的运算规则。 运算

4、器:运算器:根据运算方法而设计的硬件电路根据运算方法而设计的硬件电路, ,以实现数值的机器运算。以实现数值的机器运算。 (用硬件实现算法)(用硬件实现算法) 运算器功能:运算器功能:算术运算(加、减、乘、除)算术运算(加、减、乘、除) 逻辑运算(与、或、非、异或等)逻辑运算(与、或、非、异或等) (移位、计数等可归结到算术运算或逻辑运算)(移位、计数等可归结到算术运算或逻辑运算) ALU(Arithmetic and Logical Unit): 算术逻辑运算单元,是运算器的核心;算术逻辑运算单元,是运算器的核心; 加法器:加法器:是是ALUALU中最基本的运算部件。中最基本的运算部件。 西南

5、交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算5F = A BA BF&A BFA BF1A BFF = A+B或门或门 C (C (控制信号)控制信号)F&A应用例子应用例子 与门与门 4.0 4.0 预备知识预备知识 1. 1. 门电路门电路 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算6与或门与或门1&A B C D E FG应用例子应用例子 1&GA B CC3C2C1C1C2C3=100时时, G = AA BF=1

6、A BF F = AF = AB B ( (半加半加) )异或异或 A F=1C 应用例子应用例子C=0 时时, F = AC=1 时时, F = A4.0 4.0 预备知识预备知识 1. 1. 门电路门电路 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算7非门、三态门等非门、三态门等 A F1A FQDGG=0 时,时,Q = D;G=1 时,时,Q为高阻态。为高阻态。ENGQD4.0 4.0 预备知识预备知识 1. 1. 门电路门电路 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章

7、 数值的机器运算数值的机器运算8QD CPQD CPQD CP.4.0 4.0 预备知识预备知识 2 2寄存器寄存器 具有记忆(存储)功能。具有记忆(存储)功能。 典型结构:典型结构:由多个触发器组成,每个触发器对应位。由多个触发器组成,每个触发器对应位。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算9计算机各个部件的内部,主要计算机各个部件的内部,主要由两种类型的电路组成由两种类型的电路组成: 1) 1) 没有记忆功能的没有记忆功能的组合逻辑电路组合逻辑电路,由门电路组成;,由门电路组成; 2) 2) 带记忆功能的器件带

8、记忆功能的器件,最典型的就是寄存器,其它记忆,最典型的就是寄存器,其它记忆元件也可以看作是寄存器。元件也可以看作是寄存器。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算10C Ci i C Ci-1i-1FAFAS Si iA Ai i B Bi i4.1 4.1 基本算术运算的实现基本算术运算的实现 加法运算是最基本的算术运算,减、乘、除运算最终都可以加法运算是最基本的算术运算,减、乘、除运算最终都可以归结为加法运算。归结为加法运算。4.1.1 4.1.1 加法器加法器 1 1全加器(全加器(FAFA) 西南交通大学信息

9、科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算11C Ci i C Ci-1i-1FAFAS Si iA Ai i B Bi iA: 0 0 1 0A: 0 0 1 0B: 1 0 1 1 B: 1 0 1 1 S: 1 1 0 1S: 1 1 0 14.1.1 4.1.1 加法器加法器 1 1全加器(全加器(FAFA)输入量:输入量: A Ai i、B Bi i、C Ci-1i-1( (低位传来的进位低位传来的进位) );输出量:输出量: S Si i( (本位和本位和) )、C Ci i( (向高位的进位向高位的进位) )。 S Si

10、i = A = Ai iB Bi iC Ci-1i-1 C Ci i = A = Ai iB Bi i+(A+(Ai iB Bi i)C)Ci-1i-1 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算122 2串行加法器和并行加法器串行加法器和并行加法器1) 1) 串行加法器用一个全加器进行串行加法器用一个全加器进行n n位字长的加法运算。位字长的加法运算。 特点:特点:器件少,但运算速度慢,因为运算数据需逐位串行器件少,但运算速度慢,因为运算数据需逐位串行送入加法器进行运算。送入加法器进行运算。2) 2) 并行加法器由并行

11、加法器由n n个全加器组成个全加器组成( (n n为字长为字长) ),数据的各位,数据的各位同时运算。同时运算。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算13C C2 2 C C1 1FAFAS S2 2A A2 2 B B2 2 C C0 0FAFAS S1 1A A1 1 B B1 1C Cn n C Cn-1n-1FAFAS Sn nA An n B Bn n S SC Cn n C C0 0 A B由此可见,由此可见,提高并行加法器速度的关键是尽量加快进位产生提高并行加法器速度的关键是尽量加快进位产生和传递的速

12、度。和传递的速度。 4.1.2 4.1.2 进位的产生和传递进位的产生和传递 最简单的并行加法器是串行进位(行波进位)加法器:最简单的并行加法器是串行进位(行波进位)加法器:A: 0 0 1 0A: 0 0 1 0B: 1 0 1 1 B: 1 0 1 1 S: 1 1 0 1S: 1 1 0 1C0 0虽然操作数的各位是同时提供的,但高位运算需要使用低位虽然操作数的各位是同时提供的,但高位运算需要使用低位运算后所产生的进位。运算后所产生的进位。C C1 1 = G = G1 1+P+P1 1C C0 0 (其中:其中:Gi=AiBi Gi=AiBi 称为本地进位)称为本地进位)C C2 2

13、= G = G2 2+P+P2 2C C1 1 ( Pi=AiBi Pi=AiBi 称为传递进位)称为传递进位)C C3 3 = G = G3 3+P+P3 3C C2 2C C4 4 = G = G4 4+P+P4 4C C3 3 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算14C C2 2 C C1 1FAFAS S2 2A A2 2 B B2 2 C C0 0FAFAS S1 1A A1 1 B B1 1C Cn n C Cn-1n-1FAFAS Sn nA An n B Bn nCLA加法器加法器A BSCn n

14、C0 0C Cn n C Cn-1n-1FAFAS Sn nA An n B Bn nC C2 2 C C1 1FAFAS S2 2A A2 2 B B2 2 C C0 0FAFAS S1 1A A1 1 B B1 1并行进位逻辑电路并行进位逻辑电路ABC04.1.3 4.1.3 并行加法器的快速进位并行加法器的快速进位 1 1并行进位方式并行进位方式 又叫先行进位,又叫先行进位,解决加法器中进位的传递速度问题。解决加法器中进位的传递速度问题。基本思路:基本思路:让各位的进位输入与低位的进位产生无关,让各位的进位输入与低位的进位产生无关, 仅与两个参加操作的数有关,以提高加法器的运算速度。仅与

15、两个参加操作的数有关,以提高加法器的运算速度。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算15串行进位逻辑串行进位逻辑: :C C1 1 = G = G1 1+P+P1 1C C0 0 (其中:其中:Gi=AiBi Gi=AiBi 称为本地进位)称为本地进位)C C2 2 = G = G2 2+P+P2 2C C1 1 ( Pi=AiBi Pi=AiBi 称为传递进位)称为传递进位)C C3 3 = G = G3 3+P+P3 3C C2 2C C4 4 = G = G4 4+P+P4 4C C3 3 可改写为:可改写为

16、:C C1 1 = G = G1 1+P+P1 1C C0 0C C2 2 = G = G2 2+P+P2 2G G1 1+P+P2 2P P1 1C C0 0C C3 3 = G = G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1C C0 0 C C4 4 = G = G4 4+P+P4 4G G3 3+P+P4 4P P3 3G G2 2+P+P4 4P P3 3P P2 2G G1 1+P+P4 4P P3 3P P2 2P P1 1C C0 0- - 并行进位(先行进位并行进位(先行进位CLACLACarry Look A

17、headCarry Look Ahead) 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算16并行进位逻辑:并行进位逻辑: C C1 1 = G = G1 1+P+P1 1C C0 0 C C2 2 = G = G2 2+P+P2 2G G1 1+P+P2 2P P1 1C C0 0 C C3 3 = G = G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1C C0 0 C C4 4 = G = G4 4+P+P4 4G G3 3+P+P4 4P P3 3G G2

18、 2+P+P4 4P P3 3P P2 2G G1 1+P+P4 4P P3 3P P2 2P P1 1C C0 0 并行进位逻辑电路可并行进位逻辑电路可以用与或门实现,其每个以用与或门实现,其每个进位输出进位输出C Ci i仅由仅由G Gi i、P Pi i及及最低进位输入最低进位输入C C0 0决定,可决定,可以同时产生。以同时产生。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算174位CLA加法器4位CLA加法器4位CLA加法器4位CLA加法器A4A1A8A5A12A9A16A13B4B1B8B5B12B9B16B1

19、3S4S1S8S5S12S9S16S13C4C8C12C16C02 2分组并行进位方式分组并行进位方式 单级先行进位方式(组内并行、组间串行)单级先行进位方式(组内并行、组间串行) 以以1616位加法器为例位加法器为例: : 2468tyCiC0C1C4C8C12C16先行进位时间图先行进位时间图 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算18 多级先行进位方式(组内并行、组间并行)多级先行进位方式(组内并行、组间并行) 把把单级先行进位单级先行进位中的式子变成:中的式子变成: C C4 4 = = G G4 4+P+P

20、4 4G G3 3+P+P4 4P P3 3G G2 2+P+P4 4P P3 3P P2 2G G1 1 + + P P4 4P P3 3P P2 2P P1 1C C0 0 = = G G1 1* * + + P P1 1* * C C0 0 C C8 8 = = G G8 8+P+P8 8G G7 7+P+P8 8P P7 7G G2 2+P+P8 8P P7 7P P6 6G G5 5 + + P P8 8P P7 7P P6 6P P5 5C C4 4 = = G G2 2* * + + P P2 2* * C C4 4 再改写成:再改写成: C C4 4 = = G G1 1* *

21、 + + P P1 1* * C C0 0 C C8 8 = = G G2 2* * + + P P2 2* *G G1 1* * + + P P2 2* *P P1 1 C C0 0 C C1212 = = G G3 3* * + + P P3 3* *G G2 2 + + P P3 3* *P P2 2* *G G1 1* * + + P P3 3* *P P2 2* *P P1 1* *C C0 0 C C1616 = = G G4 4* * + + P P4 4* *G G3 3* * + + P P4 4* *P P3 3* *G G2 2* * + + P P4 4* *P P3

22、3* *P P2 2* *G G1 1* * + + P P4 4* *P P3 3* *P P2 2* *P P1 1* *C C0 0 - 与上述与上述 CLACLA 的表达式相同,只是变量名称不同而已。的表达式相同,只是变量名称不同而已。 G Gi i* *称为组进位产生函数,称为组进位产生函数,P Pi i* *称为组进位传递函数称为组进位传递函数。 2 2分组并行进位方式分组并行进位方式 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算19 CLA电路BCLA加法器BCLA加法器BCLA加法器BCLA加法器A4 A1

23、A8 A5A12 A9A16 A13B16 B13B12 B9B8 B5B4 B1S4 S1S8 S5S12 S9S16 S13C0C16.P2P1P3P4G1G2G3G4C4C8C12*两级先行进位时间图两级先行进位时间图 246tyCiC0C1C4C8C12C16* 成组先行进位电路成组先行进位电路BCLABCLA,是是CLACLA电路的修改,增加了电路的修改,增加了GiGi* *和和PiPi* *逻辑输出,去掉了其中最高位并行进位的输出。逻辑输出,去掉了其中最高位并行进位的输出。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的

24、机器运算20?思考:?思考: 1 1在全加器里进位输出表达式在全加器里进位输出表达式 C Ci i = A = Ai iB Bi i+(A+(Ai iBBi i)C)Ci-1i-1 为什么可以简化为为什么可以简化为 C Ci i = A = Ai iB Bi i+(A+(Ai i+B+Bi i)C)Ci-1i-1? 2 2先行进位主要是解决什么问题,采用什么设计思路?先行进位主要是解决什么问题,采用什么设计思路? 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算21定点数的加减运算包括原码、补码和反码定点数的加减运算包括原码、

25、补码和反码3 3种带符号数的加种带符号数的加减运算,其中补码加减运算实现起来最方便。减运算,其中补码加减运算实现起来最方便。4.2 4.2 定点加减运算定点加减运算运算规则:运算规则: (1) (1) 符号位单独处理,用绝对值符号位单独处理,用绝对值( (即尾数即尾数) )参加运算;参加运算; (2) (2) 原码同号相加或异号相减时,尾数作加法运算,得和的原码同号相加或异号相减时,尾数作加法运算,得和的原码尾数原码尾数( (需要判溢出需要判溢出),),最后结果取被加最后结果取被加( (减减) )数的数符数的数符; ; (3) (3) 原码异号相加或同号相减时,尾数作减法运算,不需判原码异号相

26、加或同号相减时,尾数作减法运算,不需判溢出,减的结果为负时应把结果变补才是原码的尾数,溢出,减的结果为负时应把结果变补才是原码的尾数,结果的原码按是否够减决定结果数符。结果的原码按是否够减决定结果数符。4.2.1 4.2.1 原码加减运算原码加减运算 注:注:减法运算减法运算A-BA-B可转换为加法运算可转换为加法运算A+BA+B变补变补。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算22 X+Y补补= X补补 + Y补补 (mod M) X-Y补补 = X补补 + -Y补补 (mod M) - 减法可转化为加法运算!减法

27、可转化为加法运算! = X补补 + Y补补 + “末位末位1” (mod M)4.2.2 4.2.2 补码加减运算补码加减运算 1 1运算方法运算方法 符号位参加运算。符号位参加运算。 补码运算的两个重要公式:补码运算的两个重要公式: S = A + B + + C C0 0 S SCs C0 A B 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算232 2运算溢出判断运算溢出判断1 1)根据运算前后数的符号位判断)根据运算前后数的符号位判断 设:操作数设:操作数 A = AA = As s,A,A1 1 A A2 2 A

28、An n 操作数操作数 B = BB = Bs s,B,B1 1 B B2 2 B Bn n 其和为:其和为:S = SS = Ss s,S,S1 1 S S2 2 S Sn n 则:溢出条件则:溢出条件V Vf f = A = As s B Bs s S Ss s + A + As s B Bs s S Ss s 两个负数相加,结果却为正数两个负数相加,结果却为正数两个正数相加,结果却为负数两个正数相加,结果却为负数 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算242 2运算溢出判断运算溢出判断2) 2) 采用进位位判断

29、采用进位位判断 设:设:C Cs s为符号位产生的进位,为符号位产生的进位, C C1 1为最高数值位产生的进位为最高数值位产生的进位 则:溢出条件则:溢出条件V Vf f = C = Cs s C C1 1 + C + Cs s C C1 1 = C = Cs sCC1 13) 3) 运算时补码采用双符号位(变形补码)运算时补码采用双符号位(变形补码) 溢出条件溢出条件V Vf f = S = Ss1s1S Ss2s2 + S + Ss1s1S Ss2s2 = S = Ss1s1SSs2s2 S Ss1s1S Ss2s2=01=01,结果正溢结果正溢S Ss1s1S Ss2s2=10=10,

30、结果负溢结果负溢左边的符号位左边的符号位S Ss1s1叫做真符。叫做真符。当结果的双符号位当结果的双符号位S Ss1s1S Ss2s2为为0000或或 11 11时,值用补码能够表示。时,值用补码能够表示。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算25 例:例: A=0.1011, B=-0.1110, A=0.1011, B=-0.1110, 求求 A+BA+B补。补。 AA补补 00.1011 00.1011 +) +) BB补补 11.0010 11.0010 11.1101 11.1101 A+BA+B补补=

31、1.1101= 1.1101 A=0.1011, B=-0.0010A=0.1011, B=-0.0010,求求 A-BA-B补。补。 AA补补 00.1011 00.1011 +)- +)-BB补补 00.0010 00.0010 00.1101 00.1101 A-BA-B补补= 0.1101= 0.1101 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算26 A= A=- -0.1101,B=0.1101,B=- -0.10100.1010,求,求A+BA+B 补。补。 A A补补 11.0011 11.0011 +)

32、B +)B补补 11.0110 11.0110 1010.1001.1001 A+BA+B补补 负溢出!负溢出! A= A=0 0.1101,B=.1101,B=- -0.10100.1010,求,求AA- -B B 补。补。 A A补补 00.1101 00.1101 +) +)- -BB补补 00.101000.1010 0101.0111.0111 AA- -BB补补 正溢出!正溢出! 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算27作业:作业:第第4 4章习题章习题 2 2,4 4,5 5 西南交通大学信息科学与技

33、术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算284.2.3 4.2.3 补码定点加减运算的实现补码定点加减运算的实现&1&加法器加法器FFi寄存器寄存器YYi0 1寄存器寄存器XXi0 1S Z O CPSW&1FYFYFXFFXCP xAB加法运算(即加法运算(即 X XX+YX+Y),),应给该运算器提供如下控制信号:应给该运算器提供如下控制信号: X XF F; Y YF F; F FX X; CPx CPx ( (其它控制信号为低电平其它控制信号为低电平) ) 西南交通大学信息科学与技术学院 “计算机组成原理计算机

34、组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算294.2.3 4.2.3 补码定点加减运算的实现补码定点加减运算的实现&1&加法器加法器FFi寄存器寄存器YYi0 1寄存器寄存器XXi0 1S Z O CPSW&1FYFYFXFFXCP xAB减法运算(即减法运算(即 X XX-YX-Y),),应给该运算器提供如下控制信号:应给该运算器提供如下控制信号: X XF F; Y YF F; F FX X;1 1F F; CPxCPx XFYFCPx1FFX控制信号的波形为控制信号的波形为: 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教

35、案 第第4 4章章 数值的机器运算数值的机器运算304.2.3 4.2.3 补码定点加减运算的实现补码定点加减运算的实现&1&加法器加法器FFi寄存器寄存器YYi0 1寄存器寄存器XXi0 1S Z O CPSW&1FYFYFXFFXCP xAB减法运算(即减法运算(即 X XX-YX-Y),),应给该运算器提供如下控制信号:应给该运算器提供如下控制信号: X XF F; Y YF F; F FX X;1 1F F; CPxCPx 注:注:控制信号控制信号“1 1F F”为加法器的最低位的进位输入。为加法器的最低位的进位输入。 上述的加法或减法运算都是一步完成的。上述的

36、加法或减法运算都是一步完成的。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算314.2.3 4.2.3 补码定点加减运算的实现补码定点加减运算的实现 计算机硬件所实现的所有功能,都是通过把它分解成一步计算机硬件所实现的所有功能,都是通过把它分解成一步一步的基本操作来实现的,这些基本操作称为一步的基本操作来实现的,这些基本操作称为微操作微操作。每个微。每个微操作都是操作都是寄存器到寄存器的传送寄存器到寄存器的传送。&1&加法器加法器FFi寄存器寄存器YYi0 1寄存器寄存器XXi0 1S Z O CPSW&a

37、mp;1FYFYFXFFXCP xAB 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算32 硬件电路的微操作,可用硬件电路的微操作,可用寄存器传送语言寄存器传送语言来描述来描述 例如:例如:R0R1R0R1(或或 R1R0R1R0) 表示寄存器表示寄存器R1R1的内容送给寄存器的内容送给寄存器R0R0 ARDBPC ARDBPC 表示寄存器表示寄存器PCPC的数据经过数据总线的数据经过数据总线DBDB送给寄存器送给寄存器ARAR (或或 ARPC ARPC 表示寄存器表示寄存器PCPC的数据送给寄存器的数据送给寄存器AR A

38、R ) X XX+YX+Y 表示寄存器表示寄存器X X和寄存器和寄存器Y Y相减后结果送给寄存器相减后结果送给寄存器X X 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算33注意:注意:微操作微操作“ARDBPCARDBPC”如果分成如下两步,那就如果分成如下两步,那就错了错了! (1) (1) DBPC DBPC (2) ARDB (2) ARDB 这是因为这是因为DBDB没有记忆功能,上述两步各自都不能构成微操作!没有记忆功能,上述两步各自都不能构成微操作! 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理

39、B”教案 第第4 4章章 数值的机器运算数值的机器运算344.A Register Transfer and Microoperations (寄存器传送语言和微操作寄存器传送语言和微操作)4.A.1 Register Transfer Language1. Digital SystemA digital system is an interconnection of digital hardware modules that accomplish a specific information-processing task. The internal hardware organizatio

40、n of a digital computer is best defined by specifying: (1) The set of registers it contains and their function. (2) The sequence of microoperations performed on the binary information stored in the registers. (3) The control that initiates the sequence of microoperations. 西南交通大学信息科学与技术学院 “计算机组成原理计算机

41、组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算352. MicrooperationMicrooperations-The operations executed on data stored in registers. e.g. shift, count, clear, and load. A microoperation is an elementary operation performed on the information stored in one or more registers. The result of the operation may replace

42、 the previous binary information of a register or may be transferred to another register. 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算363. Register transfer languageRegister transfer language- The symbolic notation used to describe the microoperation transfers among registers. 西南交通大学信息

43、科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算374.A.2 Register Transfer 1. Registers designated by capital letters (sometimes followed by numerals) e.g. R1, R2, MAR (Memory Address Register), IR (Instruction Register) PC (Program Counter), PC(0-7) or PC(L) refers to the low-order byte 西南交通大学信息科学

44、与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算382. Information transfer R2 R1Denotes a transfer of the content of register R1 into register R2. If (P=1) then (R2 R1) o r P: R2 R1the transfer occurs only under a predetermined control condition (P). T: R2 R1, R1 R2denotes an operation that exchanges

45、 the contents of two registers during one common clock pulse provided that T=1. 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算39 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算404.A.3 Bus and Memory Transfers BUS C, R1 BUS or R1 C Read: DR MAR A transfer of information into DR

46、 from the memory word M selected by the address in AR. Write: MAR R1A transfer of information from R1 into the memory word M selected by the address in AR. 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算41 4.A.4 Arithmetic Microoperations R3 R1 + R2 an add microoperation阅读:阅读:英文材料英文材料 Cha

47、pter 4 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算424.3 4.3 带符号数的移位和舍入操作带符号数的移位和舍入操作带符号数的移位指算术移位。带符号数的移位指算术移位。算术左移算术左移1 1位即乘以位即乘以2 2操作,算术右移操作,算术右移1 1位即除以位即除以2 2操作,移位操作,移位的规则与码制有关。的规则与码制有关。4.3.1 4.3.1 带符号数的移位操作带符号数的移位操作 1 1原码的移位规则原码的移位规则符号位均不变,空出位一律以符号位均不变,空出位一律以“0 0”补入。补入。 例:移位前例:移位前

48、1 1X X1 1X X2 2 X Xn-1n-1X Xn n 移位后移位后 1 1X X2 2X X3 3 X Xn n 0 0 (若若X X1 1为为1 1则溢出)则溢出) 右移后右移后 1 10 0X X1 1 X Xn-2n-2X Xn-1n-1 (X Xn n丢弃)丢弃) 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算432 2补码的移位规则补码的移位规则 左移:符号位不变,所有位左移,末位补入左移:符号位不变,所有位左移,末位补入“0 0” 如果所有位左移后符号位变了,则溢出!如果所有位左移后符号位变了,则溢出!

49、右移:符号位不变,连同符号位右移右移:符号位不变,连同符号位右移低位补低位补0低位丢弃低位丢弃(或舍入或舍入)注意:注意:机器数移位后总的位数不变!机器数移位后总的位数不变! 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算443 3移位功能的实现移位功能的实现 (1 1)由移位寄存器来实现)由移位寄存器来实现(2 2)用移位器来实现)用移位器来实现移位器可以由多路选择器构成,常接在加法器的输出端,可以移位器可以由多路选择器构成,常接在加法器的输出端,可以实现直传(不移位)、左斜一位送(左移一位)和右斜一位送(右实现直传(不移

50、位)、左斜一位送(左移一位)和右斜一位送(右移一位)的功能。移一位)的功能。Li1&2FLFL F/2L加法器加法器FFiFi-1Fi+1移 位 器 的移 位 器 的其中其中1位位1&GA B CC3C2C1参见图参见图4-94-9注意:注意:多路选择器是没有记忆功能的!多路选择器是没有记忆功能的! 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算45移位操作除了算术移位外,还有逻辑移位和循环移位。移位操作除了算术移位外,还有逻辑移位和循环移位。逻辑移位:逻辑左移逻辑移位:逻辑左移 逻辑右移逻辑右移低位补低位补

51、0高位丢掉高位丢掉低位丢弃低位丢弃高位补高位补0循环移位:小循环循环移位:小循环( (左移为例左移为例) ) 大循环大循环( (左移为例左移为例) )C 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算464.3.2 4.3.2 带符号数的舍入操作带符号数的舍入操作 算术右移时常见的舍入方法有:算术右移时常见的舍入方法有:(1) (1) 恒舍法(切断)恒舍法(切断) 末尾多余部分的位一律舍去。末尾多余部分的位一律舍去。(2) (2) 恒置恒置1 1法(冯法(冯诺依曼舍入法)诺依曼舍入法) 不论末尾舍去的是什么代码,都把保留部分

52、的最低位置不论末尾舍去的是什么代码,都把保留部分的最低位置1 1。(3) (3) 下舍上入法下舍上入法 (0 0舍舍1 1入)入)(4) (4) 查表舍入法查表舍入法( (ROMROM舍入法舍入法) )各种舍入方法的误差统计数值不同。各种舍入方法的误差统计数值不同。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算474.3.2 4.3.2 带符号数的舍入操作带符号数的舍入操作 查表舍入的查表舍入的一般方法:一般方法: 当当 K K位数据的高位数据的高K-1K-1位为全位为全“1 1”时按恒舍法填入时按恒舍法填入K-1K-1位

53、全位全“1 1”,否则其余单元都按下舍上入法来填其内容。,否则其余单元都按下舍上入法来填其内容。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算48思考:思考:计算机硬件中的微操作有些什么特点?计算机硬件中的微操作有些什么特点?作业:作业:第第4 4章习题章习题 6(6(用恒舍法用恒舍法, ,并求出并求出22YY补补) ),7 7 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算494.4 4.4 定点乘法运算定点乘法运算 乘除的实现途径:乘除的实现途径:

54、1) 1) 软件实现软件实现 ( (低档机中只提供加、减、移位等指令低档机中只提供加、减、移位等指令) ) 2) 2) 在加减运算器基础上,增加少量电路实现在加减运算器基础上,增加少量电路实现 ( (有乘除指令有乘除指令) ) 3) 3) 设置专用的高速阵列乘除运算器。设置专用的高速阵列乘除运算器。 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算504.4.1 4.4.1 原码一位乘法原码一位乘法 被乘数、乘数用原码表示,所求的积也用原码表示。被乘数、乘数用原码表示,所求的积也用原码表示。 处理方法:处理方法:符号位单独处理

55、符号位单独处理 P PS S = X= XS SYYS S 绝对值相乘得积的尾数绝对值相乘得积的尾数 | |P| = |X|P| = |X| |Y| |Y| 手算例子手算例子 0.1101 0.1101 0.1011 = ? 0.1011 = ? 0.1101 0.1101 0.1011 0.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111 多个数相加:多个数相加: 1)1)可将可将 k k 位乘转换为“位乘转换为“k k 次累加与右移”次累加与右移” 2)2)用阵列结构的乘法器用阵列结构的乘法器 西南交通大学

56、信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算514.4.1 4.4.1 原码一位乘法原码一位乘法0000积的累加和初值为积的累加和初值为0 0 手算例子手算例子 0.1101 0.1101 0.1011 = ? 0.1011 = ? 0.1101 0.1101 0.1011 0.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算52 手算

57、例子手算例子 0.1101 0.1101 0.1011 = ? 0.1011 = ? 0.1101 0.1101 0.1011 0.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111 110100001101积第一次累加后的值积第一次累加后的值4.4.1 4.4.1 原码一位乘法原码一位乘法 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算531101000011011101100111 手算例子手算例子 0.1101 0.1101 0.1011

58、 = ? 0.1011 = ? 0.1101 0.1101 0.1011 0.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111 4.4.1 4.4.1 原码一位乘法原码一位乘法 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算5411010000110111011001110000100111 手算例子手算例子 0.1101 0.1101 0.1011 = ? 0.1011 = ? 0.1101 0.1101 0.1011 0.1011 110

59、1 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111 4.4.1 4.4.1 原码一位乘法原码一位乘法 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算55110100001101110110011100001001111101100011114.4.1 4.4.1 原码一位乘法原码一位乘法 手算例子手算例子 0.1101 0.1101 0.1011 = ? 0.1011 = ? 0.1101 0.1101 0.1011 0.1011 1101 1101 1101

60、 1101 0000 0000 1101 1101 0.10001111 0.10001111 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算56计计算算机机的的计计算算过过程程: B B 寄寄存存器器 - - - 被被乘乘数数 C C 寄寄存存器器 - - - 乘乘数数。运运算算结结束束后后乘乘数数不不再再保保留留,改改为为存存放放乘乘积积的的低低位位部部分分 A A 寄寄存存器器 - - - 部部初初值值为为 0 0,存存放放部部分分积积或或最最后后乘乘积积的的高高位位部部分分 西南交通大学信息科学与技术学院 “计算机组成原理计算机组成原理B”教案 第第4 4章章 数值的机器运算数值的机器运算57例:例:已知:已知:X=0.1101X=0.1101,Y=Y

温馨提示

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

评论

0/150

提交评论