CN113589882A - 时钟频率的调整装置及相关产品 - Google Patents
时钟频率的调整装置及相关产品 Download PDFInfo
- Publication number
- CN113589882A CN113589882A CN202010365744.9A CN202010365744A CN113589882A CN 113589882 A CN113589882 A CN 113589882A CN 202010365744 A CN202010365744 A CN 202010365744A CN 113589882 A CN113589882 A CN 113589882A
- Authority
- CN
- China
- Prior art keywords
- clock
- index value
- frequency
- module
- signal
- 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
- 238000012544 monitoring process Methods 0.000 claims abstract description 50
- 238000013473 artificial intelligence Methods 0.000 abstract description 30
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 26
- 230000015654 memory Effects 0.000 description 25
- 238000000034 method Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013021 overheating Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Power Sources (AREA)
Abstract
本公开涉及一种时钟频率的调整装置及相关产品。所述产品包括存储器件、接口装置和控制器件以及人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。本公开的调整装置及相关产品可以实现时钟频率的细粒度调整。
Description
技术领域
本公开涉及芯片时钟管理技术领域,特别是涉及一种时钟频率的调整装置及相关产品。
背景技术
近年来,人工智能技术的飞速发展为信息产业带来了翻天覆地的变化。基于深度学习算法的人工智能云端服务器芯片,即智能云服务器芯片,能够更快的完成数据采集、数据处理、分类预测等任务,实现了超高效的训练和推理功能。这些特性对硬件的算力提出了极高的要求,算力的提高相应的带来了芯片功耗的大幅提高,因此,控制芯片的功耗成为了当务之急。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现细粒度调整时钟频率的调整装置以及相关产品。
根据本公开的一方面,提供了一种时钟频率的调整装置,所述调整装置包括输入端,所述输入端用于接收输入时钟信号,
所述调整装置内设置有查询表,所述调整装置用于根据目标索引值以及查询表确定所述目标索引值对应的时钟使能信号;
所述调整装置还用于根据所述时钟使能信号对所述输入时钟信号进行调整得到输出时钟信号。
根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括如上所述的调整装置。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括如上所述的人工智能芯片。
根据本公开的另一方面,提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如上所述的人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控。
本公开各实施方式的时钟频率的调整装置连接输入时钟信号、内置有查询表,查询表中包括索引值以及索引值对应的时钟使能信号,通过接收目标索引值,并根据查询表确定目标索引值对应的时钟使能信号,通过时钟使能信号将输入时钟信号的当前频率调整成目标索引值对应的时钟频率,实现了时钟频率的细粒度调整,并且无需额外增加PLL设计和PR实现。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出相关技术中一示例的切换频率的示意图;
图2示出根据本公开一实施例的各信号的时序图;
图3a示出根据本公开一实施例的时钟频率的调整装置的框图;
图3b示出根据本公开一实施例的调整时钟频率的时序图;
图4a示出根据本公开一实施例的时钟频率的调整装置的框图;
图4b示出根据本公开一实施例的调整时钟频率的时序图;
图5示出根据本公开一实施例的一次时钟频率调整过程的流程图;
图6示出根据本公开一实施例的时钟频率的调整装置的框图;
图7a示出根据本公开一实施例的时钟频率的调整装置的框图;
图7b示出根据本公开一实施例的时钟频率的调整装置的框图;
图8示出根据本公开一调整装置的示例的框图;
图9示出根据本公开实施例的板卡的结构框图;
图10示出根据本公开实施例的一种电子设备的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
芯片的动态功耗与时钟频率成正比,因此,可以通过降低芯片的时钟频率来降低芯片的功耗。目前,通过切换芯片的时钟频率来实现调整芯片的功耗。图1示出相关技术中一示例的切换频率的示意图,如图1所示,假设时钟源包含128MHz、196MHz、256MHz、480MHz和800MHz,软件通过寄存器配置select信号来实现频率切换,输出clk_out作为时钟信号给下游模块,图1所示的切换频率的示例可以达到通过降低时钟频率来降低功耗的目的。
上述切换频率的方式主要存在的技术问题是可选时钟频率较少,无法对芯片的时钟频率进行细粒度调整。如果要通过图1的方式引入更多的时钟源达到细粒度调整的目的,则会增加PLL(phase locked loop,锁相环)设计的复杂度以及PR(place and route)的复杂度。
为了解决上述技术问题,本公开提供了一种时钟频率的调整装置。该时钟频率的调整装置连接输入时钟信号、内置有查询表,查询表中包括索引值以及索引值对应的时钟使能信号,通过接收目标索引值,并根据查询表确定目标索引值对应的时钟使能信号,通过时钟使能信号将输入时钟信号的当前频率调整成目标索引值对应的时钟频率得到输出时钟信号,实现了时钟频率的细粒度调整,并且无需额外增加PLL设计和PR实现。
本公开的时钟频率的调整装置可以应用于人工智能芯片中,也可以应用于其他类型的芯片中,本公开对此不作限定。
在一种可能的实现方式中,所述调整装置包括控制端、输入端和输出端,所述调整装置的控制端用于接收目标索引值、输入端用于接收输入时钟信号,也就是说,所述调整装置通过控制端接收目标索引值、通过输入端接收输入时钟信号。
所述调整装置内设置有查询表,所述调整装置用于根据所述目标索引值以及查询表确定所述目标索引值对应的时钟使能信号;
所述调整装置还用于根据所述时钟使能信号对所述输入时钟信号进行调整得到输出时钟信号,并通过所述输出端输出所述输出时钟信号。
目标索引值可以是指根据需求通过外部输入设备输入的、用于表示与调整的目标频率相关的值,外部输入设备可以是指键盘、鼠标等具有输入功能的设备。在一种可能的实现方式中,控制端可以采用APB(Advanced Peripheral Bus,外围总线)实现,外部输入设备可以与控制端连接,通过控制端将目标索引值输入到调整装置。
输入时钟信号作为输出时钟信号的基础,也就是说,通过时钟使能信号对输入时钟信号进行调整得到输出时钟信号。
在一种可能的实现方式中,上述的时钟使能信号可以是高低电平信号,高电平可以用“1”表示,低电平可以用“0”表示,因此,通过时钟使能信号对输入时钟信号进行控制,可以实现输入时钟信号频率的调整。通过时钟使能信号对输入时钟信号进行控制的方式可以是对输入时钟信号进行抹沿,抹沿可以是指当时钟使能信号为低电平时,输出时钟信号为低电平,也就是将输入时钟信号中的上升沿和下降沿“抹掉”。
图2示出根据本公开一实施例的各信号的时序图。图2中Clock_in可以表示输入时钟信号,Clock_en可以表示时钟使能信号,Clock_out可以表示输出时钟信号,图2示出的示例中输入时钟信号包括8个时钟沿,时钟使能信号与8个时钟沿对应的电平信号为11011011,因此,输出时钟信号的第3和6个时钟沿被抹掉,输出时钟信号如图2所示,输出时钟信号的频率比输入时钟信号的频率低。
不同的索引值可以对应不同的时钟使能信号,通过不同的时钟使能信号可以将输出时钟信号调整到不同的频率。根据上述示例,查询表中记录的可以是索引值和索引值对应的时钟使能信号的第一对应关系。
在一种可能的实现方式中,可以根据具体的调整需求(例如,调整粒度)设置查询表中的索引值以及索引值对应的时钟使能信号,也就是说,可以根据具体的应用场景和调整需求预先配置查询表中的第一对应关系,满足实际调整粒度的需求。因此,根据本公开的时钟频率的调整装置,无需额外增加PLL设计和PR实现,即可实现时钟频率的细粒度调整。
表1示出根据本公开一实施例的查询表的示例,结合表1对本公开的时钟频率的调整装置进行说明,用户通过外部输入设备输入目标索引值,例如输入的目标索引值为“1/8”,调整装置通过控制端接收到目标索引值后,查找查询表可以确定目标索引值“1/8”对应的时钟使能信号为“00000001”,根据时钟使能信号对输入时钟信号进行调整得到的输出时钟信号的频率为输入时钟信号的频率的1/8。
表1查询表的示例
索引值 | 时钟使能信号(串行) |
8/8 | 8个时钟沿有效---11111111 |
7/8 | 7个时钟沿有效---01111111 |
6/8 | 6个时钟沿有效---01110111 |
5/8 | 5个时钟沿有效---01010111 |
4/8 | 4个时钟沿有效---01010101 |
3/8 | 3个时钟沿有效---01010001 |
2/8 | 2个时钟沿有效---00010001 |
1/8 | 1个时钟沿有效---00000001 |
需要说明的是,上述表1中索引值对应的时钟使能信号仅仅是一种示例,不以任何方式限制本公开,比如说,4/8对应的时钟使能信号还可以是10101010,等等。
在一种可能的实现方式中,所述查询表包括第一子查询表和第二子查询表,所述调整装置用于根据所述目标索引值和所述第一子查询表确定所述目标索引值对应的控制信号,根据所述控制信号和所述第二子查询表确定所述时钟使能信号。
本公开的时钟频率的调整装置可以使用每4bit控制信号控制8个时钟沿,一个索引值可以对应一个或多个4bit控制信号,比如说一个索引值对应8个4bit控制信号,也就是32bit控制信号,这样,就可以实现更细粒度的时钟频率的调整。
其中,第一子查询表可以记录索引值与控制信号之间的第二对应关系,第二子查询表可以记录控制信号和时钟使能信号之间的第三对应关系。调整装置用于根据所述目标索引值和所述第一子查询表确定所述目标索引值对应的控制信号,根据所述控制信号和所述第二子查询表确定时钟使能信号。
表2示出根据本公开一实施例的第一子查询表的示例,表3示出根据本公开一实施例的第二子查询表的示例。
表2第一子查询表
表3第二子查询表
4bit控制信号 | 时钟使能信号(串行) |
0000 | 8个时钟沿有效---11111111 |
0001 | 7个时钟沿有效---01111111 |
0010 | 6个时钟沿有效---01110111 |
0011 | 5个时钟沿有效---01010111 |
0100 | 4个时钟沿有效---01010101 |
0101 | 3个时钟沿有效---01010001 |
0110 | 2个时钟沿有效---00010001 |
0111 | 1个时钟沿有效---00000001 |
1000 | 0个时钟沿有效---00000000 |
这样,所述调整装置根据目标索引值和所述第一子查询表中的第二对应关系可以确定目标索引值对应的控制信号,然后根据所述目标索引值对应的控制信号和所述第二子查询表中的第三对应关系可以确定目标索引值对应的时钟使能信号。然后进行进一步的调整过程,不再赘述。
根据输入的目标索引值、结合第一子查询表以及第二子查询表可以确定输入的目标索引值对应的时钟使能信号,可以实现更细粒度的调整,且无需额外增加PLL设计和PR实现。
需要说明的是,采用4bit控制信号控制8个时钟沿、一个索引值对应的控制信号的个数以及表1和表2仅仅是本公开的一个示例,不以任何方式限制本公开。本领域技术人员也可以根据实际应用场景的需求设置控制信号的位数、控制信号控制的时钟沿的个数以及一个索引值对应的控制信号的个数之间的关系。
在上述实施方式中,根据一个目标索引值可以确定多个对应的控制信号,以及对应的多个时钟使能信号,一个目标索引值对应的多个时钟使能信号之间是并行的关系,本公开的调整装置还可以将并行的多个时钟使能信号转换为串行的时钟使能信号。
假如目标索引值为32/64,那么,根据表2可以确定对应的控制信号为0100、0100、0100、0100、0100、0100、0100、0100,根据表3确定对应的并行的多个时钟使能信号为01010101、01010101、01010101、01010101、01010101、01010101、01010101、01010101,调整装置将并行的多个时钟使能信号转换为串行的时钟使能信号(目标索引值对应的时钟使能信号)可以得到0101010101010101010101010101010101010101010101010101010101010101。
在一种可能的实现方式中,还可以通过控制端动态修改上述的第一子查询表和第二子查询表,例如,通过外部输入设备对第一子查询表和第二子查询表进行重新配置,以满足实际的调整需求。
在一种可能的实现方式中,所述调整装置用于根据所述目标索引值和当前索引值在所述第一子查询表中的存储位置,按顺序确定所述第一子查询表中位于所述目标索引值和当前索引值之间的索引值对应的控制信号,并按顺序确定所述控制信号对应的时钟使能信号,依所述顺序通过所述时钟使能信号对输入时钟信号进行调整得到输出时钟信号,其中,所述顺序指从当前索引值到目标索引值的顺序。
其中,当前索引值可以是输入目标索引值之前一次调整输出时钟信号频率时输入的索引值,也就是当前输入的目标索引值之前一次输入的目标索引值。
本公开的第一子查询表中可以按一定的顺序存储第二对应关系,比如说,按照索引值从大到小或者从小到大的顺序存储,如上述表2所示,按照索引值从大到小的顺序存储第二对应关系。
在一种可能的实现方式中,本公开的调整装置可以根据输入的目标索引值和当前索引值的比较结果确定是升频还是降频。根据目标索引值和当前索引值的大小关系可以确定本次对输入时钟信号频率的调整相对于上一次调整完的频率是升频还是降频。
根据第一子查询表中存储的顺序以及上述比较结果可以确定从当前索引值到目标索引值的访问查询表的顺序。举例来说,若如表2所示,第一子查询表按照从大到小的顺序存储第二对应关系,当前索引值大于目标索引值,那么本次调整是降频,调整装置可以从当前索引值开始向下按顺序依次确定索引值对应的控制信号,直到确定到目标索引值的控制信号。为了便于区分,在本申请的实施例中可以将位于当前索引值和目标索引值之间的索引值对应的控制信号称为第一控制信号。还按照上述顺序,调整装置可以根据第二查询表确定第一控制信号对应的时钟使能信号,然后按照上述顺序通过所述时钟使能信号对输入时钟信号进行调整得到输出时钟信号。这样,可以逐渐将输入时钟信号的频率调整到目标索引值对应的时钟频率。
在一种可能的实现方式中,所述调整装置内设置有时钟模块和频率调整模块,所述频率调整模块用于根据所述目标索引值以及查询表(或者说根据第一子查询表和第二子查询表)确定所述目标索引值对应的时钟使能信号;所述时钟模块通过所述输入端接收所述输入时钟信号,并在时钟使能信号的控制下,根据所述输入时钟信号得到所述输出时钟信号。
在一种可能的实现方式中,所述时钟模块包括使能端,所述频率调整模块可以将确定的时钟使能信号输出到所述时钟模块的使能端。
图3a示出根据本公开一实施例的时钟频率的调整装置的框图。如图3a所示,本公开的时钟频率的调整装置1可以包括输入端11、控制端12和输出端13,其中输入端11可以用于接收输入时钟信号,控制端12可以接收输入的目标索引值,输出端13可以输出调整后的时钟信号。
调整装置内可以设置有查询表14、频率调整模块15和时钟模块16,查询表14中可以记录有索引值和对应的时钟使能信号之间的第一对应关系,其中,在一种可能的实现方式中,查询表14可以包括如上所述的第一子查询表和第二子查询表。
如图3a所示,频率调整模块15可以连接控制端12、查询表14和时钟模块16的使能端。这样,频率调整模块15可以从控制端12接收输入的目标索引值,频率调整模块15用于根据输入的目标索引值以及查询表14中的第一对应关系确定输入的目标索引值对应的时钟使能信号,或者,频率调整模块15可以根据目标索引值、以及第一子查询表和第二子查询表确定目标索引值对应的时钟使能信号,频率调整模块15还可以将时钟使能信号输出到时钟模块16的使能端。时钟模块16通过所述输入端接收所述输入时钟信号,并在时钟使能信号的控制下,根据所述输入时钟信号得到所述输出时钟信号,并通过输出端13输出所述输出时钟信号。
在一种可能的实现方式中,上述频率调整模块15可以采用由软件触发的FSM(finite state machine,有限状态机)实现,时钟模块16可以采用CG(clock gating,门控时钟)实现,频率调整模块15输出时钟使能信号到CG的使能端,时钟模块16可以在时钟使能信号的控制下根据输入时钟信号输出调整后的输出时钟信号。
图3b示出根据本公开一实施例的调整时钟频率的时序图。如图3b所示,图3b中Clock_in可以表示输入时钟信号,Clock_en可以表示时钟使能信号,Clock_out可以表示输出时钟信号,图3b示出的示例中输入时钟信号包括8个时钟沿。假设外部输入的目标索引值为4/8,与目标索引值对应的时钟使能信号为01010101,因此,输出时钟信号的第1、3、5和7个时钟沿被抹掉,输出时钟信号如图3b所示,输出时钟信号的频率比输入时钟信号的频率低一半。
在一种可能的实现方式中,如图3a所示,调整装置还接收系统时钟信号Clock_in_s,系统时钟信号和输入时钟信号的频率可以相同。调整装置可以根据系统时钟信号控制输出的时钟使能信号的频率、步进时间(下文中介绍)的长度等等。在本公开所有实施方式的调整装置中,都可以采用该方式实现对输入时钟信号的频率的调整。
在一种可能的实现方式中,所述调整装置内设置有一个或两个以上时钟模块,所述调整装置(频率调整模块)还用于接收调整请求,例如可以通过所述控制端接收调整请求,所述调整请求携带有所述目标索引值和时钟模块的标识信息。
在接收到调整请求后,频率调整模块可以采用上文中的实施方式确定目标索引值对应的时钟使能信号。频率调整模块用于将所述时钟使能信号输出到所述标识信息对应的时钟模块的使能端,所述标识信息对应的时钟模块在所述时钟使能信号的控制下根据所述输入时钟信号得到所述输出时钟信号,并通过所述输出端输出所述输出时钟信号。
在一些应用场景下,调整装置可能在下游挂载多个(两个以上)模块,多个下游挂载模块可以接受调整装置调整后的输出时钟信号,多个下游挂载模块的时钟信号的频率可能相同、也可能不同,针对这种应用场景,可以在本公开的调整装置中设置多个时钟模块,也就是说,本公开的调整装置可以包括两个以上时钟模块,这样,可以通过不同的时钟使能信号分别对每一个时钟模块进行控制,使得时钟模块可以输出频率相同或者不同的时钟信号。
上述的调整请求也可以是通过外部输入设备输入的、用于表示与调整的目标时钟模块和目标频率相关的信息。调整的目标时钟模块可以是指要对该时钟模块的输出时钟信号的频率进行调整,与调整的目标时钟模块相关的信息可以是上文所述的时钟模块的标识信息,举例来说,在调整装置内设置有两个以上时钟模块的情况下,为了区分不同的时钟模块,每个时钟模块都具有唯一标识该时钟模块的身份的标识信息,标识信息可以是数字、字母等组成的信息,例如,每个时钟模块可以设置不同的序号。目标频率相关的信息可以是上文所述的目标索引值。
频率调整模块可以接收调整请求,例如通过控制端接收。频率调整模块在通过控制端接收到调整请求后,可以解析调整请求得到目标索引值和时钟模块的标识信息,根据所述标识信息可以确定目标时钟模块(也就是标识信息对应的时钟模块)。频率调整模块仍然可以根据查询表(或者第一子查询表和第二子查询表)确定目标索引值对应的时钟使能信号,将时钟使能信号输出到目标时钟模块的使能端,目标时钟模块可以在所述时钟使能信号的控制下根据所述输入时钟信号得到所述输出时钟信号,并通过所述输出端输出所述输出时钟信号。需要说明的是,在该示例中,调整装置可以包括多个输出端,每个输出端可以一端连接一个时钟模块、另一端连接一个下游挂载模块,目标时钟模块可以通过连接的输出端输出所述输出时钟信号。
图4a示出根据本公开一实施例的时钟频率的调整装置的框图。在图4a所示的示例中,调整装置1可以包括4个时钟模块16,每个时钟模块16包括使能端、时钟信号输入端以及输出端,每个时钟模块16从时钟信号输入端接收外部输入的输入时钟信号Clock_in,在图4a所示的示例中,每个时钟模块可以包括时钟信号输入端、使能端、和输出端,时钟模块16的输出端也是调整装置的输出端,也就是说,时钟模块16的输出端组成了调整装置的输出端,每个时钟模块16的使能端连接频率调整模块15的输出端。需要说明的是,图4a中包括4个时钟模块仅仅是本公开的一个示例,不以任何方式限制本公开。
图4b示出根据本公开一实施例的调整时钟频率的时序图。在包括多个时钟模块时,在输入目标索引值的同时还可以输入要调整的目标时钟模块的标识信息,比如要调整的时钟模块的序号等,示例性的,用户可以通过输入设备输入调整请求,调整请求中可以携带有目标索引值、目标时钟模块的标识信息等。比如说,频率调整模块接收到调整请求时,可以解析调整请求得到目标索引值可以为1/8、目标时钟模块的标识信息可以为“4”,根据查询表(表1)可以确定目标索引值1/8对应的时钟使能信号为00000001。如图4b所示,图4b中Clock_in可以表示输入时钟信号,Clock_en4可以表示确定的时钟模块4的时钟使能信号,Clock_out4可以表示时钟模块4的输出时钟信号,图4b示出的示例中输入时钟信号包括8个时钟沿,输出时钟信号如图4b所示包括第8个时钟沿,时钟模块4的输出时钟信号的频率为输入时钟信号的频率的1/8。
在另一种可能的实现方式中,以每4bit控制信号控制8个时钟沿、一个索引值对应8个4bit控制信号为例,结合表2和表3对本公开的调整方式进行说明:
在调整装置通过控制端接收到外部输入的调整请求时,可以解析调整请求得到目标索引值、目标时钟模块的标识信息等,然后如表2所示,可以根据第一子查询表查找目标索引值对应的控制信号(8*4bit),假设索引值为64/64,那么如表2所示,索引值64/64对应的每一个4bit控制信号都为0000,根据第二子查询表(如表3所示)可以确定8*4bit控制信号对应的时钟使能信号,频率调整模块15可以向上述标识信息对应的目标时钟模块连续输出8个4bit的控制信号0000对应的时钟使能信号,时钟模块可以根据时钟使能信号的控制输出时钟信号。
如上所述的示例,一个目标索引值对应并行的多个时钟使能信号,所述频率调整模块还可以用于将一个目标索引值对应的并行的多个时钟使能信号串行输出到时钟模块的使能端。
在一种可能的实现方式中,所述频率调整模块用于根据所述目标索引值和当前索引值在所述第一子查询表中的存储位置,按顺序确定所述第一子查询表中位于所述目标索引值和当前索引值之间的索引值对应的控制信号,并按顺序确定所述控制信号对应的时钟使能信号,依所述顺序输出所述时钟使能信号到标识信息对应的时钟模块的使能端,其中,所述顺序指从当前索引值到目标索引值的顺序。
本公开的第一子查询表中可以按一定的顺序存储第二对应关系,比如说,按照索引值从大到小或者从小到大的顺序存储,如上述表2所示,按照索引值从大到小的顺序存储第二对应关系。
在一种可能的实现方式中,本公开的调整装置(频率调整模块15)可以根据输入的目标索引值和当前索引值的比较结果确定是升频还是降频。其中,当前索引值可以是输入目标索引值之前一次调整输出时钟信号频率时输入的索引值,也就是当前输入的目标索引值之前一次输入的目标索引值。因此,根据目标索引值和当前索引值的大小关系可以确定本次对输入时钟信号频率的调整相对于上一次调整完的频率是升频还是降频。
根据第一子查询表中存储的顺序以及上述比较结果可以确定从当前索引值到目标索引值的访问查询表的顺序。举例来说,若如表2所示,第一子查询表按照从大到小的顺序存储第二对应关系,当前索引值大于目标索引值,那么本次调整是降频,可以从当前索引值开始向下按顺序依次确定索引值对应的控制信号,直到确定到目标索引值的控制信号,为了便于区分可以将位于当前索引值和目标索引值之间的索引值对应的控制信号称为第一控制信号。还按照上述顺序,根据第二查询表可以确定第一控制信号对应的时钟使能信号,然后按照上述顺序依次将时钟使能信号输出到目标时钟模块的使能端。这样,可以逐渐将输出时钟信号的频率调整到目标索引值对应的时钟频率。
如果将从当前索引值对应的时钟频率调整到目标索引值对应的时钟频率中间经过的调整次数称为步进次数,那么,预先配置第一查询表相当于预先配置了调频的步进次数,因此,可以通过配置第一查询表调整不同频率之间调整时的步进次数,也就是说通过软件修改第一查询表的配置来调整不同频率之间调整时的步进次数。每一次调整停留的时间(每一次调整经过的时钟周期数目或者叫步进时间)也可以预先配置,同样的,通过软件修改配置也可以调整步进时间,本公开对此不作限定。
图5示出根据本公开一实施例的一次时钟频率调整过程的流程图。如图5所示,在接收到目标索引值之后,在步骤S11中,可以先比较目标索引值与当前索引值是否相等,如果相等,那么不需要对输入时钟信号的频率进行调节,结束本次调整过程。如果目标索引值不等于当前索引值,那么需要对输入时钟信号的频率进行调整,图5中步骤S12是指,设置一个变量V,将位于当前索引值和目标索引值之间、最靠近当前索引值的索引值赋值给变量V,举例来说,如表2所示,若当前索引值为33/64、目标索引值为30/64,那么可以将索引值32/64赋值给V,若当前索引值为33/64、目标索引值为37/64,那么可以将索引值34/64赋值给V。
在步骤S13中,根据表2可以确定V对应的控制信号,也就是说,可以确定以上示例中索引值“32/64”对应的控制信号,或者索引值“34/64”对应的控制信号。在确定控制信号后可以根据表3确定控制信号对应的时钟使能信号,并将时钟使能信号输出到时钟模块的控制端。
在步骤S14中,判断目前V的值是否等于目标索引值,如果等于目标索引值,说明已经将输入时钟信号的频率调整到了目标频率,可以执行步骤S16结束频率调整的过程。如果不等于目标索引值,则可以执行步骤S15。
对于步骤S16,以上述示例为例,若当前索引值为33/64、目标索引值为30/64,V当前的索引值为32/64,执行步骤S15之后,V为31/64。若当前索引值为33/64、目标索引值为37/64,V当前的索引值为34/64,执行步骤S15之后,V为35/64。不断重复步骤S13-步骤S15,直到V=目标索引值,将输入时钟信号的频率调整到目标频率,结束调整频率的过程。
需要说明的是,以上调整频率过程中的当前索引值、目标索引值仅仅是本公开的一些示例,不以任何方式限制本公开。
对于调整装置内设置有两个以上时钟模块的实施例,本公开的频率调整装置可以包括主调整模块、以及与所述两个以上时钟模块中的每一个时钟模块对应的子调整模块,所述主调整模块和各个子调整模块的调整方式包括全局调整方式和/或单独调整方式。
其中,在全局调整方式中,主调整模块根据目标索引值和所述查询表确定时钟使能信号,并通过子调整模块输出时钟使能信号到各个时钟模块的使能端;
在单独调整方式中,各个子调整模块分别根据各自的目标索引值和所述查询表确定各自的目标索引值对应的时钟使能信号,并将各自的目标索引值对应的时钟使能信号输出到相应的时钟模块的使能端。
在该实施方式中,频率调整装置15可以包括主调整模块和多个子调整模块,子调整模块的数量可以与时钟模块的数量相同,也就是说,针对每个时钟模块可以设置对应的子调整模块,每个子调整模块都连接主调整模块。
图6示出根据本公开一实施例的时钟频率的调整装置的框图。如图6所示,频率调整装置15可以包括一个主调整模块和4个子调整模块,根据该实施方式的调整装置,可以在调整装置下游下挂多个模块需要输入时钟信号时,根据需求实现不同方式的调整,例如,如果多个模块需要的时钟信号相同,那么可以进行全局调整,如图6所示,可以采用主调整模块对输入时钟信号进行调整后输出。如果每个模块需要的时钟信号不相同,那么可以逐个调整,例如根据每个模块的需求通过对应的子调整模块对输入时钟信号的时钟频率进行调整后输出,可以按序调整、也可以不按序调整,本公开对此不作限定。如果仅有部分模块的时钟频率需要调整,那么,可以通过对应的部分子调整模块分别调整输入时钟信号的时钟频率后输出。根据本公开上述实施例的调整装置可以灵活调整输入时钟信号的频率,满足不同模块的需求。
在一种可能的实现方式中,为了保护芯片,避免芯片过热损坏,本公开的频率调整模块还可以用于根据芯片的温度调整输入时钟信号的频率,当所述芯片的温度大于温度阈值时,所述频率调整模块将所述输入时钟信号的频率调低。
具体地,在芯片上可以设置有温度检测模块,所述温度检测模块用于采集芯片的温度数据,温度检测模块可以采用相关技术中的温度传感器,本公开对温度检测模块的具体类型不作限定。
在一种可能的实现方式中,温度检测模块可以连接温度控制器,温度检测模块可以将采集到的芯片的温度数据上传给温度控制器,温度控制器在接收到芯片的温度数据后,可以对温度数据进行处理得到芯片的温度,并跟本地预先存储的温度阈值进行比较,当芯片的温度大于温度阈值时,温度控制器可以向频率调整模块15发送触发信号,频率调整模块15在接收到触发信号时,可以将所述输入时钟信号的频率调低。
在一种可能的实现方式中,在芯片的温度不大于温度阈值时,频率调整模块15还可以将输入时钟信号的频率调整到初始频率。其中,该初始频率可以是指将时钟频率调低之前的时钟频率。
在一种可能的实现方式中,温度检测模块可以以一定频率采集芯片的温度数据,并将采集到的芯片的温度数据上传给温度控制器,温度控制器可以对温度数据处理后得到的芯片的温度,将芯片的温度与温度阈值进行比较,当芯片的温度不大于温度阈值时可以向频率调整模块发送另一触发信号,频率调整模块15在接收到另一触发信号时,可以将所述输入时钟信号的频率调整到初始频率。
在一种可能的实现方式中,将输入时钟信号的频率调低之后的时钟信号的频率可以为第一预设低频率,第一预设低频率可以是预先配置的频率。上述温度阈值也可以是预先设定的,例如可以根据芯片的性能以及芯片能承受的最高温度设定,本公开对此不作限定。
在一种可能的实现方式中,可以由图6中的主调整模块将输入时钟信号的频率调低,也就是进行全局调整,这样,有利于芯片温度快速降低,避免芯片过热损坏。
图7a示出根据本公开一实施例的时钟频率的调整装置的框图。如图7a所示,本公开的调整装置还可以包括硬件调整模块,在接收到模式调整信号时,所述调整装置可以根据所述模式调整信号调整工作的模式,所述工作的模式包括软件模式和硬件模式。在一个示例中,图7a中的软件调整模块可以包括如上所述的主调整模块和子调整模块,当然这仅仅是一个示例,本公开不限于此,软件调整模块是为了与硬件调整模块区分开来划分的模块,用于执行本公开上文所述的调整装置根据所述查询表和通过调整装置的控制端接收的目标索引值调整输入时钟信号的频率的过程。
在一种可能的实现方式中,如图7a所示,硬件调整模块可以设置在频率调整模块15内,硬件调整模块可以通过电信号(比如电平信号)触发FSM实现。频率调整模块15可以在接收到模式调整信号时,根据模式调整信号调整工作的模式。举例来说,用户可以通过外部输入设备输入模式调整信号,频率调整模块15在接收到模式调整信号后,可以将工作模式调整到模式调整信号对应的模式,模式调整信号可以通过1bit的电平信号来表示,例如,1可以表示硬件模式,0可以表示软件模式,若用户输入的是0,那么频率调整模块15将工作模式调整到软件模式,若用户输入的是0,那么频率调整模块可以将工作模式调整到硬件模式。
在一种可能的实现方式中,两种模式之间可以相互切换,切换逻辑可以由软件可配的寄存器屏蔽位(mask register bit)来实现。
在软件模式下,所述调整装置根据通过控制端接收的目标索引值和所述查询表调整输入时钟信号的频率,如上文本所述,具体过程不再赘述。
在一种可能的实现方式中,本公开的调整装置还连接监测模块,监测模块另一端连接监测点,监测模块用于根据监测点的工作电压输出电平信号,在硬件模式下,所述调整装置根据所述电平信号调整输入时钟信号的频率。
如图7a所示,监测模块可以连接硬件调整模块,将电平信号输出给硬件调整模块,由硬件调整模块将电平信号作为硬件调频的触发信号。也就是说,在硬件模式下,硬件调整模块根据所述监测模块输出的电平信号调整输入时钟信号的频率。
在一种可能的实现方式中,在所述监测点的工作电压低于阈值电压时,所述监测模块输出高电平,所述调整装置将输入时钟信号的频率调整至预设低频率;在所述监测点的工作电压不低于阈值电压时,所述监测模块输出低电平,所述调整装置将输入时钟信号的频率调整至初始频率。
在一种可能的实现方式中,其中的预设低频率可以是通过软件的方式预先设置,调整过程中的步进次数和步进时间也可以是通过软件预先设置的。预设低频率可以是预先设置的固定的频率值,也可以根据初始频率确定,比如,可以将预设低频率预先设置为初始频率的1/2、1/4,等等。
在一种可能的实现方式中,预设低频率、步进次数和步进时间可以设置在查询表中,硬件调整模块可以在查询表中获得上述参数(预设低频率、步进次数和步进时间),根据输入时钟信号的频率、预设低频率、步进次数和步进时间生成时钟使能信号,将时钟使能信号输出到时钟模块。根据输入时钟信号的频率、预设低频率、步进次数和步进时间生成时钟使能信号可以采用与查询表的逻辑类似的方式进行计算,本公开不再展开说明。
在一种可能的实现方式中,硬件模式下的上述预设低频率、步进次数和步进时间不支持动态调整。如果需要重新调整,则需要通过修改软件的方式重新配置,例如修改查询表。
在另一种可能的实现方式中,所述调整装置(硬件调整模块)可以根据监测模块输出的电平信号确定当前索引值和目标索引值,并根据当前索引值、目标索引值和查询表确定时钟使能信号,根据时钟使能信号对输入时钟信号的频率进行调整。
其中,上述当前索引值以及目标索引值的确定方式与电平信号相关,比如说,若电平信号为高电平,那么,当前索引值可以根据当前输出时钟信号的频率和输入时钟信号的频率之间的关系确定。在一种可能的实现方式中,目标索引值可以是预先根据预设低频率设置的索引值。在另一种可能的实现方式中,预设低频率可以预先设置为根据初始频率确定,比如可以将预设低频率预先设置为初始频率的1/2、1/4,等等。因此,在一种可能的实现方式中,可以根据当前索引值确定目标索引值。
若电平信号为低电平,那么,可以将上述的当前索引值(将时钟频率调低之前的输出时钟频率对应的索引值)确定为目标索引值,可以根据当前输出时钟信号的频率和输入时钟信号的频率之间的关系确定新的当前索引值。
将输入时钟信号的频率调整至预设低频率的过程可以参照上文图5描述的过程,也就是说,可以根据查询表(第一字查询表、第二字查询表)逐渐的将输入时钟信号的频率调整至预设低频率。
举例来说,如果硬件模式调频的目标频率为初始频率(在本示例中,为输入时钟信号的频率)的一半,LUT使用缺省值。那么当监测模块输出的硬件反馈信号会变为高电平,调整装置进行硬件调频,此时若当前index为64/64、则调整装置可以确定目标index为当前index的一半:32/64,共32次步进,调整时钟频率至原频率的一半;过了一段时间之后,如果监测模块输出的硬件反馈信号变为低电平,调整装置检测到此低电平之后,会再次进行硬件调频,此时当前index为32/64、则调整装置可以确定目标index为:64/64,共32次步进,调整时钟频率至初始频率,即不抹沿。当然,也有可能在将输入时钟的频率调整到初始频率的一半之前,监测模块输出了低电平,此时,可以将当前index 64/64确定为目标索引值,根据当前输出时钟信号的频率和输入时钟信号的频率之间的关系确定新的当前索引值。
上述监测点可以是需要对其工作电压进行监控的点,例如,该点的工作电压对系统的稳定性产生影响或者影响系统的功耗等。阈值电压可以是预先设定的,例如可以将阈值电压预先存储在查询表中,硬件调整模块可以通过查询表访问到阈值电压。
在一种可能的实现方式中,监测模块可以包括环形振荡器(ring oscillator)、计数器以及比较器,环形振荡器一端可以连接监测点,根据监测点的工作电压生成波形信号(例如,方波或者正弦波),将波形信号输出到计数器,计数器可以根据波形信号计数、将计数值输出到比较器,比较器可以根据计数值与计数阈值的关系输出电平信号。其中,计数阈值可以是预先设定的、单位时间内计数的波形的数量,计数阈值可以根据上文所述的阈值电压设置。
在一种可能的实现方式中,随着监测点的工作电压的升高,生成的波形信号的频率越高,单位时间内的波形的个数越多,因此,在本公开的实施方式中,计数阈值与电压阈值是对应的,在计数值未超过计数阈值时,表示所述监测点的工作电压低于阈值电压,比较器可以输出高电平,所述调整装置将输入时钟信号的频率调整至预设低频率。在计数值超过计数阈值时,表示监测点的工作电压不低于阈值电压时,比较器输出低电平,所述调整装置将输入时钟信号的频率调整至初始频率。
在一种可能的实现方式中,可以直接将输入时钟信号(调整root时钟信号)的频率调低,类似于进行全局调整。图7b示出根据本公开一实施例的时钟频率的调整装置的框图。如图7b所示,频率调整模块15输出的时钟使能信号连接输入端的时钟使能信号,从而直接对输入时钟信号的频率进行调整。
示例性的,在硬件模式下,在所述监测点的工作电压低于阈值电压时,所述监测模块输出高电平,监测模块的另一端连接硬件调整模块,输出高电平到硬件调整模块,硬件调整模块在接收到高电平后,可以将输入时钟信号(root时钟信号)的频率调整至预设低频率。在所述监测点的工作电压不低于阈值电压时,所述监测模块输出低电平,监测模块可以输出低电平到硬件调整模块,硬件调整模块在接收到低电平后,可以将输入时钟信号(root时钟信号)的频率调整至初始频率,初始频率可以是将时钟频率调低之前的时钟频率。
在另一种可能的实现方式中,也可以分别对多个时钟模块进行调整,比如说如图7a所示,硬件调整模块可以将确定的时钟使能信号输出到各个时钟模块。
在不增加额外PLL设计和PR的前提下,本公开同时支持软件调频方式和硬件调频方式协同工作,频率调整更加灵活。
应用示例
图8示出根据本公开一调整装置的示例的框图。图8所示的调整装置可以与本公开任一实施方式的调整装置相结合,在图8所示的示例中,调整装置1可以包括频率调整模块15、查询表14、控制寄存器和并行转串行模块(如图8中所示的并转串)。其中,频率调整模块15和查询表14可以参见上文实施例中的描述,不再赘述。控制寄存器可以用于存储外部输入的命令,并行转串行模块用于将频率调整模块15输出的一个目标索引值对应的多个并行的时钟使能信号转换为串行的时钟使能信号输出到时钟模块的使能端。其中,并行转串行模块可以通过硬件的方式实现,例如总线接口或者芯片等,也可以通过软件的代码仿真的方式实现,本公开对此不作限定。图8中其他模块的说明都可以参见上文的实施方式,不再赘述。
应该理解,上述的装置实施例仅是示意性的,本公开的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本公开各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述寄存器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random AccessMemory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述调整装置。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
图9示出根据本公开实施例的板卡的结构框图,参阅图9,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行监控。具体的,所述人工智能芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一种可能的实现方式中,公开了一种电子设备,其包括了上述人工智能芯片。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
图10示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图10,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款A1.一种时钟频率的调整装置,所述调整装置包括输入端,所述输入端用于接收输入时钟信号,
所述调整装置内设置有查询表,所述调整装置用于根据目标索引值以及查询表确定所述目标索引值对应的时钟使能信号;
所述调整装置还用于根据所述时钟使能信号对所述输入时钟信号进行调整得到输出时钟信号。
条款A2.根据条款A1所述的调整装置,所述调整装置还包括控制端,所述调整装置通过所述控制端接收所述目标索引值。
条款A3.根据条款A1所述的调整装置,所述查询表包括第一子查询表和第二子查询表,
所述调整装置用于根据所述目标索引值和所述第一子查询表确定所述目标索引值对应的控制信号,根据所述控制信号和所述第二子查询表确定所述时钟使能信号。
条款A4.根据条款A3所述的调整装置,
所述调整装置用于根据所述目标索引值和当前索引值在所述第一子查询表中的存储位置,按顺序确定所述第一子查询表中位于所述目标索引值和当前索引值之间的索引值对应的控制信号,并按顺序确定所述控制信号对应的时钟使能信号,其中,所述顺序指从当前索引值到目标索引值的顺序。
条款A5.根据条款A1-A3任意一项所述的调整装置,所述调整装置内设置有时钟模块和频率调整模块,
所述频率调整模块用于根据所述目标索引值以及查询表确定所述目标索引值对应的时钟使能信号;
所述时钟模块通过所述输入端接收所述输入时钟信号,并在所述时钟使能信号的控制下,根据所述输入时钟信号得到所述输出时钟信号。
条款A6.根据条款A4所述的调整装置,所述调整装置内设置有时钟模块和频率调整模块,
所述频率调整模块用于根据所述目标索引值和当前索引值在所述第一子查询表中的存储位置,按顺序确定所述第一子查询表中位于所述目标索引值和当前索引值之间的索引值对应的控制信号,并按顺序确定所述控制信号对应的时钟使能信号,依顺序输出所述时钟使能信号到时钟模块;
所述时钟模块通过所述输入端接收所述输入时钟信号,并在所述时钟使能信号的控制下,根据所述输入时钟信号得到所述输出时钟信号。
条款A7.根据条款A5或A6所述的调整装置,
所述调整装置内设置有一个或两个以上时钟模块,所述调整装置还用于接收调整请求,所述调整请求携带有所述目标索引值和时钟模块的标识信息,
所述频率调整模块用于将所述时钟使能信号输出到所述标识信息对应的时钟模块。
条款A8.根据条款A5-A7任意一项所述的调整装置,所述调整装置内设置有两个以上时钟模块,所述频率调整模块包括主调整模块、以及与所述两个以上时钟模块中的每一个时钟模块对应的子调整模块,
所述主调整模块和各个子调整模块的调整方式包括全局调整方式和/或单独调整方式,
其中,在全局调整方式中,主调整模块根据目标索引值和所述查询表确定时钟使能信号,并通过子调整模块输出时钟使能信号到各个时钟模块的使能端;
在单独调整方式中,各个子调整模块分别根据各自的目标索引值和所述查询表确定各自的目标索引值对应的时钟使能信号,并将各自的目标索引值对应的时钟使能信号输出到相应的时钟模块的使能端。
条款A9.根据条款A1-A8任意一项所述的调整装置,一个目标索引值对应并行的多个时钟使能信号,
所述调整装置用于将一个目标索引值对应的并行的多个时钟使能信号转换成串行的时钟使能信号。
条款A10.根据条款A1-A9任意一项所述的调整装置,所述调整装置用于根据芯片的温度调整输入时钟信号的频率,
当所述芯片的温度大于温度阈值时,所述调整装置将所述输入时钟信号的频率调低。
条款A11.根据条款A1-A10任意一项所述的调整装置,在接收到模式调整信号时,所述调整装置根据所述模式调整信号调整工作的模式,所述工作的模式包括软件模式和硬件模式。
条款A12.根据条款A11所述的调整装置,
在软件模式下,所述调整装置用于根据所述查询表和通过所述调整装置的控制端接收的所述目标索引值调整输入时钟信号的频率。
条款A13.根据条款A11所述的调整装置,所述调整装置还通过监测模块连接监测点,监测模块用于根据监测点的工作电压输出电平信号;
在硬件模式下,所述调整装置根据所述电平信号调整输入时钟信号的频率。
条款A14.根据条款A13所述的调整装置,在所述监测点的工作电压低于阈值电压时,所述监测模块输出高电平,所述调整装置将输入时钟信号的频率调整至预设低频率;
在所述监测点的工作电压不低于阈值电压时,所述监测模块输出低电平,所述调整装置将输入时钟信号的频率调整至初始频率。
条款A15.根据条款A13或A14所述的调整装置,所述调整装置根据监测模块输出的电平信号确定当前索引值和目标索引值,并根据当前索引值、目标索引值和查询表确定时钟使能信号,根据时钟使能信号对输入时钟信号的频率进行调整。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。
Claims (15)
1.一种时钟频率的调整装置,其特征在于,所述调整装置包括输入端,所述输入端用于接收输入时钟信号,
所述调整装置内设置有查询表,所述调整装置用于根据目标索引值以及查询表确定所述目标索引值对应的时钟使能信号;
所述调整装置还用于根据所述时钟使能信号对所述输入时钟信号进行调整得到输出时钟信号。
2.根据权利要求1所述的调整装置,其特征在于,所述调整装置还包括控制端,所述调整装置通过所述控制端接收所述目标索引值。
3.根据权利要求1所述的调整装置,其特征在于,所述查询表包括第一子查询表和第二子查询表,
所述调整装置用于根据所述目标索引值和所述第一子查询表确定所述目标索引值对应的控制信号,根据所述控制信号和所述第二子查询表确定所述时钟使能信号。
4.根据权利要求3所述的调整装置,其特征在于,
所述调整装置用于根据所述目标索引值和当前索引值在所述第一子查询表中的存储位置,按顺序确定所述第一子查询表中位于所述目标索引值和当前索引值之间的索引值对应的控制信号,并按顺序确定所述控制信号对应的时钟使能信号,其中,所述顺序指从当前索引值到目标索引值的顺序。
5.根据权利要求1-3任意一项所述的调整装置,其特征在于,所述调整装置内设置有时钟模块和频率调整模块,
所述频率调整模块用于根据所述目标索引值以及查询表确定所述目标索引值对应的时钟使能信号;
所述时钟模块通过所述输入端接收所述输入时钟信号,并在所述时钟使能信号的控制下,根据所述输入时钟信号得到所述输出时钟信号。
6.根据权利要求4所述的调整装置,其特征在于,所述调整装置内设置有时钟模块和频率调整模块,
所述频率调整模块用于根据所述目标索引值和当前索引值在所述第一子查询表中的存储位置,按顺序确定所述第一子查询表中位于所述目标索引值和当前索引值之间的索引值对应的控制信号,并按顺序确定所述控制信号对应的时钟使能信号,依顺序输出所述时钟使能信号到所述时钟模块;
所述时钟模块通过所述输入端接收所述输入时钟信号,并在所述时钟使能信号的控制下,根据所述输入时钟信号得到所述输出时钟信号。
7.根据权利要求5或6所述的调整装置,其特征在于,
所述调整装置内设置有一个或两个以上时钟模块,所述调整装置还用于接收调整请求,所述调整请求携带有所述目标索引值和时钟模块的标识信息,
所述频率调整模块用于将所述时钟使能信号输出到所述标识信息对应的时钟模块。
8.根据权利要求5-7任意一项所述的调整装置,其特征在于,所述调整装置内设置有两个以上时钟模块,所述频率调整模块包括主调整模块、以及与所述两个以上时钟模块中的每一个时钟模块对应的子调整模块,
所述主调整模块和各个子调整模块的调整方式包括全局调整方式和/或单独调整方式,
其中,在全局调整方式中,主调整模块根据目标索引值和所述查询表确定时钟使能信号,并通过子调整模块输出时钟使能信号到各个时钟模块的使能端;
在单独调整方式中,各个子调整模块分别根据各自的目标索引值和所述查询表确定各自的目标索引值对应的时钟使能信号,并将各自的目标索引值对应的时钟使能信号输出到相应的时钟模块的使能端。
9.根据权利要求1-8任意一项所述的调整装置,其特征在于,一个目标索引值对应并行的多个时钟使能信号,
所述调整装置用于将一个目标索引值对应的并行的多个时钟使能信号转换成串行的时钟使能信号。
10.根据权利要求1-9任意一项所述的调整装置,其特征在于,所述调整装置用于根据芯片的温度调整输入时钟信号的频率,
当所述芯片的温度大于温度阈值时,所述调整装置将所述输入时钟信号的频率调低。
11.根据权利要求1-10任意一项所述的调整装置,其特征在于,在接收到模式调整信号时,所述调整装置根据所述模式调整信号调整工作的模式,所述工作的模式包括软件模式和硬件模式。
12.根据权利要求11所述的调整装置,其特征在于,
在软件模式下,所述调整装置用于根据所述查询表和通过所述调整装置的控制端接收的所述目标索引值调整输入时钟信号的频率。
13.根据权利要求11所述的调整装置,其特征在于,所述调整装置还通过监测模块连接监测点,所述监测模块用于根据监测点的工作电压输出电平信号;
在硬件模式下,所述调整装置根据所述电平信号调整输入时钟信号的频率。
14.根据权利要求13所述的调整装置,其特征在于,在所述监测点的工作电压低于阈值电压时,所述监测模块输出高电平,所述调整装置将输入时钟信号的频率调整至预设低频率;
在所述监测点的工作电压不低于阈值电压时,所述监测模块输出低电平,所述调整装置将输入时钟信号的频率调整至初始频率。
15.根据权利要求13或14所述的调整装置,其特征在于,在硬件模式下,所述调整装置根据监测模块输出的电平信号确定当前索引值和目标索引值,并根据当前索引值、目标索引值和查询表确定时钟使能信号,根据时钟使能信号对输入时钟信号的频率进行调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010365744.9A CN113589882A (zh) | 2020-04-30 | 2020-04-30 | 时钟频率的调整装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010365744.9A CN113589882A (zh) | 2020-04-30 | 2020-04-30 | 时钟频率的调整装置及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113589882A true CN113589882A (zh) | 2021-11-02 |
Family
ID=78237409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010365744.9A Pending CN113589882A (zh) | 2020-04-30 | 2020-04-30 | 时钟频率的调整装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113589882A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821834A (zh) * | 2021-11-24 | 2021-12-21 | 飞腾信息技术有限公司 | 数据处理方法、安全架构系统和计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7176738B1 (en) * | 2003-11-20 | 2007-02-13 | Integrated Device Technology, Inc. | Method and apparatus for clock generation |
CN105913868A (zh) * | 2016-03-31 | 2016-08-31 | 华为技术有限公司 | 一种调整频率的方法、片上系统及终端 |
CN106464262A (zh) * | 2014-06-09 | 2017-02-22 | 高通股份有限公司 | 用于减小电压噪声的时钟吞除设备 |
CN110710107A (zh) * | 2017-06-05 | 2020-01-17 | 高通股份有限公司 | 用于减小时钟闭锁引起的电压下降的装置和方法 |
-
2020
- 2020-04-30 CN CN202010365744.9A patent/CN113589882A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7176738B1 (en) * | 2003-11-20 | 2007-02-13 | Integrated Device Technology, Inc. | Method and apparatus for clock generation |
CN106464262A (zh) * | 2014-06-09 | 2017-02-22 | 高通股份有限公司 | 用于减小电压噪声的时钟吞除设备 |
CN105913868A (zh) * | 2016-03-31 | 2016-08-31 | 华为技术有限公司 | 一种调整频率的方法、片上系统及终端 |
CN110710107A (zh) * | 2017-06-05 | 2020-01-17 | 高通股份有限公司 | 用于减小时钟闭锁引起的电压下降的装置和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821834A (zh) * | 2021-11-24 | 2021-12-21 | 飞腾信息技术有限公司 | 数据处理方法、安全架构系统和计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102258143B1 (ko) | 전자 장치의 충전 회로 | |
US10211666B2 (en) | Electronic device and method of wireless power transfer therefor | |
US9915968B2 (en) | Systems and methods for adaptive clock design | |
KR102359271B1 (ko) | 복수의 배터리 제어 방법 및 이를 구현하는 전자 장치 | |
ES2753802T3 (es) | Procedimiento de carga, dispositivo de carga y terminal | |
US11264813B2 (en) | Charging circuit, terminal and charging method | |
CN112150962B (zh) | 芯片时钟频率调整方法、装置、芯片及电子设备 | |
US11532951B2 (en) | Electronic device including resonant charging circuit | |
CN108631401A (zh) | 充电电路、方法、电子设备和存储介质 | |
WO2019024641A1 (zh) | 数据同步方法、装置、存储介质以及电子设备 | |
CN109324780A (zh) | 提升声音输出效果的方法及电子设备 | |
US11050282B2 (en) | Power supply control method and device, storage medium and electronic device | |
KR20210045911A (ko) | 공진형 충전 회로를 포함하는 전자 장치 | |
CN113589882A (zh) | 时钟频率的调整装置及相关产品 | |
US11556158B2 (en) | On-the-go (OTG) control and configuration method, mobile terminal, and storage medium | |
US11476694B2 (en) | Electronic device including resonant charging circuit | |
CN108710558A (zh) | 用于计算机的运行控制方法及装置 | |
US9996138B2 (en) | Electronic system and related clock managing method | |
US11122708B1 (en) | Electronic device | |
CN115173495A (zh) | 充电控制方法、装置以及存储介质 | |
US20150381048A1 (en) | Method and electronic device for controlling switching regulator | |
CN113033761A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US20140281596A1 (en) | Frequency adjustment system and method | |
CN111509789A (zh) | 充电方法及装置 | |
CN111371156B (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 |