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