• 典型计算机体系结构


    使用语言或硬件/软件交互的角度划分层次结构
    在这里插入图片描述

    冯.诺依曼模型 (来源)

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

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

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

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

    在这里插入图片描述
    ▪ 图解分析

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

    ▪ 执行周期操作如下:

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

    冯.诺依曼模型(改进)

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

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

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

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

    冯.诺依曼模型的特征

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

    非冯.诺依曼模型

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

    非冯.诺依曼模型(哈佛模型)
    在这里插入图片描述
    哈佛模型

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

    在这里插入图片描述
    冯诺.依曼模型

  • 相关阅读:
    Prototype属性与Object.defineproperty方法:
    用户侧功能
    AI智能视频技术在考古工作中的安防应用
    Matter开发,看这一篇就够了
    【vue设计与实现】双端Diff算法 1-双端比较的原理和优势
    JAVA面试题 --- Kafka篇
    2.类和对象
    “undefined reference to XXX“问题分析及解决方法总结
    程序员开启商业思维到底有多赚钱?羊了个羊告诉你答案!
    数据结构之二叉树的精讲
  • 原文地址:https://blog.csdn.net/qq_40713201/article/details/126735477