ISA와 어셈블리
현재의 고성능 x86 CPU가 복잡한 명령어를 내부에서 어떻게 실행하는지에 대한 설명으로 올바른 것은?
- A모든 명령어를 소프트웨어 에뮬레이터로 한 명령어씩 실행한다
- B명령어를 해독하여 RISC와 유사한 단순한 마이크로 오퍼레이션으로 나누고, 이를 파이프라인으로 실행한다
- C복잡한 명령어는 실행할 수 없으므로 OS가 오류로 정지시킨다
정답과 해설 보기
정답: B. 명령어를 해독하여 RISC와 유사한 단순한 마이크로 오퍼레이션으로 나누고, 이를 파이프라인으로 실행한다
x86 CPU는 가변 길이의 복잡한 명령어를 전단의 디코더에서 마이크로 오퍼레이션(μop)이라 불리는 단순한 동작으로 나누고, 후단에서는 이들을 비순차(Out-of-Order) 방식으로 실행합니다. 한 번 나눈 μop를 저장하여 해독을 다시 하지 않아도 되게 하는 μop 캐시를 가진 CPU도 있습니다. 이렇게 옛 소프트웨어와의 호환성을 유지하면서 RISC와 같은 고속 실행 기술을 사용하고 있습니다.