Minimum working voltage measurement method, test system, storage medium and processor

By restricting chip memory access and configuring a credit mechanism, the impact of Worse application operations on measurement accuracy was resolved, enabling adjustment of the operating voltage without closing the application, thereby improving the measurement accuracy and efficiency at the lowest operating voltage.

CN121476685APending Publication Date: 2026-02-06NANJING ILUVATAR COREX TECH CO LTD (DBA ILUVATAR COREX INC NANJING)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511659315.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-13
Publication Date
2026-02-06

AI Technical Summary

Technical Problem

In existing technologies, when measuring the lowest operating voltage of a chip, the operations of the Worse application are affected by the operating voltage, resulting in low measurement accuracy. Furthermore, disabling the Worse application can affect measurement efficiency and chip status, potentially leading to malfunctions.

Method used

By limiting chip memory access and configuring a credit mechanism to control memory request transmission, the impact of operating voltage changes on computation is avoided. At the same time, the operating voltage is adjusted without closing the Worse application, and the voltage is reduced using a preset step size and waited for the voltage to stabilize, ensuring measurement accuracy and efficiency.

Benefits of technology

It improves the accuracy and efficiency of minimum operating voltage measurement, reduces chip malfunctions and calculation errors caused by voltage variations, simplifies the testing process, and reduces measurement time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121476685A_ABST
    Figure CN121476685A_ABST
Patent Text Reader

Abstract

The invention provides a minimum working voltage measuring method, a testing system, a storage medium and a processor. The minimum working voltage measurement method comprises the following steps: under the current working voltage of the processing core, detecting the working state of the chip under the condition that the memory is called to execute the operation of a preset application; under the condition that it is determined that the chip works normally through the working state, the memory is limited to be called; after the memory is limited to be called, the preset application keeps running, and the operation of the preset application is limited to be executed; reducing the current working voltage of the chip; the calling of the memory is recovered, so that the processing core continues to execute the operation of the preset application; and under the condition that the chip works abnormally, determining the lowest working voltage corresponding to the preset working frequency based on the current working voltage. The method is beneficial to improving the measurement accuracy of the minimum working voltage corresponding to the preset working frequency and improving the measurement efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of chip testing, and more specifically, provides a method for measuring the minimum operating voltage, a testing system, a storage medium, and a processor. Background Technology

[0002] To more effectively control power consumption, various chips are equipped with a DVFS (Dynamic Voltage and Frequency Scaling) mechanism. For example, this mechanism can be configured in processor chips such as GPGPU (General-Purpose computing on Graphics Processing Units), GPU (Graphics Processing Unit), CPU (Central Processing Unit), and NPU (Neural Processing Unit), or in chips with other functional modules. The DVFS mechanism can adjust the chip's operating frequency according to actual workload requirements, allowing the chip to operate at a lower frequency while still meeting the workload demands, thereby reducing power consumption.

[0003] In the DVFS mechanism, the chip is adjusted to operate at different frequencies, each corresponding to a minimum operating voltage Vmin. The minimum operating voltage Vmin is the lowest supply voltage that allows the chip to operate stably while ensuring correct functionality and timing convergence. Accurately measuring the minimum operating voltage corresponding to each operating frequency helps ensure the chip operates normally while reducing power consumption.

[0004] Currently, when measuring the minimum operating voltage Vmin corresponding to each operating frequency, the chip is typically tested using a Worse application. The Worse application is the application with the highest requirements for the chip's operating voltage. At each operating frequency and at each operating voltage, the Worse application is run to trigger transient voltage events to determine if the chip is experiencing any malfunctions, thereby determining the minimum operating voltage for that frequency. During testing, if the chip operates normally, the operating voltage needs to be reduced and the test continued, with multiple voltage adjustments used to determine the minimum operating voltage Vmin.

[0005] However, the calculations in the Worse application are affected by the operating voltage. Adjusting the voltage can affect the accuracy of the calculations in the Worse application, leading to incorrect calculation results and affecting the accuracy of the final minimum operating voltage Vmin.

[0006] Therefore, when determining the minimum operating voltage Vmin, it is usually necessary to close the Worse application to avoid the impact of changes in the operating voltage on the measurement accuracy of Vmin. However, closing the Worse application can lead to longer initialization and resource loading times, affecting measurement efficiency. Furthermore, closing the Worse application may affect the chip's state, causing malfunctions or crashes, requiring a restart to restore the chip's state, which also impacts testing efficiency. Summary of the Invention

[0007] In view of this, this application aims to provide a minimum operating voltage measurement method, test system, storage medium, and processor to improve the measurement efficiency and accuracy of chips.

[0008] In a first aspect, embodiments of this application provide a method for measuring a minimum operating voltage, used to measure the minimum operating voltage corresponding to a preset operating frequency of a chip; the chip includes a processing core and memory; the method includes: when the processing core, under the current operating voltage, calls the memory to execute the operation of a preset application, detecting the operating state of the chip; if the operating state determines that the chip is operating normally, restricting the memory from being called; after the memory is restricted from being called, the preset application continues to run and the operation of the preset application is restricted from execution; reducing the current operating voltage of the chip; restoring the memory call so that the processing core continues to execute the operation of the preset application; and when the chip is operating abnormally, determining the minimum operating voltage corresponding to the preset operating frequency based on the current operating voltage.

[0009] In this embodiment, by restricting the chip's memory access, the operation of the preset application is limited. Even if the operating voltage is adjusted during this period, the change in operating voltage will not affect the current operation. Therefore, the accuracy of the preset application's execution can be guaranteed, reducing the impact on the accuracy of the minimum operating voltage measurement. Simultaneously, restricting memory access does not require closing the preset application; the preset application can still continue running. Therefore, the impact of closing the preset application on the chip's testing conditions and environment can be effectively avoided, as well as the need to wait for the preset application to restart or initialize, thus avoiding the waiting time caused by closing the preset application and improving the efficiency of minimum operating voltage measurement. Furthermore, since the preset application runs continuously during the measurement process, the chip's load will not change significantly, effectively reducing the impact of large fluctuations in chip load on the accuracy of minimum operating voltage measurement. At the same time, since the load does not change significantly, the chip's power consumption will not change excessively. This reduces the impact of power consumption changes on the chip's temperature, further reducing errors caused by temperature-induced changes in chip performance and further improving measurement accuracy.

[0010] In one embodiment, the chip further includes a cache and a memory controller. The cache is connected to both the memory controller and the processing core. The memory controller is also connected to the memory. Memory requests from the processing core to the memory are sent to the memory controller via the cache to access the memory through the memory controller. The cache and the memory controller are configured to control request transmission based on a preset credit mechanism. The credit mechanism includes: allowing the cache to transmit the memory request to the memory controller when it has a credit value; restricting memory access includes: acquiring and saving the current configuration of the cache for the credit mechanism; controlling the cache to disable the credit mechanism; after the credit mechanism is disabled, the cache is restricted from transmitting the memory request to the memory controller; and restoring memory access includes: restoring the cache's credit mechanism to the current configuration.

[0011] In this embodiment, a credit mechanism is configured between the cache and the memory controller, allowing the cache to send requests to the memory controller only when it has a credit value. This effectively prevents the memory controller from losing data due to overload. Correspondingly, disabling the credit mechanism restricts the cache from sending requests to the memory controller. Therefore, when adjusting the operating voltage, disabling the credit mechanism can limit the processing core's memory access, preventing the processing core from performing calculations during voltage adjustment and causing operational errors or chip malfunctions. The credit mechanism configuration can be saved before frequency adjustment and restored after voltage adjustment. This method is simple to implement, reduces implementation difficulty, and limits the time required for memory access. Furthermore, after lowering the operating voltage, request transmission between the cache and the memory controller can be quickly resumed, reducing the overall time required for voltage reduction. This approach helps to further reduce the measurement time for the lowest operating voltage and improve measurement efficiency.

[0012] In one embodiment, the chip further includes a credit register connected to the cache, the credit register being used to record the credit value of a request sent by the cache to the memory controller; obtaining and saving the current configuration of the cache for the credit mechanism includes: obtaining and saving the current credit value recorded in the credit register; controlling the cache to disable the credit mechanism includes: adjusting the credit value recorded in the credit register to 0; restoring the cache's credit mechanism to the current configuration includes: adjusting the value recorded in the credit register to the current credit value.

[0013] In this embodiment of the application, during the process of transmitting requests using the credit mechanism, the credit value is recorded through the credit register. When the operating voltage is reduced, it is only necessary to save the credit value recorded in the credit register and restore the recorded credit value after the operating voltage is reduced. This method realizes the saving and restoration of the credit mechanism in a simple and efficient manner, which helps to reduce the time required to reduce the operating voltage and thus improves the measurement efficiency of the minimum operating voltage.

[0014] In one embodiment, detecting the working state of the chip includes: acquiring at least one of the calculation result, verification result, and running state of the preset application; determining that the chip is working normally when the chip does not exhibit any of the preset conditions based on the calculation result, verification result, and running state of the preset application; the preset conditions include: the deviation between the calculation result and the preset result exceeds a preset threshold; the verification result indicates a verification error; and the running state indicates that the chip is deadlocked.

[0015] In one embodiment, the chip reduces the voltage by a preset step size in a single step; determining the minimum operating voltage corresponding to the preset operating frequency based on the current operating voltage includes: determining the minimum operating voltage as the sum of the target operating voltage that causes the chip to malfunction and the preset step size voltage.

[0016] In this embodiment, the chip malfunctions at the target operating voltage, which is no longer sufficient to maintain stable operation. Therefore, the previous operating voltage that allows the chip to operate normally is the minimum operating voltage corresponding to the current preset operating frequency. Each time the operating voltage is reduced, the voltage corresponding to a preset step size is decreased. Thus, the sum of the target operating voltage and the preset step size voltage can be determined as the minimum operating voltage. Reducing the operating voltage based on the preset step size stabilizes the voltage fluctuation, reduces the possibility of missing the minimum operating voltage, and directly determines the minimum operating voltage by the sum of the target operating voltage and the preset step size voltage, eliminating the need for repeated testing by restoring or increasing the voltage, thereby improving measurement efficiency.

[0017] In one embodiment, after reducing the current operating voltage of the chip and before resuming memory access, the method further includes: waiting for a first preset duration to allow the reduced operating voltage of the chip to stabilize.

[0018] After the voltage is reduced, there will be a reduction process. During this period, the voltage is unstable. If calculations are performed during this period, it may lead to calculation errors. Therefore, in this embodiment, after the voltage is reduced, a first preset time can be waited for the voltage to stabilize, so as to avoid chip abnormalities caused by voltage instability after voltage regulation, thereby reducing the impact on the accuracy of the minimum operating voltage measurement. This method helps to improve the accuracy of the minimum operating voltage measurement.

[0019] In one embodiment, before reducing the current operating voltage of the chip, the method further includes determining that the chip has entered an idle state.

[0020] In this embodiment of the application, after memory access is restricted, the processor can still complete the current computing task. If the operating voltage is adjusted directly, the chip may malfunction due to voltage instability. Therefore, before reducing the operating voltage, the chip can be put into an idle state to avoid chip malfunction due to voltage instability after voltage adjustment, thereby reducing the impact on the accuracy of the minimum operating voltage measurement.

[0021] In one embodiment, the method further includes: configuring an initial operating voltage for the preset operating frequency before controlling the chip to run the preset application; recording the idle power consumption of the chip when it is not running the preset application under the initial operating voltage; and determining that the chip enters an idle state includes: detecting the current power consumption of the chip; and determining that the chip enters the idle state when the current power consumption is less than or equal to the idle power consumption.

[0022] When a chip is in an idle state, it will not execute the operations of a preset application. Based on this, embodiments of this application provide a method for determining whether a chip has entered an idle state: recording the idle power consumption when the preset application is not running at the initial voltage, and comparing the chip's current power consumption with the idle power consumption. If the current power consumption is less than or equal to the idle power consumption, it indicates that the chip's operation has been completed without generating additional power consumption, and at this point, it can be determined that the chip has entered an idle state. Compared to using various status registers to record the status and determine whether the chip is idle, this method can reduce register reads, improve measurement efficiency, and even reduce the use of some registers, thus optimizing the structure.

[0023] In one embodiment, the method further includes: if it is determined that the current power consumption is greater than the idle power consumption, waiting for a second preset time and re-determining whether the current power consumption is less than or equal to the idle power consumption; repeating the above process until the current power consumption is less than or equal to the idle power consumption.

[0024] In this embodiment, because the chip will stop operating on the preset application after memory access is restricted, it can wait for the current operation to complete, thus avoiding performing too many operations.

[0025] Secondly, embodiments of this application provide a testing system, including: an access module for accessing a chip under test; and a testing host connected to the access module for performing the minimum operating voltage measurement method as described in any of the first aspects, to measure the minimum operating voltage corresponding to each preset operating frequency in the chip under test.

[0026] Thirdly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the minimum operating voltage measurement method as described in any of the first aspects.

[0027] Fourthly, embodiments of this application provide a processor, including: a chip, the chip being configured with a dynamic voltage frequency adjustment mechanism, wherein the minimum operating voltage corresponding to each operating frequency in the dynamic voltage frequency adjustment is measured by the minimum operating voltage measurement method as described in any of the first aspects. Attached Figure Description

[0028] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0029] Figure 1 A flowchart illustrating a minimum operating voltage measurement method provided in an embodiment of this application; Figure 2 This is a schematic diagram of the structure of a chip provided in one embodiment of this application; Figure 3 A schematic flowchart illustrating the measurement of the minimum operating voltage according to an embodiment of this application; Figure 4 This is a schematic diagram of a test system provided in an embodiment of this application.

[0030] Icons: Chip 200; Processing Core 210; Connectivity Architecture Component 220; Cache 230; Credit Register 231; Memory Controller 240; Memory 250; Test System 400; Access Module 410; Test Host 420. Detailed Implementation

[0031] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0032] First, this application provides a method for measuring a minimum operating voltage, which can measure the minimum operating voltage corresponding to a preset operating frequency of a chip. The type of chip is not limited; it can be a processor or a chip of various functional modules.

[0033] This chip is equipped with a dynamic voltage and frequency adjustment mechanism. The preset operating frequencies are the various operating frequencies preset in the dynamic voltage and frequency adjustment mechanism. Each operating frequency has a corresponding minimum operating voltage. The minimum operating voltage is the lowest supply voltage that allows the chip to operate stably while ensuring functional correctness and timing convergence.

[0034] Please see Figure 1 , Figure 1 This is a flowchart illustrating a method for measuring a minimum operating voltage according to an embodiment of this application. The method for measuring the minimum operating voltage includes: S110 detects the chip's operating status when the processing core executes operations of a preset application by calling memory under the current operating voltage.

[0035] Please see Figure 2 , Figure 2 This is a schematic diagram of the structure of a chip provided in an embodiment of this application. The chip 200 includes: a processing core 210, a connection architecture component 220, a cache 230, a memory controller 240, and memory 250. The processing core 210, the connection architecture component 220, the cache 230, the memory controller 240, and the memory 250 are connected sequentially.

[0036] The processing core 210 is the core unit used to perform computing tasks.

[0037] In this application, the preset operating frequency of the chip refers to the preset operating frequency of the processing core 210, or the core operating frequency. This preset operating frequency can be provided by a phase-locked loop or a clock signal providing circuit. For details, please refer to the prior art, which will not be elaborated here.

[0038] Fabric (connection architecture component 220) is used to manage the network architecture that enables communication between various modules within the chip.

[0039] Cache 230 includes various types of cache modules, such as L1 (Level 1 cache), L2 (Level 2 cache), and L3 (Level 3 cache). Among them, the shared cache layer in chip architectures such as processor chips is LLC (Last Level Cache), also known as L3 cache. It is the last layer of the chip core's proprietary protocol, used to reduce the number of accesses to external memory locations and improve chip performance. For details on LLC, please refer to existing technologies, which will not be elaborated here.

[0040] The Memory Controller (240) manages data transfer between the processing core (210) and the memory (250). Device Memory (or simply memory) stores various data required by the processor.

[0041] In the embodiments of this application, the processing core 210 needs to call memory 250 to perform the application's operations. The request of the processing core 210 to call memory 250 will be sequentially transmitted to the memory controller 240 through the connection architecture component 220 and the cache 230. The memory controller 240 will then select the memory 250 to be accessed and called according to the instructions.

[0042] The specific structure described above can be referenced from existing technologies. The chip may also include other structures, such as power modules, heat dissipation modules, etc. The specific structure of the chip or other possible structures can be referenced from existing technologies, and will not be elaborated here.

[0043] In the embodiments of this application, the minimum operating voltage corresponding to the preset operating frequency also refers to the minimum operating voltage of the processing core 210 corresponding to that preset operating frequency. When measuring the minimum operating voltage corresponding to any preset operating frequency, the processing core 210 can be made to operate at that preset operating frequency. Starting from the preset initial operating voltage, the operating voltage is gradually reduced, and the chip 200 or the processing core 210 is measured to determine whether it is working normally at each operating voltage, so as to obtain the minimum operating voltage.

[0044] For example, the preset operating frequencies include F0, F1, ..., Fn, and correspondingly, the operating voltages corresponding to F0 include F0-V0, F0-V1, F0-V2, ..., F0-Vm. Here, F0-V0 is the preset initial operating voltage for F0, and F0-V0 to F0-Vm decrease sequentially. For example, F0 = 100MHz, F0-V0 = 700mV, F0-V1 = 690mV, F0-V2 = 680mV, and so on. After measuring the lowest operating voltage corresponding to F0, the lowest operating voltage corresponding to F1 can be measured again, and so on, measuring F1-V0, F1-V1, F1-V2, ... and so on. Specific measurement methods will be explained later.

[0045] Therefore, when measuring the minimum operating voltage, the processing core 210 can be operated under various operating voltages to detect the operating status of the chip 200.

[0046] In the embodiments of this application, the preset application is a preset application with high operating voltage requirements. The preset application can refer to existing worse applications. For example, worse applications may include operations such as GEMM (General Matrix Multiplication) and FFT (Fast Fourier Transform). Different types of chips 200 use different types of worse applications during measurement, which will not be elaborated here.

[0047] Stable operation of the processing core 210 requires a suitable operating voltage. If the operating voltage is too low when the core is performing computational tasks, it will be unable to meet the computational demands, leading to malfunctions such as memory errors (e.g., calculation errors, or chip 200 deadlock). Conversely, excessively high operating voltages result in additional power consumption. Therefore, it is necessary to measure the minimum operating voltage corresponding to each preset operating frequency. This minimum operating voltage can be understood as a critical voltage. A reasonable minimum operating voltage helps optimize chip 200 performance, maximize energy efficiency, optimize power management strategies, and reduce system cooling costs.

[0048] Therefore, when measuring the minimum operating voltage, the chip 200 can run a preset application so that the processing core 210 can perform the operation of the preset application, thereby increasing the operating voltage requirement to detect whether the chip 200 may malfunction.

[0049] In some embodiments of this application, before detecting the working state of chip 200, the processing core 210 can be run for a period of time to fully activate the computing unit and memory 250 of chip 200, so as to avoid the situation that the chip 200 cannot operate effectively due to insufficient activation of its various structures, which would lead to inaccurate measurement of the minimum operating voltage.

[0050] In some embodiments of this application, detecting the working state of chip 200 may include: obtaining at least one of the calculation results, verification results, and running status of a preset application; determining that chip 200 is working normally when it is determined whether any preset condition has occurred based on the calculation results, verification results, and running status of the preset application.

[0051] In this embodiment, the preset conditions may include: the deviation between the calculation result and the preset result exceeds a preset threshold; the verification result indicates a verification error; and the running status indicates that the chip 200 is deadlocked.

[0052] In some embodiments, the preset conditions may also include timing violations, system crashes, etc. The measurement conditions and methods of different chips 200 are different, and the corresponding preset conditions can be configured according to the specific chip 200, which will not be elaborated here.

[0053] In the embodiments of this application, the working state of the chip 200 can be detected by monitoring whether the chip 200 has an abnormal signal through a test device, or by running a relevant verification program to verify the state of the chip 200. For details, please refer to the prior art, which will not be elaborated here.

[0054] In the embodiments of this application, the working state of the chip 200 can be detected based on a preset duration or cycle. For example, the working state of the chip 200 can be detected once every 3 minutes, or once every 10 loops (one operating cycle of the chip 200).

[0055] The specific methods and requirements for detecting the chip's operating status can be configured according to the chip's type, performance, and other specific features, and are not limited here.

[0056] S120 restricts memory access after confirming that the chip is working properly through its operating status.

[0057] Assuming chip 200 is functioning correctly based on its operating status, the current operating voltage is sufficient to enable chip 200 to operate normally under preset applications, ensuring functional correctness and timing convergence. Therefore, the operating voltage can be further reduced to measure the minimum operating voltage of chip 200.

[0058] However, reducing the operating voltage during computation by the processing core 210 of chip 200 may lead to some abnormal situations. For example, due to dynamic load, if the system load is not constant when the voltage is reduced, even a small voltage change may cause instability, resulting in abnormal system operation. This is because some operations may be particularly sensitive to voltage, especially in high-performance computing tasks. Another example is the impact of power supply noise and transient response. During voltage regulation, the power supply may introduce additional noise or affect transient response characteristics, which may cause errors when the system performs complex calculations.

[0059] Therefore, directly reducing the operating voltage during the operation will cause the chip 200 to malfunction or make calculation errors. This will result in an inaccurate minimum operating voltage when the chip 200 malfunctions, making it impossible to determine whether the malfunction or failure of the chip 200 is caused by insufficient voltage, unstable voltage regulation, transient problems caused by sudden load changes, etc. It will also lead to misjudgment and excessively high minimum operating voltage Vmin results. Consequently, the minimum operating voltage setting may be set too conservatively, thus affecting the performance of the chip 200.

[0060] For the reasons mentioned above, it is usually necessary to adjust the operating voltage after restarting the Worse application. However, restarting the Worse application requires reconfiguring various parameters, as well as initializing and activating the computing unit and memory system. Measuring the minimum operating voltage requires multiple adjustments, and the shutdown, restart, initialization, and activation of the Worse application consume a significant amount of time. Furthermore, some operations of the Worse application can affect the state of the chip 200; forcibly shutting it down can cause the chip 200 to malfunction, requiring a restart, which also consumes considerable time.

[0061] In the embodiments of this application, a method is provided that the operating voltage can be adjusted during the execution of a preset application, that is, the adjustment can be made without closing the worse application. By reducing the test time caused by closing the worse application, the measurement efficiency of the minimum operating voltage is improved.

[0062] Adjusting the operating voltage directly while the processing core 210 is running will only affect the current operation. Therefore, in the embodiments of this application, the impact on the current operation can be reduced or even avoided to prevent the shutdown of the working application. Furthermore, in the chip 200, the processing core 210 needs to access memory 250 to perform operations. Therefore, in the embodiments of this application, the execution of the working application can be restricted by limiting the access to memory 250, thereby preventing the adjustment of the operating voltage from affecting the working application's operation. Thus, the operating voltage can be adjusted even without shutting down the working application, thereby improving measurement efficiency while ensuring the accuracy of the minimum operating voltage measurement.

[0063] In some embodiments of this application, instructions can be sent to the memory controller 240 to cause the memory controller 240 to stop accessing the memory 250 or refuse to perform access to the memory 250. Alternatively, the cache 230 or the connection architecture component 220 can stop sending instructions to the memory controller 240 to access the memory 250. There can be various specific implementations for restricting access to the memory 250, and different structures and types of chips 200 can be configured in different ways, which will not be elaborated here.

[0064] For example, in one embodiment of this application, cache 230 is configured to: allow receiving requests from processing core 210 and connection architecture component 220 and restrict the sending of such requests to memory controller 240, thereby restricting processing core 210 from accessing memory 250.

[0065] In some embodiments of this application, the cache 230 and the memory controller 240 can be configured to control the transmission of requests based on a preset credit mechanism, and the credit mechanism between the cache 230 and the memory controller 240 can be turned off (or frozen) when memory 250 calls are restricted.

[0066] In this credit mechanism, the data receiver can assign one or more credits to the sender. Each credit determines the amount of data the sender is allowed to transmit. Once the sender has used a credit to send data, the sender is only allowed to retransmit data after the receiver has processed the data and returned an acknowledgment (or released the corresponding buffer space). This method effectively prevents the receiver from losing data due to overload. The principle of the credit mechanism can be found in existing technologies and will not be elaborated upon here.

[0067] In the embodiments of this application, cache 230 includes multiple levels of different caches 230, specifically including LLC (last-level cache 230), also known as L3 cache 230. LLC serves as the last line of defense above each core private cache 230 (such as L1, L2), used to reduce the number of accesses to external memory 250, thereby improving the performance of chip 200. Details of LLC can be found in existing technologies and will not be elaborated here. The shared cache 230 layer in the processor architecture is LLC. LLC is used to store actual data blocks (or cache lines 230) and their related metadata (such as tags, status, etc.), used to accelerate data access, reduce the frequency of access to main memory 250, thereby improving overall performance. In chip 200 such as processor, LLC is connected to memory controller 240. Therefore, in the embodiments of this application, the aforementioned credit mechanism can be configured between LLC and memory controller 240.

[0068] The credit mechanism includes Forward Credit and Backward Credit. While there are some differences in implementation methods, both credit mechanisms can be configured, and this application makes no restrictions.

[0069] Taking Forward Credit as an example, a request buffer queue can be configured within the memory controller 240. Assuming the request buffer queue has a depth of 8, meaning it can cache a maximum of 230 unprocessed requests, the MC will announce to the upstream LLC that it has 8 credit values. For each request transmitted, the LLC decrements one credit value. When the MC receives or processes a request, it sends feedback to the LLC, allowing the LLC to restore a credit value. The credit value is recorded and maintained through dedicated signals or registers. For example, the credit register 231 can be connected to the cache 230 to record the credit values ​​held by the cache 230.

[0070] Therefore, in embodiments of this application, the credit mechanism includes: cache 230 allows the transmission of memory 250 requests to memory controller 240 when a credit value is available. Correspondingly, in embodiments of this application, restricting memory 250 access may include: controlling cache 230 to disable the credit mechanism, thereby restricting cache 230 from transmitting memory 250 requests to memory controller 240 after the credit mechanism is disabled.

[0071] Since memory 250 needs to be restored subsequently, the current configuration of the credit mechanism in cache 230 can be obtained and saved before controlling cache 230 to disable the credit mechanism. Furthermore, restoring memory 250 may include restoring the credit mechanism of cache 230 to its current configuration.

[0072] In this embodiment, when the credit mechanism of cache 230 is disabled, cache 230 can no longer submit new read / write requests to memory manager 250. This is because the credit mechanism is a flow control measure used to limit the number of requests cache 230 can send to memory controller 240. While cache 230 can still receive data and requests from upper-layer connectivity components 220, it cannot forward these requests to memory controller 240. In other words, cache 230 will temporarily store upstream requests until the credit mechanism is restored.

[0073] Meanwhile, in the embodiments of this application, the cache 230 and the connection architecture component 220 can also be configured with a backpressure mechanism. When the backpressure mechanism is unable to send requests to the downstream, it sends a backpressure signal to the upstream so that the upstream stops sending new requests after receiving the backpressure signal.

[0074] Taking cache 230 as an example, when the credit mechanism of cache 230 is disabled, cache 230 cannot send requests to memory manager 250. In this case, cache 230 can send a backpressure signal to connection architecture component 220, so that connection architecture component 220 will no longer send new requests to cache 230. At the same time, connection architecture component 220 can also send a call signal to processing core 210, so that processing core 210 stops sending requests, thereby restricting processing core 210 from sending new requests to execute new operations.

[0075] In this embodiment of the application, by configuring a credit mechanism in the cache 230, the system can be prevented from crashing or losing data due to a brief freeze operation. Once the depressurization operation is completed and the credit mechanism is restored, the reverse pressure mechanism is also released, and the chip 200 can quickly resume operation.

[0076] Therefore, by configuring a credit mechanism, the processing core 210 can be restricted from calling memory 250 when adjusting the operating voltage. Correspondingly, the configuration of the credit mechanism can be saved before frequency adjustment and restored after voltage adjustment. This method is simple to implement and allows the cache 230 and memory controller 240 to quickly resume request transmission, reducing the time required for voltage adjustment. This method helps to further reduce the measurement time of the minimum operating voltage and improve measurement efficiency.

[0077] As mentioned above, credit values ​​can be recorded through dedicated registers. Therefore, in some embodiments of this application, chip 200 also includes a credit register 231, which is connected to cache 230. The credit register 231 is used to record the credit values ​​requested by cache 230 to memory controller 240.

[0078] Accordingly, obtaining and saving the current configuration of the credit mechanism in the cache 230 may include: obtaining and saving the current credit value recorded in the credit register 231. Controlling the cache 230 to disable the credit mechanism includes: adjusting the credit value recorded in the credit register 231 to 0. Restoring the credit mechanism of the cache 230 to its current configuration includes: adjusting the value recorded in the credit register 231 to the current credit value.

[0079] For example, if the credit value currently recorded in credit register 231 is 5, this credit value of 5 can be saved before adjusting the operating voltage. Then, the credit value in credit register 231 can be changed to 0 before adjusting the operating voltage. After the operating voltage adjustment is complete, the credit value can be restored to 5.

[0080] S130 reduces the chip's current operating voltage.

[0081] In the embodiments of this application, the current operating voltage of the chip can be reduced based on a preset step size, such as 5mV, 10mV, etc.

[0082] Taking an initial operating voltage of 700mV and a preset step size of 10mV as an example, when the processing core operates at 700mV, the chip works normally. At this time, after limiting memory access to 250, the voltage can be reduced by 10mV, such as to 690mV. If the chip still works normally after reducing to 690mV, the voltage can be further reduced by 10mV to 680mV, and so on, until the chip malfunctions.

[0083] In the embodiments of this application, the size of the preset step size is related to the chip performance and can be configured according to different chips, but no limitation is imposed here.

[0084] In one embodiment of this application, before reducing the current operating voltage of the chip, the method further includes: determining that the chip has entered an idle state.

[0085] After restricting the processing core 210's access to memory 250, the processing core 210 may still have some pre-executed computational tasks. These tasks have already accessed or called memory 250 and can therefore execute normally. However, directly lowering the operating voltage at this time could affect the currently executing computational tasks, impacting the accuracy of the computation and potentially affecting the accuracy of the minimum operating voltage measurement. Therefore, in the embodiments of this application, it is necessary to determine whether the chip 200 has entered an idle state before lowering the current operating voltage.

[0086] In some embodiments of this application, chip 200 includes registers that record various signals and execution states of chip 200, and the status of chip 200 can be determined by the records in each register.

[0087] In embodiments of this application, a method for determining whether chip 200 has entered an idle state is also provided, including: configuring an initial operating voltage corresponding to a preset operating frequency before controlling chip 200 to run the preset application; and recording the idle power consumption of chip 200 when it is not running the preset application under the initial operating voltage. When it is necessary to reduce the operating voltage, the current power consumption of chip 200 can be detected, and the magnitude of the current power consumption and the idle power consumption can be compared. If it is determined that the current power consumption is less than or equal to the idle power consumption, it is determined that chip 200 has entered an idle state. Conversely, if the current power consumption is greater than the idle power consumption, then chip 200 has not yet entered an idle state.

[0088] Idle power consumption refers to the power consumption of chip 200 when it is not running a preset application. Besides maintaining basic operation, no other calculations are performed. When chip 200 starts running the preset application, processing core 210 needs to perform various calculations and schedule other structures, which increases the power consumption of chip 200. When processing core 210 stops running the preset application, its power consumption decreases, allowing the power consumption of chip 200 to return to idle power consumption.

[0089] Based on this, it can be determined whether chip 200 has entered an idle state by judging whether the current power consumption of chip 200 is less than or equal to the idle power consumption. This method no longer relies on register recording, which can reduce the process of reading and calculating registers, reduce the use of registers, and improve measurement efficiency.

[0090] Since the processing core 210 will gradually reduce and stop its operations after calling memory 250, if it is determined that the current power consumption is greater than the idle power consumption, it can wait for a second preset time and re-determine whether the current power consumption is less than or equal to the idle power consumption; repeat the above process until the current power consumption is less than or equal to the idle power consumption.

[0091] S140, resume memory access so that the processing core can continue to execute the preset application's operations.

[0092] In the embodiments of this application, when a credit mechanism is configured between the cache 230 and the memory controller 240, and memory 250 calls are restricted by disabling the credit mechanism, the credit mechanism between the cache 230 and the memory controller 240 can be restored to restore memory 250 calls.

[0093] Specifically, the recovery can be achieved by adjusting the method used to restrict memory 250 access. For example, a control command can be sent to memory controller 240 to restore memory 250 access. This will not be elaborated further here.

[0094] In some embodiments of this application, after reducing the current operating voltage of chip 200 and before resuming the call to memory 250, the method further includes: waiting for a first preset duration to allow the reduced operating voltage of chip 200 to stabilize.

[0095] After voltage adjustment, the voltage will remain unstable for a period of time, around 250V, and the operating voltage output by the power module will fluctuate around the target value. However, by closing the Worse application and then adjusting the operating voltage, the voltage will have stabilized during the time it takes to restart and restore the Worse application.

[0096] In this application, because the default application is not closed, its execution will resume quickly after memory 250 is restored. Unstable operating voltage may affect computation, leading to errors or malfunctions, thus impacting the accuracy of the minimum operating voltage measurement. Therefore, in this embodiment, after lowering the operating voltage and before restoring memory 250, a first preset time is required to allow the voltage to stabilize, reducing the impact on the accuracy of the minimum operating voltage measurement. Even after waiting for the first preset time, the time consumed will be far less than the time required to close and restore the Worse application.

[0097] In the embodiments of this application, the first preset duration can be configured according to the preset step size of voltage reduction, the power supply used, etc., and is not limited here.

[0098] S150 determines the minimum operating voltage corresponding to the preset operating frequency based on the current operating voltage when the chip malfunctions.

[0099] like Figure 1 As shown in the embodiments of this application, if the chip is determined to be working normally through the working state, then subsequent steps S120-S140 are executed to reduce the working voltage for measurement.

[0100] If the chip is found to be malfunctioning by checking its operating status, it indicates that the current operating voltage of the chip cannot guarantee the correctness of its function and timing convergence, or cannot maintain the stable operation of the chip. Therefore, the minimum operating voltage corresponding to the preset operating frequency can be determined.

[0101] In this embodiment, since the chip could still function normally when the current operating voltage was lowered previously, the previous operating voltage can be used as the minimum operating voltage corresponding to the current preset operating frequency. For example, the chip works normally at an operating voltage of 700mV, but malfunctions at an operating voltage of 690mV. In this case, the operating voltage of 700mV can be used as the minimum operating voltage corresponding to the preset operating frequency.

[0102] In embodiments of this application, the chip reduces its voltage by a preset step size in a single step. Correspondingly, determining the minimum operating voltage corresponding to a preset operating frequency based on the current operating voltage can include: determining the minimum operating voltage as the sum of the target operating voltage that causes the chip to malfunction and the preset step size voltage. For example, if the preset step size is 10mV and the target operating voltage that causes the chip to malfunction is 680mV, then the minimum operating voltage corresponding to the preset operating frequency is 690mV.

[0103] The above describes the measurement of the minimum operating voltage corresponding to a single preset operating frequency of the chip. In actual measurement, the chip may be configured with multiple preset operating frequencies. When measuring the minimum operating voltage corresponding to different preset operating frequencies, the difference lies in the difference between the preset operating voltage and the initial operating voltage used. Therefore, for each preset operating frequency, the above process can be repeated to measure the minimum operating voltage, which will not be elaborated here.

[0104] Since the chip has already started to malfunction when the lowest operating voltage is measured, the chip can be restarted and the preset operating frequency and corresponding initial operating voltage can be reset. The preset application can then be run to measure the lowest operating frequency corresponding to the new preset operating frequency.

[0105] To facilitate understanding, an example is provided here. Please refer to [link / reference]. Figure 3 , Figure 3 This is a schematic flowchart illustrating the measurement of the minimum operating voltage according to an embodiment of this application.

[0106] First, a list of preset operating frequencies and initial voltage ranges can be obtained. The preset operating frequencies can be various adjustable operating frequencies configured by the chip's DVFS mechanism. The initial operating voltage is the operating voltage at the start of the measurement, which is generally a large value and gradually decreases during subsequent measurements. For example, the preset operating frequencies include F0, F1, F2...Fn, etc., and F0, F1, F2...Fn can be used to set their respective corresponding initial operating voltages.

[0107] Next, select a preset operating frequency to be tested, and configure the chip with the preset operating frequency and corresponding initial operating voltage so that the chip operates at the preset operating frequency and corresponding initial operating voltage. For example, set the chip's operating frequency F=F0=100MHz and the chip's operating voltage V=V0=700mV. Record the idle power consumption at this time, for example, P=20W.

[0108] Under the current operating voltage, run the preset application, wait for the preset application to run stably, and then detect the chip's operating status.

[0109] If the chip is functioning normally, it indicates that the operating voltage needs to be further reduced for measurement. At this time, the recorded value of the credit register can be saved and modified to 0 to limit memory access, thereby limiting the execution of preset applications. Then, it is determined whether the chip has entered an idle state by checking whether the current power consumption is less than or equal to the idle power consumption. If it is greater, the process continues to wait; if it is less than or equal to the idle power consumption, the current operating voltage can be reduced, and memory access can be resumed after a first preset time, such as restoring the recorded value of the register.

[0110] If the chip malfunctions, the minimum operating voltage corresponding to the preset operating frequency can be determined based on the current operating voltage. Then, the voltage corresponding to the preset step size is added to the current operating voltage to obtain the minimum operating voltage corresponding to the current preset operating frequency.

[0111] After a measurement of the minimum operating voltage corresponding to a preset operating frequency is completed, if the chip malfunctions, the chip can be restarted and a new preset operating frequency and initial operating voltage can be reconfigured to measure the minimum operating voltage corresponding to the new preset operating frequency.

[0112] Repeat the measurement process until the lowest operating voltage corresponding to each preset operating frequency in the preset operating frequency-initial operating voltage range list is measured.

[0113] Furthermore, the accuracy of the minimum operating voltage measurement is also affected by factors such as load changes and temperature of the preset application. During operation, the load on the chip's processing core may dynamically change, especially when the preset application is not running stably. However, in the embodiments of this application, since the preset application does not need to be shut down during the measurement process, it can maintain stable operation. This approach can effectively avoid large changes in the chip load, thereby reducing the impact of load changes on the accuracy of the minimum operating voltage measurement.

[0114] Similarly, the default application does not need to be closed. Therefore, the power consumption caused by the default application load will not change significantly, which in turn will prevent the chip temperature from changing significantly due to power consumption. This reduces the impact of chip temperature on chip performance and can also improve the accuracy of the minimum operating voltage measurement.

[0115] In some embodiments of this application, the above-described test method is implemented as an automated test program of a chip test device, so that the test device calls the automated test program to implement the above-described test method, thereby realizing the automated measurement of the minimum operating voltage of the chip 200 and further improving test efficiency.

[0116] Based on the same inventive concept, this application also provides a testing system 400. Please refer to [link to relevant documentation]. Figure 4 , Figure 4 This is a schematic diagram of a test system 400 provided in an embodiment of this application. The test system 400 includes an access module 410 and a test host 420.

[0117] The access module 410 is used to connect to the chip under test 200. The receiving module includes a gold finger, a communication module, etc., to collect electrical signals from the chip under test 200.

[0118] The test host 420 is connected to the access module 410 and is used to execute the minimum operating voltage measurement method provided in any of the foregoing embodiments to measure the chip under test 200 and obtain the minimum operating voltage corresponding to each preset operating frequency in the chip under test 200.

[0119] In the embodiments of this application, the testing system 400 may be a testing machine used in a laboratory or testing factory.

[0120] Based on the same inventive concept, embodiments of this application also provide a computer-readable storage medium storing a computer program thereon. When the computer program is run on a computer, it causes the computer to execute the minimum operating voltage measurement method provided in the above embodiments. The computer may be the test host 420 provided in the foregoing embodiments.

[0121] The computer-readable storage medium can be any available medium that a computer can access, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs (digital video discs)), or semiconductor media (e.g., SSDs (solid state disks)).

[0122] If the minimum operating voltage measurement method is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0123] Based on the same inventive concept, embodiments of this application also provide a processor, which includes a chip 200. The chip 200 is configured with a dynamic voltage-frequency adjustment mechanism, and the minimum operating voltage corresponding to each operating frequency in the dynamic voltage-frequency adjustment is measured by the minimum operating voltage measurement method provided in any of the foregoing embodiments.

[0124] In the embodiments of this application, the processor type can be a GPGPU, GPU, CPU, NPU, or other processors, and the specific type is not limited here.

[0125] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0126] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A method of measuring a minimum operating voltage, characterized by, The method is used for measuring the lowest working voltage corresponding to a preset working frequency of a chip; the chip comprises a processing core and a memory; the method comprises: detecting a working state of the chip in a case that the processing core calls the memory to execute an operation of a preset application at a current working voltage; in a case that the chip is determined to work normally through the working state, limiting the memory from being called; after the memory is limited from being called, the preset application is maintained to run and the operation of the preset application is limited to be executed; lowering the current working voltage of the chip; resuming the calling of the memory to enable the processing core to continue to execute the operation of the preset application; in a case that the chip works abnormally, determining the lowest working voltage corresponding to the preset working frequency based on the current working voltage.

2. The minimum operating voltage measurement method of claim 1, wherein, The chip further comprises a cache and a memory controller, the cache is connected with the memory controller and the processing core respectively, the memory controller is further connected with the memory, and a memory request of the processing core to the memory is sent to the memory controller through the cache to call the memory through the memory controller; the cache is configured to control the transmission of the request based on a preset credit mechanism with the memory controller; the credit mechanism comprises that the cache allows the transmission of the memory request to the memory controller in a case that the cache has a credit value; the limiting of the calling of the memory comprises: obtaining and saving a current configuration of the credit mechanism of the cache; controlling the cache to close the credit mechanism; after the credit mechanism is closed, the cache is limited to transmit the memory request to the memory controller; and the resuming of the calling of the memory comprises: restoring the credit mechanism of the cache to the current configuration.

3. The lowest working voltage measurement method according to claim 2, wherein the chip further comprises a credit register, the credit register is connected with the cache, and the credit register is used to record a credit value of the request sent by the cache to the memory controller; the obtaining and saving of the current configuration of the credit mechanism of the cache comprises obtaining and saving a current credit value recorded by the credit register; the controlling of the cache to close the credit mechanism comprises adjusting the credit value recorded by the credit register to 0; the restoring of the credit mechanism of the cache to the current configuration comprises adjusting the value recorded by the credit register to the current credit value.

4. The minimum operating voltage measurement method of claim 1, wherein, The detecting of the working state of the chip comprises: obtaining at least one of an operation result, a verification result and a running state of the preset application; determining that the chip works normally based on the preset application in a case that the chip appears or does not appear any one of preset conditions; the preset conditions comprise: a deviation between the operation result and a preset result exceeds a preset threshold value; the verification result represents a verification error; the running state represents that the chip is deadlocked.

5. The method of claim 1, wherein, The chip lowers a preset step voltage at a single time. The determining the lowest working voltage corresponding to the preset working frequency based on the current working voltage comprises: The sum of the target working voltage that will make the chip work abnormally and the preset step voltage is determined as the lowest working voltage.

6. The method of measuring the minimum operating voltage according to claim 1, wherein, After the current working voltage of the chip is reduced, and before the calling of the memory is resumed, the method further comprises: Waiting for a first preset time length to make the reduced working voltage of the chip stable.

7. The lowest working voltage measurement method according to any one of claims 1-6, wherein, Before the current working voltage of the chip is reduced, the method further comprises determining that the chip enters an idle state.

8. The minimum operating voltage measurement method of claim 7, wherein, The method further comprises: Before controlling the chip to run the preset application, configuring an initial working voltage corresponding to the preset working frequency; Recording the idle power consumption of the chip when the preset application is not run under the initial working voltage; The determining that the chip enters the idle state comprises: Detecting the current power consumption of the chip; In a case where it is determined that the current power consumption is less than or equal to the idle power consumption, determining that the chip enters the idle state.

9. The minimum operating voltage measurement method of claim 8, wherein, The method further comprises: In a case where it is determined that the current power consumption is greater than the idle power consumption, waiting for a second preset time length and re-determining whether the current power consumption is less than or equal to the idle power consumption; Repeating the above process until the current power consumption is less than or equal to the idle power consumption.

10. A test system, characterized by Comprise: An access module configured to access a chip to be measured; A test host connected to the access module and configured to execute the lowest working voltage measurement method according to any one of claims 1-9 to measure the lowest working voltage corresponding to each preset working frequency in the chip to be measured.

11. A computer readable storage medium, characterized in that, The computer program stored in the readable storage medium makes the computer execute the lowest working voltage measurement method according to any one of claims 1-9 when the computer program runs on the computer.

12. A processor, comprising: Comprise: a chip configured with a dynamic voltage frequency adjustment mechanism, and the lowest working voltage corresponding to each working frequency in the dynamic voltage frequency adjustment is measured by the lowest working voltage measurement method according to any one of claims 1-9.