The Game Machine
Introduction Background – The project is to create a new type of 3D game machine architecture on embedded system device. – We will discuss the plausible design of the new hardware platform and how it might be implemented. Our Job – Build an emulator to simulate hardware platform. – Figure out the future work.
Projected Timeline 1st year – Study and survey based on QEMU platform – Propose Portable and Stable Architecture – Basic Emulator Platform (QEMU-mp). 2nd year – Add New Device on Emulator Platform. – Support Basic Emulator Platform with partial devices. 3nd year – Insertion of miscellaneous devices and peripherals – Support I/O Emulation Platform
About QEMU (1) QEMU is a generic and open source machine emulator and virtualizer. QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performances.
About QEMU (2) Dynamic translation - Dynamic translators convert code as needed. - Try to spend most time executing in translation cache. - Translate basic blocks as needed. - Store translated blocks in code cache.
About QEMU (3) Memory management – QEMU uses the mmap() system call to emulate the target MMU. – QEMU also supports a software MMU. QEMU uses an address translation cache to speed up the translation. – QEMU uses a physically indexed translation cache. – When MMU mappings change, the chaining of the TBs is reset.
Reference 1.Fabrice Bellard, “QEMU a Fast and Portable Dynamic Translator” USENIX Association FREENIX Track: 2005 USENIX Annual Technical Conference 2.Erik van der Kouwe, Vrije Universiteit Amsterdam, “ Porting the QEMU virtualization software to MINIX 3”, 12 August Nathaniel Wesley Filardo, “Porting QEMU to Plan 9: QEMU Internals and Port Strategy”, September 11,