일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- mobilesuit
- 슈퍼마리오
- 컨트롤러
- snes
- 앙상블
- LMD
- YS
- 오블완
- MSX
- 닌텐도 스위치
- 게임보이
- 3DS
- 티스토리챌린지
- Apple II
- 슈퍼패미컴
- Game Gear
- analogue
- ensemble
- GOG
- 건담
- 모빌슈트
- 이스
- fpga
- 메가드라이브
- ps4
- 게임기어
- PC엔진
- mister
- PSP
- 패미컴
- Today
- Total
Just a Blog
소프트웨어 에뮬레이션과 FPGA를 이용한 하드웨어 재구현의 차이에 대한 괜찮은 설명 본문
이제까지 레트로 게임을 플레이 하는 방식으로 실기를 이용하는 방식, 소프트웨어 에뮬레이터를 사용하는 방식, FPGA 재구현 기기를 사용한 방식을 사용해 왔다. 그러면서 그 사이 미묘한 차이 같은 것이 느껴지는 것 같기도 하고 아닌 것 같기도 해서, 그런 감정을 이전의 포스팅에 적기도 했다.
마침 어떤 Youtube 채널을 보다가 소프트웨어 에뮬레이션과 FPGA를 이용한 하드웨어 재구현에 대한 개념과 차이를 그래도 좀 깊게 설명하는 것 같은 영상을 하나 발견했다.
이 영상에서는 소프트웨어 에뮬레이션 방식과 FPGA를 이용한 하드웨어 에뮬레이션 방식의 기초가 설명되고 있으며, 특히 소프트웨어 에뮬레이터가 성능(performance)을 위해 정확도(accuracy)를 어떻게 희생했는지 또는 FPGA를 통한 하드웨어 재구성의 방식이 어떻게 클럭 사이클에 따른 병렬 처리에 유용한지가 잘 설명되어 있다.
더불어 이 동영상의 링크에 SNES를 cycle-accurate하게 만들기 위해서 많은 하드웨어 자원이 필요함을 설명한 내용이 있다. 요약하면 에뮬레이터를 accurate하게 만들면 만들수록 에뮬레이션이 느려지기 때문에 높은 accuracy를 가진 에뮬레이터를 만들고 구동하기 위해서는 3GHz 수준이나 되는 빠른 클럭을 가진 머신이 필요하다는 것이다. 요즘 한창 인기를 끌고 있는 저가형 모바일 에뮬레이터 게임기에서 SNES를 포함한 다양한 레트로 콘솔의 에뮬레이션을 지원하고 있지만, 실제로는 모바일 프로세서의 성능에 맞추기 위해서는 정확도를 조금 희생하고 사용자가 플레이 할 만 하다고 느끼는 수준에서 타협하여 구현되도록 할 수 밖에 없다는 결론에 다다른다.