第六期"一生一芯"课程主页
学习目标
"一生一芯"将会培养大家的综合能力. 大家完成学习之后, 将会对以下问题有一定的认识:
- 处理器是如何设计的?
- 程序是如何在计算机上运行的?
- 如何对处理器的性能进行优化?
- 如何使用/设计正确的工具高效地进行调试?
- 如何自己编写测试用例进行单元测试?
- RTL设计如何生成可流片的版图?
我们将会引导大家设计一款RISC-V流水线处理器, 并在自己设计的处理器上运行操作系统, 在操作系统上运行真实游戏. 达成指标的处理器将可以接入到SoC, 并获得流片机会.
教学资源
时间
一栏是以小时为单位的预估完成时间- 预估完成时间为
2
的内容, 一般没有相关的编程任务, 只有2小时的视频录播, 用于补充讲解相关知识 - 鉴于同学们的基础水平有高有低, 此处按照"中等水平"同学的能力来预估. 但这里的"中等水平"并不是指"程序设计课程总评80分以上", 而是指"学习心态端正, 编写过500行以上代码的单个程序, 并且懂得调试".
- 如果你是零基础的初学者, 你应该预期花费这个数字
2~3
倍的时间来完成学习. 不过你不必为此感到沮丧, 所谓"闻道有先后", 之所以其他同学学得快, 很大一部分原因是因为他们之前已经付出努力迈过了初学者的阶段.
- 预估完成时间为
- 可点击图标跳转到相应资源
- 完整的讲义可通过页面右上方导航栏查看
- 课件用reveal.js编写, 可导出为PDF文件, 具体见这里的操作
- S阶段讲义内容仍然在🕊
C
= C语言(程序/模拟器/系统软件) | R
= RISC-V指令集 | P
= 处理器设计 | T
= 工具
阶段 | 序号 | 任务 | 时间 | 讲义 | 课件 | 视频 | C | R | P | T |
---|---|---|---|---|---|---|---|---|---|---|
预学习阶段 | 如何科学地提问 | 2 | 📚 | 📰 | 🎬 | |||||
Linux系统安装和基本使用 | 10 | 📚 | 📰 | 🎬 | ||||||
计算机系统的状态机模型 | 2 | - | 📰 | 🎬 | ||||||
复习C语言 | 20 | 📚 | 📰 | 🎬 | ||||||
程序的执行和模拟器 | 2 | - | 📰 | 🎬 | ||||||
搭建verilator仿真环境 | 5 | 📚 | - | - | ||||||
数字电路基础实验 | 20 | 📚 | 📰 | 🎬 | ||||||
完成PA1 | 30 | 📚 | 📰 | 🎬 | ||||||
申请入学答辩 | ||||||||||
基础阶段 | 支持RV32IM的NEMU | 10 | 📚 | 📰 | 🎬 | |||||
程序的机器级表示(上) | 2 | - | 📰 | 🎬 | ||||||
程序的机器级表示(下) | 2 | - | 📰 | 🎬 | ||||||
用RTL实现最简单的处理器 | 5 | 📚 | - | - | ||||||
AM运行时环境 | 5 | 📚 | 📰 | 🎬 | ||||||
工具和基础设施 | 5 | - | 📰 | 🎬 | ||||||
支持RV32E的单周期NPC | 10 | 📚 | 📰 | 🎬 | ||||||
ELF文件和链接 | 2 | - | 📰 | 🎬 | ||||||
设备和输入输出 | 10 | 📚 | 📰 | 🎬 | ||||||
调试技巧 | 2 | - | 📰 | 🎬 | ||||||
异常处理和RT-Thread | 15 | 📚 | 📰 | 🎬 | ||||||
总线 | 10 | 📚 | 📰 | 🎬 | ||||||
SoC计算机系统(上) | 15 | 📚 | 📰 | 🎬 | ||||||
SoC计算机系统(下) | 15 | 📚 | 📰 | 🎬 | ||||||
性能优化和简易缓存 | 20 | 📚 | 📰 | 🎬 | ||||||
流水线处理器 | 20 | 📚 | 📰 | 🎬 | ||||||
B阶段流片准备与考核 📚 | ||||||||||
进阶阶段 | 由于时间关系, 详细的A阶段讲义无法按时发布. 我们先列出一些大纲📚, 感兴趣的同学可以按照我们给出的方向自行探索. | 0 | ||||||||
专家阶段(香山邀请报告) | 高性能处理器的性能测算基础 | 0 | - | - | 🎬 | |||||
乱序访存单元入门 | 0 | - | - | 🎬 | ||||||
香山处理器昆明湖架构前端设计 | 0 | - | - | 🎬 | ||||||
处理器乱序执行基础 | 0 | - | - | 🎬 | ||||||
缓存基础与香山缓存 | 0 | - | - | 🎬 | ||||||
总结 | 课程总结 | 0 | - | 📰 | 🎬 |
页面加载条卡住了?
跳转页面时, 如果进度条卡住 3 秒以上, 很可能是由于我们推送了网页版本更新.
鉴于我们还在频繁更新、修订文档, 近期可能会比较容易遇到跳转卡住的情况.
遇到这种情况, 只需要 刷新整个页面
即可继续学习咯
往期课程主页
其他资源
- 《RISC-V开放架构设计之道》 大卫·帕特森 安德鲁·沃特曼 著,勾凌睿 陈璐 刘志刚 译
- 《计算机系统——基于RISC-V+Linux平台》 袁春风 余子濠 陈璐 编著
- Digital Design and Computer Architecture - Spring 2023, Onur Mutlu@ETH Zurich
- 计算机体系结构 - 2023年秋季, 胡伟武、汪文祥@中国科学院大学
- 提问模板
活动记录
- 2024/07/14 - “一生一芯”2024暑期宣讲会
- 2023/08/25 - 开源芯片技术生态论坛(原“一生一芯”技术论坛)
- 2023/07/02 - 第六期“一生一芯”启动会
- 2022/11/20 - 从软件工程视角看芯片开源与敏捷设计(包云岗)
- 2022/08/28 - 第一届“一生一芯”技术论坛暨第五期启动会
- 2022/03/12 - 软硬件协同能力在芯片设计中的应用(金越, 胡博涵, 高泽宇)