冯·诺依曼架构
一:冯·诺依曼架构:电子计算机的实现结构
1:什么是冯·诺依曼架构
冯·诺依曼架构将通用计算机定义为以下 3 个基本原则:
- 采用二进制:
- 指令和数据均采用二进制格式;
- 存储程序:
- 一个计算机程序,不可能只有一条指令,而是由成千上万条指令组成的。
- 指令和数据均存储在存储器中,而不是早期的插线板中,计算机按需从存储器中取指令和取数据;
- 3、计算机由 5 个硬件组成:
- 运算器、控制器、存储器、输入设备和输出设备。
- 在最开始的计算机中,五个部件是围绕着运算器运转的,这使得存储器和 I/O 设备之间的数据传送也需要经过运算器。
- 而现代计算机中,
五个部件是围绕着存储器运转的,这使得存储器和 I/O 设备可以直接完成数据传送,而不需要经过 CPU。
2:冯·诺依曼瓶颈
由于 CPU 和存储器之间共享同一个系统总线,并且 CPU 和存储器之间存在巨大的速度差
CPU 需要不断地被迫等待数据读取或写入到存储器,因此遏制了 CPU 的吞吐量
要从根本上解决冯·诺依曼瓶颈,还是只能重新构建一套新的计算机体系,例如生物计算机、量子计算机。不过,目前它们都还处在非常原始的阶段。现代计算机体系只能采用优化策略来减弱冯·诺依曼瓶颈的影响,这些内容我们后面都会提到,例如:
1、增加一个位于 CPU 和主内存之间的高速缓存 [cache]
2、将指令缓存和数据缓存分离
3、CPU 分支预测
4、将存储器集成到 CPU 芯片内部,以减少内存访问(SoC 芯片)