计算机组成原理学习笔记(1)
冯·诺伊曼结构
前言
本学期我开始学计算机组成原理,由于各种原因,学的不是很好,于是也不打算学的很精,但是大体的结构还是要清楚的,这个系列的笔记就是用来理清整体结构的。
整本计算机组成原理应该都是围绕冯·诺伊曼结构展开的,为了搞清楚整本书的结构,第一篇当然就是学习冯·诺伊曼结构。
冯·诺伊曼结构的组成部分
- 控制器
- 运算器
- 存储器
- 输入设备
- 输出设备
输入输出设备有什么用?
计算机所用的机器语言和人类所用的自然语言是两种截然不同的语言,所以需要一个转化翻译的过程,输入设备相当于将自然语言转为机器语言的装置,而输出设备相当于将机器语言转为自然语言的装置。
存储器有什么用?
计算机中的程序和数据需要一个存放的地方。否则,运算器就没有数据可以使用,控制器也没有程序可以执行,巧妇难为无米之炊。不过现在存储器有从物理存储器转移到云端的趋势。
运算器有什么用?
计算器的核心就是通过大量的算数和逻辑运算来实现复杂的功能。计算机能做的就只有1+0=1,1 & 0 = 0这样极其简单的二进制算式,但是由于它系统的进行大量运算,就会发生层展涌现,实现人类终其一生都无法企及的事情。
控制器有什么用?
控制器在执行某一个程序时,逐条读取每一行机器码,然后通过调度输入输出设备,存储器,控制器,运算器来实现代码中所要求执行的功能。相当于一个公司的CEO,他有权调用公司的所有资源来实现某一目的。
冯·诺伊曼结构的特点
1.计算机由运算器、存储器、控制器、输入设备和输出设备五部分组成。
这是冯·诺伊曼结构的核心。
2.指令和数据以同等地位存放于存储器内,并可按地址寻访。
指令和数据在计算机中都是二进制数,如何将指令和数据转化为二进制数,后续的学习会介绍。
若要即时找到任一条数据,就得给每一个存储单元一个地址,相当于存储器是一个宾馆,地址就是每一个房间的门牌号,而存储的指令和数据就是房间里的房客,房客来来去去,房间的门牌号是不会改动的。
3.指令和数据均用二进制数表示。
这是为了存储格式的统一。
4.指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
这一条也是理所当然的,所谓指令,就是一条动宾结构的语句,相当于英语中的祈使句,是一种命令语句。它由动词和名词组成。操作码就相当于动词,表示一个动作。而这个动作必然是有一个主体的。程序中并不直接写这个主体的名字,因为有时候并不知道主体是什么,需要找。但是,有一个先决条件,这个主体必然是存在与存储器中的,否则它也不会出现在指令中。所以指令中不写主体,而是写这个主体在存储器中的地址,也就是它的房间号,这是非常合理行为。
5.指令在存储器中按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
计算机很笨,啥都不懂。就像一个新入职场的菜鸟,如果我们不手把手地教他,他就什么也不会干。总不能每执行一行代码,都要告诉它下面要执行哪一行吧,那不现实,计算机高速工具人的优点就发挥不出来了。所以干脆就让它顺序执行,也就是从上到下,一行一行执行,要有什么特殊情况再告诉它。
6.机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
重复一遍,计算机能做的只有简单运算。但是由于它能做到有组织的,大量重复这些简单计算,所以才能做到人类做不到的事。运算器就是这些简单运算的执行者,它夜以继日地重复这些低水平劳动却换来了我们的高水平技术,想想也挺有趣。
想来本来技术密集型的劳动都是劳动力密集型的枯燥重复换来的,文明的进步就是把这部分枯燥重复尽可能多的交给机器,让所有人都能享受科技红利和思考的乐趣。
后记
这一篇主要整理了一下冯·诺伊曼结构的知识点。冯·诺伊曼结构再计算机组成原理中的地位大概就和元素周期表再化学中的地位一样吧。接下来就要分别学习冯·诺伊曼结构的5个组成部分了。下一讲就先从计算机运算方法开始,也就是怎么把数据转化成机器中的二进制码。