處理器架構、指令集和彙編語言,三者有何關係?

  1. 處理器架構和處理器指令集的關係式什麼?
  2. 是否指令集決定了處理器的架構?
  3. MIPS屬於處理器架構還是還是指令集的一種?
  4. 彙編語言的種類和處理器架構的關係?
  • 處理器架構就是處理器的硬件架構,稱為微架構。是一堆硬件電路,去實現指令集所規定的操作運算。
  • 是的,指令集決定了處理器的架構,因為處理器架構就是用硬件電路實現指令集。但是具體用什麼樣的處理器架構,設計怎樣的硬件電路,每個人設計的都可以不一樣。
  • MIPS是一種採取精簡指令集(RISC)的處理器架構,既有指令集,也有相應的處理器架構。大名鼎鼎的龍芯就是MIPS的。
  • 彙編語言是用人類看得懂的語言來描述指令集。否則指令集的機器碼都是一堆二進制數字,人類讀起來非常麻煩,但彙編是用類似人類語言的方式描述指令集,讀起來方便多了。

要設計處理器,首先就需要有指令集,規定處理器相應操作,通過指令集去控制處理器實現相應功能。但處理器是一堆硬件電路,只能識別二進制數據,所以指令集是由一堆二進制數據組成。而二進制數據對人類來說讀起來很麻煩。為了方便人類操作指令集,發明了彙編語言來描述指令集。彙編語言類似人類語言,讀起來方便多了。

雖然彙編語言讀起來方便了,但也有缺陷。首先彙編語言操作起來還是挺麻煩的。其次彙編語言對應一條條指令集,所以當指令集改變時,就得修改相應彙編語言,導致其可移植性很差,不能跨平臺使用,如ARM的彙編語言與Intel X86的就不同。這時人們就想開發一種更方便操作,超越指令集的語言,於是有了C,C++等高級語言。

但處理器只能識別二進制碼,那怎麼能識別高級語言呢?於是人們開發了編譯器,依照如下順序,將高級語言翻譯成二進制碼: 高級語言 彙編語言 二進制機器碼。至此,人類可以很方便的利用高級語言編寫程序,控制處理器完成相應功能。然後程序員這個紅火的職業就此大規模誕生了。


分享到:


相關文章: