课程链接:
现代的计算机形态各异,但究其本质,几乎全部采用了冯·诺依曼结构。要了解计算机,首先要知道什么是冯·诺依曼结构。
1. 冯·诺依曼结构的要点
要说冯·诺依曼结构,就得从《关于EDVAC的报告草案》说起。这份报告论述了两个重要的思想:1. 存储程序(而不是开关连线),2. 二进制(而不是十进制)。这份报告还明确了计算机的五个部分:运算器,控制器,存储器,输入设备和输出设备。
2. 冯·诺依曼计算机的类比
知道了冯·诺依曼计算机的基本结构以后,我们可以做一个有趣的类比。把冯·诺依曼计算机看成是一个餐馆。厨房就是CPU,其中大厨就是控制器,而他做菜的工具-锅就相当于运算器。仓库则是存储器,里面存放了做菜所需的原料和任务单。这个类比中没有包含输入输出设备,这部分我们后面再探讨。
注意,如果没有存储程序的概念,即任务单和原料不放在一起,任务单是由人来下达的,这样带来的问题就是,由于控制器和运算器运转很快,下达指令就会成为瓶颈,影响整体效率。
下面我们把计算机执行一条指令的过程来类比一下。计算机执行一条指令主要包含4个步骤:取指,译码,执行,回写。
1. 取指(Fetch):相当于厨师知道了下张任务单的存放位置,然后向仓库发起请求:我需要第1格的东西。仓库收到命令以后取出所需东西,给厨师送回去,这就是第一步-取指。
2. 译码(Decode):相当于厨师分析任务单,比如任务单上写了炒菜,原料放在仓库第6格,炒完以后给A号盘子(通用寄存器)