ADD操作碼
后四位ADDRESS OR REGISTERS解釋
在指令表中我們看到ADD指令的后四位 「寄存器 OR RAM地址一列中,列出來的不是之前的RAM地址而是兩位的寄存器ID」 。兩位可以表示四個數字,正好對應ABCD四個寄存器。
解碼過程
從上面的RAM中可以看到,指令地址2就是一個ADD的指令。
拆解出這個ADD要使用的兩個寄存器(后四位):0100
01表示寄存器B,00表示寄存器A。
所以1000 0100的意思是:將寄存器B的值加到寄存器A中
執行過程
加法需要利用到上一篇文章講的ALU邏輯運算單元。因為ALU需要接受輸入而控制單元可以控制素有的寄存器所以需要把ALU連接至控制單元。通過控制單元打開對應的寄存器輸出來讓ALU接受輸入,來看下面的步驟:
- 「讓ALU接受輸入」 :控制單元啟用寄存器B的允許讀取線,作為ALU的第一個輸入,控制單元啟用寄存器A的允許讀取線,作為ALU的第二個輸入
2.「告知ALU進行哪種運算操作:」 控制單元傳遞ALU中的ADD操作碼告知ALU進行加法運算
3.ALU輸出結果保存:注意 「此時的A的允許讀取還打開著并且ALU還在繼續工作,如果控制單元直接把輸出給到寄存器A,那么ALU就會不斷進行運算」 。所以**「控制單元有一個自己的寄存器暫時保存結果,接著關閉ALU,然后把值再寫入正確的寄存器A中」**
- 「取下一條指令指令地址寄存器+1」 :執行階段結束。開始下一個取指令階段,又開始下一次的循環~~
總結
用一張圖來表示。當ALU計算出結果后將結果傳送至控制單元,控制單元內部寄存器存儲這個結果,然后把ALU關閉,再把內部寄存器存儲的值給到寄存器A(這是打開的是寄存器A的允許寫入)
時鐘速度,時鐘周期
剛剛我們是一步一步進行講解的這個過程:”取指令-》解碼-》執行“,計算機中**「控制執行這個循環的節奏是通過”時鐘“來負責的。」**
「時鐘以精確的間隔,觸發電信號,控制單元用這個信號,推進CPU的內部操作,確保一切按順序執行。時鐘不能太快,因為就算是電也要有一定時間來傳輸」
定義
「CPU ”取指令-》解碼-》執行“的速度叫做”時鐘速度“。單位是赫茲HZ,赫茲是用來表示頻率的單位,一赫茲表示一個周期。下面那個Clock就是時鐘的代表」
第一個單芯片CPU-英特爾4004
這是他的微架構,可以看到和我們上面組裝的差不多。
降頻&超頻
上面的第一個單芯片CPU,它的時鐘速度達到了740千次赫茲,每秒74萬次,這已經很快了,但是現在更快~~
「一兆赫茲是一秒一百萬個時鐘周期,現在人們用的電腦和手機肯定幾千兆赫茲,也就是一秒鐘十億次時鐘周期」
超頻
「也就是修改時鐘速度,加快CPU速度」
「芯片制造商經常給CPU留一點余地,可以接受一點超頻,但是超頻過多會讓CPU過熱或產生亂碼,因為信號跟不上時鐘」
降頻省電
有時我們沒有必要讓處理器全速允許,比如用戶走開了,或者在跑一個性能要求極低的程序,把**「CPU的速度降下來,可以省很多電.」**
動態調整頻率
省電對于用電池的設備很重要,比如筆記本和手機,為了更省電,很多現代處理器可以按需求加快或減慢時鐘速度,這叫動態調整頻率.
抽象-CPU
「RAM是在CPU外面的獨立組件」 ,CPU和RAM之間**「通過”地址線“,”數據線“和”允許讀/寫線“進行通信,」** 上面提到的很多機制依然存在于現代處理器里。
-
寄存器
+關注
關注
31文章
5317瀏覽量
120003 -
cpu
+關注
關注
68文章
10824瀏覽量
211140 -
RAM
+關注
關注
8文章
1367瀏覽量
114527
發布評論請先 登錄
相關推薦
評論