使用语言或硬件/软件交互的角度划分层次结构

典型计算机体系结构_数据存储

冯.诺依曼模型 (来源)

▪ 最早期的计算机,不存在分层体系结构,编程就是利用各种 导线进行接插连线, 费时费力。
▪ ENIAC研究完成之前,John W.Mauchly和J. Presper Eckert设 计了一种利用汞延迟线形式的存储设备,来存储指令,从而 重新开发或者调试时,无须重新连线,希望用于下一代计算 机EDVAC中。由于ENIAC的保密性,这种设计没有被发表。
▪ ENIAC计划的外围人员,数学家John Von Neumman则读了前 面两位的研究计划后,公开发表了这种设计。后来, 所有存储程序的计算机都被称为使用的是冯.诺依曼架构。

冯.诺依曼模型(组成和执行)

▪ 由三部分硬件组成:
CPU (中央处理单元):控制单元、算数逻辑单元(ALU)、若干寄存器、程序计数器;
主存储器;
IO系统
▪ 具有执行顺序指令的处理能力
▪ 主存储器和CPU控制单元

包含一条单一路径(物理或逻辑的)叫冯.诺依曼瓶颈

典型计算机体系结构_数据存储_02


▪ 图解分析

  • 图中所示的系统所有IO都是通过算术逻辑单元连接的(实际是其中的累加器传送的)
  • 这种架构是按照冯.诺依曼执行周期(取指->译码->执行,循环)的方式来运行程序的。

▪ 执行周期操作如下:

  • 控制单元从存储器中取下一条程序指令,使用程序计数器确定指令所在的位置。
  • 对提取的指令进行译码,变成ALU能够理解的语言。
  • 从存储器中取出执行指令所需的各种操作数的数据,并把它们放入CPU的寄存器中。
  • ALU执行指令,并将执行的结果存放到寄存器或者存储器中。

冯.诺依曼模型(改进)

▪ 程序和数据通常保存在慢速访问存储介质(持久化的硬盘)

▪ 在程序执行时,再将这些程序和数据复制到可快速访问的易失性的存储介质(RAM)

▪ 体系结构也演化为系统总线模型

  • 数据总线将数据从主存储器传送到CPU的寄存器,反之亦然。
  • 地址总线负责保持数据总线正在访问的数据的地址。
  • 控制总线则负责传送各种必要的控制信号,以指定的信息传输发生的方式。

冯.诺依曼模型的特征

▪ 以运算器为中心。
▪ 在存储器中,指令和数据同等对待。
▪ 存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。
▪ 指令的执行是顺序的。
▪ 指令由操作码和地址码组成。
▪ 指令和数据均以二进制编码表示,采用二进制运算

非冯.诺依曼模型

▪ 冯.诺依曼模型占据主流通用计算机设计,但存在冯.诺依曼瓶颈
▪ 非冯.诺依曼模型与冯.诺依曼模型特征不同:比如不把程序和数据存储在存储器或不按顺序处理
▪ 非.冯诺依曼模型为特殊目的设计:图像处理、数字信号处理器(DSP)、媒体处理器(比如可执行一条指令处理一组数据,而不是一条指令处理一个数据)、量子计算机等。

非冯.诺依曼模型(哈佛模型)

典型计算机体系结构_开发语言_03


哈佛模型

▪ 组织方式:处理器、指令存储器、数据存储器和IO设备
▪ 与冯.诺依曼模型的区别:在程序和数据的存储和访问方式上有所不同,指令与数据存储器相分离
▪ 优势:可分别对于数据存储单元和指令存储单元进行优化
▪ 缺点:不够灵活,需要指定数据、程序存储单元的大小,且不能相互调整
▪ 应用:常用于小型嵌入式系统设计

典型计算机体系结构_开发语言_04


冯诺.依曼模型