The present application claims the priority benefit of Taiwanese Application No. 110132095, filed on Aug. 30, 2021, which is incorporated by reference herein in its entirety.
The present disclosure relates to a processing circuit, more particularly, to a processor circuit capable of determining an operating voltage of a processor and a related non-transitory computer-readable medium.
A circuit, e.g. a processor circuit or another integrated circuit, will fail when its operating voltage is too low or unstable. In order for the circuit to operate at a proper operating voltage to maintain normal operation, the operating voltage of the circuit is usually set to a minimum allowable voltage plus a voltage margin, which is determined according to manual experimentation and human decision. The voltage margin is usually much greater than what is actually needed to ensure proper operation of the circuit.
However, an excessive voltage margin causes unnecessary power consumption.
The described embodiments therefore provide a processor circuit capable of determining an operating voltage of a processor and a related non-transitory computer-readable medium to solve the above problem.
Some embodiments described herein include an exemplary processor circuit. The processor circuit includes a processor, N detection circuits and a neural network circuit. The processor is configured to provide a control signal. The control signal indicates an operational status of the processor. The N detection circuits are configured to detect N different types of variation factors affecting an operating voltage of the processor respectively, and accordingly generate N detection results respectively. N is an integer greater than one. The neural network circuit, coupled to the processor and the N detection circuits, is configured to determine the operating voltage of the processor according to the control signal and the N detection results.
Some embodiments described herein include an exemplary non-transitory computer-readable medium. The non-transitory computer-readable medium stores a program code which, when executed by a processor, causes the processor to: provide a control signal, wherein the control signal indicates an operational status of the processor; detect N different types of variation factors affecting an operating voltage of the processor respectively, and accordingly generate N detection results respectively, wherein N is an integer greater than one; and utilize a neural network model to determine the operating voltage of the processor according to the control signal and the N detection results.
Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It should be noted that, in accordance with the standard practice in the field, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
The following disclosure provides various embodiments or examples for implementing different features of the present disclosure. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. For example, when an element is referred to as being “connected to” or “coupled to” another element, it may be directly connected to or coupled to the other element, or intervening elements may be present.
In addition, reference numerals and/or letters may be repeated in various examples of the present disclosure. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed. Furthermore, as could be appreciated, the present embodiments provide many ideas that can be widely applied in various scenarios. The following embodiments are provided for illustration purposes, and shall not be used to limit the scope of the present disclosure.
An operating voltage of a circuit may be affected by various types of variation factors, such as process variations, voltage variations, temperature variations, circuit aging, and/or power supply accuracy variations. With regard to a high-speed circuit such as a processor of a system-on-chip, a high operating speed makes the operating voltage more sensitive to the above-mentioned variation factors. As a result, a greater voltage margin may be desired, resulting in higher power consumption.
In order to reduce power consumption, dynamic voltage and frequency scaling (DVFS) can be used to determine an operating frequency and an operating voltage. However, in a case where the operating frequency and the operating voltage have multiple levels, it is not easy to solve the problem of high power consumption by utilizing the voltage margin which is determined according to manual experimentation and human decision. For example, before mass production of chips, the number of samples taken in manual experiment is limited due to the time required for manual experiment. After mass production of chips, the numbers of frequency levels, voltage levels and test items which can be tested are limited due to test time and test cost. In addition, the power supply and stability of the test bench may be different from the actual product. Thus, the operating voltage of the circuit still needs to be set relatively high based on designer's experiences in order to improve the yield rate.
The proposed operating voltage determination scheme can take into account various variation factors those affect the operating voltage stability of a circuit, and utilize a neural network circuit, or a neural network model, to process detection results corresponding to the variation factors, thereby defining a reasonable operating voltage of the circuit. Compared with relying on designer's experiences to determine an operating voltage, the proposed operating voltage determination scheme can accurately predict/determine a reasonable operating voltage of each circuit (e.g. a processor) with the use of the neural network circuit or the neural network model. In some embodiments, the proposed operating voltage determination scheme may be implemented using, but is not limited to, a physical circuit or firmware. Further description is provided below.
The processor 102 can be implemented using, but is not limited to, a central processing unit. In the present embodiment, the processor 102 can generate a control signal CS which can indicate an operational status of the processor 102, such as whether one or some computing units of the processor 102 are activated, or a frequency level of the processor 102. By way of example but not limitation, the processor 102 may include a control unit 112 and a computing circuit 114. The control signal CS outputted by the control unit 112 can indicate activated computing unit(s) in the computing units 114_1-114_M (M is a positive integer) which is included in the computing circuit 114. The computing units 114_1-114_M may include, but are not limited to, at least one of an arithmetic logic unit (ALU), a multiply accumulate (MAC) unit, a floating point unit, an instruction fetch unit, an issue dispatch unit and a load/store unit. The control signal CS may be, but is not limited to an enable signal of architecture integrated clock gating (ICG).
The detection module 104 may include N detection circuits, where N is a positive integer greater than one. The N detection circuits can be configured to detect N different types of variation factors affecting an operating voltage Vop of the processor 102, respectively, and accordingly generate N detection results {DR}, respectively. In the present embodiment, the above-mentioned N types of variation factors can include, but are not limited to, at least one of a process variation factor, a voltage variation factor, a temperature variation factor and an aging variation factors. For example, the detection module 104 can be implemented using a process detection circuit 104_1, a voltage detection circuit 1042, a temperature detection circuit 104_3 and an aging detection circuit 104_4 (N=4). In other words, the above-mentioned N types of variation factors can be a process variation factor, a voltage variation factor, a temperature variation factor and an aging variation factor.
The process detection circuit 104_1 is configured to detect process information or a process corner of the processor circuit 100, and accordingly generate a detection result DR1. For example, the process detection circuit 104_1 can detect a frequency of an oscillating signal generated by an oscillator included in the processor circuit 100, such as a ring oscillator (not shown in
The neural network circuit 106, coupled to the processor 102 and the detection module 104, is configured to determine the operating voltage Vop according to the control signal CS and the N detection results {DR}. For example, with regard to the detection result DR1, an operating voltage employed by a circuit manufactured using a relatively slow process is usually higher than an operating voltage employed by a circuit manufactured using a relatively fast process. With regard to the detection result DR2, in a case where the processor circuit 100 operating in different operating scenarios (e.g. a light load mode and a heavy load mode) is supplied by the same supply voltage, corresponding voltages appearing within the processor circuit 100 would be different from each other. With regard to the detection result DR3, an operating voltage employed by a circuit operating at a relatively high temperature is usually higher than an operating voltage employed by a circuit operating at a relatively low temperature. With regard to the detection result DR4, an operating voltage usually increases after a high temperature and high voltage aging test. According to an effect of each detection imposed on an operating voltage, the operating voltage Vop having a suitable level can be predicted.
In the present embodiment, the neural network circuit 106 can perform an associated weighting operation on the detection results DR1-DR4 according to the operational status of the processor 102, indicated by the control signal CS, and accordingly predict the appropriate operating voltage Vop. For example, the neural network circuit 106 may include a plurality of sub-circuits acting as a plurality of neurons (not shown) or a plurality of software acting as a plurality of neurons (not shown). The sub-circuits may be referred to as a plurality of neuron circuits. The neural network circuit 106 can determine a set of weight values, which are assigned to each neuron, according to the control signal CS and the detection results DR1-DR4. The neural network circuit 106 can further process the detection results DR1-DR4 according to a plurality of sets of weight values assigned to the neurons, and accordingly generate a processing result PR. Next, the neural network circuit 106 can determine the operating voltage Vop of the processor 102 at least according to the processing result PR.
In operation, the processor circuit 100 may be subjected to a stress test, where the processor circuit 100 operates under a high load condition. The neural network circuit 106 can perform a neural network algorithm according to the control signal CS and the detection results DR1-DR4, thereby adjusting weight value(s) corresponding to neuron(s) of the neural network circuit 106 (not shown
Additionally or alternatively, when the processing result PR is generated, the neural network circuit 106 can store the weight value corresponding to each neuron into a storage unit 116 of the processor 102. Based on weight information Wop stored into the storage unit 116, the circuit designer can obtain a relationship between the operating voltage Vop and various variation factors, which helps to improve the stability and accuracy of the operating voltage Vop.
To facilitate an understanding of the present disclosure, the proposed operating voltage determination scheme is described below with reference to some embodiments of a neural network model. However, those skilled in the art can appreciate the proposed operating voltage determination scheme can be employed to other embodiments of the neural network model without departing from the scope of the present disclosure.
In the present embodiment, the input layer 202 can include a plurality of neuron circuits 202_1-202_4. The neural network circuit 206 can normalize the detection results DR1-DR4 received by the neuron circuits 202_1-202_4 to the input signals x1-x4 having signal values within a predetermined range.
The hidden layer 203 can include a plurality of neuron circuits 203_1-203j, and the output layer 204 can include the neuron circuit 204_1. The neural network circuit 206 can determine a plurality of sets of weight values {W1}-{Wj} assigned to the neuron circuits 203_1-203_j and/or a set of weight values {Wy} assigned to the neuron circuit 204_1 according to the control signal CS and the detection results DR1-DR4. The neural network circuit 206 can process the detection results DR1-DR4 according to the sets of weight values {W1}-{Wj} and {Wy} to thereby generate the processing result PR. For example, the input signals x1-x4 can be multiplied by a plurality of weight values w1-w41 included in the set of weight values {W1}, respectively, and then inputted to the neuron circuit 203_1, the input signals X1-X4 can be multiplied by a plurality of weight values w12-w42 included in the set of weight values {W2}, respectively, and then inputted to the neuron circuit 203_2, and so on. The input signals y1-yj generated by the hidden layer 203 can be multiplied by plurality of weight values w1y-wjy included in the set of weight values {Wy}, respectively, and then inputted to the neuron circuit 204_1. The neuron circuit 204_1 can generate the processing result PR according to the input signals y1-yj and the weight values w1y-wjy.
Referring again to
In the present embodiment, before the weight processing result of the neural network circuit 206 tends to be stable, the neural network circuit 206 can adjust a set of weight values assigned to each neuron circuit one or more times. For example, before determining the operating voltage Vop shown in
In some embodiments, the processing result PR′ and the processing result PR can be two consecutive processing results generated when the neural network circuit 206 performs two consecutive weighting operations on the detection results DR1-DR4. The neural network circuit 206 can determine if the voltage Vp tends to be stable according to the processing result PR′ and the processing result PR. For example, the neural network circuit 206 can determine whether a voltage difference between the voltage Vp and the voltage Vp′ is less than a predetermined value. When the voltage difference between the voltage Vp and the voltage Vp′ is less than the predetermined value, the neural network circuit 206 can determine that the voltage Vp tends toward to be stable, and output the processing result PR to thereby use the voltage Vp is used as the operating voltage Vop shown in
In some embodiments, the processing result PR′ may be a processing result generated when the neural network circuit 206 performs the weighting operation on the detection results DR1-DR4 for the first time. The neural network circuit 206 can determine the sets of weight values {W1′}-{Wj′} and {Wy′} according to the operational status of the processor 102 shown in
Further, when the neural network circuit 206 outputs the processing result PR so as to use the voltage Vp as the operating voltage Vop shown in
The aforementioned structure of a neural network circuit and/or a neuron circuit is provided for illustrative purposes only, and is not intended to limit the scope of the present disclosure. For example, the neural network circuit 106 shown in
In some embodiments, the proposed operating voltage determination scheme can utilize commands, parameters and variables of a specific program language to translate each step into a program code.
The foregoing outlines features of several embodiments so that those skilled in the art may better understand various aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent embodiments still fall within the spirit and scope of the present disclosure, and they may make various changes, substitutions, and alterations thereto without departing from the spirit and scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
110132095 | Aug 2021 | TW | national |