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