如何学习计算机组成原理

最近看组成原理看得相当无聊,去网上找学习方法,找到一篇不错的文章。
 
       《操作系统》是站在软件的角度看计算机的运行原理,《计算机组成原理》则是站在硬件的角度来看计算机的运行原理,因此这么课对于学习计算机的学生来说非常重要。我这里不谈怎么通过考试,相信对于现在的的大学考试来说,只要认真备考的都不会通不过,所以这里不谈怎么通过考试,而是谈怎么学到有用的东西。
 
  对于以后想从事嵌入式系统、操作系统设计等和硬件结合比较紧密的工作的同学,我建议所有的内容都要学好,而如果以后想从事软件相关工作的同学也要学好存储器、输入输出系统、计算机的运算方法、指令系统、CPU的结构和功能等章节的内容,因为做大型系统软件会涉及到调优的问题,如果只懂软件,而不知道硬件在怎么运行的话,调优会受到限制,软件无法发挥硬件的最大优势。举一个简单的例子,我所在的公司以前开发过一套软件系统,在Intel的服务器上运行,一开始我们的软件运行效率非常低,然后Intel派了一个对硬件、软件都非常熟悉的团队来进行调优,经过调优,我们的程序运行效率提高了10倍。
 
  这门课程和数字电路等课程不同,《数字电路》是站在微观的角度讲解计算机的原理的,而《计算机组成原理》则是站在宏观角度讲解的,因此大可不必在电路图等细节问题上陷得太深,只要像zsk425 说的那样,以“抽象”的观点看问题,只要知道它在做什么就可以了,不要管它内部是怎么实现的。
 
  这门课和其他专业课不同,大部分都是理论性的东西,很少有动手实验的内容,因此很多同学感觉非常枯燥。那么我的建议就是自己多结合自己的电脑进行联想和研究,多到网上搜索相关的资料,那样理解就会更加深刻。《计算机组成原理》、《操作系统》、《计算机组成原理》是可以当成“小说”来看的课程,不要皱着眉头把它当成理论学,而是把课本想象成一个给你讲计算机运行原理的说书人。
 
  比如学到《系统总线》的时候,你就想:计算机部件之间的通讯如果是通过一根线来进行的话肯定非常慢,因为数据、控制信息等都要通过一根线进行,而如果分成数据总线、地址总线和控制总线三条线的话数据、控制、地址信息就可以并行进行,所以速度就快了。然后你就可以到网上搜PCI、ISA总线等的介绍,南北桥芯片的介绍等,这样你就能把知识做到“不用刻意记就记住了”。
 
  讲到存储器的缓存的时候,你就琢磨缓存到底是在做什么。缓存就是为了解决低速设备读取的问题,从内存中读数据肯定没有直接从CPU的缓存中读取快,所以就需要把经常被读取的数据放到缓存中,以后读的时候直接去缓存中读取就可以。缓存不能设计的太小,因为太小的话很多需要缓存的数据放不进去,太大的话则会增加成本,而且会导致很多不需要被缓存的数据也缓存了。然后你就到网上看主流的CPU内置的1M、2M、8M缓存的比较的文章,相信你就会理解深刻了。
 
  讲到程序查询方式、DMA方式等的时候你就联想企业中的人员管理,有的企业里边A员工让B员工做一件事情也要领导转达任务分派,而且有的企业里一些普通的事情员工之间就可以处理,无需要领导过问。
 
  讲到奇偶校检码的时候你就可以思考为什么有的压缩文件、视频文件有轻微的损坏仍然能够打开,你甚至可以自己写一个程序来实现校检功能。
 
  总之,多到网上搜集相关资料,多联想,把它当成小说来读就会轻松、愉快很多,学的也会更扎实。

猜你喜欢

转载自blog.csdn.net/sd01397055/article/details/82682787