引言
在计算机组成原理的学习中,运算器是 CPU 的核心部件之一,负责执行各类算术与逻辑运算。本章围绕定点除法运算、定点运算器的组成,以及浮点运算方法和浮点运算器展开,帮助读者系统掌握运算器的内部结构与工作原理。
2.4 定点除法运算
定点除法是定点运算中的重要内容,其核心在于通过移位和减法操作,逐位确定商的每一位。本节介绍原码除法算法原理与并行除法器的设计思路。
2.4.1 原码除法算法原理
原码除法采用符号位与数值位分开处理的方式。商的符号由被除数和除数的符号异或得到,数值部分则通过循环执行“比较—移位—减法”来确定每一位商。
其基本步骤如下:
原码除法分为恢复余数法和不恢复余数法(加减交替法)。恢复余数法逻辑直观但步骤较多;不恢复余数法通过符号判断直接决定加减操作,减少了恢复步骤,效率更高。
2.4.2 并行除法器
并行除法器通过硬件电路同时处理多位运算,以提高除法速度。其核心思想是利用阵列结构,将每一位的商确定过程并行化,减少串行等待时间。
并行除法器的设计通常基于不恢复余数法,通过一组可控的加法/减法单元构成阵列,每个单元根据前一级的符号输出决定本级的操作类型。阵列式结构适合在 FPGA 或专用芯片中实现,能够在一次时钟周期内完成多位商的确定。
2.5定点运算器的组成
定点运算器负责执行定点数的算术与逻辑运算,其组成包括逻辑运算单元、多功能算术/逻辑运算单元、内部总线以及基本结构。
2.5.1 逻辑运算
逻辑运算主要包括与、或、非、异或等基本操作。定点运算器通过逻辑运算单元(ALU 的一部分)实现这些功能,常用于位操作、掩码处理和条件判断等场景。
1、逻辑非运算:逻辑非也叫求反,对某数进行逻辑非运算,就是按位求它的反。
设一个数x表示成:
x = x0x1x2…xn
对x求逻辑非,则有
x非 = z = z0z1z2…zn
zi = xi非,i=0,1,2,…,n
【例2.26】x1=01001011,x2=11110000,求x1非,x2非。
解
x1非=10110100
x2非=00001111
2、 逻辑加运算
对两个数进行逻辑加,就是按位求它们的“或”,所以逻辑加又称逻辑或。
设有两数x和y,它们表示为
x = x0x1x2…xn
y = y0y1y2…yn
则
x+y = z = z0z1z2…zn
zi = xi+yi,i=0,1,2,…,n
手写标注:
逻辑与 A AND B = AB
A&B=AB
逻辑或 A OR B = A+B
3、逻辑乘运算
对两数进行逻辑乘,就是按位求它们的“与”,所以逻辑乘又称逻辑与,常用记号·来表示。
设有两数x和y,它们表示为
x = x0x1x2…xn
y = y0y1y2…yn
若
x · y = z = z0z1z2…zn
则
zi = xi · yi,i = 0,1,2,…,n
4、 逻辑异运算
对两数进行逻辑异就是按位求它们的模2和,所以逻辑异又称按位加,常用记号“⊕”来表示。
设有两个数x和y:
x = x0x1x2…xn
y = y0y1y2…yn
若x和y的逻辑异为z:
x⊕y = z = z0z1z2…zn
则
zi = xi⊕yi,i = 0,1,2,…,n
2.5.2 多功能算术/逻辑运算单元
多功能算术/逻辑运算单元(ALU)是运算器的核心,能够执行加法、减法、逻辑运算以及移位操作。ALU 的输入为两个操作数和一个功能选择信号,输出为运算结果及状态标志(如进位、溢出、零标志等)。
ALU 的设计通常采用组合逻辑电路,通过功能选择线控制内部的多路选择器,从而在同一个硬件结构上实现多种运算。
2.5.3 内部总线
由于计算机内部的主要工作过程是信息传送和加工的过程,因此在机器内部各部件之间的数据传送非常频繁。为了减少内部数据传送线并便于控制,通常将一些寄存器之间数据传送的通路加以归并,组成总线结构,使不同来源的信息在此传输线上分时传送。
根据总线所处的位置,总线分为内部总线和外部总线两类。内部总线是指CPU内部各部件的连线,而外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。本节只讨论内部总线。
按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。所谓单向总线,就是信息只能向一个方向传送。所谓双向总线,就是信息可以向两个方向传送,既可以发送数据,也可以接收数据。
图2.15是带有缓冲驱动器的4位双向数据总线。其中所用的基本电路就是三态逻辑电路。当“发送”信号有效时,数据从左向右传送。反之,当“接收”信号有效时,数据从右向左传送。这种类型的缓冲器通常根据它们如何使用而称为总线扩展器、总线驱动器、总线接收器等。

2.5.4 定点运算器的基本结构
定点运算器通常由 ALU、寄存器组、总线以及状态标志寄存器组成。其基本工作流程为:

2.6 浮点运算方法和浮点运算器
浮点运算用于处理实数范围较大的数值,其核心在于对阶、尾数运算和规格化处理。本节介绍浮点加减运算与乘除运算的方法。
2.6.1 浮点加法、减法运算
浮点加减运算的步骤如下:
对阶时,通常以小阶向大阶看齐,即阶码较小的数尾数右移,以保持数值不变。

2.6.2浮点乘法、除法运算
浮点乘法运算相对简单,其步骤如下:
浮点除法运算的步骤如下:
本章小结
本章系统介绍了定点除法运算的原理与并行除法器的设计,详细阐述了定点运算器的逻辑运算、多功能 ALU、内部总线及基本结构,并讲解了浮点加减乘除运算的方法与浮点运算器的组成。掌握这些内容,是理解 CPU 运算核心与计算机算术体系的基础。
网硕互联帮助中心



评论前必须登录!
注册