PowerPC

1 개요

애플, IBM, 모토로라가 함께 만들어낸 POWER 기반의 마이크로프로세서 및 아키텍처.
Performance Optimization With Enhanced RISC - Performance Computing'의 약자다.
(Personal Computer라서 PC가 아니다!)힘세고 강력한 PC

인텔마이크로소프트PC 시장의 주도권을 빼앗긴 애플과 IBM, 모토로라의 원념의 결정체(...)라 할 수 있다.

뒷얘기가 있지만 한때 게임기 시장의 승리자 비스무리한 위치에 있다. 게임기 외에도 임베디드 시장에서는 나름 입지가 있다. 하지만 더욱 저전력을 요구하는 포터블 게임기 시장에는 진출하지 못했다. PSPMIPS기반 CPU, 닌텐도 포터블 게임기는 게임보이 포켓까지는 Z80, 게임보이 미크로~3DS는 ARM 기반 CPU를 사용한다.

2 배경

IBMPOWER 아키텍처를 개발했지만 메인프레임에만 쓰기는 아까워서 다른 용도를 찾았다. 마침 애플모토로라의 680X0 시리즈에 한계를 느끼고 새로운 마이크로프로세서를 찾던 중이었다. 거기에 애플이 "님아 모토로라도 한 마이크로프로세서 하거든요."하면서 "매킨토시용 CPU 만드는데 우리 빼면 삐짐"하고 있던 모토로라도 참여하여, 타도 윈텔의 성스러운 AIM 동맹이 결성되었다.

IBM이 공급한 POWER 아키텍처에, 오랜 개인용 컴퓨터 개발의 노하우를 가진 애플의 요구와 다양한 임베디드 프로세서 개발의 노하우를 가진 모토로라의 기술력이 합쳐져 최초의 PowerPC인 PowerPC 601이 탄생한다. 인텔 펜티엄이 CISC 아키텍처로 만들어진 것에 비해 RISC 아키텍처를 채용하였다. PowerPC는 601을 시작으로 4xx 시리즈 및 5xx 시리즈는 임베디드 프로세서로 전개되는 한편, 6xx 시리즈 및 7xx, 9xx 시리즈는 PC/워크스테이션용 마이크로프로세서로 전개되어 나갔다.

애플은 PowerPC 601을 CPU로 사용한 파워 매킨토시를 1994년 3월 발표하였고, 점진적으로 자사의 매킨토시 라인업에 PowerPC를 도입하기 시작하여 1997년 이행을 완료하였다. 이를 통해 PC 시장 바깥에서부터 인텔과 마이크로소프트를 포위해 나가 결국 최후에는 PC 시장까지 탈환하고 만다는, 그야말로 설욕의 위대한 계획이 실천에 옮겨졌으나, 현실은 시궁창(...) 사실, 시궁창 이라기보다는 PC 업계에서 윈텔을 엿먹이는 데 실패했을 뿐이다. IBM은 PowerPC 개발 과정에서 얻은 노하우로 POWER3를 개발하였으며, 철천지 원수(?) 마이크로소프트에도 PowerPC를 팔아먹는 데 성공하였다. 모토로라도 PowerPC 임베디드 프로세서로 짭짤한 수익을 올린 듯 한데, 뭔가 애플만 좀 거시기하게 되어 버렸다(...).

3 발전

PowerPC가 처음 등장한 때에는 뭇사람들(이라기보다는 geek)에게 큰 기대를 받았다. PC 업계의 양대 표준을 만든 IBM애플이 공동으로 하나의 아키텍처를 추진하니, IBM PC와 매킨토시가 호환되는 세상이 오게 되리라는 환상을 품었던 것이다. 물론 이후 2006년에 애플이 PowerPC를 포기하고 인텔 CPU를 탑재하면서 꿈은 이루어졌다(...).

사실은 IBM애플이 이를 위해 노력하기도 했다. 예컨대 CHRP(Common Hardware Reference Platform)를 제정한다던가 공동으로 운영체제 개발에 나서는 등(텔레전트, 핑크...)의 시도를 했다. 그러나 IBM의 사정도 있고 윈도 95의 폭격에 애플이 풍비박산 나기도 해서 그냥 흐지부지... 망했어요 IBM은 90년대 중반부터 하드웨어 업체에서 서비스 업체로 변모하려는 몸부림을 치기 시작했기 때문에 IBM이 PowerPC나 그 관련 하드웨어 '나부랭이'에 쏟아부을 여력이 없었다는 점이 문제였다. 그래서 PowerPC용 OS/2는 베타 버전에서 개발이 중단되는 사태를 맞기도 했다. (P2P를 돌다 보면 전설의 PowerPC용 OS/2 이미지 파일이 돌아다니기도 한다.) 애플은 일단은 CHRP를 채택하고 이를 기반으로 매킨토시 호환 기종을 만들긴 했다. 그러나 여러 가지 사정으로 Mac OS 이외의 운영체제는 설치할 수 없도록 되어 있었으며, 결국 스티브 잡스는 매킨토시 호환 기종 프로그램을 중단시켜 버렸다.

마이크로소프트도 "허걱, AIM(Apple, IBM, Motorola)이 이를 갈고 PowerPC를 만들었다. 지원 안 하면 우리 X되는 거 아님?"하고 PowerPC용 Windows NT를 개발했으나 결국 "ㅋㅋ 그럴 줄 알았지."하며 4.0을 끝으로 PowerPC 지원을 중단했다. 그러면서도 MMX 채용 마이크로프로세서를 윈도 95 출시 전에 내놓으려는 인텔에게 "님들하 MMX같은 거 만들어서 Windows 95 다시 최적화 해야 되면 님들이 책임질 거임? 그딴 짓하면 우리 삐져서 앞으로 인텔용 OS는 안 만들거임."하고 경고하는 소인배적인 모습을 보인 것이 마이크로소프트였다고 한다. 그리고 인텔은 이 사실을 마이크로소프트 반독점 재판 당시 증언함으로서 복수(...) 그러나 윈도우 NT는 내부적으로 PowerPC를 비롯한 여러 아키텍처로 이식이 쉽게 설계되어 있었고, 심지어 개발 초기에는 x86과 호환성이 없는 프로세서에서 개발하기도 했다. 그 덕분에 ARM 프로세서로도 이식하기도 어렵지 않았으며, Windows RT부터 다시 RISC계 NT를 만들기 시작한다.

90년대 후반까지는 x86에 비해 성능상의 우위가 인정되는 편이었다. PowerPC 750(애플이 G3로 명명)은 저전력 소비와 고성능을 가졌다. 애플은 펜티엄2를 달팽이에 비유하거나# 방진복을 입은 인텔 엔지니어들 몸에 불이 붙는# 광고로 윈텔 진영을 조롱하는 광고를 내보내기도 했으며, CNet에서는 파워맥에 대해 게임 PC로서의 성능은 최고이지만 정작 게임이 없다(...)는 요지의 기사를 내기도 했다. 그래도 스타는 있었다

무서운 점은 모토로라와 애플이 성능이 상대적으로 떨어지는 PowerPC 603의 부동소수점 유닛을 개선해서 750에 싣기로 했음에도 불구하고 동시대 인텔 마이크로프로세서에 비해 성능이 좋았다는 점이다. (한 손가락이면 충분히 대적할 수 있다...는 것인가.) 그리고 액체 질소 속에서 최초로 1GHz의 벽을 넘은 CPU도 PowerPC 750이다. 문제는 그 뒤에 IBM이 손을 놓아버렸는지 상온에서 1GHz를 넘은 CPU는 그 뒤의 MPC74XX 시리즈(G4)였다. 그리고 2000년대 펜티엄 4가 클럭을 1GHz를 시작으로 3.8GHz까지 끌어올리자, 컴덕후들이 "나도, 나도 오버클럭할테야!" 하면서 액화질소, 드라이아이스 등을 때려부으며 7GHz를 넘겼다.(...)

PowerPC 970(PowerPC G5)부터는 완전한 64비트 마이크로프로세서가 되었다. 그리고 애플은 이를 장착한 파워맥 G5를 세계 최초의 64비트 데스크탑 PC라는 이름으로 마케팅하였다. x86 계열 마이크로프로세서들이 64비트화 되면서 기존 32비트 응용 프로그램들의 퍼포먼스 저하가 문제가 되었으나, PowerPC는 최초 개발 시부터 64비트화를 염두에 두어서 퍼포먼스 저하가 발생하지 않았다. 하지만 G5의 발열은 너무도 심각해서 지금의 맥 프로 위치인 파워맥 G5에만 G5를 장착했고 그마저도 수랭식 쿨러를 탑재해서 내놓았다.

4 SIMD: AltiVec 또는 Velocity Engine 또는 VMX

한편, MMX의 등장으로 애플은 PowerPC에서도 그에 상응하는 무언가를 원했다. 당연히 IBM은 SIMD 같은 사도(...)에는 관심이 없었고, 모토로라의 MPC7400에서야 AltiVec(애플은 Velocity Engine으로 부름)을 통해 드디어 그것을 손에 넣었는데... "이걸로 게임기용 마이크로프로세서 만들어서 재미 좀 봐야겠음 ㅋㅋ"하며 IBM이 VMX라는 이름으로 스윽 가져가 게임큐브용 CPU를 개발하는 데 잘 써먹었다(...). 같은 기술인데도 3사에서 제각각 다른 이름으로 부르는 이유는, AltiVec이라는 상표에 대해서 사용료를 지불하지 않으려는 애플과 IBM의 고뇌의 흔적이다. AIM 동맹이 성립하던 때부터 PowerPC에서 파생되거나 관련된 여러 기술과 관련해서는 각사가 소유권을 가지는 것으로 되어 있기 때문이다. 처음부터 콩가루 동맹이었던 듯.

그래서 맥 개발자들은 열심히 자신들의 소프트웨어를 AltiVec에 최적화 시켜 두었다. SIMD 명령을 소프트웨어에 사용하려면 여러 데이터를 동시에 처리할 수 있도록 최적화해야 하는데, 아키텍처마다 지원하는 기능이 다르기 때문에 좀 노가다성이 있다. 그러나 스티브 잡스는 모바일용 마이크로프로세서 따위에는 관심이 없고 오직 크고 아름다운 그리고 뜨거운 것만 사랑하는 IBM에게 질려 버린다. 스티브 잡스가 스컬리 때문에 삐져서 PPC를 버렸다는 말은 근거가 없다. 애초에 G4 때부터 PowerPC 프로세서는 발열 문제가 살짝 있었으며 이때는 그래도 넘어갈 수는 있었는데, 치를 떨게 했던 90nm의 누전 및 발열에 G5도 걸려들어서 버틸 수가 없게 되었다. 거기다 잡스는 소음 때문에 쿨러를 저속으로 돌리므로 결국 노트북에는 PowerPC G5 칩을 못 넣었다. 같이 90nm으로 고전하던 인텔은 과감하게 다음 분기 전에 65nm 공정을 제안하였고 인텔로 이주하게 된다. IBM은 당시도 자체적으로 중대형 서버 쪽에 쓸 궁리를 했기에 그렇게 다급하지 않았던 공정을 제때 제시하지 못한 탓이 크다. 거기다가 AIM 동맹의 대부분은 존 스컬리보다는 마이클 스핀들러가 이뤄낸 거다 (...) 후계자의 후계자도 증오하는 스티브 잡스 그래서 맥에 인텔 칩을 장착하는 결정을 내려버렸고, 개발자들은 기껏 AltiVec에 최적화 했는데 다시 MMX와 SSE로 최적화하는 눈물의 삽질을 해야 했다는 가슴 아픈 전설이 전해 내려온다.

5 닌텐도 가정용 게임기에서의 CPU

파워맥은 '게임PC로는 최고지만 게임이 없다.'는 비아냥을 듣기도 했다. 이와 같은 평을 그대로 듣고 혹평 속에 사라져 버린 게임기가 바로 애플 피핀이다. 피핀은 파워PC 603을 사용했고, 맥 OS의 임베디드 버전을 탑재한 사실상의 게임기 버전 매킨토시였다. 하지만 과연 그 평가는 틀리지 않았는지, 7세대 게임기는 모두 IBMCPU로 천하통일되었다. 역시 저전력+고성능 이라는 점이 게임기에 딱 맞았던 듯.

  • 게임큐브 : PowerPC 베이스 Gecko 486MHz
  • Wii : PowerPC 베이스 BroadWay 728MHz
  • Wii U : PowerPC 베이스 Espresso 1.24GHz 트리플코어 CPU

사실 이런 상황이 벌어진 배경에는 뒷얘기가 있다. 우선 인텔엑스박스로 생각보다 재미를 보지 못해서 콘솔CPU를 공급하는 사업을 자신들의 벌이에 비해 탐탁치 않은 수준으로 보았다.[1] 게임기는 몇 년마다 몇천만개 남짓 팔리지만 PC용 CPU는 잘 팔리면 한 달에 그만큼 팔리기 때문이다. 더욱이 플레이스테이션 3엑스박스 360이 설계되던 당시에 인텔의 주력 CPU는 프레스캇이나 펜티엄 D였고, 콘로가 출시되는 2006년 7월 이전까지 AMD에 비해 떨어지는 자사 CPU의 성능을 끌어 올려 역전하는 데 고심하는 상태였다. 때문에 다른 사람들이 사용할 커스텀 CPU를 설계하고 생산해 줄 여유가 없었다고 한다. 그런 상황에서 어느 정도 성능이 보장되는 CPU를 보유하고, 자체 팹이 있어 원활한 생산도 가능하며, 고객의 요구에 따라 설계와 개조까지 해줄 회사는 당시에는 IBM밖에 없었던 것이다.

세가드림캐스트 발매 초기에 CPU 제조사인 히타치가 CPU를 제대로 공급하지 못했다. 그래서 드림캐스트가 초기 판매에 큰 타격을 입고 판매에도 찬물이 뿌려진 건 이미 유명한 얘기이다. 마이크로소프트는 이런 전례를 의식했을 것이다. 나쁘게 말하면 인텔이 버린 걸 주워 먹은 형국이지만, 어찌되었든 저 세 가지 조건에 부합하는 멀쩡한 회사가 당시 IBM밖에 없었으니 이렇게 되었다는 얘기가 있다.

우선 2012년 현재 차세대기의 첫 스타트를 끊은 Wii U는 여전히 PowerPC 계열의 CPU가 사용되었다. 그러나 PS4XBOX ONE은 1세대 엑스박스 이후로 오랜만에 AMDx86-64 계열 CPU가 탑재되어 나왔다. 때문에 Wii U의 서드파티들이 줄줄이 떨어져 나가는 중... 지못미. 이론상 x86 아키텍처 게임 하나만 개발하고 상대적으로 간단한 최적화 과정만 거치면 PC를 포함한 세 가지 플랫폼에 동시 발매도 가능하다. PowerPC 기반인 Wii U는 따로 개발해야 하는 수고를 거쳐야 하므로 서드파티들이 주저하는 것. 물론 Wii U의 판매량이 신통찮은 이유가 더 크지만... NVIDIA닌텐도 스위치Tegra APU를 공급할 거란 이야기가 있어 닌텐도 스위치도 IBM을 떠나 ARM계열로 갈 가능성이 생겼다.
  1. 당시 1세대 엑스박스의 성능은 6세 콘솔들 중에서 가장 뛰어났다. 엑스박스에 탑재된 CPU가 당시 기준으로 높은 성능을 보여주던 2세대 펜티엄 3 코퍼마인의 커스텀 버전이었다. 그러나 엑스박스는 플레이스테이션 2에게 타이틀 라인 업에서 밀려 그리 좋은 판매량을 기록하지는 못하였다.