SLIDE 11 SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | GEORGIA INSTITUTE OF TECHNOLOGY
Standard'API'Func>ons'
! The!Energy!Introspector!framework!provides!a*set*of*API*
func/ons!to!be!called!by!user!architecture!simulators.!
while(simulation runs) {! do (architecture timing simulation); // User Architecture Simulation! if(@ sampling point) {! // Power Calculation! for(all architecture components to calculate power) {! EI_client->calculate_power(arch_component_id, current_time,! sampling_interval, access_counters);! }! // Thermal Calculation – Models are internally synchronized.! EI_client->calculate_temperature(package_component_id, current_time,! sampling_interval);! // Reliability (Failure Rate) Calculation! for(all components to calculate reliability) {! EI_client->calculate_failure_rate(block_component_id, current_time,! sampling_interval);! }! // Probe any component to collect data! int err_code = EI_client->pull_data(component_id, current_time, ! sampling_interval, data_type, &data);! // Apply execution control (i.e., voltage scaling)! int err_code = EI_client->push_and_synchronize_data(component_id, current_time,! sampling_interval, EI_DATA_VOLTAGE, &new_voltage);! }! }!
11