본문 바로가기

볼거리

[카드뉴스] CPU WARS : EPISODE II - ATTACK OF THE POWERPC


안녕하세요 Back to the Mac 독자 여러분. 이 카드뉴스는 CPU의 구조와 역사를 다루는 'CPU WARS'라는(뭘 패러디 했는지는 아시겠죠?) 기획물의 다섯번째 편입니다. 여러분들께 모든 편을 소개해드리고 싶지만, 애플이나 맥과의 접점이 없어 망설이던 찰나, 현재 ARM의 전신이 된 AIM 동맹에 대한 이야기가 다뤄지게 되어 이를 백투더맥에 소개하게 됩니다. 이 카드뉴스는 백투더맥 페이스북 그룹에서도 확인하실 수 있습니다. '파워 PC'가 인텔 아키텍처와 어떤 차이점이 있었는지를 짚어볼 수 있는 시간이 될 것 같습니다. 그럼 시작해봅시다.


이번 편의 주제는 90년대 중반부터 2000년대 초반까지 x86 진영과 경쟁했던,

'AIM 동맹'의 RISC CPU 아키텍처, 파워PC입니다.

 

앞의 네 편을 안 보신 분들께서는 미리 보고 오시는 걸 추천합니다.

(1편 - 에피소드 4 : 새로운 희망

 2편 - 에피소드 5 : 제국의 역습

 3편 - 에피소드 6 : 하이파의 귀환

 4편 - 에피소드 1 : 보이지 않는 위험)

 


AIM 동맹은 애플, IBM, 모토롤라 3사로 구성되었습니다.

목표는 윈텔 패권주의의 타도.

 


오늘날 메인프레임 서버에 사용되는, 그 POWER 맞습니다.

이 글에서 소개하는 최후의 파워PC CPU, G5가 서버용 POWER4 아키텍처를 그대로 사용하며 서버 아키텍처로 단일화되었고

이내 파워PC가 단종되며 POWER는 오로지 서버에서만 그 명맥을 이어가게 됩니다.

 

현재 POWER8까지 출시되어 현역으로 활약하고 있으며, 며칠 전 ISSCC에서 POWER9가 공개되었죠.

 


최초의 파워PC 1994년 출시된 파워PC 601.

이후 603/603e, 604를 거치는 동안은 CPU가 탑재되는 애플의 PC 자체가 고전을 면치 못하며 큰 주목을 못 받았는데요.

1998년 애플이 자사 역사상 공전의 히트를 치게 되는 PC를 발표하며, 거기에 탑재된 CPU도 비로소 주목을 받게 됩니다. 

 


바로 아이맥과 파워PC 750 (G3).

 


G3과 G4는 벡터 연산 유닛의 유무, 그에 따른 백엔드 이슈 포트 수의 변화와

G4쪽의 재정렬 버퍼가 2엔트리 더 많다는 점을 제외하고는 모든 면에서 똑같습니다.

 


x86과 같은 복잡한 명령어 체계를 CISC (Complex Instruction Set Computer),

일정한 길이와 소수의 명령어만으로 구성되는 체계를 RISC (Reduced Instruction Set Computer) 라고 합니다.

 

파워PC와 같은 RISC CPU는 명령어 변환(디코드)에 소요되는 노력이 매우 절약되는데요.

특히 변환된 내부 명령어의 수도 CISC에 비해 많이 불어나지 않기 때문에,

명령어의 추적과 재정렬을 담당하는 장치, 재정렬 버퍼의 용량이 작아도 성능 발휘에 지장이 없었습니다.

 


위 그림은 당시 한 PC 잡지에 수록된 벤치마크.

G3 266MHz가 펜티엄 II 300MHz보다 두 배 가까이 빠른 것을 확인할 수 있습니다.

 


G3이 직접 경쟁하던 펜티엄 II는 최대 450MHz까지 출시되어 클럭 대 클럭 경쟁으로도 큰 무리가 없었지만,

펜티엄 III이 데뷔와 동시에 600MHz를 달성하고 이후 공정 미세화로 최대 1.13GHz를 찍게 되자 문제가 달라집니다.

 

뒤이어 출시된 펜티엄 4는 데뷔 클럭이 무려 1.7GHz에 달해,

실제 성능 비교는 둘째치더라도 G4의 낮은 클럭은 마케팅상 큰 제약 요소로 작용하게 됩니다.



다만, G4e의 백엔드가 사이클당 이슈할 수 있는 IOPS의 수는 G4와 동일하게 6개인데요.

사실 G4e의 풍부한 하드웨어는 '추가적인 성능 향상' 을 위해서라기보다는,

깊어진 파이프라인에 따르는 성능상 패널티를 방지하기 위해 '예방적 조치'로써 도입된 것입니다.

 

따라서 작동 속도가 같을 경우 G4와 G4e의 성능은 엇비슷한 수준이었지만, (그래서 모델 넘버가 비슷했던 것)

파이프라인이 깊어진 만큼 G4e의 작동 속도는 크게 올라, 667MHz로 데뷔한 데 이어 이듬해 1GHz를 돌파하기에 이릅니다.

 


여기서 넷버스트와 G4e 설계상의 중요한 철학 차이가 드러나는데요.

똑같이 '정수 성능을 높인다' 는 목표를 추구하는 방법에서 양측은 접근 차이를 드러냅니다.

펜티엄 4가 개별 유닛의 속도를 2배 끌어올리는, 즉 '직렬적'인 방식을 추구했다면

G4e는 유닛 수를 2배 늘리는, 즉 '병렬적'인 방식을 추구한 것이죠.

 

이는 넷버스트의 백엔드가 4이슈로 대단히 좁은 편이라는 사실과, G4e의 백엔드가 6이슈로 넓은 편이라는 것과도 합치됩니다.

요약하자면 넷버스트는 '좁고 깊은' 방식, G4e는 '넓고 얕은' 방식으로 구분할 수 있습니다.

 


서버용 POWER4의 데스크탑 버전인 G5.

오늘날 POWER8이 그러하듯 소비전력과 발열이 엄청난 수준이라,

노트북용으로는 아예 투입되지 못했고, 데스크탑에도 수랭식 쿨러를 장착해야 했습니다.

 


위 그림에 표시되지 않은 것을 몇 가지 추가로 언급하자면,

정수 연산 유닛의 수는 전작 G4e가 4개(복합 정수 1개 + 단순 정수 3개)이던 것에서 오히려 반으로 줄어든 셈이고,

반면 부동소수점 연산 유닛이 두 개로 늘어 상대적으로 부동소수점 성능에 비중을 둔 것으로 추측 가능합니다.

애플의 파워맥 라인업이 멀티미디어 워크스테이션으로 정평이 나 있던 것과 무관하지 않겠죠.

 

또한 이슈 큐의 용량과 종류(개수) 모두 크게 늘어, 전반적으로 '미리보기 창'이 대폭 확대된 것이 특징입니다.

 


지면 관계상 위 그림에는 매우 간단히 설명했지만, 사실은 마지막 문단은 아주 조금 더 복잡합니다.

파워PC 명령어 중 2개 이상의 IOPS로 분해되는 것은 다시 두 부류로 나뉘는데요.

 

하나는 2개의 IOPS로 분해되는 것,

다른 하나는 3개 이상의 IOPS로 분해되는 것으로 후자를 '크랙' 이라고 합니다.

2개의 IOPS로 분해되는 명령어가 분해되어 2개의 IOPS가 생성된 경우,

이들이 하나의 그룹에 속해야 한다는 조건이 충족되기만 한다면 남은 슬롯에 무엇이 끼어 있든 상관이 없습니다.

 

그러나 크랙의 경우, 슬롯의 공간이 얼마나 남는지에 관계없이

크랙 자신이 생성한 IOPS 이외의 어떤 IOPS도 한 그룹에 들어갈 수 없습니다.

 

 

구체적으로는 로드/스토어 명령어가 이러한 류에 해당합니다.

 


지난 편에 설명했지만, 인텔과 AMD가 사용하는 "매크로옵"이라는 용어의 정의가 서로 달라 교통정리가 필요합니다.

 

인텔은 디코드되지 않은 x86 명령어 그 자체를, 마이크로옵에 상대적인 개념으로써 매크로옵이라 하는 반면

AMD는 x86 명령어와 마이크로옵의 중간적 존재로써, 1+1로 묶인 마이크로옵을 매크로옵이라 합니다.

 

기타 코어 아키텍처에 관한 설명을 다시 보시려면 2편(링크)을,

K7/8/10에 관한 설명을 다시 보시려면 4편(링크)을 복습하고 오시면 좋습니다.

 


...다음 화를 기대해 주시기 바랍니다.




필자: Daeguen Lee (홈페이지)

하드웨어를 사랑하는 수학 전공생입니다.



참조
• [카드뉴스] CPU WARS : EPISODE II - ATTACK OF THE POWERPC


관련 글
• 가난한 집 장남, 입신양명 꿈 가슴에 안고 : AMD Zen 아키텍처 대해부
• [연작] 아이폰 7 자세히 알아보기 : 성능