Modern Arm Assembly Language Programming: Covers Armv8-A 32-Bit, 64-Bit, and Simd
暫譯: 現代 ARM 組合語言程式設計:涵蓋 Armv8-A 32 位元、64 位元及 SIMD
Kusswurm, Daniel
- 出版商: Apress
- 出版日期: 2020-10-08
- 售價: $2,400
- 貴賓價: 9.5 折 $2,280
- 語言: 英文
- 頁數: 446
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1484262662
- ISBN-13: 9781484262665
-
相關分類:
ARM、Assembly
-
其他版本:
Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and AVX-512, 3/e (Paperback)
買這商品的人也買了...
相關主題
商品描述
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly language topics that are relevant to modern software development. It is designed to help you quickly understand Armv8-A assembly language programming and the computational resources of Arm's SIMD platform. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential Armv8-A assembly language constructs and SIMD programming concepts. After reading this book, you will be able to code performance-optimized functions and algorithms using Armv8- A 32-bit and 64-bit assembly language.
Modern Arm Assembly Language Programming accentuates the coding of Armv8-A 32-bit and 64-bit assembly language functions that are callable from C++. Multiple chapters are also devoted to Armv8-A SIMD assembly language programming. These chapters discuss how to code functions that are used in computationally intense applications such as machine learning, image processing, audio and video encoding, and computer graphics.
The source code examples were developed using the GNU toolchain (g++, gas, and make) and tested on a Raspberry Pi 4 Model B running Raspbian (32-bit) and Ubuntu Server (64-bit). It is important to note that this is a book about Armv8-A assembly language programming and not the Raspberry Pi.
What You Will Learn
- See essential details about the Armv8-A 32-bit and 64-bit architectures including data types, general purpose registers, floating-point and SIMD registers, and addressing modes
- Use the Armv8-A 32-bit and 64-bit instruction sets to create performance-enhancing functions that are callable from C++
- Employ Armv8-A assembly language to efficiently manipulate common data types and programming constructs including integers, arrays, matrices, and user-defined structures
- Create assembly language functions that perform scalar floating-point arithmetic using the Armv8-A 32-bit and 64-bit instruction sets
- Harness the Armv8-A SIMD instruction sets to significantly accelerate the performance of computationally intense algorithms in applications such as machine learning, image processing, computer graphics, mathematics, and statistics.
- Apply leading-edge coding strategies and techniques to optimally exploit the Armv8-A 32-bit and 64-bit instruction sets for maximum possible performance
Who This Book Is For
Software developers who are creating programs for Armv8-A platforms and want to learn how to code performance-enhancing algorithms and functions using the Armv8-A 32-bit and 64-bit instruction sets. Readers should have previous high-level language programming experience and a basic understanding of C++.
商品描述(中文翻譯)
獲得 Armv8-A 32 位元和 64 位元組合語言編程的基本知識。本書強調與現代軟體開發相關的 Armv8-A 組合語言主題。它旨在幫助您快速理解 Armv8-A 組合語言編程及 Arm 的 SIMD 平台的計算資源。本書還包含大量的源代碼,結構設計旨在加速學習和理解基本的 Armv8-A 組合語言結構和 SIMD 編程概念。閱讀完本書後,您將能夠使用 Armv8-A 32 位元和 64 位元組合語言編寫性能優化的函數和算法。
《現代 Arm 組合語言編程》強調從 C++ 可調用的 Armv8-A 32 位元和 64 位元組合語言函數的編碼。多個章節還專門討論 Armv8-A SIMD 組合語言編程。這些章節探討如何編寫用於計算密集型應用程序的函數,例如機器學習、圖像處理、音頻和視頻編碼以及計算機圖形學。
源代碼示例是使用 GNU 工具鏈(g++、gas 和 make)開發的,並在運行 Raspbian(32 位)和 Ubuntu Server(64 位)的 Raspberry Pi 4 Model B 上進行測試。重要的是要注意,這是一本關於 Armv8-A 組合語言編程的書,而不是關於 Raspberry Pi 的書。
您將學到的內容
- 了解 Armv8-A 32 位元和 64 位元架構的基本細節,包括數據類型、通用寄存器、浮點和 SIMD 寄存器以及尋址模式
- 使用 Armv8-A 32 位元和 64 位元指令集創建可從 C++ 調用的性能增強函數
- 使用 Armv8-A 組合語言有效地操作常見數據類型和編程結構,包括整數、數組、矩陣和用戶定義結構
- 創建使用 Armv8-A 32 位元和 64 位元指令集執行標量浮點運算的組合語言函數
- 利用 Armv8-A SIMD 指令集顯著加速計算密集型算法在機器學習、圖像處理、計算機圖形學、數學和統計等應用中的性能
- 應用尖端編碼策略和技術,最佳化利用 Armv8-A 32 位元和 64 位元指令集以獲得最大可能的性能
本書適合誰
本書適合為 Armv8-A 平台創建程序的軟體開發人員,並希望學習如何使用 Armv8-A 32 位元和 64 位元指令集編寫性能增強的算法和函數。讀者應具備先前的高級語言編程經驗和基本的 C++ 理解。
作者簡介
Daniel Kusswurm has over 35 years of professional experience as a software developer and computer scientist. During his career, he has developed innovative software for medical devices, scientific instruments, and image processing applications. On many of these projects, he successfully employed assembly language to significantly improve the performance of computationally intense algorithms or solve unique programming challenges. His educational background includes a BS in electrical engineering technology from Northern Illinois University along with an MS and PhD in computer science from DePaul University. Daniel Kusswurm is also the author of Modern X86 Assembly Language Programming (ISBN-13: 978-1484200650) and Modern X86 Assembly Language Programming, Second Edition (ISBN-13: 978-1484240625), both published by Apress.
作者簡介(中文翻譯)
丹尼爾·庫斯沃姆(Daniel Kusswurm)擁有超過35年的軟體開發和計算機科學專業經驗。在他的職業生涯中,他為醫療設備、科學儀器和影像處理應用程式開發了創新的軟體。在許多這些專案中,他成功地使用組合語言顯著提高了計算密集型演算法的性能或解決了獨特的程式設計挑戰。他的教育背景包括來自北伊利諾伊大學的電機工程技術學士學位,以及來自德保羅大學的計算機科學碩士和博士學位。丹尼爾·庫斯沃姆也是《現代 X86 組合語言程式設計》(Modern X86 Assembly Language Programming,ISBN-13: 978-1484200650)和《現代 X86 組合語言程式設計(第二版)》(Modern X86 Assembly Language Programming, Second Edition,ISBN-13: 978-1484240625)的作者,這兩本書均由 Apress 出版。