计算系统综合实验
欢迎来到中国科学技术大学《计算系统综合实验》(Comprehensive Experiment of Computing System)课程主页!
课程简介
《计算系统综合实验》是中国科学技术大学计算机科学与技术系计算机系统结构选修课,于 2023 年秋季学期面向计算机科学与技术专业三、四年级本科生全新开设。
本门课程与计算机系统结构领域密切相关,旨在介绍计算机系统结构研究的一般方法,并带领学生完成一个可用的计算机系统原型。课程实验主要由硬件、软件两部分组成:
- 硬件系统:
- 处理器架构设计
- 内存总线与外设接口
- 软件系统:
- 操作系统与应用程序
- 汇编语言与编译器
计算机系统结构课程系列
- 《模拟与数字电路》:掌握数字电路设计基本知识,构建简单逻辑电路;
- 《计算机组成原理》:掌握处理器设计的思路,并实现简单流水线处理器;
- 《操作系统原理与设计》:掌握操作系统原理,理解软硬件系统交互;
- 《计算系统综合实验》:综合运用系统结构知识,设计可用片上系统;
- 《计算机体系结构》:掌握计算系统结构性能分析与调优方法。
课程信息
授课信息
- 时间:2-11 周,5(6, 7, 8, 9)
- 地点:高新校区 GT-A405
- 主讲教师:卢建良
通知交流
- 课程 QQ 群:635127986
实验代码框架
-
课程代码框架维护在 GitHub 仓库中,你可以点此访问。
-
对每一次的实验,我们都会单独给出一个目录,这个文件夹中有一个脚本
zinit.sh
,可以获取到当次实验所需的代码框架,并把需要完成的部分通过符号链接的方式链接到 Labx 目录下。 -
在每次实验开始前,你需要通过
git pull
命令来获取最新的代码框架,然后在对应目录下运行zinit.sh
脚本。
实验文档约定
以下是实验文档中的一些约定:
彩色标签约定
我是必做任务
这种框中的内容是实验必做任务。
我是选做任务
这种框中的内容是实验选做任务,完成后可以得到一定加分。
我是提示
这种框中的内容是对同学们完成实验可能有一定帮助的提示。
我是警告
这种框中的内容是对同学们可能会遇到的一些问题的警示。
我是拓展阅读
这种框中的内容为对实验文档的补充和拓展,与实验任务并非紧密相关,默认被折叠。
我是 FAQ
这种框中的内容为实验中可能会或实际上被问得很多的问题,默认被折叠。
在实验教学过程中可能会根据实际情况,随时增加新的 FAQ 内容。
代码块约定
我们约定,代码块使用如下的格式
其中的 <language>
是代码块所使用的语言,<code>
是一些代码。
特别地,对于在命令行环境下执行的命令与部分输出,我们用以下形式表示:
以 $
开头的行是执行的命令,否则为命令行的输出。
代码块中的占位符和参数
你可能已经发现,在上面的代码块中,我们使用尖括号包裹的一些内容表示代码块中的一些占位符或参数。 在自己修改、执行这些代码时,你需要将这些占位符替换为合适的内容,例如:
若你需要在自己的机器上使用 12 线程执行此命令,则需要执行 make -j 12
。
类似地,我们使用方括号包括的一些内容表示可选的占位符或参数,你可以根据实际的情况选择是否添加相应的内容。例如:
你可以根据需要决定是否添加 -std=c++14
选项或若干包含路径。
在后面的实验文档中,我们将沿用关于占位符的这些约定。 若使用到真实的尖括号与方括号,将另外说明。
鸣谢
特别感谢所有为《计算系统综合实验》课程建设付出努力、提出建议的老师和同学!部分名单如下:
- 教师团队:卢建良
- 助教团队:吕涵祺、马子睿、沈周毅
- 技术支持:付佳伟、古宜民
- 学生团队:唐灏、吴骏东