In order to develop high performance computer systems efficiently, environments to evaluate architectural ideas are required. Software environments such as simulators are very flexible, and thus often used. On the other hand, if the target hardware is complex and large, it is very hard to finish the simulation in practical time because of software's slow simulation speed. Thus, we develop a hardware environment for efficient evaluation of computer systems. We propose and develop an IBM PC Compatible SoC on an FPGA where hardware developers can evaluate their custom architectures. The SoC has an x86 soft core processor which can run general purpose operating systems. By making the proposed system run on FPGAs of two major vendors, i.e. Xilinx and Altera, we believe that it can be widely adopted. Besides, the SoC can be used for learning computer systems, because of its open-source policy. In this paper, we detail the design and implementation of the proposed SoC, and verify that it accurately runs some applications. As a case study to demonstrate usability of the SoC for computer research, we implement two types of L2 caches in Verilog HDL and evaluate their performance by running the SPEC CPU2000 INT benchmark suite. Additionally, we discuss how the SoC can be used for computer education.
[1]
André Seznec.
A New Case for Skewed-Associativity
,
1997
.
[2]
Somayeh Sardashti,et al.
The gem5 simulator
,
2011,
CARN.
[3]
Hong Wang,et al.
Intel® atom™ processor core made FPGA-synthesizable
,
2009,
FPGA '09.
[4]
André Seznec,et al.
A case for two-way skewed-associative caches
,
1993,
ISCA '93.
[5]
Shih-Lien Lu,et al.
An FPGA-based Pentium® in a complete desktop system
,
2007,
FPGA '07.
[6]
Xiang Zou,et al.
Intel nehalem processor core made FPGA synthesizable
,
2010,
FPGA.
[7]
Hao Li,et al.
FPGA prototyping of an amba-based windows-compatible SoC
,
2010,
FPGA '10.
[8]
Shunfei Chen,et al.
MARSS: A full system simulator for multicore x86 CPUs
,
2011,
2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).