自己動手從零寫桌面作業系統GrapeOS系列教程——8.x86介紹

成宇佳發表於2023-03-03

由於GrapeOS目前只支援x86,所以本講我們簡單的介紹一下x86。

百度百科上是這樣介紹的:x86泛指一系列基於Intel 8086且向後相容的中央處理器指令集架構。

中央處理器就是我們平時說的CPU,英文全稱是Central Processing Unit。

有人可能對指令集不是很清楚。計算機的執行過程主要就是CPU執行各種指令的過程,某種CPU能執行的所有指令的集合就叫該種CPU的指令集。但光這麼說感覺有點泛泛而談。其實指令集就是CPU的語言,就像人類的語言,我們可以從橫向和縱向分別對比一下。從橫向來說,人類的語言有很多種,不同的人群說著不同的語言,但可以用不同的語言來描述同一件事情。同樣指令集也不止一種,不同架構的CPU用著不同的指令集。比如x86架構的CPU都用x86的指令集,ARM架構的CPU都用ARM的指令集。但一種指令集架構的CPU能做的事,理論上其它指令集架構的CPU也能做。從縱向來說,人類的語言是在不斷髮展的,同一種語言會隨著社會的發展會不斷增加新的詞彙或新的用法,但不會丟棄之前的詞彙或用法,就算部分舊的詞彙和用法不常用了,但仍然可以理解其含義。指令集也是類似的,每一種指令集隨著社會的發展,面對新的需求,需要增加一些新的指令或用法,同樣一般會相容舊有的指令或用法,否則很多舊軟體就不能用了。

x86之所以叫x86是因為早期的x86系列CPU是用數字命名的,比如8086、80186、80286、80386以及80486,這些名字都是以86結尾,所以統稱x86。雖然後來不用數字命名了,改叫奔騰、酷睿等,但仍然繼續叫x86系列。
關於x86我們需要簡單的瞭解一下它的歷史,這裡主要了解下面這三款CPU就夠了:

  1. 英特爾於1978年推出型號為8086的CPU,是x86的開山鼻祖。8086是16位CPU,執行模式只有真實模式,共1M記憶體地址空間。
  2. 英特爾於1982年推出型號為80286的CPU。80286是16位CPU,執行模式首次有了保護模式,共16M記憶體地址空間。
  3. 英特爾於1985年推出型號為80386的CPU。80386是32位CPU,可以執行在32位保護模式下,共4G記憶體地址空間。

以上3款CPU大家先有個印象就行,詳細資訊我們後面會介紹。我們這裡需要明白的主要有兩點:

  1. x86系列CPU中,每一代都相容前面的所有CPU,直到現在最新的x86CPU仍然相容四十多年前的8086。
  2. 雖然x86是英特爾首先發明的,但做x86CPU的企業不止英特爾一家,市場上常見的還有AMD。所以如果你的電腦用的是AMD的CPU,學習本套教程完全沒有問題。

本講對應的影片版地址:https://www.bilibili.com/video/BV1MM4y1Q7A1/
GrapeOS作業系統交流QQ群:643474045

相關文章