編程必備基礎知識|電腦組成原理篇(09):CPU的控制器和運算器
- 2019 年 10 月 3 日
- 筆記
電腦基礎方面的知識,對於一些非科班出身的同學來講,一直是他們心中的痛,而對於科班出身的同學,很多同學在工作之後,也意識到自身所學知識的不足與欠缺,想回頭補補基礎知識。關於電腦基礎的課程很多,內容繁雜,但無論是相關書籍還是大學課程,都有點脫離工作。特別地,電腦基礎知識體系龐雜,想要從零學習或者複習都耗時耗力。
有鑒於此,本系列文章將帶你更快的補足編程必備基礎知識,涵蓋電腦領域三大基礎知識:電腦組成原理、作業系統、電腦網路,這些都是大學電腦課程裡面最重要的內容。文章對這些內容做了提煉和總結,摒棄了作為程式設計師不需要掌握的知識。
目的是:
- 幫助大家形成電腦知識的結構體系
- 幫助大家理解電腦底層原理
- 幫助大家在工作實踐中借鑒其中的優秀設計
本篇是電腦組成原理之CPU的控制器和運算器
歡迎關注、轉發、收藏、評論
控制器
控制器是CPU的組成部分,用於協調和控制電腦的運行,它的構成如下圖所示:
下面逐一簡單介紹。
程式計數器(Program Counter)
簡稱PC,用來存儲從記憶體提取的下一條指令的地址。當CPU執行一條指令時,首先需要根據PC中存放的指令地址,將指令由記憶體取到指令暫存器中,此過程稱為「取指令」。與此同時,PC中的地址或自動加1或由轉移指針給出下一條指令的地址,此後經過分析指令,執行指令,完成第一條指令的執行,而後根據PC取出第二條指令的地址,如此循環,執行每一條指令,保證程式能夠連續地執行下去。
時序發生器
用於發送時序脈衝,CPU依據不同的時序脈衝有節奏地進行工作,類似於CPU的節拍器。
指令編譯器
用於翻譯指令及控制傳輸指令包含的數據。
指令暫存器
用於快取從記憶體或高速快取里取出的指令,CPU執行指令時,就可以從指令暫存器中取出相關指令來進行執行。
主存地址暫存器
保存當前CPU正要訪問的記憶體單元的地址,通過匯流排跟主存通訊。
主存數據暫存器
保存當前CPU正要讀或寫的主存數據,通過匯流排與主存通訊。
通用暫存器
用於暫時存放或傳送數據或指令。
運算器
運算器是用來進行數據運算加工的。
數據緩衝器
分為輸入緩衝和輸出緩衝,輸入緩衝暫時存放外設送過來的數據,輸出緩衝暫時存放送往外設的數據。
ALU
算數邏輯單元,是運算器的主要部件,能完成常見的位運算(左移、右移、與、或、非等)和算術運算(加減乘除等)。
狀態字暫存器
存放運算狀態(條件碼、進位、溢出、結果正負等)和運算控制資訊。
通用暫存器
暫時存放或傳送數據或指令,保存ALU的運算中間結果。