《计算机组成原理》第六章:计算机的运算方法【知识点总结】

文章目录

      • 1.无符号数和有符号数
        • 1.1 无符号数
        • 1.2 有符号数
      • 2. 数的定点表示和浮点表示
        • 2.1 定点表示
        • 2.2 浮点表示
        • 2.3 定点数和浮点数的比较
        • 2.4 举列
        • 2.5 IEEE 754标准
      • 3.定点运算
        • 3.1 移位运算
        • 3.2 加法与减法运算
        • 3.3 乘法运算【待理解】
        • 3.4 除法运算【待完成】
      • 4.浮点四则运算【待理解】
        • 4.1 浮点加减运算
        • 4.2 浮点乘除法运算
        • 4.3 浮点运算所需的硬件配置
      • 5. 算术逻辑单元【待理解】
        • 5.1 ALU单元
        • 5.2 快速进位链

1.无符号数和有符号数

在计算机中参与运算的数有两大类:无符号数、有符号数

1.1 无符号数

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第1张图片


1.2 有符号数

1.机器数与真值
对于有符号数而言,在计算机中用0->正,1->负,相当于符号被数字化了,并规定放在有效数字的前面,即组成了有符号数。
例如,有符号数的小数表示:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第2张图片
有符号数的整数表示:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第3张图片
把符号数字化的数称为机器数,而把带"+","-"符号的数称为真值,一旦符号数字化后,符号的数值就形成了一种新的编码。

在运算过程中,
符号位能否和数值部分一起参加运算?
如果参加运算,符号位又需作哪些处理?
这些问题都与符号位和数值位所构成的编码有关,这些编码就是原码、反码、补码、移码。

  • 原码表示法
    原码表示法又称为带符号的绝对值表示,规定整数的符号位与数值之间用逗号隔开小数的符号位与数值位之间用小数点隔开
    例如:
    +0.1011 原码:0.1011
    -0.1011 原码:1.1011
    +1100 原码:0,1100
    -1100 原码:1,1100

整数原码的定义为:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第4张图片
小数原码的定义为:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第5张图片
在这里插入图片描述《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第6张图片

  • 补数表示法
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第7张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第8张图片
    在这里插入图片描述
    补码的定义:
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第9张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第10张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第11张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第12张图片

  • 反码表示法
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第13张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第14张图片

  • 移码表示法
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第15张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第16张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第17张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第18张图片



2. 数的定点表示和浮点表示

在计算机中,小数点不用专门的器件表示,而是按照约定的方式给出,有两种表示方法表示小数点的存在,即定点表示和浮点表示
定点表示的数称为定点数,浮点表示的数称为浮点数。

2.1 定点表示

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第19张图片


2.2 浮点表示

实际上计算机中处理的数不一定是纯小数or纯整数,而且有些数据的数值范围相差很大,它们都不能直接用定点小数or定点整数表示,但是均可以用浮点数表示。
浮点数即小数点的位置可以浮动的数
比如:
352.47 = 3.5247 x 102
= 3524.7 x 10-1
= 0.35247 x 103
显然,这里的小数点的位置是变化的,但因为分别乘上了不同的10的方幂,故值不变。
通常,浮点数被表示成:
N = S x rj
其中S为尾数(可正可负),j为阶码(可正可负),r是基数(也叫基值)。在计算机中基数可以取2、4、8、16等等。
以基数r=2为例,数N可以写成下列不同的形式:
N = 11.0101
= 0.110101 x 210
= 1.10101 x 21
= 1101.01 x 2-10
= 0.00110101 x 2100

为了提高数据精度以及便于浮点数的比较,在计算机中规定浮点数的尾数用纯小数形式,故上例中0.110101 x 210和0.00110101 x 2100形式是可以采用的。
此外将尾数最高位为1的浮点数称为规格化数,即N=0.110101 x 210为浮点数的规格化形式。
浮点数表示成规格化形式后,其精度最高。

  • 浮点数的表示形式
    浮点数在机器中的形式如下所示,采用这种数据格式的机器称为浮点机
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第20张图片
    浮点数由阶码j和尾数S两部分组成,阶码是整数,阶符和阶码的位数m合起来反映浮点数的表示范围及小数点的实际位置,尾数是小数,其位数n反映了浮点数的精度,尾数的符号St代表浮点数的正负。

  • 浮点数的表示范围
    以通式**N= S x rj**为例,设浮点数阶码的数值位取m位,尾数的数值位取n位,当浮点数为非格式化数时,它在数轴上的表示范围如下面图所示:
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第21张图片

  • 浮点数的规格化
    为了提高浮点数的精度,其尾数必须为格式化数,如果不是格式化数,就要通过修改阶码并同时左右移尾数的办法,使其变成规格化数,将非规格化数转换成规格化数的过程称为规格化
    对于基数不同的浮点数,因其规格化数的形式不同,规格化的过程也不同。

**当基数为2时,尾数最高位为1的数为规格化数。**规格化时,尾数左移一位,阶码-1 (这叫做向左规格化—左规),尾数右移一位,阶码+1(这叫做为向右规格化—右规)。
当基数为4时,尾数的最高两位不全为0的数为规格化数。规格化时,尾数左移两位,阶码-1(左规),尾数右移两位,阶码+1(右规)。
当基数为8时,尾数的最高三位不全为0的数为规格化数。规格化时,尾数左移三位,阶码-1(左规),尾数右移三位,阶码+1(右规)。
同理可以推的基数为2n的任何数的规格化过程。

浮点机中一旦基数确定后就不再变了,而且基数都是隐含的,故不同基数的浮点数表示形式完全相同。但基数不同,对数的表示范围和精度等都有影响。一般来说,基数r越大,可表示的浮点数范围越大,而且所表示的数的个数越多,但r越大,浮点数的精度反而下降。如r=16的浮点数,因其规格化数的尾数最高三位可能出现0,故与其尾数位数相同的r=2的浮点数相比,后者可能比前者多三位精度。


2.3 定点数和浮点数的比较

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第22张图片


2.4 举列

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第23张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第24张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第25张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第26张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第27张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第28张图片


2.5 IEEE 754标准

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第29张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第30张图片



3.定点运算

定点运算包括移位、加、减、乘、除几种。


3.1 移位运算

  • 移位运算的意义
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第31张图片
  • 算术移位规则
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第32张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第33张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第34张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第35张图片
    在这里插入图片描述
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第36张图片

3.2 加法与减法运算

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第37张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第38张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第39张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第40张图片 + 溢出判断
判断补码定点加减运算溢出的方法有两种:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第41张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第42张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第43张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第44张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第45张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第46张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第47张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第48张图片

  • 3.补码定点加减法所需的硬件配置
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第49张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第50张图片
    在这里插入图片描述
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第51张图片

3.3 乘法运算【待理解】

在计算机中,乘法运算是一种很重要的运算,有的机器由硬件乘法器直接完成乘法运算有的机器内没有乘法器,但可以按照机器做乘法运算的方法,用软件编程实现。因此学习乘法运算方法不仅有助于乘法器的设计,有有助于乘法编程。
先分析一下笔算乘法,然后
介绍机器中几种乘法运算方法

  • 1.分析笔算乘法
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第52张图片

  • 2.笔算乘法的改进
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第53张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第54张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第55张图片
    计算机很容易实现这种运算规则。用一个寄存器存放被乘数,一个寄存器存放乘积的高位,另一个寄存器存放乘数及乘积的低位,再配上加法器及其他相应电路,就可以组成乘法器。又因为加法只在部分积的高位进行,故不但节省了器材,而且还缩短了运算时间。

  • 3.原码乘法
    由于原码表示与真值相似,只相差一个符号,而乘积的符号又可以通过两数符号的逻辑异或求得,因此,上述讨论的结果可以直接用于原码一位乘,只需加上符号位处理即可。
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第56张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第57张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第58张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第59张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第60张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第61张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第62张图片
    在这里插入图片描述
    在这里插入图片描述
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第63张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第64张图片
    在这里插入图片描述
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第65张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第66张图片

  • 4.补码乘法
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第67张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第68张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第69张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第70张图片
    在这里插入图片描述
    【这玩意太难了,2333,有必要(考研)再去看】


3.4 除法运算【待完成】

【和乘法运算一样,都有点难】



4.浮点四则运算【待理解】

从第二节对浮点数的讨论可知,机器中任何一个浮点数都可以写成如下形式:
x = Sx * rjx
其中,Sx为浮点数的尾数,一般绝对值小于1的规格化数(补码表示时允许为-1),机器中可用原码或补码表示,jx为浮点数的阶码,一般为整数,机器中大多用补码或移码表示,r为浮点数的基数,常用2、4、8或16表示,下面对浮点数四则运算都是以基数为2来进行讨论。


4.1 浮点加减运算

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第71张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第72张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第73张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第74张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第75张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第76张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第77张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第78张图片
在这里插入图片描述
在这里插入图片描述
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第79张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第80张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第81张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第82张图片
在这里插入图片描述
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第83张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第84张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第85张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第86张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第87张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第88张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第89张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第90张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第91张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第92张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第93张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第94张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第95张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第96张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第97张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第98张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第99张图片


4.2 浮点乘除法运算

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第100张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第101张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第102张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第103张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第104张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第105张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第106张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第107张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第108张图片
在这里插入图片描述
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第109张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第110张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第111张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第112张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第113张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第114张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第115张图片


4.3 浮点运算所需的硬件配置

《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第116张图片



5. 算术逻辑单元【待理解】

针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。当需要完成逻辑运算时,势必需要配置相应的逻辑电路,而ALU电路是既能完成算术运算又能完成逻辑运算的部件。


5.1 ALU单元

下图是ALU框图,图中的Ai和Bi为输入遍历,ki为控制信号,ki的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算,Fi为输出函数,会输出运算的结果。
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第117张图片
现在ALU电路已制成集成电路芯片,例如,74181是能完成4位二进制代码的算逻运算部件,外特性如下图所示:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第118张图片
74181有两种工作方式,即正逻辑和负逻辑,分别如图6.17(a)和(b)所示,下面的表列出了算术/逻辑运算功能,逻辑电路也在下面:
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第119张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第120张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第121张图片
《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第122张图片


5.2 快速进位链

随着操作数位数的增加,电路中进位的速度对运算时间的影响也越来越大,为了提高运算速度,本节将通过对进位过程的分析设计快速进位链

  • 1.并行加法器
    并行加法器由若干个全加器组成,如下图,n+1个全加器级联就组成了一个n+1位的并行加法器。
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第123张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第124张图片
  • 2.串行进位链《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第125张图片
    在这里插入图片描述
  • 3.并行进位链
    在这里插入图片描述
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第126张图片
    在这里插入图片描述
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第127张图片
    《计算机组成原理》第六章:计算机的运算方法【知识点总结】_第128张图片

你可能感兴趣的:(《计算机组成原理》第六章:计算机的运算方法【知识点总结】)