WDC 65816

위키백과, 우리 모두의 백과사전.

WDC 65816(65C816)는 웨스턴 디자인 센터(Western Design Center)에서 개발한 16비트 CPUMOS 6502와 호환성이 있다. 65816의 65는 6502와의 호환성을 말하며 816은 8비트와 16비트 모드에서 동작한다는 의미이다.

6502와 비교해 주소 버스가 24비트로 16M의 메모리(64KB×256뱅크)를 액세스할 수 있으며 어큐뮬레이터(accumulator), 인덱스 레지스터(index register), 스택 포인터(stack pointer)가 16비트에 확장되었다. 또 에뮬레이션 모드에서는 6502를 에뮬레이트 할 수 있다.

1980년대 중반에서 1990년대 초반까지 GTE산요 등의 세컨드 소스에서 65816을 판매하고 있었으며 2006년에도 WDC에서 판매되고 있다. 또 윈본드(Winbond)의 W55V 9x 시리즈는 일부 시스템에서 IP코어로 사용되고 있다.

WDC의 창설자이며 CEO인 Bill Mensch가 1982년 애플 컴퓨터의 고문을 맡은 후 개발을 시작하여 프로세서의 대부분을 혼자 설계했으며 그를 도와준 사람은 레이아웃을 담당한 여동생 캐서린뿐이었다. 1984년 3월 개발을 완료해 애플과 아타리에 샘플을 보냈다.

CPU의 특징[편집]

아래에는 65C816S의 기능이 나열되어 있다. (S = 스태틱 코어)

  • 스태틱 CMOS 설계로 저전력소비(1MHz당 300μA)와 노이즈 감소
  • 폭넓은 전압에서 작동 가능 (1.8V±5% ,2.5V±5% ,3.0V±5% ,3.3V±10% ,5.0V±5%에 대응)
  • 에뮬레이션 모드로 6502와 하드웨어나 소프트웨어에서 완벽한 호환 가능
  • 24비트 어드레스 버스로 16MB의 메모리를 액세스 가능
  • 16비트 ALU, 어큐뮬레이터(accumulator), 스택 포인터(stack pointer), 인덱스 레지스터(index register)
  • 듀얼 캐시와 DMA 구현을 위한 VDA(Valid Data Address)와 VPA(Valid Program Address) 출력
  • 인터럽크 벡터가 어드레스될 때 VPB(Vector Pull) 출력
  • 프로세서의 버스 에러 상태 복구를 위한 Abort(ABORTB) 입력
  • 프로그램과 데이터뱅크 레지스터의 분리로 프로그램의 세그멘테이션(segmentation) 또는 16MB의 완전한 리니어 어드레싱이 가능
  • 다이렉트 레지스터와 스택 상대 어드레싱으로 reentrant, recursive, re-locatable 프로그래밍이 가능
  • 24개의 어드레싱 모드 - 256 op코드를 이용한 92개의 명령어로 13개의 6502호환모드 지원(WDC 65C02에 새로운 op코드가 포함되어 있음)
  • WAI(Wait-for-Interrupt)과 STP(Stop-the-Clock)명령어는 소비 전력과 인터럽트 레이턴시를 줄이며 외부 이벤트 동기를 지원
  • COP(Co-Processor) 명령어는 코프로세서의 구성(부동소수점 프로세서)을 지원
  • 블록 이동 기능

65802[편집]

WDC 65802(65C802)는 6502와 완벽한 핀 호환의 65816 CPU로 1980년 중후반부터 1990년 초에 걸쳐서 WDC과 GTE에서 생산되었다.

이 칩은 8비트의 6502/65C02에서 16bit의 65812으로 업그레이드를 목적으로 설계되었다. 65802은 65816의 24비트 어드레스 버스를 6502/65C02와 같은 16비트(64KB 메모리)로 축소하였다. 65816의 모든 뱅크 선택 레지스터는 65802 코어에 남아있고, 이것들은 동작시에 작용하지 않는다. 일반적으로 하드웨어 제작자들은 설계시 보다 파워풀한 65816이 사용한다.

사용 기기[편집]

일부의 슈퍼 패미컴(Super Famicon)용 게임에서 65816호환의 닌텐도 SA-1를 사용하고 있다.

외부 링크[편집]