處理器、指令集和匯編語言【轉】


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

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

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

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

作者:young cc
鏈接:https://www.zhihu.com/question/23474438/answer/119887585
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM