Product Information
ISBN: 9786267273159
出版日期: 2023-02-20
作者: 奔跑吧Linux社區
裝訂: 平裝.單色印刷.648頁.23.
★ 基於樹莓派4B開發板,詳盡介紹ARM64系統結構 ★
☆ 結合QEMU實驗平台,整理各種實戰經驗 ☆
★ 深入淺出地介紹ARMv8和ARMv9系統結構,透過ARM64進行創新實驗 ★
隨著手機晶片和嵌入式晶片領域的發展,ARM64系統結構的處理器占了90%以上的市佔率,與ARM64相關的生態社群也越來越繁榮。但當面對幾千頁的英文原版ARM公司官方技術手冊時,不少開發者往往感到力不從心。
全書共分23章,包含ARMv8/ARMv9系統結構基礎知識以及Cortex-A72處理器。並針對樹莓派4B開發板,用來架設實驗環境。內容涵蓋A64指令集中載入與儲存指令、算術與移位指令、比較與跳躍指令、PC相對位址載入指令、記憶體獨占存取指令、異常處理指示、系統暫存器存取指令、記憶體屏障指令等。
另外GNU組譯器的語法也是本書重點,還有連結器的使用、連結指令稿以及重定位。中間還有說明GCC內嵌組合語言程式碼語法、巨集、系統結構異常處理的觸發與返回、異常向量表、異常現場、同步異常的解析。
在硬體上面,則介紹了系統結構中斷處理的基本概念流程,樹莓派4B上的傳統中斷控制器、保存和恢復中斷現場。GIC部分,則介紹了中斷源分配、中斷路由、樹莓派4B上的GIC-400。
有關記憶體部分,則介紹記憶體管理,頁表、頁表項等。在快取記憶體上,包括了工作原理、映射方式,虛擬快取記憶體與物理快取記憶體,名稱重複與名稱相同、共用屬性、維護指令、一致性相關問題,MESI協定、CCI與CCN快取一致性控制器、快取記憶體錯誤分享。
本書最精華的地方則在於全書後段,介紹記憶體屏障指令基礎知識、原子操作基本概念、原子記憶體存取指令、獨占記憶體存取工作原理、原子記憶體存取操作指令等相關內容。
在作業系統方法,則有64位元程式設計下常見的C語言陷阱、ARM64函式呼叫標準、ARM64堆疊佈局、簡易處理程序排程器、浮點運算以及NEON指令、SVE以及SVE2指令,還結合3個實際案例分析如何使用SVE/SVE2指令來進行最佳化。
本書集結了華文地區優秀的工程師,以社區合作的方式撰寫了本書,結合大專院校課程特色以及實際專案經驗,精心製作了幾十個有趣的實驗,讀者可以透過實驗來深入學習和理解ARM64的系統結構與程式設計,相當推薦給需要使用ARM架構的硬體工程師或有志於此的從業人員。
※ 本書附程式碼,可至深智官網下載:deepmind.com.tw/
作者簡介
奔跑吧Linux社區
作者簡介
奔跑吧Linux社區
「奔跑吧Linux社區」是由一群志同道合的工程師組成,致力於Linux等開源軟體與推廣,為廣大工程師和讀者提供深入的開源知識分享。

Shipping Information
Zone | Order Total (RM) | Delivery Fee (RM) |
---|---|---|
West Malaysia | Flat Rate | 6.00 |
Zone | Items/Weight | Delivery Fee (RM) |
---|---|---|
East Malaysia | First 1.00 kg | 13.00 |
Extra 1.00 kg | 5.00 | |
Singapore | First 1.00 kg | 25.00 |
Extra 1.00 kg | 5.00 | |
Australia, New Zealand | First 1.00 kg | 159.77 |
Extra 0.50 kg | 52.65 | |
Austria, Denmark, Finland, Ireland, Switzerland, Russia | First 1.00 kg | 157.78 |
Extra 0.50 kg | 34.31 | |
Brunei, Cambodia, Laos, Mongolia | First 1.00 kg | 175.10 |
Extra 0.50 kg | 87.14 | |
Belgium,France, Germany, Netherlands, Spain, U.K | First 1.00 kg | 150.94 |
Extra 0.50 kg | 30.46 | |
China | First 1.00 kg | 96.44 |
Extra 0.50 kg | 25.35 | |
Bangladesh, Brazil, Iraq, Pakistan, Qatar, S.Arabia, UAE, Sri Lanka | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
South Africa | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
Philippines | First 1.00 kg | 91.42 |
Extra 0.50 kg | 15.29 | |
Canada, United States, Mexico | First 1.00 kg | 162.58 |
Extra 0.50 kg | 35.90 | |
Hong Kong | First 1.00 kg | 80.63 |
Extra 0.50 kg | 29.06 | |
India | First 1.00 kg | 113.30 |
Extra 0.50 kg | 22.28 | |
Indonesia | First 1.00 kg | 107.35 |
Extra 0.50 kg | 24.87 | |
Japan | First 1.00 kg | 112.97 |
Extra 0.50 kg | 35.03 | |
Macau | First 1.00 kg | 92.93 |
Extra 0.50 kg | 13.82 | |
Singapore | First 1.00 kg | 74.75 |
Extra 0.50 kg | 21.49 | |
Taiwan | First 1.00 kg | 94.42 |
Extra 0.50 kg | 34.76 | |
Thailand | First 1.00 kg | 94.10 |
Extra 0.50 kg | 28.25 | |
Vietnam | First 1.00 kg | 98.94 |
Extra 0.50 kg | 14.34 |