首页 / 专利库 / 泵和压缩机 / 堵塞线 / 一种流水线避免堵塞的电路实现方法

一种流线避免堵塞的电路实现方法

阅读:806发布:2020-05-11

专利汇可以提供一种流线避免堵塞的电路实现方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种流 水 线避免堵塞的 电路 实现方法,属于数字电路设计技术领域,本发明包括:1)将D2数据存入MemoryA中可用地址空间X处,2)将各 指针 组合的id存入MemoryB中,id由Src.id和addr.x,3)将当前的dst.id发送到Dn-1数据中记录保存,dst.id记录的是当前组合id保存在MemoryB中的地址 位置 。可以避免流水线的停滞,提高芯片的执行效率。,下面是一种流线避免堵塞的电路实现方法专利的具体信息内容。

1.一种流线避免堵塞的电路实现方法,其特征在于,包括如下步骤
1)将D2数据存入MemoryA中可用地址空间X处,
2)将各指针组合的id存入MemoryB中,id由Src.id和addr.x,其中
Src.id记录的是D2数据来自于第几级流水线;
Addr.x记录的是D2数据存储在MemoryA中的地址位域;
3)将当前的dst.id发送到Dn-1数据中记录保存,dst.id记录的是当前组合id保存在MemoryB中的地址位置
2.根据权利要求1所述的方法,其特征在于,
完成D2数据现场的保存后,流水线继续运行,D2之外的每一级数据都继续向下一级进行流转执行。
3.根据权利要求2所述的方法,其特征在于,
当D2需要用到的预算数据Dn-1在到达第n级完成运算输出结果后,Dn-1的数据流根据其中附着的dst.id寻址找到D2数据的src.id与D2数据的存储地址,通过地址addr.x访问Memory A获得D2的原始数据,并根据src.id找到D2数据2进入的流水线级数;
通过等待控制逻辑判断该级数流水线当前是否有正在进行的数据流处理,如果存在正在处理的数据流,则D2数据需要在MemoryA中继续等待。
4.根据权利要求3所述的方法,其特征在于,
当该级数流水线没有正常数据流入进行处理的时钟周期出现的时候,通过WaitArb的调度,将MemoryA中地址x内存放的数据D2送入该线级流水线中进行处理,其余流水线级与数据正常流转。

说明书全文

一种流线避免堵塞的电路实现方法

技术领域

[0001] 本发明涉及数字电路设计技术,尤其涉及一种流水线避免堵塞的电路实现方法。

背景技术

[0002] 考虑到高速协同协议处理器系统中的高速协议处理部分的电路,由于协议处理本身的复杂性导致电路规模庞大,寄存器众多,同时具有较大的动态功耗与较高的时钟频率,以及很高的操作频率,导致寄存器与相关组合逻辑电路充放电频率极高,对于芯片电路的供电与压降变化都有很高的设计要求与设计难度,采用传统的流水线结构数据处理方式,每个时钟进行处理的逻辑复杂度都非常高,对于电路后端设计具有极大的挑战。传统的流水线结构处理方式,由于数据处理相关性的问题,流水线容易出现等待延时和停滞情况,对于整个芯片的效率有较大影响。
[0003] 流水线技术是把一个处理过程分解为若干个子过程,每个子过程由一个专的功能部分来实现。因此,流水线实际上是把一个大的处理功能部分分解为多个独立的功能部分,并依靠他满的并行工作来提高吞吐率。
[0004] 在数字电路设计时,设计者都希望设计出具有理想速度的电路系统。目前,流水线技术是很好的备选方案,特别是在组合逻辑占主要成分的电路中,采用流水线技术进行数据处理更是首选方案。传统的数据处理通路中,数据通路被分为n级,为流水线数据通路。
[0005] 对于数据通路,设tpd=X,则该电路(忽略寄存器影响)从输入到输出的时间是X,输入输出的频率为1/X,即数据处理的频率为1/X。数据通路中,设输入到输出的时间为X,数据处理过程被分为n步,则每步所需的处理时间为X/n,当前一个数据处理步骤完成后,数据传递给下一个寄存器进行下一步骤进行处理。在多个时钟周期连续的情况下,每经过X/n的时间,可对该流水线输入一个数据,同时该流水线输出一个已完成处理的数据,所以流水线的输入输出频率为n/X,提高到了传统数据通路的n倍,即数据处理频率提高到传统数据通路的n倍,采用流水线的电路结构虽然能够提高整个设计的效率,但是流水线本身对于数据的相关性有较高的要求,如果流水线不同级直接的处理结果具有相关性和依赖性,则流水线的效率会显著降低
当遇到数据处理(1)需要用到数据处理(n)的结果的时候,如果数据处理(n)的处理步骤尚未完成,则数据处理(1)是不能够完成的,在这种情况下,从电路设计的度,只能暂时停滞整个流水线,待数据处理(n)完成数据处理,输出结果之后,才能恢复整个流水线的工作状态。在大规模数据协同处理芯片中,此类数据相关性的情况经常出现,采用传统流水线结构,会使整个芯片的效率降低,从而对系统设计的性能产生负面影响。

发明内容

[0006] 为了解决以上技术问题,本发明提出了一种流水线避免堵塞的电路实现方法。采用新型的避免流水线堵塞的电路结构,可以避免流水线的停滞,提高芯片的执行效率。
[0007] 本发明的技术方案是一种流水线避免堵塞的电路实现方法,包括如下步骤
1)将D2数据存入MemoryA中可用地址空间X处,
2)将各指针组合的id存入MemoryB中,id由Src.id和addr.x,其中
Src.id记录的是D2数据来自于第几级流水线;
Addr.x记录的是D2数据存储在MemoryA中的地址位域;
3)将当前的dst.id发送到Dn-1数据中记录保存,dst.id记录的是当前组合id保存在MemoryB中的地址位置
[0008] 完成D2数据现场的保存后,流水线继续运行,D2之外的每一级数据都继续向下一级进行流转执行,当D2需要用到的预算数据Dn-1在到达第n级完成运算输出结果后,Dn-1的数据流根据其中附着的dst.id寻址找到D2数据的src.id与D2数据的存储地址,通过地址addr.x访问Memory A获得D2的原始数据,并根据src.id找到D2数据2进入的流水线级数;
通过等待控制逻辑判断该级数流水线当前是否有正在进行的数据流处理,如果存在正在处理的数据流,则D2数据需要在MemoryA中继续等待。
[0009] 当该级数流水线没有正常数据流入进行处理的时钟周期出现的时候,通过WaitArb的调度,将MemoryA中地址x内存放的数据D2送入该线级流水线中进行处理,其余流水线级与数据正常流转。
[0010] 本发明的有益效果是:主要应用于高端容错计算机领域,属于芯片前段设计范畴,对应部件为处理器协同芯片。本发明的基于流水线的无阻塞不停滞的设计电路,可以保证流水线处于持续工作状态,没有停滞和阻塞的情况,实现了整个系统设计效率的提升。这样的提升将显著地减轻从硬件软件设计优化压,从电路级根本性的解决了数据停滞等待造成的效率降低,性能下降的问题。
附图说明
[0011] 图1是流水线堵塞情况的现场保存示意图;图2是流水线堵塞情况下的流水线维护示意图;
图3是流水线堵塞情况的现场恢复示意图;
图4是流水线堵塞情况恢复后的流水线维护示意图。

具体实施方式

[0012] 下面对本发明的内容进行更加详细的阐述:如图1所示,D2数据进入第(2)级流水线处理的时候,需要Dn-1数据进入第(n)级处理后的结果作为其输入数据参与运算。但是,这时候Dn-1级数据只到达了第(n-1)级流水线进行处理,需要在下一个时钟周期才能够完成第n级流水线处理,输出当前D2数据在第(2)级流水线需要用到的数据,因此,这个时候流水线无法正确完成D2数据在第(2)级流水线需要完成的处理。
[0013] 按照传统的解决办法,从电路级解决问题,需要把D2,D1数据停滞在第(2)级和第(1)级流水线处理中,等待Dn-1的数据到达第(n)级流水线,完成处理,数据输出到第(2)级流水线的时候,再将流水线全部流转运行起来。这种解决办法,就是靠停滞流水线来解决此问题。
[0014] 从更高层次解决此问题,可以在软件层面进行优化,避免出现D2数据需要用到Dn-1数据在第(n)级处理结果的情况,需要通过软件和编译器在高层次的调度调整,将D2和Dn-
1的数据间隔拉大到至少n-2个流水线间隔以上进行。
[0015] 以上两种方式对与系统的效率都会产生影响,电路级的解决方法对系统的影响会更大。软件层面的优化对程序设计和编译器设计都有很高的要求,系统开发难度会成倍增加。
[0016] 因此,采用本发明的设计方法,会有效的解决此困扰:当遇到如上描述的问题时,如图1所示:
1.将D2数据存入MemoryA中可用地址空间X处,
2.将各指针组合的id存入MemoryB中,id由Src.id和addr.x,其中:
Src.id记录的是D2数据来自于第几级流水线,在此例子中数值为2,记录的目的是为以后恢复进入流水线时,找到合适的进入级点;
Addr.x记录的是D2数据存储在MemoryA中的地址位域,记录的目的是为以后恢复进入流水线时,能够准确的将对应的数据送入流水线级中去;
3.将当前的dst.id发送到Dn-1数据中记录保存,dst.id记录的是当前组合id保存在MemoryB中的地址位置。
[0017] 流水线堵塞情况下的流水线维护完成D2数据现场的保存后,如图2所示,流水线继续运行,D2之外的每一级数据都继续向下一级进行流转执行,整个流水线并不会因为D2级处理的等待影响到其他级流水线的实时正常处理。
[0018] 流水线堵塞情况的现场恢复如图3所示,当D2需要用到的预算数据Dn-1在到达第n级完成运算输出结果后,Dn-1的数据流根据其中附着的dst.id寻址找到D2数据的src.id与D2数据的存储地址,通过地址addr.x访问Memory A获得D2的原始数据,并根据src.id找到D2数据2进入的流水线级数,这个例子中是第2级流水线。
[0019] 通过等待控制逻辑(WaitArb)判断第2级流水线当前是否有正在进行的数据流处理,如果存在正在处理的数据流,则D2数据需要在MemoryA中继续等待。
[0020] 流水线堵塞情况恢复后的流水线维护如图4所示,当第2级流水线没有正常数据流入进行处理的时钟周期出现的时候,通过WaitArb的调度,将MemoryA中地址x内存放的数据D2送入流水线第2级中进行处理,其余流水线级与数据正常流转,从而实现了无堵塞停滞流水线情况下的所有数据处理问题。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈