处理器指令执行原理简析
处理器指令执行原理简析
计算机系统基本构成
处理器:控制计算机的操作,执行数据的处理功能
内存:存储数据和程序。
输入和输出模块:麦克风、硬盘、其他终端设备。
系统总线:在处理器、内存和输入输出模块间提供通信的设施。
处理器内部基本构件
处理器通常的功能是与存储器做数据交互,为此它通常使用两个内部的寄存器。
存储器地址寄存器MAR:
用于确定下一次读写的存储器地址。
存储器缓冲寄存器MBR:
存放要写入存储器的数据或从存储器中读取的数据。
输入输出地址寄存器AR:
用于确定一个指定的的输入输出设备。
输入输出缓冲寄存器BR:
用于在输入输出模块和处理器间交换数据。
程序计数器PC:
程序计数器是用于存放下一条指令所在单元的地址的地方。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。
指令寄存器IR:
是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。
累加器AC:
累加器(accumulator) 是一种寄存器,用来储存计算产生的中间结果。
指令的执行
处理器执行的程序是由一组保存在存储器中的指令组成的。最简单的指令包括两步:1.处理器从存储器中一次读取一条指令;2.执行指令。一个程序是由不断重复的取指令和执行指令组成的。
单个指令所需要的处理过程称作为一个指令周期。
一条指令是由操作码和地址码组成,以二进制的形式来表示。
举例分析
如图所示,存储器中有很多存储单元,每个单元包含地址码、操作码和数据,处理器包含PC,AC,IR,此图表示了地址为940的内容和941的内容相加,并将结果保存在941中,总过程分为三次取址,三次执行。
步骤如下:
- PC中包含一条指令的地址为300,首先将这个地址送到MAR中,MAR是一个指针,这时它指向的地址是300,然后所指300的地址中的内容送到MBR中,MBR将内容递给IR,PC增1。
- IR中的最初的4位,0001表示加载,剩下的12位940指向地址为940的内容,所以整个执行就是将940地址的内容加载到AC中。
- 从地址301的存储单元中取下一条指令(5941),PC增1。
- 将之前AC中的内容与现在941的内容相加,结果存储到AC中。
- 从地址302的存储单元中取下一条指令(2941),PC增1。
- AC中的结果存储到941中。