计算机的基本原理
计算概论 第三讲
程序运行的基本原理
李 戈
北京大学 信息科学技术学院 计算机系
lige@
前节内容回顾
1 各种数据 123 + 321 计算机为什么能进
行计算?
二进制数据 1111011
2
+ 101000001 用 二进制 表示数据
用 布尔代数 进行运算
3 用 电路 实现布尔运算
所以 电路能进行计算
4
异或门 与门 或门
前节内容回顾
计算机为什么能进
行计算?
用 二进制 表示数据
用 布尔代数 进行运算
用 电路 实现布尔运算
所以 电路能进行计算
计算机就是由这样的
电路构成的。
思路整理
已经知道
电路是能完成计算的 ,所以,可以设计 加法、
减法、乘法…各种电路… ,用它们来完成各种
类型的计算。
所以,是不是可以:
需要完成什么计算,就动手设计个相应的电路!
设计好很多个 原子电路,需要的时候我就把它
们临时组装在一起!
那不成了 ENIAC 了?!
思路整理
所以:
不能通过重新 “组合不同电路”的方式,去完成新
的计算任务!
而应该:
通过 某种命令 来控制计算机,让计算机按照这种
命令来运行,这种命令可以用电信号表示;
这种命令不是“临时输入”到计算机,而是存放在
某个地方,随时可以更改;
命令改了,计算机的功能也就改了!
这就是EDVAC !现在的计算机都是EDVAC !
本节主题
什么是“存储程序式计算机”?它都包含哪些部分?
命令是什么样子?它是怎么被执行的?
程序是什么样子?跟命令一样吗?计算机怎么能“认识”
程序,并运行程序的?
计算概论 第三讲
程序运行的基本原理
问题一:什么是存储程序式计算机?
冯·诺依曼式计算机
1945年冯·诺依曼以“关于
EDVAC的报告草案”为题,
起草了一份长达101页的总
结报告。