ARM晶片、核心、架構、指令集的聯絡與區別
問題1:微控制器和CPU的區別
在嵌入式領域ARM晶片和CPU有什麼區別呢?其實隨著嵌入式科技的不斷髮展,微控制器(像ARM晶片)和CPU的界限越來越模糊,我們暫且可以認為ARM晶片就是一個CPU,或者暫且認為微控制器就相當於一個CPU。
問題2:什麼是ARM晶片
凡是採用ARM核心的晶片(或者凡是採用ARM核心的CPU)都是ARM晶片。例如高通的OMAP36X0系列處理器(Droid 2和Droid X用的OMAP3630),採用的就是ARM核心,所以在概念上我們也可以將其稱為ARM晶片
問題3:什麼是ARM核心
所謂核心,就是CPU裡面實現運算的核心,我們也可以將核心稱之為CPU(注意,該CPU是真正意義上的CPU,因為它實現了資料的運算與處理)。而問題一中所說的微控制器和晶片相當於一個CPU只是指巨集觀意義上的CPU。ARM核心只是一個統稱,它有以下幾個系列:ARM7,ARM9,ARM11,CORTEX等幾個核心家族,每個核心家族都有不同的核心種類,比如CORTEX核心家族就有:Cortex-A8核心、Cortex-A9核心、Cortex-R4核心、Cortex-M0核心、Cortex-M1、Cortex-M3、Cortex-M4核心等,目前使用最廣的STM32系列晶片使用的就是Cortex-M3核心。具體核心家族分類見:http://hardware.mydrivers.com/2/223/223488_all.htm
問題4:什麼是架構
片面上講,我們可以將架構理解為核心所使用的指令集。例如:用於高階的(手機等)Cortex-A8,Cortex-A9等核心用的是ARMv7-A架構,或者說用的是ARMv7-A指令集架構,我們常用到的STM32的Cortex-M3核心用到的是ARMv7-M架構。
問題5:什麼是指令集
所謂指令集就是一整套底層指令的統稱。分為RISC(簡單指令集)和CISC(複雜指令集),相比較而言RISC指令集的指令格式統一,種類比較少,定址方式也比複雜指令集少,而CISC指令集的效率比較高。拿STM32系列晶片使用的ARMv7指令集來講,ARMv7意思是ARM的第七個版本的指令,採用的RISC。
CPU的中間就是我們平時稱作核心晶片或CPU核心的地方,這顆由單晶矽做成的晶片可以說是電腦的大腦了,所有的計算、接受/儲存命令、處理資料都是在這指甲蓋大小的地方進行的。
目前絕大多數CPU都採用了一種翻轉核心的封裝形式,也就是說平時我們所看到的CPU核心其實是這顆矽晶片的底部,它是翻轉後封裝在陶瓷電路基板上的,這樣的好處是能夠使CPU核心直接與散熱裝置接觸。這種技術也被使用在當今絕大多數的CPU上。而CPU核心的另一面,也就是被蓋在陶瓷電路基板下面的那面要和外界的電路相連線。現在的CPU都有以千萬計算的電晶體,它們都要連到外面的電路上,而連線的方法則是將每若干個電晶體焊上一根導線連到外電路上。例如Duron核心上面需要焊上3000條導線,而奔騰4的數量為5000條,用於伺服器的64位處理器Itanium則達到了7500條。這麼小的晶片上要安放這麼多的焊點,這些焊點必須非常的小,設計起來也要非常的小心。由於所有的計算都要在很小的晶片上進行,所以CPU核心會散發出大量的熱,核心內部溫度可以達到上百度,而表面溫度也會有數十度,一旦溫度過高,就會造成CPU執行不正常甚至燒燬,因此很多電腦書籍或者雜誌都會常常強調對CPU散熱的重要性。CPU還應有確定的主機板,如:i7的CPU就只能用專用的主機板。 核心(Die)又稱為核心,是CPU最重要的組成部分。CPU中心那塊隆起的晶片就是核心,是由單晶矽以一定的生產工藝製造出來的,CPU所有的計算、接受/儲存命令、處理資料都由核心執行。各種CPU核心都具有固定的邏輯結構,一級快取、二級快取、執行單元、指令級單元和匯流排介面等邏輯單元都會有科學的佈局儲存在Active Directory 中的物件類別和屬性的描述。對於每一個物件類別來說,該架構定義了物件類必須具有的屬性,它也可以有附加的屬性,並且該物件可以是它的父物件。
可以動態更新的Active Directory 架構。例如,應用程式可以使用新的屬性和類擴充套件該架構,並能立刻使用該擴充套件。通過在Active Directory 中建立或修改儲存在 Active Directory 中的架構物件來完成架構的更新。與Active Directory 中的所有物件一樣,架構物件能訪問控制列表,因此只有授權的使用者才可以更改架構。
相關文章
- X86架構與ARM架構的區別:架構
- 處理器核、Core、處理器、CPU區別&&指令集架構與微架構的區別&&32位與64位指令集架構說明架構
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- JRE與JDK的區別與聯絡JDK
- Kafka與ActiveMQ的區別與聯絡詳解KafkaMQ
- 詳解Kafka與ActiveMQ的區別與聯絡!KafkaMQ
- B/S與C/S的聯絡與區別
- javaSE中的==和equals的聯絡與區別Java
- HDFS 塊和 Input Splits 的區別與聯絡
- 程式和執行緒的區別與聯絡執行緒
- 感知器、logistic與svm 區別與聯絡
- ipv4與ipv6的聯絡與區別
- jQuery與JavaScript與ajax三者的區別與聯絡jQueryJavaScript
- 簡述Spring容器與SpringMVC的容器的聯絡與區別SpringMVC
- KPI vs OKR:區別與聯絡的終極指南KPIOKR
- Vue中watch、computed與methods的聯絡和區別Vue
- 單機、分散式、叢集的區別與聯絡分散式
- SCADA和PLC的區別聯絡
- 陣列地址與指標之間的區別與聯絡陣列指標
- 超融合架構與傳統IT架構的區別架構
- Python中__new__和__init__的區別與聯絡Python
- 叢集、負載均衡、分散式的區別與聯絡負載分散式
- 淺析HTML、CSS、JavaScript之間的聯絡與區別!HTMLCSSJavaScript
- Instruction和Question的區別和聯絡Struct
- http、socket、tcp的區別和聯絡?HTTPTCP
- 架構設計基礎:單服務.叢集.分散式,基本區別和聯絡架構分散式
- Strategy Analytics:蘋果ARM架構晶片對PC晶片市場的影響蘋果架構晶片
- CISC(複雜指令集)與RISC(精簡指令集)的區別
- Unicode,UTF-8和UTF-16的區別與聯絡Unicode
- 一文搞懂灰度釋出與 AB Test 的聯絡與區別
- tcp/ip和http的區別和聯絡TCPHTTP
- ARM架構架構
- 跟你深入剖析可迭代物件和迭代器的區別與聯絡物件
- `std::packaged_task`、`std::thread` 和 `std::async` 的區別與聯絡Packagethread
- 可觀測性與傳統監控的區別和聯絡
- 【Python入門必看】Python中Cookie和Session的區別與聯絡!PythonCookieSession
- 先驗概率與後驗概率、貝葉斯區別與聯絡