小黎开始上新的网课啦!
选的是B站上哈工大的操作系统网课,希望这次也能坚持下来吧~
计算机工作机理
从图灵机到通用图灵机
例如要计算映射f(3),其中f(x)=-x。
- 图灵机
- 在纸带上用编码写下3
- 移动读写指针将3读到控制器中
- 控制器中有一套控制电路对应这个映射(这和人脑中的知识相对应),控制电路开始运转,求出f(3)=-3
- 控制器将结果-3写出到纸带上。
虽然这台图灵机能够算出f(3),当然也能算出f(4)等,但是这个图灵机控制器中只有计算相反数的逻辑,只能计算相反数,能力还是太弱了。
- 通用图灵机
- 在纸带上用编码写出f的规则,再写上3
- 控制器将f的规则读入到控制器中,用f的规则设置控制器
- 控制器将3读入,并用此时控制器中的计算规则计算得出-3
- 控制器将结果-3写到纸带上。
其中通用的含义就是说这个图灵机可以计算许许多多的f。
类比来说,图灵机就像一个只能做一道菜的厨师,而通用图灵机就像一个能看懂菜谱,根据菜谱做出多种不同的菜的厨师。
上面对通用图灵机的描述中还有一些东西比较模糊,其中最为关键的是两件事:一是f的规则到底是什么,二是“学会”的含义是什么。冯·诺依曼用存储程序思想对这两件事给出了完美的诠释:
- f的规则是一个指令序列
- “学会”的含义就是让计算机将这个指令序列中的指令逐条取出并解释执行。
从通用图灵机到计算机
存储程序的主要思想:将程序和数据存放到计算机内部的存储器中,计算机在程序的控制下一步一步进行处理
- 首先把程序放到存储器(内存)里
- 然后用PC(IP)指针指向它
- 之后不断地取指-执行