Modern Arm Assembly Language Programming: Covers Armv8-A 32-Bit, 64-Bit, and Simd

Kusswurm, Daniel

  • 出版商: Apress
  • 出版日期: 2020-10-08
  • 售價: $1,850
  • 貴賓價: 9.5$1,758
  • 語言: 英文
  • 頁數: 446
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484262662
  • ISBN-13: 9781484262665
  • 相關分類: ARMAssembly
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

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年的軟體開發和計算機科學專業經驗。在他的職業生涯中,他開發了用於醫療設備、科學儀器和影像處理應用的創新軟體。在許多項目中,他成功地使用組合語言來顯著提高計算密集型算法的性能或解決獨特的編程挑戰。他的教育背景包括來自北伊利諾伊大學的電氣工程技術學士學位,以及德保羅大學的計算機科學碩士和博士學位。Daniel Kusswurm還是Apress出版的《現代X86組合語言編程》(ISBN-13: 978-1484200650)和《現代X86組合語言編程,第二版》(ISBN-13: 978-1484240625)的作者。