❶ 计算机程序的执行过程是怎样的
执行程序的过程:
开始执行程序时,必须先给程序计数器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指令,于是,它"通知"控制器发出执行这条指令的各种控制命令。
❷ 请叙述程序计数器pc,微程序计数器08pc工作原理,两者在预置条件上有何区别
程序计数器PC工作原理如下:程序计数器是包含当前正在执行的指令的地址,当某个指令获取,程序计数器的存储地址加-一,指向顺序中的下一个指令。在程序开始执行前,必须将它的起始地址,即第一条指令所在的内存单元地址送入程序计数器。当执行指令时,处理器将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1,但是,当遇到转移指令如JMP指令时,后继指令的地址必须从指令寄存器中的地址字段取得。在这种情况下,下一条从内存取出的指令将由转移指令来规定,而不像通常一样按顺序来取得。微程序计数器uPC工作原理如下:一般情况下,由 uPC+1来指向下条微指令在控存中的地址,只有遇到转移类微指令才会改变uPC的内容以实现微程序的转移。这种结构的优点是微指令的字长有效缩短,从而可减少控制存储器的容量。
两者在预置条件上的区别如下:(1)对于uPC,当RES=0时,uPC被清0:当IREN-=0时,在CK的上升沿,预置数据被打入uPC。指令总线(IBUS)上的数据可来自一片74HC245。当IREN=1时在CK的上升沿,uPC加1。(2)对于PC,当ELP=1时,LDPC=1,不允许PC被预置:当
ELP=0,IR3=0),IR2=0时,且Cy=l时,LDPC=非Cy,当PC被预置:当ELP=0,IR3=0,IR2=1时,且Z=1时,LDPC=非Z,当PC被预置;当ELP=0,IR3=1,IR2=X时,LDPC=0,PC被预置。