認(rèn)識各個(gè)硬件
主存儲器:
- 存儲體:用來存儲二進(jìn)制數(shù)據(jù)
- MAR(Memory Address Register)存儲地址寄存器
- MDR(Memory Data Register)存儲數(shù)據(jù)寄存器
CPU從主存儲器讀取數(shù)據(jù)
CPU想要獲取數(shù)據(jù)時(shí),首先把存放地址寫入MAR中,主存儲器根據(jù)MAR對應(yīng)的地址到存儲體內(nèi)尋找對應(yīng)的數(shù)據(jù),然后把數(shù)據(jù)寫入MDR當(dāng)中卵史,最后CPU通過數(shù)據(jù)線路從MDR當(dāng)中讀取它想要的數(shù)據(jù)捅膘。
CPU向存儲器寫入數(shù)據(jù)
CPU首先向MAR指明它想要寫入的地址位置砂缩,以及向MDR中放入它想要寫入的數(shù)據(jù)。接著CPU通過數(shù)據(jù)線路告訴主存儲器它想要寫入數(shù)據(jù)配深,最后由主存儲器根據(jù)這三個(gè)信息執(zhí)行操作谆趾。
存儲體
存儲單元:存放一串二進(jìn)制代碼
躁愿,稱之為存儲字
(word),每個(gè)存儲字包含多少個(gè)二進(jìn)制信息位沪蓬,本稱之為存儲字長
彤钟,通常存儲字長都是8bit的整數(shù)倍
存儲元:用于存儲二進(jìn)制的電子元件(電容),每個(gè)存儲元存放1bit怜跑,存儲元和一些線路就構(gòu)成了存儲單元样勃。
演示計(jì)算機(jī)的工作過程
首先看一下計(jì)算機(jī)各個(gè)硬件部件:
主存:存儲體
,MAR地址寄存器
性芬,MDR數(shù)據(jù)寄存器
注意:MAR,MAR在現(xiàn)代計(jì)算機(jī)中也被集成到CPU內(nèi)了
運(yùn)算器:MQ乘商寄存器
剧防,ACC累加寄存器
植锉,ALU算術(shù)邏輯單元
(*),X通用寄存器
控制器:PC程序計(jì)數(shù)器
峭拘,IR指令寄存器
俊庇,CU控制單元(*)
1
:PC=0:指向第一條指令,控制器通過控制總線告訴主存儲器鸡挠,它要進(jìn)行讀取操作辉饱,并且把地址寫入MAR
2
:MAR根據(jù)地址訪問存儲體中的指令數(shù)據(jù)
3
:將讀取的指令寫入MDR中
4
:通過數(shù)據(jù)總線將MDR中的指令數(shù)據(jù)寫入IR中
此時(shí)取址操作完成,PC+1
5
:IR將指令中的操作碼寫入CU拣展,CU會根據(jù)操作碼分析這是一個(gè)取數(shù)指令
這個(gè)步驟是:分析
6
:再根據(jù)地址碼對應(yīng)的主存地址通過MAR找到對應(yīng)的數(shù)據(jù)
7
:在CU控制單元的指揮下會把數(shù)據(jù)送入運(yùn)算器中彭沼,如果是變量就送到ACC中,如果需要進(jìn)行乘商操作备埃,就送到MQ中
8
:運(yùn)算器在乘法運(yùn)算的時(shí)候先把ACC中的數(shù)據(jù)放到X中姓惑,然后通過ALU控制X中的數(shù)與MQ中的數(shù)執(zhí)行相乘操作,結(jié)果會放入ACC中按脚。
這個(gè)部分是:執(zhí)行
計(jì)算機(jī)指令的執(zhí)行三個(gè)階段:取址于毙,分析,執(zhí)行