ScEpTIC.emulator.energy.state_retention package

Submodules

ScEpTIC.emulator.energy.state_retention.external_checkpoint module

class ScEpTIC.emulator.energy.state_retention.external_checkpoint.ExternalNVMCheckpointEnergyModel

Bases: StateRetentionEnergyModel

Energy model of a generic checkpoint-based technique that:
  1. Places checkpoints or trigger-calls inside the program

  2. Relies on an external NVM space connected to the MCU

execute_probe_energy_buffer()

Probes the energy buffer to identify if a checkpoint is required :return: the number of executed clock cycles

execute_restore_state()

Calculate the cost of restoring the state :return: the number of executed clock cycles

execute_save_state(save_only_pc, n_registers, n_memory_cells)

Calculate the cost of saving the state :param save_only_pc: if the checkpoint saves only the program counter :param n_registers: number of general purpose registers saved :param n_memory_cells: number of memory cells saved :return: number of executed clock cycles

reset()

Resets statistics

ScEpTIC.emulator.energy.state_retention.internal_checkpoint module

class ScEpTIC.emulator.energy.state_retention.internal_checkpoint.InternalNVMCheckpointEnergyModel

Bases: StateRetentionEnergyModel

Energy model of a generic checkpoint-based technique that:
  1. Places checkpoints or trigger-calls inside the program

  2. Relies on an NVM space internal and directly-addressable from the MCU

execute_probe_energy_buffer()

Probes the energy buffer to identify if a checkpoint is required :return: the number of executed clock cycles

execute_restore_state()

Calculate the cost of restoring the state :return: the number of executed clock cycles

execute_save_state(save_only_pc, n_registers, n_memory_cells)

Calculate the cost of saving the state :param save_only_pc: if the checkpoint saves only the program counter :param n_registers: number of general purpose registers saved :param n_memory_cells: number of memory cells saved :return: number of executed clock cycles

reset()

Resets statistics

use_physical_memory(val)

Module contents

class ScEpTIC.emulator.energy.state_retention.StateRetentionEnergyModel

Bases: object

Energy model of a state retention technique.

attach_system_model(system_model)

Attaches the system model to the state retention technique :param system_model: the system model

execute_probe_energy_buffer()

Probes the energy buffer to identify if the state needs to be saved :return: the number of executed clock cycles

execute_restore_state()

Calculate the cost of restoring the state :return: the number of executed clock cycles

execute_save_state(save_only_pc, n_registers, n_memory_cells)

Calculate the cost of saving the state :param save_only_pc: if the checkpoint saves only the program counter :param n_registers: number of general purpose registers saved :param n_memory_cells: number of memory cells saved :return: number of executed clock cycles

reset()

Resets statistics

set_max_memory_cells(n_memory_cells)

Update the statistic on maximum number of memory cells saved :param n_regs: the number of registers saved

set_max_regs(n_regs)

Update the statistic on maximum number of register saved :param n_regs: the number of registers saved