CN108196883A - 一种智能指令调度器 - Google Patents
一种智能指令调度器 Download PDFInfo
- Publication number
- CN108196883A CN108196883A CN201810118954.0A CN201810118954A CN108196883A CN 108196883 A CN108196883 A CN 108196883A CN 201810118954 A CN201810118954 A CN 201810118954A CN 108196883 A CN108196883 A CN 108196883A
- Authority
- CN
- China
- Prior art keywords
- instruction
- queue
- module
- central microprocessor
- service quality
- 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
- 238000003908 quality control method Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 3
- 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
- 239000011159 matrix material Substances 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000009738 saturating 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/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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种智能指令调度器,包括中央微处理器和多个硬件模块,中央微处理器通过总线连接多个硬件模块,所述中央微处理器通过总线连接自动管理模块;所述自动管理模块分别连接指令队列设定单元和内存,所述内存连接服务质量控制单元,所述服务质量控制单元分别连接多个硬件模块;多个硬件模块包括第一硬件模块和第二硬件模块。本发明将指令优先执行顺序统一管理,而避免多个子模块需要各自做相同目的设计,并提供特别设计之单一指令接口,当中央微处理器下达指令时,即根据所设定之权重透过指令接口送出指令给子模块,如此达到保证服务质量与高效能之目的。
Description
技术领域
本发明涉及指令调度技术领域,具体为一种智能指令调度器。
背景技术
指令调度是一种指令并行执行的技术,编译器或者机器硬件通过调整指令的顺序来提高每拍内机器执行指令的数量,所述拍为编译器在编译源程序时所模拟的机器执行指令的时钟周期。现有编译技术中通常采用表调度算法来实现指令调度,通常采用一个候选指令队列。具体的,在进行指令调度时,首先对需要调度的指令构建数据依赖图,该数据依赖图由若干个节点组成,每个节点代表一条指令,该数据依赖图可以用来表示指令之间的依赖关系。然后计算各条指令的优先级,接着逐拍对数据依赖图中的指令进行调度。指令调度是编译器挖掘程序潜在的指令级并行的有效手段。它是在不改变程序语义,满足目标机器的相关性和资源依赖性的前提下,通过重新调整指令顺序来提高一个周期内目标机器能够执行的指令数目。指令调度是现代高性能编译器的一项关键技术,它决定各操作的相对执行顺序,具体执行时间及使用哪些硬件资源等。从代码块划分角度来看,指令调度可以分为局部指令调度和全局指令调度,其中局部指令调度是指基本块内的指令调度,而全局调度是指基本块间的指令调度。
现有中央指令分配器不管连接于外部总线或是低延迟总线,都还是单纯的微处理器送指令,子模块收下指令执行,如果要分优先级,则是在子模块中加入多个指令接口或是自行设计顺序队列分别存放后执行,而子模块抓取指令方式也可能是透过外部总线。如此的方式有以下缺点: 1. 透过外部总线抓取指令将增加子模块设计复杂度与成本 2. 如透过特定指令总线取得指令,子模块成本增加以存放各种不同优先级之指令,复杂度增加以决定指令之优先执行顺序。
发明内容
本发明的目的在于提供一种智能指令调度器,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种智能指令调度器, 包括中央微处理器和多个硬件模块,所述中央微处理器通过总线连接多个硬件模块,所述中央微处理器通过总线连接自动管理模块;所述自动管理模块分别连接指令队列设定单元和内存,所述内存连接服务质量控制单元,所述服务质量控制单元分别连接多个硬件模块;多个硬件模块包括第一硬件模块和第二硬件模块。
优选的,所述指令队列设定单元包括第一指令队列设定模块、第二指令队列设定模块、第三指令队列设定模块,第N指令队列设定模块,N为大于3的整数。
优选的,所述内存包括低优先指令队列、中优先指令队列、高优先指令队列和指令队列数据模块,所述低优先指令队列、中优先指令队列、高优先指令队列分别连接第一指令队列设定模块。
优选的,其使用方法包括以下步骤:
A、中央微处理器在开机时随机先设定好每个子你看所需的指令队列参数;
B、 中央微处理器根据质量需求对不同优先级别队列位置写入指令;
C、 服务质量控制模块随即根据所设定之权重透过指令接口送出指令给子模块。
与现有技术相比,本发明的有益效果是:本发明将指令优先执行顺序统一管理,而避免多个子模块需要各自做相同目的设计,并提供特别设计之单一指令接口,当中央微处理器下达指令时,即根据所设定之权重透过指令接口送出指令给子模块,如此达到保证服务质量与高效能之目的。
附图说明
图1为本发明原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种智能指令调度器, 包括中央微处理器1和多个硬件模块,所述中央微处理器1通过总线连接多个硬件模块,所述中央微处理器1通过总线连接自动管理模块3;所述自动管理模块3分别连接指令队列设定单元4和内存5,所述内存5连接服务质量控制单元6,所述服务质量控制单元6分别连接多个硬件模块;多个硬件模块包括第一硬件模块7和第二硬件模块8。
本发明中,指令队列设定单元4包括第一指令队列设定模块9、第二指令队列设定模块10、第三指令队列设定模块11,第N指令队列设定模块,N为大于3的整数;内存5包括低优先指令队列12、中优先指令队列13、高优先指令队列14和指令队列数据模块2,所述低优先指令队列12、中优先指令队列13、高优先指令队列14分别连接第一指令队列设定模块9。
本发明中,每个指令队列设定可以设定单一或多种优先级,与各自的指令队列深度,并经由服务质量控制模块根据设定的权重与优先级选出要执行的指令送出给系统字模块执行,如此将可省去其他硬件模块在指令仲裁与存取指令的硬件成本与研发时间,并提高效能,同时保证指令运行的质量需求。
本发明的使用方法包括以下步骤:
A、中央微处理器在开机时随机先设定好每个子你看所需的指令队列参数;
B、 中央微处理器根据质量需求对不同优先级别队列位置写入指令;
C、 服务质量控制模块随即根据所设定之权重透过指令接口送出指令给子模块。
本发明将指令优先执行顺序统一管理,而避免多个子模块需要各自做相同目的设计,并提供特别设计之单一指令接口,当中央微处理器下达指令时,即根据所设定之权重透过指令接口送出指令给子模块,如此达到保证服务质量与高效能之目的。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种智能指令调度器, 包括中央微处理器(1)和多个硬件模块,其特征在于:所述中央微处理器(1)通过总线连接多个硬件模块,所述中央微处理器(1)通过总线连接自动管理模块(3);所述自动管理模块(3)分别连接指令队列设定单元(4)和内存(5),所述内存(5)连接服务质量控制单元(6),所述服务质量控制单元(6)分别连接多个硬件模块;多个硬件模块包括第一硬件模块(7)和第二硬件模块(8)。
2.根据权利要求1所述的一种智能指令调度器,其特征在于:所述指令队列设定单元(4)包括第一指令队列设定模块(9)、第二指令队列设定模块(10)、第三指令队列设定模块(11),第N指令队列设定模块,N为大于3的整数。
3.根据权利要求2所述的一种智能指令调度器,其特征在于:所述内存(5)包括低优先指令队列(12)、中优先指令队列(13)、高优先指令队列(14)和指令队列数据模块(2),所述低优先指令队列(12)、中优先指令队列(13)、高优先指令队列(14)分别连接第一指令队列设定模块(9)。
4.实现权利要求1所述的一种智能指令调度器的使用方法,其特征在于:其使用方法包括以下步骤:
A、中央微处理器在开机时随机先设定好每个子你看所需的指令队列参数;
B、 中央微处理器根据质量需求对不同优先级别队列位置写入指令;
C、 服务质量控制模块随即根据所设定之权重透过指令接口送出指令给子模块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118954.0A CN108196883A (zh) | 2018-02-06 | 2018-02-06 | 一种智能指令调度器 |
PCT/CN2018/099742 WO2019153681A1 (zh) | 2018-02-06 | 2018-08-09 | 一种智能指令调度器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118954.0A CN108196883A (zh) | 2018-02-06 | 2018-02-06 | 一种智能指令调度器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108196883A true CN108196883A (zh) | 2018-06-22 |
Family
ID=62592995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810118954.0A Pending CN108196883A (zh) | 2018-02-06 | 2018-02-06 | 一种智能指令调度器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108196883A (zh) |
WO (1) | WO2019153681A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153681A1 (zh) * | 2018-02-06 | 2019-08-15 | 江苏华存电子科技有限公司 | 一种智能指令调度器 |
WO2020015120A1 (zh) * | 2018-07-19 | 2020-01-23 | 江苏华存电子科技有限公司 | 低延迟指令调度器及过滤猜测访问方法 |
CN112987868A (zh) * | 2021-03-03 | 2021-06-18 | 江苏华存电子科技有限公司 | 一种便于安装的指令调度器设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775990A (zh) * | 2016-12-31 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 请求调度方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9824225B1 (en) * | 2013-09-20 | 2017-11-21 | EMC IP Holding Company LLC | Protecting virtual machines processing sensitive information |
CN104915256B (zh) * | 2015-06-05 | 2019-03-26 | 惠州Tcl移动通信有限公司 | 一种任务的实时调度实现方法及其系统 |
CN108196883A (zh) * | 2018-02-06 | 2018-06-22 | 江苏华存电子科技有限公司 | 一种智能指令调度器 |
-
2018
- 2018-02-06 CN CN201810118954.0A patent/CN108196883A/zh active Pending
- 2018-08-09 WO PCT/CN2018/099742 patent/WO2019153681A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775990A (zh) * | 2016-12-31 | 2017-05-31 | 中国移动通信集团江苏有限公司 | 请求调度方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153681A1 (zh) * | 2018-02-06 | 2019-08-15 | 江苏华存电子科技有限公司 | 一种智能指令调度器 |
WO2020015120A1 (zh) * | 2018-07-19 | 2020-01-23 | 江苏华存电子科技有限公司 | 低延迟指令调度器及过滤猜测访问方法 |
CN112987868A (zh) * | 2021-03-03 | 2021-06-18 | 江苏华存电子科技有限公司 | 一种便于安装的指令调度器设备 |
CN112987868B (zh) * | 2021-03-03 | 2022-08-19 | 江苏华存电子科技有限公司 | 一种便于安装的指令调度器设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019153681A1 (zh) | 2019-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331492B2 (en) | Techniques to dynamically allocate resources of configurable computing resources | |
JP6722251B2 (ja) | マルチタイル処理アレイにおける同期化 | |
Vaishnav et al. | Resource elastic virtualization for FPGAs using OpenCL | |
Calheiros et al. | Energy-efficient scheduling of urgent bag-of-tasks applications in clouds through DVFS | |
CN107222531B (zh) | 一种容器云资源调度方法 | |
US9880875B2 (en) | Apparatus and method for hardware-based task scheduling | |
KR20190044567A (ko) | 프로세서 타일들 간의 동기화 | |
CN105893126A (zh) | 一种任务调度方法及装置 | |
CN1342940A (zh) | 到一个共享的协处理器资源的多个逻辑接口 | |
Sun et al. | A ugni-based asynchronous message-driven runtime system for cray supercomputers with gemini interconnect | |
CN109445944A (zh) | 一种基于dpdk的网络数据采集处理系统及其方法 | |
CN103999051A (zh) | 用于着色器核心中着色器资源分配的策略 | |
KR20190044572A (ko) | 명령 세트 | |
Lai et al. | Sol: Fast distributed computation over slow networks | |
CN110990154B (zh) | 一种大数据应用优化方法、装置及存储介质 | |
CN108196883A (zh) | 一种智能指令调度器 | |
KR20190044566A (ko) | 복수-타일 프로세싱 구성에서의 동기화 | |
Ma et al. | vLocality: Revisiting data locality for MapReduce in virtualized clouds | |
Yu et al. | Smguard: A flexible and fine-grained resource management framework for gpus | |
Phan et al. | Real-time MapReduce scheduling | |
KR20190044573A (ko) | 컴퓨터 프로세싱의 타이밍 제어 | |
CN108228242A (zh) | 一种可配置且具弹性的指令调度器 | |
Padoin et al. | Managing power demand and load imbalance to save energy on systems with heterogeneous CPU speeds | |
Zhao et al. | RPC: Joint online reducer placement and coflow bandwidth scheduling for clusters | |
CN108196849A (zh) | 一种低延迟指令调度器 |
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 |
Application publication date: 20180622 |
|
RJ01 | Rejection of invention patent application after publication |