廣州做網(wǎng)站建設(shè)哪家專業(yè)分銷系統(tǒng)
目錄
計(jì)算機(jī)的基本表示方法
計(jì)算機(jī)的組成
程序運(yùn)行的原理
指令執(zhí)行的流水線
編譯原理
個(gè)人理解
面試題總結(jié)
計(jì)算機(jī)的基本表示方法
- 計(jì)算機(jī)系統(tǒng)使用高、低電平來(lái)表示邏輯1和0。
- 數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)、傳輸和處理均以二進(jìn)制形式進(jìn)行。
- 數(shù)據(jù)通過(guò)總線作為電信號(hào)進(jìn)行傳輸,內(nèi)存僅存儲(chǔ)高低電平。
計(jì)算機(jī)的組成
- 輸入設(shè)備: 將外部信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的電信號(hào)。
- 輸出設(shè)備: 將計(jì)算機(jī)產(chǎn)生的電信號(hào)轉(zhuǎn)換為人類或其他設(shè)備可理解的形式。
- 存儲(chǔ)器: 用于存放程序和數(shù)據(jù),是實(shí)現(xiàn)“存儲(chǔ)程序控制”的基礎(chǔ)。
- ROM (Read-Only Memory): 例如 Flash (EMMC) 或磁盤空間,特點(diǎn)是掉電后數(shù)據(jù)不丟失。
- RAM (Random Access Memory): 即內(nèi)存,特點(diǎn)是易失性,掉電后數(shù)據(jù)丟失。
- 運(yùn)算器: CPU 中處理信息和執(zhí)行算術(shù)及邏輯運(yùn)算的核心部件。
- 控制器: 整個(gè)計(jì)算機(jī)系統(tǒng)的指揮中心,負(fù)責(zé)協(xié)調(diào)各個(gè)部件的工作。
程序運(yùn)行的原理
- 指令集: 運(yùn)算器的不同決定了處理指令的不同,進(jìn)而導(dǎo)致指令集的不同。
- 指令的解析:
- 取指: 控制器將 PC 寄存器中的值發(fā)送給內(nèi)存,內(nèi)存將對(duì)應(yīng)地址中的指令(機(jī)器碼)傳回 CPU 的指令寄存器 IR 中。
- 譯碼: 指令譯碼器對(duì) IR 中的指令進(jìn)行識(shí)別,將指令翻譯成具體的運(yùn)算操作。
- 執(zhí)行: 運(yùn)算器執(zhí)行對(duì)應(yīng)的指令并將結(jié)果寫入寄存器。
指令執(zhí)行的流水線
- 指令的執(zhí)行遵循流水線的方式,分為取指、譯碼和執(zhí)行三個(gè)階段。
- 每個(gè)階段由獨(dú)立的硬件組件負(fù)責(zé),使得多個(gè)指令可以同時(shí)處于不同的處理階段。
- PC 寄存器始終指向當(dāng)前正在取指的指令地址,一旦取到指令,PC 自動(dòng)后移以指向內(nèi)存中的下一條指令。
編譯原理
- CPU 識(shí)別的語(yǔ)言: CPU 僅能識(shí)別機(jī)器碼,而能夠識(shí)別哪些機(jī)器碼取決于處理器的硬件結(jié)構(gòu)。
- 匯編語(yǔ)言: 匯編語(yǔ)言使用標(biāo)識(shí)符來(lái)表示機(jī)器碼,不同的 CPU 結(jié)構(gòu)有不同的匯編語(yǔ)言。
- C 語(yǔ)言編譯: C 語(yǔ)言可以通過(guò)不同的編譯器編譯成不同的匯編語(yǔ)言和機(jī)器碼,從而適應(yīng)不同的處理器架構(gòu)。
個(gè)人理解
- C 語(yǔ)言可以借助不同的編譯器生成針對(duì)不同平臺(tái)的代碼,以適應(yīng)不同的處理器架構(gòu)。
面試題總結(jié)
- 指令解析的過(guò)程:
- 分為三個(gè)階段:取指、譯碼和執(zhí)行。
- 為什么不同處理器需要不同的編譯器編譯程序代碼?
- CPU 僅能識(shí)別特定的機(jī)器碼,這些機(jī)器碼由處理器的硬件結(jié)構(gòu)決定,因此不同的處理器架構(gòu)需要使用相應(yīng)的編譯器來(lái)生成對(duì)應(yīng)的機(jī)器碼。