X86架構與ARM架構的對比不同

這里就不去管細節,簡單來談一下,ARM和X86之間為什么不太具有可比性的問題。要搞清楚這個問題首先要明白什么是架構,之前也有很多人提到了架構不同,但架構是什么意思?它是一個比較抽象的概念,不太容易用幾句話就解釋清楚。

我們要明白CPU是一個執行部件,它之所以能執行,也是因為人們在里面制作了執行各種功能的硬件電路,然后再用一定的邏輯讓它按照一定的順序工作,這樣就能完成人們給它的任務。也就是說,如果把CPU看作一個人,首先它要有正常的工作能力(既執行能力),然后又有足夠的邏輯能力(能明白做事的順序),最后還要聽的懂別人的話(既指令集),才能正常工作。而這些集中在一起就構成了所謂的“架構”,它可以理解為一套“工具”、“方法”和“規范”的集合。不同的架構之間,工具可能不同,方法可能不同,規范也可能不同,這也造成了它們之間的不兼容——你給一個意大利泥瓦匠看一份中文寫成的烹飪指南,他當然不知道應該干什么了。

如果還看不懂,沒關系,我們繼續。從CPU發明到現在,有非常多種架構,從我們熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所謂的“復雜指令集”與“精簡指令集”系統,也就是經常看到的“CISC”與“RISC”。屬于這兩種類中的各種架構之間最大的區別,在于它們的設計者考慮問題方式的不同。我們可以繼續舉個例子,比如說我們要命令一個人吃飯,那么我們應該怎么命令呢?我們可以直接對他下達“吃飯”的命令,也可以命令他“先拿勺子,然后舀起一勺飯,然后張嘴,然后送到嘴里,最后咽下去”。從這里可以看到,對于命令別人做事這樣一件事情,不同的人有不同的理解,有人認為,如果我首先給接受命令的人以足夠的訓練,讓他掌握各種復雜技能(即在硬件中實現對應的復雜功能),那么以后就可以用非常簡單的命令讓他去做很復雜的事情——比如只要說一句“吃飯”,他就會吃飯。但是也有人認為這樣會讓事情變的太復雜,畢竟接受命令的人要做的事情很復雜,如果你這時候想讓他吃菜怎么辦?難道繼續訓練他吃菜的方法?我們為什么不可以把事情分為許多非常基本的步驟,這樣只需要接受命令的人懂得很少的基本技能,就可以完成同樣的工作,無非是下達命令的人稍微累一點——比如現在我要他吃菜,只需要把剛剛吃飯命令里的“舀起一勺飯”改成“舀起一勺菜”,問題就解決了,多么簡單。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 內容來自misiter的專欄 原文:http://blog.csdn.net/misiter/article/de...
    PixelTogether閱讀 4,048評論 0 2
  • 這就是“復雜指令集”和“精簡指令集”的邏輯區別。可能有人說,明顯是精簡指令集好啊,但是我們不好去判斷它們之間到底誰...
    南枳北桔閱讀 1,710評論 0 1
  • 姓名:李昕洲 學號:16030120026 轉載自:https://wapbaike.baidu.com/ite...
    浩浩_72a0閱讀 1,399評論 0 0
  • 大自然神奇瑰麗,充滿生命的奇跡,而巨杉無疑是奇跡中傳說般的存在。 巨杉是地球上古老而珍稀的物種,見證了地球上滄海桑...
    藍寧讀書室閱讀 494評論 0 0
  • (一)聽起來很美 放牛,聽起來是一件充滿詩情畫意的事情,一首田園牧歌,你看《鄉間的小路》里就是這樣唱的: 走在鄉間...
    陌上隱閱讀 366評論 1 1