算术流水线

2025年3月24日 | 阅读时间:2 分钟

算术流水线主要用于高速计算机。它们用于实现浮点运算、定点数乘法以及科学问题中遇到的类似计算。

为了更方便地理解算术流水线的概念,让我们考虑一个用于浮点加法和减法的流水线单元的例子。

浮点加法器流水线的输入是两个标准化的浮点二进制数,定义为

    X = A * 2a = 0.9504 * 103
    Y = B * 2b = 0.8200 * 102

其中 AB 是表示尾数的两个分数,而 ab 是指数。

浮点加法和减法的组合运算分为四个段。每个段包含要在给定流水线中执行的相应子操作。这四个段中显示的子操作是

  1. 通过减法比较指数。
  2. 对齐尾数。
  3. 加或减尾数。
  4. 规范化结果。

我们将在本节后面更详细地讨论每个子操作。

以下框图表示在流水线的每个段中执行的子操作。

Arithmetic Pipeline

注意:寄存器放置在每个子操作之后,以存储中间结果。

1. 通过减法比较指数

通过减去指数来比较指数,以确定它们之间的差。选择较大的指数作为结果的指数。

指数的差,即 3 - 2 = 1 确定了与较小指数相关的尾数必须向右移动多少次。

2. 对齐尾数

与较小指数相关的尾数根据在段一中确定的指数差进行移位。

	X = 0.9504 *  103
	Y = 0.08200 * 103

3. 加尾数

两个尾数在段三中相加。

Z = X + Y = 1.0324 * 103

4. 规范化结果

规范化后,结果写为

Z = 0.1324 * 104
下一主题指令流水线