Dealing with memory access ordering in complex embedded designs
Chris Shore, ARM
embedded.com (December 10, 2014)
Things used to be so simple in the embedded world. For most of us, the systems for which we develop these days are orders of magnitude more complex than the ones we were using even five years ago.
As embedded systems chase ever higher performance, processor designers reach deeper and deeper into the toolbox for microarchitectural innovations. Many of these, mercifully, are transparent to the programmer. The challenge for us is that many are not transparent; we to be aware of what is going on and write our software in different ways. In some cases, we are missing out on improved performance, but in many cases, existing software techniques simply won’t work properly unless we take into account some of the new ways in which modern embedded systems function.
The area I address in this article is memory accesses, specifically the order in which they happen. The simple act of loading, storing, and transferring data between processor and memory is much more complex than it used to be.
To read the full article, click here
Related Semiconductor IP
- Ultra-Low-Power LPDDR3/LPDDR2/DDR3L Combo Subsystem
- 1G BASE-T Ethernet Verification IP
- Network-on-Chip (NoC)
- Microsecond Channel (MSC/MSC-Plus) Controller
- 12-bit, 400 MSPS SAR ADC - TSMC 12nm FFC
Related Articles
- Memory solution addressing power and security problems in embedded designs
- Getting started in structured assembly in complex SoC designs
- Understanding LTTPR: Enabling High-Speed DisplayPort Interconnects in Complex System Designs
- Dealing with automotive software complexity with virtual prototyping - Part 3: Embedded software testing
Latest Articles
- Extending and Accelerating Inner Product Masking with Fault Detection via Instruction Set Extension
- ioPUF+: A PUF Based on I/O Pull-Up/Down Resistors for Secret Key Generation in IoT Nodes
- In-Situ Encryption of Single-Transistor Nonvolatile Memories without Density Loss
- David vs. Goliath: Can Small Models Win Big with Agentic AI in Hardware Design?
- RoMe: Row Granularity Access Memory System for Large Language Models