CPU簡介
「計算機(jī)的心臟是中央處理單元,簡稱“CPU”」 。這篇文章就利用前幾篇文章中提到過的ALU,RAM,寄存器組件做一個CPU。
CPU負(fù)責(zé)運行程序, 「程序是由一個個操作組成的,這些操作叫做指令」 ,因為他們“指示”計算機(jī)要做什么.
CPU能做什么
「數(shù)學(xué)計算指令」 :讓ALU去做加減乘除或者更復(fù)雜的數(shù)學(xué)計算
「內(nèi)存指令」 :CPU會和內(nèi)存(RAM)通信,然后操作內(nèi)存進(jìn)行讀寫值
組裝CPU零件
16位內(nèi)存條
首先把上一篇文章的RAM拿出來(只有16個地址意味著是每個內(nèi)存是16位的,每個地址又可以存8位可以得出是8個內(nèi)存組裝在一起的;因此這個RAM可以看到是 「由8個16位內(nèi)存組成」 )。
「內(nèi)存條的尋址空間意味著每塊內(nèi)存可以可以存儲的位數(shù),內(nèi)存條中的每個地址可以存多少位又是由多少個內(nèi)存組成。」
可以看到每個地址都存儲著8位,在后面講解指令表的時候要注意這八位數(shù)字的表示方式。「前四位代表操作碼,后四位代表的是地址OR寄存器」
四個八位的寄存器
回顧一下:
上一篇文章中講到八位的寄存器無非是把八個鎖存器鏈接在一起,8個數(shù)據(jù)輸入線,8個數(shù)據(jù)輸出線,還有一個鏈接著所有鎖存器中的允許寫入線。總共17條線
寄存器的作用:用來 「臨時存儲數(shù)據(jù)」 和操作數(shù)據(jù)
指令表
數(shù)據(jù)是以二進(jìn)制值存儲在內(nèi)存里,程序也可以在內(nèi)存里。
指令: 「所有CPU支持的指令都會分配一個指令I(lǐng)D」 也就是表中的第一個INSTRUCTION中的LOAD_A
描述:就是描述這個指令I(lǐng)D是用來做什么操作的
「4-BIT OPCODE」 (操作碼):「這個指令要做的操作,用4位的操作碼表示」
「ADDRESS OR REGISTERS」 (地址OR 寄存器):也是4位,表示的是 「操作碼需要使用的地址或者寄存器」 (比如加載一個內(nèi)存里的值放入寄存器中就需要指定打開的是哪個內(nèi)存地址)
「在之前我們拿出RAM,可以看到每個地址都存儲著8位數(shù)字,前四位代表的就是操作碼,后四位代表的是地址OR寄存器」 「.」
「之后我們會模擬CPU的執(zhí)行過程,要執(zhí)行怎樣的操作以及怎么樣執(zhí)行就是通過RAM中存儲的這八位數(shù)字來運行的?!?/strong>
兩個八位的寄存器
「指令地址寄存器」 :追蹤程序運行到哪里了。用于通過地址**「定位到內(nèi)存條中的哪條指令,也就是存儲當(dāng)前指令的內(nèi)存地址ADDRESS」**
「指令寄存器」 :用于 「存儲當(dāng)前運行的指令DATA」 。通過指令地址寄存器讀取RAM中指定ADDRESS的DATA然后并寫入這個寄存器
開始運行
啟動計算機(jī)時,所有的寄存器都是0.
在RAM中放了一個程序(ADDRESS,DATA),現(xiàn)在就是要過一遍運行這個程序的過程
取指令階段
該階段負(fù)責(zé)拿到指令,即**「指令地址寄存器讀取RAM中對應(yīng)地址的值復(fù)制到指令寄存器」**
1.首先將 「指令地址寄存器連接到RAM」 中(ADDRESS INPUT),寄存器的初始值為0,因此會去讀取RAM中ADDRESS為0的DATA
2.「DATA會被復(fù)制到指令寄存器中,現(xiàn)在指令寄存器存儲了00101110這個指令」
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211797 -
RAM
+關(guān)注
關(guān)注
8文章
1368瀏覽量
114705 -
ALU
+關(guān)注
關(guān)注
0文章
33瀏覽量
13101
發(fā)布評論請先 登錄
相關(guān)推薦
評論