Parallelism in CPU

Parallelism in CPU

  • Instruction level parallelism
    앞으로 실행될 수십~수백개의 instruction들을 (instruction window) 미리 보고, data dependency를 계산하여 instruction들을 reorder, pipeline에 따라 parallel하게 연산되도록 한다.
  • Parallel memory operation
    예전의 CPU들은 memory operation을 요청한 뒤 그것이 완료될 때 까지 기다렸다. 하지만 hierarchical cache는 pipeline과 같아서 (L1, L2, L3..) 동시에 여러개의 memory operation을 처리할 수 있다. 때문에 요즘의 CPU들은 memory operation을 요청한 뒤 cache miss가 발생하면 해당 요청에 대한 정보를 (어떤 정보를 요청하였는지, 어디에 기록할 것인지 등) Miss Status Holding Register, MSHR에 저장한 뒤 해당 요청이 미처 끝나지 전에 연이어 다른 요청을 보내기도 한다.

Leave a Reply