Armv8-A Architecture Overview for Junior Developers (Taught by the Author)

The author of "The Structure and Principles of Arm Architecture for System Software Development" will help you master the core of the latest Arm architecture (Armv8-A), the absolute fundamental of system software!

(5.0) 2 reviews

88 learners

Level Beginner

Course period Unlimited

ARM Architecture
ARM Architecture
Embedded
Embedded
armv8
armv8
cpu-architecture
cpu-architecture
ARM Architecture
ARM Architecture
Embedded
Embedded
armv8
armv8
cpu-architecture
cpu-architecture

What you will gain after the course

  • Characteristics of Arm Architecture and Arm Processors

  • How registers and assembly instructions are processed

  • Exception levels and the software stack running at each exception level

  • Types of Exceptions and How They Work

  • AAPCS (Arm Architecture Procedure Call Standard), the convention for subroutine calls

  • The concepts of Non-secure World and Secure World that constitute TrustZone

  • The principles of virtualization and hypervisor operation

  • The operating principles of barriers, cache, and virtual memory systems

<Notice>

Arm Architecture Full Author-Led Lecture Roadmap

This lecture <Armv8-A Architecture for New Developers (Taught by Author)> is included in the roadmap 'Arm for System Software Developers - basic course' .

If you wish to learn the Arm architecture (Armv8-A, Armv7-A) systematically, it is recommended to utilize the roadmap (30% discount on all lectures). For your reference, the Arm Architecture Roadmap (complete author-led series) consists of two parts: Basic Course and Advanced Course .

Essential knowledge
for system software developers, Arm Architecture

Arm processors used in AI semiconductors, electric vehicle automotive (autonomous driving, infotainment), smartphones, and digital TVs are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc.). Currently, Armv8-A architecture can be considered the most essential knowledge in the system software industry.

9-hour Crash Course on
Core Armv8-A Architecture Introduction


I have authored a book explaining the Armv8-A architecture and have also created over 60 hours of lecture content on Inflearn.

However, a course of over 60 hours takes more than three months for someone learning the Arm architecture for the first time to digest. Of course, the best way is to take the lectures step-by-step and learn the Arm architecture systematically. In reality, however, job seekers and junior developers often need to prepare for technical interviews within a short period of 1 to 2 weeks. Reflecting these needs, we have launched a compact yet core-focused introductory course on the Armv8-A architecture.

Target Students 💁‍♂

Job seekers in the system software field who need to prepare for technical interviews related to the Armv8-A architecture in a short period of time

New and junior developers who want to quickly learn practical skills by grasping the core concepts of Armv8-A

Managers in the system software field who want to understand the core features of Armv8-A to manage projects.

Key Differentiators of This Course

1⃣ Summary of core Armv8-A architecture features that may appear in technical interviews

There is a very high probability that questions about the Armv8-A architecture will be asked during technical interviews for system software developers. Most domestic Linux system software developer positions (fabless, embedded development) specify knowledge of the Arm architecture as a requirement. While time to prepare for interviews is short, analyzing the vast Arm specification documents is a significant burden. By taking this course, you can quickly grasp the core concepts that make up the Armv8-A architecture.

2⃣ A summary of essential content that entry-level developers must know

When working on real-world projects, you must have a good understanding of the Arm Architecture. Without knowledge of the Arm Architecture, it is difficult to proceed with development during bring-up or debugging.

The features that make up the Armv8-A architecture are vast. The relevant reference documentation exceeds 2,000 pages, making it difficult to know which content is actually used in real-world projects. We have carefully organized the practical features of the Armv8-A architecture that entry-level developers must know.

3⃣ Introduction to Various Case Studies

While explaining the core concepts of the Arm architecture, this course covers how development tasks are carried out in real-world projects. It also explains various case studies (actual project issues) regarding how the learned content is applied in professional projects. Furthermore, it covers the Linux kernel and bootloaders where key features of the Arm architecture are implemented.


If you master this course, you will be able to grow into an advanced system software developer.

I'm rooting for you to upgrade your career with a higher salary and position.

What you will learn 📕

We introduce the Arm processor while explaining the process of developing system semiconductors. We also introduce the basic features that make up the Armv8-A architecture.

It explains the structure of registers and provides various examples of how they are used.

It explains special registers and covers the execution flow in which the relevant registers are modified.

It introduces the booting process and explains how assembly instructions are utilized in real-world projects. Subsequently, it analyzes the basic format of assembly instructions and instruction routines.


We analyze assembly instructions in detail through various methods and explain the instruction syntax in an easy-to-understand manner.


Debug assembly instructions using TRACE32, a practical debugging program. While analyzing the assembly instructions, the usage of registers is explained in detail.

Explains the concepts of Exception Level and Privilege Level in an easy-to-understand manner.

Explains how software executes at each Exception Level using various examples.

It explains in detail the process of how the exception level is set during the booting process. It also explains how to check the exception level using assembly instructions.

Explains the exception vector table and the execution flow of how exceptions are processed in detail.

In the Armv8-A architecture, interrupts are handled as a type of exception. We will provide an easy-to-understand explanation of how IRQ interrupt exceptions are processed through various execution flows.

It explains the process of how an exception is triggered during the execution of a system call. Additionally, it describes the execution flow of exceptions along with the exception vector table.

Through TRACE32 debugging practice, it explains in detail the operation where the Arm core branches to the exception vector address when an exception is triggered.

It explains the basic core concepts and execution flow of AAPCS, which specifies how to branch to subroutines such as functions.

Explains how the stack is used from a software perspective and optimization methods that can be applied immediately to real-world projects.


It explains the core concepts of TrustZone (Non-secure World, Secure World) and the execution flow in an easy-to-understand manner.

We explain the operating principles of the Secure monitor call through TRACE32 debugging practice. We provide a detailed explanation of how executing the SMC instruction at EL1 triggers entry into EL3, and we also perform an in-depth analysis of the exception handling mechanism triggered during this process.

It explains the structure of hypervisors and virtualization features, which are widely utilized in automotive development.

It explains the process of entering the hypervisor from the guest OS through a Hypervisor call, which is the core of virtualization techniques. Additionally, it describes the execution flow where the hypervisor receives and handles exceptions.


Through TRACE32 debugging practice, this section explains in detail the process of entering EL2 (Hypervisor) when an HVC instruction is executed in EL1 (Guest OS). It also provides an easy-to-understand explanation of how the resulting exception operates during this process.

Explains the basic concepts of cache and provides an easy-to-understand explanation of the basic structure and policies of multi-level caches.


Explains memory models and memory barriers in an easy-to-understand manner.

It explains the components that make up the virtual memory system and the execution flow through which virtual addresses are processed.

Based on my experience in book writing and lecturing,
deeper and more detailed than anyone else!

I am the unprecedented author in the domestic system software field who has written books on both 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel'. I am also an active developer who is well-versed in the latest system software trends (electric vehicles, system semiconductors-system software), and an educator who is most actively sharing knowledge in the system software field.

  • Author of 'The Structure and Principles of Arm Architecture for System Software Development' (2024, National Academy of Sciences Outstanding Book Award)

  • Author of 'The Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences of the Republic of Korea Excellent Scholarly Book Award)

  • 'Programmers Dev Course: Linux System and Kernel Expert' Main Instructor (1st~2nd cohorts)

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' In-house Instructor (Including domestic and overseas developers) - (2020–2024)

I can confidently say that I am an educator who can explain the key features of the Armv8-A architecture better than anyone else in Korea.

Vivid reviews left by learners

<Structure and Principles of Arm Architecture for System Software Development - Part 1/2 Author's Lecture>

Notes before taking the course

Prerequisite Knowledge and Precautions

  • This lecture is easy to follow even without any prior knowledge.

  • Having a basic understanding of operating systems or computer architecture will be helpful for following the lecture.

  • The course introduces and explains example codes under the assumption that you are familiar with the basic syntax of the C language.

  • The TRACE32 program used in this lecture is not provided.

    If you would like to download the TRACE32 practice program for education and debug assembly instructions in detail, please take the already released "Structure and Principles of Arm Architecture for System Software Development - Part 1/Part 2" course taught by the author.

Recommended for
these people

Who is this course right for?

  • A junior developer who wants to build expertise in the system software field, including system semiconductors (fabless) and the electric vehicle sector (autonomous driving, infotainment).

  • A developer from another field looking to transition their career into system software.

  • A job seeker who wants to develop system software in the fields of system semiconductors (fabless) and electric vehicles.

  • An undergraduate student aiming to pursue graduate studies in the field of system software (memory, file systems, operating systems).

  • System software developers (system semiconductors, electric vehicles) who want to learn how to debug in practice by leveraging the features of the Arm architecture.

Need to know before starting?

  • Microprocessor

  • CPU

  • Embedded

  • C language

  • Operating System

  • Computer Architecture

Hello
This is austinkim

6,319

Learners

242

Reviews

96

Answers

4.9

Rating

22

Courses

Global Author & Linux System Software Developer (Arm, RISC-V Architecture)

A global author who has written unprecedented books on 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel' in the domestic system software field (both books were selected as Excellent Academic Books by the National Academy of Sciences of the Republic of Korea), and is the first in Korea to author the book (in English) "Reverse Engineering Armv8-A Systems" through an international publisher (Packt). Above all, he is an active developer who is most well-versed in the latest system software trends (electric vehicles, system semiconductors-system software). He is also an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of the book (English) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Packt Publishing)

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' (2024 National Academy of Sciences Outstanding Book Award)

  • Author of 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Scholarly Book Award)

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' internal instructor (including domestic and overseas developers) - (2020–Present)

I can confidently say that I am an educator who can explain the Linux kernel and Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Lecture Inquiries: austindh.kim@gmail.com

Main Roadmap 🎯

'Arm for System Software Developers - basic course'

'Arm for System Software Developers - advanced course'

Linux kernel for system software developers - basic course

More

Curriculum

All

71 lectures ∙ (8hr 31min)

Published: 
Last updated: 

Reviews

All

2 reviews

5.0

2 reviews

  • wjdrbs09140521님의 프로필 이미지
    wjdrbs09140521

    Reviews 2

    Average Rating 5.0

    5

    31% enrolled

    The explanations are detailed, and I really appreciate that you provide simple examples for each difficult topic.

    • heecheolsong님의 프로필 이미지
      heecheolsong

      Reviews 21

      Average Rating 5.0

      5

      100% enrolled

      austinkim's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!

      $42.90