CN109634667A - 一种基于时钟的双速流水线架构微处理器及其实现方法 - Google Patents
一种基于时钟的双速流水线架构微处理器及其实现方法 Download PDFInfo
- Publication number
- CN109634667A CN109634667A CN201811508771.6A CN201811508771A CN109634667A CN 109634667 A CN109634667 A CN 109634667A CN 201811508771 A CN201811508771 A CN 201811508771A CN 109634667 A CN109634667 A CN 109634667A
- Authority
- CN
- China
- Prior art keywords
- speed
- instruction
- low
- clock
- grade
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 20
- 239000003550 marker Substances 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 238000004321 preservation Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 claims 2
- 230000009977 dual effect Effects 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明涉及一种基于时钟的双速流水线架构微处理器及其实现方法,根据指令标识的要求,选择高速流水线或者低速流水线执行指令。利用单个处理器资源,设计实现一种工作在不同速度下的双速流水线架构。高速流水线处理的高性能与低速流水线处理的低功耗相结合,可以在提高微处理器系统处理能力的同时,最大程度的降低系统功耗。满足嵌入式微处理器应用领域的高性能与低功耗的要求,同时双速流水线架构的微处理器在功耗方面的表现较大小端双核微处理器系统会更加优秀。
Description
技术领域
本发明属于嵌入式微处理器领域,提出了一种可以工作在双时钟速度下的微处理器流水线架构设计。
背景技术
随着消费电子、汽车电子、工业控制等领域的发展,高性能嵌入式微处理器的应用越来越广泛,对其处理能力的要求也越来越高。同时,嵌入式微处理器的应用领域多为便携设备,消费电子和现场控制设备,对其功耗的要求又十分严格,要求其尽量减小功耗。因此,为了满足嵌入式微处理器应用需求,必须在提高其处理能力的同时,尽量减小其功耗。
现有的嵌入式处理器提高性能的手段是采用多核处理器架构,同时,为了降低功耗,现有的多核架构多采用的是处理能力高的大核与处理能力低一些但是功耗相对较低的小核来共同组成大小端架构的多核系统。这种架构尽管提高了处理能力,也在一定程度上控制了系统功耗,但是处理器所有资源包括流水线架构全部都是双份,并不能很好的在提高处理能力的同时更大程度的降低系统功耗。因此,设计一种双速流水线架构微处理器,利用单个处理器资源,实现流水线的高速处理与低速处理相结合,可以在提高系统处理能力的同时,最大程度的降低系统功耗。
发明内容
本发明目的是设计一种高性能、低功耗的嵌入式微处理器流水线架构,以改善上述多核处理器架构的不足之处。利用单个处理器资源,设计实现一种工作在不同速度下的双速流水线架构。高速流水线处理的高性能与低速流水线处理的低功耗相结合,可以在提高微处理器系统处理能力的同时,最大程度的降低系统功耗。满足嵌入式微处理器应用领域的高性能与低功耗的要求,同时双速流水线架构的微处理器在功耗方面的表现较大小端双核微处理器系统会更加优秀。
本发明为实现上述目的所采用的技术方案是:一种基于时钟的双速流水线架构微处理器实现方法,根据指令标识的要求,选择高速流水线或者低速流水线执行指令,包括以下步骤:
取指级通过向外部程序存储器取指后,将取到的指令送至译码级;
译码级接收到指令后对指令进行译码,同时将译码后的指令发送至发射极;
发射级对指令进行判断,判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块;
时钟分频模块根据指令信息将高速时钟进行分频,得到低速时钟作为低速流水线的工作时钟。
所述发射级对指令进行判断具体为:根据当前指令的速度标志位进行判断,若速度标志位为设定值,则为高速指令,否则,为低速指令。
所述指令信息包括指令的速度标志位及对应的操作码。
所述时钟分频模块将高速时钟按照速度标志位级响应的倍频系数进行分频,得到低速时钟,输出至低速流水线模块。
所述高速流水线或低速流水线接收指令后,取出需要的数据执行,并将执行的结果回写。
所述高速时钟根据需要设定;高速时钟频率大于低速时钟频率。
一种双速流水线架构微处理器,包括:
公用流水线,用于通过向外部程序存储器取指后,将取到的指令进行译码,并判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块;
时钟分频模块,用于接收高速时钟,并根据指令信息进行分频,得到低速时钟发送至低速流水线;
高速流水线,用于接收指令后取出需要的数据,在高速时钟频率下,按照指令规定的操作内容执行指令,并回写;
低速流水线,用于接收指令后取出需要的数据,在低速时钟频率下,按照指令规定的操作内容执行指令,并回写。
所述公用流水线包括顺序连接的取指级、译码级、发射级;所述取指级、译码级、发射级工作在高速时钟频率下;
所述取指级,用于通过向外部程序存储器取指后,将取到的指令送至译码级;
所述译码级,用于对接收到的指令进行译码后,发送至发射极;
所述发射级,用于对指令的速度标志位进行判断,判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块。
所述高速流水线或低速流水线包括顺序连接的读取数据级、执行级、回写保存级;所述读取数据级、执行级、回写保存级工作在低速时钟频率下;
所述读取数据级,用于将指令中需要的数据从指定位置取出,并将取出的数据与指令发送到执行级;
所述执行级,用于将数据按照指令进行操作后,得到指令执行结果,同时将指令执行结果发送至回写级;
所述回写级,用于将指令执行结果存放在指令指定的位置。
本发明具有以下有益效果及优点:
1.本发明采用单核嵌入式微处理器,设计双速流水线架构,取代现有的大小端双核架构,在减少系统资源的同时,实现更低的功耗。
2.本发明采用单核嵌入式微处理器,实现现有的大小端双核嵌入式微处理器架构,简化以嵌入式微处理器为核心的SoC系统设计,减少了多核系统设计逻辑。
3.本发明采用单核嵌入式微处理器,设计双速流水线架构,取代现有的大小端双核嵌入式微处理器架构设计,避免了由于大小端双核架构对各自的高速缓存(Cache)进行写操作后造成的Cache一致性的问题。
4.本发明采用单核嵌入式微处理器,设计双速流水线架构,取代现有的大小端双核嵌入式微处理器架构设计,在实现了大小端双核嵌入式微处理器同等性能的同时,设计面积更小,实现成本更低。
附图说明
图1本发明的双速流水线架构图。
具体实施方式
下面根据附图对本发明进行详细说明。
双速流水线的设计思想是如图1所示,其中,1为流水线的取指级,2为流水线的译码级,3为流水线的发射级,F4为高速流水线的读取数据级,F5为高速流水线的指令执行级,F6为高速流水线的指令执行结果的回写保存级,L4为低速流水线的读取数据级,L5为低速流水线的指令执行级,L6为低速流水线的指令执行结果的回写保存级;F0为时钟倍频模块。双速流水线的取指级、译码级、发射级是共用流水线,工作在高速时钟下。后三级中的高速流水线,工作在高速时钟下,负责完成高速指令的执行。后三级中的低速流水线,工作在低速时钟下,负责完成低速指令的执行,低速时钟是将高速时钟按照速度速度标志位及相应的操作码分频得到的。
取指级通过向外部程序存储器取指后,将取到的指令送至译码级。
译码级接收到取指级发送的指令后,对接收到的指令进行译码,同时将指令译码结果发送至发射极。
发射级对接收到的译码指令的指令速度标志位进行判断,判断当前的指令是高速处理指令还是低速处理指令,并将高速处理指令发射到指令指定的高速流水线,将低速处理指令发射到指令指定的低速流水线。同时发射级将译码指令的速度标志位及对应的操作码发送至时钟分频模块。译码后的指令格式如表1所示。
时钟分频模块将高速时钟按照速度标志位级响应的倍频系数进行分频,得到低速时钟,低速时钟作为低速流水线模块的工作时钟。
本发明中,译码得到的指令模式与时钟分频模块的分频方法很多,具体实施例中设计了一种译码后的指令模式及对应的一种高速时钟分频模式,但本发明所涉及的方法不限于此中实施例。表一为具体实施例中一种译码后的指令格式,当发射模块对速度标志位进行判断后,若速度标志位为1则为高速指令,对应的将指令发射至高速流水线取数级,若速度标志位为0则为低速指令,对应的将指令发射至低速流水线取数级。同时,当指令为低速指令时,发射级将指令的速度标志位及对应的操作码,发射至时钟分频模块,将高速时钟进行分频,分频模块的一种分频方式为表2所示。
表1一种译码后的指令格式
表2高速时钟分频
操作码 | F<sub>f</sub>高速时钟(MHz) | F<sub>l</sub>低速时钟(MHz) |
00 | a | a/2 |
01 | a | a/4 |
10 | a | a/8 |
11 | a | a/16 |
双速流水线中的取数级(包括高速流水线取数级F4与低速流水线取数级L4)负责将指令中需要的数据从指定位置取出,并将取出的数据与指令发送到执行级。其中高速流水线取数级F4取出的数据与接收到的指令直接发送到执行级F5;低速流水线取数级L4取出的数据与接收到的指令直接发送到执行级L5。
高速流水线执行级F5将得到的数据按照得到的指令进行规定的相应操作后,得到指令执行结果,同时将指令执行结果发送至高速流水线回写级F6;低速流水线执行级L5将得到的数据按照得到的指令进行规定的相应操作后,得到指令执行结果,同时将指令执行结果发送至低速流水线回写级L6。
高速流水线回写级F6与低速流水线回写级L6将高速流水线执行级F5与低速流水线执行级L5的指令执行结果按照接收到的指令内容存放在指令指定的位置。
至此一条指令执行结束。
在嵌入式微处理器系统中,通常会有多个待处理的进程。有些进程的处理需要高效快速执行,这类进程的指令就可以标识为高速指令,由该设计中的高速流水线执行完成;有些进程的处理相对要求处理速度不高,此类进程便可以标识为低功耗指令,由该设计中的低速流水线执行完成。通过双速流水线的配合操作,实现嵌入式微处理器设计的等同于大小端双核的高处理性能与更低功耗的要求。
Claims (9)
1.一种基于时钟的双速流水线架构微处理器实现方法,其特征在于:根据指令标识的要求,选择高速流水线或者低速流水线执行指令,包括以下步骤:
取指级通过向外部程序存储器取指后,将取到的指令送至译码级;
译码级接收到指令后对指令进行译码,同时将译码后的指令发送至发射极;
发射级对指令进行判断,判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块;
时钟分频模块根据指令信息将高速时钟进行分频,得到低速时钟作为低速流水线的工作时钟。
2.根据权利要求1所述一种基于时钟的双速流水线架构微处理器实现方法,其特征在于,所述发射级对指令进行判断具体为:根据当前指令的速度标志位进行判断,若速度标志位为设定值,则为高速指令,否则,为低速指令。
3.根据权利要求1所述一种基于时钟的双速流水线架构微处理器实现方法,其特征在于,所述指令信息包括指令的速度标志位及对应的操作码。
4.根据权利要求1所述一种基于时钟的双速流水线架构微处理器实现方法,其特征在于,所述时钟分频模块将高速时钟按照速度标志位级响应的倍频系数进行分频,得到低速时钟,输出至低速流水线模块。
5.根据权利要求1所述一种基于时钟的双速流水线架构微处理器实现方法,其特征在于,所述高速流水线或低速流水线接收指令后,取出需要的数据执行,并将执行的结果回写。
6.根据权利要求4所述一种基于时钟的双速流水线架构微处理器实现方法,其特征在于,所述高速时钟根据需要设定;高速时钟频率大于低速时钟频率。
7.一种双速流水线架构微处理器,其特征在于,包括:
公用流水线,用于通过向外部程序存储器取指后,将取到的指令进行译码,并判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块;
时钟分频模块,用于接收高速时钟,并根据指令信息进行分频,得到低速时钟发送至低速流水线;
高速流水线,用于接收指令后取出需要的数据,在高速时钟频率下,按照指令规定的操作内容执行指令,并回写;
低速流水线,用于接收指令后取出需要的数据,在低速时钟频率下,按照指令规定的操作内容执行指令,并回写。
8.根据权利要求7所述的一种双速流水线架构微处理器,其特征在于,所述公用流水线包括顺序连接的取指级、译码级、发射级;所述取指级、译码级、发射级工作在高速时钟频率下;
所述取指级,用于通过向外部程序存储器取指后,将取到的指令送至译码级;
所述译码级,用于对接收到的指令进行译码后,发送至发射极;
所述发射级,用于对指令的速度标志位进行判断,判断当前的指令是高速处理指令还是低速处理指令;如是高速处理指令,则发射到高速流水线;若是低速处理指令,则发射到低速流水线,同时发射级将指令信息发送至时钟分频模块。
9.根据权利要求7所述的一种双速流水线架构微处理器,其特征在于,所述高速流水线或低速流水线包括顺序连接的读取数据级、执行级、回写保存级;所述读取数据级、执行级、回写保存级工作在低速时钟频率下;
所述读取数据级,用于将指令中需要的数据从指定位置取出,并将取出的数据与指令发送到执行级;
所述执行级,用于将数据按照指令进行操作后,得到指令执行结果,同时将指令执行结果发送至回写级;
所述回写级,用于将指令执行结果存放在指令指定的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811508771.6A CN109634667B (zh) | 2018-12-11 | 2018-12-11 | 一种基于时钟的双速流水线架构微处理器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811508771.6A CN109634667B (zh) | 2018-12-11 | 2018-12-11 | 一种基于时钟的双速流水线架构微处理器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634667A true CN109634667A (zh) | 2019-04-16 |
CN109634667B CN109634667B (zh) | 2023-03-14 |
Family
ID=66072633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811508771.6A Active CN109634667B (zh) | 2018-12-11 | 2018-12-11 | 一种基于时钟的双速流水线架构微处理器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634667B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161171A (en) * | 1997-06-27 | 2000-12-12 | Matsushita Electric Industrial Co., Ltd. | Apparatus for pipelining sequential instructions in synchronism with an operation clock |
JP2001236221A (ja) * | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
CN1303524C (zh) * | 1996-03-29 | 2007-03-07 | 松下电器产业株式会社 | 可变流水线级数的数据处理装置 |
US20090249037A1 (en) * | 2008-03-19 | 2009-10-01 | Andrew David Webber | Pipeline processors |
-
2018
- 2018-12-11 CN CN201811508771.6A patent/CN109634667B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1303524C (zh) * | 1996-03-29 | 2007-03-07 | 松下电器产业株式会社 | 可变流水线级数的数据处理装置 |
US6161171A (en) * | 1997-06-27 | 2000-12-12 | Matsushita Electric Industrial Co., Ltd. | Apparatus for pipelining sequential instructions in synchronism with an operation clock |
JP2001236221A (ja) * | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
US20090249037A1 (en) * | 2008-03-19 | 2009-10-01 | Andrew David Webber | Pipeline processors |
Non-Patent Citations (2)
Title |
---|
田心宇等: "一种高速低功耗可重构流水线乘法器", 《微电子学与计算机》 * |
黄小平等: ""龙腾~?RR2"微处理器流水线的设计及优化", 《微电子学与计算机》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109634667B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019218896A1 (zh) | 计算方法以及相关产品 | |
US20190204901A1 (en) | Graphics processor power management contexts and sequential control loops | |
US10078357B2 (en) | Power gating functional units of a processor | |
DE112016006059T5 (de) | Hardwareeinrichtungen und Verfahren für Datendekomprimierung | |
US10866902B2 (en) | Memory aware reordered source | |
AU2016281598A1 (en) | Mapping instruction blocks into instruction windows based on block size | |
TW201909109A (zh) | 用於圖形處理的衝穿技術 | |
CN101441674A (zh) | 基于fpga的动态可重构系统的分片配置方法 | |
US9766827B1 (en) | Apparatus for data retention and supply noise mitigation using clamps | |
EP3230945B1 (en) | Thread dispatching for graphics processors | |
US20210089305A1 (en) | Instruction executing method and apparatus | |
CN113946368B (zh) | 一种基于risc-v指令集的三级流水线架构、处理器及数据处理方法 | |
US11615589B2 (en) | Method and graphics processing system for rendering one or more fragments having shader-dependent properties | |
US10409599B2 (en) | Decoding information about a group of instructions including a size of the group of instructions | |
CN109634667A (zh) | 一种基于时钟的双速流水线架构微处理器及其实现方法 | |
CN114661353A (zh) | 支持多线程的数据搬运装置及处理器 | |
CN108022201B (zh) | 一种三角形图元并行光栅化定序方法 | |
US11237994B2 (en) | Interrupt controller for controlling interrupts based on priorities of interrupts | |
CN113994363A (zh) | 用于波隙管理的方法和装置 | |
JP2001100997A (ja) | 並列処理プロセッサ | |
EP3238001A1 (en) | Apparatus and method for implementing power saving techniques when processing floating point value | |
EP4170538A1 (en) | Chip simulation method, apparatus and system, and device and storage medium | |
CN111095197A (zh) | 代码处理方法和设备 | |
CN102426516A (zh) | 基于两级片上缓存的可变长度指令集的预解码装置 | |
CN102681822B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |