개요

명령어 수준 병렬 처리는 컴퓨터 프로그램에서 동시에 실행할 수있는 명령어 수를 측정 한 것이다. ILP는 하나의 스레드에서 명령어를 동시에 처리한는 것을 말한다.

종류

  1. Pipelining: CPU의 작동은 fetch->decode->execute->memory->write와 같은 여러 단계를 거친다. 그러나 중요한 것은 각각의 단계가 일어나는 동안 다른 단계가 쉬고 있다는 것이다. 따라서 파이프라이닝을 이용하여 이러한 단계를 동시에 실행함으로써, 명령어를 동시에 실행하는 기술을 말한다.
  2. Superscalar: 하나의 명령어를 통해서 여러개의 명령어가 처리하는 기능을 수행하는 것이다.
  3. Out-of-order: 프로그램의 일관성을 해치지 않는 한도에서 명령어의 순서를 바꾸어서 처리 속도의 향상을 기대하는 것이다. 예를 들어서 write명령어가 실행되고 있고 이와 무관한 메모리 cpoy명령어가 그 뒤에 있다면, 메모리 copy명령어를 미리 처리하고 write명령을 주는 것을 들 수 있다.