CN108334326A - 一种低延迟指令调度器的自动管理方法 - Google Patents
一种低延迟指令调度器的自动管理方法 Download PDFInfo
- Publication number
- CN108334326A CN108334326A CN201810117641.3A CN201810117641A CN108334326A CN 108334326 A CN108334326 A CN 108334326A CN 201810117641 A CN201810117641 A CN 201810117641A CN 108334326 A CN108334326 A CN 108334326A
- Authority
- CN
- China
- Prior art keywords
- automatic
- module
- instruction
- management module
- instruction scheduler
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 37
- 238000012423 maintenance Methods 0.000 claims abstract description 18
- 238000005516 engineering process Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
本发明公开了一种低延迟指令调度器的自动管理方法,包括中央处理器、指令调度器和多个硬件模块,中央处理器通过总线连接指令调度器,指令调度器分别连接多个硬件模块,指令调度器内设有自动管理模块,自动管理模块包括自动指标管理模块和自动指标维护模块,自动指标管理模块连接自动指标维护模块;本发明中增加了自动指标管理模块,当每次写入命令时也同时会把这动作送给自动指标维护模块,当命令写入完成,此自动指标维护模块将会自动更新内部寄存器,省略了告知此中央指令支配控制器写入多少指令的动作,将可提升系统整体效能,并减少发送至总线的通信量,进而提升系统效能。
Description
技术领域
本发明涉及指令调度器管理技术领域,具体为一种低延迟指令调度器的自动管理方法。
背景技术
指令调度是一种指令并行执行的技术,编译器或者机器硬件通过调整指令的顺序来提高每拍内机器执行指令的数量,所述拍为编译器在编译源程序时所模拟的机器执行指令的时钟周期。现有编译技术中通常采用表调度算法来实现指令调度,通常采用一个候选指令队列。具体的,在进行指令调度时,首先对需要调度的指令构建数据依赖图,该数据依赖图由若干个节点组成,每个节点代表一条指令,该数据依赖图可以用来表示指令之间的依赖关系。然后计算各条指令的优先级,接着逐拍对数据依赖图中的指令进行调度。指令调度是编译器挖掘程序潜在的指令级并行的有效手段。它是在不改变程序语义,满足目标机器的相关性和资源依赖性的前提下,通过重新调整指令顺序来提高一个周期内目标机器能够执行的指令数目。指令调度是现代高性能编译器的一项关键技术,它决定各操作的相对执行顺序,具体执行时间及使用哪些硬件资源等。从代码块划分角度来看,指令调度可以分为局部指令调度和全局指令调度,其中局部指令调度是指基本块内的指令调度,而全局调度是指基本块间的指令调度。
现有系统芯片架构由多个子模块包含中央处理器组成, 由外部总线连接,如有中央指令支配控制器,对于发配命令者之动作大多为: 1. 写指令进去 2.告知此中央指令支配控制器写了多少个指令通知硬件执行,两个动作,而读取命令者之动作则为:1. 读走指令 2. 告知中央指令支配控制器读走了多少个命令;现有技术效能低、功耗大,有待进一步改进。
发明内容
本发明的目的在于提供一种低延迟指令调度器的自动管理方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种低延迟指令调度器的自动管理方法,包括中央处理器、指令调度器和多个硬件模块,其特征在于:所述中央处理器通过总线连接指令调度器,所述指令调度器分别连接多个硬件模块,所述指令调度器内设有自动管理模块,所述自动管理模块包括自动指标管理模块和自动指标维护模块;所述自动指标管理模块连接自动指标维护模块。
优选的,包括以下步骤:
A、中央处理器写入命令;
B、写入命令时也同时会把这指令动作送给自动管理模块中的自动指标维护模块;
C、当命令写入完成,此自动指标维护模块将会自动更新内部寄存器。
优选的,多个硬件模块包括第一硬件模块、第二硬件模块、第三硬件模块和第N硬件模块,N为大于3的整数。
与现有技术相比,本发明的有益效果是:本发明中增加了自动指标管理模块,此自动指标管理模块监控不同的指令队列每一次写入的指令数据量,如某指令队列所设定指令长度为16字节,当每次写入指令数据进入内存时,持续累计计算已写入字节,当指令写入内存完成即写满16字节,自动指标维护模块将自动更新寄存器内的指令个数;由于在系统级芯片上,微处理器通知此中央指令支配控制器写入多少指令的动作将耗费至少30个微处理器计算周期,透过这样的自动管理模块,省略了告知此动作,将可降低微处理器工作量,使微处理器空出更多运算能力处理其他工作,并减少发送至总线的通信量,进而提升系统效能。而硬件子模块读取指令,也是相同模式,节省步骤,让硬件子模块更快速地去处理其他数据,省去中央总线的延迟,并且减少总线的交通流量。
附图说明
图1为本发明结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种低延迟指令调度器的自动管理方法,包括中央处理器1、指令调度器2和多个硬件模块,其特征在于:所述中央处理器1通过总线连接指令调度器2,所述指令调度器2分别连接多个硬件模块,所述指令调度器2内设有自动管理模块3,所述自动管理模块3包括自动指标管理模块4和自动指标维护模块5;所述自动指标管理模块4连接自动指标维护模块5;其中,多个硬件模块包括第一硬件模块6、第二硬件模块7、第三硬件模块8和第N硬件模块,N为大于3的整数。
本发明的管理方法包括以下步骤:
A、中央处理器写入命令;
B、写入命令时也同时会把这指令动作送给自动管理模块中的自动指标维护模块;
C、当命令写入完成,此自动指标维护模块将会自动更新内部寄存器。
综上所述,本发明中增加了自动指标管理模块,此自动指标管理模块监控不同的指令队列每一次写入的指令数据量,如某指令队列所设定指令长度为16字节,当每次写入指令数据进入内存时,持续累计计算已写入字节,当指令写入内存完成即写满16字节,自动指标维护模块将自动更新寄存器内的指令个数;由于在系统级芯片上,微处理器通知此中央指令支配控制器写入多少指令的动作将耗费至少30个微处理器计算周期,透过这样的自动管理模块,省略了告知此动作,将可降低微处理器工作量,使微处理器空出更多运算能力处理其他工作,并减少发送至总线的通信量,进而提升系统效能。而硬件子模块读取指令,也是相同模式,节省步骤,让硬件子模块更快速地去处理其他数据,省去中央总线的延迟,并且减少总线的交通流量。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (3)
1.一种低延迟指令调度器的自动管理方法,其特征在于:包括中央处理器(1)、指令调度器(2)和多个硬件模块,其特征在于:所述中央处理器(1)通过总线连接指令调度器(2),所述指令调度器(2)分别连接多个硬件模块,所述指令调度器(2)内设有自动管理模块(3),所述自动管理模块(3)包括自动指标管理模块(4)和自动指标维护模块(5);所述自动指标管理模块(4)连接自动指标维护模块(5)。
2.根据权利要求1所述的一种低延迟指令调度器的自动管理方法,其特征在于:包括以下步骤:
A、中央处理器写入命令;
B、写入命令时也同时会把这指令动作送给自动管理模块中的自动指标维护模块;
C、当命令写入完成,此自动指标维护模块将会自动更新内部寄存器。
3.根据权利要求1所述的一种低延迟指令调度器的自动管理方法,其特征在于:多个硬件模块包括第一硬件模块(6)、第二硬件模块(7)、第三硬件模块(8)和第N硬件模块,N为大于3的整数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810117641.3A CN108334326A (zh) | 2018-02-06 | 2018-02-06 | 一种低延迟指令调度器的自动管理方法 |
PCT/CN2018/099753 WO2019153684A1 (zh) | 2018-02-06 | 2018-08-09 | 一种低延迟指令调度器的自动管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810117641.3A CN108334326A (zh) | 2018-02-06 | 2018-02-06 | 一种低延迟指令调度器的自动管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108334326A true CN108334326A (zh) | 2018-07-27 |
Family
ID=62928428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810117641.3A Pending CN108334326A (zh) | 2018-02-06 | 2018-02-06 | 一种低延迟指令调度器的自动管理方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108334326A (zh) |
WO (1) | WO2019153684A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153684A1 (zh) * | 2018-02-06 | 2019-08-15 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035389A (en) * | 1998-08-11 | 2000-03-07 | Intel Corporation | Scheduling instructions with different latencies |
CN101211321A (zh) * | 2006-12-28 | 2008-07-02 | 英特尔公司 | 分层存储器读取/写入微指令调度器 |
CN101334766A (zh) * | 2008-06-30 | 2008-12-31 | 东软飞利浦医疗设备系统有限责任公司 | 一种并行微处理器及其实现方法 |
CN101894013A (zh) * | 2010-07-16 | 2010-11-24 | 中国科学院计算技术研究所 | 处理器内指令级流水线控制方法及其系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655135A (en) * | 1994-09-16 | 1997-08-05 | Philips Electronics North America Corporation | System for write protecting a bit that is hardware modified during a read-modify-write cycle |
CN101710272B (zh) * | 2009-10-28 | 2012-09-05 | 龙芯中科技术有限公司 | 指令调度装置和方法 |
CN108334326A (zh) * | 2018-02-06 | 2018-07-27 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
-
2018
- 2018-02-06 CN CN201810117641.3A patent/CN108334326A/zh active Pending
- 2018-08-09 WO PCT/CN2018/099753 patent/WO2019153684A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035389A (en) * | 1998-08-11 | 2000-03-07 | Intel Corporation | Scheduling instructions with different latencies |
CN101211321A (zh) * | 2006-12-28 | 2008-07-02 | 英特尔公司 | 分层存储器读取/写入微指令调度器 |
CN101334766A (zh) * | 2008-06-30 | 2008-12-31 | 东软飞利浦医疗设备系统有限责任公司 | 一种并行微处理器及其实现方法 |
CN101894013A (zh) * | 2010-07-16 | 2010-11-24 | 中国科学院计算技术研究所 | 处理器内指令级流水线控制方法及其系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153684A1 (zh) * | 2018-02-06 | 2019-08-15 | 江苏华存电子科技有限公司 | 一种低延迟指令调度器的自动管理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019153684A1 (zh) | 2019-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiao et al. | A load balancing inspired optimization framework for exascale multicore systems: A complex networks approach | |
US9606797B2 (en) | Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor | |
US20190004878A1 (en) | Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features | |
TWI516908B (zh) | 藉由耦合第一核心類型與第二核心類型來改善電力效能效率之設備、方法及系統 | |
Rhu et al. | CAPRI: Prediction of compaction-adequacy for handling control-divergence in GPGPU architectures | |
CN103810035B (zh) | 智能上下文管理 | |
WO2013184380A2 (en) | Systems and methods for efficient scheduling of concurrent applications in multithreaded processors | |
CN111414197A (zh) | 数据处理系统、编译器、处理器的方法和机器可读介质 | |
US20210294960A1 (en) | Systems and methods for intelligently buffer tracking for optimized dataflow within an integrated circuit architecture | |
KR20150080581A (ko) | 실시간 명령어 추적 프로세서들, 방법들 및 시스템들 | |
Hilton et al. | BOLT: Energy-efficient out-of-order latency-tolerant execution | |
Wei et al. | Throughput optimization for streaming applications on CPU-FPGA heterogeneous systems | |
US20140143524A1 (en) | Information processing apparatus, information processing apparatus control method, and a computer-readable storage medium storing a control program for controlling an information processing apparatus | |
CN113849296A (zh) | 用于闭环动态资源分配控制框架的装置和方法 | |
CN112130901A (zh) | 基于risc-v的协处理器、数据处理方法及存储介质 | |
Ouyang et al. | Active SSD design for energy-efficiency improvement of web-scale data analysis | |
CN105426163A (zh) | 一种基于mic协处理器的单数据流分位数处理方法 | |
CN108334326A (zh) | 一种低延迟指令调度器的自动管理方法 | |
CN108196883A (zh) | 一种智能指令调度器 | |
CN110059024A (zh) | 一种内存空间数据缓存方法及装置 | |
CN108228242B (zh) | 一种可配置且具弹性的指令调度器 | |
US20150379668A1 (en) | Method and apparatus for determining thread execution parallelism | |
CN108228241A (zh) | 用于在处理器中进行动态概况分析的系统、装置和方法 | |
CN105378652A (zh) | 线程共享资源分配方法及装置 | |
Robatmili et al. | Exploiting criticality to reduce bottlenecks in distributed uniprocessors |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180727 |