• 用小故事解释-冯·诺依曼结构


    冯诺依曼结构的计算机就好比这个餐馆, CPU就是厨房, 
    而主存就是仓库, 仓库里的货架就好比主存当中的存储单元, 
    我们为货架的每一格都编上了一个序号,相当于主存当中的地址,货架上 存放的物品相当于存储单元当中的内容, 主存中会存放着计算机的指令, 
    还有数据,对于这个餐馆来说就是厨师需要执行的任务 和做菜所用的原料,那厨房当中 承担主要控制任务的就是这位大厨了, 它也是控制器,
    而运算器则是出具。 
    那我们还需要一些附加的设备。 这个厨师记性很不好,他必须要在身边 有一张纸,上面写着下一张任务单的位置, 这里这张纸上写了1,厨师就知道我下一张任务单放在仓库的第一格, 那么如果把任务单取回来以后 还需要放在身边随时的查看所以他还可以有一个放置当天任务单的位置。 如果取来了任务单就放在这。 
    那厨师做菜,做完了菜放哪呢,不能直接端着锅冲到 仓库去吧。所以他身边操作台上总得放几个盘子, 相当于CPU当中我们就称这些盘子为通用寄存器。 用于临时存放计算器的运算结果或者要送到运算器的操作数。 
     
     
    计算机运转的核心内容就是执行指令, 计算机执行一条指令的主要步骤呢包括如下四步, 
    第一步叫做取址,第二部叫做译码, 第三部称为执行,第四部是回写。 
    依次执行完这四部,计算机就完成了一条指令的执行。
     
    CPU从主存中取出对应的指令, 
    那么刚才厨师做的那项任务呢对于计算机当中很可能是这样的, CPU当中寄存器A有一个内容,然后 主存的地址为6的这个单元里有这样的内容, CPU根据这条指令把 主存中地址为6的单元的内容取出来,并把CPU内部寄存器A的内容取出来, 可能执行一个加法, 
    然后把运算的结果更新到寄存器A当中, 这样就完成了一条加法指令的运算。
     
  • 相关阅读:
    springmvc源码分析上之HandlerMapping
    java web api接口调用
    centos6 hadoop2.7.3分布式搭建
    大话java基础知识一之为什么java的主函数入口必须是public static void
    jQuery引用
    windows 服务的卸载
    java 环境安装
    python matplotlib 折线图的制作
    python matplotlib 简单柱状图的制作
    python 安装库时 Failed building wheel for 错误处理
  • 原文地址:https://www.cnblogs.com/CheeseIce/p/10633628.html
Copyright © 2020-2023  润新知