Sand, software and sound looks at the instruction fetch, decode and dispatch in the Cortex-A72 micro-architecture.
These are the “front-end” stages of the core pipeline. The “back-end” of the pipeline consists of the register file(s), execution units and retirement (reorder) buffer. Branch prediction is frequently associated with the front-end since it directly affects instruction fetch.
The front-end has one major job: Fetch ARMv8 instructions and keep the back-end execution units as busy as possible.
The post is required reading for Raspberry Pi 4 (BCM2711, ARM Cortex-A72) programmers who want to tune their programs for the ARM Cortex-A72. It is also necessary background information for programmers doing performance measurement with PERF (Performance Events for Linux) on Raspberry Pi 4.
No comments:
Post a Comment