CN112395011B - 命令响应信息的返回方法、返回控制装置和电子设备 - Google Patents

命令响应信息的返回方法、返回控制装置和电子设备 Download PDF

Info

Publication number
CN112395011B
CN112395011B CN202011332652.7A CN202011332652A CN112395011B CN 112395011 B CN112395011 B CN 112395011B CN 202011332652 A CN202011332652 A CN 202011332652A CN 112395011 B CN112395011 B CN 112395011B
Authority
CN
China
Prior art keywords
command
response information
identifier
hierarchy
queue
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.)
Active
Application number
CN202011332652.7A
Other languages
English (en)
Other versions
CN112395011A (zh
Inventor
陈哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd, Haining Eswin IC Design Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202011332652.7A priority Critical patent/CN112395011B/zh
Publication of CN112395011A publication Critical patent/CN112395011A/zh
Priority to US17/603,929 priority patent/US11960895B2/en
Priority to PCT/CN2021/093848 priority patent/WO2022110681A1/zh
Application granted granted Critical
Publication of CN112395011B publication Critical patent/CN112395011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种命令响应信息的返回方法、返回控制装置和电子设备,涉及集成电路设计领域,方法包括:接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;输出所述第一条响应信息。本发明可以解决当前命令响应信息返回控制装置效率低、面积大、功耗高的问题。

Description

命令响应信息的返回方法、返回控制装置和电子设备
技术领域
本发明涉及集成电路设计领域,尤其涉及一种命令响应信息的返回方法、返回控制装置和电子设备。
背景技术
目前SoC芯片(system on chip,系统级芯片)规模越来越大,带宽需求也呈现指数级增长,需要的DDR(double data rate,双倍数据速率)通道数量也越来越多,芯片间的总线互联也愈发复杂,多通道DDR系统必然会导致命令响应乱序,即主机的一个传输命令会拆分成多个子命令传向不同的DDR通道,由于每一个DDR通道的处理顺序是随机的,就会导致多个子命令的响应返回顺序被打乱,而AXI协议(Advanced Extensible Interface总线协议)要求同一ID(Identity document,身份标识号)的同一类型的命令需要按照发送顺序返回响应,因此在主机端需要放置重排序控制装置来处理此类问题。
目前业界主流互联总线中支持重排序的主要为Arteris NoC,重排序单元放置在initiator agent(发起实体)中,可以配置重排序单元的深度和位宽,相对比较灵活。但是也有面积大、功耗较高、延迟大等缺点,并且不适合绝大多数互联总线的设计。
目前互联总线中重排序控制装置并没有太多的范本和规范,需要解决的问题包括:1.重排序的效率;2.重排序控制装置的面积;3.重排序控制装置的功耗。
发明内容
为了解决现有技术中出现的问题,本发明提供一种命令响应信息的返回方法、返回控制装置和电子设备。
第一方面,本发明提供一种命令响应信息的返回方法,包括:
接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;
扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;
输出所述第一条响应信息。
可选的,所述扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级,包括:
判断每一层级当前存储的所述响应信息的数据状态标志位是否满足预设条件;
若所述数据状态标志位满足预设条件,将所述层级作为备选层级。
可选的,所述接收一命令请求的响应信息之前,还包括:
接收一命令请求;
存储所述命令请求至命令队列中,所述命令队列包括多层;
存储所述命令请求存入所述命令队列的状态标识和层级标识。
可选的,所述状态标识包括所述命令请求存入所述命令队列的时间标识;
所述依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息,包括:
依据存储在所述备选层级的响应信息的层级标识,确定对应层级的命令队列存储的备选命令请求;
依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息。
可选的,多个同一类型的命令请求具有共同的身份标识,所述状态标识还包括所述命令请求的身份标识;
所述状态标识还包括所述命令请求存入所述命令队列的身份标识;
所述存储所述命令请求存入所述命令队列的状态标识和层级标识之后,还包括:
存储所述命令请求存入所述命令队列的身份标识、层级标识和时间标识;
记录该层命令队列是否存放有命令请求;
记录所述命令请求的第一顺序标识,所述第一顺序标识存储有相同身份标识存入所述命令队列的存入顺序;
扫描所有层级的命令队列,判断是否已存放有相同身份标识的命令请求,若无,记录所述命令请求为有效命令请求;否则,记录所述命令请求为无效命令请求;
存储所述命令请求存入所述命令队列的身份标识和第一顺序标识;
所述依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求包括:
选取存放有所述有效命令请求的备选层级;
从存放有所述有效命令请求的备选层级的命令队列中,依据所述备选命令请求的时间标识,确定第一条命令请求。
可选的,所述输出所述第一条响应信息之后,还包括:
释放所述目标层级的命令队列;
更新所有层级的命令队列的时间标识。
可选的,每一所述命令请求对应一个响应信息,所述响应信息包括多个子响应信息;所述子响应信息还携带有第二顺序标识,所述第二顺序标识存储有所述子响应信息在所述响应信息中的返回顺序;
所述输出所述第一条响应信息包括:
依据所述第一条响应信息的每一子响应信息携带的所述第二顺序标识,顺序输出所述第一条响应信息的每一子响应信息。
第二方面,本发明还提供了一种命令响应信息的返回控制装置,包括:
第一接收模块,用于接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
第一存储模块,用于依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;
第一筛选模块,用于扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
第二筛选模块,用于依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;
输出模块,用于输出所述第一条响应信息。
可选的,所述第一筛选模块还用于判断每一层级当前存储的所述响应信息的数据状态标志位是否满足预设条件,若所述数据状态标志位满足预设条件,将所述层级作为备选层级。
可选的,还包括:
第二接收模块,用于接收一命令请求;
第二存储模块,用于存储所述命令请求至命令队列中,所述命令队列包括多层;
所述第二存储模块还用于存储所述命令请求存入所述命令队列的状态标识和层级标识。
可选的,所述状态标识包括所述命令请求存入所述命令队列的时间标识;
所述第二筛选模块还用于依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
所述第二筛选模块还用于依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息。
可选的,多个同一类型的命令请求具有共同的身份标识;
所述状态标识还包括所述命令请求存入所述命令队列的身份标识;
所述第二存储模块还用于记录该层命令队列是否存放有命令请求;
所述第二存储模块还用于记录所述命令请求的第一顺序标识,所述第一顺序标识存储有相同身份标识存入所述命令队列的存入顺序;
所述第二存储模块还用于扫描所有层级的命令队列,判断是否已存放有相同身份标识的命令请求,若无,记录所述命令请求为有效命令请求;否则,记录所述命令请求为无效命令请求;
所述第二存储模块还用于存储所述命令请求存入所述命令队列的身份标识和第一顺序标识;
所述第一筛选模块还用于选取存放有所述有效命令请求的备选层级;
所述第二筛选模块还用于从存放有所述有效命令请求的备选层级的命令队列中,依据所述备选命令请求的时间标识,确定第一条命令请求。
可选的,还包括更新模块,用于所述输出所述第一条响应信息之后,释放所述目标层级的命令队列;更新所有层级的命令队列的时间标识。
可选的,每一所述命令请求对应一个响应信息,所述响应信息包括多个子响应信息;所述子响应信息还携带有第二顺序标识,所述第二顺序标识存储有所述子响应信息在所述响应信息中的返回顺序;
所述输出模块还用于依据所述第一条响应信息的每一子响应信息携带的所述第二顺序标识,顺序输出所述第一条响应信息的每一子响应信息。
第三方面,本发明还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面任一项所述的命令响应信息的返回方法的步骤。
第四方面,本发明还提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面任一项所述的命令响应信息的返回方法的步骤。
在本发明中,响应信息依据其携带的对应命令请求的状态标识中的层级标识,存储至对应层级的数据队列中,确定收齐响应信息的层级为备选层级,依据所述状态标识从备选层级中筛选出第一条响应信息并输出;该命令响应信息的返回方法容易实现,逻辑电路比较小,电路频率高,可以内嵌应用在互联总线中用于支持多通道DDR系统,同时具备高性能、低延迟、低功耗的特点,提高了互联总线的产品竞争力。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例一提供的一种命令响应信息的返回方法的流程示意图;
图2为本发明实施例二提供的一种命令响应信息的返回控制方法的流程示意图;
图3为本发明实施例三提供的一种命令响应信息的返回控制方法的流程示意图;
图4为本发明实施例四提供的一种命令队列层级的结构示意图;
图5为本发明实施例五提供的一种数据队列层级的结构示意图;
图6为本发明实施例六提供的数据队列的响应信息的输出控制方法的流程示意图;
图7为本发明实施例七提供的命令队列层级释放管理机制的流程示意图;
图8为本发明实施例八提供的一种命令队列实现同一身份标识命令的顺序响应方法的流程示意图;
图9为本发明实施例九提供的一种命令响应信息的返回控制装置的结构示意图;
图10为本发明实施例十提供的一种命令响应信息的返回控制装置的结构示意图;
图11为本发明实施例十一提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例一提供的一种命令响应信息的返回方法的流程示意图,包括:
步骤11:接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
步骤12:依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;
步骤13:扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
步骤14:依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;
步骤15:输出所述第一条响应信息。
在本发明实施例中,响应信息依据其携带的对应命令请求的状态标识中的层级标识,存储至对应层级的数据队列中,确定收齐响应信息的层级为备选层级,依据所述状态标识从备选层级中筛选出第一条响应信息并输出;该命令响应信息的返回方法容易实现,逻辑电路比较小,电路频率高,可以内嵌应用在互联总线中用于支持多通道DDR系统,同时具备高性能、低延迟、低功耗的特点,提高了互联总线的产品竞争力。
在本发明的一些实施例中,可选的,所述扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级,包括:
判断每一层级当前存储的所述响应信息的数据状态标志位是否满足预设条件;
若所述数据状态标志位满足预设条件,将所述层级作为备选层级。
在本发明的一些实施例中,可选的,若某一层数据队列的响应信息的数据状态标志位为1,表明该层数据队列的响应信息已收齐。
在本发明实施例中,数据队列主要用于存放从机反馈的响应信息,所述响应信息包括该响应的状态信息和数据信息;数据队列内部为多层结构,每一层对应一个响应信息的最大数据长度,因此一个响应信息可能会分多次写入到所述数据队列中,即每一响应信息可能包括多个子响应信息,当一笔完整的响应信息的数据收齐后,再一并返回给主机进行进一步的处理。
在本发明的一些实施例中,可选的,采用DVLD定义一层数据队列中存储的响应信息是否收齐。若该层数据队列中存储的响应信息均收齐,标记该响应信息收齐的确认信号,即拉高该层数据队列的DVLD,记DVLD=1;若未收齐,则记该层数据队列的DVLD=0。
本发明实施例中,通过判断响应信息的数据状态标志位判断响应信息是否收齐,判断迅速且易于实现。
在本发明的一些实施例中,可选的,所述接收一命令请求的响应信息之前,还包括:
接收一命令请求;
存储所述命令请求至命令队列中,所述命令队列包括多层;
存储所述命令请求存入所述命令队列的状态标识和层级标识。
具体地,AMBA AXI协议要求同一身份标识(ID)的传输需要顺序返回响应,不同ID的传输可以乱选返回响应。在本发明的一些实施例中,一个命令请求或多个命令请求对应一个身份标识,每一命令请求存入命令队列的一层中,每一层具有唯一的层级标识LID(level ID),同时给每一层还分配一个唯一的时间标识TID(Timing ID),用来表示命令到达的先后顺序,TID会随着命令的进出进行动态改变,同时命令队列会缓存命令的身份标识信息,在返回响应时一并传递给主机。
在本发明实施例中,命令队列的层级与数据队列的层级一一对应,可以通过某一层级的数据队列查询对应层级的命令队列中存储的命令请求的状态标识和层级标识。
在本发明的一些实施例中,可选的,所述状态标识包括所述命令请求存入所述命令队列的时间标识;
所述依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息,包括:
依据存储在所述备选层级的响应信息的层级标识,确定对应层级的命令队列存储的备选命令请求;
依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息。
在本发明实施例中,通过记录命令请求存入命令队列的时间标识和层级标识,依据时间标识确定备选命令请求中的第一条命令请求,依据第一条命令请求的目标层级标识确定对应的目标响应信息所在的数据队列层级,该目标响应信息即为待输出的第一条响应信息。
请参考图2,本发明实施例二提供一种命令响应信息的返回控制方法,包括:
步骤211:接收一命令请求;
步骤212:存储所述命令请求至命令队列中,所述命令队列包括多层;
步骤213:存储所述命令请求存入所述命令队列的状态标识和层级标识,所述状态标识包括所述命令请求存入所述命令队列的时间标识;
步骤22:接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
步骤23:依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个响应信息;
步骤24:扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
步骤251:依据存储在所述备选层级的响应信息的层级标识,确定对应层级的命令队列存储的备选命令请求;
步骤252:依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
步骤253:依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息;
步骤26:输出所述第一条响应信息。
请参见图3,图3为本发明实施例三提供的一种命令响应信息的返回控制方法的流程示意图,应用于命令响应信息的返回控制装置,实现上述实施例二命令响应信息的返回控制方法的各步骤的各个过程;其中,所述命令响应信息的返回控制装置包括命令队列单元501、数据队列单元502、命令传输控制单元503和数据响应控制单元504。
在本发明的一些实施例中,可选的,多个同一类型的命令请求具有共同的身份标识;
所述状态标识还包括所述命令请求存入所述命令队列的身份标识;
所述存储所述命令请求存入所述命令队列的状态标识和层级标识之后,还包括:
记录该层命令队列是否存放有命令请求;
记录所述命令请求的第一顺序标识,所述第一顺序标识存储有相同身份标识存入所述命令队列的存入顺序;
扫描所有层级的命令队列,判断是否已存放有相同身份标识的命令请求,若无,记录所述命令请求为有效命令请求;否则,记录所述命令请求为无效命令请求;
存储所述命令请求存入所述命令队列的身份标识和第一顺序标识;
所述依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求包括:
选取存放有所述有效命令请求的备选层级;
从存放有所述有效命令请求的备选层级的命令队列中,依据所述备选命令请求的时间标识,确定第一条命令请求。
本发明实施例中,针对具有同一身份标识的多个命令请求,在命令请求存入对应层级的命令队列时,记录该层命令队列是否存有命令及所述身份标识的多个命令请求的存入顺序,若该命令为所述身份标识在命令队列中的第一顺位时,符合第一条命令请求的备选命令请求的判断条件,可用于同一身份标识的多个命令请求对应的响应信息的输出控制,判断快速且易于实现。
在本发明的一些实施例中,可选的,可以采用CVLD指示某一层命令队列是否存放了命令,用TVLD表示某一层命令队列存入的命令是否为同一身份标识在命令队列中的第一顺位的命令。
具体地,请参见图4,图4为本发明实施例四提供的一种命令队列层级的结构示意图;
命令队列的每个层在实际工作中仅存在三种工作状态:1.没有存放命令即CVLD=0,TVLD=0;2.存放了命令,但不是同一身份标识在命令队列中的第一顺位的命令,即CVLD=1,TVLD=0,此时该命令并不是同一身份标识在命令队列中的第一条命令,不能优先返回;3.存放了命令且命令是同一身份标识在命令队列中的第一顺位的命令,即CVLD=1,TVLD=1,说明此时该命令是同一身份标识在命令队列的第一条命令,可以立即返回。
在本发明的一些实施例中,可选的,每一层命令队列根据所述命令请求存入LID、TID、CVLD和TVLD等参数,简便快捷地实现了从备选命令请求中找到第一条命令请求。
请参见图5,图5为本发明实施例五提供的一种数据队列层级的结构示意图,每一层数据队列与命令队列的层级一一对应,每一层数据队列存储的响应信息包括对应层级命令队列的LID、TID和DVLD等参数。
在本发明的一些实施例中,可选的,所述输出所述第一条响应信息之后,还包括:
释放所述目标层级的命令队列;
更新所有层级的命令队列的时间标识。
在本发明实施例中,命令响应后针对时间标识实现统一更新能够有效降低对于物理缓存单元深度的依赖,增加命令队列各个层级的利用率。
在本发明的一些实施例中,可选的,数据队列的响应信息的输出控制由数据队列和命令队列状态共同确定。
具体地,请参见图6,图6为本发明实施例六提供的数据队列的响应信息的输出控制方法的流程示意图;当有数据返回且该层数据队列的响应信息全部收齐时,判断每一层数据队列的层级是否与当前收齐数据的数据队列的层级相同,若是相同,则拉高对应层级的数据队列的DVLD,得到收齐响应信息的备选层级,并判断每一备选层级的数据队列对应的命令队列层级的命令队列的TVLD是否拉高,若是则向主机返回响应信息,否则继续等待该层的数据队列的TVLD拉高。
在本发明实施例中,采用基于链表索引的概念来控制命令队列的进出,同时根据数据队列的情况选择合适的时机向主机返回相应命令的响应避免数据总线中气泡的出现,提高了互联总线的利用率;采用特殊的ID回收机制,减少对命令队列的深度依赖,进而减小命令响应信息的返回控制装置的面积。
具体地,请参见图7,图7为本发明实施例七提供的命令队列层级释放管理机制的流程示意图;
在本发明的一些实施例中,可选的,命令队列采用动态的命令队列层级释放管理机制。当某命令被响应时,会监测当前被响应命令的TID(时间标识),并对命令队列所有层次的TID进行更新,当命令队列中TID大于被响应命令的TID,则TID对应命令层次的TID减一,当前被响应的命令层次的TID变为最大,命令队列中TID小于被响应命令的TID的则保持不变。
在本发明的一些实施例中,可选的,每一所述命令请求对应一个响应信息,所述响应信息包括多个子响应信息;所述子响应信息还携带有第二顺序标识,所述第二顺序标识存储有所述子响应信息在所述响应信息中的返回顺序;
所述输出所述第一条响应信息包括:
依据所述第一条响应信息的每一子响应信息携带的所述第二顺序标识,顺序输出所述第一条响应信息的每一子响应信息。
在本发明实施例中,每一命令请求对应一个响应信息,一个响应信息包括多个子响应信息;子响应信息携带有第二顺序标识,每一子响应信息在所述响应信息中的返回顺序通过第二顺序标识记录,并传递至子响应信息中,当第一条响应信息输出时,按照所述响应信息的每一子响应信息的第二顺序标识进行顺序输出。
本发明实施例中,命令响应信息的返回方法适用于每一响应信息包括多个子响应信息的返回场景,扩展性强且易于实现。
具体地,请参见图8,图8为本发明实施例八提供的一种命令队列实现同一身份标识的命令的顺序响应方法的流程示意图;
在本发明的一些实施例中,可选的,为了准确区分同一身份标识命令队列的先后顺序,当每一个命令缓存进命令队列时,会记录下来当前命令存入的层级号,用LAST_LID表示;当后续有相同ID的命令缓存进命令队列时,将LAST_LID信息也保存进后续相同ID命令的命令队列的缓存区;如果当某ID在命令队列的第一条命令响应后,所有该ID在命令队列中的命令会检查缓存区的LAST_LID是否与当前已经被响应的第一条命令的LID相同,如果相同则拉起该层命令队列的TVLD,说明该层的命令成为某ID在命令队列中的第一条命令,具备响应主动权。
接下来,请参见图9,图9为本发明实施例九提供的一种命令响应信息的返回控制装置3的结构示意图,包括:
第一接收模块301,用于接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
第一存储模块302,用于依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;
第一筛选模块303,用于扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
第二筛选模块304,用于依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;
输出模块305,用于输出所述第一条响应信息。
在本发明实施例中,命令响应信息的返回控制装置中,响应信息依据携带的对应命令请求的状态标识中的层级标识,存储至对应层级的数据队列中,确定收齐响应信息的层级为备选层级,依据所述状态标识从备选层级中筛选出第一条响应信息并输出;该命令响应信息的返回控制装置逻辑电路比较小,电路频率高,容易实现,可以内嵌应用在互联总线中用于支持多通道DDR系统,同时具备高性能、低延迟、低功耗的特点,提高了互联总线的产品竞争力。
在本发明的一些实施例中,可选的,所述第一筛选模块303还用于判断每一层级当前存储的所述响应信息的数据状态标志位是否满足预设条件,若所述数据状态标志位满足预设条件,将所述层级作为备选层级。
请参见图10,图10为本发明实施例十提供的一种命令响应信息的返回控制装置3的结构示意图;
在本发明的一些实施例中,可选的,所述命令响应信息的返回控制装置3还包括:
第二接收模块306,用于接收一命令请求;
第二存储模块307,用于存储所述命令请求至命令队列中,所述命令队列包括多层;
所述第二存储模块307还用于存储所述命令请求存入所述命令队列的状态标识和层级标识。
在本发明实施例中,命令队列的层级与数据队列的层级一一对应,可以通过某一层级的数据队列查询对应层级的命令队列中存储的命令请求的状态标识和层级标识。在本发明的一些实施例中,可选的,所述状态标识包括所述命令请求存入所述命令队列的时间标识;
所述第一筛选模块303还用于依据存储在所述备选层级的响应信息的层级标识,确定对应层级的命令队列存储的备选命令请求;
所述第二筛选模块304还用于依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
所述第二筛选模块304还用于依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息。
在本发明实施例中,通过记录命令请求存入命令队列的时间标识和层级标识,依据时间标识确定备选命令请求中的第一条命令请求,依据第一条命令请求的目标层级标识确定对应的目标响应信息所在的数据队列层级,该目标响应信息即为待输出的第一条响应信息。
在本发明的一些实施例中,可选的,多个同一类型的命令请求具有共同的身份标识;
所述状态标识还包括所述命令请求存入所述命令队列的身份标识;
所述第二存储模块307还用于记录该层命令队列是否存放有命令请求;
所述第二存储模块307还用于记录所述命令请求的第一顺序标识,所述第一顺序标识存储有相同身份标识存入所述命令队列的存入顺序;
所述第二存储模块307还用于扫描所有层级的命令队列,判断是否已存放有相同身份标识的命令请求,若无,记录所述命令请求为有效命令请求;否则,记录所述命令请求为无效命令请求;
所述第二存储模块307还用于存储所述命令请求存入所述命令队列的身份标识和第一顺序标识;
所述第一筛选模块303还用于选取存放有所述有效命令请求的备选层级;
所述第二筛选模块304还用于从存放有所述有效命令请求的备选层级的命令队列中,依据所述备选命令请求的时间标识,确定第一条命令请求。
本发明实施例中,针对具有同一身份标识的多个命令请求,在命令请求存入对应层级的命令队列时,记录该层命令队列是否存有命令及所述身份标识的多个命令请求的存入顺序,若该命令为所述身份标识在命令队列中的第一顺位时,符合第一条命令请求的备选命令请求的判断条件,可用于同一身份标识的多个命令请求对应的响应信息的输出控制,判断快速且易于实现。
在本发明的一些实施例中,可选的,还包括更新模块,所述更新模块用于所述输出所述第一条响应信息之后,释放所述目标层级的命令队列;更新所有层级的命令队列的时间标识。
在本发明实施例中,命令响应后针对时间标识实现统一更新能够有效降低对于物理缓存单元深度的依赖,增加命令队列各个层级的利用率。
在本发明的一些实施例中,可选的,每一所述命令请求对应一个响应信息,所述响应信息包括多个子响应信息;所述子响应信息还携带有第二顺序标识,所述第二顺序标识存储有所述子响应信息在所述响应信息中的返回顺序。
本发明实施例中,命令响应信息的返回方法适用于每一响应信息包括多个子响应信息的返回场景,扩展性强且易于实现。
在本发明的一些实施例中,可选的,所述输出模块305还用于依据所述第一条响应信息的每一子响应信息携带的所述第二顺序标识,顺序输出所述第一条响应信息的每一子响应信息。
在本发明实施例中,每一命令请求对应一个响应信息,一个响应信息包括多个子响应信息;子响应信息携带有第二顺序标识,每一子响应信息在所述响应信息中的返回顺序通过第二顺序标识记录,并传递至子响应信息中,当第一条响应信息输出时,按照所述响应信息的每一子响应信息的第二顺序标识进行顺序输出。
在本发明的一些实施例中,可选的,命令响应信息的返回控制装置中还含有时钟开启和关断控制单元,用于监测整个命令队列和数据队列的传输情况,在有命令进入、数据输入或者响应输出时才会开启时钟,其他情况下时钟保持关断状态,节省动态功耗。
在本发明的一些实施例中,可选的,命令响应信息的返回控制装置采用动态时钟管理机制,能够精准的控制主控时钟的开启和关闭,只有在有传输到来的时候才开启主控时钟,尽可能的降低动态功耗。
请参见图11,图11为本发明实施例十一提供的一种电子设备400的结构示意图,包括处理器402,存储器401,存储在存储器401上并可在所述处理器402上运行的程序或指令,该程序或指令被处理器402执行时实现上述实施例的命令响应信息的返回方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述命令响应信息的返回方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (14)

1.一种命令响应信息的返回方法,其特征在于,包括:
接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;
扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;其中,每一所述命令请求对应一个响应信息,所述响应信息包括多个子响应信息;所述子响应信息还携带有第二顺序标识,所述第二顺序标识存储有所述子响应信息在所述响应信息中的返回顺序;
输出所述第一条响应信息,包括:依据所述第一条响应信息的每一子响应信息携带的所述第二顺序标识,顺序输出所述第一条响应信息的每一子响应信息。
2.根据权利要求1所述的命令响应信息的返回方法,其特征在于,所述扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级,包括:
判断每一层级当前存储的所述响应信息的数据状态标志位是否满足预设条件;
若所述数据状态标志位满足预设条件,将所述层级作为备选层级。
3.根据权利要求1所述的命令响应信息的返回方法,其特征在于,所述接收一命令请求的响应信息之前,还包括:
接收一命令请求;
存储所述命令请求至命令队列中,所述命令队列包括多层;
存储所述命令请求存入所述命令队列的状态标识和层级标识。
4.根据权利要求3所述的命令响应信息的返回方法,其特征在于,
所述状态标识包括所述命令请求存入所述命令队列的时间标识;
所述依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息,包括:
依据存储在所述备选层级的响应信息的层级标识,确定对应层级的命令队列存储的备选命令请求;
依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息。
5.根据权利要求4所述的命令响应信息的返回方法,其特征在于,多个同一类型的命令请求具有共同的身份标识;
所述状态标识还包括所述命令请求存入所述命令队列的身份标识;
所述存储所述命令请求存入所述命令队列的状态标识和层级标识之后,还包括:
记录该层命令队列是否存放有命令请求;
记录所述命令请求的第一顺序标识,所述第一顺序标识存储有相同身份标识存入所述命令队列的存入顺序;
扫描所有层级的命令队列,判断是否已存放有相同身份标识的命令请求,若无,记录所述命令请求为有效命令请求;否则,记录所述命令请求为无效命令请求;
存储所述命令请求存入所述命令队列的身份标识和第一顺序标识;
所述依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求包括:
选取存放有所述有效命令请求的备选层级;
从存放有所述有效命令请求的备选层级的命令队列中,依据所述备选命令请求的时间标识,确定第一条命令请求。
6.根据权利要求4所述的命令响应信息的返回方法,其特征在于,所述输出所述第一条响应信息之后,还包括:
释放所述目标层级的命令队列;
更新所有层级的命令队列的时间标识。
7.一种命令响应信息的返回控制装置,其特征在于,包括:
第一接收模块,用于接收一命令请求的响应信息,所述响应信息携带有所述命令请求的状态标识和层级标识;
第一存储模块,用于依据所述层级标识,存储所述响应信息至对应层级的数据队列中,所述数据队列包括多层,每层所述数据队列存储一个或多个响应信息;
第一筛选模块,用于扫描所有层级的数据队列,确定收齐响应信息的层级作为备选层级;
第二筛选模块,用于依据存储在所述备选层级的响应信息的状态标识,确定第一条响应信息;
输出模块,用于输出所述第一条响应信息;
每一所述命令请求对应一个响应信息,所述响应信息包括多个子响应信息;所述子响应信息还携带有第二顺序标识,所述第二顺序标识存储有所述子响应信息在所述响应信息中的返回顺序;
所述输出模块还用于依据所述第一条响应信息的每一子响应信息携带的所述第二顺序标识,顺序输出所述第一条响应信息的每一子响应信息。
8.根据权利要求7所述的命令响应信息的返回控制装置,其特征在于,所述第一筛选模块还用于判断每一层级当前存储的所述响应信息的数据状态标志位是否满足预设条件,若所述数据状态标志位满足预设条件,将所述层级作为备选层级。
9.根据权利要求7所述的命令响应信息的返回控制装置,其特征在于,还包括:
第二接收模块,用于接收一命令请求;
第二存储模块,用于存储所述命令请求至命令队列中,所述命令队列包括多层;
所述第二存储模块还用于存储所述命令请求存入所述命令队列的状态标识和层级标识。
10.根据权利要求9所述的命令响应信息的返回控制装置,其特征在于,
所述状态标识包括所述命令请求存入所述命令队列的时间标识;
所述第一筛选模块还用于依据存储在所述备选层级的响应信息的层级标识,确定对应层级的命令队列存储的备选命令请求;
所述第二筛选模块还用于依据所述备选命令请求的时间标识,从所述备选命令请求中确定第一条命令请求,所述第一条命令请求的层级标识为目标层级标识;
所述第二筛选模块还用于依据所述目标层级标识,确定存储在目标层级的数据队列的目标响应信息为第一条响应信息。
11.根据权利要求10所述的命令响应信息的返回控制装置,其特征在于,
多个同一类型的命令请求具有共同的身份标识;
所述状态标识还包括所述命令请求存入所述命令队列的身份标识;
所述第二存储模块还用于记录该层命令队列是否存放有命令请求;
所述第二存储模块还用于记录所述命令请求的第一顺序标识,所述第一顺序标识存储有相同身份标识存入所述命令队列的存入顺序;
所述第二存储模块还用于扫描所有层级的命令队列,判断是否已存放有相同身份标识的命令请求,若无,记录所述命令请求为有效命令请求;否则,记录所述命令请求为无效命令请求;
所述第二存储模块还用于存储所述命令请求存入所述命令队列的身份标识和第一顺序标识;
所述第一筛选模块还用于选取存放有所述有效命令请求的备选层级;
所述第二筛选模块还用于从存放有所述有效命令请求的备选层级的命令队列中,依据所述备选命令请求的时间标识,确定第一条命令请求。
12.根据权利要求10所述的命令响应信息的返回控制装置,其特征在于,
还包括更新模块,用于所述输出所述第一条响应信息之后,释放所述目标层级的命令队列;更新所有层级的命令队列的时间标识。
13.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6任一项所述的命令响应信息的返回方法的步骤。
14.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6任一项所述的命令响应信息的返回方法的步骤。
CN202011332652.7A 2020-11-24 2020-11-24 命令响应信息的返回方法、返回控制装置和电子设备 Active CN112395011B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011332652.7A CN112395011B (zh) 2020-11-24 2020-11-24 命令响应信息的返回方法、返回控制装置和电子设备
US17/603,929 US11960895B2 (en) 2020-11-24 2021-05-14 Method and control device for returning of command response information, and electronic device
PCT/CN2021/093848 WO2022110681A1 (zh) 2020-11-24 2021-05-14 命令响应信息的返回方法、返回控制装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011332652.7A CN112395011B (zh) 2020-11-24 2020-11-24 命令响应信息的返回方法、返回控制装置和电子设备

Publications (2)

Publication Number Publication Date
CN112395011A CN112395011A (zh) 2021-02-23
CN112395011B true CN112395011B (zh) 2022-11-29

Family

ID=74606206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011332652.7A Active CN112395011B (zh) 2020-11-24 2020-11-24 命令响应信息的返回方法、返回控制装置和电子设备

Country Status (2)

Country Link
CN (1) CN112395011B (zh)
WO (1) WO2022110681A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395011B (zh) * 2020-11-24 2022-11-29 海宁奕斯伟集成电路设计有限公司 命令响应信息的返回方法、返回控制装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1348564A (zh) * 1998-11-16 2002-05-08 因芬尼昂技术股份公司 分优先级访问外部装置的方法和设备
CN103366801A (zh) * 2012-03-29 2013-10-23 三星电子株式会社 存储器装置及其操作方法
CN105190583A (zh) * 2013-03-25 2015-12-23 三菱电机株式会社 总线主设备、总线系统以及总线控制方法
CN109863481A (zh) * 2016-10-21 2019-06-07 超威半导体公司 用于平台裕度调节和调试的软件模式寄存器访问

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112265A (en) * 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US7925826B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US8880819B2 (en) * 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
US8909874B2 (en) * 2012-02-13 2014-12-09 International Business Machines Corporation Memory reorder queue biasing preceding high latency operations
CN103399832B (zh) * 2013-08-21 2016-09-14 中国人民解放军国防科学技术大学 总线间的乱序返回数据的归序方法
CN107168547B (zh) * 2017-03-31 2020-06-05 北京奇艺世纪科技有限公司 一种输入命令的方法及装置
CN111597057B (zh) * 2020-04-08 2023-05-02 视联动力信息技术股份有限公司 数据处理方法、装置及计算机可读存储介质
CN112395011B (zh) * 2020-11-24 2022-11-29 海宁奕斯伟集成电路设计有限公司 命令响应信息的返回方法、返回控制装置和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1348564A (zh) * 1998-11-16 2002-05-08 因芬尼昂技术股份公司 分优先级访问外部装置的方法和设备
CN103366801A (zh) * 2012-03-29 2013-10-23 三星电子株式会社 存储器装置及其操作方法
CN105190583A (zh) * 2013-03-25 2015-12-23 三菱电机株式会社 总线主设备、总线系统以及总线控制方法
CN109863481A (zh) * 2016-10-21 2019-06-07 超威半导体公司 用于平台裕度调节和调试的软件模式寄存器访问

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Playing Well with Others: How NoC Compositions Enable Global Team Design;Jonah Probell;《https://wwww.arteris.com/hs-fs/hub/48858/file-462495935-pdf/docs/arteris-whitepaper-noc-composition.pdf》;20141231;全文 *

Also Published As

Publication number Publication date
WO2022110681A1 (zh) 2022-06-02
US20230138057A1 (en) 2023-05-04
CN112395011A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
US11748418B2 (en) Storage aggregator controller with metadata computation control
KR100524575B1 (ko) 데이타 처리시스템에서 복수개의 메모리 억세스 리퀘스트신호를리오더링하는 방법
CN101390060B (zh) 存储集线器和存储排序的方法
CN103136117B (zh) 探听过滤器和非包含共享高速缓冲存储器
RU2597520C2 (ru) Контроллер памяти и способ работы такого контроллера памяти
US10810413B2 (en) Wakeup method, apparatus and device based on lip reading, and computer readable medium
JP2008500668A5 (zh)
US8725873B1 (en) Multi-server round robin arbiter
EP3001323B1 (en) Serial peripheral interface
US20080276240A1 (en) Reordering Data Responses
CN112100097B (zh) 多测试通道优先级自适应仲裁方法和存储器访问控制器
CN112395011B (zh) 命令响应信息的返回方法、返回控制装置和电子设备
US11010094B2 (en) Task management method and host for electronic storage device
CN103077132A (zh) 一种高速缓存处理方法及协议处理器高速缓存控制单元
CN109614049B (zh) 闪存控制方法、闪存控制器及闪存系统
CN108182151B (zh) 顺序流缓存与检测的方法、装置、存储介质及终端设备
CN106959929A (zh) 一种多端口访问的存储器及其工作方法
US9292456B2 (en) System and method for data synchronization across digital device interfaces
CN103123575A (zh) 一种数据写入方法
CN116893991B (zh) 一种axi协议下的存储模块转换接口及其转换方法
US7328312B2 (en) Method and bus prefetching mechanism for implementing enhanced buffer control
CN116185499B (zh) 寄存器数据传输方法、寄存器缓存模块、智能设备和介质
KR20110134465A (ko) 데이터 전송 시스템 및 그 데이터 판독 방법
US11960895B2 (en) Method and control device for returning of command response information, and electronic device
CN106598742A (zh) 一种ssd主控内部负载均衡系统及方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 263, block B, science and technology innovation center, 128 Shuanglian Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province, 314400

Applicant after: Haining yisiwei IC Design Co.,Ltd.

Applicant after: Beijing yisiwei Computing Technology Co.,Ltd.

Address before: Room 263, block B, science and technology innovation center, 128 Shuanglian Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province, 314400

Applicant before: Haining yisiwei IC Design Co.,Ltd.

Applicant before: Beijing yisiwei Computing Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant