CN114721464A - 片上系统和计算装置 - Google Patents
片上系统和计算装置 Download PDFInfo
- Publication number
- CN114721464A CN114721464A CN202110010758.3A CN202110010758A CN114721464A CN 114721464 A CN114721464 A CN 114721464A CN 202110010758 A CN202110010758 A CN 202110010758A CN 114721464 A CN114721464 A CN 114721464A
- Authority
- CN
- China
- Prior art keywords
- clock
- mode
- gated
- gating
- chip
- 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
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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
提供一种片上系统和计算装置。该片上系统,包括:时钟电路,用于产生时钟信号;处理单元,用于基于门控后的时钟信号执行计算机指令;时钟控制器,耦接在时钟电路和处理单元之间,用于在门控模式下对时钟信号进行门控,并输出门控后的时钟信号,其中,所述时钟控制器在处理器性能过剩时进入门控模式,在处理器性能恢复正常后退出门控模式。本公开实施例在处理器性能过剩时采用门控时钟(ICG)降频,比使用时钟电路生成新的时钟信号速度更快,同时当处理器性能恢复正常后,不再对时钟信号进行门控时时钟信号即可迅速恢复为原频率,因此更加适用于短时间内降频和恢复频率的场景。
Description
技术领域
本公开涉及芯片技术领域,具体而言,涉及一种片上系统和计算装置。
背景技术
当处理器性能过剩时,系统通常会降低处理器的时钟频率,以达到节省功耗的目的。时钟电路用于控制处理器的时钟频率,当需要降低处理器的时钟频率时,时钟电路会生成新的时钟频率提供给处理器。时钟电路生成新的时钟频率通常花费较长时间,但是部分处理器性能过剩的场景持续时间非常短,需要快速降低和恢复处理器的时钟频率,因而,使用时钟电路控制处理器的时钟频率不适用于这种短时间内的处理器性能过剩场景。
发明内容
有鉴于此,本公开的目的是提供一种片上系统和计算装置,用于在短时间内的处理器性能过剩场景快速降低和恢复处理器的时钟频率。
第一方面,本公开实施例提供一种一种片上系统,包括:
时钟电路,用于产生时钟信号;
处理单元,用于基于门控后的时钟信号执行计算机指令;
时钟控制器,耦接在所述时钟电路和所述处理单元之间,用于在门控模式下对所述时钟信号进行门控,并输出所述门控后的时钟信号,
其中,所述时钟控制器在处理器性能过剩时进入门控模式,在处理器性能恢复正常后退出门控模式。
可选地,所述时钟控制器包括门控时钟。
可选地,所述时钟控制器包括激励产生器,用于根据门控逻辑生成门控逻辑信号,所述门控时钟使用所述门控逻辑信号进行门控。
可选地,所述时钟控制器包括配置器,用于配置所述门控逻辑。
可选地,所述激励产生器包括:寄存器和移位器,所述寄存器存储表征所述门控逻辑的二进制数据,所述移位器用于控制所述二进制数据逐比特地循环移动,以重复生成所述门控逻辑信号。
可选地,所述时钟控制器包括模式控制器,所述模式控制器根据模式进入请求控制所述时钟控制器进入所述门控模式,根据模式退出请求控制所述时钟控制器所述门控模式。
可选地,所述模式控制器通过使能所述激励产生器控制所述时钟控制器进行所述门控模式,通过关闭所述激励产生器控制所述时钟控制器退出所述门控模式。
可选地,所述时钟控制器支持多种场景的模式进入请求,所述配置器根据接收到的特定场景的模式进入请求配置与特定场景相适配的门控逻辑。
可选地,所述处理单元通过监测片上总线或自身的状态寄存器来判断处理器性能是否过剩。
可选地,所述处理单元在监测到缓存缺失时,向所述模式控制器发送缓存场景的模式进入请求,在缓存缺失结束后,向所述模式控制器发送缓存场景的模式退出请求。
第二方面,本公开实施例提供一种计算装置,包括:
时钟电路,用于产生时钟信号;
处理单元,用于基于门控后的时钟信号执行计算机指令;
时钟控制器,耦接在所述时钟电路和所述处理单元之间,用于在门控模式下对所述时钟信号进行门控,并输出所述门控后的时钟信号;
其中,所述时钟控制器在处理器性能过剩时进入门控模式,在处理器性能恢复正常后退出门控模式。
可选地,所述时钟控制器包括门控时钟。
可选地,所述时钟控制器包括激励产生器,用于根据门控逻辑生成门控逻辑信号,所述门控时钟使用所述门控逻辑信号进行门控。
可选地,所述时钟控制器包括:配置器,用于配置所述门控逻辑。
可选地,所述激励产生器包括:寄存器和移位器,所述寄存器存储表征所述门控逻辑的二进制数据,所述移位器用于控制所述二进制数据逐比特地循环移动,以重复生成所述门控逻辑信号。
可选地,所述时钟控制器包括模式控制器,所述模式控制器根据模式进入请求控制所述时钟控制器进入所述门控模式,根据模式退出请求控制所述时钟控制器所述门控模式。
可选地,所述时钟控制器支持多种场景的模式进入请求,所述配置器根据接收到的特定场景的模式进入请求配置与特定场景相适配的门控逻辑。
可选地,所述处理单元在监测到缓存缺失时,向所述模式控制器发送缓存场景的模式进入请求,在缓存缺失结束后,向所述模式控制器发送缓存场景的模式退出请求。
第三方面,本公开实施例提供一种计算装置,包括:
上述任意一项的片上系统作为处理器;
总线;
通过所述总线与所述片上系统耦接的存储设备;
通过所述总线与所述片上系统耦接的输入输出设备。
本公开实施例的技术效果在于以下两点:首先,采用门控时钟(ICG)降频比使用时钟电路生成新的时钟信号速度更快,同时当不再对时钟信号进行门控时,时钟信号即可迅速恢复为原频率,因此更加适用于短时间内降频和恢复频率的场景;其次,虽然可以将门控时钟设置在处理单元的内部,但本公开将门控时钟设置在处理单元的外部,在时钟源头对时钟信号进行门控,更加节省功耗。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1a是门控时钟(ICG)10的结构图;
图1b是图1a对应的信号时序图;
图1c是门控时钟(ICG)20的结构图;
图1d是图1c对应的信号时序图;
图2是本公开一实施例提供的片上系统的结构示意图;
图3是处理器和缓存(cache)以及内存设备的交互示意图;
图4是图2中的一示例性的时钟控制器的结构示意图;
图5是图2所使用的一示例性的信号时序图;
图6是本公开实施例提供的片上系统所应用的通用计算机系统的结构示意图;
图7是本公开实施例提供的片上系统所应用的嵌入式系统的结构示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在介绍本公开的各个实施例之前,先对本公开所使用的一些术语或者概念进行解释和澄清。
缓存缺失和缓存命中:处理器要访问的指令或数据在缓存(Cache)中存在,称为“cache hit”(缓存命中),反之则称为“cache miss”(缓存缺失)。
时钟频率(又译:时钟频率速度,英语:clock rate),是指同步电路中时钟的基础频率,它以“若干次周期每秒”来度量,量度单位采用单位赫兹(Hz)。对于时钟信号而言,每个周期由两个相邻的高电平和低电平组成。
数字电子电路设计中的时钟信号用于同步地控制数字状态转换。具有较高时钟频率的数字电路系统的功耗对应增加。时钟门控技术通过对时钟信号进行门控(即对时钟信号的使能部分进行部分禁用)来达到减少功耗的目的。基于时钟门控技术,当时钟信号的使能部分被禁用时,由时钟信号使能的相应器件不会产生数字状态转换,也就节省了数字状态转换要消耗的功耗,从而降低整个系统的功耗。时钟门控技术发展到现今,已有很多结构成熟且应用广泛的电路形式,将其称为门控时钟(ICG)。下面以图1a-1d为例介绍时钟门控电路的结构和工作原理。
图1a是门控时钟(ICG)10的结构图。图1b是图1a对应的信号时序图。门控时钟10用于对时钟信号source_clk进行门控以得到门控后的时钟信号gated_clock。如图上所示,门控时钟10包括逻辑与AND。逻辑与AND包括两个输入端和一个输出端。两个输入端分别输入初始的时钟信号source_clk和使能信号clk_en。source_clk和clk_en经由逻辑与的运算,得到门控后的时钟信号gated_clock。图1b是图1a的信号时序图。如图上所示,当source_clk和clk_en同为高电平时,得到的gate_clock为高电平,当source_clk和clk_en其中之一不为高电平时,得到的gate_clock为低电平。
图1c是门控时钟(ICG)20的结构图。图1d是图1c对应的信号时序图。门控时钟20包括锁存器LACTH和逻辑与AND。锁存器LACTH的数据端D输入信号EN,控制端CPN输入时钟信号CP,输出端Q输出信号QOUT。逻辑与AND的输入端分别输入Qout和时钟信号CP,输出端输出CLK_OUT。
锁存器LACTH是低电平通过的锁存器,即当CP为低电平时,QOUT等于EN,当CP为高电平时,LATCH执行锁存操作。参见图1d,因此在t3时刻之前,QOUT和EN同为低电平。在t3和t4之间CP为高电平,LACTH执行锁存操作,将EN锁存,因此,虽然t3和t4之间EN变为高电平,但QOUT在此期间还是低电平,t4和t5之间,CP为低电平,LATCH不执行锁存,QOUT和EN同为高电平,随后t5和t6之间,CP为高电平对EN进行锁存,QOUT还保持为高电平,以此类推。在t9和t10之间,CP高电平,锁存EN,因此t9和t10之间QOUT仍保持为高电平。
与逻辑AND是将CP和QOUT作逻辑与操作,输出CLK_OUT。如图上所示,在t5-t6、t7-t8和t9-t10之间,CP和QOUT都是高电平,因此输出的CLK_OUT是高电平。
应该指出的是,上述门控时钟(ICG)10和20由于仅仅用于说明,因此采用的也是结构相对简单的电路形式。但随着集成电路技术的发展,各种复杂结构的门控时钟已经产生并被广泛使用,例如,多层时钟门控电路、层次化时钟门控电路,等等。
本公开实施例提供的片上系统
图2是本公开实施例所应用的片上系统200的结构示意图。
参考图上所示,片上系统200包括处理单元203、存储设备、片上总线205和时钟电路201。
处理单元203耦接到片上总线205。当处理单元203和片上总线205使用不同的时钟频率时,片上系统200还包括设置在处理单元203和片上总线205之间的异步桥204,通过异步桥204隔绝处理单元203和片上总线205之间的时钟信号和电压域。
片上系统200的存储设备,例如如图上所示的耦接到片上总线205上的SRAM 206和DDR SDRAM 207。SRAM(Static Random-Access Memory)206是随机存取存储器的一种。所谓“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。DDR SDRAM(synchronous dynamic random-access memory)207为具有双倍数据传输率的SDRAM,其数据传输速度为系统时钟频率的两倍,由于速度增加,其传输性能优于传统SDRAM,但是价格更加昂贵。片上系统通常使用DDR SDRAM 207作为临时性的缓存,而用SRAM 206作为长期存储介质。
处理单元203执行各种计算机指令。计算机指令可以是嵌入式操作系统的计算机指令,也可以是各种应用程序的计算机指令。计算机指令存储SRAM 206和DDR SDRAM 207中。处理单元203执行计算机指令时,按照先取指、译码和执行的顺序进行。
片上总线205可以为高性能、高带宽、低延迟的片内总线,例如为AXI总线。AXI总线是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0及以上协议中最重要的部分,它是面向于高性能、高带宽、低延迟的片内总线。AIX总线将地址/控制和数据相位分离,支持不对齐的数据传输,同时可支持突发传输和乱序传输,因此满足了超高性能和复杂的片上系统设计的需求。
片上总线205还可与未被示出的接口电路耦接,通过接口电路与片外的外部设备耦接。外部设备例如可以为文字、音频和视频的输入/输出设备和各种其他存储器。处理单元203可通过接口电路访问片外的外部设备。不同于设置在片上系统中的存储设备206和207,位于片外的存储设备可以容量更大但速度较慢、成本较低,例如为闪存(flash)存储器。
时钟电路201经由时钟控制器202耦接到片上总线205上。时钟电路201的主要作用是向处理单元203提供时钟信号,时钟信号的频率即是处理单元203的时钟频率。现有技术中,片上系统200通常结合软硬件实现自动调频。具体地,操作系统会定期采集与系统负载有关的信号,计算当前的系统负载,然后再根据系统的当前负载,预测系统在下一时间段需要的性能,然后将预测的性能转换成需要的时钟频率,再指示时钟电路201生成新的时钟频率,处理单元201将当前的时钟频率修改为新的时钟频率。
但是传统的时钟电路201采用锁相环技术生成时钟频率,由于锁相环技术生成时钟频率需要花费的时间相对较长,因此对于短时间的处理器性能过剩场景(即需要在短时间内降低和恢复处理器的时钟频率)并不适用。
因此,本公开的核心思想是在时钟电路201和处理单元203之间设置一个低功耗的时钟控制器202。时钟控制器202根据控制信息并采用时钟门控技术对接收的时钟信号pll_clk进行门控,并将门控后的时钟信号cpu_clk发送给处理单元203。如图上所示,时钟控制器202与片上总线205耦接。时钟控制器202包括门控时钟2021,门控时钟2021接收时钟信号pll_clk和控制信息,输出时钟信号cpu_clk,门控时钟2021根据控制信息确定是否对时钟信号pll_clk进行门控并据此执行。
控制信息可为模式控制信息,包括模式进入请求和模式退出请求,时钟控制器202根据模式进入请求进入门控模式,对接收到的时钟信号pll_clk进行门控,根据模式退出请求退出门控模式。控制信息还可为门控逻辑信号,门控时钟2021通过门控逻辑信号与时钟信号pll_clk的逻辑运算得到门控后的时钟信号pll_clk,具体地,例如,如果门控时钟2021采用了图1a中的门控时钟,则门控逻辑信号相当于图上的clk_en,而时钟信号pll_clk相当于图上的source_clk,这两种信号输入给运算单元AND进行“逻辑与”运算,输出的cpu_clk相当于图上的门控后的信号gated_clock。当然,这些都是举例说明。控制信息可任意定义,门控时钟2021也可采用任意电路结构实现门控能力。关于时钟门控技术可结合前文和图1a-1d进行了解。
在一些实施例中,参考图2所示,处理单元203判断自身是否处于处理器性能过剩场景,如果是,则向时钟控制器202发送模式进入请求,以驱动时钟控制器202进入门控模式,并在判定处理器性能过剩场景结束后,向时钟控制器202发送模式退出请求,以驱动时钟控制器202退出门控模式。具体实施时,处理单元203可实时获取处理器状态信息,根据处理器状态信息判断是否处于处理器性能过剩场景,或者通过监测片上总线205发送的数据请求,以判断自身是否处于处理器性能过剩场景。
在一些实施例中,处理单元203可事先定义若干种处理器性能过剩场景,并通过监测片上总线或者获取到的处理器状态信息判断是否符合预先定义的其中之一的处理器性能过剩场景。
在一些实施例中,将cache miss(缓存缺失)归类为一种处理器性能过剩场景。也就是说,参考图2所示,处理单元203监测到处理器状态信息为缓存缺失时,向时钟控制器202发送模式进入请求,以驱动时钟控制器202进入门控模式,并在监测到缓存缺失结束后,向时钟控制器202发送模式退出请求,以驱动时钟控制器202退出门控模式。
关于cache miss,下面结合图3进行详细说明。参考图上所示,指令缓存302和数据缓存303位于处理器301与内存设备303之间的临时存储单元,它的容量比内存设备303小但交换速度快。在缓存302和303中的数据是内存设备303中的一小部分,但这一小部分是短时间内处理器301即将访问的,当处理器301调用大量数据时,可避开内存设备303直接从缓存302和303中调用,从而加快读取速度。指令缓存302和数据缓存303分别对应存储计算机指令和数据。处理器301从指令缓存302中读取计算机指令,从数据缓存303中加载数据,以及将数据存储到数据缓存303中。
处理器301在读取计算机指令发生缓存缺失时,处理器301会从内存设备303中读取所需指令,并可由内存设备303将所需指令回填到指令缓存302中,当处理器301加载数据时发生缓存缺失时,处理器301从内存设备303中读取所需数据,并可由内存设备303将所需数据写回到数据缓存303中。在这个过程中,如果处理器301支持不乱序执行,则处理器301停止执行指令,如果处理器301支持乱序执行,则还可以继续执行一些指令,但是由于计算机指令存在依赖关系且处理器301能够支持的乱序指令数量也有上限,因而处理器301在执行若干条指令之后,还是要处于等待状态。这个过程中,处理器301实际上需要执行的指令数量减少,但是时钟频率却没有下降,因此处理器301的性能出现过剩,但是这种过剩状态并不会持续很长。
结合图2再理解缓存缺失。图3中的指令缓存和数据缓存(未标识)可设置在处理单元203的内部,SRAM 206或DDR SDRAM 207作为内存设备,当处理单元203无法从处理单元203的内部读取指令或数据时,发生缓存缺失,这时存储系统将DDR SDRAM 207中的数据搬运到处理单元203内部的缓存,这个操作需要几百个时钟周期,在这几百个时钟周期内,不支持乱序执行的处理单元203会停止执行指令,而支持乱序执行的处理单元203能够乱序执行的指令也有上限,因此无论是支持还是不支持乱序执行的处理器203都可能出现处理器性能过剩。还有一种可能是,图3中的指令缓存和数据缓存(未标识)设置在DDR SDRAM 207中,处理单元203无法从DDR SDRAM 207读取到所需指令或数据时,发生缓存缺失,存储系统从闪存(未标识)将所需指令或数据搬运到DDR SDRAM 207中,这种情况下,无论处理单元203是否支持乱序执行,同样可能出现处理器性能过剩。
图4是图2中的时钟控制器202的一实施例的结构图。时钟控制器400包括:门控时钟401、激励产生器402、配置器403和模式控制器404。激励产生器402与门控时钟401、配置器403以及模式控制器404耦接。
门控时钟401接收时钟信号pll_clk,输出门控后的时钟信号cpu_clk。模式控制器404接收模式进入请求和模式退出请求,根据模式进入请求使能激励产生器402,以使时钟控制器202进入门控模式,根据模式退出请求关闭激励产生器402,以使时钟控制器202退出门控模式。
激励产生器402包括激励表4021和移位器4022,激励表4021中存储有门控逻辑,激励产生器402根据门控逻辑生成门控逻辑信号,将门控逻辑信号提供给门控时钟401。门控逻辑可以采用二进制数据表示。例如,门控逻辑是一个包括n个比特值的二进制数据,n大于或等于2。
配置器403用于配置门控逻辑。在进一步实施例中,配置器403能够配置多种门控逻辑,多种门控逻辑分别对应于多种场景下的模式进入请求,配置器403基于接收到的特定场景的模式进入请求配置与特定场景相适配的门控逻辑。例如,处理器发生缓存缺失和处于休眠状态造成属于两种不同处理器性能过剩场景,则处理器发送不同的模式进入请求,进而配置器403通过配置不同的门控逻辑来实现在不同场景下的门控需求。
在一个示例中,激励表4021包括10位比特值的二进制数据“1101101101”,激励产生器402根据该二进制数据生成门控逻辑信号(‘1’为高电平,‘0’为低电平),门控时钟401将门控逻辑信号和时钟信号pll_clk进行逻辑运算,输出时钟信号cpu_clk。例如,如果逻辑运算是“逻辑与”,由于比特值‘0’对应的低电平与时钟信号的高电平的“逻辑与”是低电平,因此,比特值‘0’将关闭与其对应的时钟周期的高电平。从这个示例可以看出,时钟信号的门控结果同时取决于门控逻辑和门控时钟的电路结构。
移位器4022的作用是循环移动激励表4021内的二进制数据,以根据二进制数据重复生成门控逻辑信号。移位器4022需要不断地将比特值向左或者向右循环移动(每个时钟周期移动一个比特值)。
在一些实施例中,激励产生器402和移位器4022的组合可使用移位寄存器实现。移动寄存器是一种在若干相同时钟周期下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时钟周期依次向左或右移动一个比特值,在输出端进行输出,输出的比特值传送给门控时钟401。而配置器403持续不断地向激励产生器403发送比特值。
图5是一个示例性的信号时序图。结合图2所示,时钟控制器202根据模式进入请求,在T1时刻进入门控模式,在T2时刻退出门控模式。在T1和T2时刻之间,根据门控逻辑信号对输入时钟pll_clk进行门控,并输出门控后的时钟信号cpu_clk。从图上可以发现,在T1和T2时刻之间,pll_clk的部分高电平被门控为低电平。
基于上述实施例,本公开实施例的技术效果在于以下两点:首先,采用门控时钟降频比使用时钟电路生成新的时钟信号速度更快,同时当不再对时钟信号进行门控时时钟信号即可迅速恢复原频率,因此更加适用于短时间内降频和恢复频率的场景;其次,相比门控时钟设置在处理单元的内部,本公开将门控时钟设置在处理单元的外部,在时钟源头对时钟信号进行门控,更加节省功耗。
而且基于时钟门控技术,对于降频要达到的目标频率,只要采用合适的门控逻辑信号就可达到,控制起来相对简单,而且也能实现对降频目标的精确控制。
片上系统的具体应用
图6示出了本公开实施例提供的片上系统所应用的通用的计算机体系结构。如图上所示,计算机系统600可以包括一个或多个处理器12,以及存储器14。其中,上述实施例提供的片上系统可用作处理器12。
计算机系统600中的存储器14可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器12提供的数据(例如为运算结果),也可以用于实现处理器12与外部存储设备16(或称为辅助存储器或外部存储器)之间的数据交换。
在一些情形下,处理器12可能需要访问存储器14,以获取存储器14中的数据或对存储器14中的数据进行修改。由于存储器14的访问速度较慢,为了缓解处理器12与存储器14之间的速度差距,计算机系统600还包括与总线11耦合的高速缓冲存储器18,高速缓冲存储器18用于对存储器14中的一些可能会被反复调用的程序数据或者报文数据等数据进行缓存。高速缓冲存储器18例如由静态随机存储器(Static Random Access Memory,简称为SRAM)等类型的存储装置实现。高速缓冲存储器18可以为多级结构,例如具有一级缓存(L1Cache)、二级缓存(L2 Cache)和三级缓存(L3 Cache)的三级缓存结构,也可以是三级以上的缓存结构或其他类型缓存结构。在一些实施例中,高速缓冲存储器18的一部分(例如一级缓存,或一级缓存和二级缓存)可以集成在处理器12内部或与处理器12集成于同一片上系统中。
基于此,处理器12可以包括指令执行单元121、内存管理单元122等部分。指令执行单元121在执行一些需要修改内存的指令时发起写访问请求,该写访问请求指定了需要写入内存中的写入数据和相应的物理地址;内存管理单元122用于将这些指令指定的虚拟地址转译为该虚拟地址映射的物理地址,写访问请求指定的物理地址与相应指令指定的物理地址可以一致。
存储器14和高速缓冲存储器18之间的信息交互通常按块来组织。在一些实施例中,高速缓冲存储器18和存储器14可以按照相同的空间尺寸被划分成数据块,数据块可以作为高速缓冲存储器18和存储器14之间的数据交换的最小单位(包括预设长度的一个或多个数据)。为了表述简洁清晰,下面将高速缓冲存储器18中的各个数据块简称为缓存块(可以称为cacheline或高速缓存线),且不同的缓存块具有不同的缓存块地址;将存储器14中的各个数据块简称为内存块,且不同的内存块具有不同的内存块地址。缓存块地址例如包括用于定位数据块的物理地址标签。
由于受到空间和资源的限制,高速缓冲存储器18无法对存储器14中的全部内容都进行缓存,即高速缓冲存储器18的存储容量通常小于存储器14,高速缓冲存储器18提供的各个缓存块地址无法对应存储器14提供的全部内存块地址。处理器12在需要访问内存时,首先经总线11访问高速缓冲存储器18,以判断所要访问的内容是否已被存储于高速缓冲存储器18中,如果是,则高速缓冲存储器18命中,此时处理器12直接从高速缓冲存储器18中调用所要访问的内容;如果处理器12需要访问的内容不在高速缓冲存储器18中,则高速缓冲存储器18,处理器12需要经总线11访问存储器14,以在存储器14中查找相应的信息。因为高速缓冲存储器18的存取速率非常快,因此当高速缓冲存储器18命中时,处理器12的效率可以显著提高,进而也使整个计算机系统600的性能和效率得以提升。
此外,计算机系统600还可以包括存储设备16、显示设备13、音频设备19、鼠标/键盘15等输入/输出设备。存储设备16例如是通过相应接口与总线11耦合的硬盘、光盘以及闪存等用于信息存取的设备。显示设备13例如经相应的显卡与总线11耦合,用于根据总线11提供的显示信号进行显示。
计算机系统600通常还包括通信设备17,因此可以通过各种方式与网络或其他设备通信。通信设备17例如可以包括一种或多种通信模块,作为示例,通信设备17可以包括适用于特定的无线通信协议的无线通信模块。例如,通信设备17可以包括WLAN模块,用于实现符合电气和电子工程师协会(IEEE)制定的802.11标准的Wi-FiTM通信;通信设备17也可以包括WWAN模块,用于实现符合蜂窝或其他无线广域协议的无线广域通信;通信设备17还可以包括蓝牙模块等采用其它协议的通信模块,或其它自定义类型的通信模块;通信设备17也可以是用于串行传输数据的端口。
当然,不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线11和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器12之内或独立于处理器12。
图7是本公开实施例提供的片上系统所应用的嵌入式系统的结构图。上述实施例提供的片上系统可用作处理器701。
虽然嵌入式系统在硬件结构上与计算机系统具有高度相似性,但是嵌入式系统应用上的特点致使嵌入式系统在硬件的组成和实现形式上与通用计算机系统又有较大区别。
首先,为满足嵌入式系统700在速度、体积和功耗上的要求,操作系统、应用软件、特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用随机存储器702或闪存(Flash Memory)703。
另外,在嵌入式系统700中,需要A/D(模拟/数字转换)接口705和串行接口706,用于测控的需要,这在通用计算机中用得很少。A/D接口705主要完成测试中所需要的模拟信号到数字信号的转换、和数字信号到模拟信号的转换。嵌入式系统700应用于工业生产时经常需要测试。由于单片机产生的是数字信号,在测试时需要转换成模拟信号用于测试,因此,与通用计算机不同,需要A/D(模拟/数字转换)接口705完成相关转换。另外,工业中经常需要多个嵌入式系统串接在一起,完成相关功能,因此需要用于将多个嵌入式系统串联的串行接口706,而在通用计算机中则大多不需要。
另外,嵌入式系统700作为一个基本的处理单元,常常在工业设计中需要将多个嵌入式系统700联成网络,因此需要将嵌入式系统700联入网络的网络接口707。这在通用计算机中大多也不需要。此外,根据实际应用和规模的不同,有些嵌入式系统700要采用外部总线704。随着嵌入式系统700应用领域的迅速扩张,嵌入式系统700越来越趋于个性化,根据自身特点采用总线的种类也越来越多。另外,为了对嵌入式处理器701内部电路进行测试,处理器芯片普遍采用了边界扫描测试技术。为了适应该测试,采用了调试接口708。
随着超大规模集成电路(Very Large Scale Integration)和半导体工艺的迅速发展,上述的嵌入式系统的部分或者全部可实现在一个硅片上,即为嵌入式片上系统(SoC)。
本公开实施例的商业价值
本公开实施例提供的技术方案,相比于使用时钟电路调整时钟频率,通过设置在处理单元之外的门控时钟降频和恢复时钟频率,执行速度更快,所花费的时间更短,因此更适用于短时间内降低和恢复时钟频率的场景。该技术方案可用于片上系统,片上系统可构成具有功耗优化需求和成本压力的各种计算装置,包括:如智能音箱、智能空调、智能冰箱、智能电饭煲等家电产品;如手机、笔记本、智能可穿戴设备等终端用品;如接入设备、路由器等通信产品;如摄像头、监控器、定位器等物联网产品、等等。当然,本公开实施例的技术方案还可应用于成本压力不大的计算装置,例如,应用于大中型服务器中,但鉴于目前的服务器架构体系已经非常成熟和完善,因此是否在制造工艺中应用该技术方案还取决于制造商针对各种影响因素的权衡。但无论如何,本公开实施例的片上系统及由该片上系统构建的计算装置在具有实用价值的基础上,具备了商业价值和经济价值。
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (19)
1.一种片上系统,包括:
时钟电路,用于产生时钟信号;
处理单元,用于基于门控后的时钟信号执行计算机指令;
时钟控制器,耦接在所述时钟电路和所述处理单元之间,用于在门控模式下对所述时钟信号进行门控,并输出所述门控后的时钟信号,
其中,所述时钟控制器在处理器性能过剩时进入门控模式,在处理器性能恢复正常后退出门控模式。
2.根据权利要求1所述的片上系统,其中,所述时钟控制器包括门控时钟。
3.根据权利要求2所述的片上系统,其中,所述时钟控制器包括激励产生器,用于根据门控逻辑生成门控逻辑信号,所述门控时钟使用所述门控逻辑信号进行门控。
4.根据权利要求3所述的片上系统,其中,所述时钟控制器包括配置器,用于配置所述门控逻辑。
5.根据权利要求3所述的片上系统,其中,所述激励产生器包括:寄存器和移位器,所述寄存器存储表征所述门控逻辑的二进制数据,所述移位器用于控制所述二进制数据逐比特地循环移动,以重复生成所述门控逻辑信号。
6.根据权利要求3所述的片上系统,其中,所述时钟控制器包括模式控制器,所述模式控制器根据模式进入请求控制所述时钟控制器进入所述门控模式,根据模式退出请求控制所述时钟控制器所述门控模式。
7.根据权利要求6所述的片上系统,其中,所述模式控制器通过使能所述激励产生器控制所述时钟控制器进行所述门控模式,通过关闭所述激励产生器控制所述时钟控制器退出所述门控模式。
8.根据权利要求4所述的片上系统,其中,所述时钟控制器支持多种场景的模式进入请求,所述配置器根据接收到的特定场景的模式进入请求配置与特定场景相适配的门控逻辑。
9.根据权利要求1所述的片上系统,其中,所述处理单元通过监测片上总线或自身的状态寄存器来判断处理器性能是否过剩。
10.根据权利要求8所述的片上系统,其中,所述处理单元在监测到缓存缺失时,向所述模式控制器发送缓存场景的模式进入请求,在缓存缺失结束后,向所述模式控制器发送缓存场景的模式退出请求。
11.一种计算装置,包括:
时钟电路,用于产生时钟信号;
处理单元,用于基于门控后的时钟信号执行计算机指令;
时钟控制器,耦接在所述时钟电路和所述处理单元之间,用于在门控模式下对所述时钟信号进行门控,并输出所述门控后的时钟信号;
其中,所述时钟控制器在处理器性能过剩时进入门控模式,在处理器性能恢复正常后退出门控模式。
12.根据权利要求11所述的计算装置,其中,所述时钟控制器包括门控时钟。
13.根据权利要求12所述的计算装置,其中,所述时钟控制器包括激励产生器,用于根据门控逻辑生成门控逻辑信号,所述门控时钟使用所述门控逻辑信号进行门控。
14.根据权利要求13所述的计算装置,其中,所述时钟控制器包括:配置器,用于配置所述门控逻辑。
15.根据权利要求13所述的计算装置,其中,所述激励产生器包括:寄存器和移位器,所述寄存器存储表征所述门控逻辑的二进制数据,所述移位器用于控制所述二进制数据逐比特地循环移动,以重复生成所述门控逻辑信号。
16.根据权利要求13所述的计算装置,其中,所述时钟控制器包括模式控制器,所述模式控制器根据模式进入请求控制所述时钟控制器进入所述门控模式,根据模式退出请求控制所述时钟控制器所述门控模式。
17.根据权利要求14所述的计算装置,其中,所述时钟控制器支持多种场景的模式进入请求,所述配置器根据接收到的特定场景的模式进入请求配置与特定场景相适配的门控逻辑。
18.根据权利要求17所述的片上系统,其中,所述处理单元在监测到缓存缺失时,向所述模式控制器发送缓存场景的模式进入请求,在缓存缺失结束后,向所述模式控制器发送缓存场景的模式退出请求。
19.一种计算装置,包括:
如权利要求1至10任一项所述的片上系统作为处理器;
总线;
通过所述总线与所述片上系统耦接的存储设备;
通过所述总线与所述片上系统耦接的输入输出设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010758.3A CN114721464A (zh) | 2021-01-06 | 2021-01-06 | 片上系统和计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010758.3A CN114721464A (zh) | 2021-01-06 | 2021-01-06 | 片上系统和计算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114721464A true CN114721464A (zh) | 2022-07-08 |
Family
ID=82234293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110010758.3A Pending CN114721464A (zh) | 2021-01-06 | 2021-01-06 | 片上系统和计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114721464A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608388A (zh) * | 2024-01-15 | 2024-02-27 | 珠海全志科技股份有限公司 | 应用于SoC系统的功耗控制方法及装置、SoC系统 |
-
2021
- 2021-01-06 CN CN202110010758.3A patent/CN114721464A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608388A (zh) * | 2024-01-15 | 2024-02-27 | 珠海全志科技股份有限公司 | 应用于SoC系统的功耗控制方法及装置、SoC系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9734056B2 (en) | Cache structure and management method for use in implementing reconfigurable system configuration information storage | |
US9411754B2 (en) | Dynamic frequency memory control | |
TWI454909B (zh) | 減少記憶體裝置之功率消耗之記憶體裝置、方法及系統 | |
CN101593098B (zh) | 转发装置与方法以及微处理器 | |
JP3880310B2 (ja) | 半導体集積回路 | |
US20130073765A1 (en) | Semiconductor device and data processor | |
CN114721464A (zh) | 片上系统和计算装置 | |
WO2022068149A1 (zh) | 数据加载和存储系统及方法 | |
CN114185835A (zh) | 片上系统和调节电压和频率的方法 | |
JP4439288B2 (ja) | 同時多重スレッディングプロセッサ、動作するスレッドの数に基づいて相異なる性能レベルで動作するように構成されるコンピュータプログラム格納媒体及びこれらを動作させる方法 | |
CN113726335B (zh) | 时钟控制电路、时钟电路和电子设备 | |
US10209765B2 (en) | Method for achieving low power consumption of three-dimensional measurement chip | |
CN115657839A (zh) | 一种处理器低功耗控制方法、系统、设备及存储介质 | |
CN112100098B (zh) | Ddr控制系统及ddr存储系统 | |
US11436146B2 (en) | Storage control apparatus, processing apparatus, computer system, and storage control method | |
CN114371876A (zh) | 一种寄存器的配置电路以及一种集成电路芯片 | |
CN114185837A (zh) | 片上系统和调节电压和频率的方法 | |
JP2009070389A (ja) | 処理装置のためのコントローラ | |
US20140115358A1 (en) | Integrated circuit device and method for controlling an operating mode of an on-die memory | |
CN105068957A (zh) | 一种apb总线系统中访问从模块的方法及装置 | |
CN114448399A (zh) | 时钟电路、计算装置和片上系统 | |
US7606991B2 (en) | Dynamic clock switch mechanism for memories to improve performance | |
CN114400028A (zh) | 用于双轨存储器的电压调节方法、存储系统及片上系统 | |
CN115202468A (zh) | 用于片上系统的功耗控制系统、片上系统和计算装置 | |
CN114185838A (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 |