|
发表于 2023-12-8 09:11:13
|
显示全部楼层
本帖最后由 washu 于 2023-12-8 09:15 编辑
存储器自己无法“写入”和“取出”数据,需要一个机构做这个动作,它可以是若干开关,由人操作产生的脉冲,也可以是一个固定的电路。
最初的电子计算机是固定电路,比如二战的时候美军的导弹弹道计算机,就是固定电路做的,它只能从存储器中读出需要计算的弹道数据,计算后再写回去,这个计算的公式是固定的,不能用来计算别的比如计算桥梁、航母、卫星...。后来一个叫冯诺依曼的人突发奇想,用存储在存储器中准备用来计算的“弹道数据”的一部分去控制电路中的“开关”再去读写存储器(这部分特殊的数据叫指令,所以总线除了数据总线还有一条线叫 DI 线,用于区分数据还是指令),这样计算机中的开关结构就可以产生变化,只需要一套电路模型,根据存储器中的指令不同,可以进行不同的计算,这个结构就叫做 存储程序计算机,也叫冯诺依曼计算机,它不再只能执行设计电路时固定的计算,而是什么计算都能做,计算机从专用计算机变成通用计算机。
冯诺依曼计算机有一个程序计数器(上图中存储程序的 PF 上面那个 PC),正常情况下,计算机上电初始,PC 清零,然后 CPU 调入存储器第 0 地址代码开始执行,然后 PC 加一,CPU 调入存储器第 1 地址代码开始执行...,是顺序执行的。但 PC 可以被访问,程序员可以改变 PC 的数值使得它回到过去或之后某个地址,这样就很方便编写需要循环的程序。
我之前说过,建议楼主系统学习有关知识,不管是电路还是计算机都是专门的专业,需要大学生数年学习,不是有个疑问上来问就能解答清楚的。
|
|