Teaching Out-of-Order Processor Design with the RISC-V ISA

Stephen A. Zekany, Jielun Tan, James A. Connolly
{"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}
引用次数: 0

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
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
用RISC-V ISA教学乱序处理器设计
我们用一个学期的项目来描述我们教授计算机体系结构本科顶点课程(和选修研究生课程)的经验,在这个项目中,五名学生组成的团队使用开源的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
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Using Logisim-evolution for Teaching Datapath and Control Digital Teaching an Embedded Systems Course by Using Simulators Digital Design and RISC-V Computer Architecture Textbook Improved Processor Design Project Testing Interactive Asynchronous Online Computer Architecture Education
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1