计算机组成原理概述
概述
为什么要学习计算机组成原理? IT行业日新月异,新技术层出不穷,然而这些新技术所依赖的底层技术,如操作系统、计算机系统原理、数据结构与算法、网络、编译原理等依然没多大变化,只有掌握了这些基础技术,在面对新技术才能拨开新技术的迷雾一窥究竟。就好比应用层的知识就是拳法招式,而底层基础知识就好比战马步、练肌肉。所谓练拳不练功,到老一场空,而这些功法中计算机组成原理算是最基础的一门学科。“计算机组成原理”扮演了在硬件 和软件之间一座桥梁这样一个角色,它既隔离了软件 和硬件,也提供了让软件无需关心硬件,就能直接操作硬件的接口。学习组成原理之后,向下,你可以学习数字电路相关的课程,向上,你可以学习编译原理、操作系统这些核心课程。
冯诺伊曼体系结构
-
首先是一个包含算术逻辑单元(Arithmetic Logic Unit,ALU)和处理器寄存器 (Processor Register)的处理器单元(Processing Unit),用来完成各种算术和逻辑运算。因为它能够完成各种数据的处理或者计算工作,因此通常叫运算器。
其次,一个包含指令寄存器(Instruction Reigster)和程序计数器(Program Counter) 的控制器单元(Control Unit/CU),用来控制程序的流程,通常就是不同条件下的分支和 跳转。
这两部分算术逻辑单元的运算器和控制器单元,共同组成了我们说的 CPU。 -
存储数据(Data)和指令(Instruction)的内存。以及更大容量的外部存储,现在通常就是硬盘。
-
各种输入和输出设备,鼠标键盘是输入设备,显示器是输 出设备,智能手机的触摸屏既是输入设备,又是输出设备。云上的服务器,则是通过网络来进行输入和输出。这个时候,网卡既是输入设备又是输出设备。
掌握组成原理存在的问题?
主要有以下几点:
第一、内容广:组成原理中的概念非常多,每个概念的信息量也非常大。
第二、技术深:组成原理中的很多概念,详细解释下来内容很多,一展开是计算机学科的另外一门核心课程。
第三、不好实践:不像上层操作系统、应用开发都可以用代码进行实践,组成原理多是一些理论性的东西。
知识地图
学习资料
- 入门:
《计算机是怎样跑起来的》、《程序是怎样跑起来的》
https://www.coursera.org/learn/jisuanji-zucheng - 深入:
《计算机组成与设计:硬件 / 软 件接口》和经典的《深入理解计算机系统》、《计算机组成:结构化方法》
《计算机体系结构:量化研究方法》。