《操作系统》是站在软件的角度看计算机的运行原理,《计算机组成原理》则是站在硬件的角度来看计算机的运行原理,

因此这么课对于学习计算机的学生来说非常重要。我这里不谈怎么通过考试,相信对于现在的的大学考试来说,只要认真备考的都不会通不过,所以这里不谈怎么通过考试,而是谈怎么学到有用的东西。 对于以后想从事嵌入式系统、操作系统设计等和硬件结合比较紧密的工作的同学,我建议所有的内容都要学好,而如果以后想从事软件相关工作的同学也要学好存储器、输入输出系统、计算机的运算方法、指令系统、CPU的结构和功能等章节的内容,因为做大型系统软件会涉及到调优的问题,如果只懂软件,而不知道硬件在怎么运行的话,调优会受到限制,软件无法发挥硬件的最大优势。举一个简单的例子,我所在的公司以前开发过一套软件系统,在Intel的服务器上运行,一开始我们的软件运行效率非常低,然后Intel派了一个对硬件、软件都非常熟悉的团队来进行调优,经过调优,我们的程序运行效率提高了10倍。

这门课程和数字电路等课程不同,《数字电路》是站在微观的角度讲解计算机的原理的,而《计算机组成原理》则是站在宏观角度讲解的,因此大可不必在电路图等细节问题上陷得太深,只要像zsk425 说的那样,以“抽象”的观点看问题,只要知道它在做什么就可以了,不要管它内部是怎么实现的。 这门课和其他专业课不同,大部分都是理论性的东西,很少有动手实验的内容,因此很多同学感觉非常枯燥。那么我的建议就是自己多结合自己的电脑进行联想和研究,多到网上搜索相关的资料,那样理解就会更加深刻。

《计算机组成原理》、《操作系统》、《计算机组成原理》是可以当成“小说”来看的课程,不要皱着眉头把它当成理论学,而是把课本想象成一个给你讲计算机运行原理的说书人。 比如学到《系统总线》的时候,你就想:计算机部件之间的通讯如果是通过一根线来进行的话肯定非常慢,因为数据、控制信息等都要通过一根线进行,而如果分成数据总线、地址总线和控制总线三条线的话数据、控制、地址信息就可以并行进行,所以速度就快了。然后你就可以到网上搜PCI、ISA总线等的介绍,南北桥芯片的介绍等,这样你就能把知识做到“不用刻意记就记住了”。 讲到存储器的缓存的时候,你就琢磨缓存到底是在做什么。缓存就是为了解决低速设备读取的问题,从内存中读数据肯定没有直接从CPU的缓存中读取快,所以就需要把经常被读取的数据放到缓存中,以后读的时候直接去缓存中读取就可以。缓存不能设计的太小,因为太小的话很多需要缓存的数据放不进去,太大的话则会增加成本,而且会导致很多不需要被缓存的数据也缓存了。然后你就到网上看主流的CPU内置的1M、2M、8M缓存的比较的文章,相信你就会理解深刻了。 讲到程序查询方式、DMA方式等的时候你就联想企业中的人员管理,有的企业里边A员工让B员工做一件事情也要领导转达任务分派,而且有的企业里一些普通的事情员工之间就可以处理,无需要领导过问。 讲到奇偶校检码的时候你就可以思考为什么有的压缩文件、视频文件有轻微的损坏仍然能够打开,你甚至可以自己写一个程序来实现校检功能。

----此段话是在2016-03-04时在某地摘抄,现已忘却,当时也未注明出处,若有读者知晓,请告知,那时定注明出处。

软件工程几门课程之间的关系相关推荐

  1. 基础数学课程之间的关系

    基础数学课程之间的关系 python代码 import graphviz text4maths=''' digraph graph4maths{graph [compound = true fontn ...

  2. 将我人生的第一篇博客献给伟大的软件工程这门课程

    我.一个未来肌肉猛男.未来公务员.未来国家地理摄影师.拥有无与伦比的计算机废柴体质.选这个专业是因为机缘巧合.但是对这个专业并没有任何偏见.只是对这个专业的兴趣不是很大,如果可以,我希望以后的我能从事 ...

  3. 第一次作业,针对软件工程这门课程提出五个疑问。

    1.如果对于不爱好计算机的同学来说学习软件工程的意义大吗,有多大? 2.软件工程的知识面那么广,如果才能系统有效的将它学好? 3.软建工程这门课是否有点纸上谈兵了? 4.软件工程是衣门很枯燥的学科,我 ...

  4. 研究大学生基础课程成绩和专业课程成绩的关系,证明两者之间是否有线性关系

    Python课程作业: 研究大学生基础课程成绩和专业课程成绩的关系,证明两者之间是否有线性关系 完成截图 代码 关注微信公众号未名编程,消息框回复0813即可获得

  5. 基础数学课程之间的递进关系

    基础数学课程之间的递进关系 text4maths=''' digraph graph4maths{graph [compound = true fontname = "SimSun" ...

  6. AcDbObjectId、AcDbHandle与AcDbStub之间的关系 阿门原创

    阿门原创 http://hi.baidu.com/lihao102     欢迎转载 近期,由于项目的需要做一套撤销恢复机制,特地研究了一下AutoCAD(下文称为ACAD)的撤销恢复机制,ACAD的 ...

  7. 现代软件工程讲义 0 课程概述

    这门课的教学方案在这里. 根据学生和学校的具体情况, 可以进行调整. 师生关系 首先要明确的是, 在这门课中的师生关系是什么样的.  大学目前的师生关系是怎样, 什么样才是理想的师生关系?  我们先看 ...

  8. 计算机应用综合实践课程报告,南通大学继续教育学院软件工程综合实践课程报告书——生产信息化工作管理系统...

    内容简介: 南通大学继续教育学院软件工程综合实践课程报告书--生产信息化工作管理系统,共38页,9911字 目录 一 前言(1) 二 需求分析(2) (一)系统需求(2) (二)功能需求(2) 1 生 ...

  9. UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现

    类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什 ...

最新文章

  1. 基本环境安装: Centos7+Java+Hadoop+Spark+HBase+ES+Azkaban
  2. Linux操作系统为何会对计算机病毒免疫
  3. Fedora7 安装完全过程
  4. 结合深度学习的工业大数据应用研究
  5. linux获取连续数组下标值,shell 数组,双层循环打印变量
  6. The Learning route of GNN
  7. The LAO将于4月2日启动Neptune DAO,旨在为其他区块链项目提供流动性
  8. 关于获取安卓设备的mac地址
  9. mmdetection 绘制PR曲线
  10. 实测macOS双开微信客户端
  11. ThinkPHP6 自定义分页样式 快速配置
  12. 如何编制试算平衡表_试算平衡表的编制步骤是怎样的?
  13. 赛码-回文串-java
  14. 7.8 Introduce Local Extension 引入本地扩展
  15. 计算机专业的女生适合干什么工作?
  16. 程序员过高工资导致加班?应该降低程序员工资?网友:放过其他苦逼的程序员吧
  17. 43.属性名和属性值
  18. 面试自动化测试的必问题
  19. linux 修改IP, DNS -(转自fighter)
  20. Network protocols

热门文章

  1. [CC2642R1][VSCODE+Embedded IDE+Cortex-Debug] TI CC2642R1 快速搭建VsCode开发环境
  2. python 卡方检验批量筛选_卡方检验(python代码实现)
  3. Kafka配置动态SASL_SCRAM认证
  4. 被认证的虫子,吃着才放心 | 独家
  5. Python将excel或者csv表格中的空行删除
  6. OVS代码结构(by quqi99)
  7. yolov导出engin推理加速
  8. ISP算法介绍--------super Good
  9. GTSAM中ISAM2和IncrementalFixedLagSmoother说明
  10. Android开发实战《手机安全卫士》——11.“进程管理”模块拓展 窗体小部件 生成快捷方式