명령어 수준 병렬성

명령어 수준 병렬성(Instruction-level parallelism, ILP)는 컴퓨터 프로그램에서 일련의 명령병렬 또는 동시 실행하는 것이다. 보다 구체적으로 ILP는 이 병렬 실행의 단계당 실행되는 평균 명령 수를 나타낸다.[2]:5

병렬 처리를 지원하는 최초의 컴퓨터 아타나소프-베리 컴퓨터[1]

논의

편집

ILP는 병행성과 구별한다. ILP에는 프로세스 실행을 위한 단일 특정 스레드가 있다. 반면, 병행성에는 엄격한 교대로 여러 스레드를 CPU 코어에 할당하거나, CPU 코어가 충분한 경우(이상적으로는 실행 가능한 각 스레드에 하나의 코어가 있는 경우) 실제 병렬 처리가 포함된다.

명령어 수준 병렬성에는 하드웨어소프트웨어라는 두 가지 접근 방식이 있다.

하드웨어 수준은 동적 병렬 처리에 대해 작동하는 반면, 소프트웨어 수준은 정적 병렬 처리에 대해 작동한다. 동적 병렬 처리는 프로세서가 병렬로 실행할 명령을 런타임에 결정하는 것을 의미하고, 정적 병렬 처리는 컴파일러가 병렬로 실행할 명령을 결정한다는 것을 의미한다.[3] 펜티엄 프로세서는 동적 병렬 실행 순서로 작동하지만 아이테니엄 프로세서는 정적 수준 병렬 처리에서 작동한다.

각주

편집
  1. “The History of Computing”. 《mason.gmu.edu》. 2019년 3월 24일에 확인함. 
  2. Goossens, Bernard; Langlois, Philippe; Parello, David; Petit, Eric (2012). 〈PerPI: A Tool to Measure Instruction Level Parallelism〉. 《Applied Parallel and Scientific Computing》. Lecture Notes in Computer Science 7133. 270–281쪽. doi:10.1007/978-3-642-28151-8_27. ISBN 978-3-642-28150-1. S2CID 26665479. 
  3. Hennessy, John L.; Patterson, David A. (1996). 《Computer Architecture: A Quantitative Approach》. 

더 읽기

편집
  • Aiken, Alex; Banerjee, Utpal; Kejariwal, Arun; Nicolau, Alexandru (2016년 11월 30일). 《Instruction Level Parallelism》. Professional Computing 1판. Springer. ISBN 978-1-4899-7795-3. ISBN 1-4899-7795-3.  |id=에 templatestyles stripmarker가 있음(위치 1) (도움말) (276 pages)

외부 링크

편집