计算机组成原理——运算方法和运算部件

运算方法和运算部件

计算机完成的功能通过执行程序来实现,任何程序最终都要转换为机器指令。指令中包含的各种算数逻辑运算能直接在硬件上执行,执行这些运算的硬件称为运算部件。

|| 基本运算部件

基本运算部件是 加法器 ALU 移位器,ALU 的核心部件是加法器。

  • 串行进位加法器

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将一块小石头扔进平静的水中,泛起的波纹会向外一圈一圈逐步扩散,串行进位加法器中最低进位Co 就像一块小石头,它把进位逐步从低位扩展到最高位,所以称这种串行进位加法器为行波进位加法器(Carry Ripple Adder ,CRA)

最后一位和数 Fn 的延迟时间为 2n+1 级门延迟【2(n-1)+ 3】,加法运算时间随两个加数位数 n 的增加而增加。当 n 较大时,串行进位的加法器速度将显著变慢。

  • 并行进位加法器

在这里插入图片描述
在这里插入图片描述
实现上述逻辑表达式的电路称为先行进位(也称超前进位)部件(Carry Lookahead Unit),简称CLA 部件,通过这种进位方式实现的加法器称为全先行进位加法器

逻辑结构 :
在这里插入图片描述
在这里插入图片描述
【注:Fi = Pi 异或 Ci 】

  • 带标志加法器

n 位无符号数加法器只能用于两个n位二进制数相加,不能进行无符号数的减运算,也不能进行带符号数的加/减运算。如果要实现这种功能的话,还需要在无符号数加法器的基础上增加相应的逻辑门电路,使得加法器不仅能计算和/差,还要能够生成相应的标志信息。

在这里插入图片描述
########
在这里插入图片描述

说明:
【溢出标志】 OF = Cn 异或 Cn-1
【进位/借位标志】 CF = Cout 异或 Cin
【符号标志】SF = Fn
【零标志】 ZF = 1当且仅当 F=0

CF = sub 异或 cout

(溢出判断)
signed——(1)OF=1; (2)和的符号位和加数的符号位不同
unsigned—— CF =1

(大小判断作减法,如果大于)
signed—— SF = OF
unsigned—— CF = 0

  • 算数逻辑部件

在这里插入图片描述

|| 定点数运算

  • 补码加减运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 原码乘法运算

用原码实现乘法运算时,符号位与数值位分开运算,分为两步:
(1)确定乘积的符号位。由两个乘数的符号异或得到。
(2)计算乘积的数值位。乘积的数值部分为两个乘数的数值部分之积。

在这里插入图片描述
计算机中的改进措施:

在这里插入图片描述
在这里插入图片描述
推导过程:

在这里插入图片描述

实现电路:

在这里插入图片描述

例题

在这里插入图片描述

  • 原码除法运算:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
##########
介绍恢复余数法:
在这里插入图片描述
在这里插入图片描述

介绍不恢复余数法:

在恢复余数除法运算中,当中间余数与除数相减结果为负时,要多做一次+ Y操作,因而降低了算法执行速度,又使得线路变得复杂。在计算机中很少使用恢复余数法,而普遍采用不恢复余数法。

在这里插入图片描述
上例用此法实现

在这里插入图片描述
|| 浮点数运算

  • 浮点数加减运算

(1)对阶

两者作差,向大者靠拢。

(2)尾数加减

根据原码加减法则进行

在这里插入图片描述

(3)规格化

左规??右规??

(4)舍入

使用保护位、舍入位、粘位,就近舍入。
当处在正中间位置时,01 舍,11 入,10 强迫结果为偶数。

例题:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 浮点数乘除运算

尾数相乘除,指数相加减。

在这里插入图片描述
在这里插入图片描述

|| 作业

在这里插入图片描述

已知 x = 10,y = -6,采用 6 位机器数表示。请按如下要求计算,并把结果还原为真值。

(1)【x+y】补 【x-y】补

在这里插入图片描述
(2)用原码一位乘法计算【x * y】原

在这里插入图片描述
(3)用不恢复余数法计算【x/y】原 的商和余数

在这里插入图片描述

采用 IEEE754 单精度浮点数格式计算下列表达式的值。
(1)0.75 +(-65.25) (2) 0.75 - (-65.25)

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tian__si/article/details/105928174