简介
计算机组成原理,简称CO,是计算机学院在大二上学期开设的一门5.5学分的核心专业课,也是同学们来到计算机学院遇到的第一个拦路虎。课程分为理论和实验两部分,理论部分考察重点大致为以下几个知识点:组合逻辑,时序逻辑,主存储器,cache,TLB,流水线CPU,mips代码补全。实验部分也是CO最困难的部分,但他其实没有传说中的那么恐怖,唯一在干的事情就是设计CPU,从logisim到verilog,从单周期到流水线,只要诸位好好理解,相信征服CO并不是什么难事。实验最后的给分和实验截止时你所处在的Project有关,不出意外的话有三次gap机会,大家要好好珍惜哟。笔者接下来的系列Blog将围绕P0-P7展开,希望能对各位有所帮助。
为什么写
作为一个初入计算机学院懵懂的学生,笔者在初步上手的时候也遇到了很多困难:看不懂大佬学长的博客,听不懂老师上课讲的流水线设计思路,语法学习无从下手……这个时候的那种绝望可能大家只有经历了才知道。好在我遇到了热心友爱的同学,室友,如果没有他们的帮助,我不可能顺利通过CO。本着因为淋过雨,所以也想给学弟学妹撑把伞的热忱,我创作了系列Blog,该CO系列将尽可能使用通俗的语言来讲解晦涩的知识点,细节也会尽可能覆盖到,如果大佬阅读到该博客觉得写的太繁琐的话可以去看其他佬的作品,如果能阅读之后发现相关错误之处请及时联系我,笔者感激不尽🫡。
CO学习方法的一些个人建议
- CO学习基本盘当然是在COpre阶段掌握好
verilog语法(重中之重) - 在设计过程中,如果你足够牛逼,那么自己设计是最好的;如果你喜欢看书,可以跟着书上的指示设计(没干过,但是舍友是这样的,大家可以尝试);更推荐到方法是从
P3开始跟着一个学长的博客和github仓库,沿着他的思路设计下去,在设计的过程中做出某些属于自己的优化和改动(千万别纯抄一遍下来),形成自己对流水线的理解。 - 在看博客时最好结合github的代码一起看,避免不必要的bug。
- 尽量在周中也完成一点工作,不要全压在周末,压力有点大的样子。
- 用好测评机,这是一个23级学长写的:https://github.com/Kie-Chi/COT。
不得不提的事情
大二上学期有两个比较重要的竞赛,当竞赛撞上闯关制的CO就会擦出不一样的火花,在这里给大家提个醒。
- 12.5,全国部分地区大学生物理竞赛,这个只要你考前准备,做一点往年题,混个三等奖,你的物理就满分了,真的超值!!!但是可惜的他正好在周末撞上了CO的P5/P6,所以这就体现了在周中推进计组实验的重要性,或者你可早点开始复习😁。
- 12.13,英语六级,有很大概率会撞上你的P7,大家有必要提前复习一下。
如果你在暑假预习了计组并且碰到不会设计的问题并且无人可问,我的建议是跳过(别全跳过了哈),它不会对你开学正式的Project产生什么致命的影响。如果你在暑假没有预习计组,No Problem,开学还有时间,足够你翻盘。
个人感觉P0-P2比后面的P要难,在这几个Project你经常会被打信息差(很多别人会但是你不会的东西),其实他们都有相对固定的套路,就那么点东西,只要掌握了套路,你就可以在前3P轻车熟路了。可惜我是每次被打了信息差才学到的,痛苦了好久,悲!Let me tell you now😋。
放心,别慌
很多同学在刚开学的时候是对CO充满畏惧的,在这里跟大家说一下个人感觉。CO实验占比是40%,如果你全部做完的话和AK佬分数是不会差太多的,1-2分的样子。只要你理论不拉跨,应该分数在95分上下浮动。如果你出了点小意外卡在了P5,也别担心,不会挂科的,只要你好好准备理论考试,应该75到85问题不大。
挂P不可怕,可怕的是就此丧失信心,认识一个哥们P3先挂三次展示容错,最后也顺利通关了。别怕,轻装上阵吧,加油!
你准备好了吗,让我们开启这段精彩的旅程吧。
go go go !出发喽!……
Lyrics Sharing
你的酒馆对我打了烊 |