写在前面
这个周末,本文作者恰逢全国数学建模竞赛、广工新生学长迎接新同学、大创项目进展汇报等事务,因此匆匆忙忙写下此篇,如有不当之处,或属 玩乐过度 精神不够导致,请读者谅解。
对于课程的理解
1 翻书感想
殚精竭虑,终于在凌晨之前大致翻完了一些概念性的问题。本课程主要详细论述了数据表示、寻址技术、指令系统、存储系统、中断系统、输入输出系统、标量处理机、向量处理机、互联网络、并行处理机和多处理机等[1]内容。教材从一个全面的角度讲解计算机系统结构的基本原理,也有一定的应用。
2 讨论感想
由于本课程面对广工IC班,开设此课必然有其道理。与同窗讨论并咨询了熊老师后我们大致有个印象:若是没有本课作为设计芯片的硬件基础,我们 根本上 可能连指令集、储存是什么都不知道。当然,现在我们也是一片空白,什么都不知道。我们也向班主任抱怨过谢老师这样的安排 确实 或许有点欠妥。但这样做的优点也是显而易见的,对于一些 像我这样 喜欢斟酌的学生而言,这样可以从总体上把控课程,而不至于每节课都处于一种云里雾里的状态。
关于最终课程设计
1 相关调查
- 1 往届师兄
由于多数同学就如无头苍蝇一般,因而本文认为,找往届师兄因为没有师姐联系方式了解过往的情况,他们应该不是和老师达成了某种协议,而是往届确是没有这样最终课设的形式进行教学。 - 2 相关文献
由于时间有限,本文参考文献不多,但了解了一些现状。国内课程设计相关教学电子科技大学做得比较充分,而又由于条件限制(主要是硬件进行试验成本比较高)所以实验又可与模拟软件相结合。
2 课程设计构想
- 1 面向人工智能系统相关
① 由于当今社会发展,人们的生活必然愈发简便。人工智能是一个大方向,本课程学习完毕后学生也应具备理解和掌握计算机系统的由软硬件实现的不同和它们之间的相关性,能够从系统的、全面的角度来综合分析、解决和思考问题[2]的能力。因此本课程的课程设计可在此方向进行,可对其进行调研得出一份报告,例如包括人工智能技术在计算机体系结构设计和分析中的应用,和面向人工智能计算机的系统结构等内容。
② 人工智能高速发展背景下,相关实践技能的掌握也尤为重要。因此,也可以通过设计课程实验,使得学生对课程有兴趣,也掌握系统设计、分析方法和实现技术知识点。此也不失为一个良策。在本课程教材末尾就有实验设计[1]的相关内容,当然老师也可设计较为有趣的实验作为课设。 - 2 对于本门课程的最终理解相关
由于广工IC班的同学来自于各个不同专业,因此大学本科前两年所学习的基础知识多不相同。这在营造了一个百花齐放的学习氛围的同时也造成了一个问题:对于同一门课程的理解,不同专业的同学接受程度不一样。因此,本门课程繁杂而系统化,既可作为本科教材也可作为研究生参考书籍,最终课程设计写一份详细的课程理解性报告也大有意义。或者是另一种方式,对本课程的细节之处进行挖掘并深入分析,其形式例如自行整理课程知识要点、浅述计算机系统结构的发展现状和发展趋势[3]等,可灵活处理。其本意都一样:加深理解课程知识。但缺少动手实践,课程掌握程度也是因人而异。 - 3 模拟实验的设计
计算机系统结构技术自20世纪80年代以来,RISC指令集等的发展[4]使其性能飞速提高。而在教学方面,很多学校想开设相关实验确甚为困难,主要原因在于做相关实验的硬件复杂且成本较高,对于新手并不见得能一针见血领其要旨。因而相关模拟器得以开发,并由此对于一系列模拟器的教学实验应运而生。
例如张晨曦等人[5]基于模拟器的相关实验构想,其与传统相比有显著优势:
① 基于FPGA的硬件实验系统存在的问题
1 . 灵活性有限。
2 . 难以做系统级的实验,而在系统结构课程中,研究不同设计策略和方法尤为重要。
3 . 系统比较复杂且实验操作工作量比较大。
4 . 难以对一些方法和机制做相应的解析和讲解。
② 基于模拟器的实验系统的优势
1 . 可进行研究性实验,如上文提及之研究不同设计策略和方法。
2 . 可灵活研究之余,统计数据。
3 . 可直观解析一些算法及机制的工作原理并展示其工作过程。
4 . 可交互模拟非流水CPU和流水CPU执行指令的过程,详细地观察和展示其执行过程。 - 4 多核综合实验的设计
一个单线程控制流内的指令级并行性开发是有限的,同时还存在功耗、散热以及存储器时延等问题,导致了单核性能增长率的大幅下降,因此,微处理器并行性的开发 需要向上一个层次 ( 并发多线程) 转移,即通过在单芯片上放入多个结构相对简单的处理器来进一步提高处理器的性能[6]。
电子科技大学的叶娅兰[6]、于永斌[7]等人对计算机系统结构课程中多核试验的开设进行了相关研究,调研了大量研究现状[7]后提出一种软硬件结合的实验方式,设计实现的多核综合实验包括基于 FPGA 指令级并行的单CPU实验和Windows/Linux多核多线程编程。
该课程设计具体内容:
1 . 在 Windows 平台下,利用 Win32API、MFC 或. Net Framework 提供的接口来实现;
2 . 在 Linux 平台下,利用 IEEE POSIX 标 准定义的 API 进行多线程编程。
多核硬件的普及也带动了软件的改革,在此实验中,依据并行计算思 维来设计多核程序; 多核技术根本在于处理器基本 结构是共享存储,而多线程程序设计是能够充分挖 掘共享存储系统性能潜力的最有效技术。从而主要解决原有实验中存在的问题和不足。
3 Markdown 使用感想
1 相对于Latex
刚结束建模,由于国赛排版要求不高,表述清楚即可,反而没用上Latex进行排版。而从前打过美赛,用的正是Latex,所以有相对体验。较之于Latex, Markdown 确实语法不多,而且同样可以输出对应PDF文件。或许我用的是Web版简书的编译器,Markdown的相关语法网上查到的反而用不了。
例如表格表达的语法:
应该有如下效果:
而实际而言上文中语法显示出来的不是和效果图一样的东西而是一串符号。
2 相对于Word
Word作为Office的最主要工具之一,文本编辑多用上,功能复杂,相对于排版小白并不是特别友好,Markdown 的优势显而易见。因而 Markdown 也作为多平台如macOS、Ulysses、Windows、iOS以及当前使用的Web端[8]的语言。
参考文献
[1]郑纬民,汤志忠.计算机系统结构[M].清华大学出版社,1998.
[2]顾晶晶.面向人工智能的《计算机系统结构》课程的教学改革的研究[J].现代计算机,2020.
[3]何志超.浅谈计算机系统结构的发展[J].信息通信,2015.
[4]肖强华,宁丹.计算机系统结构中多处理机技术[J].计算机工程应用技术,2010.
[5]张晨曦,林冰轩,刘依,等.计算机系统结构课程实验方案设计[J].计算机教育,2012.
[6]叶娅兰,徐洁,刑建川,等.计算机系统结构多和综合实验的设计实现[J].实验科学与技术,2011.
[7]于永斌,徐洁,王华,等.计算机系统结构课程中多喝实验的设计[J].计算机教育,2011.
[8]Te_Lee.认识与入门 Markdown[J].少数派,2014.