Emotion 엔진

Emotion Engine
Sony Emotion Engine CPU

Emotion Engine은 PlayStation 2 비디오 게임 콘솔에서 사용하기 위해 Sony Computer Entertainment와 Toshiba가 개발하고 제조한 중앙 처리 장치입니다.또한 일본과 북미에서 판매되는 초기 PlayStation 3 모델(모델 번호 CECHAxx 및 CECHBxx)에서도 PlayStation 2 게임 지원을 위해 사용되었습니다.Emotion Engine의 양산은 1999년에 시작되어 2012년 말에 PlayStation [1]2의 단종과 함께 종료되었다.

묘사

PS2 메인보드에 탑재된 Emotion 엔진
PlayStation 2 아키텍처

Emotion Engine은 각각 특정 작업을 수행하는 8개의 개별 "유닛"으로 구성되어 있으며, 동일한 다이에 통합되어 있습니다.CPU 코어, 2개의 Vector Processing Unit(VPU; 벡터 처리 유닛), 10채널 DMA 유닛, 메모리컨트롤러 및 Image Processing Unit(IPU; 이미지 처리 유닛)이 있습니다.I/O 프로세서에 대한 입력 출력 인터페이스, 그래픽 신시사이저에 대한 그래픽 인터페이스(GIF) 및 시스템 [2]메모리에 대한 메모리 인터페이스의 세 가지 인터페이스가 있습니다.

CPU 코어는 첫 번째 VPU인0 VPU와 밀접하게 결합되어 있으며 게임 코드 및 고급 모델링 연산을 수행합니다.두 번째 VPU인 VPU는1 지오메트리 변환 및 조명 전용으로 CPU 코어와 병렬로 독립적으로 작동하며 마이크로코드에 의해 제어됩니다.VPU를0 사용하지 않을 경우 지오메트리 변환에도 사용할 수 있습니다.CPU/VPU0 및 VPU1에 의해 생성된 표시 목록은 GIF로 전송되며 GIF는 그래픽 신시사이저로 전송되기 전에 우선 순위를 부여합니다.

CPU 코어

CPU 코어는 쌍방향 슈퍼스칼라 RISC 프로세서입니다.[3]MIPS R5900을 기반으로 Sony가 개발한 커스텀명령어 세트 외에 MIPS-III 명령어 세트 아키텍처(ISA)와 MIPS-IV의 대부분을 구현합니다.이 명령어 세트는 32비트, 16비트 또는 8비트 정수로 동작합니다(SIM 32-D 패션).그 외의 경우는, 1개의 명령으로 실시합니다.정의되어 있는 순서는 다음과 같습니다.추가, 빼기, 곱하기, 나누기, 최소/최대, 시프트, 논리, 선행 제로 카운트, 128비트 로드/스토어 및 256비트에서 128비트 팬넬 시프트가 경쟁상의 이유로 Sony에 의해 기술되어 있지 않습니다.일부 오해와는 달리, 이러한 SIMD 기능은 프로세서가 "128비트"인 것에 해당하지 않습니다. 메모리 주소도 정수도 128비트도 아니고 공유 SIMD/integer 레지스터만 있기 때문입니다.비교를 위해 128비트 와이드 레지스터와 SIMD 명령어는 SSE가 도입된 1999년부터 32비트 x86 아키텍처에 존재해 왔습니다.그러나 내부 데이터 경로는 128비트 폭이었고 프로세서는 단일 레지스터에서 병렬로 4x32비트 양으로 작동할 수 있었습니다.

6단 길이의 정수 파이프라인과 15단 길이의 부동소수점 파이프라인이 있습니다.레지스터의 구색은 32개의 128비트 VLIW SIMD 레지스터(이름 지정/이름 변경), 64비트 어큐뮬레이터 1개와 64비트 범용 데이터 레지스터 2개, 16비트 고정 기능 레지스터 8개, 8비트 컨트롤러 레지스터 16개로 구성됩니다.프로세서에는 2개의 64비트 정수 ALU(128비트 Load-Store Unit(LSU; 로드스토어 유닛), Branch Execution Unit(BXU; 브랜치 이그제큐션 유닛) 및 32비트 VU1 FPU 코프로세서(MIPS 코어를 탑재한 VPU0/VPU1의 동기 컨트롤러로서 기능)도 탑재되어 있습니다.ALU는 64비트이며 32비트 FPU는 IEEE 754에 준거하지 않습니다.커스텀 명령어세트 107 MMI(멀티미디어 확장)는 2개의 64비트 정수 ALU를 그룹화하여 구현되었습니다.정수 파이프라인과 부동소수점 파이프라인은 모두 6단계입니다.

실행 유닛에 명령과 데이터를 공급하기 위해 16KB 양방향 세트 연결 명령 캐시, 8KB[4] 양방향 세트 연결 논블로킹 데이터 캐시 및 16KB 스크래치패드 RAM이 있습니다.스크래치패드 RAM이 별도의 메모리 공간에 존재하는 동안 명령 캐시와 데이터 캐시는 모두 사실상 인덱싱되고 물리적으로 태그가 지정됩니다.가상 주소를 변환하기 위해서, 복합된 더블 엔트리 명령과 데이터 변환 룩사이드 버퍼 48을 마련한다.분기 예측은 명령 캐시에 통합된 64 엔트리 분기 대상 주소 캐시 및 분기 이력 테이블에 의해 실현됩니다.브런치에서는 6단계 파이프라인이 짧기 때문에 패널티가 3주기로 잘못 예측됩니다.

벡터 처리 장치

Emotion Engine의 부동소수점 성능의 대부분은 2개의 벡터 처리 장치(VPU), 즉 VPU0과 VPU1에 의해 제공됩니다.이것들은 기본적으로 3D 수학에 맞춘 DSP이며 하드웨어 정점 셰이더 파이프라인의 선두주자입니다.각 VPU는 32개의 128비트 벡터 SIMD 레지스터(4D 벡터 데이터 보유), 16개의 16비트 고정 소수점 레지스터, 4개의 부동 소수점 다중 누적(FMAC) 유닛, 부동 소수점 분할(FDIV) 유닛 및 로컬 데이터 메모리를 갖추고 있습니다.VPU0의 데이터 메모리는 4KB이며, VPU1은 16KB의 데이터 메모리를 갖추고 있습니다.

고대역폭을 실현하기 위해 VPU의 데이터 메모리는 GIF에 직접 접속되어 양쪽 데이터 메모리를 DMA 유닛에서 직접 읽을 수 있습니다.단일 벡터 명령은 처리를 위해 4개의 단정도(32비트) FMAC 장치에 분배되는 4개의 32비트 단정도 부동소수점 값으로 구성됩니다.이 스킴은 인텔의 SSEx 확장 기능과 비슷합니다.

FMAC 장치는 1개의 명령을 실행하는 데 4개의 사이클이 소요되지만 6단계 파이프라인이 있기 때문에 사이클당 1개의 명령의 처리량이 있습니다.FDIV 장치에는 9단계 파이프라인이 있으며 7사이클마다 하나의 명령을 실행할 수 있습니다.

이미지 처리 장치(IPU)

IPU는 MPEG-2 압축 이미지 디코딩을 허용하여 DVD 및 게임 FMV 재생을 허용하고 2D 그래픽 데이터를 [5]위한 벡터 양자화도 허용했습니다.

DMA, DRAM 및 메모리 관리 유닛(MMU)

메모리 관리 유닛, RDRAM 컨트롤러 및 DMA 컨트롤러는 시스템 [5]내의 메모리 액세스를 처리합니다.

내부 데이터 버스

MIPS 코어, 2개의 VPU, GIF, 메모리컨트롤러 및 기타 유닛 간의 통신은 Emotion Engine 클럭 주파수의 절반으로 동작하는 128비트 와이드 내부 데이터 버스에 의해 처리되지만, 보다 큰 대역폭을 제공하기 위해 CPU와 VPU0 사이에 128비트 전용 경로와 VPU1과 GIF 사이에 128비트 전용 경로도 있습니다.150MHz에서 내부 데이터 버스는 이론상 최대 2.4GB/s의 대역폭을 제공합니다.

외부 인터페이스

Emotion Engine과 RAM 간의 통신은 DRDRAM(Direct Rambus Dynamic Random Access Memory)과 메모리 컨트롤러의 2개의 채널을 통해 이루어집니다.이 채널은 내부 데이터 버스에 접속합니다.각 채널의 폭은 16비트이며 400MHz DDR(Double Data Rate)로 동작합니다.DRDRAM의 2채널을 조합하면 이론상 최대 대역폭은 25.6기가비트/초(3.2GB/초)로 내부 데이터 버스보다 약 33% 더 큽니다.따라서 메모리 컨트롤러는 DRDRAM 채널에서 송신된 데이터를 버퍼링하므로 CPU에서 여분의 대역폭을 사용할 수 있습니다.

Emotion Engine은 이론상 최대 대역폭이 1.2GB/[6]s인 전용 64비트, 150MHz 버스를 통해 GIF를 통해 그래픽 신시사이저에 직접 연결됩니다.

Emotion 엔진과 IOP(Input Output Processor) 간의 통신을 제공하기 위해 입력 출력 인터페이스는 이론상 최대 대역폭 150MB/s의 32비트 폭, 37.5MHz 입력 출력 버스를 내부 데이터 버스에 연결합니다.이 인터페이스는 P-ATA 인터페이스가 내장된 네트워크 어댑터에 사용되었던 PCMCIA 확장 커넥터에 충분한 대역폭을 제공하여 보다 빠른 데이터 액세스와 온라인 기능을 제공합니다.고대역폭의 장점은 IDE HDD가 내장된 네트워크 어댑터 등의 하드웨어 확장 기능을 도입하거나 기타 확장 기능을 도입하여 경쟁 우위로 간주할 수 있다는 것입니다.그러나 슬림 에디션과 같은 최신 모델에서는 인터페이스가 PlayStation의 입력 출력 장치에 필요한 대역폭보다 훨씬 더 큰 대역폭을 제공하게 됩니다. HDD 지원이 제거되고 PCMCIA 커넥터 설계가 더 슬림한 디자인을 위해 포기되었기 때문입니다.

제조

Emotion Engine은 240mm2 [8]크기의 집적회로(IC) 다이 위에 1,350만 개의 금속 산화물 반도체([7]MOS) 트랜지스터를 포함했습니다.Sony와 Toshiba가 4단계의 상호접속을 통해 0.25µm(0.18µm 유효G L)의 상보적 금속산화물반도체(CMOS) 공정으로 제작했습니다.

패키징

Emotion Engine은 540 접촉 플라스틱그리드 어레이(PBGA)로 패키지화되었습니다.

사용하다

Emotion Engine의 주된 용도는 PlayStation 2의 CPU 역할을 하는 것이었습니다.PlayStation 3의 첫 번째 SKU는 메인보드에 Emotion Engine을 탑재하여 PlayStation 2 게임과의 하위 호환성을 실현했습니다.그러나 PlayStation 3의 두 번째 리비전은 비용을 절감하기 위해 물리적인 Emotion Engine이 부족하여 Cell Broadband Processor에 의해 실행되는 소프트웨어 에뮬레이션을 사용하여 모든 기능을 수행하였고 PlayStation 2의 하위 호환성을 달성하기 위해 여전히 존재하는 하드웨어 그래픽 신시사이저를 결합하였습니다.이후 모든 리비전에서는 그래픽 신시사이저가 제거되었지만, 플레이스테이션 2 소프트웨어 에뮬레이터는 소니 엔터테인먼트 네트워크에서 구입할 수 있는 소니의 PS2 클래식 타이틀과 함께 사용할 수 있도록 이후의 시스템 소프트웨어 리비전에서도 사용할 수 있습니다.

기술사양

이론적인 퍼포먼스

「 」를 참조해 주세요.

레퍼런스

  1. ^ Gilbert, Ben. "Sony confirms production end for PlayStation 2 worldwide". Engadget. Retrieved 23 June 2013.
  2. ^ Stokes, Jon (16 February 2000). "Sound and Vision: A Technical Overview of the Emotion Engine". Ars Technica. Archived from the original on 10 June 2018. Retrieved 9 June 2015.
  3. ^ Diefendorff, Keith (19 April 1999). "Sony's Emotionally Charged Chip" (PDF). Microprocessor Report. Vol. 13, no. 5. Archived (PDF) from the original on 25 July 2018. Retrieved 1 September 2017.
  4. ^ RAM, ROM, 플래시, 캐시 사이즈 등의 트랜지스터화 메모리와 파일 사이즈는 K(10241), M(10242), G(10243) 등의 바이너리 의미를 사용하여 특정된다.
  5. ^ a b Sporny, Many; Carper, Gray; Turner, Jonathan (2002). "The Playstation 2 Linux Kit Handbook". Free Software Foundation. Archived from the original on 18 September 2003. Retrieved 10 June 2015.
  6. ^ 디펜도르프 1999, 5페이지
  7. ^ Hennessy, John L.; Patterson, David A. (29 May 2002). Computer Architecture: A Quantitative Approach (3 ed.). Morgan Kaufmann. p. 491. ISBN 978-0-08-050252-6. Retrieved 9 April 2013.
  8. ^ Diefendorff, Keith (April 19, 1999). "Sony's Emotionally Charged Chip: Killer Floating-Point "Emotion Engine" To Power PlayStation 2000". Microprocessor Report. 13 (5). S2CID 29649747.
  9. ^ Scott, J.F. (2003). "Nano-Ferroelectrics". In Tsakalakos, Thomas; Ovid'ko, Ilya A.; Vasudevan, Asuri K. (eds.). Nanostructures: Synthesis, Functional Properties and Application. Springer Science & Business Media. pp. 583-600 (584-5, 597). ISBN 9789400710191.

레퍼런스