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