{"title":"LupIO: a collection of education-friendly I/O devices","authors":"Joël Porquet-Lupine","doi":"10.1109/WCAE53984.2021.9707145","DOIUrl":null,"url":null,"abstract":"LupIO is a comprehensive and open-source collection of education-friendly I/O devices. This collection defines the interfaces of the most common devices found in modern RISC-based computers, and makes it possible to build complete systems using only LupIO devices, even complex multicore systems. Each device interface is designed to be simple and clear, with an optimal balance between features and complexity. The register maps exposed by the devices are neatly organized by type and arranged consistently across devices. Developing implementations of LupIO devices, as well as corresponding device drivers, is meant to be straightforward and accessible to students at the undergraduate and graduate level. As a proof of concept, LupIO was entirely implemented as virtual devices in QEMU, along with corresponding device drivers in Linux, and we were able to successfully boot a RISC-V based dual-core virtual machine. The specifications are available at https://gitlab.com/luplab/lupio. CCS CONCEPTS • Computer systems organization $\\rightarrow$ Architectures; •Applied computing $\\rightarrow$ Education. ACM Reference Format:Joël Porquet-Lupine. 2021. LupIO: a collection of education-friendly I/O devices. In Proceedings of Workshop on Computer Architecture Education (WCAE’21). ACM, New York, NY, USA, 8 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn","PeriodicalId":186301,"journal":{"name":"2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCAE53984.2021.9707145","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
LupIO is a comprehensive and open-source collection of education-friendly I/O devices. This collection defines the interfaces of the most common devices found in modern RISC-based computers, and makes it possible to build complete systems using only LupIO devices, even complex multicore systems. Each device interface is designed to be simple and clear, with an optimal balance between features and complexity. The register maps exposed by the devices are neatly organized by type and arranged consistently across devices. Developing implementations of LupIO devices, as well as corresponding device drivers, is meant to be straightforward and accessible to students at the undergraduate and graduate level. As a proof of concept, LupIO was entirely implemented as virtual devices in QEMU, along with corresponding device drivers in Linux, and we were able to successfully boot a RISC-V based dual-core virtual machine. The specifications are available at https://gitlab.com/luplab/lupio. CCS CONCEPTS • Computer systems organization $\rightarrow$ Architectures; •Applied computing $\rightarrow$ Education. ACM Reference Format:Joël Porquet-Lupine. 2021. LupIO: a collection of education-friendly I/O devices. In Proceedings of Workshop on Computer Architecture Education (WCAE’21). ACM, New York, NY, USA, 8 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn