CPU負(fù)責(zé)程序的解釋和運(yùn)行最終轉(zhuǎn)換成機(jī)器語(yǔ)言的程序內(nèi)容廊营。
1.CPU和內(nèi)存是由許多晶體管組成的電子部件新思。CPU內(nèi)部由寄存器,控制器赘风,運(yùn)算器夹囚,時(shí)鐘組成。寄存器用來(lái)暫存指令邀窃,數(shù)據(jù)荸哟。,控制器負(fù)責(zé)把把內(nèi)存上的指令瞬捕,數(shù)據(jù)讀入寄存器鞍历。運(yùn)算器負(fù)責(zé)運(yùn)算從內(nèi)存讀入寄存器的數(shù)據(jù)。
2.決定程序流程的程序計(jì)數(shù)器:CPU每執(zhí)行一個(gè)指令肪虎,程序計(jì)數(shù)器的值就加1劣砍,CPU的控制器就會(huì)根據(jù)程序計(jì)數(shù)器的值到內(nèi)存中讀取命令并執(zhí)行。
3.函數(shù)調(diào)用:把程序計(jì)數(shù)器的值設(shè)定為函數(shù)的存儲(chǔ)地址來(lái)實(shí)現(xiàn)扇救。但是和分支和循環(huán)不同的是刑枝,函數(shù)調(diào)用之后要回到函數(shù)調(diào)用處的地址。
機(jī)器語(yǔ)言的call指令和return指令能夠解決這個(gè)問(wèn)題迅腔。
函數(shù)調(diào)用使用call指令把下一個(gè)地址存在棧里装畅,renturn指令的作用是把存在棧里的地址讀取出來(lái)并設(shè)置在程序計(jì)數(shù)器里。
4.通過(guò)基址寄存器和變址寄存器實(shí)現(xiàn)類(lèi)似數(shù)組的操作沧烈。
基址寄存器相當(dāng)于數(shù)組的起始地址掠兄,變址寄存器相當(dāng)于偏移量,基址寄存器+變址寄存器的值相當(dāng)于要查看的內(nèi)存地址。變址寄存器相當(dāng)于索引功能蚂夕。
5.機(jī)器語(yǔ)言指令的主要類(lèi)型和功能:
1.數(shù)據(jù)轉(zhuǎn)送指令: 寄存器迅诬,內(nèi)存,外圍設(shè)備之間的數(shù)據(jù)讀寫(xiě)操作婿牍。
2.運(yùn)算指令:用累加寄存器實(shí)現(xiàn)算術(shù)侈贷,邏輯,比較牍汹,位運(yùn)算铐维。
3.跳轉(zhuǎn)指令:實(shí)現(xiàn)條件分支,循環(huán)慎菲,跳轉(zhuǎn)等嫁蛇。
4.call/return指令:函數(shù)調(diào)用。