Just a Blog

소프트웨어 에뮬레이션과 FPGA를 이용한 하드웨어 재구현의 차이에 대한 괜찮은 설명 본문

Game

소프트웨어 에뮬레이션과 FPGA를 이용한 하드웨어 재구현의 차이에 대한 괜찮은 설명

wehong 2023. 12. 20. 18:58

이제까지 레트로 게임을 플레이 하는 방식으로 실기를 이용하는 방식, 소프트웨어 에뮬레이터를 사용하는 방식, FPGA 재구현 기기를 사용한 방식을 사용해 왔다. 그러면서 그 사이 미묘한 차이 같은 것이 느껴지는 것 같기도 하고 아닌 것 같기도 해서, 그런 감정을 이전의 포스팅에 적기도 했다.

 

레트로 게임, 에뮬레이션과 실기 구동 사이...

Mega Sg 구매 글에서, 에뮬레이터 대신 실기 또는 실기에 버금가는 환경에서 게임을 구동하고자 한 이유를 조금 더 자세히 소개하겠다고 밝힌 바 있다. 사실 이에 대한 글은 이전부터 작성하고 있

wehong.tistory.com

 

마침 어떤 Youtube 채널을 보다가 소프트웨어 에뮬레이션과 FPGA를 이용한 하드웨어 재구현에 대한 개념과 차이를 그래도 좀 깊게 설명하는 것 같은 영상을 하나 발견했다.

이 영상에서는 소프트웨어 에뮬레이션 방식과 FPGA를 이용한 하드웨어 에뮬레이션 방식의 기초가 설명되고 있으며, 특히 소프트웨어 에뮬레이터가 성능(performance)을 위해 정확도(accuracy)를 어떻게 희생했는지 또는 FPGA를 통한 하드웨어 재구성의 방식이 어떻게 클럭 사이클에 따른 병렬 처리에 유용한지가 잘 설명되어 있다.

 

더불어 이 동영상의 링크에 SNES를 cycle-accurate하게 만들기 위해서 많은 하드웨어 자원이 필요함을 설명한 내용이 있다. 요약하면 에뮬레이터를 accurate하게 만들면 만들수록 에뮬레이션이 느려지기 때문에 높은 accuracy를 가진 에뮬레이터를 만들고 구동하기 위해서는 3GHz 수준이나 되는 빠른 클럭을 가진 머신이 필요하다는 것이다. 요즘 한창 인기를 끌고 있는 저가형 모바일 에뮬레이터 게임기에서 SNES를 포함한 다양한 레트로 콘솔의 에뮬레이션을 지원하고 있지만, 실제로는 모바일 프로세서의 성능에 맞추기 위해서는 정확도를 조금 희생하고 사용자가 플레이 할 만 하다고 느끼는 수준에서 타협하여 구현되도록 할 수 밖에 없다는 결론에 다다른다.

 

Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator

How can it take 3GHz to emulate a Super Nintendo? The man behind a major SNES …

arstechnica.com

 

Comments