BYOC: A "Bring Your Own Core" Framework for Heterogeneous-ISA Research

Publication image

Heterogeneous architectures and heterogeneous-ISA designs are growing areas of computer architecture and system software research. Unfortunately, this line of research is significantly hindered by the lack of experimental systems and modifiable hardware frameworks. This work proposes BYOC, a "Bring Your Own Core" framework that is specifically designed to enable heterogeneous-ISA and heterogeneous system research. BYOC is an open-source hardware framework that provides a scalable cache coherence system, that includes out-of-the-box support for four different ISAs (RISCV 32-bit, RISC-V 64-bit, x86, and SPARCv9) and has been connected to ten different cores. The framework also supports multiple loosely coupled accelerators and is a fully working system supporting SMP Linux. The Transaction-Response Interface (TRI) introduced with BYOC has been specifically designed to make it easy to add in new cores with new ISAs and memory interfaces. This work demonstrates multiple multi-ISA designs running on FPGA and characterises the communication costs. This work describes many of the architectural design trade-offs for building such a flexible system. BYOC is well suited to be the premiere platform for heterogeneous-ISA architecture, system software, and compiler research.

Authors

Jonathan Balkind (Princeton University)
Katie Lim (University of Washington)
Michael Schaffner (ETH Zürich)
Fei Gao (Princeton University)
Grigory Chirkov (Princeton University)
Ang Li (Princeton University)
Alexey Lavrov (Princeton University)
Tri M. Nguyen (Harvard Medical School)
Florian Zaruba (ETH Zürich)
Kunal Gulati (BITS Pilani)
Luca Benini (ETH Zürich)
David Wentzlaf (Princeton University)

Publication Date

Research Area

Uploaded Files