算术管道主要用于高速计算机。它们用于实现浮点运算, 定点数乘法以及科学问题中遇到的类似计算。
为了以更方便的方式理解算术流水线的概念, 让我们考虑一个用于浮点加法和减法的流水线单元的示例。
浮点加法器管线的输入是两个标准化的浮点二进制数, 它们定义为:
X = A * 2a = 0.9504 * 103
Y = B * 2b = 0.8200 * 102
其中A和B是代表尾数的两个分数, 而a和b是指数。
浮点加减运算的组合操作分为四个部分。每个段包含要在给定管道中执行的相应子操作。四个部分中显示的子操作是:
- 通过减法比较指数。
- 对齐尾数。
- 加上或减去尾数。
- 归一化结果。
在本节后面, 我们将更详细地讨论每个子操作。
以下框图表示在管道的每个段中执行的子操作。
注意:在每个子操作之后放置寄存器, 以存储中间结果。
1.通过减法比较指数:
通过减去指数来比较指数以确定它们之间的差异。选择较大的指数作为结果的指数。
指数之差, 即3-2 = 1决定了与较小指数相关的尾数必须向右移动多少次。
2.对齐尾数:
与较小指数相关的尾数根据段1中确定的指数差进行移动。
X = 0.9504 * 103
Y = 0.08200 * 103
3.添加尾数:
两个尾数将添加到第三部分中。
Z = X + Y = 1.0324 * 103
4.归一化结果:
归一化后, 结果写为:
Z = 0.1324 * 104
评论前必须登录!
注册