CN111737053A - Instruction analysis-based nonvolatile processor backup method and system - Google Patents

Instruction analysis-based nonvolatile processor backup method and system Download PDF

Info

Publication number
CN111737053A
CN111737053A CN202010573190.1A CN202010573190A CN111737053A CN 111737053 A CN111737053 A CN 111737053A CN 202010573190 A CN202010573190 A CN 202010573190A CN 111737053 A CN111737053 A CN 111737053A
Authority
CN
China
Prior art keywords
instruction
energy
backup
data
backed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010573190.1A
Other languages
Chinese (zh)
Other versions
CN111737053B (en
Inventor
赵梦莹
宋维宁
蔡晓军
申兆岩
贾智平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN202010573190.1A priority Critical patent/CN111737053B/en
Publication of CN111737053A publication Critical patent/CN111737053A/en
Application granted granted Critical
Publication of CN111737053B publication Critical patent/CN111737053B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

The utility model provides a nonvolatile processor backup method and system based on instruction analysis, belonging to the technical field of self-powered embedded systems, the specific method is as follows: acquiring an energy early warning signal; acquiring a next instruction to be executed, and acquiring the energy consumption of the instruction according to the type of the instruction; obtaining the energy consumption of all data to be backed up according to the data to be backed up; performing data backup according to the energy consumption of the next instruction to be executed, the energy consumption of all data to be backed up and the residual energy; according to the method, the instruction analysis module is added between the instruction cache and the core processor and used for distinguishing the instructions with different energy consumption, and then comparing the residual energy in the current capacitor, the energy required by backup and the energy required by executing the next instruction, so that the backup behavior of the whole system is guided finally, and the maximum utilization of the stored energy is realized.

Description

Instruction analysis-based nonvolatile processor backup method and system
Technical Field
The disclosure relates to the technical field of self-powered embedded systems, and in particular relates to a nonvolatile processor backup method and system based on instruction analysis.
Background
The statements in this section merely provide background information related to the present disclosure and may not necessarily constitute prior art.
The self-powered embedded system can collect natural Energy such as solar Energy, mechanical Energy, electromagnetic Energy and the like by utilizing an environmental Energy collection technology (Energy Harvesting) to serve as Energy supply of the embedded system, the system avoids the problems of poor maintainability and safety, large weight and size and the like caused by the fact that a traditional battery serves as a power supply mode, and the self-powered embedded system is generally applied to wearable or implantable medical equipment and snow mountain forest Internet of things environment detection equipment. The environmental energy is a green, environment-friendly and renewable clean energy, but the environmental energy is unstable. Under unstable power supply, the embedded device may face a risk of frequent power failure, data stored in a Volatile Memory (Volatile Memory) in the self-powered embedded device may be lost after power failure, and after power is restored, the program must be executed again, which may cause huge energy and time overhead, and even in some extreme cases, the program may never be executed and completed.
In order to enable the self-powered embedded system to execute the unfinished program for Intermittent calculation (Intermitent calculating) before power failure under the condition of unstable environmental energy power supply, a Non-volatile processor (NVP) is generated by the self-powered embedded system. When power failure occurs, the nonvolatile processor may back up intermediate data stored in a Volatile Memory (Volatile Memory) in the program to an additional nonvolatile Memory (NVM), and restore the backed-up data after power restoration and continue to execute the program that has not been executed before.
The inventor of the present disclosure finds that, because data backup needs to consume energy, an energy early warning threshold is needed in a process of designing a nonvolatile processor, backup is performed immediately after the threshold is reached to ensure that enough energy is used for backup operation, and a problem of data inconsistency caused by backup failure due to insufficient energy is prevented. Meanwhile, the existing nonvolatile processor selects to perform Backup directly after receiving a power-off signal to ensure the safety of Backup operation, and this Backup strategy is called Instant Backup (Instant Backup), although the safety of the Instant Backup strategy is very high, some data in a cache and a memory are not required to be backed up during program running, so that after Backup, a lot of energy remains in a capacitor, and the energy is consumed due to the leakage effect of the capacitor, which causes energy waste.
Disclosure of Invention
In order to solve the defects of the prior art, the instruction analysis module is added between the instruction cache and the core processor and used for distinguishing instructions with different energy consumption, comparing the residual energy in the current capacitor, the energy required by backup and the energy for executing the next instruction, and finally guiding the backup behavior of the whole system so as to realize the maximum utilization of the stored energy.
In order to achieve the purpose, the following technical scheme is adopted in the disclosure:
a first aspect of the present disclosure provides a method for instruction analysis-based backup of a non-volatile processor.
A method for instruction analysis based backup of a non-volatile processor, comprising the steps of:
acquiring an energy early warning signal;
acquiring a next instruction to be executed, and acquiring the energy consumption of the instruction according to the type of the instruction;
obtaining the energy consumption of all data to be backed up according to the data to be backed up;
and backing up the data according to the energy consumption of the next instruction to be executed, the energy consumption of all the data to be backed up and the residual energy.
As some possible implementations, the data that needs to be backed up, specifically, the dirty data in the cache and the data that is modified after being backed up in the memory.
As some possible implementations, the energy consumption value of the instruction with the largest energy consumption in each instruction type is taken as the reference energy consumption of the instruction of that type.
As some possible implementations, if the remaining energy can support the execution and backup operations of the next instruction, the next instruction continues to execute; and entering a backup state if the remaining energy cannot support the execution of the next instruction.
As some possible implementations, when the energy is less than or equal to the energy pre-warning threshold, an energy pre-warning signal is obtained, and the energy pre-warning threshold is set to the energy required for backing up all data.
A second aspect of the present disclosure provides a non-volatile processor backup system based on instruction analysis.
A non-volatile processor backup system based on instruction analysis, comprising:
an environmental energy collection and management module configured to: collecting natural energy and converting the natural energy into electric energy to supply power to the system;
an instruction analysis module configured to: when an energy early warning signal is received, analyzing the type of the next instruction;
an energy management module configured to: and when an energy early warning signal is received, estimating the energy consumption of the next instruction, obtaining the energy consumption of all data to be backed up according to the data to be backed up, comparing the energy consumption with the residual energy, and sending the data to the processor for executing backup or continuously executing the operation of the next instruction.
As some possible implementations, the energy management module includes an energy reference model, a backup decision module, and a backup recovery controller;
the energy reference model comprises an instruction consumption reference model and a backup consumption reference model which are respectively used for storing energy consumed by each instruction and each row of data;
the backup decision module judges whether to backup or continue execution according to the received residual energy information, the instruction type information and the number of the cache blocks and the memory lines needing to be backed up by the decision module;
and the backup recovery controller is used for backing up the data to be backed up to the nonvolatile memory according to the instruction of the backup decision module.
Most particularly, the instruction consumption reference model and the backup consumption reference model are called by the decision model in the form of a lookup table.
As some possible implementation manners, the instruction analysis module is configured to distinguish a calculation instruction from a memory access instruction, form a selection tree by using a plurality of alternative selectors, select data stored in different nonvolatile memories according to different instruction information by using the selection tree, and output a corresponding instruction type.
As possible implementation manners, the voltage and the current in the instruction running process are obtained, the energy consumption of the running system level of different instructions is obtained, the calculation type instructions and the access type instructions are used as distinguishing standards, all the instructions are divided into two categories, and the energy consumption value of the instruction with the largest energy consumption in each instruction category is used as the reference energy consumption of the instruction of the category.
As some possible implementation modes, an NVsim simulator is adopted for simulation, and the energy consumed by one row of data in each backup is obtained.
As some possible implementation manners, at least one marking bit is added in each block in the cache layer for marking dirty blocks, at least one marking bit is added in the memory for distinguishing whether the data in the memory line is backed up and not modified, the data which is backed up to the nonvolatile memory is marked as a first character, and the data which is modified or not backed up is marked as a second character.
Compared with the prior art, the beneficial effect of this disclosure is:
1. the method and the system provided by the disclosure provide a dynamic backup mode based on Instruction analysis for solving the problem of backup decision, wherein an Instruction analysis module is added between an Instruction Cache (I-Cache) and a core processor for distinguishing instructions with different energy consumption, and then the residual energy in the current capacitor, the energy required by backup and the energy for executing the next Instruction are compared to finally guide the backup behavior of the whole system, so that the purposes of maximizing the energy stored in the capacitor and increasing the program execution progress of the system are achieved.
2. According to the direction and the system, a system-level energy reference model is established for energy consumption of different types of instructions, fine control over a backup strategy is achieved, data in the energy reference model can be directly called to rapidly judge energy consumption, and then timely and efficient energy backup is achieved.
3. According to the direction and the system, after the system-level energy consumption model is obtained, the calculation type instructions and the memory access type instructions are used as distinguishing standards, all the instructions are divided into two categories, and the energy consumption value of the instruction with the largest energy consumption in each instruction type is used as the reference energy consumption of the type of instruction, so that the safety of data backup and execution is greatly guaranteed.
4. According to the direction and the system, at least one marking bit is added to each block in the cache layer to mark a dirty block, at least one marking bit is added to the memory to distinguish whether the data in the memory line is backed up but not modified, the data backed up to the nonvolatile memory is marked as a first character, and the data which is modified or not backed up is marked as a second character, so that the on-demand backup is effectively realized, and the energy consumption is greatly reduced.
Drawings
Fig. 1 is a flowchart of a backup method based on instruction analysis for a nonvolatile processor according to embodiment 1 of the present disclosure.
Fig. 2 is a schematic structural diagram of a backup system based on instruction analysis and oriented to a nonvolatile processor according to embodiment 2 of the present disclosure.
Fig. 3 is a structural diagram of an instruction analysis module based on instruction analysis for a nonvolatile processor according to embodiment 2 of the present disclosure.
Fig. 4 is a structural diagram of an energy management module based on instruction analysis and oriented to a nonvolatile processor according to embodiment 2 of the present disclosure.
Detailed Description
It should be noted that the following detailed description is exemplary and is intended to provide further explanation of the disclosure. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
It is noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments according to the present disclosure. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, and it should be understood that when the terms "comprises" and/or "comprising" are used in this specification, they specify the presence of stated features, steps, operations, devices, components, and/or combinations thereof, unless the context clearly indicates otherwise.
The embodiments and features of the embodiments in the present application may be combined with each other without conflict.
Example 1:
as shown in fig. 1, embodiment 1 of the present disclosure provides a method for backing up a nonvolatile processor based on instruction analysis, including the following steps:
when the energy in the capacitor is less than or equal to the energy warning threshold, the environmental energy collection and management module sends an energy warning signal (Line1) to the NVP module.
The energy pre-warning threshold is set to the worst case energy required to backup all data, i.e., the energy consumed to backup all data that may be stored in registers, caches, and memory. For ease of understanding, assume that the energy warning signal occurs after instruction i, and then algorithm 1 is invoked to direct the backup operation of the system.
First, the instruction i +1 to be executed is detected by the instruction analysis module and classified as a memory access instruction or a computation instruction (Line 3).
The energy to be consumed (Line4) is then obtained by using a table look-up method according to the type of the next instruction and the constructed energy consumption model.
Meanwhile, the energy management module calculates the energy required by backup (Line5-9) according to the instruction type and the value in the counter.
For example, instruction i +1 is of the type memory access instruction, and in the worst case, execution of this instruction may add a dirty block to the cache. However, a single access operation may not change the amount of data in the cache and memory that needs to be backed up and may reduce dirty blocks in the cache. However, accurate estimation may introduce additional performance and power consumption losses to the identification module, so that the worst case backup energy is used to ensure the security of the backup. Furthermore, if the next instruction i +1 is a compute dependent instruction, then cache and memory are not affected.
The energy management module will then compare the energy consumed by the execution and backup of the next instruction i +1 with the energy remaining in the capacitor (Line10), and if the remaining energy can support the execution of the instruction i +1 and can ensure a safe backup, the system will continue to execute, otherwise, the backup operation will be triggered (Line 15-16). It is noted that, in order to ensure the operational performance and energy efficiency of the NVP system, the process is performed only after the power outage warning signal is received.
The backup method based on the instruction analysis can dynamically decide backup, and the energy required by the calculation instruction and the backup is compared with the energy remained in the capacitor to guide the execution of the backup.
The specific algorithm is as follows:
Figure BDA0002550393650000081
Figure BDA0002550393650000091
example 2:
as shown in fig. 2, embodiment 2 of the present disclosure provides a backup system based on instruction analysis for a nonvolatile processor, including:
an environmental energy collection and management module configured to: acquiring energy from an external energy source and charging a power supply of the device;
the environment energy collecting and managing module mainly comprises an energy collector, an alternating current-direct current voltage converter (AC-DC), a voltage stabilizer, a capacitor, an energy managing and detecting module and a capacitor;
an energy collector configured to: common environmental energy sources such as solar energy, wind energy, heat energy and the like can be collected;
the alternating current-direct current voltage converter is used for converting the collected alternating current into direct current, and then the voltage stabilizer adjusts the voltage to the voltage suitable for capacitor charging to charge the capacitor;
a capacitor for storing electric quantity;
the energy management module and the detection module are used for detecting the residual energy in the capacitor in real time, controlling the charging and discharging of the capacitor and sending an energy early warning signal to the nonvolatile processor system when the energy is in shortage;
a non-volatile processor system configured to intermittently execute a program;
the nonvolatile processor system comprises a core processor, an instruction analysis module, an energy management module, a cache, a memory and an energy management module;
a core processor for controlling the execution of instructions and the processing of data;
a volatile Cache (Cache) to Cache instructions and data that are frequently accessed by the processor;
a volatile Memory (Main Memory) for storing data and instructions;
a nonvolatile memory for backup of data;
in order to reduce the content that needs to be backed up, a method of selecting backup is adopted in the present embodiment, that is, only Dirty (Dirty) data in the cache and data that is modified after being backed up in the memory are backed up.
The instruction analysis module is used for analyzing the type of the next instruction;
the energy management module, as shown in fig. 4, is configured to start execution after receiving the energy warning signal, calculate energy that may be consumed for executing a next instruction according to the type of the instruction obtained by the instruction analysis module, calculate energy required for ensuring safe backup according to the backup counting module, and finally compare the energy remaining in the capacitor and send the energy to the core processor to execute backup or continue execution. Where all energy calculations are derived from an energy reference model.
(1) Instruction analysis module design
An instruction analysis circuit is written by utilizing a Verilog hardware description language and is used for distinguishing a calculation instruction from a memory access instruction. The final result is that only 3 bits of data in the instruction can distinguish the instruction types. As shown in FIG. 3, a selection tree is composed of 7 alternative selectors, and 8 STT-RAMs with 1 bit can be selected and output.
A1-a 3 represent the corresponding bit in the instruction, and every time the processor performs the instruction fetching operation, the selection tree selects the data stored in different STT-RAMs according to different instruction information and outputs the corresponding instruction type. And finally, the output instruction type is sent to an energy management module for calculation and comparison.
(2) Energy management module design
As shown in fig. 4, the energy management module includes a backup/restore controller, a backup decision unit, and an energy reference model. And when the energy management module receives the energy early warning signal, the energy decision unit and the energy reference model start to operate, and the energy consumption of the next instruction to be executed is estimated according to the instruction type obtained by the instruction analysis module, so that whether the NVP system needs to be backed up or not is decided. If backup is needed, the backup decision unit sends a signal to the backup/restore controller to execute the backup operation.
The decision module in the energy management module estimates the energy consumed to execute the next instruction and backup based on the energy reference model.
At first, a test set consisting of hundreds of instructions is designed, and all test sets are written in assembly language, so that the influence of the optimization of a compiler on a measurement result is avoided.
And then, running the test set, and measuring the voltage and the current in the running process to finally obtain the energy consumption of the system level in the running process of different instructions, so that the system level energy consumption of different instructions can be known.
Because the types of the instructions are more, each instruction has different energy consumption, after a system-level energy consumption model is obtained, all the instructions are divided into two categories by taking a calculation type instruction and a memory type instruction as distinguishing standards, and an energy consumption value of an instruction with the largest energy consumption in each instruction type is taken as the reference energy consumption of the type of instruction. Although the energy reference model may reduce the program execution schedule and the energy efficiency ratio of the system to some extent, ensuring the safety of operation and backup is a primary goal when designing the NVP system.
The backup process mainly relates to read-write operation of the SRAM, the DRAM and the NVM, and the backup energy consumption model is simulated by adopting an NVsim simulator to obtain the energy consumed by one row of data of each backup. Finally, the instruction consumption reference model and the backup consumption reference model are called by the decision model in the form of Look-Up tables (LUTs).
The decision module receives the capacitance and electric quantity information, the instruction type information and the number of cache blocks and memory lines needing to be backed up from the environmental energy management module. The data from the environmental energy collection and management module is converted into a digital signal through ADC (analog signal to digital signal), and represents the residual electric quantity in the current capacitor.
And then the type of the next instruction is obtained by the instruction analysis module and is sent to the decision module, and the decision module can search corresponding energy consumption in a Look-Up Table (LUT) formed by a system level energy reference model according to the type of the instruction.
Meanwhile, two counters are respectively arranged in the cache and the memory to respectively count the modified blocks, the decision module can read the data amount required to be backed up in the counters, and finally the energy consumption required by backing up a line of data is searched through the LUT to calculate the energy consumption required by backing up all the data.
After obtaining the energy to be consumed by the next instruction and the energy to be consumed by the backup, the decision module compares the remaining electric quantity in the capacitor, and if the remaining electric quantity can support the instruction execution and backup operations, the decision module sends a signal for continuing the execution to the core processor. Once the remaining power cannot support the execution of the next instruction, the decision module sends a backup signal to the backup/restore module and the core processor to enter a backup state.
The backup/recovery module is used for realizing an on-demand backup strategy, and transferring data needing backup to the NVM part during backup. Firstly, due to the fact that the data volume in the register is small, the updating speed is high, the register formed by NVFF is used for completing the backup operation, and when the backup happens, all the data stored in the register can be simultaneously backed up to the additional NVM.
The on-demand backup strategy is an effective way to reduce energy consumption for both the cache tier and the memory tier. As shown in fig. 4, a 1-bit flag bit is added to each block in the cache layer to flag a dirty block, so that the operation of distinguishing and backing up the dirty blocks can be realized. Similarly, a 1-bit flag is also added to the memory to distinguish whether the data in the memory line has been backed up without being modified. In this case, the data already backed up in NVM is marked as "1", and the data that is modified or not backed up is marked as "0", so that it can be distinguished whether the memory line has already been backed up. Note that at the first run of the NVP system, the change flag bit for all memory lines should be "0", i.e., there is no backup. After the backup/restore module receives the backup signal, all marked data will be backed up in the NVM, and after the backup is completed, a completion signal will be returned, and then the system enters into a sleep state. When the capacitor is fully charged again, the system will preferentially activate the backup/restore module to restore the data backed up in the NVM to the cache and the memory.
As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The above description is only a preferred embodiment of the present disclosure and is not intended to limit the present disclosure, and various modifications and changes may be made to the present disclosure by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present disclosure should be included in the protection scope of the present disclosure.

Claims (10)

1. A method for instruction analysis based backup of a non-volatile processor, comprising the steps of:
acquiring an energy early warning signal;
acquiring a next instruction to be executed, and acquiring the energy consumption of the instruction according to the type of the instruction;
obtaining the energy consumption of all data to be backed up according to the data to be backed up;
and backing up the data according to the energy consumption of the next instruction to be executed, the energy consumption of all the data to be backed up and the residual energy.
2. The instruction analysis-based method for backing up a non-volatile processor as claimed in claim 1, wherein the data to be backed up is specifically dirty data in the cache and data that is modified after being backed up in the memory.
3. The instruction analysis-based non-volatile processor backup method according to claim 1, wherein the energy consumption value of the instruction with the largest energy consumption in each instruction type is taken as the reference energy consumption of the instruction of that type.
4. The instruction analysis-based non-volatile processor backup method of claim 1, wherein if the remaining energy is able to support the execution and backup operations of the next instruction, the next instruction continues to execute; and entering a backup state if the remaining energy cannot support the execution of the next instruction.
5. The instruction analysis-based nonvolatile processor backup method according to claim 1, wherein an energy forewarning signal is obtained when energy is less than or equal to an energy forewarning threshold set to an energy required for backing up all data.
6. A non-volatile processor backup system based on instruction analysis, comprising:
an environmental energy collection and management module configured to: collecting natural energy and converting the natural energy into electric energy to supply power to the system;
an instruction analysis module configured to: when an energy early warning signal is received, analyzing the type of the next instruction;
an energy management module configured to: and when an energy early warning signal is received, estimating the energy consumption of the next instruction, obtaining the energy consumption of all data to be backed up according to the data to be backed up, comparing the energy consumption with the residual energy, and sending the data to the processor for executing backup or continuously executing the operation of the next instruction.
7. The instruction analysis-based non-volatile processor backup system of claim 6, wherein the energy management module comprises an energy reference model, a backup decision module, and a backup recovery controller;
the energy reference model comprises an instruction consumption reference model and a backup consumption reference model which are respectively used for storing energy consumed by each instruction and each row of data;
the backup decision module judges whether to backup or continue execution according to the received residual energy information, the instruction type information and the number of the cache blocks and the memory lines needing to be backed up by the decision module;
and the backup recovery controller is used for backing up the data to be backed up to the nonvolatile memory according to the instruction of the backup decision module.
8. The instruction analysis-based nonvolatile processor backup system of claim 7 wherein the instruction consumption reference model and the backup consumption reference model are invoked by the decision model in the form of a look-up table.
9. The instruction analysis-based nonvolatile processor backup system of claim 6, wherein the instruction analysis module is configured to distinguish between a computing instruction and a memory access instruction, and a selection tree is formed by a plurality of alternative selectors, and the selection tree selects data stored in different nonvolatile memories according to different instruction information and outputs a corresponding instruction type.
10. The instruction analysis-based nonvolatile processor backup system according to claim 6, wherein voltage and current during instruction operation are obtained to obtain system-level energy consumption during operation of different instructions, all instructions are divided into two categories with a calculation type instruction and a memory access type instruction as a distinguishing standard, and an energy consumption value of an instruction with the largest energy consumption in each instruction type is taken as a reference energy consumption of the instruction of the type;
alternatively, the first and second electrodes may be,
simulating by adopting an NVsim simulator to obtain the energy consumed by one line of data of each backup line;
alternatively, the first and second electrodes may be,
at least one marking bit is added in each block in the cache layer for marking dirty blocks, at least one marking bit is added in the memory for distinguishing whether the data in the memory line is backed up and not modified, the data backed up in the nonvolatile memory is marked as a first character, and the data which is modified or not backed up is marked as a second character.
CN202010573190.1A 2020-06-22 2020-06-22 Nonvolatile processor backup method and system based on instruction analysis Active CN111737053B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010573190.1A CN111737053B (en) 2020-06-22 2020-06-22 Nonvolatile processor backup method and system based on instruction analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010573190.1A CN111737053B (en) 2020-06-22 2020-06-22 Nonvolatile processor backup method and system based on instruction analysis

Publications (2)

Publication Number Publication Date
CN111737053A true CN111737053A (en) 2020-10-02
CN111737053B CN111737053B (en) 2024-01-05

Family

ID=72650301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010573190.1A Active CN111737053B (en) 2020-06-22 2020-06-22 Nonvolatile processor backup method and system based on instruction analysis

Country Status (1)

Country Link
CN (1) CN111737053B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568865A (en) * 2021-05-18 2021-10-29 首都师范大学 Self-powered system-oriented storage and calculation integrated framework and software optimization method
CN114401317A (en) * 2022-03-25 2022-04-26 山东省计算中心(国家超级计算济南中心) Ocean buoy-oriented multipoint cooperative active cache networking method and system
CN114721878A (en) * 2022-05-19 2022-07-08 中诚华隆计算机技术有限公司 Chip for implantable medical device and implantable medical device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844103A (en) * 2017-01-16 2017-06-13 山东大学 Non-volatile processor spare capacity setting, Memory Backup method and system
CN106844101A (en) * 2017-01-16 2017-06-13 山东大学 Backup method and system are optimized based on the NVP performances that Cache is perceived
CN107678887A (en) * 2017-10-09 2018-02-09 首都师范大学 Based on the energy distributing method and system for maintaining state in non-volatile memory
CN110968458A (en) * 2019-11-26 2020-04-07 山东大学 Backup system and method based on reinforcement learning and oriented to nonvolatile processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844103A (en) * 2017-01-16 2017-06-13 山东大学 Non-volatile processor spare capacity setting, Memory Backup method and system
CN106844101A (en) * 2017-01-16 2017-06-13 山东大学 Backup method and system are optimized based on the NVP performances that Cache is perceived
CN107678887A (en) * 2017-10-09 2018-02-09 首都师范大学 Based on the energy distributing method and system for maintaining state in non-volatile memory
CN110968458A (en) * 2019-11-26 2020-04-07 山东大学 Backup system and method based on reinforcement learning and oriented to nonvolatile processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568865A (en) * 2021-05-18 2021-10-29 首都师范大学 Self-powered system-oriented storage and calculation integrated framework and software optimization method
CN113568865B (en) * 2021-05-18 2024-05-14 陈仁昭 Self-powered system-oriented integrated memory and calculation architecture and application method
CN114401317A (en) * 2022-03-25 2022-04-26 山东省计算中心(国家超级计算济南中心) Ocean buoy-oriented multipoint cooperative active cache networking method and system
CN114401317B (en) * 2022-03-25 2022-07-05 山东省计算中心(国家超级计算济南中心) Ocean buoy-oriented multipoint cooperative active cache networking method and system
CN114721878A (en) * 2022-05-19 2022-07-08 中诚华隆计算机技术有限公司 Chip for implantable medical device and implantable medical device

Also Published As

Publication number Publication date
CN111737053B (en) 2024-01-05

Similar Documents

Publication Publication Date Title
CN111737053B (en) Nonvolatile processor backup method and system based on instruction analysis
CN103914365B (en) Method and device for acquiring power consumption of mobile terminal application
CN104335175B (en) The method and system of thread is identified and migrated between system node based on system performance metric
CN101999199B (en) Methods to extend the service life of portable devices
CN112149873B (en) Low-voltage station line loss reasonable interval prediction method based on deep learning
CN107967485A (en) Electro-metering equipment fault analysis method and device
CN106249840A (en) Power saving non-volatile microprocessor
CN116544999B (en) Method, device, equipment and medium for determining installed capacity of energy storage system
CN103559148A (en) On-chip scratch-pad memory (SPM) management method facing multitasking embedded system
CN104217113A (en) Reliability evaluation method of independent wind and light storage system based on energy storage probability model
CN115469590B (en) Low-power consumption control method, device and equipment for intelligent electric meter interface and storage medium
CN108885579A (en) For tracking the method and apparatus for carrying out data mining according to core
CN103778567A (en) Method and system for identifying user abnormal electricity utilization
CN112163304A (en) Transmission network redundancy constraint identification method, storage medium and computing device
CN105738855A (en) Intelligent electric meter embedded application-orientated test method
CN113703681B (en) Hard disk management method and device, hard disk equipment and storage medium
CN106844101B (en) NVP performance optimization backup method and system based on Cache perception
CN106844103B (en) Non-volatile processor spare capacity setting, Memory Backup method and system
CN106160232B (en) A kind of load monitoring equipment for electric system
CN115327391B (en) Detection method and device based on echelon battery utilization
CN106649067A (en) Performance and energy consumption prediction method and device
WO2023027048A1 (en) Battery parameter estimation method, apparatus, device, and medium
CN108805742A (en) A kind of electric energy of user substitutes the appraisal procedure and device of potentiality
CN116799832B (en) Intelligent regulation and control hybrid energy storage power system based on big data
Moghaddam et al. Multi-level grouping genetic algorithm for low carbon virtual private clouds

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant