一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

CPU內(nèi)部到底是如何工作的呢?

h1654155971.8456 ? 來源:巢影字幕組 ? 作者:巢影字幕組 ? 2021-04-04 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

眾所周知CPU是中央處理器,它是控制處理中心,我們的電腦手機等電子產(chǎn)品都離不開CPU。

那么,CPU內(nèi)部到底是如何工作的呢?我們一起來看看。

1

當我們用電腦拼命工作的時候,殊不知電腦也在拼命的工作。

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

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

2

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

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

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

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

3fb4a33e-8cec-11eb-8b86-12bb97331649.gif

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

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

408617a2-8cec-11eb-8b86-12bb97331649.gif

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

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

40f97de6-8cec-11eb-8b86-12bb97331649.gif

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

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

413fd3fe-8cec-11eb-8b86-12bb97331649.gif

3

我們剛剛運行的計算機的程序,它從內(nèi)存中加載兩個值相加,然后把結(jié)果放入內(nèi)存,也就是CPU的取指令、解碼、執(zhí)行過程。我們電腦的系統(tǒng)是要很多很多的小程序組成,CPU也就不斷的在循環(huán)這個過程。

每個CPU執(zhí)行這個過程的速度不一樣,這個速度是由CPU主頻即CPU工作頻率決定,它決定著CPU的快慢。

原文標題:CPU是如何做到數(shù)據(jù)通信的?

文章出處:【微信公眾號:EDA365】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

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

    關注

    68

    文章

    11080

    瀏覽量

    217128
  • 通信
    +關注

    關注

    18

    文章

    6206

    瀏覽量

    137839
  • 中央處理器
    +關注

    關注

    1

    文章

    126

    瀏覽量

    16863

原文標題:CPU是如何做到數(shù)據(jù)通信的?

文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?

    編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
    發(fā)表于 07-11 07:22

    智能盒子到底是什么東西?昇騰310深度測評:為何能成為行業(yè)新寵?

    讓人摸不著頭腦的“智能盒子”。各位搞技術、搞工程的朋友,咱們在工作中是不是經(jīng)常聽到“智能盒子”這個說法?每次聽到這個詞,我猜很多人心里都在犯嘀咕:這東西到底是個啥玩意兒?難道就是個裝了點智能軟件的普通盒子?它到底有啥用?能給咱們
    的頭像 發(fā)表于 04-27 10:46 ?592次閱讀
    智能盒子<b class='flag-5'>到底是</b>什么東西?昇騰310深度測評:為何能成為行業(yè)新寵?

    ADS1298 tdr的值到底是多大,跟采樣率等有沒有什么關系?

    我想請問一下, 1、tdr的值到底是多大,跟采樣率等有沒有什么關系。數(shù)據(jù)手冊上只找到建立時間,好像沒有這個時間的值,28頁那個最小SCLK時鐘為110khz是怎么計算的。 2、 tdr到底是
    發(fā)表于 02-13 06:11

    ADS1298的操作溫度范圍到底是多少?

    ADS1298是 0°Cto +70°C;工業(yè)級ADS1298I 是 –40°Cto +85°C。 現(xiàn)在不知道ADS1298的操作溫度范圍到底是多少?
    發(fā)表于 02-10 07:19

    ADS1298ECG-FE原理圖上看見很多NI的符號, 到底是什么意思

    我們在ADS1298ECG-FE原理圖上看見很多NI的符號, 到底是什么意思? 具體的值是多少? 如下面兩個圖所示: R1, R2電阻的值是多少? 這個比較重要。 R59 - R66又是多少? 麻煩你們回答一下。 謝
    發(fā)表于 02-05 08:16

    ADS1278的參考電壓的要求到底是怎樣的?

    <27MHz為例,Vrefp輸入范圍為0.5到3.1V 而后文又提到,參考輸入電壓的范圍為AGND-0.4v to AVDD+0.4v 問題1. 這個參考電壓的要求到底是怎樣的? 問題2.
    發(fā)表于 01-23 08:02

    電流是ADS1256內(nèi)部采樣電容的充電電流,那么方向應該是流進輸入腳而不是流出,這到底是怎么回事?

    這個電流是ADS1256內(nèi)部采樣電容的充電電流,那么方向應該是流進輸入腳而不是流出,這到底是怎么回事?請大牛解釋下
    發(fā)表于 01-16 07:50

    TLV320AIC3254內(nèi)部中的ADC處理模塊和minidsp到底是什么關系?

    我想請問一下幾個問題: 1.3254內(nèi)部中的ADC處理模塊和minidsp到底是什么關系,是并列的還是串行關系?還是ADC處理模塊就是minidsp特殊情況下的部分? 2.minidsp的抽取因子該怎么理解,到底怎么使用?
    發(fā)表于 10-31 06:02

    請問PCM2903C的溫度范圍到底是多少?

    如下圖,PCM2903C的溫度范圍到底是多少? 如果用在-25~85℃,是否會出問題?
    發(fā)表于 10-14 07:14

    放大器的共模輸入電壓到底是指什么?

    請問放大器的共模輸入電壓到底是指什么?
    發(fā)表于 09-19 07:17

    功放和運放到底是什么區(qū)別?

    想請問一下功放和運放到底是什么區(qū)別,感覺只要接一個小負載,運放的輸出電流也可以很大???到底有什么區(qū)別啊
    發(fā)表于 09-10 07:00

    請問LMV772到底是雙電源還是單電源???

    請問LMV772到底是雙電源還是單電源啊?手冊前面寫的太模糊了。求指教
    發(fā)表于 09-09 07:10

    運放的輸入電容到底是什么?

    我想請問一下運放的輸入電容到底是什么?
    發(fā)表于 09-04 06:52

    LMH6502的輸入電壓到底是多少?

    LMH6502的輸入電壓到底是多少,我稍微給如大一點點的信號,放大不行還能接受,我衰減都失真,
    發(fā)表于 08-27 07:02

    運放旁路電容必須靠近芯片引腳的原因到底是什么?

    運放旁路電容必須靠近芯片引腳的原因到底是什么?有的說是怕走線的電感與旁路電容形成諧振,旁路電容靠近運放的時候走線的電感不應該更大了嗎(走線越長,走線的寄生電感也就越大)
    發(fā)表于 08-01 06:56