❶ 計算機程序的執行過程是怎樣的
執行程序的過程:
開始執行程序時,必須先給程序計數器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被預置。