關於CPU 架構與指令集的一些個人理解

2021-09-24 19:53:15 字數 2102 閱讀 4918

(理解不一定正確,只是目前的理解)

1、一般所說的x86,是指基於intel x86架構處理器的一套指令集,即x86指令集;

2、cpu的架構是最底層的,是處理器的硬體結構,即cpu按照什麼樣的硬體結構來設計(架構是乙個框架,架構確定,則硬體結構大體就確定了,同一架構的不同型號cpu可能只是某些細節設計不一樣);

3、cpu的硬體結構,即架構,一旦確定,那麼使用該架構的cpu能實現的功能大體上是一樣的,而且去實現該功能的方法也大體上一樣的;其它架構的處理器可能也可以實現某些相同的功能,但是實現的方式不一樣,如果都一樣,那不就是同一款處理器了嗎!

4、某種架構cpu的指令集,是由該cpu架構決定的,如x86指令集,是因為該cpu採用了x86結構,所以才叫x86指令集;指令集是指某種架構cpu能實現的所有功能,這些功能對應的**編號構成指令集;**編號應該就是指機器碼這種底層**,某種架構cpu架構確定後,**編號就確定了,這些編號反映了cpu以什麼樣的方式去執行某些功能,決定了硬體的執行方式;前面說這些**編號可能就是機器碼,機器碼就是二進位制數字,二進位制數字反映在電路上就是高低電平,從而驅動電路執行;不同**編號的二進位制數字排列就不同,所以驅動電路的高低電平就不同,所以電路執行的方式就不同;

5、接著上面的論述,,同一種彙編**,實現的功能相同,但是在不同架構的cpu上,使用不同的指令集來對同一種彙編**進行翻譯,翻譯的機器**則不同,即二進位制數字排列方式不同,所以電路的執行方式就不一樣;這就體現了不同架構處理器實現某種相同功能,執行的方式不同;

6、接著論述,,如果所謂的指令集就是指彙編**,即機器**的上一層,那麼不同架構就會產生不同的彙編**,好像是有不同的彙編**這回事,那麼實現同乙個功能,不同架構就會使用不同的彙編**來執行,即採用不同的方式實現相同的功能;與上面論述的原理一樣;如果指令集指的是組合語言,則同一種c語言,實現功能相同,但是在不同架構的cpu上,使用不同的指令集來對同一種c語言進行翻譯,結果翻譯成不同的組合語言,還是回到原道理,即採用不同的方式實現相同的功能。

總結: 不同架構的cpu,最終體現在cpu實現相同功能的方式不同,或者有的cpu具有其它cpu實現不了的功能,是某種架構獨有的;而不同指令集是用來對上層**進行不同的翻譯,從而使電路實現的方式不同;

1、指令集與cpu架構誰決定誰?

一般先設計指令集,再根據指令集要實現的功能,設計cpu的架構;但是設計指令集的時候,也應該會考慮cpu架構的實現,再設計能實現的指令集;所以指令集與cpu架構相輔相成,設計時應該同時考慮;所以經常說的x86架構,可能同時表示cpu的硬體架構與指令集吧。

2、某種cpu的編譯器?

編譯器型別是針對cpu型別而言的,不同架構的cpu,需要不同的編譯器;某種架構cpu對應某種型別編譯器,該編譯器根據該cpu架構指令集,將高階語言翻譯成對應的機器碼,從而讓高階語言在該cpu上執行。

3、進一步理解

指令集是一款cpu處理指令及資料的規範,我們只能通過輸入指定格式的指令才能操作計算機。而這個是面向程式設計師和使用者層面的。而微架構是面向cpu設計人員的,通過設計處理器的指令執行單元,當完成整個設計時,組成的一整套執行規定指令的微處理器的架構就叫「微架構」。

前面提到了指令集就是「規範」,這也就意味著他能指導cpu設計人員通過閱讀「指令集規範」這本「指南」來設計cpu。而cpu設計人員通過閱讀這本規範後設計出來的cpu結構就叫「微架構」。舉個簡單的例子,就是小學老師教會我們如何解決一元二次方程,但題目是很多的,我們就需要通過解題方法來解決這些實際的問題。這裡「解題方法」就是指令集,而「具體的題目」就是微架構了。

講到這裡更正式的表述就是「微架構」就是「指令集」的具體「實現」。所以從我們日常使用中就可以舉例,amd和英特爾同樣都是採用x86指令集的處理器,但是他們處理器具體微架構是不同的,這就是典型的「實現」問題。而近期發布的arm cortex-a77處理器微架構,其採用的是arm v8.2指令集,其前代微架構cortex-a76也是採用的arm v8.2指令集。所以從軟體開發層面上講,其組合語言也是相同的,所以兩者就可以使用相同的作業系統,基本相同的軟體,而基本不需要重新開發編譯。

關於CPU 指令集 架構 晶元概述

cpu,即 處理器 central processing unit 是負責計算機主要運算任務的元件。cpu執行計算任務時都需要遵從一定的規範,程式在被執行前都需要先翻譯為cpu可以理解的語言。這種規範或語言就是指令集 程式被按照某種指令集的規範翻譯為cpu可識別的底層 的過程叫做編譯 compile...

CPU架構之精簡指令集與複雜指令集

這種 cpu 的設計中,微指令集較為精簡,每個指令的執行時間都很短,完成的動作也很單純,指令的執行效能較佳 但是若要做複雜的事情,就要由多個指令來完成。常見的 risc 微指令集 cpu 主要例如甲骨文 oracle 公司的 sparc 系列 ibm 公司的 power architecture 包...

有關指令集架構與微架構的一些知識

如果把處理器比作是乙個算盤的話,指令集架構就是算盤運算時使用的 加減乘除 這些法則,你看不見摸不著,但確實是客觀存在的法則 微架構就是算盤上的算珠,你能看得見摸得著。所以,微架構決定著cpu內部原件 長什麼樣子 它們如何排列 而具體的工作原理就是指令集架構所規定的。從應用問題到機器語言程式的每次轉換...