Font Size: a A A

FAx86: An Open-Source FPGA-Accelerated x86 Full-System Emulator

Posted on:2012-07-16Degree:M.A.ScType:Thesis
University:University of Toronto (Canada)Candidate:El Ferezli, EliasFull Text:PDF
GTID:2468390011465463Subject:Engineering
Abstract/Summary:
This thesis presents FAx86, a hardware/software full-system emulator of commodity computer systems using x86 processors. FAx86 is based upon the open-source IA-32 full-system simulator Bochs and is implemented over a single Virtex-5 FPGA. Our first prototype uses an embedded PowerPC to run the software portion of Bochs and off-loads the instruction decoding function to a low-cost hardware decoder since instruction decode was measured to be the most time consuming part of the software-only emulation. Instruction decoding for x86 architectures is non-trivial due to their variable length and instruction encoding format. The decoder requires only 3% of the total LUTs and 5% of the BRAMs of the FPGA's resources making the design feasible to replicate for many-core emulator implementations. FAx86 prototype boots Linux Debian version 2.6 and runs SPEC CPU 2006 benchmarks. FAx86 improves simulation performance over the default Bochs by 5 to 9% depending on the workload.
Keywords/Search Tags:Fax86, Full-system
Related items