冯·诺依曼计算机¶
概述¶
冯·诺依曼计算机是指基于冯·诺依曼体系结构的计算机。1945年,美籍匈牙利数学家冯·诺依曼(John von Neumann)提出了"存储程序"的概念,并设计了EDVAC计算机,奠定了现代计算机的基础。至今,绝大多数计算机仍采用冯·诺依曼体系结构。
冯·诺依曼体系结构的核心思想¶
1. 存储程序¶
最核心的概念
- 将程序(指令)和数据以二进制形式统一存储在主存储器中
- 计算机能够自动地逐条取出指令并执行
- 程序可以像数据一样被修改和处理
工作方式:
- 将指令以代码形式事先输入到计算机主存储器中
- 按其在存储器中的首地址执行程序的第一条指令
- 以后就按照该程序的规定顺序执行其他指令
- 直至程序执行结束
2. 二进制表示¶
- 指令和数据均以二进制形式表示
- 简化硬件设计
- 便于存储和处理
3. 五大部件¶
计算机由五大基本部件组成:
- 运算器: 执行算术运算和逻辑运算
- 控制器: 指挥各部件协调工作
- 存储器: 存储程序和数据
- 输入设备: 接收外部信息
- 输出设备: 输出处理结果
冯·诺依曼计算机的结构¶
1. 以运算器为中心(早期)¶
早期冯·诺依曼机以运算器为中心,所有数据的传送都通过运算器。
特点:
- 运算器是数据传送的枢纽
- 输入输出数据都要经过运算器
- 效率较低
结构:
2. 以存储器为中心(现代)¶
现代计算机以存储器为中心,提高了数据传送效率。
特点:
- 存储器是数据传送的枢纽
- 输入输出设备直接与存储器交换数据
- 效率较高
结构:
冯·诺依曼计算机的特点¶
1. 指令和数据存储在同一存储器¶
- 统一编址,统一存储
- 指令和数据在存储器中没有区别
- 程序可以修改自身
2. 指令由操作码和地址码组成¶
- 操作码: 指明操作类型
- 地址码: 指明操作数地址
- 指令格式统一
3. 指令在存储器中按顺序存放¶
- 通常按顺序执行
- 由程序计数器(PC)指示下条指令地址
- 可以通过转移指令改变执行顺序
4. 早期的冯·诺依曼机以运算器为中心¶
- 运算器完成所有数据传送
- 现代计算机以存储器为中心
- 提高了系统效率
冯·诺依曼计算机的工作过程¶
1. 取指令¶
- 从存储器中取出指令
- 送入指令寄存器(IR)
- 程序计数器(PC)自动加1
2. 分析指令¶
- 对指令进行译码
- 识别操作类型
- 获取操作数地址
3. 执行指令¶
- 根据操作码执行相应操作
- 获取操作数
- 完成运算或数据传送
- 存储结果
4. 循环执行¶
- 重复上述过程
- 直到程序结束
冯·诺依曼体系结构的优缺点¶
优点¶
- 结构简单: 五大部件分工明确
- 通用性强: 可用于各种计算任务
- 易于实现: 硬件设计相对简单
- 便于编程: 存储程序概念简化了编程
缺点¶
- 冯·诺依曼瓶颈: CPU和存储器速度不匹配
- 串行执行: 指令顺序执行限制了并行性
- 存储器访问频繁: 成为性能瓶颈
- 指令和数据共享总线: 限制了数据传送速度
对冯·诺依曼体系结构的改进¶
1. 哈佛结构¶
特点:
- 指令和数据分别存储在不同的存储器中
- 指令和数据有各自的总线
- 可以同时访问指令和数据
优点:
- 提高了数据传送速度
- 便于实现流水线技术
应用:
- DSP(数字信号处理器)
- 嵌入式系统
2. 并行处理¶
技术:
- 流水线技术: 指令重叠执行
- 多核处理器: 多个CPU核心并行工作
- 向量处理: 同时处理多个数据
效果:
- 提高了处理速度
- 突破了串行执行的限制
3. 存储器层次结构¶
层次:
| Text Only | |
|---|---|
效果:
- 缓解了冯·诺依曼瓶颈
- 提高了存储器访问速度
4. 非冯·诺依曼结构¶
类型:
- 数据流计算机: 由数据驱动执行
- 归约计算机: 按需求驱动执行
- 智能计算机: 具有学习和推理能力
冯·诺依曼体系结构的影响¶
1. 对计算机发展的影响¶
- 奠定了现代计算机的基础
- 统一了计算机的设计思想
- 促进了计算机的普及和应用
2. 对程序设计的影响¶
- 存储程序概念简化了编程
- 促进了高级语言的发展
- 推动了软件工程的发展
3. 对计算机科学的影响¶
- 建立了计算机科学的理论基础
- 推动了计算机体系结构的研究
- 促进了计算机技术的发展
现代计算机对冯·诺依曼结构的继承与发展¶
1. 继承¶
- 仍采用存储程序概念
- 仍由五大部件组成
- 仍采用二进制表示
2. 发展¶
- 采用并行处理技术
- 采用存储器层次结构
- 采用流水线技术
- 采用超标量技术