0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用ALU,RAM,寄存器打造一個CPU 3

jf_78858299 ? 來源:北洋洋洋 ? 作者:北洋 ? 2023-01-30 16:01 ? 次閱讀

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接受輸入,來看下面的步驟:

  1. 「讓ALU接受輸入」 :控制單元啟用寄存器B的允許讀取線,作為ALU的第一個輸入,控制單元啟用寄存器A的允許讀取線,作為ALU的第二個輸入

2.「告知ALU進行哪種運算操作:」 控制單元傳遞ALU中的ADD操作碼告知ALU進行加法運算

3.ALU輸出結(jié)果保存:注意 「此時的A的允許讀取還打開著并且ALU還在繼續(xù)工作,如果控制單元直接把輸出給到寄存器A,那么ALU就會不斷進行運算」 。所以**「控制單元有一個自己的寄存器暫時保存結(jié)果,接著關(guān)閉ALU,然后把值再寫入正確的寄存器A中」**

  1. 「取下一條指令指令地址寄存器+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)代處理器里。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5268

    瀏覽量

    119644
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10769

    瀏覽量

    210422
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1350

    瀏覽量

    114370
收藏 人收藏

    評論

    相關(guān)推薦

    解析CPU中的寄存器

    8位寄存器在16位寄存器中,而16位寄存器在32位寄存器中。
    發(fā)表于 09-19 10:10 ?3792次閱讀

    CPU寄存器詳解

    計算機是種數(shù)據(jù)處理設(shè)備,它由CPU和內(nèi)存以及外部設(shè)備組成。CPU負責(zé)數(shù)據(jù)處理,內(nèi)存負責(zé)存儲,外部設(shè)備負責(zé)數(shù)據(jù)的輸入和輸出,它們之間通過總線連接在起。
    發(fā)表于 06-04 20:32 ?1.1w次閱讀
    <b class='flag-5'>CPU</b><b class='flag-5'>寄存器</b>詳解

    寄存器變量

    C語言中使用關(guān)鍵字register來聲明局部變量為寄存器變量。寄存器變量的值會被存放在CPU寄存器中,每當需要使用它們時,CPU就可以直接
    發(fā)表于 06-03 10:13 ?2295次閱讀

    8051單片機中的寄存器是算CPU還是RAM

    可以劃分CPURAM部分,但CPURAM有交叉的部分(比如寄存器組等) 4、CPU部分
    發(fā)表于 06-14 15:42 ?3970次閱讀

    關(guān)于Block RAM寄存器輸出

    關(guān)于Block RAM寄存器輸出,我們在《通過RTL改善時序的技巧之Block RAM的輸出》中介紹過。如果我們在時序報告中關(guān)鍵路徑上看到這樣條信息: 在第
    的頭像 發(fā)表于 03-26 15:50 ?1756次閱讀
    關(guān)于Block <b class='flag-5'>RAM</b>的<b class='flag-5'>寄存器</b>輸出

    CS,IP和PC寄存器

    )。CPU在執(zhí)行指令時,通過代碼寄存器CS和指令指針寄存器IP(instruction Pointer)來確定要執(zhí)行的下條指令的內(nèi)存地址。CS:IP 兩
    發(fā)表于 12-17 18:31 ?2次下載
    CS,IP和PC<b class='flag-5'>寄存器</b>

    如何在VHDL中實現(xiàn)簡單的寄存器

    寄存器是設(shè)備中用于存儲數(shù)據(jù)的常見電子元件。這些是最小的數(shù)據(jù)保存元素,用于存儲 CPU 正在處理的操作數(shù)或指令。有不同類型的寄存器,即指令寄存器、程序
    發(fā)表于 07-29 16:48 ?4442次閱讀
    如何在VHDL中實現(xiàn)<b class='flag-5'>一</b><b class='flag-5'>個</b>簡單的<b class='flag-5'>寄存器</b>

    如何使用ALU,RAM,寄存器打造CPU 1

    CPU簡介 **「計算機的心臟是中央處理單元,簡稱“CPU”」** 。這篇文章就利用前幾篇文章中提到過的ALU,RAM,寄存器組件做
    的頭像 發(fā)表于 01-30 15:56 ?763次閱讀

    如何使用ALU,RAM,寄存器打造CPU 2

    CPU簡介 **「計算機的心臟是中央處理單元,簡稱“CPU”」** 。這篇文章就利用前幾篇文章中提到過的ALU,RAM,寄存器組件做
    的頭像 發(fā)表于 01-30 15:56 ?709次閱讀
    如何使用<b class='flag-5'>ALU</b>,<b class='flag-5'>RAM</b>,<b class='flag-5'>寄存器</b><b class='flag-5'>打造</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>CPU</b> 2

    cpu寄存器和存儲的區(qū)別

    cpu寄存器和存儲的區(qū)別 寄存器存在于CPU中,速度很快,數(shù)目有限;存儲是內(nèi)存,速度稍慢,但
    發(fā)表于 03-21 15:12 ?1299次閱讀

    計算機寄存器和存儲

    存儲,CPU都在片內(nèi),所以寄存器是片內(nèi)RAM
    發(fā)表于 03-21 15:22 ?1940次閱讀

    寄存器和存儲如何區(qū)分

    寄存器是計算機硬件中最快、最小、最常用的存儲。它是CPU內(nèi)部的存儲,通常作為指令和數(shù)據(jù)的存儲和暫存空間。在CPU中,
    的頭像 發(fā)表于 04-09 18:43 ?1.4w次閱讀

    用于RISC-V處理的三重模塊化冗余ALU寄存器文件的設(shè)計示

    用于RISC-V處理的三重模塊化冗余ALU寄存器文件的設(shè)計示例 演講ppt分享
    發(fā)表于 07-17 16:34 ?2次下載

    CPU的6主要寄存器

    CPU寄存器是中央處理內(nèi)的組成部分,是有限存貯容量的高速存貯部件。寄存器CPU內(nèi)部的元件,包括通用
    的頭像 發(fā)表于 02-03 15:15 ?3284次閱讀

    寄存器分為基本寄存器和什么兩種

    寄存器是計算機中用于存儲數(shù)據(jù)的高速存儲單元,它們是CPU內(nèi)部的重要組成部分。寄存器可以分為基本寄存器和擴展寄存器兩種類型。
    的頭像 發(fā)表于 07-12 10:31 ?829次閱讀