Wednesday, December 23, 2020

ARM Cortex-A72 fetch and branch processing #ARM #RaspberryPi4

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.

Read more

No comments:

Post a Comment