CN116931708A - 一种片上系统、动态调节方法和芯片系统 - Google Patents
一种片上系统、动态调节方法和芯片系统 Download PDFInfo
- Publication number
- CN116931708A CN116931708A CN202210335173.3A CN202210335173A CN116931708A CN 116931708 A CN116931708 A CN 116931708A CN 202210335173 A CN202210335173 A CN 202210335173A CN 116931708 A CN116931708 A CN 116931708A
- Authority
- CN
- China
- Prior art keywords
- chip
- partition
- voltage
- adjustment
- adjusted
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000005192 partition Methods 0.000 claims abstract description 555
- 238000012544 monitoring process Methods 0.000 claims abstract description 197
- 230000004044 response Effects 0.000 claims description 34
- 230000003044 adaptive effect Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 29
- 230000001105 regulatory effect Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 5
- 239000013078 crystal Substances 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 25
- 230000001960 triggered effect Effects 0.000 description 12
- 235000012431 wafers Nutrition 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 238000007665 sagging Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/3243—Power saving in microcontroller unit
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种片上系统、动态调节方法和芯片系统,其中一实施例的片上系统包括:电源芯片和至少两个芯片,其中:电源芯片用于向至少两个芯片提供输出电压;芯片包括:包括多个分区的单晶片,每个分区包括分区传感器;动态调整单元,用于根据各分区传感器的监控数据,确定各分区的待调整的电压值;以及,至少两个芯片包括一个主芯片和至少一个从芯片,其中,主芯片的动态调整单元还用于根据其确定的主芯片的各分区的待调整的电压值,以及从芯片的动态调整单元确定的从芯片的各分区的待调整的电压值,调整电源芯片的输出电压。本发明提供的实施例能够根据各分区的监控数据进行电压动态调整,有效提高片上系统的性能。
Description
技术领域
本发明涉及计算机控制技术领域,特别是涉及一种片上系统、动态调节方法和芯片系统。
背景技术
目前,国内外对动态电压频率调整(DVFS)技术的研究应用已经十分广泛和成熟,传统的DVFS方式采用开环控制实现,在芯片设计完成后,以查找表的形式设定电压和频率的对应关系,然后根据芯片的实际工作状态来查找选取相应的工作频率和电压。
现有技术中,在消费类芯片中使用动态电压频率调整(DVFS)技术能够实现芯片的正常、稳定的运行,然而在具有大运算力的运算芯片中还存在不稳定的情况。
发明内容
为了解决上述问题至少之一,本发明第一个实施例提供一种片上系统,包括:电源芯片和至少两个芯片,其中:所述电源芯片,用于向所述至少两个芯片提供输出电压;所述芯片包括:单晶片,所述单晶片包括多个分区,每个所述分区包括分区传感器;动态调整单元,用于根据各所述分区传感器的监控数据,确定各所述分区的待调整的电压值;以及
所述至少两个芯片包括一个主芯片和至少一个从芯片,其中,所述主芯片的所述动态调整单元还用于,根据其确定的所述主芯片的各所述分区的待调整的电压值,以及所述从芯片的所述动态调整单元确定的所述从芯片的各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片;从而通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整多个芯片的各分区的电压,形成在多个芯片共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压的片上系统,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,所述动态调整单元包括:配置单元,和,调整控制单元;所述调整控制单元被配置为:响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述配置单元中的动态调整表,生成各所述分区的第一指令,所述第一指令用于指示对应的所述分区的待调整的电压值。
本实施例通过设置在动态调整单元中的调整控制单元,分别采用监控阈值要求判断芯片上的各分区的监控数据,并在存在不符合监控阈值要求的情况下,根据动态调整表生成调整的多个第一指令,从而以芯片为基础实现动态调整流程,能够快速、灵活、方便地进行电压的动态调整。
在一个可选的实施例中,所述调整控制单元包括与所述各分区一一对应的调整控制器,所述主芯片的动态调整单元还包括自适应电压调节单元;所述调整控制器被配置为:响应于对应分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述动态调整表生成所述对应分区的所述第一指令;
所述自适应电压调节单元被配置为:根据所述主芯片和从芯片中的各个所述第一指令,调整所述电源芯片的所述输出电压。
本实施例通过与各分区对应的调整控制器实现动态调整流程,具体的,根据各分区的分区传感器的监控数据,通过动态调整单元中的配置单元的动态调整表确定调整指令,并将调整指令传输至设置在主芯片的自适应电压调节单元,不仅根据本芯片的各分区的监控数据、还根据其他芯片的各分区的监控数据共同生成传输至电源芯片的第一指令,从而实现在各芯片共用一个电源芯片的情况下进行电压的动态调整。
在一个可选的实施例中,所述主芯片还包括指令寄存器,用于接收并存储所述从芯片的调整控制单元生成的所述第一指令。
本实施例通过设置在主芯片的指令寄存器,能够存储从芯片生成的第一指令,从而在通过主芯片调整电源芯片的过程中,能够利用指令寄存器直接获取各从芯片的第一指令,有效加快电源芯片的动态调整进程。
在一个可选的实施例中,所述监控数据包括电压采集数据和温度采集数据,所述监控阈值包括对应所述电压采集数据的第一阈值和对应所述温度采集数据的第二阈值;所述调整控制器被配置为:比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令;或者
比较所述监控数据中的所述温度采集数据与所述第二阈值,响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令。
本实施例根据各分区的电压采集数据与第一阈值的比较结果、以及温度采集数据与第二阈值的比较结果触发动态调整流程,通过动态调整表确定调整指令并以输出第一指令的形式调整电源芯片的输出电压,从而实现以各分区的监控数据不符合监控阈值要求触发动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,所述芯片还包括:电源管理单元,用于向所述单晶片输出时钟频率;以及,所述动态调整单元,还用于根据各所述分区传感器的监控数据,调整所述电源管理单元输出的所述时钟频率。
本实施例进一步通过与单晶片配套设置的电源管理单元,根据各分区的分区传感器的监控数据动态调整电源管理单元,从而实现对各分区的时钟频率的动态调整。
在一个可选的实施例中,所述调整控制器还被配置为:响应于所述温度采集数据大于所述第二阈值,生成调整时钟频率走势的所述第二指令,所述第二指令用于指示调整所述电源管理单元的所述时钟频率。
本实施例进一步通过与各分区对应的调整控制器实现时钟频率的动态调整流程,具体的,根据各分区的分区传感器的温度采集数据,通过动态调整单元中的配置单元的动态调整表确定调整指令,以输出第二指令的形式调整电源管理单元的时钟频率走势,从而实现以各分区的温度采集数据不符合监控阈值要求触发时钟频率的动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,所述电源管理单元还被配置为:根据所述第二指令确定所述第二指令对应的所述分区调整后的时钟频率。
本实施例进一步通过电源管理单元根据各分区的第二指令向对应的分区输出时钟频率,从而实现根据各分区的温度采集数据动态调整对应分区的时钟频率。
在一个可选的实施例中,所述动态调整表包括与各分区一一对应的多个调整表单;所述调整控制器还被配置为:响应于对应的所述分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述分区对应的调整表单生成所述分区的所述第一指令。
本实施例进一步限定动态调整表分别包括各分区的调整表单,在动态调整过程中,各分区根据分区传感器的监控数据不符合监控阈值要求触发动态调整,并根据各自的调整表单进行调整,从而更加灵活地调整各分区的电压。
在一个可选的实施例中,所述片上系统的各芯片还包括与所述动态调整单元连接的下垂控制单元,所述下垂控制单元被配置为:基于所述动态调整单元根据所述监控数据对所述电源芯片的调整生成下垂信号;所述动态调整单元还被配置为:接收所述下垂控制单元发送的下垂信号;根据所述下垂信号调整所述电源芯片的所述输出电压。
在本实施例中,结合片上系统的各芯片对应的下垂控制单元,在对电源芯片进行调整后,下垂控制单元生成下垂信号,并使用下垂阈值对下垂信号进行判断若不符合则生成传输至动态调整单元发送中断以触发动态调整单元对所述芯片的各分区的电压进行调整,从而进一步提高片上系统的各芯片的各分区的电压频率的调整准确性,能够缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
本发明第二个实施例提供一种应用于片上系统的动态调节方法,所述片上系统包括电源芯片和至少两个芯片,其中:所述电源芯片,用于向所述至少两个芯片提供输出电压;所述芯片包括:单晶片,所述单晶片包括多个分区,每个所述分区包括分区传感器;
所述方法包括:获取所述至少两个芯片各所述分区的所述分区传感器采集的监控数据;根据所述监控数据,确定各所述分区的待调整的电压值;根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,所述至少两个芯片包括一个主芯片和至少一个从芯片,
所述根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压,进一步包括:所述主芯片接收所述从芯片的各所述分区的待调整的电压值;所述主芯片根据所述从芯片的各所述分区的待调整的电压值,以及所述主芯片的各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
本实施例通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整个芯片的各分区的电压,形成在多个芯片的多个分区共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压。
在一个可选的实施例中,所述根据所述监控数据,调整所述电源芯片的所述输出电压,进一步包括:响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据动态调整表,生成各所述分区的第一指令,所述第一指令用于指示对应的所述分区的待调整的电压值。
本实施例通过与各分区对应的调整控制器实现动态调整流程,具体的,根据各分区的分区传感器的监控数据,通过动态调整单元中的配置单元的动态调整表确定调整指令,以输出第一指令的形式调整电源芯片的输出电压,从而实现以各分区的监控数据不符合监控阈值要求触发动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,所述监控数据包括电压采集数据和温度采集数据,所述监控阈值包括对应所述电压采集数据的第一阈值和对应所述温度采集数据的第二阈值;
所述响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据动态调整表,生成各所述分区的第一指令,进一步包括:所述调整控制器被配置为:比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令;或者
比较所述监控数据中的所述温度采集数据与所述第二阈值,响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令。
本实施例根据各分区的电压采集数据与第一阈值的比较结果、以及温度采集数据与第二阈值的比较结果触发动态调整流程,通过动态调整表确定调整指令并以输出第一指令的形式调整电源芯片的输出电压,从而实现以各芯片的各分区的监控数据不符合监控阈值要求触发动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,所述芯片还包括:电源管理单元,用于向所述单晶片输出时钟频率;
所述响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值,进一步包括:响应于所述温度采集数据大于所述第二阈值,生成调整时钟频率走势的第二指令,使得所述电源管理单元根据所述第二指令,确定所述第二指令对应的所述分区调整后的时钟频率。
本实施例进一步通过与单晶片配套设置的电源管理单元,根据各分区的分区传感器的监控数据动态调整电源管理单元,从而实现对各分区的时钟频率的动态调整。
在一个可选的实施例中,所述动态调整表中包括多个调整等级;所述响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定待调整的电压值并生成所述第一指令,进一步包括:响应于所述温度采集数据大于所述第二阈值;基于第一条件确定目标调整等级,所述第一条件包括所述分区所在的当前调整等级,根据所述目标调整等级确定所述分区的待调整的电压值并生成所述分区的第一指令。
在本实施例中,基于温度采集数据、第二阈值和动态调整表,根据所述分区当前状态生成调整电源芯片的第一指令,从而实现快速、灵活、方便地动态调整各分区的电压和频率。
在一个可选的实施例中,所述动态调整表中还包括所述多个调整等级中的每个所述调整等级对应的第一阈值,以及每个调整等级对应的至少两个电压调整值,
比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令,进一步包括:基于所述分区所在的当前调整等级,确定所述当前调整等级对应的当前第一阈值;比较所述电压采集数据与所述当前第一阈值;响应于所述电压采集数据小于所述当前第一阈值,基于所述当前调整等级对应的当前电压调整值确定所述分区的待调整的电压值并生成所述分区的所述第一指令。
在本实施例中,根据所述分区的电压采集数据,以及动态调整表中的调整等级、各调整等级的第一阈值和至少两个电压调整值形成对各分区的电压的调整框架和调整依据,使得动态调整单元根据采集的监控数据和动态调整表通过查表方式确定第一指令,从而实现快速、灵活、方便地动态调整各分区的电压。
在一个可选的实施例中,所述动态调整表包括与各分区一一对应的多个调整表单;
所述响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据动态调整表,生成各所述分区的第一指令,进一步包括:响应于所述分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述分区对应的调整表单,生成所述分区的调整指令中的所述第一指令。
本实施例进一步限定动态调整表分别包括各分区的调整表单,在动态调整过程中,各分区根据分区传感器的监控数据不符合监控阈值要求触发动态调整,并根据各自的调整表单进行调整,从而更加灵活地调整各分区的电压。
在一个可选的实施例中,所述方法还包括:根据至少一个所述分区的第一指令,确定所述电源芯片的所述输出电压。
本实施例在一个分区的监控数据触发的动态调整过程中,不仅根据本分区的监控数据和本芯片的其他分区生成调整电源芯片的第一指令,还根据其他芯片的其他分区的监控数据生成的第一指令,共同生成传输至电源芯片的第一指令,从而实现在各芯片的各分区共用一个电源芯片的情况下进行电压的动态调整。
在一个可选的实施例中,所述根据至少一个所述分区的第一指令,确定所述电源芯片的所述输出电压,进一步包括:确定至少一个待调整的电压值,所述至少一个待调整的电压值与所述至少一个所述分区的第一指令对应;确定所述至少一个待调整的电压值中的最大电压值,以及将所述最大电压值确定为所述电源芯片的所述输出电压。
本实施例根据所述分区的电压采集数据生成第一指令,根据本芯片的其他分区已生成的第一指令中,以及根据其他芯片的各分区已生成的第一指令中,选取最大电压值并将其作为电源芯片的输出电压,从而在确保各芯片的各分区均能处于正常工作电压的情况下调整电源芯片,即通过选取最大电压值实现电源芯片同时向各芯片的各分区提供的电压信号能够确保各分区处于正常工作状态。
在一个可选的实施例中,所述方法还包括:接收下垂中断,所述下垂中断为根据所述监控数据对所述电源芯片的调整生成的下垂信号不符合预设置的下垂阈值要求生成的;基于所述下垂中断,根据动态调整表调整所述电源芯片的所述输出电压。
在本实施例中,结合片上系统的各芯片对应的下垂控制单元,在各芯片的动态调整单元对电源芯片进行调整后,对应的下垂控制单元生成下垂信号,并使用下垂阈值对下垂信号进行判断若不符合则生成传输至对应的动态调整单元发送中断以触发对应的动态调整单元对各分区的电压进行调整,从而进一步提高片上系统的各芯片的各分区的电压频率的调整准确性,能够缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,所述监控阈值还包括对应所述电压采集数据的第三阈值和对应所述温度采集数据的第四阈值,所述方法还包括:比较所述监控数据中的所述电压采集数据与所述第三阈值,响应于所述电压采集数据大于所述第三阈值,将预设电压值确定为所述分区的所述待调整的电压值并生成所述第一指令;和/或,
比较所述监控数据中的所述温度采集数据与所述第四阈值,响应于所述温度采集数据大于所述第四阈值,将预设时钟频率走势确定为所述分区的所述待调整的频率走势并生成所述第二指令、将所述预设电压值确定为所述分区的所述待调整的电压值并生成所述第一指令。
在本实施例中,为了进一步避免IR压降对片上系统的各单晶片的各分区的运算性能的影响,在动态调整单元的调整过程中设置熔断保护,具体的,通过作为熔断阈值的第三阈值和第四阈值,分别对采集的电压采集数据和温度采集数据进行熔断检测,当一个分区的温度采集数据和电压采集数据中的任一项超过熔断阈值时,通过预设时钟频率走势调整电源管理芯片将所述分区的频率设置为频率保护值、或者通过预设电压值调整电源芯片将所述分区的电压设置为电压保护值,从而保护片上系统的各单晶片的各分区,确保硬件运算单元处于安全工作环境,有效提高片上系统的使用寿命。
本发明第三个实施例提供一种芯片系统,包括第一个实施例所述的片上系统。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片;从而通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整多个芯片的各分区的电压,形成在多个芯片共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压的片上系统,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
本发明第四个实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理核执行时实现如第二个实施例所述的方法。
本发明第五个实施例提供一种计算机设备,包括存储器、处理核及存储在存储器上并可在处理核上运行的计算机程序,所述处理核执行所述程序时实现如第二个实施例所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施例所述片上系统的结构框图;
图2示出本发明的另一个实施例所述片上系统的结构框图;
图3示出本发明的另一个实施例所述片上系统的结构框图;
图4示出本发明的另一个实施例所述片上系统的结构框图;
图5示出本发明的另一个实施例所述片上系统的结构框图;
图6示出本发明的一个实施例所述动态调节方法的流程图;
图7示出本发明的另一个实施例所述片上系统的结构框图;
图8示出本发明的另一个实施例所述动态调节方法的流程图;
图9示出本发明的另一个实施例所述的一种计算机设备的结构示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
现有技术中,在消费类芯片中使用动态电压频率调整(DVFS)技术能够实现芯片的正常、稳定的运行,然而在具有大运算力的运算芯片中还存在不稳定的情况。
针对上述情况,发明人经过经大量研究和试验提出,运算芯片使用动态电压频率调整(DVFS)技术存在不稳定的原因在于:随着运算芯片集成度的不断增加,电源电压的波动越来越大,而电源电压的波动主要为电流流过电源网络的寄生电阻引起的IR压降(IRdrop)造成的,即运算芯片的IR压降容易影响芯片的运算性能,导致芯片的稳定性能大幅降低。换句话说,运算芯片因为IR压降的影响对动态调整技术具有更严苛的要求。
根据上述问题和导致该问题的原因,如图1所示,本发明的一个实施例提供了一种片上系统,包括电源芯片和至少两个芯片,其中:所述电源芯片,用于向所述至少两个芯片提供输出电压;所述芯片包括:单晶片,所述单晶片包括多个分区,每个所述分区包括分区传感器;动态调整单元,用于根据各所述分区传感器的监控数据,确定各所述分区的待调整的电压值;以及
所述至少两个芯片包括一个主芯片和至少一个从芯片,其中,所述主芯片的所述动态调整单元还用于,根据其确定的所述主芯片的各所述分区的待调整的电压值,以及所述从芯片的所述动态调整单元确定的所述从芯片的各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片;从而通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整多个芯片的各分区的电压,形成在多个芯片共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压的片上系统,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个具体的实施例中,如图1所示,片上系统包括芯片1、芯片2和电源芯片,其中芯片1包括单晶片1和与单晶片1配套的动态调整单元1,单晶片1为主单晶片;芯片2包括单晶片2和与单晶片2配套的动态调整单元2,单晶片2为从单晶片;电源芯片与主单晶片连接,即片上系统的单晶片1和单晶片2共用一个电源芯片。
其中,所述单晶片(die)为通过切割晶圆形成的一块半导体材料,通过诸如光刻的工艺在电子级硅(EGS)或其他半导体(例如GaAs)材料上形成的集成电路。所述单晶片上的集成电路进一步根据功能需求或电路设计需求进行分区,例如一个单晶片包括4个分区,每个分区包括分区传感器以检测所属分区的工作状态,例如每个分区包括8个处理核,每个处理核均包括用于检测温度和电压的传感器,每个分区根据各处理核的检测温度和检测电压确定所述分区的工作状态。例如将每个分区中各处理核的检测温度的传感器输出的检测温度的最大值作为所述分区的温度采样数据,将每个分区中各处理核的检测电压的传感器输出的检测电压的最小值作为所述分区的电压采样数据,并将所述分区的温度采样数据和电压采样数据传输至所述动态调整单元。
所述电源芯片为所述片上系统的各单晶片供电,如图1所示,所述电源芯片为单晶片1和单晶片2的各分区提供电压信号,本实施例中两个单晶片共用一个电源芯片,即两个单晶片的8个分区均通过一个电源芯片进行供电,因此,所述片上系统的各单晶片的各分区的电压信号相同。
每个芯片包括一个动态调整单元,通过动态调整单元根据各单晶片的各分区的监控数据动态调整电源芯片,从而调整电源芯片向各芯片提供的输出电压。具体的,在本实施例的片上系统中,在动态调整电源芯片的过程中,不仅要考虑主芯片的各分区的电压调整值,还要考虑从芯片的各分区的电压调整值,根据主芯片和从芯片的电压调整值共同确定所述片上系统的电压调整值,从而调整电源芯片。
即通过各芯片的动态调整单元采集本芯片的各分区的监控数据,在多个单晶片的多个分区共用一个电源芯片的基础上、根据各分区的监控数据不符合预设置的监控阈值要求进行电压的动态调整。即通过各芯片的各分区的监控数据触发对电源芯片的调整,使得电源芯片根据不同芯片不同分区的调整需求动态调整对片上系统的供电电压,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,如图2所示,所述动态调整单元包括:配置单元,和,调整控制单元;所述调整控制单元被配置为:响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述配置单元中的动态调整表,生成各所述分区的第一指令,所述第一指令用于指示对应的所述分区的待调整的电压值。
在本实施例中,通过设置在动态调整单元中的调整控制单元,分别采用监控阈值要求判断芯片上的各分区的监控数据,并在存在不符合监控阈值要求的情况下,根据配置单元中存储的动态调整表生成调整的多个第一指令。例如芯片1的调整控制单元根据各分区的监控数据与监控阈值进行比对,当不符合监控阈值要求时根据监控数据从动态调整表中获取待调整的第一电压调整值并生成对应的第一指令;同理,芯片2的调整控制单元根据各分区的监控数据与监控阈值进行比对,当不符合监控阈值要求时根据监控数据从动态调整表中获取待调整的第二电压调整值并生成对应的第一指令;然后根据多个第一指令最终确定输出至电源芯片的第一指令,从而以芯片为基础实现动态调整流程,能够快速、灵活、方便地进行电压的动态调整。
在一个可选的实施例中,如图3所示,所述调整控制单元包括与所述各分区一一对应的调整控制器,所述主芯片的动态调整单元还包括自适应电压调节单元;所述调整控制器被配置为:响应于对应分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述动态调整表生成所述对应分区的所述第一指令;所述自适应电压调节单元被配置为:根据所述主芯片和从芯片中的各个所述第一指令,调整所述电源芯片的所述输出电压。
在本实施例中,通过与各分区对应的调整控制器实现动态调整流程,即根据各分区的分区传感器的监控数据,通过动态调整单元中的配置单元的动态调整表确定调整指令,并将调整指令传输至设置在主芯片的自适应电压调节单元,不仅根据本芯片的各分区的监控数据、还根据其他芯片的各分区的监控数据共同生成传输至电源芯片的第一指令,从而实现在各芯片共用一个电源芯片的情况下进行电压的动态调整。
例如芯片1的调整控制单元根据与各分区对应的调整控制器,其中,第一分区的调整控制器用于根据第一分区的监控数据与监控阈值进行比对并启动电压调整流程,第二分区的调整控制器用于根据第二分区的监控数据与监控阈值进行比对并启动电压调整流程,第三分区的调整控制器用于根据第三分区的监控数据与监控阈值进行比对并启动电压调整流程,第四分区的调整控制器用于根据第四分区的监控数据与监控阈值进行比对并启动电压调整流程;同理,芯片2的调整控制单元也具有相同功能的与各分区对应的调整控制器。当存在不符合监控阈值要求的监控数据时,对应的调整控制器启动调整流程并从动态调整表中获取待调整的电压调整值并生成对应的第一指令。
同时,基于主芯片设置的自适应电压调节单元,根据多个芯片的多个分区的电压按调整值生成最终确定输出至电源芯片的第一指令,从而以各芯片的各分区为基础实现动态调整流程,能够快速、灵活、方便地进行电压的动态调整。
在一个可选的实施例中,如图4所示,所述主芯片还包括指令寄存器,用于接收并存储所述从芯片的调整控制单元生成的所述第一指令。
本实施例通过设置在主芯片的指令寄存器,能够存储从芯片生成的第一指令,从而在通过主芯片调整电源芯片的过程中,能够利用指令寄存器直接获取各从芯片的第一指令,有效加快电源芯片的动态调整进程。
具体的,基于主芯片设置的自适应电压调节单元在生成输出至电源芯片的第一指令时,对从芯片的各分区的电压调整值的需求,在主芯片的动态调整单元中设置指令寄存器,所述指令寄存器用于存储表征各分区的电压调整值的第一指令,从而在自适应电压调节单元确定最终的电压调整值时,方便地读取从芯片的各分区的电压调整值。
在一个可选的实施例中,所述监控数据包括电压采集数据和温度采集数据,所述监控阈值包括对应所述电压采集数据的第一阈值和对应所述温度采集数据的第二阈值;所述调整控制器被配置为:比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令;或者,比较所述监控数据中的所述温度采集数据与所述第二阈值,响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令。
在本实施例中,对电压采集数据和温度采集数据的具体情况进行限定。具体的,根据各分区的电压采集数据与第一阈值的比较结果,即在电压采集数据小于第一阈值的情况下触发电压动态调整,并根据动态调整表生成对应的第一指令;根据各分区的温度采集数据与第二阈值的比较结果,即在温度采集数据大于第二阈值的情况下触发电压动态调整,并根据动态调整表生成对应的第一指令,从而实现以各分区的监控数据不符合监控阈值要求触发动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,如图5所示,所述芯片还包括:电源管理单元,用于向所述单晶片输出时钟频率;以及,所述动态调整单元,还用于根据各所述分区传感器的监控数据,调整所述电源管理单元输出的所述时钟频率。
在本实施例中,所述电源管理单元为所述单晶片提供频率,具体的,所述电源管理单元分别为所述单晶片的各分区提供时钟信号。
所述动态调整单元通过电源芯片和电源管理单元实现对片上系统的动态电压频率调整(Dynamic Voltage Frequency Scaling,DVFS),从而根据单晶片的实时负载需求动态调整芯片的工作频率和工作电压。具体的,所述动态调整单元包括存储有动态调整表的配置单元和与各分区一一对应的调整控制器,所述动态调整单元的调整控制器基于所述分区的温度采样数据和电压采样数据进行数据处理、并根据调整表单确定电压和频率的调整值以调整电源芯片和电源管理单元,从而实现对所述分区的电压和频率进行调整。
在一个可选的实施例中,所述调整指令还包括调整所述电源管理单元的所述时钟频率的第二指令,所述调整控制器还被配置为:响应于所述温度采集数据大于所述第二阈值,生成调整时钟频率走势的所述第二指令,所述第二指令用于指示调整所述电源管理单元的所述时钟频率。在一可实现的实施例中,可针对单晶片的多个分区设置同一个第二阈值,也可以针对每个分区单独设置对应的第二阈值。
在本实施例中,当温度采集数据大于对应的第二阈值时,调整控制器进行动态调整,根据动态调整表获取时钟频率走势,通过该时钟频率走势生成传输至电源管理单元的第二指令,从而通过电源管理单元修改对单晶片的各分区的时钟频率。值得说明的是,电源管理单元根据各分区的温度采集数据分别调整各分区的时钟频率。即本实施例进一步通过与单晶片配套设置的电源管理单元,通过动态调整表确定调整指令并以输出第二指令的形式调整电源管理单元的时钟频率走势,以及电源管理单元根据该第二指令向对应的分区输出调整后的时钟频率,从而实现根据各分区的分区传感器的监控数据动态调整电源管理单元,以及对各分区的时钟频率的动态调整。其中,时钟频率走势是指向上调节、向下调节或者维持,电源管理单元配置有频率调整策略,所以电源管理单元接收到指示时钟频率走势的第二指令后,可根据该第二指令以及频率调整策略确定调整后的时钟频率,并进一步向该第二指令对应的分区输出调整后的时钟频率。
在一个可选的实施例中,所述动态调整表包括与各分区一一对应的多个调整表单;所述调整控制器还被配置为:响应于对应的所述分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述分区对应的调整表单生成所述分区的所述第一指令。
本实施例进一步限定动态调整表分别包括各分区的调整表单,所述多个调整表单可以为相同的表单也可以为不同的表单,当各调整表单为相同表单时,各分区按照相同的调整表单对工作电压和工作频率进行动态调整;当各调整表单为不同表单时,各分区按照对应的调整表单能够更加灵活地对工作电压和工作频率进行动态调整。在动态调整过程中,各分区根据分区传感器的监控数据不符合监控阈值要求触发动态调整,并根据各自的调整表单进行调整,从而更加灵活地调整各分区的电压。
在一个具体的示例中,如图6所示,以完成一次动态电压频率调整进行说明:
第一步,获取所述至少两个芯片各所述分区的所述分区传感器采集的监控数据获取所述芯片各所述分区的所述分区传感器采集的监控数据。
在本实施例中,所述片上系统的各芯片的单晶片的各分区的调整控制器按照预设置的时间间隔获取所对应分区的监控数据,单晶片的第一分区对应的调整控制器获取第一分区的分区传感器的监控数据。所述调整控制器通过第一分区的分区传感器获取第一分区的电压采集数据和温度采集数据,具体的,第一分区包括多个处理核,每一个处理核的检测温度可作为该第一分区的温度采集数据,即将每个处理的检测温度上报给动态调整单元。或者,可将某一时段内,该第一分区的多个处理核中检测温度的最大值作为该第一分区的温度采集数据,即将某一时段内多个处理核中检测温度的最大值上报给动态调整单元。
例如,将所述第一分区的各处理核的检测温度的最大值(例如65℃)作为温度采集数据,将所述第一分区的各处理核的检测电压的最小值(例如0.53V)作为电压采集数据。第一分区的分区传感器将感测值输出至动态调整单元中对应的调整控制器,本申请对具体传输方式不作限定。
需要说明的是,为了确保单晶片的各分区工作在合适的电压和频率环境下,本实施例通过预设的时间间隔来控制动态调整单元定时进行电压和频率的自动调整,即动态调整单元中与各分区对应的调整控制器按照设定的时间间隔重复进行电压频率的动态调整。本申请对预设时间间隔不作具体限定,本领域技术人员应当根据实际应用需求选择适当的时间间隔,在此不再赘述。
第二步,根据所述监控数据,确定各分区的待调整的电压值,确定各分区的待调整的时钟频率走势。
在本实施例中,首先,所述调整控制器将监控数据和监控阈值进行比对,并生成比对结果。具体的,将电压采集数据与第一阈值进行比对,或者,将温度采集数据与第二阈值进行比对,并生成比对结果。
为了确保第一分区的各处理核的运算性能,当监控数据中的任一项不满足阈值时就进行调整。例如当第一分区的温度采集数据大于第二阈值时、或者当第一分区的电压采集数据小于第一阈值时均进行调整,本实施例通过对调整时机的限定,能够进一步提高各单晶片的各分区的工作状态和运算性能。
在本实施例中,如表1所示,所述动态调整表可以为单晶片的独立的调整表单;也可以为包括与各分区对应的多个调整表单,各调整表单为相同的表单;即各分区均使用相同的调整表作为调整依据。每个调整表单中存储包括level0-level10共11个调整等级(Level)、以及每个等级level的配置项,每个level的配置项包括:该level的最低电压阈值Min Volt(即第一阈值)、时钟频率PP、多级电压调整值voltage0、voltage1、voltage2,不同的level表示在不同的时钟频率PP下向各分区输出相同或者不同的电压值(voltage0-2)时,其对应的最小电压值Min Volt,该调整表单还包括多个保留设置(Reserve)以便于进行扩展应用。
值得说明的是,在确定调整等级的时候,还包括预设置的调整范围,若根据调整步距进行上调或下调超过调整范围时,以调整范围的边界值作为调整等级,即调整等级不能超出调整范围。例如,当调整等级上调时超过调整范围的最高调整等级则调整等级为调整范围的最高调整等级,反之,当调整等级下调时超过调整范围的最低调整等级则调整等级为调整范围的最低调整等级。当电压采集数据小于最小电压值时将电压调整值设置为多级电压调整值,若再次进行电压频率的动态调整时仍需向上调整电压时,将电压调整值设置为更高一级的电压调整值。
在本实施例中,芯片1的单晶片1的4个分区当前的调整等级相同均为Level7、并且电压调整值均为voltage0;芯片2的单晶片2的4个分区当前的调整等级相同均为Level7、并且电压调整值均为voltage0,此时,电源芯片向4个分区输出的输出电压为0.68V,各芯片的电压管理单元分别向4个分区输出的时钟频率为3.2。
表1调整表单
在正常工作过程中,动态调整单元根据各分区的分区传感器采集的实时的电压采集数据或温度采集数据,控制电源芯片向单晶片的各分区输出工作电压、控制电源管理单元分别向各分区输出时钟频率。
具体的,以获取实时的温度采集数据为例说明:
芯片1的单晶片1的第二分区对应的调整控制器2获取到该第二分区的传感器采集的温度采集数据假设为65℃,调整控制器2判断该采集的65℃大于第二阈值假设60℃,即不符合预设置的监控阈值要求。
其次,所述调整控制器根据比对结果、所述监控数据和对应的调整表单调整电源芯片的输出电压、以及输出至电源管理单元的时钟频率走势。
在本实施例中,调整控制器2确定第二分区当前的调整等级为Level7,假设设置的调整步距为1,根据调整表单确定第二分区从level7向下调节为level6,即将第二分区的时钟频率走势为向下调节,即需要调整为3.1,根据时钟频率走势生成第二指令发送给电源管理单元(电源管理单元可根据该时钟频率走势确定调整后的时钟频率为3.1)以调节第二分区的时钟频率。值得说明的是,此时,芯片1的单晶片1的第一分区、第三分区和第四分区的时钟频率不变,芯片2的单晶片2的第一分区、第二分区、第三分区和第四分区的时钟频率不变仍为时钟频率3.2。
最后,根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
在本实施例中,单晶片1的第二分区对应的调整控制器2根据调整表单确定电压调整值从level7的voltage0(0.68V)调整为level6的voltage0(0.65V)。基于主芯片的自适应电压调节单元,芯片1的调整控制器2将电压值0.65V发送至芯片1的自适应电压调节单元;考虑到各芯片的各单晶片的各分区共用一个电源芯片,以及各芯片的各分区的各处理核需要获得运行在正常工作状态下的工作电压,此时,单晶片1的第一分区对应的调整控制器1曾经根据采集的电压采集数据或温度采集数据向芯片1的自适应电压调节单元发送的电压调整值、单晶片1的第三分区对应的调整控制器3曾经根据采集的电压采集数据或温度采集数据向自适应电压调节单元发送的电压调整值、单晶片1的第四分区对应的调整控制器4曾经根据采集的电压采集数据或温度采集数据向自适应电压调节单元发送的电压调整值,以及,芯片2上的单晶片2中的各分区对应的调整控制器曾经根据采集的电压采集数据或温度采集数据向芯片1的指令寄存器发送的单晶片2中的各分区的电压调整值,由芯片1的自适应电压调节单元确定最终的电压调整值并生成第一指令以调节电源芯片。假设,芯片1的单晶片1的第一分区、第三分区和第四分区、以及芯片2的单晶片2的第一分区、第二分区、第三分区和第四分区的历史第一指令的电压调整值均为0.68V;考虑到需要满足各分区的供电需求,自适应电压调节单元将两个芯片的8个分区中的最大电压调整值作为最终的电压调整值并生成第一指令传输至电源芯片。
值得说明的是,本实施例为了进一步提高各芯片的各单晶片的各分区的工作状态和运算性能,当对电压和频率进行向上调整时先调整电压再调整频率,从而确保芯片1的单晶片1的第二分区的各处理核在调整频率的时候接收的电压信号能够支持调整的频率,从而避免各处理核因为电压信号较低导致各处理核无法在调整的频率下正常运行;相类似的,当对电压和频率进行向下调整时先调整频率再调整电压,从而确保芯片1的单晶片1的第二分区的各处理核在调整频率后再降低电压信号以确保调整过程中,各处理核在不同频率下始终能够正常运行。
调整之后,芯片1的单晶片1的第一分区、第三分区和第四分区、以及芯片2的单晶片2的第一分区、第二分区、第三分区和第四分区的当前调整等级为level7,分别获得对应的电源管理单元输出的时钟频率为3.2,获得的电源芯片的供电为0.68V。芯片1的单晶片1的第二分区的当前调整等级为level6,获得对应的电源管理单元输出的时钟频率为3.1,获得的电源芯片的供电为0.68V。即每个芯片的每个分区可根据其算力需求的不同配置不同的调整等级、时钟频率走势和电压调整值,但基于多个芯片的多个单晶片的多个分区共用一个电源芯片,各芯片的各分区获得的工作电压相同。
至此,完成一次动态调整。本实施例根据片上系统的硬件架构,通过动态调整单元采集各芯片的各单晶片的各分区的监控数据,通过主芯片的自适应电压调节单元对所述各芯片的各分区的电压调整值进行决策,并确定最终电压调整值,再向电源芯片发指令,从而实现在各分区共用一个电源芯片的情况下进行电压的动态调整。并且,根据该分区采集的温度采集数据和对应的动态调整表单获取所述分区的频率调整值,以向该分区所在芯片对应的电源管理单元发指令的形式,实现根据温度采集数据调整电源管理单元向对应分区输出所需的是指频率,从而实现了对各芯片的各分区的电压频率的动态调节。换句话说,本实施例能够在多个芯片的多个单晶片的多个分区共用一个电源芯片的基础上、按照各芯片的各分区的监控数据动态调整电压的片上系统,能够快速、灵活、方便地进行电压频率的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,如图7所示,所述片上系统的各芯片还包括与所述动态调整单元连接的下垂控制单元,所述下垂控制单元被配置为:基于所述动态调整单元根据所述监控数据对所述电源芯片的调整生成下垂信号;所述动态调整单元还被配置为:接收所述下垂控制单元发送的下垂信号;根据所述下垂信号调整所述电源芯片的所述输出电压。
在本实施例中,结合片上系统的各芯片对应的下垂控制单元,在对电源芯片进行调整后,下垂控制单元生成下垂信号,并使用下垂阈值对下垂信号进行判断若不符合则生成传输至动态调整单元发送中断以触发动态调整单元对所述芯片的各分区的电压进行调整,从而进一步提高片上系统的各芯片的各分区的电压频率的调整准确性,能够缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个具体的示例中,如图7和图8所示,仍以第二分区进行电压频率的动态调节为例进行说明。
S10:所述调整控制器利用自适应时钟分配单元进行校准。
本实施例在进行电压频率的动态调节前,先利用片上系统已有的自适应时钟分配单元进行校准,即通过各芯片对应的自适应时钟分配单元分别对存储在动态调整单元的配置单元的动态调整表进行校验,从而提高片上系统的运算性能。
值得说明的是,本申请对自适应时钟分配单元不作具体限定,本领域技术人员应当根据实际应用需求选择适当的自适应时钟分配单元,在此不再赘述。
S20:获取所述至少两个芯片各所述分区的所述分区传感器采集的监控数据。
在本实施例中,各芯片的各单晶片的各分区调整控制器获取所属分区的监控数据,如图7所示,芯片1的单晶片1的第二分区对应的调整控制器2获取第二分区的分区传感器的监控数据。在本实施例中,如表2-表5,所述动态调整表为包括与各分区对应的多个调整表单,各调整表单为不同的表单;即各分区各自使用符合本分区的电压频率调整规则的调整表作为调整依据。具体表单结构同前述实施例,在此不再赘述。
表2第一分区的调整表单
Level | Min Volt | PP | Voltage2 | Voltage1 | Voltage0 |
level0 | 0.50 | BOOT | 0.57 | 0.56 | 0.55 |
level1 | 0.50 | 1.0 | 0.57 | 0.56 | 0.55 |
level2 | 0.53 | 2.0 | 0.62 | 0.61 | 0.60 |
level3 | 0.54 | 2.1 | 0.63 | 0.62 | 0.61 |
level4 | 0.55 | 2.2 | 0.64 | 0.63 | 0.62 |
level5 | 0.58 | 3.0 | 0.66 | 0.64 | 0.63 |
表3第二分区的调整表单
Level | Min Volt | PP | Voltage2 | Voltage1 | Voltage0 |
level0 | 0.50 | BOOT | 0.57 | 0.56 | 0.55 |
level1 | 0.50 | 1.0 | 0.57 | 0.56 | 0.55 |
level2 | 0.52 | 2.0 | 0.63 | 0.62 | 0.61 |
level3 | 0.54 | 2.1 | 0.64 | 0.63 | 0.62 |
level4 | 0.56 | 2.2 | 0.66 | 0.64 | 0.63 |
level5 | 0.59 | 3.0 | 0.67 | 0.66 | 0.64 |
表4第三分区的调整表单
Level | Min Volt | PP | Voltage2 | Voltage1 | Voltage0 |
level0 | 0.51 | BOOT | 0.58 | 0.57 | 0.56 |
level1 | 0.51 | 1.0 | 0.58 | 0.57 | 0.56 |
level2 | 0.52 | 2.0 | 0.63 | 0.62 | 0.61 |
level3 | 0.54 | 2.1 | 0.64 | 0.63 | 0.62 |
level4 | 0.55 | 2.2 | 0.65 | 0.64 | 0.63 |
level5 | 0.58 | 3.0 | 0.66 | 0.64 | 0.62 |
表5第四分区的调整表单
Level | Min Volt | PP | Voltage2 | Voltage1 | Voltage0 |
level0 | 0.50 | BOOT | 0.57 | 0.56 | 0.55 |
level1 | 0.50 | 1.0 | 0.57 | 0.56 | 0.55 |
level2 | 0.52 | 2.0 | 0.61 | 0.60 | 0.59 |
level3 | 0.53 | 2.1 | 0.62 | 0.61 | 0.60 |
level4 | 0.54 | 2.2 | 0.65 | 0.64 | 0.62 |
level5 | 0.55 | 3.0 | 0.67 | 0.65 | 0.63 |
在本实施例中,芯片1的单晶片1的4个分区当前的调整等级各不相同,其中,第一分区的当前调整等级为level3、电压调整值为Voltage1,第二分区的当前调整等级为level2、电压调整值为Voltage0,第三分区的当前调整等级为level3、电压调整值为Voltage0,第四分区的当前调整等级为level4、电压调整值为Voltage1;芯片2的单晶片2的4个分区当前的调整等级各不相同,其中,第一分区的当前调整等级为level3、电压调整值为Voltage1,第二分区的当前调整等级为level4、电压调整值为Voltage0,第三分区的当前调整等级为level2、电压调整值为Voltage2,第四分区的当前调整等级为level3、电压调整值为Voltage2。由于两个芯片的8个分区共用一个电源芯片,电源芯片向8个分区输出的输出电压为0.62V,芯片1的单晶片1的电源管理单元对第一分区到第四分区输出的时钟频率依次为2.1、2.0、2.1和2.2;芯片2的单晶片2的电源管理单元对第一分区到第四分区输出的时钟频率依次为2.1、2.2、2.0和2.1。
S30:所述调整控制器将所述监控数据与预设置的监控阈值进行比对,并根据比对结果、所述监控数据和对应的调整表单调整所述电源芯片的所述输出电压,所述调整控制器与所述自适应时钟分配单元进行握手通信。
以获取实时的电压采集数据为例说明:
首先,芯片1的单晶片1的第二分区的调整控制器2获取到该分区传感器采集的电压采集数据为0.5V,在同一时刻或者同一时段内,可能收到两个第二分区的监控数据,此时单晶片1的第四分区对应的调整控制器4,获取到其分区传感器采集的电压值为0.52V。
其次,调整控制器2确定单晶片1的第二分区的当前调整等级的level2的第一阈值为0.52V,调整控制器2判断该采集的0.5V小于第一阈值0.52V,即不符合预设置的监控阈值要求,则根据表3的第二分区对应的调整表单,应将芯片1的单晶片1的第二分区的电压从voltage0向上调整为voltage1,即确定第二分区的调整电压值为level2的Voltage1的0.62V。
调整控制器4确定单晶片1的第四分区的当前调整等级的level4的第一阈值为0.54V,调整控制器4判断该采集的0.52V小于第一阈值0.54V,即不符合预设置的监控阈值要求,则根据表5的第四分区对应的调整表单,应将单晶片1的第四分区的电压从voltage0向上调整为voltage1,即确定第四分区的调整电压值为level4的Voltage1的0.64V。
再者,基于主芯片的自适应电压调节单元,单晶片1的第二分区的调整控制器2将调整电压值0.62V发送至自适应电压调节单元;单晶片1的第四分区的调整控制器4将调整电压值0.64V发送至自适应电压调节单元。
考虑到两个芯片的两个单晶片的各分区共用一个电源芯片,以及各分区的各处理核需要获得运行在正常工作状态下的工作电压,此时,单晶片1的第一分区对应的调整控制器1曾经根据采集的电压采集数据或温度采集数据向芯片1的自适应电压调节单元发送的电压调整值、单晶片1的第三分区对应的调整控制器3曾经根据采集的电压采集数据或温度采集数据向自适应电压调节单元发送的电压调整值,以及,芯片2上的单晶片2中的各分区对应的调整控制器曾经根据采集的电压采集数据或温度采集数据向芯片1的指令寄存器发送的单晶片2中的各分区的电压调整值,由芯片1的自适应电压调节单元确定最终的电压调整值并生成第一指令以调节电源芯片。假设,芯片1的单晶片1的第一分区、第三分区向自适应电压调节单元发送的第一指令的电压调整值分别为0.62V、0.62V;芯片2的单晶片2的第一分区、第二分区、第三分区和第四分区的历史第一指令的电压调整值分别为0.62V、0.63V、0.63V、0.62V;考虑到需要满足各芯片的各分区的供电需求,芯片1的自适应电压调节单元将两个芯片八个分区中的最大电压调整值0.64V(单晶片1的第四分区的调整电压值),作为最终的电压调整值并生成第一指令传输至电源芯片。
调整之后,芯片1的单晶片1的第一分区、第二分区、第三分区和第四分区的当前调整等级不变;芯片2的单晶片2的第一分区、第二分区、第三分区和第四分区的当前调整等级不变,电源芯片向该8个分区输出的输出电压0.64V。
S40:通过自适应时钟分配单元的下垂控制单元在动态调整单元对单晶片的各分区进行电压和频率的动态调整后,下垂控制单元模拟生成各分区的工作电压的下垂信号,并利用下垂阈值对下垂信号进行判断并在下垂信号小于下垂阈值的情况下发送下垂中断至动态调整单元以触发工作电压和工作频率的动态调整。
当动态调整单元完成对芯片1的单晶片1的第二分区的电压调整后,芯片1的单晶片1对应的自适应时钟分配单元的下垂控制单元模拟的第二分区的工作电压,本实施例中下垂控制单元生成的下垂信号为0.51V,下垂阈值为0.52V,下垂信号0.51V小于下垂阈值0.52V,下垂控制单元向动态调整单元发送下垂中断。所述动态调整单元根据接收的下垂中断进行动态调整,将芯片1的单晶片1的第二分区的电压从voltage1向上调整为voltage2,即调整电压值为0.63V。考虑到需要满足各分区的供电需求,自适应电压调节单元将两个芯片八个分区的电压调整值(0.62V、0.63V、0.62V、0.64V、0.62V、0.63V、0.63V、0.62V)中的最大电压调整值0.64V作为最终的电压调整值并生成第一指令传输至电源芯片,使得电源芯片向各分区输出的输出电压为0.64V。
当动态调整单元完成对芯片1的单晶片1的第二分区的电压调整后,芯片1的单晶片1的自适应时钟分配单元的下垂控制单元模拟的第二分区的工作电压,此时,下垂控制单元生成的下垂信号为0.60V,大于下垂阈值0.52V,下垂控制单元不再动作。
在本实施例中,结合片上系统的自适应时钟分配单元的下垂控制单元,在动态调整单元对电源芯片进行调整后,下垂控制单元生成下垂信号,并使用下垂阈值对下垂信号进行判断,若不符合则生成传输至动态调整单元发送中断并跳转至S30以触发动态调整单元对各分区的电压进行调整、以及对各分区的频率进行调整,从而进一步提高片上系统的各单晶片的各分区的电压频率的调整准确性,能够缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
最后,S50:所述调整控制器判断所述分区的频率和/或电压是否更新,若所述分区的频率和/或电压更新则跳转至S10。
在本实施例中,基于芯片1的单晶片1的第二分区的调整控制器与所述自适应时钟分配单元的握手通信,在所述调整控制器完成第二分区的电压和频率的动态调整之后,通过对所述分区中频率、电压任意一项的更新判断,在频率更新后、或者电压更新后、或者频率和电压均更新后,再次使用所述自适应时钟分配单元进行校准,从而进一步提高片上系统的各单晶片的各分区的电压频率的调整准确性。
具体的,如图8所示,当芯片1的单晶片1的第二分区完成电压频率的动态更新后,若芯片1的单晶片1的第二分区存在更新的电压或频率,或存在更新的电压和频率,使用所述自适应时钟分配单元进行校准;若第二分区未更新电压和频率,按照预设置的时间间隔,在下一时刻进行电压频率的动态调整。
至此,基于各芯片的自适应时钟分配单元以及其下垂控制单元,完成一次动态调整。本实施例结合片上系统的自适应时钟分配单元,在动态调整电压频率之前先利用自适应时钟分配单元进行校准,在动态调整电压频率的过程中与自适应时钟分配单元进行握手通信,在动态调整电压频率之后通过下垂控制单元生成的下垂信号和预设置的下垂阈值进行再次判断,若不符合下垂阈值则再次出发动态调整,最后利用自适应时钟分配单元再次进行校准,从而进一步提高片上系统的各单晶片的各分区的电压频率的调整准确性,能够缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
为进一步提高片上系统的各单晶片的正常运行,在一个可选的实施例中,所述监控阈值还包括对应所述电压采集数据的第三阈值和对应所述温度采集数据的第四阈值,所述方法还包括:比较所述监控数据中的所述电压采集数据与所述第三阈值,响应于所述电压采集数据大于所述第三阈值,将预设电压值确定为所述分区的所述待调整的电压值并生成所述第一指令;和/或,
比较所述监控数据中的所述温度采集数据与所述第四阈值,响应于所述温度采集数据大于所述第四阈值,将预设时钟频率走势确定为所述分区的所述待调整的频率走势并生成所述第二指令、将所述预设电压值确定为所述分区的所述待调整的电压值并生成所述第一指令。
在本实施例中,为了进一步避免IR压降对片上系统的各单晶片的各分区的运算性能的影响,在动态调整单元的调整过程中设置熔断保护。具体的,通过熔断阈值对采集的温度采集数据和电压采集数据进行熔断检测,当一个分区的温度采集数据和电压采集数据中的任一项超过熔断阈值时,例如当第一分区的温度采集数据大于温度熔断阈值的第四阈值时、或者当电压采集数据大于电压熔断阈值的第三阈值时、或者当温度采集数据大于第四阈值并且电压采集数据大于第三阈值时,直接向电源管理单元发送第二指令将所述第一分区的频率降为预设的时钟频率。当温度采集数据大于第四阈值时,向电源芯片发送第一指令将所属单晶片的各分区的电压降为预设的电压值,从而保护片上系统的各单晶片的各分区,确保硬件运算单元处于安全工作环境,有效提高片上系统的使用寿命。
与上述实施例提供的片上系统相对应,本申请的一个实施例还提供一种应用于所述片上系统的动态调节方法,由于本申请实施例提供的动态调节方法与上述几种实施例提供的片上系统相对应,因此在前实施方式也适用于本实施例提供的动态调节方法,在本实施例中不再详细描述。
如图6所示,本申请的一个实施例还提供一种应用于所述片上系统的动态调节方法,所述片上系统包括电源芯片和至少两个芯片,其中:所述电源芯片,用于向所述至少两个芯片提供输出电压;所述芯片包括:单晶片,所述单晶片包括多个分区,每个所述分区包括分区传感器;
所述方法包括:获取所述至少两个芯片各所述分区的所述分区传感器采集的监控数据;根据所述监控数据,确定各所述分区的待调整的电压值;根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,所述至少两个芯片包括一个主芯片和至少一个从芯片。所述根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压,进一步包括:所述主芯片接收所述从芯片的各所述分区的待调整的电压值;所述主芯片根据所述从芯片的各所述分区的待调整的电压值,以及所述主芯片的各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
本实施例通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整个芯片的各分区的电压,形成在多个芯片的多个分区共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压。
在一个可选的实施例中,所述根据所述监控数据,调整所述电源芯片的所述输出电压,进一步包括:响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据动态调整表,生成各所述分区的第一指令,所述第一指令用于指示对应的所述分区的待调整的电压值。
本实施例通过与各分区对应的调整控制器实现动态调整流程,具体的,根据各分区的分区传感器的监控数据,通过动态调整单元中的配置单元的动态调整表确定调整指令,以输出第一指令的形式调整电源芯片的输出电压,从而实现以各分区的监控数据不符合监控阈值要求触发动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,所述监控数据包括电压采集数据和温度采集数据,所述监控阈值包括对应所述电压采集数据的第一阈值和对应所述温度采集数据的第二阈值。所述响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据动态调整表,生成各所述分区的第一指令,进一步包括:所述调整控制器被配置为:比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令;或者,比较所述监控数据中的所述温度采集数据与所述第二阈值,响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令。
本实施例根据各分区的电压采集数据与第一阈值的比较结果、以及温度采集数据与第二阈值的比较结果触发动态调整流程,通过动态调整表确定调整指令并以输出第一指令的形式调整电源芯片的输出电压,从而实现以各芯片的各分区的监控数据不符合监控阈值要求触发动态调整,具有快速、灵活、方便的特点。
在一个可选的实施例中,所述芯片还包括:电源管理单元,用于向所述单晶片输出时钟频率。所述响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值,进一步包括:响应于所述温度采集数据大于所述第二阈值,生成调整时钟频率走势的第二指令,使得所述电源管理单元根据所述第二指令,确定所述第二指令对应的所述分区调整后的时钟频率。
本实施例进一步通过与单晶片配套设置的电源管理单元,根据各分区的分区传感器的监控数据动态调整电源管理单元,从而实现对各分区的时钟频率的动态调整。
在一个可选的实施例中,所述动态调整表中包括多个调整等级。所述响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定待调整的电压值并生成所述第一指令,进一步包括:响应于所述温度采集数据大于所述第二阈值;基于第一条件确定目标调整等级,所述第一条件包括所述分区所在的当前调整等级,根据所述目标调整等级确定所述分区的待调整的电压值并生成所述分区的第一指令。
在本实施例中,基于温度采集数据、第二阈值和动态调整表,根据所述分区当前状态生成调整电源芯片的第一指令,从而实现快速、灵活、方便地动态调整各分区的电压和频率。
在一个可选的实施例中,所述动态调整表中还包括所述多个调整等级中的每个所述调整等级对应的第一阈值,以及每个调整等级对应的至少两个电压调整值。比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令,进一步包括:基于所述分区所在的当前调整等级,确定所述当前调整等级对应的当前第一阈值;比较所述电压采集数据与所述当前第一阈值;响应于所述电压采集数据小于所述当前第一阈值,基于所述当前调整等级对应的当前电压调整值确定所述分区的待调整的电压值并生成所述分区的所述第一指令。
在本实施例中,根据所述分区的电压采集数据,以及动态调整表中的调整等级、各调整等级的第一阈值和至少两个电压调整值形成对各分区的电压的调整框架和调整依据,使得动态调整单元根据采集的监控数据和动态调整表通过查表方式确定第一指令,从而实现快速、灵活、方便地动态调整各分区的电压。
在一个可选的实施例中,所述动态调整表包括与各分区一一对应的多个调整表单。所述响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据动态调整表,生成各所述分区的第一指令,进一步包括:响应于所述分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述分区对应的调整表单,生成所述分区的调整指令中的所述第一指令。
本实施例进一步限定动态调整表分别包括各分区的调整表单,在动态调整过程中,各分区根据分区传感器的监控数据不符合监控阈值要求触发动态调整,并根据各自的调整表单进行调整,从而更加灵活地调整各分区的电压。
在一个可选的实施例中,所述方法还包括:根据至少一个所述分区的第一指令,确定所述电源芯片的所述输出电压。
本实施例在一个分区的监控数据触发的动态调整过程中,不仅根据本分区的监控数据和本芯片的其他分区生成调整电源芯片的第一指令,还根据其他芯片的其他分区的监控数据生成的第一指令,共同生成传输至电源芯片的第一指令,从而实现在各芯片的各分区共用一个电源芯片的情况下进行电压的动态调整。
在一个可选的实施例中,所述根据至少一个所述分区的第一指令,确定所述电源芯片的所述输出电压,进一步包括:确定至少一个待调整的电压值,所述至少一个待调整的电压值与所述至少一个所述分区的第一指令对应;确定所述至少一个待调整的电压值中的最大电压值,以及将所述最大电压值确定为所述电源芯片的所述输出电压。
本实施例根据所述分区的电压采集数据生成第一指令,根据本芯片的其他分区已生成的第一指令中,以及根据其他芯片的各分区已生成的第一指令中,选取最大电压值并将其作为电源芯片的输出电压,从而在确保各芯片的各分区均能处于正常工作电压的情况下调整电源芯片,即通过选取最大电压值实现电源芯片同时向各芯片的各分区提供的电压信号能够确保各分区处于正常工作状态。
在一个可选的实施例中,所述方法还包括:接收下垂中断,所述下垂中断为根据所述监控数据对所述电源芯片的调整生成的下垂信号不符合预设置的下垂阈值要求生成的;基于所述下垂中断,根据动态调整表调整所述电源芯片的所述输出电压。
在本实施例中,结合片上系统的各芯片对应的下垂控制单元,在各芯片的动态调整单元对电源芯片进行调整后,对应的下垂控制单元生成下垂信号,并使用下垂阈值对下垂信号进行判断若不符合则生成传输至对应的动态调整单元发送中断以触发对应的动态调整单元对各分区的电压进行调整,从而进一步提高片上系统的各芯片的各分区的电压频率的调整准确性,能够缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
在一个可选的实施例中,所述监控阈值还包括对应所述电压采集数据的第三阈值和对应所述温度采集数据的第四阈值,所述方法还包括:比较所述监控数据中的所述电压采集数据与所述第三阈值,响应于所述电压采集数据大于所述第三阈值,将预设电压值确定为所述分区的所述待调整的电压值并生成所述第一指令;和/或,比较所述监控数据中的所述温度采集数据与所述第四阈值,响应于所述温度采集数据大于所述第四阈值,将预设时钟频率走势确定为所述分区的所述待调整的频率走势并生成所述第二指令、将所述预设电压值确定为所述分区的所述待调整的电压值并生成所述第一指令。
在本实施例中,为了进一步避免IR压降对片上系统的各单晶片的各分区的运算性能的影响,在动态调整单元的调整过程中设置熔断保护,具体的,通过作为熔断阈值的第三阈值和第四阈值对采集的温度采集数据和电压采集数据进行熔断检测,当一个分区的温度采集数据和电压采集数据中的任一项超过熔断阈值时,通过预设时钟频率走势调整电源管理芯片将所述分区的频率设置为频率保护值、并通过预设电压值调整电源芯片将所述分区的电压设置为电压保护值,从而保护片上系统的各单晶片的各分区,确保硬件运算单元处于安全工作环境,有效提高片上系统的使用寿命。
上述具体实施方式参见前述实施例,在此不再赘述。
基于上述片上系统,本申请的一个实施例还提供一种芯片系统,包括上述片上系统。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片;从而通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整多个芯片的各分区的电压,形成在多个芯片共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压的片上系统,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
基于上述片上系统,本申请的一个实施例还提供一种芯片系统,包括上述片上系统。
本实施例通过采用与各芯片配套设置的动态调整单元、以及各芯片共用一个电源芯片的硬件架构,通过动态调整单元采集各芯片的各分区的监控数据,并根据监控数据调整电源芯片;从而通过各芯片的各分区的监控数据和主芯片的动态调整单元调整电源芯片以调整多个芯片的各分区的电压,形成在多个芯片共用一个电源芯片的基础上、按照各分区的监控数据动态调整电压的片上系统,能够快速、灵活、方便地进行电压的动态调整,从而缓解因IR压降引起的电源电压波动,有效提高片上系统的运算性能。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:获取所述至少两个芯片各所述分区的所述分区传感器采集的监控数据;根据所述监控数据,确定各所述分区的待调整的电压值;根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
如图9所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图9显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图9中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种应用于片上系统的动态调节方法。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种片上系统,其特征在于,包括,电源芯片和至少两个芯片,其中:
所述电源芯片,用于向所述至少两个芯片提供输出电压;
所述芯片包括:单晶片,所述单晶片包括多个分区,每个所述分区包括分区传感器;动态调整单元,用于根据各所述分区传感器的监控数据,确定各所述分区的待调整的电压值;以及
所述至少两个芯片包括一个主芯片和至少一个从芯片,其中,所述主芯片的所述动态调整单元还用于,根据其确定的所述主芯片的各所述分区的待调整的电压值,以及所述从芯片的所述动态调整单元确定的所述从芯片的各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
2.根据权利要求1所述的片上系统,其特征在于,所述动态调整单元包括:配置单元,和,调整控制单元;
所述调整控制单元被配置为:响应于各所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述配置单元中的动态调整表,生成各所述分区的第一指令,所述第一指令用于指示对应的所述分区的待调整的电压值。
3.根据权利要求2所述的片上系统,其特征在于,所述调整控制单元包括与所述各分区一一对应的调整控制器,所述主芯片的动态调整单元还包括自适应电压调节单元;
所述调整控制器被配置为:响应于对应分区的所述分区传感器的监控数据不符合预设置的监控阈值要求,根据所述动态调整表生成所述对应分区的所述第一指令;
所述自适应电压调节单元被配置为:根据所述主芯片和从芯片中的各个所述第一指令,调整所述电源芯片的所述输出电压。
4.根据权利要求2或3所述的片上系统,其特征在于,所述主芯片还包括指令寄存器,用于接收并存储所述从芯片的调整控制单元生成的所述第一指令。
5.根据权利要求3所述的片上系统,其特征在于,所述监控数据包括电压采集数据和温度采集数据,所述监控阈值包括对应所述电压采集数据的第一阈值和对应所述温度采集数据的第二阈值;
所述调整控制器被配置为:比较所述监控数据中的所述电压采集数据与所述第一阈值,响应于所述电压采集数据小于所述第一阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令;或者
比较所述监控数据中的所述温度采集数据与所述第二阈值,响应于所述温度采集数据大于所述第二阈值,在所述动态调整表中确定所述分区的待调整的电压值并生成所述分区的第一指令。
6.根据权利要求5所述的片上系统,其特征在于,所述芯片还包括:电源管理单元,用于向所述单晶片输出时钟频率;以及,
所述动态调整单元,还用于根据各所述分区传感器的监控数据,调整所述电源管理单元输出的所述时钟频率。
7.一种动态调节方法,其特征在于,应用于片上系统,所述片上系统包括电源芯片和至少两个芯片,其中:
所述电源芯片,用于向所述至少两个芯片提供输出电压;
所述芯片包括:单晶片,所述单晶片包括多个分区,每个所述分区包括分区传感器;
所述方法包括:
获取所述至少两个芯片各所述分区的所述分区传感器采集的监控数据;
根据所述监控数据,确定各所述分区的待调整的电压值;
根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
8.根据权利要求7所述的方法,其特征在于,所述至少两个芯片包括一个主芯片和至少一个从芯片,
所述根据各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压,进一步包括:
所述主芯片接收所述从芯片的各所述分区的待调整的电压值;
所述主芯片根据所述从芯片的各所述分区的待调整的电压值,以及所述主芯片的各所述分区的待调整的电压值,调整所述电源芯片的所述输出电压。
9.一种芯片系统,其特征在于,包括如权利要求7或8所述的片上系统。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理核执行时实现如权利要求7或8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335173.3A CN116931708A (zh) | 2022-03-31 | 2022-03-31 | 一种片上系统、动态调节方法和芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335173.3A CN116931708A (zh) | 2022-03-31 | 2022-03-31 | 一种片上系统、动态调节方法和芯片系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931708A true CN116931708A (zh) | 2023-10-24 |
Family
ID=88374134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210335173.3A Pending CN116931708A (zh) | 2022-03-31 | 2022-03-31 | 一种片上系统、动态调节方法和芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931708A (zh) |
-
2022
- 2022-03-31 CN CN202210335173.3A patent/CN116931708A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7774635B2 (en) | Multi-processing system distributing workload optimally during operation | |
US5745375A (en) | Apparatus and method for controlling power usage | |
US6975947B2 (en) | Power saving apparatus in an appliance | |
US6889332B2 (en) | Variable maximum die temperature based on performance state | |
KR101515318B1 (ko) | 멀티-코어 프로세서에서의 전력 소모 관리 | |
JP5437077B2 (ja) | プロセッサと電力システムとを備えるシステム及びこれの動作方法 | |
EP1612910B1 (en) | On-board power supply monitor and power control system | |
US8442697B2 (en) | Method and apparatus for on-demand power management | |
US9851768B2 (en) | Voltage regulator control system | |
US10170994B1 (en) | Voltage regulators for an integrated circuit chip | |
EP3367538B1 (en) | Smart power supply management for high standby power system | |
US9684367B2 (en) | Power trace port for tracing states of power domains | |
CN101639723A (zh) | 计算机的散热系统 | |
KR20130108021A (ko) | 직렬 인터페이스를 사용한 적응형 전압 스케일링 | |
EP2671227A1 (en) | Integrated circuit device, voltage regulation circuitry and method for regulating a voltage supply signal | |
WO2017209835A1 (en) | System and method for reducing power delivery network complexity through local power multiplexers | |
US8988140B2 (en) | Real-time adaptive voltage control of logic blocks | |
US9891700B2 (en) | Power management for datacenter power architectures | |
EP3627282A1 (en) | Thermal management via operating system | |
US9377833B2 (en) | Electronic device and power management method | |
CN116931708A (zh) | 一种片上系统、动态调节方法和芯片系统 | |
CN116931707A (zh) | 一种片上系统、动态调节方法和芯片系统 | |
US11853111B2 (en) | System and method for controlling electrical current supply in a multi-processor core system via instruction per cycle reduction | |
US11360541B2 (en) | Programmable voltage regulation for data processor | |
US20060064606A1 (en) | A method and apparatus for controlling power consumption in an integrated circuit |
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 |