간만에 구글 리더를 뒤적이다가 소니에서 PS4가 나온다는 글을 봤습니다. @0@)-b 예전에 PS3에서는 Cell Processor를 달고 나와서 세간의 관심을 모았었는데, 이번에 PS4에서 AMD 코어를 달고나온다는 이야기를 듣고 사실 조금 실망했습니다. ^^;;;; 뭐랄까요... 다음 버전의 PS가 나온다면 Cell Processor를 좀더 발전시켜 나올 줄 알았거든요. ^^;;;


아래는 공개된 PS4의 SPEC입니다(출처는 http://www.expertreviews.co.uk/games/1298257/ps4-price-release-date-controller-specs-news 입니다. ^^;;;)


Main Processor:

Single-chip custom processor

CPU: x86-64 AMD 'Jaguar' 8 cores 

GPU: 1.84 TFLOPS, AMD next-generation Radeon™ based graphics engine


Memory:

GDDR5 8GB


Hard Disk Drive: 

Built-in


Optical Drive (read only):

BD 6xCAV 

DVD 8xCAV


I/O and communication: 

Super-Speed USB (USB 3.0)

AUX 

Ethernet (10BASE-T, 100BASE-TX, 1000BASE-T)

IEEE 802.11 b/g/n

Bluetooth® 2.1 (EDR)


AV output:

HDMI

Analog-AV out

Digital Output (optical)


와아... 이렇게 놓고보니 마이크로소프트의 Xbox랑 차이를 잘 모르겠군요. Cell Processor를 제대로 활용하는게 쉽지 않았나하는 생각과 함께, 이제 PC랑 아키텍쳐가 같아졌으니 PC 버전과 PS4 버전을 동시에 출시할 수 있는 SDK를 제공해서 개발사를 끌어 모으려는 전략인가하는 생각도 드네요. ㅎㅎ 마이크로소프트처럼 말이죠. ^^;;;


예전에 Cell Processor에 대한 글(http://kkamagui.tistory.com/425)도 살짝 썼었는데, 왠지 좋은 프로세서가 역사 속으로 사라지는 것 같아서 아쉬운 마음이 드네요. ㅎㅎ


그럼 다들 좋은 밤 되시길~~

 화요일쯤에 RSS를 돌다가 재미있는 글을 찍어놨는데, 오늘에야 겨우 읽어봤습니다.Cell Processor를 제대로 활용하기 위해서 프로그래밍을 어떻게 해야하는가에 대한 내용을 간략하게 설명해 놓은 글인데, 원문은 http://www.ddj.com/hpc-high-performance-computing/197801624 에서 볼 수 있습니다.
사용자 삽입 이미지

Mercury사에서 팔고있는 PCI Cell Accelerator Board


 PS3에 사용된 Processor가 Cell Processor인 관계로 한번쯤은 다들 들어보셨을 것이라 생각합니다. 저도 "엄청난 성능을 내는 괴물" 정도로 생각하고 있었는데, 찾아보니 자세한 Spec이 나오더군요(Spec은 http://www.mc.com/uploadedfiles/Cell_accelerator_board.pdf 에서 볼 수 있습니다). 문서를 보면 총 9개의 Processor와 그것들을 연결해 주는 Bus로 구성된다는 것을 알 수 있습니다.

* The Power™ processing element (PPE) has dual hardware multithreading and a standard VMX vector processing engine. It has separate 32 KB L1 data and instruction caches and 512 KB of L2
cache. The processing power of the PPE is in addition to the 180 GFLOPS from the SPE array.
* In the array of eight synergistic processing elements (SPEs), each has a dual-issue pipeline, a 128-bit-wide vector processing engine, a very large register set (128 registers, each 128 bits wide), and 256 KB of local store (LS). Each SPE accesses system memory via its memory flow controller (MFC), which is a high-performance
DMA engine.
* A high-speed data ring called the element interconnect bus (EIB) consists of two pairs of counter-rotating rings with a sustained aggregate bandwidth of 180 GB/s.

 좀 복잡한 구조를 가지고 있는 듯 한데, 아래의 블럭 다이어그램을 보시면 이해하는데 도움이 되실겁니다.
사용자 삽입 이미지

 원문에서는 BFS(Breath First Search)를 예로 들어 Cell Processor Programming에 대해서 설명하고 있습니다. 각 Processor에 Branch를 어떻게 할당하며, 공유된 Memory에 접근은 어떻게 하는가 등등에 대한 내용이더군요. 간단히 아래와 같이 요약하면 아래와 같습니다.

1. SPELocal Storage를 잘 이용하고
2. DMADouble Buffering을 이용해서 Data Transfer Time을 줄이며
3. Data Structure를 효율적으로 구성하라

 원문을 잘 찾아보면 IBM에서 제공하는 Cell Processor SDK의 링크도 찾아볼 수 있는데, Simulator도 포함하고 있다니 관심있으신 분은 환경을 구성해 보는 것도 좋을 듯 합니다(http://www-128.ibm.com/developerworks/power/cell/downloads.html?S_TACT=105AGX16&S_CMP=LP).

 Cell Processor가 좋긴 하지만, 병렬 처리(Parallel Processing)를 위한 Overhead가 있어서 좀 꺼려집니다. 하지만 Performance가 무엇보다 중요하다면 Cell Processor는 좋은 대안이 될 수 있을 것 같습니다. 무시무시한 성능을 낸다고 하니 나중에 시간나면 보드라도 하나 구매해야겠습니다. ^^;;;

 그럼 다들 좋은밤 되시길~ ;)


+ Recent posts