Ⅰ 請敘述程序計數器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被預置。