HiSilicon Performance Monitor Control Unit
summary
Performance Monitor Control Unit (PMCU) offloads core PMU work to an external DMA-backed controller that configures events, switches them, and writes samples to memory, Performance Monitor Control Unit (PMCU). Demo shows ten samples at ~4 ms each and the motivation is concrete: traditional per-CPU PMU sampling can raise latency (an observed 50% latency increase in cybench) and consumes CPU cycles. Implementation uses perf_event auxtrace, exposes sysfs knobs, and works functionally, but concurrent CPU vs external accesses lack synchronization and raise correctness and security problems.
AI-written summary · about
chapters (10)
- 0:00Introduction to PMCU
- 1:49Problems with traditional PMUs
- 3:19Hardware design of PMCU
- 4:50Software design framework
- 6:59Demo of PMCU usage
- 8:33Main challenges faced
- 12:11Security concerns with external PMU access
- 14:17Workarounds and alternatives
- 17:07Performance overhead discussion
- 18:34Q&A and closing remarks
related talks
32mGood Motive but Bad Design: Pitfalls in MPU Usage in Embedded Systems in the Wild
20mEnabling Low-Cost Secure Computing on Untrusted In-Memory Architectures
31mTweaking Device Drivers for Achieving Real-Time Performance in Embedded...
42mPower Debugging with JTAG
41mIs Your Memory Protected? Uncovering Vul In Automotive MPU
20mCPC: Flexible, Secure, and Efficient CVM Maintenance with Confidential Procedure...
35mZephyr OS Memory Protection
41mHand Me Your SECRET, MCU! Microarchitectural Timing Attacks on Microcontrollers are Practical
