CN107358978A - 一种兼容定时和性能计数的可配置装置 - Google Patents
一种兼容定时和性能计数的可配置装置 Download PDFInfo
- Publication number
- CN107358978A CN107358978A CN201710452893.7A CN201710452893A CN107358978A CN 107358978 A CN107358978 A CN 107358978A CN 201710452893 A CN201710452893 A CN 201710452893A CN 107358978 A CN107358978 A CN 107358978A
- Authority
- CN
- China
- Prior art keywords
- performance
- timing
- count
- counter
- performance count
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
Landscapes
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种兼容定时和性能计数的可配置装置,将定时计数和性能计数两种功能融合到一个装置中,使用同一个计数器,使用的时候通过配置寄存器来选择使用定时功能还是性能计数功能。考虑到实际应用中可能存在需要同时使用多个定时计数器/性能计数器的情况,可以将这中装置同时设置多套,每个功能单元都包含一个计数器,且都能工作在定时或者性能计数的模式下,定时/性能计数值是用户可以随时获取的,从而让芯片使用者通过该装置更加清楚直观的明确当前程序的性能,方便用户对应用程序的性能评估,操作次数更少和功耗都更低的应用程序,也可以用来配合某些指令的执行,获取到一些统计性的数据,例如数据筛选时给出满足条件的数据个数。
Description
【技术领域】
本发明属于数字电路技术领域,涉及一种兼容定时和性能计数的可配置装置。
【背景技术】
目前市场上的芯片一般都提供定时计数功能,也就是实现一定数量的时钟节拍的计数,即用户首先在定时器中设置好一个定时终点值,然后启动累加计数,在每个时钟节拍实现一次加1计数,当计数到终点值时停止计数,给出一个定时完成的指示信号。这种装置的缺点是不兼具性能计数的功能。
随着集成电路设计规模的加大,芯片内部包含的各种功能模块越来越多,而且芯片运行时,内部会执行各种各样的指令,在很多模块之间也存在着控制与被控制的复杂关系,为了让这些硬件动作发生的次数能够以一种直观的方式展现出来,需要提供一种专门的设备来采集这些动作,并对所采集到的动作发生的次数进行累加,也就是实现另一种计数功能,称之为性能计数,而且这些计数的值能够随时提供给用户查询,以便用户对当前的程序的性能有更清楚直观的把握,方便用户对应用程序的性能作评估,从而对程序的性能作进一步优化,设计出更加高效,操作次数和功耗都降低的应用程序。另外性能计数功能还可以用来配合指令的执行,例如需要从一大批数据中筛选出所有大于某个阈值的数,并将筛选出来的数据写入存储器,那么只需要将存储器的写有效信号作为性能计数源,使用性能计数器来统计访存的次数即可知道满足条件的数据的个数。目前市场上的芯片大多都不会直接提供这种具有实际意义的功能,而只提供了单一的定时计数功能。
【发明内容】
本发明的目的在于解决上述现有技术中的问题,提供一种兼容定时和性能计数的可配置装置,该装置将定时计数和性能计数两种功能融合到一个装置中,使用同一个计数器,以达到节约资源的目的,使用的时候通过配置寄存器来选择使用定时功能还是性能计数功能。
为达到上述目的,本发明采用以下技术方案予以实现:
一种兼容定时和性能计数的可配置装置,包括由若干功能单元组合成的功能单元组,每个功能单元设置有1个能够配置使用的计数器。
本发明进一步的改进在于:
功能单元还包括终点值寄存器ER、控制寄存器CR、操作寄存器OR以及累加寄存器AR;终点值寄存器ER、控制寄存器CR和操作寄存器OR的输出端均与计数器的输入端相连,计数器的输出端与累加寄存器AR的输入端相连;
终点值寄存器ER用来设置完成定时/性能计数时的终点值,;
控制寄存器CR为16bit位宽,其中包括功能模式选择字段、中断使能字段、循环定时次数字段、性能计数源选择字段以及2bit位宽的保留不用字段;
操作寄存器OR用于对定时/性能计数器进行多种操作,当对OR写入不同的值时,表示对定时/性能计数器进行不同的操作;
累加寄存器AR的值来自当前的累加计数值,且该值跟随计数器的值变化;
计数器包括Loader模块、相等比较模块、定时次数统计模块以及计数模块。
终点值寄存器ER为32bit位宽,写入的值代表定时/性能计数的终点值;终点值会在OR中写入装载操作的命令后被放到Loader模块中生效。
累加寄存器AR为32bit位宽,用户能够随时通过寄存器读写接口访问该寄存器的值,从而获取当前的计数值。
功能模式选择字段占1bit位宽,表示功能单元是实现定时功能还是性能计数功能;中断使能字段占1bit位宽,表示是否允许在定时计数/性能计数到达终点值时产生中断信号;循环定时次数字段占4bit位宽,用于表示需要实现的定时次数,该字段只在定时功能模式使用;性能计数源选择字段占8bit位宽,表示对当前事件进行性能计数,该字段只在选择性能计数功能模式的时候使用。
多种操作包括装载终点值、启动定时/性能计数、暂停定时/性能计数以及复位定时/性能计数器四种操作。
与现有技术相比,本发明具有以下有益效果:
本发明能够对芯片内部的性能计数源进行计数,帮助用户实现应用程序的性能评估,以便针对某些操作对应用程序的效率作进一步优化,设计出操作次数更少,功耗更低的应用程序,同时也能支持例如数据筛选等程序的执行。本发明所提供的兼容定时功能和性能计数功能的可配置装置将两种功能融合到一个装置中,使用上很灵活,同时节省了硬件资源。这种兼容两种功能的结构,能够通过配置相应的寄存器来实现多次循环计数,或者对所选择的需要关注的性能计数源进行事件采集,实现性能计数。
【附图说明】
图1为外层信号接口示意图。
图2为一个功能单元的结构示意图。
【具体实施方式】
下面结合附图对本发明做进一步详细描述:
参见图1,图1为本发明的外层信号接口,对各个接口的详细说明见表1
表1 各个接口信号详细说明
接口名称 | 位宽(bit) | 输入/输出方式 | 含义说明 |
Clock | 1 | 输入 | 时钟信号 |
Reset | 1 | 输入 | 复位信号,低电平复位有效 |
Write | 1 | 输入 | 写寄存器有效信号,高电平写有效 |
Read | 1 | 输入 | 读寄存器有效信号,高电平读有效 |
Address | 5 | 输入 | 当前读/写的寄存器地址,提供32个寄存器的地址 |
DataIn | 32 | 输入 | 写入寄存器的数据 |
Pf_Source | 255 | 输入 | 性能计数源,每一位代表一个计数源,共255个 |
DataOut | 32 | 输出 | 从寄存器读出的数据 |
IntOut | 8 | 输出 | 中断输出,每个功能单元对应一个中断输出,共8个 |
考虑到实际应用中可能存在需要同时使用多个定时计数器/性能计数器的情况,因此本发明设置了8个功能单元(也可以设置为其它数目),每个功能单元都包含一个计数器,且能分别工作在定时或者性能计数的模式下。使用本发明能够实现普通的定时功能,还能实现性能计数功能,定时/性能计数值是用户可以随时获取的,从而让芯片使用者通过该装置更加清楚直观的明确当前程序的性能,方便用户对应用程序的性能评估,从而对程序的性能作进一步优化,设计出更加高效,操作次数更少和功耗都更低的应用程序,也可以用来配合某些指令的执行,获取到一些统计性的数据,例如数据筛选时给出满足条件的数据个数。本发明完成性能计数操作时,需要外部针对性能事件提供1bit位宽的性能计数源。
本发明中设置的功能单元数量为8(也可以设置为其它数目),每个功能单元都对应设置了4个寄存器:终点值寄存器(ER),控制寄存器(CR),操作寄存器(OR),累加寄存器(AR)。这些寄存器中只有AR为只读模式,其他三个寄存器都为可读可写模式。因此本发明中总共包含32个寄存器,对寄存器进行读/写操作时,读写有效信号分别由Read和Write信号提供,地址信号由5bit的Address信号提供。
本发明的一个功能单元的示意图如图2所示。每个功能单元都可以独立完成定时或者性能计数的功能,可以用多个这样的功能单元组成功能单元组,以满足同时使用多个功能单元的需要。
ER采用32bit位宽,对该寄存器写入的值代表定时/性能计数的终点值。该终点值会在OR中写入装载操作的命令后被放到Loader中生效。如果使用之前不进行装载终点值的操作,则Loader中默认生效的终点值为0XFFFFFFFF。
CR采用16bit位宽,其中有2bit保留字段。CR中包括四个字段,每个字段的位宽及说明如表2所示。
表2 各控制字段的位宽及说明
CR采用4bit位宽,对CR写入不同的值代表不同的操作。本发明中,CR的编码及其所代表的操作见表3所示,每种操作所对应的编码也可以是其它编码,只需要各个编码之间互不相同即可。每次对CR执行一次写操作,只要写入的值为编码当中的某一个值,就会执行一次且只执行一次编码所对应的操作。
表3 CR的编码与对应的操作
编码 | 操作 |
0001 | 装载终点值 |
0010 | 启动定时/性能计数 |
0011 | 暂停定时/性能计数 |
0100 | 复位定时/性能计数 |
装载终点值的操作表示使能ER中的值,将ER中的值装载到Loader中使其生效,如果在使用本发明之前不进行装载终点值的操作而直接启动定时/性能计数,则默认的终点值为ER所能表示的最大终点值。
启动定时/性能计数的操作表示启动计数器开始工作。
暂停定时/性能计数的操作表示计数器暂停工作,定时的时候加1操作停止,性能计数的时候即便性能计数源有效,也不会执行加1操作。
复位定时/性能计数的操作表示将计数器进行清零操作,同时停止定时/性能计数。
AR为32bit位宽,用户可以随时通过寄存器读写接口访问该寄存器的值,从而获取当前的计数值。
当CR中功能模式选择字段配置为定时功能时,计数使能信号恒为“1”,实现定时功能,计数器在每个时钟信号的上升沿加1,并将累加结果与终点值进行比较,如果相等就给出一个时钟周期高电平的相等指示信号,表示计数器的值到达终点值,完成一次定时计数。这时将相等指示信号与CR的中断使能配置字段进行与操作,如果中断使能,则产生一个中断信号,否则不产生。中断信号从IntOut端口输出,主要用于向外部提示完成了一次定时操作,如果循环定时次数还没有到达指定的次数,就继续进行下一次定时操作。当CR中循环定时次数字段配置为0XFF时,表示无限循环定时。
当CR中功能模式选择字段配置性能计数功能时,实现性能计数功能,性能计数源由CR中的性能计数源选择字段决定,当采集到性能计数源有效时,计数器实现加1操作,并将累加结果与终点值进行比较,如果相等就给出一个时钟周期高电平的相等指示信号,表示计数器的值到达终点值,完成一次性能计数。这时将相等指示信号与CR的中断使能配置字段进行与操作,如果中断使能,则产生一个中断信号,否则不产生。中断信号从IntOut端口输出,主要用于向外部提示性能计数源所代表的操作到达了指定的数目。使用性能计数功能时,如果需要随时考察性能计数源所代表的操作发生的次数,可以不进行性能计数终点值装载而采用最大终点值,计数器就会对性能计数源实现持续累加,一直到计数器累加值到达默认的最大终点值,不会因为到达了设置的较小终点值而停止性能计数,这样可以随时去读取AR中的值,以获取当前的性能参数。
本发明的原理及工作过程:
首先设计好单个功能单元,然后利用多个功能单元组合成功能单元组,以满足需要同时使用多个功能单元的情况。
针对每个功能单元设计一个计数器,计数器有一个输入的计数使能信号,当使能信号有效(本说明中假设高电平有效,也可以采用低电平有效),计数器在每个时钟周期实现一次加1计数。
针对每个功能单元设置三个寄存器:终点值寄存器(ER),控制寄存器(CR),操作寄存器(OR)。
ER用来设置完成定时/性能计数时的终点值,本发明中设置的ER为32bit位宽(也可以根据需要设置为其它位宽)。当定时/性能计数达到所设置的终点值时,表示完成一次定时/性能计数。在本发明中使用定时/性能计数功能之前可以不设置这个终点值,这时默认的终点值为ER所能表示的最大值0XFFFFFFFF。
CR位宽为16bit(也可以根据需要设置为其它位宽),其中有2bit为保留不用的字段,其中包括功能模式选择、中断使能、循环定时次数、性能计数源选择四个字段。
功能模式选择字段占1bit位宽,表示功能单元是实现定时功能还是性能计数功能。中断使能字段占1bit位宽,表示是否允许在定时计数/性能计数到达终点值时产生中断信号。循环定时次数字段占4bit位宽,用于表示需要实现的定时次数,该字段只在定时功能模式使用。当启动定时计数功能时,计数器从0开始,逐次加1,到达计数终点值时表示完成一次计数。完成一次计数后,定时器会自动开始下一次计数,一直到完成循环定时次数所规定的定时次数为止。性能计数源选择字段占8bit位宽,表示对哪一个事件进行性能计数,该字段只在选择性能计数功能模式的时候使用。本发明中性能计数源选择字段位宽为8bit,因此总共能够容纳256个性能计数源。
OR用于对定时/性能计数器进行多种灵活的操作,当对OR写入不同的值时,表示对定时/性能计数器进行不同的操作。本发明中共设置了装载终点值、启动定时/性能计数、暂停定时/性能计数、复位定时/性能计数器四种操作。
针对每个功能单元设置一个累加寄存器(AR),其值来自当前的累加计数值,AR的值跟随计数器的值变化。当功能单元配置为定时功能的时候,计数器一旦启动,在每个时钟周期加1,一直到计数器的值到达计数终点值。当功能单元配置为性能计数功能的时候,计数器一旦启动,就会在每个时钟周期采样一次所选择的性能计数源,当性能计数源有效的时候,表示对应的事件发生,这时计数器加1,直到计数器的值到达计数终点值。如果启动累加之前不对终点值进行设置,则默认的计数终点值为ER所能表示的最大值。累加过程中可以随时通过读取AR的值来获取计数器的值。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (6)
1.一种兼容定时和性能计数的可配置装置,其特征在于,包括由若干功能单元组合成的功能单元组,每个功能单元设置有1个能够配置使用的计数器。
2.根据权利要求1所述的兼容定时和性能计数的可配置装置,其特征在于,功能单元还包括终点值寄存器ER、控制寄存器CR、操作寄存器OR以及累加寄存器AR;终点值寄存器ER、控制寄存器CR和操作寄存器OR的输出端均与计数器的输入端相连,计数器的输出端与累加寄存器AR的输入端相连;
终点值寄存器ER用来设置完成定时/性能计数时的终点值,;
控制寄存器CR为16bit位宽,其中包括功能模式选择字段、中断使能字段、循环定时次数字段、性能计数源选择字段以及2bit位宽的保留不用字段;
操作寄存器OR用于对定时/性能计数器进行多种操作,当对OR写入不同的值时,表示对定时/性能计数器进行不同的操作;
累加寄存器AR的值来自当前的累加计数值,且该值跟随计数器的值变化;
计数器包括Loader模块、相等比较模块、定时次数统计模块以及计数模块。
3.根据权利要求2所述的兼容定时和性能计数的可配置装置,其特征在于,终点值寄存器ER为32bit位宽,写入的值代表定时/性能计数的终点值;终点值会在OR中写入装载操作的命令后被放到Loader模块中生效。
4.根据权利要求2所述的兼容定时和性能计数的可配置装置,其特征在于,累加寄存器AR为32bit位宽,用户能够随时通过寄存器读写接口访问该寄存器的值,从而获取当前的计数值。
5.根据权利要求2所述的兼容定时和性能计数的可配置装置,其特征在于,功能模式选择字段占1bit位宽,表示功能单元是实现定时功能还是性能计数功能;中断使能字段占1bit位宽,表示是否允许在定时计数/性能计数到达终点值时产生中断信号;循环定时次数字段占4bit位宽,用于表示需要实现的定时次数,该字段只在定时功能模式使用;性能计数源选择字段占8bit位宽,表示对当前事件进行性能计数,该字段只在选择性能计数功能模式的时候使用。
6.根据权利要求2所述的兼容定时和性能计数的可配置装置,其特征在于,多种操作包括装载终点值、启动定时/性能计数、暂停定时/性能计数以及复位定时/性能计数器四种操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710452893.7A CN107358978B (zh) | 2017-06-15 | 2017-06-15 | 一种兼容定时和性能计数的可配置装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710452893.7A CN107358978B (zh) | 2017-06-15 | 2017-06-15 | 一种兼容定时和性能计数的可配置装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107358978A true CN107358978A (zh) | 2017-11-17 |
CN107358978B CN107358978B (zh) | 2020-06-23 |
Family
ID=60272878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710452893.7A Active CN107358978B (zh) | 2017-06-15 | 2017-06-15 | 一种兼容定时和性能计数的可配置装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107358978B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847970A (zh) * | 2010-04-29 | 2010-09-29 | 复旦大学 | 一种功能可重构的数字系统 |
CN101859289A (zh) * | 2010-06-11 | 2010-10-13 | 华中科技大学 | 一种片外存储器访问控制器 |
CN202854868U (zh) * | 2012-10-13 | 2013-04-03 | 上海胜军电子电器制造有限公司 | 一种电子计数计时器 |
CN105302226A (zh) * | 2015-10-30 | 2016-02-03 | 北京时代民芯科技有限公司 | 一种基于apb总线的多功能模式定时器电路 |
-
2017
- 2017-06-15 CN CN201710452893.7A patent/CN107358978B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847970A (zh) * | 2010-04-29 | 2010-09-29 | 复旦大学 | 一种功能可重构的数字系统 |
CN101859289A (zh) * | 2010-06-11 | 2010-10-13 | 华中科技大学 | 一种片外存储器访问控制器 |
CN202854868U (zh) * | 2012-10-13 | 2013-04-03 | 上海胜军电子电器制造有限公司 | 一种电子计数计时器 |
CN105302226A (zh) * | 2015-10-30 | 2016-02-03 | 北京时代民芯科技有限公司 | 一种基于apb总线的多功能模式定时器电路 |
Non-Patent Citations (1)
Title |
---|
周兴华,倪敏娜: "《手把手教你学ARM Cortex-M0 基于LPC11XX系列》", 31 January 2016 * |
Also Published As
Publication number | Publication date |
---|---|
CN107358978B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914363B (zh) | 一种内存监控方法及相关装置 | |
CN105388805B (zh) | 基于spi总线的测量控制系统 | |
CN207625572U (zh) | 一种用于以太网模式配置分时复用接口电路 | |
CN104765701B (zh) | 数据访问方法及设备 | |
CN108449109A (zh) | 一种射频前端器件从控接口装置 | |
CN106126384A (zh) | 一种采集性能监视单元pmu事件的方法及装置 | |
CN104571263A (zh) | 一种片上定时器 | |
CN101373891A (zh) | 一种以32位dsp为核心的微机保护装置的主板 | |
CN103077080B (zh) | 基于高性能平台的并行程序性能数据采集方法及装置 | |
CN109375146B (zh) | 一种用电数据的补采方法、系统及终端设备 | |
CN109857190A (zh) | 一种时钟信号处理方法、装置、设备及可读存储介质 | |
CN110012181A (zh) | 定时控制器、包括其的调制解调器芯片和集成电路 | |
CN104424142B (zh) | 一种多核处理器系统中访问共享资源的方法与装置 | |
CN107358978A (zh) | 一种兼容定时和性能计数的可配置装置 | |
CN109376051A (zh) | 检测移动设备应用程序功耗的方法及终端设备 | |
CN203250312U (zh) | 一种接口形式可扩展的通用核心处理子板 | |
CN201774507U (zh) | 多路数字脉冲发生器 | |
CN201021996Y (zh) | 一种8位复杂指令集计算机微控制器 | |
CN106445854A (zh) | 支持串行接口透明传输的方法及系统 | |
CN206757593U (zh) | 用于集中器的看门狗电路 | |
CN207503215U (zh) | 一种多串口集成装置 | |
CN206096990U (zh) | 单火线取电芯片 | |
CN107590086A (zh) | 一种通讯连接装置及方法、通讯单板 | |
CN106325453A (zh) | 一种输出电流的配置方法及终端 | |
CN106484640A (zh) | 一种基于fpga和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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |