Cores segment the workload, SIMD batches segments of repetitive calculation, and superscalar picks apart independent individual instructions
tyler.johnson
Cores: must be utilized manually by software developers (workloads never automatically divided across cores) and run totally independent pieces of code (independent as in unique programs or pieces of execution).
SIMD: used to vectorize workloads within the same workload (same program) but still requires knowledge of the programmer (because not all code practices can be automatically vectorized).
Superscalar: sets of instructions that have been identified as independent of each other at the hardware level so that they can be run in parallel. Cannot be manually controlled by programmers.
Cores segment the workload, SIMD batches segments of repetitive calculation, and superscalar picks apart independent individual instructions