WO2020093271A1 - Gating circuit and method - Google Patents

Gating circuit and method Download PDF

Info

Publication number
WO2020093271A1
WO2020093271A1 PCT/CN2018/114367 CN2018114367W WO2020093271A1 WO 2020093271 A1 WO2020093271 A1 WO 2020093271A1 CN 2018114367 W CN2018114367 W CN 2018114367W WO 2020093271 A1 WO2020093271 A1 WO 2020093271A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
gating
controlled signal
controlled
clock cycles
Prior art date
Application number
PCT/CN2018/114367
Other languages
French (fr)
Chinese (zh)
Inventor
洪宗会
高鹏
张广飞
Original Assignee
北京晶视智能科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京晶视智能科技有限公司 filed Critical 北京晶视智能科技有限公司
Priority to PCT/CN2018/114367 priority Critical patent/WO2020093271A1/en
Publication of WO2020093271A1 publication Critical patent/WO2020093271A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Definitions

  • the present disclosure relates to digital circuits, and in particular to a gate control circuit and a gate control method.
  • TPU Torsor Processing Unit
  • Chip processor
  • the TPU includes many calculation units, which can pipeline calculation instructions.
  • the TPU of the prior art usually includes several computing arrays, and each computing array includes several computing units, also called EU (Execute Unit). Between the computing arrays and the EUs within the computing arrays, pipeline processing is used to execute respective data transmission instructions and data calculation instructions.
  • EU Execute Unit
  • FIG. 1 shows a schematic diagram of the array structure of the prior art TPU.
  • the dpcmd (data transfer instruction) module in the TPU is used to control the execution of data transmission operations
  • the eucmd (data calculation execution instruction) module in the TPU is used to control the execution of data calculation operations.
  • the dpcmd module and eucmd module complete the entire operation of data transmission and calculation through the handshake signals valid and ready.
  • the valid signal is the output of the dpcmd module, indicating that the current data is valid and can be used for data transmission
  • the ready signal is the output of the eucmd module, indicating that the current computing unit can receive data. If the valid signal and the ready signal are valid at the same time in one clock cycle (cycle), it means that a set of data (for example, 128 bytes) is successfully transmitted.
  • the TPU computing array and EU share a dpcmd module and eucmd module.
  • Data and instructions are transferred from the first array to the last array in sequence, and from the first EU to the last EU in the array .
  • the transfer of instructions and data within each array is parallel.
  • An embodiment of the present disclosure provides a gating circuit, including:
  • the system clock signal input terminal is used to receive the system clock signal whose clock period is T clk ;
  • the first controlled signal input terminal is used to receive the first controlled signal
  • the second controlled signal input terminal is used to receive the second controlled signal
  • the gate control signal output terminal is used to output a gate control signal that gates the first controlled signal input and the second controlled signal input;
  • Gating logic generation module which is based on the system clock signal, statistics of the first controlled signal and the second controlled signal within the current gating cycle of the gating signal, the number of effective controlled signal clock cycles simultaneously valid based on the effective control The number of signal clock cycles to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
  • the above gating circuit also includes:
  • Common gate enable input used to receive common gate enable signal
  • the first AND gate is used to perform and operate the common gate enable signal and the first controlled signal, and output the gated first controlled signal;
  • the second AND gate is used to perform and operate the common gate enable signal and the second controlled signal, and output the gated second controlled signal;
  • the first multiplexing module is used to multiplex the first controlled signal and the gated first controlled signal
  • a second multiplexing module for multiplexing the second controlled signal and the gated second controlled signal
  • the first multiplexing module and the second multiplexing module when the common gating enable signal is valid, respectively output the gated first controlled signal and the gated second controlled signal When the common gating enable signal is invalid, the first multiplexing module and the second multiplexing module output the first controlled signal and the second controlled signal, respectively.
  • the first controlled signal is the TPU data transmission ready signal
  • the second controlled signal is the TPU data calculation ready signal
  • the gating logic generation module is also used to adjust the number of clock cycles of the next valid gating signal in the next gating cycle of the gating signal through the following steps:
  • the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger cycle number
  • the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
  • the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
  • An embodiment of the present disclosure provides a gating method, including:
  • Output a gating signal that gates the input of the first controlled signal and the input of the second controlled signal
  • the above gating method also includes:
  • the gated first controlled signal and the gated second controlled signal are respectively output, and when the public gating enable signal is invalid, respectively output the first The controlled signal and the second controlled signal.
  • the first controlled signal is a TPU data transmission ready signal
  • the second controlled signal is a TPU data calculation ready signal
  • the above gating method also includes adjusting the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal through the following steps:
  • the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger number of cycles;
  • the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
  • the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
  • the above technical solutions of the present disclosure can slow down the speed at which the power consumption rises when circuits such as TPUs execute calculation instructions.
  • FIG. 1 is a schematic structural diagram of a data processing circuit in the prior art
  • FIG. 2 is a schematic structural diagram of a gate control circuit 200 according to an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of a gating method according to an embodiment of the present disclosure
  • FIG. 4 shows the beneficial effects of the gating scheme according to an embodiment of the present disclosure.
  • the embodiments of the present disclosure may be implemented as a system, device, device, method, or computer program product. Therefore, the present disclosure may be specifically implemented in the form of complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
  • the present disclosure is based on the concept of adding gating to handshake signals such as the valid and ready signals in the TPU, and achieves the goal of keeping the power consumption of digital circuits such as TPU stable. This will be described in detail below in conjunction with the drawings.
  • FIG. 2 is a schematic structural diagram of a gate control circuit 200 according to an embodiment of the present disclosure.
  • this example gating circuit 200 includes:
  • the system clock signal input terminal 201 is used to receive a system clock signal whose clock period is T clk ;
  • the first controlled signal input terminal 203 is used to receive the first controlled signal
  • the second controlled signal input terminal 205 is used to receive the second controlled signal
  • the gate control signal output terminal 207 is used to output a gate control signal that gates the input of the first controlled signal and the input of the second controlled signal;
  • the gating logic generation module 209 is used to calculate the number of effective controlled signal clock cycles that are simultaneously valid within the current gating cycle of the gating signal based on the system clock signal, statistics of the first controlled signal and the second controlled signal, based on the effective received The number of clock cycles of the control signal to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
  • the gate control circuit 200 further includes:
  • the common gate enable input 211 is used to receive the common gate enable signal
  • the first AND gate 213 is used to perform and operate the common gate enable signal and the first controlled signal, and output the gated first controlled signal;
  • the second AND gate 215 is used to perform and operate the common gate enable signal and the second controlled signal, and output the gated second controlled signal;
  • the first multiplexing module 217 is used to multiplex the first controlled signal (for example, the valid signal in FIG. 1) and the gated first controlled signal (for example, corresponding to the valid signal in FIG. 1 , Hereafter expressed by valid_out signal);
  • the second multiplexing module 219 is used to multiplex the second controlled signal (for example, the ready signal in FIG. 1) and the gated second controlled signal (for example, the ready signal in FIG. 1, In the text, it is represented by the ready_out signal),
  • the first multiplexing module 217 and the second multiplexing module 219 respectively output the gated first controlled signal and the gated second received signal Control signal
  • the first multiplexing module 217 and the second multiplexing module 219 output the first controlled signal and the second controlled signal, respectively.
  • the first controlled signal is a TPU data transmission ready signal (ie, the aforementioned valid signal)
  • the second controlled signal is a TPU data calculation ready signal (ie, the aforementioned ready signal).
  • first controlled signal and the second controlled signal can also be used interchangeably without affecting the effect of the technical solution of the present disclosure.
  • the transmission of the valid and ready signals is restricted.
  • the common gating enable signal is valid (that is, when the gating is open)
  • the dpcmd module (the function is the same as the dpcmd module in FIG. 1, however, the connection method is different from that in FIG. 1.
  • the dpcmd module is connected to the first controlled signal input terminal 203 and the output terminal of the second multiplexing module 219, not shown in FIG. 2) and the eucmd module (the function is the same as the eucmd module in FIG. 1, however, the connection The method is different from that in FIG.
  • the eucmd module is connected to the second controlled signal input terminal 205 and the output terminal of the first multiplexing module 217, not shown in FIG. 2) In order to pass valid and ready signals to each other.
  • the gating logic generation module 209 is further configured to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal through the following steps:
  • the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger number of cycles;
  • the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
  • the following specific steps can be used to control the ratio of gate opening (that is, to adjust the number of clock cycles of the next valid gate signal within the next gate cycle of the gate signal).
  • the opening or closing of the gate control is controlled by the gate control logic (ie, the gate control logic generation module 209), and when the gate control signal is high, it indicates that the gate control is open.
  • Use ctrl_step_len (generally 2 l ) to indicate how many cycles of a gating cycle (that is, the total number of clock cycles included in the gating cycle), the total clock cycle included in the gating cycle can be determined according to the pipeline establishment time or period Number, the gating period is the unit of statistics and control; use ctrl_step_num (that is, the above-mentioned level number n, generally 2 m , and can not exceed ctrl_step_len, that is, m ⁇ l) to indicate that the proportion of gate opening is divided from the smallest to the largest Several levels; use gate_open_cnt (that is, the number of clock cycles of the currently valid gate control signal) to represent the cycle of gate opening within a gate cycle.
  • the ratio of the gate opening gate_open_cnt / ctrl_step_len
  • the difference between the gate_open_cnt of two adjacent stages is ctrl_step_len / ctrl_step_num, which is recorded as ctrl_step_height (that is, the above-mentioned clock cycle number adjustment step).
  • gate_open_cnt_next gate_open_cnt
  • gate_open_cnt_next gate_open_cnt–k * ctrl_step_height such that gate_open_cnt_next–ctrl_step_height ⁇ data_valid_cnt ⁇ gate_open_cnt_next.
  • the above technical solution controls the proportion of gate opening by controlling the size of gate_open_cnt in a gate period.
  • the busier the TPU the larger the gate_open_cnt, and vice versa.
  • ready_out and valid_out are both high, it means that a data was successfully transferred with the addition of gating, and data_valid_cnt is used to indicate a cycle in which ready_out and valid_out are both high during a gating cycle.
  • the larger data_valid_out the busier the TPU. Therefore, the present invention controls the size of gate_open_cnt through data_valid_cnt through the following rules.
  • the first level of gate_open_cnt can be set to ctrl_step_height, so that each level of gate_open_cnt is k * ctrl_step_height (ctrl_step_num ⁇ k> 0).
  • ctrl_step_len * ctrl_step_num is the cycle required to increase the power consumption from the lowest to the highest. The larger the product, the slower the power consumption rises. The size of these two values can be adjusted according to specific needs.
  • the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
  • the following steps can be used to achieve the purpose of uniformly distributing the clock period of the next gated signal within the maximum effective continuous period of the first controlled signal and the second controlled signal.
  • gate_period The number of cycles in the control sub-period is recorded as gate_period.
  • the gate signal needs to be pulled up several cycles, which is recorded as gate_high_cnt .
  • the gate_period and gate_high_cnt are calculated as follows:
  • gate_period ctrl_step_len >> low_1bit
  • gate_high_cnt gate_open_cnt >> low_1bit.
  • the first step of the above operation is to find the greatest common divisor of ctrl_step_len and gate_open_cnt, and then divide each by the greatest common divisor, respectively, to get the minimum divided period and the number of cycles that the gate signal needs to be pulled up for each control sub-cycle .
  • gate_open_cnt 12
  • ctrl_step_len 32
  • gate_period 8
  • gate_high_cnt 3.
  • FIG. 3 is a schematic flowchart of a gating method according to an embodiment of the present disclosure.
  • this example gating method includes:
  • Step S302 Receive a system clock signal whose clock period is T clk ;
  • Step S304 Receive the first controlled signal
  • Step S306 Receive the second controlled signal
  • Step S308 output a gating signal that gates the input of the first controlled signal and the input of the second controlled signal;
  • Step S310 based on the system clock signal, counting the first controlled signal and the second controlled signal, the number of effective controlled signal clock cycles simultaneously valid in the current gating cycle of the gating signal, based on the number of effective controlled signal clock cycles Adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
  • the example gating method further includes:
  • Step S312 Receive a common gating enable signal
  • Step S314 Perform and operate the common gating enable signal and the first controlled signal, and output the gated first controlled signal;
  • Step S316 Perform and operate the common gating enable signal and the second controlled signal, and output the gated second controlled signal;
  • Step S318 multiplexing the first controlled signal and the gated first controlled signal
  • Step S320 Multiplexing the second controlled signal and the gated second controlled signal
  • the gated first controlled signal and the gated second controlled signal are output separately, and when the public gating enable input is invalid, they are respectively output The first controlled signal and the second controlled signal.
  • the first controlled signal is a TPU data transmission ready signal
  • the second controlled signal is a TPU data calculation ready signal
  • the example gating method further includes (not shown in FIG. 3), adjusting the number of clock cycles of the next valid gating signal in the next gating cycle of the gating signal through the following steps:
  • the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger number of cycles;
  • the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
  • the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
  • FIG. 4 shows the beneficial effects of the gating scheme according to an embodiment of the present disclosure.
  • the above technical solution of the present disclosure adds (threshold-based) gating to the control path of data transmission, and adjusts the length of the threshold opening time according to the busy state of the TPU and other systems, so that the power consumption of the TPU can be increased in stages to avoid The sudden increase makes the power supply system more stable and also guarantees performance to a certain extent.
  • the above-mentioned technical solutions of the present disclosure can slow down the speed at which power consumption rises when circuits such as TPUs execute calculation instructions, and can also stabilize power consumption.
  • the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present disclosure may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
  • computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processing machine, or other programmable data processing device to produce a machine that enables the generation of instructions executed by the processor of the computer or other programmable data processing device
  • These computer program instructions may also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, the instructions The device implements the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and / or block diagrams.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
  • the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and / or block diagrams.

Abstract

A gating circuit (200) and a gating method. The gating circuit (200) comprises: a system clock signal input end (201) used to receive a system clock signal having a clock period Tclk; a first controlled signal input end (203) used to receive a first controlled signal; a second controlled signal input end (205) used to receive a second controlled signal; a gating signal output end (207) used to output a gating signal for gating input of the first controlled signal and input of the second controlled signal; and a gating logic generation module (209) used to count, on the basis of the system clock signal, the number of valid controlled signal clock cycles in which the first controlled signal and the second controlled signal are both valid within a current gating period of the gating signal, and to adjust, on the basis of the number of the valid controlled signal clock cycles, the number of subsequent valid gating signal clock cycles within the next gating cycle of the gating signal. The gating circuit (200) slows the speed at which power consumption increases when a circuit such as a TPU executes computer instructions.

Description

门控电路及门控方法Gating circuit and gating method 技术领域Technical field
本公开涉及数字电路,特别是涉及一种门控电路及门控方法。The present disclosure relates to digital circuits, and in particular to a gate control circuit and a gate control method.
背景技术Background technique
TPU(Tensor Processing Unit,即张量处理器)是专用于机器学习的一种处理器(芯片),用于处理如诸如卷积运算等的各种机器学习算法。为了保证性能,TPU中包括许多计算单元,它们可以流水处理计算指令。TPU (Tensor Processing Unit) is a kind of processor (chip) dedicated to machine learning, which is used to process various machine learning algorithms such as convolution operations. In order to ensure performance, the TPU includes many calculation units, which can pipeline calculation instructions.
现有技术的TPU通常包含若干计算阵列,每个计算阵列中又各自包含若干计算单元,也称之为EU(Execute Unit)。计算阵列之间、计算阵列内部EU之间通过流水处理来执行各自的数据传输指令和数据计算指令。The TPU of the prior art usually includes several computing arrays, and each computing array includes several computing units, also called EU (Execute Unit). Between the computing arrays and the EUs within the computing arrays, pipeline processing is used to execute respective data transmission instructions and data calculation instructions.
图1示出了现有技术的TPU的阵列结构示意图。如图1所示,TPU中的dpcmd(数据传输指令)模块用于控制数据传输操作的执行,TPU中的eucmd(数据计算的执行指令)模块用于控制数据计算操作的执行。dpcmd模块和eucmd模块通过握手信号valid和ready来完成整个数据传输和计算的完整操作。valid信号为dpcmd模块的输出,表示当前的数据有效,可以进行数据传输;ready信号为eucmd模块的输出,表示当前计算单元可以接收数据。如果valid信号和ready信号在一个时钟周期(cycle)同时有效,则表示成功传输一组数据(例如,128字节)。FIG. 1 shows a schematic diagram of the array structure of the prior art TPU. As shown in FIG. 1, the dpcmd (data transfer instruction) module in the TPU is used to control the execution of data transmission operations, and the eucmd (data calculation execution instruction) module in the TPU is used to control the execution of data calculation operations. The dpcmd module and eucmd module complete the entire operation of data transmission and calculation through the handshake signals valid and ready. The valid signal is the output of the dpcmd module, indicating that the current data is valid and can be used for data transmission; the ready signal is the output of the eucmd module, indicating that the current computing unit can receive data. If the valid signal and the ready signal are valid at the same time in one clock cycle (cycle), it means that a set of data (for example, 128 bytes) is successfully transmitted.
如图1所示,TPU的计算阵列及EU共用一个dpcmd模块和eucmd模块,数据和指令依次从第一个阵列传递到最后一个阵列,并且在阵列内从第一个EU依次传递到最后一个EU。在各个阵列内指令和数据的传递是并行的。As shown in Figure 1, the TPU computing array and EU share a dpcmd module and eucmd module. Data and instructions are transferred from the first array to the last array in sequence, and from the first EU to the last EU in the array . The transfer of instructions and data within each array is parallel.
因此,当计算任务到来时,若所有的valid和ready信号都持续有效,经过流水线建立时间之后,导致所有的EU将会进入连续工作状态,然而,由于流水线建立的时间很短(例如,约为流水线的总级数个cycle),因此,宏观上导 致TPU的功耗在短时间内骤然升高,这种功耗瞬时增加的情况会影响TPU芯片供电系统的稳定。Therefore, when the computing task arrives, if all valid and ready signals continue to be valid, after the pipeline establishment time passes, all EUs will enter a continuous working state. The total number of stages in the pipeline is several cycles). Therefore, the macro power consumption of the TPU suddenly increases in a short time, and the instantaneous increase in power consumption will affect the stability of the power supply system of the TPU chip.
在使用握手信号的其他数字电路中也会存在同样的问题。因此,需要提出新的技术方案,来减缓TPU等电路执行计算指令时功耗上升的速度。The same problem exists in other digital circuits that use handshake signals. Therefore, it is necessary to propose new technical solutions to slow down the speed of power consumption increase when the TPU and other circuits execute calculation instructions.
上述背景技术内容仅用于帮助理解本申请,而并不代表承认或认可所提及的任何内容属于相对于本申请的公知常识的一部分。The above background content is only used to help understand this application, and does not mean that any content mentioned is recognized or recognized as part of the common general knowledge relative to this application.
发明内容Summary of the invention
本公开实施例提供了一种门控电路,包括:An embodiment of the present disclosure provides a gating circuit, including:
系统时钟信号输入端,用于接收时钟周期为T clk的系统时钟信号; The system clock signal input terminal is used to receive the system clock signal whose clock period is T clk ;
第一受控信号输入端,用于接收第一受控信号;The first controlled signal input terminal is used to receive the first controlled signal;
第二受控信号输入端,用于接收第二受控信号;The second controlled signal input terminal is used to receive the second controlled signal;
门控信号输出端,用于输出对第一受控信号的输入和第二受控信号的输入进行门控的门控信号;The gate control signal output terminal is used to output a gate control signal that gates the first controlled signal input and the second controlled signal input;
门控逻辑产生模块,用于基于系统时钟信号、统计第一受控信号和第二受控信号在门控信号的当前门控周期内同时有效的有效受控信号时钟周期数,基于有效受控信号时钟周期数来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数。Gating logic generation module, which is based on the system clock signal, statistics of the first controlled signal and the second controlled signal within the current gating cycle of the gating signal, the number of effective controlled signal clock cycles simultaneously valid based on the effective control The number of signal clock cycles to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
上述门控电路还包括:The above gating circuit also includes:
公共门控使能输入端,用于接收公共门控使能信号;Common gate enable input, used to receive common gate enable signal;
第一与门,用于将公共门控使能信号与第一受控信号进行与操作,输出经门控后的第一受控信号;The first AND gate is used to perform and operate the common gate enable signal and the first controlled signal, and output the gated first controlled signal;
第二与门,用于将公共门控使能信号与第二受控信号进行与操作,输出经门控后的第二受控信号;The second AND gate is used to perform and operate the common gate enable signal and the second controlled signal, and output the gated second controlled signal;
第一多路复用模块,用于复用第一受控信号和经门控后的第一受控信号;The first multiplexing module is used to multiplex the first controlled signal and the gated first controlled signal;
第二多路复用模块,用于复用第二受控信号和经门控后的第二受控信号,A second multiplexing module for multiplexing the second controlled signal and the gated second controlled signal,
其中,在公共门控使能信号有效时,第一多路复用模块和第二多路复用模块分别输出经门控后的第一受控信号和经门控后的第二受控信号,在公共门控使能信号无效时,第一多路复用模块和第二多路复用模块分别输出第一受控信号和第二受控信号。Wherein, when the common gating enable signal is valid, the first multiplexing module and the second multiplexing module respectively output the gated first controlled signal and the gated second controlled signal When the common gating enable signal is invalid, the first multiplexing module and the second multiplexing module output the first controlled signal and the second controlled signal, respectively.
上述门控电路,其第一受控信号是TPU的数据传输准备好信号,第二受控信号是TPU的数据计算准备好信号。In the above gate control circuit, the first controlled signal is the TPU data transmission ready signal, and the second controlled signal is the TPU data calculation ready signal.
上述门控电路,其门控逻辑产生模块还用于,通过以下步骤调整门控信号的下一门控周期内的下一有效门控信号时钟周期数:In the above gating circuit, the gating logic generation module is also used to adjust the number of clock cycles of the next valid gating signal in the next gating cycle of the gating signal through the following steps:
确定门控周期所包含的总时钟周期数;Determine the total number of clock cycles included in the gating cycle;
确定时钟周期数调整步长和等级数n,以时钟周期数调整步长为基本单位,将门控周期分为时钟周期数依次增大的n个等级;Determine the clock cycle number adjustment step size and level number n, taking the clock cycle number adjustment step size as the basic unit, divide the gating cycle into n levels with the clock cycle number increasing sequentially;
若有效受控信号时钟周期数等于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更大的下一级所对应的时钟周期数;If the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger cycle number
若有效受控信号时钟周期数小于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更低的对应等级所对应的时钟周期数,If the number of effective controlled signal clock cycles is less than the current effective gating signal clock cycles, then adjust the next effective gating signal clock cycles to the number of clock cycles corresponding to the corresponding level with a lower number of cycles,
其中,下一有效门控信号时钟周期数小于等于门控周期的总时钟周期数。Among them, the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
上述门控电路,其下一门控信号时钟周期均匀分布在第一受控信号和第二受控信号的最大有效连续周期之内。In the above gating circuit, the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
本公开实施例提供了一种门控方法,包括:An embodiment of the present disclosure provides a gating method, including:
接收时钟周期为T clk的系统时钟信号; Receive the system clock signal whose clock period is T clk ;
接收第一受控信号;Receive the first controlled signal;
接收第二受控信号;Receive the second controlled signal;
输出对第一受控信号的输入和第二受控信号的输入进行门控的门控信号;Output a gating signal that gates the input of the first controlled signal and the input of the second controlled signal;
基于系统时钟信号、统计第一受控信号和第二受控信号在门控信号的当前门控周期内同时有效的有效受控信号时钟周期数,基于有效受控信号时钟周 期数来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数。Based on the system clock signal, statistics of the first controlled signal and the second controlled signal, the number of effective controlled signal clock cycles simultaneously valid in the current gating cycle of the gating signal, and adjusting the gating based on the number of effective controlled signal clock cycles The number of clock cycles of the next valid gating signal within the next gating cycle of the signal.
上述门控方法还包括:The above gating method also includes:
接收公共门控使能信号;Receive public gating enable signal;
用于将公共门控使能信号与第一受控信号进行与操作,输出经门控后的第一受控信号;It is used to operate and operate the common gated enable signal and the first controlled signal, and output the gated first controlled signal;
用于将公共门控使能信号与第二受控信号进行与操作,输出经门控后的第二受控信号;Used to operate the common gated enable signal and the second controlled signal, and output the gated second controlled signal;
复用第一受控信号和经门控后的第一受控信号;Multiplexing the first controlled signal and the gated first controlled signal;
复用第二受控信号和经门控后的第二受控信号,Multiplexing the second controlled signal and the gated second controlled signal,
其中,在公共门控使能信号有效时,分别输出经门控后的第一受控信号和经门控后的第二受控信号,在公共门控使能信号无效时,分别输出第一受控信号和第二受控信号。Among them, when the public gating enable signal is valid, the gated first controlled signal and the gated second controlled signal are respectively output, and when the public gating enable signal is invalid, respectively output the first The controlled signal and the second controlled signal.
上述门控方法,其第一受控信号是TPU的数据传输准备好信号,第二受控信号是TPU的数据计算准备好信号。In the above gating method, the first controlled signal is a TPU data transmission ready signal, and the second controlled signal is a TPU data calculation ready signal.
上述门控方法还包括,通过以下步骤调整门控信号的下一门控周期内的下一有效门控信号时钟周期数:The above gating method also includes adjusting the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal through the following steps:
确定门控周期所包含的总时钟周期数;Determine the total number of clock cycles included in the gating cycle;
确定时钟周期数调整步长和等级数n,以时钟周期数调整步长为基本单位,将门控周期分为时钟周期数依次增大的n个等级;Determine the clock cycle number adjustment step size and level number n, taking the clock cycle number adjustment step size as the basic unit, divide the gating cycle into n levels with the clock cycle number increasing sequentially;
若有效受控信号时钟周期数等于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更大的下一级所对应的时钟周期数;If the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger number of cycles;
若有效受控信号时钟周期数小于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更低的对应等级所对应的时钟周期数,If the number of effective controlled signal clock cycles is less than the current effective gating signal clock cycles, then adjust the next effective gating signal clock cycles to the number of clock cycles corresponding to the corresponding level with a lower number of cycles,
其中,下一有效门控信号时钟周期数小于等于门控周期的总时钟周期数。Among them, the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
上述门控方法,其下一门控信号时钟周期均匀分布在第一受控信号和第 二受控信号的最大有效连续周期之内。In the above gating method, the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
本公开的上述技术方案,能够减缓TPU等电路执行计算指令时功耗上升的速度。The above technical solutions of the present disclosure can slow down the speed at which the power consumption rises when circuits such as TPUs execute calculation instructions.
附图说明BRIEF DESCRIPTION
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the embodiments of the present disclosure or the technical solutions in the prior art, the following will briefly introduce the drawings used in the description of the embodiments or the prior art. Obviously, the drawings in the following description These are some embodiments of the present disclosure. For those of ordinary skill in the art, without paying creative labor, other drawings may be obtained based on these drawings.
图1是现有技术的数据处理电路的结构示意图;FIG. 1 is a schematic structural diagram of a data processing circuit in the prior art;
图2是本公开一实施方式的门控电路200的结构示意图;2 is a schematic structural diagram of a gate control circuit 200 according to an embodiment of the present disclosure;
图3是本公开一实施方式的门控方法的流程示意图;3 is a schematic flowchart of a gating method according to an embodiment of the present disclosure;
图4示出了本公开一实施方式的门控方案的有益效果。FIG. 4 shows the beneficial effects of the gating scheme according to an embodiment of the present disclosure.
具体实施方式detailed description
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described clearly and completely in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are a part of the embodiments of the present disclosure, but not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by a person of ordinary skill in the art without creative efforts fall within the protection scope of the present disclosure.
本领域技术技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。Those skilled in the art know that the embodiments of the present disclosure may be implemented as a system, device, device, method, or computer program product. Therefore, the present disclosure may be specifically implemented in the form of complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
如背景技术部分所述,为了使数字电路的功耗保持稳定,需要提出新的技术方案。本公开基于为诸如TPU中的valid和ready信号的握手信号增加门控的构思,实现了使诸如TPU等的数字电路的功耗保持稳定的目标。下面将结 合附图进行详细描述。As mentioned in the background section, in order to keep the power consumption of digital circuits stable, new technical solutions need to be proposed. The present disclosure is based on the concept of adding gating to handshake signals such as the valid and ready signals in the TPU, and achieves the goal of keeping the power consumption of digital circuits such as TPU stable. This will be described in detail below in conjunction with the drawings.
图2是本公开一实施方式的门控电路200的结构示意图。2 is a schematic structural diagram of a gate control circuit 200 according to an embodiment of the present disclosure.
如图2的实线框所示,该示例门控电路200包括:As shown by the solid line box in FIG. 2, this example gating circuit 200 includes:
系统时钟信号输入端201,用于接收时钟周期为T clk的系统时钟信号; The system clock signal input terminal 201 is used to receive a system clock signal whose clock period is T clk ;
第一受控信号输入端203,用于接收第一受控信号;The first controlled signal input terminal 203 is used to receive the first controlled signal;
第二受控信号输入端205,用于接收第二受控信号;The second controlled signal input terminal 205 is used to receive the second controlled signal;
门控信号输出端207,用于输出对第一受控信号的输入和第二受控信号的输入进行门控的门控信号;The gate control signal output terminal 207 is used to output a gate control signal that gates the input of the first controlled signal and the input of the second controlled signal;
门控逻辑产生模块209,用于基于系统时钟信号、统计第一受控信号和第二受控信号在门控信号的当前门控周期内同时有效的有效受控信号时钟周期数,基于有效受控信号时钟周期数来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数。The gating logic generation module 209 is used to calculate the number of effective controlled signal clock cycles that are simultaneously valid within the current gating cycle of the gating signal based on the system clock signal, statistics of the first controlled signal and the second controlled signal, based on the effective received The number of clock cycles of the control signal to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
可选地,如图2的虚线框所示,门控电路200还包括:Optionally, as shown by the dotted box in FIG. 2, the gate control circuit 200 further includes:
公共门控使能输入端211,用于接收公共门控使能信号;The common gate enable input 211 is used to receive the common gate enable signal;
第一与门213,用于将公共门控使能信号与第一受控信号进行与操作,输出经门控后的第一受控信号;The first AND gate 213 is used to perform and operate the common gate enable signal and the first controlled signal, and output the gated first controlled signal;
第二与门215,用于将公共门控使能信号与第二受控信号进行与操作,输出经门控后的第二受控信号;The second AND gate 215 is used to perform and operate the common gate enable signal and the second controlled signal, and output the gated second controlled signal;
第一多路复用模块217,用于复用第一受控信号(例如,图1中的valid信号)和经门控后的第一受控信号(例如,对应于图1中的valid信号,下文用valid_out信号表示);The first multiplexing module 217 is used to multiplex the first controlled signal (for example, the valid signal in FIG. 1) and the gated first controlled signal (for example, corresponding to the valid signal in FIG. 1 , Hereafter expressed by valid_out signal);
第二多路复用模块219,用于复用第二受控信号(例如,图1中的ready信号)和经门控后的第二受控信号(例如,图1中的ready信号,下文中用ready_out信号表示),The second multiplexing module 219 is used to multiplex the second controlled signal (for example, the ready signal in FIG. 1) and the gated second controlled signal (for example, the ready signal in FIG. 1, In the text, it is represented by the ready_out signal),
其中,在公共门控使能信号有效时,第一多路复用模块217和第二多路复用模块219分别输出经门控后的第一受控信号和经门控后的第二受控信号,在公共门控使能信号无效时,第一多路复用模块217和第二多路复用模块219 分别输出第一受控信号和第二受控信号。Among them, when the common gating enable signal is valid, the first multiplexing module 217 and the second multiplexing module 219 respectively output the gated first controlled signal and the gated second received signal Control signal, when the common gating enable signal is invalid, the first multiplexing module 217 and the second multiplexing module 219 output the first controlled signal and the second controlled signal, respectively.
可选地,第一受控信号是TPU的数据传输准备好信号(即,上述valid信号),第二受控信号是TPU的数据计算准备好信号(即,上述ready信号)。Optionally, the first controlled signal is a TPU data transmission ready signal (ie, the aforementioned valid signal), and the second controlled signal is a TPU data calculation ready signal (ie, the aforementioned ready signal).
本领域技术人员可知,第一受控信号和第二受控信号也可以互换使用,而不影响本公开的技术方案的效果。Those skilled in the art can know that the first controlled signal and the second controlled signal can also be used interchangeably without affecting the effect of the technical solution of the present disclosure.
在上述技术方案中,通过为valid信号和ready信号加入门控功能和公共门控使能信号,来限制valid和ready信号的传输。当公共门控使能信号有效后(即,当门控打开时),dpcmd模块(功能同图1中的dpcmd模块,然而,连接方式与图1中不同,在本公开的上述方案中,该dpcmd模块被连接至第一受控信号输入端203和第二多路复用模块219的输出端,在图2中未示出)和eucmd模块(功能同图1中的eucmd模块,然而,连接方式与图1中不同,在本公开的上述方案中,该eucmd模块被连接至第二受控信号输入端205和第一多路复用模块217的输出端,在图2中未示出)之间才能互相传递valid和ready信号。门控打开时间的比例越大,允许的功耗越大,反之,允许的功耗越小。In the above technical solution, by adding a gating function and a common gating enable signal to the valid signal and the ready signal, the transmission of the valid and ready signals is restricted. When the common gating enable signal is valid (that is, when the gating is open), the dpcmd module (the function is the same as the dpcmd module in FIG. 1, however, the connection method is different from that in FIG. 1. The dpcmd module is connected to the first controlled signal input terminal 203 and the output terminal of the second multiplexing module 219, not shown in FIG. 2) and the eucmd module (the function is the same as the eucmd module in FIG. 1, however, the connection The method is different from that in FIG. 1, in the above-mentioned solution of the present disclosure, the eucmd module is connected to the second controlled signal input terminal 205 and the output terminal of the first multiplexing module 217, not shown in FIG. 2) In order to pass valid and ready signals to each other. The greater the proportion of gate open time, the greater the allowed power consumption, and conversely, the smaller the allowed power consumption.
可选地,门控逻辑产生模块209还用于,通过以下步骤调整门控信号的下一门控周期内的下一有效门控信号时钟周期数:Optionally, the gating logic generation module 209 is further configured to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal through the following steps:
确定门控周期所包含的总时钟周期数;Determine the total number of clock cycles included in the gating cycle;
确定时钟周期数调整步长和等级数n,以时钟周期数调整步长为基本单位,将门控周期分为时钟周期数依次增大的n个等级;Determine the clock cycle number adjustment step size and level number n, taking the clock cycle number adjustment step size as the basic unit, divide the gating cycle into n levels with the clock cycle number increasing sequentially;
若有效受控信号时钟周期数等于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更大的下一级所对应的时钟周期数;If the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger number of cycles;
若有效受控信号时钟周期数小于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更低的对应等级所对应的时钟周期数,If the number of effective controlled signal clock cycles is less than the current effective gating signal clock cycles, then adjust the next effective gating signal clock cycles to the number of clock cycles corresponding to the corresponding level with a lower number of cycles,
其中,下一有效门控信号时钟周期数小于等于门控周期的总时钟周期数。Among them, the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
例如,可以通过以下具体步骤来控制门控打开的比例(即,来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数)。For example, the following specific steps can be used to control the ratio of gate opening (that is, to adjust the number of clock cycles of the next valid gate signal within the next gate cycle of the gate signal).
门控的打开或关闭由门控逻辑(即,门控逻辑产生模块209)控制,门控 信号为高时表示门控打开。用ctrl_step_len(一般为2 l)表示一个门控周期多少个cycle(即,门控周期所包含的总时钟周期数),可以根据流水线建立时间或周期,来确定门控周期所包含的总时钟周期数,门控周期是统计和控制的单位;用ctrl_step_num(即,上述等级数n,一般为2 m,且不能超过ctrl_step_len,即,m≤l)表示门控打开的比例从最小到最大分为几个等级;用gate_open_cnt(即,上述当前有效门控信号时钟周期数)表示一个门控周期内门控打开的cycle。所以门控打开的比例=gate_open_cnt/ctrl_step_len,相邻两级的gate_open_cnt相差ctrl_step_len/ctrl_step_num,记为ctrl_step_height(即,上述时钟周期数调整步长)。 The opening or closing of the gate control is controlled by the gate control logic (ie, the gate control logic generation module 209), and when the gate control signal is high, it indicates that the gate control is open. Use ctrl_step_len (generally 2 l ) to indicate how many cycles of a gating cycle (that is, the total number of clock cycles included in the gating cycle), the total clock cycle included in the gating cycle can be determined according to the pipeline establishment time or period Number, the gating period is the unit of statistics and control; use ctrl_step_num (that is, the above-mentioned level number n, generally 2 m , and can not exceed ctrl_step_len, that is, m≤l) to indicate that the proportion of gate opening is divided from the smallest to the largest Several levels; use gate_open_cnt (that is, the number of clock cycles of the currently valid gate control signal) to represent the cycle of gate opening within a gate cycle. Therefore, the ratio of the gate opening = gate_open_cnt / ctrl_step_len, the difference between the gate_open_cnt of two adjacent stages is ctrl_step_len / ctrl_step_num, which is recorded as ctrl_step_height (that is, the above-mentioned clock cycle number adjustment step).
1)若data_valid_cnt(即,上述有效受控信号时钟周期数)=gate_open_cnt,则gate_open_cnt_next(即,上述下一有效门控信号时钟周期数)=gate_open_cnt+ctrl_step_height,其中,gate_open_cnt_next≤ctrl_step_len;1) If data_valid_cnt (that is, the number of valid controlled signal clock cycles) = gate_open_cnt, then gate_open_cnt_next (that is, the next valid gated signal clock cycle) = gate_open_cnt + ctrl_step_height, where gate_open_cnt_next≤ctrl_step_len;
2)若gate_open_cnt>data_valid_cnt≥gate_open_cnt–ctrl_step_height,则gate_open_cnt_next=gate_open_cnt;2) If gate_open_cnt> data_valid_cnt≥gate_open_cnt–ctrl_step_height, then gate_open_cnt_next = gate_open_cnt;
3)若data_valid_cnt<gate_open_cnt–ctrl_step_height,则gate_open_cnt_next=gate_open_cnt–k*ctrl_step_height,使得gate_open_cnt_next–ctrl_step_height≤data_valid_cnt<gate_open_cnt_next。3) If data_valid_cnt <gate_open_cnt–ctrl_step_height, then gate_open_cnt_next = gate_open_cnt–k * ctrl_step_height such that gate_open_cnt_next–ctrl_step_height≤data_valid_cnt <gate_open_cnt_next.
即,上述技术方案通过控制一个门控周期内gate_open_cnt的大小来控制门控打开的比例,TPU越繁忙则gate_open_cnt越大,反之则越小。ready_out和valid_out同时为高表示在加门控的情况下成功传输一个数据,用data_valid_cnt表示一个门控周期内ready_out和valid_out同时为高的cycle。data_valid_out越大,表示TPU越繁忙。所以,本发明通过data_valid_cnt通过以下规则来控制gate_open_cnt的大小。That is, the above technical solution controls the proportion of gate opening by controlling the size of gate_open_cnt in a gate period. The busier the TPU, the larger the gate_open_cnt, and vice versa. When ready_out and valid_out are both high, it means that a data was successfully transferred with the addition of gating, and data_valid_cnt is used to indicate a cycle in which ready_out and valid_out are both high during a gating cycle. The larger data_valid_out, the busier the TPU. Therefore, the present invention controls the size of gate_open_cnt through data_valid_cnt through the following rules.
例如,为了简化实现,第一级的gate_open_cnt可以设为ctrl_step_height,这样每一级的gate_open_cnt都为k*ctrl_step_height(ctrl_step_num≥k>0)。For example, to simplify implementation, the first level of gate_open_cnt can be set to ctrl_step_height, so that each level of gate_open_cnt is k * ctrl_step_height (ctrl_step_num≥k> 0).
ctrl_step_len*ctrl_step_num为功耗从最低升到最高所需要的cycle, 这个乘积越大,则功耗上升的越缓慢。可以根据具体需要来调整这两个值的大小。ctrl_step_len * ctrl_step_num is the cycle required to increase the power consumption from the lowest to the highest. The larger the product, the slower the power consumption rises. The size of these two values can be adjusted according to specific needs.
可选地,下一门控信号时钟周期均匀分布在第一受控信号和第二受控信号的最大有效连续周期之内。Optionally, the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
例如,可以通过以下步骤来实现使得下一门控信号时钟周期均匀分布在第一受控信号和第二受控信号的最大有效连续周期之内的目的。For example, the following steps can be used to achieve the purpose of uniformly distributing the clock period of the next gated signal within the maximum effective continuous period of the first controlled signal and the second controlled signal.
确定了每个门控周期gate_open_cnt的大小后,为了让一个门控周期内的功耗更加均衡,需要门控打开的cycle均匀分布在一个门控周期内。这时可以把一个门控周期尽可能划分为几个更小的控制子周期,控制子周期的cycle数记为gate_period,在这个控制子周期内门控信号需要拉高几个cycle,记为gate_high_cnt。gate_period和gate_high_cnt的求法如下:After determining the size of gate_open_cnt in each gating cycle, in order to make the power consumption in a gating cycle more balanced, it is necessary to evenly distribute the gate-opening cycles in a gating cycle. At this time, a gating cycle can be divided into several smaller control sub-periods as much as possible. The number of cycles in the control sub-period is recorded as gate_period. In this control sub-period, the gate signal needs to be pulled up several cycles, which is recorded as gate_high_cnt . The gate_period and gate_high_cnt are calculated as follows:
1)求得gate_open_cnt中为1的bit最低在第几位,记为low_1bit。例如gate_open_cnt=4,则它的low_1bit=2;1) Find the lowest bit in the gate_open_cnt of 1 and record it as low_1bit. For example, gate_open_cnt = 4, then its low_1bit = 2;
2)gate_period=ctrl_step_len>>low_1bit;gate_high_cnt=gate_open_cnt>>low_1bit。2) gate_period = ctrl_step_len >> low_1bit; gate_high_cnt = gate_open_cnt >> low_1bit.
即,上述操作的第一步就是求得ctrl_step_len和gate_open_cnt的最大公约数,然后各自分别除以最大公约数,就得到了最小划分的周期以及每个控制子周期门控信号需要拉高的cycle数。例如gate_open_cnt=12,ctrl_step_len=32,则gate_period=8,gate_high_cnt=3。That is, the first step of the above operation is to find the greatest common divisor of ctrl_step_len and gate_open_cnt, and then divide each by the greatest common divisor, respectively, to get the minimum divided period and the number of cycles that the gate signal needs to be pulled up for each control sub-cycle . For example, gate_open_cnt = 12, ctrl_step_len = 32, then gate_period = 8, and gate_high_cnt = 3.
因此,上述技术方案能够使功耗保持稳定。Therefore, the above technical solution can keep the power consumption stable.
图3是本公开一实施方式的门控方法的流程示意图。3 is a schematic flowchart of a gating method according to an embodiment of the present disclosure.
如图3的实线框所示,该示例门控方法包括:As shown by the solid line box in FIG. 3, this example gating method includes:
步骤S302:接收时钟周期为T clk的系统时钟信号; Step S302: Receive a system clock signal whose clock period is T clk ;
步骤S304:接收第一受控信号;Step S304: Receive the first controlled signal;
步骤S306:接收第二受控信号;Step S306: Receive the second controlled signal;
步骤S308:输出对第一受控信号的输入和第二受控信号的输入进行门控的门控信号;Step S308: output a gating signal that gates the input of the first controlled signal and the input of the second controlled signal;
步骤S310:基于系统时钟信号、统计第一受控信号和第二受控信号在门控信号的当前门控周期内同时有效的有效受控信号时钟周期数,基于有效受控信号时钟周期数来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数。Step S310: based on the system clock signal, counting the first controlled signal and the second controlled signal, the number of effective controlled signal clock cycles simultaneously valid in the current gating cycle of the gating signal, based on the number of effective controlled signal clock cycles Adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
可选地,如图3的虚线框所示,该示例门控方法还包括:Optionally, as shown by the dotted box in FIG. 3, the example gating method further includes:
步骤S312:接收公共门控使能信号;Step S312: Receive a common gating enable signal;
步骤S314:将公共门控使能信号与第一受控信号进行与操作,输出经门控后的第一受控信号;Step S314: Perform and operate the common gating enable signal and the first controlled signal, and output the gated first controlled signal;
步骤S316:将公共门控使能信号与第二受控信号进行与操作,输出经门控后的第二受控信号;Step S316: Perform and operate the common gating enable signal and the second controlled signal, and output the gated second controlled signal;
步骤S318:复用第一受控信号和经门控后的第一受控信号;Step S318: multiplexing the first controlled signal and the gated first controlled signal;
步骤S320:复用第二受控信号和经门控后的第二受控信号,Step S320: Multiplexing the second controlled signal and the gated second controlled signal,
其中,在公共门控使能输入端有效时,分别输出经门控后的第一受控信号和经门控后的第二受控信号,在公共门控使能输入端无效时,分别输出第一受控信号和第二受控信号。Among them, when the public gating enable input is valid, the gated first controlled signal and the gated second controlled signal are output separately, and when the public gating enable input is invalid, they are respectively output The first controlled signal and the second controlled signal.
可选地,第一受控信号是TPU的数据传输准备好信号,第二受控信号是TPU的数据计算准备好信号。Optionally, the first controlled signal is a TPU data transmission ready signal, and the second controlled signal is a TPU data calculation ready signal.
可选地,该示例门控方法还包括(在图3中未示出),通过以下步骤调整门控信号的下一门控周期内的下一有效门控信号时钟周期数:Optionally, the example gating method further includes (not shown in FIG. 3), adjusting the number of clock cycles of the next valid gating signal in the next gating cycle of the gating signal through the following steps:
确定门控周期所包含的总时钟周期数;Determine the total number of clock cycles included in the gating cycle;
确定时钟周期数调整步长和等级数n,以时钟周期数调整步长为基本单位,将门控周期分为时钟周期数依次增大的n个等级;Determine the clock cycle number adjustment step size and level number n, taking the clock cycle number adjustment step size as the basic unit, divide the gating cycle into n levels with the clock cycle number increasing sequentially;
若有效受控信号时钟周期数等于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更大的下一级所对应的时钟周期数;If the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the next stage with a larger number of cycles;
若有效受控信号时钟周期数小于当前有效门控信号时钟周期数,则将下一有效门控信号时钟周期数调整为周期数更低的对应等级所对应的时钟周期数,If the number of effective controlled signal clock cycles is less than the current effective gating signal clock cycles, then adjust the next effective gating signal clock cycles to the number of clock cycles corresponding to the corresponding level with a lower number of cycles,
其中,下一有效门控信号时钟周期数小于等于门控周期的总时钟周期数。Among them, the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
可选地,下一门控信号时钟周期均匀分布在第一受控信号和第二受控信号的最大有效连续周期之内。Optionally, the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
图4示出了本公开一实施方式的门控方案的有益效果。FIG. 4 shows the beneficial effects of the gating scheme according to an embodiment of the present disclosure.
如图4所示,相对于图1所示的技术方案的cycle-功率曲线(图4左部的第一条斜线,不使用门控),本公开一实施方式的门控方案的cycle-功率曲线(图4左部的第二条斜线,使用门控)的斜率要小。这说明了本公开的上述技术方案能够减缓TPU执行计算指令时功耗上升的速度(对于具有握手信号的其他电路同样适用)。As shown in FIG. 4, relative to the cycle-power curve of the technical solution shown in FIG. 1 (the first oblique line in the left part of FIG. 4, no gating is used), the cycle-gating of the gating solution according to an embodiment of the present disclosure The slope of the power curve (the second slope in the left part of Figure 4, using gating) is smaller. This shows that the above technical solutions of the present disclosure can slow down the speed of power consumption increase when the TPU executes calculation instructions (the same applies to other circuits with handshake signals).
因此,本公开的上述技术方案通过在数据传输的控制通路上加入了(基于门限的)门控,根据TPU等系统的繁忙状态调节门限开启时间的长短,使TPU的功耗可以分级上升,避免骤然升高,使供电系统更加稳定,也在一定程度上保证了性能。Therefore, the above technical solution of the present disclosure adds (threshold-based) gating to the control path of data transmission, and adjusts the length of the threshold opening time according to the busy state of the TPU and other systems, so that the power consumption of the TPU can be increased in stages to avoid The sudden increase makes the power supply system more stable and also guarantees performance to a certain extent.
即,本公开的上述技术方案能够减缓TPU等电路执行计算指令时功耗上升的速度,还能够使功耗保持稳定。That is, the above-mentioned technical solutions of the present disclosure can slow down the speed at which power consumption rises when circuits such as TPUs execute calculation instructions, and can also stabilize power consumption.
应当注意,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。It should be noted that although the operations of the disclosed method are described in a specific order in the drawings, this does not require or imply that the operations must be performed in the specific order, or that all the operations shown must be performed to achieve the desired results. . Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step for execution, and / or one step may be decomposed into multiple steps for execution.
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present disclosure may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理 机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present disclosure is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each flow and / or block in the flowchart and / or block diagram and a combination of the flow and / or block in the flowchart and / or block diagram may be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processing machine, or other programmable data processing device to produce a machine that enables the generation of instructions executed by the processor of the computer or other programmable data processing device An apparatus for realizing the functions specified in one block or multiple blocks of one flow or multiple flows of a flowchart and / or one block or multiple blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, the instructions The device implements the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and / or block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device The instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and / or block diagrams.
本公开中应用了具体实施例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。This disclosure uses specific examples to explain the principles and implementations of this disclosure. The descriptions of the above examples are only used to help understand the methods and core ideas of this disclosure; meanwhile, for those of ordinary skill in the art, based on this The disclosed ideas are subject to change in specific implementation and application scope. In summary, the content of this specification should not be construed as limiting the disclosure.
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, but not to limit them; although the present disclosure has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: The technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features thereof may be equivalently replaced; and these modifications or replacements do not deviate from the essence of the corresponding technical solutions of the technical solutions of the embodiments of the present disclosure range.

Claims (10)

  1. 一种门控电路,其特征在于,包括:A gating circuit is characterized by comprising:
    系统时钟信号输入端,用于接收时钟周期为T clk的系统时钟信号; The system clock signal input terminal is used to receive the system clock signal whose clock period is T clk ;
    第一受控信号输入端,用于接收第一受控信号;The first controlled signal input terminal is used to receive the first controlled signal;
    第二受控信号输入端,用于接收第二受控信号;The second controlled signal input terminal is used to receive the second controlled signal;
    门控信号输出端,用于输出对所述第一受控信号的输入和所述第二受控信号的输入进行门控的门控信号;A gate control signal output terminal for outputting a gate control signal that gates the input of the first controlled signal and the input of the second controlled signal;
    门控逻辑产生模块,用于基于所述系统时钟信号、统计所述第一受控信号和所述第二受控信号在所述门控信号的当前门控周期内同时有效的有效受控信号时钟周期数,基于所述有效受控信号时钟周期数来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数。Gating logic generation module, which is used to calculate the effective controlled signals that are valid at the same time in the current gating period of the gating signal based on the system clock signal, statistics of the first controlled signal and the second controlled signal The number of clock cycles, based on the number of effective controlled signal clock cycles, adjusts the number of clock cycles of the next effective gating signal within the next gating cycle of the gating signal.
  2. 根据权利要求1所述的门控电路,其特征在于,还包括:The gate control circuit according to claim 1, further comprising:
    公共门控使能输入端,用于接收公共门控使能信号;Common gate enable input, used to receive common gate enable signal;
    第一与门,用于将所述公共门控使能信号与所述第一受控信号进行与操作,输出经门控后的第一受控信号;A first AND gate, used to perform AND operation on the common gating enable signal and the first controlled signal, and output the gated first controlled signal;
    第二与门,用于将所述公共门控使能信号与所述第二受控信号进行与操作,输出经门控后的第二受控信号;A second AND gate, configured to perform AND operation on the common gating enable signal and the second controlled signal, and output the gated second controlled signal;
    第一多路复用模块,用于复用所述第一受控信号和所述经门控后的第一受控信号;A first multiplexing module, configured to multiplex the first controlled signal and the gated first controlled signal;
    第二多路复用模块,用于复用所述第二受控信号和所述经门控后的第二受控信号,A second multiplexing module for multiplexing the second controlled signal and the gated second controlled signal,
    其中,在所述公共门控使能信号有效时,所述第一多路复用模块和所述第二多路复用模块分别输出所述经门控后的第一受控信号和所述经门控后的第二受控信号,在所述公共门控使能信号无效时,所述第一多路复用模块和所述第二多路复用模块分别输出所述第一受控信号和所述第二受控信号。Wherein, when the common gating enable signal is valid, the first multiplexing module and the second multiplexing module respectively output the gated first controlled signal and the After the gated second controlled signal, when the common gate enable signal is invalid, the first multiplexed module and the second multiplexed module respectively output the first controlled Signal and the second controlled signal.
  3. 根据权利要求1所述的门控电路,其特征在于,所述第一受控信号是TPU的数据传输准备好信号,所述第二受控信号是TPU的数据计算准备好信号。The gate control circuit according to claim 1, wherein the first controlled signal is a TPU data transmission ready signal, and the second controlled signal is a TPU data calculation ready signal.
  4. 根据权利要求1所述的门控电路,其特征在于,所述门控逻辑产生模块还用于,通过以下步骤调整门控信号的下一门控周期内的下一门控信号时钟周期数:The gating circuit according to claim 1, wherein the gating logic generation module is further configured to adjust the number of clock cycles of the next gating signal in the next gating cycle of the gating signal through the following steps:
    确定门控周期所包含的总时钟周期数;Determine the total number of clock cycles included in the gating cycle;
    确定时钟周期数调整步长和等级数n,以时钟周期数调整步长为基本单位,将所述门控周期分为时钟周期数依次增大的n个等级;Determining the step size and the number of levels n of clock cycle adjustments, taking the step size of the clock cycle adjustments as the basic unit, dividing the gating cycle into n levels in which the number of clock cycles increases in sequence;
    若所述有效受控信号时钟周期数等于所述当前有效门控信号时钟周期数,则将所述下一有效门控信号时钟周期数调整为周期数更大的下一级所对应的时钟周期数;If the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gate signal, the number of clock cycles of the next effective gate signal is adjusted to the clock cycle corresponding to the next stage with a larger number of cycles number;
    若所述有效受控信号时钟周期数小于所述当前有效门控信号时钟周期数,则将所述下一有效门控信号时钟周期数调整为周期数更低的对应等级所对应的时钟周期数,If the number of clock cycles of the effective controlled signal is less than the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the corresponding level with a lower number of cycles ,
    其中,所述下一有效门控信号时钟周期数小于等于所述门控周期的总时钟周期数。Wherein, the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
  5. 根据权利要求4所述的门控电路,其特征在于,下一门控信号时钟周期均匀分布在所述第一受控信号和所述第二受控信号的最大有效连续周期之内。The gating circuit according to claim 4, wherein the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
  6. 一种门控方法,其特征在于,包括:A gating method, characterized in that it includes:
    接收时钟周期为T clk的系统时钟信号; Receive the system clock signal whose clock period is T clk ;
    接收第一受控信号;Receive the first controlled signal;
    接收第二受控信号;Receive the second controlled signal;
    输出对所述第一受控信号的输入和所述第二受控信号的输入进行门控的门控信号;Output a gating signal that gates the input of the first controlled signal and the input of the second controlled signal;
    基于所述系统时钟信号、统计所述第一受控信号和所述第二受控信号在所述门控信号的当前门控周期内同时有效的有效受控信号时钟周期数,基于所述有效受控信号时钟周期数来调整门控信号的下一门控周期内的下一有效门控信号时钟周期数。Based on the system clock signal, counting the number of effective controlled signal clock cycles that the first controlled signal and the second controlled signal are simultaneously valid within the current gating cycle of the gating signal, based on the effective The number of clock cycles of the controlled signal is used to adjust the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal.
  7. 根据权利要求6所述的门控方法,其特征在于,还包括:The gating method according to claim 6, further comprising:
    接收公共门控使能信号;Receive public gating enable signal;
    用于将所述公共门控使能信号与所述第一受控信号进行与操作,输出经门控后的第一受控信号;It is used to perform and operate the common gating enable signal and the first controlled signal, and output the gated first controlled signal;
    用于将所述公共门控使能信号与所述第二受控信号进行与操作,输出经门控后的第二受控信号;It is used to perform and operate the common gating enable signal and the second controlled signal, and output the gated second controlled signal;
    复用所述第一受控信号和所述经门控后的第一受控信号;Multiplexing the first controlled signal and the gated first controlled signal;
    复用所述第二受控信号和所述经门控后的第二受控信号,Multiplexing the second controlled signal and the gated second controlled signal,
    其中,在所述公共门控使能信号有效时,分别输出所述经门控后的第一受控信号和所述经门控后的第二受控信号,在所述公共门控使能信号无效时,分别输出所述第一受控信号和所述第二受控信号。Wherein, when the common gating enable signal is valid, the gated first controlled signal and the gated second controlled signal are output separately, and the common gate control is enabled When the signal is invalid, the first controlled signal and the second controlled signal are output separately.
  8. 根据权利要求6所述的门控方法,其特征在于,所述第一受控信号是TPU的数据传输准备好信号,所述第二受控信号是TPU的数据计算准备好信号。The gating method according to claim 6, wherein the first controlled signal is a data transmission ready signal of the TPU, and the second controlled signal is a data calculation ready signal of the TPU.
  9. 根据权利要求6所述的门控方法,其特征在于,还包括,通过以下步骤调整门控信号的下一门控周期内的下一有效门控信号时钟周期数:The gating method according to claim 6, further comprising: adjusting the number of clock cycles of the next valid gating signal within the next gating cycle of the gating signal by the following steps:
    确定门控周期所包含的总时钟周期数;Determine the total number of clock cycles included in the gating cycle;
    确定时钟周期数调整步长和等级数n,以时钟周期数调整步长为基本单位,将所述门控周期分为时钟周期数依次增大的n个等级;Determining the step size and the number of levels n of clock cycle adjustments, taking the step size of the clock cycle adjustments as the basic unit, dividing the gating cycle into n levels in which the number of clock cycles increases in sequence;
    若所述有效受控信号时钟周期数等于所述当前有效门控信号时钟周期数,则将所述下一有效门控信号时钟周期数调整为周期数更大的下一级所对应的时钟周期数;If the number of clock cycles of the effective controlled signal is equal to the number of clock cycles of the current effective gate signal, the number of clock cycles of the next effective gate signal is adjusted to the clock cycle corresponding to the next stage with a larger number number;
    若所述有效受控信号时钟周期数小于所述当前有效门控信号时钟周期数,则将所述下一有效门控信号时钟周期数调整为周期数更低的对应等级所对应的时钟周期数,If the number of clock cycles of the effective controlled signal is less than the number of clock cycles of the current effective gating signal, the number of clock cycles of the next effective gating signal is adjusted to the number of clock cycles corresponding to the corresponding level with a lower number of cycles ,
    其中,所述下一有效门控信号时钟周期数小于等于所述门控周期的总时钟周期数。Wherein, the number of clock cycles of the next valid gating signal is less than or equal to the total number of clock cycles of the gating cycle.
  10. 根据权利要求9所述的门控方法,其特征在于,下一门控信号时钟周期均匀分布在所述第一受控信号和所述第二受控信号的最大有效连续周期之 内。The gating method according to claim 9, wherein the clock period of the next gating signal is evenly distributed within the maximum effective continuous period of the first controlled signal and the second controlled signal.
PCT/CN2018/114367 2018-11-07 2018-11-07 Gating circuit and method WO2020093271A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114367 WO2020093271A1 (en) 2018-11-07 2018-11-07 Gating circuit and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114367 WO2020093271A1 (en) 2018-11-07 2018-11-07 Gating circuit and method

Publications (1)

Publication Number Publication Date
WO2020093271A1 true WO2020093271A1 (en) 2020-05-14

Family

ID=70611237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/114367 WO2020093271A1 (en) 2018-11-07 2018-11-07 Gating circuit and method

Country Status (1)

Country Link
WO (1) WO2020093271A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378258A (en) * 2007-08-29 2009-03-04 中国科学院电子学研究所 Modularization frequency division unit and frequency divider
CN101592975A (en) * 2008-05-30 2009-12-02 深圳艾科创新微电子有限公司 A kind of clock switch circuit
CN102799211A (en) * 2011-05-27 2012-11-28 台湾积体电路制造股份有限公司 Internal clock gating apparatus
CN102857198A (en) * 2012-08-30 2013-01-02 锐迪科科技有限公司 Clock gating circuit used for double-edge trigger
US20150311888A1 (en) * 2014-04-24 2015-10-29 Huawei Technologies Co., Ltd. Clock frequency modulation method and clock frequency modulation apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378258A (en) * 2007-08-29 2009-03-04 中国科学院电子学研究所 Modularization frequency division unit and frequency divider
CN101592975A (en) * 2008-05-30 2009-12-02 深圳艾科创新微电子有限公司 A kind of clock switch circuit
CN102799211A (en) * 2011-05-27 2012-11-28 台湾积体电路制造股份有限公司 Internal clock gating apparatus
CN102857198A (en) * 2012-08-30 2013-01-02 锐迪科科技有限公司 Clock gating circuit used for double-edge trigger
US20150311888A1 (en) * 2014-04-24 2015-10-29 Huawei Technologies Co., Ltd. Clock frequency modulation method and clock frequency modulation apparatus

Similar Documents

Publication Publication Date Title
US11831745B2 (en) Clock frequency adjustment for semi-conductor devices
US9588916B1 (en) Interrupt latency reduction
TWI443521B (en) Bus interface, clock control device, and clock frequency control method of bus interface
CN108089814B (en) Data storage method and device
KR101095007B1 (en) Circuit and method for generating on die termination signal, semiconductor apparatus using the same
US20100235672A1 (en) Multi-core processor, its frequency conversion device and a method of data communication between the cores
JP2016514441A (en) Data bus inversion (DBI) encoding based on speed of operation
RU2012145865A (en) HETEROGENEOUS INTERCONNECTED NETWORK WITH PERFORMANCE AND TRAFFIC
JP2011176816A5 (en) On-die termination circuit and method for providing termination impedance
US11016525B1 (en) Clock control circuit and clock control method
CN104539263B (en) Reconfigurable low-power dissipation digital FIR filter
US20180032307A1 (en) Power reduction through clock management
US20130077701A1 (en) Method and integrated circuit for adjusting the width of an input/output link
WO2021232843A1 (en) Image data storage method, image data processing method and system, and related apparatus
US20170083461A1 (en) Integrated circuit with low latency and high density routing between a memory controller digital core and i/os
WO2020093271A1 (en) Gating circuit and method
CN114416610B (en) PWM signal generation method, chip and electronic equipment
US10241798B2 (en) Technique for reducing voltage droop by throttling instruction issue rate
TWI505724B (en) Gain controlling system, sound playback system, and gain controlling method thereof
CN109088619B (en) Method and circuit for generating enable signal
CN108073445A (en) The back pressure processing method and system calculated based on distributed stream
WO2022062758A1 (en) Incentive message sending method and apparatus, electronic device, and storage medium
JPS5896343A (en) Data skew buffer circuit
JP2015118571A5 (en)
TW201826707A (en) Method for determining sampling phase of sampling clock signal and associated electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18939779

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18939779

Country of ref document: EP

Kind code of ref document: A1