@inproceedings{21de34cd0dd64073b31ada366dd27796,
title = "BYOC: A {"}bring your own core{"} framework for heterogeneous-ISA research",
abstract = "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 (RISC-V 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.",
keywords = "Architecture, Heterogeneous-ISA, Manycore, Open source, RISC-V, Research platform, SPARC, X86",
author = "Jonathan Balkind and Katie Lim and Michael Schaffner and Fei Gao and Grigory Chirkov and Ang Li and Alexey Lavrov and Nguyen, {Tri M.} and Yaosheng Fu and Florian Zaruba and Kunal Gulati and Luca Benini and David Wentzlaff",
note = "Publisher Copyright: {\textcopyright} 2020 Copyright held by the owner/author(s). Publication rights licensed to ACM.; 25th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2020 ; Conference date: 16-03-2020 Through 20-03-2020",
year = "2020",
month = mar,
day = "9",
doi = "10.1145/3373376.3378479",
language = "English (US)",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
publisher = "Association for Computing Machinery",
pages = "699--714",
booktitle = "ASPLOS 2020 - 25th International Conference on Architectural Support for Programming Languages and Operating Systems",
}