cpu主要由什么組成
CPU 主要由以下幾部分組成:
運算器
- 算術邏輯單元(ALU):是運算器的核心部件,主要完成二進制代碼的定點算術和邏輯運算,如加法、減法、乘法、除法等算術運算,以及與、或、非、異或等邏輯運算。它就像是一個多功能的計算器,能夠對數據進行各種基本的數學和邏輯處理.
- 累加寄存器(AC):通常簡稱為累加器,是一個通用寄存器。當運算器的算術邏輯單元執行算術或邏輯運算時,為 ALU 提供一個工作區。例如在進行減法運算時,先將被減數暫存在累加器中,再從內存儲器中取出減數,然后與累加器中的內容相減,最后將所得結果送回累加器中.
- 數據緩沖寄存器(DR):在對內存儲器進行讀 / 寫操作時,用于暫時存放由內存儲器讀 / 寫的一條指令或一個數據字,將不同時間段內讀 / 寫的數據隔離開來。其主要作用是作為 CPU 和內存、外部設備之間數據傳送的中轉站,以及在操作速度上的緩沖。在單累加器結構的運算器中,數據緩沖寄存器還可兼作為操作數寄存器.
- 狀態條件寄存器(PSW):保存由算術指令和邏輯指令運行或測試的結果建立的各種條件碼內容,主要分為狀態標志和控制標志,例如運算結果進位標志(C)、運算結果溢出標志(V)、運算結果為 0 標志(Z)、運算結果為負標志(N)、中斷標志(I)、方向標志(D)和單步標志等。這些標志通常分別由 1 位觸發器保存,反映了當前指令執行完成之后的狀態.
控制器
- 指令寄存器(IR):用來存放當前正在執行的一條指令。當執行一條指令時,通常先將其從主存儲器讀出到主存數據寄存器中,然后再送往指令寄存器中。指令譯碼器會根據指令寄存器中的內容產生各種微操作指令,以控制其他組成部件工作,完成所需的功能.
- 程序計數器(PC):又稱為指令計數器或指令指針 IP,用于存放下一條要執行指令的地址,決定了程序執行的先后順序。在開始執行程序前,須將程序的起始地址送入 PC,以便從程序的第一條指令開始執行。當現行指令執行完畢,通常由程序計數器提供后繼指令地址,并送入主存的地址寄存器。當遇到轉移指令時,需改變程序的執行順序,則由轉移指令形成轉移地址送往 PC 作為后繼地址.
- 地址寄存器(AR):保存當前 CPU 所訪問的內存單元的地址。由于內存和 CPU 存在著操作速度上的差異,所以需要使用地址寄存器保持地址信息,直到內存的讀 / 寫操作完成為止.
- 指令譯碼器(ID):對指令中的操作碼字段進行分析解釋,識別該指令規定的操作,并向操作控制器發出具體的控制信號,以控制各部件工作,完成所需的功能.
- 時序部件:提供時序控制信號,確保計算機各個操作按照一定的時間順序進行,類似于樂隊中的指揮棒,協調各部件的工作節奏.
寄存器組
- 通用寄存器:CPU 內部通常設置有一組通用寄存器,每個寄存器都可以提供多種用途。它們可為 ALU 提供操作數并存放運算結果,也可用作變址寄存器、地址指針和計數器等 。通用寄存器本身在邏輯上只具有接收信息、存儲信息和發送信息的功能,但通過編程以及與 ALU 的配合可以實現多種功能.
- 控制寄存器:包括存儲器地址寄存器(MAR)、存儲區數據寄存器(MDR)等。MAR 存放被訪問單元的地址,MDR 存放存儲器中的數據或從存儲器讀出的數據,它們在 CPU 與主存之間的數據傳輸過程中起著重要作用.
總線
- 內部總線:連接 CPU 內部的各個部件,如 ALU、寄存器、控制器等,為它們之間的信息傳送提供通路,使各部件能夠相互通信和協同工作.
- 系統總線:用來連接 CPU、主存儲器與 I/O 接口,通常包括三組總線,即數據總線、地址總線和控制總線。數據總線主要傳送各大部件間的數據信息,如指令代碼、操作數、命令字或狀態字等;地址總線用于傳送主存單元地址碼或 I/O 端口地址;控制總線用于傳送控制、狀態信息,其中有 CPU 發出的控制信號,也有送入 CPU 的狀態信號.
高速緩存(Cache)
現代 CPU 通常還包含高速緩存,它是位于 CPU 和主存之間的一種高速存儲器,用于存儲 CPU 近期可能會頻繁訪問的數據和指令。高速緩存的存在大大提高了 CPU 訪問數據的速度,減少了 CPU 等待數據從主存傳輸的時間,從而提高了整個計算機系統的性能.

