计算机指令的执行过程详解

在准备考研过程中,又复习到了《计算机组成原理》。

这门当初视之如猛兽,弃之如敝履的课。

但是学计算机不知底层。如同空中驾高楼。

所以懂这懂一点还是很必要的。

下面我就直接举一个例子 是从王道考研摘录的。

计算机指令的执行过程详解
比如说我现在想执行一条指令,执行完这个指令,我会从存储器里面取一个数据送到我的运算器里面进行运算,那么这过程到底是在计算机里面是怎么执行的呢?

首先,它涉及到两个部分,就是一个是控制器,它在CPU里面,另外一个是存储体。它是在存储器里面。

首先控制器里面的这个,嗯,Pc就是程序计数器,它的作用就是来取存放下一条指令的地址。

那首先我就从pc里面找到这个地址,把它送到存储器里面的地址寄存器。

然后地址寄存器经过解码和驱动转化成了真正的存储器的地址。

来到了存储器里面,按照这个地址取出来数据,其实这个数据它就是我们要的指令,因为指令和那个数据在计算机里面都是二进制代码。

并且指令和数据是同样地位的,都是可以按址地址来寻找。

那现在我们从存储器里面得到了这样的指令二进制代码。

我们把这个指令二进制代码返回到那个数据寄存器里

返回到了这个ir不是pc,是艾尔艾尔就是指令寄存器,就是我们将这个指令送到了指令寄存器控制器里面的指令寄存器里面。

然后这个ir他将这个指令分为两部分,一个是操作码部分,一个是操作数部分。

操作码部分送到这个Cu,就是程序那个控制单元里面解析。

然后地址码部分就是地址码,就是存放了我要娶的那个数据在存储器里面的地址,想要得到数据必须还要通过地址码到存储器里面取数据。

于是这个ir它就将这个地址码又送到了存储器里面地址寄存器里

然后地址技能器又到存储体里面取数据,取完数据又返回到了数据寄存器。
最后数据人气将这个数据送到了这个ACC。就是存放操作数的东西。

以上几个操作就完成了取数指令。

那么这里其实还有一个问题。
我们看指令和数据都是存放在存储体里面。他们的地位是相同。那么到底是怎么区分什么是指令?什么是是数据呢?

就是计算机是这么来区分的,他在执行取指令阶段去的就是指令在执行取数据阶段取的就是数据。

就是这么简单。