현대 프로세서 설계에서 명령어 수준 병렬성(ILP, Instruction-Level Parallelism)을 극대화하기 위해 다양한 기술들이 도입되었다. 대표적으로는 동적 스케줄링(dynamic scheduling), 다중 발행(multiple issue), 추측 실행(speculation) 등이 있다. 이들은 CPU가 한 사이클에 더 많은 명령어를 실행하고, 잠재적인 병목을 회피하게 해줌으로써 전체 처리량을 높여주는 핵심 기법들이다.
하지만 이러한 복잡한 기술을 도입하는 것은 성능 향상이라는 이득만큼이나 큰 비용, 특히 전력 소비 증가라는 대가를 요구한다. 명령어를 동시에 처리하려면 더 많은 하드웨어 자원—ALU, 레지스터 포트, 명령어 디코더, 리오더 버퍼—가 필요하며, 이들은 모두 전력을 지속적으로 소모하게 된다. 즉, 복잡한 아키텍처는 전력 효율 측면에서는 손해를 감수해야 한다.
다음 표는 인텔 프로세서가 어떻게 클럭 속도와 병렬성(이슈 폭)을 증가시키는 동안, 전력 소비 또한 급증했는지를 보여준다:

이처럼 클럭 속도와 병렬 처리 능력이 향상됨에 따라, 전력 소모는 단일 코어 기준 5W에서 180W 이상까지 증가하였다. 이는 더 많은 병렬성, 더 깊은 파이프라인, 더 복잡한 분기 예측 및 예외 처리를 처리하기 위한 하드웨어가 지속적으로 추가된 결과이다.
이러한 전력 소모 문제는 파워 벽(Power Wall)이라는 형태로 현실적인 한계로 작용한다. 이를 극복하기 위한 대안 중 하나는 복잡하고 강력한 단일 코어를 설계하는 대신, 단순한 코어를 여러 개 사용하는 방식이다. 이 방식은 전력을 효율적으로 분산시키고, 병렬성을 다중 스레드 또는 다중 프로세스 수준에서 달성할 수 있도록 해준다.

이 비교는 단순한 설계가 저전력 환경에서 어떻게 유리한지를 보여준다. ARM 기반 모바일 프로세서는 고성능보다 전력 효율을 우선시하며, 단순한 파이프라인과 순차 스케줄링을 채택한다. 반면, 인텔의 고성능 서버용 CPU는 높은 IPC를 달성하지만, 그만큼 전력 소비가 매우 크다.
ARM Cortex-A53 프로세서는 전력 효율성과 단순한 설계를 중시하는 모바일·임베디드 환경을 위한 대표적인 저전력 프로세서이다. Figure 4.74는 이 프로세서의 정수 연산 파이프라인 구조를 8단계로 나누어 보여준다.

ARM Cortex-A53 프로세서는 8단계의 정수 파이프라인 구조를 갖는다. 이 구조는 각 단계를 효율적으로 분리함으로써 저전력 환경에서도 성능을 최적화하도록 설계되어 있다.
먼저, F1과 F2 단계는 명령어를 페치(fetch)하는 역할을 수행한다. 이후 D1과 D2 단계에서 기본적인 디코딩 작업이 이루어지며, D3 단계에서는 일부 복잡한 명령어에 대한 추가 디코딩이 수행된다. 이 D3 단계는 ISS (Instruction Issue) 단계와 겹쳐서 실행되며, 이는 파이프라인의 효율을 높이기 위한 중첩(overlap) 처리이다.
그다음으로는 실행 단계가 이어진다. Ex1과 Ex2 단계에서 실제 연산이 수행되며, 마지막으로 WB (Write Back) 단계에서 결과가 레지스터에 기록됨으로써 정수 파이프라인 처리가 완료된다.
분기 예측기는 명령어의 종류에 따라 총 네 가지가 사용되며, 이는 분기 명령어 처리의 정확도와 속도를 높이기 위함이다. NEON 유닛은 ARM 고유의 SIMD 명령어를 실행하는 하드웨어 유닛이다. AGU(Address Generation Unit)는 메모리 접근 주소를 계산하는 장치이며, TLB(Translation Lookaside Buffer)는 가상 주소를 물리 주소로 빠르게 매핑해주는 캐시 메모리 역할을 한다.


총 14단계 파이프라인 구조로 구성되어있다. 분기 예측 실패 시 약 17사이클 손실이 발생하며, load/store 버퍼 용량은 72개의 load, 56개의 store로 구성되어있다. 6개의 독립 실행 유닛으로, 각 유닛은 매 사이클 준비된 마이크로오퍼레이션을 실행 가능하다. 레지스터 리네이밍 테이블은 최대 4개의 마이크로오퍼레이션을 처리하며 i7-6700은 6세대 Core i7으로 이후 세대에서 캐시, 메모리 대역폭, 분기 예측 등이 향상되었다.

이론적으로는 더 많은 병렬 실행이 항상 성능을 향상시킬 것처럼 보이지만, 현실은 그렇지 않다. 다음과 같은 이유들로 인해 ILP에는 명확한 한계가 존재한다:
이러한 제약들은 이론적인 IPC(Instructions Per Cycle)가 4~6이라 해도, 실제 IPC는 1.5~2.5 수준에 머무르게 만든다.
ILP를 극대화하기 위한 대표적인 예는 행렬 곱 연산의 최적화이다. 고성능 프로세서는 SIMD 명령어와 루프 언롤링, 버퍼링을 조합하여 병렬 곱셈 및 누산을 수행한다. 예를 들어, __m512_fmadd_pd 명령어는 512비트 레지스터를 활용해 8개의 곱셈과 덧셈을 동시에 수행하며, 반복문을 언롤링하여 병렬성을 극대화한다.
하지만 이러한 연산 최적화 역시 하드웨어 복잡성과 전력 소비라는 비용을 수반하며, 항상 범용적인 해결책이 되지는 못한다.