1.1 为什么要学习计算机组成原理
1.核心专业基础课,在课程体系中承上启下的作用
- 后PC时代技术发展的迫切需求– 专业地位更加凸显
- 我国信息产业发展的迫切需求
- 过去我国信息产业从源头上受制于人:CPU、操作系统、数据库等核心
基础硬/软件、办公软件等; - “Wintel”联盟制定的PC产业标准,在全球PC产业形成了“双寡头垄
断”格局。我国信息安全态势愈发严峻; - “没有自主可控的电子信息产业,就没有真正意义上的信息安全”。
( 自主可控是指依靠自身研发设计,全面掌握信息系统产核心技术,实
现信息系统从硬件到软件的自主研发、生产、升级、维护的全程可控)。
- 过去我国信息产业从源头上受制于人:CPU、操作系统、数据库等核心
- 服务于国家战略的迫切需求
1.2 课程学习的主要内容
<--more-->
<--more-->
<--more-->
1.3 如何学好计算机组成原理
- 构造观+系统观+工程观的学习视角和学习方法
构造观– 掌握设计方法
系统观– 软/硬协同的视角
理解计算机系统的构成及各部分之间的相互影响;
理解不同系统/结构对程序的影响(包括功能、性能、可移植性等方面)- 理解数据表示、校验技术、运算器结构、存储器组织、寻址方式等对
程序运行结果正确性、效率等方面的影响; - 牢固树立软/硬协同的观念:程序员要充分了解并利用硬件的特性!
工程观– 系统实现视角
- 理解数据表示、校验技术、运算器结构、存储器组织、寻址方式等对
- 多实践
- 利用仿真软件 Logisim 设计学习过的硬件功能部件或系统;
- 尽量在 FPGA开发板上基于EDA软件实现所设计的部件或系统。
一般使用连续赋值assign语句描述,主要用于组合逻辑电路建模。
一般使用Initial或Always语句描述,可以对组合、时序逻辑电路建模。
一般使用内部元件(Primitive)、自定义的下层模块对电路进行描述。主要用
于层次化设计中。
一些例子:
<--more-->
<--more-->
<--more-->
<--more-->
<--more-->
多思考软/硬协同的问题。参考资料
http://inst.eecs.berkeley.edu/~cs61c
(UC Berkeley Machine Structure)
http://inst.eecs.berkeley.edu/~cs150
(UC Berkeley Components and Design Techniques for Digital System)
http://inst.eecs.berkeley.edu/~cs152
(美国UC Berkeley Computer Architecture and Engineering)
http://www.stanford.edu/class/ee108b
(美国Stanford Digital SystemII )
http://www.ece.cmu.edu/~ece447/
( Carnegie Mellon Introduction to Computer Architecture )
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/
Mit计算机科学与工程系计算机系列课程网站
叨叨几句... 1 条评论
啊啊啊啊