计算机组成原理-冯诺依曼结构

冯诺依曼结构:


  • 原始数据要经过输入设备将其转化为机器可以识别的01比特,之后再由输出设备转化为计算结果。
  • 控制器要控制其余四个设备的同步。
  • 存储器使得各个部件之间的工作不再需要相互等待,数据和指令存储在存储器中,等待其他部件调用,这种以存储器为核心的计算机,传输数据到存储器中后,是以数据块为单位发出去,因此速率高极大地提高了计算机的性能。
  • 运算器要执行数据的运算
  • 一条指令在执行的整个工作流程是这样:指令和数据进入输入设备,被转化成01比特信号,传输给存储器,存储器将指令交给控制器,将数据交给运算器,运算器在控制器得到的指令的控制下计算出结果并传输到输出设备中,输出设备将01比特信号转化为计算结果。
  • 以这种以存储器为核心的计算机,传输数据到存储器中后,是以数据块为单位发出去,因此速率高。 

过程描述:

首先让我们了解四个寄存器:

  • PC(CPU里存放指令地址的寄存器)
  • IR(CPU中存放指令的寄存器)
  • MAR(主存中存放指令地址的寄存器)
  • MDR(存储体中存放指令的寄存器)
  • CU(分析指令并给出控制信号)

还有一个概念:

  • 指令:通俗地讲它的功能就是告知计算机要做的事。它由两个部分组成:
    • 操作码:里面的东西告知计算机要做什么运算
    • 操作数地址码:里面的东西是一个操作数的地址,用于找到操作数,而操作数就是做运算要用到的数据

 

 

如上图,一条指令的执行需要用到运算器,控制器和主存三个部件,一条在硬盘上的指令,首先会通过I/O总线到达主存,这个我们叫做加载到内存,之后内存会通过总线告知CPU的控制器有指令需要获取,这时控制器中的PC(CPU里存放指令地址的寄存器)会获取所要执行指令的地址。那么要找到这条指令,就需要通过这个地址,这便是指令执行的第一步:取指令

  • 取指令:想要取指令,首先要知道指令在哪里,我们知道指令是从硬盘加载到内存了,具体就是内存的存储体里。PC首先将指令地址送给主存中的MAR(主存中存放指令地址的寄存器),MAR将这个地址送给存储体,在存储体中找到配对的指令,然后将指令将给MDR(存储体中存放指令的寄存器),取到了指令,那么接下来就要告诉CPU,所以MDR将指令送给控制器中的IR(CPU中存放指令的寄存器),到这里,取指令结束。

 

  • 分析指令:想让运算器做运算,它得知道指令是干什么的,所以,控制器有责任帮助运算器分析指令。而这一功能,就要依靠控制器中的CU(分析指令并给出控制信号),所以IR将指令中的操作码给CU,CU分析出要做的运算。(IR中有完整的指令,指令中的操作码给了CU,那么指令中的操作数地址码呢?下面揭晓答案)

 

  • 执行指令:分析完指令后,我们就要执行指令,那么就要找到操作数,IR中存放着指令,指令中的操作码给了CU,指令中的操作数地址码就供CPU找到操作数,和刚才第一步取指令一样,我们还是只知道操作数的地址码,IR将操作数地址码送给MAR,MAR在存储体中找到配对的操作数,再送给MDR,最后MDR将操作数送给ACC(运算器中的累加寄存器)。

 

  • 至此,运算器得到了指令的操作数,控制器得到了指令的操作码,运算器在控制器的操作码控制下对操作数进行一次运算。

 

 

猜你喜欢

转载自blog.csdn.net/KONIA_/article/details/82948745
今日推荐