現(xiàn)代CPU內部除了 運算器和控制器, 還有一個常見的組件: 寄存器 ,是CPU內部用來存放數據的一些小型的存儲區(qū)域
,用來暫時存放參與運算的數據以及運算結果。我們了解了計算機各個硬件讀寫速度的差異,其中從存儲器速度、容量和價格的關系金字塔圖發(fā)現(xiàn):最上層的寄存器速度最快,容量最小,價格也最昂貴
下面我們來看看幾個常見寄存器:
數據寄存器(DR)
數據寄存器(Data Register,DR)又稱數據緩沖寄存器,數據寄存器用于存放操作數,其位數應滿足多數數據類型的數值范圍,其主要功能是作為CPU和主存、外設之間信息傳輸的中轉站,用以彌補CPU和主存、外設之間操作速度上的差異。
數據寄存器用來暫時存放由主存儲器讀出的一條指令或一個數據字;反之,當向主存存入一條指令或一個數據字時,也將它們暫時存放在數據寄存器中。
數據寄存器的作用是 :
- 作為CPU和主存、外圍設備之間信息傳送的中轉站;
- 彌補CPU和主存、外圍設備之間在操作速度上的差異;
- 在單累加器結構的運算器中,數據寄存器還可兼作操作數寄存器。
地址寄存器(AR)
地址寄存器(Address Register,AR)用來保存CPU當前所訪問的主存單元的地址。其本身可以具有通用性,也可用于特殊的尋址方式,如用于基址尋址的段指針(存放基地址)、用于變址尋址的變址寄存器和用于堆棧尋址的棧指針。地址寄存器的位數必須足夠長,以滿足最大的地址范圍。
由于在主存和CPU之間存在操作速度上的差異,所以必須使用地址寄存器來暫時保存主存的地址信息,直到主存的存取操作完成為止。
程序狀態(tài)寄存器(PSW)
程序狀態(tài)寄存器(PSW),用來保存各類運算指令或測試指令的結果的各種狀態(tài)信息 除此之外,程序狀態(tài)字寄存器還用來保存中斷和系統(tǒng)工作狀態(tài)等信息,以便CPU和系統(tǒng)及時了解機器運行狀態(tài)和程序運行狀態(tài)。程序狀態(tài)寄存器 是構成 運算器的重要組成部分
累加寄存器(AC)
累加寄存器通常簡稱累加器(AC),是一個通用寄存器。
累加器的功能是:當運算器的算術邏輯單元ALU
執(zhí)行算術或邏輯運算時,為ALU提供一個工作區(qū),可以為ALU暫時保存一個操作數或運算結果。顯然,運算器中至少要有一個累加寄存器。
乘商寄存器(MQ)
在運算器中,乘商寄存器主要負責數據的乘法與除法運算并可保存運算結果,是運算器的基本組成部分,是運算器三個基本寄存器之一。
程序計數器(PC)
程序計數器(PC),具有寄存信息和計數兩種功能,一般用來 存放下一條指令在主存儲器中的地址 。
在程序執(zhí)行之前,首先必須將程序的首地址,即程序第一條指令所在主存單元的地址送入PC,因此PC的內容即是從主存提取的第一條指令的地址。
當執(zhí)行指令時,CPU能自動遞增
PC的內容,使其始終保存將要執(zhí)行的下一條指令的主存地址,為取下一條指令做好準備。但是,當遇到轉移指令時,下一條指令的地址將由轉移指令的地址碼字段來指定,而不是像通常的那樣通過順序遞增PC的內容來取得。
指令寄存器(IR)
指令寄存器(Instruction Register,IR), 用來保存當前欲執(zhí)行的指令 。
當執(zhí)行一條指令時,首先把該指令從主存讀取到數據寄存器中,然后再傳送至指令寄存器。
指令包括操作碼和地址碼兩個字段,為了執(zhí)行指令,必須對操作碼進行測試,識別出所要求的操作,指令譯碼器 就是完成這項工作的。指令譯碼器對指令寄存器的操作碼部分進行譯碼,以產生指令所要求操作的控制電位,并將其送到微操作控制線路上,在時序部件定時信號的作用下,產生具體的操作控制信號。
指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經譯碼,即可向操作控制器發(fā)出具體操作的特定信號。
MAR、MDR
另外寄存器不只存在CPU中,存儲器中也存在寄存器,比如MAR、MDR
- MAR:存儲器地址寄存器,用于存放將被訪問的存儲單元的地址。作用和AR類似
- MDR:存儲器數據寄存器,用于存放欲存入存儲器中的數據或最近從存儲器中讀出的數據。作用和DR類似
其中MAR位數反映儲存單元的個數,即最多能表示多少個不同的狀態(tài);MDR位數=儲存字長=每個儲存單元的大小
小結
將上面各個寄存器組合起來,我們可以畫出一幅計算機更細化的組成圖:
當存儲器開始讀操作的時候,存儲器將指定地址單元內的指令讀至MDR,再由MDR送至IR。IR將指令中的操作碼送到CU中,用來分析指令并發(fā)出各種微操作命令序列。再加指令中地址碼送到MAR,用來去操作數
在CPU內部必須給ALU提供數據,因此ALU必須可直接訪問MDR,ALU的外圍還可以有另一些寄存器AC、MQ、X,這些寄存器用于ALU的輸入、輸出以及用于和MDR及用戶可見寄存器交換數據。
在CPU的控制和狀態(tài)寄存器中,還有用來存放程序狀態(tài)字PSW的寄存器,該寄存器用來存放條件碼和其他狀態(tài)信息。在具有中斷系統(tǒng)的機器中還有中斷標記寄存器等等。
-
cpu
+關注
關注
68文章
10854瀏覽量
211578 -
緩沖
+關注
關注
0文章
52瀏覽量
17819 -
數據寄存器
+關注
關注
0文章
33瀏覽量
7750
發(fā)布評論請先 登錄
相關推薦
評論