NES PPU(Picture Processing Unit)는 텔레비전 수신용으로 설계된 240라인의 픽셀로 구성된 컴포지트 비디오 신호를 생성한다.
1980년대 초 패미컴 칩셋이 설계되었을 당시, 이는 비디오 게임을 위한 매우 진보한 2D 그래픽 생성기로 여겨졌다.
PPU는 자체 주소 공간을 가지며, 여기에는 일반적으로 10KB의 메모리가 포함된다.
이 공간은 게임팩에 탑재된 8KB의 ROM 또는 RAM(일반적인 매퍼를 사용하면 확장 가능)에 배경 및 스프라이트 타일의 모양을 저장하고, 콘솔 내 2KB의 RAM에 한두 개의 맵을 저장하는 데 사용된다.
두 개의 분리된 더 작은 주소 공간에는 여러 인덱스에 연결된 색상을 제어하는 팔레트와, 스프라이트(독립적으로 움직이는 객체)의 위치, 방향, 모양, 색상 정보를 저장하는 OAM(Object Attribute Memory)이 존재한다. 이들은 PPU 내부에 있으며, 팔레트는 정적 메모리로 구성된 반면 OAM은 동적 메모리를 사용한다.(PPU가 렌더링을 멈추면 데이터가 서서히 소실됨)
PPU 레지스터
PPU 패턴 테이블(타일 그래픽)
PPU 네임테이블
PPU Attribute table
OAM(sprite)
팔레트
메모리 맵