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

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

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

CPU和內(nèi)存之間究竟是如何工作的

h1654155282.3538 ? 來源:電巢 ? 作者:電巢 ? 2021-01-01 17:51 ? 次閱讀

我們知道CPU是中央處理器,它是控制處理中心,我們的電腦手機(jī)電子產(chǎn)品都離不開CPU。那么,CPU內(nèi)部到底是如何工作的呢?我們一起來看看。

當(dāng)我們?cè)陔娔X旁工作的時(shí)候,電腦其實(shí)也不斷的在工作。

我們打開機(jī)箱,就會(huì)看見電腦的主板,也可以看到電風(fēng)扇而不停地在轉(zhuǎn)動(dòng),風(fēng)扇下面的是CPU,它不停地在和內(nèi)存進(jìn)行數(shù)據(jù)的通訊,就像我們的大腦。

CPU是由很多很多晶體管構(gòu)成的。它主要有控制器,運(yùn)算器,寄存器幾個(gè)部分,寄存器有數(shù)字寄存器,指令寄存器,指令地址寄存器。我們假設(shè)有四個(gè)數(shù)字寄存器,它們可以存放臨時(shí)的數(shù)據(jù)。右邊的是內(nèi)存,還有16個(gè)存儲(chǔ)位置,每個(gè)位置有8位bit。

CPU和內(nèi)存之間究竟是如何工作的呢?

當(dāng)我們啟動(dòng)電腦時(shí),所有的寄存器都從零開始。假設(shè)內(nèi)存存放了一個(gè)簡(jiǎn)單的計(jì)算機(jī)程序,CPU操作的第一階段為“取指令”,也就是我們獲得第一個(gè)指令的過程。

首先,指定地址寄存器連到內(nèi)存,寄存器的值為零。內(nèi)存返回地址0中的值00101110。該值復(fù)制到指定寄存器中,然后由CPU開始解析該指令,以便執(zhí)行什么樣的操作。這個(gè)步驟稱它為“解碼”。

該指定前四位為操作代碼,后四位為操作代碼來自哪里?由于前四位為操作代碼0010,對(duì)應(yīng)我們的指令集,0010是讀內(nèi)存放入寄存器A中,后四位是內(nèi)存的地址1110。即十進(jìn)制的數(shù)字14。

pIYBAF_q_FSAaa0JAAC-zKB7Zu8177.png

接著,用一些邏輯門電路來檢查該操作碼是否與0010匹配,輸出為1,表示匹配成功。接下來執(zhí)行該指令,也就是執(zhí)行過程。

通過邏輯門電路檢查電路輸出,打開內(nèi)存的讀取線,找到內(nèi)存1110的地址14,讀取該地址的值00000011,下一步把該值存儲(chǔ)到寄存器A中,我們通過數(shù)據(jù)線連接到4個(gè)數(shù)字寄存器,CPU通過指令開啟數(shù)據(jù)寄存器A允許寫入。該數(shù)據(jù)被寫入到寄存器A中,我們已完成了該指令。

o4YBAF_q_FyAbKtqAAD0VMzedtk423.png

現(xiàn)在關(guān)掉所有的線,準(zhǔn)備從內(nèi)存中讀取下一條指令。指令地址增加1,內(nèi)存返回地址1的值00011111。復(fù)制到指令寄存器。再到解碼的過程,通過指定集,指定前四位0001,它表示讀內(nèi)存存儲(chǔ)到寄存器B中,這次內(nèi)存地址是1111,對(duì)應(yīng)十進(jìn)制尾數(shù)為15,到執(zhí)行的過程,開啟內(nèi)存讀取線,找到內(nèi)存15地址,讀取該地址的值。并通過數(shù)據(jù)線把該值00001110存儲(chǔ)到寄存器B中,最后將指定地址寄存器增加1,關(guān)閉所有的線。

現(xiàn)在內(nèi)存返回地址2的值10000100放入指令寄存器CPU從指定集開始解碼,操作碼1000是加法指令。添加兩個(gè)寄存器存儲(chǔ)到第二個(gè)存儲(chǔ)器中,該指定有兩種,前兩位01對(duì)應(yīng)的寄存器B,后兩位00對(duì)應(yīng)寄存器A,因此10000100是指寄存器B中的值添加到寄存器A中。

o4YBAF_q_GKAdX4dAAF_HvFj_Lg823.png

將寄存器A、B連接到運(yùn)算器的輸入端,運(yùn)算器執(zhí)行加法運(yùn)算,關(guān)閉運(yùn)算器輸出的結(jié)果保存在寄存器A中。00010001就是輸入的值是3和14兩個(gè)值的和等于17,接下來指定地址增加1,完成這個(gè)過程,找到內(nèi)存地址3的值。

我們打開指令集開始解碼,0100表示讀A寄存器到內(nèi)存,1101對(duì)應(yīng)內(nèi)存地址是13,然后將寄存器A的值,通過數(shù)據(jù)線送到內(nèi)存13的地址上。

pIYBAF_q_GmAKs9-AAEuYzuaM_E399.png

我們剛剛運(yùn)行的計(jì)算機(jī)的程序,它從內(nèi)存中加載兩個(gè)值相加,然后把結(jié)果放入內(nèi)存,也就是CPU的取指令、解碼、執(zhí)行過程。我們電腦的系統(tǒng)是要很多很多的小程序組成,CPU也就不斷的在循環(huán)這個(gè)過程。每個(gè)CPU執(zhí)行這個(gè)過程的速度不一樣,這個(gè)速度是由CPU主頻即CPU工作頻率決定,它決定著CPU的快慢。
責(zé)任編輯人:CC

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

    關(guān)注

    68

    文章

    10698

    瀏覽量

    209343
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2902

    瀏覽量

    73536
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    圖解:IGBT究竟是什么?

    圖解:IGBT究竟是什么? IGBT究竟是什么?
    發(fā)表于 08-10 08:01

    S參數(shù)究竟是什么?

    S參數(shù)究竟是什么?起決定性作用的S參數(shù)將S參數(shù)擴(kuò)展到多端口器件和差分器件
    發(fā)表于 03-01 11:46

    我們仿真DDR究竟是仿真什么

    我們仿真DDR究竟是仿真什么?
    發(fā)表于 03-04 07:32

    電感飽和究竟是什么

    電感飽和究竟是什么
    發(fā)表于 03-11 08:13

    真正軟件定義無線電究竟是怎樣的?

    真正軟件定義無線電究竟是怎樣的?
    發(fā)表于 05-14 06:47

    分貝究竟是什么?如何去理解它?

    分貝究竟是什么?如何去理解它?
    發(fā)表于 05-31 07:05

    究竟是選擇eMMC5.1還是eMCP好?

    eMMC是什么?eMCP又是什么?eMMC和eMCP各有哪些優(yōu)點(diǎn)?究竟是選擇eMMC5.1還是eMCP好?
    發(fā)表于 06-18 08:10

    究竟是主板決定了內(nèi)存的頻率?還是CPU決定?

    什么是內(nèi)存頻率?內(nèi)存頻率限制主要來自哪幾個(gè)方面?內(nèi)存頻率究竟是誰說了算?主板還是CPU?
    發(fā)表于 06-18 09:52

    一文讀懂eMMC究竟是啥?

    eMMC究竟是啥?eMMC長(zhǎng)什么樣?eMMC用在哪?主要是干嘛用的?eMMC究竟是如何工作的呢?
    發(fā)表于 06-18 06:04

    SLC、MLC、Parallel NOR Flash等究竟是什么意思?

    什么是Flash Memory?Flash Memory主要可以分為哪幾類?SLC、MLC、Parallel NOR Flash等究竟是什么意思?它們又有什么不同?
    發(fā)表于 06-18 09:11

    spec究竟是什么?有誰可以分享一下嗎

    spec究竟是什么?哪位同行可以幫忙分享下DFI 5.0的spec?
    發(fā)表于 06-21 07:16

    無片外電容LDO究竟是什么?

    無片外電容LDO究竟是什么?有誰清楚嗎
    發(fā)表于 06-22 08:07

    retain,copy與assign究竟是有什么區(qū)別呢

    retain,copy與assign究竟是有什么區(qū)別呢?
    發(fā)表于 09-30 09:25

    經(jīng)轉(zhuǎn)速環(huán)PI之后輸出的究竟是什么

    為什么經(jīng)轉(zhuǎn)速環(huán)PI之后的輸出量是電流?經(jīng)轉(zhuǎn)速環(huán)PI之后輸出的究竟是什么?
    發(fā)表于 10-08 07:12

    S參數(shù)究竟是什么?

    S參數(shù)究竟是什么?
    發(fā)表于 11-01 08:24 ?2次下載
    S參數(shù)<b class='flag-5'>究竟是</b>什么?