In computer engineering, an execution unit (E-unit or EU) is a part of a processing unit that performs the operations and calculations forwarded from the instruction unit. It may have its own internal control sequence unit (not to be confused with a CPU's main control unit), some registers, and other internal units such as an arithmetic logic unit, address generation unit, floating-point unit, load–store unit, branch execution unit or other smaller and more specific components, and can be tailored to support a certain datatype, such as integers or floating-points.
It is common for modern processing units to have multiple parallel functional units within its execution units, which is referred to as superscalar design. The simplest arrangement is to use a single bus manager unit to manage the memory interface and the others to perform calculations. Additionally, modern execution units are usually pipelined.
References
"Execution Model Overview". Intel. Retrieved 2024-06-23. https://www.intel.com/content/www/us/en/docs/oneapi/optimization-guide-gpu/2024-1/execution-model.html ↩
"AMD Instinct™ MI100 microarchitecture — ROCm Documentation". rocm.docs.amd.com. Retrieved 2024-06-23. https://rocm.docs.amd.com/en/docs-6.0.0/conceptual/gpu-arch/mi100.html#microarchitecture ↩
"Intel® Iris® Xe GPU Architecture". Intel. Retrieved 2024-06-23. https://www.intel.com/content/www/us/en/docs/oneapi/optimization-guide-gpu/2023-0/intel-iris-xe-gpu-architecture.html ↩
Kanter, David (November 13, 2012). "Intel's Haswell CPU Microarchitecture". Real World Tech. https://www.realworldtech.com/haswell-cpu/4/ ↩
"Execution Unit" discussion from the University of Massachusetts Amherst, archived on the Wayback Machine https://web.archive.org/web/20131231145405/http://people.cs.umass.edu/~weems/CmpSci535/Discussion10.html ↩
Cohen, William (2016-03-14). "Superscalar Execution". Red Hat Developer. Retrieved 2024-06-23. https://developers.redhat.com/blog/2016/03/14/superscalar-execution ↩