SlideShare a Scribd company logo
ARM® Cortex™ M Energy Optimization 
Techniques - Using Instruction Cache 
Raahul Anand Raghavan, Lead Systems Architect, 
Glyton Solutions 
!1
Agenda 
• Before We Proceed! 
• Importance of energy optimization with Cortex M profile in 
context 
• Instruction cache in ARM® Cortex™ M 
• Energy Profiling & Results comparison 
• Turn ON I-CACHE 
• Turn OFF I-CACHE 
• Concludes 
!2
Before We Proceed! 
• In this presentation, we will be investigating role of 
I-CACHE when it comes to energy efficiency optimization 
• Involves Cortex M0+ based EVM and a suitable IDE 
• Official Documentation from ARM®, Silicon Labs will 
override information provided here. Treat official TRM’s as 
complete guides on Subject Matter 
• ARM® Cortex® M trademark - ARM Ltd 
• EFM®32, Silicon Labs SDK etc are registered trademarks 
!3
ARM® Cortex™ M Importance of Energy Optimization (1 / 2) 
• Typical products - Cortex M usage scenarios 
• Perpetually powered sensor products for industrial control 
• Energy harvesting is one key technology used to charge the battery pack when it comes to 
perpetually powered low power consumption sensor products 
• Products powering IOT (Internet of Things) 
• Wearable products catering to 
• Fitness trackers 
• Elderly / Patient assistance 
• …. 
• Whats one critical factor judging better end user / enterprise experience across all the products 
above ? 
• ALWAYS ON functionality 
• How do we achieve ALWAYS ON functionality ? 
• Best in class energy efficiency 
!4
ARM® Cortex™ M Importance of Energy Optimization (2 / 2) 
• What would be one of the best methods for extreme energy efficiency ? 
• Taking advantage of Architectural features 
• We will be discussing how one such architectural feature in ARM® Cortex™ M micro-controllers 
• I CACHE - Instruction Cache 
!5 
ARM® Cortex™ 
Core 
Cache Look-Up 
Logic 
SRAM CACHE 
Implementation 
IDCOD MUX 
CODE 
Memory Space 
(NV-FLASH) 
ICODE! 
AHB-LITE BUS 
ICODE! 
AHB-LITE BUS 
Instruction Cache 
DCODE! 
AHB-LITE BUS 
IDCODE! 
AHB-LITE BUS
ICACHE Implementation - EFM32 MCU’s from Silicon Labs 
• ICACHE 
• Connected directly to Cortex M Core 
• Acts as memory access filter between processor core and memory system 
• Consists 
• Access filter 
• Look-up logic 
• 128x32 SRAM (512 Bytes) 
• How does it work ? 
• Access filter checks if instruction access address falls in code space 
• On match , cache look-up and SRAM is enabled and instruction fetch happens 
• If no match , then ICACHE is bypassed and access is forwarded to memory 
system , then to NV memory such as NAND flash 
!6
How does ICACHE Impact energy efficiency ? 
• In the absence of ICACHE 
• Every instruction in CODE section, gets fetched from 
external FLASH 
• This involves read routines are always costly as it 
involves external peripheral access 
• The read routines to fetch instructions from external NV 
memory such as NAND is always costly (in terms of 
current consumption) compared to on-chip components 
• Another factor is that , there could be a risk of involving 
multiple read cycles for fetching instructions from 
external flash 
!7
Energy Profiling Results (1 / 2) 
• Following data might give an idea with respect to what 
would be the impact of having ICACHE turned ON and OFF 
• ICACHE Turned ON / OFF in EFM32 Zero Gecko 
• API used — MSC_EnableCache(bool ); 
• Does required configuration to turn ON or OFF ICACHE in 
memory system controller 
• Simple application measuring ambient temperature used 
• Simplicity Studio - Energy Profiler from Silicon Labs 
• On Board J-LINK debugger 
!8
Energy Profiling Results (2 / 2) 
Average Current Consumption — 60.45μA 
Average Power — 200.78μA 
Total Energy — 36.50mJ 
Average Current Consumption — 73.03μA 
Average Power — 242.48μA 
Total Energy — 44.28mJ 
!9 
ICACHE ON 
ICACHE OFF
Concludes! 
• Lets ensure to 
• Take advantage of any architectural functionality when 
it comes to achieving high energy efficiency 
• Take advantage of any ARM® Cortex™ M, silicon 
implementer specific functionality when it comes to 
achieving high energy efficiency 
!10

More Related Content

PDF
ARM® Cortex™ M Bootup_CMSIS_Part_2_3
PDF
ARM® Cortex M Boot & CMSIS Part 1-3
PDF
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
PDF
AAME ARM Techcon2013 004v02 Debug and Optimization
PDF
AAME ARM Techcon2013 006v02 Implementation Diversity
PDF
ARM AAE - System Issues
PDF
ARM AAE - Developing Code for ARM
PDF
Micro controller
ARM® Cortex™ M Bootup_CMSIS_Part_2_3
ARM® Cortex M Boot & CMSIS Part 1-3
ARM® Cortex™ M Bootup_CMSIS_Part_3_3_Debug_Architecture
AAME ARM Techcon2013 004v02 Debug and Optimization
AAME ARM Techcon2013 006v02 Implementation Diversity
ARM AAE - System Issues
ARM AAE - Developing Code for ARM
Micro controller

What's hot (20)

PDF
ARM AAE - Architecture
PDF
ARM AAE - Memory Systems
PDF
AAME ARM Techcon2013 003v02 Software Development
PDF
AAME ARM Techcon2013 002v02 Advanced Features
PDF
AAME ARM Techcon2013 005v02 System Startup
PDF
Advanced debugging on ARM Cortex devices such as STM32, Kinetis, LPC, etc.
PDF
SOC Peripheral Components & SOC Tools
PDF
CPU Architecture
PDF
AAME ARM Techcon2013 001v02 Architecture and Programmer's model
PDF
02 : ARM Cortex M4 Specs || IEEE SSCS AlexSC
PDF
Reliability, Availability and Serviceability on Linux
PPTX
Unit vi (1)
PDF
1: Interfacing using ARM Cortex M4 || IEEE SSCS AlexSC
PDF
introduction to embedded systems part 1
PPTX
ARM Processor architecture
PPTX
Processors selection
PPTX
EC8791 UML-model train controller
PDF
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
PDF
SOC Interconnects: AMBA & CoreConnect
PDF
SOC Application Studies: Image Compression
ARM AAE - Architecture
ARM AAE - Memory Systems
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 002v02 Advanced Features
AAME ARM Techcon2013 005v02 System Startup
Advanced debugging on ARM Cortex devices such as STM32, Kinetis, LPC, etc.
SOC Peripheral Components & SOC Tools
CPU Architecture
AAME ARM Techcon2013 001v02 Architecture and Programmer's model
02 : ARM Cortex M4 Specs || IEEE SSCS AlexSC
Reliability, Availability and Serviceability on Linux
Unit vi (1)
1: Interfacing using ARM Cortex M4 || IEEE SSCS AlexSC
introduction to embedded systems part 1
ARM Processor architecture
Processors selection
EC8791 UML-model train controller
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
SOC Interconnects: AMBA & CoreConnect
SOC Application Studies: Image Compression
Ad

Viewers also liked (17)

PPTX
Презентация времена года
PPTX
The sun and its planets g3
PPT
продукт тас максимум
PPT
тас захист продукт-май 2014
PPS
Footbal Tactics
DOCX
10th January 2017 - Disciples of Jesus - James the elder
PDF
Дорожная карта
PDF
Diploma marketing mix final project
PPS
هیدرولیک کاربردی
PPTX
Tas family продукт и тех. андерайтинг- июнь 2015
PPTX
password based door locking system using 8051
PDF
آموزش ترمودینامیک ۲ بخش پنجم
PDF
The Moon
PPTX
Production of Enzymes
PPT
Pumps and types of pumps
PPTX
Emergnecy orthopedic
PPTX
Ch.1,l1, how living things are alike
Презентация времена года
The sun and its planets g3
продукт тас максимум
тас захист продукт-май 2014
Footbal Tactics
10th January 2017 - Disciples of Jesus - James the elder
Дорожная карта
Diploma marketing mix final project
هیدرولیک کاربردی
Tas family продукт и тех. андерайтинг- июнь 2015
password based door locking system using 8051
آموزش ترمودینامیک ۲ بخش پنجم
The Moon
Production of Enzymes
Pumps and types of pumps
Emergnecy orthopedic
Ch.1,l1, how living things are alike
Ad

Similar to ARM® Cortex™ M Energy Optimization - Using Instruction Cache (20)

PPT
OK Labs - Virtualization as the Nexus of Multicore Power Management
PDF
migrating from pic to m3
PDF
Dai0234 a migrating_from_pic_to_m3
PDF
Ijiret archana-kv-increasing-memory-performance-using-cache-optimizations-in-...
PPTX
Energy efficient mobile computing techniques in smartphones
PPT
Mobile computing edited
PPTX
Improving Xen idle power efficiency
PDF
Energy Efficient Computing - 26mar13
PPTX
Computer Architecture and Organization
PPTX
Literature survey presentation
PPTX
Developing Software for Persistent Memory / Willhalm Thomas (Intel)
PPTX
SNAPDRAGON SoC Family and ARM Architecture
PPTX
CAQA5e_ch1 (3).pptx
PDF
Intelligent Power Allocation
PDF
5_Embedded Systems مختصر.pdf
PPTX
Project Presentation Final
PDF
Analyze and optimize Android apps power consumption
PPTX
High performance energy efficient multicore embedded computing
PPTX
Optimizing High Performance Computing Applications for Energy
PDF
Energy Efficiant Computing in the 21c
OK Labs - Virtualization as the Nexus of Multicore Power Management
migrating from pic to m3
Dai0234 a migrating_from_pic_to_m3
Ijiret archana-kv-increasing-memory-performance-using-cache-optimizations-in-...
Energy efficient mobile computing techniques in smartphones
Mobile computing edited
Improving Xen idle power efficiency
Energy Efficient Computing - 26mar13
Computer Architecture and Organization
Literature survey presentation
Developing Software for Persistent Memory / Willhalm Thomas (Intel)
SNAPDRAGON SoC Family and ARM Architecture
CAQA5e_ch1 (3).pptx
Intelligent Power Allocation
5_Embedded Systems مختصر.pdf
Project Presentation Final
Analyze and optimize Android apps power consumption
High performance energy efficient multicore embedded computing
Optimizing High Performance Computing Applications for Energy
Energy Efficiant Computing in the 21c

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
medical staffing services at VALiNTRY
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Nekopoi APK 2025 free lastest update
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
L1 - Introduction to python Backend.pptx
PDF
Digital Strategies for Manufacturing Companies
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Introduction to Artificial Intelligence
PPTX
Essential Infomation Tech presentation.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
medical staffing services at VALiNTRY
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Nekopoi APK 2025 free lastest update
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Softaken Excel to vCard Converter Software.pdf
Design an Analysis of Algorithms II-SECS-1021-03
L1 - Introduction to python Backend.pptx
Digital Strategies for Manufacturing Companies
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
How Creative Agencies Leverage Project Management Software.pdf
PTS Company Brochure 2025 (1).pdf.......
Introduction to Artificial Intelligence
Essential Infomation Tech presentation.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Understanding Forklifts - TECH EHS Solution
Navsoft: AI-Powered Business Solutions & Custom Software Development

ARM® Cortex™ M Energy Optimization - Using Instruction Cache

  • 1. ARM® Cortex™ M Energy Optimization Techniques - Using Instruction Cache Raahul Anand Raghavan, Lead Systems Architect, Glyton Solutions !1
  • 2. Agenda • Before We Proceed! • Importance of energy optimization with Cortex M profile in context • Instruction cache in ARM® Cortex™ M • Energy Profiling & Results comparison • Turn ON I-CACHE • Turn OFF I-CACHE • Concludes !2
  • 3. Before We Proceed! • In this presentation, we will be investigating role of I-CACHE when it comes to energy efficiency optimization • Involves Cortex M0+ based EVM and a suitable IDE • Official Documentation from ARM®, Silicon Labs will override information provided here. Treat official TRM’s as complete guides on Subject Matter • ARM® Cortex® M trademark - ARM Ltd • EFM®32, Silicon Labs SDK etc are registered trademarks !3
  • 4. ARM® Cortex™ M Importance of Energy Optimization (1 / 2) • Typical products - Cortex M usage scenarios • Perpetually powered sensor products for industrial control • Energy harvesting is one key technology used to charge the battery pack when it comes to perpetually powered low power consumption sensor products • Products powering IOT (Internet of Things) • Wearable products catering to • Fitness trackers • Elderly / Patient assistance • …. • Whats one critical factor judging better end user / enterprise experience across all the products above ? • ALWAYS ON functionality • How do we achieve ALWAYS ON functionality ? • Best in class energy efficiency !4
  • 5. ARM® Cortex™ M Importance of Energy Optimization (2 / 2) • What would be one of the best methods for extreme energy efficiency ? • Taking advantage of Architectural features • We will be discussing how one such architectural feature in ARM® Cortex™ M micro-controllers • I CACHE - Instruction Cache !5 ARM® Cortex™ Core Cache Look-Up Logic SRAM CACHE Implementation IDCOD MUX CODE Memory Space (NV-FLASH) ICODE! AHB-LITE BUS ICODE! AHB-LITE BUS Instruction Cache DCODE! AHB-LITE BUS IDCODE! AHB-LITE BUS
  • 6. ICACHE Implementation - EFM32 MCU’s from Silicon Labs • ICACHE • Connected directly to Cortex M Core • Acts as memory access filter between processor core and memory system • Consists • Access filter • Look-up logic • 128x32 SRAM (512 Bytes) • How does it work ? • Access filter checks if instruction access address falls in code space • On match , cache look-up and SRAM is enabled and instruction fetch happens • If no match , then ICACHE is bypassed and access is forwarded to memory system , then to NV memory such as NAND flash !6
  • 7. How does ICACHE Impact energy efficiency ? • In the absence of ICACHE • Every instruction in CODE section, gets fetched from external FLASH • This involves read routines are always costly as it involves external peripheral access • The read routines to fetch instructions from external NV memory such as NAND is always costly (in terms of current consumption) compared to on-chip components • Another factor is that , there could be a risk of involving multiple read cycles for fetching instructions from external flash !7
  • 8. Energy Profiling Results (1 / 2) • Following data might give an idea with respect to what would be the impact of having ICACHE turned ON and OFF • ICACHE Turned ON / OFF in EFM32 Zero Gecko • API used — MSC_EnableCache(bool ); • Does required configuration to turn ON or OFF ICACHE in memory system controller • Simple application measuring ambient temperature used • Simplicity Studio - Energy Profiler from Silicon Labs • On Board J-LINK debugger !8
  • 9. Energy Profiling Results (2 / 2) Average Current Consumption — 60.45μA Average Power — 200.78μA Total Energy — 36.50mJ Average Current Consumption — 73.03μA Average Power — 242.48μA Total Energy — 44.28mJ !9 ICACHE ON ICACHE OFF
  • 10. Concludes! • Lets ensure to • Take advantage of any architectural functionality when it comes to achieving high energy efficiency • Take advantage of any ARM® Cortex™ M, silicon implementer specific functionality when it comes to achieving high energy efficiency !10