CN116701021A - 一种基于队列的控制字输出反馈控制方法 - Google Patents
一种基于队列的控制字输出反馈控制方法 Download PDFInfo
- Publication number
- CN116701021A CN116701021A CN202310706630.XA CN202310706630A CN116701021A CN 116701021 A CN116701021 A CN 116701021A CN 202310706630 A CN202310706630 A CN 202310706630A CN 116701021 A CN116701021 A CN 116701021A
- Authority
- CN
- China
- Prior art keywords
- queue
- control word
- output
- feedback
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000007246 mechanism Effects 0.000 claims abstract description 35
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 3
- 230000005540 biological transmission Effects 0.000 claims description 88
- 238000012545 processing Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 8
- 101150083764 KCNK9 gene Proteins 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 101150039208 KCNK3 gene Proteins 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001483 mobilizing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请公开了一种基于队列的控制字输出反馈控制方法,涉及多核处理器任务输出管理的技术领域,包括以下步骤,首先接收任务调度单元输出的有序控制字,写入Exit队列,确定入队个数,其次Exit队列中控制字依次输出,记录出队个数,若输出失败则记录并写入辅助队列,当Exit队列入队个数与出队个数相等时,执行下一步操作,依次输出Subexit队列和Waitexit队列中控制字,对循环输出控制字进行标记,标记数达到设定阈值则控制字写入Interrupt队列,否则继续循环输出控制字,最后依据错误反馈类型执行数据保护、任务撤销或重映射操作,完成本次控制字输出工作;此方法通过特定的控制字输出机制使任务更加有序、可控、高效的输出,进而提高系统工作效率。
Description
技术领域
本发明涉及多核处理器任务输出管理的技术领域,涉及一种基于队列的控制字输出反馈控制方法。
背景技术
随着集成电路技术的发展,多核并行处理的模式逐渐被广泛应用。异构多核处理器在一块芯片上集成了多个不同结构的内核,因此,异构多核处理器可依据任务特性将其任务分配至适合的处理内核进行处理。对于一个服务于多个外部设备的多核系统,面对多设备传输请求的情况下,如何充分利用性能不同的处理器资源,实现处理器资源的自动调节和负载均衡是一个关键问题。多核系统中,采用合理的调度算法输出有序的操作控制字,调动多个数据传输控制单元并行工作,高效的控制字输出和完备的错误反馈应对机制十分重要。现有技术通常将任务调度单元输出的结果直接输出至目的单元,当出现错误时由中断单元处理。但是从中断产生到中断处理需要花费较多的时间,同时控制字顺序输出时需要一定的保护机制,从而避免死锁情况产生。因此,在多核系统中,具备错误反馈处理机制的控制字输出单元具有重要的意义。
发明内容
本发明的目的在于:克服现有技术的不足,采用合理的调度算法输出有序的操作控制字,调动多个数据传输控制单元并行工作,提高数据传输控制字输出效率,完善数据传输任务错误响应机制,提高多核处理器系统的整体性能。
本发明的技术方案是:利用基于队列的方式控制任务调度单元输出的一组有序控制字,并具有完备的错误反馈应对机制,以保证控制字高效有序地输出,提高系统整体性能。基于队列的控制字输出反馈控制方法包括:
S1:输出控制单元接收有序控制字,将待发射的控制字写入Exit队列,确定入队个数;
S2:输出控制单元按照Exit队列顺序依次输出控制字,输出失败则记录并将控制字写入辅助队列;
S3:辅助队列输出控制字,若输出失败则计数写入队列尾端,当控制字循环输出失败次数达到预设值时写入Interrupt队列;
S4:错误反馈单元包括S2M反馈处理机制、M2S反馈处理机制和M2M反馈处理机制,根据Interrupt队列数据传输任务错误类型进行错误反馈处理。
进一步地,S1中当控制字输出单元空闲时,向任务调度单元发起控制字获取请求。
进一步地,S2中当Exit队列出队个数等于入队个数时,执行S3。
进一步地,S2中辅助队列包括Subexit队列和Waitexit队列;
输出控制单元按照Exit队列顺序,根据控制字携带的ID信息输出至指定数据传输控制单元,反馈Success表示传输成功,反馈Busy信号则对该控制字进行扩展计数标志位,写入Subexit队列,反馈Error信号且控制字出现存储问题则写入Waitexit队列,反馈Error信号且控制字出现DMA传输错误则直接写入Interrupt队列。
进一步地,Subexit队列非空时,Exit队列与Subexit队列交叉输出控制字,若Exit队列输出的控制字出现busy状况则继续写入Subexit队列尾部。
进一步地,先执行Subexit队列输出工作,后执行Waitexit队列输出工作,具体步骤为:
S3.1:Subexit队列循环输出控制字,输出失败则计数并写入队列尾端,预设循环阈值,当控制字循环输出失败次数达到预设阈值时写入Interrupt队列;
S3.2:Waitexit队列循环输出控制字,输出失败则计数并写入队列尾端,预设循环阈值,当控制字循环输出失败次数达到预设阈值时写入Interrupt队列。
进一步地,S4中数据传输任务根据方向分为三种类型,分别是外部设备发往片上核心的任务S2M、片上核心发往外部设备的任务M2S和片上核心之间的任务M2M,其中,外部设备发往片上核心的任务由外部设备发出持续的数据流写入指定的片上存储空间,片上核心发往外部设备的任务由存储描述符往外部进行切片传输,片上核心之间的任务传输源端和终端存储都以描述符形式呈现,错误反馈单元中,反馈处理机制对应处理与其方向相匹配的数据传输任务,且依据控制字传输错误类型做出处理,处理方式如下:
S2M反馈处理机制:处理由外部设备发往片上核心的数据传输任务S2M,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,采用重映射机制,匹配其他空闲处理核心,更改存储描述符内目的ID参数,执行该数据传输任务,若为Error导致的错误反馈,提高原有优先级重新加入任务调度单元等待后续传输,其中,由于DMA传输错误导致的错误反馈,数据丢失,撤销该数据传输任务,释放已获取的目的存储描述符,记录并上报系统;
M2S反馈处理机制:处理由片上核心发往外部设备的数据传输任务M2S,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,则提高该控制字的执行优先级,重新加入任务调度单元,若为Error导致的错误反馈,不回收存储描述符,剩余待传输的源数据由数据传输控制单元重新发起,完成切片传输。
M2M反馈处理机制:处理片上核心之间的数据传输任务M2M,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,采用重映射机制,选取其他空闲处理的核心,若无合适核心则提高原有优先级重新加入任务调度单元等待后续传输,若为Error导致的错误反馈,释放已预取的目的存储描述符,重新发起该传输事务。
进一步地,S4中完成本组控制字处理后执行S1。
本发明与现有技术相比有如下优点:
(1)基于队列的方式输出有序控制字,利用Exit队列、辅助队列和Interrupt队列共同处理控制字,完成传输任务,调动多个数据传输控制单元并行工作,使得所有任务更加有序、可控、高效的输出,提高了系统工作效率;
(2)辅助队列中Subexit队列非空时,Exit队列与Subexit队列交叉输出控制字,采用交叉输出的方式保证原优先级高的控制字提前输出,而新写入Subexit队列的控制字排在队列尾部,使执行更加有序;
(3)辅助队列工作时先执行Subexit队列输出工作,后执行Waitexit队列输出工作,等待较长时间以保证有足够的空间被释放,进而提高控制字输出成功的概率;
(4)优化错误反馈处理机制,针对不同的错误反馈类型进行分类处理,缩短了数据处理时间,提高多核处理器系统的整体性能;
(5)利用存储描述符对片上存储空间进行具体细分,更好的感知片上存储使用情况,具有数据保护效果,高效管理片上存储空间,配合控制字输出单元工作,提高数据传输效率。
附图说明
图1是本发明实施例的基于队列的控制字输出反馈控制方法的示意流程图;
图2是本发明实施例的控制字输出控制结构图;
图3是本发明实施例的队列控制字工作变化图;
图4是本发明实施例的控制字输出单元工作流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本实施例提供了一种基于队列的控制字输出反馈控制方法,该方法步骤如图1所示,控制字输出控制结构如图2所示,该方法包括:
S1:当控制字输出单元空闲时,向任务调度单元发起控制字获取请求,接收任务调度单元输出的有序控制字序列,将待发射控制字写入Exit队列,确定本组执行控制字入队个数;
S2:输出控制单元按照Exit队列顺序依次输出,根据控制字携带ID信息输出至指定数据传输控制单元。其中,输出控制器接受反馈信号,反馈Success信号为表示控制字输出成功,若反馈Busy信号,对该控制字进行扩展计数标志位,然后写入Subexit队列;若反馈Error信号,由于存储问题导致控制字输出失败则写入Waitexit队列,由于DMA传输错误则直接写入Interrupt队列。当Subexit队列非空时,则Exit队列与Subexit队列交叉输出控制字,交叉输出时先输出原优先级高的控制字,Exit队列输出的控制字出现busy状况则继续写入Subexit队列尾部,当Exit队列出队个数等于入队个数时,执行S3。
S3:先进行Subexit队列输出,后执行Waitexit队列输出工作。具体是:
S3.1:Subexit队列工作,首先执行Subexit队列中控制字输出,循环输出控制字,若输出失败则计数写入队列尾端。预设循环阈值,当控制字循环输出失败次数达到阈值时则写入Interrupt队列。当Subexit队列处理完成后,执行步骤S3.2;
S3.2:Waitexit队列工作,执行Waitexit队列控制字输出工作,循环输出控制字。预设循环阈值,当Waitexit队列控制字输出失败次数达到预设阈值时写入Interrupt队列。
S4:错误反馈单元中,反馈处理机制对应处理与其方向相匹配的数据传输任务,并针对Interrupt队列中控制字的不同错误反馈类型进行处理,完成本组控制字处理后执行S1,具体处理方式如下:
S2M反馈处理机制,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,采用重映射机制,匹配其他空闲处理核心,更改存储描述符内目的ID参数,执行该数据传输任务,若为Error导致的错误反馈,提高原有优先级重新加入任务调度单元等待后续传输,其中,由于DMA传输错误导致的错误反馈,数据丢失,撤销该数据传输任务,释放已获取的目的存储描述符,记录并上报系统。
M2S反馈处理机制,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,提高该控制字的执行优先级,重新加入任务调度单元,若为Error导致的错误反馈,不回收存储描述符,剩余待传输的源数据由数据传输控制单元重新发起,完成切片传输。
M2M反馈处理机制,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,采用重映射机制,选取其他空闲处理的核心,若无合适核心则提高原有优先级重新加入任务调度单元等待后续传输,若为Error导致的错误反馈,释放已预取的目的存储描述符,重新发起该传输事务。
实施例:
在一个具有八个DSP处理器核心和挂载四个外设的系统环境中,四个外部设备分别具有独立的数据传输控制单元,目的执行端分别为EDTC0、EDTC1、EDTC2、EDTC3,八个核心共享一个内部数据传输控制单元,目的执行端为IDTC0。接收任务调度单元输出的八个数据传输任务控制字,根据控制字执行数据交换任务,控制字输出单元工作流程如图4所示,具体步骤如下:
S1:控制字输出单元空接收任务调度单元输出的一组有序控制字序列,将待发射控制字写入Exit队列,确定本组执行控制字入队个数为8。
S2:Exit队列中八个待发射控制字依次输出,待发射控制字Task0正常输出工作,EDTC0数据传输控制单元处于工作状态,因此待发射控制字Task1输出失败,扩展控制字计数位,标记后写入Subexit队列;继续输出待发射控制字Task2,由于目的存储不足反馈Error,标记后写入Waitexit队列;继续输出Task3,由于EDTC2处于数据传输状态则反馈Busy,扩展控制字计数位写入Subexit队列;继续输出Task4、Task5、Task6和Task7,依据错误反馈信号写入指定待发射队列中,Exit队列出队个数等于入队个数,即执行S3。其中需要说明的是,队列内控制字统称为待发射控制字,处理过程队列控制字变化如图3所示。
S3:经过上述S2,目前Subexit队列中存储Task1、Task3和Task7控制字;Waitexit队列中存储Task2、Task4、Task5和Task6控制字。辅助队列工作,先执行Subexit队列输出,后执行Waitexit队列输出。具体是:
S3.1:Subexit队列工作,首先执行Subexit队列中控制字输出,循环输出控制字,若输出失败则计数写入队列尾端。预设循环阈值M,当控制字循环输出失败次数达到阈值M时则写入Interrupt队列。Task1循环N次后成功输出,Task3和Task7循环M次依旧未输出则写入Interrupt队列。当Subexit队列处理完成后,执行S3.2。
S3.2:Waitexit队列工作,执行Waitexit队列控制字输出工作。设定循环阈值为3次,Task2、Task4、Task5和Task6控制字依次循环输出。待发射控制字Task2循环过程中输出成功,由于Task4、Task5和Task6任务在数据传输过程中出现DMA错误,即反馈写入Interrupt队列。当Waitexit队列空闲后,执行S4。
S4:错误反馈单元中,反馈处理机制依据Interrupt队列中控制字错误类型进而匹配不同的处理应对机制。Interrupt队列包含Task3、Task4、Task5、Task6和Task7,为了体现错误反馈处理机制的完备性,该五种任务分别作不同处理,具体是:
任务Task3数据传输类型是S2M,即外部设备以数据流形式写入片上存储,其反馈原因是由于目的处理核心Busy导致的输出失败,且多次尝试输出无效,因此选用其他合适的处理核心代替计算,完成重映射工作。选取的目标核心具有以下条件:
1.处理核心具有相同的计算功能;
2.处理核心空闲,暂无排队任务;
3.目标核心缓存空间足够,且优先选取缓存空间较大的核心,以保证负载均衡。
若没有合适目标核心完成该任务,则提高该任务原始优先级,重新加入任务调度单元。
任务Task4数据传输类型是S2M,即外部设备以数据流形式写入片上存储,错误原因是由于DMA传输内部错误所导致的数据丢失问题。由于外部设备以流的形式输入,无数据保护机制,所以传输过程中产生错误导致数据丢失不可恢复。因此,此类错误将撤销,上报系统,由系统中断程序处理。
任务Task5数据传输类型是M2S,即片上存储的数据传输至外部设备。该任务错误原因是DMA传输数据过程中产生错误导致传输中断。由于有描述符控制模块存在,片上数据以存储描述符的形式进行管理,即数据传输未完成不会释放原有的数据空间,具有数据保护机制。因此任务Task5将由数据传输控制单元再次建立与外设之间的连接,完成切片传输。
任务Task6数据传输类型是M2M,即片上核心之间完成存储区域相互映射。该任务错误类型是DMA数据传输过程中发生错误,由于核间通信支持链接传输,其链接关系随着任务执行而发生改变,因此该传输事务需要重新发起,释放已申请的存储描述符,重新获取存储空间然后执行传输。
任务Task7数据传输类型是M2M,该任务错误类型是由于目的核心处于Busy状态,长期被占有,因此选用其他合适的处理核心代替计算,完成重映射工作。选取的目标核心具有以下条件:
1.处理核心具有相同的计算功能;
2.处理核心空闲,暂无排队任务;
3.目标核心缓存空间足够,且优先选取缓存空间较大的核心,以保证负载均衡。
若没有合适目标核心完成该任务,则提高该任务原始优先级,重新加入任务调度单元。
输入的八个数据传输控制字处理过程如下表所示。
表1数据传输控制字处理过程
本发明中的步骤可根据实际需求进行顺序调整、合并和删减。
尽管参考附图详地公开了本发明,但应理解的是,这些描述仅仅是示例性的,并非用来限制本发明的应用。本发明的保护范围由附加权利要求限定,并可包括在不脱离本发明保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
Claims (8)
1.一种基于队列的控制字输出反馈控制方法,其特征在于,所述基于队列的控制字输出反馈控制方法包括:
S1:输出控制单元接收有序控制字,将待发射的控制字写入Exit队列,确定入队个数;
S2:输出控制单元按照Exit队列顺序依次输出控制字,输出失败则记录并将控制字写入辅助队列;
S3:辅助队列输出控制字,若输出失败则计数写入队列尾端,当控制字循环输出失败次数达到预设值时写入Interrupt队列;
S4:错误反馈单元包括S2M反馈处理机制、M2S反馈处理机制和M2M反馈处理机制,根据Interrupt队列数据传输任务错误类型进行错误反馈处理。
2.根据权利要求1所述基于队列的控制字输出反馈控制方法,其特征在于,所述S1中,当控制字输出单元空闲时,向任务调度单元发起控制字获取请求。
3.根据权利要求1所述基于队列的控制字输出反馈控制方法,其特征在于,所述S2中,当Exit队列出队个数等于入队个数时,执行S3。
4.根据权利要求1所述基于队列的控制字输出反馈控制方法,其特征在于,所述S2中,辅助队列包括Subexit队列和Waitexit队列;
输出控制单元按照Exit队列顺序,根据控制字携带的ID信息输出至指定数据传输控制单元,反馈Success表示传输成功,反馈Busy信号则对该控制字进行扩展计数标志位,写入Subexit队列,反馈Error信号且控制字出现存储问题则写入Waitexit队列,反馈Error信号且控制字出现DMA传输错误则直接写入Interrupt队列。
5.根据权利要求4所述基于队列的控制字输出反馈控制方法,其特征在于,所述Subexit队列非空时,Exit队列与Subexit队列交叉输出控制字,若Exit队列输出的控制字出现busy状况则继续写入Subexit队列尾部。
6.根据权利要求4所述基于队列的控制字输出反馈控制方法,其特征在于,先执行Subexit队列输出工作,后执行Waitexit队列输出工作,具体步骤为:
S3.1:Subexit队列循环输出控制字,输出失败则计数并写入队列尾端,预设循环阈值,当控制字循环输出失败次数达到预设阈值时写入Interrupt队列;
S3.2:Waitexit队列循环输出控制字,输出失败则计数并写入队列尾端,预设循环阈值,当控制字循环输出失败次数达到预设阈值时写入Interrupt队列。
7.根据权利要求1所述基于队列的控制字输出反馈控制方法,其特征在于,所述S4中,数据传输任务根据方向分为三种类型,分别是外部设备发往片上核心的任务S2M、片上核心发往外部设备的任务M2S和片上核心之间的任务M2M,其中,外部设备发往片上核心的任务由外部设备发出持续的数据流写入指定的片上存储空间,片上核心发往外部设备的任务由存储描述符往外部进行切片传输,片上核心之间的任务传输源端和终端存储都以描述符形式呈现,错误反馈单元中,反馈处理机制对应处理与其方向相匹配的数据传输任务,且依据控制字传输错误类型做出处理,处理方式如下:
S2M反馈处理机制:处理由外部设备发往片上核心的数据传输任务S2M,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,采用重映射机制,匹配其他空闲处理核心,更改存储描述符内目的ID参数,执行该数据传输任务,若为Error导致的错误反馈,提高原有优先级重新加入任务调度单元等待后续传输,其中,由于DMA传输错误导致的错误反馈,数据丢失,撤销该数据传输任务,释放已获取的目的存储描述符,记录并上报系统;
M2S反馈处理机制:处理由片上核心发往外部设备的数据传输任务M2S,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,提高该控制字的执行优先级,重新加入任务调度单元,若为Error导致的错误反馈,不回收存储描述符,剩余待传输的源数据由数据传输控制单元重新发起,完成切片传输;
M2M反馈处理机制:处理片上核心之间的数据传输任务M2M,判断写入Interrupt队列时任务传输失败的错误反馈类型,若为Busy导致的错误反馈,采用重映射机制,选取其他空闲处理的核心,若无合适核心则提高原有优先级重新加入任务调度单元等待后续传输,若为Error导致的错误反馈,释放已预取的目的存储描述符,重新发起该传输事务。
8.根据权利要求1所述的基于队列的控制字输出反馈控制方法,其特征在于,所述S4中,完成本组控制字处理后执行S1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310706630.XA CN116701021A (zh) | 2023-06-13 | 2023-06-13 | 一种基于队列的控制字输出反馈控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310706630.XA CN116701021A (zh) | 2023-06-13 | 2023-06-13 | 一种基于队列的控制字输出反馈控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116701021A true CN116701021A (zh) | 2023-09-05 |
Family
ID=87835428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310706630.XA Pending CN116701021A (zh) | 2023-06-13 | 2023-06-13 | 一种基于队列的控制字输出反馈控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701021A (zh) |
-
2023
- 2023-06-13 CN CN202310706630.XA patent/CN116701021A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE41849E1 (en) | Parallel multi-threaded processing | |
US8537828B2 (en) | Scalable interface for connecting multiple computer systems which performs parallel MPI header matching | |
US5940612A (en) | System and method for queuing of tasks in a multiprocessing system | |
US8015248B2 (en) | Queuing of conflicted remotely received transactions | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
US20130160028A1 (en) | Method and apparatus for low latency communication and synchronization for multi-thread applications | |
US8943507B2 (en) | Packet assembly module for multi-core, multi-thread network processors | |
US8086766B2 (en) | Support for non-locking parallel reception of packets belonging to a single memory reception FIFO | |
CN107729267B (zh) | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 | |
US20100329261A1 (en) | Data processing apparatus, data processing method and computer-readable medium | |
JP2006301894A (ja) | マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法 | |
US5507032A (en) | Multiprocessor I/O request control system forming device drive queue and processor interrupt queue from rows and cells of I/O request table and interrupt request table | |
JP2006309512A (ja) | マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法 | |
EP1508100B1 (en) | Inter-chip processor control plane | |
CN116701021A (zh) | 一种基于队列的控制字输出反馈控制方法 | |
US20080189719A1 (en) | Operation processor apparatus | |
KR20230059536A (ko) | 프로세스 스케줄링 방법 및 장치 | |
JP4170330B2 (ja) | 情報処理装置 | |
JP2005258509A (ja) | ストレージ装置 | |
US10423546B2 (en) | Configurable ordering controller for coupling transactions | |
CN109564547B (zh) | 存储器单元和存储器单元处理操作请求的操作方法 | |
US10901735B2 (en) | Apparatus and method to improve performance of memory accesses from plural arithmetic processors | |
CN114116553B (zh) | 数据处理装置、方法以及系统 | |
US6959361B2 (en) | Distributed caching mechanism for pending memory operations within a memory controller | |
CN116010046A (zh) | 一种基于多核dsp并行运算的控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |