开始执行程序时,必须先给程序计数器PC赋以第一条指令的首地址00H,然后就进入第一条指令的取令的取指令阶段。
第一条指令的执行过程:
取指令阶段:
①将程序计数器PC的内容(00H)送至地址寄存器AR,记为PCAR。
②程序计数器PC的内容自动加1变为01H,为取下一个指令字节作准备,记为PC+1PC。
③地址寄存器AR将00H通过地址总线送至存储器,经地址译码器译码,选中00号单元,记为ARM。
④CPU发出"读"命令。
⑤所选中的00号单元的内容B0H读至数据总线DB,记为(00H)DB。
⑥经数据总线DB,将读出的B0H送至数据寄存器,记为DBDR。
⑦数据寄存器DR将其内容送至指令寄存器IR,经过译码,控制逻辑发出招待该条指令的一系列控制信号,记为DRIR,IRID、PLA。经过译码,CPU"识别"出这个 *** 作码就是MOVA,03指令,于是,它"通知"控制器发出执行这条指令的各种控制命令。
计算机从一开机就在执行程序,除了执行程序,它什么都不会干。执行程序的过程仅是以下4个过程的不断重复。①CPU按指定的地址从存储器中取出指令。
②执行这条指令。
·每次执行指令一般是以下几种 *** 作之一或二:
·从指定存储单元或I/O接口单元取出数据。
·将数据写入指定的存储单元或I/O接口单元。
·对数据进行算术或逻辑运算。
③计算下一条指令在存储器中的地址(在大多数情况下,下一条指令地址紧接着上一条指令的地址)。
④返回到第1步开始下一个取指令、执行指令周期。
可以看出计算机的运行过程,就是执行程序的过程。CPU 不断地从存储器中取出指令执行,通过执行指令完成对存储器中数据的加工和实现对I/O设备的 *** 作。以上过程虽然很简单,每条指令能干的事情很少,但是计算机依靠高速地、大量地执行简单的指令来实现复杂的功能。所以计算机发展一直以提高速度为目标。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)