眾所周知CPU是中央處理器,它是控制處理中心,我們的電腦、手機等電子產(chǎn)品都離不開CPU。
那么,CPU內(nèi)部到底是如何工作的呢?我們一起來看看。
1
當(dāng)我們用電腦拼命工作的時候,殊不知電腦也在拼命的工作。
我們打開機箱,就會看見電腦的主板,也可以看到風(fēng)扇在不停地轉(zhuǎn)動,風(fēng)扇下面就是CPU,它不停地在和內(nèi)存進行數(shù)據(jù)的通訊,就像我們的大腦。
CPU是由很多很多晶體管構(gòu)成的,主要有控制器,運算器,寄存器幾個部分。而寄存器又分為數(shù)字寄存器,指令寄存器,指令地址寄存器。假設(shè)有四個數(shù)字寄存器,它們可以存放臨時的數(shù)據(jù)。右邊的是內(nèi)存,還有16個存儲位置,每個位置有8位bit。
2
CPU和內(nèi)存之間究竟是如何工作的呢?
當(dāng)我們啟動電腦時,所有的寄存器都從零開始。假設(shè)內(nèi)存存放了一個簡單的計算機程序,CPU操作的階段為“取指令”,也就是我們獲得個指令的過程。
首先,地址寄存器連到內(nèi)存,寄存器的值為零。內(nèi)存返回地址0中的值00101110。該值復(fù)制到寄存器中,然后由CPU開始解析該指令,以便執(zhí)行什么樣的操作。這個步驟稱它為“解碼”。
該前四位為操作代碼,后四位為操作代碼來自哪里?由于前四位為操作代碼0010,對應(yīng)我們的指令集,0010是讀內(nèi)存放入寄存器A中,后四位是內(nèi)存的地址1110。即十進制的數(shù)字14。
接著,用一些邏輯門電路來檢查該操作碼是否與0010匹配,輸出為1,表示匹配成功。接下來執(zhí)行該指令,也就是執(zhí)行過程。
通過邏輯門電路檢查電路輸出,打開內(nèi)存的讀取線,找到內(nèi)存1110的地址14,讀取該地址的值00000011,下一步把該值存儲到寄存器A中,我們通過數(shù)據(jù)線連接到4個數(shù)字寄存器,CPU通過指令開啟數(shù)據(jù)寄存器A允許寫入。該數(shù)據(jù)被寫入到寄存器A中,我們已完成了該指令。
現(xiàn)在關(guān)掉所有的線,準(zhǔn)備從內(nèi)存中讀取下一條指令。指令地址增加1,內(nèi)存返回地址1的值00011111,復(fù)制到指令寄存器。再到解碼的過程,通過集,前四位0001,它表示讀內(nèi)存存儲到寄存器B中,這次內(nèi)存地址是1111,對應(yīng)十進制尾數(shù)為15,到執(zhí)行的過程,開啟內(nèi)存讀取線,找到內(nèi)存15地址,讀取該地址的值。并通過數(shù)據(jù)線把該值00001110存儲到寄存器B中,最后將地址寄存器增加1,關(guān)閉所有的線。
現(xiàn)在內(nèi)存返回地址2的值10000100放入指令寄存器CPU從集開始解碼,操作碼1000是加法指令。添加兩個寄存器存儲到第二個存儲器中,該有兩種,前兩位01對應(yīng)的寄存器B,后兩位00對應(yīng)寄存器A,因此10000100是指寄存器B中的值添加到寄存器A中。
將寄存器A、B連接到運算器的輸入端,運算器執(zhí)行加法運算,關(guān)閉運算器輸出的結(jié)果保存在寄存器A中。00010001就是輸入的值是3和14兩個值的和等于17,接下來地址增加1,完成這個過程,找到內(nèi)存地址3的值。
Mitsubishi A1S62P
CACR-IR15SEB Yaskawa Motoman AC Servo Drive ServoPack
Yaskawa Motoman ServoPack / ServoDrive CACR-TS111Z1SR
Yaskawa Motoman Board JANCD-HA03
Yaskawa Motoman Robot CNC Robotics Hobby
Yaskawa Motoman Board JANCD-BB03
Yaskawa Motoman Servo Motor USASEM-03YRS21 OR 22
Yaskawa Motoman Board JANCD-1003E
Yaskawa Motoman Board JANCD-SV02C
Yaskawa / Motoman Rack, Power Supply, and I/O - takeout
JANCD-MIO04 MRC YASKAWA MOTOMAN YASNAC System Board PCB
LOT OF 2pcs. YASKAWA MOTOMAN YRFL-NND10WE ROBOT/ CNTRL
JANCD-CP11 Yaskawa Motoman CP11 CPU BOARD PCB
JANCD-MRY01-1 Yaskawa Motoman PCB MRC Motion Control
JANCD-MRY01B-1 Yaskawa Motoman PCB MRC Motion Control
Yaskawa Motoman Board JANCD-MM13B
Yaskawa Motoman Board JANCD-CP11
Yaskawa Motoman ERC Sensor Board JANCD-SL02 DF8202361
YASKAWA MOTOMAN TECH PENDENT 80NEL30R2 - HPW
Yaskawa Motoman Board JANCD-SV02B
JANCD-SV02B Yaskawa Motoman PCB ERC BOARD
JANCD-MIO04 rev B Yaskawa Motoman PCB MRC System Board
JANCD-MIO04 rev A Yaskawa Motoman PCB MRC System Board
Yaskawa motoman yasnac JANCD-MMM02-1E memory module NEW
Yaskawa motoman robot JANCD-MBB02 main drive board NEW
Yaskawa Motoman Board JANCD-MM14D
JANCD-MRY01 YASKAWA MOTOMAN PCB MOTION CONTROL
JANCD-MEW01-1 Yaskawa Motoman PCB PC BOARD
YASKAWA MOTOMAN JANCD-MBB04 BACKBOARD NEW
JANCD-MIO04 rev B Yaskawa Motoman PCB MRC System Board
JANCD-MRY01-1 YASKAWA MOTOMAN YASNAC ROBOT CARD BOARD
YASKAWA MOTOMAN 137727-1 MMI ASSY MRC CONTROL PANEL
YASKAWA MOTOMAN JANCD-SL02 ERC SENSOR BOARD
YASKAWA MOTOMAN JANCD-SP17B I/F BOARD, LOT OF 2
YASKAWA MOTOMAN JZNC-MRK12-1E CHASSIS
YASKAWA MOTOMAN YASNAC JANCD-MEW01-1 PCB PC BOARD
Mitsubishi A1S62P
CACR-IR15SEB Yaskawa Motoman AC Servo Drive ServoPack
Yaskawa Motoman ServoPack / ServoDrive CACR-TS111Z1SR
Yaskawa Motoman Board JANCD-HA03
Yaskawa Motoman Robot CNC Robotics Hobby
Yaskawa Motoman Board JANCD-BB03
Yaskawa Motoman Servo Motor USASEM-03YRS21 OR 22
Yaskawa Motoman Board JANCD-1003E
Yaskawa Motoman Board JANCD-SV02C
Yaskawa / Motoman Rack, Power Supply, and I/O - takeout
JANCD-MIO04 MRC YASKAWA MOTOMAN YASNAC System Board PCB
LOT OF 2pcs. YASKAWA MOTOMAN YRFL-NND10WE ROBOT/ CNTRL
JANCD-CP11 Yaskawa Motoman CP11 CPU BOARD PCB
JANCD-MRY01-1 Yaskawa Motoman PCB MRC Motion Control
JANCD-MRY01B-1 Yaskawa Motoman PCB MRC Motion Control
Yaskawa Motoman Board JANCD-MM13B
Yaskawa Motoman Board JANCD-CP11
Yaskawa Motoman ERC Sensor Board JANCD-SL02 DF8202361
YASKAWA MOTOMAN TECH PENDENT 80NEL30R2 - HPW
Yaskawa Motoman Board JANCD-SV02B
JANCD-SV02B Yaskawa Motoman PCB ERC BOARD
JANCD-MIO04 rev B Yaskawa Motoman PCB MRC System Board
JANCD-MIO04 rev A Yaskawa Motoman PCB MRC System Board
Yaskawa motoman yasnac JANCD-MMM02-1E memory module NEW
Yaskawa motoman robot JANCD-MBB02 main drive board NEW
Yaskawa Motoman Board JANCD-MM14D
JANCD-MRY01 YASKAWA MOTOMAN PCB MOTION CONTROL
JANCD-MEW01-1 Yaskawa Motoman PCB PC BOARD
YASKAWA MOTOMAN JANCD-MBB04 BACKBOARD NEW
JANCD-MIO04 rev B Yaskawa Motoman PCB MRC System Board
JANCD-MRY01-1 YASKAWA MOTOMAN YASNAC ROBOT CARD BOARD
YASKAWA MOTOMAN 137727-1 MMI ASSY MRC CONTROL PANEL
YASKAWA MOTOMAN JANCD-SL02 ERC SENSOR BOARD
YASKAWA MOTOMAN JANCD-SP17B I/F BOARD, LOT OF 2
YASKAWA MOTOMAN JZNC-MRK12-1E CHASSIS
YASKAWA MOTOMAN YASNAC JANCD-MEW01-1 PCB PC BOARD