总线
总线是运算部件之间数据流通的公共通道。在硬线逻辑构成的运算电路中只要电路的规模允许可以比较*的确定总线的位宽,从而大大的提高数据流通的速度。各个运算部件和数据寄存器组可以通过带有控制端的三态门与总线连接。 通过控制端来控制在某一时间段内,总线归那几个部件使用(任何时间段只能有一个部件发送,但是可以有一个或多个接受)。为了使得总线连接能够与其他模块相配合,必须进行严格的时序控制。
流水线
流水线(pipe-line)的设计方法常用于高性能的、需要进行大规模运算的系统中。所谓流水线设计实际上是把规模较大、层次较多的组合逻辑电路分成几个级,在每一级插入寄存器并存储中间数据。K级流水线就是从组合逻辑的输入到输出恰好有K个寄存器组。上一级的输出是下一级的输入。
采用流水线技术可以在相同的半导体工艺的前提下通过电路结构的改进大幅度地提高重复多次使用的复杂组合逻辑(通常是通过加入寄存器)。如果某个组合逻辑设计的处理流程可以分为若干个步骤,而且整个数据处理过程是单向的即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法提高系统的数据处理频率即吞吐量。在组合逻辑中,为了保证组合逻辑输出的正确性,输入信号的保持时间必须大于整个组合电路的延时。因此数据的处理速度和吞吐量受到限制。采用流水线的方法,虽然第一次输出有较长的时间延迟(首次延迟),但是在若干个周期后,每个时钟周期都可以输出一次,数据处理频率和吞吐量都有大量提升。(P149)
首次延迟(latency):将(输入到输出)最长的路径进行初始化所需要的时间总量。(一般大于组合逻辑电路的总延迟时间)
吞吐延迟:指执行一次重复操作所需时间量。(一般用组合逻辑的延迟除以吞吐延迟就是流水线结构相对于组合逻辑结构的性能提升程度)