티스토리 뷰

4. 슈퍼 스칼라(Super Scalar)

지금까지는 파이프라인이 하나인 경우만을 다뤘습니다. 그런데 실제 CPU에서는 여러개의 파이프라인을 설치해서 사용하고 있습니다. 바로, 이 같은 구조를 슈퍼 스칼라라고 부릅니다.

파이프라인이 여러개의 명령을 시간차를 두고 실행을 중첩시키는 것이라면, 슈퍼 스칼라는 동시(!)에 다수의 명령을 파이프라인에 집어넣는 것입니다.

우선, 2개의 파이프라인으로 구성한 간단한 슈퍼 스칼라 구조를 보겠습니다.
4단 구성으로된 파이프라인을 2개 설치했습니다. 기본적으로 4단 파이프라인일 때와 동작은 비슷합니다. 다만 두개의 파이프라인으로 동시에 명령을 집어넣을 수 있기 때문에 더 좋은 성능을 낼 수 있습니다.
이론상 파이프라인의 수를 두배로 늘리면 처리량은 두배로 늘어납니다. 이것은 파이프라인 수를 늘리지 않은채 클럭을 두배로 높인 것과도 같은 효과를 가집니다. (이론상이긴 하지만요...)

잠시 이쯤에서...
다음의 두 가지 구조를 한번 비교해 보기로 합니다.

◆ 구조 A: 파이프라인 5단 x 8개
◆ 구조 B: 파이프라인 10단 x 4개, 클럭 스피드는 A의 2배

자, 그럼 여기서 문제입니다.
과연 어느 쪽이 더 성능이 좋을까요?

언뜻 보기엔 B가 파이프라인의 수는 적지만 클럭이 2배나 빠르고, 파이프라인의 길이도 2배이니까, 아무래도 B가 좀더 유리하게 보입니다.

과연, 정말 그러한지 한번 계산을 해보기로 합니다.

   (1) A의 경우

      파이프라인 한개의 처리량:
      ((5 + 4 + 3 + 2 + 1) / 5) op / t = (15 / 5) op / t = 3 op/t

      파이프라인이 8개 있으므로:
      (3 x 8) op/t = 24 op/t

   (2) B의 경우

      파이프라인 한개의 처리량:
      (10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1) / 10) op / t = (55 / 10) op / t = 5.5 op/t

      파이프라인이 4개 있으므로:
      (5.5 x 4) op/t = 22 op/t

오히려 근소한 차이로 A가 B를 앞서고 있습니다. 하지만 모든 파이프라인이 100% 동작하고 있다는 다소 비현실적인 가정을 한 계산이므로, 오차를 감안하면, 둘의 성능은 거의 비슷하다고 할 수 있을 겁니다.

중요한건 B가 A보다 클럭이 2배나 빠르고 파이프라인도 2배나 긴 구조를 가졌음에도 불구하고, 실상은 A와 별반 차이를 보이지 않는 다는 것이죠.


인텔의 CPU는 B처럼 좁고 긴 파이프라인 구조를 가지고 있습니다. 반면 AMD의 CPU는 A에서 처럼 넓고 긴 파이프라인 구조를 쓰고 있습니다.

제가 말하고 싶은 건, 이제는 클럭 수치만 가지고는 CPU의 성능을 측정할 수는 없다는 사실입니다. 과거에는 분명 CPU의 성능을 결정하는데 클럭이 크게 좌우했지만, 지금은 클럭 스피드 외에도 성능을 끌어올릴 수 있는 여러 기술들이 적용되어 있습니다.

지금까지 설명한 슈퍼 스칼라도 그중 하나입니다. 슈퍼 스칼라에서는 파이프라인의 수와 길이 그리고 클럭을 종합적으로 따져보지 않고서는 성능을 측정할 수 없습니다.

슈퍼 스칼라의 문제

파이프라인과 마찬가지로 슈퍼 스칼라도 문제가 없는 건 아닙니다.

구조적인 특성상 보다 많은 명령들이 병렬실행되어지는데, 이때 파이프라인에서와 마찬가지로 연산결과에 영향을 받거나 영향주는 명령들은 병렬수행이 되어서는 안됩니다.

말하자면 파이프라인 내에서 뿐만 아니라, 다른 파이프라인의 명령간의 연관성도 고려해야하는 복잡한 문제를 안고 있습니다. 게다가 조건분기 명령이 들어있을 경우, 이 역시 분기예측을 해야하긴 하지만, 만일 예측이 틀리게 되면 그 영향이 다른 파이프라인까지 미칠 수가 있습니다.

따라서 이런 저런 문제때문에 사실상 슈퍼 스칼라 구조에서도 전체 파이프라인을 100% 활용할 수는 없습니다.


[참고자료]
"컴퓨터 구조 및 설계", Davis A. Patterson, John L. Hennessy (1999 사이텍미디어)
"성공과 실패를 결정하는 1%의 CPU 구조와 원리", Tetsuya Fujihiro (2003 성안당)
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함