{"title":"用RISC-V ISA教学乱序处理器设计","authors":"Stephen A. Zekany, Jielun Tan, James A. Connolly","doi":"10.1109/WCAE53984.2021.9707143","DOIUrl":null,"url":null,"abstract":"We describe our experience teaching an undergraduate capstone (and elective graduate course) in computer architecture with a semester-long project in which teams of five students design and implement an out-of-order (OoO) pipelined processor core using the open-source RISC-V instruction set. The course content includes OoO scheduling algorithms for instructions to exploit instruction-level parallelism (ILP), example designs, caching, prefetching, and virtual memory. The labs and projects help students gain proficiency with the SystemVerilog language.Students use the concepts learned in class to design processors with the goals of achieving correctness and high performance for a suite of representative test programs. Using RISC-V enables students to validate and benchmark their designs by compiling test programs using GCC with a custom linker. By collaborating as a team, students learn how to write and debug a large code base over the two-month project.For computer architecture educators, we describe technical aspects of the final project and common advanced features implemented by students. We hope describing our experience serves not only to demonstrate a method of teaching modern computer architecture, but also to inspire other course designs centered around other aspects of modern computer architecture (GPUs, FPGAs, hardware/software codesign, etc). We have open-sourced our lab and project materials to enable others to teach similar courses.CCS CONCEPTS• Social and professional topics → Computer engineering education.ACM Reference Format:Stephen A. Zekany, Jielun Tan, James A. Connolly, and Ronald G. Dreslinski. 2021. Teaching Out-of-Order Processor Design with the RISC-V ISA. In ISCA Workshop on Computer Architecture Education (WCAE ’21), June 17, 2021, Virtual Event, USA. 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":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Teaching Out-of-Order Processor Design with the RISC-V ISA\",\"authors\":\"Stephen A. Zekany, Jielun Tan, James A. Connolly\",\"doi\":\"10.1109/WCAE53984.2021.9707143\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We describe our experience teaching an undergraduate capstone (and elective graduate course) in computer architecture with a semester-long project in which teams of five students design and implement an out-of-order (OoO) pipelined processor core using the open-source RISC-V instruction set. The course content includes OoO scheduling algorithms for instructions to exploit instruction-level parallelism (ILP), example designs, caching, prefetching, and virtual memory. The labs and projects help students gain proficiency with the SystemVerilog language.Students use the concepts learned in class to design processors with the goals of achieving correctness and high performance for a suite of representative test programs. Using RISC-V enables students to validate and benchmark their designs by compiling test programs using GCC with a custom linker. By collaborating as a team, students learn how to write and debug a large code base over the two-month project.For computer architecture educators, we describe technical aspects of the final project and common advanced features implemented by students. We hope describing our experience serves not only to demonstrate a method of teaching modern computer architecture, but also to inspire other course designs centered around other aspects of modern computer architecture (GPUs, FPGAs, hardware/software codesign, etc). We have open-sourced our lab and project materials to enable others to teach similar courses.CCS CONCEPTS• Social and professional topics → Computer engineering education.ACM Reference Format:Stephen A. Zekany, Jielun Tan, James A. Connolly, and Ronald G. Dreslinski. 2021. Teaching Out-of-Order Processor Design with the RISC-V ISA. In ISCA Workshop on Computer Architecture Education (WCAE ’21), June 17, 2021, Virtual Event, USA. 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\":\"8 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.9707143\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCAE53984.2021.9707143","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
我们用一个学期的项目来描述我们教授计算机体系结构本科顶点课程(和选修研究生课程)的经验,在这个项目中,五名学生组成的团队使用开源的RISC-V指令集设计和实现了一个无序(OoO)流水线处理器核心。课程内容包括利用指令级并行性(ILP)的OoO指令调度算法、示例设计、缓存、预取和虚拟内存。这些实验室和项目帮助学生熟练掌握SystemVerilog语言。学生使用在课堂上学到的概念来设计处理器,以实现一套代表性测试程序的正确性和高性能。使用RISC-V使学生能够通过使用带有自定义链接器的GCC编译测试程序来验证和基准测试他们的设计。通过作为一个团队合作,学生将在两个月的项目中学习如何编写和调试大型代码库。对于计算机体系结构教育者,我们描述了最终项目的技术方面和学生实现的常见高级功能。我们希望描述我们的经验不仅可以展示一种教授现代计算机体系结构的方法,还可以启发围绕现代计算机体系结构(gpu, fpga,硬件/软件协同设计等)的其他方面的课程设计。我们已经开源了我们的实验和项目材料,使其他人能够教授类似的课程。•社会和专业主题→计算机工程教育。ACM参考格式:Stephen A. Zekany, Jielun Tan, James A. Connolly和Ronald G. Dreslinski。2021。用RISC-V ISA教学乱序处理器设计。在ISCA计算机体系结构教育研讨会(WCAE ' 21), 2021年6月17日,虚拟事件,美国。ACM,纽约,美国,8页。https://doi.org/10.1145/nnnnnnn.nnnnnnn
Teaching Out-of-Order Processor Design with the RISC-V ISA
We describe our experience teaching an undergraduate capstone (and elective graduate course) in computer architecture with a semester-long project in which teams of five students design and implement an out-of-order (OoO) pipelined processor core using the open-source RISC-V instruction set. The course content includes OoO scheduling algorithms for instructions to exploit instruction-level parallelism (ILP), example designs, caching, prefetching, and virtual memory. The labs and projects help students gain proficiency with the SystemVerilog language.Students use the concepts learned in class to design processors with the goals of achieving correctness and high performance for a suite of representative test programs. Using RISC-V enables students to validate and benchmark their designs by compiling test programs using GCC with a custom linker. By collaborating as a team, students learn how to write and debug a large code base over the two-month project.For computer architecture educators, we describe technical aspects of the final project and common advanced features implemented by students. We hope describing our experience serves not only to demonstrate a method of teaching modern computer architecture, but also to inspire other course designs centered around other aspects of modern computer architecture (GPUs, FPGAs, hardware/software codesign, etc). We have open-sourced our lab and project materials to enable others to teach similar courses.CCS CONCEPTS• Social and professional topics → Computer engineering education.ACM Reference Format:Stephen A. Zekany, Jielun Tan, James A. Connolly, and Ronald G. Dreslinski. 2021. Teaching Out-of-Order Processor Design with the RISC-V ISA. In ISCA Workshop on Computer Architecture Education (WCAE ’21), June 17, 2021, Virtual Event, USA. ACM, New York, NY, USA, 8 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn