计算机组成原理(0)

来源:互联网 发布:4钻淘宝店铺转让 编辑:程序博客网 时间:2024/05/16 09:15

冯诺依曼与《EDVAC报告》

  • 两个重要的设计思想
    • 存储程序[1]-就是不区分指令和数据,全部都存储在内存中
    • 采用二进制而非十进制,十进制会导致计算机系统变得相当复杂
  • 一个可以体现该思想的东西就是Intel给日本人研发的一款计算器
    • 移位寄存器 :用于输入与输出
    • CPU中包含 运算器和控制器(后面会有一个通俗的例子来比如这个简单的计算机模型)

用饭店和冯诺依曼结构进行类比

  • 饭店的仓库-主存储器(存储器,其他的设备也有相应的存储器-显存/BIOS芯片,但是这里先讲主存,也就是内存)
    • 货架—-内存的存储单元
    • 货架编号—-内存单元的编号
    • 货架上面的货物(比如腊肉啦,西红柿啦,土豆啦,西瓜啦,列水果好累…)—-CPU需要的数据和程序(多条指令构成了程序)[1]
  • 厨房-CPU
    • 大厨—-控制器
    • 炒锅—-运算器
    • 盘子—-通用寄存器>炒完菜,放菜需要一个盘子不够吧,需要很多盘子的,因此也就是需要很多个通用寄存器;而且有时炒菜需要把肉炒到半熟之后再重新到进盘子里面,之后再把一下不容易熟的肉先到进去炒,后来再把之前炒的半熟的肉到进去,炒熟之后就可以了.因此这里有时候有些盘子是作为临时存放半成品的,之后还是要放进锅里面重新做的;>因此通用寄存器中的数据有时候不仅需要用来存放最终的运算结果,有时候还需要可以存放临时的数据,之后还要送进运算器中进行重新运算,就像计算器计算1+2+3 1+2的值就是临时的中间产物,也就是半成品
    • 大厨的记性不好,
    • 需要在一个地方记下来自己去那个地方去拿要做的菜的单子(就是我们在饭店点菜的时候,写了好几个菜的一个单子,但是现在的都是电子的点餐器了,里面可以记录送到大餐桌的位置,饮料是加热还是加冰,西红柿炒鸡蛋放不放糖等等等等,大厨的这个单子里面就是写了这些之外还加上上,去哪一个货架或者盘子(通用寄存器)去拿冰块和西红柿-有可能盘子(通用寄存器)中有之前切好的西红柿呢)>大厨拿了单子之后,要把这个地方的放单子的数+1,也就是在下一个地方去拿单子,否则的话,拿回来的单子是前面的,菜是做过了的,客人很开心,老板不开心了…
    • 大厨在从厨房拿回来做菜的单子之后,需要把自己做菜的单子(上面写了到哪里去拿原料,用什么方法:炖,炒,烧,还是煮)放在一个地方,免得被风吹走了,哈哈哈—-因此也就是指令寄存器
    • 注意区分:一个是用于记录要拿的单子的位置的东西,另一个是用于存放拿回来单子的东西(当然计算机的东西都是数据,所以在cpu中来存储前面一个的是程序计数器(PC program counter),后者是指令寄存器(IR(Instruction Register)))
    • 大厨看着菜单就开始做菜了
    • 大厨看看就可以知道是怎么样的一个做菜步骤,可是计算机看看不行呐,因此计算机需要一个部件对任务单的指令进行确定 任务单子[程序译码器:将指令(也就是任务单子)进行译码,以确定IR中放的是哪一个指令]
    • 确定之后就可以由[控制电路]产生控制信号,在各个时序脉冲的同步下控制各个部件的动作=这部分讲的很粗糙了=
    • 从存储器中拿出指令或者数据的过程
0 0
原创粉丝点击