計算機組成原理————寄存器

寄存器是CPU中的一個重要組成部分,它是CPU內部的臨時存儲單元。寄存器既可以用來存放數據和地址,也可以存放控制信息或CPU工作時的狀態。在CPU中增加寄存器的數量,可以使CPU把執行程序時所需的數據儘可能地放在寄存器件中,從而減少訪問內存的次數,提高其運行速度。但是,寄存器的數目也不能太多,除了增加成本外,由於寄存器地址編碼增加也會相對增加指令的長度。CPU中的寄存器通常分爲存放數據的寄存器、存放地址的寄存器、存放控制信息的寄存器、存放狀態信息的寄存器和其他寄存器等類型。

程序狀態寄存器用於記錄運算中產生的標誌信息,典型的標誌爲有進位標誌位、零標誌位、符號標誌位、溢出標誌位和奇偶標誌等。狀態寄存器中的各個狀態標誌位是依據算術邏輯部件上次的運算結果來置位的。

地址寄存器包括程序計數器、堆棧指示器、變址寄存器和段地址寄存器等,用於記錄各種內存地址。

程序計數器用於存放指令的地址。當程序順序執行時,每取出一條指令,PC內容自動增加一個值,指向下一條要取的指令。當程序出現轉移時,則將轉移地址送入PC,然後由PC指向新的程序地址。程序計數器PC中存放的是轉移的目標地址

累加寄存器是一個數據寄存器,在運算過程中暫時存放被操作數和中間運算結果,累加器不能用於長時間地保存一個數據。

 

1、CPU中有若干寄存器,保存當前正在執行的指令的寄存器爲指令寄存器IR,保存下一條指令地址的寄存器爲程序計數器PC,用於存放存儲器中數據和指令地址的寄存器是地址寄存器存數據和指令的寄存器是數據寄存器

2、通用寄存器可用於傳送和暫存數據,也可參與算術邏輯運算,並保存運算結果。除此之外,它們還各自具有一些特殊功能。通用寄存器的長度取決於機器字長,彙編語言程序員必須熟悉每個寄存器的一般用途和特殊用途,只有這樣,才能在程序中做到正確、合理地使用它們。

3、指令寄存器(IR)用來保存當前正在執行的一條指令,不需要用戶的任何干預,所以對用戶是透明的。當執行一條指令時,先把它從內存取到數據寄存器(DR)中,然後再傳送至IR。指令劃分爲操作碼和地址碼字段,由二進制數字組成。爲了執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令譯碼器就是做這項工作的。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經譯碼後,即可向操作控制器發出具體操作的特定信號。

4、操作數在寄存器中的尋址方式爲“寄存器直接尋址”,也叫“寄存器尋址”。當操作數的內存偏移地址在寄存器中時叫“寄存器間接尋址”。

5、CPU內通用寄存器的位數與機器字節有關。

通常一個寄存器保存一個機器字長的數據,通用寄存器的最大位數等於機器字長。

6、主存地址寄存器MAR的位數與程序計數器PC寄存器相同,都取決於主存儲器的容量。

7、彙編程序員可以通過指定待執行指令的地址來設置程序計數器(PC)的值,也可用通用寄存器(GR),而IR(指令寄存器)、MAR(存儲地址寄存器)、MDR(存儲器數據寄存器)是CPU的內部工作寄存器,對程序員不可見。

8、在鍵盤接口中設置移位寄存器是爲了實現串-並轉化。

鍵盤的輸入是一位進行的,但傳入主存的信息是並行的,所以,鍵盤接口必須實現串行到並行的轉換。

9、狀態寄存器用來存放算術、邏輯運算及測試指令的結果狀態

10、在CPU中,累加寄存器可用於傳送和暫存用戶數據,爲ALU執行算術邏輯運算提供工作區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章