Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do ARM-NEON synchronize?

Speaking in terms of ARM Cortex-A8, does the ARM module wait or continue its operations while NEON is executing its instructions? How is this synchronization achieved? How do ARM and NEON cores synchronize, if ARM and NEON are working on the same data/code segments?

like image 645
nguns Avatar asked Dec 16 '22 19:12

nguns


2 Answers

The short answer is that they are automatically synchronized ... and they are synchronized just in the same way as all other instructions are synchronized (i.e. pipeline hazard checking). In processors that can issue multiple instructions per clock cycle, NEON instructions can be issued together with non-NEON instructions.

NEON is part of the core, and uses the same caches as the regular load/store instructions. However, this also means that on some processors it can be inefficient to intermingle NEON and non-NEON loads and stores, or moving data between NEON and general-purpose registers.

like image 58
unixsmurf Avatar answered Feb 01 '23 13:02

unixsmurf


They are not separate cores - NEON is implemented as an additional execution unit within an ARM core - the usual principles of superscalar architectures apply.

like image 28
Paul R Avatar answered Feb 01 '23 14:02

Paul R