【深智書摘】新的主流處理器時代,ARM64的架構系統介紹

更新於 發佈於 閱讀時間約 7 分鐘
2023年來看處理器的發展,x86_64系統結構與ARM64系統結構是目前市場上的主流處理器系統結構,而RISC-V有可能成為第三大系統結構。ARM以其RISC的優良DNA架構,慢慢已茁壯成長到一個比X86還要大的生態圈。目前市場上看得到CPU除了Windows PC之外,大部分的電子設備都是使用ARM架構,連個人電腦的創始公司蘋果也早就從x86轉向自行研發的M1/M2架構。
本書一開頭便要讀者先自我測試,了解自己對ARM系統的掌握度

本書一開頭便要讀者先自我測試,了解自己對ARM系統的掌握度

【ARM是什麼?】

ARM是一個整合作業系統、組合語言、C語言、電子電路技術的宏大領域。熟悉ARM架構一定是硬體工程師想要進軍CPU領域的唯一目標(當然還有一個是RISC-V)。

【ARM如何學習?】

本書特別針對ARM架構設計了一個完整的學習平台,包括了基於Linux核心以及小型OS(BenOS)講解。Linux核心採用Linux 5.0版本。書中大部分實驗以BenOS為基礎,讓讀者從最簡單的裸機程式不斷進行擴充,最終完成一個具有記憶體管理、處理程序排程、系統呼叫等現代操作基本功能的小作業系統。本書也使用了樹莓派4B開發板讓你玩個過癮。

【這本書可以帶給您…】

  • ARM64系統結構,指令集、GNU組譯器、連結器、記憶體管理、快取記憶體管理
  • ARMv8/ARMv9系統結構基礎知識以及Cortex-A72結構
  • 樹莓派4B從頭到尾徹底剖析使用
  • GIC-V2的相關內容、GIC-400
  • 快取一致性的分類、MESI協定、CCI與CCN快取一致性控制器
  • TLB基礎知識、ASID、TLB管理指令
  • 記憶體屏障指令完整說明,講解,應用
  • C語言陷阱、ARM64函式呼叫標準、ARM64堆疊佈局
  • NEON指令方面、SVE以及SVE2指令

接下來,簡單介紹幾個書中提到的概念。

【樹莓派】

以低廉的價格、強大的運算能力以及豐富的教學資源得到全球技術同好的喜愛。

樹莓派截至2020 年一共發佈了4 代產品。(建議本書讀者選擇樹莓派4B作為實驗硬體平臺。)

  • 2012年發佈第一代樹莓派,採用ARM11處理器核心。
  • 2014年發佈第二代樹莓派,採用ARM Cortex-A7處理器核心。
  • 2016 年發佈第三代樹莓派,採用 ARM Cortex-A53 處理器核心,支援ARM64 系統結構。
  • 2019 年發佈第四代樹莓派,採用 ARM Cortex-A72 處理器核心,支援ARM64 系統結構。

樹莓派4B 採用性能強大的Cortex-A72 處理器核心,性能比樹莓派3B 快3 倍。

【GIC】

在早期ARM 系統(例如ARM7 和ARM9)中,採用單核心處理器設計,系統支援的中斷來源比較少並且是單核心處理器系統,使用簡單的暫存器表示每個中斷來源的啟動、關閉以及狀態。假設系統一共有64 個中斷來源,每個暫存器一共有32 位元,每位元描述一個中斷來源,那麼只需要兩個中斷啟動暫存器(Interrupt Enable Register,IER)。同理,中斷狀態暫存器(Interrupt Status Register,ISR)也只需要兩個暫存器就夠了。樹莓派4B 上傳統中斷控制器也採用了類似的實現,只不過樹莓派4B 上的中斷來源比較多,採用多級串聯的方式來實現。

在現在越來越複雜的SoC 中,中斷管理變得越來越困難,原因主要有以下幾個方面:

  • 中斷來源變得越來越多,有的系統中斷來源有幾百個,甚至上千個。
  • 中斷類型也越來越多,比如普通的外接裝置中斷、軟體觸發的中斷、CPU核心間的中斷,還有類似於PCIe 上基於訊息傳遞的中斷等。
  • 需要考慮虛擬化的支援。

出於上面幾個原因,ARM 公司開發了GIC,專門用來管理中斷。目前最新版

本是V4,典型的IP 是GIC-700。

【SVE】

本書於第22章介紹了NEON 指令集,NEON 指令集是ARM64 系統結構中單指令多資料流程(SIMD)的標準實現。SVE 是針對高性能計算(HPC)和機器學習等領域開發的一個全新的向量指令集,它是下一代SIMD 指令集的實現,而非NEON 指令集的簡單擴充。SVE 指令集中有很多概念(例如向量、通道、資料元素等)與NEON 指令集類似。SVE 指令集定義了一個全新的概念——可變向量長度(Vector Length Agnostic,VLA)程式設計模型。

傳統的SIMD 指令集採用固定大小的向量暫存器,例如NEON 指令集採用固定的128 位元長度的向量暫存器。而支援VLA 程式設計模型的SVE 指令集支援可變長度的向量暫存器。這樣允許晶片設計者根據負載和成本來選擇一個合適的向量長度。

SVE 指令集最少支援128 位元的向量暫存器,最多支援2048 位元的向量暫存器,以128 位元為增量。SVE 設計確保同一個應用程式可以在支援不同向量暫存器長度的SVE 指令的機器上執行,而不需要重新編譯程式,這是VLA 程式設計模型的精髓。

--

基於ARM64系統結構處理器打造的產品越來越多,ARM64生態也越來越繁榮。面對幾千頁的英文原版ARM公司官方技術手冊,不少開發者感到力不從心;本書集結了華文地區優秀的工程師,以社區合作的方式撰寫了本書,結合大專院校課程特色以及實際專案經驗,精心製作了幾十個有趣的實驗,讀者可以透過實驗來深入學習和理解ARM64系統結構與程式設計。

本書後段介紹了記憶體屏障指令基礎知識、原子操作基本概念、原子記憶體存取指令、獨占記憶體存取工作原理、原子記憶體存取操作指令等相關內容。在作業系統方法,則有64位元程式設計下常見的C語言陷阱、ARM64函式呼叫標準、ARM64堆疊佈局、簡易處理程序排程器、浮點運算以及NEON指令、SVE以及SVE2指令,還結合3個實際案例分析如何使用SVE/SVE2指令來進行最佳化。

現在有了這本快速入門的ARM64系統結構程式設計圖書,期許能夠幫助讀者快速入門!

--

深智數位出版:〈最佳能效晶片平台 - ARM64架構師高度之程式開發〉

深智數位出版:〈最佳能效晶片平台 - ARM64架構師高度之程式開發〉


本文取自深智數位出版之〈最佳能效晶片平台 - ARM64架構師高度之程式開發〉

天瓏: https://reurl.cc/d7xOoz

博客來: https://reurl.cc/RvbRoD

深智數位:https://deepmind.com.tw

留言
avatar-img
留言分享你的想法!
avatar-img
深智數位的沙龍
9會員
25內容數
深智數位的沙龍的其他內容
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/08/02
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/07/21
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
2023/05/17
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
本文章介紹了CPU架構的三大類型:ARM、x86和RISC-V。著重介紹了它們的特點和市場應用情況,並提到了Nvidia採用RISC-V架構的發展經過,以及ISA的定義和重要性。
Thumbnail
本文章介紹了CPU架構的三大類型:ARM、x86和RISC-V。著重介紹了它們的特點和市場應用情況,並提到了Nvidia採用RISC-V架構的發展經過,以及ISA的定義和重要性。
Thumbnail
『萬物藍圖』這本書是關於 Arm 架構的故事。Arm 架構以高效低功耗的精簡指令集技術和開放授權模式著稱,廣泛應用於手機、平板電腦等電子產品。憑藉行動裝置市場的興起和與蘋果、諾基亞等公司的合作,Arm 成為晶片設計的領導者,佔據智慧型手機市場99%的份額。
Thumbnail
『萬物藍圖』這本書是關於 Arm 架構的故事。Arm 架構以高效低功耗的精簡指令集技術和開放授權模式著稱,廣泛應用於手機、平板電腦等電子產品。憑藉行動裝置市場的興起和與蘋果、諾基亞等公司的合作,Arm 成為晶片設計的領導者,佔據智慧型手機市場99%的份額。
Thumbnail
筆記-2024.03.16-曲博 財訊訪談-談ARM *處理器的兩種架構: 精簡指令集RISC 複雜指令集CISC, *CPU為複雜指令集,運算能力較強,缺點是較耗電。 *ARM,為精簡指令集,運算效能較差,但較省電,屬於微處理器(MPU)。 *英特爾稱霸電腦用CPU, 然而手機較看重
Thumbnail
筆記-2024.03.16-曲博 財訊訪談-談ARM *處理器的兩種架構: 精簡指令集RISC 複雜指令集CISC, *CPU為複雜指令集,運算能力較強,缺點是較耗電。 *ARM,為精簡指令集,運算效能較差,但較省電,屬於微處理器(MPU)。 *英特爾稱霸電腦用CPU, 然而手機較看重
Thumbnail
2023年來看處理器的發展,x86_64系統結構與ARM64系統結構是目前市場上的主流處理器系統結構,ARM是一個整合作業系統、組合語言、C語言、電子電路技術的宏大領域。熟悉ARM架構一定是硬體工程師想要進軍CPU領域的唯一目標(當然還有一個是RISC-V)。
Thumbnail
2023年來看處理器的發展,x86_64系統結構與ARM64系統結構是目前市場上的主流處理器系統結構,ARM是一個整合作業系統、組合語言、C語言、電子電路技術的宏大領域。熟悉ARM架構一定是硬體工程師想要進軍CPU領域的唯一目標(當然還有一個是RISC-V)。
Thumbnail
在CPU世界,大型商業機構掌握了處理器的設計,使得我們也必須屈從於封閉式的CPU架構。這也是為什麼目前個人電腦只有AMD和Intel兩家可以選擇。然而在RISC-V的出現,我們終於嗅到了CPU世界的自由氣息。
Thumbnail
在CPU世界,大型商業機構掌握了處理器的設計,使得我們也必須屈從於封閉式的CPU架構。這也是為什麼目前個人電腦只有AMD和Intel兩家可以選擇。然而在RISC-V的出現,我們終於嗅到了CPU世界的自由氣息。
Thumbnail
我們可以想像一台電腦是由許多硬體組合而成的,不過,你可能不知道,從鍵盤打字到螢幕顯示的過程中,有個不可或缺的角色——中央處理器,也就是 CPU,今天我們就來淺聊一下電腦的大腦,中央處理器(CPU, Central Processing Unit)。
Thumbnail
我們可以想像一台電腦是由許多硬體組合而成的,不過,你可能不知道,從鍵盤打字到螢幕顯示的過程中,有個不可或缺的角色——中央處理器,也就是 CPU,今天我們就來淺聊一下電腦的大腦,中央處理器(CPU, Central Processing Unit)。
Thumbnail
先進製程 : 用奈米數表示IC的生產技術等級(Technology Node), 業界稱7奈米以下的為先進製程 先進封裝 : 將 CPU、GPU、DRAM等IC利用3D堆疊進行封裝成一顆晶片 ■半導體元件分類 半導體封裝針對各式元件需求,有著不同的封裝型式; 因此 , 在探討封裝前 ●晶片尺寸定義
Thumbnail
先進製程 : 用奈米數表示IC的生產技術等級(Technology Node), 業界稱7奈米以下的為先進製程 先進封裝 : 將 CPU、GPU、DRAM等IC利用3D堆疊進行封裝成一顆晶片 ■半導體元件分類 半導體封裝針對各式元件需求,有著不同的封裝型式; 因此 , 在探討封裝前 ●晶片尺寸定義
Thumbnail
近年來,ARM架構的晶片已經逐漸普及,從IoT系統、Raspberry Pi玩家自組電腦、一直到強大的Apple M1系列處理器,都可以看到它的蹤跡。現在,讓我們來看看微軟這個PC產業的強者,未來打算如何把Windows系統也搬到ARM上。
Thumbnail
近年來,ARM架構的晶片已經逐漸普及,從IoT系統、Raspberry Pi玩家自組電腦、一直到強大的Apple M1系列處理器,都可以看到它的蹤跡。現在,讓我們來看看微軟這個PC產業的強者,未來打算如何把Windows系統也搬到ARM上。
Thumbnail
大家耳熟能詳的「Windows + Intel」組合,三十年來在電腦產業中可謂打遍天下無敵手。但ARM處理器的崛起,將會讓市場重新洗牌,讓Intel的新執行長必須做出重大的決定:他不僅必須挽回前三任的錯誤,更要讓Intel重新發光發熱。
Thumbnail
大家耳熟能詳的「Windows + Intel」組合,三十年來在電腦產業中可謂打遍天下無敵手。但ARM處理器的崛起,將會讓市場重新洗牌,讓Intel的新執行長必須做出重大的決定:他不僅必須挽回前三任的錯誤,更要讓Intel重新發光發熱。
Thumbnail
蘋果自行研發的5奈米製程M1晶片是Intel(英特爾)架構改為ARM(安謀)架構的「飛躍」,突破了英特爾x86架構電腦的長年壟斷,讓高通、聯發科、NVIDIA與三星電子等ARM架構筆電起死回生。而類似蘋果M1晶片的AI(人工智慧)晶片,已成為全球科技大廠的研發的趨勢,AI晶片的爭霸戰正方興未艾。
Thumbnail
蘋果自行研發的5奈米製程M1晶片是Intel(英特爾)架構改為ARM(安謀)架構的「飛躍」,突破了英特爾x86架構電腦的長年壟斷,讓高通、聯發科、NVIDIA與三星電子等ARM架構筆電起死回生。而類似蘋果M1晶片的AI(人工智慧)晶片,已成為全球科技大廠的研發的趨勢,AI晶片的爭霸戰正方興未艾。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News