解释CPU到底如何执行程序及取译码执行(Fetch-Decode-Execute Cycle)

现代的生活中电脑无处不在,我们都知道电脑的核心部件就是CPU,那CPU是如何工作的,是如何执行程序的呢?

大多数现代处理器的工作原理是取译码执行(Fetch-Decode-Execute Cycle)
也被称为冯·诺依曼架构(Von Neumann Architecture)。这是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构。下图为冯·诺依曼架构框架:
解释CPU到底如何执行程序及取译码执行(Fetch-Decode-Execute Cycle)_第1张图片
简单来说,冯·诺依曼架构由五个部件组成,分别为输入(input)、输出(output)、运算器(Arithmetic Logic Unit)、存储器(Memory)、控制器(Control Unit)
其中,运算器、控制器都在CPU中央处理器中。
存储器也可以分为内存、外存。

当执行一组指令时,指令和数据被加载到主内存中。第一个指令的地址被复制到程序计数器中。处理器执行指令分为三个部分。这些部分是获取(Fetch)、解码(Decode)和执行(Execute)。
解释CPU到底如何执行程序及取译码执行(Fetch-Decode-Execute Cycle)_第2张图片

1. 获取(Fetch)
这就是装载需要执行的指令到IR的过程。首先将PC寄存器的内容装入MAR,并且将PC寄存器的值+1(因为我们完成当前这一条指令之后还需要继续进行下一条,就是通过这种方式来实现指令的顺序执行的)。然后将地址指向的内容装入MDR,最后控制单元将MDR中的内容送入IR,至此,我们完成了指令的读取.

2. 译码(Decode)
在这个步骤中,指令由处理器解码。如果指令需要,处理器将获得任何操作数。例如,指令MOV AX, 0。将值0存储在Ax寄存器中。在执行指令之前,处理器将从内存中的下一个位置获取常数值0。

3. 执行(Execute)
在最后一个阶段,处理器执行指令,它在寄存器AX中存储0。
处理器执行指令MOV AX, 0。最后,它调整指令指针指向存储在地址0102的下一条要执行的指令。

你可能感兴趣的:(操作系统OS,冯诺伊曼架构,取译码执行,CPU)